From 2c08aca65a9ce66ca8cee665838a92684d4ddff3 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek <jakub@redhat.com> Date: Thu, 2 Jan 2025 11:06:31 +0100 Subject: [PATCH] Rotate ChangeLog files. Rotate ChangeLog files for ChangeLogs with yearly cadence. Also remove empty lines before Form Feed line. --- gcc/ChangeLog | 42672 +-------------------------- gcc/ChangeLog-1997 | 1 - gcc/ChangeLog-1998 | 1 - gcc/ChangeLog-1999 | 1 - gcc/ChangeLog-2000 | 1 - gcc/ChangeLog-2001 | 1 - gcc/ChangeLog-2002 | 1 - gcc/ChangeLog-2003 | 1 - gcc/ChangeLog-2004 | 1 - gcc/ChangeLog-2005 | 1 - gcc/ChangeLog-2006 | 1 - gcc/ChangeLog-2007 | 1 - gcc/ChangeLog-2008 | 1 - gcc/ChangeLog-2009 | 1 - gcc/ChangeLog-2010 | 1 - gcc/ChangeLog-2011 | 1 - gcc/ChangeLog-2022 | 1 - gcc/ChangeLog-2023 | 1 - gcc/ChangeLog-2024 | 42675 ++++++++++++++++++++++++++++ gcc/ada/ChangeLog | 8298 +----- gcc/ada/ChangeLog-2001 | 2 - gcc/ada/ChangeLog-2002 | 2 - gcc/ada/ChangeLog-2003 | 2 - gcc/ada/ChangeLog-2004 | 2 - gcc/ada/ChangeLog-2005 | 2 - gcc/ada/ChangeLog-2006 | 2 - gcc/ada/ChangeLog-2008 | 2 - gcc/ada/ChangeLog-2009 | 2 - gcc/ada/ChangeLog-2010 | 2 - gcc/ada/ChangeLog-2011 | 2 - gcc/ada/ChangeLog-2015 | 1 - gcc/ada/ChangeLog-2016 | 1 - gcc/ada/ChangeLog-2022 | 1 - gcc/ada/ChangeLog-2023 | 1 - gcc/ada/ChangeLog-2024 | 8301 ++++++ gcc/cp/ChangeLog | 5730 +--- gcc/cp/ChangeLog-1993 | 1 - gcc/cp/ChangeLog-1994 | 2 - gcc/cp/ChangeLog-1995 | 1 - gcc/cp/ChangeLog-1996 | 1 - gcc/cp/ChangeLog-1997 | 2 - gcc/cp/ChangeLog-1998 | 2 - gcc/cp/ChangeLog-1999 | 1 - gcc/cp/ChangeLog-2000 | 2 - gcc/cp/ChangeLog-2001 | 1 - gcc/cp/ChangeLog-2002 | 2 - gcc/cp/ChangeLog-2003 | 2 - gcc/cp/ChangeLog-2004 | 1 - gcc/cp/ChangeLog-2005 | 1 - gcc/cp/ChangeLog-2006 | 2 - gcc/cp/ChangeLog-2007 | 1 - gcc/cp/ChangeLog-2008 | 1 - gcc/cp/ChangeLog-2009 | 1 - gcc/cp/ChangeLog-2010 | 2 - gcc/cp/ChangeLog-2011 | 1 - gcc/cp/ChangeLog-2015 | 1 - gcc/cp/ChangeLog-2022 | 1 - gcc/cp/ChangeLog-2023 | 1 - gcc/cp/ChangeLog-2024 | 5733 ++++ gcc/d/ChangeLog | 291 +- gcc/d/ChangeLog-2006 | 1 - gcc/d/ChangeLog-2007 | 1 - gcc/d/ChangeLog-2008 | 1 - gcc/d/ChangeLog-2009 | 1 - gcc/d/ChangeLog-2010 | 1 - gcc/d/ChangeLog-2011 | 1 - gcc/d/ChangeLog-2012 | 1 - gcc/d/ChangeLog-2013 | 1 - gcc/d/ChangeLog-2014 | 1 - gcc/d/ChangeLog-2015 | 1 - gcc/d/ChangeLog-2016 | 1 - gcc/d/ChangeLog-2017 | 1 - gcc/d/ChangeLog-2022 | 1 - gcc/d/ChangeLog-2023 | 1 - gcc/d/ChangeLog-2024 | 294 + gcc/fortran/ChangeLog | 3036 +- gcc/fortran/ChangeLog-2002 | 1 - gcc/fortran/ChangeLog-2003 | 1 - gcc/fortran/ChangeLog-2004 | 1 - gcc/fortran/ChangeLog-2005 | 1 - gcc/fortran/ChangeLog-2006 | 1 - gcc/fortran/ChangeLog-2007 | 1 - gcc/fortran/ChangeLog-2008 | 1 - gcc/fortran/ChangeLog-2009 | 1 - gcc/fortran/ChangeLog-2010 | 1 - gcc/fortran/ChangeLog-2011 | 1 - gcc/fortran/ChangeLog-2022 | 1 - gcc/fortran/ChangeLog-2023 | 1 - gcc/fortran/ChangeLog-2024 | 3038 ++ gcc/testsuite/ChangeLog | 41225 +-------------------------- gcc/testsuite/ChangeLog-1993-2007 | 1 - gcc/testsuite/ChangeLog-2008 | 1 - gcc/testsuite/ChangeLog-2009 | 1 - gcc/testsuite/ChangeLog-2010 | 1 - gcc/testsuite/ChangeLog-2011 | 1 - gcc/testsuite/ChangeLog-2022 | 1 - gcc/testsuite/ChangeLog-2023 | 1 - gcc/testsuite/ChangeLog-2024 | 41227 +++++++++++++++++++++++++++ libgfortran/ChangeLog | 463 +- libgfortran/ChangeLog-2002 | 1 - libgfortran/ChangeLog-2003 | 1 - libgfortran/ChangeLog-2004 | 1 - libgfortran/ChangeLog-2005 | 1 - libgfortran/ChangeLog-2006 | 1 - libgfortran/ChangeLog-2007 | 1 - libgfortran/ChangeLog-2008 | 1 - libgfortran/ChangeLog-2009 | 1 - libgfortran/ChangeLog-2010 | 1 - libgfortran/ChangeLog-2011 | 1 - libgfortran/ChangeLog-2022 | 1 - libgfortran/ChangeLog-2023 | 1 - libgfortran/ChangeLog-2024 | 466 + libstdc++-v3/ChangeLog | 7158 +---- libstdc++-v3/ChangeLog-2013 | 1 - libstdc++-v3/ChangeLog-2022 | 1 - libstdc++-v3/ChangeLog-2023 | 1 - libstdc++-v3/ChangeLog-2024 | 7160 +++++ 117 files changed, 108902 insertions(+), 108984 deletions(-) create mode 100644 gcc/ChangeLog-2024 create mode 100644 gcc/ada/ChangeLog-2024 create mode 100644 gcc/cp/ChangeLog-2024 create mode 100644 gcc/d/ChangeLog-2024 create mode 100644 gcc/fortran/ChangeLog-2024 create mode 100644 gcc/testsuite/ChangeLog-2024 create mode 100644 libgfortran/ChangeLog-2024 create mode 100644 libstdc++-v3/ChangeLog-2024 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef1a9e747adb..2ddce1ef9a15 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -16,42678 +16,8 @@ correct alphabetical location. * config/lynx.opt.urls: Regenerated. * config/mingw/cygming.opt.urls: Regenerated. - -2024-12-31 Jiahao Xu <xujiahao@loongson.cn> - Deng Jianbo <dengjianbo@loongson.cn> - - * config/loongarch/simd.md (cbranch<mode>4): New expander. - -2024-12-31 Robin Dapp <rdapp.gcc@gmail.com> - - PR target/118036 - * varasm.cc (output_constant_pool_2): Use native_encode_rtx for - building the memory image of a const vector mask. - -2024-12-30 Jeff Law <jlaw@ventanamicro.com> - - PR target/106544 - * config/riscv/riscv.cc (riscv_print_operand): Issue an error for - invalid operands rather than invalidly accessing INTVAL of an - object that is not a CONST_INT. Fix one error string for 'N'. - -2024-12-30 Jeff Law <jlaw@ventanamicro.com> - - PR target/118122 - * config/riscv/riscv.md (lui_constraint<X:mode>_and_to_or): Use - X iterator rather than ANYI consistently. Fix formatting. - -2024-12-30 Richard Sandiford <richard.sandiford@arm.com> - Saurabh Jha <saurabh.jha@arm.com> - - * config/aarch64/aarch64.md (UNSPEC_BSL, UNSPEC_COMBINE, UNSPEC_DUP) - (UNSPEC_DUP_LANE, UNSPEC_GET_LANE, UNSPEC_LD1_DUP, UNSPEC_LD1x2) - (UNSPEC_LD1x3, UNSPEC_LD1x4, UNSPEC_SET_LANE, UNSPEC_ST1_LANE) - (USNEPC_ST1x2, UNSPEC_ST1x3, UNSPEC_ST1x4, UNSPEC_VCREATE) - (UNSPEC_VEC_COPY): New unspecs. - * config/aarch64/iterators.md (UNSPEC_TBL): Likewise. - * config/aarch64/aarch64-simd-pragma-builtins.def: Add definitions - of the mf8 data movement intrinsics. - * config/aarch64/aarch64-protos.h - (aarch64_advsimd_vector_array_mode): Declare. - * config/aarch64/aarch64.cc - (aarch64_advsimd_vector_array_mode): Make public. - * config/aarch64/aarch64-builtins.h (qualifier_const_pointer): New - aarch64_type_qualifiers member. - * config/aarch64/aarch64-builtins.cc (AARCH64_SIMD_VGET_LOW_BUILTINS) - (AARCH64_SIMD_VGET_HIGH_BUILTINS): Add mf8 variants. - (aarch64_int_or_fp_type): Handle qualifier_modal_float. - (aarch64_num_lanes): New function. - (binary_two_lanes, load, load_lane, store, store_lane): New signatures. - (unary_lane): Likewise. - (simd_type::nunits): New member function. - (simd_types): Add pointer types. - (aarch64_fntype): Handle the new signatures. - (require_immediate_lane_index): Use aarch64_num_lanes. - (aarch64_pragma_builtins_checker::check): Handle the new intrinsics. - (aarch64_convert_address): (aarch64_dereference_pointer): - (aarch64_canonicalize_lane, aarch64_convert_to_lane_mask) - (aarch64_pack_into_v128s, aarch64_expand_permute_pair) - (aarch64_expand_tbl_tbx): New functions. - (aarch64_expand_pragma_builtin): Handle the new intrinsics. - (aarch64_force_gimple_val, aarch64_copy_vops, aarch64_fold_to_val) - (aarch64_dereference, aarch64_get_lane_bit_index, aarch64_get_lane) - (aarch64_set_lane, aarch64_fold_combine, aarch64_fold_load) - (aarch64_fold_store, aarch64_ext_index, aarch64_rev_index) - (aarch64_trn_index, aarch64_uzp_index, aarch64_zip_index) - (aarch64_fold_permute): New functions, some split out from - aarch64_general_gimple_fold_builtin. - (aarch64_gimple_fold_pragma_builtin): New function. - (aarch64_general_gimple_fold_builtin): Use the new functions above. - * config/aarch64/aarch64-simd.md (aarch64_dup_lane<mode>) - (aarch64_dup_lane_<vswap_width_name><mode>): Add "@" to name. - (aarch64_simd_vec_set<mode>): Likewise. - (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise. - (aarch64_simd_bsl<mode>): Likewise. - (aarch64_combine<mode>): Likewise. - (aarch64_cm<optab><mode><vczle><vczbe>): Likewise. - (aarch64_simd_ld2r<vstruct_elt>): Likewise. - (aarch64_vec_load_lanes<mode>_lane<vstruct_elt>): Likewise. - (aarch64_simd_ld3r<vstruct_elt>): Likewise. - (aarch64_simd_ld4r<vstruct_elt>): Likewise. - (aarch64_ld1x3<vstruct_elt>): Likewise. - (aarch64_ld1x4<vstruct_elt>): Likewise. - (aarch64_st1x2<vstruct_elt>): Likewise. - (aarch64_st1x3<vstruct_elt>): Likewise. - (aarch64_st1x4<vstruct_elt>): Likewise. - (aarch64_ld<nregs><vstruct_elt>): Likewise. - (aarch64_ld1<VALL_F16: Likewise.mode>): Likewise. - (aarch64_ld1x2<vstruct_elt>): Likewise. - (aarch64_ld<nregs>_lane<vstruct_elt>): Likewise. - (aarch64_<PERMUTE: Likewise.perm_insn><mode><vczle><vczbe>): Likewise. - (aarch64_ext<mode>): Likewise. - (aarch64_rev<REVERSE: Likewise.rev_op><mode><vczle><vczbe>): Likewise. - (aarch64_st<nregs><vstruct_elt>): Likewise. - (aarch64_st<nregs>_lane<vstruct_elt>): Likewise. - (aarch64_st1<VALL_F16: Likewise.mode>): Likewise. - -2024-12-30 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/t-aarch64 (aarch64-builtins.o): Depend on - aarch64-simd-pragma-builtins.def. - -2024-12-30 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc (simd_types::f8): Rename to... - (simd_types::mf8): ...this. - * config/aarch64/aarch64-simd-pragma-builtins.def: Update accordingly. - -2024-12-30 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc (simd_types): Use one macro - invocation for each element type. - -2024-12-30 Richard Sandiford <richard.sandiford@arm.com> - - * read-rtl.cc (md_reader::handle_overloaded_name): Don't add - arguments for uses of subst attributes. - (apply_iterators): Only add instructions to an overloaded helper - if they use the default subst iterator values. - * doc/md.texi: Update documentation accordingly. - * config/i386/i386-expand.cc (expand_vec_perm_broadcast_1): Update - accordingly. - -2024-12-30 kelefth <konstantinos.eleftheriou@vrull.eu> - - PR rtl-optimization/117835 - PR rtl-optimization/117872 - * avoid-store-forwarding.cc - (store_forwarding_analyzer::process_store_forwarding): - Zero-extend the value stored in the base register instead of - using a paradoxical subreg. - -2024-12-30 Hans-Peter Nilsson <hp@bitrange.com> - - PR target/117618 - * config/mmix/mmix.cc (mmix_setup_incoming_varargs): - Correct handling of C23 (...)-functions. - -2024-12-30 Lewis Hyatt <lhyatt@gmail.com> - - PR tree-optimization/118205 - * tree-parloops.cc (reduction_phi): Return NULL if PHI parameter is - not a phi node. - -2024-12-29 Jeff Law <jlaw@ventanamicro.com> - - PR target/116715 - * config/riscv/bitmanip.md: Drop bogus pattern. - -2024-12-29 John David Anglin <danglin@gcc.gnu.org> - - PR target/118121 - * configure.ac: Check for mkstemps declaration. - * configure: Regenerate. - * config.in: Regenerate. - -2024-12-29 Jeff Law <jlaw@ventanamicro.com> - - PR target/116720 - * config/riscv/thead.cc (th_mempair_operands_p): Test for - aligned memory after swapping operands. Simplify test for - first memory access as well. - -2024-12-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/118207 - * gimple-fold.cc (fold_array_ctor_reference): For RAW_DATA_CST, - just set val to build_int_cst and fall through to the normal - element handling code instead of returning build_int_cst right away. - -2024-12-28 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/install.texi (Specific) <*-ibm-aix*>: Drop verbose - references to PTFs for AIX. - -2024-12-27 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/lasx.md (vec_cmp<mode><mode256_i>): Remove. - (vec_cmpu<ILASX:mode><mode256_i>): Remove. - * config/loongarch/loongarch.cc (loongarch_expand_lsx_cmp): - Ensure vector comparison instructions support CMP_OP1. - * config/loongarch/lsx.md (vec_cmp<mode><mode_i>): Remove. - (vec_cmpu<ILSX:mode><mode_i>): Remove. - * config/loongarch/simd.md (ALLVEC, allmode_i): New mode iterators. - (vec_cmp<mode><allmode_i>): New define_expand. - (vec_cmpu<mode><allmode_i>): Likewise. - -2024-12-26 John David Anglin <danglin@gcc.gnu.org> - - PR target/118050 - * timevar.cc (get_time): Only use CLOCK_MONOTONIC if - '_POSIX_TIMERS > 0 && defined(_POSIX_MONOTONIC_CLOCK)'. - Otherise, use CLOCK_REALTIME. - -2024-12-26 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (Dialect): Move PM4 link to https. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * config/alpha/alpha.cc - (alpha_get_mem_rtx_alignment_and_offset): New function. - (alpha_expand_block_move, alpha_expand_block_clear): Use it for - alignment retrieval. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * config/alpha/alpha.cc (alpha_expand_unaligned_load_words): - Move address extraction until after the MEM referred has been - adjusted for the offset supplied. - (alpha_expand_unaligned_store_words): Likewise. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - PR target/115459 - * config/alpha/alpha.cc (alpha_expand_block_clear): Adjust MEM - to match inferred alignment. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * config/alpha/alpha.cc (alpha_expand_block_clear): Fold two - legs of a conditional together. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * config/alpha/alpha.md (insvmisaligndi): Use "reg_or_0_operand" - rather than "register_operand" for operand 3. - -2024-12-25 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/loongarch.cc - (loongarch_ira_change_pseudo_allocno_class): New function. - (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro. - -2024-12-23 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/invoke.texi (HPPA Options): Remove references - to HP-UX 8 and HP-UX 9. - -2024-12-22 Pan Li <pan2.li@intel.com> - - * config/riscv/autovec.md: Align the operand for strided - load/store pattern. - -2024-12-21 Arsen Arsenović <arsen@aarsen.me> - - PR middle-end/109224 - * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Strip - DEMANGLE_COMPONENT_TEMPLATE from the operator new and operator - after demangling. - -2024-12-21 Jeff Law <jlaw@ventanamicro.com> - - PR middle-end/118084 - * config/riscv/riscv.cc (generate_reflecting_code_using_brev): Handle - sub-word sized objects correctly. - -2024-12-21 Pan Li <pan2.li@intel.com> - - * match.pd: Refactor sorts of signed SAT_ADD match patterns. - -2024-12-21 Mark Harmstone <mark@harmstone.com> - - * vmsdbgout.cc (vmsdbgout_begin_block): Fix compilation error. - -2024-12-20 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/118007 - * ipa-strub.cc (pass_ipa_strub::execute): Accept indirecting - volatile args of pointer types. - -2024-12-20 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/113506 - * emit-rtl.cc (add_insn_before): Don't set the block of a - barrier. - -2024-12-20 Uros Bizjak <ubizjak@gmail.com> - - PR target/118067 - * config/i386/i386.md (*movdi_internal): - Disable alternatives from/to mask registers without AVX512BW. - (*movsi_internal): Ditto. - -2024-12-20 Tamar Christina <tamar.christina@arm.com> - - PR target/96342 - * config/aarch64/aarch64-protos.h - (aarch64_sve_expand_vector_init_subvector): New. - * config/aarch64/aarch64-sve.md (vec_init<mode><Vhalf>): New. - (@aarch64_pack_partial<mode>): New. - * config/aarch64/aarch64.cc (aarch64_sve_expand_vector_init_subvector): New. - * config/aarch64/iterators.md (SVE_NO2E): New. - (VHALF, Vhalf): Add SVE partial vectors. - -2024-12-20 Tamar Christina <tamar.christina@arm.com> - Victor Do Nascimento <victor.donascimento@arm.com> - - PR target/96342 - * config/aarch64/aarch64-protos.h (add_sve_type_attribute): Declare. - * config/aarch64/aarch64-sve-builtins.cc (add_sve_type_attribute): Make - visibility global and support use for non_acle types. - * config/aarch64/aarch64.cc - (aarch64_simd_clone_compute_vecsize_and_simdlen): Create VLA simd clone - when no simdlen is provided, according to ABI rules. - (simd_clone_adjust_sve_vector_type): New helper function. - (aarch64_simd_clone_adjust): Add '+sve' attribute to SVE simd clones - and modify types to use SVE types. - * omp-simd-clone.cc (simd_clone_mangle): Print 'x' for VLA simdlen. - (simd_clone_adjust): Adapt safelen check to be compatible with VLA - simdlen. - -2024-12-20 Christophe Lyon <christophe.lyon@linaro.org> - - PR target/118131 - * config/arm/arm.cc (output_move_neon): Check TARGET_NEON as - needed. - (arm_attr_length_move_neon): Add support for V2x and V4x MVE tuple - modes. - * config/arm/iterators.md (VSTRUCT2, VSTRUCT4): New. - * config/arm/neon.md: Use VSTRUCT2 instead of OI and VSTRUCT4 - instead of XI in define_split. - -2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> - - * tree-ssa-forwprop.cc (get_vect_selector_index_map): Removed. - (recognise_vec_perm_simplify_seq): Fix calculation of vec-perm - selectors of narrowed sequence. - (calc_perm_vec_perm_simplify_seqs): Fixing calculation of - vec-perm selectors of the blended sequence. - (process_vec_perm_simplify_seq_list): Add whitespace to dump - string to avoid bad formatted dump output. - -2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> - - * common/config/riscv/riscv-common.cc (riscv_get_valid_option_values): - Skip adding mtune entries that are already in the list. - -2024-12-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * tree.cc (type_hash_canon_hash): Hash TYPE_REF_IS_RVALUE for - REFERENCE_TYPE. - (type_cache_hasher::equal): Compare TYPE_REF_IS_RVALUE for - REFERENCE_TYPE. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * doc/invoke.texi: Document -Wtemplate-names-tu-local. - -2024-12-19 Patrick Palka <ppalka@redhat.com> - - PR c++/118069 - * hwint.h (add_sat_hwi): New function. - (mul_sat_hwi): Likewise. - -2024-12-19 Tobias Burnus <tburnus@baylibre.com> - - * omp-general.cc (vendor_properties): Add "nec". - -2024-12-19 Andrew Carlotti <andrew.carlotti@arm.com> - - * tree-assume.cc: Fix comment typos. - -2024-12-19 Pan Li <pan2.li@intel.com> - - PR target/118075 - * config/riscv/vector.md: Add the (mem:BLK (scratch)) as the - lhs of strided store define insn. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - * gimple-fold.cc (decode_field_reference): Add psignbit - parameter. Set it if the mask references sign-extending - bits. - (fold_truth_andor_for_ifcombine): Adjust calls with new - variables. Swap them along with other r?_* variables. Handle - extended sign bit compares with zero. - * tree-ssa-ifcombine.cc (ifcombine_ifandif): If bits_test - fails in a way that doesn't prevent other ifcombine strategies - from passing, give them a try. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - * gimple-fold.cc (decode_field_reference): Accept incoming - mask. - (fold_truth_andor_for_ifcombine): Handle some compares with - powers of two, minus 1 or 0, like masked compares with zero. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/117915 - * tree-ssa-ifcombine.cc (ifcombine_mark_ssa_name): Move - preconditions from... - (ifcombine_mark_ssa_name_walk): ... here. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/118046 - * gimple-fold.cc (decode_field_reference): Don't follow more - than one conversion. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - * gimple-fold.cc (gimple_convert_def_p): Reject load stmts - unless requested. - (decode_field_reference): Accept a converting load at the last - conversion matcher, subsuming the load identification. - (fold_truth_andor_for_ifcombine): Refuse to merge operands - when only one of them has an associated load stmt. Swap - operands of one of the compares if that helps them match. - -2024-12-18 Eric Botcazou <ebotcazou@adacore.com> - - PR target/118096 - * config/sparc/predicates.md (vec_cmp_operator): New predicate. - (vec_cmpu_operator): Likewise. - * config/sparc/sparc.md (vec_cmp<FPCMP:mode><P:mode>): Use the - vec_cmp_operator predicate instead of FAILing the expansion. - (vec_cmpu<FPCMP:mode><P:mode>): Likewise for vec_cmpu_operator. - -2024-12-18 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/117248 - * lra-lives.cc (process_bb_lives): Update conflict hard regs even - when clobber hard reg is not marked as dead. - -2024-12-18 Michal Jires <mjires@suse.cz> - - * lto-cgraph.cc (lto_symtab_encoder_delete_node): - Declare var later when initialized. - * lto-streamer.h (struct lto_encoder_entry): - Remove empty constructor. - -2024-12-18 Vladimir N. Makarov <vmakarov@redhat.com> - - Revert: - 2024-12-06 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/117248 - * lra-lives.cc (start_living, start_dying): Remove. - (insn_regnos, out_insn_regnos, insn_regnos_live_after): New. - (sparseset_contains_pseudos_p): Remove. - (make_hard_regno_live, make_hard_regno_dead): Return true if - something in liveness is changed. - (mark_pseudo_live, mark_pseudo_dead): Ditto. - (mark_regno_live, mark_regno_dead): Ditto. - (clear_sparseset_regnos, regnos_in_sparseset_p): Use set instead - of dead_set. - (process_bb_lives): Rewrite dealing with reg notes. Update - conflict hard regs even when clobber hard reg is not marked as - dead. - (lra_create_live_ranges_1): Add initialization/finalization of - insn_regnos, out_insn_regnos, insn_regnos_live_after. - -2024-12-18 Michal Jires <mjires@suse.cz> - - * ipa-devirt.cc (ipa_odr_summary_write): - Add unused argument. - * ipa-fnsummary.cc (ipa_fn_summary_write): Likewise. - * ipa-icf.cc (sem_item_optimizer::write_summary): Likewise. - * ipa-modref.cc (modref_write): Likewise. - * ipa-prop.cc (ipa_prop_write_jump_functions): Likewise. - (ipcp_write_transformation_summaries): Likewise. - * ipa-sra.cc (ipa_sra_write_summary): Likewise. - * lto-cgraph.cc (lto_symtab_encoder_delete): Delete remap. - (lto_output_node): Remap order. - (lto_output_varpool_node): Likewise. - (output_cgraph_opt_summary): Add unused argument. - * lto-streamer-out.cc (produce_symbol_asm): Renamed. Use remapped order. - (produce_asm): Rename. New wrapper. - (output_function): Propagate remapped order. - (output_constructor): Likewise. - (copy_function_or_variable): Likewise. - (cmp_int): New. - (create_order_remap): New. - (lto_output): Create remap. Remap order. - * lto-streamer.h (struct lto_symtab_encoder_d): Remap hash_map. - (produce_asm): Add order argument. - -2024-12-18 Michal Jires <mjires@suse.cz> - - * cgraph.h (symbol_table::register_symbol): - Order can be already set. - * cgraphclones.cc (cgraph_node::create_clone): - Reuse order for clones. - -2024-12-18 Michal Jires <mjires@suse.cz> - - * ipa-strub.cc (ipa_strub_set_mode_for_new_functions): Replace - order with uid. - (pass_ipa_strub_mode::execute): Likewise. - -2024-12-18 Michal Jires <mjires@suse.cz> - - * Makefile.in: Add lto-ltrans-cache.o. - * common.opt: New flags for configuring cache. - * lto-opts.cc (lto_write_options): Don't stream the flags. - * lto-wrapper.cc: Use ltrans cache. - * lto-ltrans-cache.cc: New file. - * lto-ltrans-cache.h: New file. - -2024-12-18 Michal Jires <mjires@suse.cz> - - * Makefile.in: Add lockfile.o. - * lockfile.cc: New file. - * lockfile.h: New file. - -2024-12-18 Prathamesh Kulkarni <prathameshk@nvidia.com> - - Revert: - 2024-12-18 Prathamesh Kulkarni <prathameshk@nvidia.com> - Matthew Malcolmson <mmalcolmson@nvidia.com> - - PR driver/81358 - * common.opt: New option -flink-libatomic. - * gcc.cc (LINK_LIBATOMIC_SPEC): New macro. - * config/gnu-user.h (GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC): Use - LINK_LIBATOMIC_SPEC. - * doc/invoke.texi: Document -flink-libatomic. - * configure.ac: Define TARGET_PROVIDES_LIBATOMIC. - * configure: Regenerate. - * config.in: Regenerate. - -2024-12-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * config/arm/thumb1.md (thumb1_cbz): Escape the semicolon. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/118081 - * gimple-fold.cc (decode_field_reference): Only set *xor_p to true - if *xor_cmp_op is integer_zerop. - -2024-12-18 Prathamesh Kulkarni <prathameshk@nvidia.com> - Matthew Malcolmson <mmalcolmson@nvidia.com> - - PR driver/81358 - * common.opt: New option -flink-libatomic. - * gcc.cc (LINK_LIBATOMIC_SPEC): New macro. - * config/gnu-user.h (GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC): Use - LINK_LIBATOMIC_SPEC. - * doc/invoke.texi: Document -flink-libatomic. - * configure.ac: Define TARGET_PROVIDES_LIBATOMIC. - * configure: Regenerate. - * config.in: Regenerate. - -2024-12-18 Tobias Burnus <tburnus@baylibre.com> - - * gimplify.cc (gimplify_call_expr): Update for OpenMP's - append_args; cleanup of OpenMP's dispatch clause handling. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c/41045 - * stmt.cc (parse_output_constraint, parse_input_constraint): Handle - - modifier. - * recog.h (raw_constraint_p): Declare. - * recog.cc (raw_constraint_p): New variable. - (asm_operand_ok, constrain_operands): Handle - modifier. - * common.md (i, s, n): For raw_constraint_p don't require - LEGITIMATE_PIC_OPERAND_P. - * doc/md.texi: Document - constraint modifier. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - * final.cc (output_asm_insn): Add support for cc operand modifier. - * doc/extend.texi (Generic Operand Modifiers): Document cc operand - modifier. - * doc/md.texi (@samp{:} in constraint): Mention the cc operand - modifier and add small example. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - * genpreds.cc (mangle): Add ':' mangling. - (add_constraint): Allow : constraint. - * common.md (:): New define_constraint. - * stmt.cc (parse_output_constraint): Diagnose "=:". - (parse_input_constraint): Handle ":" and diagnose invalid - uses. - * doc/md.texi (Simple Constraints): Document ":" constraint. - -2024-12-18 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (*crc_combine): New - define_insn_and_split. - -2024-12-18 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (crc_rev<mode:SUBDI>si4): New - define_expand. - -2024-12-18 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (@rbit<mode:GPR>): New - define_insn template. - (rbitsi_extended): New define_insn. - (rbitqi): New define_insn. - (rbithi): New define_expand. - -2024-12-18 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (QHSD): Remove. - (loongarch_<crc>_w_<size>_w): Use QHSD instead of QHWD. - (loongarch_<crc>_w_<size>_w_extended): Likewise. - -2024-12-18 Sandra Loosemore <sloosemore@baylibre.com> - - * doc/extend.texi (OpenACC): Fix paste-o. - -2024-12-17 Sandra Loosemore <sloosemore@baylibre.com> - - PR c/26154 - * common.opt.urls: Regenerated. - * doc/extend.texi (C Extensions): Adjust menu for new sections. - (Attribute Syntax): Mention OpenMP directives. - (Pragmas): Mention OpenMP and OpenACC directives. - (OpenMP): New section. - (OpenACC): New section. - * doc/invoke.texi (Invoking GCC): Adjust menu for new section. - (Option Summary): Move OpenMP and OpenACC options to their own - category. - (C Dialect Options): Move documentation for -foffload, -fopenacc, - -fopenacc-dim, -fopenmp, -fopenmd-simd, and - -fopenmp-target-simd-clone to... - (OpenMP and OpenACC Options): ...this new section. Light - copy-editing of the option descriptions. - -2024-12-17 Richard Biener <rguenther@suse.de> - - PR middle-end/118062 - * tree-vect-generic.cc (expand_vector_piecewise): Properly - compute delta. - -2024-12-17 Oliver Kozul <Oliver.Kozul@rt-rk.com> - - * config/riscv/riscv.md (*lui_constraint<ANYI:mode>_and_to_or): New pattern - -2024-12-17 Yangyu Chen <cyy@cyyself.name> - - * common/config/riscv/riscv-ext-bitmask.def (RISCV_EXT_BITMASK): Remove svvptc. - -2024-12-17 Anton Blanchard <antonb@tenstorrent.com> - - * config/riscv/riscv-cores.def: Add tt-ascalon-d8. - * config/riscv/riscv.cc (tt_ascalon_d8_tune_info): New. - * doc/invoke.texi (RISC-V): Add tt-ascalon-d8 to -mcpu. - -2024-12-17 Anton Blanchard <antonb@tenstorrent.com> - - * doc/invoke.texi (RISC-V): Add thead-c906, xiangshan-nanhu to - -mcpu, add generic-ooo and remove thead-c906 from -mtune. - -2024-12-17 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/constraints.md (R): New constraint. - * doc/md.texi: Document new constraint `R`. - -2024-12-17 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv.cc (riscv_print_operand): Add N. - * doc/extend.texi: Document for N, - -2024-12-17 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/corev.md (*cv_branch<mode>): Update modifier. - (*branch<mode>): Ditto. - * config/riscv/riscv.cc (riscv_print_operand): Update modifier. - * config/riscv/riscv.md (*branch<mode>): Update modifier. - -2024-12-17 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/constraints.md (cr): New. - (cf): New. - * config/riscv/riscv.h (reg_class): Add RVC_GR_REGS and - RVC_FP_REGS. - (REG_CLASS_NAMES): Ditto. - (REG_CLASS_CONTENTS): Ditto. - * doc/md.texi: Document cr and cf constraint. - * config/riscv/riscv.cc (riscv_regno_to_class): Update - FP_REGS to RVC_FP_REGS since it smaller set. - (riscv_secondary_memory_needed): Handle RVC_FP_REGS. - (riscv_register_move_cost): Ditto. - -2024-12-17 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/constraints.md (c01): Rename to... - (k01): ...this. - (c02): Rename to... - (k02): ...this. - (c03): Rename to... - (k03): ...this. - (c04): Rename to... - (k04): ...this. - (c08): Rename to... - (k08): ...this. - * config/riscv/corev.md (riscv_cv_simd_add_h_si): Update - constraints. - (riscv_cv_simd_sub_h_si): Ditto. - (riscv_cv_simd_cplxmul_i_si): Ditto. - (riscv_cv_simd_subrotmj_si): Ditto. - * config/riscv/riscv-v.cc (splat_to_scalar_move_p): Update - constraints. - * config/riscv/vector-iterators.md (stride_load_constraint): - Update constraints. - (stride_store_constraint): Ditto. - -2024-12-17 Martin Jambor <mjambor@suse.cz> - - * cgraph.h (symtab_node): Add a new overload of nonzero_address. - * symtab.cc (symtab_node::nonzero_address): Add a new overload whith a - parameter for delete_null_pointer_checks. Make the original overload - call the new one which has retains the actual implementation. - * ipa-prop.h (ipa_get_range_from_ip_invariant): Declare. - (ipa_range_set_and_normalize): Remove. - * ipa-prop.cc (ipa_get_range_from_ip_invariant): New function. - (ipa_range_set_and_normalize): Remove. - * ipa-cp.cc (ipa_vr_intersect_with_arith_jfunc): Add a new parameter - context_node. Use ipa_get_range_from_ip_invariant instead of - ipa_range_set_and_normalize and pass to it the new parameter. - (ipa_value_range_from_jfunc): Pass cs->caller as the context_node to - ipa_vr_intersect_with_arith_jfunc. - (propagate_vr_across_jump_function): Likewise. - (ipa_get_range_from_ip_invariant): New function. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Use - ipa_get_range_from_ip_invariant instead of ipa_range_set_and_normalize - -2024-12-17 Martin Jambor <mjambor@suse.cz> - - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Try harder to - use the value range obtained from ranger for pointer values. - -2024-12-17 Martin Jambor <mjambor@suse.cz> - - * ipa-prop.cc: Include vr-values.h. - (skip_a_safe_conversion_op): New function. - (ipa_compute_jump_functions_for_edge): Use it. - -2024-12-16 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/mmx.md: Fix tabs vs. spaces. - -2024-12-16 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.cc (ix86_hard_regno_mode_ok): - Remove explicit HImode handling for SSE2 XMM regnos. - * config/i386/i386.h (VALID_SSE2_REG_MODE): Add HImode. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - * libsarifreplay.cc (struct embedded_link): New. - (maybe_consume_embedded_link): New. - (sarif_replayer::make_plain_text_within_result_message): Handle - embedded links by using the link text, for now. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - * doc/libgdiagnostics/topics/logical-locations.rst - (diagnostic_manager_new_logical_location): Add note about repeated - calls. - * libgdiagnostics.cc: Define INCLUDE_MAP. - (class owned_nullable_string): Add copy ctor and move ctor. - (owned_nullable_string::operator<): New. - (diagnostic_logical_location::operator<): New. - (diagnostic_manager::new_logical_location): Use m_logical_locs to - "uniquify" instances, converting it to a std::map. - (diagnostic_manager::logical_locs_map_t): New typedef. - (diagnostic_manager::t m_logical_locs): Convert from a std::vector - to a std::map. - (diagnostic_execution_path::same_function_p): Update comment. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - PR sarif-replay/117943 - * doc/libgdiagnostics/topics/physical-locations.rst - (diagnostic_manager_new_file): Drop "const" from return type. - * doc/libgdiagnostics/tutorial/02-physical-locations.rst: Drop - "const" from "main_file" decl. - * input.cc (file_cache::add_buffered_content): New. - (file_cache_slot::set_content): New. - (file_cache_slot::dump): Use m_file_path being null rather than - m_fp to determine empty slots. Dump m_fp. - (find_end_of_line): Drop "const" from return type and param. Add - forward decl. - (file_cache_slot::get_next_line): Fix "const"-ness. - (selftest::test_reading_source_buffer): New. - (selftest::input_cc_tests): Call it. - * input.h (file_cache::add_buffered_content): New decl. - * libgdiagnostics++.h (class file): Drop const-ness from m_inner. - (file::set_buffered_content): New. - * libgdiagnostics.cc (class content_buffer): New. - (diagnostic_file::diagnostic_file): Add "mgr" param. - (diagnostic_file::get_content): New. - (diagnostic_file::set_buffered_content): New. - (diagnostic_file::m_mgr): New. - (diagnostic_file::m_content): New. - (diagnostic_manager::new_file): Drop const-ness. Pass *this to - ctor. - (diagnostic_file::set_buffered_content): New. - (diagnostic_manager_new_file): Drop "const" from return type. - (diagnostic_file_set_buffered_content): New entrypoint. - (diagnostic_manager_debug_dump_file): Dump the content size, - if any. - * libgdiagnostics.h (diagnostic_manager_new_file): Drop "const" - from return type. - (diagnostic_file_set_buffered_content): New decl. - * libgdiagnostics.map (diagnostic_file_set_buffered_content): New - symbol. - * libsarifreplay.cc (sarif_replayer::m_artifacts_arr): Convert - from json::value to json::array. - (sarif_replayer::handle_run_obj): Call handle_artifact_obj - on all artifacts. - (sarif_replayer::handle_artifact_obj): New. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - PR sarif-replay/117943 - * diagnostic-format-text.cc - (diagnostic_text_output_format::append_note): Use source-printing - options from text_output. - (diagnostic_text_output_format::update_printer): Copy - source-printing options from dc. - (default_diagnostic_text_finalizer): Use source-printing - options from text_output. - * diagnostic-format-text.h - (diagnostic_text_output_format::diagnostic_text_output_format): - Add optional diagnostic_source_printing_options param, using - the context's if null. - (diagnostic_text_output_format::get_source_printing_options): New - accessor. - (diagnostic_text_output_format::m_source_printing): New field. - * diagnostic-path.cc (event_range::print): Use source-printing - options from text_output. - (selftest::test_interprocedural_path_1): Use source-printing - options from dc. - * diagnostic-show-locus.cc - (gcc_rich_location::add_location_if_nearby): Likewise. - (diagnostic_context::maybe_show_locus): Add "opts" param - and use in place of m_source_printing. Pass it to source_policy - ctor. - (diagnostic_source_print_policy::diagnostic_source_print_policy): - Add overload taking a const diagnostic_source_printing_options &. - * diagnostic.cc (diagnostic_context::initialize): Pass nullptr - for source options when creating text sink, so that it uses - the dc's options. - (diagnostic_context::dump): Add an "output sinks:" heading and - print "(none)" if there aren't any. - (diagnostic_context::set_output_format): Split out code into... - (diagnostic_context::remove_all_output_sinks): ...this new - function. - * diagnostic.h - (diagnostic_source_print_policy::diagnostic_source_print_policy): - Add overload taking a const diagnostic_source_printing_options &. - (diagnostic_context::maybe_show_locus): Add "opts" param. - (diagnostic_context::remove_all_output_sinks): New decl. - (diagnostic_context::m_source_printing): New field. - (diagnostic_show_locus): Add "opts" param and pass to - maybe_show_locus. - * libgdiagnostics.cc (sink::~sink): Delete. - (sink::begin_group): Delete. - (sink::end_group): Delete. - (sink::emit): Delete. - (sink::m_dc): Drop field. - (diagnostic_text_sink::on_begin_text_diagnostic): Delete. - (diagnostic_text_sink::get_source_printing_options): Use - m_souece_printing. - (diagnostic_text_sink::m_current_logical_loc): Drop field. - (diagnostic_text_sink::m_inner_sink): New field. - (diagnostic_text_sink::m_source_printing): New field. - (diagnostic_manager::diagnostic_manager): Update for changes - to fields. Initialize m_dc. - (diagnostic_manager::~diagnostic_manager): Call diagnostic_finish. - (diagnostic_manager::get_file_cache): Drop. - (diagnostic_manager::get_dc): New accessor. - (diagnostic_manager::begin_group): Reimplement. - (diagnostic_manager::end_group): Reimplement. - (diagnostic_manager::get_prev_diag_logical_loc): New accessor. - (diagnostic_manager::m_dc): New field. - (diagnostic_manager::m_file_cache): Drop field. - (diagnostic_manager::m_edit_context): Convert to a std::unique_ptr - so that object can be constructed after m_dc is initialized. - (diagnostic_manager::m_prev_diag_logical_loc): New field. - (diagnostic_text_sink::diagnostic_text_sink): Reimplement. - (get_color_rule): Delete. - (diagnostic_text_sink::set_colorize): Reimplement. - (diagnostic_text_sink::text_starter): New. - (sarif_sink::sarif_sink): Reimplement. - (diagnostic_manager::write_patch): Update for change to - m_edit_context. - (diagnostic_manager::emit): Update now that each sink has a - corresponding diagnostic_output_format object within m_dc. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_context::dump): Dump m_file_cache. - * input.cc (file_cache_slot::dump): New decls and implementations. - (file_cache::dump): New. - * input.h (file_cache::dump): New decl. - -2024-12-16 Robin Dapp <rdapp@ventanamicro.com> - - * doc/md.texi: Add "3" suffix. - -2024-12-16 Robin Dapp <rdapp@ventanamicro.com> - - PR target/112694 - PR target/116611. - * config/riscv/riscv-v.cc (expand_vec_perm_const): Remove early - return. - * tree-vect-slp.cc (can_duplicate_and_interleave_p): Return - false when we cannot create sub-elements. - -2024-12-16 Robin Dapp <rdapp@ventanamicro.com> - - PR target/117383 - * config/riscv/riscv-protos.h (enum insn_type): Use TU policy. - * config/riscv/riscv-v.cc (shuffle_compress_patterns): Set VL. - -2024-12-16 Robin Dapp <rdapp@ventanamicro.com> - - PR target/118019 - * config/riscv/riscv.cc (riscv_builtin_vectorization_cost): - Increase vec_construct cost. - -2024-12-16 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (write_s_frameproc): Align output. - (write_s_inlinesite): Align output. - -2024-12-15 John David Anglin <danglin@gcc.gnu.org> - - PR target/118018 - * config/pa/pa.cc (pa_frame_pointer_required): Declare and - implement. - (TARGET_FRAME_POINTER_REQUIRED): Define. - -2024-12-15 Tamar Christina <tamar.christina@arm.com> - - * config/arm/arm-mve-builtins-base.cc (expand): Initialize new_base. - -2024-12-15 Jakub Jelinek <jakub@redhat.com> - - * tree-core.h (struct tree_exp): Remove condition_uid member. - * tree.h (SET_EXPR_UID, EXPR_COND_UID): Remove. - * gimplify.cc (nextuid): Rename to ... - (nextconduid): ... this. - (cond_uids): New static variable. - (next_cond_uid, reset_cond_uid): Adjust for the renaming, - formatting fix. - (tree_associate_condition_with_expr): New function. - (shortcut_cond_r, tag_shortcut_cond, shortcut_cond_expr): Use it - instead of SET_EXPR_UID. - (gimplify_cond_expr): Look up cond_uid in cond_uids hash map if - non-NULL instead of using EXPR_COND_UID. - (gimplify_function_tree): Delete cond_uids and set it to NULL. - -2024-12-14 Jovan Vukic <Jovan.Vukic@rt-rk.com> - - * match.pd: New pattern. - * simplify-rtx.cc (match_plus_neg_pattern): New helper function. - (simplify_context::simplify_binary_operation_1): New - code to handle (a - 1) & -a, (a - 1) | -a and (a - 1) ^ -a. - -2024-12-14 Jose E. Marchesi <jose.marchesi@oracle.com> - - * config/bpf/bpf.cc (bpf_resolve_overloaded_builtin): Add argument - `complain'. - -2024-12-14 Heiko Eißfeldt <heiko@hexco.de> - - * doc/install.texi (Configuration): Fix typos in documentation - for --enable-host-pie. - -2024-12-14 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/118023 - * gimple-fold.cc (decode_field_reference): Return NULL_TREE if - inner has non-type_has_mode_precision_p integral type. - -2024-12-14 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/118024 - * gimple-ssa-warn-access.cc (matching_alloc_calls_p): Walk malloc - attributes of alloc_decl and dealloc_decl in separate loops rather - than in lock-step. Use common_deallocs.contains rather than - common_deallocs.add in the second loop. - -2024-12-14 Jakub Jelinek <jakub@redhat.com> - - PR c/118011 - * opts.cc (init_options_struct): Don't set opts->x_flag_short_enums to - 2. - * toplev.cc (process_options): Test !OPTION_SET_P (flag_short_enums) - rather than flag_short_enums == 2. - -2024-12-13 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/117095 - * cse.cc (cse_extended_basic_block): Don't call record_jump_equiv - if multiple_sets (insn). - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - Jakub Jelinek <jakub@redhat.com> - - PR target/114801 - * config/arm/arm-mve-builtins.cc - (function_expander::add_input_operand): Handle CONST_INT - predicates. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vst24_impl): New. - (class vld24_impl): New. - (vld2q, vld4q, vst2q, vst4q): New. - * config/arm/arm-mve-builtins-base.def (vld2q, vld4q, vst2q) - (vst4q): New. - * config/arm/arm-mve-builtins-base.h (vld2q, vld4q, vst2q, vst4q): - New. - * config/arm/arm-mve-builtins.cc (register_builtin_tuple_types): - Add more asserts. - * config/arm/arm.cc (TARGET_ARRAY_MODE): New. - (output_move_neon): Handle MVE struct modes. - (arm_print_operand_address): Likewise. - (arm_hard_regno_mode_ok): Likewise. - (arm_array_mode): New. - * config/arm/arm.h (VALID_MVE_STRUCT_MODE): Likewise. - * config/arm/arm_mve.h (vst4q): Delete. - (vst2q): Delete. - (vld2q): Delete. - (vld4q): Delete. - (vst4q_s8): Delete. - (vst4q_s16): Delete. - (vst4q_s32): Delete. - (vst4q_u8): Delete. - (vst4q_u16): Delete. - (vst4q_u32): Delete. - (vst4q_f16): Delete. - (vst4q_f32): Delete. - (vst2q_s8): Delete. - (vst2q_u8): Delete. - (vld2q_s8): Delete. - (vld2q_u8): Delete. - (vld4q_s8): Delete. - (vld4q_u8): Delete. - (vst2q_s16): Delete. - (vst2q_u16): Delete. - (vld2q_s16): Delete. - (vld2q_u16): Delete. - (vld4q_s16): Delete. - (vld4q_u16): Delete. - (vst2q_s32): Delete. - (vst2q_u32): Delete. - (vld2q_s32): Delete. - (vld2q_u32): Delete. - (vld4q_s32): Delete. - (vld4q_u32): Delete. - (vld4q_f16): Delete. - (vld2q_f16): Delete. - (vst2q_f16): Delete. - (vld4q_f32): Delete. - (vld2q_f32): Delete. - (vst2q_f32): Delete. - (__arm_vst4q_s8): Delete. - (__arm_vst4q_s16): Delete. - (__arm_vst4q_s32): Delete. - (__arm_vst4q_u8): Delete. - (__arm_vst4q_u16): Delete. - (__arm_vst4q_u32): Delete. - (__arm_vst2q_s8): Delete. - (__arm_vst2q_u8): Delete. - (__arm_vld2q_s8): Delete. - (__arm_vld2q_u8): Delete. - (__arm_vld4q_s8): Delete. - (__arm_vld4q_u8): Delete. - (__arm_vst2q_s16): Delete. - (__arm_vst2q_u16): Delete. - (__arm_vld2q_s16): Delete. - (__arm_vld2q_u16): Delete. - (__arm_vld4q_s16): Delete. - (__arm_vld4q_u16): Delete. - (__arm_vst2q_s32): Delete. - (__arm_vst2q_u32): Delete. - (__arm_vld2q_s32): Delete. - (__arm_vld2q_u32): Delete. - (__arm_vld4q_s32): Delete. - (__arm_vld4q_u32): Delete. - (__arm_vst4q_f16): Delete. - (__arm_vst4q_f32): Delete. - (__arm_vld4q_f16): Delete. - (__arm_vld2q_f16): Delete. - (__arm_vst2q_f16): Delete. - (__arm_vld4q_f32): Delete. - (__arm_vld2q_f32): Delete. - (__arm_vst2q_f32): Delete. - (__arm_vst4q): Delete. - (__arm_vst2q): Delete. - (__arm_vld2q): Delete. - (__arm_vld4q): Delete. - * config/arm/arm_mve_builtins.def (vst4q, vst2q, vld4q, vld2q): - Delete. - * config/arm/iterators.md (VSTRUCT): Add V2x16QI, V2x8HI, V2x4SI, - V2x8HF, V2x4SF, V4x16QI, V4x8HI, V4x4SI, V4x8HF, V4x4SF. - (MVE_VLD2_VST2, MVE_vld2_vst2, MVE_VLD4_VST4, MVE_vld4_vst4): New. - * config/arm/mve.md (mve_vst4q<mode>): Update into ... - (@mve_vst4q<mode>): ... this. - (mve_vst2q<mode>): Update into ... - (@mve_vst2q<mode>): ... this. - (mve_vld2q<mode>): Update into ... - (@mve_vld2q<mode>): ... this. - (mve_vld4q<mode>): Update into ... - (@mve_vld4q<mode>): ... this. - * config/arm/vec-common.md (vec_load_lanesoi<mode>) Remove MVE - support. - (vec_load_lanesxi<mode>): Likewise. - (vec_store_lanesoi<mode>): Likewise. - (vec_store_lanesxi<mode>): Likewise. - (vec_load_lanes<MVE_vld2_vst2><mode>): - New. - (vec_store_lanes<MVE_vld2_vst2><mode>): New. - (vec_load_lanes<MVE_vld4_vst4><mode>): New. - (vec_store_lanes<MVE_vld4_vst4><mode>): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (struct store_def): Add - support for tuples. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (parse_type): Fix access - to acle_vector_types. - * config/arm/arm-mve-builtins.cc (wrap_type_in_struct): New. - (register_type_decl): New. - (register_builtin_tuple_types): Fix support for tuples. - (function_resolver::infer_tuple_type): New. - * config/arm/arm-mve-builtins.h - (function_resolver::infer_tuple_type): Declare. - (function_instance::tuple_type): Fix access to acle_vector_types. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-modes.def (MVE_STRUCT_MODES): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/iterators.md (MVE_vecs): Remove V2DF. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/mve.md (mve_vec_extract_sext_internal): Fix - condition. - (mve_vec_extract_zext_internal): Likewise. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (vstrq_impl): Remove - call_properties. - (vldrq_impl): Likewise. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc (arm_ldrgbwbxu_qualifiers) - (arm_ldrgbwbxu_z_qualifiers, arm_ldrgbwbs_qualifiers) - (arm_ldrgbwbu_qualifiers, arm_ldrgbwbs_z_qualifiers) - (arm_ldrgbwbu_z_qualifiers): Delete. - * config/arm/arm-mve-builtins-base.cc (vldrq_gather_base_impl): - Add support for MODE_wb. - * config/arm/arm-mve-builtins-shapes.cc (struct - load_gather_base_def): Likewise. - * config/arm/arm_mve.h (vldrdq_gather_base_wb_s64): Delete. - (vldrdq_gather_base_wb_u64): Delete. - (vldrdq_gather_base_wb_z_s64): Delete. - (vldrdq_gather_base_wb_z_u64): Delete. - (vldrwq_gather_base_wb_f32): Delete. - (vldrwq_gather_base_wb_s32): Delete. - (vldrwq_gather_base_wb_u32): Delete. - (vldrwq_gather_base_wb_z_f32): Delete. - (vldrwq_gather_base_wb_z_s32): Delete. - (vldrwq_gather_base_wb_z_u32): Delete. - (__arm_vldrdq_gather_base_wb_s64): Delete. - (__arm_vldrdq_gather_base_wb_u64): Delete. - (__arm_vldrdq_gather_base_wb_z_s64): Delete. - (__arm_vldrdq_gather_base_wb_z_u64): Delete. - (__arm_vldrwq_gather_base_wb_s32): Delete. - (__arm_vldrwq_gather_base_wb_u32): Delete. - (__arm_vldrwq_gather_base_wb_z_s32): Delete. - (__arm_vldrwq_gather_base_wb_z_u32): Delete. - (__arm_vldrwq_gather_base_wb_f32): Delete. - (__arm_vldrwq_gather_base_wb_z_f32): Delete. - * config/arm/arm_mve_builtins.def (vldrwq_gather_base_nowb_z_u) - (vldrdq_gather_base_nowb_z_u, vldrwq_gather_base_nowb_u) - (vldrdq_gather_base_nowb_u, vldrwq_gather_base_nowb_z_s) - (vldrwq_gather_base_nowb_z_f, vldrdq_gather_base_nowb_z_s) - (vldrwq_gather_base_nowb_s, vldrwq_gather_base_nowb_f) - (vldrdq_gather_base_nowb_s, vldrdq_gather_base_wb_z_s) - (vldrdq_gather_base_wb_z_u, vldrdq_gather_base_wb_s) - (vldrdq_gather_base_wb_u, vldrwq_gather_base_wb_z_s) - (vldrwq_gather_base_wb_z_f, vldrwq_gather_base_wb_z_u) - (vldrwq_gather_base_wb_s, vldrwq_gather_base_wb_f) - (vldrwq_gather_base_wb_u): Delete - * config/arm/iterators.md (supf): Remove VLDRWQGBWB_S, - VLDRWQGBWB_U, VLDRDQGBWB_S, VLDRDQGBWB_U. - (VLDRWGBWBQ, VLDRDGBWBQ): Delete. - * config/arm/mve.md (mve_vldrwq_gather_base_wb_<supf>v4si): Delete. - (mve_vldrwq_gather_base_nowb_<supf>v4si): Delete. - (mve_vldrwq_gather_base_wb_<supf>v4si_insn): Delete. - (mve_vldrwq_gather_base_wb_z_<supf>v4si): Delete. - (mve_vldrwq_gather_base_nowb_z_<supf>v4si): Delete. - (mve_vldrwq_gather_base_wb_z_<supf>v4si_insn): Delete. - (mve_vldrwq_gather_base_wb_fv4sf): Delete. - (mve_vldrwq_gather_base_nowb_fv4sf): Delete. - (mve_vldrwq_gather_base_wb_fv4sf_insn): Delete. - (mve_vldrwq_gather_base_wb_z_fv4sf): Delete. - (mve_vldrwq_gather_base_nowb_z_fv4sf): Delete. - (mve_vldrwq_gather_base_wb_z_fv4sf_insn): Delete. - (mve_vldrdq_gather_base_wb_<supf>v2di): Delete. - (mve_vldrdq_gather_base_nowb_<supf>v2di): Delete. - (mve_vldrdq_gather_base_wb_<supf>v2di_insn): Delete. - (mve_vldrdq_gather_base_wb_z_<supf>v2di): Delete. - (mve_vldrdq_gather_base_nowb_z_<supf>v2di): Delete. - (mve_vldrdq_gather_base_wb_z_<supf>v2di_insn): Delete. - (@mve_vldrq_gather_base_wb_<mode>): New. - (@mve_vldrq_gather_base_wb_z_<mode>): New. - * config/arm/unspecs.md (VLDRWQGBWB_S, VLDRWQGBWB_U, VLDRWQGBWB_F) - (VLDRDQGBWB_S, VLDRDQGBWB_U): Delete - (VLDRGBWBQ, VLDRGBWBQ_Z): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc (arm_ldrgbs_qualifiers) - (arm_ldrgbu_qualifiers, arm_ldrgbs_z_qualifiers) - (arm_ldrgbu_z_qualifiers): Delete. - * config/arm/arm-mve-builtins-base.cc (class - vldrq_gather_base_impl): New. - (vldrdq_gather_base, vldrwq_gather_base): New. - * config/arm/arm-mve-builtins-base.def (vldrdq_gather_base) - (vldrwq_gather_base): New. - * config/arm/arm-mve-builtins-base.h: (vldrdq_gather_base) - (vldrwq_gather_base): New. - * config/arm/arm_mve.h (vldrwq_gather_base_s32): Delete. - (vldrwq_gather_base_u32): Delete. - (vldrwq_gather_base_z_u32): Delete. - (vldrwq_gather_base_z_s32): Delete. - (vldrdq_gather_base_s64): Delete. - (vldrdq_gather_base_u64): Delete. - (vldrdq_gather_base_z_s64): Delete. - (vldrdq_gather_base_z_u64): Delete. - (vldrwq_gather_base_f32): Delete. - (vldrwq_gather_base_z_f32): Delete. - (__arm_vldrwq_gather_base_s32): Delete. - (__arm_vldrwq_gather_base_u32): Delete. - (__arm_vldrwq_gather_base_z_s32): Delete. - (__arm_vldrwq_gather_base_z_u32): Delete. - (__arm_vldrdq_gather_base_s64): Delete. - (__arm_vldrdq_gather_base_u64): Delete. - (__arm_vldrdq_gather_base_z_s64): Delete. - (__arm_vldrdq_gather_base_z_u64): Delete. - (__arm_vldrwq_gather_base_f32): Delete. - (__arm_vldrwq_gather_base_z_f32): Delete. - * config/arm/arm_mve_builtins.def (vldrwq_gather_base_s) - (vldrwq_gather_base_u, vldrwq_gather_base_z_s) - (vldrwq_gather_base_z_u, vldrdq_gather_base_s) - (vldrwq_gather_base_f, vldrdq_gather_base_z_s) - (vldrwq_gather_base_z_f, vldrdq_gather_base_u) - (vldrdq_gather_base_z_u): Delete. - * config/arm/iterators.md (supf): Remove VLDRWQGB_S, VLDRWQGB_U, - VLDRDQGB_S, VLDRDQGB_U. - (VLDRWGBQ, VLDRDGBQ): Delete. - * config/arm/mve.md (mve_vldrwq_gather_base_<supf>v4si): Delete. - (mve_vldrwq_gather_base_z_<supf>v4si): Delete. - (mve_vldrdq_gather_base_<supf>v2di): Delete. - (mve_vldrdq_gather_base_z_<supf>v2di): Delete. - (mve_vldrwq_gather_base_fv4sf): Delete. - (mve_vldrwq_gather_base_z_fv4sf): Delete. - (@mve_vldrq_gather_base_<mode>): New. - (@mve_vldrq_gather_base_z_<mode>): New. - * config/arm/unspecs.md (VLDRWQGB_S, VLDRWQGB_U, VLDRDQGB_S) - (VLDRDQGB_U, VLDRWQGB_F): Delete. - (VLDRGBQ, VLDRGBQ_Z): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (struct - load_gather_base_def): New. - * config/arm/arm-mve-builtins-shapes.h: (load_gather_base): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc (arm_ldrgu_qualifiers) - (arm_ldrgs_qualifiers, arm_ldrgs_z_qualifiers) - (arm_ldrgu_z_qualifiers): Delete. - * config/arm/arm-mve-builtins-base.cc (vldrq_gather_impl): Add - support for shifted version. - (vldrdq_gather_shifted, vldrhq_gather_shifted) - (vldrwq_gather_shifted): New. - * config/arm/arm-mve-builtins-base.def (vldrdq_gather_shifted) - (vldrhq_gather_shifted, vldrwq_gather_shifted): New. - * config/arm/arm-mve-builtins-base.h (vldrdq_gather_shifted) - (vldrhq_gather_shifted, vldrwq_gather_shifted): New. - * config/arm/arm_mve.h (vldrhq_gather_shifted_offset): Delete. - (vldrhq_gather_shifted_offset_z): Delete. - (vldrdq_gather_shifted_offset): Delete. - (vldrdq_gather_shifted_offset_z): Delete. - (vldrwq_gather_shifted_offset): Delete. - (vldrwq_gather_shifted_offset_z): Delete. - (vldrhq_gather_shifted_offset_s32): Delete. - (vldrhq_gather_shifted_offset_s16): Delete. - (vldrhq_gather_shifted_offset_u32): Delete. - (vldrhq_gather_shifted_offset_u16): Delete. - (vldrhq_gather_shifted_offset_z_s32): Delete. - (vldrhq_gather_shifted_offset_z_s16): Delete. - (vldrhq_gather_shifted_offset_z_u32): Delete. - (vldrhq_gather_shifted_offset_z_u16): Delete. - (vldrdq_gather_shifted_offset_s64): Delete. - (vldrdq_gather_shifted_offset_u64): Delete. - (vldrdq_gather_shifted_offset_z_s64): Delete. - (vldrdq_gather_shifted_offset_z_u64): Delete. - (vldrhq_gather_shifted_offset_f16): Delete. - (vldrhq_gather_shifted_offset_z_f16): Delete. - (vldrwq_gather_shifted_offset_f32): Delete. - (vldrwq_gather_shifted_offset_s32): Delete. - (vldrwq_gather_shifted_offset_u32): Delete. - (vldrwq_gather_shifted_offset_z_f32): Delete. - (vldrwq_gather_shifted_offset_z_s32): Delete. - (vldrwq_gather_shifted_offset_z_u32): Delete. - (__arm_vldrhq_gather_shifted_offset_s32): Delete. - (__arm_vldrhq_gather_shifted_offset_s16): Delete. - (__arm_vldrhq_gather_shifted_offset_u32): Delete. - (__arm_vldrhq_gather_shifted_offset_u16): Delete. - (__arm_vldrhq_gather_shifted_offset_z_s32): Delete. - (__arm_vldrhq_gather_shifted_offset_z_s16): Delete. - (__arm_vldrhq_gather_shifted_offset_z_u32): Delete. - (__arm_vldrhq_gather_shifted_offset_z_u16): Delete. - (__arm_vldrdq_gather_shifted_offset_s64): Delete. - (__arm_vldrdq_gather_shifted_offset_u64): Delete. - (__arm_vldrdq_gather_shifted_offset_z_s64): Delete. - (__arm_vldrdq_gather_shifted_offset_z_u64): Delete. - (__arm_vldrwq_gather_shifted_offset_s32): Delete. - (__arm_vldrwq_gather_shifted_offset_u32): Delete. - (__arm_vldrwq_gather_shifted_offset_z_s32): Delete. - (__arm_vldrwq_gather_shifted_offset_z_u32): Delete. - (__arm_vldrhq_gather_shifted_offset_f16): Delete. - (__arm_vldrhq_gather_shifted_offset_z_f16): Delete. - (__arm_vldrwq_gather_shifted_offset_f32): Delete. - (__arm_vldrwq_gather_shifted_offset_z_f32): Delete. - (__arm_vldrhq_gather_shifted_offset): Delete. - (__arm_vldrhq_gather_shifted_offset_z): Delete. - (__arm_vldrdq_gather_shifted_offset): Delete. - (__arm_vldrdq_gather_shifted_offset_z): Delete. - (__arm_vldrwq_gather_shifted_offset): Delete. - (__arm_vldrwq_gather_shifted_offset_z): Delete. - * config/arm/arm_mve_builtins.def - (vldrhq_gather_shifted_offset_z_u, vldrhq_gather_shifted_offset_u) - (vldrhq_gather_shifted_offset_z_s, vldrhq_gather_shifted_offset_s) - (vldrdq_gather_shifted_offset_s, vldrhq_gather_shifted_offset_f) - (vldrwq_gather_shifted_offset_f, vldrwq_gather_shifted_offset_s) - (vldrdq_gather_shifted_offset_z_s) - (vldrhq_gather_shifted_offset_z_f) - (vldrwq_gather_shifted_offset_z_f) - (vldrwq_gather_shifted_offset_z_s, vldrdq_gather_shifted_offset_u) - (vldrwq_gather_shifted_offset_u, vldrdq_gather_shifted_offset_z_u) - (vldrwq_gather_shifted_offset_z_u): Delete. - * config/arm/iterators.md (supf): Remove VLDRHQGSO_S, VLDRHQGSO_U, - VLDRDQGSO_S, VLDRDQGSO_U, VLDRWQGSO_S, VLDRWQGSO_U. - (VLDRHGSOQ, VLDRDGSOQ, VLDRWGSOQ): Delete. - * config/arm/mve.md - (mve_vldrhq_gather_shifted_offset_<supf><mode>): Delete. - (mve_vldrhq_gather_shifted_offset_z_<supf><mode>): Delete. - (mve_vldrdq_gather_shifted_offset_<supf>v2di): Delete. - (mve_vldrdq_gather_shifted_offset_z_<supf>v2di): Delete. - (mve_vldrhq_gather_shifted_offset_fv8hf): Delete. - (mve_vldrhq_gather_shifted_offset_z_fv8hf): Delete. - (mve_vldrwq_gather_shifted_offset_fv4sf): Delete. - (mve_vldrwq_gather_shifted_offset_<supf>v4si): Delete. - (mve_vldrwq_gather_shifted_offset_z_fv4sf): Delete. - (mve_vldrwq_gather_shifted_offset_z_<supf>v4si): Delete. - (@mve_vldrq_gather_shifted_offset_<mode>): New. - (@mve_vldrq_gather_shifted_offset_extend_v4si<US>): New. - (@mve_vldrq_gather_shifted_offset_z_<mode>): New. - (@mve_vldrq_gather_shifted_offset_z_extend_v4si<US>): New. - * config/arm/unspecs.md (VLDRHQGSO_S, VLDRHQGSO_U, VLDRDQGSO_S) - (VLDRDQGSO_U, VLDRHQGSO_F, VLDRWQGSO_F, VLDRWQGSO_S, VLDRWQGSO_U): - Delete. - (VLDRGSOQ, VLDRGSOQ_Z, VLDRGSOQ_EXT, VLDRGSOQ_EXT_Z): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vldrq_gather_impl): - New. - (vldrbq_gather, vldrdq_gather, vldrhq_gather, vldrwq_gather): New. - * config/arm/arm-mve-builtins-base.def (vldrbq_gather) - (vldrdq_gather, vldrhq_gather, vldrwq_gather): New. - * config/arm/arm-mve-builtins-base.h (vldrbq_gather) - (vldrdq_gather, vldrhq_gather, vldrwq_gather): New. - * config/arm/arm_mve.h (vldrbq_gather_offset): Delete. - (vldrbq_gather_offset_z): Delete. - (vldrhq_gather_offset): Delete. - (vldrhq_gather_offset_z): Delete. - (vldrdq_gather_offset): Delete. - (vldrdq_gather_offset_z): Delete. - (vldrwq_gather_offset): Delete. - (vldrwq_gather_offset_z): Delete. - (vldrbq_gather_offset_u8): Delete. - (vldrbq_gather_offset_s8): Delete. - (vldrbq_gather_offset_u16): Delete. - (vldrbq_gather_offset_s16): Delete. - (vldrbq_gather_offset_u32): Delete. - (vldrbq_gather_offset_s32): Delete. - (vldrbq_gather_offset_z_s16): Delete. - (vldrbq_gather_offset_z_u8): Delete. - (vldrbq_gather_offset_z_s32): Delete. - (vldrbq_gather_offset_z_u16): Delete. - (vldrbq_gather_offset_z_u32): Delete. - (vldrbq_gather_offset_z_s8): Delete. - (vldrhq_gather_offset_s32): Delete. - (vldrhq_gather_offset_s16): Delete. - (vldrhq_gather_offset_u32): Delete. - (vldrhq_gather_offset_u16): Delete. - (vldrhq_gather_offset_z_s32): Delete. - (vldrhq_gather_offset_z_s16): Delete. - (vldrhq_gather_offset_z_u32): Delete. - (vldrhq_gather_offset_z_u16): Delete. - (vldrdq_gather_offset_s64): Delete. - (vldrdq_gather_offset_u64): Delete. - (vldrdq_gather_offset_z_s64): Delete. - (vldrdq_gather_offset_z_u64): Delete. - (vldrhq_gather_offset_f16): Delete. - (vldrhq_gather_offset_z_f16): Delete. - (vldrwq_gather_offset_f32): Delete. - (vldrwq_gather_offset_s32): Delete. - (vldrwq_gather_offset_u32): Delete. - (vldrwq_gather_offset_z_f32): Delete. - (vldrwq_gather_offset_z_s32): Delete. - (vldrwq_gather_offset_z_u32): Delete. - (__arm_vldrbq_gather_offset_u8): Delete. - (__arm_vldrbq_gather_offset_s8): Delete. - (__arm_vldrbq_gather_offset_u16): Delete. - (__arm_vldrbq_gather_offset_s16): Delete. - (__arm_vldrbq_gather_offset_u32): Delete. - (__arm_vldrbq_gather_offset_s32): Delete. - (__arm_vldrbq_gather_offset_z_s8): Delete. - (__arm_vldrbq_gather_offset_z_s32): Delete. - (__arm_vldrbq_gather_offset_z_s16): Delete. - (__arm_vldrbq_gather_offset_z_u8): Delete. - (__arm_vldrbq_gather_offset_z_u32): Delete. - (__arm_vldrbq_gather_offset_z_u16): Delete. - (__arm_vldrhq_gather_offset_s32): Delete. - (__arm_vldrhq_gather_offset_s16): Delete. - (__arm_vldrhq_gather_offset_u32): Delete. - (__arm_vldrhq_gather_offset_u16): Delete. - (__arm_vldrhq_gather_offset_z_s32): Delete. - (__arm_vldrhq_gather_offset_z_s16): Delete. - (__arm_vldrhq_gather_offset_z_u32): Delete. - (__arm_vldrhq_gather_offset_z_u16): Delete. - (__arm_vldrdq_gather_offset_s64): Delete. - (__arm_vldrdq_gather_offset_u64): Delete. - (__arm_vldrdq_gather_offset_z_s64): Delete. - (__arm_vldrdq_gather_offset_z_u64): Delete. - (__arm_vldrwq_gather_offset_s32): Delete. - (__arm_vldrwq_gather_offset_u32): Delete. - (__arm_vldrwq_gather_offset_z_s32): Delete. - (__arm_vldrwq_gather_offset_z_u32): Delete. - (__arm_vldrhq_gather_offset_f16): Delete. - (__arm_vldrhq_gather_offset_z_f16): Delete. - (__arm_vldrwq_gather_offset_f32): Delete. - (__arm_vldrwq_gather_offset_z_f32): Delete. - (__arm_vldrbq_gather_offset): Delete. - (__arm_vldrbq_gather_offset_z): Delete. - (__arm_vldrhq_gather_offset): Delete. - (__arm_vldrhq_gather_offset_z): Delete. - (__arm_vldrdq_gather_offset): Delete. - (__arm_vldrdq_gather_offset_z): Delete. - (__arm_vldrwq_gather_offset): Delete. - (__arm_vldrwq_gather_offset_z): Delete. - * config/arm/arm_mve_builtins.def (vldrbq_gather_offset_u) - (vldrbq_gather_offset_s, vldrbq_gather_offset_z_s) - (vldrbq_gather_offset_z_u, vldrhq_gather_offset_z_u) - (vldrhq_gather_offset_u, vldrhq_gather_offset_z_s) - (vldrhq_gather_offset_s, vldrdq_gather_offset_s) - (vldrhq_gather_offset_f, vldrwq_gather_offset_f) - (vldrwq_gather_offset_s, vldrdq_gather_offset_z_s) - (vldrhq_gather_offset_z_f, vldrwq_gather_offset_z_f) - (vldrwq_gather_offset_z_s, vldrdq_gather_offset_u) - (vldrwq_gather_offset_u, vldrdq_gather_offset_z_u) - (vldrwq_gather_offset_z_u): Delete. - * config/arm/iterators.md (MVE_u_elem): New. - (supf): Remove VLDRBQGO_S, VLDRBQGO_U, VLDRHQGO_S, VLDRHQGO_U, - VLDRDQGO_S, VLDRDQGO_U, VLDRWQGO_S, VLDRWQGO_U. - (VLDRBGOQ, VLDRHGOQ, VLDRDGOQ, VLDRWGOQ): Delete. - * config/arm/mve.md (mve_vldrbq_gather_offset_<supf><mode>): - Delete. - (mve_vldrbq_gather_offset_z_<supf><mode>): Delete. - (mve_vldrhq_gather_offset_<supf><mode>): Delete. - (mve_vldrhq_gather_offset_z_<supf><mode>): Delete. - (mve_vldrdq_gather_offset_<supf>v2di): Delete. - (mve_vldrdq_gather_offset_z_<supf>v2di): Delete. - (mve_vldrhq_gather_offset_fv8hf): Delete. - (mve_vldrhq_gather_offset_z_fv8hf): Delete. - (mve_vldrwq_gather_offset_fv4sf): Delete. - (mve_vldrwq_gather_offset_<supf>v4si): Delete. - (mve_vldrwq_gather_offset_z_fv4sf): Delete. - (mve_vldrwq_gather_offset_z_<supf>v4si): Delete. - (@mve_vldrq_gather_offset_<mode>): New. - (@mve_vldrq_gather_offset_extend_<mode><US>): New. - (@mve_vldrq_gather_offset_z_<mode>): New. - (@mve_vldrq_gather_offset_z_extend_<mode><US>): New. - * config/arm/unspecs.md (VLDRBQGO_S, VLDRBQGO_U, VLDRHQGO_S) - (VLDRHQGO_U, VLDRDQGO_S, VLDRDQGO_U, VLDRHQGO_F, VLDRWQGO_F) - (VLDRWQGO_S, VLDRWQGO_U): Delete. - (VLDRGOQ, VLDRGOQ_Z, VLDRGOQ_EXT, VLDRGOQ_EXT_Z): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (struct load_ext_gather): - New. - (struct load_ext_gather_offset_def): New. - * config/arm/arm-mve-builtins-shapes.h (load_ext_gather_offset): - New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc (arm_strsbwbs_qualifiers) - (arm_strsbwbu_qualifiers, arm_strsbwbs_p_qualifiers) - (arm_strsbwbu_p_qualifiers): Delete. - * config/arm/arm-mve-builtins-base.cc (vstrq_scatter_base_impl): - Add support for MODE_wb. - * config/arm/arm-mve-builtins-shapes.cc (parse_type): Add support - for 'b' type. - (store_scatter_base): Add support for MODE_wb. - * config/arm/arm-mve-builtins.cc - (function_resolver::require_pointer_to_type): New. - * config/arm/arm-mve-builtins.h - (function_resolver::require_pointer_to_type): New. - * config/arm/arm_mve.h (vstrdq_scatter_base_wb): Delete. - (vstrdq_scatter_base_wb_p): Delete. - (vstrwq_scatter_base_wb_p): Delete. - (vstrwq_scatter_base_wb): Delete. - (vstrdq_scatter_base_wb_p_s64): Delete. - (vstrdq_scatter_base_wb_p_u64): Delete. - (vstrdq_scatter_base_wb_s64): Delete. - (vstrdq_scatter_base_wb_u64): Delete. - (vstrwq_scatter_base_wb_p_s32): Delete. - (vstrwq_scatter_base_wb_p_f32): Delete. - (vstrwq_scatter_base_wb_p_u32): Delete. - (vstrwq_scatter_base_wb_s32): Delete. - (vstrwq_scatter_base_wb_u32): Delete. - (vstrwq_scatter_base_wb_f32): Delete. - (__arm_vstrdq_scatter_base_wb_s64): Delete. - (__arm_vstrdq_scatter_base_wb_u64): Delete. - (__arm_vstrdq_scatter_base_wb_p_s64): Delete. - (__arm_vstrdq_scatter_base_wb_p_u64): Delete. - (__arm_vstrwq_scatter_base_wb_p_s32): Delete. - (__arm_vstrwq_scatter_base_wb_p_u32): Delete. - (__arm_vstrwq_scatter_base_wb_s32): Delete. - (__arm_vstrwq_scatter_base_wb_u32): Delete. - (__arm_vstrwq_scatter_base_wb_f32): Delete. - (__arm_vstrwq_scatter_base_wb_p_f32): Delete. - (__arm_vstrdq_scatter_base_wb): Delete. - (__arm_vstrdq_scatter_base_wb_p): Delete. - (__arm_vstrwq_scatter_base_wb_p): Delete. - (__arm_vstrwq_scatter_base_wb): Delete. - * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_wb_u) - (vstrdq_scatter_base_wb_u, vstrwq_scatter_base_wb_p_u) - (vstrdq_scatter_base_wb_p_u, vstrwq_scatter_base_wb_s) - (vstrwq_scatter_base_wb_f, vstrdq_scatter_base_wb_s) - (vstrwq_scatter_base_wb_p_s, vstrwq_scatter_base_wb_p_f) - (vstrdq_scatter_base_wb_p_s): Delete. - * config/arm/iterators.md (supf): Remove VSTRWQSBWB_S, - VSTRWQSBWB_U, VSTRDQSBWB_S, VSTRDQSBWB_U. - (VSTRDSBQ, VSTRWSBWBQ, VSTRDSBWBQ): Delete. - * config/arm/mve.md (mve_vstrwq_scatter_base_wb_<supf>v4si): Delete. - (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Delete. - (mve_vstrwq_scatter_base_wb_fv4sf): Delete. - (mve_vstrwq_scatter_base_wb_p_fv4sf): Delete. - (mve_vstrdq_scatter_base_wb_<supf>v2di): Delete. - (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Delete. - (@mve_vstrq_scatter_base_wb_<mode>): New. - (@mve_vstrq_scatter_base_wb_p_<mode>): New. - * config/arm/unspecs.md (VSTRWQSBWB_S, VSTRWQSBWB_U, VSTRWQSBWB_F) - (VSTRDQSBWB_S, VSTRDQSBWB_U): Delete. - (VSTRSBWBQ, VSTRSBWBQ_P): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc (arm_strsbs_qualifiers) - (arm_strsbu_qualifiers, arm_strsbs_p_qualifiers) - (arm_strsbu_p_qualifiers): Delete. - * config/arm/arm-mve-builtins-base.cc (class - vstrq_scatter_base_impl): New. - (vstrwq_scatter_base, vstrdq_scatter_base): New. - * config/arm/arm-mve-builtins-base.def (vstrwq_scatter_base) - (vstrdq_scatter_base): New. - * config/arm/arm-mve-builtins-base.h (vstrwq_scatter_base) - (vstrdq_scatter_base): New. - * config/arm/arm_mve.h (vstrwq_scatter_base): Delete. - (vstrwq_scatter_base_p): Delete. - (vstrdq_scatter_base_p): Delete. - (vstrdq_scatter_base): Delete. - (vstrwq_scatter_base_s32): Delete. - (vstrwq_scatter_base_u32): Delete. - (vstrwq_scatter_base_p_s32): Delete. - (vstrwq_scatter_base_p_u32): Delete. - (vstrdq_scatter_base_p_s64): Delete. - (vstrdq_scatter_base_p_u64): Delete. - (vstrdq_scatter_base_s64): Delete. - (vstrdq_scatter_base_u64): Delete. - (vstrwq_scatter_base_f32): Delete. - (vstrwq_scatter_base_p_f32): Delete. - (__arm_vstrwq_scatter_base_s32): Delete. - (__arm_vstrwq_scatter_base_u32): Delete. - (__arm_vstrwq_scatter_base_p_s32): Delete. - (__arm_vstrwq_scatter_base_p_u32): Delete. - (__arm_vstrdq_scatter_base_p_s64): Delete. - (__arm_vstrdq_scatter_base_p_u64): Delete. - (__arm_vstrdq_scatter_base_s64): Delete. - (__arm_vstrdq_scatter_base_u64): Delete. - (__arm_vstrwq_scatter_base_f32): Delete. - (__arm_vstrwq_scatter_base_p_f32): Delete. - (__arm_vstrwq_scatter_base): Delete. - (__arm_vstrwq_scatter_base_p): Delete. - (__arm_vstrdq_scatter_base_p): Delete. - (__arm_vstrdq_scatter_base): Delete. - * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_s) - (vstrwq_scatter_base_u, vstrwq_scatter_base_p_s) - (vstrwq_scatter_base_p_u, vstrdq_scatter_base_s) - (vstrwq_scatter_base_f, vstrdq_scatter_base_p_s) - (vstrwq_scatter_base_p_f, vstrdq_scatter_base_u) - (vstrdq_scatter_base_p_u): Delete. - * config/arm/iterators.md (MVE_4): New. - (supf): Remove VSTRWQSB_S, VSTRWQSB_U. - (VSTRWSBQ): Delete. - * config/arm/mve.md (mve_vstrwq_scatter_base_<supf>v4si): Delete. - (mve_vstrwq_scatter_base_p_<supf>v4si): Delete. - (mve_vstrdq_scatter_base_p_<supf>v2di): Delete. - (mve_vstrdq_scatter_base_<supf>v2di): Delete. - (mve_vstrwq_scatter_base_fv4sf): Delete. - (mve_vstrwq_scatter_base_p_fv4sf): Delete. - (@mve_vstrq_scatter_base_<mode>): New. - (@mve_vstrq_scatter_base_p_<mode>): New. - * config/arm/unspecs.md (VSTRWQSB_S, VSTRWQSB_U, VSTRWQSB_F): - Delete. - (VSTRSBQ, VSTRSBQ_P): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (store_scatter_base): New. - * config/arm/arm-mve-builtins-shapes.h (store_scatter_base): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins.cc (report_out_of_range_multiple): - New. - (function_checker::require_signed_immediate): New. - (function_checker::require_immediate_range_multiple): New. - * config/arm/arm-mve-builtins.h - (function_checker::require_immediate_range_multiple): New. - (function_checker::require_signed_immediate): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc (arm_strss_qualifiers) - (arm_strsu_qualifiers, arm_strsu_p_qualifiers) - (arm_strss_p_qualifiers): Delete. - * config/arm/arm-mve-builtins-base.cc (class vstrq_scatter_impl): - Add support for shifted version. - (vstrdq_scatter_shifted, vstrhq_scatter_shifted) - (vstrwq_scatter_shifted): New. - * config/arm/arm-mve-builtins-base.def (vstrhq_scatter_shifted) - (vstrwq_scatter_shifted, vstrdq_scatter_shifted): New. - * config/arm/arm-mve-builtins-base.h (vstrhq_scatter_shifted) - (vstrwq_scatter_shifted, vstrdq_scatter_shifted): New. - * config/arm/arm_mve.h (vstrhq_scatter_shifted_offset): Delete. - (vstrhq_scatter_shifted_offset_p): Delete. - (vstrdq_scatter_shifted_offset_p): Delete. - (vstrdq_scatter_shifted_offset): Delete. - (vstrwq_scatter_shifted_offset_p): Delete. - (vstrwq_scatter_shifted_offset): Delete. - (vstrhq_scatter_shifted_offset_s32): Delete. - (vstrhq_scatter_shifted_offset_s16): Delete. - (vstrhq_scatter_shifted_offset_u32): Delete. - (vstrhq_scatter_shifted_offset_u16): Delete. - (vstrhq_scatter_shifted_offset_p_s32): Delete. - (vstrhq_scatter_shifted_offset_p_s16): Delete. - (vstrhq_scatter_shifted_offset_p_u32): Delete. - (vstrhq_scatter_shifted_offset_p_u16): Delete. - (vstrdq_scatter_shifted_offset_p_s64): Delete. - (vstrdq_scatter_shifted_offset_p_u64): Delete. - (vstrdq_scatter_shifted_offset_s64): Delete. - (vstrdq_scatter_shifted_offset_u64): Delete. - (vstrhq_scatter_shifted_offset_f16): Delete. - (vstrhq_scatter_shifted_offset_p_f16): Delete. - (vstrwq_scatter_shifted_offset_f32): Delete. - (vstrwq_scatter_shifted_offset_p_f32): Delete. - (vstrwq_scatter_shifted_offset_p_s32): Delete. - (vstrwq_scatter_shifted_offset_p_u32): Delete. - (vstrwq_scatter_shifted_offset_s32): Delete. - (vstrwq_scatter_shifted_offset_u32): Delete. - (__arm_vstrhq_scatter_shifted_offset_s32): Delete. - (__arm_vstrhq_scatter_shifted_offset_s16): Delete. - (__arm_vstrhq_scatter_shifted_offset_u32): Delete. - (__arm_vstrhq_scatter_shifted_offset_u16): Delete. - (__arm_vstrhq_scatter_shifted_offset_p_s32): Delete. - (__arm_vstrhq_scatter_shifted_offset_p_s16): Delete. - (__arm_vstrhq_scatter_shifted_offset_p_u32): Delete. - (__arm_vstrhq_scatter_shifted_offset_p_u16): Delete. - (__arm_vstrdq_scatter_shifted_offset_p_s64): Delete. - (__arm_vstrdq_scatter_shifted_offset_p_u64): Delete. - (__arm_vstrdq_scatter_shifted_offset_s64): Delete. - (__arm_vstrdq_scatter_shifted_offset_u64): Delete. - (__arm_vstrwq_scatter_shifted_offset_p_s32): Delete. - (__arm_vstrwq_scatter_shifted_offset_p_u32): Delete. - (__arm_vstrwq_scatter_shifted_offset_s32): Delete. - (__arm_vstrwq_scatter_shifted_offset_u32): Delete. - (__arm_vstrhq_scatter_shifted_offset_f16): Delete. - (__arm_vstrhq_scatter_shifted_offset_p_f16): Delete. - (__arm_vstrwq_scatter_shifted_offset_f32): Delete. - (__arm_vstrwq_scatter_shifted_offset_p_f32): Delete. - (__arm_vstrhq_scatter_shifted_offset): Delete. - (__arm_vstrhq_scatter_shifted_offset_p): Delete. - (__arm_vstrdq_scatter_shifted_offset_p): Delete. - (__arm_vstrdq_scatter_shifted_offset): Delete. - (__arm_vstrwq_scatter_shifted_offset_p): Delete. - (__arm_vstrwq_scatter_shifted_offset): Delete. - * config/arm/arm_mve_builtins.def - (vstrhq_scatter_shifted_offset_p_u) - (vstrhq_scatter_shifted_offset_u) - (vstrhq_scatter_shifted_offset_p_s) - (vstrhq_scatter_shifted_offset_s, vstrdq_scatter_shifted_offset_s) - (vstrhq_scatter_shifted_offset_f, vstrwq_scatter_shifted_offset_f) - (vstrwq_scatter_shifted_offset_s) - (vstrdq_scatter_shifted_offset_p_s) - (vstrhq_scatter_shifted_offset_p_f) - (vstrwq_scatter_shifted_offset_p_f) - (vstrwq_scatter_shifted_offset_p_s) - (vstrdq_scatter_shifted_offset_u, vstrwq_scatter_shifted_offset_u) - (vstrdq_scatter_shifted_offset_p_u) - (vstrwq_scatter_shifted_offset_p_u): Delete. - * config/arm/iterators.md (MVE_VLD_ST_scatter_shifted): New. - (MVE_scatter_shift): New. - (supf): Remove VSTRHQSSO_S, VSTRHQSSO_U, VSTRDQSSO_S, VSTRDQSSO_U, - VSTRWQSSO_U, VSTRWQSSO_S. - (VSTRHSSOQ, VSTRDSSOQ, VSTRWSSOQ): Delete. - * config/arm/mve.md (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>): Delete. - (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>_insn): Delete. - (mve_vstrhq_scatter_shifted_offset_<supf><mode>): Delete. - (mve_vstrhq_scatter_shifted_offset_<supf><mode>_insn): Delete. - (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di): Delete. - (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn): Delete. - (mve_vstrdq_scatter_shifted_offset_<supf>v2di): Delete. - (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn): Delete. - (mve_vstrhq_scatter_shifted_offset_fv8hf): Delete. - (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Delete. - (mve_vstrhq_scatter_shifted_offset_p_fv8hf): Delete. - (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Delete. - (mve_vstrwq_scatter_shifted_offset_fv4sf): Delete. - (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Delete. - (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Delete. - (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Delete. - (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si): Delete. - (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si_insn): Delete. - (mve_vstrwq_scatter_shifted_offset_<supf>v4si): Delete. - (mve_vstrwq_scatter_shifted_offset_<supf>v4si_insn): Delete. - (@mve_vstrq_scatter_shifted_offset_<mode>): New. - (@mve_vstrq_scatter_shifted_offset_p_<mode>): New. - (mve_vstrq_truncate_scatter_shifted_offset_v4si): New. - (mve_vstrq_truncate_scatter_shifted_offset_p_v4si): New. - * config/arm/unspecs.md (VSTRDQSSO_S, VSTRDQSSO_U, VSTRWQSSO_S) - (VSTRWQSSO_U, VSTRHQSSO_F, VSTRWQSSO_F, VSTRHQSSO_S, VSTRHQSSO_U): - Delete. - (VSTRSSOQ, VSTRSSOQ_P, VSTRSSOQ_TRUNC, VSTRSSOQ_TRUNC_P): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vstrq_scatter_impl): - New. - (vstrbq_scatter, vstrhq_scatter, vstrwq_scatter, vstrdq_scatter): - New. - * config/arm/arm-mve-builtins-base.def (vstrbq_scatter) - (vstrhq_scatter, vstrwq_scatter, vstrdq_scatter): New. - * config/arm/arm-mve-builtins-base.h (vstrbq_scatter) - (vstrhq_scatter, vstrwq_scatter, vstrdq_scatter): New. - * config/arm/arm-mve-builtins.cc (integer_64): New. - * config/arm/arm_mve.h (vstrbq_scatter_offset): Delete. - (vstrbq_scatter_offset_p): Delete. - (vstrhq_scatter_offset): Delete. - (vstrhq_scatter_offset_p): Delete. - (vstrdq_scatter_offset_p): Delete. - (vstrdq_scatter_offset): Delete. - (vstrwq_scatter_offset_p): Delete. - (vstrwq_scatter_offset): Delete. - (vstrbq_scatter_offset_s8): Delete. - (vstrbq_scatter_offset_u8): Delete. - (vstrbq_scatter_offset_u16): Delete. - (vstrbq_scatter_offset_s16): Delete. - (vstrbq_scatter_offset_u32): Delete. - (vstrbq_scatter_offset_s32): Delete. - (vstrbq_scatter_offset_p_s8): Delete. - (vstrbq_scatter_offset_p_s32): Delete. - (vstrbq_scatter_offset_p_s16): Delete. - (vstrbq_scatter_offset_p_u8): Delete. - (vstrbq_scatter_offset_p_u32): Delete. - (vstrbq_scatter_offset_p_u16): Delete. - (vstrhq_scatter_offset_s32): Delete. - (vstrhq_scatter_offset_s16): Delete. - (vstrhq_scatter_offset_u32): Delete. - (vstrhq_scatter_offset_u16): Delete. - (vstrhq_scatter_offset_p_s32): Delete. - (vstrhq_scatter_offset_p_s16): Delete. - (vstrhq_scatter_offset_p_u32): Delete. - (vstrhq_scatter_offset_p_u16): Delete. - (vstrdq_scatter_offset_p_s64): Delete. - (vstrdq_scatter_offset_p_u64): Delete. - (vstrdq_scatter_offset_s64): Delete. - (vstrdq_scatter_offset_u64): Delete. - (vstrhq_scatter_offset_f16): Delete. - (vstrhq_scatter_offset_p_f16): Delete. - (vstrwq_scatter_offset_f32): Delete. - (vstrwq_scatter_offset_p_f32): Delete. - (vstrwq_scatter_offset_p_s32): Delete. - (vstrwq_scatter_offset_p_u32): Delete. - (vstrwq_scatter_offset_s32): Delete. - (vstrwq_scatter_offset_u32): Delete. - (__arm_vstrbq_scatter_offset_s8): Delete. - (__arm_vstrbq_scatter_offset_s32): Delete. - (__arm_vstrbq_scatter_offset_s16): Delete. - (__arm_vstrbq_scatter_offset_u8): Delete. - (__arm_vstrbq_scatter_offset_u32): Delete. - (__arm_vstrbq_scatter_offset_u16): Delete. - (__arm_vstrbq_scatter_offset_p_s8): Delete. - (__arm_vstrbq_scatter_offset_p_s32): Delete. - (__arm_vstrbq_scatter_offset_p_s16): Delete. - (__arm_vstrbq_scatter_offset_p_u8): Delete. - (__arm_vstrbq_scatter_offset_p_u32): Delete. - (__arm_vstrbq_scatter_offset_p_u16): Delete. - (__arm_vstrhq_scatter_offset_s32): Delete. - (__arm_vstrhq_scatter_offset_s16): Delete. - (__arm_vstrhq_scatter_offset_u32): Delete. - (__arm_vstrhq_scatter_offset_u16): Delete. - (__arm_vstrhq_scatter_offset_p_s32): Delete. - (__arm_vstrhq_scatter_offset_p_s16): Delete. - (__arm_vstrhq_scatter_offset_p_u32): Delete. - (__arm_vstrhq_scatter_offset_p_u16): Delete. - (__arm_vstrdq_scatter_offset_p_s64): Delete. - (__arm_vstrdq_scatter_offset_p_u64): Delete. - (__arm_vstrdq_scatter_offset_s64): Delete. - (__arm_vstrdq_scatter_offset_u64): Delete. - (__arm_vstrwq_scatter_offset_p_s32): Delete. - (__arm_vstrwq_scatter_offset_p_u32): Delete. - (__arm_vstrwq_scatter_offset_s32): Delete. - (__arm_vstrwq_scatter_offset_u32): Delete. - (__arm_vstrhq_scatter_offset_f16): Delete. - (__arm_vstrhq_scatter_offset_p_f16): Delete. - (__arm_vstrwq_scatter_offset_f32): Delete. - (__arm_vstrwq_scatter_offset_p_f32): Delete. - (__arm_vstrbq_scatter_offset): Delete. - (__arm_vstrbq_scatter_offset_p): Delete. - (__arm_vstrhq_scatter_offset): Delete. - (__arm_vstrhq_scatter_offset_p): Delete. - (__arm_vstrdq_scatter_offset_p): Delete. - (__arm_vstrdq_scatter_offset): Delete. - (__arm_vstrwq_scatter_offset_p): Delete. - (__arm_vstrwq_scatter_offset): Delete. - * config/arm/arm_mve_builtins.def (vstrbq_scatter_offset_s) - (vstrbq_scatter_offset_u, vstrbq_scatter_offset_p_s) - (vstrbq_scatter_offset_p_u, vstrhq_scatter_offset_p_u) - (vstrhq_scatter_offset_u, vstrhq_scatter_offset_p_s) - (vstrhq_scatter_offset_s, vstrdq_scatter_offset_s) - (vstrhq_scatter_offset_f, vstrwq_scatter_offset_f) - (vstrwq_scatter_offset_s, vstrdq_scatter_offset_p_s) - (vstrhq_scatter_offset_p_f, vstrwq_scatter_offset_p_f) - (vstrwq_scatter_offset_p_s, vstrdq_scatter_offset_u) - (vstrwq_scatter_offset_u, vstrdq_scatter_offset_p_u) - (vstrwq_scatter_offset_p_u) Delete. - * config/arm/iterators.md (MVE_VLD_ST_scatter): New. - (MVE_scatter_offset): New. - (MVE_elem_ch): Add entry for V2DI. - (supf): Remove VSTRBQSO_S, VSTRBQSO_U, VSTRHQSO_S, VSTRHQSO_U, - VSTRDQSO_S, VSTRDQSO_U, VSTRWQSO_U, VSTRWQSO_S. - (VSTRBSOQ, VSTRHSOQ, VSTRDSOQ, VSTRWSOQ): Delete. - * config/arm/mve.md (mve_vstrbq_scatter_offset_<supf><mode>): - Delete. - (mve_vstrbq_scatter_offset_<supf><mode>_insn): Delete. - (mve_vstrbq_scatter_offset_p_<supf><mode>): Delete. - (mve_vstrbq_scatter_offset_p_<supf><mode>_insn): Delete. - (mve_vstrhq_scatter_offset_p_<supf><mode>): Delete. - (mve_vstrhq_scatter_offset_p_<supf><mode>_insn): Delete. - (mve_vstrhq_scatter_offset_<supf><mode>): Delete. - (mve_vstrhq_scatter_offset_<supf><mode>_insn): Delete. - (mve_vstrdq_scatter_offset_p_<supf>v2di): Delete. - (mve_vstrdq_scatter_offset_p_<supf>v2di_insn): Delete. - (mve_vstrdq_scatter_offset_<supf>v2di): Delete. - (mve_vstrdq_scatter_offset_<supf>v2di_insn): Delete. - (mve_vstrhq_scatter_offset_fv8hf): Delete. - (mve_vstrhq_scatter_offset_fv8hf_insn): Delete. - (mve_vstrhq_scatter_offset_p_fv8hf): Delete. - (mve_vstrhq_scatter_offset_p_fv8hf_insn): Delete. - (mve_vstrwq_scatter_offset_fv4sf): Delete. - (mve_vstrwq_scatter_offset_fv4sf_insn): Delete. - (mve_vstrwq_scatter_offset_p_fv4sf): Delete. - (mve_vstrwq_scatter_offset_p_fv4sf_insn): Delete. - (mve_vstrwq_scatter_offset_p_<supf>v4si): Delete. - (mve_vstrwq_scatter_offset_p_<supf>v4si_insn): Delete. - (mve_vstrwq_scatter_offset_<supf>v4si): Delete. - (mve_vstrwq_scatter_offset_<supf>v4si_insn): Delete. - (@mve_vstrq_scatter_offset_<mode>): New. - (@mve_vstrq_scatter_offset_p_<mode>): New. - (@mve_vstrq_truncate_scatter_offset_<mode>): New. - (@mve_vstrq_truncate_scatter_offset_p_<mode>): New. - * config/arm/unspecs.md (VSTRBQSO_S, VSTRBQSO_U, VSTRHQSO_S) - (VSTRDQSO_S, VSTRDQSO_U, VSTRWQSO_S, VSTRWQSO_U, VSTRHQSO_F) - (VSTRWQSO_F, VSTRHQSO_U): Delete. - (VSTRQSO, VSTRQSO_P, VSTRQSO_TRUNC, VSTRQSO_TRUNC_P): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (struct store_scatter): New. - (struct store_scatter_offset_def): New. - * config/arm/arm-mve-builtins-shapes.h (store_scatter_offset): New. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (struct - nonoverloaded_base): Implement mode_after_pred. - (struct overloaded_base): Likewise. - * config/arm/arm-mve-builtins.cc (function_builder::get_name): - Call mode_after_pred as needed. - * config/arm/arm-mve-builtins.h (function_shape): Add - mode_after_pred. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - PR target/111600 - * Makefile.in: Add insn-recog split. - * configure: Regenerate. - * configure.ac: Document that the number of insnemit partitions is - used for insn-recog as well. - * genconditions.cc (write_one_condition): Use fprintf. - * genpreds.cc (write_predicate_expr): Ditto. - (write_init_reg_class_start_regs): Ditto. - * genrecog.cc (write_header): Add header file to includes. - (printf_indent): Use fprintf. - (change_state): Ditto. - (print_code): Ditto. - (print_host_wide_int): Ditto. - (print_parameter_value): Ditto. - (print_test_rtx): Ditto. - (print_nonbool_test): Ditto. - (print_label_value): Ditto. - (print_test): Ditto. - (print_decision): Ditto. - (print_state): Ditto. - (print_subroutine_call): Ditto. - (print_acceptance): Ditto. - (print_subroutine_start): Ditto. - (print_pattern): Ditto. - (print_subroutine): Ditto. - (print_subroutine_group): Ditto. - (handle_arg): Add -O and -H for output and header file handling. - (main): Use callback. - * gentarget-def.cc (def_target_insn): Use fprintf. - * read-md.cc (md_reader::print_c_condition): Ditto. - * read-md.h (class md_reader): Ditto. - -2024-12-13 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/tuning_models/cortexx925.h: Set L1 cache size to 64b. - * config/aarch64/tuning_models/neoverse512tvb.h: Likewise. - * config/aarch64/tuning_models/neoversen1.h: Likewise. - * config/aarch64/tuning_models/neoversen2.h: Likewise. - * config/aarch64/tuning_models/neoversen3.h: Likewise. - * config/aarch64/tuning_models/neoversev1.h: Likewise. - * config/aarch64/tuning_models/neoversev2.h: Likewise. - (neoversev2_prefetch_tune): Removed. - * config/aarch64/tuning_models/neoversev3.h: Likewise. - * config/aarch64/tuning_models/neoversev3ae.h: Likewise. - -2024-12-13 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSE_NEOVERSE_BASE): - New. - * config/aarch64/tuning_models/neoverse512tvb.h: Use it. - * config/aarch64/tuning_models/neoversen2.h: Use it. - * config/aarch64/tuning_models/neoversen3.h: Use it. - * config/aarch64/tuning_models/neoversev1.h: Use it. - * config/aarch64/tuning_models/neoversev2.h: Use it. - * config/aarch64/tuning_models/neoversev3.h: Use it. - * config/aarch64/tuning_models/neoversev3ae.h: Use it. - * config/aarch64/tuning_models/cortexx925.h: Add fusions. - * config/aarch64/tuning_models/generic_armv9_a.h: Add fusions. - -2024-12-13 Jakub Jelinek <jakub@redhat.com> - - PR target/116979 - * config/i386/mmx.md (vec_fmaddsubv2sf4, vec_fmsubaddv2sf4): New - define_expand patterns. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-protos.h (riscv_register_move_cost): - Export. - * config/riscv/riscv-v.cc (shuffle_extract_and_slide1up_patterns): - Rename... - (shuffle_off_by_one_patterns): ... to this and add slideup/slidedown - variant. - (expand_vec_perm_const_1): Call renamed function. - * config/riscv/riscv.cc (riscv_secondary_memory_needed): Remove - static. - (riscv_register_move_cost): Add VR<->GR/FR handling. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-v.cc (shuffle_even_odd_patterns): New - function. - (expand_vec_perm_const_1): Use new function. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-v.cc (shuffle_interleave_patterns): New - function. - (expand_vec_perm_const_1): Use new function. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-v.cc (shuffle_slide_patterns): New. - (expand_vec_perm_const_1): Call new function. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - PR target/117353 - PR target/117878 - * config/riscv/riscv-v.cc (expand_const_vector): Use predicated - instead of simple shift. - -2024-12-13 Pan Li <pan2.li@intel.com> - - PR target/117990 - * config/riscv/vector.md: Add the (mem:BLK (scratch)) to the - vector strided load. - -2024-12-13 Sandra Loosemore <sloosemore@baylibre.com> - - PR middle-end/111659 - * doc/extend.texi (Common Variable Attributes): Copy-edit description - of the strict_flex_array attribute levels. - * doc/invoke.texi (C Dialect Options): Swap documented behavior for - levels 0 and 3. Copy the description for the other levels from the - attribute instead of indirecting to it. - -2024-12-12 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.cc (pa_emit_hpdiv_const): Clobber r1, r25, - r25 and return register. - * config/pa/pa.md (divsi3): Revise clobbers and operands. - Remove second clobber from div:SI insns. - (udivsi3, modsi3, umodsi3): Likewise. - -2024-12-12 Sandra Loosemore <sloosemore@baylibre.com> - - * attr-urls.def: Regenerate. - -2024-12-12 Sandra Loosemore <sloosemore@baylibre.com> - Peter Eisentraut <peter@eisentraut.org> - - PR c/115532 - * common.opt.urls: Regenerated. - * doc/invoke.texi (Option Summary): Don't try to list all the - -Wsuggest-attribute= variants inline here. - (Warning Options): Likewise. Add @opindex for - Wsuggest-attribute=returns_nonnull and its no- form. Remove - @itemx for no- form. - -2024-12-12 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/115127 - * match.pd (clz (X) == C, ctz (X) == C, ctz (X) >= C): Don't - optimize if -fsanitize=builtin and not yet in SSA form. - -2024-12-12 Tobias Burnus <tburnus@baylibre.com> - - * gimplify.cc (gimplify_call_expr): When handling OpenMP's dispatch, - add diagnostic when there is a ptr vs. addr mismatch between - need_device_{addr,ptr} and {is,has}_device_{ptr,addr}, respectively. - -2024-12-12 Georg-Johann Lay <avr@gjlay.de> - - PR target/118000 - * config/avr/avr.cc (avr_init_expanders) <sreg_rtx> - <rampd_rtx, rampx_rtx, rampy_rtx, rampz_rtx>: Set MEM_VOLATILE_P. - (avr_out_cpymem) [ELPM && EBI]: Restore RAMPZ to 0 after. - -2024-12-12 Alexandre Oliva <oliva@adacore.com> - - * gimple-fold.cc (fold_truth_andor_for_ifcombine): Limit the - size of the bitregion in get_best_mode calls by the inner - object's type size, if known. - (make_bit_field_load): Reuse SSA_NAME if we're attempting to - issue an identical load. - -2024-12-12 Alexandre Oliva <oliva@adacore.com> - - * fold-const.cc (make_bit_field): Export. - (unextend, all_ones_mask_p): Drop. - (decode_field_reference, fold_truth_andor_1): Move - field compare merging logic... - * gimple-fold.cc: (fold_truth_andor_for_ifcombine) ... here, - with -Wtautological-compare warning guards, and... - (decode_field_reference): ... here. Rework for gimple. - (gimple_convert_def_p, gimple_binop_def_p): New. - (compute_split_boundary_from_align): New. - (make_bit_field_load, build_split_load): New. - (reuse_split_load): New. - * fold-const.h: (make_bit_field_ref): Declare - (fold_truth_andor_for_ifcombine): Declare. - * tree-ssa-ifcombine.cc (ifcombine_ifandif): Try - fold_truth_andor_for_ifcombine. - * common.opt (Wtautological-compare): Move here. - -2024-12-12 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_ctz): New constexpr function. - (section_common::flags): Assert minimal bit width. - -2024-12-12 Georg-Johann Lay <avr@gjlay.de> - - PR target/118001 - * doc/extend.texi (AVR Named Address Spaces): Document __flashx. - * config/avr/avr.h (ADDR_SPACE_FLASHX): New enum value. - * config/avr/avr-protos.h (avr_out_fload, avr_mem_flashx_p) - (avr_fload_libgcc_p, avr_load_libgcc_mem_p) - (avr_load_libgcc_insn_p): New. - * config/avr/avr.cc (avr_addrspace): Add ADDR_SPACE_FLASHX. - (avr_decl_flashx_p, avr_mem_flashx_p, avr_fload_libgcc_p) - (avr_load_libgcc_mem_p, avr_load_libgcc_insn_p, avr_out_fload): - New functions. - (avr_adjust_insn_length) [ADJUST_LEN_FLOAD]: Handle case. - (avr_progmem_p) [avr_decl_flashx_p]: return 2. - (avr_addr_space_legitimate_address_p) [ADDR_SPACE_FLASHX]: - Has same behavior like ADDR_SPACE_MEMX. - (avr_addr_space_convert): Use pointer sizes rather then ASes. - (avr_addr_space_contains): New function. - (avr_convert_to_type): Use it. - (avr_emit_cpymemhi): Handle ADDR_SPACE_FLASHX. - * config/avr/avr.md (adjust_len) <fload>: New attr value. - (gen_load<mode>_libgcc): Renamed from load<mode>_libgcc. - (xload8<mode>_A): Iterate over MOVMODE rather than over ALL1. - (fxmov<mode>_A): New from xloadv<mode>_A. - (xmov<mode>_8): New from xload<mode>_A. - (fmov<mode>): New insns. - (fxload<mode>_A): New from xload<mode>_A. - (fxload_<mode>_libgcc): New from xload_<mode>_libgcc. - (*fxload_<mode>_libgcc): New from *xload_<mode>_libgcc. - (mov<mode>) [avr_mem_flashx_p]: Hande ADDR_SPACE_FLASHX. - (cpymemx_<mode>): Make sure the address space is not lost - when splitting. - (*cpymemx_<mode>) [ADDR_SPACE_FLASHX]: Use __movmemf_<mode> for asm. - (*ashlqi.1.zextpsi_split): New combine pattern. - * config/avr/predicates.md (nox_general_operand): Don't match - when avr_mem_flashx_p is true. - * config/avr/avr-passes.cc (AVR_LdSt_Props): - ADDR_SPACE_FLASHX has no post_inc. - -2024-12-12 Martin Uecker <uecker@tugraz.at> - - PR c/113688 - PR c/114014 - PR c/114713 - PR c/117724 - * tree.cc (gimple_canonical_types_compatible_p): Add exception. - -2024-12-12 Martin Uecker <uecker@tugraz.at> - - * tree.cc (gimple_canonical_types_compatible_p): Add exception. - (verify_type): Add exception. - -2024-12-12 Sam James <sam@gentoo.org> - - * config/i386/i386.opt.urls: Regenerate. - -2024-12-12 Jakub Jelinek <jakub@redhat.com> - - * gimple-crc-optimization.cc (crc_optimization::optimize_crc_loop): - Comment spelling fix, is succeeded -> succeeded. - -2024-12-12 Sandra Loosemore <sloosemore@baylibre.com> - - PR target/117150 - * doc/invoke.texi (RS/6000 and PowerPC Options): Move description - of -mstack-protector-guard-symbol from here... - (x86 Options): ...to here. - -2024-12-11 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/116778 - * ira-int.h (x_ira_class_hard_reg_index): Fix comment typo. - * lra-eliminations.cc (lra_fp_pseudo_p): New function. - * lra-int.h (lra_fp_pseudo_p): External declaration. - * lra-spills.cc (lra_need_for_spills_p): Fix formatting. - * lra.cc (lra): Use lra_fp_pseudo_p in lra_create_live_range after - lra_remat. - -2024-12-11 Filip Kastl <fkastl@suse.cz> - Andi Kleen <ak@gcc.gnu.org> - - PR middle-end/117091 - PR middle-end/117352 - * doc/invoke.texi: Add switch-lower-slow-alg-max-cases. - * params.opt: Add switch-lower-slow-alg-max-cases. - * tree-switch-conversion.cc (jump_table_cluster::find_jump_tables): - Note in a comment that we are looking for jump tables in - case sequences delimited by the already found bit tests. - (bit_test_cluster::find_bit_tests): Decide between - find_bit_tests_fast() and find_bit_tests_slow(). - (bit_test_cluster::find_bit_tests_fast): New function. - (bit_test_cluster::find_bit_tests_slow): New function. - (switch_decision_tree::analyze_switch_statement): Report - exceeding the limit. - * tree-switch-conversion.h: Add find_bit_tests_fast() and - find_bit_tests_slow(). - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-highlight-colors.h: Tweak comment. - * pretty-print-markup.h (class pp_element_quoted_string): New, - based on pretty-print.cc's selftest::test_element, adding an - optional highlight color. - * pretty-print.cc (class test_element): Drop. - (selftest::test_pp_format): Use pp_element_quoted_string. - (selftest::test_urlification): Likewise. - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - PR other/116253 - * diagnostic-format-text.cc (build_prefix): Don't add the - "note: " prefix when showing nested diagnostics. - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - PR other/116253 - * diagnostic-format-text.cc (on_report_diagnostic): When showing - locations for nested messages on new lines, don't print - UNKNOWN_LOCATION or BUILTINS_LOCATION. - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - * input.cc (file_cache::initialize_input_context): Rename member - "in_context" to "m_input_context". - (file_cache::add_file): Likewise. - * input.h (class file_cache): Likewise. - -2024-12-11 Martin Jambor <mjambor@suse.cz> - - * ipa-cp.h: Forward declare class ipa_vr. - (ipa_vr_operation_and_type_effects) Declare. - * ipa-cp.cc (ipa_vr_operation_and_type_effects): Make public. - * ipa-prop.cc (update_jump_functions_after_inlining): Also update - value range jump functions. - -2024-12-11 Victor Do Nascimento <victor.donascimento@arm.com> - Tamar Christina <tamar.christina@arm.com> - - PR target/96342 - * expr.cc (store_constructor): Enable poly_{u}int64 type usage. - (get_inner_reference): Ditto. - -2024-12-11 Victor Do Nascimento <victor.donascimento@arm.com> - Tamar Christina <tamar.christina@arm.com> - - PR target/96342 - * expr.cc (store_constructor): add support for variable-length - vectors. - -2024-12-11 Victor Do Nascimento <victor.donascimento@arm.com> - - PR target/96342 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): - s/vectype/masktype/ in call to vect_get_loop_mask. - -2024-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com> - Victor Do Nascimento <victor.donascimento@arm.com> - Tamar Christina <tamar.christina@arm.com> - - PR target/96342 - * target.def (TARGET_SIMD_CLONE_USABLE): Add argument. - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Pass stmt_info to - call TARGET_SIMD_CLONE_USABLE. - * config/aarch64/aarch64.cc (aarch64_simd_clone_usable): Add argument - and use it to reject the use of SVE simd clones with Advanced SIMD - modes. - * config/gcn/gcn.cc (gcn_simd_clone_usable): Add unused argument. - * config/i386/i386.cc (ix86_simd_clone_usable): Likewise. - * doc/tm.texi: Regenerate - -2024-12-11 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114932 - * fold-const.cc (operand_compare::operand_equal_p): Use it. - (operand_compare::verify_hash_value): Likewise. - (operand_compare::hash_operand): Likewise. - (test_operand_equality::test): New. - (fold_const_cc_tests): Use it. - * tree-core.h (enum operand_equal_flag): Add OEP_ASSUME_WRAPV. - * tree-ssa-loop-ivopts.cc (record_group_use): Check for structural eq. - -2024-12-11 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114932 - * fold-const.cc (operand_compare::operand_equal_p): Split into one that - takes explicit type parameters and use that in public one. - * fold-const.h (class operand_compare): Add operand_equal_p private - overload. - -2024-12-11 Soumya AR <soumyaa@nvidia.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_ptrue_reg): New overload. - * config/aarch64/aarch64-protos.h (aarch64_ptrue_reg): Likewise. - * config/aarch64/aarch64-sve.md: Extended sdiv_pow2<mode>3 - and *sdiv_pow2<mode>3 to support Neon modes. - -2024-12-11 Soumya AR <soumyaa@nvidia.com> - - * config/aarch64/aarch64-sve2.md - (*aarch64_sve2_nbsl_unpred<mode>): New pattern to match unpredicated - form. - (*aarch64_sve2_bsl1n_unpred<mode>): Likewise. - (*aarch64_sve2_bsl2n_unpred<mode>): Likewise. - -2024-12-11 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/117888 - * tree-ssa-loop-ivcanon.cc (try_unroll_loop_completely): Use - cunrolli instead of cunrolli && !loop->inner to check if it's - innermost loop. - (canonicalize_loop_induction_variables): Add new parameter - const_sbitmap innermost, and pass - cunrolli - && (unsigned) loop->num < SBITMAP_SIZE (innermost) - && bitmap_bit_p (innermost, loop->num) as "cunrolli" to - try_unroll_loop_completely - (canonicalize_induction_variables): Pass innermost to - canonicalize_loop_induction_variables. - (tree_unroll_loops_completely_1): Add new parameter - const_sbitmap innermost. - (tree_unroll_loops_completely): Move local variable cunrolli - to parameter to indicate it's from pass cunrolli, also track - all "original" innermost loop at the beginning. - -2024-12-10 David Malcolm <dmalcolm@redhat.com> - - PR other/117944 - * libsarifreplay.cc (sarif_replayer::handle_result_obj): Get any - helpUri from the rule_obj and pass it to add_rule. - -2024-12-10 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/117946 - * lra-assigns.cc: (find_hard_regno_for_1): Use the biggest mode to - check ira_prohibited_class_mode_regs. - -2024-12-10 Marek Polacek <polacek@redhat.com> - - PR c++/117880 - * fold-const.cc (operand_compare::operand_equal_p) <case tcc_unary>: - Use OP_SAME_WITH_NULL instead of OP_SAME. - -2024-12-10 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/117675 - * config/arm/arm.cc (arm_ldrd_legitimate_address): New function. - * config/arm/arm-protos.h (arm_ldrd_legitimate_address): New prototype. - * config/arm/constraints.md: Add new Uo constraint. - * config/arm/predicates.md (arm_ldrd_memory_operand): Add new predicate. - * config/arm/sync.md (arm_atomic_loaddi2_ldrd): Use - arm_ldrd_memory_operand and Uo. - -2024-12-10 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNE_BASE): New define. - * config/aarch64/tuning_models/ampere1b.h: Use AARCH64_EXTRA_TUNE_BASE. - * config/aarch64/tuning_models/cortexx925.h: Likewise. - * config/aarch64/tuning_models/fujitsu_monaka.h: Likewise. - * config/aarch64/tuning_models/generic_armv8_a.h: Likewise. - * config/aarch64/tuning_models/generic_armv9_a.h: Likewise. - * config/aarch64/tuning_models/neoversen1.h: Likewise. - * config/aarch64/tuning_models/neoversen2.h: Likewise. - * config/aarch64/tuning_models/neoversen3.h: Likewise. - * config/aarch64/tuning_models/neoversev1.h: Likewise. - * config/aarch64/tuning_models/neoversev2.h: Likewise. - * config/aarch64/tuning_models/neoversev3.h: Likewise. - * config/aarch64/tuning_models/neoversev3ae.h: Likewise. - -2024-12-10 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.h (AARCH64_EXPAND_ALIGNMENT): Remove. - (DATA_ALIGNMENT): Use aarch64_data_alignment. - (LOCAL_ALIGNMENT): Use aarch64_stack_alignment. - * config/aarch64/aarch64.cc (aarch64_data_alignment): New function. - (aarch64_stack_alignment): Likewise. - * config/aarch64/aarch64-protos.h (aarch64_data_alignment): New prototype. - (aarch64_stack_alignment): Likewise. - -2024-12-10 Wilco Dijkstra <wdijkstr@ip-10-252-53-150.eu-west-1.compute.internal> - - * config/aarch64/aarch64.cc (aarch64_classify_address): Treat SIMD structs - identically in little and bigendian. - * config/aarch64/aarch64-simd.md (aarch64_mov<mode>): Remove VSTRUCT - instructions. - (aarch64_be_mov<mode>): Allow little-endian, rename to aarch64_mov<mode>. - (aarch64_be_movoi): Allow little-endian, rename to aarch64_movoi. - (aarch64_be_movci): Allow little-endian, rename to aarch64_movci. - (aarch64_be_movxi): Allow little-endian, rename to aarch64_movxi. - Remove big-endian special case in define_split variants. - -2024-12-10 Arsen Arsenović <arsen@aarsen.me> - Iain Sandoe <iain@sandoe.co.uk> - - * dumpfile.cc (FIRST_ME_AUTO_NUMBERED_DUMP): Bump to 6 for sake - of the coroutine dump. - -2024-12-10 Richard Sandiford <richard.sandiford@arm.com> - - * doc/md.texi (vcond@var{m}@var{n}, vcondu@var{m}@var{n}) - (vcondeq@var{m}@var{n}): Delete. - (vcond_mask_@var{m}@var{n}): Redocument in standalone form. - * internal-fn.def (VCOND, VCONDU, VCONDEQ): Delete. - * internal-fn.cc (expand_vec_cond_optab_fn): Delete. - * optabs.def (vcond_optab, vcondu_optab, vcondeq_optab): Delete. - -2024-12-10 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-protos.h (aarch64_expand_sve_vcond): Delete. - * config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): Expand into - separate vec_cmp and vcond_mask instructions, instead of using vcond. - (vcond<mode><mode>, vcond<v_cmp_mixed><mode>, vcondu<mode><mode>) - (vcondu<mode><v_cmp_mixed>): Delete. - * config/aarch64/aarch64-sve.md (vcond<SVE_ALL:mode><SVE_I:mode>) - (vcondu<SVE_ALL:mode><SVE_I:mode>, vcond<mode><v_fp_equiv>): Likewise. - * config/aarch64/aarch64.cc (aarch64_expand_sve_vcond): Likewise. - * config/aarch64/iterators.md (V_FP_EQUIV, v_fp_equiv, V_cmp_mixed) - (v_cmp_mixed): Likewise. - -2024-12-10 Saurabh Jha <saurabh.jha@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc - (aarch64_pragma_builtins_checker::require_immediate_lane_index): New - overload. - (aarch64_pragma_builtins_checker::check): Add support for FP8FMA - intrinsics. - (aarch64_expand_pragma_builtins): Likewise. - * config/aarch64/aarch64-c.cc - (aarch64_update_cpp_builtins): Conditionally define TARGET_FP8FMA. - * config/aarch64/aarch64-simd-pragma-builtins.def: Add the FP8FMA - intrinsics. - * config/aarch64/aarch64-simd.md: - (@aarch64_<FMLAL_FP8_HF:insn><mode): New pattern. - (@aarch64_<FMLAL_FP8_HF:insn>_lane<V8HF_ONLY:mode><VB:mode>): - Likewise. - (@aarch64_<FMLALL_FP8_SF:insn><mode): Likewise. - (@aarch64_<FMLALL_FP8_SF:insn>_lane<V8HF_ONLY:mode><VB:mode>): - Likewise. - * config/aarch64/iterators.md (V8HF_ONLY): New mode iterator. - (SVE2_FP8_TERNARY_VNX8HF): Rename to... - (FMLAL_FP8_HF): ...this. - (SVE2_FP8_TERNARY_LANE_VNX8HF): Delete in favor of FMLAL_FP8_HF. - (SVE2_FP8_TERNARY_VNX4SF): Rename to... - (FMLALL_FP8_SF): ...this. - (SVE2_FP8_TERNARY_LANE_VNX4SF): Delete in favor of FMLALL_FP8_SF. - (sve2_fp8_fma_op_vnx8hf, sve2_fp8_fma_op_vnx4sf): Fold into... - (insn): ...here. - * config/aarch64/aarch64-sve2.md: Update uses accordingly. - -2024-12-10 Saurabh Jha <saurabh.jha@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc - (enum class): Add ternary_lane. - (aarch64_fntype): Hnadle ternary_lane. - (aarch64_pragma_builtins_checker::require_immediate_lane_index): New - function. - (aarch64_pragma_builtins_checker::check): Handle the new intrinsics. - (aarch64_expand_pragma_builtin): Likewise. - * config/aarch64/aarch64-c.cc - (aarch64_update_cpp_builtins): Define TARGET_FP8DOT2 and - TARGET_FP8DOT4. - * config/aarch64/aarch64-simd-pragma-builtins.def: Define vdot - and vdot_lane intrinsics. - * config/aarch64/aarch64-simd.md - (@aarch64_<fpm_uns_op><mode>): New pattern. - (@aarch64_<fpm_uns_op>_lane<VQ_HSF_VDOT:mode><VB:mode>): Likewise. - * config/aarch64/iterators.md (VQ_HSF_VDOT): New mode iterator. - (UNSPEC_VDOT, UNSPEC_VDOT_LANE): New unspecs. - (fpm_uns_op): Handle them. - (VNARROWB, Vnbtype): New mode attributes. - (FPM_VDOT, FPM_VDOT_LANE): New int iterators. - -2024-12-10 Saurabh Jha <saurabh.jha@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc - (FLAG_USES_FPMR, FLAG_FP8): New flags. - (ENTRY): Modified to support ternary operations. - (enum class): New variants to support new signatures. - (struct aarch64_pragma_builtins_data): Extend types to 4 elements. - (aarch64_fntype): Handle new signatures. - (aarch64_get_low_unspec): New function. - (aarch64_convert_to_v64): New function, split out from... - (aarch64_expand_pragma_builtin): ...here. Handle new signatures. - * config/aarch64/aarch64-c.cc - (aarch64_update_cpp_builtins): New flag for FP8. - * config/aarch64/aarch64-simd-pragma-builtins.def: Define new fp8 - intrinsics. - (ENTRY_BINARY, ENTRY_BINARY_LANE): Update for new ENTRY interface. - (ENTRY_UNARY, ENTRY_TERNARY, ENTRY_UNARY_FPM): New macros. - (ENTRY_BINARY_VHSDF_SIGNED): Likewise. - * config/aarch64/aarch64-simd.md - (@aarch64_<fpm_uns_op><mode>): New pattern. - (@aarch64_<fpm_uns_op><mode>_high): Likewise. - (@aarch64_<fpm_uns_op><mode>_high_be): Likewise. - (@aarch64_<fpm_uns_op><mode>_high_le): Likewise. - * config/aarch64/iterators.md (V4SF_ONLY, VQ_BHF): New mode iterators. - (UNSPEC_FCVTN_FP8, UNSPEC_FCVTN2_FP8, UNSPEC_F1CVTL_FP8) - (UNSPEC_F1CVTL2_FP8, UNSPEC_F2CVTL_FP8, UNSPEC_F2CVTL2_FP8) - (UNSPEC_FSCALE): New unspecs. - (VPACKB, VPACKBtype): New mode attributes. - (b): Add support for V[48][BH]F. - (FPM_UNARY_UNS, FPM_BINARY_UNS, SCALE_UNS): New int iterators. - (insn): New int attribute. - -2024-12-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117912 - * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): For addresses - of zero-sized components do not set ->off if the object size pass - didn't run. - For OOB ARRAY_REF accesses in address expressions avoid setting - ->off if the object size pass didn't run. - (valueize_refs_1): Likewise. - -2024-12-10 Antoni Boucher <bouanto@zoho.com> - - PR target/117923 - * config/aarch64/aarch64-builtins.cc: Remove GTY marker on aarch64_simd_types, - aarch64_simd_types_trees (new variable), rename aarch64_simd_types to - aarch64_simd_types_trees. - * config/aarch64/aarch64-builtins.h: Remove GTY marker on aarch64_simd_types, - aarch64_simd_types_trees (new variable). - * config/aarch64/aarch64-sve-builtins-shapes.cc: Rename aarch64_simd_types to - aarch64_simd_types_trees. - * config/aarch64/aarch64-sve-builtins.cc: Rename aarch64_simd_types to - aarch64_simd_types_trees. - -2024-12-09 Mariam Arutunian <mariamarutunian@gmail.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-protos.h (aarch64_expand_crc_using_pmull): New - extern function declaration. - (aarch64_expand_reversed_crc_using_pmull): Likewise. - * config/aarch64/aarch64.cc (aarch64_expand_crc_using_pmull): New - function. - (aarch64_expand_reversed_crc_using_pmull): Likewise. - * config/aarch64/aarch64.md (crc_rev<ALLI:mode><ALLX:mode>4): New - expander for reversed CRC. - (crc<ALLI:mode><ALLX:mode>4): New expander for bit-forward CRC. - * config/aarch64/iterators.md (crc_data_type): New mode attribute. - -2024-12-09 Marek Polacek <polacek@redhat.com> - - PR driver/117942 - * opts-common.cc (decode_cmdline_options_to_array): Also detect - --diagnostics-plain-output. - -2024-12-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd.md (aarch64_get_lane<mode>): Add - "@" to the name. - -2024-12-09 Richard Biener <rguenther@suse.de> - - * late-combine.cc (late_combine::execute): Delete RTL SSA. - -2024-12-09 Richard Biener <rguenther@suse.de> - - * timevar.def (TV_DUP_COMPGOTO): Add. - * bb-reorder.cc (pass_data_duplicate_computed_gotos): Use - TV_DUP_COMPGOTO. - -2024-12-09 Juergen Christ <jchrist@linux.ibm.com> - - * config/s390/s390.cc (s390_canonicalize_comparison): Add - missing UNSPEC_CC_TO_INT case. - -2024-12-09 Matthew Malcomson <mmalcomson@nvidia.com> - - * config/aarch64/aarch64-c.cc - (aarch64_resolve_overloaded_builtin,aarch64_check_builtin_call): - Add new unused boolean parameter to match target hook - definition. - * config/arm/arm-builtins.cc (arm_check_builtin_call): Likewise. - * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): - Likewise. - * config/arm/arm-protos.h (arm_check_builtin_call): Likewise. - * config/avr/avr-c.cc (avr_resolve_overloaded_builtin): - Likewise. - * config/riscv/riscv-c.cc (riscv_check_builtin_call, - riscv_resolve_overloaded_builtin): Likewise. - * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): - Likewise. - * config/rs6000/rs6000-protos.h (altivec_resolve_overloaded_builtin): - Likewise. - * config/s390/s390-c.cc (s390_resolve_overloaded_builtin): - Likewise. - * doc/tm.texi: Regenerate. - * target.def (TARGET_RESOLVE_OVERLOADED_BUILTIN, - TARGET_CHECK_BUILTIN_CALL): Update prototype to include a - boolean parameter that indicates whether errors should be - emitted. Update documentation to mention this fact. - -2024-12-09 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/117960 - * doc/invoke.texi (fsanitize=hwaddress): Clarify on which targets - it is supported. - -2024-12-09 Richard Earnshaw <rearnsha@arm.com> - - PR target/114189 - * config/arm/arm-protos.h (arm_expand_vcond): Delete prototype. - * config/arm/arm.cc (arm_expand_vcond): Delete function. - * config/arm/vec-common.md (vcond<mode><mode>): Delete pattern - (vcond<V_cvtto><mode>): Likewise. - (vcond<VH_cvtto><mode>): Likewise. - (vcondu<mode><v_cmp_result>): Likewise. - -2024-12-09 Richard Biener <rguenther@suse.de> - - PR middle-end/117932 - * df-core.cc (df_worklist_propagate_forward): Elide - age check for the first iteration, adjust for - last_change_age change. - (df_worklist_propagate_backward): Likewise. - (df_worklist_dataflow_doublequeue): Make last_change_age - indexed by BB index, avoid clearing both age arrays. - -2024-12-09 Richard Biener <rguenther@suse.de> - - PR middle-end/117932 - * df-core.cc (df_worklist_propagate_forward): When WORKLIST - is NULL, do not set bits there. - (df_worklist_propagate_backward): Likewise. - (df_worklist_dataflow_doublequeue): Separate first pass - over all blocks with NULL worklist. - (df_worklist_dataflow): Do not initialize pending and adjust. - -2024-12-09 Thomas Schwinge <tschwinge@baylibre.com> - - * config.gcc [nvptx-*]: Switch default from '-march=sm_30' to - '-march=sm_52'. - * doc/install.texi (Nvidia PTX Options): Update. - -2024-12-09 Thomas Schwinge <tschwinge@baylibre.com> - - * config/gcn/gcn.cc (gcn_vec_constant): Fix 'real_from_integer' - usage. - -2024-12-09 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/aarch64-option-extensions.def (sve-b16b16, - f32mm, f64mm, sve2p1, sme-f64f64, sme-i16i64, sme-b16b16, - sme-f16f16, mops): Update FEATURE_STRING field. - -2024-12-09 Simon Martin <simon@nasilyan.com> - - PR c++/117845 - * tree-eh.cc (honor_protect_cleanup_actions): Support empty - finally sequences. - -2024-12-08 Lewis Hyatt <lhyatt@gmail.com> - - * gimple.h (struct gphi): Update word marking comments to reflect - the new size of location_t. - (struct gimple): Likewise. Add a comment about padding. - * common.opt: Mark -flarge-source-files as Ignored. - * common.opt.urls: Regenerate. - * doc/invoke.texi: Remove -flarge-source-files. - * toplev.cc (process_options): Remove support for - -flarge-source-files. - -2024-12-08 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.cc (pru_print_operand): Implement c and n - inline assembly operand modifiers. - -2024-12-07 Eric Botcazou <ebotcazou@adacore.com> - - * config/sparc/sparc.md (VIS4B instructions): Add comments. - -2024-12-07 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_print_operand_address): Use - avr_insn_location as location for late (during final) diagnostic. - -2024-12-07 Jakub Jelinek <jakub@redhat.com> - - PR target/117930 - * config/i386/i386.md (crotate): New define_code_attr. - (*<insn><mode>3_add, *<insn><mode>3_add_1, - *<insn><mode>3_sub, *<insn><mode>3_sub_1): New define_insn_and_split - patterns plus following define_split for constant first input - operand. - -2024-12-07 Denis Chertykov <chertykov@gmail.com> - - PR target/116778 - * lra-lives.cc (complete_info_p): Clarification of the comment. - * lra.cc (lra): Create a full live info after rematerialization. - -2024-12-07 Kito Cheng <kito.cheng@sifive.com> - - Revert: - 2024-12-05 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv-vector-builtins-shapes.cc - (vsetvl_def::get_name): Adjust return type. - (loadstore_def::get_name): Ditto. - (indexed_loadstore_def::get_name): Ditto. - (th_loadstore_width_def::get_name): Ditto. - (th_indexed_loadstore_width_def::get_name): Ditto. - (alu_def::get_name): Ditto. - (alu_frm_def::get_name): Ditto. - (widen_alu_frm_def::get_name): Ditto. - (narrow_alu_frm_def::get_name): Ditto. - (reduc_alu_frm_def::get_name): Ditto. - (widen_alu_def::get_name): Ditto. - (no_mask_policy_def::get_name): Ditto. - (return_mask_def::get_name): Ditto. - (narrow_alu_def::get_name): Ditto. - (move_def::get_name): Ditto. - (mask_alu_def::get_name): Ditto. - (reduc_alu_def::get_name): Ditto. - (th_extract_def::get_name): Ditto. - (scalar_move_def::get_name): Ditto. - (vundefined_def::get_name): Ditto. - (misc_def::get_name): Ditto. - (vset_def::get_name): Ditto. - (vcreate_def: Ditto.::get_name): Ditto. - (read_vl_def::get_name): Ditto. - (fault_load_def::get_name): Ditto. - (vlenb_def::get_name): Ditto. - (seg_loadstore_def::get_name): Ditto. - (seg_indexed_loadstore_def::get_name): Ditto. - (seg_fault_load_def::get_name): Ditto. - (crypto_vv_def::get_name): Ditto. - (crypto_vi_def::get_name): Ditto. - (crypto_vv_no_op_type_def::get_name): Ditto. - (sf_vqmacc_def::get_name): Ditto. - (sf_vqmacc_def::get_name): Ditto. - (sf_vfnrclip_def::get_name): Ditto. - * config/riscv/riscv-vector-builtins.cc - (function_builder::add_unique_function): Adjust the type for the - function name holder. - (function_builder::add_overloaded_function): Ditto. - * config/riscv/riscv-vector-builtins.h (function_shape::get_name): Add - const to the return type. - -2024-12-07 Lewis Hyatt <lhyatt@gmail.com> - - * libgdiagnostics.cc (struct diagnostic_manager): Use location_t(-1) - instead of UINT_MAX to support 64-bit location_t as well. - (diagnostic_manager::diagnostic_manager): Change hard-coded "5" to - line_map_suggested_range_bits. - -2024-12-07 Lewis Hyatt <lhyatt@gmail.com> - - * rtl.def (DEBUG_INSN): Use new format code 'L' for location_t fields. - (INSN): Likewise. - (JUMP_INSN): Likewise. - (CALL_INSN): Likewise. - (ASM_INPUT): Likewise. - (ASM_OPERANDS): Likewise. - * rtl.h (union rtunion): Add new location_t RT_LOC member for use by - the 'L' format. - (struct rtx_debug_insn): Adjust comment. - (struct rtx_nonjump_insn): Adjust comment. - (struct rtx_call_insn): Adjust comment. - (XLOC): New accessor macro for rtunion::rt_loc. - (X0LOC): Likewise. - (XCLOC): Likewise. - (INSN_LOCATION): Use XLOC instead of XUINT to retrieve a location_t. - (NOTE_MARKER_LOCATION): Likewise for XCUINT -> XCLOC. - (ASM_OPERANDS_SOURCE_LOCATION): Likewise. - (ASM_INPUT_SOURCE_LOCATION):Likewise. - (gen_rtx_ASM_INPUT): Adjust to use sL format instead of si. - (gen_rtx_INSN): Adjust prototype to use location_r rather than int - for the location. - * cfgrtl.cc (force_nonfallthru_and_redirect): Change type of LOC - local variable from int to location_t. - * rtlhash.cc (add_rtx): Support 'L' format in the switch statement. - * var-tracking.cc (loc_cmp): Likewise. - * alias.cc (rtx_equal_for_memref_p): Likewise. - * config/alpha/alpha.cc (summarize_insn): Likewise. - * config/ia64/ia64.cc (rtx_needs_barrier): Likewise. - * config/rs6000/rs6000.cc (rs6000_hash_constant): Likewise. - * cse.cc (hash_rtx): Likewise. - (exp_equiv_p): Likewise. - * cselib.cc (rtx_equal_for_cselib_1): Likewise. - (cselib_hash_rtx): Likewise. - (cselib_expand_value_rtx_1): Likewise. - * emit-rtl.cc (copy_insn_1): Likewise. - (gen_rtx_INSN): Change the location argument from int to location_t, - and call the corresponding gen_rtf_fmt_* function. - * final.cc (leaf_renumber_regs_insn): Support 'L' format in the - switch statement. - * genattrtab.cc (attr_rtx_1): Likewise. - * genemit.cc (gen_exp): Likewise. - * gengenrtl.cc (type_from_format): Likewise. - (accessor_from_format): Likewise. - * gengtype.cc (adjust_field_rtx_def): Likewise. - * genpeep.cc (match_rtx): Likewise; just mark gcc_unreachable() for - now. - * genrecog.cc (find_operand): Support 'L' format in the switch statement. - (find_matching_operand): Likewise. - (validate_pattern): Likewise. - * gensupport.cc (subst_pattern_match): Likewise. - (get_alternatives_number): Likewise. - (collect_insn_data): Likewise. - (alter_predicate_for_insn): Likewise. - (alter_constraints): Likewise. - (subst_dup): Likewise. - * jump.cc (rtx_renumbered_equal_p): Likewise. - * loop-invariant.cc (hash_invariant_expr_1): Likewise. - * lra-constraints.cc (operands_match_p): Likewise. - * lra.cc (lra_rtx_hash): Likewise. - * print-rtl.cc (rtx_writer::print_rtx_operand_code_i): Refactor - location_t-relevant code to... - (rtx_writer::print_rtx_operand_code_L): ...new function here. - (rtx_writer::print_rtx_operand): Support 'L' format in the switch statement. - * print-rtl.h (rtx_writer::print_rtx_operand_code_L): Add prototype - for new function. - * read-rtl-function.cc (function_reader::read_rtx_operand): Support - 'L' format in the switch statement. - (function_reader::read_rtx_operand_i_or_n): Rename to... - (function_reader::read_rtx_operand_inL): ...this, and support 'L' as - well. - * read-rtl.cc (apply_int_iterator): Support 'L' format in the switch - statement. - (rtx_reader::read_rtx_operand): Likewise. - * reload.cc (operands_match_p): Likewise. - * rtl.cc (rtx_format): Add new code 'L'. - (rtx_equal_p): Support 'L' in the switch statement. Remove dead code - in the handling for 'i' and 'n'. - -2024-12-07 Lewis Hyatt <lhyatt@gmail.com> - - * final.cc (reemit_insn_block_notes): Don't try to call - INSN_LOCATION on a NOTE rtl object. Don't call change_scope () for a - NOTE missing a location. - -2024-12-07 Lewis Hyatt <lhyatt@gmail.com> - - * tree-parloops.cc (struct reduction_info): Store the result of the - reduction PHI rather than the PHI itself. - (reduction_info::reduc_phi): New member function. - (reduction_hasher::equal): Adapt to the change in struct reduction_info. - (reduction_phi): Likewise. - (initialize_reductions): Likewise. - (create_call_for_reduction_1): Likewise. - (transform_to_exit_first_loop_alt): Likewise. - (transform_to_exit_first_loop): Likewise. - (build_new_reduction): Likewise. - (set_reduc_phi_uids): Likewise. - (try_create_reduction_list): Likewise. - * tree-ssa-loop-split.cc (split_loop): Remember the PHI result - variable so that the PHI can be found in case it is resized and move - to a new address. - * tree-vect-loop-manip.cc (vect_loop_versioning): After calling - loop_version(), fix up stored PHI pointers in case they have - changed. - * tree-vectorizer.cc (vec_info::resync_stmt_addr): New function. - * tree-vectorizer.h (vec_info::resync_stmt_addr): Declare. - -2024-12-06 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/117467 - * gimple-range-infer.cc (infer_range_manager::add_ranges): Check - range_of_expr to see if the inferred range is needed. - -2024-12-06 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Create the - infer oracle using THIS as the range_query. - * gimple-range-infer.cc (gimple_infer_range::gimple_infer_range): - Add a range_query to the constructor and use it. - (infer_range_manager::infer_range_manager): Add a range_query. - * gimple-range-infer.h (gimple_infer_range): Adjust prototype. - (infer_range_manager): Add a range_query. - * value-query.cc (range_query::create_infer_oracle): Add a range_query. - * value-query.h (range_query::create_infer_oracle): Update prototype. - -2024-12-06 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/117467 - * gimple-range-cache.cc (ranger_cache::entry_range): Do not - invoke range_from_dom for invariant ssa-names. - -2024-12-06 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/117248 - * lra-lives.cc (start_living, start_dying): Remove. - (insn_regnos, out_insn_regnos, insn_regnos_live_after): New. - (sparseset_contains_pseudos_p): Remove. - (make_hard_regno_live, make_hard_regno_dead): Return true if - something in liveness is changed. - (mark_pseudo_live, mark_pseudo_dead): Ditto. - (mark_regno_live, mark_regno_dead): Ditto. - (clear_sparseset_regnos, regnos_in_sparseset_p): Use set instead - of dead_set. - (process_bb_lives): Rewrite dealing with reg notes. Update - conflict hard regs even when clobber hard reg is not marked as - dead. - (lra_create_live_ranges_1): Add initialization/finalization of - insn_regnos, out_insn_regnos, insn_regnos_live_after. - -2024-12-06 Jeff Law <jlaw@ventanamicro.com> - - PR tree-optimization/117895 - * expr.cc (calculate_table_based_CRC): Drop CRC_MODE argument. - Convert DATA to CRC's mode, then do calculations in CRC's mode. - (expand_crc_table_based): Corresponding changes. - (expand_reversed_crc_table_based): Corresponding changes. - -2024-12-06 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.cc (ix86_decompose_address): - Add missing part from my previous commit. - -2024-12-06 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.cc (ix86_decompose_address): Eliminate - common code and use use UINTVAL and HOST_WIDE_INT_UC macros - in the condition for AND wrapped address. - -2024-12-06 Uros Bizjak <ubizjak@gmail.com> - - PR target/117926 - * config/i386/mmx.md (UNSPEC_3DNOW): New unspec. - (mmx_addv2sf3): Tag insn with UNSPEC_3DNOW tag. - (*mmx_addv2sf3): Ditto. - (mmx_sub2vsf3): Ditto. - (mmx_subrv2sf3): Ditto. - (*mmx_subv2sf3): Ditto. - (mmx_mulv2sf3): Ditto. - (mmx_<smaxmin:code>v2sf3): Ditto. - (*mmx_<smaxmin:code>v2sf3): Ditto. - (mmx_ieee_<ieee_maxmin>v2sf3): Ditto. - (mmx_eqv2sf3): Ditto. - (*mmx_eqv2sf3): Ditto. - (mmx_gtv2sf3): Ditto. - (mmx_gev2sf3): Ditto. - (mmx_fix_truncv2sfv2si2): Ditto. - (mmx_floatv2siv2sf2): Ditto. - -2024-12-06 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_context::override_urlifier): New. - * diagnostic.h (diagnostic_context::override_urlifier): New decl. - * doc/extend.texi (Nvidia PTX Function Attributes): Update - @cindex to specify that "kernel" is a function attribute and - "shared" is a variable attribute, so that these entries are - recognized by the regex in regenerate-attr-urls.py. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_DOCUMENTATION_NAME): New. - * gcc-attribute-urlifier.cc: New file. - * gcc-urlifier.cc: Include diagnostic.h. - (gcc_urlifier::make_doc): Convert to... - (make_doc_url): ...this. - (auto_override_urlifier::auto_override_urlifier): New. - (auto_override_urlifier::~auto_override_urlifier): New. - (selftest::gcc_urlifier_cc_tests): Split out body into... - (selftest::test_gcc_urlifier): ...this. - * gcc-urlifier.h: Include "pretty-print-urlifier.h" and "label-text.h". - (make_doc_url): New decl. - (class auto_override_urlifier): New. - (class attribute_urlifier): New. - (class auto_urlify_attributes): New. - * gimple-ssa-warn-access.cc: Include "gcc-urlifier.h". - (pass_waccess::execute): Use auto_urlify_attributes. - * gimplify.cc: Include "gcc-urlifier.h". - (expand_FALLTHROUGH): Use auto_urlify_attributes. - * internal-fn.cc: Define INCLUDE_MEMORY and include - "gcc-urlifier.h. - (expand_FALLTHROUGH): Use auto_urlify_attributes. - * ipa-pure-const.cc: Include "gcc-urlifier.h. - (suggest_attribute): Use auto_urlify_attributes. - * ipa-strub.cc: Include "gcc-urlifier.h. - (can_strub_p): Use auto_urlify_attributes. - * regenerate-attr-urls.py: New file. - * selftest-run-tests.cc (selftest::run_tests): Call - gcc_attribute_urlifier_cc_tests. - * selftest.h (selftest::gcc_attribute_urlifier_cc_tests): New - decl. - * target.def (documentation_name): New DEFHOOKPOD. - * tree-cfg.cc: Include "gcc-urlifier.h. - (do_warn_unused_result): Use auto_urlify_attributes. - * tree-ssa-uninit.cc: Include "gcc-urlifier.h. - (maybe_warn_read_write_only): Use auto_urlify_attributes. - (maybe_warn_pass_by_reference): Likewise. - -2024-12-06 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS): Add -attribute-urlifier.o. - (ATTR_URLS_HTML_DEPS): New. - (regenerate-attr-urls): New. - (regenerate-attr-urls-unit-test): New. - * attr-urls.def: New file. - * attribs.cc: Include "gcc-urlifier.h". - (decl_attributes): Use auto_urlify_attributes. - * config/aarch64/aarch64.cc (TARGET_DOCUMENTATION_NAME): New. - * config/arc/arc.cc (TARGET_DOCUMENTATION_NAME): New. - * config/arm/arm.cc (TARGET_DOCUMENTATION_NAME): New. - * config/bfin/bfin.cc (TARGET_DOCUMENTATION_NAME): New. - * config/bpf/bpf.cc (TARGET_DOCUMENTATION_NAME): New. - * config/epiphany/epiphany.cc (TARGET_DOCUMENTATION_NAME): New. - * config/gcn/gcn.cc (TARGET_DOCUMENTATION_NAME): New. - * config/h8300/h8300.cc (TARGET_DOCUMENTATION_NAME): New. - * config/i386/i386.cc (TARGET_DOCUMENTATION_NAME): New. - * config/ia64/ia64.cc (TARGET_DOCUMENTATION_NAME): New. - * config/m32c/m32c.cc (TARGET_DOCUMENTATION_NAME): New. - * config/m32r/m32r.cc (TARGET_DOCUMENTATION_NAME): New. - * config/m68k/m68k.cc (TARGET_DOCUMENTATION_NAME): New. - * config/mcore/mcore.cc (TARGET_DOCUMENTATION_NAME): New. - * config/microblaze/microblaze.cc (TARGET_DOCUMENTATION_NAME): - New. - * config/mips/mips.cc (TARGET_DOCUMENTATION_NAME): New. - * config/msp430/msp430.cc (TARGET_DOCUMENTATION_NAME): New. - * config/nds32/nds32.cc (TARGET_DOCUMENTATION_NAME): New. - * config/nvptx/nvptx.cc (TARGET_DOCUMENTATION_NAME): New. - * config/riscv/riscv.cc (TARGET_DOCUMENTATION_NAME): New. - * config/rl78/rl78.cc (TARGET_DOCUMENTATION_NAME): New. - * config/rs6000/rs6000.cc (TARGET_DOCUMENTATION_NAME): New. - * config/rx/rx.cc (TARGET_DOCUMENTATION_NAME): New. - * config/s390/s390.cc (TARGET_DOCUMENTATION_NAME): New. - * config/sh/sh.cc (TARGET_DOCUMENTATION_NAME): New. - * config/stormy16/stormy16.cc (TARGET_DOCUMENTATION_NAME): New. - * config/v850/v850.cc (TARGET_DOCUMENTATION_NAME): New. - * config/visium/visium.cc (TARGET_DOCUMENTATION_NAME): New. - -2024-12-06 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.opt.urls: Rebuild. - -2024-12-06 Georg-Johann Lay <avr@gjlay.de> - - * common/config/avr/avr-common.cc - (avr_option_optimization_table): Default to -fno-optimize-crc. - -2024-12-06 kelefth <konstantinos.eleftheriou@vrull.eu> - - PR rtl-optimization/117816 - * avoid-store-forwarding.cc (store_forwarding_analyzer::avoid_store_forwarding): - Reject the transformation when having instructions that may - throw exceptions in the sequence. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx-sm.def: Add '89'. - * config/nvptx/nvptx-gen.h: Regenerate. - * config/nvptx/nvptx-gen.opt: Likewise. - * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): Adjust. - * config/nvptx/nvptx.opt (-march-map=sm_89, -march-map=sm_90) - (march-map=sm_90a): Likewise. - * config.gcc: Likewise. - * doc/invoke.texi (Nvidia PTX Options): Document '-march=sm_89'. - * config/nvptx/gen-multilib-matches-tests: Extend. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx-opts.h (enum ptx_version): Add - 'PTX_VERSION_7_8'. - * config/nvptx/nvptx.cc (ptx_version_to_string) - (ptx_version_to_number): Adjust. - * config/nvptx/nvptx.h (TARGET_PTX_7_8): New. - * config/nvptx/nvptx.opt (Enum(ptx_version)): Add 'EnumValue' - '7.8' for 'PTX_VERSION_7_8'. - * doc/invoke.texi (Nvidia PTX Options): Document '-mptx=7.8'. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx-sm.def: Add '52'. - * config/nvptx/nvptx-gen.h: Regenerate. - * config/nvptx/nvptx-gen.opt: Likewise. - * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): Adjust. - * config/nvptx/nvptx.opt (-march-map=sm_52): Likewise. - * config.gcc: Likewise. - * doc/invoke.texi (Nvidia PTX Options): Document '-march=sm_52'. - * config/nvptx/gen-multilib-matches-tests: Extend. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx-sm.def: Add '37'. - * config/nvptx/nvptx-gen.h: Regenerate. - * config/nvptx/nvptx-gen.opt: Likewise. - * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): Adjust. - * config/nvptx/nvptx.opt (-march-map=sm_37, -march-map=sm_50): - Likewise. - * config.gcc: Likewise. - * doc/invoke.texi (Nvidia PTX Options): Document '-march=sm_37'. - * config/nvptx/gen-multilib-matches-tests: Extend. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx-opts.h (enum ptx_version): Add - 'PTX_VERSION_4_1'. - * config/nvptx/nvptx.cc (ptx_version_to_string) - (ptx_version_to_number): Adjust. - * config/nvptx/nvptx.h (TARGET_PTX_4_1): New. - * config/nvptx/nvptx.opt (Enum(ptx_version)): Add 'EnumValue' - '4.1' for 'PTX_VERSION_4_1'. - * doc/invoke.texi (Nvidia PTX Options): Document '-mptx=4.1'. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx.h (TARGET_PTX_4_2): New. - * config/nvptx/nvptx.opt (Enum(ptx_version)): Add 'EnumValue' - '4.2' for 'PTX_VERSION_4_2'. - * doc/invoke.texi (Nvidia PTX Options): Document '-mptx=4.2'. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx-opts.h (enum ptx_version): Remove - 'PTX_VERSION_3_0'. - * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm) - (default_ptx_version_option, ptx_version_to_string) - (ptx_version_to_number): Adjust. - * config/nvptx/nvptx.h: Comment. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config.gcc: nvptx: Support '--with-multilib-list'. - * config/nvptx/gen-multilib-matches.sh: Adjust. - * configure.ac: Likewise. - * configure: Regenerate. - * doc/install.texi: Update. - * doc/invoke.texi: Align. - * config/nvptx/gen-multilib-matches-tests: Extend. - -2024-12-06 Jakub Jelinek <jakub@redhat.com> - - * gimplify.cc (gimplify_init_ctor_eval): Use RAW_DATA_UCHAR_ELT - macro. - * gimple-fold.cc (fold_array_ctor_reference): Likewise. - * tree-pretty-print.cc (dump_generic_node): Use RAW_DATA_UCHAR_ELT - and RAW_DATA_SCHAR_ELT macros. - * fold-const.cc (fold): Use RAW_DATA_UCHAR_ELT macro. - -2024-12-06 Richard Biener <rguenther@suse.de> - - * match.pd: Remove redundant :c, reported by genmatch as - duplicate patterns. - -2024-12-06 Richard Biener <rguenther@suse.de> - - * match.pd (.SAT_ADD patterns using IFN_ADD_OVERFLOW): Remove :c that - only causes duplicate patterns. - -2024-12-06 Hau Hsu <hau.hsu@sifive.com> - Kito Cheng <kito.cheng@sifive.com> - - * config.gcc (riscv*-*-*): Add support for --with-cmodel configure option. - (all_defaults): Add cmodel. - * config/riscv/riscv.h (TARGET_DEFAULT_CMODEL): Remove. - * doc/install.texi: Document --with-cmodel configure option. - * doc/invoke.texi (-mcmodel): Mention --with-cmodel configure option. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/gen-multilib-matches.sh: Support '--selftest'. - * config/nvptx/t-nvptx (t-nvptx-gen-multilib-matches:): Invoke it. - * config/nvptx/gen-multilib-matches-tests: New. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/gen-h.sh: Don't pass in '$1'; compute it locally. - * config/nvptx/gen-multilib-matches.sh: Likewise. - * config/nvptx/gen-omp-device-properties.sh: Likewise. - * config/nvptx/gen-opt.sh: Likewise. - * config/nvptx/t-nvptx (s-nvptx-gen-h:, s-nvptx-gen-opt:) - (t-nvptx-gen-multilib-matches:): Adjust. - * config/nvptx/t-omp-device (omp-device-properties-nvptx): - Likewise. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/gen-multilib-matches.sh: Encapsulate main logic. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/t-nvptx (multilib_matches): Don't use the 'shell' - function of 'make'. - * config/nvptx/gen-multilib-matches.sh: Adjust. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/117916 - * config/nvptx/nvptx.opt (misa=, mptx=): Tag as 'Negative' of - themselves. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - PR testsuite/82250 - * gimple-fold.cc (gimple_fold_builtin_acc_on_device): Revert last - change. - -2024-12-06 Jakub Jelinek <jakub@redhat.com> - - * tree.h (RAW_DATA_UCHAR_ELT, RAW_DATA_SCHAR_ELT): Define. - -2024-12-06 Jennifer Schmitz <jschmitz@nvidia.com> - - PR target/106329 - * config/aarch64/aarch64-sve-builtins-base.cc - (svac_impl::fold): Add folding if pfalse predicate. - (svadda_impl::fold): Likewise. - (class svaddv_impl): Likewise. - (class svandv_impl): Likewise. - (svclast_impl::fold): Likewise. - (svcmp_impl::fold): Likewise. - (svcmp_wide_impl::fold): Likewise. - (svcmpuo_impl::fold): Likewise. - (svcntp_impl::fold): Likewise. - (class svcompact_impl): Likewise. - (class svcvtnt_impl): Likewise. - (class sveorv_impl): Likewise. - (class svminv_impl): Likewise. - (class svmaxnmv_impl): Likewise. - (class svmaxv_impl): Likewise. - (class svminnmv_impl): Likewise. - (class svorv_impl): Likewise. - (svpfirst_svpnext_impl::fold): Likewise. - (svptest_impl::fold): Likewise. - (class svsplice_impl): Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc - (class svcvtxnt_impl): Likewise. - (svmatch_svnmatch_impl::fold): Likewise. - * config/aarch64/aarch64-sve-builtins.cc - (is_pfalse): Return true if tree is pfalse. - (gimple_folder::fold_pfalse): Fold calls with pfalse predicate. - (gimple_folder::fold_call_to): Fold call to lhs = t for given tree t. - (gimple_folder::fold_to_stmt_vops): Helper function that folds the - call to given stmt and adjusts virtual operands. - (gimple_folder::fold): Call fold_pfalse. - * config/aarch64/aarch64-sve-builtins.h (is_pfalse): Declare is_pfalse. - -2024-12-06 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/117922 - * timevar.def (TV_FOLD_MEM_OFFSETS): New. - * fold-mem-offsets.cc (pass_data_fold_mem): Use TV_FOLD_MEM_OFFSETS. - -2024-12-05 Uros Bizjak <ubizjak@gmail.com> - - PR target/117860 - * config/i386/i386.cc (ix86_canonicalize_comparison): Swap - operands of GTU comparison to canonicalize addcarry/subborrow - comparison. - (ix86_cc_mode): Return CCCmode for the comparison of - addcarry/subborrow pattern. - * config/i386/i386.md (addcarry<mode>): Swap operands of - PLUS RTX to make it canonical. - (*addcarry<mode>_1): Ditto. - (addcarry peephole2s): Update RTXes for addcarry<mode>_1 change. - (*add<dwi>3_doubleword_cc_overflow_1): Ditto. - (*subborrow<mode>_1): New insn pattern. - -2024-12-05 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/mmintrin.h: Raise an error if this header is used. - Remove other content. - -2024-12-05 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd-pragma-builtins.def - (ENTRY_TERNARY_VLUT8): Use FLAG_QUIET rather than FLAG_DEFAULT. - (ENTRY_TERNARY_VLUT16): Likewise. - -2024-12-05 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc (FLAG_QUIET): Redefine to 0, - replacing the old flag with... - (FLAG_AUTO_FP): ...this. - (FLAG_DEFAULT): Redefine to FLAG_AUTO_FP. - (aarch64_call_properties): Update accordingly. - -2024-12-05 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc (FLAG_NONE): Rename to... - (FLAG_DEFAULT): ...this and update all references. - * config/aarch64/aarch64-simd-builtins.def: Update all references - here too. - * config/aarch64/aarch64-simd-pragma-builtins.def: Likewise. - -2024-12-05 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc (FLAG_AUTO_FP): Rename to... - (FLAG_QUIET): ...this and update all references. - * config/aarch64/aarch64-simd-builtins.def: Update all references - here too. - -2024-12-05 Pan Li <pan2.li@intel.com> - - * match.pd: Refactor sorts of unsigned SAT_TRUNC match patterns. - -2024-12-05 Richard Biener <rguenther@suse.de> - - PR middle-end/117801 - * tree-outof-ssa.cc (ssa_is_replaceable_p): Make - direct internal function calls replaceable. - * expr.cc (get_def_for_expr): Handle replacements with calls. - (get_def_for_expr_class): Likewise. - (optimize_bitfield_assignment_op): Likewise. - (expand_expr_real_1): Likewise. Properly expand direct - internal function defs. - * cfgexpand.cc (expand_call_stmt): Handle replacements with calls. - (avoid_deep_ter_for_debug): Likewise, always create a debug temp - for calls. - (expand_debug_expr): Likewise, give up for calls. - (expand_gimple_basic_block): Likewise. - * ccmp.cc (ccmp_candidate_p): Likewise. - (get_compare_parts): Likewise. - -2024-12-05 Arvin Zhong <Arvin.Zhong@armchina.com> - - * config/arm/arm-cpus.in (star-mc1): Add CDE options. - * doc/invoke.texi (cdecp options): Document for star-mc1. - -2024-12-05 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/113994 - PR rtl-optimization/116799 - * loop-doloop.cc: Include targhooks.h. - (doloop_optimize): Also punt on intersection of modified - with df_get_live_in (desc->out_edge->dest). - (doloop_optimize_loops): Call df_analyze. Use - LI_ONLY_INNERMOST or LI_FROM_INNERMOST instead of 0 as - second loops_list argument. - -2024-12-05 Jakub Jelinek <jakub@redhat.com> - - PR c/107980 - * ginclude/stdarg.h (va_start): For C23+ change parameters from - v, ... to just ... and define to __builtin_c23_va_start(__VA_ARGS__) - rather than __builtin_va_start(v, 0). - -2024-12-05 Georg-Johann Lay <avr@gjlay.de> - - PR target/107957 - * config/avr/avr-passes-fuse-move.h (bbinfo_t) <try_mem0_p>: - Add static property. - * config/avr/avr-passes.cc (bbinfo_t::try_mem0_p): Define it. - (optimize_data_t::try_mem0): New method. - (bbinfo_t::optimize_one_block) [bbinfo_t::try_mem0_p]: Run try_mem0. - (bbinfo_t::optimize_one_function): Set bbinfo_t::try_mem0_p. - * config/avr/avr.md (pushhi1_insn): Also allow zero as source. - (define_split) [avropt_split_ldst]: Only run avr_split_ldst() - when avr-fuse-move has been run at least once. - * doc/invoke.texi (AVR Options) <-msplit-ldst>: Document it. - -2024-12-05 Georg-Johann Lay <avr@gjlay.de> - - PR target/107957 - * config/avr/avr.opt (-msplit-ldst, avropt_split_ldst): - New option and associated var. - * common/config/avr/avr-common.cc (avr_option_optimization_table) - [OPT_LEVELS_2_PLUS]: Turn on -msplit_ldst. - * config/avr/avr-passes.cc (splittable_address_p) - (avr_byte_maybe_mem, avr_split_ldst): New functions. - * config/avr/avr-protos.h (avr_split_ldst): New proto. - * config/avr/avr.md (define_split) [avropt_split_ldst]: Run - avr_split_ldst(). - -2024-12-05 Georg-Johann Lay <avr@gjlay.de> - - PR target/64242 - * config/avr/avr.md (nonlocal_goto): Don't restore - hard_frame_pointer_rtx directly, but copy it to local - register, and only set hard_frame_pointer_rtx from it - after emit_stack_restore(). - -2024-12-05 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-protos.h (avr_out_add_msb): New proto. - * config/avr/avr.cc (avr_out_add_msb): New function. - (avr_adjust_insn_length) [ADJUST_LEN_ADD_GE0, - ADJUST_LEN_ADD_LT0]: Handle cases. - * config/avr/avr.md (adjust_len) <add_lt0, add_ge0>: New attr values. - (QISI2): New mode iterator. - (C_MSB): New mode_attr. - (*add<mode>3...msb_split, *add<mode>3.ge0, *add<mode>3.lt0) - (*sub<mode>3...msb_split, *sub<mode>3.ge0, *sub<mode>3.lt0): New - patterns replacing old ones, but with iterators and - using avr_out_add_msb() for asm out. - -2024-12-05 Filip Kastl <fkastl@suse.cz> - - * doc/invoke.texi: Add store-forwarding-max-distance. - -2024-12-05 Filip Kastl <fkastl@suse.cz> - - * params.opt: Add missing '=' after -param=cycle-accurate-model. - -2024-12-05 Jakub Jelinek <jakub@redhat.com> - - PR c/41045 - * output.h (insn_noperands): Declare. - * final.cc (insn_noperands): No longer static. - * varasm.cc (assemble_asm): Handle ASM_EXPR. - * lto-streamer-out.cc (lto_output_toplevel_asms): Add sorry_at - for non-STRING_CST toplevel asm for now. - * doc/extend.texi (Basic @code{asm}, Extended @code{asm}): Document - that extended asm is now allowed outside of functions with certain - restrictions. - -2024-12-05 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv-vector-builtins-shapes.cc - (vsetvl_def::get_name): Adjust return type. - (loadstore_def::get_name): Ditto. - (indexed_loadstore_def::get_name): Ditto. - (th_loadstore_width_def::get_name): Ditto. - (th_indexed_loadstore_width_def::get_name): Ditto. - (alu_def::get_name): Ditto. - (alu_frm_def::get_name): Ditto. - (widen_alu_frm_def::get_name): Ditto. - (narrow_alu_frm_def::get_name): Ditto. - (reduc_alu_frm_def::get_name): Ditto. - (widen_alu_def::get_name): Ditto. - (no_mask_policy_def::get_name): Ditto. - (return_mask_def::get_name): Ditto. - (narrow_alu_def::get_name): Ditto. - (move_def::get_name): Ditto. - (mask_alu_def::get_name): Ditto. - (reduc_alu_def::get_name): Ditto. - (th_extract_def::get_name): Ditto. - (scalar_move_def::get_name): Ditto. - (vundefined_def::get_name): Ditto. - (misc_def::get_name): Ditto. - (vset_def::get_name): Ditto. - (vcreate_def: Ditto.::get_name): Ditto. - (read_vl_def::get_name): Ditto. - (fault_load_def::get_name): Ditto. - (vlenb_def::get_name): Ditto. - (seg_loadstore_def::get_name): Ditto. - (seg_indexed_loadstore_def::get_name): Ditto. - (seg_fault_load_def::get_name): Ditto. - (crypto_vv_def::get_name): Ditto. - (crypto_vi_def::get_name): Ditto. - (crypto_vv_no_op_type_def::get_name): Ditto. - (sf_vqmacc_def::get_name): Ditto. - (sf_vqmacc_def::get_name): Ditto. - (sf_vfnrclip_def::get_name): Ditto. - * config/riscv/riscv-vector-builtins.cc - (function_builder::add_unique_function): Adjust the type for the - function name holder. - (function_builder::add_overloaded_function): Ditto. - * config/riscv/riscv-vector-builtins.h (function_shape::get_name): Add - const to the return type. - -2024-12-04 David Malcolm <dmalcolm@redhat.com> - - * doc/libgdiagnostics/topics/execution-paths.rst: Add '§' before - references to section of SARIF spec. - * doc/libgdiagnostics/topics/fix-it-hints.rst: Likewise. - * doc/libgdiagnostics/tutorial/01-hello-world.rst: Fix typo. - * doc/libgdiagnostics/tutorial/02-physical-locations.rst: Likewise. - * doc/libgdiagnostics/tutorial/04-notes.rst: Likewise. - * doc/libgdiagnostics/tutorial/06-fix-it-hints.rst: Add link to - diagnostic_add_fix_it_hint_replace. - * doc/libgdiagnostics/tutorial/07-execution-paths.rst: Add '§'. - -2024-12-04 Vineet Gupta <vineetg@rivosinc.com> - - * haifa-sched.cc (model_choose_insn): Dump unscheduled_preds. - (model_dump_pressure_summary): Dump bb->index. - (model_start_schedule): Pass bb. - * sched-rgn.cc (debug_dependencies): Dump SD_LIST_HARD_BACK deps. - -2024-12-04 Vineet Gupta <vineetg@rivosinc.com> - - PR target/11472 - * params.opt (--param=cycle-accurate-model=): New opt. - * doc/invoke.texi (cycle-accurate-model): Document. - * haifa-sched.cc (model_excess_group_cost): Return negative - delta if param_cycle_accurate_model is 0. - (model_excess_cost): Ceil negative baseECC to 0 only if - param_cycle_accurate_model is 1. - Dump the actual ECC value. - * config/riscv/riscv.cc (riscv_option_override): Set param - to 0. - -2024-12-04 Georg-Johann Lay <avr@gjlay.de> - - PR target/84211 - * config/avr/avr-passes.cc (insninfo_t) <m_insn>: Preset to 0. - (run_find_plies) [hamm=0, dump_file]: Don't print INSN_UID - for a null m_insn. - -2024-12-04 David Malcolm <dmalcolm@redhat.com> - - PR translation/90160 - * config/arm/arm.cc (arm_option_check_internal): Use quotes in - messages that refer to command-line options. Tweak wording. - -2024-12-04 Andreas Schwab <schwab@suse.de> - - PR bootstrap/117893 - * configure.ac: Use shell loop to remove -O flags. - * configure: Regenerate. - -2024-12-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116083 - * tree-vect-slp.cc (vect_build_slp_tree_1): Compute vector - type and max_nunits only once. Remove check for matching - vector type of each lane and replace it with matching check - for LHS type. - -2024-12-04 Pan Li <pan2.li@intel.com> - - PR target/117878 - * config/riscv/riscv-v.cc (vlmax_avl_type_p): Add assert for - out of range access. - (nonvlmax_avl_type_p): Ditto. - -2024-12-04 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117243 - PR tree-optimization/116749 - * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Reset loop - estimates if the cond_block was an exit to a loop. - -2024-12-03 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_insn_location): New variable. - (avr_final_prescan_insn): Set avr_insn_location. - (avr_asm_final_postscan_insn): Unset avr_insn_location after last insn. - (avr_print_operand): Pass avr_insn_location to warning_at. - -2024-12-03 David Malcolm <dmalcolm@redhat.com> - - * doc/libgdiagnostics/conf.py: Remove "author". Change - "copyright" field to the FSF. - -2024-12-03 Georg-Johann Lay <avr@gjlay.de> - - PR target/117726 - * config/avr/avr-passes.cc (avr_split_shift_p) - [ASHIFT, LSHIFTRT]: Allow offsets of bitsize - 1. - (avr_split_shift4) [ASHIFT, LSHIFTRT]: Also split offset 31. - (avr_split_shift3) [ASHIFT, LSHIFTRT]: Also split offset 23. - (avr_split_shift2) [ASHIFT, LSHIFTRT]: Also split offset 15. - -2024-12-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117874 - * tree-vect-slp.cc (vect_build_slp_tree_2): Perform early - reassoc checks before eating into discovery limit. - -2024-12-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117874 - * tree-vectorizer.h (vec_info_shared::n_stmts): Remove. - (LOOP_VINFO_N_STMTS): Likewise. - * tree-vectorizer.cc (vec_info_shared::vec_info_shared): Adjust. - * tree-vect-loop.cc (vect_get_datarefs_in_loop): Do not - count stmts. - (vect_analyze_loop_2): Adjust. Pass stmt_vec_info.length () - to vect_analyze_slp as SLP tree size limit. - -2024-12-03 Georg-Johann Lay <avr@gjlay.de> - - PR target/117726 - * config/avr/avr-passes.cc (avr_emit_shift): All 8-bit shifts with - an offset of 6 have 3-operand alternatives. - * config/avr/avr.cc (ashlqi3_out, lshrqi3_out) [case 6]: - Implement as 3-operand insn. - (avr_rtx_costs_1) [QImode, ASHIFT + LSHIFTRT]: Adjust - costs for offset of 6. - * config/avr/avr.md (*ashlqi3_split, *ashlqi3) - (*lshrqi3_split, *lshrqi3): Add "r,r,C06" alternative. - -2024-12-03 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64-option-extensions.def: (fp8): fix FEATURE_STRING. - (fp8fma, ssve-fp8fma): Likewise. - (fp8dot4, ssve-fp8dot4, fp8dot2, ssve-fp8dot2): Likewise. - -2024-12-03 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117420 - * tree-ssanames.h (get_known_nonzero_bits): Declare. - * tree-ssanames.cc (get_nonzero_bits): New wrapper function. Move old - definition to ... - (get_nonzero_bits_1): ... here, add static. Change widest_int in - function comment to wide_int. - (get_known_nonzero_bits_1, get_known_nonzero_bits): New functions. - * match.pd (with_possible_nonzero_bits2): Rename to ... - (with_possible_nonzero_bits): ... this. Guard the bit_and case with - #if GENERIC. Change to a normal match predicate without parameters. - Rename the old with_possible_nonzero_bits match to ... - (with_possible_nonzero_bits_1): ... this. - (with_certain_nonzero_bits2): Remove. - (with_known_nonzero_bits_1, with_known_nonzero_bits): New match - predicates. - (X == C (or X & Z == Y | C) is impossible if ~nonzero(X) & C != 0): - Use with_known_nonzero_bits@0 instead of - (with_certain_nonzero_bits2 @1), use with_possible_nonzero_bits@0 - instead of (with_possible_nonzero_bits2 @0) and - get_known_nonzero_bits (@1) instead of wi::to_wide (@1). - -2024-12-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117847 - * gimple-lower-bitint.cc (gimple_lower_bitint) <case LROTATE_EXPR>: - Use m = (p - n) % p instead of m = p - n for the other shift count. - -2024-12-03 Tobias Burnus <tburnus@baylibre.com> - - * cgraphunit.cc (varpool_node::finalize_decl): Set alignment - based on OpenMP's 'omp allocate' attribute/directive. - -2024-12-03 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-simd-pragma-builtins.def: Add a flags - field to each entry. - * config/aarch64/aarch64-builtins.cc: Update includes accordingly. - (aarch64_pragma_builtins_data): Add a flags field. - (aarch64_init_pragma_builtins): Use the flags field to add attributes - to the function declaration. - -2024-12-03 Saurabh Jha <saurabh.jha@arm.com> - Vladimir Miloserdov <vladimir.miloserdov@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc - (aarch64_builtin_signatures): Add binary_lane. - (aarch64_fntype): Handle it. - (simd_types): Add 16-bit x2 types. - (aarch64_pragma_builtins_checker): New class. - (aarch64_general_check_builtin_call): Use it. - (aarch64_expand_pragma_builtin): Add support for lut unspecs. - * config/aarch64/aarch64-option-extensions.def - (AARCH64_OPT_EXTENSION): Add lut option. - * config/aarch64/aarch64-simd-pragma-builtins.def - (ENTRY_BINARY_LANE): Modify to use new ENTRY macro. - (ENTRY_TERNARY_VLUT8): Macro to declare lut intrinsics. - (ENTRY_TERNARY_VLUT16): Macro to declare lut intrinsics. - (REQUIRED_EXTENSIONS): Declare lut intrinsics. - * config/aarch64/aarch64-simd.md - (@aarch64_<vluti_uns_op><VLUT:mode><VB:mode>): Instruction - pattern for luti2 and luti4 intrinsics. - (@aarch64_lutx2<VLUT:mode><VB:mode>): Instruction pattern for - luti4x2 intrinsics. - * config/aarch64/aarch64.h - (TARGET_LUT): lut flag. - * config/aarch64/iterators.md: Iterators and attributes for lut. - * doc/invoke.texi: Document extension in AArch64 Options. - -2024-12-03 Saurabh Jha <saurabh.jha@arm.com> - Vladimir Miloserdov <vladimir.miloserdov@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc - (ENTRY): Modify to add support of return and argument types. - (struct simd_type): New struct to declare types using mode and - qualifiers. - (struct aarch64_pragma_builtins_data): Replace mode with - the array of types to support return and argument types. - (aarch64_fntype): Modify to handle different signatures. - (aarch64_expand_pragma_builtin): Modify to handle different - signatures. - * config/aarch64/aarch64-simd-pragma-builtins.def - (ENTRY_VHSDF): Rename to ENTRY_BINARY_VHSDF. - (ENTRY_BINARY): New macro to declare binary intrinsics. - (ENTRY_BINARY_VHSDF): Remove signature argument and use - ENTRY_BINARY. - -2024-12-03 Saurabh Jha <saurabh.jha@arm.com> - Vladimir Miloserdov <vladimir.miloserdov@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/iterators.md: Reorder some declarations, - putting them under the associated heading comment. - -2024-12-03 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-protos.h (aarch64_v64_mode): Declare. - (aarch64_vq_mode): Rename to... - (aarch64_v128_mode): ...this. - * config/aarch64/aarch64.cc (aarch64_v64_mode): New function, - split out from... - (aarch64_simd_container_mode): ...here. - (aarch64_vq_mode): Rename to... - (aarch64_v128_mode): ...this and update callers. - * config/aarch64/aarch64-sve-builtins-base.cc: Likewise update calls. - -2024-12-03 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins.cc (report_non_ice) - (report_out_of_range, report_neither_nor, report_not_one_of) - (report_not_enum): Move to... - * config/aarch64/aarch64.cc: ...here, putting them in the aarch64 - namespace, and... - * config/aarch64/aarch64-protos.h: ...declare them here. - -2024-12-03 Pan Li <pan2.li@intel.com> - - * match.pd: Refactor sorts of unsigned SAT_SUB match patterns. - -2024-12-03 Heiko Eißfeldt <heiko@hexco.de> - Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114540 - * varasm.cc (decode_reg_name_and_count): Use strtoul instead of atoi - and simplify verification that the whole asmspec contains just decimal - digits. - -2024-12-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117874 - * tree-vect-loop.cc (vect_analyze_loop_2): When non-SLP - analysis fails, try single-lane SLP. - -2024-12-02 David Malcolm <dmalcolm@redhat.com> - - * doc/libgdiagnostics/tutorial/01-hello-world.rst: Update linker - command for renaming. - -2024-12-02 Jeff Law <jlaw@ventanamicro.com> - - * configure.ac: Add sym-exec subdirectory. - -2024-12-02 Andreas Schwab <schwab@suse.de> - - * config/m68k/m68k.md (movdi+1, movdf+1, movxf+2): Split - constraints so that the operands cannot both be "o". - -2024-12-02 Jakub Jelinek <jakub@redhat.com> - - * config/mingw/mingw-stdint.h: Add newline at the end of the file. - * config/mingw/winnt-dll.cc: Likewise. - * sym-exec/sym-exec-expression.h: Likewise. - * sym-exec/sym-exec-expression.cc: Likewise. - * sym-exec/sym-exec-condition.cc: Likewise. - * sym-exec/sym-exec-expr-is-a-helper.h: Likewise. - * sym-exec/sym-exec-condition.h: Likewise. - * hwint.cc: Likewise. - * crc-verification.cc: Likewise. - * sarif-spec-urls.def: Likewise. - -2024-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/arm/arm_mve.h: Add Runtime Library Exception. - * config/arm/arm_mve_types.h: Likewise. - -2024-12-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116352 - PR tree-optimization/117876 - * tree-vect-slp.cc (vect_slp_can_convert_to_external): New. - (vect_slp_convert_to_external): Call it. - (vect_build_slp_tree_2): Likewise. - -2024-12-02 yulong <shiyulong@iscas.ac.cn> - - * config/riscv/generic-vector-ooo.md: New reservation. - * config/riscv/genrvv-type-indexer.cc (main): New type. - * config/riscv/riscv-vector-builtins-bases.cc (enum frm_op_type): Delete it. - * config/riscv/riscv-vector-builtins-bases.h (enum frm_op_type): Redefine in h file. - * config/riscv/riscv-vector-builtins-shapes.cc (struct sf_vfnrclip_def): New function. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE_INDEX): New builtins def. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE_INDEX): New base def. - (signed_eew8_index): Ditto. - * config/riscv/riscv-vector-builtins.h (enum required_ext): New extension. - (required_ext_to_isa_name): Ditto. - (required_extensions_specified): Ditto. - (struct function_group_info): Ditto. - * config/riscv/riscv.md: New attr. - * config/riscv/sifive-vector-builtins-bases.cc (class sf_vfnrclip_x_f_qf): New function. - (class sf_vfnrclip_xu_f_qf): Ditto. - (BASE): New base_name. - * config/riscv/sifive-vector-builtins-bases.h: New function_base. - * config/riscv/sifive-vector-builtins-functions.def - (REQUIRED_EXTENSIONS): New intrinsics def. - (sf_vfnrclip_x_f_qf): Ditto. - (sf_vfnrclip_xu_f_qf): Ditto. - * config/riscv/sifive-vector.md (@pred_sf_vfnrclip<v_su><mode>_x_f_qf): New RTL mode. - * config/riscv/vector-iterators.md: New iterator. - -2024-12-02 Andreas Schwab <schwab@suse.de> - - * config/riscv/riscv.cc (fli_value_hf, fli_value_sf) - (fli_value_df): Use integer constants. Constify. - (riscv_float_const_rtx_index_for_fli): Add const. - -2024-12-02 H.J. Lu <hjl.tools@gmail.com> - - * config/i386/i386-features.cc (pass_apx_nf_convert): Change - pass_rpad to pass_apx_nf_convert in comments. - -2024-12-01 Slava Barinov <v.barinov@samsung.com> - - * configure.ac: Only remove -O[0-9] if not preceded with comma - * configure: Regenerated - -2024-12-01 Jovan Vukic <Jovan.Vukic@rt-rk.com> - - * tree-ssa-phiopt.cc (rhs_is_fed_for_value_replacement): Add a new - optimization opportunity for BIT_IOR_EXPR and a != b. - (operand_equal_for_value_replacement): Ditto. - -2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com> - - * gimple-crc-optimization.cc (optimize_crc_loop): New function. - (execute): Add optimize_crc_loop function call. - -2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com> - - * Makefile.in (OBJS): Add crc-verification.o. - * crc-verification.cc: New file. - * crc-verification.h: New file. - * gimple-crc-optimization.cc (loop_calculates_crc): New function. - (is_output_crc): Likewise. - (swap_crc_and_data_if_needed): Likewise. - (validate_crc_and_data): Likewise. - (optimize_crc_loop): Likewise. - (get_output_phi): Likewise. - (execute): Add check whether potential CRC loop calculates CRC. - * sym-exec/sym-exec-state.cc (create_reversed_lfsr): New function. - (create_forward_lfsr): Likewise. - (last_set_bit): Likewise. - (create_lfsr): Likewise. - * sym-exec/sym-exec-state.h (is_bit_vector): Reorder, make the function public and static. - (create_reversed_lfsr) New static function declaration. - (create_forward_lfsr) New static function declaration. - -2024-12-01 Matevos Mehrabyan <matevosmehrabyan@gmail.com> - - * Makefile.in (OBJS): Add sym-exec/sym-exec-expression.o, - sym-exec/sym-exec-state.o, sym-exec/sym-exec-condition.o. - * configure (sym-exec): New subdir. - * sym-exec/sym-exec-condition.cc: New file. - * sym-exec/sym-exec-condition.h: New file. - * sym-exec/sym-exec-expr-is-a-helper.h: New file. - * sym-exec/sym-exec-expression.cc: New file. - * sym-exec/sym-exec-expression.h: New file. - * sym-exec/sym-exec-state.cc: New file. - * sym-exec/sym-exec-state.h: New file. - Co-authored-by: Mariam Arutunian <mariamarutunian@gmail.com> - -2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com> - - * Makefile.in (OBJS): Add gimple-crc-optimization.o. - * common.opt (foptimize-crc): New option. - * common.opt.urls: Regenerate to add foptimize-crc. - * doc/invoke.texi (-foptimize-crc): Add documentation. - * gimple-crc-optimization.cc: New file. - * opts.cc (default_options_table): Add OPT_foptimize_crc. - (enable_fdo_optimizations): Enable optimize_crc. - * passes.def (pass_crc_optimization): Add new pass. - * timevar.def (TV_GIMPLE_CRC_OPTIMIZATION): New timevar. - * tree-pass.h (make_pass_crc_optimization): New extern function - declaration. - -2024-12-01 Mark Harmstone <mark@harmstone.com> - - * configure.ac (HAVE_GAS_CV_UCOMP): New check. - * configure: Regenerate. - * config.in: Regenerate. - * dwarf2codeview.cc (enum binary_annotation_opcode): Define. - (struct codeview_function): Add htab_next and inline_loc; - (struct cv_func_hasher): Define. - (cv_func_htab): New global variable. - (new_codeview_function): Add new codeview_function to hash table. - (codeview_begin_block): Record location of inline block. - (codeview_end_block): Add dummy source line at end of inline block. - (find_line_function): New function. - (write_binary_annotations): New function. - (write_s_inlinesite): Call write_binary_annotations. - (codeview_debug_finish): Delete cv_func_htab. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117859 - * tree-ssa-sccvn.cc (insert_predicates_for_cond): If the - valueization for the new lhs for `lhs != 0` - is the same as the old ones, don't recurse. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-loop-im.cc (move_computations_worker): While moving - phi, reuse the lhs of the conditional if it is a boolean type. - -2024-12-01 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> - - PR rtl-optimization/112398 - PR rtl-optimization/117476 - * simplify-rtx.cc (simplify_context::simplify_unary_operation_1): - Simplify ZERO_EXTEND (SUBREG (NOT X)) to XOR (X, GET_MODE_MASK(SUBREG)) - when X doesn't have any non-zero bits outside of SUBREG mode. - -2024-11-30 Lewis Hyatt <lhyatt@gmail.com> - - * diagnostic-show-locus.cc - (test_one_liner_fixit_validation_adhoc_locations): Adapt so it can - effectively test 7-bit ranges instead of 5-bit ranges. - (test_one_liner_fixit_validation_adhoc_locations_utf8): Likewise. - * input.cc (get_end_location): Adjust types to support 64-bit - location_t. - (write_digit_row): Likewise. - (dump_location_range): Likewise. - (dump_location_info): Likewise. - (class line_table_case): Likewise. - (test_accessing_ordinary_linemaps): Replace some hard-coded - constants with the values defined in line-map.h. - (for_each_line_table_case): Likewise. - -2024-11-30 Lewis Hyatt <lhyatt@gmail.com> - - * toplev.cc (general_init): Replace hard-coded constant with - line_map_suggested_range_bits. - -2024-11-30 Lewis Hyatt <lhyatt@gmail.com> - - * config/aarch64/aarch64-c.cc (aarch64_resolve_overloaded_builtin): - Change "unsigned int" argument to "location_t". - * config/avr/avr-c.cc (avr_resolve_overloaded_builtin): Likewise. - * config/riscv/riscv-c.cc (riscv_resolve_overloaded_builtin): Likewise. - * target.def: Likewise. - * doc/tm.texi: Regenerate. - -2024-11-30 Joseph Myers <josmyers@redhat.com> - Richard Biener <rguenther@suse.de> - - PR c/100501 - PR c/100792 - * gimplify.cc (gimplify_asm_expr): Handle void expressions for - memory inputs like other non-lvalues. - -2024-11-30 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_sym_type): Add S_INLINESITE and - S_INLINESITE_END. - (get_func_id): Add declaration. - (write_s_inlinesite): New function. - (write_inlinesite_records): New function. - (write_function): Call write_inlinesite_records. - -2024-11-30 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (DEBUG_S_INLINEELINES): Define. - (CV_INLINEE_SOURCE_LINE_SIGNATURE): Define. - (struct codeview_inlinee_lines): Define. - (struct inlinee_lines_hasher): Define. - (func_htab, inlinee_lines_htab): New global variables. - (get_file_id): New function. - (codeview_source_line): Move file_id logic to get_file_id. - (write_inlinee_lines_entry): New function. - (write_inlinee_lines): New function. - (codeview_debug_finish): Call write_inlinee_lines, and free func_htab - and inlinee_lines_htab. - (get_func_id): New function. - (add_function): Move func_id logic to get_func_id. - (codeview_abstract_function): New function. - * dwarf2codeview.h (codeview_abstract_function): Add declaration. - * dwarf2out.cc (dwarf2out_abstract_function): Call - codeview_abstract_function if outputting CodeView debug info. - -2024-11-30 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (struct codeview_function): Add parent and - inline_block fields. - (cur_func): New global variable. - (new_codeview_function): New function. - (codeview_source_line): Call new_codeview_function, and use cur_func - instead of last_func. - (codeview_begin_block): New function. - (codeview_end_block): New function. - (write_line_numbers): No longer free data as we go along. - (codeview_switch_text_section): Call new_codeview_function, and use - cur_func instead of last_func. - (codeview_end_epilogue): Use cur_func instead of last_func. - (codeview_debug_finish): Free funcs list and its contents. - * dwarf2codeview.h (codeview_begin_block): Add declaration. - (codeview_end_block): Add declaration. - * dwarf2out.cc (dwarf2out_begin_block): Call codeview_begin_block if - outputting CodeView debug info. - (dwarf2out_end_block): Call codeview_end_block if outputting CodeView - debug info. - -2024-11-30 Mark Harmstone <mark@harmstone.com> - - * debug.cc (do_nothing_debug_hooks): Change begin_block - function pointer. - (debug_nothing_int_int_tree): New function. - * debug.h (struct gcc_debug_hooks): Add tree parameter to begin_block. - (debug_nothing_int_int_tree): Add declaration. - * dwarf2out.cc (dwarf2out_begin_block): Add tree parameter. - (dwarf2_lineno_debug_hooks): Use new dummy function for begin_block. - * final.cc (final_scan_insn_1): Pass insn block through to - debug_hooks->begin_block. - * vmsdbgout.cc (vmsdbgout_begin_block): Add tree parameter. - -2024-11-30 Georg-Johann Lay <avr@gjlay.de> - - PR target/84211 - * config/avr/avr-passes.cc (try_split_any) [SET, MOVW]: Prefer - reg=reg move over reg=const when splitting a reg=reg insn. - -2024-11-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117057 - * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): Punt also - when byte_size is equal to offset or nchars. Punt if offset is bigger - than INT_MAX. Handle vector CONSTRUCTOR with some elements constant, - possibly followed by non-constant. - -2024-11-30 Jakub Jelinek <jakub@redhat.com> - - PR libgomp/117851 - * lto-wrapper.cc (find_crtoffloadtable): Add PIE_OR_SHARED argument, - search for crtoffloadtableS.o rather than crtoffloadtable.o if - true. - (run_gcc): Add pie_or_shared variable. If OPT_pie or OPT_shared or - OPT_static_pie is seen, set pie_or_shared to true, if OPT_no_pie is - seen, set pie_or_shared to false. Pass it to find_crtoffloadtable. - -2024-11-30 Jinyang He <hejinyang@loongson.cn> - - * config/loongarch/constraints.md (Uuv6, Uuvx): Remove Uuv6, - add Uuvx as replicated vector const with unsigned range [0,umax]. - * config/loongarch/lasx.md (xvsrl, xvsra, xvsll): Mask shift - offset by its unit bits. - * config/loongarch/lsx.md (vsrl, vsra, vsll): Likewise. - * config/loongarch/loongarch-protos.h - (loongarch_const_vector_same_int_p): Set default for low and high. - * config/loongarch/predicates.md: Replace reg_or_vector_same_uimm6 - _operand to reg_or_vector_same_uimm_operand. - -2024-11-30 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/117360 - * ext-dce.cc (ext_dce_process_sets): Use HOST_WIDE_INT_UC - macro instead of ULL suffixed constants. - (carry_backpropagate): Likewise. Use HOST_WIDE_INT_1U instead of - 1ULL. Use GET_MODE_BITSIZE (smode) instead of - GET_MODE_BITSIZE (mode) and with that avoid having to use - known_lt instead of < or use .to_constant (). Formatting fixes. - (case SIGN_EXTEND): Set mode to GET_MODE_INNER (GET_MODE (XEXP (x, 0))) - rather than GET_MODE (XEXP (x, 0)) and don't use GET_MODE_INNER (mode). - (ext_dce_process_uses): Use HOST_WIDE_INT_UC macro instead of ULL - suffixed constants. - -2024-11-30 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (-Wdeprecated-variadic-comma-omission): Document. - -2024-11-29 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in: Rename "libdiagnostics" to "libgdiagnostics". - * configure.ac: Likewise. - * configure: Regenerate. - * doc/install.texi: Rename "libdiagnostics" to - "libgdiagnostics". - * doc/libdiagnostics/*: Rename to doc/libgdiagnostics, renaming - "libdiagnostics" to "libgdiagnostics" throughout. - * libdiagnostics++.h: Rename to... - * libgdiagnostics++.h: ...this, renaming "libdiagnostics" to - "libgdiagnostics" throughout. - * libdiagnostics.cc: Rename to... - * libgdiagnostics.cc: ...this, renaming "libdiagnostics" to - "libgdiagnostics" throughout. - * libdiagnostics.h: Rename to... - * libgdiagnostics.h: ...this, renaming "libdiagnostics" to - "libgdiagnostics" throughout. - * libdiagnostics.map: Rename to... - * libgdiagnostics.map: ...this, renaming "libdiagnostics" to - "libgdiagnostics" throughout. - * libsarifreplay.cc: Update for renaming of "libdiagnostics" - to "libgdiagnostics". - * libsarifreplay.h: Likewise. - * sarif-replay.cc: Likewise. - * doc/libgdiagnostics/Makefile: New file. - * doc/libgdiagnostics/conf.py: New file. - * doc/libgdiagnostics/index.rst: New file. - * doc/libgdiagnostics/make.bat: New file. - * doc/libgdiagnostics/topics/diagnostic-manager.rst: New file. - * doc/libgdiagnostics/topics/diagnostics.rst: New file. - * doc/libgdiagnostics/topics/execution-paths.rst: New file. - * doc/libgdiagnostics/topics/fix-it-hints.rst: New file. - * doc/libgdiagnostics/topics/index.rst: New file. - * doc/libgdiagnostics/topics/logical-locations.rst: New file. - * doc/libgdiagnostics/topics/message-formatting.rst: New file. - * doc/libgdiagnostics/topics/metadata.rst: New file. - * doc/libgdiagnostics/topics/physical-locations.rst: New file. - * doc/libgdiagnostics/topics/retrofitting.rst: New file. - * doc/libgdiagnostics/topics/sarif.rst: New file. - * doc/libgdiagnostics/topics/text-output.rst: New file. - * doc/libgdiagnostics/topics/ux.rst: New file. - * doc/libgdiagnostics/tutorial/01-hello-world.rst: New file. - * doc/libgdiagnostics/tutorial/02-physical-locations.rst: New file. - * doc/libgdiagnostics/tutorial/03-logical-locations.rst: New file. - * doc/libgdiagnostics/tutorial/04-notes.rst: New file. - * doc/libgdiagnostics/tutorial/05-warnings.rst: New file. - * doc/libgdiagnostics/tutorial/06-fix-it-hints.rst: New file. - * doc/libgdiagnostics/tutorial/07-execution-paths.rst: New file. - * doc/libgdiagnostics/tutorial/example-1.png: New file. - * doc/libgdiagnostics/tutorial/index.rst: New file. - -2024-11-29 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-c.cc: Fix some coding rule nits and typos. - * config/avr/avr-passes.cc: Same - * config/avr/avr.h: Same. - * config/avr/avr.cc: Same. - (avr_function_arg_regno_p, avr_hard_regno_rename_ok) - (avr_epilogue_uses, extra_constraint_Q): Return bool instead of int. - * config/avr/avr-protos.h (avr_function_arg_regno_p) - (avr_hard_regno_rename_ok, avr_epilogue_uses) - (extra_constraint_Q): Return bool instead of int. - -2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-builtins.cc (aarch64_init_data_intrinsics): Call - aarch64_get_attributes and update calls to aarch64_general_add_builtin. - -2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-builtins.cc (aarch64_init_prefetch_builtin): - Updete call to aarch64_general_add_builtin in AARCH64_INIT_PREFETCH_BUILTIN. - Add new variable prefetch_attrs. - -2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-builtins.cc (VREINTERPRET_BUILTIN): Use - FLAG_NONE instead of FLAG_AUTO_FP. - (VGET_LOW_BUILTIN): Likewise. - (VGET_HIGH_BUILTIN): Likewise. - -2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/117665 - * config/aarch64/aarch64-builtins.cc (aarch64_init_simd_builtin_functions): - Pass nothrow and leaf as attributes to aarch64_general_add_builtin for - __builtin_aarch64_im_lane_boundsi. - -2024-11-29 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/117770 - * lra-lives.cc: Include ira-int.h. - (process_bb_lives): Check hard regs corresponding insn operands - for dying hard wired reg clobbers. - -2024-11-29 Georg-Johann Lay <avr@gjlay.de> - - PR target/117681 - * config/avr/avr.cc (TARGET_UNWIND_WORD_MODE): Define to... - (avr_unwind_word_mode): ...this new static function. - -2024-11-29 Georg-Johann Lay <avr@gjlay.de> - - PR target/117726 - * config/avr/avr-passes.cc (avr_shift_is_3op, avr_emit_shift): - Also handle 2-byte and 3-byte shifts. - (avr_split_shift4, avr_split_shift3, avr_split_shift2): New - local helper functions. - (avr_split_shift): Use them. - * config/avr/avr-passes.def (avr_pass_split_after_peephole2): - Adjust comments. - * config/avr/avr.cc (avr_out_ashlpsi3, avr_out_ashrpsi3) - (avr_out_lshrpsi3): Support offset 15. - (ashrhi3_out): Support offset 7 as 3-op. - (ashrsi3_out): Support offset 15. - (avr_rtx_costs_1): Adjust shift costs. - * config/avr/avr.md (2op): Remove attribute value and all such insn - alternatives. - (ashlhi3, *ashlhi3, *ashlhi3_const): Add 3-op alternatives like C2l. - (ashrhi3, *ashrhi3, *ashrhi3_const): Add 3-op alternatives like C2a. - (lshrhi3, *lshrhi3, *lshrhi3_const): Add 3-op alternatives like C2r. - (*ashlpsi3_split, *ashlpsi3): Add 3-op alternatives C15 and C3l. - (*ashrpsi3_split, *ashrpsi3): Add 3-op alternatives C15 and C3r. - (*lshrpsi3_split, *lshrpsi3): Add 3-op alternatives C15 and C3r. - (ashlsi3, *ashlsi3, *ashlsi3_const): Remove "2op" alternative. - (ashrsi3, *ashrsi3, *ashrsi3_const): Same. - (lshrsi3, *lshrsi3, *lshrsi3_const): Same. - (constr_split_suffix): Code attr morphed from constr_split_shift4. - * config/avr/constraints.md (C2a, C2r, C2l) - (C3a, C3r, C3l): New constraints. - * doc/invoke.texi (AVR Options) <-msplit-bit-shift>: Adjust doc. - -2024-11-29 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR target/117814 - * config/arm/arm.cc (arm_attempt_dlstp_transform): Use - reg_overlap_mentioned_p instead of rtx_equal_p to detect uses of - vctp_vpr_generated inside subregs. - -2024-11-29 Mariam Arutunian <mariamarutunian@gmail.com> - - * expr.cc (gf2n_poly_long_div_quotient): New function. - * expr.h (gf2n_poly_long_div_quotient): New function declaration. - * hwint.cc (reflect_hwi): New function. - * hwint.h (reflect_hwi): New function declaration. - * config/riscv/bitmanip.md (crc_rev<ANYI1:mode><ANYI:mode>4): New - expander for reversed CRC. - (crc<SUBX1:mode><SUBX:mode>4): New expander for bit-forward CRC. - * config/riscv/iterators.md (SUBX1, ANYI1): New iterators. - * config/riscv/riscv-protos.h (generate_reflecting_code_using_brev): - New function declaration. - (expand_crc_using_clmul): Likewise. - (expand_reversed_crc_using_clmul): Likewise. - * config/riscv/riscv.cc (generate_reflecting_code_using_brev): New - function. - (expand_crc_using_clmul): Likewise. - (expand_reversed_crc_using_clmul): Likewise. - * config/riscv/riscv.md (UNSPEC_CRC, UNSPEC_CRC_REV): New unspecs. - * doc/sourcebuild.texi: Document new target selectors. - -2024-11-29 yulong <shiyulong@iscas.ac.cn> - - * config.gcc: Add new SiFive *.o files. - * config/riscv/generic-vector-ooo.md: New reservation. - * config/riscv/genrvv-type-indexer.cc (main): New type. - * config/riscv/riscv-vector-builtins-shapes.cc (struct sf_vqmacc_def): New function. - (SHAPE): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_QMACC_OPS): New macros type. - (vint32m1_t): Ditto. - (vint32m2_t): Ditto. - (vint32m4_t): Ditto. - (vint32m8_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_QMACC_OPS): New builtins def. - (DEF_RVV_TYPE_INDEX): Ditto. - (DEF_RVV_FUNCTION): Ditto. - * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE_INDEX): New types def. - (4x8x4): New op type. - (2x8x2): Ditto. - (quad_emul_vector): New base type. - (quad_emul_signed_vector): Ditto. - (quad_emul_unsigned_vector): Ditto. - (quad_fixed_vector): Ditto. - (quad_fixed_signed_vector): Ditto. - (quad_fixed_unsigned_vector): Ditto. - (quad_lmul1_vector): Ditto. - (quad_lmul1_signed_vector): Ditto. - (quad_lmul1_unsigned_vector): Ditto. - * config/riscv/riscv-vector-builtins.h (enum required_ext): New extensions. - (required_ext_to_isa_name): Ditto. - (required_extensions_specified): Ditto. - (struct function_group_info): Ditto. - * config/riscv/riscv.md: New attr. - * config/riscv/t-riscv: Add include for SiFive files. - * config/riscv/vector-iterators.md: New iterator. - * config/riscv/vector.md: New include for SiFive file. - * config/riscv/sifive-vector-builtins-bases.cc: New file. - * config/riscv/sifive-vector-builtins-bases.h: New file. - * config/riscv/sifive-vector-builtins-functions.def: New file. - * config/riscv/sifive-vector.md: New file. - -2024-11-29 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-errata.h (TARGET_SUPPRESS_OPT_SPEC, - TARGET_TURN_OFF_OPT_SPEC, CA53_ERR_835769_COMPILE_SPEC, - CA53_ERR_843419_COMPILE_SPEC): New. - (CA53_ERR_835769_SPEC, CA53_ERR_843419_SPEC): Use them. - * config/aarch64/aarch64-elf-raw.h (CC1_SPEC, CC1PLUS_SPEC): Add - AARCH64_ERRATA_COMPILE_SPEC. - * config/aarch64/aarch64-freebsd.h (CC1_SPEC, CC1PLUS_SPEC): Likewise. - * config/aarch64/aarch64-gnu.h (CC1_SPEC, CC1PLUS_SPEC): Likewise. - * config/aarch64/aarch64-linux.h (CC1_SPEC, CC1PLUS_SPEC): Likewise. - * config/aarch64/aarch64-netbsd.h (CC1_SPEC, CC1PLUS_SPEC): Likewise. - * common/config/aarch64/aarch64-common.cc - (is_host_cpu_not_armv8_base): New. - * config/aarch64/driver-aarch64.cc: Remove extra newline - * config/aarch64/aarch64.h (is_host_cpu_not_armv8_base): New. - (MCPU_TO_MARCH_SPEC_FUNCTIONS): Add is_local_not_armv8_base. - (EXTRA_SPEC_FUNCTIONS): Add is_local_cpu_armv8_base. - * doc/invoke.texi: Document it. - -2024-11-29 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sme.md: In the section comments, add the - architecture requirements alongside some mnemonics. - * config/aarch64/aarch64-sve2.md: Likewise. - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64-option-extensions.def - (fp8dot4, ssve-fp8dot4): Add new extensions. - (fp8dot2, ssve-fp8dot2): Likewise. - * config/aarch64/aarch64-sve-builtins-base.cc (svdot_impl): Support fp8. - (svdotprod_lane_impl): Likewise. - (svdot_lane): Provide an unspec for fp8 types. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (ternary_mfloat8_def): Add new class. - (ternary_mfloat8): Add new shape. - (ternary_mfloat8_lane_group_selection_def): Add new class. - (ternary_mfloat8_lane_group_selection): Add new shape. - * config/aarch64/aarch64-sve-builtins-shapes.h - (ternary_mfloat8, ternary_mfloat8_lane_group_selection): Declare. - * config/aarch64/aarch64-sve-builtins-sve2.def - (svdot, svdot_lane): Add new DEF_SVE_FUNCTION_GS_FPM, twice to deal - with the combination of features providing support for 32 and 16 bit - floating point. - * config/aarch64/aarch64-sve2.md (@aarch64_sve_dot<mode>): Add new. - (@aarch64_sve_dot_lane<mode>): Likewise. - * config/aarch64/aarch64.h: - (TARGET_FP8DOT4, TARGET_SSVE_FP8DOT4): Add new defines. - (TARGET_FP8DOT2, TARGET_SSVE_FP8DOT2): Likewise. - * config/aarch64/iterators.md - (UNSPEC_DOT_FP8, UNSPEC_DOT_LANE_FP8): Add new unspecs. - * doc/invoke.texi: Document fp8dot4, fp8dot2, ssve-fp8dot4, ssve-fp8dot2 - extensions. - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64-option-extensions.def - (fp8fma, ssve-fp8fma): Add new options. - * config/aarch64/aarch64-sve-builtins-functions.h - (unspec_based_function_base): Add unspec_for_mfp8. - (unspec_for): Return unspec_for_mfp8 on fpm-using cases. - (sme_1mode_function): Fix call to parent ctor. - (sme_2mode_function_t): Likewise. - (unspec_based_mla_function, unspec_based_mla_lane_function): Handle - fpm-using cases. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (parse_element_type): Treat M as TYPE_SUFFIX_mf8 - (ternary_mfloat8_lane_def): Add new class. - (ternary_mfloat8_opt_n_def): Likewise. - (ternary_mfloat8_lane): Add new shape. - (ternary_mfloat8_opt_n): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.h - (ternary_mfloat8_lane, ternary_mfloat8_opt_n): Declare. - * config/aarch64/aarch64-sve-builtins-sve2.cc - (svmlalb_lane, svmlalb, svmlalt_lane, svmlalt): Update definitions - with mfloat8_t unspec in ctor. - (svmlallbb_lane, svmlallbb, svmlallbt_lane, svmlallbt, svmlalltb_lane, - svmlalltb, svmlalltt_lane, svmlalltt, svmlal_impl): Add new FUNCTIONs. - (svqrshr, svqrshrn, svqrshru, svqrshrun): Update definitions with - nop mfloat8 unspec in ctor. - * config/aarch64/aarch64-sve-builtins-sve2.def - (svmlalb, svmlalt, svmlalb_lane, svmlalt_lane, svmlallbb, svmlallbt, - svmlalltb, svmlalltt, svmlalltt_lane, svmlallbb_lane, svmlallbt_lane, - svmlalltb_lane): Add new DEF_SVE_FUNCTION_GS_FPMs. - * config/aarch64/aarch64-sve-builtins-sve2.h - (svmlallbb_lane, svmlallbb, svmlallbt_lane, svmlallbt, svmlalltb_lane, - svmlalltb, svmlalltt_lane, svmlalltt): Declare. - * config/aarch64/aarch64-sve-builtins.cc - (TYPES_h_float_mf8, TYPES_s_float_mf8): Add new types. - (h_float_mf8, s_float_mf8): Add new SVE_TYPES_ARRAY. - * config/aarch64/aarch64-sve2.md - (@aarch64_sve_add_<sve2_fp8_fma_op_vnx8hf><mode>): Add new. - (@aarch64_sve_add_<sve2_fp8_fma_op_vnx4sf><mode>): Add new. - (@aarch64_sve_add_lane_<sve2_fp8_fma_op_vnx8hf><mode>): Likewise. - (@aarch64_sve_add_lane_<sve2_fp8_fma_op_vnx4sf><mode>): Likewise. - * config/aarch64/aarch64.h - (TARGET_FP8FMA, TARGET_SSVE_FP8FMA): Likewise. - * config/aarch64/iterators.md - (VNx8HF_ONLY): Add new. - (UNSPEC_FMLALB_FP8, UNSPEC_FMLALLBB_FP8, UNSPEC_FMLALLBT_FP8, - UNSPEC_FMLALLTB_FP8, UNSPEC_FMLALLTT_FP8, UNSPEC_FMLALT_FP8): Likewise. - (SVE2_FP8_TERNARY_VNX8HF, SVE2_FP8_TERNARY_VNX4SF): Likewise. - (SVE2_FP8_TERNARY_LANE_VNX8HF, SVE2_FP8_TERNARY_LANE_VNX4SF): Likewise. - (sve2_fp8_fma_op_vnx8hf, sve2_fp8_fma_op_vnx4sf): Likewise. - * doc/invoke.texi: Document fp8fma and sve-fp8fma extensions. - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64-sve-builtins-shapes.cc - (parse_signature): Add an fpm_t (uint64_t) argument to functions that - set the fpm register. - (unary_convertxn_narrowt_def): New class. - (unary_convertxn_narrowt): New shape. - (unary_convertxn_narrow_def): New class. - (unary_convertxn_narrow): New shape. - * config/aarch64/aarch64-sve-builtins-shapes.h - (unary_convertxn_narrowt): Declare. - (unary_convertxn_narrow): Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc - (svcvt_fp8_impl): New class. - (svcvtn_impl): Handle fp8 cases. - (svcvt1, svcvt2, svcvtlt1, svcvtlt2): Add new FUNCTION. - (svcvtnb): Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.def - (svcvt1, svcvt2, svcvtlt1, svcvtlt2): Add new DEF_SVE_FUNCTION_GS_FPM. - (svcvtn): Likewise. - (svcvtnb, svcvtnt): Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.h - (svcvt1, svcvt2, svcvtlt1, svcvtlt2, svcvtnb, svcvtnt): Declare. - * config/aarch64/aarch64-sve-builtins.cc - (TYPES_cvt_mf8, TYPES_cvtn_mf8, TYPES_cvtnx_mf8): Add new types arrays. - (function_builder::get_name): Append _fpm to functions that set fpmr. - (function_resolver::check_gp_argument): Deal with the fpm_t argument. - (function_expander::expand): Set the fpm register before - calling the insn if the function warrants it. - * config/aarch64/aarch64-sve2.md (@aarch64_sve2_fp8_cvt): Add new. - (@aarch64_sve2_fp8_cvtn): Likewise. - (@aarch64_sve2_fp8_cvtnb): Likewise. - (@aarch64_sve_cvtnt): Likewise. - * config/aarch64/aarch64.h (TARGET_SSVE_FP8): Add new. - * config/aarch64/iterators.md - (VNx8SF_ONLY, SVE_FULL_HFx2): New mode iterators. - (UNSPEC_F1CVT, UNSPEC_F1CVTLT, UNSPEC_F2CVT, UNSPEC_F2CVTLT): Add new. - (UNSPEC_FCVTNB, UNSPEC_FCVTNT): Likewise. - (UNSPEC_FP8FCVTN): Likewise. - (FP8CVT_UNS, fp8_cvt_uns_op): Likewise. - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64-sve-builtins-base.cc - (svdiv_impl): Specify FPM_unused when folding. - (svmul_impl): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (build_one): Use the group fpm_mode when creating function instances. - * config/aarch64/aarch64-sve-builtins-sve2.cc - (svaba_impl, svqrshl_impl, svqshl_impl,svrshl_impl, svsra_impl): - Specify FPM_unused when folding. - * config/aarch64/aarch64-sve-builtins.cc (function_groups): Set - fpm_mode on all elements. - (neon_sve_function_groups, sme_function_groups): Likewise. - (function_instance::hash): Include fpm_mode in hash. - (function_builder::add_overloaded_functions): Use the group fpm mode. - (function_resolver::lookup_form): Use the function instance fpm_mode - when looking up a function. - * config/aarch64/aarch64-sve-builtins.def - (DEF_SVE_FUNCTION_GS_FPM): add define. - (DEF_SVE_FUNCTION_GS): redefine against DEF_SVE_FUNCTION_GS_FPM. - * config/aarch64/aarch64-sve-builtins.h (fpm_mode_index): New. - (function_group_info): Add fpm_mode. - (function_instance): Likewise. - (function_instance::operator==): Handle fpm_mode. - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64-sve-builtins.cc (TYPES_b_data): Add mf8. - (TYPES_reinterpret1, TYPES_reinterpret): Likewise. - * config/aarch64/aarch64-sve-builtins.def (svmfloat8_t): New type. - (mf8): New type suffix. - * config/aarch64/aarch64-sve-builtins.h (TYPE_mfloat): New - type_class_index. - -2024-11-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115438 - * tree-vect-loop.cc (vect_transform_cycle_phi): For SLP also - try to do the reduction adjustment by the initial value - in the epilogue. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * tree.cc (build_vector_from_ctor): Add support to construct VLA vector - constants from init constructors. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * gimple-fold.cc (maybe_canonicalize_mem_ref_addr): Handle variable - sized vector types in BIT_FIELD_REF canonicalization. - * tree-cfg.cc (verify_types_in_gimple_reference): Change object-size- - checking for BIT_FIELD_REF to error offsets that are known_gt to be - outside object-size. Out-of-range offsets can happen in the case of - indices that reference VLA SVE vector elements that may be outside the - minimum vector size range and therefore maybe_gt is not appropirate - here. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Flip - TYPE_INDIVISBLE flag for SVE ACLE vector types. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define - __ARM_FEATURE_SVE_VECTOR_OPERATORS. - -2024-11-29 Yury Khrustalev <yury.khrustalev@arm.com> - - * config/aarch64/arm_acle.h (_CHKFEAT_GCS): New. - -2024-11-29 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117065 - * gimple-fold.cc (type_has_padding_at_level_p) <case UNION_TYPE>: - Also continue if f has error_mark_node type. - -2024-11-29 Jakub Jelinek <jakub@redhat.com> - - PR target/117608 - * doc/extend.texi (__builtin_prefetch): Document that second - argument may be also 2 and its meaning. - * config/i386/i386.md (prefetch): Remove unreachable code. - Clear write set operands[1] to const0_rtx if !TARGET_MOVRS or - of locality is not 1. Formatting fixes. - * config/i386/i386-expand.cc (ix86_expand_builtin): Use IN_RANGE. - Call gen_prefetch even for TARGET_MOVRS. - * config/alpha/alpha.md (prefetch): Treat read_or_write 2 like 0. - * config/mips/mips.md (prefetch): Likewise. - * config/arc/arc.md (prefetch_1, prefetch_2, prefetch_3): Likewise. - * config/riscv/riscv.md (prefetch): Likewise. - * config/loongarch/loongarch.md (prefetch): Likewise. - * config/sparc/sparc.md (prefetch): Likewise. Use IN_RANGE. - * config/ia64/ia64.md (prefetch): Likewise. - * config/pa/pa.md (prefetch): Likewise. - * config/aarch64/aarch64.md (prefetch): Likewise. - * config/rs6000/rs6000.md (prefetch): Likewise. - -2024-11-29 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/117723 - * tree-ssa-ifcombine.cc (tree_ssa_ifcombine_bb): Record - forwarder blocks in path to exit, and stick to them. Avoid - computing the exit if obviously not needed, and if that - enables additional optimizations. - (tree_ssa_ifcombine_bb_1): Fix typos. - -2024-11-28 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (*<any_shift:insn><mode>3_mask): Macroize - pattern from *ashl<mode>3_mask and *<any_shiftrt:insn><mode>3_mask - using any_shift code iterator. - (*<any_shift:insn><mode>3_mask_1): Macroize pattern - from *ashl<mode>3_mask_1 and *<any_shiftrt:insn><mode>3_mask_1 - using any_shift code iterator. - (*<any_shift:insn><mode>3_add): Macroize pattern - from *ashl<mode>3_add and *<any_shiftrt:insn><mode>3_add - using any_shift code iterator. - (*<any_shift:insn><mode>3_add_1): Macroize pattern - from *ashl<mode>3_add_1 and *<any_shiftrt:insn><mode>3_add_1 - using any_shift code iterator. - (*<insn><mode>3_sub): Macroize pattern - from *ashl<mode>3_sub and *<any_shiftrt:insn><mode>3_sub - using any_shift code iterator. - (*<any_shift:insn><mode>3_sub_1): Macroize pattern - from *ashl<mode>3_sub_1 and *<any_shiftrt:insn><mode>3_sub_1 - using any_shift code iterator. - -2024-11-28 Mariam Arutunian <mariamarutunian@gmail.com> - - * builtin-types.def (BT_FN_UINT8_UINT8_UINT8_CONST_SIZE): Define. - (BT_FN_UINT16_UINT16_UINT8_CONST_SIZE): Likewise. - (BT_FN_UINT16_UINT16_UINT16_CONST_SIZE): Likewise. - (BT_FN_UINT32_UINT32_UINT8_CONST_SIZE): Likewise. - (BT_FN_UINT32_UINT32_UINT16_CONST_SIZE): Likewise. - (BT_FN_UINT32_UINT32_UINT32_CONST_SIZE): Likewise. - (BT_FN_UINT64_UINT64_UINT8_CONST_SIZE): Likewise. - (BT_FN_UINT64_UINT64_UINT16_CONST_SIZE): Likewise. - (BT_FN_UINT64_UINT64_UINT32_CONST_SIZE): Likewise. - (BT_FN_UINT64_UINT64_UINT64_CONST_SIZE): Likewise. - * builtins.cc (associated_internal_fn): Handle CRC related builtins. - (expand_builtin_crc_table_based): New function. - (expand_builtin): Handle CRC related builtins. - * builtins.def (BUILT_IN_CRC8_DATA8): New builtin. - (BUILT_IN_CRC16_DATA8): Likewise. - (BUILT_IN_CRC16_DATA16): Likewise. - (BUILT_IN_CRC32_DATA8): Likewise. - (BUILT_IN_CRC32_DATA16): Likewise. - (BUILT_IN_CRC32_DATA32): Likewise. - (BUILT_IN_CRC64_DATA8): Likewise. - (BUILT_IN_CRC64_DATA16): Likewise. - (BUILT_IN_CRC64_DATA32): Likewise. - (BUILT_IN_CRC64_DATA64): Likewise. - (BUILT_IN_REV_CRC8_DATA8): New builtin. - (BUILT_IN_REV_CRC16_DATA8): Likewise. - (BUILT_IN_REV_CRC16_DATA16): Likewise. - (BUILT_IN_REV_CRC32_DATA8): Likewise. - (BUILT_IN_REV_CRC32_DATA16): Likewise. - (BUILT_IN_REV_CRC32_DATA32): Likewise. - (BUILT_IN_REV_CRC64_DATA8): Likewise. - (BUILT_IN_REV_CRC64_DATA16): Likewise. - (BUILT_IN_REV_CRC64_DATA32): Likewise. - (BUILT_IN_REV_CRC64_DATA64): Likewise. - * builtins.h (expand_builtin_crc_table_based): New function - declaration. - * doc/extend.texi: Add documentation for new CRC builtins. - -2024-11-28 Mariam Arutunian <mariamarutunian@gmail.com> - - * doc/md.texi (crc@var{m}@var{n}4, crc_rev@var{m}@var{n}4): Document. - * expr.cc (calculate_crc): New function. - (assemble_crc_table): Likewise. - (generate_crc_table): Likewise. - (calculate_table_based_CRC): Likewise. - (expand_crc_table_based): Likewise. - (gen_common_operation_to_reflect): Likewise. - (reflect_64_bit_value): Likewise. - (reflect_32_bit_value): Likewise. - (reflect_16_bit_value): Likewise. - (reflect_8_bit_value): Likewise. - (generate_reflecting_code_standard): Likewise. - (expand_reversed_crc_table_based): Likewise. - * expr.h (generate_reflecting_code_standard): New function declaration. - (expand_crc_table_based): Likewise. - (expand_reversed_crc_table_based): Likewise. - * internal-fn.cc: (crc_direct): Define. - (direct_crc_optab_supported_p): Likewise. - (expand_crc_optab_fn): New function - * internal-fn.def (CRC, CRC_REV): New internal functions. - * optabs.def (crc_optab, crc_rev_optab): New optabs. - Signed-off-by: Mariam Arutunian <mariamarutunian@gmail.com> - Co-authored-by: Joern Rennecke <joern.rennecke@embecosm.com> - Co-authored-by: Jeff Law <jlaw@ventanamicro.com> - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR target/117642 - * doc/extend.texi: Remove documentation of warning for unimplemented - __sync_* operations, such warning has never been implemented. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c/117023 - * gimple-range-infer.cc (gimple_infer_range::gimple_infer_range): - Handle also nonnull_if_nonzero attributes. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c/117023 - * gimple.h (infer_nonnull_range_by_attribute): Add a tree * - argument defaulted to NULL. - * gimple.cc (infer_nonnull_range_by_attribute): Add op2 argument. - Handle also nonnull_if_nonzero attributes. - * tree.cc (get_nonnull_args): Fix comment typo. - * builtins.cc (validate_arglist): Handle nonnull_if_nonzero attribute. - * tree-ssa-ccp.cc (pass_post_ipa_warn::execute): Handle - nonnull_if_nonzero attributes. - * ubsan.cc (instrument_nonnull_arg): Adjust - infer_nonnull_range_by_attribute caller. If it returned true and - filed in non-NULL arg2, check that arg2 is non-zero as another - condition next to checking that arg is zero. - * doc/extend.texi (nonnull_if_nonzero): Document new attribute. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - * config/rs6000/rs6000.h (struct machine_function): Add - asm_redzone_clobber_seen member. - * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Force - info->push_p if cfun->machine->asm_redzone_clobber_seen. - * config/rs6000/rs6000.cc (TARGET_REDZONE_CLOBBER): Redefine. - (rs6000_redzone_clobber): New function. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - * target.def (redzone_clobber): New target hook. - * varasm.cc (decode_reg_name_and_count): Return -5 for - "redzone". - * cfgexpand.cc (expand_asm_stmt): Handle redzone clobber. - * config/i386/i386.h (struct machine_function): Add - asm_redzone_clobber_seen member. - * config/i386/i386.cc (ix86_compute_frame_layout): Don't - use red zone if cfun->machine->asm_redzone_clobber_seen. - (ix86_redzone_clobber): New function. - (TARGET_REDZONE_CLOBBER): Redefine. - * doc/extend.texi (Clobbers and Scratch Registers): Document - the "redzone" clobber. - * doc/tm.texi.in: Add @hook TARGET_REDZONE_CLOBBER. - * doc/tm.texi: Regenerate. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c++/116416 - * flag-types.h (enum zero_init_padding_bits_kind): New type. - * tree.h (CONSTRUCTOR_ZERO_PADDING_BITS): Define. - * common.opt (fzero-init-padding-bits=): New option. - * expr.cc (categorize_ctor_elements_1): Handle - CONSTRUCTOR_ZERO_PADDING_BITS or - flag_zero_init_padding_bits == ZERO_INIT_PADDING_BITS_ALL. Fix - up *p_complete = -1; setting for unions. - (complete_ctor_at_level_p): Handle unions differently for - flag_zero_init_padding_bits == ZERO_INIT_PADDING_BITS_STANDARD. - * gimple-fold.cc (type_has_padding_at_level_p): Fix up UNION_TYPE - handling, return also true for UNION_TYPE with no FIELD_DECLs - and non-zero size, handle QUAL_UNION_TYPE like UNION_TYPE. - * doc/invoke.texi (-fzero-init-padding-bits=@var{value}): Document. - -2024-11-28 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/117557 - * tree-vect-stmts.cc (vectorizable_store): Flatten the ncopies and - vec_num loops. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117358 - * gimple-fold.cc (gimple_fold_builtin_memory_op): Punt if stmt has no - vdef in ssa form. - (gimple_fold_builtin_bcmp): Punt if stmt has no vuse in ssa form. - (gimple_fold_builtin_bcopy): Punt if stmt has no vdef in ssa form. - (gimple_fold_builtin_bzero): Likewise. - (gimple_fold_builtin_memset): Likewise. Use return false instead of - return NULL_TREE. - (gimple_fold_builtin_strcpy): Punt if stmt has no vdef in ssa form. - (gimple_fold_builtin_strncpy): Likewise. - (gimple_fold_builtin_strchr): Punt if stmt has no vuse in ssa form. - (gimple_fold_builtin_strstr): Likewise. - (gimple_fold_builtin_strcat): Punt if stmt has no vdef in ssa form. - (gimple_fold_builtin_strcat_chk): Likewise. - (gimple_fold_builtin_strncat): Likewise. - (gimple_fold_builtin_strncat_chk): Likewise. - (gimple_fold_builtin_string_compare): Likewise. - (gimple_fold_builtin_fputs): Likewise. - (gimple_fold_builtin_memory_chk): Likewise. - (gimple_fold_builtin_stxcpy_chk): Likewise. - (gimple_fold_builtin_stxncpy_chk): Likewise. - (gimple_fold_builtin_stpcpy): Likewise. - (gimple_fold_builtin_snprintf_chk): Likewise. - (gimple_fold_builtin_sprintf_chk): Likewise. - (gimple_fold_builtin_sprintf): Likewise. - (gimple_fold_builtin_snprintf): Likewise. - (gimple_fold_builtin_fprintf): Likewise. - (gimple_fold_builtin_printf): Likewise. - (gimple_fold_builtin_realloc): Likewise. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c/117802 - * builtins.cc (fold_builtin_iseqsig): Handle BITINT_TYPE like - INTEGER_TYPE. - -2024-11-28 David Malcolm <dmalcolm@redhat.com> - - * timevar.cc: Include "make-unique.h". - (timer::named_items::make_json): Convert return type to unique_ptr. - Avoid naked "new". - (make_json_for_timevar_time_def): Likewise. - (timer::timevar_def::make_json): Likewise. - (timer::make_json): Likewise. - * timevar.h (timer::make_json): Likewise. - (timer::timevar_def::make_json): Likewise. - * tree-diagnostic-client-data-hooks.cc: Update for above changes. - -2024-11-28 David Malcolm <dmalcolm@redhat.com> - - PR c/104896 - * common/config/ia64/ia64-common.cc (ia64_handle_option): Replace - "%<%s%>" with "%qs" in message wording. - * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): - Likewise. - * config/aarch64/aarch64.cc (aarch64_validate_sls_mitigation): - Likewise. - (aarch64_override_options): Likewise. - (aarch64_process_target_attr): Likewise. - * config/arm/aarch-common.cc (aarch_validate_mbranch_protection): - Likewise. - * config/pru/pru.cc (pru_insert_attributes): Likewise. - * config/riscv/riscv-target-attr.cc - (riscv_target_attr_parser::parse_arch): Likewise. - * omp-general.cc (oacc_verify_routine_clauses): Likewise. - * tree-ssa-uninit.cc (maybe_warn_read_write_only): Likewise. - (maybe_warn_pass_by_reference): Likewise. - -2024-11-27 Uros Bizjak <ubizjak@gmail.com> - - PR target/36503 - * config/i386/i386.md (*ashl<mode>3_add): - New define_insn_and_split pattern. - (*ashl<mode>3_add_1): Ditto. - (*<insn><mode>3_add): Ditto. - (*<insn><mode>3_add_1): Ditto. - (*ashl<mode>3_sub): Rename from *ashl<mode>3_negcnt. - (*ashl<mode>3_sub_1): Rename from *ashl<mode>3_negcnt_1. - (*<insn><mode>3_sub): Rename from *<insn><mode>3_negcnt. - (*<insn><mode>3_sub_1): Rename from *<insn><mode>3_negcnt_1. - -2024-11-27 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117776 - * match.pd (nested int casts): Allow for the case - where the final prec is greater than the original - prec. - -2024-11-27 Pan Li <pan2.li@intel.com> - - * match.pd: Refactor sorts of unsigned SAT_ADD match pattern for - IFN ADD_OVERFLOW. - -2024-11-27 Jakub Jelinek <jakub@redhat.com> - - PR target/117642 - * builtins.cc (expand_builtin_sync_lock_release): Change return type - from void to rtx, return result of expand_atomic_store. - (expand_builtin) <case BUILT_IN_SYNC_LOCK_RELEASE_16>: If - expand_builtin_sync_lock_release returns NULL, do a break rather - than return const0_rtx. - -2024-11-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117692 - * tree.cc (get_range_pos_neg): Adjust function comment, use - non-negative instead of positive. - * match.pd - (((X /[ex] C1) +- C2) * (C1 * C3) -> (X * C3) +- (C1 * C2 * C3)): - Use casts to utype if type is signed, factor isn't 1 and - C1 and C2 could have different sign for + or could have the - same sign for -. - -2024-11-27 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc (ifcombine_ifandif): Avoid fallback - conjunction of noncontiguous conditions. - -2024-11-27 Florian Weimer <fweimer@redhat.com> - - * doc/invoke.texi: Document -Wfree-labels. - -2024-11-27 Jason Merrill <jason@redhat.com> - Andrew Pinski <quic_apinski@quicinc.com> - Andi Kleen <ak@gcc.gnu.org> - - PR bootstrap/117350 - * tree.cc (need_assembler_name_p): Keep assembler name - for abstract declarations when autofdo is used. - -2024-11-26 David Malcolm <dmalcolm@redhat.com> - - * selftest.cc (selftest::print_diff): New function. - (selftest::assert_streq): Call it when we have non-equal - non-null strings. - -2024-11-26 David Malcolm <dmalcolm@redhat.com> - - PR translation/90160 - * config/csky/csky.cc (csky_configure_build_target): Use %qs when - referring to cpu and arch names. - (csky_option_override): Likewise. - -2024-11-26 David Malcolm <dmalcolm@redhat.com> - - PR translation/80760 - * tree-ssa-loop-prefetch.cc (pass_loop_prefetch::execute): Add - missing colon to not-a-power-of-two param warning. - -2024-11-26 David Malcolm <dmalcolm@redhat.com> - - PR plugins/93746 - * plugin.cc (try_init_one_plugin): Add missing colon in error - message. - -2024-11-26 Alex Coplan <alex.coplan@arm.com> - - * gdbhooks.py (strip_ref): New. Use it ... - (VecPrinter.to_string): ... here, - (VecPrinter.children): ... and here. - -2024-11-26 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-avlprop.cc (pass_avlprop::get_vlmax_ta_preferred_avl): - Check whether the use insn is valid for propagation. - -2024-11-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/102674 - * builtins.cc (fold_builtin_fpclassify): Use real_from_string3 rather - than real_from_string. Use "1E%d" format string rather than "0x1p%d" - for decimal float minimum. Formatting fixes. - -2024-11-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/43374 - * real.cc (get_max_float): Handle decimal float. - * builtins.cc (fold_builtin_interclass_mathfn): Use - real_from_string3 rather than real_from_string. Use - "1E%d" format string rather than "0x1p%d" for decimal - float minimum. - -2024-11-26 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-affine.cc (wide_int_constant_multiple_p): Remove unused rem variable. - -2024-11-26 Cui, Lili <lili.cui@intel.com> - - PR target/116675 - * config/i386/i386-expand.cc (expand_vec_perm_pand_pandn_por): - New subroutine. - (ix86_expand_vec_perm_const_1): Call expand_vec_perm_pand_pandn_por. - -2024-11-25 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/117771 - * system.h: Move the include of sstream above safe-ctype.h. - -2024-11-25 H.J. Lu <hjl.tools@gmail.com> - - PR middle-end/117098 - * calls.cc (store_one_arg): Check partial != 0 for BLKmode argument - passed on stack. - -2024-11-25 John David Anglin <danglin@gcc.gnu.org> - - PR target/117645 - * config/pa/pa.md (addti3): Revise pattern to support - arith11_operands. Use "R" operand prefix to print least - significant register of TImode register pair. - (addvti3, subti3, subvti3): Likewise. - (negti2, negvti2): Use "R" operand prefix. - -2024-11-25 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/117105 - * lra-constraints.cc (get_reload_reg): Create unique value reload - pseudos for early clobbered operands. - -2024-11-25 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (*ashl<mode>3_negcnt): - For SImode shifts allow multiples of 32 (or multiples - of 64 for DImode shifts) for immediate operand 3. - (*ashl<mode>3_negcnt_1): Ditto. - (*<insn><mode>3_negcnt): Ditto. - (*<insn><mode>3_negcnt_1): Ditto. - -2024-11-25 Andrew Pinski <quic_apinski@quicinc.com> - - * config/g.opt.urls: Regenerate. - * config/i386/i386.opt.urls: Regenerate. - * config/i386/nto.opt.urls: Regenerate. - * config/nvptx/nvptx.opt.urls: Regenerate. - * config/riscv/riscv.opt.urls: Regenerate. - * config/s390/s390.opt.urls: Regenerate. - * config/sol2.opt.urls: Regenerate. - -2024-11-25 Sandra Loosemore <sloosemore@baylibre.com> - - * common/config/nios2/*: Delete entire directory. - * config/nios2/*: Delete entire directory. - * config.gcc: Remove references to nios2. - * configure.ac: Likewise. - * doc/extend.texi: Likewise. - * doc/install.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/md.texi: Likewise. - * regenerate-opt-urls.py: Likewise. - * config.in: Regenerated. - * configure: Regenerated. - -2024-11-25 Robin Dapp <rdapp@ventanamicro.com> - - PR target/117544 - * config/riscv/vector.md (*mov<mode>_whole): Split. - (*mov<mode>_fract): Ditto. - (*mov<mode>): Ditto. - (*mov<mode>_vls): Ditto. - (*mov<mode>_reg_whole_vtype): New pattern with vtype use. - (*mov<mode>_fract_vtype): Ditto. - (*mov<mode>_vtype): Ditto. - (*mov<mode>_vls_vtype): Ditto. - -2024-11-25 Robin Dapp <rdapp@ventanamicro.com> - - PR target/111600 - * genemit.cc (handle_arg): Use files instead of filenames. - (main): Ditto. - * gensupport.cc (SIZED_BASED_CHUNKS): Define. - (choose_output): New function. - * gensupport.h (choose_output): Declare. - -2024-11-25 Richard Biener <rguenther@suse.de> - - PR target/116760 - * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): - Scale vec_construct for single-lane VMAT_STRIDED_SLP the - same as VMAT_ELEMENTWISE. - * tree-vect-stmts.cc (vectorizable_store): Pass SLP node - down to costing for vec_to_scalar for VMAT_STRIDED_SLP. - -2024-11-25 Richard Biener <rguenther@suse.de> - - * config/i386/i386.cc (ix86_vector_costs::finish_cost): For an - 128bit SSE epilogue request a 64bit SSE epilogue if the 128bit - SSE epilogue VF was 16 or higher. - -2024-11-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117767 - * tree-vect-stmts.cc (vectorizable_store): Check for supported - alignment before using a an alternate store vector type. - (vectorizable_load): Likewise for loads. - -2024-11-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115825 - * tree-ssa-loop-ivcanon.cc (loop_size::not_eliminatable_after_peeling): - New. - (loop_size::last_iteration_not_eliminatable_after_peeling): Likewise. - (tree_estimate_loop_size): Count stmts with side-effects as - not optimistically eliminatable. - (estimated_unrolled_size): Compute the number of stmts that can - be optimistically eliminated by followup transforms. - (try_unroll_loop_completely): Adjust. - -2024-11-25 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv.cc (riscv_asan_shadow_offset): Use dynamic - offset for RV64. - (riscv_asan_dynamic_shadow_offset_p): New. - (TARGET_ASAN_DYNAMIC_SHADOW_OFFSET_P): New. - -2024-11-25 Kito Cheng <kito.cheng@sifive.com> - - * asan.cc (asan_dynamic_shadow_offset_p): New. - (asan_shadow_memory_dynamic_address): New. - (asan_local_shadow_memory_dynamic_address): New. - (get_asan_shadow_memory_dynamic_address_decl): New. - (asan_maybe_insert_dynamic_shadow_at_function_entry): New. - (asan_emit_stack_protection): Support dynamic shadow offset. - (build_shadow_mem_access): Ditto. - * asan.h (asan_maybe_insert_dynamic_shadow_at_function_entry): New. - * doc/tm.texi (TARGET_ASAN_DYNAMIC_SHADOW_OFFSET_P): New. - * doc/tm.texi.in (TARGET_ASAN_DYNAMIC_SHADOW_OFFSET_P): Ditto. - * sanopt.cc (pass_sanopt::execute): Handle dynamic shadow offset. - * target.def (asan_dynamic_shadow_offset_p): New. - * toplev.cc (process_options): Handle dynamic shadow offset. - -2024-11-25 Dongyan Chen <chendongyan@isrc.iscas.ac.cn> - - * common/config/riscv/riscv-common.cc: New extension. - * common/config/riscv/riscv-ext-bitmask.def (RISCV_EXT_BITMASK): Ditto. - * config/riscv/riscv.opt: New mask. - -2024-11-25 Xi Ruoyao <xry111@xry111.site> - - * config/pa/pa.cc (pa_section_type_flags): Remove. - (TARGET_SECTION_TYPE_FLAGS): Remove. - -2024-11-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> - Philipp Tomsich <philipp.tomsich@vrull.eu> - - * Makefile.in (OBJS): Add avoid-store-forwarding.o. - * common.opt (favoid-store-forwarding): New option. - * common.opt.urls: Regenerate. - * doc/invoke.texi: New param store-forwarding-max-distance. - * doc/passes.texi: Document new pass. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Document new pass. - * params.opt (store-forwarding-max-distance): New param. - * passes.def: Add pass_rtl_avoid_store_forwarding before - pass_early_remat. - * target.def (avoid_store_forwarding_p): New DEFHOOK. - * target.h (struct store_fwd_info): Declare. - * targhooks.cc (default_avoid_store_forwarding_p): New function. - * targhooks.h (default_avoid_store_forwarding_p): Declare. - * tree-pass.h (make_pass_rtl_avoid_store_forwarding): Declare. - * avoid-store-forwarding.cc: New file. - * avoid-store-forwarding.h: New file. - * timevar.def (TV_AVOID_STORE_FORWARDING): New timevar. - -2024-11-25 liuhongt <hongtao.liu@intel.com> - - PR target/117562 - * config/i386/sse.md (vec_unpacks_hi_v4sf): Initialize - operands[2] with CONST0_RTX. - -2024-11-24 Martin Jambor <mjambor@suse.cz> - - * ipa-prop.cc (ipa_duplicate_jump_function): New function. - (ipa_edge_args_sum_t::duplicate): Move individual jump function - copying to ipa_duplicate_jump_function. - -2024-11-24 Uros Bizjak <ubizjak@gmail.com> - - PR target/36503 - * config/i386/i386.md (*ashl<mode>3_negcnt): - New define_insn_and_split pattern. - (*ashl<mode>3_negcnt_1): Ditto. - (*<insn><mode>3_negcnt): Ditto. - (*<insn><mode>3_negcnt_1): Ditto. - -2024-11-24 Andrew Pinski <quic_apinski@quicinc.com> - - * config/avr/avr.opt.urls: Regenerate. - * config/g.opt.urls: Regenerate. - * config/i386/nto.opt.urls: Regenerate. - * config/riscv/riscv.opt.urls: Regenerate. - * config/rx/rx.opt.urls: Regenerate. - * config/sol2.opt.urls: Regenerate. - -2024-11-24 Eric Botcazou <ebotcazou@adacore.com> - - PR target/117715 - * config/sparc/sparc-protos.h (sparc_expand_vcond): Rename to... - (sparc_expand_vcond_mask): ...this. - * config/sparc/sparc.cc (TARGET_VECTORIZE_GET_MASK_MODE): Define. - (sparc_vis_init_builtins): Adjust the CODE_FOR_* identifiers. - (sparc_get_mask_mode): New function. - (sparc_expand_vcond): Rename to... - (sparc_expand_vcond_mask): ...this and adjust. - * config/sparc/sparc.md (unspec): Remove UNSPEC_FCMP & UNSPEC_FUCMP - and rename UNSPEC_FPUCMPSHL into UNSPEC_FPCMPUSHL. - (fcmp<gcond:code><GCM:gcm_name><P:mode>_vis): Merge into... - (fpcmp<gcond:code>8<P:mode>_vis): Merge into... - (fpcmp<fpcmpcond:code><FPCMP:vbits><P:mode>_vis): ...this. - (fucmp<gcond:code>8<P:mode>_vis): Merge into... - (fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Merge into... - (fpcmpu<fpcmpucond:signed_code><FPCMP:vbits><P:mode>_vis): ...this. - (vec_cmp<FPCMP:mode><P:mode>): New expander. - (vec_cmpu<FPCMP:mode><P:mode>): Likewise. - (vcond<GCM:mode><GCM:mode>): Delete. - (vcondv8qiv8qi): Likewise. - (vcondu<GCM:mode><GCM:mode>): Likewise. - (vconduv8qiv8qi): Likewise. - (vcond_mask_<FPCMP:mode><P:mode>): New expander. - (fpcmp<fpcscond:code><FPCSMODE:vbits><P:mode>shl): Adjust. - (fpcmpu<fpcsucond:code><FPCSMODE:vbits><P:mode>shl): Likewise. - (fpcmpde<FPCSMODE:vbits><P:mode>shl): Likewise. - (fpcmpur<FPCSMODE:vbits><P:mode>shl): Likewise. - * doc/md.texi (vcond_mask_len_): Fix pasto. - -2024-11-24 Eric Botcazou <ebotcazou@adacore.com> - - * doc/invoke.texi (-fno-zero-initialized-in-bss): Adjust for Ada. - * varasm.cc (get_variable_section): Adjust the error message for an - initialized variable in .bss to -fno-zero-initialized-in-bss. - -2024-11-23 Lewis Hyatt <lhyatt@gmail.com> - - * gimple.cc (get_tail_padding_adjustment): New function. - (DEFGSSTRUCT): Adjust the computation of gimple_ops_offset_ to be - correct in the presence of tail padding. - -2024-11-23 Georg-Johann Lay <avr@gjlay.de> - - PR target/117744 - * config/avr/avr.cc (out_movqi_r_mr): Fix code when a load - only partially clobbers an address register due to - changing the address register temporally to accomodate for - faked addressing modes. - -2024-11-23 Andrew Pinski <quic_apinski@quicinc.com> - - * doc/rtl.texi: Add a note about quotes in braced strings. - -2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR bootstrap/117737 - * asan.cc (INCLUDE_MEMORY): Remove. - * attribs.cc (INCLUDE_MEMORY): Remove. - * auto-profile.cc (INCLUDE_MEMORY): Remove. - * calls.cc (INCLUDE_MEMORY): Remove. - * cfganal.cc (INCLUDE_MEMORY): Remove. - * cfgexpand.cc (INCLUDE_MEMORY): Remove. - * cfghooks.cc (INCLUDE_MEMORY): Remove. - * cfgloop.cc (INCLUDE_MEMORY): Remove. - * cgraph.cc (INCLUDE_MEMORY): Remove. - * cgraphclones.cc (INCLUDE_MEMORY): Remove. - * cgraphunit.cc (INCLUDE_MEMORY): Remove. - * collect-utils.cc (INCLUDE_MEMORY): Remove. - * collect2.cc (INCLUDE_MEMORY): Remove. - * common/config/aarch64/aarch64-common.cc (INCLUDE_MEMORY): Remove. - * common/config/arm/arm-common.cc (INCLUDE_MEMORY): Remove. - * common/config/avr/avr-common.cc (INCLUDE_MEMORY): Remove. - * config/aarch64/aarch64-cc-fusion.cc (INCLUDE_MEMORY): Remove. - * config/aarch64/aarch64-early-ra.cc (INCLUDE_MEMORY): Remove. - * config/aarch64/aarch64-sve-builtins.cc (INCLUDE_MEMORY): Remove. - * config/aarch64/aarch64.cc (INCLUDE_MEMORY): Remove. - * config/arc/arc.cc (INCLUDE_MEMORY): Remove. - * config/arm/aarch-common.cc (INCLUDE_MEMORY) Remove.: - * config/arm/arm-mve-builtins.cc (INCLUDE_MEMORY): Remove. - * config/arm/arm.cc (INCLUDE_MEMORY): Remove. - * config/avr/avr-devices.cc (INCLUDE_MEMORY): Remove. - * config/avr/driver-avr.cc (INCLUDE_MEMORY): Remove. - * config/bpf/bpf.cc (INCLUDE_MEMORY): Remove. - * config/bpf/btfext-out.cc (INCLUDE_MEMORY): Remove. - * config/bpf/core-builtins.cc (INCLUDE_MEMORY): Remove. - * config/darwin.cc (INCLUDE_MEMORY): Remove. - * config/gcn/mkoffload.cc (INCLUDE_MEMORY): Remove. - * config/i386/driver-i386.cc (INCLUDE_MEMORY): Remove. - * config/i386/i386-builtins.cc (INCLUDE_MEMORY): Remove. - * config/i386/i386-expand.cc (INCLUDE_MEMORY): Remove. - * config/i386/i386-features.cc (INCLUDE_MEMORY): Remove. - * config/i386/i386-options.cc (INCLUDE_MEMORY): Remove. - * config/i386/i386.cc (INCLUDE_MEMORY): Remove. - * config/loongarch/loongarch-builtins.cc (INCLUDE_MEMORY): Remove. - * config/loongarch/loongarch.cc (INCLUDE_MEMORY): Remove. - * config/mingw/winnt-cxx.cc (INCLUDE_MEMORY): Remove. - * config/mingw/winnt.cc (INCLUDE_MEMORY): Remove. - * config/mips/mips.cc (INCLUDE_MEMORY): Remove. - * config/msp430/driver-msp430.cc (INCLUDE_MEMORY): Remove. - * config/nvptx/mkoffload.cc (INCLUDE_MEMORY): Remove. - * config/nvptx/nvptx.cc (INCLUDE_MEMORY): Remove. - * config/riscv/riscv-avlprop.cc (INCLUDE_MEMORY): Remove. - * config/riscv/riscv-target-attr.cc (INCLUDE_MEMORY): Remove. - * config/riscv/riscv-vector-builtins.cc (INCLUDE_MEMORY): Remove. - * config/riscv/riscv-vector-costs.cc (INCLUDE_MEMORY): Remove. - * config/riscv/riscv-vsetvl.cc (INCLUDE_MEMORY): Remove. - * config/riscv/riscv.cc (INCLUDE_MEMORY): Remove. - * config/rs6000/driver-rs6000.cc (INCLUDE_MEMORY): Remove. - * config/rs6000/host-darwin.cc (INCLUDE_MEMORY): Remove. - * config/rs6000/rs6000-c.cc (INCLUDE_MEMORY): Remove. - * config/rs6000/rs6000.cc (INCLUDE_MEMORY): Remove. - * config/s390/s390-c.cc (INCLUDE_MEMORY): Remove. - * config/s390/s390.cc (INCLUDE_MEMORY): Remove. - * config/sol2-cxx.cc (INCLUDE_MEMORY): Remove. - * config/vms/vms-c.cc (INCLUDE_MEMORY): Remove. - * config/xtensa/xtensa-dynconfig.cc (INCLUDE_MEMORY): Remove. - * coroutine-passes.cc (INCLUDE_MEMORY): Remove. - * coverage.cc (INCLUDE_MEMORY): Remove. - * data-streamer-in.cc (INCLUDE_MEMORY): Remove. - * data-streamer-out.cc (INCLUDE_MEMORY): Remove. - * data-streamer.cc (INCLUDE_MEMORY): Remove. - * diagnostic-format-json.cc (INCLUDE_MEMORY): Remove. - * diagnostic-format-sarif.cc (INCLUDE_MEMORY): Remove. - * diagnostic-format-text.cc (INCLUDE_MEMORY): Remove. - * diagnostic-global-context.cc (INCLUDE_MEMORY): Remove. - * diagnostic-macro-unwinding.cc (INCLUDE_MEMORY): Remove. - * diagnostic-path.cc (INCLUDE_MEMORY): Remove. - * diagnostic-show-locus.cc (INCLUDE_MEMORY): Remove. - * diagnostic-spec.cc (INCLUDE_MEMORY): Remove. - * diagnostic.cc (INCLUDE_MEMORY): Remove. - * diagnostic.h: Remove check for INCLUDE_MEMORY. - * digraph.cc (INCLUDE_MEMORY): Remove. - * dumpfile.cc (INCLUDE_MEMORY): Remove. - * dwarf2out.cc (INCLUDE_MEMORY): Remove. - * edit-context.cc (INCLUDE_MEMORY): Remove. - * except.cc (INCLUDE_MEMORY): Remove. - * expr.cc (INCLUDE_MEMORY): Remove. - * file-prefix-map.cc (INCLUDE_MEMORY): Remove. - * final.cc (INCLUDE_MEMORY): Remove. - * fwprop.cc (INCLUDE_MEMORY): Remove. - * gcc-plugin.h (INCLUDE_MEMORY): Remove. - * gcc-rich-location.cc (INCLUDE_MEMORY): Remove. - * gcc-urlifier.cc (INCLUDE_MEMORY): Remove. - * gcc.cc (INCLUDE_MEMORY): Remove. - * gcov-dump.cc (INCLUDE_MEMORY): Remove. - * gcov-tool.cc (INCLUDE_MEMORY): Remove. - * gcov.cc (INCLUDE_MEMORY): Remove. - * gengtype.cc (open_base_files): Don't print `#define INCLUDE_MEMORY`. - * genmatch.cc (INCLUDE_MEMORY): Remove. - * gimple-fold.cc (INCLUDE_MEMORY): Remove. - * gimple-harden-conditionals.cc (INCLUDE_MEMORY): Remove. - * gimple-harden-control-flow.cc (INCLUDE_MEMORY): Remove. - * gimple-if-to-switch.cc (INCLUDE_MEMORY): Remove. - * gimple-loop-interchange.cc (INCLUDE_MEMORY): Remove. - * gimple-loop-jam.cc (INCLUDE_MEMORY): Remove. - * gimple-loop-versioning.cc (INCLUDE_MEMORY): Remove. - * gimple-lower-bitint.cc (INCLUDE_MEMORY): Remove. - * gimple-predicate-analysis.cc (INCLUDE_MEMORY): Remove. - * gimple-pretty-print.cc (INCLUDE_MEMORY): Remove. - * gimple-range-cache.cc (INCLUDE_MEMORY): Remove. - * gimple-range-edge.cc (INCLUDE_MEMORY): Remove. - * gimple-range-fold.cc (INCLUDE_MEMORY): Remove. - * gimple-range-gori.cc (INCLUDE_MEMORY): Remove. - * gimple-range-infer.cc (INCLUDE_MEMORY): Remove. - * gimple-range-op.cc (INCLUDE_MEMORY): Remove. - * gimple-range-path.cc (INCLUDE_MEMORY): Remove. - * gimple-range-phi.cc (INCLUDE_MEMORY): Remove. - * gimple-range-trace.cc (INCLUDE_MEMORY): Remove. - * gimple-range.cc (INCLUDE_MEMORY): Remove. - * gimple-ssa-backprop.cc (INCLUDE_MEMORY): Remove. - * gimple-ssa-sprintf.cc (INCLUDE_MEMORY): Remove. - * gimple-ssa-store-merging.cc (INCLUDE_MEMORY): Remove. - * gimple-ssa-strength-reduction.cc (INCLUDE_MEMORY): Remove. - * gimple-ssa-warn-access.cc (INCLUDE_MEMORY): Remove. - * gimple-ssa-warn-alloca.cc (INCLUDE_MEMORY): Remove. - * gimple-ssa-warn-restrict.cc (INCLUDE_MEMORY): Remove. - * gimple-streamer-in.cc (INCLUDE_MEMORY): Remove. - * gimple-streamer-out.cc (INCLUDE_MEMORY): Remove. - * gimple.cc (INCLUDE_MEMORY): Remove. - * gimplify.cc (INCLUDE_MEMORY): Remove. - * graph.cc (INCLUDE_MEMORY): Remove. - * graphite-dependences.cc (INCLUDE_MEMORY): Remove. - * graphite-isl-ast-to-gimple.cc (INCLUDE_MEMORY): Remove. - * graphite-optimize-isl.cc (INCLUDE_MEMORY): Remove. - * graphite-poly.cc (INCLUDE_MEMORY): Remove. - * graphite-scop-detection.cc (INCLUDE_MEMORY): Remove. - * graphite-sese-to-poly.cc (INCLUDE_MEMORY): Remove. - * graphite.cc (INCLUDE_MEMORY): Remove. - * graphviz.cc (INCLUDE_MEMORY): Remove. - * input.cc (INCLUDE_MEMORY): Remove. - * ipa-cp.cc (INCLUDE_MEMORY): Remove. - * ipa-devirt.cc (INCLUDE_MEMORY): Remove. - * ipa-fnsummary.cc (INCLUDE_MEMORY): Remove. - * ipa-free-lang-data.cc (INCLUDE_MEMORY): Remove. - * ipa-icf-gimple.cc (INCLUDE_MEMORY): Remove. - * ipa-icf.cc (INCLUDE_MEMORY): Remove. - * ipa-inline-analysis.cc (INCLUDE_MEMORY): Remove. - * ipa-inline.cc (INCLUDE_MEMORY): Remove. - * ipa-modref-tree.cc (INCLUDE_MEMORY): Remove. - * ipa-modref.cc (INCLUDE_MEMORY): Remove. - * ipa-param-manipulation.cc (INCLUDE_MEMORY): Remove. - * ipa-polymorphic-call.cc (INCLUDE_MEMORY): Remove. - * ipa-predicate.cc (INCLUDE_MEMORY): Remove. - * ipa-profile.cc (INCLUDE_MEMORY): Remove. - * ipa-prop.cc (INCLUDE_MEMORY): Remove. - * ipa-pure-const.cc (INCLUDE_MEMORY): Remove. - * ipa-reference.cc (INCLUDE_MEMORY): Remove. - * ipa-split.cc (INCLUDE_MEMORY): Remove. - * ipa-sra.cc (INCLUDE_MEMORY): Remove. - * ipa-strub.cc (INCLUDE_MEMORY): Remove. - * ipa-utils.cc (INCLUDE_MEMORY): Remove. - * json-parsing.cc (INCLUDE_MEMORY): Remove. - * json.cc (INCLUDE_MEMORY): Remove. - * json.h: Don't check INCLUDE_MEMORY. - * langhooks.cc (INCLUDE_MEMORY): Remove. - * late-combine.cc (INCLUDE_MEMORY): Remove. - * lazy-diagnostic-path.cc (INCLUDE_MEMORY): Remove. - * libdiagnostics.cc (INCLUDE_MEMORY): Remove. - * libsarifreplay.cc (INCLUDE_MEMORY): Remove. - * lto-cgraph.cc (INCLUDE_MEMORY): Remove. - * lto-compress.cc (INCLUDE_MEMORY): Remove. - * lto-opts.cc (INCLUDE_MEMORY): Remove. - * lto-section-in.cc (INCLUDE_MEMORY): Remove. - * lto-section-out.cc (INCLUDE_MEMORY): Remove. - * lto-streamer-in.cc (INCLUDE_MEMORY): Remove. - * lto-streamer-out.cc (INCLUDE_MEMORY): Remove. - * lto-streamer.cc (INCLUDE_MEMORY): Remove. - * lto-wrapper.cc (INCLUDE_MEMORY): Remove. - * make-unique.h (GCC_MAKE_UNIQUE): Remove. - * multiple_target.cc (INCLUDE_MEMORY): Remove. - * omp-expand.cc (INCLUDE_MEMORY): Remove. - * omp-general.cc (INCLUDE_MEMORY): Remove. - * omp-low.cc (INCLUDE_MEMORY): Remove. - * omp-oacc-neuter-broadcast.cc (INCLUDE_MEMORY): Remove. - * omp-offload.cc (INCLUDE_MEMORY): Remove. - * omp-simd-clone.cc (INCLUDE_MEMORY): Remove. - * opt-problem.cc (INCLUDE_MEMORY): Remove. - * optinfo-emit-json.cc (INCLUDE_MEMORY): Remove. - * optinfo.cc (INCLUDE_MEMORY): Remove. - * optinfo.h: Don't check INCLUDE_MEMORY. - * opts-common.cc (INCLUDE_MEMORY): Remove. - * opts-diagnostic.cc (INCLUDE_MEMORY): Remove. - * opts-global.cc (INCLUDE_MEMORY): Remove. - * opts.cc (INCLUDE_MEMORY): Remove. - * pair-fusion.cc (INCLUDE_MEMORY): Remove. - * passes.cc (INCLUDE_MEMORY): Remove. - * pointer-query.cc (INCLUDE_MEMORY): Remove. - * predict.cc (INCLUDE_MEMORY): Remove. - * pretty-print.cc (INCLUDE_MEMORY): Remove. - * pretty-print.h: Don't check INCLUDE_MEMORY. - * print-rtl.cc (INCLUDE_MEMORY): Remove. - * print-tree.cc (INCLUDE_MEMORY): Remove. - * profile-count.cc (INCLUDE_MEMORY): Remove. - * range-op-float.cc (INCLUDE_MEMORY): Remove. - * range-op-ptr.cc (INCLUDE_MEMORY): Remove. - * range-op.cc (INCLUDE_MEMORY): Remove. - * range.cc (INCLUDE_MEMORY): Remove. - * read-rtl-function.cc (INCLUDE_MEMORY): Remove. - * rtl-error.cc (INCLUDE_MEMORY): Remove. - * rtl-ssa/accesses.cc (INCLUDE_MEMORY): Remove. - * rtl-ssa/blocks.cc (INCLUDE_MEMORY): Remove. - * rtl-ssa/changes.cc (INCLUDE_MEMORY): Remove. - * rtl-ssa/functions.cc (INCLUDE_MEMORY): Remove. - * rtl-ssa/insns.cc (INCLUDE_MEMORY): Remove. - * rtl-ssa/movement.cc (INCLUDE_MEMORY): Remove. - * rtl-tests.cc (INCLUDE_MEMORY): Remove. - * sanopt.cc (INCLUDE_MEMORY): Remove. - * sched-rgn.cc (INCLUDE_MEMORY): Remove. - * selftest-diagnostic-path.cc (INCLUDE_MEMORY): Remove. - * selftest-diagnostic.cc (INCLUDE_MEMORY): Remove. - * selftest-json.cc (INCLUDE_MEMORY): Remove. - * sese.cc (INCLUDE_MEMORY): Remove. - * simple-diagnostic-path.cc (INCLUDE_MEMORY): Remove. - * splay-tree-utils.cc (INCLUDE_MEMORY): Remove. - * sreal.cc (INCLUDE_MEMORY): Remove. - * stmt.cc (INCLUDE_MEMORY): Remove. - * substring-locations.cc (INCLUDE_MEMORY): Remove. - * symtab-clones.cc (INCLUDE_MEMORY): Remove. - * symtab-thunks.cc (INCLUDE_MEMORY): Remove. - * symtab.cc (INCLUDE_MEMORY): Remove. - * system.h: Include memory unconditionally for C++. - Also remove support for INCLUDE_MEMORY. - * targhooks.cc (INCLUDE_MEMORY): Remove. - * text-art/box-drawing.cc (INCLUDE_MEMORY): Remove. - * text-art/canvas.cc (INCLUDE_MEMORY): Remove. - * text-art/ruler.cc (INCLUDE_MEMORY): Remove. - * text-art/selftests.cc (INCLUDE_MEMORY): Remove. - * text-art/style.cc (INCLUDE_MEMORY): Remove. - * text-art/styled-string.cc (INCLUDE_MEMORY): Remove. - * text-art/table.cc (INCLUDE_MEMORY): Remove. - * text-art/theme.cc (INCLUDE_MEMORY): Remove. - * text-art/tree-widget.cc (INCLUDE_MEMORY): Remove. - * text-art/widget.cc (INCLUDE_MEMORY): Remove. - * timevar.cc (INCLUDE_MEMORY): Remove. - * toplev.cc (INCLUDE_MEMORY): Remove. - * trans-mem.cc (INCLUDE_MEMORY): Remove. - * tree-affine.cc (INCLUDE_MEMORY): Remove. - * tree-assume.cc (INCLUDE_MEMORY): Remove. - * tree-call-cdce.cc (INCLUDE_MEMORY): Remove. - * tree-cfg.cc (INCLUDE_MEMORY): Remove. - * tree-chrec.cc (INCLUDE_MEMORY): Remove. - * tree-data-ref.cc (INCLUDE_MEMORY): Remove. - * tree-dfa.cc (INCLUDE_MEMORY): Remove. - * tree-diagnostic-client-data-hooks.cc (INCLUDE_MEMORY): Remove. - * tree-diagnostic.cc (INCLUDE_MEMORY): Remove. - * tree-dump.cc (INCLUDE_MEMORY): Remove. - * tree-if-conv.cc (INCLUDE_MEMORY): Remove. - * tree-inline.cc (INCLUDE_MEMORY): Remove. - * tree-into-ssa.cc (INCLUDE_MEMORY): Remove. - * tree-logical-location.cc (INCLUDE_MEMORY): Remove. - * tree-loop-distribution.cc (INCLUDE_MEMORY): Remove. - * tree-nested.cc (INCLUDE_MEMORY): Remove. - * tree-nrv.cc (INCLUDE_MEMORY): Remove. - * tree-object-size.cc (INCLUDE_MEMORY): Remove. - * tree-outof-ssa.cc (INCLUDE_MEMORY): Remove. - * tree-parloops.cc (INCLUDE_MEMORY): Remove. - * tree-predcom.cc (INCLUDE_MEMORY): Remove. - * tree-pretty-print.cc (INCLUDE_MEMORY): Remove. - * tree-profile.cc (INCLUDE_MEMORY): Remove. - * tree-scalar-evolution.cc (INCLUDE_MEMORY): Remove. - * tree-sra.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-address.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-alias.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-ccp.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-coalesce.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-copy.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-dce.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-dom.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-dse.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-forwprop.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-ifcombine.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-live.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-ch.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-im.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-ivcanon.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-ivopts.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-manip.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-niter.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-prefetch.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-split.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-loop-unswitch.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-math-opts.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-operands.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-phiopt.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-phiprop.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-pre.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-propagate.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-reassoc.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-sccvn.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-scopedtables.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-sink.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-strlen.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-structalias.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-ter.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-threadbackward.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-threadupdate.cc (INCLUDE_MEMORY): Remove. - * tree-ssa-uninit.cc (INCLUDE_MEMORY): Remove. - * tree-ssa.cc (INCLUDE_MEMORY): Remove. - * tree-ssanames.cc (INCLUDE_MEMORY): Remove. - * tree-stdarg.cc (INCLUDE_MEMORY): Remove. - * tree-streamer-in.cc (INCLUDE_MEMORY): Remove. - * tree-streamer-out.cc (INCLUDE_MEMORY): Remove. - * tree-streamer.cc (INCLUDE_MEMORY): Remove. - * tree-switch-conversion.cc (INCLUDE_MEMORY): Remove. - * tree-tailcall.cc (INCLUDE_MEMORY): Remove. - * tree-vect-data-refs.cc (INCLUDE_MEMORY): Remove. - * tree-vect-generic.cc (INCLUDE_MEMORY): Remove. - * tree-vect-loop-manip.cc (INCLUDE_MEMORY): Remove. - * tree-vect-loop.cc (INCLUDE_MEMORY): Remove. - * tree-vect-patterns.cc (INCLUDE_MEMORY): Remove. - * tree-vect-slp-patterns.cc (INCLUDE_MEMORY): Remove. - * tree-vect-slp.cc (INCLUDE_MEMORY): Remove. - * tree-vect-stmts.cc (INCLUDE_MEMORY): Remove. - * tree-vectorizer.cc (INCLUDE_MEMORY): Remove. - * tree-vrp.cc (INCLUDE_MEMORY): Remove. - * tree.cc (INCLUDE_MEMORY): Remove. - * ubsan.cc (INCLUDE_MEMORY): Remove. - * value-pointer-equiv.cc (INCLUDE_MEMORY): Remove. - * value-prof.cc (INCLUDE_MEMORY): Remove. - * value-query.cc (INCLUDE_MEMORY): Remove. - * value-range-pretty-print.cc (INCLUDE_MEMORY): Remove. - * value-range-storage.cc (INCLUDE_MEMORY): Remove. - * value-range.cc (INCLUDE_MEMORY): Remove. - * value-relation.cc (INCLUDE_MEMORY): Remove. - * var-tracking.cc (INCLUDE_MEMORY): Remove. - * varpool.cc (INCLUDE_MEMORY): Remove. - * vr-values.cc (INCLUDE_MEMORY): Remove. - * wide-int-print.cc (INCLUDE_MEMORY): Remove. - -2024-11-22 Jeff Law <jlaw@ventanamicro.com> - - PR target/109279 - * config/riscv/riscv.cc (riscv_build_integer): Handle another 64-bit - synthesis where high half is one less than the low half and the 32-bit - sign bit is on. - -2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> - - * text-art/types.h: Fix comment. - -2024-11-22 Georg-Johann Lay <avr@gjlay.de> - - * common/config/avr/avr-common.cc: Tabify. - -2024-11-22 Georg-Johann Lay <avr@gjlay.de> - - PR target/117726 - * config/avr/avr-passes.cc (avr_split_shift): Also handle - ASHIFTRT and LSHIFTRT codes for 4-byte shifts. - (constr_split_shift4): New code_attr. - (avr_emit_shift): Adjust to new shift capabilities. - * config/avr/predicates.md (scratch_or_d_register_operand): - rename to scratch_or_dreg_operand. - * config/avr/avr.md: Same. - (define_peephole2): Write the RTL scratch peephole for 2-byte and - 4-byte shifts that generates *sh*<mode>3_const insns using code - iterator any_shift. - (*ashlhi3_const_split, *ashrhi3_const_split, *ashrhi3_const_split) - (*lshrsi3_const_split, *lshrhi3_const_split): Remove useless - split insns. - (define_split) [avropt_split_bit_shift]: Add splitters - for 4-byte ASHIFTRT and LSHIFTRT insns using avr_split_shift(). - (ashrsi3, *ashrsi3, *ashrsi3_const): Add "r,0,C4a" and "r,r,C4a" - constraint alternatives depending on 2op, 3op. - (lshrsi3, *lshrsi3, *lshrsi3_const): Add "r,0,C4r" and "r,r,C4r" - constraint alternatives depending on 2op, 3op. Add "r,r,C15". - (lshrhi3, *lshrhi3, *lshrhi3_const, ashlhi3, *ashlhi3) - (*ashlhi3_const): Add "r,r,C7c" alternative. - (ashrpsi, *ashrpsi3): Add "r,r,C22" alternative. - (ashlqi, *ashlqi): Turn C06 alternative into "r,r,C06". - * config/avr/constraints.md (C14, C22, C30, C7c): New constraints. - * config/avr/avr.cc (ashlhi3_out, lshrhi3_out) - [case 7, 9, 10, 11, 12]: Support as 3-operand insn. - (lshrsi3_out) [case 15]: Same. - (ashrsi3_out) [case 30]: Same. - (ashrhi3_out) [case 14]: Same. - (ashrqi3_out) [case 6]: Same. - (avr_out_ashrpsi3) [case 22]: Same. - * config/avr/avr.h: Fix comment typo. - * doc/invoke.texi (AVR Options) <-msplit-bit-shift>: Document. - -2024-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/117355 - * tree-object-size.cc (size_for_offset): New argument STRICT, - return SZ if it is set to false. - (plus_stmt_object_size): Adjust call to SIZE_FOR_OFFSET. - -2024-11-22 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.opt (avr_bits_e, avr_lra_p, avr_mmcu) - (avr_gasisr_prologues, avr_n_flash, avr_log_details) - (avr_branch_cost, avr_split_bit_shift, avr_strict_X) - (avr_flmap, avr_rodata_in_ram, avr_sp8, avr_fuse_add) - (avr_warn_addr_space_convert, avr_warn_misspelled_isr) - (avr_fuse_move, avr_double, avr_long_double): Rename - to respectively: avropt_bits_e, avropt_lra_p, avropt_mmcu, - avropt_gasisr_prologues, avropt_n_flash, avropt_log_details, - avropt_branch_cost, avropt_split_bit_shift, avropt_strict_X, - avropt_flmap, avropt_rodata_in_ram, avropt_sp8, avropt_fuse_add, - avropt_warn_addr_space_convert, avropt_warn_misspelled_isr, - avropt_fuse_move, avropt_double, avropt_long_double. - * config/avr/avr.h: Same. - * config/avr/avr.cc: Same. - * config/avr/avr.md: Same. - * config/avr/avr-passes.cc - * config/avr/avr-log.cc: Same. - * common/config/avr/avr-common.cc: Same. - -2024-11-22 Jakub Jelinek <jakub@redhat.com> - - PR c++/110137 - PR middle-end/101480 - * doc/invoke.texi (-fassume-sane-operators-new-delete, - -fno-assume-sane-operators-new-delete): Document. - * gimple.cc (gimple_call_fnspec): Handle - -f{,no-}assume-sane-operators-new-delete. - * ipa-inline-transform.cc (inline_call): Also clear - flag_assume_sane_operators_new_delete on caller when inlining - -fno-assume-sane-operators-new-delete callee into - -fassume-sane-operators-new-delete caller. - -2024-11-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117420 - * match.pd ((X >> C1) << (C1 + C2) -> X << C2, - (X >> C1) * (C2 << C1) -> X * C2, X / (1 << C) -> X /[ex] (1 << C)): - Use with_possible_nonzero_bits@0 rather than - (with_possible_nonzero_bits2 @0). - -2024-11-22 Tobias Burnus <tburnus@baylibre.com> - - * gimplify.cc (gimplify_call_expr): Add initial support for - dispatch's 'interop' clause. - (gimplify_scan_omp_clauses): Handle interop clause. - * tree-pretty-print.cc (dump_omp_clause): Likewise. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_INTEROP. - * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add interop. - -2024-11-22 Tobias Burnus <tburnus@baylibre.com> - - * gimplify.cc (gimplify_expr): Handle OMP_INTEROP by printing - "sorry, uninplemented". - * omp-api.h (omp_get_fr_id_from_name): Change return type to - 'char'. - * omp-general.cc (omp_get_fr_id_from_name): Likewise; return - GOMP_INTEROP_IFR_UNKNOWN not 0 if not found. - (omp_get_name_from_fr_id): Return "<unknown>" not NULL - if not found (used for dumps). - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DESTROY, - OMP_CLAUSE_USE, and OMP_CLAUSE_INIT. - * tree-pretty-print.cc (dump_omp_init_prefer_type): New. - (dump_omp_clause): Handle init, use and destroy clauses. - (dump_generic_node): Handle interop directive. - * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add new - init/use/destroy clauses. - * tree.def (OACC_LOOP): Fix comment. - (OMP_INTEROP): Add. - * tree.h (OMP_INTEROP_CLAUSES, OMP_CLAUSE_INIT_TARGET, - OMP_CLAUSE_INIT_TARGETSYNC, OMP_CLAUSE_INIT_PREFER_TYPE): New. - -2024-11-22 Jakub Jelinek <jakub@redhat.com> - - PR target/117165 - * config/i386/i386-builtin.def (IX86_BUILTIN_FNSTENV, - IX86_BUILTIN_FLDENV, IX86_BUILTIN_FNSTSW, IX86_BUILTIN_FNCLEX): Add - space to the end of the builtin name to make it really internal. - -2024-11-22 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116463 - * tree-vect-slp-patterns.cc (complex_mul_pattern::matches, - complex_fms_pattern::matches): Try swapping operands on multiply. - -2024-11-22 Lulu Cheng <chenglulu@loongson.cn> - - * doc/invoke.texi: Remove the non-existent option - '-msmall-data-limit' and add a description of '-G'. - -2024-11-22 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch-builtins.cc - (loongarch_builtin_vectorized_function): Delete. - (LARCH_GET_BUILTIN): Delete. - * config/loongarch/loongarch-protos.h - (loongarch_builtin_vectorized_function): Delete. - * config/loongarch/loongarch.cc - (TARGET_ASM_ALIGNED_HI_OP): Delete. - (TARGET_ASM_ALIGNED_SI_OP): Delete. - (TARGET_ASM_ALIGNED_DI_OP): Delete. - -2024-11-22 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/lasx.md: Fixed. - * config/loongarch/lsx.md: Fixed. - -2024-11-22 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch-builtins.cc (vorn_v, xvorn_v): Use - unsigned vector modes. - * config/loongarch/lsxintrin.h (__lsx_vorn_v): Cast arguments to - v16u8. - * config/loongarch/lasxintrin.h (__lasx_xvorn_v): Cast arguments - to v32u8. - -2024-11-21 Jeff Law <jlaw@ventanamicro.com> - - PR target/117690 - * config/riscv/riscv.cc (riscv_build_integer): Add missing left - shift when using shNadd to derive upper 32 bits from lower 32 bits. - -2024-11-21 Arsen Arsenović <arsen@aarsen.me> - - * doc/cpp.texi (__has_include): Document __has_include_next - also. - (Conditional Syntax): Mention __has_include_next in the - description for the __has_include menu entry. - -2024-11-21 David Malcolm <dmalcolm@redhat.com> - - PR bootstrap/117677 - * json-parsing.cc (selftest::test_parse_number): Replace - ASSERT_EQ of 'double' values with ASSERT_NEAR. Eliminate - ASSERT_PRINT_EQ for such values. - * selftest.h (ASSERT_NEAR): New. - (ASSERT_NEAR_AT): New. - -2024-11-21 Georg-Johann Lay <avr@gjlay.de> - - PR target/117726 - * config/avr/avr.opt (-msplit-bit-shift): Add new optimization option. - * common/config/avr/avr-common.cc (avr_option_optimization_table) - [OPT_LEVELS_2_PLUS]: Turn on -msplit-bit-shift. - * config/avr/avr.h (machine_function.n_avr_fuse_add_executed): - New bool component. - * config/avr/avr.md (attr "isa") <2op, 3op>: Add new values. - (attr "enabled"): Handle them. - (ashlsi3, *ashlsi3, *ashlsi3_const): Add "r,r,C15" alternative. - Add "r,0,C4l" and "r,r,C4l" alternatives (depending on 2op / 3op). - (define_split) [avr_split_bit_shift]: Add 2 new ashift:ALL4 splitters. - (define_peephole2) [ashift:ALL4]: Add (match_dup 3) so that the scratch - won't overlap with the output operand of the matched insn. - (*ashl<mode>3_const_split): Remove unused ashift:ALL4 splitter. - * config/avr/avr-passes.cc (emit_valid_insn) - (emit_valid_move_clobbercc): Move out of anonymous namespace. - (make_avr_pass_fuse_add) <gate>: Don't override. - <execute>: Set n_avr_fuse_add_executed according to - func->machine->n_avr_fuse_add_executed. - (pass_data avr_pass_data_split_after_peephole2): New object. - (avr_pass_split_after_peephole2): New rtl_opt_pass. - (avr_emit_shift): New static function. - (avr_shift_is_3op, avr_split_shift_p, avr_split_shift) - (make_avr_pass_split_after_peephole2): New functions. - * config/avr/avr-passes.def (avr_pass_split_after_peephole2): - Insert new pass after pass_peephole2. - * config/avr/avr-protos.h - (n_avr_fuse_add_executed, avr_shift_is_3op, avr_split_shift_p) - (avr_split_shift, avr_optimize_size_level) - (make_avr_pass_split_after_peephole2): New prototypes. - * config/avr/avr.cc (n_avr_fuse_add_executed): New global variable. - (avr_optimize_size_level): New function. - (avr_set_current_function): Set n_avr_fuse_add_executed - according to cfun->machine->n_avr_fuse_add_executed. - (ashlsi3_out) [case 15]: Output optimized code for this offset. - (avr_rtx_costs_1) [ASHIFT, SImode]: Adjust costs of oggsets 15, 16. - * config/avr/constraints.md (C4a, C4r, C4r): New constraints. - * pass_manager.h (pass_manager): Adjust comments. - -2024-11-21 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-passes.cc (absint_t::dump): Fix missing - newline in dump. - -2024-11-21 Jeff Law <jlaw@ventanamicro.com> - - PR target/116590 - * config/riscv/vector.md (pred_mul_<optab>mode_undef): Drop - unnecessary alternatives. - (pred_<madd_msub><mode>): Likewise. - (pred_<macc_msac><mode>): Likewise. - (pred_<madd_msub><mode>_scalar): Likewise. - (pred_<macc_msac><mode>_scalar): Likewise. - (pred_mul_neg_<optab><mode>_undef): Likewise. - (pred_<nmsub_nmadd><mode>): Likewise. - (pred_<nmsac_nmacc><mode>): Likewise. - (pred_<nmsub_nmadd><mode>_scalar): Likewise. - (pred_<nmsac_nmacc><mode>_scalar): Likewise. - -2024-11-21 Pan Li <pan2.li@intel.com> - - * match.pd: Refactor sorts of unsigned SAT_ADD match pattern. - -2024-11-21 Tamar Christina <tamar.christina@arm.com> - - * tree-vect-data-refs.cc (vect_get_data_access_cost): Pass NULL for SLP - node. - * tree-vect-stmts.cc (record_stmt_cost): Expose. - (vect_get_store_cost, vect_get_load_cost): Extend with SLP node. - (vectorizable_store, vectorizable_load): Pass SLP node to all costing. - * tree-vectorizer.h (record_stmt_cost): Always pass both SLP node and - stmt_vinfo to costing. - (vect_get_load_cost, vect_get_store_cost): Extend with SLP node. - -2024-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR target/102296 - * config/i386/sol2.h (ASM_DECLARE_OBJECT_NAME): Use decl size - instead of type size. - * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Likewise. - -2024-11-21 Christoph Müllner <christoph.muellner@vrull.eu> - - * tree-ssa-forwprop.cc (struct _vec_perm_simplify_seq): New data - structure to store analysis results of a vec perm simplify sequence. - (get_vect_selector_index_map): Helper to get an index map from the - provided vector permute selector. - (recognise_vec_perm_simplify_seq): Helper to recognise a - vec perm simplify sequence. - (narrow_vec_perm_simplify_seq): Helper to pack the lanes more - tight. - (can_blend_vec_perm_simplify_seqs_p): Test if two vec perm - sequences can be blended. - (calc_perm_vec_perm_simplify_seqs): Helper to calculate the new - permutation indices. - (blend_vec_perm_simplify_seqs): Helper to blend two vec perm - simplify sequences. - (process_vec_perm_simplify_seq_list): Helper to process a list - of vec perm simplify sequences. - (append_vec_perm_simplify_seq_list): Helper to add a vec perm - simplify sequence to the list. - (pass_forwprop::execute): Integrate new functionality. - -2024-11-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117720 - * tree-vect-stmts.cc (vectorizable_load): For VMAT_STRIDED_SLP - verify the choosen load type is OK with regard to alignment. - -2024-11-21 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (-std=c23): Adjust documentation for - publication of the ISO/IEC 9899:2024 standard. - * doc/standards.texi: Likewise. Document -std=gnu17 and - -std=gnu23 options. Mention that -std=gnu23 rather than - -std=gnu17 is now the default for C. - -2024-11-21 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/94589 - PR tree-optimization/117612 - * tree-ssa-phiopt.cc (spaceship_replacement): Handle - HONOR_NANS (TREE_TYPE (lhs1)) case when possible. - -2024-11-21 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/94589 - PR tree-optimization/117612 - * tree-ssa-phiopt.cc (spaceship_replacement): Fix up - a pasto in check when arg1 is 2. - -2024-11-21 Jakub Jelinek <jakub@redhat.com> - - PR c/117024 - * coretypes.h (enum function_class): Add function_c2y_misc - enumerator. - * builtin-types.def (BT_FN_UINTMAX_INTMAX, BT_FN_ULONG_LONG, - BT_FN_ULONGLONG_LONGLONG): New DEF_FUNCTION_TYPE_1s. - * builtins.def (DEF_C2Y_BUILTIN): Define. - (BUILT_IN_UABS, BUILT_IN_UIMAXABS, BUILT_IN_ULABS, - BUILT_IN_ULLABS): New builtins. - * builtins.cc (fold_builtin_abs): Handle also folding of u*abs - to ABSU_EXPR. - (fold_builtin_1): Handle BUILT_IN_U{,L,LL,IMAX}ABS. - -2024-11-21 Kewen Lin <linkw@linux.ibm.com> - - PR target/114567 - * config/rs6000/rs6000.md (expander signbit<FLOAT128:mode>2): Adjust. - (*signbit<mode>2_dm_mem): Rename to ... - (signbit<mode>2_dm_mem): ... this. - -2024-11-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/altivec.md (altivec_vadduqm): Rename to ... - (addv1ti3): ... this. - (altivec_vsubuqm): Rename to ... - (subv1ti3): ... this. - * config/rs6000/rs6000-builtins.def (__builtin_altivec_vadduqm): - Replace bif expander altivec_vadduqm with addv1ti3. - (__builtin_altivec_vsubuqm): Replace bif expander altivec_vsubuqm with - subv1ti3. - -2024-11-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/altivec.md (mode attr for V1TI in VI_unit): Remove. - -2024-11-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.md (*eqv<BOOL_128:mode>3_internal1): Generate - insn veqv if TARGET_ALTIVEC and operands are altivec_register_operand. - -2024-11-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_IEEE): Remove. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace - ISA_3_0_MASKS_IEEE check with TARGET_P9_VECTOR. - -2024-11-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Simplify - TARGET_P8_VECTOR && TARGET_DIRECT_MOVE as TARGET_P8_VECTOR. - (rs6000_output_move_128bit): Simplify TARGET_VSX && TARGET_DIRECT_MOVE - as TARGET_DIRECT_MOVE. - * config/rs6000/rs6000.h (TARGET_XSCVDPSPN): Simplify conditions - TARGET_DIRECT_MOVE || TARGET_P8_VECTOR as TARGET_P8_VECTOR. - (TARGET_XSCVSPDPN): Likewise. - (TARGET_DIRECT_MOVE_128): Simplify TARGET_DIRECT_MOVE && - TARGET_POWERPC64 as TARGET_DIRECT_MOVE_64BIT. - (TARGET_VEXTRACTUB): Likewise. - (TARGET_DIRECT_MOVE_64BIT): Simplify TARGET_P8_VECTOR && - TARGET_DIRECT_MOVE as TARGET_DIRECT_MOVE. - * config/rs6000/rs6000.md (signbit<mode>2, @signbit<mode>2_dm, - *signbit<mode>2_dm_mem, floatsi<mode>2_lfiwax, - floatsi<SFDF:mode>2_lfiwax_<QHI:mode>_mem_zext, - floatunssi<mode>2_lfiwzx, float<QHI:mode><SFDF:mode>2, - *float<QHI:mode><SFDF:mode>2_internal, floatuns<QHI:mode><SFDF:mode>2, - *floatuns<QHI:mode><SFDF:mode>2_internal, p8_mtvsrd_v16qidi2, - p8_mtvsrd_df, p8_xxpermdi_<mode>, reload_vsx_from_gpr<mode>, - p8_mtvsrd_sf, reload_vsx_from_gprsf, p8_mfvsrd_3_<mode>, - reload_gpr_from_vsx<mode>, reload_gpr_from_vsxsf, unpack<mode>_dm): - Simplify TARGET_DIRECT_MOVE && TARGET_POWERPC64 as - TARGET_DIRECT_MOVE_64BIT. - (unpack<mode>_nodm): Simplify !TARGET_DIRECT_MOVE || !TARGET_POWERPC64 - as !TARGET_DIRECT_MOVE_64BIT. - (fix_trunc<mode>si2, fix_trunc<mode>si2_stfiwx, - fix_trunc<mode>si2_internal): Simplify TARGET_P8_VECTOR && - TARGET_DIRECT_MOVE as TARGET_DIRECT_MOVE. - (fix_trunc<mode>si2_stfiwx, fixuns_trunc<mode>si2_stfiwx): Remove some - dead code as the guard TARGET_DIRECT_MOVE there never holds. - (fixuns_trunc<mode>si2_stfiwx): Change TARGET_P8_VECTOR with - TARGET_DIRECT_MOVE which is a better fit. - * config/rs6000/vsx.md (define_peephole2 for SFmode in GPR): Simplify - TARGET_DIRECT_MOVE && TARGET_POWERPC64 as TARGET_DIRECT_MOVE_64BIT. - -2024-11-20 Lewis Hyatt <lhyatt@gmail.com> - - * tree-cfg.cc (assign_discriminators): Fix incorrect value passed to - next_discriminator_for_locus(). - -2024-11-20 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/116587 - * lra-assigns.cc (find_all_spills_for): Consider all pseudos whose - classes intersect given pseudo class. - -2024-11-20 Andrew Pinski <quic_apinski@quicinc.com> - - * read-md.h (class rtx_reader): Don't include m_reuse_rtx_by_id - when GENERATOR_FILE is defined. - * read-rtl.cc (rtx_reader::read_rtx_code): Disable reuse_rtx - support when GENERATOR_FILE is defined. - -2024-11-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117709 - * tree-vect-stmts.cc (get_group_load_store_type): Only - set *poffset when we end up with VMAT_CONTIGUOUS_DOWN - or VMAT_CONTIGUOUS_REVERSE. - -2024-11-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117698 - * tree-vect-stmts.cc (get_group_load_store_type): Properly - disregard alignment for VMAT_STRIDED_SLP and VMAT_INVARIANT. - (vectorizable_load): Adjust guard for dumping whether we - vectorize and unaligned access. - (vectorizable_store): Likewise. - -2024-11-20 Paul-Antoine Arras <parras@baylibre.com> - - * builtins.cc (builtin_fnspec): Handle BUILT_IN_OMP_GET_MAPPED_PTR. - * gimple-low.cc (lower_stmt): Handle GIMPLE_OMP_DISPATCH. - * gimple-pretty-print.cc (dump_gimple_omp_dispatch): New function. - (pp_gimple_stmt_1): Handle GIMPLE_OMP_DISPATCH. - * gimple-walk.cc (walk_gimple_stmt): Likewise. - * gimple.cc (gimple_build_omp_dispatch): New function. - (gimple_copy): Handle GIMPLE_OMP_DISPATCH. - * gimple.def (GIMPLE_OMP_DISPATCH): Define. - * gimple.h (gimple_build_omp_dispatch): Declare. - (gimple_has_substatements): Handle GIMPLE_OMP_DISPATCH. - (gimple_omp_dispatch_clauses): New function. - (gimple_omp_dispatch_clauses_ptr): Likewise. - (gimple_omp_dispatch_set_clauses): Likewise. - (gimple_return_set_retval): Handle GIMPLE_OMP_DISPATCH. - * gimplify.cc (enum omp_region_type): Add ORT_DISPATCH. - (struct gimplify_omp_ctx): Add in_call_args. - (gimplify_call_expr): Handle need_device_ptr arguments. - (is_gimple_stmt): Handle OMP_DISPATCH. - (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DEVICE in a dispatch - construct. Handle OMP_CLAUSE_NOVARIANTS and OMP_CLAUSE_NOCONTEXT. - (omp_has_novariants): New function. - (omp_has_nocontext): Likewise. - (omp_construct_selector_matches): Handle OMP_DISPATCH with nocontext - clause. - (find_ifn_gomp_dispatch): New function. - (gimplify_omp_dispatch): Likewise. - (gimplify_expr): Handle OMP_DISPATCH. - * gimplify.h (omp_has_novariants): Declare. - * internal-fn.cc (expand_GOMP_DISPATCH): New function. - * internal-fn.def (GOMP_DISPATCH): Define. - * omp-builtins.def (BUILT_IN_OMP_GET_MAPPED_PTR): Define. - (BUILT_IN_OMP_GET_DEFAULT_DEVICE): Define. - (BUILT_IN_OMP_SET_DEFAULT_DEVICE): Define. - * omp-general.cc (omp_construct_traits_to_codes): Add OMP_DISPATCH. - (struct omp_ts_info): Add dispatch. - (omp_resolve_declare_variant): Handle novariants. Adjust - DECL_ASSEMBLER_NAME. - * omp-low.cc (scan_omp_1_stmt): Handle GIMPLE_OMP_DISPATCH. - (lower_omp_dispatch): New function. - (lower_omp_1): Call it. - * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_OMP_DISPATCH. - (estimate_num_insns): Handle GIMPLE_OMP_DISPATCH. - -2024-11-20 Paul-Antoine Arras <parras@baylibre.com> - - * builtin-types.def (BT_FN_PTR_CONST_PTR_INT): New. - * omp-selectors.h (enum omp_ts_code): Add OMP_TRAIT_CONSTRUCT_DISPATCH. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_NOVARIANTS and - OMP_CLAUSE_NOCONTEXT. - * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_NOVARIANTS - and OMP_CLAUSE_NOCONTEXT. - (dump_generic_node): Handle OMP_DISPATCH. - * tree.cc (omp_clause_num_ops): Add OMP_CLAUSE_NOVARIANTS and - OMP_CLAUSE_NOCONTEXT. - (omp_clause_code_name): Add "novariants" and "nocontext". - * tree.def (OMP_DISPATCH): New. - * tree.h (OMP_DISPATCH_BODY): New macro. - (OMP_DISPATCH_CLAUSES): New macro. - (OMP_CLAUSE_NOVARIANTS_EXPR): New macro. - (OMP_CLAUSE_NOCONTEXT_EXPR): New macro. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-option-extensions.def (sme2p1): New extension. - * doc/invoke.texi: Document it. - * config/aarch64/aarch64.h (TARGET_STREAMING_SME2p1): New macro. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): - Conditionally define __ARM_FEATURE_SME2p1. - * config/aarch64/iterators.md (UNSPEC_SME_READZ, UNSPEC_SME_READZ_HOR) - (UNSPEC_SME_READZ_VER): New unspecs. - (optab, hv): Handle them. - (SME_READZ_HV): New int iterator. - * config/aarch64/aarch64-sme.md - (UNSPEC_SME_ZERO_SLICES): New unspec. - (@aarch64_sme_<SME_READZ_HV:optab><v_int_container><mode>) - (*aarch64_sme_<SME_READZ_HV:optab><v_int_container><mode>_plus) - (@aarch64_sme_<SME_READZ_HV:optab><VNx1TI_ONLY:mode><SVE_FULL:mode>) - (@aarch64_sme_<SME_READZ_HV:optab><SVE_FULLx24:mode><mode>) - (*aarch64_sme_<SME_READZ_HV:optab><SVE_FULLx24:mode><mode>_plus) - (@aarch64_sme_readz<mode>, *aarch64_sme_readz<mode>_plus) - (@aarch64_sme_zero_za_slices<mode>): New patterns. - (*aarch64_sme_zero_za_slices<mode>_plus): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.h - (inherent_za_slice): Declare. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (inherent_za_slice_def, inherent_za_slice): New shape. - * config/aarch64/aarch64-sve-builtins-sme.h (svreadz_za) - (svreadz_hor_za, svreadz_ver_za): Declare. - * config/aarch64/aarch64-sve-builtins-sme.cc - (svread_za_slice_base): New class, split out from... - (svread_za_impl): ...here. - (svreadz_za_impl, svreadz_za_tile_impl): New type aliases. - (zero_slices_mode): New function. - (svzero_za_impl::expand): Handle the slice forms. - (svreadz_za, svreadz_hor_za, svreadz_ver_za): New functions. - * config/aarch64/aarch64-sve-builtins-sme.def: Add the SME2p1 - instructions. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-option-extensions.def - (sme-b16b16): New extension. - * doc/invoke.texi: Document it. - * config/aarch64/aarch64.h (TARGET_STREAMING_SME_B16B16): New macro. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): - Conditionally define __ARM_FEATURE_SME_B16B16. - * config/aarch64/aarch64-sve-builtins-sme.def: Add SME_B16B16 forms - of existing intrinsics. - * config/aarch64/aarch64-sme.md - (@aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>) - (*aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>_plus) - (@aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>) - (*aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) - (@aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>) - (*aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) - (@aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) - (*aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) - (@aarch64_sme_<SME_FP_MOP:optab><mode><mode>): Extend to BF16 modes. - * config/aarch64/aarch64-sve-builtins.cc (TYPES_za_h_bfloat): New - type macro. - * config/aarch64/iterators.md (SME_ZA_HSDFx24): Add BF16 modes. - (SME_MOP_HSDF): Likewise. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-option-extensions.def - (sme-f16f16): New extension. - * doc/invoke.texi: Document it. Also document that sme-i16i64 and - sme-f64f64 enable SME. - * config/aarch64/aarch64.h (TARGET_STREAMING_SME_F16F16): New macro. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): - Conditionally define __ARM_FEATURE_SME_F16F16. - * config/aarch64/aarch64-sve-builtins-sve2.def (svcvt, svcvtl): Add - new SME_F16F16 intrinsics. - * config/aarch64/aarch64-sve-builtins-sme.def: Add SME_F16F16 forms - of existing intrinsics. - * config/aarch64/aarch64-sve-builtins.cc (TYPES_h_float) - (TYPES_cvt_f32_f16, TYPES_za_h_float): New type macros. - * config/aarch64/aarch64-sve-builtins-base.cc - (svcvt_impl::expand): Add sext_optab as another possibility. - * config/aarch64/aarch64-sve-builtins-sve2.h (svcvtl): Declare. - * config/aarch64/aarch64-sve-builtins-sve2.cc (svcvtl_impl): New class. - (svcvtl): New function. - * config/aarch64/iterators.md (VNx8SF_ONLY): New mode iterator. - (SME_ZA_SDFx24): Replace with... - (SME_ZA_HSDFx24): ...this. - (SME_MOP_SDF): Replace with... - (SME_MOP_HSDF): ...this. - (SME_BINARY_SLICE_SDF): Replace with... - (SME_BINARY_SLICE_HSDF): ...this. - * config/aarch64/aarch64-sve2.md (extendvnx8hfvnx8sf2) - (@aarch64_sve_cvtl<mode>): New patterns. - * config/aarch64/aarch64-sme.md - (@aarch64_sme_<SME_BINARY_SLICE_SDF:optab><mode>): Extend to... - (@aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>): ...this. - (*aarch64_sme_<SME_BINARY_SLICE_SDF:optab><mode>_plus): Extend to... - (*aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>_plus): ...this. - (@aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>): Extend to - HF modes. - (*aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) - (@aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>) - (*aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) - (@aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) - (*aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) - (@aarch64_sme_<SME_FP_MOP:optab><mode><mode>): Likewise. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-option-extensions.def - (sve-b16b16): New extension. - * doc/invoke.texi: Document it. - * config/aarch64/aarch64.h (TARGET_SME_B16B16, TARGET_SVE2_OR_SME2) - (TARGET_SSVE_B16B16): New macros. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): - Conditionally define __ARM_FEATURE_SVE_B16B16 - * config/aarch64/aarch64-sve-builtins-sve2.def: Add AARCH64_FL_SVE2 - to the SVE2p1 requirements. Add SVE_B16B16 forms of existing - intrinsics. - * config/aarch64/aarch64-sve-builtins.cc (type_suffixes): Treat - bfloat as a floating-point type. - (TYPES_h_bfloat): New macro. - * config/aarch64/aarch64.md (is_bf16, is_rev, supports_bf16_rev) - (mode_enabled): New attributes. - (enabled): Test mode_enabled. - * config/aarch64/iterators.md (SVE_FULL_F_BF): New mode iterator. - (SVE_CLAMP_F): Likewise. - (SVE_Fx24): Add BF16 modes when TARGET_SSVE_B16B16. - (sve_lane_con): Handle BF16 modes. - (b): Handle SF and DF modes. - (is_bf16): New mode attribute. - (supports_bf16, supports_bf16_rev): New int attributes. - * config/aarch64/predicates.md - (aarch64_sve_float_maxmin_immediate): Reject BF16 modes. - * config/aarch64/aarch64-sve.md - (*post_ra_<sve_fp_op><mode>3): Add BF16 support, and likewise - for the associated define_split. - (<optab:SVE_COND_FP_BINARY_OPTAB><mode>): Add BF16 support. - (@cond_<optab:SVE_COND_FP_BINARY><mode>): Likewise. - (*cond_<optab:SVE_COND_FP_BINARY><mode>_2_relaxed): Likewise. - (*cond_<optab:SVE_COND_FP_BINARY><mode>_2_strict): Likewise. - (*cond_<optab:SVE_COND_FP_BINARY><mode>_3_relaxed): Likewise. - (*cond_<optab:SVE_COND_FP_BINARY><mode>_3_strict): Likewise. - (*cond_<optab:SVE_COND_FP_BINARY><mode>_any_relaxed): Likewise. - (*cond_<optab:SVE_COND_FP_BINARY><mode>_any_strict): Likewise. - (@aarch64_mul_lane_<mode>): Likewise. - (<optab:SVE_COND_FP_TERNARY><mode>): Likewise. - (@aarch64_pred_<optab:SVE_COND_FP_TERNARY><mode>): Likewise. - (@cond_<optab:SVE_COND_FP_TERNARY><mode>): Likewise. - (*cond_<optab:SVE_COND_FP_TERNARY><mode>_4_relaxed): Likewise. - (*cond_<optab:SVE_COND_FP_TERNARY><mode>_4_strict): Likewise. - (*cond_<optab:SVE_COND_FP_TERNARY><mode>_any_relaxed): Likewise. - (*cond_<optab:SVE_COND_FP_TERNARY><mode>_any_strict): Likewise. - (@aarch64_<optab:SVE_FP_TERNARY_LANE>_lane_<mode>): Likewise. - * config/aarch64/aarch64-sve2.md - (@aarch64_pred_<optab:SVE_COND_FP_BINARY><mode>): Define BF16 version. - (@aarch64_sve_fclamp<mode>): Add BF16 support. - (*aarch64_sve_fclamp<mode>_x): Likewise. - (*aarch64_sve_<maxmin_uns_op><SVE_Fx24:mode>): Likewise. - (*aarch64_sve_single_<maxmin_uns_op><SVE_Fx24:mode>): Likewise. - * config/aarch64/aarch64.cc (aarch64_sve_float_arith_immediate_p) - (aarch64_sve_float_mul_immediate_p): Return false for BF16 modes. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sme.md (@aarch64_sme_write<mode>) - (*aarch64_sme_write<mode>_plus): Use UNSPEC_SME_WRITE instead - of UNSPEC_SME_READ. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/iterators.md (SME_READ): Rename to... - (SME_READ_HV): ...this. - (SME_WRITE): Rename to... - (SME_WRITE_HV): ...this. - * config/aarch64/aarch64-sme.md: Update accordingly. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/iterators.md (SVE_COND_FP): New code attribute. - * config/aarch64/aarch64-sve.md: Use a single define_split to - handle the conversion of predicated FADD, FSUB, and FMUL into - unpredicated forms. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/iterators.md (SME_ZA_SDF_I): Delete. - (SME_MOP_HSDF): Replace with... - (SME_MOP_SDF): ...this. - * config/aarch64/aarch64-sme.md: Change the non-widening FMLA and - FMLS patterns so that both mode parameters are the same, rather than - using both SME_ZA_SDF_I and SME_ZA_SDFx24 and checking that their - element sizes are the same. Split the FMOPA and FMOPS patterns - into separate non-widening and widening forms, then update the - non-widening forms in a similar way to FMLA and FMLS. - * config/aarch64/aarch64-sve-builtins-functions.h - (sme_2mode_function_t::expand): If the two type suffixes have the same - element size, use the vector tuple mode for both mode parameters. - -2024-11-20 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.cc (legitimize_tls_address) - <TLS_MODEL_INITIAL_EXEC>: Remove 64-bit Solaris ld workaround. - * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Remove. - (tls_initial_exec_64_sun): Remove. - -2024-11-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117574 - * tree-ssa-loop-niter.cc (number_of_iterations_lt_to_ne): - Use the obvious may_be_zero condition. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * machmode.h (opt_mode::opt_mode): New overload. - * optabs-query.h (get_absneg_bit_mode): Declare. - * optabs-query.cc (get_absneg_bit_mode): New function, split - out from expand_absneg_bit. - (can_open_code_p): Use get_absneg_bit_mode. - * optabs.cc (expand_absneg_bit): Likewise. Take an outer and inner - mode, rather than just one. Handle vector modes. - (expand_unop, expand_abs_nojump): Update calls accordingly. - Handle vector modes. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-data-refs.cc (vect_supportable_dr_alignment): Use - can_implement_p instead of optab_handler. - * tree-vect-generic.cc (add_rshift, expand_vector_divmod): Likewise. - (optimize_vector_constructor, type_for_widest_vector_mode): Likewise. - (lower_vec_perm, expand_vector_operations_1): Likewise. - * tree-vect-loop.cc (have_whole_vector_shift): Likewise. - * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise. - (target_has_vecop_for_code, vect_recog_mult_pattern): Likewise. - (vect_recog_divmod_pattern): Likewise. - * tree-vect-stmts.cc (vect_supportable_shift, vectorizable_shift) - (scan_store_can_perm_p, check_scan_store, vectorizable_store) - (vectorizable_load, vectorizable_condition): Likewise. - (vectorizable_comparison_1): Likewise. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * optabs-query.cc (can_open_code_p, can_implement_p): Declare. - * optabs-query.h (can_open_code_p, can_implement_p): New functions. - * optabs-tree.cc (target_supports_op_p): Use can_implement_p. - * tree-vect-stmts.cc (vectorizable_operation): Likewise. - * tree-vect-generic.cc (get_compute_type): Likewise. Remove code - parameter. - (expand_vector_scalar_condition, expand_vector_conversion) - (expand_vector_operations_1): Update calls accordingly. - -2024-11-20 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/arm/arm.cc (arm_mve_dlstp_check_dec_counter): Call - single_pred_p to verify it's safe to call single_pred. - -2024-11-20 Feng Wang <wangfeng@eswincomputing.com> - - PR target/117669 - * config/riscv/vector-iterators.md: - -2024-11-20 MayShao-oc <MayShao-oc@zhaoxin.com> - - PR target/117438 - * config/i386/i386-features.cc (TARGET_ALIGN_TIGHT_LOOPS): - default true in all processors except for m_ZHAOXIN, m_CASCADELAKE, and - m_SKYLAKE_AVX512. - * config/i386/i386.h (TARGET_ALIGN_TIGHT_LOOPS): New Macro. - * config/i386/x86-tune.def (X86_TUNE_ALIGN_TIGHT_LOOPS): - New tune - -2024-11-20 yulong <shiyulong@iscas.ac.cn> - - * common/config/riscv/riscv-common.cc: New. - * config/riscv/riscv.opt: New. - -2024-11-20 Jeff Law <jlaw@ventanamicro.com> - - PR target/117649 - * config/riscv/riscv.md (branch on masked/shifted operands): Use - arithmetic rather than logical shift for operand 1. - -2024-11-19 Georg-Johann Lay <avr@gjlay.de> - - PR target/54378 - * config/avr/avr.cc (avr_default_shift_costs): New static function. - (avr_rtx_costs_1) [ASHIFT, LSHIFTRT, ASHIFTRT]: Use it - to determine the default shift costs for shifts with a - constant shift offset. - -2024-11-19 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md (ashlhi3, *ashlhi3_const_split, *ashlhi3_const) - (*ashlpsi3_split, *ashlpsi3) - (ashlsi3, *ashlsi3_const_split, *ashlsi3_const) - (ashrhi3, *ashrhi3, ashrpsi3, *ashrpsi3, ashrsi3, *ashrsi3) - (*ashrhi3_const_split, *ashrhi3_const, *ashrsi3_const_split, *ashrsi3_const): - Add constraint alternatives that allow a 3-operand operation when the - shift offset is one less than the mode's bitsize. - * config/avr/avr.cc (ashl<mode>3_out, ashr<mode>3_out) - (lshr<mode>3_out): Use avr_asm_len for asm_out and length tracking. - (ashrhi3_out, ashlhi3_out): Support the new "r,r,C15" alternatives. - (ashrsi3_out, ashlsi3_out): Support the new "r,r,C31" alternatives. - (avr_out_ashrpsi3, avr_out_ashlpsi3): Support the new "r,r,C23" alternatives. - -2024-11-19 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.h (avr_args.has_stack_args): Be a bool. - (struct machine_function) <is_naked, is_noblock, is_OS_task, - is_OS_task, sibcall_fails, attributes_checked_p, is_no_gccisr, - use_L__stack_usage, gasisr.yes, gasisr.maybe>: Same. - * config/avr/avr-protos.h (reg_unused_after) - (test_hard_reg_class, jump_over_one_insn_p): Use bool as - return type. - * config/avr/avr.cc (reg_unused_after) - (test_hard_reg_class, jump_over_one_insn_p): Same. - (cfun->machine->attributes_checked_p, cum->has_stack_args) - (cfun->machine->use_L__stack_usage, cfun->machine->gasisr.yes) - (cfun->machine->sibcall_fails): Use like a bool. - -2024-11-19 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/riscv/riscv.cc (riscv_override_options_internal): - Set division option's default to disabled if multiplication - is not available. - -2024-11-19 Jason Merrill <jason@redhat.com> - - * warning-control.cc (has_warning_spec): Fix handling of - get_no_warning_bit. - -2024-11-19 Georg-Johann Lay <avr@gjlay.de> - - PR target/84211 - * config/avr/avr-passes.cc (memento_t::apply_insn1): Don't - use operator &= on memento_t.known but on memento_t itself. - -2024-11-19 Andrew Stubbs <ams@baylibre.com> - - PR target/117657 - * config/gcn/gcn-valu.md (mask_gather_load<mode><vnsi>): Fix bug in - maskload else patch. - -2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> - - * config/aarch64/cygming.h (TARGET_ASM_LTO_START): New. - (TARGET_ASM_LTO_END): Likewise. - * config/i386/cygming.h (TARGET_ASM_LTO_START): Update. - (TARGET_ASM_LTO_END): Likewise. - * config/i386/i386-protos.h (i386_pe_asm_lto_start): Delete. - (i386_pe_asm_lto_end): Likewise. - * config/mingw/winnt.cc (i386_pe_asm_lto_start): Rename - into ... - (mingw_pe_asm_lto_start): ... this. - (i386_pe_asm_lto_end): Rename into ... - (mingw_pe_asm_lto_end): ... this. - * config/mingw/winnt.h (mingw_pe_asm_lto_start): New. - (mingw_pe_asm_lto_end): Likewise. - -2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> - - * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): - Update. - -2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> - - * config/aarch64/aarch64-coff.h (LOCAL_LABEL_PREFIX): - Use "." as the local label prefix. - (ASM_OUTPUT_ALIGNED_LOCAL): Remove. - (ASM_OUTPUT_LOCAL): New. - * config/aarch64/cygming.h (ASM_OUTPUT_EXTERNAL_LIBCALL): - Update. - (ASM_DECLARE_OBJECT_NAME): New. - (ASM_DECLARE_FUNCTION_NAME): New. - * config/i386/cygming.h (ASM_DECLARE_COLD_FUNCTION_NAME): - Update. - (ASM_OUTPUT_EXTERNAL_LIBCALL): Update. - * config/mingw/winnt.cc (mingw_pe_declare_function_type): - Rename into ... - (mingw_pe_declare_type): ... this. - (i386_pe_start_function): Update. - * config/mingw/winnt.h (mingw_pe_declare_function_type): - Rename into ... - (mingw_pe_declare_type): ... this. - -2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> - - * config/aarch64/aarch64.cc (aarch64_classify_symbol): - Disable GOT for PECOFF target. - -2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> - - * config.gcc: Add missing dependencies. - -2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> - - * config/aarch64/aarch64.cc (TARGET_ASM_UNALIGNED_HI_OP): - Enable DWARF. - (TARGET_ASM_UNALIGNED_SI_OP): Likewise. - (TARGET_ASM_UNALIGNED_DI_OP): Likewise. - * config/aarch64/cygming.h (DWARF2_DEBUGGING_INFO): Likewise. - (PREFERRED_DEBUGGING_TYPE): Likewise. - (DWARF2_UNWIND_INFO): Likewise. - (ASM_OUTPUT_DWARF_OFFSET): Likewise. - -2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> - - * config/aarch64/cygming.h (SUB_TARGET_RECORD_STUB): Request - declaration for weak symbols. - (PE_COFF_LEGITIMIZE_EXTERN_DECL): Legitimize external - declaration for weak symbols. - * config/i386/cygming.h (SUB_TARGET_RECORD_STUB): Update - declarations in ix86 with the same functionality. - (PE_COFF_LEGITIMIZE_EXTERN_DECL): Likewise. - * config/mingw/winnt-dll.cc (legitimize_pe_coff_symbol): - Support declaration for weak symbols if requested. - * config/mingw/winnt.cc (struct stub_list): Likewise. - (mingw_pe_record_stub): Likewise. - (mingw_pe_file_end): Likewise. - * config/mingw/winnt.h (mingw_pe_record_stub): Likewise. - -2024-11-19 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-v.cc (shuffle_merge_patterns): Load VLS - indices directly. - -2024-11-19 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/117297 - * recog.h (temporarily_undo_changes, redo_changes): Delete in - favor of... - (undo_recog_changes): ...this new RAII class. - * fwprop.cc (should_replace_address): Update accordingly. - (fwprop_propagation::check_mem): Likewise. - (try_fwprop_subst_note): Likewise. - (try_fwprop_subst_pattern): Likewise. - * rtl-ssa/insns.cc (insn_info::calculate_cost): Likewise. - * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Temporarily - undo all in-progress changes while computing the cost of the original - sequence. - * recog.cc (temporarily_undone_changes): Replace with... - (undo_recog_changes::s_num_changes): ...this static member variable. - (validate_change_1): Update check accordingly. - (confirm_change_group): Likewise. - (num_validated_changes): Likewise. - (temporarily_undo_changes): Replace with... - (undo_recog_changes::undo_recog_changes): ...this constructor. - (redo_changes): Replace with... - (undo_recog_changes::~undo_recog_changes): ...this destructor. - -2024-11-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117458 - * expr.cc (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Don't - call extract_bit_field if op0 has complex mode and isn't a MEM, - instead first force op0 into memory and then call extract_bit_field. - -2024-11-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117459 - * gimple-lower-bitint.cc (bitint_large_huge::handle_stmt, - bitint_large_huge::lower_stmt): Handle PAREN_EXPR. - -2024-11-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117571 - * gimple-lower-bitint.cc (bitint_large_huge::lower_muldiv_stmt, - bitint_large_huge::lower_stmt, stmt_needs_operand_addr, - build_bitint_stmt_ssa_conflicts, gimple_lower_bitint): Handle - EXACT_DIV_EXPR like TRUNC_DIV_EXPR. - -2024-11-19 David Malcolm <dmalcolm@redhat.com> - - * config/avr/avr.opt.urls: Regenerate for - r15-5415-gc3db52bb47913a. - -2024-11-19 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (add_to_fieldlist): New function. - (add_struct_member): Call recursively to flatten structs, and call - add_to_fieldlist. - (add_struct_static_member): Call add_to_fieldlist. - (add_struct_function): Call add_to_fieldlist. - (add_struct_inheritance): Call add_to_fieldlist. - (add_struct_nested_type): Call add_to_fieldlist. - (get_type_num_struct): Move code to add_to_fieldlist, and move - responsibility for this to subfunctions. - -2024-11-19 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_leaf_type): Add LF_NESTTYPE. - (struct codeview_subtype): Add lf_nesttype to union. - (flush_deferred_types): Add declaration. - (write_lf_fieldlist): Handle LF_NESTTYPE. - (codeview_debug_finish): Call flush_deferred_types. - (add_struct_nested_type): New function. - (get_type_num_struct): Call add_struct_nested_type, and if nested make - that parent is added. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - PR other/96032 - * Makefile.in (lang_checks): If libdiagnostics is enabled, add - check-sarif-replay. - (SARIF_REPLAY_OBJS): New. - (ALL_HOST_OBJS): If libdiagnostics is enabled, add - $(SARIF_REPLAY_OBJS). - (sarif-replay): New. - (install-libdiagnostics): Add sarif-replay to deps, and install - it. - * configure: Regenerate. - * configure.ac (check_languages): If libdiagnostics is enabled, - add check-sarif-replay. - (LIBDIAGNOSTICS): If libdiagnostics is enabled, add sarif-replay. - * doc/install.texi (--enable-libdiagnostics): Note that it also - enables sarif-replay. - * libsarifreplay.cc: New file. - * libsarifreplay.h: New file. - * sarif-replay.cc: New file. - * sarif-spec-urls.def: New file. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS-libcommon): Add json-parsing.o. - * json-parsing.cc: New file. - * json-parsing.h: New file. - * json.cc (selftest::assert_print_eq): Remove "static". - * json.h (json::array::begin): New. - (json::array::end): New. - (json::array::length): New. - (json::array::get): New. - (is_a_helper <json::value *>::test): New. - (is_a_helper <const json::value *>::test): New. - (is_a_helper <json::object *>::test): New. - (is_a_helper <const json::object *>::test): New. - (is_a_helper <json::array *>::test): New. - (is_a_helper <const json::array *>::test): New. - (is_a_helper <json::float_number *>::test): New. - (is_a_helper <const json::float_number *>::test): New. - (is_a_helper <json::integer_number *>::test): New. - (is_a_helper <const json::integer_number *>::test): New. - (is_a_helper <json::string *>::test): New. - (is_a_helper <const json::string *>::test): New. - (selftest::assert_print_eq): New decl. - * selftest-run-tests.cc (selftest::run_tests): Call - selftest::json_parser_cc_tests. - * selftest.h (selftest::json_parser_cc_tests): New decl. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - * configure.ac (check_languages): Add check-libdiagnostics. - (--enable-libdiagnostics): New. - * configure: Regenerate. - * Makefile.in (enable_libdiagnostics): New. - (lang_checks): If libdiagnostics is enabled, add - check-libdiagnostics. - (ALL_HOST_OBJS): If libdiagnostics is enabled, add - $(libdiagnostics_OBJS). - (start.encap): Add LIBDIAGNOSTICS. - (libdiagnostics_OBJS): New. - (LIBDIAGNOSTICS_VERSION_NUM): New, adapted from code in - jit/Make-lang.in. - (LIBDIAGNOSTICS_MINOR_NUM): Likewise. - (LIBDIAGNOSTICS_RELEASE_NUM): Likewise. - (LIBDIAGNOSTICS_FILENAME): Likewise. - (LIBDIAGNOSTICS_IMPORT_LIB): Likewise. - (libdiagnostics): Likewise. - (LIBDIAGNOSTICS_AGE): Likewise. - (LIBDIAGNOSTICS_BASENAME): Likewise. - (LIBDIAGNOSTICS_SONAME): Likewise. - (LIBDIAGNOSTICS_LINKER_NAME): Likewise. - (LIBDIAGNOSTICS_COMMA): Likewise. - (LIBDIAGNOSTICS_VERSION_SCRIPT_OPTION): Likewise. - (LIBDIAGNOSTICS_SONAME_OPTION): Likewise. - (LIBDIAGNOSTICS_SONAME_SYMLINK): Likewise. - (LIBDIAGNOSTICS_LINKER_NAME_SYMLINK): Likewise. - (LIBDIAGNOSTICS_FILENAME): Likewise. - (libdiagnostics.serial): Likewise. - (LIBDIAGNOSTICS_EXTRA_OPTS): Likewise. - (install): If libdiagnostics is enabled, add - install-libdiagnostics. - (libdiagnostics.install-headers): New. - (libdiagnostics.install-common): New, adapted from code in - jit/Make-lang.in. - (install-libdiagnostics): New. - * diagnostic-format-text.h - (diagnostic_text_output_format::get_location_text): Make public. - * doc/install.texi (--enable-libdiagnostics): New. - * doc/libdiagnostics/Makefile: New file. - * doc/libdiagnostics/conf.py: New file. - * doc/libdiagnostics/index.rst: New file. - * doc/libdiagnostics/make.bat: New file. - * doc/libdiagnostics/topics/diagnostic-manager.rst: New file. - * doc/libdiagnostics/topics/diagnostics.rst: New file. - * doc/libdiagnostics/topics/execution-paths.rst: New file. - * doc/libdiagnostics/topics/fix-it-hints.rst: New file. - * doc/libdiagnostics/topics/index.rst: New file. - * doc/libdiagnostics/topics/logical-locations.rst: New file. - * doc/libdiagnostics/topics/message-formatting.rst: New file. - * doc/libdiagnostics/topics/metadata.rst: New file. - * doc/libdiagnostics/topics/physical-locations.rst: New file. - * doc/libdiagnostics/topics/retrofitting.rst: New file. - * doc/libdiagnostics/topics/sarif.rst: New file. - * doc/libdiagnostics/topics/text-output.rst: New file. - * doc/libdiagnostics/topics/ux.rst: New file. - * doc/libdiagnostics/tutorial/01-hello-world.rst: New file. - * doc/libdiagnostics/tutorial/02-physical-locations.rst: New file. - * doc/libdiagnostics/tutorial/03-logical-locations.rst: New file. - * doc/libdiagnostics/tutorial/04-notes.rst: New file. - * doc/libdiagnostics/tutorial/05-warnings.rst: New file. - * doc/libdiagnostics/tutorial/06-fix-it-hints.rst: New file. - * doc/libdiagnostics/tutorial/07-execution-paths.rst: New file. - * doc/libdiagnostics/tutorial/index.rst: New file. - * libdiagnostics++.h: New file. - * libdiagnostics.cc: New file. - * libdiagnostics.h: New file. - * libdiagnostics.map: New file. - * doc/libdiagnostics/tutorial/example-1.png: New file. - -2024-11-18 Uros Bizjak <ubizjak@gmail.com> - - PR target/117357 - * config/i386/i386.md (*rsqrtsf2_sse): - Also enable for !TARGET_SSE_MATH. - -2024-11-18 Richard Sandiford <richard.sandiford@arm.com> - - * timevar.def (TV_LATE_COMBINE): New timevar. - * late-combine.cc (pass_data_late_combine): Use it. - -2024-11-18 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-early-ra.cc - (early_ra::IGNORE_REG): New flag. - (early_ra::fpr_preference): Handle it. - (early_ra::record_constraints): Fail the allocation if an - IGNORE_REG output operand is not independent of the inputs. - (defines_multi_def_pseudo): New function. - (early_ra::could_split_region_here): New member function, split - out from... - (early_ra::process_block): ...here. Try splitting a block into - multiple regions between the definition and use phases of an - instruction. Set IGNORE_REG on the output registers if we do so. - -2024-11-18 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-early-ra.cc - (early_ra::process_block): Check m_accurate_live_ranges - rather than m_allocation_successful when deciding whether - to split a block into multiple regions. Skip over subregions - that we decide not to allocate. - -2024-11-18 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-early-ra.cc - (early_ra::get_allocno_subgroup): Split can_change_mode_class test - out from modes_tieable_p test and only invalidate the live range - information for the former. - -2024-11-18 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-early-ra.cc - (early_ra::record_allocation_failure): New member function. - (early_ra::get_allocno_subgroup): Use it instead of setting - m_allocation_successful directly. - (early_ra::record_constraints): Likewise. - (early_ra::allocate_colors): Likewise. - -2024-11-18 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-early-ra.cc - (early_ra::record_live_range_failure): New member function. - (early_ra::m_accurate_live_ranges): New member variable. - (early_ra::start_new_region): Set m_accurate_live_ranges to true. - (early_ra::get_allocno_subgroup): Use record_live_range_failure - to abort the allocation on invalid subregs. - -2024-11-18 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-early-ra.cc - (early_ra::record_insn_refs): Split into... - (early_ra::record_insn_defs, early_ra::record_insn_call) - (early_ra::record_insn_uses): ...this new functions. - (early_ra::process_block): Update accordingly. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - PR other/116253 - * diagnostic-core.h (class auto_diagnostic_nesting_level): New. - * diagnostic-format-sarif.cc (class sarif_builder): Update leading - comment re nesting of diagnostics. - (sarif_result::on_nested_diagnostic): Add nestingLevel property. - * diagnostic-format-text.cc (on_report_diagnostic): If we're - showing nested diagnostics, then print changes of location on a - new line, indented, and update m_last_location. - (diagnostic_text_output_format::build_prefix): If m_show_nesting, - then potentially add indentation and a bullet point. - (get_bullet_point_unichar): New. - (use_unicode_p): New. - (diagnostic_text_output_format::build_indent_prefix): New. - * diagnostic-format-text.h - (diagnostic_text_output_format::diagnostic_text_output_format): - Initialize m_show_nesting and m_show_nesting_levels. - (diagnostic_text_output_format::build_indent_prefix): New decl. - (diagnostic_text_output_format::show_nesting_p): New accessor - (diagnostic_text_output_format::show_locations_in_nesting_p): - Likewise. - (diagnostic_text_output_format::set_show_nesting): New. - (diagnostic_text_output_format::set_show_locations_in_nesting): - New. - (diagnostic_text_output_format::set_show_nesting_levels): New. - (diagnostic_text_output_format::m_show_nesting): New field. - (diagnostic_text_output_format::m_show_locations_in_nesting): New - field. - (diagnostic_text_output_format::m_show_nesting_levels): New field. - * diagnostic-global-context.cc - (auto_diagnostic_nesting_level::auto_diagnostic_nesting_level): - New. - (auto_diagnostic_nesting_level::~auto_diagnostic_nesting_level): - New. - * diagnostic-show-locus.cc (layout_printer::print): Temporarily - set DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE. - * diagnostic.cc (diagnostic_context::initialize): Update for - renaming of m_nesting_depth to m_group_nesting_depth and - initialize m_diagnostic_nesting_level. - (diagnostic_context::finish): Update for renaming of - m_nesting_depth to m_group_nesting_depth. - (diagnostic_context::report_diagnostic): Likewise. - (diagnostic_context::begin_group): Likewise. - (diagnostic_context::end_group): Likewise. - (diagnostic_context::push_nesting_level): New. - (diagnostic_context::pop_nesting_level): New. - (diagnostic_context::set_diagnostic_buffer): Update for renaming - of m_nesting_depth to m_group_nesting_depth. Assert that we don't - have nested diagnostics. - * diagnostic.h (diagnostic_context::push_nesting_level): New decl. - (diagnostic_context::pop_nesting_level): New decl. - (diagnostic_context::get_diagnostic_nesting_level): New accessor. - (diagnostic_context::build_indent_prefix): New decl. - (diagnostic_context::m_diagnostic_groups): Rename m_nesting_depth - to m_group_nesting_depth and add field m_diagnostic_nesting_level. - * doc/invoke.texi (fdiagnostics-add-output): Add note about - "experimental" schemes, keys, and values. Add keys - "experimental-nesting", "experimental-nesting-show-locations", - and "experimental-nesting-show-levels" to text scheme. - * opts-diagnostic.cc (text_scheme_handler::make_sink): Add keys - "experimental-nesting", "experimental-nesting-show-locations", - and "experimental-nesting-show-levels". - -2024-11-18 Georg-Johann Lay <avr@gjlay.de> - - PR target/84211 - * doc/invoke.texi (AVR Options) [-mfuse-move]: Document new option. - * common/config/avr/avr-common.cc (avr_option_optimization_table): - Set -mfuse-move= depending on optimization level. - * config/avr/avr.opt (-mfuse-move, -mfuse-move=): New options. - * config/avr/t-avr (avr-passes.o): Depend on avr-passes-fuse-move.h. - * config/avr/avr-passes-fuse-move.h: New file, used by avr-passes.cc. - * config/avr/avr-passes.def (avr_pass_fuse_move): Insert new pass. - * config/avr/avr-passes.cc (INCLUDE_ARRAY): Define it. - (insn-attr.h): Include it. - (avr_pass_data_fuse_move): New const pass_data. - (avr_pass_fuse_move): New public rtl_opt_pass class. - (make_avr_pass_fuse_move): New function. - (gprmask_t): New typedef. - (next_nondebug_insn_bb, prev_nondebug_insn_bb) - (single_set_with_scratch, size_to_mask, size_to_mode) - (emit_valid_insn, emit_valid_move_clobbercc) - (gpr_regno_p, regmask, has_bits_in) - (find_arith, find_arith2, any_shift_p): New local functions. - (AVRasm): New namespace. - (FUSE_MOVE_MAX_MODESIZE): New define. - (avr-passes-fuse-move.h): New include. - (memento_t, absint_t, absins_byte_t, absint_val_t) - (optimize_data_t, insn_optimizedata_t, find_plies_data_t) - (insninfo_t, bbinfo_t, ply_t, plies_t): New structs / classes. - * config/avr/avr-protos.h (avr_chunk, avr_byte, avr_word, avr_int8) - (avr_uint8, avr_int16, avr_uint16) - (avr_out_set_some, avr_set_some_operation) - (output_reload_in_const, make_avr_pass_fuse_move): New protos. - (avr_dump): Depend macro definition on GCC_DUMPFILE_H. - * config/avr/avr.cc (avr_option_override): Insert after - pass "avr-fuse-move" instead of after "peephole2". - (avr_chunk, avr_byte, avr_word, avr_int8, avr_uint8, avr_int16) - (avr_uint16, output_reload_in_const): Functions are no more static. - (avr_out_set_some, avr_set_some_operation): New functions. - (ashrqi3_out, ashlqi3_out) [offset=7]: Handle "r,r,C07" alternative. - (avr_out_insert_notbit): Comment also allows QImode. - (avr_adjust_insn_length) [ADJUST_LEN_SET_SOME]: Handle case. - * config/avr/avr.md (adjust_len) <set_some>: New attribute value. - (set_some): New insn. - (andqi3, *andqi3): Add "r,r,Cb1" alternative. - (ashrqi3, *ashrqi3 ashlqi3, *ashlqi3): Add a "r,r,C07" alternative. - (gen_move_clobbercc_scratch): New emit helper. - * config/avr/constraints.md (Cb1): New constraint. - * config/avr/predicates.md (dreg_or_0_operand, set_some_operation): New. - * config/avr/avr-log.cc (avr_forward_to_printf): New static func. - (avr_log_vadump): Use it to recognize more formats. - -2024-11-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117594 - * tree-vect-loop.cc (vectorizable_live_operation_1): Pass - factor == 1 to vect_get_loop_len, insert generated stmts. - -2024-11-18 Jeff Law <jlaw@ventanamicro.com> - - PR target/117595 - * config/riscv/sync.md (atomic_compare_and_swap<mode>): Use gen_lowpart - rather than simplify_gen_subreg. - * config/riscv/riscv.cc (riscv_legitimize_move): Similarly. - -2024-11-18 Georg-Johann Lay <avr@gjlay.de> - - PR target/117659 - * config/avr/avr.cc (avr_out_ashlpsi3) [case 16]: Use %A1 as - input (instead of bogus %A0). - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/autovec.md: Add VLS modes. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md: Ditto. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - PR middle-end/115336 - PR middle-end/116059 - * config/riscv/autovec.md: Add else operand. - * config/riscv/predicates.md (maskload_else_operand): New - predicate. - * config/riscv/riscv-v.cc (get_else_operand): Remove static. - (expand_load_store): Use get_else_operand and adjust index. - (expand_gather_scatter): Ditto. - (expand_lanes_load_store): Ditto. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - * config/i386/sse.md (maskload<mode><sseintvecmodelower>): - Call maskload<mode>..._1. - (maskload<mode><sseintvecmodelower>_1): Rename. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - * config/gcn/predicates.md (maskload_else_operand): New - predicate. - * config/gcn/gcn-valu.md: Use new predicate. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - * config/aarch64/aarch64-sve-builtins-base.cc: Add else - handling. - * config/aarch64/aarch64-sve-builtins.cc (function_expander::use_contiguous_load_insn): - Ditto. - * config/aarch64/aarch64-sve-builtins.h: Add else operand to - contiguous load. - * config/aarch64/aarch64-sve.md (@aarch64_load<SVE_PRED_LOAD:pred_load> - _<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>): - Split and add else operand. - (@aarch64_load_<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>): - Ditto. - (*aarch64_load_<ANY_EXTEND:optab>_mov<SVE_HSDI:mode><SVE_PARTIAL_I:mode>): - Ditto. - * config/aarch64/aarch64-sve2.md: Ditto. - * config/aarch64/iterators.md: Remove unused iterators. - * config/aarch64/predicates.md (aarch64_maskload_else_operand): - Add zero else operand. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - * optabs-query.cc (supports_vec_convert_optab_p): Return icode. - (get_supported_else_val): Return supported else value for - optab's operand at index. - (supports_vec_gather_load_p): Add else argument. - (supports_vec_scatter_store_p): Ditto. - * optabs-query.h (supports_vec_gather_load_p): Ditto. - (get_supported_else_val): Ditto. - * optabs-tree.cc (target_supports_mask_load_store_p): Ditto. - (can_vec_mask_load_store_p): Ditto. - (target_supports_len_load_store_p): Ditto. - (get_len_load_store_mode): Ditto. - * optabs-tree.h (target_supports_mask_load_store_p): Ditto. - (can_vec_mask_load_store_p): Ditto. - * tree-vect-data-refs.cc (vect_lanes_optab_supported_p): Ditto. - (vect_gather_scatter_fn_p): Ditto. - (vect_check_gather_scatter): Ditto. - (vect_load_lanes_supported): Ditto. - * tree-vect-patterns.cc (vect_recog_gather_scatter_pattern): - Ditto. - * tree-vect-slp.cc (vect_get_operand_map): Adjust indices for - else operand. - (vect_slp_analyze_node_operations): Skip undefined else operand. - * tree-vect-stmts.cc (exist_non_indexing_operands_for_use_p): - Add else operand handling. - (vect_get_vec_defs_for_operand): Handle undefined else operand. - (check_load_store_for_partial_vectors): Add else argument. - (vect_truncate_gather_scatter_offset): Ditto. - (vect_use_strided_gather_scatters_p): Ditto. - (get_group_load_store_type): Ditto. - (get_load_store_type): Ditto. - (vect_get_mask_load_else): Ditto. - (vect_get_else_val_from_tree): Ditto. - (vect_build_one_gather_load_call): Add zero else operand. - (vectorizable_load): Use else operand. - * tree-vectorizer.h (vect_gather_scatter_fn_p): Add else - argument. - (vect_load_lanes_supported): Ditto. - (vect_get_mask_load_else): Ditto. - (vect_get_else_val_from_tree): Ditto. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - * tree-if-conv.cc (predicate_load_or_store): Add zero else - operand and comment. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - * internal-fn.cc (add_mask_and_len_args): Rename... - (add_mask_else_and_len_args): ...to this and add else handling. - (expand_partial_load_optab_fn): Use adjusted function. - (expand_partial_store_optab_fn): Ditto. - (expand_scatter_store_optab_fn): Ditto. - (expand_gather_load_optab_fn): Ditto. - (internal_fn_len_index): Add else handling. - (internal_fn_else_index): Ditto. - (internal_fn_mask_index): Ditto. - (get_supported_else_vals): New function. - (supported_else_val_p): New function. - (internal_gather_scatter_fn_supported_p): Add else operand. - * internal-fn.h (internal_gather_scatter_fn_supported_p): Define - else constants. - (MASK_LOAD_ELSE_ZERO): Ditto. - (MASK_LOAD_ELSE_M1): Ditto. - (MASK_LOAD_ELSE_UNDEFINED): Ditto. - (get_supported_else_vals): Declare. - (supported_else_val_p): Ditto. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - * doc/md.texi: Document masked load else operand. - -2024-11-18 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117646 - * match.pd (`max<a,b>==0`): Add casts to `unsigned type`. - -2024-11-18 Jeff Law <jlaw@ventanamicro.com> - - * ext-dce.cc (maybe_clear_subreg_promoted_p): New function. - (ext_dce_execute): Call it. - -2024-11-18 Maciej W. Rozycki <macro@orcam.me.uk> - - * config/alpha/alpha.md (unaligned_store<mode>): Remove stray - `;;'. - -2024-11-18 John David Anglin <danglin@gcc.gnu.org> - - PR target/69374 - * doc/install.texi (Specific) <hppa*-hp-hpux11>: Update anchor - and heading to reflect removal of 32-bit hppa support on HP-UX. - Trim 32-bit related text. - -2024-11-17 Florian Weimer <fweimer@redhat.com> - - PR c/95445 - * doc/invoke.texi: Document -Wdeprecated-non-prototype. - -2024-11-17 Jason Merrill <jason@redhat.com> - - * doc/cppopts.texi: Document -fsearch-include-path. - * doc/invoke.texi: Mention it for modules. - -2024-11-17 Jan Hubicka <hubicka@ucw.cz> - - * ipa-fnsummary.cc (find_necessary_statements): ASM statements are - necessary. - -2024-11-17 Jan Hubicka <hubicka@ucw.cz> - - * ipa-modref.cc (modref_summary::useful_p): const/pure implies - determinism. - (modref_summary_lto::useful_p): Likewise. - (ignore_nondeterminism_p): Add CALLEE_FNTYPE parameter; check for - reproducible/unsequenced - (modref_access_analysis::record_access_p): Use ignore_nondeterminism_p - when handling volatile accesses. - (modref_access_analysis::get_access_for_fnspec): Update. - (modref_access_analysis::process_fnspec): Cleanup handling of NOVOPS. - (modref_access_analysis::analyze_call): Use ignore_nondeterminism_p - when handling asm statements. - (modref_access_analysis::analyze_stmt): Update. - (propagate_unknown_call): Update. - (modref_propagate_in_scc): Update. - (ipa_merge_modref_summary_after_inlining): Update. - -2024-11-16 Jan Hubicka <hubicka@ucw.cz> - - * ipa-modref.cc (ipa_modref_callee_reads_no_memory_p): New function. - * ipa-modref.h (ipa_modref_callee_reads_no_memory_p): Declare - * tree-ssa-dce.cc (propagate_necessity): Use it. - -2024-11-16 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115275 - * match.pd (umax(a,b) ==/!= 0): New pattern. - -2024-11-16 Eikansh Gupta <quic_eikagupt@quicinc.com> - - PR tree-optimization/109401 - * match.pd (min(a,b) op max(a,b) -> a op b): New pattern. - -2024-11-16 Georg-Johann Lay <avr@gjlay.de> - - PR target/116781 - * config/avr/avr.md (*tablejump_split, *tablejump): Add - operand 2 as a "scratch_operand" instead of a match_dup. - (casesi): Adjust expander operands accordingly. Use a scratch:HI - when the jump address is not clobbered. This is the case for a - 2-byte PC + has no JMP instruction. In all the other cases, the - affected operand is REG_Z (reg:HI 30). - (casesi_<mode>_sequence): Adjust matcher to new anatomy. - * config/avr/avr-passes.cc (avr_is_casesi_sequence) - (avr_is_casesi_sequence, avr_optimize_casesi) - (avr_casei_sequence_check_operands): Adjust to new anatomy. - -2024-11-16 Georg-Johann Lay <avr@gjlay.de> - - PR target/117500 - * config/avr/avr.cc (avr_print_operand) [code = 'i']: Use - output_operand_lossage on bad operands instead of fatal_insn. - -2024-11-16 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md: Add a peephole2 that improves bit operations - with a lower register and a constant. - -2024-11-16 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <hppa*-hp-hpux11>: Remove references - to HP/UX linker patch from 2004 and Binutils 2.14. - -2024-11-16 Richard Biener <rguenther@suse.de> - - * params.opt (vect-force-slp): Default to 1. - -2024-11-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117606 - * tree-vect-stmts.cc (get_group_load_store_type): For single - element interleaving also fall back to VMAT_ELEMENTWISE if - a left-over permutation isn't supported. - -2024-11-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117605 - * tree-vect-stmts.cc (get_group_load_store_type): Also - apply group size limit for single-element interleaving - to VMAT_CONTIGUOUS_REVERSE. - -2024-11-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117558 - * tree-vectorizer.h (_loop_vec_info::must_use_partial_vectors_p): New. - (LOOP_VINFO_MUST_USE_PARTIAL_VECTORS_P): Likewise. - * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialize - must_use_partial_vectors_p. - (vect_determine_partial_vectors_and_peeling): Enforce it. - (vect_analyze_loop_2): Reset before restarting. - * tree-vect-stmts.cc (get_group_load_store_type): When peeling - a single gap iteration cannot be determined safe statically - enforce the use of partial vectors. - -2024-11-16 Jan Hubicka <hubicka@ucw.cz> - - PR tree-optimization/109442 - * ipa-fnsummary.cc (builtin_unreachable_bb_p): New function. - (guards_builtin_unreachable): New function. - (STMT_NECESSARY): New macro. - (mark_stmt_necessary): New function. - (mark_operand_necessary): New function. - (find_necessary_statements): New function. - (analyze_function_body): Use it. - -2024-11-15 Joseph Myers <josmyers@redhat.com> - - * doc/invoke.texi (-std=gnu17, -std=gnu23): Document -std=gnu23 as - default for C code. - -2024-11-15 Jennifer Schmitz <jschmitz@nvidia.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/117093 - * match.pd: Extend - (bit_insert @0 (BIT_FIELD_REF@2 @1 @rsize @rpos) @ipos) to allow - type differences between @0 and @1 due to view converts. - -2024-11-15 John David Anglin <danglin@gcc.gnu.org> - - PR target/117564 - * config/pa/pa.md: Fix typos in 32-bit SFmode peephole2 patterns. - -2024-11-15 Joseph Myers <josmyers@redhat.com> - - PR c/117164 - * tree-nested.cc: Include "attribs.h". - (check_for_nested_with_variably_modified): Also return true for - variably modified return type. - (create_nesting_tree): If check_for_nested_with_variably_modified - returns true, also add noclone attribute. - -2024-11-15 Richard Biener <rguenther@suse.de> - - * optabs-query.h (get_vcond_icode): Remove. - (get_vcond_eq_icode): Likewise. - * optabs-tree.h (expand_vec_cond_expr_p): Remove code - argument. - * optabs-tree.cc (expand_vec_cond_expr_p): Likewise. - (vcond_icode_p): Remove. - (vcond_eq_icode_p): Likewise. - * optabs.h (can_vcond_compare_p): Remove. - * optabs.cc (can_vcond_compare_p): Likewise. - -2024-11-15 Richard Biener <rguenther@suse.de> - - * gimple-isel.cc (gimple_expand_vec_cond_expr): If not - simplifying or lowering, always expand to .VCOND_MASK. - (pass_gimple_isel::execute): Simplify. - -2024-11-15 Richard Biener <rguenther@suse.de> - - * tree-vect-generic.cc (expand_vector_comparison): Lower - vector comparisons that we cannot trivially expand. Remove - code dealing with uses in VEC_COND_EXPRs. - (expand_vector_condition): Lower vector conditions that we - cannot trivially expand. Remove code dealing with comparison - mask definitions. - (expand_vector_operation): Drop dce_ssa_names. - (expand_vector_operations_1): Likewise. - -2024-11-15 Florian Weimer <fweimer@redhat.com> - - * doc/invoke.texi: Document Wmissing-parameter-name. - -2024-11-15 Florian Weimer <fweimer@redhat.com> - - * varasm.cc (get_section): Include name of section in - diagnostic messages. - -2024-11-15 Jakub Jelinek <jakub@redhat.com> - - * tree-core.h (enum tree_index): Add TI_DFLOAT64X_TYPE. - * tree.h (dfloat64x_type_node): Define. - * tree.cc (build_common_tree_nodes): Initialize dfloat64x_type_node. - * builtin-types.def (BT_DFLOAT64X): New DEF_PRIMITIVE_TYPE. - (BT_FN_DFLOAT64X): New DEF_FUNCTION_TYPE_0. - (BT_FN_DFLOAT64X_CONST_STRING, BT_FN_DFLOAT64X_DFLOAT64X): New - DEF_FUNCTION_TYPE_1. - * builtins.def (BUILT_IN_FABSD64X, BUILT_IN_INFD64X, BUILT_IN_NAND64X, - BUILT_IN_NANSD64X): New builtins. - * builtins.cc (expand_builtin): Handle BUILT_IN_FABSD64X. - (fold_builtin_0): Handle BUILT_IN_INFD64X. - (fold_builtin_1): Handle BUILT_IN_FABSD64X. - * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NAND64X - and CFN_BUILT_IN_NANSD64X. - * ginclude/float.h (DEC64X_MANT_DIG, DEC64X_MIN_EXP, DEC64X_MAX_EXP, - DEC64X_MAX, DEC64X_EPSILON, DEC64X_MIN, DEC64X_TRUE_MIN, - DEC64X_SNAN): Redefine. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Refactor the - handlings of vector integer comparison. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Refine the - handlings for operators GE/GEU/LE/LEU. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Refactor the - handlings for operator NE. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Refine the - handlings for operators LT and LTU. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare_inner): Remove. - (rs6000_emit_vector_compare): Emit rtx comparison for operators EQ/ - GT/GTU directly. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare_inner): Emit rtx - comparison for operators LT/UNGE of MODE_VECTOR_FLOAT directly. - (rs6000_emit_vector_compare): Move assertion of no MODE_VECTOR_FLOAT to - function beginning. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Emit rtx - comparison for operators LE/UNGT of MODE_VECTOR_FLOAT directly. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Emit rtx - comparison for operators NE/UNLE/UNLT of MODE_VECTOR_FLOAT directly. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_emit_vector_compare_inner): Move - MODE_VECTOR_FLOAT handlings out. - (rs6000_emit_vector_compare): Emit rtx comparison for operators EQ/GT/ - GE/UNORDERED/ORDERED/UNEQ/LTGT of MODE_VECTOR_FLOAT directly, and - adjust one call site of rs6000_emit_vector_compare_inner to - rs6000_emit_vector_compare. - -2024-11-14 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/vector.md (mov<mode> pattern/splitter): Fix type and - other attributes. - (mov<VLS_AVL_REG:mode><P:mode>_lra): Likewise. - -2024-11-14 Sam James <sam@gentoo.org> - - * configure: Regenerate. - -2024-11-14 Denis Chertykov <chertykov@gmail.com> - - PR rtl-optimization/117191 - * lra-spills.cc (spill_pseudos): Mark a CLOBBER insn with pseudo - spilled to memory for removing it later together with LRA temporary - CLOBBER insns. - -2024-11-14 Martin Jambor <mjambor@suse.cz> - - PR ipa/114985 - * ipa-cp.cc (ipa_vr_intersect_with_arith_jfunc): New function. - (ipa_value_range_from_jfunc): Move the common functionality to the - above new function, adjust the rest so that it works with it well. - (propagate_vr_across_jump_function): Likewise. - -2024-11-14 Jan Hubicka <hubicka@ucw.cz> - - * common.opt.urls: Fix. - -2024-11-14 Richard Ball <richard.ball@arm.com> - Yury Khrustalev <yury.khrustalev@arm.com> - - * doc/extend.texi: Add AArch64 docs for indirect_return - attribute. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - Yury Khrustalev <yury.khrustalev@arm.com> - - * config/aarch64/aarch64.cc (aarch64_gnu_attributes): Add - indirect_return. - (aarch64_gen_callee_cookie): Use indirect_return attribute. - (aarch64_callee_indirect_return): New. - (aarch_fun_is_indirect_return): New. - (aarch64_function_ok_for_sibcall): Disallow tail calls if caller - is non-indirect_return but callee is indirect_return. - (aarch64_function_arg): Add indirect_return to cookie. - (aarch64_init_cumulative_args): Record indirect_return in - CUMULATIVE_ARGS. - (aarch64_comp_type_attributes): Check indirect_return attribute. - (aarch64_output_mi_thunk): Add indirect_return to cookie. - * config/aarch64/aarch64.h (CUMULATIVE_ARGS): Add new field - indirect_return. - * config/aarch64/aarch64.md (tlsdesc_small_<mode>): Update. - * config/aarch64/aarch64-opts.h (AARCH64_NUM_ABI_ATTRIBUTES): New. - * config/aarch64/aarch64-protos.h (aarch64_gen_callee_cookie): Update. - * config/arm/aarch-bti-insert.cc (call_needs_bti_j): New. - (rest_of_insert_bti): Use call_needs_bti_j. - * config/arm/aarch-common-protos.h - (aarch_fun_is_indirect_return): New. - * config/arm/arm.cc - (aarch_fun_is_indirect_return): New. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * config/aarch64/aarch64.cc (GNU_PROPERTY_AARCH64_FEATURE_1_GCS): - Define. - (aarch64_file_end_indicate_exec_stack): Set GCS property bit. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define - macros for GCS. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * config/aarch64/aarch64.h (STACK_SAVEAREA_MODE): Make space for gcs. - * config/aarch64/aarch64.md (save_stack_nonlocal): New. - (restore_stack_nonlocal): New. - * tree-nested.cc (get_nl_goto_field): Updated. - -2024-11-14 Yury Khrustalev <yury.khrustalev@arm.com> - - * config/aarch64/arm_acle.h (__gcspr): New. - (__gcspopm): New. - (__gcsss): New. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc (enum aarch64_builtins): Add - AARCH64_BUILTIN_GCSPR, AARCH64_BUILTIN_GCSPOPM, AARCH64_BUILTIN_GCSSS. - (aarch64_init_gcs_builtins): New. - (aarch64_general_init_builtins): Call aarch64_init_gcs_builtins. - (aarch64_expand_gcs_builtin): New. - (aarch64_general_expand_builtin): Call aarch64_expand_gcs_builtin. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * config/aarch64/aarch64.md (aarch64_load_gcspr): New. - (aarch64_gcspopm): New. - (aarch64_gcspopm_xzr): New. - (aarch64_gcsss1): New. - (aarch64_gcsss2): New. - Co-authored-by: Richard Sandiford <richard.sandiford@arm.com> - -2024-11-14 Yury Khrustalev <yury.khrustalev@arm.com> - - * config/aarch64/arm_acle.h (__chkfeat): New. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * config/aarch64/aarch64-builtins.cc (enum aarch64_builtins): - Define AARCH64_BUILTIN_CHKFEAT. - (aarch64_general_init_builtins): Handle chkfeat. - (aarch64_general_expand_builtin): Handle chkfeat. - Co-authored-by: Richard Sandiford <richard.sandiford@arm.com> - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * config/aarch64/aarch64.md (aarch64_chkfeat): New. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * config/aarch64/aarch64-protos.h (aarch_gcs_enabled): Declare. - * config/aarch64/aarch64.cc (aarch_gcs_enabled): Define. - (aarch_handle_no_branch_protection): Handle gcs. - (aarch_handle_standard_branch_protection): Handle gcs. - (aarch_handle_gcs_protection): New. - * config/aarch64/aarch64.opt: Add aarch_enable_gcs. - * configure: Regenerate. - * configure.ac: Handle gcs in --enable-standard-branch-protection. - * doc/invoke.texi: Document -mbranch-protection=gcs. - -2024-11-14 Jan Hubicka <hubicka@ucw.cz> - - PR tree-optimization/117370 - * common.opt: Add -fmalloc-dce. - * common.opt.urls: Update. - * doc/invoke.texi: Document it; also add missing -flifetime-dse entry. - * tree-ssa-dce.cc (is_removable_allocation_p): Break out from - ... - (mark_stmt_if_obviously_necessary): ... here; also check that - operator new satisfies gimple_call_from_new_or_delete. - (checks_return_value_of_removable_allocation_p): New Function. - (mark_all_reaching_defs_necessary_1): add missing case for - STRDUP and STRNDUP - (propagate_necessity): Use is_removable_allocation_p and - checks_return_value_of_removable_allocation_p. - (eliminate_unnecessary_stmts): Update conditionals that use - removed allocation; use is_removable_allocation_p. - -2024-11-14 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): Do not - exempt cpart_size == cnunits from failing. - -2024-11-14 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): Add missing - braces. - -2024-11-14 Martin Jambor <mjambor@suse.cz> - - * ipa-prop.h (ipa_dump_jump_function): Declare. - * ipa-prop.cc (ipa_dump_jump_function): New function. - (ipa_print_node_jump_functions_for_edge): Move printing of - individual jump functions to the new function. - -2024-11-14 Martin Jambor <mjambor@suse.cz> - - * ipa-prop.h (ipa_print_constant_value): Declare. - * ipa-prop.cc (ipa_print_constant_value): Make public. - * ipa-cp.cc (print_ipcp_constant_value): Re-add this overloaded - function for printing tree constants. - -2024-11-14 Richard Biener <rguenther@suse.de> - - * tree-vect-generic.cc (expand_vector_divmod): Query vector - comparison and vec_cond_mask capability. - -2024-11-14 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (vectorizable_condition): Refactor - target support check. - -2024-11-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117567 - * tree-vect-slp.cc (vect_build_slp_tree_2): Handle not present - lanes when doing re-association. - -2024-11-14 Andrew Pinski <quic_apinski@quicinc.com> - - * cfgexpand.cc (add_scope_conflicts): Return right away - if there are only one stack variable. - -2024-11-14 Eikansh Gupta <quic_eikagupt@quicinc.com> - - PR tree-optimization/109906 - * match.pd (a rrotate (32-b) -> a lrotate b): New pattern - (a lrotate (32-b) -> a rrotate b): New pattern - -2024-11-14 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): For - VMAT_ELEMENTWISE there's no overrun. - -2024-11-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117554 - * tree-vect-stmts.cc (get_group_load_store_type): We can - use gather/scatter only for a single-lane single element group - access. - -2024-11-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117559 - * tree-vect-slp.cc (vect_mark_slp_stmts): Pass in vinfo, - mark all mask defs of a load/store-lane .MASK_LOAD/STORE - as pure. - (vect_make_slp_decision): Adjust. - (vect_slp_analyze_bb_1): Likewise. - -2024-11-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117556 - PR tree-optimization/117553 - * tree-vect-stmts.cc (vect_analyze_stmt): Do not analyze - the SLP load-lanes node for live lanes, but only the - permute node. - (vect_transform_stmt): Likewise for the transform. - -2024-11-14 Hongyu Wang <hongyu.wang@intel.com> - - PR target/117495 - * config/i386/i386.md (cstorebf4): Use ix86_fp_comparison_operator - and calls ix86_expand_setcc directly. - -2024-11-13 Jin Ma <jinma@linux.alibaba.com> - - PR target/116591 - * config/riscv/vector.md: Add restriction to call pred_th_whole_mov. - -2024-11-13 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-protos.h - (aarch64_required_extensions::common_denominator): New member - function. - * config/aarch64/aarch64-sve-builtins-base.def: Remove zero-variant - entry for mmla. - * config/aarch64/aarch64-sve-builtins-shapes.cc (mmla_def): Remove - support for it. - * config/aarch64/aarch64-sve-builtins.cc - (function_builder::add_overloaded): Relax the assert for duplicate - definitions and instead calculate the common denominator of all - requirements. - -2024-11-13 Filip Kastl <fkastl@suse.cz> - - PR target/56504 - * config/i386/i386-options.cc (ix86_option_override_internal): - Add ix86_veclibabi_type_aocl case. - * config/i386/i386-options.h (ix86_veclibabi_aocl): Add extern - ix86_veclibabi_aocl(). - * config/i386/i386-opts.h (enum ix86_veclibabi): Add - ix86_veclibabi_type_aocl into the ix86_veclibabi enum. - * config/i386/i386.cc (ix86_veclibabi_aocl): New function. - * config/i386/i386.opt: Add the 'aocl' type. - * doc/invoke.texi: Document -mveclibabi=aocl. - -2024-11-13 John David Anglin <danglin@gcc.gnu.org> - - PR target/117525 - * config/pa/pa.md (fix_truncsfsi2): Remove inner `fix:SF`. - (fix_truncdfsi2, fix_truncsfdi2, fix_truncdfdi2, - fixuns_truncsfsi2, fixuns_truncdfsi2, fixuns_truncsfdi2, - fixuns_truncdfdi2): Likewise. - -2024-11-13 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-path.cc (diagnostic_event::get_desc): Add param - "ref_pp" and use instead of global_dc. - (class path_label): Likewise, adding field m_ref_pp. - (event_range::event_range): Add param "ref_pp" and pass to - m_path_label. - (path_summary::path_summary): Add param "ref_pp" and pass to - event_range ctor. - (diagnostic_text_output_format::print_path): Pass *pp to - path_summary ctor. - (selftest::test_empty_path): Pass *event_pp to pass_summary ctor. - (selftest::test_intraprocedural_path): Likewise. - (selftest::test_interprocedural_path_1): Likewise. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - (selftest::test_control_flow_1): Likewise. - (selftest::test_control_flow_2): Likewise. - (selftest::test_control_flow_3): Likewise. - (selftest::assert_cfg_edge_path_streq): Likewise. - (selftest::test_control_flow_5): Likewise. - (selftest::test_control_flow_6): Likewise. - * diagnostic-path.h (diagnostic_event::get_desc): Add param - "ref_pp". - * lazy-diagnostic-path.cc (selftest::test_intraprocedural_path): - Pass *event_pp to get_desc. - * simple-diagnostic-path.cc (selftest::test_intraprocedural_path): - Likewise. - -2024-11-13 Soumya AR <soumyaa@nvidia.com> - - PR target/57492 - * match.pd: Added patterns to fold calls to pow to ldexp and optimize - specific ldexp calls. - -2024-11-13 Yangyu Chen <cyy@cyyself.name> - - * config/riscv/riscv.cc (add_condition_to_bb): New function. - (dispatch_function_versions): New function. - (get_suffixed_assembler_name): New function. - (make_resolver_func): New function. - (riscv_generate_version_dispatcher_body): New function. - (riscv_get_function_versions_dispatcher): New function. - (TARGET_GENERATE_VERSION_DISPATCHER_BODY): Implement it. - (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): Implement it. - -2024-11-13 Yangyu Chen <cyy@cyyself.name> - - * config/riscv/riscv.cc - (riscv_mangle_decl_assembler_name): New function. - (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define. - -2024-11-13 Yangyu Chen <cyy@cyyself.name> - - * config/riscv/riscv.cc - (parse_features_for_version): New function. - (compare_fmv_features): New function. - (riscv_compare_version_priority): New function. - (riscv_common_function_versions): New function. - (TARGET_COMPARE_VERSION_PRIORITY): Implement it. - (TARGET_OPTION_FUNCTION_VERSIONS): Implement it. - -2024-11-13 Yangyu Chen <cyy@cyyself.name> - - * config/riscv/riscv-protos.h - (riscv_process_target_attr): Remove as it is not used. - (riscv_option_valid_version_attribute_p): Declare. - (riscv_process_target_version_attr): Declare. - * config/riscv/riscv-target-attr.cc - (riscv_target_attrs): Renamed from riscv_attributes. - (riscv_target_version_attrs): New attributes for target_version. - (riscv_process_one_target_attr): New arguments to select attrs. - (riscv_process_target_attr): Likewise. - (riscv_option_valid_attribute_p): Likewise. - (riscv_process_target_version_attr): New function. - (riscv_option_valid_version_attribute_p): New function. - * config/riscv/riscv.cc - (TARGET_OPTION_VALID_VERSION_ATTRIBUTE_P): Implement it. - * config/riscv/riscv.h (TARGET_HAS_FMV_TARGET_ATTRIBUTE): Define - it to 0 to use "target_version" for function versioning. - -2024-11-13 Yangyu Chen <cyy@cyyself.name> - - * common/config/riscv/riscv-common.cc - (RISCV_EXT_BITMASK): New macro. - (struct riscv_ext_bitmask_table_t): New struct. - (riscv_minimal_hwprobe_feature_bits): New function. - * common/config/riscv/riscv-ext-bitmask.def: New file. - * config/riscv/riscv-subset.h (GCC_RISCV_SUBSET_H): Include - riscv-feature-bits.h. - (riscv_minimal_hwprobe_feature_bits): Declare the function. - * config/riscv/riscv-feature-bits.h: New file. - -2024-11-13 Yangyu Chen <cyy@cyyself.name> - - * config/riscv/riscv-target-attr.cc - (riscv_target_attr_parser::handle_priority): New function. - (riscv_target_attr_parser::update_settings): Update priority - attribute. - * config/riscv/riscv.opt: Add TargetVariable riscv_fmv_priority. - -2024-11-13 Yangyu Chen <cyy@cyyself.name> - - * defaults.h (TARGET_CLONES_ATTR_SEPARATOR): Define new macro. - * multiple_target.cc (get_attr_str): Use - TARGET_CLONES_ATTR_SEPARATOR to separate attributes. - (separate_attrs): Likewise. - (expand_target_clones): Likewise. - * attribs.cc (attr_strcmp): Likewise. - (sorted_attr_string): Likewise. - * tree.cc (get_target_clone_attr_len): Likewise. - * config/riscv/riscv.h (TARGET_CLONES_ATTR_SEPARATOR): Define - TARGET_CLONES_ATTR_SEPARATOR for RISC-V. - * doc/tm.texi: Document TARGET_CLONES_ATTR_SEPARATOR. - * doc/tm.texi.in: Likewise. - -2024-11-13 Martin Uecker <uecker@tugraz.at> - - PR c/117059 - * doc/invoke.texi (Wzero-as-null-pointer-constant): Adapt - description. - -2024-11-13 Soumya AR <soumyaa@nvidia.com> - - PR target/111733 - * config/aarch64/aarch64-sve.md - (ldexp<mode>3): Added a new pattern to match ldexp calls with scalar - floating modes and expand to the existing pattern for FSCALE. - * config/aarch64/iterators.md: - (SVE_FULL_F_SCALAR): Added an iterator to match all FP SVE modes as well - as their scalar equivalents. - (VPRED): Extended the attribute to handle GPF_HF modes. - * internal-fn.def (LDEXP): Changed macro to incorporate ldexpf16. - -2024-11-13 xuli <xuli1@eswincomputing.com> - - PR target/117483 - * config/riscv/riscv-vsetvl.cc: Fix bug. - -2024-11-13 Co-authored-by: Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_rtx_costs): Correct costing of LO_SUM - expressions. - -2024-11-13 Hu, Lin1 <lin1.hu@intel.com> - - PR target/117418 - * config/i386/i386-expand.cc (ix86_expand_builtin): Convert - pointer's mode according to Pmode. - -2024-11-13 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-11-06 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> - - PR rtl-optimization/112398 - * simplify-rtx.cc (simplify_context::simplify_unary_operation_1): - Simplify ZERO_EXTEND (SUBREG (NOT X)) to XOR (X, GET_MODE_MASK(SUBREG)) - when X doesn't have any non-zero bits outside of SUBREG mode. - -2024-11-12 Pan Li <pan2.li@intel.com> - - Revert: - 2024-10-25 Pan Li <pan2.li@intel.com> - - * match.pd: Remove unsigned branch form 3 for SAT_ADD, and - add simplify to branchless instead. - -2024-11-12 David Malcolm <dmalcolm@redhat.com> - - PR bootstrap/117503 - * Makefile.in (GCC_FOR_SELFTESTS): Set GCC_COLORS=. - -2024-11-12 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.md (decrement_and_branch_until_zero): Fix - constraint. - -2024-11-12 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/tuning_models/cortexx925.h (cortexx925_addrcost_table): Remove. - * config/aarch64/tuning_models/neoversen1.h: Use generic_armv8_a_addrcost_table. - * config/aarch64/tuning_models/neoversen2.h (neoversen2_addrcost_table): Remove. - * config/aarch64/tuning_models/neoversen3.h (neoversen3_addrcost_table): Remove. - * config/aarch64/tuning_models/neoversev2.h (neoversev2_addrcost_table): Remove. - * config/aarch64/tuning_models/neoversev3.h (neoversev3_addrcost_table): Remove. - * config/aarch64/tuning_models/neoversev3ae.h (neoversev3ae_addrcost_table): Remove. - -2024-11-12 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSE_BASE): New define. - (AARCH64_FUSE_MOVK): Likewise. - * config/aarch64/tuning_models/a64fx.h: Update. - * config/aarch64/tuning_models/ampere1.h: Likewise. - * config/aarch64/tuning_models/ampere1a.h: Likewise. - * config/aarch64/tuning_models/ampere1b.h: Likewise. - * config/aarch64/tuning_models/cortexa35.h: Likewise. - * config/aarch64/tuning_models/cortexa53.h: Likewise. - * config/aarch64/tuning_models/cortexa57.h: Likewise. - * config/aarch64/tuning_models/cortexa72.h: Likewise. - * config/aarch64/tuning_models/cortexa73.h: Likewise. - * config/aarch64/tuning_models/cortexx925.h: Likewise. - * config/aarch64/tuning_models/exynosm1.h: Likewise. - * config/aarch64/tuning_models/fujitsu_monaka.h: Likewise. - * config/aarch64/tuning_models/generic.h: Likewise. - * config/aarch64/tuning_models/generic_armv8_a.h: Likewise. - * config/aarch64/tuning_models/generic_armv9_a.h: Likewise. - * config/aarch64/tuning_models/neoverse512tvb.h: Likewise. - * config/aarch64/tuning_models/neoversen1.h: Likewise. - * config/aarch64/tuning_models/neoversen2.h: Likewise. - * config/aarch64/tuning_models/neoversen3.h: Likewise. - * config/aarch64/tuning_models/neoversev1.h: Likewise. - * config/aarch64/tuning_models/neoversev2.h: Likewise. - * config/aarch64/tuning_models/neoversev3.h: Likewise. - * config/aarch64/tuning_models/neoversev3ae.h: Likewise. - * config/aarch64/tuning_models/qdf24xx.h: Likewise. - * config/aarch64/tuning_models/saphira.h: Likewise. - * config/aarch64/tuning_models/thunderx2t99.h: Likewise. - * config/aarch64/tuning_models/thunderx3t110.h: Likewise. - * config/aarch64/tuning_models/tsv110.h: Likewise. - -2024-11-12 yulong <shiyulong@iscas.ac.cn> - - * config/riscv/riscv.cc (riscv_declare_function_name): Add new - attribute. - -2024-11-12 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/vector.md (pred_mul_plus<mode>_undef): Drop alternatives - where output doesn't have to match input. - (pred_madd<mode>, pred_macc<mode>): Likewise. - (pred_madd<mode>_scalar, pred_macc<mode>_scalar): Likewise. - (pred_madd<mode>_exended_scalar): Likewise. - (pred_macc<mode>_exended_scalar): Likewise. - (pred_minus_mul<mode>_undef): Likewise. - (pred_nmsub<mode>, pred_nmsac<mode>): Likewise. - (pred_nmsub<mode>_scalar, pred_nmsac<mode>_scalar): Likewise. - (pred_nmsub<mode>_exended_scalar): Likewise. - (pred_nmsac<mode>_exended_scalar): Likewise. - -2024-11-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116973 - * tree-vect-slp.cc (vect_lower_load_permutations): Add - force_single_lane parameter. Disable heuristic that keeps - some load-permutations. - (vect_analyze_slp): Pass force_single_lane to - vect_lower_load_permutations. - -2024-11-12 Jeff Law <jlaw@ventanamicro.com> - - * config/c6x/c6x.md (nop, nop_count): Add explicit - "dest_regfile" attribute setting. - -2024-11-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117417 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Avoid - decomposing BIT_FIELD_REF complex load. - -2024-11-12 Tejas Belagod <tejas.belagod@arm.com> - - * rtlanal.cc (set_noop_p): Validate subreg constraints before checking - for overlapping regs using simplify_subreg_regno. - -2024-11-12 Richard Biener <rguenther@suse.de> - - * config/i386/i386.cc (ix86_vector_costs::finish_cost): Set - m_suggested_epilogue_mode according to X86_TUNE_AVX512_TWO_EPILOGUES. - * config/i386/x86-tune.def (X86_TUNE_AVX512_TWO_EPILOGUES): Add. - Enable for znver4 and znver5. - -2024-11-12 Richard Biener <rguenther@suse.de> - - * tree-vectorizer.h (vector_costs::suggested_epilogue_mode): New. - (vector_costs::m_suggested_epilogue_mode): Likewise. - (vector_costs::vector_costs): Initialize m_suggested_epilogue_mode. - * tree-vect-loop.cc (vect_analyze_loop): Honor the target - suggested prefered epilogue mode and support vector epilogues - of vector epilogues if requested. - -2024-11-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117484 - * tree-vect-slp.cc (vect_build_slp_tree_2): Handle gaps in - mask discovery. Fix condition to release the load permutation. - (vect_lower_load_permutations): Assert we get no load - permutation for the unpermuted node. - * tree-vect-slp-patterns.cc (linear_loads_p): Properly identify - loads (without permutation). - (compatible_complex_nodes_p): Likewise. - -2024-11-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117502 - * tree-vect-stmts.cc (get_group_load_store_type): Also consider - VMAT_STRIDED_SLP when checking to use gather/scatter for - single-element interleaving access. - * tree-vect-loop.cc (update_epilogue_loop_vinfo): STMT_VINFO_STRIDED_P - can be classified as VMAT_GATHER_SCATTER, so update DR_REF for - those as well. - -2024-11-12 Soumya AR <soumyaa@nvidia.com> - - * match.pd: Fold logN(x) CMP CST -> x CMP expN(CST) - and expN(x) CMP CST -> x CMP logN(CST) - -2024-11-11 Jason Merrill <jason@redhat.com> - - * doc/invoke.texi: Rename -fmodules-ts to -fmodules. - -2024-11-11 Jason Merrill <jason@redhat.com> - - * opts.h (cl_deferred_option::value): Change to HOST_WIDE_INT. - (set_option): Change opt_index parm to size_t. - * opts-common.cc (set_option): Likewise. - -2024-11-11 Jakub Jelinek <jakub@redhat.com> - - * doc/extend.texi (New/Delete Builtins): Document - __builtin_operator_new and __builtin_operator_delete. - -2024-11-11 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64.cc - (aarch64_vfp_is_call_or_return_candidate): use fp registers to - return svmfloat8_t parameters. - -2024-11-11 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (arg1_arg3_map): New. - (arg1_arg3_arg4_map): Likewise. - (vect_get_operand_map): Handle IFN_SCATTER_STORE, - IFN_MASK_SCATTER_STORE and IFN_MASK_LEN_SCATTER_STORE. - (vect_build_slp_tree_1): Likewise. - * tree-vect-stmts.cc (vectorizable_store): For SLP masked - gather/scatter record the mask with proper number of copies. - * tree-vect-loop.cc (vectorizable_recurr): Avoid costing - the initial value construction in the prologue twice with SLP. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Handle - __ARM_FEATURE_SVE2p1. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-modes.def (VNx1SI, VNx1DI): New modes. - * config/aarch64/aarch64-sve-builtins-base.cc - (svdup_lane_impl::expand): Update generation of TBL instruction. - (svtbl_impl): Delete. - (svtbl): Use unspec_based_uncond_function instead. - * config/aarch64/aarch64-sve-builtins-functions.h - (permute::fold_permute): Handle trailing immediate arguments. - * config/aarch64/aarch64-sve-builtins-shapes.h (extq): Declare. - (load_gather64_sv_index, load_gather64_sv_offset): Likewise. - (load_gather64_vs_index, load_gather64_vs_offset): Likewise. - (pmov_from_vector, pmov_from_vector_lane, pmov_to_vector_lane) - (reduction_neonq, store_scatter64_index, store_scatter64_offset) - (unary_lane): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (load_gather64_sv_base, store_scatter64_base): New classes. - (extq_def, ext): New shape. - (load_gather64_sv_index_def, load_gather64_sv_index): Likewise. - (load_gather64_sv_offset_def, load_gather64_sv_offset): Likewise. - (load_gather64_vs_index_def, load_gather64_vs_index): Likewise. - (load_gather64_vs_offset_def, load_gather64_vs_offset): Likewise. - (pmov_from_vector_def, pmov_from_vector): Likewise. - (pmov_from_vector_lane_def, pmov_from_vector_lane): Likewise. - (pmov_to_vector_lane_def, pmov_to_vector_lane): Likewise. - (reduction_neonq_def, reduction_neonq): Likewise. - (store_scatter64_index_def, store_scatter64_index): Likewise. - (store_scatter64_offset_def, store_scatter64_offset): Likewise. - (unary_lane_def, unary_lane): Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.h (svaddqv, svandqv) - (svdup_laneq, sveorqv, svextq, svld1q_gather, svld1udq, svld1uwq) - (svld2q, svld3q, svld4q, svmaxnmqv, svmaxqv, svminnmqv, svminqv) - (svorqv, svpmov, svpmov_lane, svst1qd, svst1q_scatter, svst1wq) - (svst2q, svst3q, svst4q, svtblq, svtbx, svtbxq, svuzpq1, svuzpq2) - (svzipq1, svzipq2): Declare. - * config/aarch64/aarch64-sve-builtins-sve2.cc (ld1uxq_st1xq_base) - (ld234q_st234q_base, svdup_laneq_impl, svextq_impl): New classes. - (svld1q_gather_impl, svld1uxq_impl, svld234q_impl): Likewise. - (svpmov_impl, svpmov_lane_impl, svst1q_scatter_impl): Likewise. - (svst1xq_impl, svst234q_impl, svuzpq_impl, svzipq_impl): Likewise. - (svaddqv, svandqv, svdup_laneq, sveorqv, svextq, svld1q_gather) - (svld1udq, svld1uwq, svld2q, svld3q, svld4q, svmaxnmqv, svmaxqv) - (svminnmqv, svminqv, svorqv, svpmov, svpmov_lane, svst1qd) - (svst1q_scatter, svst1wq, svst2q, svst3q, svst4q, svtblq, svtbx) - (svtbxq, svuzpq1, svuzpq2, svzipq1, svzipq2): New function entries. - * config/aarch64/aarch64-sve-builtins-sve2.def (svaddqv, svandqv) - (svdup_laneq, sveorqv, svextq, svld2q, svld3q, svld4q, svmaxnmqv) - (svmaxqv, svminnmqv, svminqv, svorqv, svpmov, svpmov_lanes, vst2q) - (svst3q, svst4q, svtblq, svtbxq, svuzpq1, svuzpq2, svzipq1, svzipq2) - (svld1q_gather, svld1udq, svld1uwq, svst1dq, svst1q_scatter) - (svst1wq): New function definitions. - * config/aarch64/aarch64-sve-builtins.cc (TYPES_hsd_data) - (hsd_data, s_data): New type lists. - (function_resolver::infer_pointer_type): Give a specific error about - passing a pointer to 8-bit elements to an _index function. - (function_resolver::resolve_sv_displacement): Check whether the - function allows 32-bit bases. - * config/aarch64/iterators.md (UNSPEC_TBLQ, UNSPEC_TBXQ): New unspecs. - (UNSPEC_ADDQV, UNSPEC_ANDQV, UNSPEC_DUPQ, UNSPEC_EORQV, UNSPEC_EXTQ) - (UNSPEC_FADDQV, UNSPEC_FMAXQV, UNSPEC_FMAXNMQV, UNSPEC_FMINQV) - (UNSPEC_FMINNMQV, UNSPEC_LD1_EXTENDQ, UNSPEC_LD1Q_GATHER): Likewise. - (UNSPEC_LDNQ, UNSPEC_ORQV, UNSPEC_PMOV_PACK, UNSPEC_PMOV_PACK_LANE) - (UNSPEC_PMOV_UNPACK, UNSPEC_PMOV_UNPACK_LANE, UNSPEC_SMAXQV): Likewise. - (UNSPEC_SMINQV, UNSPEC_ST1_TRUNCQ, UNSPEC_ST1Q_SCATTER, UNSPEC_STNQ) - (UNSPEC_UMAXQV, UNSPEC_UMINQV, UNSPEC_UZPQ1, UNSPEC_UZPQ2): Likewise. - (UNSPEC_ZIPQ1, UNSPEC_ZIPQ2): Likewise. - (Vtype): Handle single-vector SVE modes. - (Vendreg): Handle SVE structure modes. - (VNxTI, LD1_EXTENDQ_MEM): New mode attributes. - (SVE_PERMUTE, SVE_TBL, SVE_TBX): New int iterators. - (SVE_INT_REDUCTION_128, SVE_FP_REDUCTION_128): Likewise. - (optab): Handle the new SVE2.1 reductions. - (perm_insn): Handle the new SVE2.1 permutations. - * config/aarch64/aarch64-sve.md - (@aarch64_sve_tbl<mode>): Generalize to... - (@aarch64_sve_<SVE_TBL:perm_insn><mode>): ...this. - (@aarch64_sve_<PERMUTE:perm_insn><mode>): Generalize to... - (@aarch64_sve_<SVE_PERMUTE:perm_insn><mode>): ...this. - * config/aarch64/aarch64-sve2.md (@aarch64_pmov_to_<mode>) - (@aarch64_pmov_lane_to_<mode>, @aarch64_pmov_from_<mode>) - (@aarch64_pmov_lane_from_<mode>, @aarch64_sve_ld1_extendq<mode>) - (@aarch64_sve_ldnq<mode>, aarch64_gather_ld1q): New patterns. - (@aarch64_sve_st1_truncq<mode>, @aarch64_sve_stnq<mode>): Likewise. - (aarch64_scatter_st1q, @aarch64_pred_reduc_<optab>_<mode>): Likewise. - (@aarch64_sve_dupq<mode>, @aarch64_sve_extq<mode>): Likewise. - (@aarch64_sve2_tbx<mode>): Generalize to... - (@aarch64_sve_<SVE_TBX:perm_insn><mode>): ...this. - * config/aarch64/aarch64.cc - (aarch64_classify_vector_memory_mode): New function. - (aarch64_regmode_natural_size): Use it. - (aarch64_classify_index): Likewise. - (aarch64_classify_address): Likewise. - (aarch64_print_address_internal): Likewise. - (aarch64_evpc_hvla): New function. - (aarch64_expand_vec_perm_const_1): Use it. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.h (TARGET_SVE2p1_OR_SME2): New macro. - * config/aarch64/aarch64-early-ra.cc - (is_stride_candidate): Require TARGET_STREAMING_SME2 - (early_ra::maybe_convert_to_strided_access): Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.def: Mark instructions - that are common to both SVE2p1 and SME2. - * config/aarch64/aarch64-sve.md - (@aarch64_<sur>dot_prod_lane<SVE_FULL_SDI:mode><SVE_FULL_BHI:mode>): - Test TARGET_SVE2p1_OR_SME2 instead of TARGET_STREAMING_SME2. - (@aarch64_sve_<sve_fp_op>vnx4sf): Move TARGET_SVE_BF16 condition - into SVE_BFLOAT_TERNARY_LONG. - (@aarch64_sve_<sve_fp_op>_lanevnx4sf): Likewise - SVE_BFLOAT_TERNARY_LONG_LANE. - * config/aarch64/aarch64-sve2.md - (@aarch64_<LD1_COUNT:optab><mode>): Require TARGET_SVE2p1_OR_SME2 - instead of TARGET_STREAMING_SME2. - (@aarch64_<ST1_COUNT:optab><mode>): Likewise. - (@aarch64_sve_ptrue_c<BHSD_BITS>): Likewise. - (@aarch64_sve_pext<BHSD_BITS>): Likewise. - (@aarch64_sve_pext<BHSD_BITS>x2): Likewise. - (@aarch64_sve_cntp_c<BHSD_BITS>): Likewise. - (@aarch64_sve_fclamp<mode>): Likewise. - (*aarch64_sve_fclamp<mode>_x): Likewise. - (<sur>dot_prodvnx4sivnx8hi): Likewise. - (aarch64_sve_fdotvnx4sfvnx8hf): Likewise. - (aarch64_fdot_prod_lanevnx4sfvnx8hf): Likewise. - (@aarch64_sve_while<while_optab_cmp>_b<BHSD_BITS>_x2): Likewise. - (@aarch64_sve_while<while_optab_cmp>_c<BHSD_BITS>): Likewise. - (@aarch64_sve_<optab><VNx8HI_ONLY:mode><VNx8SI_ONLY:mode>): Move - TARGET_STREAMING_SME2 condition into SVE_QCVTxN. - (@aarch64_sve_<sve_int_op><mode>): Likewise - SVE2_INT_SHIFT_IMM_NARROWxN, but also require TARGET_STREAMING_SME2 - for the 4-register forms. - * config/aarch64/iterators.md (SVE_BFLOAT_TERNARY_LONG): Require - TARGET_SVE2p1_OR_SME2 rather than TARGET_STREAMING_SME2 for - UNSPEC_BFMLSLB and UNSPEC_BFMLSLT. Require TARGET_SVE_BF16 - for the others. - (SVE_BFLOAT_TERNARY_LONG_LANE): Likewise. - (SVE2_INT_SHIFT_IMM_NARROWxN): Require TARGET_SVE2p1_OR_SME2 for - the interleaving forms and TARGET_STREAMING_SME2 for the rest. - (SVE_QCVTxN): Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-option-extensions.def (sve2p1): New extension. - * doc/invoke.texi (sve2p1): Document it. - * config/aarch64/aarch64-sve-builtins-sve2.def: Mark instructions - that are common to both SVE2p1 and SME. - * config/aarch64/aarch64.h (TARGET_SVE2p1): New macro. - (TARGET_SVE2p1_OR_SME): Likewise. - * config/aarch64/aarch64-sve2.md - (@aarch64_sve_psel<BHSD_BITS>): Require TARGET_SVE2p1_OR_SME - instead of TARGET_STREAMING. - (*aarch64_sve_psel<BHSD_BITS>_plus): Likewise. - (@aarch64_sve_<su>clamp<mode>): Likewise. - (*aarch64_sve_<su>clamp<mode>_x): Likewise. - (@aarch64_pred_<optab><mode>): Likewise. - (@cond_<optab><mode>): Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config.gcc (extra_headers): Add arm_private_neon_types.h. - * config/aarch64/arm_private_neon_types.h: New file, split out - from... - * config/aarch64/arm_neon.h: ...here. - * config/aarch64/arm_sve.h: Include arm_private_neon_types.h - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-modes.def (VNx64BI): New mode. - * config/aarch64/aarch64-protos.h - (aarch64_split_double_move): Generalize to... - (aarch64_split_move): ...this. - * config/aarch64/aarch64-sve-builtins-base.def (svcreate4, svget4) - (svset4, svundef4): Add bool variants. - * config/aarch64/aarch64-sve-builtins.cc (handle_arm_sve_h): Add - svboolx4_t. - * config/aarch64/iterators.md (SVE_STRUCT_BI): New mode iterator. - * config/aarch64/aarch64-sve.md (movvnx32bi): Generalize to... - (mov<SVE_STRUCT_BI:mode>): ...this. - * config/aarch64/aarch64.cc - (pure_scalable_type_info::piece::get_rtx): Allow num_prs to be 4. - (aarch64_classify_vector_mode): Handle VNx64BI. - (aarch64_hard_regno_nregs): Likewise. - (aarch64_class_max_nregs): Likewise. - (aarch64_array_mode): Use VNx64BI for arrays of 4 svbool_ts. - (aarch64_split_double_move): Generalize to... - (aarch64_split_move): ...this. - (aarch64_split_128bit_move): Update call accordingly. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins-sve2.def: Sort entries - alphabetically. - * config/aarch64/aarch64-sve-builtins-sve2.h: Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins-shapes.cc (ext_base): New base - class, extracted from... - (ext_def): ...here. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins.h - (function_resolver::target_type_restrictions): New enum. - (function_resolver::infer_pointer_type): Add an extra argument - that specifies what the target type can be. - * config/aarch64/aarch64-sve-builtins.cc - (function_resolver::infer_pointer_type): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc - (load_gather_sv_base::get_target_type_restrictions): New virtual - member function. - (load_gather_sv_base::resolve): Use it. Update call to - infer_pointer_type. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins-shapes.cc - (store_scatter_base::infer_vector_type): New virtual member function. - (store_scatter_base::resolve): Use it. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins.h - (function_shape::vector_base_type): New member function. - * config/aarch64/aarch64-sve-builtins.cc - (function_shape::vector_base_type): Likewise. - (function_resolver::resolve_sv_displacement): Use it. - (function_resolver::resolve_gather_address): Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve.md (@aarch64_sve_tbl<mode>): Wrap - the second operand in braces. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins.cc (TYPES_all_data): Redefine - in terms of single-size *_data definitions. - (TYPES_bhs_data, TYPES_hs_data, TYPES_sd_data): Likewise. - (TYPES_b_data, TYPES_h_data, TYPES_s_data): New macros. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.h (TARGET_SME): Expand comment. - (TARGET_STREAMING_SME): Delete. - * config/aarch64/aarch64-sme.md: Use TARGET_STREAMING instead of - TARGET_STREAMING_SME. - * config/aarch64/aarch64-sve2.md: Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sme.md: Use TARGET_STREAMING_SME2 - instead of separate TARGET_STREAMING and TARGET_SME2 tests. - * config/aarch64/aarch64-sve2.md: Likewise. - * config/aarch64/iterators.md: Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * function.h (push_function_decl, pop_function_decl): Declare. - * function.cc (set_function_decl): New function, extracted from... - (set_cfun): ...here. - (push_function_decl): New function, extracted from... - (push_cfun): ...here. - (pop_cfun_1): New function, extracted from... - (pop_cfun): ...here. - (pop_function_decl): New function. - -2024-11-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117510 - * tree-ssa-loop-unswitch.cc (find_loop_guard): Only check - not skipped blocks for side-effects. - -2024-11-11 Pan Li <pan2.li@intel.com> - - * config/riscv/autovec.md: Fix indent format issue. - -2024-11-11 Sam James <sam@gentoo.org> - - PR other/116948 - * doc/install.texi (Building a native compiler): Document UBSAN_OPTIONS. - -2024-11-11 Sam James <sam@gentoo.org> - - PR other/116948 - * doc/install.texi (Building a native compiler): Mention bootstrap-ubsan. - -2024-11-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (*extzvsi-1bit_addsubx): - Add '&' to the destination register constraint to indicate that - it is 'earlyclobber', append '0' to the first source register - constraint to indicate that it can be the same as the destination - register, and change the split condition from 1 to reload_completed - so that the insn will be split only after RA in order to obtain - allocated registers that satisfy the above constraints. - -2024-11-11 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h - (get_intel_cpu): Handle Diamond Rapids. - * common/config/i386/i386-common.cc (processor_name): - Add Diamond Rapids. - (processor_alias_table): Ditto. - * common/config/i386/i386-cpuinfo.h (enum processor_types): - Add INTEL_COREI7_DIAMONDRAPIDS. - * config.gcc: Add -march=diamondrapids. - * config/i386/driver-i386.cc (host_detect_local_cpu): Handle - diamondrapids. - * config/i386/i386-c.cc (ix86_target_macros_internal): Ditto. - * config/i386/i386-options.cc (processor_cost_table): Ditto. - (m_DIAMONDRAPIDS): New. - (m_CORE_AVX512): Add diamondrapids. - * config/i386/i386.h (enum processor_type): Ditto. - * doc/extend.texi: Ditto. - * doc/invoke.texi: Ditto. - -2024-11-11 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model - number for Arrow Lake. - -2024-11-11 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386.md (truncsf2bf2): Add !flag_rounding_math - to the condition, require flag_unsafe_math_optimizations when - native instruction is not available. - * config/i386/mmx.md: (truncv2sfv2bf2): Ditto. - (extendv2bfv2sf2): Add !HONOR_NANS (BFmode) to the condition. - * config/i386/sse.md: (truncv4sfv4sf2): Add - !flag_rounding_math to the condition, require - flag_unsafe_math_optimizations when native instruction is not - available. - (truncv8sfv8bf2): Ditto. - (truncv16sfv16bf2): Ditto. - (extendv4bfv4sf2): Add !HONOR_NANS (BFmode) to the condition. - (extendv8bfv8sf2): Ditto. - (extendv16bfv16sf2): Ditto. - -2024-11-10 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vectorizable_slp_permutation_1): Return - zero for the permute nodes part of load-lanes. - -2024-11-09 Iain Sandoe <iain@sandoe.co.uk> - - PR target/117478 - * config/darwin-driver.cc (darwin_driver_init): Handle ObjC/ObjC++ - * config/darwin.opt: Add ObjC/ObjC++ as driver-only options. - -2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/117492 - * fold-const.cc (fold_binary_loc): Remove `Two consecutive rotates adding up - to the some integer` simplifcation. - -2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117496 - * tree-ssa-sccvn.cc (insert_predicates_for_cond): If the - valueization for the new lhs is the same as the old one, - don't recurse. - -2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-sccvn.cc (visit_phi): Swap the operands - before calling vn_nary_op_lookup_pieces if - tree_swap_operands_p returns true. - (insert_predicates_for_cond): Use tree_swap_operands_p - instead of checking for CONSTANT_CLASS_P. - (process_bb): Swap the comparison and operands - if tree_swap_operands_p returns true. - -2024-11-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - PR target/117408 - * config/arm/arm-mve-builtins.cc(handle_arm_mve_h): Detect if MVE - types is missing and if so, return error. - -2024-11-09 Jakub Jelinek <jakub@redhat.com> - - * trans-mem.cc (expand_assign_tm): Don't take address - of empty CONSTRUCTOR, instead use BUILT_IN_TM_MEMSET - to clear lhs in that case. Formatting fixes. - -2024-11-09 Andi Kleen <ak@gcc.gnu.org> - - * config/i386/gcc-auto-profile: Regenerate. - -2024-11-08 John David Anglin <danglin@gcc.gnu.org> - - PR target/117238 - * config/pa/pa64-regs.h (PA_HARD_REGNO_MODE_OK): Don't allow - mode size 32. - -2024-11-08 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/predicates.md (base14_operand): Use '&' operator - instead of '%' to check displacement alignment. - -2024-11-08 John David Anglin <danglin@gcc.gnu.org> - - PR target/117238 - * config/pa/pa32-regs.h (PA_HARD_REGNO_MODE_OK): Don't allow - mode size 32. Limit mode size 16 in general registers to - complex modes. - -2024-11-08 John David Anglin <danglin@gcc.gnu.org> - - PR target/117443 - * config/pa/pa.cc (pa_legitimate_address_p): Allow any - 14-bit displacement when reload is in progress and strict - is false. - -2024-11-08 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com> - - PR target/116444 - * config/arm/arm.cc (arm_noce_conversion_profitable_p): Call - default_noce_conversion_profitable_p when not dealing with the - armv8.1-m.main special case. - (arm_is_vsel_fp_insn): New function. - -2024-11-08 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/aarch64/aarch64-cores.def (cortex-a520ae, - cortex-a720ae, cortex-r82ae): Define new entries. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Document A520AE, A720AE and R82AE CPUs. - -2024-11-07 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve2.md (@aarch64_sve_psel<BHSD_BITS>) - (*aarch64_sve_psel<BHSD_BITS>_plus): Require TARGET_STREAMING - rather than TARGET_STREAMING_SME2. - -2024-11-07 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve2.md (@aarch64_sve_fclamp<mode>) - (*aarch64_sve_fclamp<mode>_x): Require TARGET_STREAMING_SME2 - rather than TARGET_STREAMING_SME. - -2024-11-07 David Faust <david.faust@oracle.com> - - PR target/117447 - * config/bpf/btfext-out.cc (btf_ext_output): Bail if TU CTFC is null. - -2024-11-07 David Faust <david.faust@oracle.com> - - * btfout.cc (btf_finalize): Check that hash maps are non-null before - emptying them. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/85605 - * tree-ssa-ifcombine.cc (can_combine_bbs_with_short_circuit): New function. - (ifcombine_ifandif): Use can_combine_bbs_with_short_circuit - instead of checking if iterator is one before the last statement. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117414 - * tree-ssa-sccvn.cc (process_bb): Lookup - `val != 0` if got back a ssa name when looking the comparison. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117414 - * tree-ssa-sccvn.cc (insert_predicates_for_cond): Handle `(A CMP B) !=/== 0`. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117414 - * tree-ssa-sccvn.cc (insert_predicates_for_cond): Canonicalize the comparison. - Don't insert anything if lhs is not a SSA_NAME. Handle `(a | b) !=/== 0`. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-sccvn.cc (insert_predicates_for_cond): New function, factored out from ... - (process_bb): Here. - -2024-11-07 Richard Biener <rguenther@suse.de> - - * tree-vect-data-refs.cc (vect_check_gather_scatter): Refuse - to analyze DR_REF if from an epilogue that's not first. - * tree-vect-loop.cc (update_epilogue_loop_vinfo): Add comment - how the substitution in DR_REF is broken. - -2024-11-07 Richard Biener <rguenther@suse.de> - - * tree-vectorizer.h (_loop_vec_info::main_loop_info): New. - (LOOP_VINFO_MAIN_LOOP_INFO): Likewise. - (_loop_vec_info::epilogue_vinfo): Change from epilogue_vinfos - from array to single element. - * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialize - main_loop_info and epilogue_vinfo. Remove epilogue_vinfos - allocation. - (_loop_vec_info::~_loop_vec_info): Do not release epilogue_vinfos. - (vect_create_loop_vinfo): Rename parameter, set - LOOP_VINFO_MAIN_LOOP_INFO. - (vect_analyze_loop_1): Rename parameter. - (vect_analyze_loop_costing): Properly distinguish between - the main vector loop and the preceeding epilogue. - (vect_analyze_loop): Change for epilogue_vinfos no longer - being a vector. - * tree-vect-loop-manip.cc (vect_do_peeling): Simplify and - thereby handle a vector epilogue of a vector epilogue. - -2024-11-07 Richard Biener <rguenther@suse.de> - - * tree-vectorizer.h (_loop_vec_info::drs_advanced_by): New. - (LOOP_VINFO_DRS_ADVANCED_BY): Likewise. - * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialize - drs_advanced_by. - (update_epilogue_loop_vinfo): Remember the DR advancement made. - (vect_transform_loop): Accumulate past advancements. - -2024-11-07 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vect_analyze_loop_2): Move - vect_analyze_loop_costing after check whether we can do - peeling. Add check on LOOP_VINFO_PEELING_FOR_GAPS for - epilogues. - -2024-11-07 Pan Li <pan2.li@intel.com> - Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * doc/md.texi: Add doc for mask_len_stried_load{store}. - -2024-11-07 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/117467 - * timevar.def (TV_EXT_DCE): New. - * ext-dce.cc (pass_data_ext_dce): Use TV_EXT_DCE. - -2024-11-07 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386.md (cstorebf4): Use vcomsbf16 under - TARGET_AVX10_2_256 and -fno-trapping-math. - (cbranchbf4): Adjust formatting. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc - (ifcombine_rewrite_to_defined_overflow): New. - (ifcombine_replace_cond): Reject conds that would require - moving too many stmts. Reset flow sensitive info and avoid - undefined behavior in moved stmts. Reset flow sensitive info - in all inner blocks when the outer condition changes, and - avoid undefined behavior whenever the outer condition becomes - laxer, adapted and moved from... - (pass_tree_ifcombine::execute): ... here. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc (ifcombine_replace_cond): Support - TRUTH_ANDIF cond exprs. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc (recognize_if_then_else): Support - relaxed then/else testing; require nondegenerate condition - otherwise. - (tree_ssa_ifcombine_bb_1): Add outer_succ_bb parm, use it - instead of inner_cond_bb. Adjust callers. - (tree_ssa_ifcombine_bb): Loop over dominating outer blocks - eligible for ifcombine. - (pass_tree_ifcombine::execute): Noted potential need for - changes to the post-combine logic. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc: Include bitmap.h. - (ifcombine_mark_ssa_name): New. - (struct ifcombine_mark_ssa_name_t): New. - (ifcombine_mark_ssa_name_walk): New. - (ifcombine_replace_cond): Prepare to handle noncontiguous and - split-condition ifcombine. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc (known_succ_p): New. - (update_profile_after_ifcombine): Handle noncontiguous blocks. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc (ifcombine_replace_cond): Factor out - of... - (ifcombine_ifandif): ... this. Leave it for the above to - gimplify and invert the condition. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc (ifcombine_ifandif): Drop redundant - result_inv parm. Adjust all callers. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Allow vuses, - but not vdefs. - -2024-11-07 xuli <xuli1@eswincomputing.com> - - * match.pd: Add the form1 of signed imm .SAT_ADD matching. - * tree-ssa-math-opts.cc (match_saturation_add): Add fold - convert for const_int to the type of operand 0. - -2024-11-06 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> - - PR rtl-optimization/112398 - * simplify-rtx.cc (simplify_context::simplify_unary_operation_1): - Simplify ZERO_EXTEND (SUBREG (NOT X)) to XOR (X, GET_MODE_MASK(SUBREG)) - when X doesn't have any non-zero bits outside of SUBREG mode. - -2024-11-06 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.cc (cdtor_record): Make position unsigned. - -2024-11-06 Andrew Stubbs <ams@baylibre.com> - - * omp-general.cc (omp_max_vf): Cast the constant to poly_uint64. - -2024-11-06 Andrew Stubbs <ams@baylibre.com> - - * internal-fn.cc (expand_GOMP_MAX_VF): New function. - * internal-fn.def (GOMP_MAX_VF): New internal function. - * omp-expand.cc (omp_adjust_chunk_size): Emit IFN_GOMP_MAX_VF when - called in offload context, otherwise assume host context. - * omp-offload.cc (execute_omp_device_lower): Expand IFN_GOMP_MAX_VF. - -2024-11-06 Andrew Stubbs <ams@baylibre.com> - - * omp-expand.cc (is_in_offload_region): New function. - (omp_adjust_chunk_size): Add pass-through "offload" parameter. - (get_ws_args_for): Likewise. - (determine_parallel_type): Use is_in_offload_region to adjust call to - get_ws_args_for. - (expand_omp_for_generic): Likewise. - (expand_omp_for_static_chunk): Likewise. - -2024-11-06 Andrew Stubbs <ams@baylibre.com> - - * gimple-loop-versioning.cc (loop_versioning::loop_versioning): Set - omp_max_vf to offload == false. - * omp-expand.cc (omp_adjust_chunk_size): Likewise. - * omp-general.cc (omp_max_vf): Add "offload" parameter, and detect - amdgcn offload devices. - * omp-general.h (omp_max_vf): Likewise. - * omp-low.cc (lower_rec_simd_input_clauses): Pass offload state to - omp_max_vf. - -2024-11-06 Andrew MacLeod <amacleod@redhat.com> - - * tree-assume.cc (assume_query::assume_query): Add debug output. - (assume_query::update_parms): Likewise. - (assume_query::calculate_phi): Likewise. - (assume_query::calculate_op): Likewise. Also pick up any - merged path values. - (assume_query::calculate_stmt): Likewise. - -2024-11-06 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.h (class diagnostic_context): Fix typo in leading - comment. - -2024-11-06 Michal Jires <mjires@suse.cz> - - * ipa-prop.cc (write_ipcp_transformation_info): Disable - uneeded value propagation. - * lto-cgraph.cc (lto_symtab_encoder_encode): Default values. - (lto_symtab_encoder_always_inlined_p): New. - (lto_set_symtab_encoder_not_always_inlined): New. - (add_node_to): Set always inlined. - * lto-streamer.h (struct lto_encoder_entry): New field. - (lto_symtab_encoder_always_inlined_p): New. - -2024-11-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117439 - * gimple-ssa-store-merging.cc - (imm_store_chain_info::coalesce_immediate_stores): Punt if merging of - any of the additional overlapping stores would result in growing the - bitregion size over param_store_merging_max_size. - (pass_store_merging::process_store): Terminate all aliasing chains - for stores with bitregion larger than param_store_merging_max_size. - -2024-11-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117439 - * gimple-ssa-store-merging.cc (encode_tree_to_bitpos): For - empty_ctor_p use !sub_byte_op_p even if bitlen doesn't have an - integral mode. - -2024-11-06 Hu, Lin1 <lin1.hu@intel.com> - - PR target/117304 - * config/i386/i386-builtin.def: Add OPTION_MASK_ISA2_EVEX512 for some - AVX512 512-bits instructions. - -2024-11-05 Andrew Pinski <quic_apinski@quicinc.com> - - * match.pd (X != 0 ? X + ~0 : 0): Fix comment. - -2024-11-05 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117449 - * config/aarch64/aarch64-simd.md (*aarch64_simd_rotate_imm<mode>): - Match only when can_create_pseudo_p (). - * config/aarch64/aarch64.cc (aarch64_emit_opt_vec_rotate): Assume - can_create_pseudo_p (). - -2024-11-05 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-expand.cc - (ix86_expand_vector_bf2sf_with_vec_perm): New function. - * config/i386/i386-protos.h - (ix86_expand_vector_bf2sf_with_vec_perm): New Declare. - * config/i386/mmx.md (extendv2bfv2sf2): New expander. - * config/i386/sse.md (extend<sf_cvt_bf16_lower><mode>2): - Ditto. - (VF1_AVX512BW): New mode iterator. - (sf_cvt_bf16): Add V4SF. - (sf_cvt_bf16_lower): New mode attr. - -2024-11-05 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-expand.cc - (ix86_expand_vector_sf2bf_with_vec_perm): New function. - * config/i386/i386-protos.h - (ix86_expand_vector_sf2bf_with_vec_perm): New declare. - * config/i386/mmx.md (truncv2sfv2bf2): New expander. - * config/i386/sse.md (truncv4sfv4bf2): Ditto. - (truncv8sfv8bf2): Ditto. - (truncv16sfv16bf2): Ditto. - -2024-11-05 Hu, Lin1 <lin1.hu@intel.com> - - PR target/117416 - * config/i386/i386-expand.cc (ix86_expand_builtin): Raise warning when - op1 isn't in range of [0, 2] and set op1 as const0_rtx, and raise - warning when op3 isn't in range of [0, 1]. - -2024-11-05 Richard Biener <rguenther@suse.de> - - PR middle-end/117433 - * cfgexpand.cc (expand_gimple_stmt_1): Use emit_block_move - when moving temp to BLKmode target. - -2024-11-05 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-passes.def: Don't add pass_tag_collision_avoidance. - * config/aarch64/aarch64-protos.h (make_pass_tag_collision_avoidance): Remove. - * config/aarch64/aarch64-tuning-flags.def (RENAME_LOAD_REGS): Remove. - * config/aarch64/tuning_models/qdf24xx.h (qdf24xx_tunings): Set tuning flags to - AARCH64_EXTRA_TUNE_NONE. - * config/aarch64/falkor-tag-collision-avoidance.cc: Removed. - * config/aarch64/t-aarch64 (falkor-tag-collision-avoidance.o): Remove. - * config.gcc (aarch64*-*-*): Remove falkor-tag-collision-avoidance.o from extra_objs. - -2024-11-05 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-cores.def (falkor): Use cortex-a57 scheduler. - (saphira): Likewise. - * config/aarch64/aarch64.md: Don't include falkor.md and saphira.md. - * config/aarch64/falkor.md: Removed. - * config/aarch64/saphira.md: Removed. - -2024-11-05 Levy Hsu <admin@levyhsu.com> - - * config/i386/i386-expand.cc (ix86_expand_branch): Handle BFmode - when TARGET_AVX10_2_256 is enabled. - (ix86_prepare_fp_compare_args): Use SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P. - (ix86_expand_fp_movcc): Ditto. - (ix86_expand_fp_compare): Handle BFmode under IX86_FPCMP_COMI. - * config/i386/i386.cc (ix86_multiplication_cost): Use - SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P. - (ix86_division_cost): Ditto. - (ix86_rtx_costs): Ditto. - (ix86_vector_costs::add_stmt_cost): Ditto. - * config/i386/i386.h (SSE_FLOAT_MODE_SSEMATH_OR_HF_P): Rename to ... - (SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P): ...this, and add BFmode. - * config/i386/i386.md (*cmpibf): New define_insn. - -2024-11-05 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (get_type_num_typedef): New function. - (get_type_num): Call get_type_num_typedef. - * dwarf2codeview.h (T_HRESULT): Define. - -2024-11-05 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (struct codeview_custom_type): Add new fields to - lf_pointer struct in union. - (write_lf_pointer): Write containing_class and ptr_to_mem_type if - applicable. - (get_type_num_subroutine_type): Write correct containing_class_type if - this is a pointer to a member function. - (get_type_num_ptr_to_member_type): New function. - (get_type_num): Call get_type_num_ptr_to_member_type. - * dwarf2codeview.h (CV_PTR_MODE_MASK, CV_PTR_MODE_PMEM): Define. - (CV_PTR_MODE_PMFUNC, CV_PMTYPE_D_Single, CV_PMTYPE_F_Single): Likewise. - -2024-11-05 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_leaf_type): Add LF_BCLASS. - (struct codeview_subtype): Add lf_bclass to union. - (write_cv_padding): Add declaration. - (write_lf_fieldlist): Handle LF_BCLASS records. - (add_struct_inheritance): New function. - (get_type_num_struct): Call add_struct_inheritance. - -2024-11-04 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv.cc (riscv_use_by_pieces_infrastructure_p): - New function. - (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Define. - -2024-11-04 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv-string.cc - (use_vector_stringop_p): Add comment. - (expand_vec_setmem): Use use_vector_stringop_p instead of - check_vectorise_memory_operation. - -2024-11-04 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.h (class diagnostic_context): Update leading comment. - -2024-11-04 David Malcolm <dmalcolm@redhat.com> - - * opts-diagnostic.cc: Apply renamings throughout for clarity: from - "name" and "format_name" to "scheme_name", from "m_format" to - "m_scheme_name", and from "handler" to "scheme_handler". - (output_factory::scheme_handler::get_handler): Pass name by const - reference. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117048 - * simplify-rtx.cc (extract_ashift_operands_p): Define. - (simplify_rotate_op): Likewise. - (simplify_context::simplify_binary_operation_1): Use the above in - the PLUS, IOR, XOR cases. - (test_vector_rotate): Define. - (test_vector_ops): Use the above. - -2024-11-04 Antoni Boucher <bouanto@zoho.com> - - PR target/116725 - * config/i386/sse.md: Fix asm generation. - -2024-11-04 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/117398 - * gimple-range-edge.cc (gimple_outgoing_range::calc_switch_ranges): - Check for VARYING and don't call invert () on it. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - Revert: - 2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117048 - * simplify-rtx.cc (extract_ashift_operands_p): Define. - (simplify_rotate_op): Likewise. - (simplify_context::simplify_binary_operation_1): Use the above in - the PLUS, IOR, XOR cases. - (test_vector_rotate): Define. - (test_vector_ops): Use the above. - -2024-11-04 Richard Sandiford <richard.sandiford@arm.com> - - * doc/invoke.texi: Fix documentation of LS64 so that it's - not implied by Armv8.7-A or Armv9.2-A. - -2024-11-04 Yuta Mukai <mukai.yuta@fujitsu.com> - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add fujitsu-monaka. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/aarch64.cc: Include fujitsu-monaka tuning model. - * doc/invoke.texi: Document -mcpu=fujitsu-monaka. - * config/aarch64/tuning_models/fujitsu_monaka.h: New file. - -2024-11-04 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (update_epilogue_loop_vinfo): Update - DR inits after adjusting the epilog metadata. - -2024-11-04 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (update_epilogue_loop_vinfo): A DRs - main stmt vinfo dr_aux should refer to a pattern stmt - which is how move_dr sets this up. We shouldn't undo this. - -2024-11-04 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vect_analyze_loop): Move lowest_th - compute until after epilogue_vinfos is final. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): - Simplify (rotate:HI x:HI, 8) -> (bswap:HI x:HI). - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/aarch64.cc (aarch64_emit_opt_vec_rotate): Add - generation of XAR sequences when possible. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * expmed.h (expand_rotate_as_vec_perm): Declare. - * expmed.cc (expand_rotate_as_vec_perm): Define. - * config/aarch64/aarch64-protos.h (aarch64_emit_opt_vec_rotate): - Declare prototype. - * config/aarch64/aarch64.cc (aarch64_emit_opt_vec_rotate): Implement. - * config/aarch64/aarch64-simd.md (*aarch64_simd_rotate_imm<mode>): - Call the above. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117048 - * config/aarch64/aarch64-simd.md (*aarch64_simd_rotate_imm<mode>): - New define_insn_and_split. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/iterators.md (SVE_ASIMD_FULL_I): New mode iterator. - * config/aarch64/aarch64-sve2.md (@aarch64_sve2_xar<mode>): - Use SVE_ASIMD_FULL_I modes. Use ROTATE code for the rotate step. - Adjust output logic. - * config/aarch64/aarch64-sve-builtins-sve2.cc (svxar_impl): Define. - (svxar): Use the above. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117048 - * simplify-rtx.cc (extract_ashift_operands_p): Define. - (simplify_rotate_op): Likewise. - (simplify_context::simplify_binary_operation_1): Use the above in - the PLUS, IOR, XOR cases. - (test_vector_rotate): Define. - (test_vector_ops): Use the above. - -2024-11-03 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/115023 - * doc/extend.texi (__builtin_assoc_barrier): Document ffp-contract=fast - and FMA usage. - -2024-11-03 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117363 - * match.pd (`a != 0 ? a - 1 : 0`): Fix type handling - and nop_convert handling. - -2024-11-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117384 - * gimplify.cc (gimplify_init_ctor_eval): Add VIEW_CONVERT_EXPR around - rctor if it doesn't have expected type. - -2024-11-02 Jeff Law <jlaw@ventanamicro.com> - - * config/ft32/ft32.cc (ft32_lra_p): Remove. - (TARGET_LRA_P): Likewise. - * config/ft32/ft32.opt: Make -mlra ignored. - * doc/invoke.texi: Adjust documentation for -mlra on ft32. - -2024-11-01 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/117407 - * builtins.cc (expand_builtin_prefetch): Use !IN_RANGE rather - than IN_RANGE. - -2024-11-01 Andrew MacLeod <amacleod@redhat.com> - - * range-op.cc (operator_bitwise_or::op1_range): If LHS is signed - positive, so are both operands. - -2024-11-01 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/117287 - * Makefile.in (IBJS): Add tree-assume.o - * gimple-range.cc (assume_query::assume_range_p): Remove. - (assume_query::range_of_expr): Remove. - (assume_query::assume_query): Move to tree-assume.cc. - (assume_query::~assume_query): Remove. - (assume_query::calculate_op): Move to tree-assume.cc. - (assume_query::calculate_phi): Likewise. - (assume_query::check_taken_edge): Remove. - (assume_query::calculate_stmt): Move to tree-assume.cc. - (assume_query::dump): Remove. - * gimple-range.h (class assume_query): Move to tree-assume.cc - * tree-assume.cc: New - * tree-vrp.cc (struct pass_data_assumptions): Move to tree-assume.cc. - (class pass_assumptions): Likewise. - (make_pass_assumptions): Likewise. - -2024-11-01 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (class fur_edge): Relocate from here. - (fur_edge::fur_edge): Also move to: - * gimple-range-fold.h (class fur_edge): Relocate to here. - (fur_edge::fur_edge): Likewise. - -2024-11-01 Jakub Jelinek <jakub@redhat.com> - - * doc/standards.texi (C++ Language): Mention also the 2024 - revision and -std=gnu++23 option. - * doc/invoke.texi (-std=): Adjust description of c++23, c++2b, - gnu++23 and gnu++2b now that ISO C++ 14882:2024 is published. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * builtins.cc (expand_builtin_prefetch): Use IN_RANGE to - avoid second usage of INTVAL. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/cmpccxaddintrin.h (_cmpccxadd_epi32): Do not do - type conversion for pointer. - (_cmpccxadd_epi64): Ditto. - -2024-11-01 Xi Ruoyao <xry111@xry111.site> - - PR target/116887 - * varasm.cc (default_section_type_flags): Always set - SECTION_RELRO if name is .data.rel.ro{,.local}. - -2024-11-01 David Malcolm <dmalcolm@redhat.com> - - PR bootstrap/117361 - * Makefile.in (GCC_FOR_SELFTESTS): New. - -2024-11-01 Hu, Lin1 <lin1.hu@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): - Detect AMX-MOVRS. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AMX_MOVRS_SET): New. - (OPTION_MASK_ISA2_AMX_MOVRS_UNSET): Ditto. - (ix86_handle_option): Handle -mamx-movrs. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AMX_MOVRS. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - amx-movrs. - * config.gcc: Add amxmovrsintrin.h. - * config/i386/cpuid.h (bit_AMX_MOVRS): New. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Define __AMX_MOVRS__. - * config/i386/i386-isa.def (AMX_MOVRS): Add DEF_PTA(AMX_MOVRS). - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Handle amx-movrs. - * config/i386/i386.opt: Add option -mamx-movrs. - * config/i386/i386.opt.urls: Regenerated. - * config/i386/immintrin.h: Include amxmovrsintrin.h - * doc/extend.texi: Document amx-movrs. - * doc/invoke.texi: Document -mamx-movrs. - * doc/sourcebuild.texi: Document target amx-movrs. - * config/i386/amxmovrsintrin.h: New file. - -2024-11-01 Hu, Lin1 <lin1.hu@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * builtins.cc (expand_builtin_prefetch): Expand for - prefetchrst2. - * common/config/i386/cpuinfo.h (get_available_features): Detect movrs. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_MOVRS_SET): New. - (OPTION_MASK_ISA2_MOVRS_UNSET): Ditto. - (ix86_handle_option): Handle -mmovrs. - * common/config/i386/i386-cpuinfo.h - (enum processor_features): Add FEATURE_MOVRS. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for movrs. - * config.gcc: Add movrsintrin.h - * config/i386/cpuid.h (bit_MOVRS): New. - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE (CHAR, PCCHAR), (SHORT, PCSHORT), (INT, PCINT), - (INT64, PCINT64). - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-c.cc (ix86_target_macros_internal): Add - __MOVRS__. - * config/i386/i386-expand.cc (ix86_expand_special_args_builtin): Define - __MOVRS__. - * config/i386/i386-isa.def (MOVRS): Add DEF_PTA(MOVRS) - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Handle movrs. - * config/i386/i386.md (movrs<mode>): New. - * config/i386/i386.opt: Add option -mmovrs. - * config/i386/i386.opt.urls: Regenerated. - * config/i386/immintrin.h: Include movrsintrin.h - * config/i386/sse.md (unspecv): Add UNSPEC_VMOVRS. - (VI1248_AVX10_2): New. - (avx10_2_movrs_vmovrs<ssemodesuffix><mode><mask_name>): New define_insn. - * config/i386/xmmintrin.h: Add prefetchrst2. - * doc/extend.texi: Document movrs. - * doc/invoke.texi: Document -mmovrs. - * doc/rtl.texi: Document extension of prefetchrst2. - * doc/sourcebuild.texi: Document target movrs. - * config/i386/movrsintrin.h: New. - -2024-11-01 Liwei Xu <liwei.xu@intel.com> - Hu, Lin1 <lin1.hu@intel.com> - - * common/config/i386/cpuinfo.h - (get_available_features): Detect amx-fp8. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AMX_FP8_SET): New macros. - (OPTION_MASK_ISA2_AMX_FP8_UNSET): Ditto. - (ix86_handle_option): Handle -mamx-fp8. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AMX_FP8. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for amx-fp8. - * config.gcc: Add amxfp8intrin.h. - * config/i386/cpuid.h (bit_AMX_FP8): New. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Define __AMX_FP8__. - * config/i386/i386-isa.def (AMX_FP8): Add DEF_PTA for AMX_FP8. - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Add new ATTR. - * config/i386/i386.opt: Add -mamx-fp8. - * config/i386/i386.opt.urls: Regenerated. - * config/i386/immintrin.h: Include amxfp8intrin.h. - * doc/extend.texi: Document -mamx-fp8. - * doc/invoke.texi: Document -mamx-fp8. - * doc/sourcebuild.texi: Document -mamx-fp8. - * config/i386/amxfp8intrin.h: New file. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): - Detect AMX-TRANSPOSE. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AMX_TRANSPOSE_SET, - OPTION_MASK_ISA2_AMX_TRANSPOSE_UNSET): New. - (ix86_handle_option): Handle -mamx-transpose. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AMX_TRANSPOSE. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - amx-transpose. - * config.gcc: Add amxtransposeintrin.h. - * config/i386/cpuid.h (bit_AMX_TRANSPOSE): New. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __AMX_TRANSPOSE__. - * config/i386/i386-isa.def (AMX_TRANSPOSE): Add - DEF_PTA(AMX_TRANSPOSE). - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Handle amx-transpose. - * config/i386/i386.opt: Add option -mamx-transpose. - * config/i386/i386.opt.urls: Regenerated. - * config/i386/immintrin.h: Include amxtransposeintrin.h. - * doc/extend.texi: Document amx-transpose. - * doc/invoke.texi: Document -mamx-transpose. - * doc/sourcebuild.texi: Document target amx-transpose. - * config/i386/amxtransposeintrin.h: New file. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): - Detect AMX-TF32. - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_TF32_SET, - OPTION_MASK_ISA2_AMX_TF32_UNSET): New. - (ix86_handle_option): Handle -mamx-tf32. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AMX_TF32. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - amx-tf32. - * config.gcc: Add amxtf32intrin.h - * config/i386/cpuid.h (bit_AMX_TF32): New. - * config/i386/i386-c.cc (ix86_target_macros_internal): Handle amx-tf32. - * config/i386/i386-isa.def (AMX_TF32): Add DEF_PTA(AMX_TF32). - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Handle amx-tf32. - * config/i386/i386.opt: Add option -mamx-tf32. - * config/i386/i386.opt.urls: Regenerated. - * config/i386/immintrin.h: Include amxtf32intrin.h. - * doc/extend.texi: Document amx-tf32. - * doc/invoke.texi: Document -mamx-tf32. - * doc/sourcebuild.texi: Document target amx-tf32. - * config/i386/amxtf32intrin.h: New file. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - Yu, Bing <bing1.yu@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): - Detect AMX-AVX512. - * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_AVX512_SET, - OPTION_MASK_ISA2_AMX_AVX512_UNSET): New. - (ix86_handle_option): Handle -mamx-avx512. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AMX_AVX512. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for - amx-avx512. - * config.gcc: Add amxavx512intrin.h - * config/i386/cpuid.h (bit_AMX_AVX512): New. - * config/i386/i386-c.cc (ix86_target_macros_internal): - Handle amx-avx512. - * config/i386/i386-isa.def (AMX_AVX512): Add DEF_PTA(AMX_AVX512). - * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): - Handle amx-avx512. - * config/i386/i386.opt: Add option -mamx-avx512. - * config/i386/i386.opt.urls: Regenerated. - * config/i386/immintrin.h: Include amxavx512intrin.h - * doc/extend.texi: Document amx-avx512. - * doc/invoke.texi: Document -mamx-avx512. - * doc/sourcebuild.texi: Document target amx-avx512. - * config/i386/amxavx512intrin.h: New file. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI). - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle - V16SI_FTYPE_V16SI_V16SI. - * config/i386/sm4intrin.h: Add zmm insns. - * config/i386/sse.md (vsm4key4_<mode>): Add EVEX pattern. - (vsm4rnds4_<mode>): Ditto. - -2024-10-31 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svmax, svamin): Move - definitions to... - * config/aarch64/aarch64-sve-builtins-sve2.cc: ...here. - * config/aarch64/aarch64-sve-builtins-base.def (svmax, svamin): Move - definitions to... - * config/aarch64/aarch64-sve-builtins-sve2.def: ...here. Require - SME2 in streaming mode. - -2024-10-31 Richard Sandiford <richard.sandiford@arm.com> - - * config.gcc (aarch64*-*-*): Add aarch64-protos.h to target_gtfiles. - * config/aarch64/aarch64-protos.h - (aarch64_required_extensions): New structure. - (aarch64_check_required_extensions): Change the type of the - required_extensions parameter from aarch64_feature_flags to - aarch64_required_extensions. - * config/aarch64/aarch64-sve-builtins.h - (function_builder::add_unique_function): Likewise. - (function_builder::add_overloaded_function): Likewise. - (function_builder::get_attributes): Likewise. - (function_builder::add_function): Likewise. - (function_group_info): Change the type of required_extensions - in the same way. - * config/aarch64/aarch64-builtins.cc - (aarch64_pragma_builtins_data::required_extensions): Change the type - from aarch64_feature_flags to aarch64_required_extensions. - (aarch64_check_required_extensions): Likewise change the type - of the required_extensions parameter. Separate the requirements - for non-streaming mode and streaming mode, ORing them together - for streaming-compatible mode. - (aarch64_general_required_extensions): New function. - (aarch64_general_check_builtin_call): Use it. - * config/aarch64/aarch64-sve-builtins.cc - (registered_function::required_extensions): Change the type - from aarch64_feature_flags to aarch64_required_extensions. - (DEF_NEON_SVE_FUNCTION, DEF_SME_ZA_FUNCTION_GS): Update accordingly. - (function_builder::get_attributes): Change the type of the - required_extensions parameter from aarch64_feature_flags to - aarch64_required_extensions. - (function_builder::add_function): Likewise. - (function_builder::add_unique_function): Likewise. - (function_builder::add_overloaded_function): Likewise. - * config/aarch64/aarch64-simd-pragma-builtins.def: Update - REQUIRED_EXTENSIONS definitions to use aarch64_required_extensions. - * config/aarch64/aarch64-sve-builtins-base.def: Likewise. - * config/aarch64/aarch64-sve-builtins-sme.def: Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. - -2024-10-31 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc (ENTRY): Remove the features - argument and get the features from REQUIRED_EXTENSIONS instead. - (ENTRY_VHSDF): Move definition to... - * config/aarch64/aarch64-simd-pragma-builtins.def: ...here. - Move the architecture requirements to REQUIRED_EXTENSIONS. - -2024-10-31 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sve-builtins-base.def (svtrn1q, svtrn2q) - (svuzp1q, svuzp2q, svzip1q, svzip2q): Require SM_OFF. - -2024-10-31 Andi Kleen <ak@gcc.gnu.org> - - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Check for HAVE_CLOCK_GETTIME. - * timevar.cc (get_time): Use HAVE_CLOCK_GETTIME. - -2024-10-31 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv-v.cc (expand_const_vector): Use IOR op. - -2024-10-31 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS): Add lazy-diagnostic-path.o. - * lazy-diagnostic-path.cc: New file. - * lazy-diagnostic-path.h: New file. - * selftest-diagnostic.cc: Include "diagnostic-format.h". - (test_diagnostic_context::test_diagnostic_context): Turn off - flushing for the output format's printer. - * selftest-run-tests.cc (selftest::run_tests): Call - selftest::lazy_diagnostic_path_cc_tests. - * selftest.h (selftest::lazy_diagnostic_path_cc_tests): New decl. - -2024-10-31 David Malcolm <dmalcolm@redhat.com> - - * opts-diagnostic.cc (output_factory::handler::handler): Use - std::move on name. - -2024-10-31 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_context::finish): Delete and reset - m_option_mgr. - -2024-10-31 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/117176 - * tree-vect-patterns.cc (vect_recog_gcond_pattern): Lower all gconds. - * tree-vect-slp.cc (vect_analyze_slp): No longer check for in vect def. - -2024-10-31 Yangyu Chen <cyy@cyyself.name> - - * config/riscv/riscv.cc (riscv_can_inline_p): Refuse to inline - when callee is versioned but caller is not. - -2024-10-31 Yangyu Chen <cyy@cyyself.name> - - * config/riscv/riscv-protos.h (riscv_process_target_attr): New. - * config/riscv/riscv-target-attr.cc (riscv_process_target_attr): - Split into two functions with const char *args argument - -2024-10-31 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117354 - * expr.cc (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Pass - true as inner_reference_p argument to expand_expr_real if - mode is BLKmode. Don't call extract_bit_field if mode is BLKmode. - -2024-10-31 Yangyu Chen <cyy@cyyself.name> - - * config/riscv/predicates.md: Use flag_plt instead of TARGET_PLT. - * config/riscv/riscv.opt: alias common option fplt to mplt. - -2024-10-31 Jakub Jelinek <jakub@redhat.com> - - * tree.cc (valid_new_delete_pair_p): Fix up duplicate "or or" - in comment. - -2024-10-31 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/114785 - PR middle-end/116949 - * gimple-match-exports.cc (maybe_push_res_to_seq): Remove special - handling of COMPARISON_CLASS_P in COND_EXPR/VEC_COND_EXPR. - (gimple_extract): Likewise. - * gimple-walk.cc (walk_stmt_load_store_addr_ops): Likewise. - * gimple.cc (gimple_build_assign_1): Add assert for COND_EXPR - so its 1st operand is not a comparison. - -2024-10-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> - - * tree-vectorizer.cc (pass_vectorize::execute): Reset dont_vectorize - to scalar loop when setting IFN_LOOP_VECTORIZED to false. - -2024-10-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> - - * params.opt: Adjust param_vect_max_version_for_alias_checks - -2024-10-30 Joseph Myers <josmyers@redhat.com> - - * doc/cpp.texi (__STDC_VERSION__): Do not refer to C23 support as - experimental. - * doc/invoke.texi (std=c23, std=gnu23): Do not document as - experimental and incomplete. - * doc/standards.texi: Do not refer to C23 support as experimental - and incomplete. - -2024-10-30 Andi Kleen <ak@gcc.gnu.org> - - * timevar.cc (struct tms): Remove. - (RUSAGE_SELF): Remove. - (TICKS_PER_SECOND): Remove. - (USE_TIMES): Remove. - (HAVE_USER_TIME): Remove. - (HAVE_SYS_TIME): Remove. - (HAVE_WALL_TIME): Remove. - (USE_GETRUSAGE): Remove. - (USE_CLOCK): Remove. - (NANOSEC_PER_SEC): Remove. - (TICKS_TO_NANOSEC): Remove. - (CLOCKS_TO_NANOSEC): Remove. - (timer::named_items::push): Remove sys/user. - (get_time): Remove clock and times and getruage code. - (timevar_accumulate): Remove sys/user. - (timevar_diff): Dito. - (timer::validate_phases): Dito. - (timer::print_row): Dito. - (timer::all_zero): Dito. - (timer::print): Dito. - (make_json_for_timevar_time_def): Dito. - * timevar.h (struct timevar_time_def): Dito. - -2024-10-30 Richard Biener <rguenther@suse.de> - - * tree-vectorizer.h (finish_cost): Inline everywhere and remove. - * tree-vect-loop.cc (vect_estimate_min_profitable_iters): - Inline finish_cost. - * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Likewise. - -2024-10-30 Yangyu Chen <cyy@cyyself.name> - - * config/aarch64/aarch64.cc (dispatch_function_versions): Adding - DECL_EXTERNAL, TREE_PUBLIC and hidden DECL_VISIBILITY to - __init_cpu_features_resolver and __aarch64_cpu_features. - -2024-10-30 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (singleton_vxrm_need): New function. - (riscv_mode_needed): See if there is a singleton need and if so, - claim it happens on the first insn in the chain. - -2024-10-30 liuhongt <hongtao.liu@intel.com> - - PR target/117318 - * config/i386/sse.md (*avx512vl_<code>v2div2qi2_mask_store_1): - Rename to .. - (avx512vl_<code>v2div2qi2_mask_store_1): .. this. - (avx512vl_<code>v2div2qi2_mask_store_2): Change to - define_expand. - (*avx512vl_<code><mode>v4qi2_mask_store_1): Rename to .. - (avx512vl_<code><mode>v4qi2_mask_store_1): .. this. - (avx512vl_<code><mode>v4qi2_mask_store_2): Change to - define_expand. - (*avx512vl_<code><mode>v8qi2_mask_store_1): Rename to .. - (avx512vl_<code><mode>v8qi2_mask_store_1): .. this. - (avx512vl_<code><mode>v8qi2_mask_store_2): Change to - define_expand. - (*avx512vl_<code><mode>v4hi2_mask_store_1): Rename to .. - (avx512vl_<code><mode>v4hi2_mask_store_1): .. this. - (avx512vl_<code><mode>v4hi2_mask_store_2): Change to - define_expand. - (*avx512vl_<code>v2div2hi2_mask_store_1): Rename to .. - (avx512vl_<code>v2div2hi2_mask_store_1): .. this. - (avx512vl_<code>v2div2hi2_mask_store_2): Change to - define_expand. - (*avx512vl_<code>v2div2si2_mask_store_1): Rename to .. - (avx512vl_<code>v2div2si2_mask_store_1): .. this. - (avx512vl_<code>v2div2si2_mask_store_2): Change to - define_expand. - (*avx512f_<code>v8div16qi2_mask_store_1): Rename to .. - (avx512f_<code>v8div16qi2_mask_store_1): .. this. - (avx512f_<code>v8div16qi2_mask_store_2): Change to - define_expand. - -2024-10-30 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc (STRS_QUALIFIERS): Delete. - (STRU_QUALIFIERS): Delete. - (STRS_P_QUALIFIERS): Delete. - (STRU_P_QUALIFIERS): Delete. - (LDRS_QUALIFIERS): Delete. - (LDRU_QUALIFIERS): Delete. - (LDRS_Z_QUALIFIERS): Delete. - (LDRU_Z_QUALIFIERS): Delete. - -2024-10-30 Richard Biener <rguenther@suse.de> - - * tree-vect-patterns.cc (check_bool_pattern): Remove. - (adjust_bool_pattern_cast): Likewise. - (adjust_bool_pattern): Likewise. - (sort_after_uid): Likewise. - (adjust_bool_stmts): Likewise. - (vect_recog_bool_pattern): Remove calls to check_bool_pattern - and fold as if it returns false. - -2024-10-30 Jakub Jelinek <jakub@redhat.com> - - PR target/117296 - * function.cc (assign_parms): Call do_pending_stack_adjust. - -2024-10-30 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117348 - * genmatch.cc: Replace defined(HAVE_DECL_FMEMOPEN) - test with HAVE_DECL_FMEMOPEN. - -2024-10-30 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_TEMP. - * config/i386/i386-expand.cc (ix86_expand_builtin) - <case IX86_BUILTIN_LDMXCSR>: Use assign_stack_temp instead of - assign_386_stack_local with SLOT_TEMP. - <case IX86_BUILTIN_LDMXCSR>: Ditto. - (ix86_expand_divmod_libfunc): Ditto. - * config/i386/i386.md (floatunssi<mode>2): Ditto. - * config/i386/sync.md (atomic_load<mode>): Ditto. - (atomic_store<mode>): Ditto. - -2024-10-30 xuli <xuli1@eswincomputing.com> - - * match.pd: Simplify (x != 0 ? x + ~0 : 0) to (x - x != 0). - -2024-10-29 Andi Kleen <ak@gcc.gnu.org> - - Revert: - 2024-10-29 Andi Kleen <ak@gcc.gnu.org> - - PR middle-end/117091 - * tree-switch-conversion.cc (bit_test_cluster::find_bit_tests): - Change clustering algorithm to simple greedy. - -2024-10-29 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * Makefile.in (OBJS-libcommon-target): Add opts-diagnostic.o. - * common.opt (fdiagnostics-add-output=): New. - (fdiagnostics-set-output=): New. - (diagnostics_output_format): Drop sarif-file-2.2-prerelease from - enum. - * common.opt.urls: Regenerate. - * diagnostic-buffer.h (diagnostic_buffer::~diagnostic_buffer): New. - (diagnostic_buffer::ensure_per_format_buffer): Rename to... - (diagnostic_buffer::ensure_per_format_buffers): ...this. - (diagnostic_buffer::m_per_format_buffer): Replace with... - (diagnostic_buffer::m_per_format_buffers): ...this, updating type. - * diagnostic-format-json.cc (json_output_format::update_printer): - New. - (json_output_format::follows_reference_printer_p): New. - (diagnostic_output_format_init_json): Drop redundant call to - set_path_format, as this is not a text output format. - * diagnostic-format-sarif.cc: Include "diagnostic-format-text.h". - (sarif_builder::set_printer): New. - (sarif_builder::sarif_builder): Add "printer" param and use it for - m_printer. - (sarif_builder::make_location_object::escape_nonascii_renderer::render): - Rather than using dc.m_printer, create a - diagnostic_text_output_format instance and use its printer. - (sarif_output_format::follows_reference_printer_p): New. - (sarif_output_format::update_printer): New. - (sarif_output_format::sarif_output_format): Pass in correct - printer to m_builder's ctor. - (diagnostic_output_format_init_sarif): Drop redundant call to - set_path_format, as this is not a text output format. Replace - calls to pp_show_color and set_token_printer with call to - update_printer. Drop redundant call to set_show_highlight_colors, - as this printer does not show colors. - (diagnostic_output_format_init_sarif_file): Split out file opening - into... - (diagnostic_output_format_open_sarif_file): ...this new function. - (make_sarif_sink): New. - (selftest::test_make_location_object): Provide a pp for the - builder. - * diagnostic-format-sarif.h - (diagnostic_output_format_open_sarif_file): New decl. - (make_sarif_sink): New decl. - * diagnostic-format-text.cc (diagnostic_text_output_format::dump): - Dump sm_follows_reference_printer. - (diagnostic_text_output_format::on_report_verbatim): New. - (diagnostic_text_output_format::follows_reference_printer_p): New. - (diagnostic_text_output_format::update_printer): New. - * diagnostic-format-text.h - (diagnostic_text_output_format::diagnostic_text_output_format): - Add optional "follows_reference_printer" param. - (diagnostic_text_output_format::on_report_verbatim): New decl. - (diagnostic_text_output_format::after_diagnostic): Drop "final". - (diagnostic_text_output_format::follows_reference_printer_p): New - decl. - (class diagnostic_text_output_format): Convert private members to - protected. - (diagnostic_text_output_format::m_follows_reference_printer): New - field. - * diagnostic-format.h - (diagnostic_output_format::on_report_verbatim): New vfunc. - (diagnostic_output_format::follows_reference_printer_p): New vfunc. - (diagnostic_output_format::update_printer): New vfunc. - (diagnostic_output_format::get_printer): Use m_printer rather than - a printer from m_context. - (diagnostic_output_format::diagnostic_output_format): Initialize - m_printer by cloning the context's printer. - (diagnostic_output_format::m_printer): New field. - * diagnostic-global-context.cc (verbatim): Reimplement in terms of - global_dc->report_verbatim, moving existing implementation to - diagnostic_text_output_format::on_report_verbatim. - (fnotice): Support multiple output sinks by using a new - global_dc->supports_fnotice_on_stderr_p. - * diagnostic-output-file.h - (diagnostic_output_file::diagnostic_output_file): New default ctor. - (diagnostic_output_file::operator=): Implement move assignment. - * diagnostic-path.cc (selftest::test_interprocedural_path_1): Pass - false for new param of text_output's ctor. - * diagnostic-show-locus.cc - (selftest::test_layout_x_offset_display_utf8): Use reference - printer. - (selftest::test_layout_x_offset_display_tab): Likewise. - (selftest::test_one_liner_fixit_remove): Likewise. - * diagnostic.cc: Include "pretty-print-urlifier.h". - (diagnostic_set_caret_max_width): Update for global_dc's m_printer - becoming reference printer. - (diagnostic_context::initialize): Update for m_printer becoming - m_reference_printer. Use ::make_unique to create it. Update for - m_output_format becoming m_output_sinks. - (diagnostic_context::color_init): Update the reference printer, - then update the printers for any output sinks that follow it. - (diagnostic_context::urls_init): Likewise. - (diagnostic_context::finish): Update comment. Update for - m_output_format becoming m_output_sinks. Update for m_printer - becoming m_reference_printer and use "delete" on it rather than - XDELETE. - (diagnostic_context::dump): Update for m_printer becoming - reference printer, and for multiple output sinks. - (diagnostic_context::set_output_format): Reimplement for - supporting multiple output sinks. - (diagnostic_context::get_output_format): Likewise. - (diagnostic_context::add_sink): New. - (diagnostic_context::supports_fnotice_on_stderr_p): New. - (diagnostic_context::set_pretty_printer): New. - (diagnostic_context::refresh_output_sinks): New. - (diagnostic_context::set_format_decoder): New. - (diagnostic_context::set_show_highlight_colors): New. - (diagnostic_context::set_prefixing_rule): New. - (diagnostic_context::report_diagnostic): Update to support - multiple output sinks. - (diagnostic_context::report_verbatim): New. - (diagnostic_context::emit_diagram): Update to support multiple - output sinks. - (diagnostic_context::error_recursion): Update to use - m_reference_printer. - (fancy_abort): Likewise. - (diagnostic_context::end_group): Update to support multiple - output sinks. - (diagnostic_output_format::dump): Implement. - (diagnostic_output_format::on_report_verbatim): Likewise. - (diagnostic_output_format_init): Drop - DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE_2_2_PRERELEASE. - (diagnostic_context::set_diagnostic_buffer): Reimplement to - support multiple output sinks. - (diagnostic_context::clear_diagnostic_buffer): Likewise. - (diagnostic_context::flush_diagnostic_buffer): Likewise. - (diagnostic_buffer::diagnostic_buffer): Initialize - m_per_format_buffers. - (diagnostic_buffer::~diagnostic_buffer): New dtor. - (diagnostic_buffer::dump): Reimplement to support multiple output - sinks. - (diagnostic_buffer::empty_p): Likewise. - (diagnostic_buffer::move_to): Likewise. - (diagnostic_buffer::ensure_per_format_buffer): Likewise, renaming - to... - (diagnostic_buffer::ensure_per_format_buffers): ...this. - * diagnostic.h - (DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE_2_2_PRERELEASE): Delete. - (class diagnostic_context): Add friend class diagnostic_buffer. - (diagnostic_context::set_pretty_printer): New decl. - (diagnostic_context::refresh_output_sinks): New decl. - (diagnostic_context::report_verbatim): New decl. - (diagnostic_context::get_output_format): Drop. - (diagnostic_context::set_show_highlight_colors): Drop body. - (diagnostic_context::set_format_decoder): New decl. - (diagnostic_context::set_prefixing_rule): New decl. - (diagnostic_context::clone_printer): Reimplement. - (diagnostic_context::get_reference_printer): New accessor. - (diagnostic_context::add_sink): New decl. - (diagnostic_context::supports_fnotice_on_stderr_p): New decl. - (diagnostic_context::m_printer): Replace with... - (diagnostic_context::m_reference_printer): ...this, and make - private. - (diagnostic_context::m_output_format): Replace with... - (diagnostic_context::m_output_sinks): ...this. - (diagnostic_format_decoder): Delete. - (diagnostic_prefixing_rule): Delete. - (diagnostic_ready_p): Delete. - * doc/invoke.texi: Document -fdiagnostics-add-output= and - -fdiagnostics-set-output=. - * gcc.cc: Include "opts-diagnostic.h". - (driver_handle_option): Handle cases OPT_fdiagnostics_add_output_ - and OPT_fdiagnostics_set_output_. - * opts-diagnostic.cc: New file. - * opts-diagnostic.h (handle_OPT_fdiagnostics_add_output_): New decl. - (handle_OPT_fdiagnostics_set_output_): New decl. - * opts-global.cc (init_options_once): Update for global_dc's - m_printer becoming reference printer. Call - global_dc->refresh_output_sinks. - * opts.cc (common_handle_option): Replace use of - diagnostic_prefixing_rule with dc->set_prefixing_rule. Handle - cases OPT_fdiagnostics_add_output_ and - OPT_fdiagnostics_set_output_. Update for m_printer becoming - reference printer. - * selftest-diagnostic.cc - (selftest::test_diagnostic_context::test_diagnostic_context): - Update for m_printer becoming reference printer. - (test_diagnostic_context::test_show_locus): Likewise. - * selftest-run-tests.cc (selftest::run_tests): Call - selftest::opts_diagnostic_cc_tests. - * selftest.h (selftest::opts_diagnostic_cc_tests): New decl. - * simple-diagnostic-path.cc - (selftest::simple_diagnostic_path_cc_tests): Use reference - printer. - * toplev.cc (announce_function): Update for global_dc's m_printer - becoming reference printer. - (toplev::main): Likewise. - * tree-diagnostic.cc (tree_diagnostics_defaults): Replace use of - diagnostic_format_decoder with context->set_format_decoder. - * tree-diagnostic.h - (tree_dump_pretty_printer::tree_dump_pretty_printer): Update for - global_dc's m_printer becoming reference printer. - * tree.cc (escaped_string::escape): Likewise. - (selftest::test_escaped_strings): Likewise. - -2024-10-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/117346 - * config/aarch64/aarch64.cc (aarch64_gen_ccmp_first): Call - canonicalize_comparison before figuring out the cmp_mode/cc_mode. - (aarch64_gen_ccmp_next): Likewise. - -2024-10-29 Andi Kleen <ak@gcc.gnu.org> - - PR middle-end/117091 - * tree-switch-conversion.cc (bit_test_cluster::find_bit_tests): - Change clustering algorithm to simple greedy. - -2024-10-29 Andi Kleen <ak@gcc.gnu.org> - - PR middle-end/117091 - * gimple-if-to-switch.cc (if_chain::is_beneficial): Update - find_bit_test call. - * tree-switch-conversion.cc (bit_test_cluster::find_bit_tests): - Get max_c argument and bail out early if all case labels are - unique. - (switch_decision_tree::compute_cases_per_edge): Record number of - targets per label and return. - (switch_decision_tree::analyze_switch_statement): ... pass to - find_bit_tests. - * tree-switch-conversion.h: Update prototypes. - -2024-10-29 Andi Kleen <ak@gcc.gnu.org> - - * common.opt: Enable -fbit-tests and -fjump-tables only at -O1. - * opts.cc (default_options_table): Dito. - -2024-10-29 Eric Botcazou <ebotcazou@adacore.com> - - PR rtl-optimization/117327 - * reorg.cc (find_end_label): Do not return a dangling label at the - end of the function and adjust commentary. - -2024-10-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/117349 - * config/aarch64/aarch64.cc (aarch64_rtx_costs): Remove - unnecessary casts to rtx_code. - (aarch64_gen_ccmp_first): Likewise. - (aarch64_gen_ccmp_next): Likewise. - -2024-10-29 Tsung Chun Lin <tclin914@gmail.com> - - * common/config/riscv/riscv-common.cc: M implies Zmmul. - -2024-10-29 yulong <shiyulong@iscas.ac.cn> - - * config.gcc: Add riscv_cmo.h. - * config/riscv/riscv_cmo.h: New file. - -2024-10-29 Pan Li <pan2.li@intel.com> - Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/autovec.md (mask_len_strided_load_<mode>): Add - new pattern for MASK_LEN_STRIDED_LOAD. - (mask_len_strided_store_<mode>): Ditto but for store. - * config/riscv/riscv-protos.h (expand_strided_load): Add new - func decl to expand strided load. - (expand_strided_store): Ditto but for store. - * config/riscv/riscv-v.cc (expand_strided_load): Add new - func impl to expand strided load. - (expand_strided_store): Ditto but for store. - -2024-10-29 Pan Li <pan2.li@intel.com> - Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * tree-vect-stmts.cc (vect_get_strided_load_store_ops): Handle - MASK_LEN_STRIDED_LOAD{STORE} after supported check. - (vectorizable_store): Generate MASK_LEN_STRIDED_LOAD when the offset - of gater is not vector type. - (vectorizable_load): Ditto but for store. - -2024-10-29 Pan Li <pan2.li@intel.com> - Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * internal-fn.cc (strided_load_direct): Add new define direct - for strided load. - (strided_store_direct): Ditto but for store. - (expand_strided_load_optab_fn): Add new func to expand the IFN - MASK_LEN_STRIDED_LOAD in middle-end. - (expand_strided_store_optab_fn): Ditto but for store. - (direct_strided_load_optab_supported_p): Add define for stride - load optab supported. - (direct_strided_store_optab_supported_p): Ditto but for store. - (internal_fn_len_index): Add strided load/store len index. - (internal_fn_mask_index): Ditto but for mask. - (internal_fn_stored_value_index): Add strided store value index. - * internal-fn.def (MASK_LEN_STRIDED_LOAD): Add new IFN for - strided load. - (MASK_LEN_STRIDED_STORE): Ditto but for store. - * optabs.def (mask_len_strided_load_optab): Add strided load optab. - (mask_len_strided_store_optab): Add strided store optab. - -2024-10-29 Richard Biener <rguenther@suse.de> - - * tree-vect-patterns.cc (type_conversion_p): Remove. - (vect_recog_mixed_size_cond_pattern): Likewise. - (vect_vect_recog_func_ptrs): Remove vect_recog_mixed_size_cond_pattern - entry. - -2024-10-29 Richard Biener <rguenther@suse.de> - - * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): - Remove COMPARISON_CLASS_P rhs1 of COND_EXPR case and assert - it doesn't happen. - -2024-10-29 David Malcolm <dmalcolm@redhat.com> - - PR jit/117275 - * varasm.cc (process_pending_assemble_externals): Reset - pending_assemble_externals_set to nullptr after deleting it. - (varasm_cc_finalize): Delete pending_assemble_externals_set. - -2024-10-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117343 - * tree-vect-slp.cc (vect_optimize_slp_pass::build_vertices): - Support re-building the SLP graph. - (vect_optimize_slp_pass::run): Re-build the SLP graph before - decide_masked_load_lanes. - -2024-10-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117333 - * tree-data-ref.cc (dr_may_alias_p): Guard against NULL - access size. - -2024-10-29 Alfie Richards <Alfie.Richards@arm.com> - Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/arm-mve-builtins-base.cc (vld1q_impl): Add support - for predicated version. - (vst1q_impl): Likewise. - (vstrq_impl): New class. - (vldrq_impl): New class. - (vldrbq): New. - (vldrhq): New. - (vldrwq): New. - (vstrbq): New. - (vstrhq): New. - (vstrwq): New. - * config/arm/arm-mve-builtins-base.def (vld1q): Add predicated - version. - (vldrbq): New. - (vldrhq): New. - (vldrwq): New. - (vst1q): Add predicated version. - (vstrbq): New. - (vstrhq): New. - (vstrwq): New. - (vrev32q): Update types to float_16. - * config/arm/arm-mve-builtins-base.h (vldrbq): New. - (vldrhq): New. - (vldrwq): New. - (vstrbq): New. - (vstrhq): New. - (vstrwq): New. - * config/arm/arm-mve-builtins-functions.h (memory_vector_mode): - Remove conversion of floating point vectors to integer. - * config/arm/arm-mve-builtins.cc (TYPES_float16): Change to... - (TYPES_float_16): ...this. - (TYPES_float_32): New. - (float16): Change to... - (float_16): ...this. - (float_32): New. - (preds_z_or_none): New. - (function_resolver::check_gp_argument): Add support for _z - predicate. - * config/arm/arm_mve.h (vstrbq): Remove. - (vstrbq_p): Likewise. - (vstrhq): Likewise. - (vstrhq_p): Likewise. - (vstrwq): Likewise. - (vstrwq_p): Likewise. - (vst1q_p): Likewise. - (vld1q_z): Likewise. - (vldrbq_s8): Likewise. - (vldrbq_u8): Likewise. - (vldrbq_s16): Likewise. - (vldrbq_u16): Likewise. - (vldrbq_s32): Likewise. - (vldrbq_u32): Likewise. - (vstrbq_s8): Likewise. - (vstrbq_s32): Likewise. - (vstrbq_s16): Likewise. - (vstrbq_u8): Likewise. - (vstrbq_u32): Likewise. - (vstrbq_u16): Likewise. - (vstrbq_p_s8): Likewise. - (vstrbq_p_s32): Likewise. - (vstrbq_p_s16): Likewise. - (vstrbq_p_u8): Likewise. - (vstrbq_p_u32): Likewise. - (vstrbq_p_u16): Likewise. - (vldrbq_z_s16): Likewise. - (vldrbq_z_u8): Likewise. - (vldrbq_z_s8): Likewise. - (vldrbq_z_s32): Likewise. - (vldrbq_z_u16): Likewise. - (vldrbq_z_u32): Likewise. - (vldrhq_s32): Likewise. - (vldrhq_s16): Likewise. - (vldrhq_u32): Likewise. - (vldrhq_u16): Likewise. - (vldrhq_z_s32): Likewise. - (vldrhq_z_s16): Likewise. - (vldrhq_z_u32): Likewise. - (vldrhq_z_u16): Likewise. - (vldrwq_s32): Likewise. - (vldrwq_u32): Likewise. - (vldrwq_z_s32): Likewise. - (vldrwq_z_u32): Likewise. - (vldrhq_f16): Likewise. - (vldrhq_z_f16): Likewise. - (vldrwq_f32): Likewise. - (vldrwq_z_f32): Likewise. - (vstrhq_f16): Likewise. - (vstrhq_s32): Likewise. - (vstrhq_s16): Likewise. - (vstrhq_u32): Likewise. - (vstrhq_u16): Likewise. - (vstrhq_p_f16): Likewise. - (vstrhq_p_s32): Likewise. - (vstrhq_p_s16): Likewise. - (vstrhq_p_u32): Likewise. - (vstrhq_p_u16): Likewise. - (vstrwq_f32): Likewise. - (vstrwq_s32): Likewise. - (vstrwq_u32): Likewise. - (vstrwq_p_f32): Likewise. - (vstrwq_p_s32): Likewise. - (vstrwq_p_u32): Likewise. - (vst1q_p_u8): Likewise. - (vst1q_p_s8): Likewise. - (vld1q_z_u8): Likewise. - (vld1q_z_s8): Likewise. - (vst1q_p_u16): Likewise. - (vst1q_p_s16): Likewise. - (vld1q_z_u16): Likewise. - (vld1q_z_s16): Likewise. - (vst1q_p_u32): Likewise. - (vst1q_p_s32): Likewise. - (vld1q_z_u32): Likewise. - (vld1q_z_s32): Likewise. - (vld1q_z_f16): Likewise. - (vst1q_p_f16): Likewise. - (vld1q_z_f32): Likewise. - (vst1q_p_f32): Likewise. - (__arm_vstrbq_s8): Likewise. - (__arm_vstrbq_s32): Likewise. - (__arm_vstrbq_s16): Likewise. - (__arm_vstrbq_u8): Likewise. - (__arm_vstrbq_u32): Likewise. - (__arm_vstrbq_u16): Likewise. - (__arm_vldrbq_s8): Likewise. - (__arm_vldrbq_u8): Likewise. - (__arm_vldrbq_s16): Likewise. - (__arm_vldrbq_u16): Likewise. - (__arm_vldrbq_s32): Likewise. - (__arm_vldrbq_u32): Likewise. - (__arm_vstrbq_p_s8): Likewise. - (__arm_vstrbq_p_s32): Likewise. - (__arm_vstrbq_p_s16): Likewise. - (__arm_vstrbq_p_u8): Likewise. - (__arm_vstrbq_p_u32): Likewise. - (__arm_vstrbq_p_u16): Likewise. - (__arm_vldrbq_z_s8): Likewise. - (__arm_vldrbq_z_s32): Likewise. - (__arm_vldrbq_z_s16): Likewise. - (__arm_vldrbq_z_u8): Likewise. - (__arm_vldrbq_z_u32): Likewise. - (__arm_vldrbq_z_u16): Likewise. - (__arm_vldrhq_s32): Likewise. - (__arm_vldrhq_s16): Likewise. - (__arm_vldrhq_u32): Likewise. - (__arm_vldrhq_u16): Likewise. - (__arm_vldrhq_z_s32): Likewise. - (__arm_vldrhq_z_s16): Likewise. - (__arm_vldrhq_z_u32): Likewise. - (__arm_vldrhq_z_u16): Likewise. - (__arm_vldrwq_s32): Likewise. - (__arm_vldrwq_u32): Likewise. - (__arm_vldrwq_z_s32): Likewise. - (__arm_vldrwq_z_u32): Likewise. - (__arm_vstrhq_s32): Likewise. - (__arm_vstrhq_s16): Likewise. - (__arm_vstrhq_u32): Likewise. - (__arm_vstrhq_u16): Likewise. - (__arm_vstrhq_p_s32): Likewise. - (__arm_vstrhq_p_s16): Likewise. - (__arm_vstrhq_p_u32): Likewise. - (__arm_vstrhq_p_u16): Likewise. - (__arm_vstrwq_s32): Likewise. - (__arm_vstrwq_u32): Likewise. - (__arm_vstrwq_p_s32): Likewise. - (__arm_vstrwq_p_u32): Likewise. - (__arm_vst1q_p_u8): Likewise. - (__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_vldrwq_f32): Likewise. - (__arm_vldrwq_z_f32): Likewise. - (__arm_vldrhq_z_f16): Likewise. - (__arm_vldrhq_f16): Likewise. - (__arm_vstrwq_p_f32): Likewise. - (__arm_vstrwq_f32): Likewise. - (__arm_vstrhq_f16): Likewise. - (__arm_vstrhq_p_f16): Likewise. - (__arm_vld1q_z_f16): Likewise. - (__arm_vst1q_p_f16): Likewise. - (__arm_vld1q_z_f32): Likewise. - (__arm_vst2q_f32): Likewise. - (__arm_vst1q_p_f32): Likewise. - (__arm_vstrbq): Likewise. - (__arm_vstrbq_p): Likewise. - (__arm_vstrhq): Likewise. - (__arm_vstrhq_p): Likewise. - (__arm_vstrwq): Likewise. - (__arm_vstrwq_p): Likewise. - (__arm_vst1q_p): Likewise. - (__arm_vld1q_z): Likewise. - * config/arm/arm_mve_builtins.def: - (vstrbq_s): Delete. - (vstrbq_u): Likewise. - (vldrbq_s): Likewise. - (vldrbq_u): Likewise. - (vstrbq_p_s): Likewise. - (vstrbq_p_u): Likewise. - (vldrbq_z_s): Likewise. - (vldrbq_z_u): Likewise. - (vld1q_u): Likewise. - (vld1q_s): Likewise. - (vldrhq_z_u): Likewise. - (vldrhq_u): Likewise. - (vldrhq_z_s): Likewise. - (vldrhq_s): Likewise. - (vld1q_f): Likewise. - (vldrhq_f): Likewise. - (vldrhq_z_f): Likewise. - (vldrwq_f): Likewise. - (vldrwq_s): Likewise. - (vldrwq_u): Likewise. - (vldrwq_z_f): Likewise. - (vldrwq_z_s): Likewise. - (vldrwq_z_u): Likewise. - (vst1q_u): Likewise. - (vst1q_s): Likewise. - (vstrhq_p_u): Likewise. - (vstrhq_u): Likewise. - (vstrhq_p_s): Likewise. - (vstrhq_s): Likewise. - (vst1q_f): Likewise. - (vstrhq_f): Likewise. - (vstrhq_p_f): Likewise. - (vstrwq_f): Likewise. - (vstrwq_s): Likewise. - (vstrwq_u): Likewise. - (vstrwq_p_f): Likewise. - (vstrwq_p_s): Likewise. - (vstrwq_p_u): Likewise. - * config/arm/iterators.md (MVE_w_narrow_TYPE): New iterator. - (MVE_w_narrow_type): New iterator. - (MVE_wide_n_TYPE): New attribute. - (MVE_wide_n_type): New attribute. - (MVE_wide_n_sz_elem): New attribute. - (MVE_wide_n_VPRED): New attribute. - (MVE_elem_ch): New attribute. - (supf): Remove VSTRBQ_S, VSTRBQ_U, VLDRBQ_S, VLDRBQ_U, VLD1Q_S, - VLD1Q_U, VLDRHQ_S, VLDRHQ_U, VLDRWQ_S, VLDRWQ_U, VST1Q_S, VST1Q_U, - VSTRHQ_S, VSTRHQ_U, VSTRWQ_S, VSTRWQ_U. - (VSTRBQ, VLDRBQ, VLD1Q, VLDRHQ, VLDRWQ, VST1Q, VSTRHQ, VSTRWQ): - Delete. - * config/arm/mve.md (mve_vstrbq_<supf><mode>): Remove. - (mve_vldrbq_<supf><mode>): Likewise. - (mve_vstrbq_p_<supf><mode>): Likewise. - (mve_vldrbq_z_<supf><mode>): Likewise. - (mve_vldrhq_fv8hf): Likewise. - (mve_vldrhq_<supf><mode>): Likewise. - (mve_vldrhq_z_fv8hf): Likewise. - (mve_vldrhq_z_<supf><mode>): Likewise. - (mve_vldrwq_fv4sf): Likewise. - (mve_vldrwq_<supf>v4si): Likewise. - (mve_vldrwq_z_fv4sf): Likewise. - (mve_vldrwq_z_<supf>v4si): Likewise. - (@mve_vld1q_f<mode>): Likewise. - (@mve_vld1q_<supf><mode>): Likewise. - (mve_vstrhq_fv8hf): Likewise. - (mve_vstrhq_p_fv8hf): Likewise. - (mve_vstrhq_p_<supf><mode>): Likewise. - (mve_vstrhq_<supf><mode>): Likewise. - (mve_vstrwq_fv4sf): Likewise. - (mve_vstrwq_p_fv4sf): Likewise. - (mve_vstrwq_p_<supf>v4si): Likewise. - (mve_vstrwq_<supf>v4si): Likewise. - (@mve_vst1q_f<mode>): Likewise. - (@mve_vst1q_<supf><mode>): Likewise. - (@mve_vstrq_<mode>): New. - (@mve_vstrq_p_<mode>): New. - (@mve_vstrq_truncate_<mode>): New. - (@mve_vstrq_p_truncate_<mode>): New. - (@mve_vldrq_<mode>): New. - (@mve_vldrq_z_<mode>): New. - (@mve_vldrq_extend_<mode><US>): New. - (@mve_vldrq_z_extend_<mode><US>): New. - * config/arm/unspecs.md: - (VSTRBQ_S): Remove. - (VSTRBQ_U): Likewise. - (VLDRBQ_S): Likewise. - (VLDRBQ_U): Likewise. - (VLD1Q_F): Likewise. - (VLD1Q_S): Likewise. - (VLD1Q_U): Likewise. - (VLDRHQ_F): Likewise. - (VLDRHQ_U): Likewise. - (VLDRHQ_S): Likewise. - (VLDRWQ_F): Likewise. - (VLDRWQ_S): Likewise. - (VLDRWQ_U): Likewise. - (VSTRHQ_F): Likewise. - (VST1Q_S): Likewise. - (VST1Q_U): Likewise. - (VSTRHQ_U): Likewise. - (VSTRWQ_S): Likewise. - (VSTRWQ_U): Likewise. - (VSTRWQ_F): Likewise. - (VST1Q_F): Likewise. - (VLDRQ): New. - (VLDRQ_Z): Likewise. - (VLDRQ_EXT): Likewise. - (VLDRQ_EXT_Z): Likewise. - (VSTRQ): Likewise. - (VSTRQ_P): Likewise. - (VSTRQ_TRUNC): Likewise. - (VSTRQ_TRUNC_P): Likewise. - -2024-10-29 Alfie Richards <Alfie.Richards@arm.com> - Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/arm-mve-builtins.cc - (function_expander::use_contiguous_load_insn): Add support for - PRED_z. - (function_expander::use_contiguous_store_insn): Add support for - PRED_p. - -2024-10-29 Alfie Richards <Alfie.Richards@arm.com> - - * config/arm/arm-mve-builtins-functions.h - (load_extending): New class. - (store_truncating): New class. - * config/arm/arm-protos.h (arm_mve_data_mode): New helper function. - * config/arm/arm.cc (arm_mve_data_mode): New helper function. - -2024-10-29 Alfie Richards <Alfie.Richards@arm.com> - - * config/arm/arm-mve-builtins-shapes.cc: - (load_ext): New. - * config/arm/arm-mve-builtins-shapes.h: - (load_ext): New. - -2024-10-29 Jakub Jelinek <jakub@redhat.com> - - PR c/117030 - * doc/extend.texi (__builtin_stdc_rotate_left, - __builtin_stdc_rotate_right): Document. - -2024-10-28 Sam James <sam@gentoo.org> - - * opts-common.cc (prune_options): Fix typo. - -2024-10-28 Andrew MacLeod <amacleod@redhat.com> - - * range-op-ptr.cc (operator_bitwise_or::fold_range): Fix logic - for setting nonzero. - -2024-10-28 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/arm_neon.h (vxarq_u64): Rename imm6 to __imm6. - -2024-10-28 Jason Merrill <jason@redhat.com> - - * doc/install.texi (Prerequisites): Update to C++14. - -2024-10-28 Jeff Law <jlaw@ventanamicro.com> - - PR target/117316 - * config/riscv/riscv.cc (riscv_tune_param): Drop initializer. - (*_tune_info): Add initializers for code alignments. - -2024-10-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117307 - * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): - Properly compute STMT_VINFO_SLP_VECT_ONLY. Set it on all - parts of a split group. - -2024-10-28 Tobias Burnus <tburnus@baylibre.com> - - * tree-core.h (enum omp_clause_code): Add comments to cross ref to - OMP_CLAUSE_DECL etc. and mark the ranges used in the range checks. - -2024-10-28 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/111285 - * tree-vect-generic.cc (do_unop): Use a signed type for the - operand if the operation was ABSU_EXPR. - -2024-10-28 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (match_simplify_replacement): Move - check for maybe_undef_p earlier. - -2024-10-28 Richard Biener <rguenther@suse.de> - - * tree-vect-patterns.cc (check_bool_pattern): For comparisons - we do nothing if we can expand them or we can't replace them - with a ? -1 : 0 condition - but the latter would require - expanding the comparison which we proved we can't. So do - nothing, aka not think vec_cond{u,eq,} will save us. - -2024-10-28 xuli <xuli1@eswincomputing.com> - - PR target/117286 - * config/riscv/riscv-vector-builtins-bases.cc: Do not expand NULL return. - -2024-10-27 Fangrui Song <maskray@gcc.gnu.org> - - * config/arm/bpabi.h (TARGET_FDPIC_ASM_SPEC): Transform -mfdpic. - * config/arm/linux-eabi.h (TARGET_FDPIC_LINKER_EMULATION): Define. - (SUBTARGET_EXTRA_LINK_SPEC): Use TARGET_FDPIC_LINKER_EMULATION - if -mfdpic. - -2024-10-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (TARGET_DIFFERENT_ADDR_DISPLACEMENT_P): - Add new target hook to always return true. - * config/xtensa/xtensa.md (movsi_internal): - Revert the previous changes. - -2024-10-27 Jakub Jelinek <jakub@redhat.com> - - * configure.ac (gcc_AC_CHECK_DECLS): Add fmemopen. - * configure: Regenerate. - * config.in: Regenerate. - * Makefile.in (build/genmatch.o): Add -DGENMATCH_SELFTESTS to - BUILD_CPPFLAGS for stage2+ genmatch. - * genmatch.cc (test_diag_vfprintf, genmatch_diag_selftests): New - functions. - (main): Call genmatch_diag_selftests. - * pretty-print.cc (test_pp_format): Add two tests, one for %M$.*N$s - and one for %M$.Ns. - -2024-10-27 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (Wtrailing-whitespace=): Change - blank argument to blanks and space argument to any. - -2024-10-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117234 - * tree-eh.cc (operation_could_trap_helper_p): Treat - PAREN_EXPR and VEC_DUPLICATE_EXPR like constructing - expressions. - -2024-10-26 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_get_operand_map): Mark - COMPARISON_CLASS_P COND_EXPR condition path unreachable. - * tree-vect-stmts.cc (vect_is_simple_use): Likewise. - (vectorizable_condition): Assert the COND_EXPR condition isn't - COMPARISON_CLASS_P. - -2024-10-26 Richard Biener <rguenther@suse.de> - - * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern): Create - a separate pattern stmt for the comparison in the generated - COND_EXPR. - -2024-10-26 Richard Biener <rguenther@suse.de> - - * tree-vect-patterns.cc (vect_recog_divmod_pattern): Build - separate comparion pattern for the condition of a COND_EXPR - pattern. - -2024-10-25 Andrew Pinski <quic_apinski@quicinc.com> - - PR rtl-optimization/58195 - * simplify-rtx.cc (simplify_context::simplify_ternary_operation): Handle - `a != 0 ? -a : 0` and `a == 0 ? 0 : -a`. - -2024-10-25 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): Support - 3 cores and 3 variants. If there is one core but multiple variant, - then treat the variant as being all. - -2024-10-25 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/117292 - * config/aarch64/aarch64-simd.md (xor<mode>3<vczle><vczbe>): Use - 'De' constraint. - * config/aarch64/constraints.md (De): Add new constraint. - -2024-10-25 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-builtins.cc (MODE_d_mf8): New. - (MODE_q_mf8): New. - (QUAL_mf8): New. - (VREINTERPRET_BUILTINS1): Add mf8 entry. - (VREINTERPRET_BUILTINS): Ditto. - (VREINTERPRETQ_BUILTINS1): Ditto. - (VREINTERPRETQ_BUILTINS): Ditto. - (aarch64_lookup_simd_type_in_table): Match modal_float bit - -2024-10-25 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-builtins.cc - (aarch64_init_simd_builtin_types): Initialise FP8 simd types. - * config/aarch64/aarch64-builtins.h - (enum aarch64_type_qualifiers): Add qualifier_modal_float bit. - * config/aarch64/aarch64-simd-builtin-types.def: - Add Mfloat8x{8|16}_t types. - * config/aarch64/arm_neon.h: Add mfloat8x{8|16}_t typedefs. - -2024-10-25 Jennifer Schmitz <jschmitz@nvidia.com> - - * match.pd: Fold pow (1.0/x, y) -> pow (x, -y) and - pow (0.0, x) -> 0.0. - -2024-10-25 Pan Li <pan2.li@intel.com> - - * match.pd: Remove unsigned branch form 3 for SAT_ADD, and - add simplify to branchless instead. - -2024-10-25 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117249 - * tree-ssa-structalias.cc (insert_vi_for_tree): Move put calls out of - gcc_assert. - * lto-cgraph.cc (lto_symtab_encoder_delete_node): Likewise. - * gimple-ssa-strength-reduction.cc (get_alternative_base, - add_cand_for_stmt): Likewise. - * tree-eh.cc (add_stmt_to_eh_lp_fn): Likewise. - * except.cc (duplicate_eh_regions_1): Likewise. - * tree-ssa-reassoc.cc (insert_operand_rank): Likewise. - * config/nvptx/nvptx.cc (nvptx_expand_call): Use == rather than = in - gcc_assert. - * opts-common.cc (jobserver_info::disconnect): Call close outside of - gcc_assert and only check result in it. - (jobserver_info::return_token): Call write outside of gcc_assert and - only check result in it. - * genautomata.cc (output_default_latencies): Move j++ side-effect - outside of gcc_assert. - * tree-ssa-loop-ivopts.cc (get_alias_ptr_type_for_ptr_address): Use - == rather than = in gcc_assert. - * cgraph.cc (symbol_table::create_edge): Move ++edges_max_uid - side-effect outside of gcc_assert. - -2024-10-25 Richard Biener <rguenther@suse.de> - - * optabs-tree.h (expand_vec_cond_expr_p): Default the - comparison code to ERROR_MARK. - * match.pd: Remove unneded expand_vec_cond_expr_p args. - * tree-vect-generic.cc (expand_vector_condition): Likewise. - * tree-vect-loop.cc (vect_reduction_update_partial_vector_usage): - Likewise. - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Likewise. - (scan_store_can_perm_p): Likewise. - (vectorizable_condition): Likewise. - -2024-10-25 Richard Biener <rguenther@suse.de> - - * genmatch.cc (commutative_op): Add paramter to indicate whether - all compares should be considered commutative. Handle - hypot, add_overflow and mul_overflow. - (parser::parse_expr): Simplify 'c' handling by using - commutative_op and error out when the operation is not. - * match.pd ((minmax:c @0 NaN@1) -> @0): Use :C, we know - what we are doing. - -2024-10-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117277 - * tree-vect-loop.cc (vect_transform_loop): Remove CLOBBERs - and prefetches before doing any code generation. - -2024-10-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116575 - * tree-vect-slp.cc (vect_get_and_check_slp_defs): Handle - gaps, aka NULL scalar stmt. - (vect_build_slp_tree_2): Allow gaps in the middle of a - grouped mask load. When the mask of a grouped mask load - is uniform do single-lane discovery for the mask and - insert a splat VEC_PERM_EXPR node. - (vect_optimize_slp_pass::decide_masked_load_lanes): New - function. - (vect_optimize_slp_pass::run): Call it. - -2024-10-25 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (vect_check_scalar_mask): Only check - the scalar type for constant or extern defs. - -2024-10-25 Jakub Jelinek <jakub@redhat.com> - - * lra-assigns.cc: Remove trailing whitespace. - * symtab.cc: Likewise. - * stmt.cc: Likewise. - * cgraphbuild.cc: Likewise. - * cfgcleanup.cc: Likewise. - * loop-init.cc: Likewise. - * df-problems.cc: Likewise. - * diagnostic-macro-unwinding.cc: Likewise. - * langhooks.h: Likewise. - * except.cc: Likewise. - * tree-vect-loop.cc: Likewise. - * coverage.cc: Likewise. - * hash-table.cc: Likewise. - * ggc-page.cc: Likewise. - * gimple-ssa-strength-reduction.cc: Likewise. - * tree-parloops.cc: Likewise. - * internal-fn.cc: Likewise. - * ipa-split.cc: Likewise. - * calls.cc: Likewise. - * reorg.cc: Likewise. - * sbitmap.h: Likewise. - * omp-offload.cc: Likewise. - * cfgrtl.cc: Likewise. - * reginfo.cc: Likewise. - * gengtype.h: Likewise. - * omp-general.h: Likewise. - * ipa-comdats.cc: Likewise. - * gimple-range-edge.h: Likewise. - * tree-ssa-structalias.cc: Likewise. - * target.def: Likewise. - * basic-block.h: Likewise. - * graphite-isl-ast-to-gimple.cc: Likewise. - * auto-profile.cc: Likewise. - * optabs.cc: Likewise. - * gengtype-lex.l: Likewise. - * optabs.def: Likewise. - * ira-build.cc: Likewise. - * ira.cc: Likewise. - * function.h: Likewise. - * tree-ssa-propagate.cc: Likewise. - * gcov-io.cc: Likewise. - * builtin-types.def: Likewise. - * ddg.cc: Likewise. - * lra-spills.cc: Likewise. - * cfg.cc: Likewise. - * bitmap.cc: Likewise. - * gimple-range-gori.h: Likewise. - * tree-ssa-loop-im.cc: Likewise. - * cfghooks.h: Likewise. - * genmatch.cc: Likewise. - * explow.cc: Likewise. - * lto-streamer-in.cc: Likewise. - * graphite-scop-detection.cc: Likewise. - * ipa-prop.cc: Likewise. - * gcc.cc: Likewise. - * vec.h: Likewise. - * cfgexpand.cc: Likewise. - * config/alpha/vms.h: Likewise. - * config/alpha/alpha.cc: Likewise. - * config/alpha/driver-alpha.cc: Likewise. - * config/alpha/elf.h: Likewise. - * config/iq2000/iq2000.h: Likewise. - * config/iq2000/iq2000.cc: Likewise. - * config/pa/pa-64.h: Likewise. - * config/pa/som.h: Likewise. - * config/pa/pa.cc: Likewise. - * config/pa/pa.h: Likewise. - * config/pa/pa32-regs.h: Likewise. - * config/c6x/c6x.cc: Likewise. - * config/openbsd-stdint.h: Likewise. - * config/elfos.h: Likewise. - * config/lm32/lm32.cc: Likewise. - * config/lm32/lm32.h: Likewise. - * config/lm32/lm32-protos.h: Likewise. - * config/darwin-c.cc: Likewise. - * config/rx/rx.cc: Likewise. - * config/host-darwin.h: Likewise. - * config/netbsd.h: Likewise. - * config/ia64/ia64.cc: Likewise. - * config/ia64/freebsd.h: Likewise. - * config/avr/avr-c.cc: Likewise. - * config/avr/avr.cc: Likewise. - * config/avr/avr-arch.h: Likewise. - * config/avr/avr.h: Likewise. - * config/avr/stdfix.h: Likewise. - * config/avr/gen-avr-mmcu-specs.cc: Likewise. - * config/avr/avr-log.cc: Likewise. - * config/avr/elf.h: Likewise. - * config/avr/gen-avr-mmcu-texi.cc: Likewise. - * config/avr/avr-devices.cc: Likewise. - * config/nvptx/nvptx.cc: Likewise. - * config/vx-common.h: Likewise. - * config/sol2.cc: Likewise. - * config/rl78/rl78.cc: Likewise. - * config/cris/cris.cc: Likewise. - * config/arm/symbian.h: Likewise. - * config/arm/unknown-elf.h: Likewise. - * config/arm/linux-eabi.h: Likewise. - * config/arm/arm.cc: Likewise. - * config/arm/arm-mve-builtins.h: Likewise. - * config/arm/bpabi.h: Likewise. - * config/arm/vxworks.h: Likewise. - * config/arm/arm.h: Likewise. - * config/arm/aout.h: Likewise. - * config/arm/elf.h: Likewise. - * config/host-linux.cc: Likewise. - * config/sh/sh_treg_combine.cc: Likewise. - * config/sh/vxworks.h: Likewise. - * config/sh/elf.h: Likewise. - * config/sh/netbsd-elf.h: Likewise. - * config/sh/sh.cc: Likewise. - * config/sh/embed-elf.h: Likewise. - * config/sh/sh.h: Likewise. - * config/darwin-driver.cc: Likewise. - * config/m32c/m32c.cc: Likewise. - * config/frv/frv.cc: Likewise. - * config/openbsd.h: Likewise. - * config/aarch64/aarch64-protos.h: Likewise. - * config/aarch64/aarch64-builtins.cc: Likewise. - * config/aarch64/aarch64-cost-tables.h: Likewise. - * config/aarch64/aarch64.cc: Likewise. - * config/bfin/bfin.cc: Likewise. - * config/bfin/bfin.h: Likewise. - * config/bfin/bfin-protos.h: Likewise. - * config/i386/gmm_malloc.h: Likewise. - * config/i386/djgpp.h: Likewise. - * config/i386/sol2.h: Likewise. - * config/i386/stringop.def: Likewise. - * config/i386/i386-features.cc: Likewise. - * config/i386/openbsdelf.h: Likewise. - * config/i386/cpuid.h: Likewise. - * config/i386/i386.h: Likewise. - * config/i386/smmintrin.h: Likewise. - * config/i386/avx10_2-512convertintrin.h: Likewise. - * config/i386/i386-options.cc: Likewise. - * config/i386/i386-opts.h: Likewise. - * config/i386/i386-expand.cc: Likewise. - * config/i386/avx512dqintrin.h: Likewise. - * config/i386/wmmintrin.h: Likewise. - * config/i386/gnu-user.h: Likewise. - * config/i386/host-mingw32.cc: Likewise. - * config/i386/avx10_2bf16intrin.h: Likewise. - * config/i386/cygwin.h: Likewise. - * config/i386/driver-i386.cc: Likewise. - * config/i386/biarch64.h: Likewise. - * config/i386/host-cygwin.cc: Likewise. - * config/i386/cygming.h: Likewise. - * config/i386/i386-builtins.cc: Likewise. - * config/i386/avx10_2convertintrin.h: Likewise. - * config/i386/i386.cc: Likewise. - * config/i386/gas.h: Likewise. - * config/i386/freebsd.h: Likewise. - * config/mingw/winnt-cxx.cc: Likewise. - * config/mingw/winnt.cc: Likewise. - * config/h8300/h8300.cc: Likewise. - * config/host-solaris.cc: Likewise. - * config/m32r/m32r.h: Likewise. - * config/m32r/m32r.cc: Likewise. - * config/darwin.h: Likewise. - * config/sparc/linux64.h: Likewise. - * config/sparc/sparc-protos.h: Likewise. - * config/sparc/sysv4.h: Likewise. - * config/sparc/sparc.h: Likewise. - * config/sparc/linux.h: Likewise. - * config/sparc/freebsd.h: Likewise. - * config/sparc/sparc.cc: Likewise. - * config/gcn/gcn-run.cc: Likewise. - * config/gcn/gcn.cc: Likewise. - * config/gcn/gcn-tree.cc: Likewise. - * config/kopensolaris-gnu.h: Likewise. - * config/nios2/nios2.h: Likewise. - * config/nios2/elf.h: Likewise. - * config/nios2/nios2.cc: Likewise. - * config/host-netbsd.cc: Likewise. - * config/rtems.h: Likewise. - * config/pdp11/pdp11.cc: Likewise. - * config/pdp11/pdp11.h: Likewise. - * config/mn10300/mn10300.cc: Likewise. - * config/mn10300/linux.h: Likewise. - * config/moxie/moxie.h: Likewise. - * config/moxie/moxie.cc: Likewise. - * config/rs6000/aix71.h: Likewise. - * config/rs6000/vec_types.h: Likewise. - * config/rs6000/xcoff.h: Likewise. - * config/rs6000/rs6000.cc: Likewise. - * config/rs6000/rs6000-internal.h: Likewise. - * config/rs6000/rs6000-p8swap.cc: Likewise. - * config/rs6000/rs6000-c.cc: Likewise. - * config/rs6000/aix.h: Likewise. - * config/rs6000/rs6000-logue.cc: Likewise. - * config/rs6000/rs6000-string.cc: Likewise. - * config/rs6000/rs6000-call.cc: Likewise. - * config/rs6000/ppu_intrinsics.h: Likewise. - * config/rs6000/altivec.h: Likewise. - * config/rs6000/darwin.h: Likewise. - * config/rs6000/host-darwin.cc: Likewise. - * config/rs6000/freebsd64.h: Likewise. - * config/rs6000/spu2vmx.h: Likewise. - * config/rs6000/linux.h: Likewise. - * config/rs6000/si2vmx.h: Likewise. - * config/rs6000/driver-rs6000.cc: Likewise. - * config/rs6000/freebsd.h: Likewise. - * config/vxworksae.h: Likewise. - * config/mips/frame-header-opt.cc: Likewise. - * config/mips/mips.h: Likewise. - * config/mips/mips.cc: Likewise. - * config/mips/sde.h: Likewise. - * config/darwin-protos.h: Likewise. - * config/mcore/mcore-elf.h: Likewise. - * config/mcore/mcore.h: Likewise. - * config/mcore/mcore.cc: Likewise. - * config/epiphany/epiphany.cc: Likewise. - * config/fr30/fr30.h: Likewise. - * config/fr30/fr30.cc: Likewise. - * config/riscv/riscv-vector-builtins-shapes.cc: Likewise. - * config/riscv/riscv-vector-builtins-bases.cc: Likewise. - * config/visium/visium.h: Likewise. - * config/mmix/mmix.cc: Likewise. - * config/v850/v850.cc: Likewise. - * config/v850/v850-c.cc: Likewise. - * config/v850/v850.h: Likewise. - * config/stormy16/stormy16.cc: Likewise. - * config/stormy16/stormy16-protos.h: Likewise. - * config/stormy16/stormy16.h: Likewise. - * config/arc/arc.cc: Likewise. - * config/vxworks.cc: Likewise. - * config/microblaze/microblaze-c.cc: Likewise. - * config/microblaze/microblaze-protos.h: Likewise. - * config/microblaze/microblaze.h: Likewise. - * config/microblaze/microblaze.cc: Likewise. - * config/freebsd-spec.h: Likewise. - * config/m68k/m68kelf.h: Likewise. - * config/m68k/m68k.cc: Likewise. - * config/m68k/netbsd-elf.h: Likewise. - * config/m68k/linux.h: Likewise. - * config/freebsd.h: Likewise. - * config/host-openbsd.cc: Likewise. - * regcprop.cc: Likewise. - * dumpfile.cc: Likewise. - * combine.cc: Likewise. - * tree-ssa-forwprop.cc: Likewise. - * ipa-profile.cc: Likewise. - * hw-doloop.cc: Likewise. - * opts.cc: Likewise. - * gcc-ar.cc: Likewise. - * tree-cfg.cc: Likewise. - * incpath.cc: Likewise. - * tree-ssa-sccvn.cc: Likewise. - * function.cc: Likewise. - * genattrtab.cc: Likewise. - * rtl.def: Likewise. - * genchecksum.cc: Likewise. - * profile.cc: Likewise. - * df-core.cc: Likewise. - * tree-pretty-print.cc: Likewise. - * tree.h: Likewise. - * plugin.cc: Likewise. - * tree-ssa-loop-ch.cc: Likewise. - * emit-rtl.cc: Likewise. - * haifa-sched.cc: Likewise. - * gimple-range-edge.cc: Likewise. - * range-op.cc: Likewise. - * tree-ssa-ccp.cc: Likewise. - * dwarf2cfi.cc: Likewise. - * recog.cc: Likewise. - * vtable-verify.cc: Likewise. - * system.h: Likewise. - * regrename.cc: Likewise. - * tree-ssa-dom.cc: Likewise. - * loop-unroll.cc: Likewise. - * lra-constraints.cc: Likewise. - * pretty-print.cc: Likewise. - * ifcvt.cc: Likewise. - * ipa.cc: Likewise. - * alloc-pool.h: Likewise. - * collect2.cc: Likewise. - * pointer-query.cc: Likewise. - * cfgloop.cc: Likewise. - * toplev.cc: Likewise. - * sese.cc: Likewise. - * gengtype.cc: Likewise. - * gimplify-me.cc: Likewise. - * double-int.cc: Likewise. - * bb-reorder.cc: Likewise. - * dwarf2out.cc: Likewise. - * tree-ssa-loop-ivcanon.cc: Likewise. - * tree-ssa-reassoc.cc: Likewise. - * cgraph.cc: Likewise. - * sel-sched.cc: Likewise. - * attribs.cc: Likewise. - * expr.cc: Likewise. - * tree-ssa-scopedtables.h: Likewise. - * gimple-range-cache.cc: Likewise. - * ipa-pure-const.cc: Likewise. - * tree-inline.cc: Likewise. - * genhooks.cc: Likewise. - * gimple-range-phi.h: Likewise. - * shrink-wrap.cc: Likewise. - * tree.cc: Likewise. - * gimple.cc: Likewise. - * backend.h: Likewise. - * opts-common.cc: Likewise. - * cfg-flags.def: Likewise. - * gcse-common.cc: Likewise. - * tree-ssa-scopedtables.cc: Likewise. - * ccmp.cc: Likewise. - * builtins.def: Likewise. - * builtin-attrs.def: Likewise. - * postreload.cc: Likewise. - * sched-deps.cc: Likewise. - * ipa-inline-transform.cc: Likewise. - * tree-vect-generic.cc: Likewise. - * ipa-polymorphic-call.cc: Likewise. - * builtins.cc: Likewise. - * sel-sched-ir.cc: Likewise. - * trans-mem.cc: Likewise. - * ipa-visibility.cc: Likewise. - * cgraph.h: Likewise. - * tree-ssa-phiopt.cc: Likewise. - * genopinit.cc: Likewise. - * ipa-inline.cc: Likewise. - * omp-low.cc: Likewise. - * ipa-utils.cc: Likewise. - * tree-ssa-math-opts.cc: Likewise. - * tree-ssa-ifcombine.cc: Likewise. - * gimple-range.cc: Likewise. - * ipa-fnsummary.cc: Likewise. - * ira-color.cc: Likewise. - * value-prof.cc: Likewise. - * varasm.cc: Likewise. - * ipa-icf.cc: Likewise. - * ira-emit.cc: Likewise. - * lto-streamer.h: Likewise. - * lto-wrapper.cc: Likewise. - * regs.h: Likewise. - * gengtype-parse.cc: Likewise. - * alias.cc: Likewise. - * lto-streamer.cc: Likewise. - * real.h: Likewise. - * wide-int.h: Likewise. - * targhooks.cc: Likewise. - * gimple-ssa-warn-access.cc: Likewise. - * real.cc: Likewise. - * ipa-reference.cc: Likewise. - * bitmap.h: Likewise. - * ginclude/float.h: Likewise. - * ginclude/stddef.h: Likewise. - * ginclude/stdarg.h: Likewise. - * ginclude/stdatomic.h: Likewise. - * optabs.h: Likewise. - * sel-sched-ir.h: Likewise. - * convert.cc: Likewise. - * cgraphunit.cc: Likewise. - * lra-remat.cc: Likewise. - * tree-if-conv.cc: Likewise. - * gcov-dump.cc: Likewise. - * tree-predcom.cc: Likewise. - * dominance.cc: Likewise. - * gimple-range-cache.h: Likewise. - * ipa-devirt.cc: Likewise. - * rtl.h: Likewise. - * ubsan.cc: Likewise. - * tree-ssa.cc: Likewise. - * ssa.h: Likewise. - * cse.cc: Likewise. - * jump.cc: Likewise. - * hwint.h: Likewise. - * caller-save.cc: Likewise. - * coretypes.h: Likewise. - * ipa-fnsummary.h: Likewise. - * tree-ssa-strlen.cc: Likewise. - * modulo-sched.cc: Likewise. - * cgraphclones.cc: Likewise. - * lto-cgraph.cc: Likewise. - * hw-doloop.h: Likewise. - * data-streamer.h: Likewise. - * compare-elim.cc: Likewise. - * profile-count.h: Likewise. - * tree-vect-loop-manip.cc: Likewise. - * ree.cc: Likewise. - * reload.cc: Likewise. - * tree-ssa-loop-split.cc: Likewise. - * tree-into-ssa.cc: Likewise. - * gcse.cc: Likewise. - * cfgloopmanip.cc: Likewise. - * df.h: Likewise. - * fold-const.cc: Likewise. - * wide-int.cc: Likewise. - * gengtype-state.cc: Likewise. - * sanitizer.def: Likewise. - * tree-ssa-sink.cc: Likewise. - * target-hooks-macros.h: Likewise. - * tree-ssa-pre.cc: Likewise. - * gimple-pretty-print.cc: Likewise. - * ipa-utils.h: Likewise. - * tree-outof-ssa.cc: Likewise. - * tree-ssa-coalesce.cc: Likewise. - * gimple-match.h: Likewise. - * tree-ssa-loop-niter.cc: Likewise. - * tree-loop-distribution.cc: Likewise. - * tree-emutls.cc: Likewise. - * tree-eh.cc: Likewise. - * varpool.cc: Likewise. - * ssa-iterators.h: Likewise. - * asan.cc: Likewise. - * reload1.cc: Likewise. - * cfgloopanal.cc: Likewise. - * tree-vectorizer.cc: Likewise. - * simplify-rtx.cc: Likewise. - * opts-global.cc: Likewise. - * gimple-ssa-store-merging.cc: Likewise. - * expmed.cc: Likewise. - * tree-ssa-loop-prefetch.cc: Likewise. - * tree-ssa-dse.h: Likewise. - * tree-vect-stmts.cc: Likewise. - * gimple-fold.cc: Likewise. - * lra-coalesce.cc: Likewise. - * data-streamer-out.cc: Likewise. - * diagnostic.cc: Likewise. - * tree-ssa-alias.cc: Likewise. - * tree-vect-patterns.cc: Likewise. - * common/common-target.def: Likewise. - * common/config/rx/rx-common.cc: Likewise. - * common/config/msp430/msp430-common.cc: Likewise. - * common/config/avr/avr-common.cc: Likewise. - * common/config/i386/i386-common.cc: Likewise. - * common/config/pdp11/pdp11-common.cc: Likewise. - * common/config/rs6000/rs6000-common.cc: Likewise. - * common/config/mcore/mcore-common.cc: Likewise. - * graphite.cc: Likewise. - * gimple-low.cc: Likewise. - * genmodes.cc: Likewise. - * gimple-loop-jam.cc: Likewise. - * lto-streamer-out.cc: Likewise. - * predict.cc: Likewise. - * omp-expand.cc: Likewise. - * gimple-array-bounds.cc: Likewise. - * predict.def: Likewise. - * opts.h: Likewise. - * tree-stdarg.cc: Likewise. - * gimplify.cc: Likewise. - * ira-lives.cc: Likewise. - * loop-doloop.cc: Likewise. - * lra.cc: Likewise. - * gimple-iterator.h: Likewise. - * tree-sra.cc: Likewise. - -2024-10-25 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-sve2.cc - (svaba_impl::fold): Fold svaba to svabd if op1 is all zeros. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * tree.h (TYPE_WARN_IF_NOT_ALIGN_RAW): New accessor. - (TYPE_WARN_IF_NOT_ALIGN): Use it. - (SET_TYPE_WARN_IF_NOT_ALIGN): Likewise. - -2024-10-24 Georg-Johann Lay <avr@gjlay.de> - - PR target/116953 - * config/avr/avr.cc (avr_out_sbxx_branch): Revert previous fix - for PR116953 (r15-4078). Run extract_constrain_insn_cached - on the current insn after calling jump_over_one_insn_p. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * diagnostic-format-json.cc (make_json_for_path): Add "ref_pp" - param and use when obtaining event descriptions. - (json_output_format::on_report_diagnostic): Pass this format's - printer as the above. - * diagnostic-format-sarif.cc - (sarif_builder::make_location_object): Clone this format's printer - and use it to obtain the text of the message. - * diagnostic-path.cc: Include "pretty-print-markup.h". - (diagnostic_event::get_desc): New. - (path_label::get_text): Update for changes to diagnostic_event. - (event_range::print): Likewise. - (class element_event_desc): New. - (diagnostic_text_output_format::print_path): Update for changes to - diagnostic_event. - * diagnostic-path.h (diagnostic_event::get_desc): Replace with... - (diagnostic_event::print_desc): ...this. - (diagnostic_event::get_desc): Add this back for debugging, without - the bool param. - * pretty-print.cc (pp_printf_n): New. - * pretty-print.h (pp_printf_n): New decl. - * selftest-diagnostic-path.h (test_diagnostic_event::get_desc): - Convert to... - (test_diagnostic_event::print_desc): ...this. - * simple-diagnostic-path.cc (simple_diagnostic_event::print_desc): - New. - (selftest::test_intraprocedural_path): Use debug form of get_desc. - * simple-diagnostic-path.h (simple_diagnostic_event::get_desc): - Convert to... - (simple_diagnostic_event::print_desc): ...this, moving - implementation to test_diagnostic_event. - -2024-10-24 Thomas Schwinge <tschwinge@baylibre.com> - - PR other/116613 - * config/gcn/mkoffload.cc: Add '#define INCLUDE_MEMORY'. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - Gaius Mulley <gaiusmod2@gmail.com> - - PR other/116613 - * asan.cc: Add #define INCLUDE_MEMORY. - * attribs.cc: Likewise. - (attr_access::array_as_string): Use - diagnostic_context::clone_printer and use unique_ptr. - * auto-profile.cc: Add #define INCLUDE_MEMORY. - * calls.cc: Likewise. - * cfganal.cc: Likewise. - * cfgexpand.cc: Likewise. - * cfghooks.cc: Likewise. - * cfgloop.cc: Likewise. - * cgraph.cc: Likewise. - * cgraphclones.cc: Likewise. - * cgraphunit.cc: Likewise. - * collect-utils.cc: Likewise. - * collect2.cc: Likewise. - * common/config/aarch64/aarch64-common.cc: Likewise. - * common/config/arm/arm-common.cc: Likewise. - * common/config/avr/avr-common.cc: Likewise. - * config/aarch64/aarch64-cc-fusion.cc: Likewise. - * config/aarch64/aarch64-early-ra.cc: Likewise. - * config/aarch64/aarch64-sve-builtins.cc: Likewise. - * config/arc/arc.cc: Likewise. - * config/arm/aarch-common.cc: Likewise. - * config/arm/arm-mve-builtins.cc: Likewise. - * config/avr/avr-devices.cc: Likewise. - * config/avr/driver-avr.cc: Likewise. - * config/bpf/bpf.cc: Likewise. - * config/bpf/btfext-out.cc: Likewise. - * config/bpf/core-builtins.cc: Likewise. - * config/darwin.cc: Likewise. - * config/i386/driver-i386.cc: Likewise. - * config/i386/i386-builtins.cc: Likewise. - * config/i386/i386-expand.cc: Likewise. - * config/i386/i386-features.cc: Likewise. - * config/i386/i386-options.cc: Likewise. - * config/loongarch/loongarch-builtins.cc: Likewise. - * config/mingw/winnt-cxx.cc: Likewise. - * config/mingw/winnt.cc: Likewise. - * config/mips/mips.cc: Likewise. - * config/msp430/driver-msp430.cc: Likewise. - * config/nvptx/mkoffload.cc: Likewise. - * config/nvptx/nvptx.cc: Likewise. - * config/riscv/riscv-avlprop.cc: Likewise. - * config/riscv/riscv-vector-builtins.cc: Likewise. - * config/riscv/riscv-vsetvl.cc: Likewise. - * config/rs6000/driver-rs6000.cc: Likewise. - * config/rs6000/host-darwin.cc: Likewise. - * config/rs6000/rs6000-c.cc: Likewise. - * config/s390/s390-c.cc: Likewise. - * config/s390/s390.cc: Likewise. - * config/sol2-cxx.cc: Likewise. - * config/vms/vms-c.cc: Likewise. - * config/xtensa/xtensa-dynconfig.cc: Likewise. - * coroutine-passes.cc: Likewise. - * coverage.cc: Likewise. - * data-streamer-in.cc: Likewise. - * data-streamer-out.cc: Likewise. - * data-streamer.cc: Likewise. - * diagnostic-buffer.h (diagnostic_buffer::~diagnostic_buffer): - Delete. - (diagnostic_buffer::m_per_format_buffer): Use std::unique_ptr. - * diagnostic-client-data-hooks.h (make_compiler_data_hooks): Use - std::unique_ptr for return type. - * diagnostic-format-json.cc - (json_output_format::make_per_format_buffer): Likewise. - (diagnostic_output_format_init_json): Update for usage of - std::unique_ptr in set_output_format. - * diagnostic-format-sarif.cc - (sarif_output_format::make_per_format_buffer): Use std::unique_ptr - for return type. - (diagnostic_output_format_init_sarif): Update for usage of - std::unique_ptr. - (test_message_with_embedded_link): Likewise for set_urlifier. - * diagnostic-format-text.cc: Add #define INCLUDE_MEMORY. Include - "make-unique.h". - (diagnostic_text_output_format::set_buffer): Use std::unique_ptr. - * diagnostic-format-text.h - (diagnostic_text_output_format::set_buffer): Likewise. - * diagnostic-format.h - (diagnostic_output_format::make_per_format_buffer): Likewise. - * diagnostic-global-context.cc: - * diagnostic-macro-unwinding.cc: Likewise. - * diagnostic-show-locus.cc: Likewise. - * diagnostic-spec.cc: Likewise. - * diagnostic.cc (diagnostic_context::set_output_format): Use - std::unique_ptr for input. - (diagnostic_context::set_client_data_hooks): Likewise. - (diagnostic_context::set_option_manager): Likewise. - (diagnostic_context::set_urlifier): Likewise. - (diagnostic_context::set_diagnostic_buffer): Update for use of - std::unique_ptr. - (diagnostic_buffer::diagnostic_buffer): Likewise. - (diagnostic_buffer::~diagnostic_buffer): Delete. - * diagnostic.h: Complain if INCLUDE_MEMORY was not defined. - (diagnostic_context::set_output_format): Use std::unique_ptr for - input. - (diagnostic_context::set_client_data_hooks): Likewise. - (diagnostic_context::set_option_manager): Likewise. - (diagnostic_context::set_urlifier): Likewise. - (diagnostic_context::clone_printer): New. - (diagnostic_context::m_printer): Update comment. - (diagnostic_context::m_option_mgr): Likewise. - (diagnostic_context::m_urlifier): Likewise. - (diagnostic_context::m_edit_context_ptr): Likewise. - (diagnostic_context::m_output_format): Likewise. - (diagnostic_context::m_client_data_hooks): Likewise. - (diagnostic_context::m_theme): Likewise. - * digraph.cc: Add #define INCLUDE_MEMORY. - * dwarf2out.cc: Likewise. - * edit-context.cc: Likewise. - * except.cc: Likewise. - * expr.cc: Likewise. - * file-prefix-map.cc: Likewise. - * final.cc: Likewise. - * fwprop.cc: Likewise. - * gcc-plugin.h: Likewise. - * gcc-rich-location.cc: Likewise. - * gcc-urlifier.cc: Likewise. Add #include "make-unique.h". - (make_gcc_urlifier): Use std::unique_ptr and ::make_unique. - * gcc-urlifier.h (make_gcc_urlifier): Use std::unique_ptr. - * gcc.cc: Add #define INCLUDE_MEMORY. Include - "pretty-print-urlifier.h". - * gcov-dump.cc: Add #define INCLUDE_MEMORY. - * gcov-tool.cc: Likewise. - * gengtype.cc (open_base_files): Likewise to output. - * genmatch.cc: Likewise. - * gimple-fold.cc: Likewise. - * gimple-harden-conditionals.cc: Likewise. - * gimple-harden-control-flow.cc: Likewise. - * gimple-if-to-switch.cc: Likewise. - * gimple-lower-bitint.cc: Likewise. - * gimple-predicate-analysis.cc: Likewise. - * gimple-pretty-print.cc: Likewise. - * gimple-range-cache.cc: Likewise. - * gimple-range-edge.cc: Likewise. - * gimple-range-fold.cc: Likewise. - * gimple-range-gori.cc: Likewise. - * gimple-range-infer.cc: Likewise. - * gimple-range-op.cc: Likewise. - * gimple-range-path.cc: Likewise. - * gimple-range-phi.cc: Likewise. - * gimple-range-trace.cc: Likewise. - * gimple-range.cc: Likewise. - * gimple-ssa-backprop.cc: Likewise. - * gimple-ssa-sprintf.cc: Likewise. - * gimple-ssa-store-merging.cc: Likewise. - * gimple-ssa-strength-reduction.cc: Likewise. - * gimple-ssa-warn-access.cc: Likewise. - * gimple-ssa-warn-alloca.cc: Likewise. - * gimple-ssa-warn-restrict.cc: Likewise. - * gimple-streamer-in.cc: Likewise. - * gimple-streamer-out.cc: Likewise. - * gimple.cc: Likewise. - * gimplify.cc: Likewise. - * graph.cc: Likewise. - * graphviz.cc: Likewise. - * input.cc: Likewise. - * ipa-cp.cc: Likewise. - * ipa-devirt.cc: Likewise. - * ipa-fnsummary.cc: Likewise. - * ipa-free-lang-data.cc: Likewise. - * ipa-icf-gimple.cc: Likewise. - * ipa-icf.cc: Likewise. - * ipa-inline-analysis.cc: Likewise. - * ipa-inline.cc: Likewise. - * ipa-modref-tree.cc: Likewise. - * ipa-modref.cc: Likewise. - * ipa-param-manipulation.cc: Likewise. - * ipa-polymorphic-call.cc: Likewise. - * ipa-predicate.cc: Likewise. - * ipa-profile.cc: Likewise. - * ipa-prop.cc: Likewise. - * ipa-pure-const.cc: Likewise. - * ipa-reference.cc: Likewise. - * ipa-split.cc: Likewise. - * ipa-sra.cc: Likewise. - * ipa-strub.cc: Likewise. - * ipa-utils.cc: Likewise. - * langhooks.cc: Likewise. - * late-combine.cc: Likewise. - * lto-cgraph.cc: Likewise. - * lto-compress.cc: Likewise. - * lto-opts.cc: Likewise. - * lto-section-in.cc: Likewise. - * lto-section-out.cc: Likewise. - * lto-streamer-in.cc: Likewise. - * lto-streamer-out.cc: Likewise. - * lto-streamer.cc: Likewise. - * lto-wrapper.cc: Likewise. Include "make-unique.h". - (main): Use ::make_unique when creating option manager. - * multiple_target.cc: Likewise. - * omp-expand.cc: Likewise. - * omp-general.cc: Likewise. - * omp-low.cc: Likewise. - * omp-oacc-neuter-broadcast.cc: Likewise. - * omp-offload.cc: Likewise. - * omp-simd-clone.cc: Likewise. - * optc-gen.awk: Likewise in output. - * optc-save-gen.awk: Likewise in output. - * options-urls-cc-gen.awk: Likewise in output. - * opts-common.cc: Likewise. - * opts-global.cc: Likewise. - * opts.cc: Likewise. - * pair-fusion.cc: Likewise. - * passes.cc: Likewise. - * pointer-query.cc: Likewise. - * predict.cc: Likewise. - * pretty-print.cc (pretty_printer::clone): Use std::unique_ptr and - ::make_unique. - * pretty-print.h: Complain if INCLUDE_MEMORY is not defined. - (pretty_printer::clone): Use std::unique_ptr. - * print-rtl.cc: Add #define INCLUDE_MEMORY. - * print-tree.cc: Likewise. - * profile-count.cc: Likewise. - * range-op-float.cc: Likewise. - * range-op-ptr.cc: Likewise. - * range-op.cc: Likewise. - * range.cc: Likewise. - * read-rtl-function.cc: Likewise. - * rtl-error.cc: Likewise. - * rtl-ssa/accesses.cc: Likewise. - * rtl-ssa/blocks.cc: Likewise. - * rtl-ssa/changes.cc: Likewise. - * rtl-ssa/functions.cc: Likewise. - * rtl-ssa/insns.cc: Likewise. - * rtl-ssa/movement.cc: Likewise. - * rtl-tests.cc: Likewise. - * sanopt.cc: Likewise. - * sched-rgn.cc: Likewise. - * selftest-diagnostic-path.cc: Likewise. - * selftest-diagnostic.cc: Likewise. - * splay-tree-utils.cc: Likewise. - * sreal.cc: Likewise. - * stmt.cc: Likewise. - * substring-locations.cc: Likewise. - * symtab-clones.cc: Likewise. - * symtab-thunks.cc: Likewise. - * symtab.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/theme.cc: Likewise. - * toplev.cc: Likewise. Include "make-unique.h". - (general_init): Use ::make_unique when setting option_manager. - * trans-mem.cc: Add #define INCLUDE_MEMORY. - * tree-affine.cc: Likewise. - * tree-call-cdce.cc: Likewise. - * tree-cfg.cc: Likewise. - * tree-chrec.cc: Likewise. - * tree-dfa.cc: Likewise. - * tree-diagnostic-client-data-hooks.cc: Include "make-unique.h". - (make_compiler_data_hooks): Use std::unique_ptr and ::make_unique. - * tree-diagnostic.cc: Add #define INCLUDE_MEMORY. - * tree-dump.cc: Likewise. - * tree-inline.cc: Likewise. - * tree-into-ssa.cc: Likewise. - * tree-logical-location.cc: Likewise. - * tree-nested.cc: Likewise. - * tree-nrv.cc: Likewise. - * tree-object-size.cc: Likewise. - * tree-outof-ssa.cc: Likewise. - * tree-pretty-print.cc: Likewise. - * tree-profile.cc: Likewise. - * tree-scalar-evolution.cc: Likewise. - * tree-sra.cc: Likewise. - * tree-ssa-address.cc: Likewise. - * tree-ssa-alias.cc: Likewise. - * tree-ssa-ccp.cc: Likewise. - * tree-ssa-coalesce.cc: Likewise. - * tree-ssa-copy.cc: Likewise. - * tree-ssa-dce.cc: Likewise. - * tree-ssa-dom.cc: Likewise. - * tree-ssa-forwprop.cc: Likewise. - * tree-ssa-ifcombine.cc: Likewise. - * tree-ssa-loop-ch.cc: Likewise. - * tree-ssa-loop-im.cc: Likewise. - * tree-ssa-loop-manip.cc: Likewise. - * tree-ssa-loop-niter.cc: Likewise. - * tree-ssa-loop-split.cc: Likewise. - * tree-ssa-math-opts.cc: Likewise. - * tree-ssa-operands.cc: Likewise. - * tree-ssa-phiprop.cc: Likewise. - * tree-ssa-pre.cc: Likewise. - * tree-ssa-propagate.cc: Likewise. - * tree-ssa-reassoc.cc: Likewise. - * tree-ssa-sccvn.cc: Likewise. - * tree-ssa-scopedtables.cc: Likewise. - * tree-ssa-sink.cc: Likewise. - * tree-ssa-strlen.cc: Likewise. - * tree-ssa-structalias.cc: Likewise. - * tree-ssa-ter.cc: Likewise. - * tree-ssa-uninit.cc: Likewise. - * tree-ssa.cc: Likewise. - * tree-ssanames.cc: Likewise. - * tree-stdarg.cc: Likewise. - * tree-streamer-in.cc: Likewise. - * tree-streamer-out.cc: Likewise. - * tree-streamer.cc: Likewise. - * tree-switch-conversion.cc: Likewise. - * tree-tailcall.cc: Likewise. - * tree-vrp.cc: Likewise. - * tree.cc: Likewise. - * ubsan.cc: Likewise. - * value-pointer-equiv.cc: Likewise. - * value-prof.cc: Likewise. - * value-query.cc: Likewise. - * value-range-pretty-print.cc: Likewise. - * value-range-storage.cc: Likewise. - * value-range.cc: Likewise. - * value-relation.cc: Likewise. - * var-tracking.cc: Likewise. - * varpool.cc: Likewise. - * vr-values.cc: Likewise. - * wide-int-print.cc: Likewise. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_context::report_diagnostic): Add - comment about interaction of this code with pretty-print - formatting phaes. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * value-query.cc (range_query::get_tree_range): Use get_nonzero_bits - to populate the irange_bitmask of a POLY_INT_CST. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * match.pd: Simplify (X >> C1) * (C2 << C1) -> X * C2 if the - low C1 bits of X are zero. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * tree-ssanames.cc (get_nonzero_bits): Handle POLY_INT_CSTs. - * match.pd (with_possible_nonzero_bits): Likewise. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * match.pd: Simplify (X >> C1) << (C1 + C2) -> X << C2 if the - low C1 bits of X are zero. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * match.pd: Generalise ((X /[ex] A) +- B) * A -> X +- A * B rule - to ((X /[ex] C1) +- C2) * (C1 * C3) -> (X * C3) +- (C1 * C2 * C3). - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * match.pd: Simplify (X /[ex] C1) * (C1 * C2) -> X * C2. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * match.pd: Simplify X / (1 << C) to X /[ex] (1 << C) if the - low C bits of X are clear - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * match.pd: Extend some rules to handle exact_div like trunc_div. - * tree.h (trunc_or_exact_div_p): New function. - * tree-ssa-loop-niter.cc (is_rshift_by_1): Use it. - * tree-ssa-loop-ivopts.cc (force_expr_to_var_cost): Handle - EXACT_DIV_EXPR. - -2024-10-24 Andrew MacLeod <amacleod@redhat.com> - - * range-op-mixed.h (operator_bitwise_or::fold_range): Add prange - variant. - * range-op-ptr.cc (class pointer_or_operator): Remove. - (pointer_or_operator::op1_range): Remove. - (pointer_or_operator::op2_range): Remove. - (pointer_or_operator::wi_fold): Remove. - (operator_bitwise_or::fold_range): New prange variant. - -2024-10-24 Andrew MacLeod <amacleod@redhat.com> - - * range-op-ptr.cc (class pointer_and_operator): Remove. - (pointer_and_operator::wi_fold): Remove. - -2024-10-24 Andrew MacLeod <amacleod@redhat.com> - - * range-op-ptr.cc (class pointer_min_max_operator): Remove. - (pointer_min_max_operator::wi_fold): Remove. - -2024-10-24 Andrew MacLeod <amacleod@redhat.com> - - * range-op-ptr.cc (pointer_plus_operator::wi_fold): Remove. - (pointer_plus_operator::op2_range): Remove irange variant. - (pointer_plus_operator::update_bitmask): Likewise. - -2024-10-24 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/117209 - * asan.cc (maybe_cast_to_ptrmode): Formatting fix. - (build_check_stmt): Don't copy *iter into gsi, perform all - the updates on iter directly. - -2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-sve2.cc - (svsra_impl::fold): Fold svsra to svlsr/svasr if op1 is all zeros. - -2024-10-24 Soumya AR <soumyaa@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svlsl_impl::fold): - Try constant folding. - * config/aarch64/aarch64-sve-builtins.cc (aarch64_const_binop): - Return 0 if shift is out of range. - -2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): - Fold division by -1 to svneg. - (svmul_impl::fold): Fold multiplication by -1 to svneg. - -2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc - (svindex_impl::fold): Add constant folding. - -2024-10-24 Wang Pengcheng <wangpengcheng.pp@bytedance.com> - - * config/riscv/riscv.cc (struct riscv_tune_param): Add new - tune options. - (riscv_override_options_internal): Override the default alignment - when not optimizing for size. - -2024-10-23 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64.cc (aarch64_ptrue_reg): Fix type - of induction variable i. - -2024-10-23 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117260 - * gimple-match-exports.cc (maybe_push_res_to_seq): Reject non-const - internal functions. - -2024-10-23 Jonathan Wakely <jwakely@redhat.com> - - * ginclude/stdalign.h (__alignas_is_defined): Define for C++. - (__alignof_is_defined): Likewise. - -2024-10-23 David Malcolm <dmalcolm@redhat.com> - - PR jit/117275 - * toplev.cc (toplev::finalize): Call varasm_cc_finalize. - * varasm.cc (varasm_cc_finalize): New. - * varasm.h (varasm_cc_finalize): New decl. - -2024-10-23 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113860 - * config/aarch64/aarch64-protos.h (aarch64_ptrue_reg): New function. - * config/aarch64/aarch64-simd.md (popcount<mode>2): Update pattern to - also support V1DI mode. - * config/aarch64/aarch64.cc (aarch64_ptrue_reg): New function. - * config/aarch64/aarch64.md (popcount<mode>2): Add TARGET_SVE support. - * config/aarch64/iterators.md (VDQHSD_V1DI): New mode iterator. - (SVE_VDQ_I): Add V1DI. - (bitsize): Likewise. - (VPRED): Likewise. - (VEC_POP_MODE): New mode attribute. - (vec_pop_mode): Likewise. - -2024-10-23 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/117222 - * range-op-ptr.cc (operator_pointer_diff::fold_range): New. - (operator_pointer_diff::op1_op2_relation_effect): Remove irange - variant. - (operator_pointer_diff::update_bitmask): Likewise. - -2024-10-23 David Malcolm <dmalcolm@redhat.com> - - PR fortran/105916 - * diagnostic-buffer.h: New file. - * diagnostic-format-json.cc: Define INCLUDE_VECTOR. Include - "diagnostic-buffer.h". - (class diagnostic_json_format_buffer): New subclass. - (class json_output_format): Add friend class - diagnostic_json_format_buffer. - (json_output_format::make_per_format_buffer): New vfunc - implementation. - (json_output_format::set_buffer): New vfunc implementation. - (json_output_format::json_output_format): Initialize m_buffer. - (json_output_format::m_buffer): New field. - (diagnostic_json_format_buffer::dump): New. - (diagnostic_json_format_buffer::empty_p): New. - (diagnostic_json_format_buffer::move_to): New. - (diagnostic_json_format_buffer::clear): New. - (diagnostic_json_format_buffer::flush): New. - (json_output_format::on_report_diagnostic): Implement optional - buffering. - * diagnostic-format-sarif.cc: Include "diagnostic-buffer.h". - (class diagnostic_sarif_format_buffer): New subclass. - (class sarif_builder): Add friend - class diagnostic_sarif_format_buffer. - (sarif_builder::num_results): New accessor. - (sarif_builder::get_result): New accessor. - (sarif_builder::on_report_diagnostic): Add param "buffer"; use it - to implement optional buffering. - (diagnostic_sarif_format_buffer::dump): New. - (diagnostic_sarif_format_buffer::empty_p): New. - (diagnostic_sarif_format_buffer::move_to): New. - (diagnostic_sarif_format_buffer::clear): New. - (diagnostic_sarif_format_buffer::flush): New. - (sarif_output_format::make_per_format_buffer): New vfunc - implementation. - (sarif_output_format::set_buffer): New vfunc implementation. - (sarif_output_format::on_report_diagnostic): Pass m_buffer to - sarif_builder::on_report_diagnostic. - (sarif_output_format::num_results): New accessor. - (sarif_output_format::get_result): New accessor. - (diagnostic_output_format::diagnostic_output_format): Initialize - m_buffer. - (diagnostic_output_format::m_buffer): New field. - (diagnostic_output_format::num_results): Get accessor. - (diagnostic_output_format::get_result): Get accessor. - (selftest::get_message_from_result): New. - (selftest::test_buffering): New. - (selftest::diagnostic_format_sarif_cc_tests): Call it. - * diagnostic-format-text.cc: Include - "diagnostic-client-data-hooks.h". - (class diagnostic_text_format_buffer): New subclass. - (diagnostic_text_format_buffer::diagnostic_text_format_buffer): - New. - (diagnostic_text_format_buffer::dump): New. - (diagnostic_text_format_buffer::empty_p): New. - (diagnostic_text_format_buffer::move_to): New. - (diagnostic_text_format_buffer::clear): New. - (diagnostic_text_format_buffer::flush): New. - (diagnostic_text_output_format::dump): Dump m_saved_output_buffer. - (diagnostic_text_output_format::set_buffer): New. - (diagnostic_text_output_format::make_per_format_buffer): New. - * diagnostic-format-text.h - (diagnostic_text_output_format::diagnostic_text_output_format): - Initialize m_saved_output_buffer. - (diagnostic_text_output_format::set_buffer): New decl. - (diagnostic_text_output_format::make_per_format_buffer): New decl. - (diagnostic_text_output_format::m_saved_output_buffer): New field. - * diagnostic-format.h (class diagnostic_per_format_buffer): New - forward decl. - (diagnostic_output_format::make_per_format_buffer): New vfunc. - (diagnostic_output_format::set_buffer): New vfunc. - * diagnostic.cc: Include "diagnostic-buffer.h". - (diagnostic_context::initialize): Replace memset with call to - "clear" on m_diagnostic_counters. Initializer - m_diagnostic_buffer. - (diagnostic_context::finish): Call set_diagnostic_buffer with - nullptr. - (diagnostic_context::dump): Update for encapsulation of counts - into m_diagnostic_counters. Dump m_diagnostic_buffer. - (diagnostic_context::execution_failed_p): Update for encapsulation of - counts into m_diagnostic_counters. - (diagnostic_context::check_max_errors): Likewise. - (diagnostic_context::report_diagnostic): Likewise. Eliminate - diagnostic_check_max_errors in favor of check_max_errors. - Update increment of counter to support buffering. Eliminate - diagnostic_action_after_output in favor of action_after_output. - Only add fixits to m_edit_context_ptr if buffering is disabled. - Only call diagnostic_output_format::after_diagnostic if buffering - is disabled. - (diagnostic_context::error_recursion): Eliminate - diagnostic_action_after_output in favor of action_after_output. - (diagnostic_context::set_diagnostic_buffer): New. - (diagnostic_context::clear_diagnostic_buffer): New. - (diagnostic_context::flush_diagnostic_buffer): New. - (diagnostic_counters::diagnostic_counters): New. - (diagnostic_counters::dump): New. - (diagnostic_counters::move_to): New. - (diagnostic_counters::clear): New. - (diagnostic_buffer::diagnostic_buffer): New. - (diagnostic_buffer::~diagnostic_buffer): New. - (diagnostic_buffer::dump): New. - (diagnostic_buffer::empty_p): New. - (diagnostic_buffer::move_to): New. - (diagnostic_buffer::ensure_per_format_buffer): New. - (c_diagnostic_cc_tests): Remove stray newline. - * diagnostic.h (class diagnostic_buffer): New forward decl. - (struct diagnostic_counters): New. - (diagnostic_context::check_max_errors): Make private. - (diagnostic_context::action_after_output): Make private. - (diagnostic_context::get_output_format): Make non-const. - (diagnostic_context::diagnostic_count): Update for change - to m_diagnostic_counters. - (diagnostic_context::set_diagnostic_buffer): New decl. - (diagnostic_context::get_diagnostic_buffer): New decl. - (diagnostic_context::clear_diagnostic_buffer): New decl. - (diagnostic_context::flush_diagnostic_buffer): New decl. - (diagnostic_context::m_diagnostic_count): Replace array with... - (diagnostic_context::m_diagnostic_counters): ...this. - (diagnostic_context::m_diagnostic_buffer): New field. - (diagnostic_action_after_output): Delete. - (diagnostic_check_max_errors): Delete. - -2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64-simd.md (aarch64_simd_mov<VQMOV:mode>): - Remove redundant mode check. - -2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.md (copysign<GPF:mode>3): Widen immediate to - vector. - (copysign<GPF:mode>3_insn): Use VQ_INT_EQUIV in operand 3. - * config/aarch64/iterators.md (VQ_INT_EQUIV): New iterator. - (vq_int_equiv): Likewise. - -2024-10-23 Jason Merrill <jason@redhat.com> - - * doc/extend.texi (Deprecated Features): Remove text about some - no-longer-deprecated features. - -2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.cc (enum simd_immediate_check): Add - AARCH64_CHECK_XOR. - (aarch64_simd_valid_xor_imm): New function. - (aarch64_output_simd_imm): Add AARCH64_CHECK_XOR support. - (aarch64_output_simd_xor_imm): New function. - * config/aarch64/aarch64-protos.h (aarch64_output_simd_xor_imm): New - prototype. - (aarch64_simd_valid_xor_imm): New prototype. - * config/aarch64/aarch64-simd.md (xor<mode>3<vczle><vczbe>): - Use aarch64_reg_or_xor_imm predicate and add an immediate alternative. - * config/aarch64/predicates.md (aarch64_reg_or_xor_imm): Add new - predicate. - -2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64-simd.md (ior<mode>3<vczle><vczbe>): - Use aarch64_reg_or_orr_imm predicate. Combine SVE/AdvSIMD immediates - and use aarch64_output_simd_orr_imm. - * config/aarch64/aarch64.cc (struct simd_immediate_info): Add SVE_MOV. - (aarch64_sve_valid_immediate): Use SVE_MOV for SVE move immediates. - (aarch64_simd_valid_imm): Enable SVE SIMD immediates when possible. - (aarch64_output_simd_imm): Support emitting SVE SIMD immediates. - * config/aarch64/predicates.md (aarch64_orr_imm_sve_advsimd): Remove. - -2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64-protos.h (enum simd_immediate_check): Move to aarch64.cc. - (aarch64_output_simd_mov_immediate): Remove. - (aarch64_output_simd_mov_imm): New prototype. - (aarch64_output_simd_orr_imm): Likewise. - (aarch64_output_simd_and_imm): Likewise. - (aarch64_simd_valid_immediate): Remove. - (aarch64_simd_valid_and_imm): New prototype. - (aarch64_simd_valid_mov_imm): Likewise. - (aarch64_simd_valid_orr_imm): Likewise. - * config/aarch64/aarch64-simd.md: Use aarch64_output_simd_mov_imm. - * config/aarch64/aarch64.cc (enum simd_immediate_check): Moved from aarch64-protos.h. - Use AARCH64_CHECK_AND rather than AARCH64_CHECk_BIC. - (aarch64_expand_sve_const_vector): Use aarch64_simd_valid_mov_imm. - (aarch64_expand_mov_immediate): Likewise. - (aarch64_can_const_movi_rtx_p): Likewise. - (aarch64_secondary_reload): Likewise. - (aarch64_legitimate_constant_p): Likewise. - (aarch64_advsimd_valid_immediate): Simplify checks on 'which' param. - (aarch64_sve_valid_immediate): Add extra param for move vs logical. - (aarch64_simd_valid_immediate): Rename to aarch64_simd_valid_imm. - (aarch64_simd_valid_mov_imm): New function. - (aarch64_simd_valid_orr_imm): Likewise. - (aarch64_simd_valid_and_imm): Likewise. - (aarch64_mov_operand_p): Use aarch64_simd_valid_mov_imm. - (aarch64_simd_scalar_immediate_valid_for_move): Likewise. - (aarch64_simd_make_constant): Likewise. - (aarch64_expand_vector_init_fallback): Likewise. - (aarch64_output_simd_mov_immediate): Rename to aarch64_output_simd_imm. - (aarch64_output_simd_orr_imm): New function. - (aarch64_output_simd_and_imm): Likewise. - (aarch64_output_simd_mov_imm): Likewise. - (aarch64_output_scalar_simd_mov_immediate): Use aarch64_output_simd_mov_imm. - (aarch64_output_sve_mov_immediate): Use aarch64_simd_valid_imm. - (aarch64_output_sve_ptrues): Likewise. - * config/aarch64/constraints.md (Do): Use aarch64_simd_valid_orr_imm. - (Db): Use aarch64_simd_valid_and_imm. - * config/aarch64/predicates.md (aarch64_reg_or_bic_imm): Use aarch64_simd_valid_orr_imm. - (aarch64_reg_or_and_imm): Use aarch64_simd_valid_and_imm. - -2024-10-23 liuhongt <hongtao.liu@intel.com> - - PR target/117240 - * config/i386/i386-builtin.def: Add avx/avx512f to vaes - ymm/zmm builtins. - -2024-10-23 Martin Jambor <mjambor@suse.cz> - - PR tree-optimization/117142 - * tree-sra.cc (build_access_from_call_arg): Disqualify any - candidate passed to a function returning twice. - -2024-10-23 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (Wleading-whitespace=): Document. - -2024-10-23 liuhongt <hongtao.liu@intel.com> - - PR target/117232 - * config/i386/sse.md (*kortest_cmp<SWI1248_AVX512BWDQ_64:mode>_movqicc): - New define_insn_and_split. - (*kortest_cmp<SWI1248_AVX512BWDQ_64:mode>_mov<SWI248:mode>cc): - Ditto. - -2024-10-22 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117199 - * varasm.cc (compare_constant): Handle RAW_DATA_CST. Formatting fix - in the STRING_CST case. - -2024-10-22 Jakub Jelinek <jakub@redhat.com> - - PR c/117190 - * varasm.cc (array_size_for_constructor): For RAW_DATA_CST, - use bitsize_int rather than size_int. - -2024-10-22 Tobias Burnus <tburnus@baylibre.com> - - * config/gcn/gcn-devices.def: Add generic version/flag as additional - value and architecture family entry; update; add gfx-10-3-generic - and gfx11-generic. - * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): Remove - (ASM_SPEC): Use generated ABI_VERSION_OPT instead. - * config/gcn/gcn-tables.opt: Regenerate - * config/gcn/gcn.h (gcn_device_def): Add generic_version and - arch_family members. - (TARGET_CPU_CPP_BUILTINS): Fix allocation bug, handle '-' in the - name and add additional macro defines. - * config/gcn/gcn.cc (gcn_devices): Handle it. - * config/gcn/gen-gcn-device-macros.awk: Likewise; use ELF name - for the macro name; generate ABI_VERSION_OPT. - * config/gcn/mkoffload.cc (ELFABIVERSION_AMDGPU_HSA_V6, - EF_AMDGPU_GENERIC_VERSION_V, EF_AMDGPU_GENERIC_VERSION_OFFSET, - GET_GENERIC_VERSION, SET_GENERIC_VERSION): Define. - (get_arch): Call SET_GENERIC_VERSION flag on elf_flags. - (copy_early_debug_info): If the arch sets the generic version, - use ELFABIVERSION_AMDGPU_HSA_V6. - -2024-10-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117254 - * gimple-ssa-warn-access.cc (maybe_warn_nonstring_arg): - Check the array domain max is constant before using it. - -2024-10-22 Andrew Stubbs <ams@baylibre.com> - Tobias Burnus <tburnus@baylibre.com> - - * config.gcc (amdgcn): Add gcn-device-macros.h to tm_file. - Add gcn-tables.opt to extra_options. - * config/gcn/gcn-hsa.h (NO_XNACK): Delete. - (NO_SRAM_ECC): Delete. - (SRAMOPT): Move definition to generated file gcn-device-macros.h. - (XNACKOPT): Likewise. - (ASM_SPEC): Redefine using generated values from gcn-device-macros.h. - * config/gcn/gcn-opts.h - (enum processor_type): Generate from gcn-devices.def. - (TARGET_VEGA10): Delete. - (TARGET_VEGA20): Delete. - (TARGET_GFX908): Delete. - (TARGET_GFX90a): Delete. - (TARGET_GFX90c): Delete. - (TARGET_GFX1030): Delete. - (TARGET_GFX1036): Delete. - (TARGET_GFX1100): Delete. - (TARGET_GFX1103): Delete. - (TARGET_XNACK): Redefine to allow for HSACO_ATTR_UNSUPPORTED. - (enum hsaco_attr_type): Add HSACO_ATTR_UNSUPPORTED. - (TARGET_TGSPLIT): New define. - * config/gcn/gcn.cc (gcn_devices): New constant table. - (gcn_option_override): Rework to use gcn_devices table. - (gcn_omp_device_kind_arch_isa): Likewise. - (output_file_start): Likewise. - (gcn_hsa_declare_function_name): Rework using TARGET_* macros. - * config/gcn/gcn.h (gcn_devices): Declare struct and table. - (TARGET_CPU_CPP_BUILTINS): Rework using gcn_devices. - * config/gcn/gcn.opt: Move enum data to generated file gcn-tables.opt. - Use new names for the default values. - * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX900): Delete. - (EF_AMDGPU_MACH_AMDGCN_GFX906): Delete. - (EF_AMDGPU_MACH_AMDGCN_GFX908): Delete. - (EF_AMDGPU_MACH_AMDGCN_GFX90a): Delete. - (EF_AMDGPU_MACH_AMDGCN_GFX90c): Delete. - (EF_AMDGPU_MACH_AMDGCN_GFX1030): Delete. - (EF_AMDGPU_MACH_AMDGCN_GFX1036): Delete. - (EF_AMDGPU_MACH_AMDGCN_GFX1100): Delete. - (EF_AMDGPU_MACH_AMDGCN_GFX1103): Delete. - (enum elf_arch_code): Define using gcn-devices.def. - (get_arch): Rework using gcn-devices.def. - (main): Rework using gcn-devices.def - * config/gcn/t-gcn-hsa (gcn-tables.opt): Generate file. - (gcn-device-macros.h): Generate file. - * config/gcn/t-omp-device: Generate isa list from gcn-devices.def. - * config/gcn/gcn-devices.def: New file. - * config/gcn/gcn-tables.opt: New file. - * config/gcn/gcn-tables.opt.urls: New file. - * config/gcn/gen-gcn-device-macros.awk: New file. - * config/gcn/gen-opt-tables.awk: New file. - -2024-10-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117123 - * tree-ssa-sccvn.cc (visit_phi): First process a non-constant - argument edge to handle more equivalences. Remove the - two-arg special case. - -2024-10-22 xuli <xuli1@eswincomputing.com> - - * match.pd: Support IMM=1. - -2024-10-22 xuli <xuli1@eswincomputing.com> - - * match.pd: Support IMM=max-1. - -2024-10-21 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116488 - PR rtl-optimization/116579 - PR rtl-optimization/116915 - PR rtl-optimization/117226 - * ext-dce.cc (carry_backpropagate): Properly handle SIGN_EXTEND, add - ZERO_EXTEND handling as well. - (ext_dce_process_uses): Call carry_backpropagate before the optimization - step. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * config/riscv/autovec.md (sstrunc<mode><v_double_trunc>2): Add - new pattern sstrunc for double trunc. - (sstrunc<mode><v_quad_trunc>2): Ditto but for quad trunc. - (sstrunc<mode><v_oct_trunc>2): Ditto but for oct trunc. - * config/riscv/riscv-protos.h (expand_vec_double_sstrunc): Add - new func decl to expand double trunc. - (expand_vec_quad_sstrunc): Ditto but for quad trunc. - (expand_vec_oct_sstrunc): Ditto but for oct trunc. - * config/riscv/riscv-v.cc (expand_vec_double_sstrunc): Add new - func to expand double trunc. - (expand_vec_quad_sstrunc): Ditto but for quad trunc. - (expand_vec_oct_sstrunc): Ditto but for oct trunc. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * tree-vect-patterns.cc (gimple_signed_integer_sat_trunc): Add - new func decl for signed SAT_TRUNC. - (vect_recog_sat_trunc_pattern): Try signed match pattern for - the SAT_TRUNC. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * match.pd: Refine matching for vector signed SAT_TRUNC form 1. - -2024-10-21 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64.cc (aarch64_register_move_cost): - Increase costs involving MOVEABLE_SYSREGS. - -2024-10-21 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn.h (SGPR_REGNO_P): Silence warning. - -2024-10-21 Alex Coplan <alex.coplan@arm.com> - - PR rtl-optimization/116783 - * pair-fusion.cc (def_walker::cand_addr_uses): New. - (def_walker::def_walker): Add parameter for candidate address - uses. - (def_walker::alias_conflict_p): Declare. - (def_walker::addr_reg_conflict_p): New. - (def_walker::conflict_p): New. - (store_walker::store_walker): Add parameter for candidate - address uses and pass to base ctor. - (store_walker::conflict_p): Rename to ... - (store_walker::alias_conflict_p): ... this. - (load_walker::load_walker): Add parameter for candidate - address uses and pass to base ctor. - (load_walker::conflict_p): Rename to ... - (load_walker::alias_conflict_p): ... this. - (pair_fusion_bb_info::try_fuse_pair): Collect address register - uses for candidate insns and pass down to alias walkers. - -2024-10-21 Jeevitha <jeevitha@linux.ibm.com> - - * config/rs6000/amo.h (enum _AMO_LD): Correct the function code for - _AMO_LD_DEC_BOUNDED. - -2024-10-21 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_intel_cpu): Refactor the - function for future expansion on different family. - -2024-10-21 liuhongt <hongtao.liu@intel.com> - - PR target/117159 - * config/i386/sse.md - (*<avx512>_cmp<V48H_AVX512VL:mode>3_zero_extend<SWI248x:mode>): - Change from define_insn_and_split to define_insn. - (*<avx512>_cmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>): - Ditto. - (*<avx512>_ucmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>): - Ditto. - (*<avx512>_ucmp<VI48_AVX512VL:mode>3_zero_extend<SWI248x:mode>): - Ditto. - (*<avx512>_cmp<V48H_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2): - Split to the zero_extend pattern. - (*<avx512>_cmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2): - Ditto. - (*<avx512>_ucmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2): - Ditto. - (*<avx512>_ucmp<VI48_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2): - Ditto. - -2024-10-20 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv.cc (riscv_use_by_pieces_infrastructure_p): - New function. - (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Define. - -2024-10-19 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/112418 - * tree-ssa-phiopt.cc (is_factor_profitable): New function. - (factor_out_conditional_operation): Add merge argument. Remove - arg0/arg1 arguments. Return bool instead of the new phi. - Early return for virtual ops. Call is_factor_profitable to - check if the factoring would be profitable. - (pass_phiopt::execute): Call factor_out_conditional_operation - on all phis instead of just singleton phi. - * doc/invoke.texi (--param phiopt-factor-max-stmts-live=): Document. - * params.opt (--param=phiopt-factor-max-stmts-live=): New opt. - -2024-10-19 Greg McGary <gkm@rivosinc.com> - - * config/riscv/autovec.md (vec_mask_len_load_lanes, vec_mask_len_store_lanes): - Predicate with TARGET_VECTOR_AUTOVEC_SEGMENT - * config/riscv/riscv-opts.h (TARGET_VECTOR_AUTOVEC_SEGMENT): New macro. - * config/riscv/riscv.opt (-m(no-)autovec-segment): New option. - -2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv.cc (riscv_use_by_pieces_infrastructure_p): - New function. - (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Define. - -2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv-string.cc (struct stringop_info): New. - (expand_block_move): Move decision making code to... - (use_vector_stringop_p): ...here. - -2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv-protos.h (get_lmul_mode): New prototype. - (expand_block_move): Add bool parameter for movmem_p. - * config/riscv/riscv-string.cc (riscv_expand_block_move_scalar): - Pass movmem_p as false to riscv_vector::expand_block_move. - (expand_block_move): Add movmem_p parameter. Return false if - loop needed and movmem_p is true. Respect TARGET_MAX_LMUL. - * config/riscv/riscv-v.cc (get_lmul_mode): New function. - * config/riscv/riscv.md (movmem<mode>): Move checking for - whether to generate inline vector code to - riscv_vector::expand_block_move by passing movmem_p as true. - -2024-10-19 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.h (json::value): Remove forward decl. - -2024-10-19 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc (json_output_format::dump): New. - * diagnostic-format-sarif.cc (sarif_output_format::dump): New. - (sarif_file_output_format::dump): New. - * diagnostic-format-text.cc (diagnostic_text_output_format::dump): - New. - * diagnostic-format-text.h (diagnostic_text_output_format::dump): - New decl. - * diagnostic-format.h (diagnostic_output_format::dump): New decls. - * diagnostic.cc (diagnostic_context::dump): New. - (diagnostic_output_format::dump): New. - * diagnostic.h (diagnostic_context::dump): New decls. - * pretty-print-format-impl.h (pp_formatted_chunks::dump): Add - "indent" param. - * pretty-print.cc (bytes_per_hexdump_line): New constant. - (print_hexdump_line): New. - (print_hexdump): New. - (output_buffer::dump): Add "indent" param and use it. Add - hexdump of current object in m_formatted_obstack and - m_chunk_obstack. - (pp_formatted_chunks::dump): Add "indent" param and use it. - (pretty_printer::dump): Likewise. Add dumping of m_show_color - and m_url_format. - * pretty-print.h (output_buffer::dump): Add "indent" param. - (pretty_printer::dump): Likewise. - -2024-10-18 Alejandro Colomar <alx@kernel.org> - - * tree.h (array_type_nelts_top) - * tree.cc (array_type_nelts_top): - Define function (moved from gcc/cp/). - -2024-10-18 Alejandro Colomar <alx@kernel.org> - - * tree.cc (array_type_nelts, array_type_nelts_minus_one) - * tree.h (array_type_nelts, array_type_nelts_minus_one) - * expr.cc (count_type_elements) - * config/aarch64/aarch64.cc - (pure_scalable_type_info::analyze_array) - * config/i386/i386.cc (ix86_canonical_va_list_type): - Rename array_type_nelts => array_type_nelts_minus_one - The old name was misleading. - -2024-10-18 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.opt.urls: Fix for -mlra. - -2024-10-18 John David Anglin <danglin@gcc.gnu.org> - - PR target/113933 - * config/pa/pa.cc (pa_use_lra_p): Declare. - (TARGET_LRA_P): Change define to pa_use_lra_p. - (pa_use_lra_p): New function. - (legitimize_pic_address): Also check lra_in_progress. - (pa_emit_move_sequence): Likewise. - (pa_legitimate_constant_p): Likewise. - (pa_legitimate_address_p): Likewise. - (pa_secondary_reload): For floating-point loads and stores, - return NO_REGS for REG and SUBREG operands. Return - GENERAL_REGS for some shift register spills. - * config/pa/pa.opt: Add mlra option. - * config/pa/predicates.md (integer_store_memory_operand): - Also check lra_in_progress. - (floating_point_store_memory_operand): Likewise. - (reg_before_reload_operand): Likewise. - -2024-10-18 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv-string.cc (expand_block_move): Fix - condition for using smaller LMUL. Break outer loop if a - suitable vmode has been found. - -2024-10-18 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv-string.cc (expand_block_move): Replace - `end` with `length_rtx` in gen_rtx_NE. - -2024-10-18 Craig Blackmore <craig.blackmore@embecosm.com> - - * config/riscv/riscv-string.cc (expand_block_move): Fix - indentation. - -2024-10-18 Uros Bizjak <ubizjak@gmail.com> - - PR target/117192 - * config/i386/mmx.md (andn<MMXMODEI:mode>3): Swap operand - indexes 1 and 2 to comply with andn specification. - -2024-10-18 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): - Refactor using fold_active_lanes_to and fold to dividend, is the - divisor is all ones. - (svmul_impl::fold): Refactor using fold_active_lanes_to and fold - to the other operand, if one of the operands is all ones. - * config/aarch64/aarch64-sve-builtins.h: Declare - gimple_folder::fold_active_lanes_to (tree). - * config/aarch64/aarch64-sve-builtins.cc - (gimple_folder::fold_actives_lanes_to): Add new method to fold - actives lanes to given argument and setting inactives lanes - according to the predication. - -2024-10-18 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_2): Only expect - IFN_MASK_LOAD for masked loads that are not - STMT_VINFO_GATHER_SCATTER_P. - -2024-10-18 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/117140 - * tree-vect-slp.cc (vectorize_slp_instance_root_stmt): Use gsi from - original statement. - -2024-10-18 Tamar Christina <tamar.christina@arm.com> - - * tree-vect-generic.cc (lower_vec_perm): Use output vector size instead - of input vector when determining output nunits. - -2024-10-18 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64.cc (aarch64_output_sve_mov_immediate): Use - fmov for SVE zeros. - -2024-10-18 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64.cc (aarch64_sve_valid_immediate, - aarch64_simd_valid_immediate): Refactor accepting modes and values. - (aarch64_float_const_representable_p): Refactor and extract FP checks - into ... - (aarch64_real_float_const_representable_p): ...This and fix fail - fallback from real_to_integer. - (aarch64_advsimd_valid_immediate): Use it. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (long_type_suffix): New. - (half_type_suffix): New. - (struct binary_move_narrow_def): Use new helper. - (struct binary_move_narrow_unsigned_def): Likewise. - (struct binary_rshift_narrow_def): Likewise. - (struct binary_rshift_narrow_unsigned_def): Likewise. - (struct binary_widen_def): Likewise. - (struct binary_widen_n_def): Likewise. - (struct binary_widen_opt_n_def): Likewise. - (struct unary_widen_def): Likewise. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vadc_vsbc_impl): Add - support for vsbciq and vsbcq. - (vadciq, vadcq): Add new parameter. - (vsbciq): New. - (vsbcq): New. - * config/arm/arm-mve-builtins-base.def (vsbciq): New. - (vsbcq): New. - * config/arm/arm-mve-builtins-base.h (vsbciq): New. - (vsbcq): New. - * config/arm/arm_mve.h (vsbciq): Delete. - (vsbciq_m): Delete. - (vsbcq): Delete. - (vsbcq_m): Delete. - (vsbciq_s32): Delete. - (vsbciq_u32): Delete. - (vsbciq_m_s32): Delete. - (vsbciq_m_u32): Delete. - (vsbcq_s32): Delete. - (vsbcq_u32): Delete. - (vsbcq_m_s32): Delete. - (vsbcq_m_u32): Delete. - (__arm_vsbciq_s32): Delete. - (__arm_vsbciq_u32): Delete. - (__arm_vsbciq_m_s32): Delete. - (__arm_vsbciq_m_u32): Delete. - (__arm_vsbcq_s32): Delete. - (__arm_vsbcq_u32): Delete. - (__arm_vsbcq_m_s32): Delete. - (__arm_vsbcq_m_u32): Delete. - (__arm_vsbciq): Delete. - (__arm_vsbciq_m): Delete. - (__arm_vsbcq): Delete. - (__arm_vsbcq_m): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (vadcq_vsbc): Add support - for vadcq. - * config/arm/arm-mve-builtins-base.def (vadcq): New. - * config/arm/arm-mve-builtins-base.h (vadcq): New. - * config/arm/arm_mve.h (vadcq): Delete. - (vadcq_m): Delete. - (vadcq_s32): Delete. - (vadcq_u32): Delete. - (vadcq_m_s32): Delete. - (vadcq_m_u32): Delete. - (__arm_vadcq_s32): Delete. - (__arm_vadcq_u32): Delete. - (__arm_vadcq_m_s32): Delete. - (__arm_vadcq_m_u32): Delete. - (__arm_vadcq): Delete. - (__arm_vadcq_m): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vadc_vsbc_impl): New. - (vadciq): New. - * config/arm/arm-mve-builtins-base.def (vadciq): New. - * config/arm/arm-mve-builtins-base.h (vadciq): New. - * config/arm/arm_mve.h (vadciq): Delete. - (vadciq_m): Delete. - (vadciq_s32): Delete. - (vadciq_u32): Delete. - (vadciq_m_s32): Delete. - (vadciq_m_u32): Delete. - (__arm_vadciq_s32): Delete. - (__arm_vadciq_u32): Delete. - (__arm_vadciq_m_s32): Delete. - (__arm_vadciq_m_u32): Delete. - (__arm_vadciq): Delete. - (__arm_vadciq_m): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/iterators.md (mve_insn): Add VADCIQ_M_S, VADCIQ_M_U, - VADCIQ_U, VADCIQ_S, VADCQ_M_S, VADCQ_M_U, VADCQ_S, VADCQ_U, - VSBCIQ_M_S, VSBCIQ_M_U, VSBCIQ_S, VSBCIQ_U, VSBCQ_M_S, VSBCQ_M_U, - VSBCQ_S, VSBCQ_U. - (VADCIQ, VSBCIQ): Merge into ... - (VxCIQ): ... this. - (VADCIQ_M, VSBCIQ_M): Merge into ... - (VxCIQ_M): ... this. - (VSBCQ, VADCQ): Merge into ... - (VxCQ): ... this. - (VSBCQ_M, VADCQ_M): Merge into ... - (VxCQ_M): ... this. - * config/arm/mve.md - (mve_vadciq_<supf>v4si, mve_vsbciq_<supf>v4si): Merge into ... - (@mve_<mve_insn>q_<supf>v4si): ... this. - (mve_vadciq_m_<supf>v4si, mve_vsbciq_m_<supf>v4si): Merge into ... - (@mve_<mve_insn>q_m_<supf>v4si): ... this. - (mve_vadcq_<supf>v4si, mve_vsbcq_<supf>v4si): Merge into ... - (@mve_<mve_insn>q_<supf>v4si): ... this. - (mve_vadcq_m_<supf>v4si, mve_vsbcq_m_<supf>v4si): Merge into ... - (@mve_<mve_insn>q_m_<supf>v4si): ... this. - -2024-10-18 Christophe Lyon <chrirstophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (vadc_vsbc): New. - * config/arm/arm-mve-builtins-shapes.h (vadc_vsbc): New. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc - (arm_ternop_unone_none_unone_imm_qualifiers) - (-arm_ternop_none_none_unone_imm_qualifiers): Delete. - * config/arm/arm_mve_builtins.def (vshlcq_m_vec_s) - (vshlcq_m_carry_s, vshlcq_m_vec_u, vshlcq_m_carry_u): Delete. - * config/arm/mve.md (mve_vshlcq_vec_<supf><mode>): Delete. - (mve_vshlcq_carry_<supf><mode>): Delete. - (mve_vshlcq_m_vec_<supf><mode>): Delete. - (mve_vshlcq_m_carry_<supf><mode>): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vshlc_impl): New. - (vshlc): New. - * config/arm/arm-mve-builtins-base.def (vshlcq): New. - * config/arm/arm-mve-builtins-base.h (vshlcq): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Handle vshlc. - * config/arm/arm_mve.h (vshlcq): Delete. - (vshlcq_m): Delete. - (vshlcq_s8): Delete. - (vshlcq_u8): Delete. - (vshlcq_s16): Delete. - (vshlcq_u16): Delete. - (vshlcq_s32): Delete. - (vshlcq_u32): Delete. - (vshlcq_m_s8): Delete. - (vshlcq_m_u8): Delete. - (vshlcq_m_s16): Delete. - (vshlcq_m_u16): Delete. - (vshlcq_m_s32): Delete. - (vshlcq_m_u32): Delete. - (__arm_vshlcq_s8): Delete. - (__arm_vshlcq_u8): Delete. - (__arm_vshlcq_s16): Delete. - (__arm_vshlcq_u16): Delete. - (__arm_vshlcq_s32): Delete. - (__arm_vshlcq_u32): Delete. - (__arm_vshlcq_m_s8): Delete. - (__arm_vshlcq_m_u8): Delete. - (__arm_vshlcq_m_s16): Delete. - (__arm_vshlcq_m_u16): Delete. - (__arm_vshlcq_m_s32): Delete. - (__arm_vshlcq_m_u32): Delete. - (__arm_vshlcq): Delete. - (__arm_vshlcq_m): Delete. - * config/arm/mve.md (mve_vshlcq_<supf><mode>): Add '@' prefix. - (mve_vshlcq_m_<supf><mode>): Likewise. - -2024-10-18 Christophe Lyon <chrirstophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (vshlc): New. - * config/arm/arm-mve-builtins-shapes.h (vshlc): New. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-builtins.cc - (arm_quinop_unone_unone_unone_unone_imm_pred_qualifiers): Delete. - * config/arm/arm_mve_builtins.def (viwdupq_wb_u, vdwdupq_wb_u) - (viwdupq_m_wb_u, vdwdupq_m_wb_u, viwdupq_m_n_u, vdwdupq_m_n_u) - (vdwdupq_n_u, viwdupq_n_u): Delete. - * config/arm/mve.md (mve_vdwdupq_n_u<mode>): Delete. - (mve_vdwdupq_wb_u<mode>): Delete. - (mve_vdwdupq_m_n_u<mode>): Delete. - (mve_vdwdupq_m_wb_u<mode>): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (viddup_impl): Add support - for wrapping versions. - (vdwdupq): New. - (viwdupq): New. - * config/arm/arm-mve-builtins-base.def (vdwdupq): New. - (viwdupq): New. - * config/arm/arm-mve-builtins-base.h (vdwdupq): New. - (viwdupq): New. - * config/arm/arm_mve.h (vdwdupq_m): Delete. - (vdwdupq_u8): Delete. - (vdwdupq_u32): Delete. - (vdwdupq_u16): Delete. - (viwdupq_m): Delete. - (viwdupq_u8): Delete. - (viwdupq_u32): Delete. - (viwdupq_u16): Delete. - (vdwdupq_x_u8): Delete. - (vdwdupq_x_u16): Delete. - (vdwdupq_x_u32): Delete. - (viwdupq_x_u8): Delete. - (viwdupq_x_u16): Delete. - (viwdupq_x_u32): Delete. - (vdwdupq_m_n_u8): Delete. - (vdwdupq_m_n_u32): Delete. - (vdwdupq_m_n_u16): Delete. - (vdwdupq_m_wb_u8): Delete. - (vdwdupq_m_wb_u32): Delete. - (vdwdupq_m_wb_u16): Delete. - (vdwdupq_n_u8): Delete. - (vdwdupq_n_u32): Delete. - (vdwdupq_n_u16): Delete. - (vdwdupq_wb_u8): Delete. - (vdwdupq_wb_u32): Delete. - (vdwdupq_wb_u16): Delete. - (viwdupq_m_n_u8): Delete. - (viwdupq_m_n_u32): Delete. - (viwdupq_m_n_u16): Delete. - (viwdupq_m_wb_u8): Delete. - (viwdupq_m_wb_u32): Delete. - (viwdupq_m_wb_u16): Delete. - (viwdupq_n_u8): Delete. - (viwdupq_n_u32): Delete. - (viwdupq_n_u16): Delete. - (viwdupq_wb_u8): Delete. - (viwdupq_wb_u32): Delete. - (viwdupq_wb_u16): Delete. - (vdwdupq_x_n_u8): Delete. - (vdwdupq_x_n_u16): Delete. - (vdwdupq_x_n_u32): Delete. - (vdwdupq_x_wb_u8): Delete. - (vdwdupq_x_wb_u16): Delete. - (vdwdupq_x_wb_u32): Delete. - (viwdupq_x_n_u8): Delete. - (viwdupq_x_n_u16): Delete. - (viwdupq_x_n_u32): Delete. - (viwdupq_x_wb_u8): Delete. - (viwdupq_x_wb_u16): Delete. - (viwdupq_x_wb_u32): Delete. - (__arm_vdwdupq_m_n_u8): Delete. - (__arm_vdwdupq_m_n_u32): Delete. - (__arm_vdwdupq_m_n_u16): Delete. - (__arm_vdwdupq_m_wb_u8): Delete. - (__arm_vdwdupq_m_wb_u32): Delete. - (__arm_vdwdupq_m_wb_u16): Delete. - (__arm_vdwdupq_n_u8): Delete. - (__arm_vdwdupq_n_u32): Delete. - (__arm_vdwdupq_n_u16): Delete. - (__arm_vdwdupq_wb_u8): Delete. - (__arm_vdwdupq_wb_u32): Delete. - (__arm_vdwdupq_wb_u16): Delete. - (__arm_viwdupq_m_n_u8): Delete. - (__arm_viwdupq_m_n_u32): Delete. - (__arm_viwdupq_m_n_u16): Delete. - (__arm_viwdupq_m_wb_u8): Delete. - (__arm_viwdupq_m_wb_u32): Delete. - (__arm_viwdupq_m_wb_u16): Delete. - (__arm_viwdupq_n_u8): Delete. - (__arm_viwdupq_n_u32): Delete. - (__arm_viwdupq_n_u16): Delete. - (__arm_viwdupq_wb_u8): Delete. - (__arm_viwdupq_wb_u32): Delete. - (__arm_viwdupq_wb_u16): Delete. - (__arm_vdwdupq_x_n_u8): Delete. - (__arm_vdwdupq_x_n_u16): Delete. - (__arm_vdwdupq_x_n_u32): Delete. - (__arm_vdwdupq_x_wb_u8): Delete. - (__arm_vdwdupq_x_wb_u16): Delete. - (__arm_vdwdupq_x_wb_u32): Delete. - (__arm_viwdupq_x_n_u8): Delete. - (__arm_viwdupq_x_n_u16): Delete. - (__arm_viwdupq_x_n_u32): Delete. - (__arm_viwdupq_x_wb_u8): Delete. - (__arm_viwdupq_x_wb_u16): Delete. - (__arm_viwdupq_x_wb_u32): Delete. - (__arm_vdwdupq_m): Delete. - (__arm_vdwdupq_u8): Delete. - (__arm_vdwdupq_u32): Delete. - (__arm_vdwdupq_u16): Delete. - (__arm_viwdupq_m): Delete. - (__arm_viwdupq_u8): Delete. - (__arm_viwdupq_u32): Delete. - (__arm_viwdupq_u16): Delete. - (__arm_vdwdupq_x_u8): Delete. - (__arm_vdwdupq_x_u16): Delete. - (__arm_vdwdupq_x_u32): Delete. - (__arm_viwdupq_x_u8): Delete. - (__arm_viwdupq_x_u16): Delete. - (__arm_viwdupq_x_u32): Delete. - * config/arm/mve.md (@mve_<mve_insn>q_m_wb_u<mode>_insn): Swap - operands 1 and 2. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (vidwdup): New. - * config/arm/arm-mve-builtins-shapes.h (vidwdup): New. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/iterators.md (mve_insn): Add VIWDUPQ, VDWDUPQ, - VIWDUPQ_M, VDWDUPQ_M. - (VIDWDUPQ): New iterator. - (VIDWDUPQ_M): New iterator. - * config/arm/mve.md (mve_vdwdupq_wb_u<mode>_insn) - (mve_viwdupq_wb_u<mode>_insn): Merge into ... - (@mve_<mve_insn>q_wb_u<mode>_insn): ... this. Add missing - mve_unpredicated_insn and mve_move attributes. - (mve_vdwdupq_m_wb_u<mode>_insn, mve_viwdupq_m_wb_u<mode>_insn): - Merge into ... - (@mve_<mve_insn>q_m_wb_u<mode>_insn): ... this. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): Fix - check of scalar argument. - (binary_acca_int64): Likewise. - (binary_lshift_unsigned): Likewise. - (binary_rshift_narrow): Likewise. - (binary_rshift_narrow_unsigned): Likewise. - (ternary_lshift): Likewise. - (ternary_rshift): Likewise. - (unary_int32_acc): Likewise. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm_mve_builtins.def (vddupq_n_u, vidupq_n_u) - (vddupq_m_n_u, vidupq_m_n_u): Delete. - * config/arm/mve.md (mve_vidupq_n_u<mode>, mve_vidupq_m_n_u<mode>) - (mve_vddupq_n_u<mode>, mve_vddupq_m_n_u<mode>): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class viddup_impl): New. - (vddup): New. - (vidup): New. - * config/arm/arm-mve-builtins-base.def (vddupq): New. - (vidupq): New. - * config/arm/arm-mve-builtins-base.h (vddupq): New. - (vidupq): New. - * config/arm/arm_mve.h (vddupq_m): Delete. - (vddupq_u8): Delete. - (vddupq_u32): Delete. - (vddupq_u16): Delete. - (vidupq_m): Delete. - (vidupq_u8): Delete. - (vidupq_u32): Delete. - (vidupq_u16): Delete. - (vddupq_x_u8): Delete. - (vddupq_x_u16): Delete. - (vddupq_x_u32): Delete. - (vidupq_x_u8): Delete. - (vidupq_x_u16): Delete. - (vidupq_x_u32): Delete. - (vddupq_m_n_u8): Delete. - (vddupq_m_n_u32): Delete. - (vddupq_m_n_u16): Delete. - (vddupq_m_wb_u8): Delete. - (vddupq_m_wb_u16): Delete. - (vddupq_m_wb_u32): Delete. - (vddupq_n_u8): Delete. - (vddupq_n_u32): Delete. - (vddupq_n_u16): Delete. - (vddupq_wb_u8): Delete. - (vddupq_wb_u16): Delete. - (vddupq_wb_u32): Delete. - (vidupq_m_n_u8): Delete. - (vidupq_m_n_u32): Delete. - (vidupq_m_n_u16): Delete. - (vidupq_m_wb_u8): Delete. - (vidupq_m_wb_u16): Delete. - (vidupq_m_wb_u32): Delete. - (vidupq_n_u8): Delete. - (vidupq_n_u32): Delete. - (vidupq_n_u16): Delete. - (vidupq_wb_u8): Delete. - (vidupq_wb_u16): Delete. - (vidupq_wb_u32): Delete. - (vddupq_x_n_u8): Delete. - (vddupq_x_n_u16): Delete. - (vddupq_x_n_u32): Delete. - (vddupq_x_wb_u8): Delete. - (vddupq_x_wb_u16): Delete. - (vddupq_x_wb_u32): Delete. - (vidupq_x_n_u8): Delete. - (vidupq_x_n_u16): Delete. - (vidupq_x_n_u32): Delete. - (vidupq_x_wb_u8): Delete. - (vidupq_x_wb_u16): Delete. - (vidupq_x_wb_u32): Delete. - (__arm_vddupq_m_n_u8): Delete. - (__arm_vddupq_m_n_u32): Delete. - (__arm_vddupq_m_n_u16): Delete. - (__arm_vddupq_m_wb_u8): Delete. - (__arm_vddupq_m_wb_u16): Delete. - (__arm_vddupq_m_wb_u32): Delete. - (__arm_vddupq_n_u8): Delete. - (__arm_vddupq_n_u32): Delete. - (__arm_vddupq_n_u16): Delete. - (__arm_vidupq_m_n_u8): Delete. - (__arm_vidupq_m_n_u32): Delete. - (__arm_vidupq_m_n_u16): Delete. - (__arm_vidupq_n_u8): Delete. - (__arm_vidupq_m_wb_u8): Delete. - (__arm_vidupq_m_wb_u16): Delete. - (__arm_vidupq_m_wb_u32): Delete. - (__arm_vidupq_n_u32): Delete. - (__arm_vidupq_n_u16): Delete. - (__arm_vidupq_wb_u8): Delete. - (__arm_vidupq_wb_u16): Delete. - (__arm_vidupq_wb_u32): Delete. - (__arm_vddupq_wb_u8): Delete. - (__arm_vddupq_wb_u16): Delete. - (__arm_vddupq_wb_u32): Delete. - (__arm_vddupq_x_n_u8): Delete. - (__arm_vddupq_x_n_u16): Delete. - (__arm_vddupq_x_n_u32): Delete. - (__arm_vddupq_x_wb_u8): Delete. - (__arm_vddupq_x_wb_u16): Delete. - (__arm_vddupq_x_wb_u32): Delete. - (__arm_vidupq_x_n_u8): Delete. - (__arm_vidupq_x_n_u16): Delete. - (__arm_vidupq_x_n_u32): Delete. - (__arm_vidupq_x_wb_u8): Delete. - (__arm_vidupq_x_wb_u16): Delete. - (__arm_vidupq_x_wb_u32): Delete. - (__arm_vddupq_m): Delete. - (__arm_vddupq_u8): Delete. - (__arm_vddupq_u32): Delete. - (__arm_vddupq_u16): Delete. - (__arm_vidupq_m): Delete. - (__arm_vidupq_u8): Delete. - (__arm_vidupq_u32): Delete. - (__arm_vidupq_u16): Delete. - (__arm_vddupq_x_u8): Delete. - (__arm_vddupq_x_u16): Delete. - (__arm_vddupq_x_u32): Delete. - (__arm_vidupq_x_u8): Delete. - (__arm_vidupq_x_u16): Delete. - (__arm_vidupq_x_u32): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (viddup): New. - * config/arm/arm-mve-builtins-shapes.h (viddup): New. - * config/arm/arm-mve-builtins.cc (report_not_one_of): New. - (function_checker::require_immediate_one_of): New. - * config/arm/arm-mve-builtins.def (wb): New mode. - * config/arm/arm-mve-builtins.h (function_checker) Add - require_immediate_one_of. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/iterators.md (mve_insn): Add VIDUPQ, VDDUPQ, - VIDUPQ_M, VDDUPQ_M. - (viddupq_op): New. - (viddupq_m_op): New. - (VIDDUPQ): New. - (VIDDUPQ_M): New. - * config/arm/mve.md (mve_vddupq_u<mode>_insn) - (mve_vidupq_u<mode>_insn): Merge into ... - (mve_<mve_insn>q_u<mode>_insn): ... this. - (mve_vddupq_m_wb_u<mode>_insn, mve_vidupq_m_wb_u<mode>_insn): - Merge into ... - (mve_<mve_insn>q_m_wb_u<mode>_insn): ... this. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vctpq_impl): New. - (vctp16q): New. - (vctp32q): New. - (vctp64q): New. - (vctp8q): New. - * config/arm/arm-mve-builtins-base.def (vctp16q): New. - (vctp32q): New. - (vctp64q): New. - (vctp8q): New. - * config/arm/arm-mve-builtins-base.h (vctp16q): New. - (vctp32q): New. - (vctp64q): New. - (vctp8q): New. - * config/arm/arm-mve-builtins-shapes.cc (vctp): New. - * config/arm/arm-mve-builtins-shapes.h (vctp): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Add support for vctp. - * config/arm/arm_mve.h (vctp16q): Delete. - (vctp32q): Delete. - (vctp64q): Delete. - (vctp8q): Delete. - (vctp8q_m): Delete. - (vctp64q_m): Delete. - (vctp32q_m): Delete. - (vctp16q_m): Delete. - (__arm_vctp16q): Delete. - (__arm_vctp32q): Delete. - (__arm_vctp64q): Delete. - (__arm_vctp8q): Delete. - (__arm_vctp8q_m): Delete. - (__arm_vctp64q_m): Delete. - (__arm_vctp32q_m): Delete. - (__arm_vctp16q_m): Delete. - * config/arm/mve.md (mve_vctp<MVE_vctp>q<MVE_vpred>): Add '@' - prefix. - (mve_vctp<MVE_vctp>q_m<MVE_vpred>): Likewise. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (vornq): New. - * config/arm/arm-mve-builtins-base.def (vornq): New. - * config/arm/arm-mve-builtins-base.h (vornq): New. - * config/arm/arm-mve-builtins-functions.h (class - unspec_based_mve_function_exact_insn_vorn): New. - * config/arm/arm_mve.h (vornq): Delete. - (vornq_m): Delete. - (vornq_x): Delete. - (vornq_u8): Delete. - (vornq_s8): Delete. - (vornq_u16): Delete. - (vornq_s16): Delete. - (vornq_u32): Delete. - (vornq_s32): Delete. - (vornq_f16): Delete. - (vornq_f32): Delete. - (vornq_m_s8): Delete. - (vornq_m_s32): Delete. - (vornq_m_s16): Delete. - (vornq_m_u8): Delete. - (vornq_m_u32): Delete. - (vornq_m_u16): Delete. - (vornq_m_f32): Delete. - (vornq_m_f16): Delete. - (vornq_x_s8): Delete. - (vornq_x_s16): Delete. - (vornq_x_s32): Delete. - (vornq_x_u8): Delete. - (vornq_x_u16): Delete. - (vornq_x_u32): Delete. - (vornq_x_f16): Delete. - (vornq_x_f32): Delete. - (__arm_vornq_u8): Delete. - (__arm_vornq_s8): Delete. - (__arm_vornq_u16): Delete. - (__arm_vornq_s16): Delete. - (__arm_vornq_u32): Delete. - (__arm_vornq_s32): Delete. - (__arm_vornq_m_s8): Delete. - (__arm_vornq_m_s32): Delete. - (__arm_vornq_m_s16): Delete. - (__arm_vornq_m_u8): Delete. - (__arm_vornq_m_u32): Delete. - (__arm_vornq_m_u16): Delete. - (__arm_vornq_x_s8): Delete. - (__arm_vornq_x_s16): Delete. - (__arm_vornq_x_s32): Delete. - (__arm_vornq_x_u8): Delete. - (__arm_vornq_x_u16): Delete. - (__arm_vornq_x_u32): Delete. - (__arm_vornq_f16): Delete. - (__arm_vornq_f32): Delete. - (__arm_vornq_m_f32): Delete. - (__arm_vornq_m_f16): Delete. - (__arm_vornq_x_f16): Delete. - (__arm_vornq_x_f32): Delete. - (__arm_vornq): Delete. - (__arm_vornq_m): Delete. - (__arm_vornq_x): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/iterators.md (MVE_INT_M_BINARY_LOGIC): Add VORNQ_M_S, - VORNQ_M_U. - (MVE_FP_M_BINARY_LOGIC): Add VORNQ_M_F. - (mve_insn): Add VORNQ_M_S, VORNQ_M_U, VORNQ_M_F. - * config/arm/mve.md (mve_vornq_s<mode>): Rename into ... - (@mve_vornq_s<mode>): ... this. - (mve_vornq_u<mode>): Rename into ... - (@mve_vornq_u<mode>): ... this. - (mve_vornq_f<mode>): Rename into ... - (@mve_vornq_f<mode>): ... this. - (mve_vornq_m_<supf><mode>): Merge into vand/vbic pattern. - (mve_vornq_m_f<mode>): Likewise. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (vbicq): New. - * config/arm/arm-mve-builtins-base.def (vbicq): New. - * config/arm/arm-mve-builtins-base.h (vbicq): New. - * config/arm/arm-mve-builtins-functions.h (class - unspec_based_mve_function_exact_insn_vbic): New. - * config/arm/arm-mve-builtins.cc - (function_instance::has_inactive_argument): Add support for vbicq. - * config/arm/arm_mve.h (vbicq): Delete. - (vbicq_m_n): Delete. - (vbicq_m): Delete. - (vbicq_x): Delete. - (vbicq_u8): Delete. - (vbicq_s8): Delete. - (vbicq_u16): Delete. - (vbicq_s16): Delete. - (vbicq_u32): Delete. - (vbicq_s32): Delete. - (vbicq_n_u16): Delete. - (vbicq_f16): Delete. - (vbicq_n_s16): Delete. - (vbicq_n_u32): Delete. - (vbicq_f32): Delete. - (vbicq_n_s32): Delete. - (vbicq_m_n_s16): Delete. - (vbicq_m_n_s32): Delete. - (vbicq_m_n_u16): Delete. - (vbicq_m_n_u32): Delete. - (vbicq_m_s8): Delete. - (vbicq_m_s32): Delete. - (vbicq_m_s16): Delete. - (vbicq_m_u8): Delete. - (vbicq_m_u32): Delete. - (vbicq_m_u16): Delete. - (vbicq_m_f32): Delete. - (vbicq_m_f16): Delete. - (vbicq_x_s8): Delete. - (vbicq_x_s16): Delete. - (vbicq_x_s32): Delete. - (vbicq_x_u8): Delete. - (vbicq_x_u16): Delete. - (vbicq_x_u32): Delete. - (vbicq_x_f16): Delete. - (vbicq_x_f32): Delete. - (__arm_vbicq_u8): Delete. - (__arm_vbicq_s8): Delete. - (__arm_vbicq_u16): Delete. - (__arm_vbicq_s16): Delete. - (__arm_vbicq_u32): Delete. - (__arm_vbicq_s32): Delete. - (__arm_vbicq_n_u16): Delete. - (__arm_vbicq_n_s16): Delete. - (__arm_vbicq_n_u32): Delete. - (__arm_vbicq_n_s32): Delete. - (__arm_vbicq_m_n_s16): Delete. - (__arm_vbicq_m_n_s32): Delete. - (__arm_vbicq_m_n_u16): Delete. - (__arm_vbicq_m_n_u32): Delete. - (__arm_vbicq_m_s8): Delete. - (__arm_vbicq_m_s32): Delete. - (__arm_vbicq_m_s16): Delete. - (__arm_vbicq_m_u8): Delete. - (__arm_vbicq_m_u32): Delete. - (__arm_vbicq_m_u16): Delete. - (__arm_vbicq_x_s8): Delete. - (__arm_vbicq_x_s16): Delete. - (__arm_vbicq_x_s32): Delete. - (__arm_vbicq_x_u8): Delete. - (__arm_vbicq_x_u16): Delete. - (__arm_vbicq_x_u32): Delete. - (__arm_vbicq_f16): Delete. - (__arm_vbicq_f32): Delete. - (__arm_vbicq_m_f32): Delete. - (__arm_vbicq_m_f16): Delete. - (__arm_vbicq_x_f16): Delete. - (__arm_vbicq_x_f32): Delete. - (__arm_vbicq): Delete. - (__arm_vbicq_m_n): Delete. - (__arm_vbicq_m): Delete. - (__arm_vbicq_x): Delete. - * config/arm/mve.md (mve_vbicq_u<mode>): Rename into ... - (@mve_vbicq_u<mode>): ... this. - (mve_vbicq_s<mode>): Rename into ... - (@mve_vbicq_s<mode>): ... this. - (mve_vbicq_f<mode>): Rename into ... - (@mve_vbicq_f<mode>): ... this. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (vcvtaq): New. - (vcvtmq): New. - (vcvtnq): New. - (vcvtpq): New. - * config/arm/arm-mve-builtins-base.def (vcvtaq): New. - (vcvtmq): New. - (vcvtnq): New. - (vcvtpq): New. - * config/arm/arm-mve-builtins-base.h: (vcvtaq): New. - (vcvtmq): New. - (vcvtnq): New. - (vcvtpq): New. - * config/arm/arm-mve-builtins.cc (cvtx): New type. - * config/arm/arm_mve.h (vcvtaq_m): Delete. - (vcvtmq_m): Delete. - (vcvtnq_m): Delete. - (vcvtpq_m): Delete. - (vcvtaq_s16_f16): Delete. - (vcvtaq_s32_f32): Delete. - (vcvtnq_s16_f16): Delete. - (vcvtnq_s32_f32): Delete. - (vcvtpq_s16_f16): Delete. - (vcvtpq_s32_f32): Delete. - (vcvtmq_s16_f16): Delete. - (vcvtmq_s32_f32): Delete. - (vcvtpq_u16_f16): Delete. - (vcvtpq_u32_f32): Delete. - (vcvtnq_u16_f16): Delete. - (vcvtnq_u32_f32): Delete. - (vcvtmq_u16_f16): Delete. - (vcvtmq_u32_f32): Delete. - (vcvtaq_u16_f16): Delete. - (vcvtaq_u32_f32): Delete. - (vcvtaq_m_s16_f16): Delete. - (vcvtaq_m_u16_f16): Delete. - (vcvtaq_m_s32_f32): Delete. - (vcvtaq_m_u32_f32): Delete. - (vcvtmq_m_s16_f16): Delete. - (vcvtnq_m_s16_f16): Delete. - (vcvtpq_m_s16_f16): Delete. - (vcvtmq_m_u16_f16): Delete. - (vcvtnq_m_u16_f16): Delete. - (vcvtpq_m_u16_f16): Delete. - (vcvtmq_m_s32_f32): Delete. - (vcvtnq_m_s32_f32): Delete. - (vcvtpq_m_s32_f32): Delete. - (vcvtmq_m_u32_f32): Delete. - (vcvtnq_m_u32_f32): Delete. - (vcvtpq_m_u32_f32): Delete. - (vcvtaq_x_s16_f16): Delete. - (vcvtaq_x_s32_f32): Delete. - (vcvtaq_x_u16_f16): Delete. - (vcvtaq_x_u32_f32): Delete. - (vcvtnq_x_s16_f16): Delete. - (vcvtnq_x_s32_f32): Delete. - (vcvtnq_x_u16_f16): Delete. - (vcvtnq_x_u32_f32): Delete. - (vcvtpq_x_s16_f16): Delete. - (vcvtpq_x_s32_f32): Delete. - (vcvtpq_x_u16_f16): Delete. - (vcvtpq_x_u32_f32): Delete. - (vcvtmq_x_s16_f16): Delete. - (vcvtmq_x_s32_f32): Delete. - (vcvtmq_x_u16_f16): Delete. - (vcvtmq_x_u32_f32): Delete. - (__arm_vcvtpq_u16_f16): Delete. - (__arm_vcvtpq_u32_f32): Delete. - (__arm_vcvtnq_u16_f16): Delete. - (__arm_vcvtnq_u32_f32): Delete. - (__arm_vcvtmq_u16_f16): Delete. - (__arm_vcvtmq_u32_f32): Delete. - (__arm_vcvtaq_u16_f16): Delete. - (__arm_vcvtaq_u32_f32): Delete. - (__arm_vcvtaq_s16_f16): Delete. - (__arm_vcvtaq_s32_f32): Delete. - (__arm_vcvtnq_s16_f16): Delete. - (__arm_vcvtnq_s32_f32): Delete. - (__arm_vcvtpq_s16_f16): Delete. - (__arm_vcvtpq_s32_f32): Delete. - (__arm_vcvtmq_s16_f16): Delete. - (__arm_vcvtmq_s32_f32): Delete. - (__arm_vcvtaq_m_s16_f16): Delete. - (__arm_vcvtaq_m_u16_f16): Delete. - (__arm_vcvtaq_m_s32_f32): Delete. - (__arm_vcvtaq_m_u32_f32): Delete. - (__arm_vcvtmq_m_s16_f16): Delete. - (__arm_vcvtnq_m_s16_f16): Delete. - (__arm_vcvtpq_m_s16_f16): Delete. - (__arm_vcvtmq_m_u16_f16): Delete. - (__arm_vcvtnq_m_u16_f16): Delete. - (__arm_vcvtpq_m_u16_f16): Delete. - (__arm_vcvtmq_m_s32_f32): Delete. - (__arm_vcvtnq_m_s32_f32): Delete. - (__arm_vcvtpq_m_s32_f32): Delete. - (__arm_vcvtmq_m_u32_f32): Delete. - (__arm_vcvtnq_m_u32_f32): Delete. - (__arm_vcvtpq_m_u32_f32): Delete. - (__arm_vcvtaq_x_s16_f16): Delete. - (__arm_vcvtaq_x_s32_f32): Delete. - (__arm_vcvtaq_x_u16_f16): Delete. - (__arm_vcvtaq_x_u32_f32): Delete. - (__arm_vcvtnq_x_s16_f16): Delete. - (__arm_vcvtnq_x_s32_f32): Delete. - (__arm_vcvtnq_x_u16_f16): Delete. - (__arm_vcvtnq_x_u32_f32): Delete. - (__arm_vcvtpq_x_s16_f16): Delete. - (__arm_vcvtpq_x_s32_f32): Delete. - (__arm_vcvtpq_x_u16_f16): Delete. - (__arm_vcvtpq_x_u32_f32): Delete. - (__arm_vcvtmq_x_s16_f16): Delete. - (__arm_vcvtmq_x_s32_f32): Delete. - (__arm_vcvtmq_x_u16_f16): Delete. - (__arm_vcvtmq_x_u32_f32): Delete. - (__arm_vcvtaq_m): Delete. - (__arm_vcvtmq_m): Delete. - (__arm_vcvtnq_m): Delete. - (__arm_vcvtpq_m): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (vcvtx): New. - * config/arm/arm-mve-builtins-shapes.h (vcvtx): New. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/iterators.md (mve_insn): Add VCVTAQ_M_S, VCVTAQ_M_U, - VCVTAQ_S, VCVTAQ_U, VCVTMQ_M_S, VCVTMQ_M_U, VCVTMQ_S, VCVTMQ_U, - VCVTNQ_M_S, VCVTNQ_M_U, VCVTNQ_S, VCVTNQ_U, VCVTPQ_M_S, - VCVTPQ_M_U, VCVTPQ_S, VCVTPQ_U. - (VCVTAQ, VCVTPQ, VCVTNQ, VCVTMQ, VCVTAQ_M, VCVTMQ_M, VCVTNQ_M) - (VCVTPQ_M): Delete. - (VCVTxQ, VCVTxQ_M): New. - * config/arm/mve.md (mve_vcvtpq_<supf><mode>) - (mve_vcvtnq_<supf><mode>, mve_vcvtmq_<supf><mode>) - (mve_vcvtaq_<supf><mode>): Merge into ... - (@mve_<mve_insn>q_<supf><mode>): ... this. - (mve_vcvtaq_m_<supf><mode>, mve_vcvtmq_m_<supf><mode>) - (mve_vcvtpq_m_<supf><mode>, mve_vcvtnq_m_<supf><mode>): Merge into - ... - (@mve_<mve_insn>q_m_<supf><mode>): ... this. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vcvtxq_impl): New. - (vcvtbq, vcvttq): New. - * config/arm/arm-mve-builtins-base.def (vcvtbq, vcvttq): New. - * config/arm/arm-mve-builtins-base.h (vcvtbq, vcvttq): New. - * config/arm/arm-mve-builtins.cc (cvt_f16_f32, cvt_f32_f16): New - types. - (function_instance::has_inactive_argument): Support vcvtbq and - vcvttq. - * config/arm/arm_mve.h (vcvttq_f32): Delete. - (vcvtbq_f32): Delete. - (vcvtbq_m): Delete. - (vcvttq_m): Delete. - (vcvttq_f32_f16): Delete. - (vcvtbq_f32_f16): Delete. - (vcvttq_f16_f32): Delete. - (vcvtbq_f16_f32): Delete. - (vcvtbq_m_f16_f32): Delete. - (vcvtbq_m_f32_f16): Delete. - (vcvttq_m_f16_f32): Delete. - (vcvttq_m_f32_f16): Delete. - (vcvtbq_x_f32_f16): Delete. - (vcvttq_x_f32_f16): Delete. - (__arm_vcvttq_f32_f16): Delete. - (__arm_vcvtbq_f32_f16): Delete. - (__arm_vcvttq_f16_f32): Delete. - (__arm_vcvtbq_f16_f32): Delete. - (__arm_vcvtbq_m_f16_f32): Delete. - (__arm_vcvtbq_m_f32_f16): Delete. - (__arm_vcvttq_m_f16_f32): Delete. - (__arm_vcvttq_m_f32_f16): Delete. - (__arm_vcvtbq_x_f32_f16): Delete. - (__arm_vcvttq_x_f32_f16): Delete. - (__arm_vcvttq_f32): Delete. - (__arm_vcvtbq_f32): Delete. - (__arm_vcvtbq_m): Delete. - (__arm_vcvttq_m): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (vcvt_f16_f32) - (vcvt_f32_f16): New. - * config/arm/arm-mve-builtins-shapes.h (vcvt_f16_f32) - (vcvt_f32_f16): New. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/iterators.md (mve_insn): Add VCVTBQ_F16_F32, - VCVTTQ_F16_F32, VCVTBQ_F32_F16, VCVTTQ_F32_F16, VCVTBQ_M_F16_F32, - VCVTTQ_M_F16_F32, VCVTBQ_M_F32_F16, VCVTTQ_M_F32_F16. - (VCVTxQ_F16_F32): New iterator. - (VCVTxQ_F32_F16): Likewise. - (VCVTxQ_M_F16_F32): Likewise. - (VCVTxQ_M_F32_F16): Likewise. - * config/arm/mve.md (mve_vcvttq_f32_f16v4sf) - (mve_vcvtbq_f32_f16v4sf): Merge into ... - (@mve_<mve_insn>q_f32_f16v4sf): ... this. - (mve_vcvtbq_f16_f32v8hf, mve_vcvttq_f16_f32v8hf): Merge into ... - (@mve_<mve_insn>q_f16_f32v8hf): ... this. - (mve_vcvtbq_m_f16_f32v8hf, mve_vcvttq_m_f16_f32v8hf): Merge into - ... - (@mve_<mve_insn>q_m_f16_f32v8hf): ... this. - (mve_vcvtbq_m_f32_f16v4sf, mve_vcvttq_m_f32_f16v4sf): Merge into - ... - (@mve_<mve_insn>q_m_f32_f16v4sf): ... this. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-base.cc (class vcvtq_impl): New. - (vcvtq): New. - * config/arm/arm-mve-builtins-base.def (vcvtq): New. - * config/arm/arm-mve-builtins-base.h (vcvtq): New. - * config/arm/arm-mve-builtins.cc (cvt): New type. - * config/arm/arm_mve.h (vcvtq): Delete. - (vcvtq_n): Delete. - (vcvtq_m): Delete. - (vcvtq_m_n): Delete. - (vcvtq_x): Delete. - (vcvtq_x_n): Delete. - (vcvtq_f16_s16): Delete. - (vcvtq_f32_s32): Delete. - (vcvtq_f16_u16): Delete. - (vcvtq_f32_u32): Delete. - (vcvtq_s16_f16): Delete. - (vcvtq_s32_f32): Delete. - (vcvtq_u16_f16): Delete. - (vcvtq_u32_f32): Delete. - (vcvtq_n_f16_s16): Delete. - (vcvtq_n_f32_s32): Delete. - (vcvtq_n_f16_u16): Delete. - (vcvtq_n_f32_u32): Delete. - (vcvtq_n_s16_f16): Delete. - (vcvtq_n_s32_f32): Delete. - (vcvtq_n_u16_f16): Delete. - (vcvtq_n_u32_f32): Delete. - (vcvtq_m_f16_s16): Delete. - (vcvtq_m_f16_u16): Delete. - (vcvtq_m_f32_s32): Delete. - (vcvtq_m_f32_u32): Delete. - (vcvtq_m_s16_f16): Delete. - (vcvtq_m_u16_f16): Delete. - (vcvtq_m_s32_f32): Delete. - (vcvtq_m_u32_f32): Delete. - (vcvtq_m_n_f16_u16): Delete. - (vcvtq_m_n_f16_s16): Delete. - (vcvtq_m_n_f32_u32): Delete. - (vcvtq_m_n_f32_s32): Delete. - (vcvtq_m_n_s32_f32): Delete. - (vcvtq_m_n_s16_f16): Delete. - (vcvtq_m_n_u32_f32): Delete. - (vcvtq_m_n_u16_f16): Delete. - (vcvtq_x_f16_u16): Delete. - (vcvtq_x_f16_s16): Delete. - (vcvtq_x_f32_s32): Delete. - (vcvtq_x_f32_u32): Delete. - (vcvtq_x_n_f16_s16): Delete. - (vcvtq_x_n_f16_u16): Delete. - (vcvtq_x_n_f32_s32): Delete. - (vcvtq_x_n_f32_u32): Delete. - (vcvtq_x_s16_f16): Delete. - (vcvtq_x_s32_f32): Delete. - (vcvtq_x_u16_f16): Delete. - (vcvtq_x_u32_f32): Delete. - (vcvtq_x_n_s16_f16): Delete. - (vcvtq_x_n_s32_f32): Delete. - (vcvtq_x_n_u16_f16): Delete. - (vcvtq_x_n_u32_f32): Delete. - (__arm_vcvtq_f16_s16): Delete. - (__arm_vcvtq_f32_s32): Delete. - (__arm_vcvtq_f16_u16): Delete. - (__arm_vcvtq_f32_u32): Delete. - (__arm_vcvtq_s16_f16): Delete. - (__arm_vcvtq_s32_f32): Delete. - (__arm_vcvtq_u16_f16): Delete. - (__arm_vcvtq_u32_f32): Delete. - (__arm_vcvtq_n_f16_s16): Delete. - (__arm_vcvtq_n_f32_s32): Delete. - (__arm_vcvtq_n_f16_u16): Delete. - (__arm_vcvtq_n_f32_u32): Delete. - (__arm_vcvtq_n_s16_f16): Delete. - (__arm_vcvtq_n_s32_f32): Delete. - (__arm_vcvtq_n_u16_f16): Delete. - (__arm_vcvtq_n_u32_f32): Delete. - (__arm_vcvtq_m_f16_s16): Delete. - (__arm_vcvtq_m_f16_u16): Delete. - (__arm_vcvtq_m_f32_s32): Delete. - (__arm_vcvtq_m_f32_u32): Delete. - (__arm_vcvtq_m_s16_f16): Delete. - (__arm_vcvtq_m_u16_f16): Delete. - (__arm_vcvtq_m_s32_f32): Delete. - (__arm_vcvtq_m_u32_f32): Delete. - (__arm_vcvtq_m_n_f16_u16): Delete. - (__arm_vcvtq_m_n_f16_s16): Delete. - (__arm_vcvtq_m_n_f32_u32): Delete. - (__arm_vcvtq_m_n_f32_s32): Delete. - (__arm_vcvtq_m_n_s32_f32): Delete. - (__arm_vcvtq_m_n_s16_f16): Delete. - (__arm_vcvtq_m_n_u32_f32): Delete. - (__arm_vcvtq_m_n_u16_f16): Delete. - (__arm_vcvtq_x_f16_u16): Delete. - (__arm_vcvtq_x_f16_s16): Delete. - (__arm_vcvtq_x_f32_s32): Delete. - (__arm_vcvtq_x_f32_u32): Delete. - (__arm_vcvtq_x_n_f16_s16): Delete. - (__arm_vcvtq_x_n_f16_u16): Delete. - (__arm_vcvtq_x_n_f32_s32): Delete. - (__arm_vcvtq_x_n_f32_u32): Delete. - (__arm_vcvtq_x_s16_f16): Delete. - (__arm_vcvtq_x_s32_f32): Delete. - (__arm_vcvtq_x_u16_f16): Delete. - (__arm_vcvtq_x_u32_f32): Delete. - (__arm_vcvtq_x_n_s16_f16): Delete. - (__arm_vcvtq_x_n_s32_f32): Delete. - (__arm_vcvtq_x_n_u16_f16): Delete. - (__arm_vcvtq_x_n_u32_f32): Delete. - (__arm_vcvtq): Delete. - (__arm_vcvtq_n): Delete. - (__arm_vcvtq_m): Delete. - (__arm_vcvtq_m_n): Delete. - (__arm_vcvtq_x): Delete. - (__arm_vcvtq_x_n): Delete. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc - (nonoverloaded_base::explicit_type_suffix_p): Add unused - type_suffix_info parameter. - (overloaded_base::explicit_type_suffix_p): Likewise. - (unary_n_def::explicit_type_suffix_p): Likewise. - (vcvt): New. - * config/arm/arm-mve-builtins-shapes.h (vcvt): New. - * config/arm/arm-mve-builtins.cc (function_builder::get_name): Add - new type_suffix parameter. - (function_builder::add_overloaded_functions): Likewise. - * config/arm/arm-mve-builtins.h - (function_shape::explicit_type_suffix_p): Likewise. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/iterators.md (mve_insn): Add VCVTQ_FROM_F_S, - VCVTQ_FROM_F_U, VCVTQ_M_FROM_F_S, VCVTQ_M_FROM_F_U, - VCVTQ_M_N_FROM_F_S, VCVTQ_M_N_FROM_F_U, VCVTQ_M_N_TO_F_S, - VCVTQ_M_N_TO_F_U, VCVTQ_M_TO_F_S, VCVTQ_M_TO_F_U, - VCVTQ_N_FROM_F_S, VCVTQ_N_FROM_F_U, VCVTQ_N_TO_F_S, - VCVTQ_N_TO_F_U, VCVTQ_TO_F_S, VCVTQ_TO_F_U. - * config/arm/mve.md (mve_vcvtq_to_f_<supf><mode>): Rename into - @mve_<mve_insn>q_to_f_<supf><mode>. - (mve_vcvtq_from_f_<supf><mode>): Rename into - @mve_<mve_insn>q_from_f_<supf><mode>. - (mve_vcvtq_n_to_f_<supf><mode>): Rename into - @mve_<mve_insn>q_n_to_f_<supf><mode>. - (mve_vcvtq_n_from_f_<supf><mode>): Rename into - @mve_<mve_insn>q_n_from_f_<supf><mode>. - (mve_vcvtq_m_to_f_<supf><mode>): Rename into - @mve_<mve_insn>q_m_to_f_<supf><mode>. - (mve_vcvtq_m_n_from_f_<supf><mode>): Rename into - @mve_<mve_insn>q_m_n_from_f_<supf><mode>. - (mve_vcvtq_m_from_f_<supf><mode>): Rename into - @mve_<mve_insn>q_m_from_f_<supf><mode>. - (mve_vcvtq_m_n_to_f_<supf><mode>): Rename into - @mve_<mve_insn>q_m_n_to_f_<supf><mode>. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-functions.h - (unspec_based_mve_function_base): Add m_unspec_for_sint, - m_unspec_for_uint, m_unspec_for_fp and expand_unspec members. - (unspec_based_mve_function_exact_insn): Inherit from - unspec_based_mve_function_base and use expand_unspec. - (unspec_mve_function_exact_insn): Likewise. - (unspec_mve_function_exact_insn_pred_p): Likewise. Use - conditionals. - (unspec_mve_function_exact_insn_vshl): Likewise. - (unspec_based_mve_function_exact_insn_vcmp): Initialize new - inherited members. Use conditionals. - (unspec_mve_function_exact_insn_rot): Merge PRED_m and PRED_x - handling. Use conditionals. - (unspec_mve_function_exact_insn_vmull): Likewise. - (unspec_mve_function_exact_insn_vmull_poly): Likewise. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (create_def::resolve): - Delete function. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/arm-mve-builtins-shapes.cc (binary_orrq_def): Improve comment. - -2024-10-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117171 - * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): - Relax vect_external_def VECTOR_BOOLEAN_TYPE_P constraint. - -2024-10-17 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR middle-end/77608 - * tree-object-size.cc (plus_stmt_object_size): Drop check for - constant offset. - -2024-10-17 Patrick Palka <ppalka@redhat.com> - - * doc/extend.texi (C++ Concepts): Remove section. Move - __is_same documentation to the previous Type Traits section. - -2024-10-17 Oleg Endo <olegendo@gcc.gnu.org> - - PR target/113533 - * config/sh/sh.cc (sh_rtx_costs): Delete wrong semicolon. - -2024-10-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117172 - * tree-vect-loop.cc (vectorizable_nonlinear_induction): Add - single-lane SLP support. - -2024-10-17 Denis Chertykov <chertykov@gmail.com> - - PR target/116550 - * lra-constraints.cc (get_reload_reg): Reuse scratch registers - generated by LRA. - -2024-10-17 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_lower_load_permutations): Avoid - exempting non-power-of-two group sizes from lowering. - -2024-10-17 Lingling Kong <lingling.kong@intel.com> - - * config/i386/sse.md(avx10_2_comsbf16_v8bf): Fixed scalar - operands. - -2024-10-17 liuhongt <hongtao.liu@intel.com> - - PR target/116940 - * config/i386/sse.md (*avx2_pcmp<mode>3_7): Change - UNSPEC_PCMP_ITER to UNSPEC_PCMP. - (*avx2_pcmp<mode>3_8): New pre_reload - define_insn_and_splitter. - -2024-10-17 liuhongt <hongtao.liu@intel.com> - - PR target/117072 - * config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>): - Relax predicates of fma operands from register_operand to - nonimmediate_operand. - (<avx512>_fmadd_<mode>_mask3<round_name>): Ditto. - (<avx512>_fmsub_<mode>_mask<round_name>): Ditto. - (<avx512>_fmsub_<mode>_mask3<round_name>): Ditto. - (<avx512>_fnmadd_<mode>_mask<round_name>): Ditto. - (<avx512>_fnmadd_<mode>_mask3<round_name>): Ditto. - (<avx512>_fnmsub_<mode>_mask<round_name>): Ditto. - (<avx512>_fnmsub_<mode>_mask3<round_name>): Ditto. - (<avx512>_fmaddsub_<mode>_mask3<round_name>): Ditto. - (<avx512>_fmsubadd_<mode>_mask<round_name>): Ditto. - (<avx512>_fmsubadd_<mode>_mask3<round_name>): Ditto. - (avx512f_vmfmadd_<mode>_mask<round_name>): Ditto. - (avx512f_vmfmadd_<mode>_mask3<round_name>): Ditto. - (avx512f_vmfmadd_<mode>_maskz_1<round_name>): Ditto. - (*avx512f_vmfmsub_<mode>_mask<round_name>): Ditto. - (avx512f_vmfmsub_<mode>_mask3<round_name>): Ditto. - (*avx512f_vmfmsub_<mode>_maskz_1<round_name>): Ditto. - (avx512f_vmfnmadd_<mode>_mask<round_name>): Ditto. - (avx512f_vmfnmadd_<mode>_mask3<round_name>): Ditto. - (avx512f_vmfnmadd_<mode>_maskz_1<round_name>): Ditto. - (*avx512f_vmfnmsub_<mode>_mask<round_name>): Ditto. - (*avx512f_vmfnmsub_<mode>_mask3<round_name>): Ditto. - (*avx512f_vmfnmsub_<mode>_maskz_1<round_name>): Ditto. - (avx10_2_fmaddnepbf16_<mode>_mask3): Ditto. - (avx10_2_fnmaddnepbf16_<mode>_mask3): Ditto. - (avx10_2_fmsubnepbf16_<mode>_mask3): Ditto. - (avx10_2_fnmsubnepbf16_<mode>_mask3): Ditto. - (fmai_vmfmadd_<mode><round_name>): Swap operands[1] and operands[2]. - (fmai_vmfmsub_<mode><round_name>): Ditto. - (fmai_vmfnmadd_<mode><round_name>): Ditto. - (fmai_vmfnmsub_<mode><round_name>): Ditto. - (*fmai_fmadd_<mode>): Swap operands[1] and operands[2] adjust - operands[1] predicates from register_operand to - nonimmediate_operand. - (*fmai_fmsub_<mode>): Ditto. - (*fmai_fnmadd_<mode><round_name>): Ditto. - (*fmai_fnmsub_<mode><round_name>): Ditto. - -2024-10-17 liuhongt <hongtao.liu@intel.com> - - PR middle-end/117072 - * combine.cc (maybe_swap_commutative_operands): - Canonicalize (vec_merge (fma op2 op1 op3) op1 mask) - to (vec_merge (fma op1 op2 op3) op1 mask). - -2024-10-17 Cui, Lili <lili.cui@intel.com> - - * config/i386/sse.md (andn<mode>3): New. - * config/i386/mmx.md (andn<mode>3): New. - -2024-10-16 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * tree-object-size.cc (plus_stmt_object_size): Call - SIZE_FOR_OFFSET for some negative offset cases. - -2024-10-16 Jolen Li <jolen.li@arm.com> - Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/arm-mve-builtins-base.cc (vdupq_impl): New class. - (vdupq): Use new implementation. - * config/arm/arm.cc (arm_rtx_costs_internal): Handle HFmode - for COST_DOUBLE. Update costing for CONST_VECTOR. - * config/arm/arm_mve_builtins.def: Merge vdupq_n_f, vdupq_n_s - and vdupq_n_u into vdupq_n. - * config/arm/mve.md (mve_vdup<mode>): Rename into ... - (@mve_vdup_n<mode>): ... this. - (@mve_<mve_insn>q_n_f<mode>): Delete. - (@mve_<mve_insn>q_n_<supf><mode>): Delete.. - (@mve_<mve_insn>q_m_n_<supf><mode>): Update mve_unpredicated_insn - attribute. - (@mve_<mve_insn>q_m_n_f<mode>): Likewise. - -2024-10-16 Jolen Li <jolen.li@arm.com> - Christophe Lyon <christophe.lyon@arm.com> - - * config/arm/mve.md (mve_vdup<mode>): Fix mode iterator. - -2024-10-16 David Malcolm <dmalcolm@redhat.com> - - PR other/116602 - * diagnostic-format-sarif.cc: Include "demangle.h" and - "backtrace.h". - (sarif_invocation::add_notification_for_ice): Add "backtrace" - param and pass it to ctor. - (sarif_ice_notification::sarif_ice_notification): Add "backtrace" - param and add it to property bag. - (bt_stop): New, taken from diagnostic.cc. - (struct bt_closure): New. - (bt_callback): New, adapted from diagnostic.cc. - (sarif_builder::make_stack_from_backtrace): New. - (sarif_builder::on_report_diagnostic): Attempt to get backtrace - and pass it to add_notification_for_ice. - -2024-10-16 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * diagnostic-format-sarif.cc - (sarif_builder::on_report_diagnostic): Move the fnotice here from - sarif_ice_handler. - (sarif_ice_handler): Delete. - (diagnostic_output_format_init_sarif): Drop setting of ice handler - callback. - * diagnostic.cc (diagnostic_context::initialize): Likewise. - (diagnostic_context::action_after_output): Rather than call - m_ice_handler_cb, instead call finish on this context. - * diagnostic.h (ice_handler_callback_t): Delete typedef. - (diagnostic_context::set_ice_handler_callback): Delete. - (diagnostic_context::m_ice_handler_cb): Delete. - -2024-10-16 Andi Kleen <ak@gcc.gnu.org> - - PR middle-end/116510 - * tree-if-conv.cc (predicate_bbs): Add missing fold_converts. - -2024-10-16 Jakub Jelinek <jakub@redhat.com> - - * attribs.cc (lookup_scoped_attribute_spec): ?: operator formatting - fixes. - * basic-block.h (FOR_BB_INSNS_SAFE): Likewise. - * cfgcleanup.cc (outgoing_edges_match): Likewise. - * cgraph.cc (cgraph_node::dump): Likewise. - * config/arc/arc.cc (gen_acc1, gen_acc2): Likewise. - * config/arc/arc.h (CLASS_MAX_NREGS, CONSTANT_ADDRESS_P): Likewise. - * config/arm/arm.cc (arm_print_operand): Likewise. - * config/cris/cris.md (*b<rnzcond:code><mode>): Likewise. - * config/darwin.cc (darwin_asm_declare_object_name, - darwin_emit_common): Likewise. - * config/darwin-driver.cc (darwin_driver_init): Likewise. - * config/epiphany/epiphany.md (call, sibcall, call_value, - sibcall_value): Likewise. - * config/i386/i386.cc (gen_push2): Likewise. - * config/i386/i386.h (ix86_cur_cost): Likewise. - * config/i386/openbsdelf.h (FUNCTION_PROFILER): Likewise. - * config/loongarch/loongarch-c.cc (loongarch_cpu_cpp_builtins): - Likewise. - * config/loongarch/loongarch-cpu.cc (fill_native_cpu_config): - Likewise. - * config/riscv/riscv.cc (riscv_union_memmodels): Likewise. - * config/riscv/zc.md (*mva01s<X:mode>, *mvsa01<X:mode>): Likewise. - * config/rs6000/mmintrin.h (_mm_cmpeq_pi8, _mm_cmpgt_pi8, - _mm_cmpeq_pi16, _mm_cmpgt_pi16, _mm_cmpeq_pi32, _mm_cmpgt_pi32): - Likewise. - * config/v850/predicates.md (pattern_is_ok_for_prologue): Likewise. - * config/xtensa/constraints.md (d, C, W): Likewise. - * coverage.cc (coverage_begin_function, build_init_ctor, - build_gcov_exit_decl): Likewise. - * df-problems.cc (df_create_unused_note): Likewise. - * diagnostic.cc (diagnostic_set_caret_max_width): Likewise. - * diagnostic-path.cc (path_summary::path_summary): Likewise. - * expr.cc (expand_expr_divmod): Likewise. - * gcov.cc (format_gcov): Likewise. - * gcov-dump.cc (dump_gcov_file): Likewise. - * genmatch.cc (main): Likewise. - * incpath.cc (remove_duplicates, register_include_chains): Likewise. - * ipa-devirt.cc (dump_odr_type): Likewise. - * ipa-icf.cc (sem_item_optimizer::merge_classes): Likewise. - * ipa-inline.cc (inline_small_functions): Likewise. - * ipa-polymorphic-call.cc (ipa_polymorphic_call_context::dump): - Likewise. - * ipa-sra.cc (create_parameter_descriptors): Likewise. - * ipa-utils.cc (find_always_executed_bbs): Likewise. - * predict.cc (predict_loops): Likewise. - * selftest.cc (read_file): Likewise. - * sreal.h (SREAL_SIGN, SREAL_ABS): Likewise. - * tree-dump.cc (dequeue_and_dump): Likewise. - * tree-ssa-ccp.cc (bit_value_binop): Likewise. - -2024-10-16 Eric Botcazou <ebotcazou@adacore.com> - - PR target/113952 - PR target/117168 - * config/sparc/constraints.md ('U'): Delete. - * config/sparc/sparc.md (*movdi_insn_sp32): Remove U alternatives. - (*movdf_insn_sp32): Likewise. - (*mov<VM64:mode>_insn_sp32): Likewise. - * doc/md.texi (SPARC constraints): Remove entry for 'U'. - -2024-10-16 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): Move - VMAT_ELEMENTWISE fallback for single-element interleaving - of too large groups before overrun checking. - -2024-10-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117050 - * tree-vect-slp.cc (vect_build_slp_tree_2): Properly handle - non-grouped masked loads when handling permutations. - -2024-10-16 Richard Biener <rguenther@suse.de> - - * tree-vectorizer.h (SLP_INSTANCE_UNROLLING_FACTOR): Remove. - (slp_instance::unrolling_factor): Likewise. - * tree-vect-slp.cc (vect_build_slp_instance): Do not set - SLP_INSTANCE_UNROLLING_FACTOR. Remove then dead code. - Compute and set max_nunits from the RHS nodes merged. - (vect_update_slp_vf_for_node): New function. - (vect_make_slp_decision): Use vect_update_slp_vf_for_node - to compute VF recursively. - (vect_build_slp_store_interleaving): Get max_nunits and - properly set that on the permute nodes built. - (vect_analyze_slp): Do not set SLP_INSTANCE_UNROLLING_FACTOR. - -2024-10-16 Robin Dapp <rdapp@ventanamicro.com> - - PR target/116655 - * config/riscv/riscv-vector-costs.cc (max_number_of_live_regs): - Use biggest mode instead of constant's saved mode. - -2024-10-16 Jakub Jelinek <jakub@redhat.com> - - * gimplify.cc (gimplify_init_ctor_eval): For larger RAW_DATA_CST, - just gimplify cref as lvalue and add gimple assignment of rctor - to cref instead of going through gimplification of INIT_EXPR, as - the latter can suffer from infinite recursion. - -2024-10-16 Jakub Jelinek <jakub@redhat.com> - - * treestruct.def (TS_RAW_DATA_CST): New. - * tree.def (RAW_DATA_CST): New tree code. - * tree-core.h (struct tree_raw_data): New type. - (union tree_node): Add raw_data_cst member. - * tree.h (RAW_DATA_LENGTH, RAW_DATA_POINTER, RAW_DATA_OWNER): Define. - (gt_ggc_mx, gt_pch_nx): Declare overloads for tree_raw_data *. - * tree.cc (tree_node_structure_for_code): Handle RAW_DATA_CST. - (initialize_tree_contains_struct): Handle TS_RAW_DATA_CST. - (tree_code_size): Handle RAW_DATA_CST. - (initializer_zerop): Likewise. - (gt_ggc_mx, gt_pch_nx): Define overloads for tree_raw_data *. - * gimplify.cc (gimplify_init_ctor_eval): Handle RAW_DATA_CST. - * fold-const.cc (operand_compare::operand_equal_p): Handle - RAW_DATA_CST. Formatting fix. - (operand_compare::hash_operand): Handle RAW_DATA_CST. - (native_encode_initializer): Likewise. - (get_array_ctor_element_at_index): Likewise. - (fold): Likewise. - * gimple-fold.cc (fold_array_ctor_reference): Likewise. Formatting - fix. - * varasm.cc (const_hash_1): Handle RAW_DATA_CST. - (initializer_constant_valid_p_1): Likewise. - (array_size_for_constructor): Likewise. - (output_constructor_regular_field): Likewise. - * expr.cc (categorize_ctor_elements_1): Likewise. - (expand_expr_real_1) <case ARRAY_REF>: Punt for RAW_DATA_CST. - * tree-streamer.cc (streamer_check_handled_ts_structures): Mark - TS_RAW_DATA_CST as handled. - * tree-streamer-in.cc (streamer_alloc_tree): Handle RAW_DATA_CST. - (lto_input_ts_raw_data_cst_tree_pointers): New function. - (streamer_read_tree_body): Call it for RAW_DATA_CST. - * tree-streamer-out.cc (write_ts_raw_data_cst_tree_pointers): New - function. - (streamer_write_tree_body): Call it for RAW_DATA_CST. - (streamer_write_tree_header): Handle RAW_DATA_CST. - * lto-streamer-out.cc (DFS::DFS_write_tree_body): Handle RAW_DATA_CST. - * tree-pretty-print.cc (dump_generic_node): Likewise. - -2024-10-16 Sam James <sam@gentoo.org> - - * config/vax/vax.opt.urls: Adjust index for -mlra. - -2024-10-16 Sam James <sam@gentoo.org> - - PR target/113952 - * config/sparc/sparc.cc (sparc_lra_p): Delete. - (TARGET_LRA_P): Ditto. - (sparc_option_override): Don't use MASK_LRA. - * config/sparc/sparc.md (disabled,enabled): Drop lra attribute. - * config/sparc/sparc.opt: Delete -mlra. - * config/sparc/sparc.opt.urls: Ditto. - * doc/invoke.texi (SPARC options): Drop -mlra and -mno-lra. - -2024-10-15 Qing Zhao <qing.zhao@oracle.com> - - PR c/116016 - * doc/extend.texi: Add documentation for __builtin_counted_by_ref. - -2024-10-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116891 - * match.pd ((negate (fmas@3 @0 @1 @2)) -> (IFN_FNMS @0 @1 @2)): - Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING. - ((negate (IFN_FMS@3 @0 @1 @2)) -> (IFN_FNMA @0 @1 @2)): Likewise. - ((negate (IFN_FNMA@3 @0 @1 @2)) -> (IFN_FMS @0 @1 @2)): Likewise. - -2024-10-15 Andrew Pinski <quic_apinski@quicinc.com> - - PR c++/117157 - * doc/invoke.texi (Wno-changes-meaning): Add opindex. - -2024-10-15 Uros Bizjak <ubizjak@gmail.com> - - PR target/117116 - * config/i386/i386-expand.cc (expand_vector_set): Force "val" - into a register before VEC_MERGE/VEC_DUPLICATE RTX is generated - if it doesn't satisfy nonimmediate_operand predicate. - -2024-10-15 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-dce.cc (perform_tree_ssa_dce): Remove FIXME note. - -2024-10-15 Andrew Pinski <quic_apinski@quicinc.com> - - * gen-pass-instances.awk: Remove the limit of the params. - * pass_manager.h (NEXT_PASS_WITH_ARG2): Rename to ... - (NEXT_PASS_WITH_ARGS): This. - * passes.cc (NEXT_PASS_WITH_ARG2): Rename to ... - (NEXT_PASS_WITH_ARGS): This and support more than 2 params by using - a constexpr array. - -2024-10-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116907 - * tree-ssa-live.cc (clear_unused_block_pointer_in_block): New - helper. - (clear_unused_block_pointer): Call it. - -2024-10-15 Pan Li <pan2.li@intel.com> - - PR middle-end/117141 - * match.pd: Remove the dup pattern for signed SAT_SUB. - -2024-10-15 Tamar Christina <tamar.christina@arm.com> - - * tree-vectorizer.h (vect_mem_access_type): New. - * config/aarch64/aarch64.cc (aarch64_ld234_st234_vectors): Use it. - (aarch64_detect_vector_stmt_subtype): Likewise. - (aarch64_adjust_stmt_cost): Likewise. - (aarch64_vector_costs::count_ops): Likewise. - (aarch64_vector_costs::add_stmt_cost): Make SLP node named. - -2024-10-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117138 - * gimple-range-fold.cc (fold_using_range::condexpr_adjust): - Check if the comparison operand type is supported. - -2024-10-15 Richard Biener <rguenther@suse.de> - - PR middle-end/117137 - * expr.cc (expand_cond_expr_using_cmove): Make sure to - expand vector comparisons separately. - -2024-10-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117147 - * tree-vect-slp.cc (vect_build_slp_tree_1): Put vars and - initialization of per-lane data into the per-lane processing - loop to avoid re-using previous lane state. - -2024-10-15 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svmul_impl::fold): - Implement fold to svlsl for power-of-2 operands. - -2024-10-15 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (Wtrailing-whitespace): Document. - -2024-10-15 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/117110 - * Makefile.in (generated_files, generated_match_files, - build/genmatch$(build_exeext), LINKER_FOR_BUILD): Revert - 2024-10-12 changes. - * genmatch.cc: Don't include pretty-print.h and input.h. - (fatal, ggc_internal_cleared_alloc, ggc_free, line_table, - linemap_client_expand_location_to_spelling_point): Revert - 2024-10-12 changes. - (DIAG_ARGMAX): Define. - (diag_integer_with_precision): Define. - (diag_vfprintf): New function. - (diagnostic_cb): Use diag_vfprintf instead of pp_format_verbatim. - (output_line_directive): Revert 2024-10-12 changes. - -2024-10-14 David Malcolm <dmalcolm@redhat.com> - - PR bootstrap/117109 - * diagnostic-format-sarif.cc - (diagnostic_output_format_init_sarif_file): Rename - diagnostic_context::emit_diagnostic to - diagnostic_context::emit_diagnostic_with_group. - * diagnostic.cc (diagnostic_context::emit_diagnostic): Rename - to... - (diagnostic_context::emit_diagnostic_with_group): ...this. - (diagnostic_context::emit_diagnostic_va): Rename to... - (diagnostic_context::emit_diagnostic_with_group_va): ...this. - * diagnostic.h (diagnostic_context::emit_diagnostic): Rename to... - (diagnostic_context::emit_diagnostic_with_group): ...this. - (diagnostic_context::emit_diagnostic_va): Rename to... - (diagnostic_context::emit_diagnostic_with_group_va): ...this. - -2024-10-14 Andre Vieira <andre.simoesdiasvieira@arm.com> - Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116997 - * fold-const.cc (fold_ternary_loc): Fix BIT_INSERT_EXPR constant folding - for BYTES_BIG_ENDIAN targets. - -2024-10-14 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-dce.cc (tree_ssa_dce): Remove. - (tree_ssa_cd_dce): Remove. - (class pass_dce_base): New class. - (class pass_dce): Use pass_dce_base as the base class. - (class pass_cd_dce): Likewise. - -2024-10-14 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117096 - * passes.def: Update some of the dce/cd-cde passes setting - the 2nd arg to true. - Also remove comment about stdarg since dce does it. - * tree-ssa-dce.cc (pass_dce): Add remove_unused_locals_p field. - Update set_pass_param to allow for 2nd param. - Use remove_unused_locals_p in execute to return TODO_remove_unused_locals. - (pass_cd_dce): Likewise. - * tree-stdarg.cc (pass_data_stdarg): Remove TODO_remove_unused_locals. - -2024-10-14 Andrew Pinski <quic_apinski@quicinc.com> - - * gen-pass-instances.awk (END): Handle processing - of multiple arguments to NEXT_PASS. Also error out - if using more than max_number_args (2). - * pass_manager.h (NEXT_PASS_WITH_ARG2): New define. - * passes.cc (NEXT_PASS_WITH_ARG2): New define. - -2024-10-14 Andrew Pinski <quic_apinski@quicinc.com> - - * gen-pass-instances.awk: Print out the #undefs. - * pass_manager.h: Don't #undef INSERT_PASSES_AFTER, - PUSH_INSERT_PASSES_WITHIN, POP_INSERT_PASSES, NEXT_PASS, - NEXT_PASS_WITH_ARG, and TERMINATE_PASS_LIST. - * passes.cc: Likewise. - -2024-10-14 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116956 - * tree-vectorizer.cc (vec_info::move_dr): Copy STMT_VINFO_STRIDED_P. - -2024-10-14 Tamar Christina <tamar.christina@arm.com> - - PR rtl-optimization/117012 - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Use - const_vec_duplicate_p instead of CONST_VECTOR_DUPLICATE_P. - -2024-10-14 Tamar Christina <tamar.christina@arm.com> - - PR target/116371 - * config/aarch64/aarch64-sve-builtins-sve2.cc (class svpsel_impl): - Renamed to ... - (class svpsel_lane_impl): ... This and adjust initialization. - * config/aarch64/aarch64-sve-builtins-sve2.def (svpsel): Renamed to ... - (svpsel_lane): ... This. - * config/aarch64/aarch64-sve-builtins-sve2.h (svpsel): Renamed to - svpsel_lane. - -2024-10-14 Tamar Christina <tamar.christina@arm.com> - - * tree-vect-loop.cc (vect_analyze_loop_2): Handle SLP trees with no - children. - * tree-vectorizer.h (enum slp_instance_kind): Add slp_inst_kind_gcond. - (LOOP_VINFO_EARLY_BREAKS_LIVE_IVS): New. - (vectorizable_early_exit): Expose. - (class _loop_vec_info): Add early_break_live_stmts. - * tree-vect-slp.cc (vect_build_slp_instance, vect_analyze_slp_instance): - Support gcond instances. - (vect_analyze_slp): Analyze gcond roots and early break live statements. - (maybe_push_to_hybrid_worklist): Don't sink gconds. - (vect_slp_analyze_operations): Support gconds. - (vect_slp_check_for_roots): Update comments. - (vectorize_slp_instance_root_stmt): Support gconds. - (vect_schedule_slp): Pass vinfo to vectorize_slp_instance_root_stmt. - * tree-vect-stmts.cc (vect_stmt_relevant_p): Record early break live - statements. - (vectorizable_early_exit): Support SLP. - -2024-10-14 Victor Do Nascimento <victor.donascimento@arm.com> - - PR middle-end/116926 - * optabs-query.cc (find_widening_optab_handler_and_mode): Add - handling of vector -> scalar optab handling. - -2024-10-14 Richard Sandiford <richard.sandiford@arm.com> - - PR target/116999 - PR target/117045 - * config/aarch64/aarch64-sve-builtins-base.cc - (svwhilelx_impl::fold): Check for WHILELTs of the minimum value - and WHILELEs of the maximum value. Fold them to all-false and - all-true respectively. - -2024-10-14 Richard Biener <rguenther@suse.de> - - PR middle-end/116891 - * match.pd ((negate (IFN_FNMS@3 @0 @1 @2)) -> (IFN_FMA @0 @1 @2)): - Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING. - -2024-10-14 Pan Li <pan2.li@intel.com> - - * match.pd: Add matching pattern for vector signed SAT_SUB form 3. - -2024-10-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116290 - * tree-loop-distribution.cc (determine_reduction_stmt_1): PHIs - have no debug variants. Start with first non-debug real stmt. - * tree-ssa-loop-ivopts.cc (find_givs_in_bb): Do not analyze - debug stmts. - -2024-10-14 Oleg Endo <olegendo@gcc.gnu.org> - Roger Sayle <roger@nextmovesoftware.com> - - PR target/113533 - * config/sh/sh.cc (sh_rtx_costs): Adjust cost estimation of MEM rtx - to be always at least COST_N_INSNS (1). Forward speed argument to - sh_address_cost. - -2024-10-13 Andreas Schwab <schwab@linux-m68k.org> - - * config/m68k/m68k.md ("movsi", "movxf"): Replace - reload_in_progress by reload_in_progress || lra_in_progress. - * config/m68k/m68k.cc (m68k_legitimate_mem_p) - (emit_move_sequence): Likewise. - * config/m68k/predicates.md ("fp_src_operand"): Likewise. - -2024-10-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116481 - * pointer-query.cc (build_printable_array_type): - Build an array types with function or method element type - manually to avoid bogus diagnostic. - -2024-10-13 Tobias Burnus <tburnus@baylibre.com> - - * gimple-fold.cc (gimple_fold_builtin_acc_on_device): Also fold - when offloading is not configured. - -2024-10-13 Jivan Hakobyan <jivanhakobyan9@gmail.com> - - * config/riscv/riscv.md (zero_extendsidi2): If RHS is already - zero extended, then this is just a copy. - (extendsidi2): Similarly, but for sign extension. - -2024-10-12 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/116985 - * tree-vect-loop.cc (vect_transform_reduction): Compute loop mask - index based on effective vector copies for reduction op. - -2024-10-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117104 - * match.pd ((cmp:c (minmax:c @0 @1) @0) -> (out @0 @1)): Properly - guard the vector case. - -2024-10-12 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/constraints.md (P): New constraint. - * config/riscv/vector.md (pred_broadcast<mode> expander): Do - not force small integers into GPRs so aggressively. - (pred_broadcast<mode> insn & splitter): Allow splatting small - constants across the vector register directly. Allow splatting - (const_int 0) into element 0 directly. - -2024-10-12 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (LINKER_FOR_BUILD): Append -no-pie if it is in - $(LD_PICFLAG) when building build/genmatch. - -2024-10-12 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in (generated_files): Remove {gimple,generic}-match*. - (generated_match_files): New variable. Add a dependency of - $(filter-out $(OBJS-libcommon),$(ALL_HOST_OBJS)) files on those. - (build/genmatch$(build_exeext)): Depend on and link against - libcommon.a and $(LIBBACKTRACE). - * genmatch.cc: Include pretty-print.h and input.h. - (ggc_internal_cleared_alloc, ggc_free): Remove. - (fatal): New function. - (line_table): Remove. - (linemap_client_expand_location_to_spelling_point): Remove. - (diagnostic_cb): Use gcc_diag rather than printf format. Use - pp_format_verbatim on a temporary pretty_printer instead of - vfprintf. - (fatal_at, warning_at): Use gcc_diag rather than printf format. - (output_line_directive): Rename location_hash to loc_hash. - (parser::eat_ident, parser::parse_operation, parser::parse_expr, - parser::parse_pattern, parser::finish_match_operand): Fix up - -Wformat-diag warnings. - -2024-10-12 Pan Li <pan2.li@intel.com> - - * config/riscv/autovec.md (sssub<mode>3): Add new pattern for - signed SAT_SUB. - * config/riscv/riscv-protos.h (expand_vec_sssub): Add new func - decl to expand sssub to vssub. - * config/riscv/riscv-v.cc (expand_vec_sssub): Add new func - impl to expand sssub to vssub. - -2024-10-12 Pan Li <pan2.li@intel.com> - - * tree-vect-patterns.cc (gimple_signed_integer_sat_sub): Add new - func decl for signed SAT_SUB. - (vect_recog_sat_sub_pattern_transform): Update comments. - (vect_recog_sat_sub_pattern): Try the vector signed SAT_SUB - pattern. - -2024-10-12 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 1 matching pattern for vector signed SAT_SUB. - -2024-10-11 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117048 - * config/aarch64/aarch64-simd.md (aarch64_xarqv2di): Redefine into a - define_expand. - (*aarch64_xarqv2di_insn): Define. - -2024-10-11 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117048 - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): - Handle vector constants in (x << C1) | (x >> C2) -> ROTATE - simplification. - -2024-10-11 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/116826 - PR tree-optimization/86710 - * match.pd: Fold logN(1.0/a) -> -logN(a), - logN(C/a) -> logN(C) - logN(a), logN(a) + logN(b) -> logN(a*b), - and logN(a) - logN(b) -> logN(a/b). - -2024-10-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117080 - * tree-vectorizer.h (_slp_tree::memory_access_type): Add. - (SLP_TREE_MEMORY_ACCESS_TYPE): New. - (record_stmt_cost): Add another overload. - * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize - memory_access_type. - * tree-vect-stmts.cc (vectorizable_store): Set - SLP_TREE_MEMORY_ACCESS_TYPE. - (vectorizable_load): Likewise. Also record the SLP node - when costing emulated gather offset decompose and vector - composition. - * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): Also - recognize SLP emulated gather/scatter. - -2024-10-11 Saurabh Jha <saurabh.jha@arm.com> - - * config/aarch64/aarch64-sve2.md - (*aarch64_pred_faminmax_fused): Instruction pattern for faminmax - codegen. - * config/aarch64/iterators.md: Iterator and attribute for - faminmax codegen. - -2024-10-11 Saurabh Jha <saurabh.jha@arm.com> - - * config/aarch64/aarch64-sve-builtins-base.cc - (svamax): Absolute maximum declaration. - (svamin): Absolute minimum declaration. - * config/aarch64/aarch64-sve-builtins-base.def - (REQUIRED_EXTENSIONS): Add faminmax intrinsics behind a flag. - (svamax): Absolute maximum declaration. - (svamin): Absolute minimum declaration. - * config/aarch64/aarch64-sve-builtins-base.h: Declaring function - bases for the new intrinsics. - * config/aarch64/aarch64.h - (TARGET_SVE_FAMINMAX): New flag for SVE2 faminmax. - * config/aarch64/iterators.md: New unspecs, iterators, and attrs - for the new intrinsics. - -2024-10-11 Richard Biener <rguenther@suse.de> - - PR middle-end/117086 - * match.pd ((op (vec_cond ...) ..) -> (vec_cond ...)): Add - missing checks for VECTOR_TYPE_P (type). - -2024-10-11 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 4 matching pattern for signed SAT_TRUNC. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 3 matching pattern for signed SAT_TRUNC. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 2 matching pattern for signed SAT_TRUNC. - -2024-10-11 Jakub Jelinek <jakub@redhat.com> - - PR target/117053 - * config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Handle - TARGET_ZERO_EXTEND_WITH_AND differently. - (ix86_expand_int_spaceship): Likewise. - -2024-10-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117050 - * tree-vect-slp.cc (vect_build_slp_tree_2): Do not support - permutes of non-grouped .MASK_LOAD. - -2024-10-11 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_slp_prefer_store_lanes_p): Allow - passing in of vectype, pass in whether the stores are masked - and query the correct optab. - (vect_build_slp_instance): Guard store-lanes query with - ! STMT_VINFO_SLP_VECT_ONLY, guaranteeing an uniform mask. - -2024-10-11 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/sse.md - (sse_movhlps): Change type attr from ssemov to ssemov2. - (sse_loadhps): Ditto. - (*vec_concat<mode>): Ditto. - (vec_setv2df_0): Ditto. - (sse_loadlps): Change attr from ssemov to ssemov2 except for 2, 3. - (sse2_loadhps): Change attr from ssemov to ssemov2 except for 0, 1. - (sse2_loadlpd): Change attr from ssemov to ssemov2 except for 0, 1, - 2. - (sse2_movsd_<mode>): Change attr from ssemov to ssemov2 except for 5. - (vec_concatv2df): Change attr from ssemov to ssemov2 except for 0, 1, - 2. - (*vec_concat<mode>): Change attr from ssemov to ssemov2 for 3, 4. - (vec_concatv2di): Change attr from ssemov to ssemov2 except for 0, 1, - 2, 3, 4, 5. - -2024-10-10 Michael Matz <matz@suse.de> - - PR rtl-optimization/116650 - * regrename.cc (check_new_reg_p): Calculate nregs in terms of - the new candidate register. - -2024-10-10 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (pass_phiopt::execute): Remove candorest - and return instead of setting candorest. - -2024-10-10 Li Xu <xuli1@eswincomputing.com> - - PR target/116883 - * config/riscv/riscv-c.cc (riscv_pragma_intrinsic_flags_pollute): Choose zvl4096b - to initialize null type. - -2024-10-10 Richard Sandiford <richard.sandiford@arm.com> - - * tree-vect-slp.cc (vectorizable_slp_permutation_1): Set repeating_p - to false if we have an external node for a pre-existing vector. - -2024-10-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117060 - * tree-vect-slp.cc (vect_build_slp_tree_1): When comparing - calls also fail if the first isn't a call. - -2024-10-10 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/116831 - * match.pd: Guard simplification to trunc_mod with check for - mod optab support. - -2024-10-10 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_1): Do not compare - RHS codes for loads or stores. - (vect_get_and_check_slp_defs): Only demote operand to external - in case there is more than one operand. - -2024-10-10 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386.cc (ix86_vector_costs::ix86_vector_costs): - Add new member m_num_avx256_vec_perm. - (ix86_vector_costs::add_stmt_cost): Record 256-bit vec_perm. - (ix86_vector_costs::finish_cost): Prevent vectorization for - TAREGT_AVX256_AVOID_VEC_PERM when there's 256-bit vec_perm - instruction. - * config/i386/i386.h (TARGET_AVX256_AVOID_VEC_PERM): New - Macro. - * config/i386/x86-tune.def (X86_TUNE_AVX256_SPLIT_REGS): Add - m_CORE_ATOM. - (X86_TUNE_AVX256_AVOID_VEC_PERM): New tune. - -2024-10-10 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Guard - instruction blendv generation under new tune. - * config/i386/i386.h (TARGET_SSE_MOVCC_USE_BLENDV): New Macro. - * config/i386/x86-tune.def (X86_TUNE_SSE_MOVCC_USE_BLENDV): - New tune. - -2024-10-10 Levy Hsu <admin@levyhsu.com> - - * config/i386/i386.md: Rewrite insn truncsfbf2. - -2024-10-10 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-text.cc - (diagnostic_text_output_format::after_diagnostic): Replace call to - show_any_path with body, taken from diagnostic.cc. - (diagnostic_text_output_format::build_prefix): Move here from - diagnostic.cc, updating to use get_diagnostic_kind_text and - diagnostic_get_color_for_kind. - (diagnostic_text_output_format::file_name_as_prefix): Move here - from diagnostic.cc - (diagnostic_text_output_format::append_note): Likewise. - * diagnostic-format-text.h - (diagnostic_text_output_format::show_any_path): Drop decl. - * diagnostic.cc - (diagnostic_text_output_format::file_name_as_prefix): Move to - diagnostic-format-text.cc. - (diagnostic_text_output_format::build_prefix): Likewise. - (diagnostic_text_output_format::show_any_path): Move to body of - diagnostic_text_output_format::after_diagnostic. - (diagnostic_text_output_format::append_note): Move to - diagnostic-format-text.cc. - -2024-10-10 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi (fdiagnostics-format): Describe "json" et al as - deprecated, and remove the long description of the output format. - -2024-10-10 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * lto-wrapper.cc (print_lto_docs_link): Use a format string rather - than building the string manually. Fix memory leak of "url" by - using label_text. - -2024-10-09 liuhongt <hongtao.liu@intel.com> - - * tree-vect-loop.cc (vect_analyze_loop_costing): Enable - vectorization for LOOP_VINFO_PEELING_FOR_NITER in very cheap - cost model. - (vect_analyze_loop): Disable epilogue vectorization in very - cheap cost model. - * doc/invoke.texi: Adjust documents for very-cheap cost model. - -2024-10-09 Jovan Vukic <Jovan.Vukic@rt-rk.com> - - PR target/115921 - * config/riscv/iterators.md (any_eq): New code iterator. - * config/riscv/riscv.h (COMMON_TRAILING_ZEROS): New macro. - (SMALL_AFTER_COMMON_TRAILING_SHIFT): Ditto. - * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_<optab>_shifted): - New pattern. - -2024-10-09 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-10-08 Tsung Chun Lin <tclin914@gmail.com> - - * common/config/riscv/riscv-common.cc: M implies Zmmul. - -2024-10-09 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-10-08 Tsung Chun Lin <tclin914@gmail.com> - - * config/riscv/riscv-c.cc: (riscv_cpu_cpp_builtins): - Enable builtin __riscv_mul with Zmmul extension. - -2024-10-09 Richard Sandiford <richard.sandiford@arm.com> - - PR target/116629 - * config/aarch64/aarch64-sve-builtins.cc - (function_builder::function_builder): Use direct overloads for LTO. - -2024-10-09 Richard Biener <rguenther@suse.de> - - * tree-vect-data-refs.cc (vect_analyze_data_ref_access): When - cancelling a DR group also clear DR_GROUP_NEXT_ELEMENT. - -2024-10-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117041 - * tree-vect-stmts.cc (get_group_load_store_type): Only - check DR_GROUP_NEXT_ELEMENT for STMT_VINFO_GROUPED_ACCESS. - -2024-10-09 René Rebe <rene@exactcode.de> - - * config/ia64/ia64.cc: Enable LRA for ia64. - * config/ia64/ia64.md: Likewise. - * config/ia64/predicates.md: Likewise. - -2024-10-09 René Rebe <rene@exactcode.de> - - * config.gcc: Only list ia64*-*-(hpux|vms|elf) in the list of - obsoleted targets. - -2024-10-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116974 - * tree-vect-stmts.cc (check_scan_store): Pass in the SLP node - instead of just a flag. Allow single-lane scan stores. - (vectorizable_store): Adjust. - * tree-vect-loop.cc (vect_analyze_loop_2): Empty scan_map - before re-trying. - -2024-10-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116575 - PR tree-optimization/114375 - * tree-vect-slp.cc (vect_build_slp_tree_2): Do not reject - permuted mask loads without gaps but instead discover a - node for the full unpermuted load and permute that with - a VEC_PERM node. - -2024-10-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117000 - * match.pd (.REDUC_IOR !=/== 0): New pattern. - * gimple-match-head.cc: Include memmodel.h and optabs.h. - * generic-match-head.cc: Likewise. - -2024-10-09 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_cse_slp_nodes): Fix memory leak. - -2024-10-09 Jan Beulich <jbeulich@suse.com> - - * doc/extend.texi: Clarify __builtin_choose_expr() - (dis)similarity to the ?: operator. - -2024-10-09 Ken Matsui <kmatsui@gcc.gnu.org> - - PR preprocessor/89808 - * doc/invoke.texi (Warning Options): Document - -Wno-pragma-once-outside-header. - -2024-10-09 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - PR tree-optimization/116024 - * match.pd: New transformation around integer comparison. - -2024-10-09 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - PR tree-optimization/116024 - * match.pd: New transformation around integer comparison. - -2024-10-08 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - PR tree-optimization/116024 - * match.pd: New transformation around integer comparison. - -2024-10-08 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - PR tree-optimization/116024 - * match.pd: New transformation around integer comparison. - -2024-10-08 Tsung Chun Lin <tclin914@gmail.com> - - * config/riscv/riscv-c.cc: (riscv_cpu_cpp_builtins): - Enable builtin __riscv_mul with Zmmul extension. - -2024-10-08 Tsung Chun Lin <tclin914@gmail.com> - - * common/config/riscv/riscv-common.cc: M implies Zmmul. - -2024-10-08 Yangyu Chen <chenyangyu@isrc.iscas.ac.cn> - - * common/config/riscv/riscv-common.cc (cl_opt_var_ref_t): Add - cl_opt_var_ref_t pointer to member of cl_target_option. - (struct riscv_ext_flag_table_t): Add new cl_opt_var_ref_t field. - (RISCV_EXT_FLAG_ENTRY): New macro to simplify the definition of - riscv_ext_flag_table. - (riscv_ext_is_subset): New function to check if the callee's ISA - is a subset of the caller's. - (riscv_x_target_flags_isa_mask): New function to get the mask of - ISA extension in x_target_flags of gcc_options. - * config/riscv/riscv-subset.h (riscv_ext_is_subset): Declare - riscv_ext_is_subset function. - (riscv_x_target_flags_isa_mask): Declare - riscv_x_target_flags_isa_mask function. - * config/riscv/riscv.cc (riscv_can_inline_p): New function. - (TARGET_CAN_INLINE_P): Implement TARGET_CAN_INLINE_P. - -2024-10-08 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-protos.h (riscv_expand_sstrunc): Add new - func decl to expand SAT_TRUNC. - * config/riscv/riscv.cc (riscv_expand_sstrunc): Add new func - impl to expand SAT_TRUNC. - * config/riscv/riscv.md (sstrunc<mode><anyi_double_truncated>2): - Add new pattern for double truncation. - (sstrunc<mode><anyi_quad_truncated>2): Ditto but for quad. - (sstrunc<mode><anyi_oct_truncated>2): Ditto but for oct. - -2024-10-08 Pan Li <pan2.li@intel.com> - - * tree-ssa-math-opts.cc (build_saturation_binary_arith_call): Rename - to... - (build_saturation_binary_arith_call_and_replace): ...this. - (build_saturation_binary_arith_call_and_insert): ...this. - (match_unsigned_saturation_add): Leverage renamed func. - (match_unsigned_saturation_sub): Ditto. - (match_saturation_add): Return bool on matched and leverage - renamed func. - (match_saturation_sub): Ditto. - (match_saturation_trunc): Ditto. - (math_opts_dom_walker::after_dom_children): Ensure at most one - pattern will be matched for each phi node. - -2024-10-08 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 1 matching pattern for signed SAT_TRUNC. - * tree-ssa-math-opts.cc (gimple_signed_integer_sat_trunc): Add - new decl for signed SAT_TRUNC. - (match_saturation_trunc): Add new func impl to try SAT_TRUNC - pattern on phi node. - (math_opts_dom_walker::after_dom_children): Add - match_saturation_trunc for phi node iteration. - -2024-10-08 Jan Beulich <jbeulich@suse.com> - - * config/i386/sse.md (vaesdec_<mode>, vaesdeclast_<mode>, - vaesenc_<mode>, vaesenclast_<mode>): Replace which_alternative - check by TARGET_AES one. - -2024-10-08 Soumya AR <soumyaa@nvidia.com> - - PR target/109498 - * config/aarch64/aarch64-sve.md (ctz<mode>2): Added pattern to expand - CTZ to RBIT + CLZ for SVE. - -2024-10-08 Palmer Dabbelt <palmer@rivosinc.com> - - PR target/116615 - * config/riscv/riscv.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Remove. - -2024-10-08 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch.opt.urls: Regenerate. - -2024-10-08 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 3 matching pattern for signed SAT_SUB. - -2024-10-08 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116896 - * tree-ssa-math-opts.cc (optimize_spaceship): Handle unordered values - other than 2, but they still need to be signed char range possibly - converted to the PHI result and can't be in [-1, 1] range. Use - last .SPACESHIP argument of 1 for unsigned int comparisons, -1 for - signed int, 0 for floating point branches and any other for floating - point with that value as unordered. - * config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Use op2 rather - const2_rtx if op2 is not const0_rtx for unordered result. - (ix86_expand_int_spaceship): Change INTVAL (op2) == 1 tests to - INTVAL (op2) != -1. - * doc/md.texi (spaceship@var{m}4): Document the above changes. - -2024-10-08 Prathamesh Kulkarni <prathameshk@nvidia.com> - - PR ipa/96265 - * lto-streamer-in.cc (lto_read_tree_1): Set TYPE_MODE and DECL_MODE - for vector_type if offloading is enabled. - (lto_input_mode_table): Remove handling of vector modes. - * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream out - VOIDmode for vector_type if offloading is enabled. - (pack_ts_decl_common_value_fields): Likewise. - -2024-10-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * diagnostic-color.cc: Conditionally enable terminal processing - based on define availability. - * pretty-print.cc: Likewise. - -2024-10-08 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/genopts/loongarch.opt.in - (mannotate-tablejump): New option. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch.md (tablejump<mode>): Emit - additional correlation info between the jump instruction and the - jump table, if -mannotate-tablejump. - * doc/invoke.texi: Document -mannotate-tablejump. - -2024-10-08 Xiao Zeng <zengxiao@eswincomputing.com> - - * common/config/riscv/riscv-common.cc: zawrs -> zalrsc. - -2024-10-07 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/iterators.md (scc_0): New code iterator. - * config/riscv/zicond.md: New splitters to improve code generated for - cases like (and (scc) (scc)) for zicond, xventanacondops, xtheadcondmov. - -2024-10-07 Jason Merrill <jason@redhat.com> - - * doc/invoke.texi (C++ Module Preprocessing): Allow -M, - refer to -fdeps. - -2024-10-07 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/arm/arm.cc (arm_noce_oncersion_profitable_p): Remove unused - argument name. - (arm_is_v81m_cond_insn): Initialize variable. - -2024-10-07 Jakub Jelinek <jakub@redhat.com> - - * config/riscv/vector-crypto.md: Remove executable permissions. - -2024-10-07 Victor Do Nascimento <victor.donascimento@arm.com> - - * tree-if-conv.cc (if_convertible_stmt_p): Check for explicit - function declaration before IFN fallback. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/116583 - * tree-vect-slp.cc (vectorizable_slp_permutation_1): Add more - dump messages. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/116583 - * tree-vect-slp.cc (vectorizable_slp_permutation_1): Handle - variable-length pack and unpack permutations. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/116583 - * tree-vect-slp.cc (vectorizable_slp_permutation_1): Remove - the noutputs_per_mask inner loop and instead generate a - separate permute vector for each output. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/116583 - * tree-vect-slp.cc (vectorizable_slp_permutation_1): Using - poly_uint64 for scalar lane indices. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/iterators.md (SVE_I): Move further up file. - (SVE_F): New mode iterator. - (SVE_ALL): Redefine in terms of SVE_I and SVE_F. - * config/aarch64/aarch64-sve.md (*<LOGICALF:optab><mode>3): Extend - to all SVE_F. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - PR target/116583 - * config/aarch64/aarch64.cc (aarch64_coalesce_units): New function, - extending the Advanced SIMD handling from... - (aarch64_evpc_reencode): ...here to SVE data and predicate modes. - -2024-10-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116990 - * tree-vect-loop.cc (vect_analyze_loop_form): Check the current - loop body for control flow. - -2024-10-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116982 - * tree-vectorizer.h (vect_analyze_loop): Pass in .LOOP_VECTORIZED - call. - (vect_analyze_loop_form): Likewise. - * tree-vect-loop.cc (vect_analyze_loop_form): Reject loops where we - cannot determine a IV exit for the scalar loop. - (vect_analyze_loop): Adjust. - * tree-vectorizer.cc (try_vectorize_loop_1): Likewise. - * tree-parloops.cc (gather_scalar_reductions): Likewise. - -2024-10-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116896 - * optabs.def (spaceship_optab): Use spaceship$a4 rather than - spaceship$a3. - * internal-fn.cc (expand_SPACESHIP): Expect 3 call arguments - rather than 2, expand the last one, expect 4 operands of - spaceship_optab. - * tree-ssa-math-opts.cc: Include cfghooks.h. - (optimize_spaceship): Check if a single PHI is initialized to - -1, 0, 1, 2 or -1, 0, 1 values, in that case pass 1 as last (new) - argument to .SPACESHIP and optimize away the comparisons, - otherwise pass 0. Also check for integer comparisons rather than - floating point, in that case do it only if there is a single PHI - with -1, 0, 1 values and pass 1 to last argument of .SPACESHIP - if the <=> is signed, 2 if unsigned. - * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Add - another rtx argument. - (ix86_expand_int_spaceship): Declare. - * config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Add - arg3 argument, if it is const0_rtx, expand like before, otherwise - emit optimized sequence for setting the result into a GPR. - (ix86_expand_int_spaceship): New function. - * config/i386/i386.md (UNSPEC_SETCC_SI_SLP): New UNSPEC code. - (setcc_si_slp): New define_expand. - (*setcc_si_slp): New define_insn_and_split. - (setcc + setcc + movzbl): New define_peephole2. - (spaceship<mode>3): Renamed to ... - (spaceship<mode>4): ... this. Add an extra operand, pass it - to ix86_expand_fp_spaceship. - (spaceshipxf3): Renamed to ... - (spaceshipxf4): ... this. Add an extra operand, pass it - to ix86_expand_fp_spaceship. - (spaceship<mode>4): New define_expand for SWI modes. - * doc/md.texi (spaceship@var{m}3): Renamed to ... - (spaceship@var{m}4): ... this. Document the meaning of last - operand. - -2024-10-07 Tobias Burnus <tburnus@baylibre.com> - - * gimplify.cc (gimplify_bind_expr): Fix corner case for OpenMP - allocate directive. - (gimplify_scan_omp_clauses): Warn if omp_thread_mem_alloc is used - as allocator with the target/task/taskloop directive. - -2024-10-06 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa-64.h (PA_SECONDARY_MEMORY_NEEDED): Define - to false. Update comment. - * config/pa/pa.md: Modify 64-bit move patterns to support - copying between integer and floating-point registers using - stack slot SP-40. - -2024-10-06 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (no_arg_map): New. - (vect_get_operand_map): Handle IFN_GOMP_SIMD_LANE. - (vect_build_slp_tree_1): Likewise. - * tree-vect-stmts.cc (vectorizable_call): Handle single-lane SLP - for .GOMP_SIMD_LANE calls. - -2024-10-06 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <*-*-freebsd*>: Focus on DWARF - only. - -2024-10-05 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.md (nonlocal_goto): Don't clobber - frame_pointer_rtx. - (builtin_longjmp): Likewise. - -2024-10-05 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.md: Fix indirect_got constraint. - -2024-10-05 Eric Botcazou <ebotcazou@adacore.com> - - PR middle-end/116933 - * gimplify.cc (gimple_add_init_for_auto_var): Use the correct macro - to fetch the source location of the variable. - * tree.cc (common_builtin_nodes): Remove the 3rd parameter in the - type of BUILT_IN_CLEAR_PADDING. - -2024-10-05 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_lower_load_permutations): Prefer - level 1 even/odd extracts. - -2024-10-04 David Malcolm <dmalcolm@redhat.com> - - PR other/116978 - * diagnostic-format-sarif.cc (sarif_builder::sarif_builder): - Gracefully handle "main_input_filename_" being NULL. - (sarif_output_format::sarif_output_format): Replace param - "base_file_name" with "output_file" and assert that the file - was opened successfully and has a non-NULL filename. - (sarif_output_format::~sarif_file_output_format): Move - responsibility for building the filename and opening the file from - here to the creator of the instance. - (sarif_output_format::m_base_file_name): Replace with... - (sarif_output_format::m_output_file): ...this. - (diagnostic_output_format_init_sarif_file): Make "line_maps" param - non-const. Gracefully handle "base_file_name" being NULL. - Construct the filename and open the file here, rather than in - ~sarif_file_output_format, and handle failures immediately here, - rather than at the end of the compile. - * diagnostic-format-sarif.h: Include "diagnostic-output-file.h". - (diagnostic_output_format_init_sarif_file): Make "line_maps" param - non-const. - * diagnostic-output-file.h: New file. - * diagnostic.cc (diagnostic_context::emit_diagnostic): New. - (diagnostic_context::emit_diagnostic_va): New. - * diagnostic.h (diagnostic_context::emit_diagnostic): New decl. - (diagnostic_context::emit_diagnostic_va): New decl. - -2024-10-04 H.J. Lu <hjl.tools@gmail.com> - - PR target/116962 - * config/i386/i386.cc (ix86_stack_protect_runtime_enabled_p): New - function. - (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): New. - -2024-10-04 Saurabh Jha <saurabh.jha@arm.com> - - PR target/116934 - * config/aarch64/iterators.md: Move UNSPEC_COND_SMAX and - UNSPEC_COND_SMIN to correct iterators. - -2024-10-04 Georg-Johann Lay <avr@gjlay.de> - - PR target/116953 - * config/avr/avr.cc (avr_out_sbxx_branch): Work on a copy of - the operands rather than on operands itself, which is just - recog_data.operand and may be clobbered by jump_over_one_insn_p. - -2024-10-04 Andrew Pinski <quic_apinski@quicinc.com> - - * cfgexpand.cc (add_scope_conflicts_1): Expand comment - on when non-var clobbers show up. - -2024-10-04 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_floatn_mode): Remove. - (TARGET_FLOATN_MODE): Remove. - -2024-10-04 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_floatn_mode): New static function. - (TARGET_FLOATN_MODE): New define. - -2024-10-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/tuning_models/generic_armv9_a.h - (generic_armv9a_prefetch_tune): Define. - (generic_armv9_a_tunings): Use the above. - -2024-10-04 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR target/116444 - * config/arm/arm-protos.h (arm_noce_conversion_profitable_p): New - declaration. - * config/arm/arm.cc (arm_is_v81m_cond_insn): New helper function used - in ... - (arm_noce_conversion_profitable_p): ... here. New function to implement - ... - (TARGET_NOCE_PROFITABLE_P): ... this target hook. New define. - -2024-10-04 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vect_analyze_loop_2): Derement 'slp' - before dumping which stage we're starting. - -2024-10-04 Jakub Jelinek <jakub@redhat.com> - - PR pch/116936 - * diagnostic.cc (diagnostic_option_classifier::pch_save): Only call - fwrite if corresponding length is non-zero. - (diagnostic_option_classifier::pch_restore): Only call fread if - corresponding length is non-zero. - -2024-10-04 Jakub Jelinek <jakub@redhat.com> - - PR target/116921 - * config/i386/i386-expand.cc (ix86_expand_int_compare): Add a SUBREG - to V8HImode from V8HFmode or V8BFmode before generating a ptest. - -2024-10-04 Jakub Jelinek <jakub@redhat.com> - - PR target/116925 - * config/i386/sse.md (*minmax<mode>3_2): Assign force_reg result - back to operands[2] instead of throwing it away. - -2024-10-04 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <h8300-hms>: Drop GCC 2.6 - ABI change note. - -2024-10-04 Sam James <sam@gentoo.org> - - * gimplify.cc (gimple_add_init_for_auto_var): Fix 'variable' typo. - -2024-10-03 Eric Botcazou <ebotcazou@adacore.com> - - * config/aarch64/aarch64.h (WIDEST_HARDWARE_FP_SIZE): Define to 64. - -2024-10-03 Jason Merrill <jason@redhat.com> - - * doc/invoke.texi: Explicit -Wdeprecated enables more warnings. - -2024-10-03 Jason Merrill <jason@redhat.com> - - * doc/invoke.texi: Document -Wdeprecated-literal-operator. - -2024-10-03 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vectorizable_induction): Initialize - vec_init. - -2024-10-03 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/116927 - * config/aarch64/aarch64-early-ra.cc (early_ra::is_dead_insn): Insns - that throw are not dead with -fno-delete-dead-exceptions. - -2024-10-03 David Malcolm <dmalcolm@redhat.com> - - PR other/116301 - * common.opt (sarif-file-2.2-prerelease): New value for - -fdiagnostics-format=. - * diagnostic-format-sarif.cc - (sarif_location_manager::sarif_location_manager): Move - initialization of m_related_locations_arr here from sarif_result's - ctor. - (sarif_location_manager::add_related_location): Implement for - base class, taking sarif_result's implementation. Add "builder" - param. - (sarif_location_manager::m_related_locations_arr): Move here from - class sarif_result. - (class sarif_result): Move m_related_locations_arr field and - add_related_location vfunc to class sarif_location_manager. - (sarif_builder::get_version): New accessor. - (sarif_builder::m_version): New field. - (sarif_invocation::add_notification_for_ice): Call - process_worklist on the notification for SARIF 2.2 and later. - (sarif_location_manager::process_worklist_item): Pass builder to - calls to add_related_location. - (sarif_result::on_nested_diagnostic): Likewise. - (sarif_result::on_diagram): Likewise. - (sarif_ice_notification::add_related_location): Add builder param. - For SARIF 2.2 and later chain up to base class impl so that - notifications get related locations. - (sarif_builder::sarif_builder): Add "version" param. - (SARIF_SCHEMA): Delete in favor of... - (sarif_version_to_url): New function. - (SARIF_VERSION): Delete in favor of... - (sarif_version_to_property): New function. - (make_top_level_object): Update to use m_version for "$schema" and - "version". - (sarif_output_format::sarif_output_format): Add "version" param. - (sarif_stream_output_format::sarif_stream_output_format): - Likewise. - (sarif_file_output_format::sarif_file_output_format): Likewise. - (diagnostic_output_format_init_sarif_stderr): Likewise. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - (selftest::test_sarif_diagnostic_context): Likewise. - (selftest::test_make_location_object): Likewise. - (selftest::test_simple_log): Likewise. Update schema and version - tests accordingly. - (selftest::test_simple_log_2): Add "version" param. - (selftest::test_message_with_embedded_link): Likewise. - (selftest::run_tests_per_version): New, based on the - for_each_line_table_case calls in... - (selftest::diagnostic_format_sarif_cc_tests): Add loop over sarif - versions. Replace for_each_line_table_case calls with one - call to run_tests_per_version. - * diagnostic-format-sarif.h: Include "diagnostic-format.h". - (enum class sarif_version): New. - (diagnostic_output_format_init_sarif_stderr): Move to here from - diagnostic-format.h. Add "version" param. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - * diagnostic-format.h: Include "diagnostic.h". - (diagnostic_output_format_init_sarif_stderr): Move from here to - diagnostic-format-sarif.h. - * diagnostic.cc: Define INCLUDE_MEMORY. - Include "diagnostic-format-sarif.h". - (diagnostic_output_format_init): Pass sarif_version::v2_1_0 to - existing SARIF options. - Add case DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE_2_2_PRERELEASE. - * diagnostic.h (enum diagnostics_output_format): Add - DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE_2_2_PRERELEASE. - -2024-10-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116098 - * tree-ssa-phiopt.cc (move_stmt): Rewrite VCEs from integer to integer - types to case. - -2024-10-02 Victor Do Nascimento <victor.donascimento@arm.com> - - * tree-if-conv.cc (predicate_statements): Fix handling of - predicated function calls. - -2024-10-02 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/arm/arm.cc (check_dec_insn): New helper function containing - code hoisted from... - (arm_mve_dlstp_check_dec_counter): ... here. Use check_dec_insn to - check the validity of the candidate dec_insn. - -2024-10-02 Filip Kastl <fkastl@suse.cz> - - PR tree-optimization/116616 - * tree-switch-conversion.cc (can_pow2p): Remove this function. - (gen_pow2p): Generate bitmagic instead of a builtin. Remove the - TYPE parameter. - (switch_conversion::is_exp_index_transform_viable): Don't call - can_pow2p. - (switch_conversion::exp_index_transform): Call gen_pow2p without - the TYPE parameter. - * tree-switch-conversion.h: Remove - m_exp_index_transform_pow2p_type. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113197 - * tree-ssa-structalias.cc (handle_call_arg): Remove bougs - assert. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114855 - * predict.cc (ssa_expected_value): New global. - (expr_expected_value): Do not take bitmap. - (expr_expected_value_1): Likewise. Use ssa_expected_value - to cache results for a SSA def. - (tree_predict_by_opcode): Adjust. - (tree_estimate_probability): Manage ssa_expected_value. - (tree_guess_outgoing_edge_probabilities): Likewise. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116566 - * tree-vect-loop.cc (vectorizable_induction): Handle single-lane - SLP for VLA vectors. - -2024-10-02 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <h8300-hms>: Drop obsolete - reference to binaries download docs. - -2024-10-02 Jakub Jelinek <jakub@redhat.com> - - PR preprocessor/96842 - * doc/invoke.texi (Wheader-guard): Document. - -2024-10-02 Jakub Jelinek <jakub@redhat.com> - - * Makefile.in ($(OPT_URLS_HTML_DEPS)): Add dependencies of the - Option-Index.html files on the corresponding index.html files. - Don't mention the requirement that all languages that have their own - HTML manuals to be enabled. - -2024-10-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116922 - * gimple-ssa-backprop.cc (remove_unused_var): Handle phi - nodes correctly. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116654 - * tree-vect-data-refs.cc (vect_supportable_dr_alignment): - Treat non-grouped accesses like non-SLP. - -2024-10-02 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 2 matching pattern for signed SAT_SUB. - -2024-10-01 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_out_compare): Drop superfluous sub-condition. - -2024-10-01 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-passes.cc (avr_split_fake_addressing_move): Fix - a build warning. - -2024-10-01 Saurabh Jha <saurabh.jha@arm.com> - - * config/aarch64/aarch64-sve.md - (<fmaxmin><mode>3): Remove this instruction pattern. - (cond_<fmaxmin><mode>): Remove this instruction pattern. - * config/aarch64/iterators.md: New unspecs and changes to - iterators and attrs to use the new unspecs - -2024-10-01 Eric Botcazou <ebotcazou@adacore.com> - - * tree-inline.cc (expand_call_inline): Remove the store to the - return slot if it is a global variable that is only written to. - -2024-10-01 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * doc/extend.texi: Document the new - __builtin_is_virtual_base_of builtin; amend the docs for - __is_base_of. - -2024-10-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116890 - * tree-ssa-phiopt.cc (factor_out_conditional_operation): Conversions - from bool is also should be considered as wanting to happen. - -2024-10-01 Claudio Bantaloukas <Claudio.Bantaloukas@arm.com> - - * config/aarch64/aarch64-builtins.cc (aarch64_mfp8_type_node): Add node - for __mfp8 type. - (aarch64_mfp8_ptr_type_node): Add node for __mfp8 pointer type. - (aarch64_init_fp8_types): New function to initialise fp8 types and - register with language backends. - * config/aarch64/aarch64.cc (aarch64_mangle_type): Add ABI mangling for - new type. - (aarch64_invalid_conversion): Add function implementing - TARGET_INVALID_CONVERSION hook that blocks conversion to and from the - __mfp8 type. - (aarch64_invalid_unary_op): Add function implementing TARGET_UNARY_OP - hook that blocks operations on __mfp8 other than &. - (aarch64_invalid_binary_op): Extend TARGET_BINARY_OP hook to disallow - operations on __mfp8 type. - (TARGET_INVALID_CONVERSION): Add define. - (TARGET_INVALID_UNARY_OP): Likewise. - * config/aarch64/aarch64.h (aarch64_mfp8_type_node): Add node for __mfp8 - type. - (aarch64_mfp8_ptr_type_node): Add node for __mfp8 pointer type. - * config/aarch64/arm_private_fp8.h (mfloat8_t): Add typedef. - -2024-10-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116902 - PR tree-optimization/116842 - * tree-vect-stmts.cc (sort_after_uid): Remove again. - (hoist_defs_of_uses): Copy defs instead of hoisting them so - we can zero their UID. - (vectorizable_load): Separate analysis and transform call, - do transform on the stmt copy. - -2024-10-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116905 - * tree-vect-stmts.cc (supportable_indirect_convert_operation): - Fix guard for vect_get_range_info. - -2024-10-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116906 - * tree-ssa-pre.cc (prune_clobbered_mems): Add clean_traps - argument. - (compute_antic_aux): Direct prune_clobbered_mems to prune - all traps when any MAX solution was involved in the ANTIC - computation. - (compute_partial_antic_aux): Adjust. - -2024-10-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116899 - * gimple-range-cache.cc (ranger_cache::ranger_cache): Set m_workback - to vNULL instead of creating it, growing and then truncating. - (ranger_cache::fill_block_cache): Use safe_push rather than quick_push - on m_workback. - (ranger_cache::range_from_dom): Likewise. - -2024-10-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116898 - * gimple-range-cache.cc (ranger_cache::block_range): If a SSA_NAME - with NULL def_bb isn't SSA_NAME_IS_DEFAULT_DEF, return false instead - of failing assertion. Formatting fix. - -2024-09-30 Eric Botcazou <ebotcazou@adacore.com> - - PR ipa/113996 - * ipa-icf.cc (sem_function::get_hash): Hash DECL_STATIC_CHAIN. - (sem_function::equals_wpa): Compare it. - (sem_function::equals_private): Likewise. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * diagnostic-show-locus.cc - (selftest::test_diagnostic_show_locus_unknown_location): Move call - to dc.test_show_locus into ASSERT_STREQ, and compare against its - result, rather than explicitly using dc.m_printer. - (selftest::test_one_liner_simple_caret): Likewise. - (selftest::test_one_liner_no_column): Likewise. - (selftest::test_one_liner_caret_and_range): Likewise. - (selftest::test_one_liner_multiple_carets_and_ranges): Likewise. - (selftest::test_one_liner_fixit_insert_before): Likewise. - (selftest::test_one_liner_fixit_insert_after): Likewise. - (selftest::test_one_liner_fixit_remove): Likewise. - (selftest::test_one_liner_fixit_replace): Likewise. - (selftest::test_one_liner_fixit_replace_non_equal_range): - Likewise. - (selftest::test_one_liner_fixit_replace_equal_secondary_range): - Likewise. - (selftest::test_one_liner_fixit_validation_adhoc_locations): - Likewise. - (selftest::test_one_liner_many_fixits_1): Likewise. - (selftest::test_one_liner_many_fixits_2): Likewise. - (selftest::test_one_liner_labels): Likewise. - (selftest::test_one_liner_simple_caret_utf8): Likewise. - (selftest::test_one_liner_multiple_carets_and_ranges_utf8): - Likewise. - (selftest::test_one_liner_fixit_insert_before_utf8): Likewise. - (selftest::test_one_liner_fixit_insert_after_utf8): Likewise. - (selftest::test_one_liner_fixit_remove_utf8): Likewise. - (selftest::test_one_liner_fixit_replace_utf8): Likewise. - (selftest::test_one_liner_fixit_replace_non_equal_range_utf8): - Likewise. - (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8): - Likewise. - (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8): - Likewise. - (selftest::test_one_liner_many_fixits_1_utf8): Likewise. - (selftest::test_one_liner_many_fixits_2_utf8): Likewise. - (selftest::test_one_liner_labels_utf8): Likewise. - (selftest::test_one_liner_colorized_utf8): Likewise. - (selftest::test_add_location_if_nearby): Likewise. - (selftest::test_diagnostic_show_locus_fixit_lines): Likewise. - (selftest::test_overlapped_fixit_printing): Likewise. - (selftest::test_overlapped_fixit_printing_utf8): Likewise. - (selftest::test_overlapped_fixit_printing_utf8): Likewise. - (selftest::test_overlapped_fixit_printing_2): Likewise. - (selftest::test_fixit_insert_containing_newline): Likewise. - (selftest::test_fixit_insert_containing_newline_2): Likewise. - (selftest::test_fixit_replace_containing_newline): Likewise. - (selftest::test_fixit_deletion_affecting_newline): Likewise. - (selftest::test_tab_expansion): Likewise. - (selftest::test_escaping_bytes_1): Likewise. - (selftest::test_escaping_bytes_2): Likewise. - (selftest::test_line_numbers_multiline_range): Likewise. - * selftest-diagnostic.cc - (selftest::test_diagnostic_context::test_show_locus): Return the - formatted text of m_printer. - * selftest-diagnostic.h - (selftest::test_diagnostic_context::test_show_locus): Convert - return type from void to const char *. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * diagnostic-show-locus.cc (diagnostic_context::maybe_show_locus): - Convert param "pp" from * to &. Drop logic for using the - context's m_printer when the param is null. - * diagnostic.h (diagnostic_context::maybe_show_locus): Convert - param "pp" from * to &. - (diagnostic_show_locus): Drop default "nullptr" value for pp - param. Assert that it and context are nonnull. Pass pp by - reference to maybe_show_locus. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * diagnostic-format-json.cc (json_from_expanded_location): Replace - call to diagnostic_context::converted_column with call to - diagnostic_column_policy::converted_column. - * diagnostic-format-sarif.cc - (sarif_builder::make_location_object): Replace call to - diagnostic_show_locus with call to - diagnostic_source_print_policy::print. - * diagnostic-format-text.cc (get_location_text): Replace call to - diagnostic_context::get_location_text with call to - diagnostic_column_policy::get_location_text. - (diagnostic_text_output_format::report_current_module): Replace call - to diagnostic_context::converted_column with call to - diagnostic_column_policy::converted_column. - * diagnostic-format-text.h - (diagnostic_text_output_format::diagnostic_output_format): - Initialize m_column_policy. - (diagnostic_text_output_format::get_column_policy): New. - (diagnostic_text_output_format::m_column_policy): New. - * diagnostic-path.cc (class path_print_policy): New. - (event_range::maybe_add_event): Replace diagnostic_context param - with path_print_policy. - (event_range::print): Convert "pp" from * to &. Convert first - param of start_span callback from diagnostic_context to - diagnostic_location_print_policy. - (path_summary::path_summary): Convert first param from - diagnostic_text_output_format to path_print_policy. Add - colorize param. Update for changes to - event_range::maybe_add_event. - (thread_event_printer::print_swimlane_for_event_range): Assert - that pp is non-null. Update for change to event_range::print. - (diagnostic_text_output_format::print_path): Pass - path_print_policy to path_summary's ctor. - (selftest::test_empty_path): Likewise. - (selftest::test_intraprocedural_path): Likewise. - (selftest::test_interprocedural_path_1): Likewise. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - (selftest::test_control_flow_1): Likewise. - (selftest::test_control_flow_2): Likewise. - (selftest::test_control_flow_3): Likewise. - (selftest::assert_cfg_edge_path_streq): Likewise. - (selftest::test_control_flow_5): Likewise. - (selftest::test_control_flow_6): Likewise. - * diagnostic-show-locus.cc (colorizer::set_range): Update for - change to m_pp. - (colorizer::m_pp): Convert from * to &. - (class layout): Add friend class layout_printer and move various - decls to it. - (layout::m_pp): Drop field. - (layout::m_policy): Rename to... - (layout::m_char_policy): ...this. - (layout::m_colorizer): Move field to class layout_printer. - (layout::m_diagnostic_path_p): Drop field. - (class layout_printer): New class, by refactoring class layout. - (colorizer::colorizer): Convert "pp" param from * to &. - (colorizer::set_named_color): Update for above change. - (colorizer::begin_state): Likewise. - (colorizer::finish_state): Likewise. - (make_policy): Rename to... - (make_char_policy): ...this, and update param from - diagnostic_context to diagnostic_source_print_policy. - (layout::layout): Update param from diagnostic_context to - diagnostic_source_print_policy. Drop params "diagnostic_kind" and - "pp", moving these and other material to class layout_printer. - (layout::maybe_add_location_range): Update for renamed field. - (layout::print_gap_in_line_numbering): Convert to... - (layout_printer::print_gap_in_line_numbering): ...this. - (layout::calculate_x_offset_display): Update for renamed field. - (layout::print_source_line): Convert to... - (layout_printer::print_source_line): ...this. - (layout::print_leftmost_column): Convert to... - (layout_printer::print_leftmost_column): ...this. - (layout::start_annotation_line): Convert to... - (layout_printer::start_annotation_line): ...this. - (layout::print_annotation_line): Convert to... - (layout_printer::print_annotation_line): ...this. - (layout::print_any_labels): Convert to... - (layout_printer::print_any_labels): ...this. - (layout::print_leading_fixits): Convert to... - (layout_printer::print_leading_fixits): ...this. - (layout::print_trailing_fixits): Convert to... - (layout_printer::print_trailing_fixits): ...this. - (layout::print_newline): Convert to... - (layout_printer::print_newline): ...this. - (layout::get_state_at_point): Make const. - (layout::get_x_bound_for_row): Make const. - (layout::move_to_column): Convert to... - (layout_printer::move_to_column): ...this. - (layout::show_ruler): Convert to... - (layout_printer::show_ruler): ...this. - (layout::print_line): Convert to... - (layout_printer::print_line): ...this. - (layout::print_any_right_to_left_edge_lines): Convert to... - (layout_printer::print_any_right_to_left_edge_lines): ...this. - (layout::print_any_right_to_left_edge_lines): Likewise. - (layout_printer::layout_printer): New. - (layout::update_any_effects): Delete, moving logic to - layout_printer::print. - (gcc_rich_location::add_location_if_nearby): Update param from - diagnostic_context to diagnostic_source_print_policy. Add - overload taking a diagnostic_context. - (diagnostic_context::maybe_show_locus): Move handling of null - pretty_printer here, from layout ctor. Convert call to - diagnostic_context::show_locus to - diagnostic_source_print_policy::print. - (diagnostic_source_print_policy::diagnostic_source_print_policy): - New. - (diagnostic_context::show_locus): Convert to... - (diagnostic_source_print_policy::print): ...this. Convert pp - from * to &. - (layout_printer::print): New, based on material in - diagnostic_context::show_locus. - (selftest::make_char_policy): New. - (selftest::test_display_widths): Update for above changes. - (selftest::test_offset_impl): Likewise. - (selftest::test_layout_x_offset_display_utf8): Likewise. - (selftest::test_layout_x_offset_display_tab): Likewise. - (selftest::test_diagnostic_show_locus_unknown_location): Use - test_diagnostic_context::test_show_locus rather than - diagnostic_show_locus. - (selftest::test_one_liner_no_column): Likewise. - (selftest::test_one_liner_caret_and_range): Likewise. - (selftest::test_one_liner_multiple_carets_and_ranges): Likewise. - (selftest::test_one_liner_fixit_insert_before): Likewise. - (selftest::test_one_liner_fixit_insert_after): Likewise. - (selftest::test_one_liner_fixit_remove): Likewise. - (selftest::test_one_liner_fixit_replace): Likewise. - (selftest::test_one_liner_fixit_replace_non_equal_range): - Likewise. - (selftest::test_one_liner_fixit_replace_equal_secondary_range): - Likewise. - (selftest::test_one_liner_fixit_validation_adhoc_locations): - Likewise. - (selftest::test_one_liner_many_fixits_1): Likewise. - (selftest::test_one_liner_many_fixits_2): Likewise. - (selftest::test_one_liner_labels): Likewise. - (selftest::test_one_liner_simple_caret_utf8): Likewise. - (selftest::test_one_liner_caret_and_range_utf8): Likewise. - (selftest::test_one_liner_multiple_carets_and_ranges_utf8): - Likewise. - (selftest::test_one_liner_fixit_insert_before_utf8): Likewise. - (selftest::test_one_liner_fixit_insert_after_utf8): Likewise. - (selftest::test_one_liner_fixit_remove_utf8): Likewise. - (selftest::test_one_liner_fixit_replace_utf8): Likewise. - (selftest::test_one_liner_fixit_replace_non_equal_range_utf8): - Likewise. - (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8): - Likewise. - (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8): - Likewise. - (selftest::test_one_liner_many_fixits_1_utf8): Likewise. - (selftest::test_one_liner_many_fixits_2_utf8): Likewise. - (selftest::test_one_liner_labels_utf8): Likewise. - (selftest::test_one_liner_colorized_utf8): Likewise. - (selftest::test_add_location_if_nearby): Likewise. - (selftest::test_diagnostic_show_locus_fixit_lines): Likewise. - (selftest::test_overlapped_fixit_printing): Likewise. - (selftest::test_overlapped_fixit_printing_utf8): Likewise. - (selftest::test_overlapped_fixit_printing_2): Likewise. - (selftest::test_fixit_insert_containing_newline): Likewise. - (selftest::test_fixit_insert_containing_newline_2): Likewise. - (selftest::test_fixit_replace_containing_newline): Likewise. - (selftest::test_fixit_deletion_affecting_newline): Likewise. - (selftest::test_tab_expansion): Likewise. - (selftest::test_escaping_bytes_1): Likewise. - (selftest::test_escaping_bytes_2): Likewise. - (selftest::test_line_numbers_multiline_range): Likewise. - * diagnostic.cc - (diagnostic_column_policy::diagnostic_column_policy): New. - (diagnostic_context::converted_column): Convert to... - (diagnostic_column_policy::converted_column): ...this. - (diagnostic_context::get_location_text): Convert to... - (diagnostic_column_policy::get_location_text): ...this, adding - "show_column" param. - (diagnostic_location_print_policy::diagnostic_location_print_policy): - New ctors. - (default_diagnostic_start_span_fn): Convert param from - diagnostic_context * to const diagnostic_location_print_policy &. - Add "pp" param. - (selftest::assert_location_text): Update for above changes. - (selftest::test_diagnostic_get_location_text): Rename to... - (selftest::test_get_location_text): ...this. - (selftest::c_diagnostic_cc_tests): Update for renaming. - * diagnostic.h (class diagnostic_location_print_policy): New - forward decl. - (class diagnostic_source_print_policy): New forward decl. - (diagnostic_start_span_fn): Convert first param from - diagnostic_context * to const diagnostic_location_print_policy & - and add pretty_printer * param. - (class diagnostic_column_policy): New. - (class diagnostic_location_print_policy): New. - (class diagnostic_source_print_policy): New. - (class diagnostic_context): Add friend class - diagnostic_source_print_policy. - (diagnostic_context::converted_column): Drop decl in favor of - diagnostic_column_policy::converted_column. - (diagnostic_context::get_location_text): Drop decl in favor of - diagnostic_column_policy::get_location_text. - (diagnostic_context::show_locus): Drop decl in favor of - diagnostic_source_print_policy::print. - (default_diagnostic_start_span_fn): Update for change to - diagnostic_start_span_fn. - * gcc-rich-location.h (class diagnostic_source_print_policy): New - forward decl. - (gcc_rich_location::add_location_if_nearby): Convert first param - from diagnostic_context to diagnostic_source_print_policy. Add - overload taking diagnostic_context. - * selftest-diagnostic.cc - (selftest::test_diagnostic_context::test_diagnostic_context): Turn - off colorization. - (selftest::test_diagnostic_context::start_span_cb): Update for - change to callback type. - (test_diagnostic_context::test_show_locus): New. - * selftest-diagnostic.h - (selftest::test_diagnostic_context::start_span_cb): Update for - change to callback type. - (test_diagnostic_context::test_show_locus): New decl. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * diagnostic-format-json.cc (diagnostic_output_format_init_json): - Pass in the format. Use the format's printer when disabling - colorization. Move the call to set_output_format into here. - (diagnostic_output_format_init_json_stderr): Update for above - change. - (diagnostic_output_format_init_json_file): Likewise. - * diagnostic-format-sarif.cc - (diagnostic_output_format_init_sarif): Use the format's printer - when disabling colorization. - * diagnostic-path.cc (selftest::test_empty_path): Use the - text_output's printer. - (selftest::test_intraprocedural_path): Likewise. - (selftest::test_interprocedural_path_1): Likewise. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - (selftest::test_control_flow_1): Likewise. - (selftest::test_control_flow_2): Likewise. - (selftest::test_control_flow_3): Likewise. - (selftest::assert_cfg_edge_path_streq): Likewise. - (selftest::test_control_flow_5): Likewise. - (selftest::test_control_flow_6): Likewise. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * attribs.cc: Include "pretty-print-markup.h". - (decls_mismatched_attributes): Defer colorization choices by - replacing printing to a pretty_printer * param with appending - to a vec of strings. - (maybe_diag_alias_attributes): As above, replacing pretty_printer - with usage of pp_markup::comma_separated_quoted_strings and "%e" - in two places. - * attribs.h (decls_mismatched_attributes): Update decl. - * gimple-ssa-warn-access.cc: Include "pretty-print-markup.h". - (pass_waccess::maybe_warn_memmodel): Defer colorization choices by - replacing printing to a pretty_printer * param with use of - pp_markup::comma_separated_quoted_strings and "%e". - (pass_waccess::maybe_warn_memmodel): Likewise, replacing printing - to a temporary buffer. - * pretty-print-markup.h - (class pp_markup::comma_separated_quoted_strings): New. - * pretty-print.cc - (pp_markup::comma_separated_quoted_strings::add_to_phase_2): New. - (selftest::test_pp_printf_within_pp_element): New. - (selftest::test_comma_separated_quoted_strings): New. - (selftest::pretty_print_cc_tests): Call the new tests. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - * pretty-print.cc (output_buffer::dump): New. - (pretty_printer::dump): New. - * pretty-print.h (output_buffer::dump): New decls. - (pretty_printer::dump): New decls. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc (sarif_builder::~sarif_builder): New, - deleting any remaining artifact objects. - (sarif_builder::make_run_object): Empty the artifact map. - * ordered-hash-map.h (ordered_hash_map::empty): New. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/c6x/c6x.md (sdot_prodv2hi): Renamed to... - (sdot_prodsiv2hi): ...this. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/rs6000/altivec.md (udot_prod<mode>): Renamed to... - (udot_prodv4si<mode>): ...this. - (sdot_prodv8hi): Renamed to... - (sdot_prodv4siv8hi): ...this. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/mips/loongson-mmi.md (sdot_prodv4hi): Renamed to... - (sdot_prodv2siv4hi): ...this. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/arc/simdext.md (sdot_prodv2hi): Renamed to... - (sdot_prodsiv2hi): ...this. - (udot_prodv2hi): Renamed to... - (udot_prodsiv2hi): ...this. - (sdot_prodv4hi): Renamed to... - (sdot_prodv2siv4hi): ...this. - (udot_prodv4hi): Renamed to... - (udot_prodv2siv4hi): ...this. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/i386/mmx.md (usdot_prodv8qi): Renamed to... - (usdot_prodv2siv8qi): ...this. - (sdot_prodv8qi): Renamed to... - (sdot_prodv2siv8qi): ...this. - (udot_prodv8qi): Renamed to... - (udot_prodv2siv8qi): ...this. - (usdot_prodv4hi): Renamed to... - (usdot_prodv2siv4hi): ...this. - (udot_prodv4hi): Renamed to... - (udot_prodv2siv4hi): ...this. - (sdot_prodv4hi): Renamed to... - (sdot_prodv2siv4hi): ...this. - * config/i386/sse.md (sdot_prod<mode>): Renamed to... - (sdot_prod<sseunpackmodelower><mode>): ...this. - (sdot_prodv4si): Renamed to... - (sdot_prodv2div4si): ...this. - (usdot_prod<mode>): Renamed to... - (usdot_prod<ssedvecmodelower><mode>): ...this. - (sdot_prod<mode>): Renamed to... - (sdot_prod<ssedvecmodelower><mode>): ...this. - (sdot_prodv64qi): Renamed to... - (sdot_prodv16siv64qi): ...this. - (udot_prod<mode>): Renamed to... - (udot_prod<ssedvecmodelower><mode>): ...this. - (udot_prodv64qi): Renamed to... - (udot_prodv16qiv64qi): ...this. - (usdot_prod<mode>): Renamed to... - (usdot_prod<sseunpackmodelower><mode>): ...this. - (udot_prod<mode>): Renamed to... - (udot_prod<sseunpackmodelower><mode>): ...this. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/arm/neon.md (<sup>dot_prod<vsi2qi>): Renamed to... - (<sup>dot_prod<mode><vsi2qi>): ...this. - (neon_<sup>dot<vsi2qi>): Renamed to... - (neon_<sup>dot<mode><vsi2qi>): ...this. - (neon_usdot<vsi2qi>): Renamed to... - (neon_usdot<mode><vsi2qi>): ...this. - (usdot_prod<vsi2qi>): Renamed to... - (usdot_prod<mode><vsi2qi>): ...this. - * config/arm/arm-builtins.cc - (CODE_FOR_neon_sdotv8qi): Definie as alias to - new CODE_FOR_neon_sdotv2siv8qi. - (CODE_FOR_neon_udotv8qi): Definie as alias to - new CODE_FOR_neon_udotv2siv8qi. - (CODE_FOR_neon_usdotv8qi): Definie as alias to - new CODE_FOR_neon_usdotv2siv8qi. - (CODE_FOR_neon_sdotv16qi): Definie as alias to - new CODE_FOR_neon_sdotv4siv16qi. - (CODE_FOR_neon_udotv16qi): Definie as alias to - new CODE_FOR_neon_udotv4siv16qi. - (CODE_FOR_neon_usdotv16qi): Definie as alias to - new CODE_FOR_neon_usdotv4siv16qi. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/aarch64/aarch64-simd.md - (<sur>dot_prod<vsi2qi><vczle><vczbe>): Renamed to... - (<sur>dot_prod<mode><vsi2qi><vczle><vczbe>): ...this. - (usdot_prod<vsi2qi><vczle><vczbe>): Renamed to... - (usdot_prod<mode><vsi2qi><vczle><vczbe>): ...this. - (<su>sadv16qi): Adjust call to gen_udot_prod take second mode. - (popcount<mode2>): fix use of `udot_prod_optab'. - * config/aarch64/aarch64-sve.md - (<sur>dot_prod<vsi2qi>): Renamed to... - (<sur>dot_prod<mode><vsi2qi>): ...this. - (@<sur>dot_prod<vsi2qi>): Renamed to... - (@<sur>dot_prod<mode><vsi2qi>): ...this. - (<su>sad<vsi2qi>): Adjust call to gen_udot_prod take second mode. - * config/aarch64/aarch64-sve2.md - (@aarch64_sve_<sur>dotvnx4sivnx8hi): Renamed to... - (<sur>dot_prodvnx4sivnx8hi): ...this. - * config/aarch64/aarch64-simd-builtins.def: Modify macro - expansion-based initialization and expansion - of (u|s|us)dot_prod builtins. - * config/aarch64/aarch64-builtins.cc - (CODE_FOR_aarch64_sdot_prodv8qi): Define as alias to - new CODE_FOR_sdot_prodv2siv8qi. - (CODE_FOR_aarch64_udot_prodv8qi): Define as alias to - new CODE_FOR_udot_prodv2siv8qi. - (CODE_FOR_aarch64_usdot_prodv8qi): Define as alias to - new CODE_FOR_usdot_prodv2siv8qi. - (CODE_FOR_aarch64_sdot_prodv16qi): Define as alias to - new CODE_FOR_sdot_prodv4siv16qi. - (CODE_FOR_aarch64_udot_prodv16qi): Define as alias to - new CODE_FOR_udot_prodv4siv16qi. - (CODE_FOR_aarch64_usdot_prodv16qi): Define as alias to - new CODE_FOR_usdot_prodv4siv16qi. - * config/aarch64/aarch64-sve-builtins-base.cc - (svdot_impl::expand): s/direct/convert/ in - `convert_optab_handler_for_sign' function call. - (svusdot_impl::expand): add second mode argument in call to - `code_for_dot_prod'. - * config/aarch64/aarch64-sve-builtins.cc - (function_expander::convert_optab_handler_for_sign): New class - method. - * config/aarch64/aarch64-sve-builtins.h - (class function_expander): Add prototype for new - `convert_optab_handler_for_sign' method. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * gimple-match-exports.cc (directly_supported_p): Add overload - for conversion-type optabs. - * gimple-match.h (directly_supported_p): Add new function - prototype. - * optabs.cc (expand_widen_pattern_expr): Make the - DOT_PROD_EXPR tree code use `find_widening_optab_handler' to - retrieve icode. - * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): make it - call conversion-type overloaded `directly_supported_p'. - * tree-vect-patterns.cc (vect_supportable_conv_optab_p): New. - (vect_recog_dot_prod_pattern): s/direct/conv/ in call to - `vect_supportable_direct_optab_p'. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * optabs.def (sdot_prod_optab): Convert from OPTAB_D to - OPTAB_CD. - (udot_prod_optab): Likewise. - (usdot_prod_optab): Likewise. - * doc/md.texi (Standard Names): update entries for u,s and us - dot_prod names. - -2024-09-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116879 - * tree-vect-loop.cc (vect_analyze_loop_form): Scan all - blocks that form the latch. - -2024-09-30 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116817 - * tree-vect-patterns.cc (vect_recog_bool_pattern): Check for const or - externals. - -2024-09-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116842 - * tree-vect-stmts.cc (hoist_defs_of_uses): Sort stmts to hoist - after UID to avoid breaking vect_stmt_dominates_stmt_p. - -2024-09-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116785 - * tree-ssa-structalias.cc (get_constraint_for_1): Only - volatile qualified reads produce ANYTHING. - -2024-09-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116850 - * gimple-ssa-isolate-paths.cc (bb_split_points): New global. - (insert_trap): Delay BB splitting if post-doms are computed. - (find_explicit_erroneous_behavior): Process delayed BB - splitting after releasing post dominators. - (gimple_ssa_isolate_erroneous_paths): Do not free post-dom - info here. - -2024-09-30 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 1 matching pattern for signed SAT_SUB. - * tree-ssa-math-opts.cc (gimple_signed_integer_sat_sub): Add new - decl for generated SAT_SUB matching func. - (match_unsigned_saturation_sub): Rename from... - (match_saturation_sub): ...Rename to and add signed SAT_SUB matching. - (math_opts_dom_walker::after_dom_children): Leverage the named - match func for both the unsigned and signed SAT_SUB. - -2024-09-29 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-protos.h (riscv_expand_sssub): Add new func - decl for expanding signed SAT_SUB. - * config/riscv/riscv.cc (riscv_expand_sssub): Add new func impl - for expanding signed SAT_SUB. - * config/riscv/riscv.md (sssub<mode>3): Add new pattern sssub - for scalar signed integer. - -2024-09-29 Jakub Jelinek <jakub@redhat.com> - - PR target/116627 - * cselib.cc (remove_useless_values): Discard useless locs - even from preserved cselib_vals in cselib_preserved_hash_table - hash table. - -2024-09-29 Pietro Monteiro <pietro@sociotechnical.xyz> - - * doc/extend.texi (SH Operand Modifiers): New. - -2024-09-29 Jovan Vukic <Jovan.Vukic@rt-rk.com> - - PR target/108038 - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): New - simplification. - -2024-09-29 Dimitar Dimitrov <dimitar@dinux.eu> - - * doc/sourcebuild.texi: Document struct-layout-1.exp. - -2024-09-28 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <i?86-*-linux*>: Remove note - from 2003. - -2024-09-27 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/116847 - * diagnostic.h (diagnostic_option_classifier): Add pch_save and - pch_restore method declarations. - (diagnostic_context): Add pch_save and pch_restore inline method - definitions. - * diagnostic.cc (diagnostic_option_classifier::pch_save): New method. - (diagnostic_option_classifier::pch_restore): Likewise. - -2024-09-27 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/116847 - * diagnostic.h (diagnostic_option_classifier): Change type - of m_classification_history from diagnostic_classification_change_t * - to vec<diagnostic_classification_change_t>. Change type of - m_push_list from int * to vec<int>. Remove m_n_classification_history - and m_n_push members. - * diagnostic.cc (diagnostic_option_classifier::init): Set m_push_list - to vNULL rather than nullptr. Don't initialize m_n_push. Initialize - m_classification_history to vNULL. - (diagnostic_option_classifier::fini): Call release () method on - m_push_list instead of free on it. Call release () on - m_classification_history. Don't clear m_n_push. - (diagnostic_option_classifier::push): Adjust for m_push_list and - m_classification_history being vectors rather than custom allocated - arrays with counter. - (diagnostic_option_classifier::pop): Likewise. - (classify_diagnostic): Adjust for m_classification_history being - vector rather than custom allocated array with counter. - (update_effective_level_from_pragmas): Likewise. - -2024-09-27 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.h: Add PTA_BDVER1, PTA_BDVER2, PTA_BDVER3, - PTA_BDVER4, PTA_BTVER1 and PTA_BTVER2. - * common/config/i386/i386-common.cc (processor_alias_table) - <"bdver1">: Use PTA_BDVER1. - <"bdver2">: Use PTA_BDVER2. - <"bdver3">: Use PTA_BDVER3. - <"bdver4">: Use PTA_BDVER4. - <"btver1">: Use PTA_BTVER1. Use M_CPU_TYPE (AMD_BTVER1). - <"btver2">: Use PTA_BTVER2. - <"shanghai>: Use M_CPU_SUBTYPE (AMDFAM10H_SHANGHAI). - <"istanbul>: Use M_CPU_SUBTYPE (AMDFAM10H_ISTANBUL). - -2024-09-27 Pan Li <pan2.li@intel.com> - - PR middle-end/116861 - * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): Backup - the next psi iterator before remove the phi node. - -2024-09-27 Richard Biener <rguenther@suse.de> - - * doc/contrib.texi (Richard Biener): Move entry. - -2024-09-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116818 - * tree-vect-stmts.cc (get_group_load_store_type): Consider - VMAT_GATHER_SCATTER instead of VMAT_ELEMENTWISE also for SLP. - (vectorizable_load): For single-lane VMAT_GATHER_SCATTER also - ignore permutations. - -2024-09-27 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): - Use the new vect_get_num_copies overload. Only divide by - group_size for SLP for load-store lanes. - -2024-09-27 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116848 - * tree-ssa-loop-unswitch.cc (tree_ssa_unswitch_loops): Call mark_ssa_maybe_undefs. - (is_maybe_undefined): Call ssa_name_maybe_undef_p instead of ondemand undef. - -2024-09-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114855 - * params.opt (--param transitive-relations-work-bound): New. - * doc/invoke.texi (--param transitive-relations-work-bound): - Document. - * value-relation.cc (dom_oracle::register_transitives): - Assing an overall work budget, bounding the dominator walk and - the number of relations processed. - (dom_oracle::record): Only register_transitives when the - number of already registered relations does not yet exceed - the per-BB limit. - -2024-09-26 Tobias Burnus <tburnus@baylibre.com> - - * langhooks-def.h (lhd_omp_deep_mapping_p, - lhd_omp_deep_mapping_cnt, lhd_omp_deep_mapping): New. - (LANG_HOOKS_OMP_DEEP_MAPPING_P, LANG_HOOKS_OMP_DEEP_MAPPING_CNT, - LANG_HOOKS_OMP_DEEP_MAPPING): Define. - (LANG_HOOKS_DECLS): Use it. - * langhooks.cc (lhd_omp_deep_mapping_p, lhd_omp_deep_mapping_cnt, - lhd_omp_deep_mapping): New stubs. - * langhooks.h (struct lang_hooks_for_decls): Add new hooks - * omp-expand.cc (expand_omp_target): Handle dynamic-size - addr/sizes/kinds arrays. - * omp-low.cc (build_sender_ref, fixup_child_record_type, - scan_sharing_clauses, lower_omp_target): Update to handle - new hooks and dynamic-size addr/sizes/kinds arrays. - -2024-09-26 Jakub Jelinek <jakub@redhat.com> - - * pretty-print.cc (allocate_object): Use obstack_blank rather than - obstack_grow. - -2024-09-26 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <*-*-mingw32>: Remove note regarding - binutils 2.16. - -2024-09-26 Kugan Vivekanandarajah <kvivekananda@nvidia.com> - - * match.pd: Extend A CMP 0 ? A : -A into (type)A CMP 0 ? A : -A. - Extend A CMP 0 ? A : -A into (type) A CMP 0 ? A : -A. - -2024-09-26 Levy Hsu <admin@levyhsu.com> - - * config/i386/mmx.md: - (VQI_16_32_64): New mode iterator for 8-byte, 4-byte, and 2-byte QImode. - (popcount<mode>2): New pattern for popcount of V2QI/V4QI/V8QI mode. - (popcount<mode>2): New pattern for popcount of V2HI/V4HI mode. - (popcountv2si2): New pattern for popcount of V2SI mode. - -2024-09-26 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386.h (VECTOR_STORE_FLAG_VALUE): New macro. - -2024-09-26 Pan Li <pan2.li@intel.com> - - * match.pd: Add optional nop_convert for signed SAT_ADD case 4. - -2024-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR other/116801 - * common.opt.urls: Regenerate. - -2024-09-25 Jakub Jelinek <jakub@redhat.com> - - PR target/116738 - * config/i386/i386.cc (ix86_fold_builtin): Handle - IX86_BUILTIN_M{IN,AX}{S,P}{S,H,D}*. - (ix86_gimple_fold_builtin): Handle IX86_BUILTIN_M{IN,AX}P{S,H,D}*. - -2024-09-25 H.J. Lu <hjl.tools@gmail.com> - - PR target/116839 - * config/i386/i386.cc (ix86_rewrite_tls_address_1): Make it - static. Return if TLS address is thread register plus an integer - register. - -2024-09-25 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116772 - * generic-match-head.cc (expr_no_side_effects_p): New function - * gimple-match-head.cc (expr_no_side_effects_p): New function - * match.pd (`a != 0 ? a / b : 0`): Check expr_no_side_effects_p. - (`a != 0 ? a * b : 0`, `a != 0 ? a & b : 0`): Likewise. - -2024-09-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> - - PR tree-optimization/114326 - * match.pd: Add two patterns to fold a ^ b to 0, when a == b. - -2024-09-25 Richard Biener <rguenther@suse.de> - - * value-range.cc (get_bitmask_from_range): Remove redundant - compare of xorv with zero. - -2024-09-25 Richard Biener <rguenther@suse.de> - - * wide-int.h (wide_int_storage::wide_int_storage): Branch - on source precision to avoid data dependence on memcpy - destination. - (wide_int_storage::operator=): Likewise. - -2024-09-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> - - PR tree-optimization/109393 - * match.pd: (A * B) + (-C) -> (B - C/A) * A, if C a multiple of A. - -2024-09-25 Richard Biener <rguenther@suse.de> - - * tree-ssa-reassoc.cc (break_up_subtract_bb): Remove recursion. - (reassociate_bb): Likewise. - (do_reassoc): Implement worklist based dominator walks for - both break_up_subtract_bb and reassociate_bb. - -2024-09-25 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/114855 - * tree-ssa-threadedge.cc: Remove unneeded recursion. - -2024-09-25 Richard Biener <rguenther@suse.de> - - * ipa-utils.cc (find_always_executed_bbs): Switch result - bitmap to tree view. - -2024-09-25 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/114855 - * ira.cc (add_store_equivs): Use sbitmap for tracking - visited insns. - -2024-09-25 Richard Biener <rguenther@suse.de> - - * ira.cc (ira): Gate add_store_equivs on flag_expensive_optimizations. - -2024-09-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114855 - * value-relation.cc (equiv_oracle::equiv_oracle): Switch - m_equiv_set to tree view. - -2024-09-25 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.opt: Update the features included in apxf. - -2024-09-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/107637 - * omp-general.cc (find_combined_omp_for, find_nested_loop_xform): - Handle CLEANUP_POINT_EXPR like TRY_FINALLY_EXPR. - * doc/invoke.texi (frange-for-ext-temps): Document. Add - -fconcepts to the C++ option list. - -2024-09-24 Jakub Jelinek <jakub@redhat.com> - - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Fix comment - typo, insead -> instead. - -2024-09-24 Yixuan Chen <chenyixuan@iscas.ac.cn> - - * config/riscv/riscv.h: Fix FIXED_REGISTERS comment missing return - address register. - -2024-09-24 Sandra Loosemore <sloosemore@baylibre.com> - - * omp-general.cc (omp_check_context_selector): Reject other - properties in the same selector set with kind(any). Also reject - duplicate name-list properties. - -2024-09-24 Richard Biener <rguenther@suse.de> - - * range-op.cc (operator_rshift::op1_range): Use wi::mask instead - of shift and not. - -2024-09-24 Pan Li <pan2.li@intel.com> - - PR middle-end/116814 - * tree-ssa-math-opts.cc (build_saturation_binary_arith_call): Make - ifn is_supported type check based on operand instead of lhs. - -2024-09-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116819 - * tree-vect-stmts.cc (vect_analyze_stmt): When the SLP - representative isn't relevant signal failure instead of - success. - -2024-09-24 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/autovec.md (vec_extract<mode><vls_quarter>): - Add quarter vec-vec extract. - * config/riscv/vector-iterators.md: New iterators. - -2024-09-24 Jason Merrill <jason@redhat.com> - - * configure.ac (CXX_WARNING_OPTS): Change -Wno-narrowing - to -Wno-error=narrowing. - * configure: Regenerate. - * config/i386/i386.h (debugger_register_map) - (debugger64_register_map) - (svr4_debugger_register_map): Make unsigned. - * config/i386/i386.cc: Likewise. - * diagnostic-event-id.h (diagnostic_thread_id_t): Make int. - * vec.h (vec::size): Make unsigned int. - * ipa-modref.cc (escape_point::arg): Make unsigned. - (modref_lattice::add_escape_point): Use eaf_flags_t. - (update_escape_summary_1): Use eaf_flags_t, && for bool. - * pair-fusion.cc (pair_fusion_bb_info::track_access): - Make mem_size unsigned int. - * pretty-print.cc (format_phase_2): Cast va_arg to char. - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Make nheaders - unsigned, remove cast. - * tree-ssa-structalias.cc (bitpos_of_field): Return unsigned. - (push_fields_onto_fieldstack):Make offset unsigned, remove cast. - * tree-vect-slp.cc (vect_prologue_cost_for_slp): Use nelt_limit. - * tree-vect-stmts.cc (vect_truncate_gather_scatter_offset): - Make scale unsigned. - (vectorizable_operation): Make ncopies unsigned. - * rtl-ssa/member-fns.inl: Make num_accesses unsigned int. - -2024-09-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114855 - * tree-into-ssa.cc (update_ssa): Use tree view for the - initial population of blocks_to_update. - -2024-09-24 Tobias Burnus <tburnus@baylibre.com> - - * lto-cgraph.cc (output_offload_tables, omp_requires_to_name): Handle - self_maps clause. - * omp-general.cc (struct omp_ts_info, omp_context_selector_matches): - Likewise for the associated trait. - * omp-general.h (enum omp_requires): Add OMP_REQUIRES_SELF_MAPS. - * omp-selectors.h (enum omp_ts_code): Add - OMP_TRAIT_IMPLEMENTATION_SELF_MAPS. - -2024-09-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115372 - * tree-vect-slp.cc (vect_build_slp_instance): Compute the - uniform, if, number of lanes of the RHS sub-graphs feeding - the store and if uniformly one, use store-lanes if the target - supports that. - -2024-09-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114855 - * tree-into-ssa.cc (phis_to_rewrite): Remove global var. - (mark_phi_for_rewrite): Simplify. - (rewrite_update_phi_arguments): Walk all PHIs, process - those satisfying rewrite_uses_p. - (delete_update_ssa): Simplify. - (update_ssa): Likewise. Switch blocks_with_phis_to_rewrite - to tree view. - -2024-09-24 Yangyu Chen <chenyangyu@isrc.iscas.ac.cn> - - * hosthooks.h (struct host_hooks): Fix GCC_HOST_HOOKS_H typo. - -2024-09-24 Prathamesh Kulkarni <prathameshk@nvidia.com> - Thomas Schwinge <tschwinge@baylibre.com> - - PR target/104957 - * config/nvptx/nvptx.cc (nvptx_asm_output_def_from_decls): Use - cgraph_node::get(name)->ultimate_alias_target instead of value. - -2024-09-23 Saurabh Jha <saurabh.jha@arm.com> - - * config/aarch64/aarch64-simd.md - (*aarch64_faminmax_fused): Instruction pattern for faminmax - codegen. - * config/aarch64/iterators.md: Attribute for faminmax codegen. - -2024-09-23 Saurabh Jha <saurabh.jha@arm.com> - - * config/aarch64/aarch64-builtins.cc - (ENTRY): Macro to parse the contents of - aarch64-simd-pragma-builtins.def. - (ENTRY_VHSDF): Macro to parse the contents of - aarch64-simd-pragma-builtins.def. - (enum aarch64_builtins): New enum values for faminmax builtins - via aarch64-simd-pragma-builtins.def. - (enum class aarch64_builtin_signatures): Enum class to specify - the number of operands a builtin will take. - (struct aarch64_pragma_builtins_data): Struct to hold data from - aarch64-simd-pragma-builtins.def. - (aarch64_fntype): New function to define function types of - intrinsics given an object of type aarch64_pragma_builtins_data. - (aarch64_init_pragma_builtins): New function to define pragma - builtins. - (aarch64_get_pragma_builtin): New function to get a row of - aarch64_pragma_builtins, given code. - (handle_arm_neon_h): Modify to call - aarch64_init_pragma_builtins. - (aarch64_general_check_builtin_call): Modify to check whether - required flag is being used for pragma builtins. - (aarch64_expand_pragma_builtin): New function to emit - instructions of pragma_builtin. - (aarch64_general_expand_builtin): Modify to call - aarch64_expand_pragma_builtin. - * config/aarch64/aarch64-option-extensions.def - (AARCH64_OPT_EXTENSION): Introduce new flag for this extension. - * config/aarch64/aarch64-simd.md - (@aarch64_<faminmax_uns_op><mode>): Instruction pattern for - faminmax intrinsics. - * config/aarch64/aarch64.h - (TARGET_FAMINMAX): Introduce new flag for this extension. - * config/aarch64/iterators.md: New iterators and unspecs. - * doc/invoke.texi: Document extension in AArch64 Options. - * config/aarch64/aarch64-simd-pragma-builtins.def: New file to - list pragma builtins. - -2024-09-23 Matthieu Longo <matthieu.longo@arm.com> - - * dwarf2cfi.cc - (struct dw_cfi_row): Declare a new enum type to replace ra_mangled. - (cfi_row_equal_p): Use ra_state instead of ra_mangled. - (dwarf2out_frame_debug_cfa_negate_ra_state): Same. - (change_cfi_row): Same. - -2024-09-23 Matthieu Longo <matthieu.longo@arm.com> - - * config/aarch64/aarch64.cc - (aarch64_output_cfi_directive): New hook for CFI directives. - (aarch64_dw_cfi_oprnd1_desc): Same. - (TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive. - (TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc. - * config/sparc/sparc.cc - (sparc_output_cfi_directive): New hook for CFI directives. - (sparc_dw_cfi_oprnd1_desc): Same. - (TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive. - (TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc. - * coretypes.h - (struct dw_cfi_node): Forward declaration of CFI type from - gcc/dwarf2out.h. - (enum dw_cfi_oprnd_type): Same. - (enum dwarf_call_frame_info): Same. - * doc/tm.texi: Regenerated from doc/tm.texi.in. - * doc/tm.texi.in: Add doc for new target hooks. - type of enum to allow forward declaration. - * dwarf2cfi.cc - (struct dw_cfi_row): Update the description for window_save - and ra_mangled. - (dwarf2out_frame_debug_cfa_negate_ra_state): Use AArch64 CFI - directive instead of the SPARC one. - (change_cfi_row): Use the right CFI directive's name for RA - mangling. - (output_cfi): Remove explicit architecture-specific CFI - directive DW_CFA_GNU_window_save that falls into default case. - (output_cfi_directive): Use target hook as default. - * dwarf2out.cc (dw_cfi_oprnd1_desc): Use target hook as default. - * dwarf2out.h (enum dw_cfi_oprnd_type): specify underlying type - of enum to allow forward declaration. - (dw_cfi_oprnd1_desc): Call target hook. - (output_cfi_directive): Use dw_cfi_ref instead of struct - dw_cfi_node *. - * hooks.cc - (hook_bool_dwcfi_dwcfioprndtyperef_false): New. - (hook_bool_FILEptr_dwcfiptr_false): New. - * hooks.h - (hook_bool_dwcfi_dwcfioprndtyperef_false): New. - (hook_bool_FILEptr_dwcfiptr_false): New. - * target.def: Documentation for new hooks. - -2024-09-23 Matthieu Longo <matthieu.longo@arm.com> - - * combine-stack-adj.cc - (no_unhandled_cfa): Rename. - * config/aarch64/aarch64.cc - (aarch64_expand_prologue): Rename. - (aarch64_expand_epilogue): Rename. - * dwarf2cfi.cc - (dwarf2out_frame_debug_cfa_toggle_ra_mangle): Rename this... - (dwarf2out_frame_debug_cfa_negate_ra_state): To this. - (dwarf2out_frame_debug): Rename. - * reg-notes.def (REG_CFA_NOTE): Rename REG_CFA_TOGGLE_RA_MANGLE. - -2024-09-23 Tobias Burnus <tburnus@baylibre.com> - - * omp-general.cc (omp_runtime_api_procname): Strip "omp_" from - string; move get_device_from_uid as now a '_' suffix exists. - -2024-09-23 Claudiu Zissulescu <claziss@gmail.com> - - PR target/113954 - * config/arc/arc.cc (TARGET_LRA_P): Always return true. - (arc_lra_p): Remove. - * config/arc/arc.h (TARGET_LRA): Remove. - * config/arc/arc.opt (mlra): Change it to do nothing. - * doc/invoke.texi (mlra): Update option description. - -2024-09-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116810 - * tree-vect-slp.cc (vect_build_slp_instance): Onlu force - splitting for group_size > 1. - -2024-09-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116796 - * cfgloopmanip.cc (fix_loop_placements): Get LC-SSA-invalidated - bitmap and pass it on. - (remove_path): Pass LC-SSA-invalidated to fix_loop_placements. - -2024-09-23 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116812 - * tree-vect-slp.cc (vect_slp_region): Fix insertion. - -2024-09-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116791 - * tree-vect-stmts.cc (get_group_load_store_type): Only - fall back to elementwise access for single-lane SLP, restore - hard failure mode for other cases. - -2024-09-23 Tobias Burnus <tburnus@baylibre.com> - - * config/gcn/mkoffload.cc (process_asm): (Re)add the fprintf - lines for stdlib.h/stdbool.h inclusion if gcn_stack_size is used. - -2024-09-23 Pan Li <pan2.li@intel.com> - - PR target/116795 - * gimple-match-head.cc (match_cond_with_binary_phi): Fix the - incorrect cfg check as b0->b1 in above example. - -2024-09-23 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple-iterator.h (gimple_seq_nondebug_singleton_p): - Rewrite to be simplely, gsi_start_nondebug/gsi_one_nondebug_before_end_p. - -2024-09-23 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple.h (remove_pointer): Remove. - (GIMPLE_CHECK2): Use std::remove_pointer instead of custom one. - -2024-09-23 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-operands.h (PHI_ARG_DEF): Remove definition. - -2024-09-23 Pan Li <pan2.li@intel.com> - - * match.pd: Add the case 3 for signed .SAT_ADD matching. - -2024-09-22 Tamar Christina <tamar.christina@arm.com> - - * tree-vect-patterns.cc (append_inv_pattern_def_seq): New. - (vect_recog_bool_pattern): Lower COND_EXPRs. - * tree-vect-slp.cc (vect_slp_region): Materialize loop invariant - statements. - * tree-vect-loop.cc (vect_transform_loop): Likewise. - * tree-vect-stmts.cc (vectorizable_comparison_1): Remove - VECT_SCALAR_BOOLEAN_TYPE_P handling for vectype. - * tree-vectorizer.cc (vec_info::vec_info): Initialize - inv_pattern_def_seq. - * tree-vectorizer.h (LOOP_VINFO_INV_PATTERN_DEF_SEQ): New. - (class vec_info): Add inv_pattern_def_seq. - -2024-09-22 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64.cc (adjust_body_cost): - Cap VF for low iteration loops. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * flag-types.h (enum gfc_inlineable_intrinsics): New type. - -2024-09-20 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * text-art/dump.h (dump_to_file): Simplify using - tree_dump_pretty_printer. - * tree-diagnostic.h (class tree_dump_pretty_printer): New. - -2024-09-20 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * diagnostic-format-sarif.cc (sarif_builder::m_printer): New - field. - (sarif_invocation::add_notification_for_ice): Drop context param. - (sarif_invocation::prepare_to_flush): Convert param from context - to builder. - (sarif_result::on_nested_diagnostic): Drop context param. Use - builder's printer. - (sarif_result::on_diagram): Drop context param. - (sarif_ice_notification::sarif_ice_notification): Drop context - param. Use builder's printer. - (sarif_builder::sarif_builder): Initialize m_printer. - (sarif_builder::on_report_diagnostic): Drop context param. Use - builder's printer. - (sarif_builder::emit_diagram): Drop context param. - (sarif_builder::flush_to_object): Use this rather than context - for call to prepare_to_flush. - (sarif_builder::make_result_object): Drop context param. Use - builder's printer. - (sarif_builder::make_reporting_descriptor_object_for_warning): - Drop context param. - (sarif_builder::make_message_object_for_diagram): Likewise. - Use builder's printer. - (sarif_output_format::on_report_diagnostic): Drop context param - from call to sarif_builder::on_report_diagnostic. - (sarif_output_format::on_diagram): Drop context param from call to - sarif_builder::emit_diagram. - * diagnostic.h (diagnostic_conetxt::get_client_data_hooks): Make const. - -2024-09-20 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * coretypes.h (class diagnostic_text_output_format): Add forward - decl. - * diagnostic-format-json.cc - (json_output_format::after_diagnostic): New. - * diagnostic-format-sarif.cc - (sarif_output_format::after_diagnostic): New. - * diagnostic-format-text.cc: Use pragmas to ignore -Wformat-diag. - (diagnostic_text_output_format::~diagnostic_text_output_format): - Use get_printer. Clean up m_includes_seen here, rather than - in ~diagnostic_context. - (diagnostic_text_output_format::on_report_diagnostic): Use - get_printer. Update for callback renamings and pass *this - to them, rather than &m_context. - (diagnostic_text_output_format::after_diagnostic): New. - (diagnostic_text_output_format::includes_seen_p): Move here - from diagnostic_context/diagnostic.cc. - (diagnostic_text_output_format::get_location_text): New. - (maybe_line_and_column): Move here from diagnostic.cc and make - non-static. - (diagnostic_text_output_format::report_current_module): Move - here from diagnostic_context/diagnostic.cc. - (default_diagnostic_text_starter): Move here from diagnostic.cc, - renaming from default_diagnostic_starter. - (default_diagnostic_text_finalizer): Likewise, renaming from - default_diagnostic_finalizer. - * diagnostic-format-text.h - (diagnostic_text_output_format::diagnostic_text_output_format): - Initialize m_last_module and m_includes_seen. - (diagnostic_text_output_format::after_diagnostic): New decl. - (diagnostic_text_output_format::build_prefix): New decl. - (diagnostic_text_output_format::report_current_module): New decl. - (diagnostic_text_output_format::append_note): New decl. - (diagnostic_text_output_format::file_name_as_prefix): New decl. - (diagnostic_text_output_format::print_path): New decl. - (diagnostic_text_output_format::show_column_p): New decl. - (diagnostic_text_output_format::get_location_text): New decl. - (diagnostic_text_output_format::includes_seen_p): New decl. - (diagnostic_text_output_format::show_any_path): New decl. - (diagnostic_text_output_format::m_last_module): New field. - (diagnostic_text_output_format::m_includes_seen): New field. - * diagnostic-format.h - (diagnostic_output_format::after_diagnostic): New vfunc. - (diagnostic_output_format::get_context): New. - (diagnostic_output_format::get_diagram_theme): New. - * diagnostic-macro-unwinding.cc: Include - "diagnostic-format-text.h". - (maybe_unwind_expanded_macro_loc): Convert first param from - diagnostic_context * to diagnostic_text_output_format & and update - accordingly. - (virt_loc_aware_diagnostic_finalizer): Likewise. - * diagnostic-macro-unwinding.h - (virt_loc_aware_diagnostic_finalizer): Likewise. - (maybe_unwind_expanded_macro_loc): Likewise. - * diagnostic-path.cc: Include "diagnostic-format-text.h". - (path_label::path_label): Drop "ctxt" param and add "colorize" - and "allow_emojis" params. Update initializations. - (path_label::get_text): Use m_colorize rather than querying - m_ctxt.m_printer. Use m_allow_emojis rather than querying - m_ctxt's diagram theme. - (path_label::m_ctxt): Drop field. - (path_label::m_colorize): Drop field. - (path_label::m_allow_emojis): Drop field. - (event_range::event_range): Drop param "ctxt". Add params - "colorize_labels" and "allow_emojis". - (event_range::print): Convert first param from - diagnostic_context & to diagnostic_text_output_format & and update - accordingly. - (path_summary::path_summary): Likewise. - (path_summary::print_swimlane_for_event_range): Likewise. - (print_path_summary_as_text): Likewise for 3rd param. - (diagnostic_context::print_path): Convert to... - (diagnostic_text_output_format::print_path): ...this. - (selftest::test_empty_path): Update to use a - diagnostic_text_output_format. - (selftest::test_intraprocedural_path): Likewise. - (selftest::test_interprocedural_path_1): Likewise. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - (selftest::test_control_flow_1): Likewise. - (selftest::test_control_flow_2): Likewise. - (selftest::test_control_flow_3): Likewise. - (selftest::assert_cfg_edge_path_streq): Likewise. - (selftest::test_control_flow_5): Likewise. - (selftest::test_control_flow_6): Likewise. - * diagnostic.cc (file_name_as_prefix): Convert to... - (diagnostic_text_output_format::file_name_as_prefix): ...this. - (diagnostic_context::initialize): Update for renamings. - Move m_last_module and m_includes_seen into text output. - (diagnostic_context::finish): Likewise. - (diagnostic_context::get_location_text): Add "colorize" param. - (diagnostic_build_prefix): Convert to... - (diagnostic_text_output_format::build_prefix): ...this. - (diagnostic_context::includes_seen_p): Move from here to - diagnostic_text_output_format/diagnostic-format-text.cc. - (diagnostic_context::report_current_module): Likewise. - (diagnostic_context::show_any_path): Convert to... - (diagnostic_text_output_format::show_any_path): ...this. - (default_diagnostic_starter): Rename and move to - diagnostic-format-text.cc. - (default_diagnostic_start_span_fn): Pass colorize bool - to get_location_text. - (default_diagnostic_finalizer): Rename and move to - diagnostic-format-text.cc. - (diagnostic_context::report_diagnostic): Replace call to - show_any_path with call to new output format "after_diagnostic" - vfunc, moving show_any_path call to the text output format. - (diagnostic_append_note): Convert to... - (diagnostic_text_output_format::append_note): ...this. - (selftest::assert_location_text): Pass in false for colorization. - * diagnostic.h (diagnostic_starter_fn): Rename to... - (diagnostic_text_starter_fn): ...this. Convert first param from - diagnostic_context * to diagnostic_text_output_format &. - (diagnostic_finalizer_fn, diagnostic_text_finalizer_fn): Likewise. - (diagnostic_context): Update friends for renamings. - (diagnostic_context::report_current_module): Move to text output - format. - (diagnostic_context::get_location_text): Add "colorize" bool. - (diagnostic_context::includes_seen_p): Move to text output format. - (diagnostic_context::show_any_path): Likewise. - (diagnostic_context::print_path): Likewise. - (diagnostic_context::m_text_callbacks): Update for renamings. - (diagnostic_context::m_last_module): Move to text output format. - (diagnostic_context::m_includes_seen): Likewise. - (diagnostic_starter): Rename to... - (diagnostic_text_starter): ...this and update return type. - (diagnostic_finalizer): Rename to... - (diagnostic_text_finalizer): ...this and update return type. - (diagnostic_report_current_module): Drop decl in favor of a member - function of diagnostic_text_output_format. - (diagnostic_append_note): Likewise. - (default_diagnostic_starter): Rename to... - (default_diagnostic_text_starter): ...this, updating type. - (default_diagnostic_finalizer): Rename to... - (default_diagnostic_text_finalizer): ...this, updating type. - (file_name_as_prefix): Drop decl. - * langhooks-def.h (lhd_print_error_function): Convert first param - from diagnostic_context * to diagnostic_text_output_format &. - * langhooks.cc: Include "diagnostic-format-text.h". - (lhd_print_error_function): Likewise. Update accordingly - * langhooks.h (lang_hooks::print_error_function): Convert first - param from diagnostic_context * to - diagnostic_text_output_format &. - * tree-diagnostic.cc: Include "diagnostic-format-text.h". - (diagnostic_report_current_function): Convert first param from - diagnostic_context * to diagnostic_text_output_format & and update - accordingly. - (default_tree_diagnostic_starter): Rename to... - (default_tree_diagnostic_text_starter): ...this. Convert first - param from diagnostic_context * to diagnostic_text_output_format & - and update accordingly. - (tree_diagnostics_defaults): Update for renamings. - -2024-09-20 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64.h (VECTOR_STORE_FLAG_VALUE): New. - -2024-09-20 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): New. - -2024-09-20 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): Fall back - to VMAT_ELEMENTWISE when single element interleaving of - a too large group. - (vectorizable_load): Do not try to verify load permutations - when using VMAT_ELEMENTWISE for single-lane SLP and fix code - generation for this case. - -2024-09-20 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when - discovering from only-live roots. - -2024-09-20 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/s390.cc (s390_lra_p): Remove. - (TARGET_LRA_P): Remove. - * config/s390/s390.opt (mlra): Remove. - * config/s390/s390.opt.urls (mlra): Remove. - -2024-09-20 Eric Botcazou <ebotcazou@adacore.com> - - * ipa-modref.cc (modref_eaf_analysis::analyze_ssa_name): Always - process both the load and the store of a memory copy operation. - -2024-09-20 Tobias Burnus <tburnus@baylibre.com> - - * omp-general.cc (omp_runtime_api_procname): Add - get_device_from_uid and omp_get_uid_from_device routines. - -2024-09-20 Uros Bizjak <ubizjak@gmail.com> - Jakub Jelinek <jakub@redhat.com> - - PR target/116738 - * config/i386/subst.md (mask_scalar_operand_arg34, - mask_scalar_expand_op3, round_saeonly_scalar_mask_arg3): New - subst attributes. - * config/i386/sse.md - (<sse>_vm<code><mode>3<mask_scalar_name><round_saeonly_scalar_name>): - Change from define_insn to define_expand, rename the old define_insn - to ... - (*<sse>_vm<code><mode>3<mask_scalar_name><round_saeonly_scalar_name>): - ... this. - (<sse>_ieee_vm<ieee_maxmin><mode>3<mask_scalar_name><round_saeonly_scalar_name>): - New define_insn. - -2024-09-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116643 - * ssa-iterators.h (single_phi_def): Use gimple_phi_result - instead of PHI_RESULT. - (op_iter_init_phidef): Use gimple_phi_result/gimple_phi_result_ptr - instead of PHI_RESULT/PHI_RESULT_PTR. - * tree-ssa-operands.h (PHI_RESULT_PTR): Remove. - (PHI_RESULT): Use gimple_phi_result directly. - (SET_PHI_RESULT): Use gimple_phi_result_ptr directly. - -2024-09-19 Marek Polacek <polacek@redhat.com> - - PR c++/116162 - * doc/invoke.texi: Document -Wdefaulted-function-deleted. - -2024-09-19 Jakub Jelinek <jakub@redhat.com> - - * dwarf2asm.cc (eh_data_format_name): Use constexpr initialization - of format_names table for C++14 instead of a large switch. - -2024-09-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116768 - * tree-data-ref.cc (build_classic_dist_vector_1): Revert - PR101009 change. - * tree-chrec.cc (eq_evolutions_p): Make sure (sizetype)1 - and (int)1 compare equal. - -2024-09-19 Richard Biener <rguenther@suse.de> - - * tree-vectorizer.h (vect_analyze_slp): Add force_single_lane - parameter. - * tree-vect-slp.cc (vect_analyze_slp_instance): Remove - defaulting of force_single_lane. - (vect_build_slp_instance): Likewise. Pass down appropriate - force_single_lane. - (vect_analyze_slp): Add force_sigle_lane parameter and pass - it down appropriately. - (vect_slp_analyze_bb_1): Always do multi-lane SLP. - * tree-vect-loop.cc (vect_analyze_loop_2): Track two SLP - modes and adjust accordingly. - (vect_analyze_loop_1): Save the SLP mode when unrolling. - -2024-09-19 Jason Merrill <jason@redhat.com> - - * ginclude/stdint-wrap.h: Add #pragma GCC diagnostic to suppress - undesired warnings. - * gsyslimits.h: Likewise. - -2024-09-19 Richard Biener <rguenther@suse.de> - - * tree-data-ref.cc (build_classic_dist_vector): Move - distance vector dumping to single caller ... - (subscript_dependence_tester): ... here, dumping always - when we succeed computing it. - -2024-09-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116573 - * tree-vect-loop.cc (vect_analyze_loop_2): Allow .SELECV_VL - for SLP but disable it when there's multi-lane instances. - * tree-vect-stmts.cc (vectorizable_store): Only compute the - ptr increment when generating code. - (vectorizable_load): Likewise. - -2024-09-19 Pan Li <pan2.li@intel.com> - - * match.pd: Add the form 3 of signed .SAT_ADD matching. - -2024-09-19 Pan Li <pan2.li@intel.com> - - * genmatch.cc (dt_operand::gen_phi_on_cond): Leverage the - match_cond_with_binary_phi API to get cond gimple, true and - false TREE arg. - -2024-09-19 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svmul_impl::fold): - Add folding of all-zero operands to zero vector. - -2024-09-19 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/tuning_models/neoversev2.h (neoversev2_prefetch_tune): - Define. - (neoversev2_tunings): Use it. - -2024-09-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/i386.md: Add ssemov2, sseicvt2. - * config/i386/sse.md (sse2_cvtsi2sd): Apply sseicvt2. - (sse2_cvtsi2sdq<round_name>): Ditto. - (vec_set<mode>_0): Apply ssemov2 for 4, 6. - -2024-09-19 Pan Li <pan2.li@intel.com> - - * gimple-match-head.cc (match_cond_with_binary_phi): Add new func - impl to match binary phi for true and false arg. - -2024-09-19 Haochen Jiang <haochen.jiang@intel.com> - - * doc/invoke.texi: Add corei7, corei7-avx, core-avx-i, - core-avx2, atom, slm, gracemont and emerarldrapids. Reorder - the -march documentation by splitting them into date-to-now - products, P-core and E-core. Refine the product names in - documentation. - -2024-09-18 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.h (GENERAL_REGNO_P): Define. - * config/pa/pa.md: Add SImode and SFmode peephole2 - patterns to generate loads and stores with long - displacements. - -2024-09-18 Jin Ma <jinma@linux.alibaba.com> - - * config/riscv/riscv.md: Change "truncate" to unspec for the Zfa extension on rv32. - -2024-09-18 Richard Biener <rguenther@suse.de> - - * params.opt (vect-force-slp): New param, default 0. - * doc/invoke.texi (--param vect-force-slp): Document. - * tree-vect-loop.cc (vect_analyze_loop_2): When analyzing - without SLP but --param vect-force-slp is 1 fail. - * tree-vect-stmts.cc (vect_analyze_stmt): Fail vectorization - for non-SLP stmts when --param vect-force-slp is 1. - -2024-09-18 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * config/riscv/riscv.cc (riscv_rtx_costs): Fix the outer_code - when calculating the cost of SET expression. - -2024-09-18 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * config/riscv/thead.md (*th_extu<mode>4): Fix th.extu - operands exceeding range on rv32. - -2024-09-18 Bohan Lei <garthlei@linux.alibaba.com> - - * config/riscv/vector.md: Allow zero operand for DI variants of - vssubu.vx - -2024-09-18 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/116569 - * match.pd: Guard simplification to trunc_mod with check for - mod optab support. - -2024-09-18 Georg-Johann Lay <avr@gjlay.de> - - PR rtl-optimization/116326 - * reload1.cc (reg_eliminate_1): Initialize from - RELOAD_ELIMINABLE_REGS if defined. - * config/avr/avr.h (RELOAD_ELIMINABLE_REGS): Copy from ELIMINABLE_REGS. - (ELIMINABLE_REGS): Don't mention sub-regnos of the frame pointer. - * doc/tm.texi.in (Eliminating Frame Pointer and Arg Pointer) - <RELOAD_ELIMINABLE_REGS>: Add documentation. - * doc/tm.texi: Rebuild. - -2024-09-18 Georg-Johann Lay <avr@gjlay.de> - - * doc/install.texi (Host/Target specific installation notes for GCC) - [avr]: Update web links to AVR-LibC and AVR Options. - Remove outdated note about Binutils. - -2024-09-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116585 - * tree-data-ref.cc (split_constant_offset_1): When either - operand is subject to abnormal coalescing do no further - processing. - -2024-09-18 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (cond_if_else_store_replacement): Use - range fors and use one vec for then/else stores instead of 2. - -2024-09-18 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (cond_if_else_store_replacement_1): Add debug dump. - -2024-09-18 Pan Li <pan2.li@intel.com> - - * config/riscv/autovec.md (ssadd<mode>3): Add new pattern for - signed integer vector SAT_ADD. - * config/riscv/riscv-protos.h (expand_vec_ssadd): Add new func - decl for vector ssadd expanding. - * config/riscv/riscv-v.cc (expand_vec_ssadd): Add new func impl - to expand vector ssadd pattern. - -2024-09-18 Michael Meissner <meissner@linux.ibm.com> - - PR target/89213 - * config/rs6000/altivec.md (UNSPEC_VECTOR_SHIFT): New unspec. - (VSHIFT_MODE): New mode iterator. - (vshift_code): New code iterator. - (vshift_attr): New code attribute. - (altivec_<mode>_<vshift_attr>_const): New pattern to optimize - vector long long/int shifts by a constant. - (altivec_<mode>_shift_const): New helper insn to load up a - constant used by the shift operation. - * config/rs6000/predicates.md (vector_shift_constant): New - predicate. - -2024-09-17 Marek Polacek <polacek@redhat.com> - - PR c++/116534 - * fold-const.cc (operand_compare::operand_equal_p): If either - field's DECL_FIELD_OFFSET is null, compare the fields with ==. - -2024-09-17 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): - Add folding of all-zero operands to zero vector. - -2024-09-16 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113328 - * config/aarch64/aarch64.cc (aarch64_simd_valid_immediate): Improve - handling of some ADVSIMD vectors by using SVE's INDEX if TARGET_SVE is - available. - (aarch64_output_simd_mov_immediate): Likewise. - -2024-09-16 Georg-Johann Lay <avr@gjlay.de> - - * doc/invoke.texi (AVR Options): Update AVR-LibC weblink from - nongnu.org to https://github.com/avrdudes/avr-libc - * doc/extend.texi (AVR Named Address Spaces): Same. - (AVR Function Attributes): Same. - * doc/install.texi (Cross-Compiler-Specific Options, AVR): Same. - -2024-09-16 Soumya AR <soumyaa@nvidia.com> - - * config/aarch64/aarch64-sve.md (*post_ra_v<optab><mode>3): Split pattern - to accomodate left and right shifts separately. - (*post_ra_v_ashl<mode>3): Matches left shifts with additional - constraint to check for shifts by 1. - (*post_ra_v_<optab><mode>3): Matches right shifts. - -2024-09-16 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-protos.h (avr_out_cmp_lsr, avr_maybe_cmp_lsr): New. - * config/avr/avr.cc (avr_maybe_cmp_lsr, avr_out_cmp_lsr): New functions. - (avr_out_compare) [GEU, LTU]: Start output at byte CTZ(xval) / 8. - (avr_adjust_insn_length) [ADJUST_LEN_CMP_LSR]: Handle case. - * config/avr/avr.md (adjust_len) <cmp_lsr>: New attr value. - (*cmp<mode>_lsr): New define_insn_and_split. - (cbranch<mode>4_insn): When splitting, run avr_maybe_cmp_lsr() - which may map the operands to *cmp<mode>_lsr. - -2024-09-16 Andreas Schwab <schwab@suse.de> - - PR target/116693 - * config/riscv/riscv.cc (riscv_legitimize_tls_address): Don't pass - seqno to gen_tlsdesc and remove it. - * config/riscv/riscv.md (@tlsdesc<mode>): Remove operand 1. Use - %= instead of %1 in template. - -2024-09-16 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-vectorizer.cc (vec_info::add_pattern_stmt): Set pattern_stmt_p. - -2024-09-16 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc: Use rtx_code for RTX codes. - Drop enum and struct tags. - * config/avr/avr.md: Same. - * config/avr/avr-c.cc: Same. - * config/avr/avr-dimode.md: Same. - * config/avr/avr-passes.cc: Same. - * config/avr/avr-protos.h: Same. - -2024-09-16 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_out_compare): Don't mix ADIW with SBCI / CPC. - -2024-09-15 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116699 - * tree-ssa-phiopt.cc (factor_out_conditional_operation): Skip over nop/predicates - for seeing the assignment is the last statement. - -2024-09-15 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-vect-loop.cc (optimize_mask_stores): Call release_defs - after the call to gsi_remove with last argument of true. - -2024-09-15 Andrew Pinski <quic_apinski@quicinc.com> - - * bitmap.h (class auto_bitmap): Mark copy/move constructor/operator= - as deleted. - -2024-09-14 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md (UNSPEC_COPYSIGN): Remove define_enum. - (copysignsf3): Use copysign instead of UNSPEC_COPYSIGN. - Allow const_double for operand 2. - -2024-09-13 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_2word_insn_p): Return true for - transparent calls: When insn attribute "type" is "xcall" - or when "adjust_len" is "call". - -2024-09-13 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (factor_out_conditional_operation): Instead - of just ignorning a NOP/PREDICT, skip over them before checking - the heuristics. - -2024-09-13 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc: Use functions like avr_byte, - avr_word, avr_[u]int8/16 if convenient. - (avr_uint16): New function. - -2024-09-13 Tobias Burnus <tburnus@baylibre.com> - - PR fortran/116661 - * omp-api.h (omp_get_fr_id_from_name, omp_get_name_from_fr_id): New - prototypes. - * omp-general.cc (omp_get_fr_id_from_name, omp_get_name_from_fr_id): - New. - -2024-09-13 Tobias Burnus <tburnus@baylibre.com> - - * config/gcn/mkoffload.cc (read_file): Remove. - (process_asm): Do not add '#include' to generated C file. - (process_obj): Generate C file that uses #embed and use - __SIZE_TYPE__ and __UINTPTR_TYPE__ instead the #include-defined - size_t and uintptr. - (main): Update call to it; remove no longer needed file I/O. - -2024-09-13 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - PR target/115860 - * config/s390/s390.cc (print_operand): Remove operand specifier - %V. - * config/s390/s390.md (UNSPEC_TF_TO_FPRX2): New. - * config/s390/vector.md (*tf_to_fprx2_0): Remove. - (*tf_to_fprx2_1): Remove. - (tf_to_fprx2): New. - -2024-09-13 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/s390.cc (s390_mem_constraint): Check displacement - for AQ and AR constraints. - -2024-09-13 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_chunk, avr_byte, avr_word) - (avr_int8, avr_uint8, avr_int16): New helper functions. - (avr_out_compare): Overhaul. - -2024-09-13 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_out_compare): Tweak 32-bit EQ and NE - comparisons that can use SBIW for the hi16 part. - -2024-09-13 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_init_machine_status): Move code to... - (avr_option_override) <init_machine_status>: ...lambda. - (avr_insn_has_reg_unused_note_p): Move up. - (_reg_unused_after, reg_unused_after): Move up. - (output_reload_in_const): Move up. - (avr_c_mode_for_floating_type): Move down. - -2024-09-13 Pan Li <pan2.li@intel.com> - - * match.pd: Remove the types_match check for signed SAT_ADD - case 1. - -2024-09-12 Alexandre Oliva <oliva@adacore.com> - Olivier Hainque <hainque@adacore.com> - - * doc/sourcebuild.texi (hostedlib): New effective target. - -2024-09-12 Uros Bizjak <ubizjak@gmail.com> - - PR target/112600 - * config/i386/mmx.md (<sat_plusminus:insn><mode>3): Rename - from *<sat_plusminus:insn><mode>3. - -2024-09-12 Jakub Jelinek <jakub@redhat.com> - - * doc/cpp.texi (Binary Resource Inclusion): Document gnu::base64 - parameter. - -2024-09-12 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/arm.h (OPTION_DEFAULT_SPECS): Allow -mcpu and -march - to be unset. - (ARCH_CPU_CLEANUP_SPECS): Likewise - (DRIVER_SELF_SPECS): Add ARCH_CPU_CLEANUP_SPECS - * doc/invoke.texi (arm: -mcpu= and -march=): Document use of 'unset'. - -2024-09-12 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (*insvti_lowpart_1): Use "o" constraint - instead of "m" for double-word mode memory operands. - -2024-09-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/s390-protos.h (s390_gen_lowpart_subreg): Remove. - * config/s390/s390.cc (s390_gen_lowpart_subreg): Remove. - (s390_expand_insv): Use adjust_address() and emit a - strict_low_part only in case of a natural subreg. - * config/s390/s390.md: Use gen_lowpart() instead of - s390_gen_lowpart_subreg(). - -2024-09-12 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_slp_analyze_operations): When - doing loop analysis fail after the first failed SLP - instance. Only remove instances when doing BB vectorization. - * tree-vect-loop.cc (vect_analyze_loop_2): Check whether - vect_slp_analyze_operations failed instead of checking - the number of SLP instances remaining. - -2024-09-12 Jakub Jelinek <jakub@redhat.com> - - * doc/cpp.texi (Binary Resource Inclusion): Document gnu::offset - #embed parameter. - -2024-09-12 Jakub Jelinek <jakub@redhat.com> - - PR c/105863 - * doc/cppdiropts.texi (--embed-dir=): Document. - * doc/cpp.texi (Binary Resource Inclusion): New chapter. - (__has_embed): Document. - * doc/invoke.texi (Directory Options): Mention --embed-dir=. - * gcc.cc (cpp_unique_options): Add %{-embed*}. - * genmatch.cc (main): Adjust cpp_set_include_chains caller. - * incpath.h (enum incpath_kind): Add INC_EMBED. - * incpath.cc (merge_include_chains): Handle INC_EMBED. - (register_include_chains): Adjust cpp_set_include_chains caller. - -2024-09-12 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_2): On reassociation - chain length mismatch do not fail discovery of the node - but try without re-associating to compute a better matches[]. - Provide a reassociation failure hint in the dump. - (vect_slp_analyze_node_operations): Avoid stray failure - dumping. - (vectorizable_slp_permutation_1): Dump the address of the - SLP node representing the permutation. - -2024-09-12 Levy Hsu <admin@levyhsu.com> - - * config/i386/i386.cc (ix86_get_mask_mode): - Enable BFmode for targetm.vectorize.get_mask_mode with AVX10.2. - * config/i386/mmx.md (vec_cmp<mode>qi): - Implement vec_cmpv2bfqi and vec_cmpv4bfqi. - -2024-09-12 Bohan Lei <garthlei@linux.alibaba.com> - - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): - Delete vsetvl insn when `prev_info` is compatible - -2024-09-12 garthlei <garthlei@linux.alibaba.com> - - * config/riscv/riscv-vsetvl.cc: Use `dest_vl` for dest VL operand - -2024-09-11 Martin Jambor <mjambor@suse.cz> - - * ipa-cp.cc (propagate_vr_across_jump_function): Use - ipa_vr_supported_type_p instead of explicit check for integral and - pointer types. - -2024-09-11 Martin Jambor <mjambor@suse.cz> - - * ipa-cp.h (ipa_supports_p): Rename to ipa_vr_supported_type_p. - * ipa-cp.cc (ipa_vr_operation_and_type_effects): Adjust called - function name. - (propagate_vr_across_jump_function): Likewise. - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Likewise. - (ipcp_get_parm_bits): Likewise. - -2024-09-11 Richard Earnshaw <rearnsha@arm.com> - - PR target/116597 - * config/arm/arm.cc (arm_function_ok_for_sibcall): Use the list of - actuals for the call, not the list of formals. - -2024-09-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116674 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Support - re-analysis. - -2024-09-11 Alex Coplan <alex.coplan@arm.com> - - PR libstdc++/116140 - * lto-streamer-in.cc (input_struct_function_base): Stream in - fn->has_unroll. - * lto-streamer-out.cc (output_struct_function_base): Stream out - fn->has_unroll. - -2024-09-11 Tobias Burnus <tburnus@baylibre.com> - - * omp-general.cc (omp_runtime_api_procname): Add - omp_get_interop_{int,name,ptr,rc_desc,str,type_desc} - and omp_get_num_interop_properties. - -2024-09-11 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 2 for the signed .SAT_ADD consumed by - vect pattern. - * tree-vect-patterns.cc (gimple_signed_integer_sat_add): Add new - matching func decl for signed .SAT_ADD. - (vect_recog_sat_add_pattern): Add signed .SAT_ADD pattern match. - -2024-09-11 liuhongt <hongtao.liu@intel.com> - - * config/i386/x86-tune.def (X86_TUNE_FUSE_MOV_AND_ALU): Enable - for GNR and GNR-D. - -2024-09-10 Prathamesh Kulkarni <prathameshk@nvidia.com> - - PR target/96265 - * common.opt (foffload-abi-host-opts): New option. - * config/aarch64/aarch64.cc (aarch64_offload_options): Pass - -foffload-abi-host-opts. - * config/i386/i386-options.cc (ix86_offload_options): Likewise. - * config/rs6000/rs6000.cc (rs6000_offload_options): Likewise. - * config/nvptx/mkoffload.cc (offload_abi_host_opts): Define. - (compile_native): Append offload_abi_host_opts to argv_obstack. - (main): Handle option -foffload-abi-host-opts. - * config/gcn/mkoffload.cc (offload_abi_host_opts): Define. - (compile_native): Append offload_abi_host_opts to argv_obstack. - (main): Handle option -foffload-abi-host-opts. - * lto-wrapper.cc (merge_and_complain): Handle - -foffload-abi-host-opts. - (append_compiler_options): Likewise. - * opts.cc (common_handle_option): Likewise. - -2024-09-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116658 - * tree-vect-slp.cc (vect_is_slp_load_node): Make sure - node isn't a permute. - -2024-09-10 Pan Li <pan2.li@intel.com> - - * match.pd: Add the form 2 of signed .SAT_ADD matching. - -2024-09-10 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (execute_over_cond_phis): New template function, - moved the common parts from pass_phiopt::execute/pass_cselim::execute. - (pass_phiopt::execute): Move the functon specific parts of the loop - into an lamdba. - (pass_cselim::execute): Likewise. - -2024-09-10 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116643 - * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): s/PHI_RESULT/gimple_phi_result/. - (factor_out_conditional_operation): Likewise. - (minmax_replacement): Likewise. - (spaceship_replacement): Likewise. - (cond_store_replacement): Likewise. - (cond_if_else_store_replacement_1): Likewise. - -2024-09-10 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md (*avx2_pcmp<mode>3_1): Don't force_reg - operands[3] when it's not const0_rtx. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - * ipa-pure-const.cc: Replace include of "opts.h" with - "opts-diagnostic.h". - (suggest_attribute): Convert param from int to - diagnostic_option_id. - * lto-wrapper.cc (class lto_diagnostic_option_manager): Use - diagnostic_option_id rather than "int". - * opts-common.cc - (compiler_diagnostic_option_manager::option_enabled_p): Likewise. - * opts-diagnostic.h (class gcc_diagnostic_option_manager): - Likewise. - (class compiler_diagnostic_option_manager): Likewise. - * opts.cc (compiler_diagnostic_option_manager::make_option_name): - Likewise. - (gcc_diagnostic_option_manager::make_option_url): Likewise. - * substring-locations.cc - (format_string_diagnostic_t::emit_warning_n_va): Likewise. - (format_string_diagnostic_t::emit_warning_va): Likewise. - (format_string_diagnostic_t::emit_warning): Likewise. - (format_string_diagnostic_t::emit_warning_n): Likewise. - * substring-locations.h - (format_string_diagnostic_t::emit_warning_va): Likewise. - (format_string_diagnostic_t::emit_warning_n_va): Likewise. - (format_string_diagnostic_t::emit_warning): Likewise. - (format_string_diagnostic_t::emit_warning_n): Likewise. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-core.h (struct diagnostic_option_id): New. - (warning): Use it rather than "int" for param. - (warning_n): Likewise. - (warning_at): Likewise. - (warning_meta): Likewise. - (pedwarn): Likewise. - (permerror_opt): Likewise. - (emit_diagnostic): Likewise. - (emit_diagnostic_valist): Likewise. - (emit_diagnostic_valist_meta): Likewise. - * diagnostic-format-json.cc - (json_output_format::on_report_diagnostic): Update for renaming of - diagnostic_info field. - * diagnostic-format-sarif.cc (sarif_builder::make_result_object): - Likewise. - (make_reporting_descriptor_object_for_warning): Likewise. - * diagnostic-format-text.cc (print_option_information): Likewise. - * diagnostic-global-context.cc (emit_diagnostic): Use - "diagnostic_option_id option_id" rather than "int opt". - (emit_diagnostic_valist): Likewise. - (emit_diagnostic_valist_meta): Likewise. - (warning): Likewise. - (warning_at): Likewise. - (warning_meta): Likewise. - (warning_n): Likewise. - (pedwarn): Likewise. - (permerror_opt): Likewise. - * diagnostic.cc (diagnostic_set_info_translated): Update for - renaming of diagnostic_info field. - (diagnostic_option_classifier::classify_diagnostic): Use - "diagnostic_option_id option_id" rather than "int opt". - (update_effective_level_from_pragmas): Update for renaming of - diagnostic_info field. - (diagnostic_context::diagnostic_enabled): Likewise. - (diagnostic_context::warning_enabled_at): Use - "diagnostic_option_id option_id" rather than "int opt". - (diagnostic_context::diagnostic_impl): Likewise. - (diagnostic_context::diagnostic_n_impl): Likewise. - * diagnostic.h (diagnostic_info::diagnostic_info): Update for... - (diagnostic_info::option_index): Rename... - (diagnostic_info::option_id): ...to this. - (class diagnostic_option_manager): Use - "diagnostic_option_id option_id" rather than "int opt" for vfuncs. - (diagnostic_option_classifier): Likewise for member funcs. - (diagnostic_classification_change_t::option): Add comment. - (diagnostic_context::warning_enabled_at): Use - "diagnostic_option_id option_id" rather than "int option_index". - (diagnostic_context::option_unspecified_p): Likewise. - (diagnostic_context::classify_diagnostic): Likewise. - (diagnostic_context::option_enabled_p): Likewise. - (diagnostic_context::make_option_name): Likewise. - (diagnostic_context::make_option_url): Likewise. - (diagnostic_context::diagnostic_impl): Likewise. - (diagnostic_context::diagnostic_n_impl): Likewise. - (diagnostic_override_option_index): Rename... - (diagnostic_set_option_id): ...to this, and update for - diagnostic_info field renaming. - (diagnostic_classify_diagnostic): Use "diagnostic_option_id" - rather than "int". - (warning_enabled_at): Likewise. - (option_unspecified_p): Likewise. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_context::initialize): Replace - m_options_callbacks with m_option_mgr. - (diagnostic_context::set_option_hooks): Replace with... - (diagnostic_context::set_option_manager): ...this. - * diagnostic.h (diagnostic_option_enabled_cb): Delete. - (diagnostic_make_option_name_cb): Delete. - (diagnostic_make_option_url_cb): Delete. - (class diagnostic_option_manager): New. - (diagnostic_manager::option_enabled_p): Convert from using - m_option_callbacks to m_option_mgr. - (diagnostic_manager::make_option_name): Likewise. - (diagnostic_manager::make_option_url): Likewise. - (diagnostic_manager::set_option_hooks): Replace with... - (diagnostic_manager::set_option_manager): ...this. - (diagnostic_manager::get_lang_mask): Update for field changes. - (diagnostic_manager::m_option_callbacks): Replace with... - (diagnostic_manager::m_option_mgr): ...this and... - (diagnostic_manager::m_lang_mask): ...this. - * lto-wrapper.cc (class lto_diagnostic_option_manager): New. - (main): Port from option hooks to diagnostic_option_manager. - * opts-common.cc: Include "opts-diagnostic.h". - (compiler_diagnostic_option_manager::option_enabled_p): New. - * opts-diagnostic.h (option_name): Drop decl. - (get_option_url): Drop decl. - (class gcc_diagnostic_option_manager): New. - (class compiler_diagnostic_option_manager): New. - * opts.cc (option_name): Convert to... - (compiler_diagnostic_option_manager::make_option_name): ...this. - (get_option_url): Convert to... - (gcc_diagnostic_option_manager::make_option_url): ...this. - * toplev.cc (general_init): Port from option hooks to - diagnostic_option_manager. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * attribs.cc (decls_mismatched_attributes): Rename - diagnostic_context's "printer" field to "m_printer". - (attr_access::array_as_string): Likewise. - * diagnostic-format-json.cc - (json_output_format::on_report_diagnostic): Likewise. - (diagnostic_output_format_init_json): Likewise. - * diagnostic-format-sarif.cc - (sarif_result::on_nested_diagnostic): Likewise. - (sarif_ice_notification): Likewise. - (sarif_builder::on_report_diagnostic): Likewise. - (sarif_builder::make_result_object): Likewise. - (sarif_builder::make_location_object): Likewise. - (sarif_builder::make_message_object_for_diagram): Likewise. - (diagnostic_output_format_init_sarif): Likewise. - * diagnostic-format-text.cc - (diagnostic_text_output_format::~diagnostic_text_output_format): - Likewise. - (diagnostic_text_output_format::on_report_diagnostic): Likewise. - (diagnostic_text_output_format::on_diagram): Likewise. - (diagnostic_text_output_format::print_any_cwe): Likewise. - (diagnostic_text_output_format::print_any_rules): Likewise. - (diagnostic_text_output_format::print_option_information): - Likewise. - * diagnostic-format.h (diagnostic_output_format::get_printer): - New. - * diagnostic-global-context.cc (verbatim): Rename - diagnostic_context's "printer" field to "m_printer". - * diagnostic-path.cc (path_label::get_text): Likewise. - (print_path_summary_as_text): Likewise. - (diagnostic_context::print_path): Likewise. - (selftest::test_empty_path): Likewise. - (selftest::test_intraprocedural_path): Likewise. - (selftest::test_interprocedural_path_1): Likewise. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - (selftest::test_control_flow_1): Likewise. - (selftest::test_control_flow_2): Likewise. - (selftest::test_control_flow_3): Likewise. - (assert_cfg_edge_path_streq): Likewise. - (selftest::test_control_flow_5): Likewise. - (selftest::test_control_flow_6): Likewise. - * diagnostic-show-locus.cc (layout::layout): Likewise. - (selftest::test_layout_x_offset_display_utf8): Likewise. - (selftest::test_layout_x_offset_display_tab): Likewise. - (selftest::test_diagnostic_show_locus_unknown_location): Likewise. - (selftest::test_one_liner_simple_caret): Likewise. - (selftest::test_one_liner_no_column): Likewise. - (selftest::test_one_liner_caret_and_range): Likewise. - (selftest::test_one_liner_multiple_carets_and_ranges): Likewise. - (selftest::test_one_liner_fixit_insert_before): Likewise. - (selftest::test_one_liner_fixit_insert_after): Likewise. - (selftest::test_one_liner_fixit_remove): Likewise. - (selftest::test_one_liner_fixit_replace): Likewise. - (selftest::test_one_liner_fixit_replace_non_equal_range): - Likewise. - (selftest::test_one_liner_fixit_replace_equal_secondary_range): - Likewise. - (selftest::test_one_liner_fixit_validation_adhoc_locations): - Likewise. - (selftest::test_one_liner_many_fixits_1): Likewise. - (selftest::test_one_liner_many_fixits_2): Likewise. - (selftest::test_one_liner_labels): Likewise. - (selftest::test_one_liner_simple_caret_utf8): Likewise. - (selftest::test_one_liner_caret_and_range_utf8): Likewise. - (selftest::test_one_liner_multiple_carets_and_ranges_utf8): - Likewise. - (selftest::test_one_liner_fixit_insert_before_utf8): Likewise. - (selftest::test_one_liner_fixit_insert_after_utf8): Likewise. - (selftest::test_one_liner_fixit_remove_utf8): Likewise. - (selftest::test_one_liner_fixit_replace_utf8): Likewise. - (selftest::test_one_liner_fixit_replace_non_equal_range_utf8): - Likewise. - (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8): - Likewise. - (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8): - Likewise. - (selftest::test_one_liner_many_fixits_1_utf8): Likewise. - (selftest::test_one_liner_many_fixits_2_utf8): Likewise. - (selftest::test_one_liner_labels_utf8): Likewise. - (selftest::test_one_liner_colorized_utf8): Likewise. - (selftest::test_add_location_if_nearby): Likewise. - (selftest::test_diagnostic_show_locus_fixit_lines): Likewise. - (selftest::test_overlapped_fixit_printing): Likewise. - (selftest::test_overlapped_fixit_printing_utf8): Likewise. - (selftest::test_overlapped_fixit_printing_2): Likewise. - (selftest::test_fixit_insert_containing_newline): Likewise. - (selftest::test_fixit_insert_containing_newline_2): Likewise. - (selftest::test_fixit_replace_containing_newline): Likewise. - (selftest::test_fixit_deletion_affecting_newline): Likewise. - (selftest::test_tab_expansion): Likewise. - (selftest::test_escaping_bytes_1): Likewise. - (selftest::test_escaping_bytes_2): Likewise. - (selftest::test_line_numbers_multiline_range): Likewise. - * diagnostic.cc (file_name_as_prefix): Likewise. - (diagnostic_set_caret_max_width): Likewise. - (diagnostic_context::initialize): Likewise. - (diagnostic_context::color_init): Likewise. - (diagnostic_context::urls_init): Likewise. - (diagnostic_context::finish): Likewise. - (diagnostic_context::get_location_text): Likewise. - (diagnostic_build_prefix): Likewise. - (diagnostic_context::report_current_module): Likewise. - (default_diagnostic_starter): Likewise. - (default_diagnostic_start_span_fn): Likewise. - (default_diagnostic_finalizer): Likewise. - (diagnostic_context::report_diagnostic): Likewise. - (diagnostic_append_note): Likewise. - (diagnostic_context::error_recursion): Likewise. - (fancy_abort): Likewise. - * diagnostic.h (diagnostic_context::set_show_highlight_colors): - Likewise. - (diagnostic_context::printer): Rename to... - (diagnostic_context::m_printer): ...this. - (diagnostic_format_decoder): Rename diagnostic_context's "printer" - field to "m_printer". - (diagnostic_prefixing_rule): Likewise. - (diagnostic_ready_p): Likewise. - * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): - Likewise. - * langhooks.cc (lhd_print_error_function): Likewise. - * lto-wrapper.cc (print_lto_docs_link): Likewise. - * opts-global.cc (init_options_once): Likewise. - * opts.cc (common_handle_option): Likewise. - * simple-diagnostic-path.cc (simple_diagnostic_path_cc_tests): - Likewise. - * text-art/dump.h (dump_to_file<T>): Likewise. - * toplev.cc (announce_function): Likewise. - (toplev::main): Likewise. - * tree-diagnostic.cc (default_tree_diagnostic_starter): Likewise. - * tree.cc (escaped_string::escape): Likewise. - (selftest::test_escaped_strings): Likewise. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - PR other/116603 - * diagnostic-format-sarif.cc (SARIF_SCHEMA): Update URL. - (sarif_builder::maybe_make_region_object): Don't create regions - with startLine <= 0. - (sarif_builder::maybe_make_region_object_for_context): Likewise. - -2024-09-09 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (*insvdi_lowpart_1): Use "o" constraint - instead of "m" for double-word mode memory operands. - (*add<dwi>3_doubleword_zext): Ditto. - (*addv<dwi>4_doubleword_1): Use "jO" constraint instead of "jM" - for double-word mode memory operands. - -2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/90693 - * internal-fn.cc (expand_POPCOUNT): Handle the second argument - being `-1` for `<= 1`. - * tree-ssa-math-opts.cc (match_single_bit_test): Handle LE/GT - cases. - (math_opts_dom_walker::after_dom_children): Call match_single_bit_test - for LE_EXPR/GT_EXPR also. - -2024-09-09 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.cc (pa_legitimate_address_p): Don't - canonicalize operand order of scaled index addresses. - -2024-09-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116514 - * tree-ssa-ccp.cc (bit_value_binop): Handle EXACT_DIV_EXPR - like TRUNC_DIV_EXPR. Handle exact division of a signed value - by a power-of-two like a shift. Handle unsigned division by - a power-of-two like a shift. - Handle unsigned TRUNC_MOD_EXPR by power-of-two, handle signed - TRUNC_MOD_EXPR by power-of-two if the result is zero. - -2024-09-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116647 - * tree-vect-loop.cc (vect_is_simple_reduction): Add missing - check to double reduction detection. - -2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116601 - * gimple-fold.cc (optimize_memcpy_to_memset): Move - from tree-ssa-ccp.cc and rename. Also return true - if the optimization happened. - (gimple_fold_builtin_memory_op): Call - optimize_memcpy_to_memset. - (fold_stmt_1): Call optimize_memcpy_to_memset for - load/store copies. - * tree-ssa-ccp.cc (optimize_memcpy): Delete. - (pass_fold_builtins::execute): Remove code that - calls optimize_memcpy. - -2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (factor_out_conditional_operation): Move the has_single_use - checks much earlier. Remove redundant check for gimple_assign_cast_p. - Change around the check if the integral consts fits into the new type. - -2024-09-09 Haochen Jiang <haochen.jiang@intel.com> - - PR target/116617 - * doc/invoke.texi: Add meteorlake, raptorlake and lunarlake. - -2024-09-08 H.J. Lu <hjl.tools@gmail.com> - - PR target/116621 - * config/i386/i386.cc (ix86_gimplify_va_arg): Don't use temp for - a PARALLEL BLKmode container of an EXPR_LIST expression in a - TImode register. - -2024-09-08 Jørgen Kvalsvik <j@lambda.is> - - * gcov.cc (release_structures): Release source_lines. - (slurp): New function. - (output_lines): Read sources with slurp. - -2024-09-07 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple-ssa-split-paths.cc (is_feasible_trace): Fix wording - on the print. - -2024-09-07 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/116588 - * tree-vrp.cc (execute_fast_vrp): Start with all edges executable. - -2024-09-07 Zhao Dingyi <dingyizhao.zdy@outlook.com> - - * config/riscv/xiangshan.md: Add atomic, trap, fcvt_i2f, fcvt_f2i. - -2024-09-07 Jin Ma <jinma@linux.alibaba.com> - - PR target/116592 - * config/riscv/thead.cc (th_asm_output_opcode): Change '0' to - "zero" - -2024-09-06 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-overload.def (vec_test_lsbb_all_ones, - vec_test_lsbb_all_zeros): Add built-in instances for vector signed - char and vector bool char. - * doc/extend.texi (vec_test_lsbb_all_ones, - vec_test_lsbb_all_zeros): Add documentation for the - existing built-ins. - -2024-09-06 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116628 - * tree-vect-patterns.cc (vect_recog_cond_store_pattern): Add SSA_NAME - check on expression. - -2024-09-06 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/116598 - * config/aarch64/aarch64.cc (aarch64_lookup_shared_state_flags): Use - is_attribute_namespace_p and get_attribute_name instead of manually grabbing - the namespace and name of the attribute. - -2024-09-06 Martin Jambor <mjambor@suse.cz> - - * passes.def: Move pass_ipa_cdtor_merge before pass_ipa_cp and - pass_ipa_sra. - -2024-09-06 Martin Jambor <mjambor@suse.cz> - - PR ipa/115815 - * cgraph.cc (cgraph_node_cannot_be_local_p_1): Also check - DECL_STATIC_CONSTRUCTOR and DECL_STATIC_DESTRUCTOR. - * ipa-visibility.cc (non_local_p): Likewise. - (cgraph_node::local_p): Delete extraneous line of tabs. - -2024-09-06 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_analyze_slp): Also handle discovery - for double reductions. - -2024-09-06 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_analyze_slp): Perform single-lane - loop SLP discovery for non-grouped stores. Move check on the root - for re-doing SLP analysis with a single lane for load/store-lanes - earlier and make sure we are dealing with a grouped access. - * tree-vect-stmts.cc (vectorizable_store): Always set - vec_num for SLP. - -2024-09-06 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.h: Remove "Atmel" from header comment. - * config/avr/avr.cc: Same. - * config/avr/avr.md: Same. - * config/avr/avr.opt: Same. - * config/avr/avr-dimode.md: Same. - * config/avr/avr-fixed.md: Same. - * config/avr/constraints.md: Same. - * config/avr/predicates.md: Same. - * config/avr/avr-log.cc: Same. - * config/avr/avrlibc.h: Same. - * config/avr/specs.h: Same. - * common/config/avr/avr-common.cc: Same. - * doc/install.texi: Same. - * config/avr/avr-arch.h: Adjust header comment. - * config/avr/avr-c.cc: Same. - * config/avr/avr-mcus.def: Same. - * config/avr/avr-modes.def: Same. - * config/avr/avr-passes.cc: Same. - * config/avr/avr-passes.def: Same. - * config/avr/avr-protos.h: Same. - * config/avr/driver-avr.cc: Same. - * config/avr/elf.h: Same. - * config/avr/gen-avr-mmcu-specs.cc: Same. - * config/avr/gen-avr-mmcu-texi.cc: Same. - -2024-09-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116610 - * tree-vect-loop.cc (vectorizable_induction): Use MINUS_EXPR - to apply a mask peeling adjustment. - -2024-09-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116609 - * tree-vect-loop.cc (vectorizable_live_operation_1): Support - partial vectors for single-lane SLP. - -2024-09-06 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_build_integer): Detect constants - were the higher half is the lower half inverted. - -2024-09-06 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_build_integer): Detect new case - of constants that can be improved. - (riscv_move_integer): Add synthesys for concatening constants - without Zbkb. - -2024-09-06 Pan Li <pan2.li@intel.com> - - * match.pd: Add int_fits_type_p check for .SAT_SUB imm operand. - -2024-09-06 Pan Li <pan2.li@intel.com> - - * match.pd: Add int_fits_type_p check for .SAT_SUB imm operand. - -2024-09-06 YunQiang Su <syq@gcc.gnu.org> - - * common/config/riscv/riscv-common.cc(riscv_select_multilib_by_abi): - Fix out of index problem. - -2024-09-06 Jason Merrill <jason@redhat.com> - - PR c++/46457 - PR c++/81665 - * doc/extend.texi: Document flag_enum attribute. - * doc/invoke.texi: Mention flag_enum in -Wswitch. - -2024-09-06 liuhongt <hongtao.liu@intel.com> - - PR target/115517 - * config/i386/sse.md (*avx2_pcmp<mode>3_1): Change predicate - of operands[1] and operands[2] from nonimmdiate_operand to - nonimm_or_0_operand. - -2024-09-05 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_expand_int_scc): For rv64, use a DI - temporary for the output and a promoted subreg to extract it into SI - arget. - (riscv_noce_conversion_profitable_p): Recognize new output from - sCC expansion too. - -2024-09-05 Marek Polacek <polacek@redhat.com> - - * doc/invoke.texi: Remove an extra char in @item sme2. - -2024-09-05 Prathamesh Kulkarni <prathameshk@nvidia.com> - - * gimplify.cc (omp_add_variable): Check if decl size is not poly_int_tree_p. - (gimplify_adjust_omp_clauses): Likewise. - * omp-low.cc (scan_sharing_clauses): Likewise. - (lower_omp_target): Likewise. - -2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/104957 - * config/nvptx/nvptx.cc (write_fn_proto_1): Revert 2022-03-22 - change; 'write_fn_marker' also for alias DECL. - (nvptx_asm_output_def_from_decls): 'write_fn_marker' for alias - DEF. - -2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> - - * doc/sourcebuild.texi (Effective-Target Keywords): Document - 'nvptx_default_ptx_isa_version_at_least_6_0', - 'nvptx_runtime_alias_ptx'. - (Add Options): Document 'nvptx_alias_ptx'. - -2024-09-05 Tamar Christina <tamar.christina@arm.com> - - * tree-vect-patterns.cc (vect_recog_cond_store_pattern): Use pattern - statement. - -2024-09-05 Tamar Christina <tamar.christina@arm.com> - - * doc/invoke.texi: Remove duplicate armv9-a mention. - -2024-09-05 Jakub Jelinek <jakub@redhat.com> - - * tree-vrp.cc (pass_vrp::execute): Start diagnostics with - lowercase u rather than capital U, use semicolon instead of dot. - -2024-09-05 YunQiang Su <yunqiang@isrc.iscas.ac.cn> - - * common/config/riscv/riscv-common.cc(riscv_select_multilib_by_abi): - look up reversely as the fallback path is listed as the 1st one. - -2024-09-05 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_analyze_slp): Analyze SLP for live - but otherwise unused defs. - -2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> - - * gen-pass-instances.awk: Handle 'PUSH_INSERT_PASSES_WITHIN'. - * pass_manager.h (PUSH_INSERT_PASSES_WITHIN): Adjust. - * passes.cc (PUSH_INSERT_PASSES_WITHIN): Likewise. - -2024-09-05 Levy Hsu <admin@levyhsu.com> - - * config/i386/mmx.md (TARGET_MMX_WITH_SSE): New mode iterator VBF_32_64 - (fma<mode>4): define_expand for V2BF/V4BF fma<mode>4. - (fnma<mode>4): define_expand for V2BF/V4BF fnma<mode>4. - (fms<mode>4): define_expand for V2BF/V4BF fms<mode>4. - (fnms<mode>4): define_expand for V2BF/V4BF fnms<mode>4. - -2024-09-05 Hu, Lin1 <lin1.hu@intel.com> - - * match.pd: Fix match for (bit_and (ordered @0 @1) (ne @0 @1)). - -2024-09-05 Levy Hsu <admin@levyhsu.com> - - * config/i386/i386.cc (ix86_build_const_vector): Add V2BF/V4BF. - (ix86_build_signbit_mask): Add V2BF/V4BF. - * config/i386/mmx.md: Modified supported logic op to use VHBF_32_64. - -2024-09-05 Levy Hsu <admin@levyhsu.com> - - * config/i386/i386.cc (ix86_preferred_simd_mode): Add BFmode Support. - -2024-09-04 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_split_integer_cost): Adjust the - cost of negative repeating constants. - (riscv_split_integer): Handle negative repeating constants. - -2024-09-04 Tom Tromey <tromey@adacore.com> - - * dwarf2out.cc (modified_type_die): Check DECL_NAMELESS. - -2024-09-04 Arsen Arsenović <arsen@aarsen.me> - - PR c++/106973 - * internal-fn.def (CO_YIELD): Mark as ECF_LEAF. - -2024-09-04 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-object-size.cc (object_sizes_execute): Mark lhs for maybe dceing - if doing a propagate. Call simple_dce_from_worklist. - -2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/gen-opt.sh: Use 'enum ptx_isa' instead of 'int'. - * config/nvptx/nvptx-gen.opt: Regenerate. - * config/nvptx/nvptx.opt: Use 'enum ptx_version' instead of 'int'. - * config/nvptx/nvptx-opts.h (enum ptx_isa): Add 'PTX_ISA_unset'. - (enum ptx_version): Add 'PTX_VERSION_unset'. - * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Adjust. - * config/nvptx/nvptx.cc (default_ptx_version_option) - (handle_ptx_version_option, nvptx_option_override) - (nvptx_file_start): Likewise. - -2024-09-04 Frederik Harwath <frederik@codesourcery.com> - Thomas Schwinge <tschwinge@baylibre.com> - - * predict.cc (pass_profile::execute): Fix dump message. - -2024-09-04 Frederik Harwath <frederik@codesourcery.com> - - * tree-cfg.h (gimple_debug_cfg): Change argument type from int - to dump_flags_t. - -2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> - - * passes.cc: Document 'pass_postreload' vs. 'pass_late_compilation'. - * passes.def: Likewise. - -2024-09-04 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_lower_load_permutations): Also - process single-use grouped loads. - Avoid lowering contiguous aligned power-of-two sized - chunks, those are better handled by the vector size - specific SLP code generation. - * tree-vect-stmts.cc (get_group_load_store_type): Drop - the unrelated requirement of a load permutation for the - single-element interleaving limit. - -2024-09-04 Jan Hubicka <jh@suse.cz> - - * config/i386/x86-tune-costs.h (znver5_cost): Update instruction - costs. - -2024-09-04 Andrew Pinski <quic_apinski@quicinc.com> - - * expr.cc (expand_expr_divmod): Add dump of the two costs for - positive division. - -2024-09-04 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.md (lra_szext_decomposed_indir_plus): New - peephole2 pattern. - -2024-09-04 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_expand_usadd): Zero extend - the second operand of usadd as the first operand does. - * config/riscv/riscv.md (usadd<m>3): Allow imm operand for - scalar usadd pattern. - -2024-09-03 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/112402 - * gimple-ssa-split-paths.cc (poor_ifcvt_pred): New function. - (is_feasible_trace): Remove old heurstics for ifcvt cases. - For num_stmts <=1 for both pred check poor_ifcvt_pred on both - pred. - -2024-09-03 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple-ssa-split-paths.cc (is_feasible_trace): Move - check for # of statments in join earlier and add a - debug print. - -2024-09-03 Qing Zhao <qing.zhao@oracle.com> - - * doc/extend.texi: Explicitly mentions counted_by is available - only in C for now. - -2024-09-03 David Malcolm <dmalcolm@redhat.com> - - * pretty-print-markup.h (pp_markup::context::context): Drop - params "buf" and "chunk_idx", initializing m_buf from pp. - (pp_markup::context::m_chunk_idx): Drop field. - * pretty-print.cc (pretty_printer::format): Convert param - from a text_info * to a text_info &. Split out phase 1 - and phase 2 into subroutines... - (format_phase_1): New, from pretty_printer::format. - (format_phase_2): Likewise. - * pretty-print.h (pretty_printer::format): Convert param - from a text_info * to a text_info &. - (pp_format): Update for above change. Assert that text_info is - non-null. - -2024-09-03 David Malcolm <dmalcolm@redhat.com> - - * pretty-print-format-impl.h (pp_formatted_chunks::get_prev): New - accessor. - * pretty-print.cc (selftest::push_pp_format): New. - (ASSERT_TEXT_TOKEN): New macro. - (selftest::test_pp_format_stack): New test. - (selftest::pretty_print_cc_tests): New. - -2024-09-03 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_set_caret_max_width): Prefix all - output_buffer fields with "m_". - * dumpfile.cc (emit_any_pending_textual_chunks): Likewise. - (emit_any_pending_textual_chunks): Likewise. - * gimple-pretty-print.cc (gimple_dump_bb_buff): Likewise. - * json.cc (value::dump): Likewise. - * pretty-print-format-impl.h (class chunk_info): Rename to... - (class pp_formatted_chunks): ...this. Add friend - class output_buffer. Update comment near end of decl to show - the pp_formatted_chunks instance on the chunk_obstack. - (pp_formatted_chunks::pop_from_output_buffer): Delete decl. - (pp_formatted_chunks::on_begin_quote): Delete decl that should - have been removed in r15-3311-ge31b6176996567. - (pp_formatted_chunks::on_end_quote): Likewise. - (pp_formatted_chunks::m_prev): Update for renaming. - * pretty-print.cc (output_buffer::output_buffer): Prefix all - fields with "m_". Rename "cur_chunk_array" to - "m_cur_formatted_chunks". - (output_buffer::~output_buffer): Prefix all fields with "m_". - (output_buffer::push_formatted_chunks): New. - (output_buffer::pop_formatted_chunks): New. - (pp_write_text_to_stream): Prefix all output_buffer fields with - "m_". - (pp_write_text_as_dot_label_to_stream): Likewise. - (pp_write_text_as_html_like_dot_to_stream): Likewise. - (chunk_info::append_formatted_chunk): Rename to... - (pp_formatted_chunks::append_formatted_chunk): ...this. - (chunk_info::pop_from_output_buffer): Delete. - (pretty_printer::format): Update leading comment to mention - pushing pp_formatted_chunks, and to reflect changes in - r15-3311-ge31b6176996567. Prefix all output_buffer fields with - "m_". - (pp_output_formatted_text): Update leading comment to mention - popping a pp_formatted_chunks, and to reflect the changes in - r15-3311-ge31b6176996567. Prefix all output_buffer fields with - "m_" and rename "cur_chunk_array" to "m_cur_formatted_chunks". - Replace call to chunk_info::pop_from_output_buffer with a call to - output_buffer::pop_formatted_chunks. - (pp_flush): Prefix all output_buffer fields with "m_". - (pp_really_flush): Likewise. - (pp_clear_output_area): Likewise. - (pp_append_text): Likewise. - (pretty_printer::remaining_character_count_for_line): Likewise. - (pp_newline): Likewise. - (pp_character): Likewise. - (pp_markup::context::push_back_any_text): Likewise. - * pretty-print.h (class chunk_info): Rename to... - (class pp_formatted_chunks): ...this. - (class output_buffer): Delete unimplemented rule-of-5 members. - (output_buffer::push_formatted_chunks): New decl. - (output_buffer::pop_formatted_chunks): New decl. - (output_buffer::formatted_obstack): Rename to... - (output_buffer::m_formatted_obstack): ...this. - (output_buffer::chunk_obstack): Rename to... - (output_buffer::m_chunk_obstack): ...this. - (output_buffer::obstack): Rename to... - (output_buffer::m_obstack): ...this. - (output_buffer::cur_chunk_array): Rename to... - (output_buffer::m_cur_formatted_chunks): ...this. - (output_buffer::stream): Rename to... - (output_buffer::m_stream): ...this. - (output_buffer::line_length): Rename to... - (output_buffer::m_line_length): ...this. - (output_buffer::digit_buffer): Rename to... - (output_buffer::m_digit_buffer): ...this. - (output_buffer::flush_p): Rename to... - (output_buffer::m_flush_p): ...this. - (output_buffer_formatted_text): Prefix all output_buffer fields - with "m_". - (output_buffer_append_r): Likewise. - (output_buffer_last_position_in_text): Likewise. - (pretty_printer::set_output_stream): Likewise. - (pp_scalar): Likewise. - (pp_wide_int): Likewise. - * tree-pretty-print.cc (dump_generic_node): Likewise. - (dump_generic_node): Likewise. - (pp_double_int): Likewise. - -2024-09-03 Jan Hubicka <jh@suse.cz> - - * config/i386/i386.cc (ix86_reassociation_width): Update for Znver5. - * config/i386/x86-tune-costs.h (znver5_costs): Update reassociation - widths. - -2024-09-03 Jeff Law <jlaw@ventanamicro.com> - - * J: Drop file that should not have been committed - -2024-09-03 Jan Hubicka <jh@suse.cz> - - * config/i386/x86-tune-sched.cc (ix86_fuse_mov_alu_p): Fix - typo. - -2024-09-03 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_print_slp_tree): Annotate load - and store-lanes nodes. - -2024-09-03 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): Only disable - peeling for gaps by using smaller vectors when not using - load-lanes. - -2024-09-03 Jan Hubicka <jh@suse.cz> - - * config/i386/i386.h (TARGET_FUSE_MOV_AND_ALU): New tune. - * config/i386/x86-tune-sched.cc (ix86_issue_rate): Updat for znver5. - (ix86_adjust_cost): Add TODO about znver5 memory latency. - (ix86_fuse_mov_alu_p): New. - (ix86_macro_fusion_pair_p): Use it. - * config/i386/x86-tune.def (X86_TUNE_FUSE_ALU_AND_BRANCH): Add ZNVER5. - (X86_TUNE_FUSE_MOV_AND_ALU): New tune; - -2024-09-03 Jan Hubicka <jh@suse.cz> - - * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable for - ZNVER5. - (X86_TUNE_USE_SCATTER_2PARTS): Disable for ZNVER5. - (X86_TUNE_USE_GATHER_4PARTS): Disable for ZNVER5. - (X86_TUNE_USE_SCATTER_4PARTS): Disable for ZNVER5. - (X86_TUNE_USE_GATHER_8PARTS): Disable for ZNVER5. - (X86_TUNE_USE_SCATTER_8PARTS): Disable for ZNVER5. - -2024-09-03 H.J. Lu <hjl.tools@gmail.com> - - PR ipa/116410 - * ipa-modref.cc (analyze_parms): Always analyze function parameter - for LTO. - -2024-09-03 Jeff Law <jlaw@ventanamicro.com> - - PR target/115921 - * config/riscv/riscv.md (reassociate bitwise ops): Tighten test for - cases we do not want reassociate. - * J: New file. - -2024-09-03 Jan Hubicka <jh@suse.cz> - - * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS): Enable for - znver5. - (X86_TUNE_AVOID_256FMA_CHAINS): Likewise. - (X86_TUNE_AVOID_512FMA_CHAINS): Likewise. - -2024-09-03 Tobias Burnus <tburnus@baylibre.com> - - PR lto/116535 - * lto-cgraph.cc (output_offload_tables): Remove offload_ frees. - * lto-streamer-out.cc (lto_output): Make call to it depend on - lto_get_out_decl_state ()->output_offload_tables_p. - * lto-streamer.h (struct lto_out_decl_state): Add - output_offload_tables_p field. - * tree-pass.h (ipa_write_optimization_summaries): Add bool argument. - * passes.cc (ipa_write_summaries_1): Add bool - output_offload_tables_p arg. - (ipa_write_summaries): Update call. - (ipa_write_optimization_summaries): Accept output_offload_tables_p. - -2024-09-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116575 - * tree-vect-slp.cc (vect_analyze_slp): Properly compute - the mask argument for vect_load/store_lanes_supported. - When the load is masked for now avoid rediscovery. - -2024-09-03 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/avx512fp16intrin.h - (_mm512_mask_fpclass_ph_mask): Correct mask type to __mmask32. - (_mm512_fpclass_ph_mask): Ditto. - -2024-09-03 Richard Biener <rguenther@suse.de> - - * fold-const.cc (poly_int_binop): Move assert on - NUM_POLY_INT_COEFFS after INTEGER_CST processing. - -2024-09-03 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/116501 - * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): - In the last_ovf case, use build_zero_cst operand not just when - TYPE_UNSIGNED (typeN), but also when precN >= 0. - -2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svmul_impl::fold): - Try constant folding. - -2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): - Try constant folding. - * config/aarch64/aarch64-sve-builtins.h: Declare - gimple_folder::fold_const_binary. - * config/aarch64/aarch64-sve-builtins.cc (aarch64_const_binop): - New function to fold binary SVE intrinsics without overflow. - (gimple_folder::fold_const_binary): New helper function for - constant folding of SVE intrinsics. - -2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> - - * fold-const.h: Declare vector_const_binop. - * fold-const.cc (const_binop): Remove cases for vector constants. - (vector_const_binop): New function that folds vector constants - element-wise. - (int_const_binop): Remove call to wide_int_binop. - (poly_int_binop): Add call to wide_int_binop. - -2024-09-03 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_1): Handle mixing - all of handled components besides ARRAY_RANGE_REF, drop - handling of INDIRECT_REF. - -2024-09-03 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (vect_get_vector_types_for_stmt): - Handle all internal_store_fn_p the same. Remove special-casing - for the scalar_type of IFN_MASK_STORE. - -2024-09-03 Levy Hsu <admin@levyhsu.com> - - * config/i386/mmx.md (<code><mode>3): New define_expand for V2BF/V4BFsmaxmin - -2024-09-03 Levy Hsu <admin@levyhsu.com> - - * config/i386/mmx.md (VBF_32_64): New mode iterator for partial vectorized V2BF/V4BF. - (<insn><mode>3): New define_expand for plusminusmultdiv. - (sqrt<mode>2): New define_expand for sqrt. - -2024-09-03 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-protos.h (riscv_expand_ssadd): Add new func - decl for expanding ssadd. - * config/riscv/riscv.cc (riscv_gen_sign_max_cst): Add new func - impl to gen the max int rtx. - (riscv_expand_ssadd): Add new func impl to expand the ssadd. - * config/riscv/riscv.md (ssadd<mode>3): Add new pattern for - signed integer .SAT_ADD. - -2024-09-03 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips-msa.md: (MSA_NO_HADD): we have HADD for - S8/U8/S16/U16/S32/U32 only. - (reduc_smin_scal_<mode>): New define pattern. - (reduc_smax_scal_<mode>): Ditto. - (reduc_umin_scal_<mode>): Ditto. - (reduc_umax_scal_<mode>): Ditto. - (reduc_plus_scal_<mode>): Ditto. - (reduc_plus_scal_v4si): Ditto. - (reduc_plus_scal_v8hi): Ditto. - (reduc_plus_scal_v16qi): Ditto. - (reduc_<optab>_scal_<mode>): Ditto. - * config/mips/mips-protos.h: New function mips_expand_msa_reduc. - * config/mips/mips.cc: New function mips_expand_msa_reduc. - * config/mips/mips.md: Define any_bitwise iterator. - -2024-09-02 Alexandre Oliva <oliva@adacore.com> - - PR d/115295 - * doc/sourcebuild.texi (dg-additional-sources): Add linkonly. - -2024-09-02 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn-opts.h (TARGET_GCN5_PLUS): Delete. - (TARGET_GLOBAL_ADDRSPACE): Delete. - (TARGET_FLAT_OFFSETS): Delete. - (TARGET_EXPLICIT_CARRY): Delete. - (TARGET_MULTIPLY_IMMEDIATE): Delete. - * config/gcn/gcn-valu.md (*mov<mode>): Rename "gcn_version" to "cdna". - (*mov<mode>_4reg): Likewise. - (@mov<mode>_sgprbase): Likwise. - (gather<mode>_insn_1offset<exec>): Likewise. - (gather<mode>_insn_1offset_ds<exec>): Likewise. - (gather<mode>_insn_2offsets<exec>): Likewise. - (scatter<mode>_insn_1offset<exec_scatter>): Likewise. - (scatter<mode>_insn_1offset_ds<exec_scatter>): Likewise. - (scatter<mode>_insn_2offsets<exec_scatter>): Likewise. - (gather<mode>_insn_1offset<exec>): Remove TARGET_FLAT_OFFSETS - conditionals. - (scatter<mode>_insn_1offset<exec_scatter>): Likewise. - (scatter<mode>_insn_1offset<exec_scatter>): Likewise. - (add<mode>3<exec_clobber>): Use "_co" instead of "%^". - (add<mode>3_dup<exec_clobber>): Likewise. - (add<mode>3_vcc<exec_vcc>): Likewise. - (add<mode>3_vcc_dup<exec_vcc>): Likewise. - (addc<mode>3<exec_vcc>): Likewise. - (sub<mode>3<exec_clobber>): Likewise. - (sub<mode>3_vcc<exec_vcc>): Likewise. - (subc<mode>3<exec_vcc>): Likewise. - (*plus_carry_dpp_shr_<mode>): Likewise. - (*plus_carry_in_dpp_shr_<mode>): Likewise. - * config/gcn/gcn.cc (gcn_flat_address_p): Remove TARGET_FLAT_OFFSETS - conditionals. - (gcn_addr_space_legitimate_address_p): Likewise. - (gcn_addr_space_legitimize_address): Likewise. - (gcn_expand_scalar_to_vector_address): Likewise. - (print_operand_address): Likewise, and TARGET_GLOBAL_ADDRSPACE also. - (print_operand): Remove "%^" operand code. - Remove TARGET_GLOBAL_ADDRSPACE assertion. - * config/gcn/gcn.h (STACK_ADDR_SPACE): Remove GCN5 conditional. - * config/gcn/gcn.md (gcn_version): Rename attribute ... - (cdna): ... to this, and remove the gcn3 and gcn5 values. - (enabled): Replace old "gcn_version" logic with new "cdna" logic. - (*mov<mode>_insn): Rename "gcn_version" to "cdna". - (*movti_insn): Likewise. - (addsi3): Use "_co" instead of "%^". - (addsi3_scalar_carry): Likewise. - (addsi3_scalar_carry_cst): Likewise. - (addcsi3_scalar): Likewise. - (addcsi3_scalar_zero): Likewise. - (addptrdi3): Likewise. - (subsi3): Likewise. - (<su>mulsi3_highpart): Remove TARGET_MULTIPLY_IMMEDIATE conditions. - (<su>mulsi3_highpart_reg): Remove "gcn_version" attribute. - (muldi3): Likewise. - (atomic_fetch_<bare_mnemonic><mode>): Likewise. - (atomic_<bare_mnemonic><mode>): Likewise. - (sync_compare_and_swap<mode>_insn): Likewise. - (atomic_load<mode>): Likewise. - (atomic_store<mode>): Likewise. - (atomic_exchange<mode>): Likewise. - (<su>mulsi3_highpart_imm): Remove both TARGET_MULTIPLY_IMMEDIATE and - "gcn_version". - (<su>mulsidi3): Likewise. - (<su>mulsidi3_imm): Likewise. - -2024-09-02 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn-opts.h (enum gcn_isa): Delete ISA_GCN3. - (TARGET_GCN3): Delete. - (TARGET_GCN3_PLUS): Delete. - (TARGET_M0_LDS_LIMIT): Delete. - * config/gcn/gcn-valu.md - (gather<mode>_insn_1offset<exec>): Remove TARGET_GCN3 from conditions. - (*<reduc_op>_dpp_shr_<mode>): Likewise. - * config/gcn/gcn.cc (enum gcn_isa): Change default to ISA_GCN5. - (gcn_expand_prologue): Remove TARGET_M0_LDS_LIMIT feature. - (gcn_expand_reduc_scalar): Remove TARGET_GCN3 conditions. - * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Remove TARGET_GCN3. - -2024-09-02 Andrew Stubbs <ams@baylibre.com> - - * config.gcc (amdgcn-*-*): Remove "fiji" from with_arch checks. - * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): Remove fiji alternative. - (NO_XNACK): Likewise. - (NO_SRAM_ECC): Likewise. - (ASM_SPEC): Remove "%{}" around ABI_VERSION_SPEC. - * config/gcn/gcn-opts.h (enum processor_type): Remove PROCESSOR_FIJI. - (TARGET_FIJI): Delete. - * config/gcn/gcn.cc (gcn_option_override): Remove Fiji. - (gcn_omp_device_kind_arch_isa): Likewise. - (output_file_start): Likewise. - * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Likewise. - * config/gcn/gcn.opt (gpu_type): Likewise. - (march, mtune): Change default to PROCESSOR_VEGA10. - * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX803): Delete. - (copy_early_debug_info): Remove elf_flags_actual. - Use ELFABIVERSION_AMDGPU_HSA_V4 unconditionally. - (get_arch): Remove Fiji. - (main): Remove gfx803. - * config/gcn/t-omp-device - (omp-device-properties-gcn): Remove fiji and gfx803. - * doc/install.texi (amdgcn*-*-*): Remove fiji and special instructions. - * doc/invoke.texi: Remove fiji. - -2024-09-02 Richard Sandiford <richard.sandiford@arm.com> - - * doc/gimple.texi (gimple_asm_basic_p): Document. - (gimple_asm_set_basic): Likewise. - * gimple.h (GF_ASM_INPUT): Rename to... - (GF_ASM_BASIC): ...this. - (gimple_asm_set_input): Rename to... - (gimple_asm_set_basic): ...this. - (gimple_asm_input_p): Rename to... - (gimple_asm_basic_p): ...this. - * cfgexpand.cc (expand_asm_stmt): Update after above renaming. - * gimple.cc (gimple_asm_clobbers_memory_p): Likewise. - * gimplify.cc (gimplify_asm_expr): Likewise. - * ipa-icf-gimple.cc (func_checker::compare_gimple_asm): Likewise. - * tree-cfg.cc (stmt_can_terminate_bb_p): Likewise. - -2024-09-02 Richard Sandiford <richard.sandiford@arm.com> - - * doc/generic.texi (ASM_BASIC_P): Document. - * tree.h (ASM_INPUT_P): Rename to... - (ASM_BASIC_P): ...this. - (ASM_VOLATILE_P, ASM_INLINE_P): Reindent. - * gimplify.cc (gimplify_asm_expr): Update after above renaming. - * tree-core.h (tree_base): Likewise. - -2024-09-02 Tobias Burnus <tburnus@baylibre.com> - - * lto-wrapper.cc (run_gcc): Honor -save-temps for - makefile name. - -2024-09-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116486 - * gimple-range-op.cc (cfn_clz::fold_range): If lh is [0,0] - and mini is -1, return [-1,-1] range rather than [prec-1,prec-1]. - -2024-09-02 Richard Biener <rguenther@suse.de> - - * tree-vectorizer.h (_slp_tree::ldst_lanes): New flag to mark - load, store and permute nodes. - * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize ldst_lanes. - (vect_build_slp_instance): For stores iff the target prefers - store-lanes discover single-lane sub-groups, do not perform - interleaving lowering but mark the node with ldst_lanes. - Also allow i == 0 - fatal failure - for splitting up a store group - when we're not doing single-lane discovery already. - (vect_lower_load_permutations): When the target supports - load lanes and the loads all fit the pattern split out - a single level of permutes only and mark the load and - permute nodes with ldst_lanes. - (vectorizable_slp_permutation_1): Handle the load-lane permute - forwarding of vector defs. - (vect_analyze_slp): After SLP pattern recog is finished see if - there are any SLP instances that would benefit from using - load/store-lanes and re-discover those with forced single lanes. - * tree-vect-stmts.cc (get_group_load_store_type): Support - load/store-lanes for SLP. - (vectorizable_store): Support SLP code generation for store-lanes. - (vectorizable_load): Support SLP code generation for load-lanes. - * tree-vect-loop.cc (vect_analyze_loop_2): Do not cancel SLP - when store-lanes can be used. - -2024-09-02 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_1): Handle NULL stmt. - (vect_build_slp_tree_2): Likewise. Release load permutation - when there's a NULL in SLP_TREE_SCALAR_STMTS and assert there's - no actual permutation in that case. - (vllp_cmp): New function. - (vect_lower_load_permutations): Likewise. - (vect_analyze_slp): Call it. - -2024-09-02 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * config/riscv/riscv.cc (riscv_rtx_costs): Optimize the cost of the - DFmode register move for RV32. - -2024-09-02 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116544 - * ext-dce.cc (ext_dce_process_uses): Fix thinko in promoted subreg - handling. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * config/i386/i386-expand.cc (ix86_use_mask_cmp_p): Add BFmode - for int mask cmp. - * config/i386/sse.md (vec_cmp<mode><avx512fmaskmodelower>): New - vec_cmp expand for VBF modes. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * config/i386/sse.md: Expand VF2H to VF2HB with VBF modes. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * config/i386/sse.md - (<code><mode>3): New define expand pattern for BF smaxmin. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * config/i386/sse.md: Add V8BF/V16BF/V32BF to mode iterator FMAMODEM. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * config/i386/sse.md (div<mode>3): New expander for BFmode div. - (VF_BHSD): New mode iterator with vector BFmodes. - (<insn><mode>3<mask_name><round_name>): Change mode to VF_BHSD. - (mul<mode>3<mask_name><round_name>): Likewise. - -2024-09-02 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/i386-expand.cc (ix86_expand_fp_compare): Add UNSPEC to - support the optimization. - * config/i386/i386.cc (ix86_fp_compare_code_to_integer): Add NE/EQ. - * config/i386/i386.md (*cmpx<unord><MODEF:mode>): New define_insn. - (*cmpx<unord>hf): Ditto. - * config/i386/predicates.md (ix86_trivial_fp_comparison_operator): - Add ne/eq. - -2024-09-02 Hu, Lin1 <lin1.hu@intel.com> - - * match.pd: Optimize (and ordered non-equal) to - (not (or unordered equal)) - -2024-09-02 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/sse.md (VI1_AVX512VNNIBW): New. - (VI2_AVX10_2): Ditto. - (sdot_prod<mode>): Add AVX10.2 - to auto vectorize and combine 512 bit part. - (udot_prod<mode>): Ditto. - (sdot_prodv64qi): Removed. - (udot_prodv64qi): Ditto. - (usdot_prod<mode>): Add AVX10.2 to auto vectorize. - (udot_prod<mode>): Ditto. - -2024-09-02 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_gen_zero_extend_rtx): Merge - the zero_extend handing from func riscv_gen_unsigned_xmode_reg. - (riscv_gen_unsigned_xmode_reg): Remove. - (riscv_expand_ussub): Leverage riscv_gen_zero_extend_rtx - instead of riscv_gen_unsigned_xmode_reg. - -2024-09-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116554 - * gimple-ssa-strength-reduction.cc: Include tree-ssa-dce.h. - (replace_mult_candidate): Add sdce_worklist argument, mark - the rhs1/rhs2 for maybe dceing. - (replace_unconditional_candidate): Add sdce_worklist argument, - Update call to replace_mult_candidate. - (replace_conditional_candidate): Add sdce_worklist argument, - update call to replace_mult_candidate. - (replace_uncond_cands_and_profitable_phis): Add sdce_worklist argument, - update call to replace_conditional_candidate, - replace_unconditional_candidate, and replace_uncond_cands_and_profitable_phis. - (replace_one_candidate): Add sdce_worklist argument, mark - the orig_rhs1/orig_rhs2 for maybe dceing. - (replace_profitable_candidates): Add sdce_worklist argument, - update call to replace_one_candidate and replace_profitable_candidates. - (analyze_candidates_and_replace): Call simple_dce_from_worklist and - update calls to replace_profitable_candidates, and - replace_uncond_cands_and_profitable_phis. - -2024-08-31 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-features.cc (timode_scalar_to_vector_candidate_p): - Support the first operand of AND, IOR and XOR being MEM_P, i.e. a - read-modify-write insn. - -2024-08-31 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-passes.cc (avr_pass_fuse_add) <clone>: Override. - * config/avr/avr-passes.def (avr_pass_fuse_add): Run again - after pass_cprop_hardreg. - -2024-08-31 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-protos.h (avr_split_tiny_move): Rename to - avr_split_fake_addressing_move. - * config/avr/avr-passes.def: Same. - * config/avr/avr-passes.cc: Same. - (avr_pass_data_fuse_add) <tv_id>: Set to TV_MACH_DEP. - * config/avr/avr.md (split-lpmx): Remove a define_split. Such - splits are performed by avr_split_fake_addressing_move. - -2024-08-31 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.cc (pa_emit_move_sequence): Remove symbolic - memory work arounds for TARGET_ELF32. - (pa_legitimate_address_p): Likewise. Allow symbolic - operands. Adjust comment. - * config/pa/pa.md: Replace reg_or_0_or_nonsymb_mem_operand - with reg_or_0_or_mem_operand predicate in various unnamed - move insns. - * config/pa/predicates.md (floating_point_store_memory_operand): - Update comment. Remove symbolic memory work arounds for - TARGET_ELF32. - (nonsymb_mem_operand): Rename to mem_operand. Allow - symbolic memory operands. - (reg_or_0_or_nonsymb_mem_operand): Rename to - reg_or_0_or_mem_operand. Allow symbolic memory operands. - -2024-08-31 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116098 - * tree-ssa-phiopt.cc (factor_out_conditional_operation): Ignore - nops, labels and predicts for heuristic for conversion with a constant. - -2024-08-31 Jakub Jelinek <jakub@redhat.com> - - PR c/116130 - * doc/extend.texi (unsequenced, reproducible): Document new function - type attributes. - * calls.cc (flags_from_decl_or_type): Handle "unsequenced noptr" and - "reproducible noptr" attributes. - -2024-08-31 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc: Follow the convention to not add a space - after comma when printing instructions. - -2024-08-31 Alexandre Oliva <oliva@adacore.com> - - * expr.cc (categorize_ctor_elements_1): Change p_complete to - int, to distinguish complete initialization in presence or - absence of uninitialized padding bits. - (categorize_ctor_elements): Likewise. Adjust all callers... - * expr.h (categorize_ctor_elements): ... and declaration. - (type_has_padding_at_level_p): New. - * gimple-fold.cc (type_has_padding_at_level_p): New. - * fold-const.cc (native_encode_constructor): New. - (native_encode_expr): Call it. - * gimplify.cc (gimplify_init_constructor): Clear small - non-addressable non-volatile objects with padding or - other uninitialized fields as an optimization. - -2024-08-30 Alex Coplan <alex.coplan@arm.com> - - * gdbhooks.py (VEC_KIND_EMBED): New. - (VEC_KIND_PTR): New. - (get_vec_kind): New. - (VecPrinter.children): Also handle vectors with vl_ptr layout. - -2024-08-30 Andrew Pinski <quic_apinski@quicinc.com> - - PR driver/104707 - PR driver/97304 - * gcc.cc (is_directory): Don't not include /usr/lib and /lib - for library directory pathes. Remove library argument. - (add_to_obstack): Update call to is_directory. - (driver_handle_option): Likewise. - (spec_path): Likewise. - -2024-08-30 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116537 - * tree-core.h (enum tree_index): Remove TI_INTEGER_THREE - * tree-ssa-loop-prefetch.cc (issue_prefetch_ref): Call build_int_cst - instead of using integer_three_node. - * tree.cc (build_common_tree_nodes): Remove initialization - of integer_three_node. - * tree.h (integer_three_node): Delete. - -2024-08-30 Andrew Pinski <quic_apinski@quicinc.com> - - * builtins.cc (expand_builtin_prefetch): Rewrite expansion of the optional - arguments to not expand known constants. - -2024-08-30 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): Check - known_ne (remain, 0u) before doing constant_multiple_p. - (vectorizable_load): Likewise. - -2024-08-30 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_2): Disable SLP - reassociation for single-lane. - -2024-08-30 liuhongt <hongtao.liu@intel.com> - - PR target/116512 - * config/i386/i386.cc (ix86_check_avx_upper_register): Iterate - subrtx to scan for avx upper register. - (ix86_check_avx_upper_stores): Inline old - ix86_check_avx_upper_register. - (ix86_avx_u128_mode_needed): Ditto, and replace - FOR_EACH_SUBRTX with call to new - ix86_check_avx_upper_register. - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - PR other/116419 - * diagnostic-event-id.h (diagnostic_event_id_t::zero_based): New. - * diagnostic-format-sarif.cc: Include "pretty-print-format-impl.h" - and "pretty-print-urlifier.h". - (sarif_result::sarif_result): Add param "idx_within_parent". - (sarif_result::get_index_within_parent): New accessor. - (sarif_result::m_idx_within_parent): New field. - (sarif_code_flow::sarif_code_flow): New ctor. - (sarif_code_flow::get_parent): New accessor. - (sarif_code_flow::get_index_within_parent): New accessor. - (sarif_code_flow::m_parent): New field. - (sarif_code_flow::m_thread_id_map): New field. - (sarif_code_flow::m_thread_flows_arr): New field. - (sarif_code_flow::m_all_tfl_objs): New field. - (sarif_thread_flow::sarif_thread_flow): Add "parent" and - "idx_within_parent" params. - (sarif_thread_flow::get_parent): New accessor. - (sarif_thread_flow::get_index_within_parent): New accessor. - (sarif_thread_flow::m_parent): New field. - (sarif_thread_flow::m_idx_within_parent): New field. - (sarif_thread_flow_location::sarif_thread_flow_location): New - ctor. - (sarif_thread_flow_location::get_parent): New accessor. - (sarif_thread_flow_location::get_index_within_parent): New - accessor. - (sarif_thread_flow_location::m_parent): New field. - (sarif_thread_flow_location::m_idx_within_parent): New field. - (sarif_builder::get_code_flow_for_event_ids): New accessor. - (class sarif_builder::sarif_token_printer): New. - (sarif_builder::m_token_printer): New member. - (sarif_builder::m_next_result_idx): New field. - (sarif_builder::m_current_code_flow): New field. - (sarif_code_flow::get_or_append_thread_flow): New. - (sarif_code_flow::get_thread_flow): New. - (sarif_code_flow::add_location): New. - (sarif_code_flow::get_thread_flow_loc_obj): New. - (sarif_thread_flow::add_location): Create the new - sarif_thread_flow_location internally, rather than passing - it in as a parm so that we can keep track of its index in - the array. Return a reference to it. - (sarif_builder::sarif_builder): Initialize m_token_printer, - m_next_result_idx, and m_current_code_flow. - (sarif_builder::on_report_diagnostic): Pass index to - make_result_object. - (sarif_builder::make_result_object): Add "idx_within_parent" param - and pass to sarif_result ctor. Pass code flow index to call to - make_code_flow_object. - (make_sarif_url_for_event): New. - (sarif_builder::make_code_flow_object): Add "idx_within_parent" - param and pass it to sarif_code_flow ctor. Reimplement walking - of events so that we first create threadFlow objects for each - thread, then populate them with threadFlowLocation objects, so - that the IDs work. Set m_current_code_flow whilst creating the - latter, so that we can create correct URIs for "%@". - (sarif_builder::make_thread_flow_location_object): Replace with... - (sarif_builder::populate_thread_flow_location_object): ...this. - (sarif_output_format::get_builder): New accessor. - (sarif_begin_embedded_link): New. - (sarif_end_embedded_link): New. - (sarif_builder::sarif_token_printer::print_tokens): New. - (diagnostic_output_format_init_sarif): Add "fmt" param; use it to - set the token printer and output format for the context. - (diagnostic_output_format_init_sarif_stderr): Move responsibility - for setting the context's output format to within - diagnostic_output_format_init_sarif. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - (test_sarif_diagnostic_context::test_sarif_diagnostic_context): - Likewise. - (selftest::test_make_location_object): Provide an idx for the - result. - (selftest::get_result_from_log): New. - (selftest::get_message_from_log): New. - (selftest::test_message_with_embedded_link): New test. - (selftest::diagnostic_format_sarif_cc_tests): Call it. - * pretty-print-format-impl.h: Include "diagnostic-event-id.h". - (pp_token::kind): Add "event_id". - (struct pp_token_event_id): New. - (is_a_helper <pp_token_event_id *>::test): New. - (is_a_helper <const pp_token_event_id *>::test): New. - * pretty-print.cc (pp_token::dump): Handle kind::event_id. - (pretty_printer::format): Update handling of "%@" in phase 2 - so that we add a pp_token_event_id, rather that the text "(N)". - (default_token_printer): Handle pp_token::kind::event_id by - printing the text "(N)". - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_context::report_diagnostic): Don't - pass m_urlifier to pp_format, as urlification now happens in - phase 3. - * dump-context.h (class dump_pretty_printer): Update leading - comment. - (dump_pretty_printer::emit_items): Drop decl. - (dump_pretty_printer::set_optinfo): New. - (class dump_pretty_printer::stashed_item): Delete class. - (class dump_pretty_printer::custom_token_printer): New class. - (dump_pretty_printer::format_decoder_cb): Convert param from - const char ** to pp_token_list &. - (dump_pretty_printer::decode_format): Likewise. - (dump_pretty_printer::stash_item): Likewise. - (dump_pretty_printer::emit_any_pending_textual_chunks): Drop decl. - (dump_pretty_printer::m_stashed_items): Delete field. - (dump_pretty_printer::m_token_printer): New member data. - * dumpfile.cc (struct wrapped_optinfo_item): New. - (dump_pretty_printer::dump_pretty_printer): Update for dropping - of field m_stashed_items and new field m_token_printer. - (dump_pretty_printer::emit_items): Delete; we now use - pp_output_formatted_text.. - (dump_pretty_printer::emit_any_pending_textual_chunks): Delete. - (dump_pretty_printer::stash_item): Convert param from - const char ** to pp_token_list &. - (dump_pretty_printer::format_decoder_cb): Likewise. - (dump_pretty_printer::decode_format): Likewise. - (dump_pretty_printer::custom_token_printer::print_tokens): New. - (dump_pretty_printer::custom_token_printer::emit_any_pending_textual_chunks): - New. - (dump_context::dump_printf_va): Call set_optinfo on the - dump_pretty_printer. Replace call to emit_items with a call to - pp_output_formatted_text. - * opt-problem.cc (opt_problem::opt_problem): Replace call to - emit_items with call to set_optinfo and call to - pp_output_formatted_text. - * pretty-print-format-impl.h (struct pp_token): New. - (struct pp_token_text): New. - (is_a_helper <pp_token_text *>::test): New. - (is_a_helper <const pp_token_text *>::test): New. - (struct pp_token_begin_color): New. - (is_a_helper <pp_token_begin_color *>::test): New. - (is_a_helper <const pp_token_begin_color *>::test): New. - (struct pp_token_end_color): New. - (struct pp_token_begin_quote): New. - (struct pp_token_end_quote): New. - (struct pp_token_begin_url): New. - (is_a_helper <pp_token_begin_url*>::test): New. - (is_a_helper <const pp_token_begin_url*>::test): New. - (struct pp_token_end_url): New. - (struct pp_token_custom_data): New. - (is_a_helper <pp_token_custom_data *>::test): New. - (is_a_helper <const pp_token_custom_data *>::test): New. - (class pp_token_list): New. - (chunk_info::get_args): Drop. - (chunk_info::get_quoting_info): Drop. - (chunk_info::get_token_lists): New accessor. - (chunk_info::append_formatted_chunk): Add obstack & param. - (chunk_info::dump): New decls. - (chunk_info::m_args): Convert element type from const char * to - pp_token_list *. Rewrite/update comment. - (chunk_info::m_quotes): Drop field. - * pretty-print-markup.h (class pp_token_list): New forward decl. - (pp_markup::context::context): Drop urlifier param; add - formatted_token_list param. - (pp_markup::context::push_back_any_text): New decl. - (pp_markup::context::m_urlifier): Drop field. - (pp_markup::context::m_formatted_token_list): New field. - * pretty-print-urlifier.h: Update comment. - * pretty-print.cc: Define INCLUDE_MEMORY. Include - "make-unique.h". - (default_token_printer): New forward decl. - (obstack_append_string): Delete. - (urlify_quoted_string): Delete. - (pp_token::pp_token): New. - (pp_token::dump): New. - (allocate_object): New. - (class quoting_info): Delete. - (pp_token::operator new): New. - (pp_token::operator delete): New. - (pp_token_list::operator new): New. - (pp_token_list::operator delete): New. - (pp_token_list::pp_token_list): New. - (pp_token_list::~pp_token_list): New. - (pp_token_list::push_back_text): New. - (pp_token_list::push_back): New. - (pp_token_list::push_back_list): New. - (pp_token_list::pop_front): New. - (pp_token_list::remove_token): New. - (pp_token_list::insert_after): New. - (pp_token_list::replace_custom_tokens): New. - (pp_token_list::merge_consecutive_text_tokens): New. - (pp_token_list::apply_urlifier): New. - (pp_token_list::dump): New. - (chunk_info::append_formatted_chunk): Add obstack & param and use - it to reimplement in terms of token lists. - (chunk_info::pop_from_output_buffer): Drop m_quotes. - (chunk_info::on_begin_quote): Delete. - (chunk_info::dump): New. - (chunk_info::on_end_quote): Delete. - (push_back_any_text): New. - (pretty_printer::format): Drop "urlifier" param and quoting_info - logic. Convert "formatters" and "args" from const ** to - pp_token_list **. Reimplement so that rather than just - accumulating a text buffer in the chunk_obstack for each arg, - instead also accumulate a pp_token_list and pp_tokens for each - arg. - (auto_obstack::operator obstack &): New. - (quoting_info::handle_phase_3): Delete. - (pp_output_formatted_text): Reimplement in terms of manipulations - of pp_token_lists, rather than char buffers. Call - default_token_printer, or m_token_printer's print_tokens vfunc. - (default_token_printer): New. - (pretty_printer::pretty_printer): Initialize m_token_printer in - both ctors. - (pp_markup::context::begin_quote): Reimplement to use token list. - (pp_markup::context::end_quote): Likewise. - (pp_markup::context::begin_highlight_color): Likewise. - (pp_markup::context::end_highlight_color): Likewise. - (pp_markup::context::push_back_any_text): New. - (selftest::test_merge_consecutive_text_tokens): New. - (selftest::test_custom_tokens_1): New. - (selftest::test_custom_tokens_2): New. - (selftest::pp_printf_with_urlifier): Drop "urlifier" param from - call to pp_format. - (selftest::test_urlification): Add test of the example from - pretty-print-format-impl.h. - (selftest::pretty_print_cc_tests): Call the new selftest - functions. - * pretty-print.h (class quoting_info): Drop forward decl. - (class pp_token_list): New forward decl. - (printer_fn): Convert final param from const char ** to - pp_token_list &. - (class token_printer): New. - (class pretty_printer): Add pp_output_formatted_text as friend. - (pretty_printer::set_token_printer): New. - (pretty_printer::format): Drop urlifier param as this now happens - in phase 3. - (pretty_printer::m_format_decoder): Update comment. - (pretty_printer::m_token_printer): New field. - (pp_format): Drop urlifier param. - * tree-diagnostic.cc (default_tree_printer): Convert final param - from const char ** to pp_token_list &. - * tree-diagnostic.h: Likewise for decl. - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - * dumpfile.cc: Include "pretty-print-format-impl.h". - * pretty-print-format-impl.h: New file, based on material from - pretty-print.h. - * pretty-print.cc: Include "pretty-print-format-impl.h". - * pretty-print.h (chunk_info): Replace full declaration with - a forward decl, moving full decl to pretty-print-format-impl.h. - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - * config/aarch64/aarch64.cc: Define INCLUDE_MEMORY. - * config/arm/arm.cc: Likewise. - * config/i386/i386.cc: Likewise. - * config/loongarch/loongarch.cc: Likewise. - * config/riscv/riscv-vector-costs.cc: Likewise. - * config/riscv/riscv.cc: Likewise. - * config/rs6000/rs6000.cc: Likewise. - * dump-context.h (dump_context::emit_item): Convert "item" param - from * to const &. - (dump_pretty_printer::stash_item): Convert "item" param from - optinfo_ * to std::unique_ptr<optinfo_item>. - (dump_pretty_printer::emit_item): Likewise. - * dumpfile.cc: Include "make-unique.h". - (make_item_for_dump_gimple_stmt): Replace uses of optinfo_item * - with std::unique_ptr<optinfo_item>. - (dump_context::dump_gimple_stmt): Likewise. - (make_item_for_dump_gimple_expr): Likewise. - (dump_context::dump_gimple_expr): Likewise. - (make_item_for_dump_generic_expr): Likewise. - (dump_context::dump_generic_expr): Likewise. - (make_item_for_dump_symtab_node): Likewise. - (dump_pretty_printer::emit_items): Likewise. - (dump_pretty_printer::emit_any_pending_textual_chunks): Likewise. - (dump_pretty_printer::emit_item): Likewise. - (dump_pretty_printer::stash_item): Likewise. - (dump_pretty_printer::decode_format): Likewise. - (dump_context::dump_printf_va): Fix overlong line. - (make_item_for_dump_dec): Replace uses of optinfo_item * with - std::unique_ptr<optinfo_item>. - (dump_context::dump_dec): Likewise. - (dump_context::dump_symtab_node): Likewise. - (dump_context::begin_scope): Likewise. - (dump_context::emit_item): Likewise. - * gimple-loop-interchange.cc: Define INCLUDE_MEMORY. - * gimple-loop-jam.cc: Likewise. - * gimple-loop-versioning.cc: Likewise. - * graphite-dependences.cc: Likewise. - * graphite-isl-ast-to-gimple.cc: Likewise. - * graphite-optimize-isl.cc: Likewise. - * graphite-poly.cc: Likewise. - * graphite-scop-detection.cc: Likewise. - * graphite-sese-to-poly.cc: Likewise. - * graphite.cc: Likewise. - * opt-problem.cc: Likewise. - * optinfo.cc (optinfo::add_item): Convert "item" param from - optinfo_ * to std::unique_ptr<optinfo_item>. - (optinfo::emit_for_opt_problem): Update for change to - dump_context::emit_item. - * optinfo.h: Add #error to fail immediately if INCLUDE_MEMORY - wasn't defined, rather than fail to find std::unique_ptr. - (optinfo::add_item): Convert "item" param from optinfo_ * to - std::unique_ptr<optinfo_item>. - * sese.cc: Define INCLUDE_MEMORY. - * targhooks.cc: Likewise. - * tree-data-ref.cc: Likewise. - * tree-if-conv.cc: Likewise. - * tree-loop-distribution.cc: Likewise. - * tree-parloops.cc: Likewise. - * tree-predcom.cc: Likewise. - * tree-ssa-live.cc: Likewise. - * tree-ssa-loop-ivcanon.cc: Likewise. - * tree-ssa-loop-ivopts.cc: Likewise. - * tree-ssa-loop-prefetch.cc: Likewise. - * tree-ssa-loop-unswitch.cc: Likewise. - * tree-ssa-phiopt.cc: Likewise. - * tree-ssa-threadbackward.cc: Likewise. - * tree-ssa-threadupdate.cc: Likewise. - * tree-vect-data-refs.cc: Likewise. - * tree-vect-generic.cc: Likewise. - * tree-vect-loop-manip.cc: Likewise. - * tree-vect-loop.cc: Likewise. - * tree-vect-patterns.cc: Likewise. - * tree-vect-slp-patterns.cc: Likewise. - * tree-vect-slp.cc: Likewise. - * tree-vect-stmts.cc: Likewise. - * tree-vectorizer.cc: Likewise. - -2024-08-29 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.cc (load_reg): Don't generate load with - unscaled index address when !TARGET_NO_SPACE_REGS. - (pa_legitimate_address_p): Only allow unscaled index - addresses when TARGET_NO_SPACE_REGS. - -2024-08-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116508 - * internal-fn.cc (expand_POPCOUNT): Use OPTAB_WIDEN for PLUS and - XOR/AND expansion. - -2024-08-29 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/116516 - * rtlanal.cc (strip_address_mutations): Allow subregs around - constant displacements. - -2024-08-29 Richard Sandiford <richard.sandiford@arm.com> - - * dse.cc (find_shift_sequence): Allow smallest_int_mode_for_size - to failure. - * optabs.cc (expand_twoval_binop_libfunc): Likewise. - -2024-08-29 Georg-Johann Lay <avr@gjlay.de> - - PR target/115830 - * config/avr/avr-modes.def (CCN, CCZN): New CC_MODEs. - * config/avr/avr-protos.h (avr_cond_branch): New from - ret_cond_branch. - (avr_out_plus_set_N, avr_op8_ZN_operator, avr_cmp0_code) - (avr_out_op8_set_ZN, avr_len_op8_set_ZN): New protos. - (ccn_reg_rtx, cczn_reg_rtx): New declarations. - * config/avr/avr.cc (avr_cond_branch): New from ret_cond_branch. - (avr_cond_string): Add bool cc_overflow_unusable argument. - (avr_print_operand) ['L']: Like 'j' but overflow unusable. - ['K']: Like 'k' but overflow unusable. - (avr_out_plus_set_ZN): Remove handling of QImode. - (avr_out_plus_set_N, avr_op8_ZN_operator, avr_cmp0_code) - (avr_out_op8_set_ZN, avr_len_op8_set_ZN): New functions. - (avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_N]: Hande case. - (avr_class_max_nregs): All MODE_CCs occupy one hard reg. - (avr_hard_regno_nregs): Same. - (avr_hard_regno_mode_ok) [REG_CC]: Allow all MODE_CC. - (pass_manager.h, context.h, tree-pass.h): Include them. - (ccn_reg_rtx, cczn_reg_rtx): New GTY variables. - (avr_init_expanders): Initialize them. - (avr_option_override): Run peephole2 a second time. - * config/avr/avr.md (adjust_len) [add_set_N]: New attr value. - (ALLCC, HI_SI): New mode iterators. - (CCname): New mode attribute. - (eqnegtle, cmp_signed, op8_ZN): New code iterators. - (swap, SWAP): New code attributes. - (branch): Handle CCNmode and CCZNmode. Assimilate... - (difficult_branch): ...this insn. - (p1m1): Remove. - (gen_add_for_<code>_<mode>): Adjust to CCNmode and CCZNmode. Use - HISI as mode iterator. Extend peephole2s that produce them. - (*add.for.eqne.<mode>): Extend to *add.for.cc[z]n.<mode>. - (*ashift.for.ccn.<mode>): New insn and peephole2 to make them. - (*sub.for.cczn.<mode>, *sub-extend<mode>.for.cczn.<mode>): - New insns and peephole2s to make them. - (*op8.for.cczn.<code>): New insn and peephole2 to make them. - * config/avr/predicates.md (const_1_to_3_operand) - (abs1_abs2_operand, signed_comparison_operator) - (op8_ZN_operator): New predicates. - -2024-08-29 Arsen Arsenović <arsen@aarsen.me> - - PR c++/105104 - * coroutine-passes.cc (execute_early_expand_coro_ifns): Don't - remove any labels. - -2024-08-29 Georg-Johann Lay <avr@gjlay.de> - - * config.gcc (extra_objs) [target=avr]: Add avr-passes.o. - * config/avr/t-avr (avr-passes.o): New rule to make it. - * config/avr/avr.cc (#define INCLUDE_VECTOR): Remove. - (cfganal.h, cfgrtl.h, context.h, tree-pass.h, print-rtl.h): Don't - include them. - (avr_strict_signed_p, avr_strict_unsigned_p, avr_2comparisons_rhs) - (make_avr_pass_recompute_notes, make_avr_pass_casesi) - (make_avr_pass_ifelse, make_avr_pass_pre_proep, avr_split_tiny_move) - (emit_move_ccc, emit_move_ccc_after, reg_seen_between_p) - (avr_maybe_adjust_cfa, avr_redundant_compare_regs) - (avr_parallel_insn_from_insns, avr_is_casesi_sequence) - (avr_optimize_casesi, avr_redundant_compare, make_avr_pass_fuse_add) - (avr_optimize_2ifelse, avr_rest_of_handle_ifelse) - (avr_casei_sequence_check_operands) - Move functions... - (avr_pass_data_fuse_add, avr_pass_data_ifelse) - (avr_pass_data_casesi, avr_pass_data_recompute_notes) - (avr_pass_data_pre_proep): Move objects... - (avr_pass_fuse_add, avr_pass_pre_proep, avr_pass_recompute_notes) - (avr_pass_ifelse, avr_pass_casesi, AVR_LdSt_Props): Move classes... - * config/avr/avr-passes.cc: ... to this new C++ module. - (struct Ranges): Move to... - * config/avr/ranges.h: ...this new file. - * config/avr/avr-protos.h: Adjust comments. - -2024-08-29 Robin Dapp <rdapp@ventanamicro.com> - - PR target/116086 - * config/riscv/autovec.md (vec_extract<mode><v_half>): Add - vector-vector extract for VLS modes. - * config/riscv/riscv.cc (riscv_can_change_mode_class): Forbid - VLS modes larger than one vector. - * config/riscv/vector-iterators.md: Add vector-vector extract - iterators. - -2024-08-29 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-features.cc (timode_immed_const_gain): New - function to determine the gain/cost on a CONST_WIDE_INT. - (timode_scalar_chain::compute_convert_gain): Fix whitespace. - <case CONST_WIDE_INT>: Provide more accurate estimates using - timode_immed_const_gain. - <case AND>: Handle CONSTANT_SCALAR_INT_P (src). - -2024-08-29 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_leaf_type): Add LF_MFUNC_ID. - (write_lf_mfunc_id): New function. - (add_lf_func_id): New function. - (add_lf_mfunc_id): New function. - (add_function): Call add_lf_func_id or add_lf_mfunc_id. - -2024-08-29 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_leaf_type): Add LF_MFUNCTION, - LF_METHODLIST, LF_METHOD, and LF_ONEMETHOD. - (struct codeview_subtype): Add lf_onemethod and lf_method to union. - (struct lf_methodlist_entry): New type. - (struct codeview_custom_type): Add lf_mfunc_id, lf_mfunction, and - lf_methodlist to union. - (struct codeview_method): New type. - (struct method_hasher): New type. - (get_type_num_subroutine_type): Add forward declaration. - (write_lf_fieldlist): Handle LF_ONEMETHOD and LF_METHOD. - (write_lf_mfunction): New function. - (write_lf_methodlist): New function. - (write_custom_types): Handle LF_MFUNCTION and LF_METHODLIST. - (add_struct_function): New function. - (get_mfunction_type): New function. - (is_templated_func): New function. - (get_type_num_struct): Handle DW_TAG_subprogram child DIEs. - (get_type_num_subroutine_type): Add containing_class_type, this_type, - and this_adjustment params, and handle creating LF_MFUNCTION types as - well as LF_PROCEDURE. - (get_type_num): New params for get_type_num_subroutine_type. - (add_function): New params for get_type_num_subroutine_type. - * dwarf2codeview.h (CV_METHOD_VANILLA, CV_METHOD_VIRTUAL): Define. - (CV_METHOD_STATIC, CV_METHOD_FRIEND, CV_METHOD_INTRO): Likewise. - (CV_METHOD_PUREVIRT, CV_METHOD_PUREINTRO): Likewise. - -2024-08-29 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_leaf_type): Add LF_STMEMBER. - (struct codeview_subtype): Add lf_static_member to union. - (write_lf_fieldlist): Handle LF_STMEMBER. - (add_struct_member): New function. - (add_struct_static_member): New function. - (get_accessibility): New function. - (get_type_num_struct): Split out into add_struct_member and - get_accessibility, and handle static members. - -2024-08-29 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cf_leaf_type): Add LF_STRING_ID. - (struct codeview_custom_type): Add lf_string_id to union. - (struct string_id_hasher): New type. - (string_id_htab): New global variable. - (write_lf_string_id): New function. - (write_custom_types): Call write_lf_string_id. - (codeview_debug_finish): Free string_id_htab. - (add_string_id): New function. - (get_scope_string_id): New function. - (add_function): Call get_scope_string_id and set scope. - -2024-08-29 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (get_name): New function. - (add_enum_forward_def): Call get_name. - (get_type_num_enumeration_type): Call get_name. - (add_struct_forward_def): Call get_name. - (get_type_num_struct): Call get_name. - (add_variable): Call get_name. - (add function): Call get_name. - * dwarf2out.cc (get_die_parent): Rename to dw_get_die_parent and make - non-static. - (generate_type_signature): Handle renamed get_die_parent. - * dwarf2out.h (dw_get_die_parent): Add declaration. - -2024-08-28 Andrew Pinski <quic_apinski@quicinc.com> - - * internal-fn.cc (expand_POPCOUNT): Dump the costs for - the two choices. - -2024-08-28 Jonathan Wakely <jwakely@redhat.com> - - * doc/contrib.texi (Contributors): Add Dhruv Matani. - -2024-08-28 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (INCLUDE_VECTOR): Define it. - (cfganal.h): Include it. - (Ranges): New struct. - (avr_2comparisons_rhs, avr_redundant_compare_regs) - (avr_strict_signed_p, avr_strict_unsigned_p): New static functions. - (avr_redundant_compare): Overhaul: Allow more cases. - (avr_optimize_2ifelse): New static function, outsourced from... - (avr_rest_of_handle_ifelse): ...this method. - -2024-08-28 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/tuning_models/generic.h (generic_sve_vector_cost): - Set gather_load_x32_init_cost and gather_load_x64_init_cost to 0. - -2024-08-28 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_detect_vector_stmt_subtype) - (aarch64_vector_costs::add_stmt_cost): Use the x64 cost rather - than x32 cost for all VNx2 modes. - -2024-08-28 Richard Sandiford <richard.sandiford@arm.com> - - * tree.h (ASM_INPUT_P): Fix documentation. - -2024-08-28 Filip Kastl <fkastl@suse.cz> - - PR tree-optimization/116355 - * tree-switch-conversion.cc (can_log2): Add capability to - suggest converting the operand to a different type. - (gen_log2): Add capability to generate a conversion in case the - operand is of a type incompatible with the logarithm operation. - (can_pow2p): New function. - (gen_pow2p): Rewrite to use __builtin_popcount instead of - manually inserting an internal fn call or bitmagic. Also add - capability to generate a conversion. - (switch_conversion::is_exp_index_transform_viable): Call - can_pow2p. Store types suggested by can_log2 and gen_log2. - (switch_conversion::exp_index_transform): Params of gen_pow2p - and gen_log2 changed so update their calls. - * tree-switch-conversion.h: Add m_exp_index_transform_log2_type - and m_exp_index_transform_pow2p_type to switch_conversion class - to track type conversions needed to generate the "is power of 2" - and logarithm operations. - -2024-08-28 Alex Coplan <alex.coplan@arm.com> - - PR libstdc++/116140 - * doc/sourcebuild.texi: Document ltrans-rtl value of kind for - scan-<kind>-dump*. - -2024-08-28 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (debug): Add overload for slp_instance. - -2024-08-28 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_store_interleaving): - Fix reference counting. - (vect_build_slp_instance): Release rhs_nodes. - -2024-08-28 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_store_interleaving): Split - out from ... - (vect_build_slp_instance): Here. - -2024-08-28 Pan Li <pan2.li@intel.com> - - * tree-vect-patterns.cc (vect_recog_sat_add_pattern): Add fold - convert for const_int to the type of operand 0. - -2024-08-28 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/vector.md (mode_idx): Add vrol and vror. - -2024-08-28 Pan Li <pan2.li@intel.com> - - * match.pd: Add the matching for signed .SAT_ADD. - * tree-ssa-math-opts.cc (gimple_signed_integer_sat_add): Add new - matching func decl. - (match_unsigned_saturation_add): Try signed .SAT_ADD and rename - to ... - (match_saturation_add): ... here. - (math_opts_dom_walker::after_dom_children): Update the above renamed - func from caller. - -2024-08-27 Andreas Schwab <schwab@linux-m68k.org> - - PR target/116413 - * config/m68k/m68k.cc (m68k_decompose_index): Accept ASHIFT like - MULT. - (m68k_rtx_costs) [PLUS]: Likewise. - (m68k_legitimize_address): Likewise. - -2024-08-27 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-v.cc (expand_vector_init_insert_elems): Relocate. - (expand_vector_init_trailing_same_elem): Ditto. - -2024-08-27 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-v.cc (expand_const_vector): Allow non-duplicate - to fall through other patterns before asserting. - -2024-08-27 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-v.h (valid_vec_immediate_p): Add new helper. - * config/riscv/riscv-v.cc (valid_vec_immediate_p): Ditto. - (expand_const_vector): Use new helper. - * config/riscv/riscv.cc (riscv_const_insns): Handle 0.0 floating-point - case. - -2024-08-27 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-v.cc (class rvv_builder): Move to riscv-v.h. - * config/riscv/riscv.cc (riscv_const_insns): Emit placeholder costs for - bool/stepped const vectors. - * config/riscv/riscv-v.h: New file. - -2024-08-27 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-v.cc (expand_const_vector): Use tmp register if - needed. - -2024-08-27 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv.cc (riscv_const_insns): Relocate. - -2024-08-27 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-v.cc (expand_const_vector): Fix STEP size in - expander. - -2024-08-27 Christophe Lyon <christophe.lyon@linaro.org> - - * config/arm/vfp.md (movdi_vfp, thumb2_movdf_vfp): Handle MVE - case. - -2024-08-27 H.J. Lu <hjl.tools@gmail.com> - - * doc/sourcebuild.texi (check-function-bodies): Add an optional - argument for matched output lines. - -2024-08-27 Michael Matz <matz@suse.de> - - PR target/116429 - * lra.cc (setup_sp_offset): Start with sp_offset from - before the new sequence, not from after. - -2024-08-27 Michael Matz <matz@suse.de> - - PR target/116374 - * lra-eliminations.cc (init_elim_table): Use -1 as initializer. - (update_reg_eliminate): Accept -1 as not-yet-used marker. - (eliminate_regs_in_insn): Use previous_sp_offset only when - not first_p. - -2024-08-27 Michael Matz <matz@suse.de> - - PR target/116413 - * final.cc (walk_alter_subreg): Recurse on AHIFT. - -2024-08-27 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/116413 - * rtl.h (address_info): Update commentary. - * rtlanal.cc (valid_base_or_index_term_p): New function, split - out from... - (get_base_term, get_index_term): ...here. Handle elimination PLUSes. - -2024-08-27 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/116321 - * lra-constraints.cc (get_hard_regno): Only apply eliminations - to existing hard registers. - (get_reg_class): Likewise. - -2024-08-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116460 - * tree-ssa-forwprop.cc (pass_forwprop::execute): First do - simple_dce_from_worklist and then remove stmts in to_remove. - Track defs to be removed in to_remove_defs. - -2024-08-27 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_expand_ussub): Gen xmode for the - second operand, aka y in parameter. - * config/riscv/riscv.md (ussub<mode>3): Allow const_int for operand 2. - -2024-08-26 Hans-Peter Nilsson <hp@axis.com> - - PR middle-end/115883 - * combine.cc (make_more_copies): Copy attributes from the original - pseudo to the new copy. - -2024-08-26 Arsen Arsenović <arsen@aarsen.me> - - * coroutine-passes.cc (execute_early_expand_coro_ifns): Emit a - sorry if a statement is an alloca call. - -2024-08-26 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS-libcommon): Add diagnostic-format-text.o. - * diagnostic-format-json.cc: Include "diagnostic-format.h". - * diagnostic-format-sarif.cc: Likewise. - * diagnostic-format-text.cc: New file, using material from - diagnostics.cc. - * diagnostic-global-context.cc: Include - "diagnostic-format.h". - * diagnostic-format-text.h: New file, using material from - diagnostics.h. - * diagnostic-format.h: New file, using material from - diagnostics.h. - * diagnostic.cc: Include "diagnostic-format.h" and - "diagnostic-format-text.h". - (diagnostic_text_output_format::~diagnostic_text_output_format): - Move to diagnostic-format-text.cc. - (diagnostic_text_output_format::on_report_diagnostic): Likewise. - (diagnostic_text_output_format::on_diagram): Likewise. - (diagnostic_text_output_format::print_any_cwe): Likewise. - (diagnostic_text_output_format::print_any_rules): Likewise. - (diagnostic_text_output_format::print_option_information): - Likewise. - * diagnostic.h (class diagnostic_output_format): Move to - diagnostic-format.h. - (class diagnostic_text_output_format): Move to - diagnostic-format-text.h. - (diagnostic_output_format_init): Move to - diagnostic-format.h. - (diagnostic_output_format_init_json_stderr): Likewise. - (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. - * gcc.cc: Include "diagnostic-format.h". - * opts.cc: Include "diagnostic-format.h". - -2024-08-26 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc - (json_output_format::on_begin_diagnostic): Delete. - (json_output_format::on_end_diagnostic): Rename to... - (json_output_format::on_report_diagnostic): ...this and add call - to pp_output_formatted_text. - (diagnostic_output_format_init_json): Drop unnecessary calls - to disable textual printing of CWEs, rules, and options. - * diagnostic-format-sarif.cc (sarif_builder::end_diagnostic): - Rename to... - (sarif_builder::on_report_diagnostic): ...this and add call to - pp_output_formatted_text. - (sarif_output_format::on_begin_diagnostic): Delete. - (sarif_output_format::on_end_diagnostic): Rename to... - (sarif_output_format::on_report_diagnostic): ...this and update - call to m_builder accordingly. - (diagnostic_output_format_init_sarif): Drop unnecessary calls - to disable textual printing of CWEs, rules, and options. - * diagnostic.cc (diagnostic_context::print_any_cwe): Convert to... - (diagnostic_text_output_format::print_any_cwe): ...this. - (diagnostic_context::print_any_rules): Convert to... - (diagnostic_text_output_format::print_any_rules): ...this. - (diagnostic_context::print_option_information): Convert to... - (diagnostic_text_output_format::print_option_information): - ...this. - (diagnostic_context::report_diagnostic): Replace calls to the - output format's on_begin_diagnostic, to pp_output_formatted_text, - printing CWE, rules, option info, and the call to the format's - on_end_diagnostic with a call to the format's - on_report_diagnostic. - (diagnostic_text_output_format::on_begin_diagnostic): Delete. - (diagnostic_text_output_format::on_end_diagnostic): Delete. - (diagnostic_text_output_format::on_report_diagnostic): New vfunc, - which effectively does the on_begin_diagnostic, the call to - pp_output_formatted_text, the calls for printing CWE, rules, - option info, and the call to the diagnostic_finalizer. - * diagnostic.h (diagnostic_output_format::on_begin_diagnostic): - Delete. - (diagnostic_output_format::on_end_diagnostic): Delete. - (diagnostic_output_format::on_report_diagnostic): New. - (diagnostic_text_output_format::on_begin_diagnostic): Delete. - (diagnostic_text_output_format::on_end_diagnostic): Delete. - (diagnostic_text_output_format::on_report_diagnostic): New. - (class diagnostic_context): Add friend class - diagnostic_text_output_format. - (diagnostic_context::get_urlifier): New accessor. - (diagnostic_context::print_any_cwe): Move decl... - (diagnostic_text_output_format::print_any_cwe): ...to here. - (diagnostic_context::print_any_rules): Move decl... - (diagnostic_text_output_format::print_any_rules): ...to here. - (diagnostic_context::print_option_information): Move decl... - (diagnostic_text_output_format::print_option_information): ...to - here. - -2024-08-26 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc: Add comments noting that we don't - yet capture any diagnostic_metadata::rules associated with a - diagnostic. - -2024-08-26 David Malcolm <dmalcolm@redhat.com> - - * pretty-print.cc (selftest::test_urls): Make static. - (selftest::test_urls_from_braces): New. - (selftest::test_null_urls): Make static. - (selftest::test_urlification): Likewise. - (selftest::pretty_print_cc_tests): Call test_urls_from_braces. - -2024-08-26 David Malcolm <dmalcolm@redhat.com> - - * json.h: Fix typo in comment about missing INCLUDE_MEMORY. - -2024-08-26 Andi Kleen <ak@gcc.gnu.org> - - * tree-if-conv.cc: Remove unneeded include from last change. - -2024-08-26 Bernd Edlinger <bernd.edlinger@hotmail.de> - - PR debug/116470 - * configure.ac: Add the "nop" instruction for cpu type ft32. - * configure: Regenerate. - * dwarf2out.cc (dwarf2out_set_ignored_loc): Use the correct - line info section. - -2024-08-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116460 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Do not - process blocks in unreachable natural loops. - -2024-08-26 Richard Biener <rguenther@suse.de> - - * tree-ssa-forwprop.cc (simplify_gimple_switch_label_vec): - Delay removing edges and releasing dominator info, instead - record into edges_to_remove vector. - (simplify_gimple_switch): Pass through vector of to remove - edges. - (pass_forwprop::execute): Likewise. Remove queued edges. - -2024-08-26 Xi Ruoyao <xry111@xry111.site> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/116348 - * tree-vect-stmts.cc (supportable_widening_operation): Use - STMT_VINFO_REDUC_DEF (x) instead of - STMT_VINFO_DEF_TYPE (x) == vect_reduction_def. - -2024-08-26 Pan Li <pan2.li@intel.com> - - * match.pd: Add int_fits_type_p check for .SAT_ADD imm operand. - -2024-08-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116480 - * internal-fn.cc (expand_POPCOUNT): Use the correct mode - for store flags. - -2024-08-26 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/avx10_2-512convertintrin.h - (_mm512_cvtpbf8_ph): New. - (_mm512_mask_cvtpbf8_ph): Ditto. - (_mm512_maskz_cvtpbf8_ph): Ditto. - * config/i386/avx10_2convertintrin.h - (_mm_cvtpbf8_ph): Ditto. - (_mm_mask_cvtpbf8_ph): Ditto. - (_mm_maskz_cvtpbf8_ph): Ditto. - (_mm256_cvtpbf8_ph): Ditto. - (_mm256_mask_cvtpbf8_ph): Ditto. - (_mm256_maskz_cvtpbf8_ph): Ditto. - -2024-08-26 Zhang, Jun <jun.zhang@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - Hongtao Liu <hongtao.liu@intel.com> - - * config/i386/i386-expand.cc - (ix86_ssecom_setcc): Mention behavior change on flags. - (ix86_expand_sse_comi): Handle AVX10.2 behavior. - (ix86_expand_sse_comi_round): Ditto. - (ix86_expand_round_builtin): Ditto. - (ix86_expand_builtin): Change function call. - * config/i386/i386.md (UNSPEC_COMX): New unspec. - * config/i386/sse.md - (avx10_2_v<unord>comx<ssemodesuffix><round_saeonly_name>): New. - (<sse>_<unord>comi<round_saeonly_name>): Add HFmode. - -2024-08-26 Zhang, Jun <jun.zhang@intel.com> - - * config.gcc: Add avx10_2copyintrin.h. - * config/i386/i386.md (avx10_2): New isa attribute. - * config/i386/immintrin.h: Include avx10_2copyintrin.h. - * config/i386/sse.md - (sse_movss_<mode>): Add new constraints to handle AVX10.2. - (vec_set<mode>_0): Ditto. - (@vec_set<mode>_0): Ditto. - (vec_set<mode>_0): Ditto. - (avx512fp16_mov<mode>): Ditto. - (*vec_set<mode>_0_1): New split. - * config/i386/avx10_2copyintrin.h: New file. - -2024-08-26 Mo, Zewei <zewei.mo@intel.com> - Hu, Lin1 <lin1.hu@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * config.gcc: Add avx10_2-512minmaxintrin.h and - avx10_2minmaxintrin.h. - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE (V8BF, V8BF, V8BF, INT, V8BF, UQI), - (V16BF, V16BF, V16BF, INT, V16BF, UHI), - (V32BF, V32BF, V32BF, INT, V32BF, USI), - (V8HF, V8HF, V8HF, INT, V8HF, UQI), - (V8DF, V8DF, V8DF, INT, V8DF, UQI, INT), - (V32HF, V32HF, V32HF, INT, V32HF, USI, INT), - (V16HF, V16HF, V16HF, INT, V16HF, UHI, INT), - (V16SF, V16SF, V16SF, INT, V16SF, UHI, INT). - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc - (ix86_expand_args_builtin): Handle V8BF_FTYPE_V8BF_V8BF_INT_V8BF_UQI, - V16BF_FTYPE_V16BF_V16BF_INT_V16BF_UHI, - V32BF_FTYPE_V32BF_V32BF_INT_V32BF_USI, - V8HF_FTYPE_V8HF_V8HF_INT_V8HF_UQI, - (ix86_expand_round_builtin): Handle V8DF_FTYPE_V8DF_V8DF_INT_V8DF_UQI_INT, - V32HF_FTYPE_V32HF_V32HF_INT_V32HF_USI_INT, - V16HF_FTYPE_V16HF_V16HF_INT_V16HF_UHI_INT. - V16SF_FTYPE_V16SF_V16SF_INT_V16SF_UHI_INT. - * config/i386/immintrin.h: Include avx10_2-512mixmaxintrin.h and - avx10_2minmaxintrin.h. - * config/i386/sse.md (VFH_AVX10_2): New. - (avx10_2_vminmaxnepbf16_<mode><mask_name>): New define_insn. - (avx10_2_minmaxp<mode><mask_name><round_saeonly_name>): Ditto. - (avx10_2_minmaxs<mode><mask_scalar_name><round_saeonly_scalar_name>): Ditto. - * config/i386/avx10_2-512minmaxintrin.h: New file. - * config/i386/avx10_2minmaxintrin.h: Ditto. - -2024-08-26 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2-512satcvtintrin.h: Add new intrin. - * config/i386/avx10_2satcvtintrin.h: Ditto. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/sse.md (VF1_VF2_AVX10_2): New iterator. - (VF2_AVX10_2): Ditto. - (VI8_AVX10_2): Ditto. - (sat_cvt_sign_prefix): Add new UNSPEC. - (UNSPEC_SAT_CVT_DS_SIGN_ITER): New iterator. - (pd2dqssuff): Ditto. - (avx10_2_vcvtt<castmode>2<sat_cvt_sign_prefix>dqs<mode><mask_name><round_saeonly_name>): - New. - (avx10_2_vcvttpd2<sat_cvt_sign_prefix>qqs<mode><mask_name><round_saeonly_name>): - Ditto. - (avx10_2_vcvttps2<sat_cvt_sign_prefix>qqs<mode><mask_name><round_saeonly_name>): - Ditto. - (avx10_2_vcvttsd2<sat_cvt_sign_prefix>sis<mode><round_saeonly_name>): - Ditto. - (avx10_2_vcvttss2<sat_cvt_sign_prefix>sis<mode><round_saeonly_name>): - Ditto. - -2024-08-26 Hu, Lin1 <lin1.hu@intel.com> - - * config.gcc: Add avx10_2satcvtintrin.h and - avx10_2-512satcvtintrin.h. - * config/i386/i386-builtin-types.def: - Add DEF_FUNCTION_TYPE (V8HI, V8BF, V8HI, UQI), - (V16HI, V16BF, V16HI, UHI), (V32HI, V32BF, V32HI, USI), - (V16SI, V16SF, V16SI, UHI, INT), (V16HI, V16BF, V16HI, UHI, INT), - (V32HI, V32BF, V32HI, USI, INT). - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle - V32HI_FTYPE_V32BF_V32HI_USI, V16HI_FTYPE_V16BF_V16HI_UHI, - V8HI_FTYPE_V8BF_V8HI_UQI. - (ix86_expand_round_builtin): Handle V32HI_FTYPE_V32BF_V32HI_USI_INT, - V16SI_FTYPE_V16SF_V16SI_UHI_INT, V16HI_FTYPE_V16BF_V16HI_UHI_INT. - * config/i386/immintrin.h: Include avx10_2satcvtintrin.h and - avx10_2-512savcvtintrin.h. - * config/i386/sse.md: - (UNSPEC_CVTNE_BF16_IBS_ITER): New iterator. - (sat_cvt_sign_prefix): Ditto. - (sat_cvt_trunc_prefix): Ditto. - (UNSPEC_CVT_PH_IBS_ITER): Ditto. - (UNSPEC_CVTT_PH_IBS_ITER): Ditto. - (UNSPEC_CVT_PS_IBS_ITER): Ditto. - (UNSPEC_CVTT_PS_IBS_ITER): Ditto. - (avx10_2_cvt<sat_cvt_trunc_prefix>nebf162i<sat_cvt_sign_prefix>bs<mode><mask_name>): - New define_insn. - (avx10_2_cvtph2i<sat_cvt_sign_prefix>bs<mode><mask_name><round_name>): - Ditto. - (avx10_2_cvttph2i<sat_cvt_sign_prefix>bs<mode><mask_name><round_saeonly_name>): - Ditto. - (avx10_2_cvtps2i<sat_cvt_sign_prefix>bs<mode><mask_name><round_name>): - Ditto. - (avx10_2_cvttps2i<sat_cvt_sign_prefix>bs<mode><mask_name><round_saeonly_name>): - Ditto. - * config/i386/avx10_2-512satcvtintrin.h: New file. - * config/i386/avx10_2satcvtintrin.h: Ditto. - -2024-08-26 konglin1 <lingling.kong@intel.com> - Levy Hsu <admin@levyhsu.com> - - * config/i386/avx10_2-512bf16intrin.h: Add new intrinsics. - * config/i386/avx10_2bf16intrin.h: Diito. - * config/i386/i386-builtin-types.def : Add new DEF_FUNCTION_TYPE - for new type. - * config/i386/i386-builtin.def (BDESC): Add new buildin. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): - Handle new type. - * config/i386/sse.md (vecmemsuffix): Add vector BF mode. - (avx10_2_rsqrtpbf16_<mode><mask_name>): New define_insn. - (avx10_2_sqrtnepbf16_<mode><mask_name>): Ditto. - (avx10_2_rcppbf16_<mode><mask_name>): Ditto. - (avx10_2_getexppbf16_<mode><mask_name>): Ditto. - (BF16IMMOP): New iterator. - (bf16immop): Ditto. - (avx10_2_<bf16immop>pbf16_<mode><mask_name>): New define_insn. - (avx10_2_fpclasspbf16_<mode><mask_scalar_merge_name>): Ditto. - (avx10_2_cmppbf16_<mode><mask_scalar_merge_name>): Ditto. - (avx10_2_comsbf16_v8bf): Ditto. - -2024-08-26 konglin1 <lingling.kong@intel.com> - Levy Hsu <admin@levyhsu.com> - - * config.gcc: Add avx10_2-512bf16intrin.h and avx10_2bf16intrin.h. - * config/i386/i386-builtin-types.def : Add new - DEF_FUNCTION_TYPE for V32BF_FTYPE_V32BF_V32BF, - V16BF_FTYPE_V16BF_V16BF, V8BF_FTYPE_V8BF_V8BF, - V8BF_FTYPE_V8BF_V8BF_UQI, V16BF_FTYPE_V16BF_V16BF_UHI, - V32BF_FTYPE_V32BF_V32BF_USI, V32BF_FTYPE_V32BF_V32BF_V32BF_USI, - V8BF_FTYPE_V8BF_V8BF_V8BF_UQI and V16BF_FTYPE_V16BF_V16BF_V16BF_UHI. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): - Handle new DEF_FUNCTION_TYPE. - * config/i386/immintrin.h: Include avx10_2-512bf16intrin.h and - avx10_2bf16intrin.h. - * config/i386/sse.md - (VBF_AVX10_2): New iterator. - (avx10_2_scalefpbf16_<mode><mask_name>): New define_insn. - (avx10_2_<code>nepbf16_<mode><mask_name>): Ditto. - (avx10_2_<insn>nepbf16_<mode><mask_name>): Ditto. - (avx10_2_fmaddnepbf16_<mode>_maskz): New expander. - (avx10_2_fnmaddnepbf16_<mode>_maskz): Ditto. - (avx10_2_fmsubnepbf16_<mode>_maskz): Ditto. - (avx10_2_fnmsubnepbf16_<mode>_maskz): Ditto. - (avx10_2_fmaddnepbf16_<mode><sd_maskz_name>): New define_insn. - (avx10_2_fmaddnepbf16_<mode>_mask): Ditto. - (avx10_2_fmaddnepbf16_<mode>_mask3): Ditto. - (avx10_2_fnmaddnepbf16_<mode><sd_maskz_name>): Ditto. - (avx10_2_fnmaddnepbf16_<mode>_mask): Ditto. - (avx10_2_fnmaddnepbf16_<mode>_mask3): Ditto. - (avx10_2_fmsubnepbf16_<mode><sd_maskz_name>): Ditto. - (avx10_2_fmsubnepbf16_<mode>_mask): Ditto. - (avx10_2_fmsubnepbf16_<mode>_mask3): Ditto. - (avx10_2_fnmsubnepbf16_<mode><sd_maskz_name>): Ditto. - (avx10_2_fnmsubnepbf16_<mode>_mask): Ditto. - (avx10_2_fnmsubnepbf16_<mode>_mask3): Ditto. - * config/i386/avx10_2-512bf16intrin.h: New file. - * config/i386/avx10_2bf16intrin.h: Ditto. - -2024-08-26 Levy Hsu <admin@levyhsu.com> - Kong Lingling <lingling.kong@intel.com> - - * config.gcc: Add avx10_2-512convertintrin.h and - avx10_2convertintrin.h. - * config/i386/i386-builtin-types.def: Add new DEF_POINTER_TYPE - and DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_args_builtin): - Handle AVX10.2. - (ix86_expand_round_builtin): Ditto. - * config/i386/immintrin.h: Include avx10_2-512convertintrin.h, - avx10_2convertintrin.h. - * config/i386/sse.md (VHF_AVX10_2): New iterator. - (bf16_ph): Add 512 bit mode. - (avx10_2_cvt2ps2phx_<mode><mask_name<round_name>): New define_insn. - (ssebvecmode): New iterator. - (UNSPEC_NECONVERTFP8_PACK): Ditto. - (neconvertfp8_pack): Ditto. - (vcvt<neconvertfp8_pack><mode><mask_name>): New define_insn. - (ssebvecmode_2): New iterator. - (UNSPEC_VCVTBIASPH2FP8_PACK): Ditto. - (biasph2fp8_pack): Ditto. - (vcvt<biasph2fp8_pack>v8hf): New expander. - (vcvt<biasph2fp8_pack>v8hf_mask): Ditto. - (*vcvt<biasph2bf8_pack>v8hf): New define_insn. - (*vcvt<biasph2fp8_pack>v8hf_mask): Ditto. - (VHF_AVX10_2_2): New iterator. - (vcvt<biasph2fp8_pack><mode><mask_name>): New define_insn. - (VHF_256_512): New iterator. - (ph2fp8suff): Ditto. - (UNSPEC_NECONVERTPH2FP8_PACK): Ditto. - (neconvertph2fp8): Ditto. - (vcvt<neconvertph2fp8>v8hf_mask): New expander. - (*vcvt<neconvertph2fp8>v8hf): New define_insn. - (*vcvt<neconvertph2fp8>v8hf_mask): Ditto. - (vcvt<neconvertph2fp8><mode><mask_name>): Ditto. - (vcvthf82ph<mode><mask_name>): Ditto. - * config/i386/avx10_2-512convertintrin.h: New file. - * config/i386/avx10_2convertintrin.h: Ditto. - -2024-08-26 Haochen Jiang <haochen.jiang@intel.com> - Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/avx10_2-512mediaintrin.h: Add new intrins. - * config/i386/avx10_2mediaintrin.h: Ditto. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-builtins.cc (def_builtin): Handle shared - builtins between AVXVNNIINT16 and AVX10.2. - * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): - Ditto. - * config/i386/sse.md (unspec): Add UNSPEC_VDPPHPS. - (avx10_2_mpsadbw<mask_name>): New define_insn. - (<mask_codefor><sse4_1_avx2>_mpsadbw<mask_name>): Ditto. - (vpdp<vpdpwprodtype>_<mode>): Add AVX10_2_256. - (vpdp<vpdpwprodtype>_v16si): New defin_insn. - (vpdp<vpdpwprodtype>_<mode>_mask): Ditto. - (*vpdp<vpdpwprodtype>_<mode>_maskz): Ditto. - (vpdp<vpdpwprodtype>_<mode>_maskz): New expander. - (vdpphps_<mode>): New define_insn. - (vdpphps_<mode>_mask): Ditto. - (*vdpphps_<mode>_maskz): Ditto. - (vdpphps_<mode>_maskz): New expander. - -2024-08-26 Hongyu Wang <hongyu.wang@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * config.gcc: Add avx10_2mediaintrin.h and - avx10_2-512mediaintrin.h. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-builtins.cc (def_builtin): Handle shared - builtins between AVXVNNIINT8 and AVX10.2. - * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): - Ditto. - * config/i386/immintrin.h: Include avx10_2mediaintrin.h and - avx10_2-512mediaintrin.h - * config/i386/sse.md: (VI4_AVX10_2): New. - (vpdp<vpdotprodtype>_<mode>): Add AVX10_2_256. - (vpdp<vpdotprodtype>_v16si): New define_insn. - (vpdp<vpdotprodtype>_<mode>_mask): Ditto. - (*vpdp<vpdotprodtype>_<mode>_maskz): Ditto. - (vpdp<vpdotprodtype>_<mode>_maskz): New expander. - * config/i386/avx10_2-512mediaintrin.h: New file. - * config/i386/avx10_2mediaintrin.h: Ditto. - -2024-08-26 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_gen_unsigned_xmode_reg): Add new - func impl to gen xmode rtx reg from operand rtx. - (riscv_expand_ussub): Gen xmode reg for operand 1. - * config/riscv/riscv.md: Allow const_int for operand 1. - -2024-08-25 demin.han <demin.han@starfivetech.com> - - * config/riscv/vector.md: Add !FLOAT_MODE_P constraint. - -2024-08-25 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * lower-subreg.cc (resolve_simple_move): Re-add calling emit_clobber - immediately before moving a multi-word register by parts. - -2024-08-25 Andi Kleen <ak@gcc.gnu.org> - - PR tree-optimization/115866 - * tree-if-conv.cc (if_convertible_switch_p): New function. - (if_convertible_stmt_p): Check for switch. - (get_loop_body_in_if_conv_order): Handle switch. - (predicate_bbs): Likewise. - (predicate_statements): Likewise. - (remove_conditions_and_labels): Likewise. - (ifcvt_split_critical_edges): Likewise. - (ifcvt_local_dce): Likewise. - -2024-08-25 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (write_optimized_static_local_vars): New function. - (write_function): Call write_optimized_static_local_vars. - -2024-08-25 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_sym_type): Add S_FRAMEPROC. - (write_s_frameproc): New function. - (write_function): Call write_s_frameproc. - -2024-08-25 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_sym_type): Add S_DEFRANGE_REGISTER_REL. - (write_defrange_register_rel): New function. - (write_optimized_local_variable_loc): Add fbloc param, and call - write_defrange_register_rel. - (write_optimized_local_variable): Add fbloc param. - (write_optimized_function_vars): Add fbloc param. - -2024-08-25 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_sym_type): Add S_LOCAL and - S_DEFRANGE_REGISTER. - (write_s_local): New function. - (write_defrange_register): New function. - (write_optimized_local_variable_loc): New function. - (write_optimized_local_variable): New function. - (write_optimized_function_vars): New function. - (write_function): Call write_optimized_function_vars if variable - tracking enabled. - * dwarf2out.cc (typedef var_loc_view): Move to dwarf2out.h. - (struct dw_loc_list_struct): Likewise. - * dwarf2out.h (typedef var_loc_view): Move from dwarf2out.h. - (struct dw_loc_list_struct): Likewise. - * opts.cc (finish_options): Enable variable tracking for CodeView. - -2024-08-25 Roger Sayle <roger@nextmovesoftware.com> - Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386-features.cc (compute_convert_gain) - <case ASHIFTRT>: Update to match ix86_expand_v1ti_ashiftrt. - -2024-08-23 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-v.cc (rvv_builder::can_duplicate_repeating_sequence_p): - Use encoded_nelts when calling repeating_sequence_p. - (rvv_builder::is_repeating_sequence): Ditto. - (rvv_builder::repeating_sequence_use_merge_profitable_p): Ditto. - -2024-08-23 Manolis Tsamis <manolis.tsamis@vrull.eu> - - PR rtl-optimization/116372 - PR rtl-optimization/116405 - * ifcvt.cc (noce_convert_multiple_sets): Iterate backwards and track - target registers. - -2024-08-23 Manolis Tsamis <manolis.tsamis@vrull.eu> - - PR middle-end/116358 - * ifcvt.cc (noce_convert_multiple_sets): Disallow call insns. - -2024-08-23 Peter Bergner <bergner@linux.ibm.com> - - PR target/116415 - * config/rs6000/rs6000.h (TI_OR_PTI_MODE): New define. - * config/rs6000/rs6000-p8swap.cc (rs6000_analyze_swaps): Use it to - handle PTImode identically to TImode. - -2024-08-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116463 - * tree-complex.cc: Include tree-ssa-dce.h. - (dce_worklist): New global. - (update_complex_assignment): Add SSA def to the DCE worklist. - (tree_lower_complex): Perform DCE. - -2024-08-23 Pan Li <pan2.li@intel.com> - - * match.pd: Add form 4 for unsigned .SAT_TRUNC matching. - -2024-08-23 Robin Dapp <rdapp@ventanamicro.com> - - PR middle-end/115495 - * cfgexpand.cc (expand_debug_expr): Require mode. - * combine.cc (make_extraction): Ditto. - * config/aarch64/aarch64.cc (aarch64_expand_cpymem): Ditto. - (aarch64_expand_setmem): Ditto. - * config/arc/arc.cc (arc_expand_cpymem): Ditto. - * config/arm/arm.cc (arm_expand_divmod_libfunc): Ditto. - * config/i386/i386.cc (ix86_get_mask_mode): Ditto. - * config/rs6000/predicates.md: Ditto. - * config/rs6000/rs6000.cc (vspltis_constant): Ditto. - * config/s390/s390.cc (s390_expand_insv): Ditto. - * config/sparc/sparc.cc (assign_int_registers): Ditto. - * coverage.cc (get_gcov_type): Ditto. - (get_gcov_unsigned_t): Ditto. - * dse.cc (find_shift_sequence): Ditto. - * expmed.cc (store_integral_bit_field): Ditto. - * expr.cc (convert_mode_scalar): Ditto. - (op_by_pieces_d::smallest_fixed_size_mode_for_size): Ditto. - (emit_block_move_via_oriented_loop): Ditto. - (copy_blkmode_to_reg): Ditto. - (store_field): Ditto. - * internal-fn.cc (expand_arith_overflow): Ditto. - * machmode.h (HAVE_MACHINE_MODES): Ditto. - (smallest_mode_for_size): Use opt_machine_mode. - (smallest_int_mode_for_size): Use opt_scalar_int_mode. - * optabs-query.cc (get_best_extraction_insn): Require mode. - * optabs.cc (expand_twoval_binop_libfunc): Ditto. - * stor-layout.cc (smallest_mode_for_size): Return - opt_machine_mode. - (layout_type): Require mode. - (initialize_sizetypes): Ditto. - * tree-ssa-loop-manip.cc (canonicalize_loop_ivs): Ditto. - -2024-08-23 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/autovec.md (abs<mode>2): Expand via max (a, -a). - -2024-08-23 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (License): Specifically link to GPL v3.0 - -2024-08-22 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116420 - * ext-dce.cc (ext_dce_init): Fix loop iteration when setting up the - interesting block for DF to analyze. - -2024-08-22 Prathamesh Kulkarni <prathameshk@nvidia.com> - - * lto-streamer-in.cc: (lto_read_tree_1): Set DECL_MODE (expr) to - TREE_TYPE (TYPE_MODE (expr)) if TREE_TYPE (expr) is aggregate type and - offloading is enabled. - * stor-layout.cc (layout_type): Move computation of mode for - ARRAY_TYPE from ... - (compute_array_mode): ... to here. - * stor-layout.h (compute_array_mode): Declare. - * tree-streamer-in.cc: Include stor-layout.h. - (unpack_ts_common_value_fields): Call compute_array_mode if offloading - is enabled. - * tree-streamer-out.cc (pack_ts_fixed_cst_value_fields): Stream out - VOIDmode if decl has aggregate type and offloading is enabled. - (pack_ts_type_common_value_fields): Stream out VOIDmode for aggregate - type if offloading is enabled. - -2024-08-22 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): Add - epilogue code for stack-clash and fix prologue cfi note. - -2024-08-22 Andrew Pinski <quic_apinski@quicinc.com> - Richard Biener <rguenther@suse.de> - - PR middle-end/116454 - * fold-const.cc (fold_binary_loc): Fix `a * +-1i` - by wrapping arg0 with save_expr when it is not COMPLEX_EXPR. - -2024-08-22 Jennifer Schmitz <jschmitz@nvidia.com> - - PR target/116365 - * config/aarch64/aarch64-opts.h - (enum aarch64_autovec_preference_enum): New enum. - * config/aarch64/aarch64.cc (aarch64_cmp_autovec_modes): - Change numerical to enum values. - (aarch64_autovectorize_vector_modes): Change numerical to enum - values. - (aarch64_vector_costs::record_potential_advsimd_unrolling): - Change numerical to enum values. - * config/aarch64/aarch64.opt: Change param type to enum. - * doc/invoke.texi: Update documentation. - -2024-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> - - * dwarf2out.cc (dwarf2out_maybe_output_loclist_view_pair, - output_loc_list): Correct handling of -gno-as-loc-support, - use ZERO_VIEW_P to output view number as zero value. - * toplev.cc (process_options): Do not automatically disable - -gvariable-location-views when -gno-as-loc-support or - -gno-as-locview-support is used, instead do automatically - disable -gas-locview-support if -gno-as-loc-support is used. - -2024-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> - - PR debug/87440 - * dwarf2out.cc (gen_inlined_subroutine_die): Handle the case - of multiple subranges correctly. - -2024-08-22 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/101390 - * tree-vect-patterns.cc (vect_recog_mod_var_pattern): Add new pattern. - -2024-08-22 Alexandre Oliva <oliva@adacore.com> - - * toplev.cc (dump_final_alias_vcg): New. - (dump_final_node_vcg): Dump aliases along with node. - -2024-08-22 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-options.cc (ix86_option_override_internal): - set ix86_{move_max,store_max} to PVW_AVX256 when TARGET_AVX - instead of PVW_AVX128. - -2024-08-21 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116437 - * ext-dce.cc (ext_dce_try_optimize_insn): Handle SUBREG and - ZERO_EXTRACT destinations. - -2024-08-21 Richard Sandiford <richard.sandiford@arm.com> - - PR testsuite/116238 - * config/aarch64/aarch64.cc (aarch64_hard_regno_caller_save_mode): - Only return SImode if we can convert to and from it. - -2024-08-21 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113042 - * config/aarch64/aarch64.md (popcountti2): New define_expand. - -2024-08-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116406 - * tree-ssa-sccvn.cc (vn_reference_eq): Never equate - float and int when the float mode cannot transfer bits. - Do not try to anticipate which is the mode we actually load - from. - -2024-08-21 Martin Jambor <mjambor@suse.cz> - - PR target/58416 - * tree-sra.cc (types_risk_mangled_binary_repr_p): New function. - (sort_and_splice_var_accesses): Use it. - (propagate_subaccesses_from_rhs): Likewise. - -2024-08-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116380 - * tree-loop-distribution.cc (copy_loop_before): Handle - out-of-loop defs appropriately. - -2024-08-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/vsx.md (define_insn *vsx_le_perm_store_{<VSX_D:mode>, - <VSX_W:mode>,v8hi,v16qi,<VSX_LE_128:mode>}): Remove constraint modifier - "+" from operand 1. - -2024-08-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/vsx.md (*vsx_le_perm_store_{<VSX_D:mode>,<VSX_W:mode>, - v8hi,v16qi,<VSX_LE_128:mode>} !reload_completed splitters): Assert - can_create_pseudo_p and always generate one new pseudo for operand 1. - -2024-08-21 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md (mov<mode>): Align predicates for - operands[1] between mov<mode> and *mov<mode>_internal. - * config/i386/mmx.md (mov<mode>): Ditto. - -2024-08-21 Andrew Pinski <quic_apinski@quicinc.com> - - * builtins.cc (fold_builtin_bit_query): Don't expand double - `unsigned long long` typess if there is an optab entry for that - type. - -2024-08-21 Andrew Pinski <quic_apinski@quicinc.com> - - PR sanitizer/115205 - * asan.cc (asan_instrument): Call initialize_sanitizer_builtins - for hwasan. - (hwasan_finish_file): Likewise. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116412 - * gimple-match-exports.cc (gimple_extract): Return false if op0 - was not a SSA name nor a min invariant for REALPART_EXPR/IMAGPART_EXPR/VCE - and BIT_FIELD_REF. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116409 - * tree-ssa-phiopt.cc (factor_out_conditional_operation): Move - maybe_push_res_to_seq before creating the phi node and the debug dump. - Return false if maybe_push_res_to_seq fails. - -2024-08-20 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/install.texi (Specific) <c6x-*-*>: Normalize reference to - binutils. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/103660 - * match.pd (`(a ? b : 0) | (a ? 0 : c)`): New pattern. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/103660 - * match.pd (`((a CMP b) ? c : 0) | ((a CMP' b) ? d : 0)`): Extend to support - XOR and PLUS. - -2024-08-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116274 - * tree-vect-slp.cc (vect_bb_slp_scalar_cost): Cost scalar loads - and stores as simple scalar stmts when they access a non-global, - not address-taken variable that doesn't have BLKmode assigned. - -2024-08-20 Prathamesh Kulkarni <prathameshk@nvidia.com> - - * optc-save-gen.awk: New array var_target_opt. Use it to generate - if (!lto_stream_offload_p) check in cl_optimization_stream_out, - and generate a diagnostic with #error if accelerator backend uses - Optimization for target-specifc options in cl_optimization_stream_in. - -2024-08-19 Andreas Schwab <schwab@linux-m68k.org> - - PR target/113939 - * config/m68k/m68k.opt (mlra): New target option. - * config/m68k/m68k.cc (m68k_use_lra_p): New function. - (TARGET_LRA_P): Use it. - * config/m68k/m68k.opt.urls: Regenerate. - -2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> - - PR target/112108 - * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): Remove - feature check at initialisation. - (aarch64_general_check_builtin_call): Check ls64 intrinsics. - * config/aarch64/arm_acle.h: (data512_t) Make always available. - -2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> - - PR target/112108 - * config/aarch64/aarch64-builtins.cc (aarch64_init_memtag_builtins): - Define intrinsic names directly. - (aarch64_general_init_builtins): Move memtag intialisation... - (handle_arm_acle_h): ...to here, and remove feature check. - (aarch64_general_check_builtin_call): Check memtag intrinsics. - * config/aarch64/arm_acle.h (__arm_mte_create_random_tag) - (__arm_mte_exclude_tag, __arm_mte_ptrdiff) - (__arm_mte_increment_tag, __arm_mte_set_tag, __arm_mte_get_tag): - Remove. - -2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> - - PR target/112108 - * config/aarch64/aarch64-builtins.cc (aarch64_init_tme_builtins): - Define intrinsic names directly. - (aarch64_general_init_builtins): Move tme initialisation... - (handle_arm_acle_h): ...to here, and remove feature check. - (aarch64_general_check_builtin_call): Check tme intrinsics. - * config/aarch64/arm_acle.h (__tstart, __tcommit, __tcancel) - (__ttest): Remove. - (_TMFAILURE_*): Define unconditionally. - -2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-sve-builtins.cc (check_builtin_call) - (expand_builtin): Update calls to the below. - (report_missing_extension, report_missing_registers) - (check_required_extensions): Move out of aarch64_sve namespace, - rename, and move into... - * config/aarch64/aarch64-builtins.cc (aarch64_report_missing_extension) - (aarch64_report_missing_registers) - (aarch64_check_required_extensions) ...here. - * config/aarch64/aarch64-protos.h (aarch64_check_required_extensions): - Add prototype. - -2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-sve-builtins.cc - (check_required_registers): Remove target check and rename to... - (report_missing_registers): ...this. - (check_required_extensions): Refactor. - -2024-08-19 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/tuning_models/neoversev2.h (fp_reassoc_width): - Set to 4. - (tune_flags): Add AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA. - -2024-08-19 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * read-rtl.cc (rtx_reader::rtx_alloc_for_name): Allow all attribute - types to produce code 'values'. - (check_code_attribute): Rename ... - (check_attribute_codes): ... to this. And change comments to refer to - * doc/md.texi: Add paragraph to document that you can use int and mode - attributes to produce codes. - -2024-08-19 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/aarch64/aarch64-simd.md (mov<mode> for VSTRUCT_QD): - Expand 16-byte vector mode const0 store by TImode. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/sse.md: - (<avx512>_scalef<mode><mask_name><round_name>): Add condition check. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/sse.md: - (<mask_codefor>reducep<mode><mask_name><round_saeonly_name>): - Add condition check. - (<avx512>_rndscale<mode><mask_name><round_saeonly_name>): Ditto. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): - Handle V8SF_FTYPE_V8SF_V8SF_INT_V8SF_UQI_INT, - V4DF_FTYPE_V4DF_V4DF_INT_V4DF_UQI_INT. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V8SF_FTYPE_V8SF_V8SF_UQI_INT, V4DF_FTYPE_V4DF_V4DF_UQI_INT, - V16HF_FTYPE_V16HF_V16HF_UHI_INT, V16HF_FTYPE_V16HF_INT_V16HF_UHI_INT, - V4DF_FTYPE_V4DF_INT_V4DF_UQI_INT, V8SF_FTYPE_V8SF_INT_V8SF_UQI_INT. - * config/i386/sse.md: - (<avx512>_getexp<mode><mask_name><round_saeonly_name>): - Add condition check. - (<avx512>_getmant<mode><mask_name><round_saeonly_name>): - Ditto. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/sse.md: - (<avx512>_fnmsub_<mode>_mask3<round_name>): Add condition check. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/sse.md: - (<avx512>_fmsub_<mode>_mask<round_name>): Add condition check. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/sse.md: - (<avx512>_fmaddsub_<mode>_mask<round_name>): Add condition check. - (<avx512>_fmaddsub_<mode>_mask3<round_name>): Ditto. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/sse.md: - (<avx512>_fmadd_<mode>_mask3<round_name>): Add condition check. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V16HF_FTYPE_V16HF_V16HF_INT, V16HF_FTYPE_V16HF_V16HF_V16HF_INT, - V16HF_FTYPE_V16HF_V16HF_V16HF_UQI_INT, - V4DF_FTYPE_V4DF_V4DF_V4DI_INT_UQI_INT, - V8SF_FTYPE_V8SF_V8SF_V8SI_INT_UQI_INT. - * config/i386/sse.md: - (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): - Add condition check. - (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Ditto. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V16HF_FTYPE_V16HI_V16HF_UHI_INT. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/sse.md - (unspec_fix_truncv8sfv8si2<mask_name>): Extend rounding control. - (<mask_codefor>fixuns_trunc<mode><sseintvecmodelower>2<mask_name>): - Ditto. - (<mask_codefor>floatuns<sseintvecmodelower><mode>2<mask_name><round_name>): - Add condition check. - (fix<fixunssuffix>_trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>): - Remove round_saeonly_name. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/sse.md (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name>): - Extend round control for 256bit. - (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<mask_name>): - Ditto. - (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name><round_saeonly_name>): - Add condition check. - * config/i386/subst.md - (round_saeonly_mode_condition): Add V16HI check for 256bit. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V4DF_FTYPE_V4DI_V4DF_UQI_INT, V4SF_FTYPE_V4DI_V4SF_UQI_INT, - V8HF_FTYPE_V4DI_V8HF_UQI_INT. - * config/i386/sse.md: - (avx512fp16_vcvt<floatsuffix>qq2ph_v4di_mask_round): New expand. - (*avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>_mask): - Extend round control and add "_1" suffix. - (float<floatunssuffix><sseintvecmodelower><mode>2<mask_name><round_name>): - Add condition check. - (float<floatunssuffix><sselongvecmodelower><mode>2<mask_name><round_name>): - Ditto. - (float<floatunssuffix><mode><ssePSmode2lower>2<mask_name><round_name>): - Limit suffix output. - (unspec_fix_truncv4dfv4si2<mask_name>): Extend round control. - (unspec_fixuns_truncv4dfv4si2<mask_name>): Ditto. - * config/i386/subst.md (round_qq2pssuff): New iterator. - (round_saeonly_suff): Ditto. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V8SI_FTYPE_V8SF_V8SI_UQI_INT, V4DI_FTYPE_V4SF_V4DI_UQI_INT. - * config/i386/sse.md - (<sse2_avx_avx512f>_fix_notrunc<sf2simodelower><mode><mask_name>): - Extend to round. - (<mask_codefor><avx512>_fixuns_notrunc<sf2simodelower><mode><mask_name><round_name>): - Add round condition check. - * config/i386/subst.md (round_constraint4): New. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V16HI_FTYPE_V16HF_V16HI_UHI_INT, V4DF_FTYPE_V4SF_V4DF_UQI_INT - V8HF_FTYPE_V8SF_V8HF_UQI_INT. - * config/i386/sse.md - (avx512fp16_vcvt<castmode>2ph_<mode><mask_name><round_name>): - Add round condition check. - * config/i386/subst.md (round_mode_condition): Add V16HI check for - 256bit. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: New intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V8SF_FTYPE_V8HF_V8SF_UQI_INT, V8SI_FTYPE_V8HF_V8SI_UQI_INT, - V4DF_FTYPE_V8HF_V4DF_UQI_INT, V4DI_FTYPE_V8HF_V4DI_UQI_INT. - * config/i386/sse.md: - (avx512fp16_float_extend_ph<mode>2<mask_name><round_saeonly_name>): - Add condition check. - (avx512fp16_vcvtph2<sseintconvertsignprefix><sseintconvert>_<mode> - <mask_name><round_name>): - Ditto. - (avx512fp16_float_extend_ph<mode>2<mask_name>): Extend round saeonly. - (vcvtph2ps256<mask_name>): Ditto. - * config/i386/subst.md - (round_saeonly_applied): New condition. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: Add new intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V4DI_FTYPE_V4DF_V4DI_UQI_INT, V4SI_FTYPE_V4DF_V4SI_UQI_INT. - * config/i386/sse.md: - (avx_cvtpd2dq256<mask_name>): Change name to - avx_cvtpd2dq256<mask_name><round_name> and extend pattern to - generate 256bit insns. - (fixuns_notrunc<mode><si2dfmodelower>2<mask_name><round_name>): - Add round_mode_condition. - * config/i386/subst.md (round_pd2udqsuff): New iterator. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avx10_2roundingintrin.h: Add new intrins. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V8SF_FTYPE_V8SI_V8SF_UQI_INT, V4SF_FTYPE_V4DF_V4SF_UQI_INT, - V8HF_FTYPE_V8SI_V8HF_UQI_INT, V8HF_FTYPE_V4DF_V8HF_UQI_INT. - * config/i386/sse.md: - (avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode><mask_name><round_name>): - Add condition check. - (avx512fp16_vcvtpd2ph_v4df_mask_round): New expand. - (*avx512fp16_vcvt<castmode>2ph_<mode>_mask): Change name to - avx512fp16_vcvt<castmode>2ph_<mode>_mask<round_name>_1 - and extend pattern to generate 256bit insns. - (avx_cvtpd2ps256<mask_name>): Change name to - avx_cvtpd2ps256<mask_name><round_name> and extend pattern to - generate 256bit insns. - * config/i386/subst.md (round_applied): New condition. - (round_suff): New iterator. - (round_mode_condition): Add V32HI check for 512bit. - (round_saeonly_mode_condition): Ditto. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * config.gcc: Add avx10_2roundingintrin.h. - * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. - * config/i386/i386-builtin.def (BDESC): Add new builtins. - * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle - V4DF_FTYPE_V4DF_V4DF_V4DF_UQI_INT, V8SF_FTYPE_V8SF_V8SF_V8SF_UQI_INT, - V16HF_FTYPE_V16HF_V16HF_V16HF_UHI_INT, UQI_FTYPE_V4DF_V4DF_INT_UQI_INT, - UHI_FTYPE_V16HF_V16HF_INT_UHI_INT, UQI_FTYPE_V8SF_V8SF_INT_UQI_INT. - * config/i386/immintrin.h: Include avx10_2roundingintrin.h. - * config/i386/sse.md: Change subst_attr name due to renaming. - * config/i386/subst.md: - (<round_mode512bit_condition>): Add condition check for avx10.2 - rounding control 256bit intrins and renamed to ... - (<round_mode_condition>): ...this. - (round_saeonly_mode512bit_condition): Add condition check for - avx10.2 rounding control 256 bit intris and renamed to ... - (round_saeonly_mode_condition): ...this. - * config/i386/avx10_2roundingintrin.h: New file. - -2024-08-18 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/115876 - * ext-dce.cc (ext_dce_process_sets): Replace hardcoded 63/64 instances - with HOST_BITS_PER_WIDE_INT based values. - (carry_backpropagate): Handle modes with more bits than - HOST_BITS_PER_WIDE_INT gracefully, avoiding undefined behavior. - (ext_dce_process_uses): Handle subreg offsets which would result - in ubsan shifts gracefully, avoiding undefined behavior. - -2024-08-18 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (Contributing): Tweak gm2 mailing list address. - -2024-08-18 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple-match-exports.cc (gimple_match_op::operands_occurs_in_abnormal_phi): - New function. - * gimple-match.h (gimple_match_op): Add operands_occurs_in_abnormal_phi. - * tree-ssa-phiopt.cc (factor_out_conditional_operation): Use gimple_match_op - instead of manually extracting from/creating the gimple. - -2024-08-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md (*add<mode>3_split) [!reload_completed]: - Add a scratch:QI to 16-bit additions with constant. - -2024-08-18 Georg-Johann Lay <avr@gjlay.de> - - PR target/116407 - * config/avr/avr.md (*dec-and-branchhi!=-1.l.clobber): - Increase the additional jump offset to 2 words. - -2024-08-18 Georg-Johann Lay <avr@gjlay.de> - - PR target/116407 - * config/avr/avr-protos.h (avr_jump_mode): Add an int argument. - * config/avr/avr.cc (avr_jump_mode): Add an int argument to increase - the computed jump offset of backwards branches. - * config/avr/avr.md (*dec-and-branchhi!=-1, *dec-and-branchsi!=-1): - Increase the jump offset used by avr_jump_mode() as needed. - -2024-08-18 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple-fold.cc (mark_lhs_in_seq_for_dce): New function. - (replace_stmt_with_simplification): Call mark_lhs_in_seq_for_dce - right before inserting the sequence. - (fold_stmt_1): Add dce_worklist argument, update call to - replace_stmt_with_simplification. - (fold_stmt): Add dce_worklist argument, update call to fold_stmt_1. - (fold_stmt_inplace): Update call to fold_stmt_1. - * gimple-fold.h (fold_stmt): Add bitmap argument. - * tree-ssa-forwprop.cc (pass_forwprop::execute): Update call to fold_stmt. - -2024-08-18 Pan Li <pan2.li@intel.com> - - * config/riscv/iterators.md (ANYI_QUAD_TRUNC): New iterator for - quad truncation. - (ANYI_OCT_TRUNC): New iterator for oct truncation. - (ANYI_QUAD_TRUNCATED): New attr for truncated quad modes. - (ANYI_OCT_TRUNCATED): New attr for truncated oct modes. - (anyi_quad_truncated): Ditto but for lower case. - (anyi_oct_truncated): Ditto but for lower case. - * config/riscv/riscv.md (ustrunc<mode><anyi_quad_truncated>2): - Add new pattern for quad truncation. - (ustrunc<mode><anyi_oct_truncated>2): Ditto but for oct. - -2024-08-18 Pan Li <pan2.li@intel.com> - - PR target/116278 - * config/riscv/riscv.cc (riscv_gen_zero_extend_rtx): Add new - func impl to zero extend rtx. - (riscv_expand_usadd): Leverage above func to cleanup operands 0 - and remove the special handing for SImode in RV64. - -2024-08-17 Jeff Law <jlaw@ventanamicro.com> - - * ext-dce.cc (carry_backpropagate): Cast mask to HOST_WIDE_INT before - shifting. - -2024-08-17 Kevin Kirspel <Kevin-Kirspel@idexx.com> - - * config/riscv/t-rtems: Add ilp32f multilib. - -2024-08-17 Jeff Law <jlaw@ventanamicro.com> - - * config/v850/v850.md (rotlsi3): Allow more cases for V850E3V5+. - -2024-08-17 Jin Ma <jinma@linux.alibaba.com> - - * config/riscv/vector.md: Allow scalar operand to be 0. - -2024-08-17 Jeff Law <jlaw@ventanamicro.com> - - PR target/116282 - * config/riscv/riscv-protos.h (riscv_const_insns): Add new argument. - * config/riscv/riscv.cc (riscv_build_integer): Add new argument - ALLOW_NEW_PSEUDOS. Pass it down to recursive calls and check it - before using synthesis which allows new registers to be created. - (riscv_split_integer_cost): Pass new argument to riscv_build_integer. - (riscv_integer_cost): Add ALLOW_NEW_PSEUDOS argument, pass it down to - riscv_build_integer. - (riscv_legitimate_constant_p): Pass new argument to riscv_const_insns. - (riscv_const_insns): New argment ALLOW_NEW_PSEUDOS. Pass it down to - riscv_integer_cost and riscv_const_insns. - (riscv_split_const_insns): Pass new argument to riscv_const_insns. - (riscv_move_integer, riscv_rtx_costs): Similarly. - * config/riscv/riscv.md (shadd with costly constant): Pass new argument - to riscv_const_insns. - * config/riscv/bitmanip.md (and with costly constant): Pass new argument - to riscv_const_insns. - -2024-08-17 Jin Ma <jinma@linux.alibaba.com> - - * config/riscv/riscv-protos.h (riscv_vector_float_type_p): New. - * config/riscv/riscv-vector-builtins.cc (function_instance::any_type_float_p): - Use riscv_vector_float_type_p instead of FLOAT_MODE_P for judgment. - * config/riscv/riscv.cc (riscv_vector_int_type_p): Change static to extern. - -2024-08-17 Pan Li <pan2.li@intel.com> - - PR target/116280 - * config/riscv/autovec-opt.md: Add quad truncation to - align the mode requirement for vwsll. - -2024-08-17 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/autovec.md (v<bitmanip_optab><mode>3): - Add new define_expand pattern for vector rotate shift. - -2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (What is GNU Modula-2): Tweak PIM4 link. - -2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (Community): Tweak link to gm2 list archive. - -2024-08-17 Georg-Johann Lay <avr@gjlay.de> - - PR target/116390 - * config/avr/avr.cc (avr_out_movsi_mr_r_reg_disp_tiny): Fix - output templates for the reg_base == reg_src and - reg_src == reg_base - 2 cases. - -2024-08-17 曾治金 <zhijin.zeng@spacemit.com> - - PR target/116305 - * config/riscv/riscv.cc (riscv_dwarf_poly_indeterminate_value): Take - BYTES_PER_RISCV_VECTOR for *factor instead of riscv_bytes_per_vector_chunk. - -2024-08-16 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_sym_type): Add S_REGREL32. - (write_fbreg_variable): New function. - (write_unoptimized_local_variable): Add fblock parameter, and handle - DW_OP_fbreg locations. - (write_unoptimized_function_vars): Add fbloc parameter. - (write_function): Extract frame base from DWARF. - * dwarf2out.cc (convert_cfa_to_fb_loc_list): Output simplified frame - base information for CodeView. - -2024-08-16 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_sym_type): Add S_REGISTER. - (enum cv_x86_register): New type. - (enum cv_amd64_register): New type. - (dwarf_reg_to_cv): New function. - (write_s_register): New function. - (write_unoptimized_local_variable): Handle parameters and DW_OP_reg* - location types. - -2024-08-16 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_sym_type): Add S_END and S_BLOCK32. - (write_local_s_ldata32): New function. - (write_unoptimized_local_variable): New function. - (write_s_block32): New function. - (write_s_end): New function. - (write_unoptimized_function_vars): New function. - (write_function): Call write_unoptimized_function_vars. - -2024-08-16 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (get_type_num_enumeration_type): Initialize last_type - to 0. - (get_type_num_struct): Likewise. - -2024-08-16 Georg-Johann Lay <avr@gjlay.de> - - Backported from master: - 2024-08-16 Georg-Johann Lay <avr@gjlay.de> - - PR target/85624 - * config/avr/avr.md (*clrmemqi*): Use HImode for alignment operand. - -2024-08-16 Lingling Kong <lingling.kong@intel.com> - - * config/i386/sse.md (vpmadd52<vpmadd52type><mode>): - Prohibit egpr for vex version. - (vpdpbusd_<mode>): Ditto. - (vpdpbusds_<mode>): Ditto. - (vpdpwssd_<mode>): Ditto. - (vpdpwssds_<mode>): Ditto. - (*vcvtneps2bf16_v4sf): Ditto. - (*vcvtneps2bf16_v8sf): Ditto. - (vpdp<vpdotprodtype>_<mode>): Ditto. - (vbcstnebf162ps_<mode>): Ditto. - (vbcstnesh2ps_<mode>): Ditto. - (vcvtnee<bf16_ph>2ps_<mode>): Ditto. - (vcvtneo<bf16_ph>2ps_<mode>): Ditto. - (vpdp<vpdpwprodtype>_<mode>): Ditto. - -2024-08-16 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113042 - * config/aarch64/aarch64.md (popcount<mode>2): Update pattern - to support ALLI modes. - -2024-08-16 Andrew Pinski <pinskia@gmail.com> - - * tree-ssa-phiopt.cc (factor_out_conditional_operation): Update - comment. - -2024-08-15 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv.md: define_insn for fclass insn. - define_expand for isfinite, isnormal, isinf. - -2024-08-15 Roger Sayle <roger@nextmovesoftware.com> - Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (*extendv2di2_highpart_stv_noavx512vl): Split - to an improved implementation on !TARGET_XOP. On TARGET_XOP, use - a new pseudo for the intermediate to simplify register allocation. - -2024-08-15 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/116236 - * rtlanal.cc (decompose_normal_address): Try to distinguish - bases and indices based on mode, before resorting to "baseness". - -2024-08-15 Richard Sandiford <richard.sandiford@arm.com> - - PR testsuite/116343 - * recog.h (insn_propagation::apply_to_note): Declare. - * recog.cc (insn_propagation::apply_to_note): New function. - * late-combine.cc (insn_combination::substitute_note): Use - apply_to_note instead of apply_to_rvalue. - * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Improve - dumping of costs for noop moves. - -2024-08-15 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (extendsidi2): Add ("=r", "f") - alternative and use movfr2gr.s for it. The spec clearly states - movfr2gr.s sign extends the value to GRLEN. - (fclass_<fmt>): Make the result SImode instead of a floating - mode. The fclass results are really not FP values. - (FCLASS_MASK): New define_int_iterator. - (fclass_optab): New define_int_attr. - (<FCLASS_MASK:fclass_optab><ANYF:mode>): New define_expand - template. - -2024-08-15 liuhongt <hongtao.liu@intel.com> - - PR target/116274 - * config/i386/i386-expand.cc (ix86_expand_vector_move): - Restrict special case TImode to 128-bit vector conversions via - V2DI under ix86_pre_reload_split (). - * config/i386/i386.cc (inline_secondary_memory_needed): - Movement between GENERAL_REGS and SSE_REGS for TImode doesn't - need secondary reload. - * config/i386/i386.md (*extendsidi2_rex64): Add a - define_peephole2 after it. - -2024-08-15 Richard Sandiford <richard.sandiford@arm.com> - - PR target/116371 - * config/aarch64/aarch64-sve-builtins-sve2.h (svpext): Rename to... - (svpext_lane): ...this. - * config/aarch64/aarch64-sve-builtins-sve2.cc (svpext_impl): Rename - to... - (svpext_lane_impl): ...this and update instantiation accordingly. - * config/aarch64/aarch64-sve-builtins-sve2.def (svpext): Rename to... - (svpext_lane): ...this. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/rs6000.md (floatti<mode>2, floatunsti<mode>2, - fix_trunc<mode>ti2): Add guard TARGET_FLOAT128_HW. - * config/rs6000/vsx.md (xsxexpqp_<IEEE128:mode>_<V2DI_DI:mode>, - xsxsigqp_<IEEE128:mode>_<VEC_TI:mode>, xsiexpqpf_<mode>, - xsiexpqp_<IEEE128:mode>_<V2DI_DI:mode>, xscmpexpqp_<code>_<mode>, - *xscmpexpqp, xststdcnegqp_<mode>): Replace guard TARGET_P9_VECTOR - with TARGET_FLOAT128_HW. - (xststdc_<mode>, *xststdc_<mode>, isinf<mode>2): Add guard - TARGET_FLOAT128_HW for the IEEE128 modes. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/97786 - * config/rs6000/vsx.md (isnormal<mode>2): New expand. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/97786 - * config/rs6000/vsx.md (isfinite<mode>2): New expand. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/97786 - * config/rs6000/rs6000.md (constant VSX_TEST_DATA_CLASS_NAN, - VSX_TEST_DATA_CLASS_POS_INF, VSX_TEST_DATA_CLASS_NEG_INF, - VSX_TEST_DATA_CLASS_POS_ZERO, VSX_TEST_DATA_CLASS_NEG_ZERO, - VSX_TEST_DATA_CLASS_POS_DENORMAL, VSX_TEST_DATA_CLASS_NEG_DENORMAL): - Define. - (mode_attr sdq, vsx_altivec, wa_v, x): Define. - (mode_iterator IEEE_FP): Define. - * config/rs6000/vsx.md (isinf<mode>2): New expand. - (expand xststdcqp_<mode>, xststdc<sd>p): Combine into... - (expand xststdc_<mode>): ...this. - (insn *xststdcqp_<mode>, *xststdc<sd>p): Combine into... - (insn *xststdc_<mode>): ...this. - * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Rename - CODE_FOR_xststdcqp_kf as CODE_FOR_xststdc_kf, - CODE_FOR_xststdcqp_tf as CODE_FOR_xststdc_tf. - * config/rs6000/rs6000-builtins.def: Rename xststdcdp as xststdc_df, - xststdcsp as xststdc_sf, xststdcqp_kf as xststdc_kf. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - * gimple-range-op.cc (class cfn_isfinite): New. - (op_cfn_finite): New variables. - (gimple_range_op_handler::maybe_builtin_call): Handle - CFN_BUILT_IN_ISFINITE. - * value-range.h (class frange): Declear known_isnormal and - known_isdenormal_or_zero. - (frange::known_isnormal): Define. - (frange::known_isdenormal_or_zero): Define. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - * gimple-range-op.cc (class cfn_isfinite): New. - (op_cfn_finite): New variables. - (gimple_range_op_handler::maybe_builtin_call): Handle - CFN_BUILT_IN_ISFINITE. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/114678 - * gimple-range-op.cc (class cfn_isinf): New. - (op_cfn_isinf): New variables. - (gimple_range_op_handler::maybe_builtin_call): Handle - CASE_FLT_FN (BUILT_IN_ISINF). - -2024-08-14 Marek Polacek <polacek@redhat.com> - - PR c++/116015 - * gimplify.cc (gimplify_arg): Do not strip a TARGET_EXPR whose - initializer is a CONSTRUCTOR. - -2024-08-14 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/vecintrin.h (vec_vstbrh): Remove. - (vec_vstbrf): Remove. - (vec_vstbrg): Remove. - (vec_vstbrq): Remove. - (vec_vstbrf_flt): Remove. - (vec_vstbrg_dbl): Remove. - (vec_vsterb): Remove. - (vec_vsterh): Remove. - (vec_vsterf): Remove. - (vec_vsterg): Remove. - (vec_vsterf_flt): Remove. - (vec_vsterg_dbl): Remove. - -2024-08-14 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/s390-builtin-types.def (BT_FN_UV16QI_UV2DI_UV2DI): - New. - (BT_FN_UV16QI_UV2DI_UV2DI_UV16QI): New. - * config/s390/s390-builtins.def (s390_vgfmg_128): New. - (s390_vgfmag_128): New. - * config/s390/vecintrin.h (vec_gfmsum_128): Use s390_vgfmg_128. - (vec_gfmsum_accum_128): Use s390_vgfmag_128. - -2024-08-14 Lingling Kong <lingling.kong@intel.com> - - PR target/113729 - * config/i386/i386.md (*ashlqi3_1_zext<mode><nf_name>): - New define_insn. - (*ashlhi3_1_zext<mode><nf_name>): Ditto. - (*<insn>qi3_1_zext<mode><nf_name>): Ditto. - (*<insn>hi3_1_zext<mode><nf_name>): Ditto. - -2024-08-14 Lingling Kong <lingling.kong@intel.com> - - PR target/113729 - * config/i386/i386.md (*andqi_1_zext<mode><nf_name>): New - define_insn. - (*andhi_1_zext<mode><nf_name>): Ditto. - (*<code>qi_1_zext<mode><nf_name>): Ditto. - (*<code>hi_1_zext<mode><nf_name>): Ditto. - (*negqi_1_zext<mode><nf_name>): Ditto. - (*neghi_1_zext<mode><nf_name>): Ditto. - (*one_cmplqi2_1_zext<mode>): Ditto. - (*one_cmplhi2_1_zext<mode>): Ditto. - -2024-08-14 Lingling Kong <lingling.kong@intel.com> - - PR target/113729 - * config/i386/i386.md (*subqi_1_zext<mode><nf_name>): New - define_insn. - (*subhi_1_zext<mode><nf_name>): Ditto. - (*addqi3_carry_zext<mode>): Ditto. - (*addhi3_carry_zext<mode>): Ditto. - (*addqi3_carry_zext<mode>_0): Ditto. - (*addhi3_carry_zext<mode>_0): Ditto. - (*addqi3_carry_zext<mode>_0r): Ditto. - (*addhi3_carry_zext<mode>_0r): Ditto. - (*subqi3_carry_zext<mode>): Ditto. - (*subhi3_carry_zext<mode>): Ditto. - (*subqi3_carry_zext<mode>_0): Ditto. - (*subhi3_carry_zext<mode>_0): Ditto. - (*subqi3_carry_zext<mode>_0r): Ditto. - (*subhi3_carry_zext<mode>_0r): Ditto. - -2024-08-14 Lingling Kong <lingling.kong@intel.com> - - PR target/113729 - * config/i386/i386.md (*addqi_1_zext<mode><nf_name>): New - define. - (*addhi_1_zext<mode><nf_name>): Ditto. - -2024-08-14 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * genoutput.cc (struct operand_data): Add member 'eq_next' to - point to the next member with the same hash value in the - hash table. - (compare_operands): Move the comparison of the mode to the very - beginning to accelerate the comparison of the two operands. - (struct operand_data_hasher): New, a class that takes into account - the necessary elements for comparing the equality of two operands - in its hash value. - (operand_data_hasher::hash): New. - (operand_data_hasher::equal): New. - (operand_datas): New, hash table of konwn pattern operands. - (place_operands): Use a hash table instead of traversing the array - to find the same operand. - (main): Add initialization of the hash table 'operand_datas'. - -2024-08-14 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-08-12 Jeff Law <jlaw@ventanamicro.com> - - * rtlanal.cc (subreg_regno): Update comment. - * final.cc (alter_subrg): Always use REGNO (SUBREG_REG ()) to get - the base regsiter for paradoxical subregs. - -2024-08-14 liuhongt <hongtao.liu@intel.com> - - PR target/116174 - * config/i386/i386.cc (ix86_align_loops): Move this to .. - * config/i386/i386-features.cc (ix86_align_loops): .. here. - (class pass_align_tight_loops): New class. - (make_pass_align_tight_loops): New function. - * config/i386/i386-passes.def: Insert pass_align_tight_loops - after pass_insert_endbr_and_patchable_area. - * config/i386/i386-protos.h (make_pass_align_tight_loops): New - declare. - -2024-08-13 Manolis Tsamis <manolis.tsamis@vrull.eu> - - PR tree-optimization/116353 - * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Check - noce_can_force_operand. - -2024-08-13 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-v.cc (legitimize_move): extrac -> extract. - (expand_vec_cmp_float): Remove duplicate vmnor.mm. - * config/riscv/riscv-vector-builtins.cc: ins -> insns. - * config/riscv/riscv.cc (riscv_init_machine_status): mwrvv -> mrvv. - * config/riscv/vector-iterators.md: RVVM8QImde -> RVVM8QImode - * config/riscv/vector.md: Replaced non-existant vsetivl with vsetivli. - -2024-08-13 Pan Li <pan2.li@intel.com> - - PR target/116103 - * internal-fn.cc (type_strictly_matches_mode_p): Add handling - for vector bool type. - -2024-08-13 Kewen Lin <linkw@linux.ibm.com> - - PR rtl-optimization/116170 - * lra-constraints.cc (curr_insn_transform): Don't emit move back to - old operand if it's CONSTANT_P. - -2024-08-13 Mark Wielaard <mark@klomp.org> - - * config/avr/avr.opt.urls: Regenerate. - -2024-08-12 Peter Bergner <bergner@linux.ibm.com> - - PR target/114759 - * config/rs6000/rs6000.cc (rs6000_override_options_after_change): Move - the disabling of shrink-wrapping from here.... - * config/rs6000/rs6000-logue.cc (rs6000_emit_prologue): ...to here. - -2024-08-12 Jeff Law <jlaw@ventanamicro.com> - - * rtlanal.cc (subreg_regno): Update comment. - * final.cc (alter_subrg): Always use REGNO (SUBREG_REG ()) to get - the base regsiter for paradoxical subregs. - -2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> - - * ifcvt.cc (need_cmov_or_rewire): Renamed init_noce_multiple_sets_info. - (init_noce_multiple_sets_info): Initialize noce_multiple_sets_info. - (noce_convert_multiple_sets_1): Use noce_multiple_sets_info and handle - rewiring of multiple registers. - (noce_convert_multiple_sets): Updated to use noce_multiple_sets_info. - * ifcvt.h (struct noce_multiple_sets_info): Introduce new struct - noce_multiple_sets_info to store info for noce_convert_multiple_sets. - -2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> - - * ifcvt.cc (try_emit_cmove_seq): Modify comments. - (noce_convert_multiple_sets_1): Modify comments. - (bb_ok_for_noce_convert_multiple_sets): Allow more operations. - -2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> - - * ifcvt.cc (check_for_cc_cmp_clobbers): Use modified_in_p instead. - (noce_convert_multiple_sets_1): Don't use seq2 if it clobbers cc_cmp. - Punt if seq clobbers cond. Refactor the code that sets read_comparison. - -2024-08-12 Georg-Johann Lay <avr@gjlay.de> - - PR target/85624 - * config/avr/avr.md (setmemhi): Set alignment to 0. - -2024-08-12 Joern Rennecke <joern.rennecke@riscy-ip.com> - - * except.cc (sjlj_emit_function_enter): - Set fn_begin_outside_block again if encountering a jump instruction. - -2024-08-12 Richard Sandiford <richard.sandiford@arm.com> - - PR other/30920 - * splay-tree-utils.h (rooted_splay_tree::insert_relative) - (rooted_splay_tree::lookup_le): New functions. - (rooted_splay_tree::remove_root_and_splay_next): Likewise. - * splay-tree-utils.tcc (rooted_splay_tree::insert_relative): New - function, extracted from... - (rooted_splay_tree::insert): ...here. - (rooted_splay_tree::lookup_le): New function. - (rooted_splay_tree::remove_root_and_splay_next): Likewise. - * tree-ssa-sccvn.cc (pd_range::m_children): New member variable. - (vn_walk_cb_data::vn_walk_cb_data): Initialize first_range. - (vn_walk_cb_data::known_ranges): Use a default_splay_tree. - (vn_walk_cb_data::~vn_walk_cb_data): Remove freeing of known_ranges. - (pd_range_compare, pd_range_alloc, pd_range_dealloc): Delete. - (vn_walk_cb_data::push_partial_def): Rewrite splay tree operations - to use splay-tree-utils.h. - * rtl-ssa/accesses.cc (function_info::add_use): Use insert_relative. - -2024-08-12 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/aarch64-simd.md - (aarch64_simd_imm_shl<mode><vczle><vczbe>): Rewrite to new - syntax. Add =w,w,vs1 alternative. - * config/aarch64/constraints.md (vs1): New constraint. - -2024-08-12 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): Handle - avx10.2. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA2_AVX10_2_256_SET): New. - (OPTION_MASK_ISA2_AVX10_2_512_SET): Ditto. - (OPTION_MASK_ISA2_AVX10_1_256_UNSET): - Add OPTION_MASK_ISA2_AVX10_2_256_UNSET. - (OPTION_MASK_ISA2_AVX10_1_512_UNSET): - Add OPTION_MASK_ISA2_AVX10_2_512_UNSET. - (OPTION_MASK_ISA2_AVX10_2_256_UNSET): New. - (OPTION_MASK_ISA2_AVX10_2_512_UNSET): Ditto. - (ix86_handle_option): Handle avx10.2-256 and avx10.2-512. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AVX10_2_256 and FEATURE_AVX10_2_512. - * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY for - avx10.2-256 and avx10.2-512. - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __AVX10_2_256__ and __AVX10_2_512__. - * config/i386/i386-isa.def (AVX10_2): Add DEF_PTA(AVX10_2_256) - and DEF_PTA(AVX10_2_512). - * config/i386/i386-options.cc (isa2_opts): Add -mavx10.2-256 and - -mavx10.2-512. - (ix86_valid_target_attribute_inner_p): Handle avx10.2-256 and - avx10.2-512. - * config/i386/i386.opt: Add option -mavx10.2, -mavx10.2-256 and - -mavx10.2-512. - * config/i386/i386.opt.urls: Regenerated. - * doc/extend.texi: Document avx10.2, avx10.2-256 and avx10.2-512. - * doc/invoke.texi: Document -mavx10.2, -mavx10.2-256 and - -mavx10.2-512. - * doc/sourcebuild.texi: Document target avx10.2, avx10.2-256, - avx10.2-512. - -2024-08-12 Roger Sayle <roger@nextmovesoftware.com> - - PR target/116275 - * config/i386/i386.md (*extendv2di2_highpart_stv_noavx512vl): New - define_insn_and_split to handle the STV conversion of the DImode - pattern *extendsi2_doubleword_highpart. - -2024-08-12 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.md (insn): Added rotatert rotr pairs. - * config/loongarch/simd.md (rotr<mode>3): Remove to ... - (<optab><mode>3): This. - -2024-08-12 Lulu Cheng <chenglulu@loongson.cn> - - PR target/114189 - * config/loongarch/lasx.md (vcondu<LASX:mode><ILASX:mode>): Delete. - (vcond<LASX:mode><LASX_2:mode>): Likewise. - * config/loongarch/lsx.md (vcondu<LSX:mode><ILSX:mode>): Likewise. - (vcond<LSX:mode><LSX_2:mode>): Likewise. - -2024-08-12 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/lasx.md (xvandn<mode>3): Rename to ... - (andn<mode>3): This. - (xvorn<mode>3): Rename to ... - (iorn<mode>3): This. - * config/loongarch/loongarch-builtins.cc - (CODE_FOR_lsx_vandn_v): Defined as the modified name. - (CODE_FOR_lsx_vorn_v): Likewise. - (CODE_FOR_lasx_xvandn_v): Likewise. - (CODE_FOR_lasx_xvorn_v): Likewise. - (loongarch_expand_builtin_insn): When the builtin function to be - called is __builtin_lasx_xvandn or __builtin_lsx_vandn, swap the - two operands. - * config/loongarch/loongarch.md (<optab>n<mode>): Rename to ... - (<optab>n<mode>3): This. - * config/loongarch/lsx.md (vandn<mode>3): Rename to ... - (andn<mode>3): This. - (vorn<mode>3): Rename to ... - (iorn<mode>3): This. - -2024-08-11 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.opt (mlra): Set Undocumented flag. - -2024-08-11 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (ra_in_progress): New static function. - (avr_legitimate_address_p, avr_addr_space_legitimate_address_p) - (extra_constraint_Q): Use it with -mlog=. - -2024-08-10 Andi Kleen <ak@gcc.gnu.org> - - * doc/cfg.texi: Fix references to dom_walker. - -2024-08-10 Georg-Johann Lay <avr@gjlay.de> - - PR target/113934 - * config/avr/avr.opt (-mlra): New target option. - * config/avr/avr.cc (avr_use_lra_p): New function. - (TARGET_LRA_P): Use it. - (avr_hard_regno_mode_ok) [lra]: Don't disallow 4-byte modes for X. - -2024-08-09 Jeff Law <jlaw@ventanamicro.com> - - PR target/116283 - * config/riscv/bitmanip.md (Zbs combiner patterns/splitters): Mask the - bit position in the split code appropriately. - -2024-08-09 Kyrylo Tkachov <ktkachov@nvidia.com> - - Revert: - 2024-08-08 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/116028 - * lra-constraints.cc (split_reg): Spill register before call - insn. - (latest_call_insn): New variable. - (inherit_in_ebb): Track the latest call insn. - -2024-08-09 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/114855 - * gimple-range-gori.cc (gori_compute::gori_compute): Adjust - ranger_recompute_depth limit based on the number of BBs. - (gori_compute::may_recompute_p): Use previosuly calculated value. - * gimple-range-gori.h (gori_compute::m_recompute_depth): New. - -2024-08-09 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/114855 - * gimple-range-cache.cc (ranger_cache::fill_block_cache): Do not - process equivalencies if the number of blocks is too high. - -2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_compute_frame_info): Update - outgoing args size. - (riscv_stack_clash_protection_alloca_probe_range): New. - (TARGET_STACK_CLASH_PROTECTION_ALLOCA_PROBE_RANGE): New. - * config/riscv/riscv.h - (STACK_CLASH_MIN_BYTES_OUTGOING_ARGS): New. - (STACK_DYNAMIC_OFFSET): New. - -2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc - (riscv_allocate_and_probe_stack_loop): New function. - (riscv_v_adjust_scalable_frame): Add stack-clash protection - support. - (riscv_allocate_and_probe_stack_space): Move the probe loop - implementation to riscv_allocate_and_probe_stack_loop. - * config/riscv/riscv.h: Define RISCV_STACK_CLASH_VECTOR_CFA_REGNUM. - -2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc - (riscv_option_override): Enforce that interval is the same size as - guard size. - (riscv_allocate_and_probe_stack_space): New function. - (riscv_expand_prologue): Call riscv_allocate_and_probe_stack_space - to the final allocation of the stack and add stack-clash dump - information. - * config/riscv/riscv.h: Define STACK_CLASH_CALLER_GUARD and - STACK_CLASH_MAX_UNROLL_PAGES. - -2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): Move - closer to riscv_expand_prologue. - -2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_emit_stack_tie): Pass the - register to be tied to the stack pointer as argument. - * config/riscv/riscv.md (stack_tie<mode>): Don't match equal - operands. - -2024-08-09 Jakub Jelinek <jakub@redhat.com> - - PR target/116287 - * config/i386/i386.cc (ix86_fold_builtin) <case IX86_BUILTIN_BEXTR32>: - When folding into zero without checking whether first argument is - constant, use omit_one_operand. - (ix86_fold_builtin) <case IX86_BUILTIN_BZHI32>: Likewise. - -2024-08-09 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn.cc (gcn_asm_trampoline_template): Add .align. - * config/gcn/gcn.h (TRAMPOLINE_SIZE): Increase to 40. - -2024-08-09 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md (*load_<mode>_libgcc, *xload_<mode>_libgcc): - Tidy up code. - -2024-08-09 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/constraints.md (Dm): Match CONSTM1_RTX rather - CONST1_RTX. - -2024-08-08 Tamar Christina <tamar.christina@arm.com> - - PR target/116229 - * config/aarch64/aarch64-simd.md (aarch64_fnegv2di2<vczle><vczbe>): New. - * config/aarch64/aarch64.cc (aarch64_maybe_generate_simd_constant): - Update call to gen_aarch64_fnegv2di2. - * config/aarch64/iterators.md: New UNSPEC_FNEG. - -2024-08-08 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (Mem_Insn::Mem_Insn): Don't consider MEMs - that are avr_mem_memx_p or avr_load_libgcc_p. - -2024-08-08 Georg-Johann Lay <avr@gjlay.de> - - * doc/extend.texi (AVR Built-in Functions) <mask1>: Fix a typo. - -2024-08-08 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_insn_has_reg_unused_note_p): New function. - (_reg_unused_after): Use it to recognize more cases. - (avr_out_lpm_no_lpmx) [POST_INC]: Use reg_unused_after. - -2024-08-08 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn.cc (gcn_conditional_register_usage): Fix registers - remaining after maximum allocation using TARGET_VGPR_GRANULARITY. - -2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/constraints.md (th_m_noi): New constraint. - * config/riscv/riscv.md: Adjust movdf_hardfloat_rv32 for - XTheadMemIdx. - -2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/116131 - * config/riscv/thead.cc (th_memidx_classify_address_index): - Recognize all possible XTheadMemIdx memory operand structures. - (th_fmemidx_output_index): Do strict classification. - * config/riscv/thead.md (*th_memidx_operand): Remove. - (TARGET_XTHEADMEMIDX): Likewise. - (TARGET_HARD_FLOAT && TARGET_XTHEADFMEMIDX): Likewise. - (!TARGET_64BIT && TARGET_XTHEADMEMIDX): Likewise. - (*th_memidx_I_a): Likewise. - (*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. - (*th_fmemidx_movsf_hardfloat): Likewise. - (*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. - -2024-08-08 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-vect-patterns.cc (NUM_PATTERNS): Delete. - (vect_pattern_recog_1): Constify and change - recog_func to a reference. - (vect_pattern_recog): Use range-based loop over - vect_vect_recog_func_ptrs. - -2024-08-08 Jin Ma <jinma@linux.alibaba.com> - - * config/riscv/riscv.h (RISCV_DWARF_VLENB): Delete. - -2024-08-08 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn.cc (gcn_trampoline_init): Re-enable trampolines. - -2024-08-08 Jeff Law <jlaw@ventanamicro.com> - - PR target/116240 - * config/riscv/riscv.cc (riscv_rtx_costs): Ensure object is a - comparison before looking at its arguments. - -2024-08-08 Manolis Tsamis <manolis.tsamis@vrull.eu> - - PR tree-optimization/98138 - * tree-vect-slp.cc: Avoid duplicates in two_operators nodes. - -2024-08-08 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.cc (ix86_mode_can_transfer_bits): Use E_?Fmode - enumeration constants in switch statement. - -2024-08-08 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/116028 - * lra-constraints.cc (split_reg): Spill register before call - insn. - (latest_call_insn): New variable. - (inherit_in_ebb): Track the latest call insn. - -2024-08-08 Jiawei <jiawei@iscas.ac.cn> - - * common/config/riscv/riscv-common.cc: New extension. - * config/riscv/riscv.opt: New mask. - -2024-08-07 Iain Sandoe <iain@sandoe.co.uk> - - PR target/116237 - * config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Add a spec for - weak_framework. - * config/darwin.opt: Handle weak_framework driver option. - -2024-08-07 Prathamesh Kulkarni <prathameshk@nvidia.com> - - PR ipa/96265 - PR ipa/111937 - * data-streamer-in.cc (streamer_read_poly_uint64): Remove code for - streaming, and call poly_int_read_common instead. - (streamer_read_poly_int64): Likewise. - * data-streamer.cc (host_num_poly_int_coeffs): Conditionally define - new variable if ACCEL_COMPILER is defined. - * data-streamer.h (host_num_poly_int_coeffs): Declare. - (poly_int_read_common): New function template. - (bp_unpack_poly_value): Remove code for streaming and call - poly_int_read_common instead. - * lto-streamer-in.cc (lto_input_mode_table): Stream-in host - NUM_POLY_INT_COEFFS into host_num_poly_int_coeffs if ACCEL_COMPILER - is defined. - * lto-streamer-out.cc (lto_write_mode_table): Stream out - NUM_POLY_INT_COEFFS if offloading is enabled. - * poly-int.h (MAX_NUM_POLY_INT_COEFFS_BITS): New macro. - * tree-streamer-in.cc (lto_input_ts_poly_tree_pointers): Adjust - streaming-in of poly_int. - -2024-08-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/116219 - * gimple-expr.cc (remove_suffix): Formatting fixes. - (create_tmp_var_name): Don't call clean_symbol_name. - * gimplify.cc (gimplify_init_constructor): When promoting automatic - DECL_NAMELESS vars to static, don't preserve their DECL_NAME. - -2024-08-07 Julian Brown <julian@codesourcery.com> - Tobias Burnus <tobias@baylibre.com> - - * builtins.def (DEF_GOMP_BUILTIN_COMPILER): Define - DEF_GOMP_BUILTIN_COMPILER to handle the non-prefix version. - * gimple-fold.cc (gimple_fold_builtin_omp_is_initial_device): New. - (gimple_fold_builtin): Call it. - * omp-builtins.def (BUILT_IN_OMP_IS_INITIAL_DEVICE): Define. - * tree.cc (get_file_function_name): Support names for on-target - constructor/destructor functions. - -2024-08-07 Carl Love <cel@linux.ibm.com> - - * config/rs6000/altivec.md (vs<SLDB_lr>db_<mode>): Change - define_insn iterator to VEC_IC. - * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsldoi_v1ti, - __builtin_vsx_xxsldwi_v1ti, __builtin_altivec_vsldb_v1ti, - __builtin_altivec_vsrdb_v1ti): New builtin definitions. - * config/rs6000/rs6000-overload.def (vec_sld, vec_sldb, vec_sldw, - vec_sll, vec_slo, vec_srdb, vec_srl, vec_sro): New overloaded - definitions. - * doc/extend.texi (vec_sld, vec_sldb, vec_sldw, vec_sll, vec_slo, - vec_srdb, vec_srl, vec_sro): Add documentation for new overloaded - built-ins. - -2024-08-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116258 - * tree-vect-generic.cc (expand_vector_operations_1): Do not - lower PAREN_EXPR. - -2024-08-07 Xi Ruoyao <xry111@xry111.site> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/116142 - * tree-vect-stmts.cc (supportable_widening_operation): Remove an - redundant and incorrect vect_reduction_def check, and fix the - operand of another vect_reduction_def check. - -2024-08-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116166 - * tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks): - Add limit parameter. - (jump_threader::thread_through_normal_block): Likewise. - * tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks): - Honor and decrement limit parameter. - (jump_threader::thread_through_normal_block): Likewise. - (jump_threader::thread_across_edge): Initialize limit from - param_max_jump_thread_paths and pass it down to workers. - -2024-08-07 Pan Li <pan2.li@intel.com> - - PR target/116202 - * tree-vect-patterns.cc (vect_recog_sat_trunc_pattern): Add the - type_has_mode_precision_p check for the lhs type. - -2024-08-07 Patrick Palka <ppalka@redhat.com> - - PR c++/116064 - * diagnostic.cc (diagnostic_context::initialize): Set - m_adjust_diagnostic_info. - (diagnostic_context::report_diagnostic): Call - m_adjust_diagnostic_info. - * diagnostic.h (diagnostic_context::m_adjust_diagnostic_info): - New data member. - * doc/invoke.texi (-Wno-template-body): Document. - (-fpermissive): Mention -Wtemplate-body. - -2024-08-06 David Malcolm <dmalcolm@redhat.com> - - PR other/116177 - * diagnostic-format-sarif.cc (sarif_invocation::prepare_to_flush): - If the diagnostics would lead to us exiting with a failure code, - then emit "executionSuccessful": False (SARIF v2.1.0 section - §3.20.14). - * diagnostic.cc (diagnostic_context::execution_failed_p): New. - * diagnostic.h (diagnostic_context::execution_failed_p): New decl. - * toplev.cc (toplev::main): Use it for determining returned value. - -2024-08-06 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-protos.h (struct sve_vec_cost): Add - gather_load_x32_init_cost and gather_load_x64_init_cost. - * config/aarch64/aarch64.cc (aarch64_vector_costs): Add - m_sve_gather_scatter_init_cost. - (aarch64_vector_costs::add_stmt_cost): Use them. - (aarch64_vector_costs::finish_cost): Likewise. - * config/aarch64/tuning_models/a64fx.h: Update. - * config/aarch64/tuning_models/cortexx925.h: Update. - * config/aarch64/tuning_models/generic.h: Update. - * config/aarch64/tuning_models/generic_armv8_a.h: Update. - * config/aarch64/tuning_models/generic_armv9_a.h: Update. - * config/aarch64/tuning_models/neoverse512tvb.h: Update. - * config/aarch64/tuning_models/neoversen2.h: Update. - * config/aarch64/tuning_models/neoversen3.h: Update. - * config/aarch64/tuning_models/neoversev1.h: Update. - * config/aarch64/tuning_models/neoversev2.h: Update. - * config/aarch64/tuning_models/neoversev3.h: Update. - * config/aarch64/tuning_models/neoversev3ae.h: Update. - -2024-08-06 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (Limitations): Rephrase. Remove invalid link. - -2024-08-06 John David Anglin <danglin@gcc.gnu.org> - - PR target/113384 - * config/pa/pa.cc (hppa_legitimize_address): Add check to - ensure constant is an integral multiple of shift the value. - -2024-08-06 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/riscv-target-attr.cc (num_occurences_in_str): Rename... - (num_occurrences_in_str): here. - (riscv_process_target_attr): Update num_occurences_in_str callsite. - * config/riscv/riscv-v.cc (emit_vec_widden_cvt_x_f): widden -> widen. - (emit_vec_widen_cvt_x_f): Ditto. - (emit_vec_widden_cvt_f_f): Ditto. - (emit_vec_widen_cvt_f_f): Ditto. - (emit_vec_rounding_to_integer): Update *widden* callsites. - * config/riscv/riscv-vector-builtins.cc (expand_builtin): Update - required_ext_to_isa_name callsite and fix xtheadvector typo. - * config/riscv/riscv-vector-builtins.h (reqired_ext_to_isa_name): Rename... - (required_ext_to_isa_name): here. - * config/riscv/riscv_th_vector.h: Fix endif label. - * config/riscv/vector-crypto.md: boardcast_scalar -> broadcast_scalar. - * config/riscv/vector.md: Ditto. - -2024-08-06 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/arch-canonicalize: Fix typos in comments. - * config/riscv/autovec.md: Ditto. - * config/riscv/riscv-avlprop.cc (avl_can_be_propagated_p): Ditto. - (pass_avlprop::get_vlmax_ta_preferred_avl): Ditto. - * config/riscv/riscv-modes.def (ADJUST_FLOAT_FORMAT): Ditto. - (VLS_MODES): Ditto. - * config/riscv/riscv-opts.h (TARGET_ZICOND_LIKE): Ditto. - (enum rvv_vector_bits_enum): Ditto. - * config/riscv/riscv-protos.h (enum insn_flags): Ditto. - (enum insn_type): Ditto. - * config/riscv/riscv-sr.cc (riscv_sr_match_epilogue): Ditto. - * config/riscv/riscv-string.cc (expand_block_move): Ditto. - * config/riscv/riscv-v.cc (rvv_builder::is_repeating_sequence): Ditto. - (rvv_builder::single_step_npatterns_p): Ditto. - (calculate_ratio): Ditto. - (expand_const_vector): Ditto. - (shuffle_merge_patterns): Ditto. - (shuffle_compress_patterns): Ditto. - (expand_select_vl): Ditto. - * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): Ditto. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins.cc (function_builder::add_function): Ditto. - (resolve_overloaded_builtin): Ditto. - * config/riscv/riscv-vector-builtins.def (vbool1_t): Ditto. - (vuint8m8_t): Ditto. - (vuint16m8_t): Ditto. - (vfloat16m8_t): Ditto. - (unsigned_vector): Ditto. - * config/riscv/riscv-vector-builtins.h (enum required_ext): Ditto. - * config/riscv/riscv-vector-costs.cc (get_store_value): Ditto. - (costs::analyze_loop_vinfo): Ditto. - (costs::add_stmt_cost): Ditto. - * config/riscv/riscv.cc (riscv_build_integer): Ditto. - (riscv_vector_type_p): Ditto. - * config/riscv/thead.cc (th_mempair_output_move): Ditto. - * config/riscv/thead.md: Ditto. - * config/riscv/vector-iterators.md: Ditto. - * config/riscv/vector.md: Ditto. - * config/riscv/zc.md: Ditto. - -2024-08-06 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-expand.cc (ix86_expand_v2di_ashiftrt): New - function refactored from define_expand ashrv2di3. - * config/i386/i386-features.cc (general_scalar_to_vector_candidate_p) - <case ASHIFTRT>: Handle like other shifts and rotates. - * config/i386/i386-protos.h (ix86_expand_v2di_ashiftrt): Prototype. - * config/i386/sse.md (ashrv2di3): Call ix86_expand_v2di_ashiftrt. - (*ashrv2di3): New define_insn_and_split to enable creation by stv2 - pass, and splitting during split1 reusing ix86_expand_v2di_ashiftrt. - -2024-08-06 Patrick O'Neill <patrick@rivosinc.com> - Jakub Jelinek <jakub@redhat.com> - - PR target/116152 - * config/riscv/riscv.cc (riscv_option_override): Fix url - formatting. - -2024-08-06 Filip Kastl <fkastl@suse.cz> - - * gimple-ssa-sccopy.cc (class scc_copy_prop): New class. - (replace_scc_by_value): Put into... - (scc_copy_prop::replace_scc_by_value): ...scc_copy_prop. - (sccopy_visit_op): Put into... - (scc_copy_prop::visit_op): ...scc_copy_prop. - (sccopy_propagate): Put into... - (scc_copy_prop::propagate): ...scc_copy_prop. - (init_sccopy): Replace by... - (scc_copy_prop::scc_copy_prop): ...the construtor. - (finalize_sccopy): Replace by... - (scc_copy_prop::~scc_copy_prop): ...the destructor. - (pass_sccopy::execute): Use scc_copy_prop. - -2024-08-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116241 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Handle - non-COND_EXPR nodes in SLP reduction chain following. - -2024-08-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/116224 - * wide-int.cc (wi::mul_internal): If prec isn't multiple of - HOST_BITS_PER_WIDE_INT, for need_overflow checking only look at - the least significant prec bits starting with r[half_blocks_needed]. - -2024-08-06 Richard Biener <rguenther@suse.de> - - PR middle-end/111821 - * expmed.cc (store_integral_bit_field): Terminate the - word-wise copy loop when we get out of the destination - and do a forward copy. Skip the word if it would be - outside of the destination in case of a backward copy. - -2024-08-06 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/predicates.md (any_operand): Add const_vector. - -2024-08-06 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/115228 - * tree-vect-data-refs.cc (vect_get_smallest_scalar_type): Add - missed opcodes that involve widening operation. - -2024-08-06 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/115707 - * tree-vect-patterns.cc (vect_look_through_possible_promotion): Allow - unsigned-to-signed promotion. - -2024-08-06 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/116189 - * config/sh/sh.cc (sh_recog_treg_set_expr): Don't call make_insn_raw, - make the insn with a fake uid. - -2024-08-05 Patrick O'Neill <patrick@rivosinc.com> - - PR target/116152 - * config/riscv/riscv.cc (riscv_option_override): Add deprecation - warning. - -2024-08-05 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (get_type_num_const_type): Handle missing - DW_AT_type attribute. - (get_type_num_volatile_type): Likewise. - -2024-08-05 Jose E. Marchesi <jose.marchesi@oracle.com> - - * config/bpf/atomic.md ("atomic_add<AMO:mode>"): Remove insn. - ("atomic_and<AMO:mode>"): Likewise - ("atomic_or<AMO:mode>"): Likewise. - ("atomic_xor<AMO:mode>"): Likewise. - -2024-08-05 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64.md (*and<mode>_compare0): Change attribute. - -2024-08-05 Filip Kastl <fkastl@suse.cz> - - * gimple-ssa-sccopy.cc: Move a misplaced comment. - -2024-08-05 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR tree-optimization/116139 - * tree-ssa-reassoc.cc (get_reassociation_width): Move width_mult - <= width comparison to if condition rather than assert. - -2024-08-05 Richard Sandiford <richard.sandiford@arm.com> - - Revert: - 2024-08-02 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/116145 - * rtlanal.cc (may_trap_p_1): Trust MEM_NOTRAP_P even for code - movement if MEM_READONLY_P is also true. - -2024-08-05 Alex Coplan <alex.coplan@arm.com> - - * gdbhooks.py: Add attempted call to "on-gcc-hooks-load" once - we've finished loading the hooks. - -2024-08-05 Alex Coplan <alex.coplan@arm.com> - - * gdbhooks.py (GCCDotCmd): New. - (gcc_dot_cmd): New. Use it ... - (DotFn.invoke): ... here. - -2024-08-05 Andrew Pinski <quic_apinski@quicinc.com> - - PR rtl-optimization/116179 - * ira.cc (split_live_ranges_for_shrink_wrap): For the uses loop, - only look at non-debug insns. - -2024-08-04 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116199 - * reload.cc (operands_match_p): Verify subreg is expressable before - trying to simplify and match it to another operand. - -2024-08-02 Marek Polacek <polacek@redhat.com> - - * doc/invoke.texi: Document that -Wdangling-reference is - enabled by -Wextra. - -2024-08-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116058 - * genemit.cc (struct clobber_pat): Change pattern to be rtvec. - Add code field. - (gen_insn): Look through an explicit parallel if there was one. - Update store to new clobber_pat. - (output_add_clobbers): Update call to gen_exp for the changed - clobber_pat. - -2024-08-02 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/sync-rvwmo.md: Add conditional length attributes. - * config/riscv/sync-ztso.md: Ditto. - * config/riscv/sync.md: Fix incorrect insn length attributes and - reformat existing conditional checks. - -2024-08-02 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement - fusion logic. - * config/aarch64/aarch64-fusion-pairs.def (cmp+csel): New entry. - (cmp+cset): Likewise. - * config/aarch64/tuning_models/neoversev2.h: Enable logic in - field fusible_ops. - -2024-08-02 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/116145 - * rtlanal.cc (may_trap_p_1): Trust MEM_NOTRAP_P even for code - movement if MEM_READONLY_P is also true. - -2024-08-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116156 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Don't add - uses if the statement was a debug statement. - -2024-08-02 Lingling Kong <lingling.kong@intel.com> - - * config/i386/constraints.md: Fixed the comment/naming for je/jM/jO. - * config/i386/predicates.md (apx_ndd_memory_operand): Renamed and - fixed the comment. - (apx_evex_memory_operand): New name. - (apx_ndd_add_memory_operand): Ditto. - (apx_evex_add_memory_operand): Ditto. - -2024-08-02 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (nf_mem_constraint): Fixed the constraint - for the define_subst_attr. - (nf_mem_constraint): Added new define_subst_attr. - (*add<mode>_1<nf_name>): Fixed the constraint. - -2024-08-02 Yang Yujie <yangyujie@loongson.cn> - - * config/loongarch/genopts/gen-evolution.awk: Do not use - "length()" to compute the size of an array. - -2024-08-02 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113860 - * config/aarch64/aarch64-simd.md (popcount<mode>2): Add TARGET_SVE - support. - * config/aarch64/aarch64-sve.md (@aarch64_pred_<optab><mode>): Use new - iterator SVE_VDQ_I. - * config/aarch64/iterators.md (SVE_VDQ_I): New mode iterator. - (VPRED): Add V8QI, V16QI, V4HI, V8HI and V2SI. - -2024-08-01 Robin Dapp <rdapp@ventanamicro.com> - - PR target/116149 - * config/riscv/vector.md: Fix mode_idx attribute of scalar - widen add/sub variants. - -2024-08-01 Patrick O'Neill <patrick@rivosinc.com> - - PR target/116111 - * config/riscv/riscv.cc (riscv_option_override): Add error. - -2024-08-01 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-cores.def (cortex-x925): New. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/tuning_models/cortexx925.h: New file. - * config/aarch64/aarch64.cc: Use it. - * doc/invoke.texi: Document it. - -2024-08-01 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/tuning_models/neoversen2.h: Update costs. - -2024-08-01 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/tuning_models/generic_armv9_a.h: Update costs. - -2024-08-01 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-cores.def (neoverse-n3, cortex-a725): New. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/tuning_models/neoversen3.h: New file. - * config/aarch64/aarch64.cc: Use it. - * doc/invoke.texi: Document it. - -2024-08-01 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-cores.def (neoverse-v3ae): New. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/tuning_models/neoversev3ae.h: New file. - * config/aarch64/aarch64.cc: Use it. - * doc/invoke.texi: Document it. - -2024-08-01 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-cores.def (cortex-x4): Update. - (neoverse-v3): New. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/tuning_models/neoversev3.h: New file. - * config/aarch64/aarch64.cc: Use it. - * doc/invoke.texi: Document it. - -2024-08-01 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-cores.def (cortex-x3): Use Neoverse-V2 costs. - * config/aarch64/tuning_models/neoversev2.h: Update costs. - -2024-08-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116120 - * match.pd (`(a ? x : y) eq/ne (b ? x : y)`): Add test for `x != y` - in result. - (`(a ? x : y) eq/ne (b ? y : x)`): Add test for `x == y` in result. - -2024-08-01 liuhongt <hongtao.liu@intel.com> - - PR target/116096 - * config/i386/constraints.md (Wc): New constraint for integer - 1 or -1. - * config/i386/i386.md (ashl<mode>3_doubleword): Refine - constraint with Wc. - -2024-08-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114659 - * tree-ssa-sccvn.cc (visit_reference_op_load): Do not - prevent punning from modes with padding here, but ... - (vn_reference_eq): ... ensure this here, also honoring - types with modes that cannot act as bit container. - -2024-08-01 Richard Biener <rguenther@suse.de> - - * config/i386/i386.cc (TARGET_MODE_CAN_TRANSFER_BITS): Define. - (ix86_mode_can_transfer_bits): New function. - -2024-08-01 Richard Biener <rguenther@suse.de> - - * target.def (mode_can_transfer_bits): New target hook. - * target.h (mode_can_transfer_bits): New function wrapping the - hook and providing default behavior. - * doc/tm.texi.in: Update. - * doc/tm.texi: Re-generate. - -2024-08-01 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md (cbranch<mode>4_insn): Split to a test of the - high part against 0 if possible. - -2024-08-01 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/constraints.md (YMM): New constraint. - * config/avr/avr.md (cmp<mode>3, *cmp<mode>3) - (cbranch<mode>4_insn): Allow YMM where M is allowed. - -2024-08-01 Jakub Jelinek <jakub@redhat.com> - - PR target/115981 - * config/i386/sse.md - (*<extract_type>_vinsert<shuffletype><extract_suf>_0): Swap the - first two VEC_MERGE operands, renumber match_operands and test - for 0xF or 0x3 rather than 0xFFF0 or 0xFC immediate. - -2024-08-01 Tobias Burnus <tburnus@baylibre.com> - Richard Biener <rguenther@suse.de - - PR middle-end/115637 - * gimplify.cc (gimplify_body): Fix macro name in the comment. - * omp-offload.cc (find_link_var_op): Rename to ... - (process_link_var_op): ... this. Replace value expr. - (pass_omp_target_link::execute): Update walk_gimple_stmt call. - -2024-08-01 Lingling Kong <lingling.kong@intel.com> - Hu, Lin1 <lin1.hu@intel.com> - - PR target/113744 - * config/i386/i386.md (*add<mode>_4): Remove ndd support. - (*adddi_4): Ditto. - -2024-08-01 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (get_type_num_struct): Fix NULL pointer dereference. - -2024-08-01 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-path.cc - (thread_event_printer::print_swimlane_for_event_range): Gracefully - handle logical_location::get_name_for_path_output returning null. - -2024-08-01 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc - (sarif_location_manager::worklist_item::unlabelled_secondary_location): - New enum value. - (sarif_location_manager::m_unlabelled_secondary_locations): New - field. - (sarif_location_manager::process_worklist_item): Handle unlabelled - secondary locations. - (sarif_builder::make_location_object): Generalize code to handle - ranges within a rich_location so as well as using annotations for - those with labels, we now add related locations for those without - labels. - -2024-08-01 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc (sarif_builder::sarif_builder): Assert - that m_line_maps is nonnull. - (diagnostic_output_format_init_sarif_stderr): Add "line_maps" - param and pass to format ctor. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - * diagnostic.cc (diagnostic_output_format_init): Pass "line_table" - as line_maps param to the above. - * diagnostic.h (diagnostic_output_format_init_sarif_stderr): Add - "line_maps" param. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - -2024-08-01 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc: Tweak ASCII art in comment - to show edges for both directions in the digraph. - -2024-07-31 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116134 - * match.pd (`(a ? x : y) eq/ne (b ? x : y)`): Check that - a and b types match. - (`(a ? x : y) eq/ne (b ? y : x)`): Likewise. - -2024-07-31 Jeff Law <jlaw@ventanamicro.com> - - * ext-dce.cc (carry_backpropagate): Change more guards of [U]INTVAL to - test CONST_INT_P rather than CONSTANT_P, fixing rtl-checking failures. - -2024-07-31 Dimitar Dimitrov <dimitar@dinux.eu> - - * common/config/pru/pru-common.cc - (TARGET_OPTION_OPTIMIZATION_TABLE): New definition. - * config/pru/pru.cc (TARGET_MIN_ANCHOR_OFFSET): Set minimal - anchor offset. - (TARGET_MAX_ANCHOR_OFFSET): Set maximum anchor offset. - -2024-07-31 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116136 - * simplify-rtx.cc (simplify_context::simplify_subreg): Check - that we're working with the lowpart offset rather than byte 0. - -2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config.gcc (extra_headers): Install arm_private_fp8.h. - * config/aarch64/arm_neon.h: Include arm_private_fp8.h. - * config/aarch64/arm_sve.h: Likewise. - * config/aarch64/arm_private_fp8.h: New file - (fpm_t): New type representing fpmr values. - (enum __ARM_FPM_FORMAT): New enum representing valid fp8 formats. - (enum __ARM_FPM_OVERFLOW): New enum representing how some fp8 - calculations work. - (__arm_fpm_init): New. - (__arm_set_fpm_src1_format): Likewise. - (__arm_set_fpm_src2_format): Likewise. - (__arm_set_fpm_dst_format): Likewise. - (__arm_set_fpm_overflow_cvt): Likewise. - (__arm_set_fpm_overflow_mul): Likewise. - (__arm_set_fpm_lscale): Likewise. - (__arm_set_fpm_lscale2): Likewise. - (__arm_set_fpm_nscale): Likewise. - -2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64.cc (aarch64_hard_regno_nregs): Add - support for MOVEABLE_SYSREGS class. - (aarch64_hard_regno_mode_ok): Allow reads and writes to fpmr. - (aarch64_regno_regclass): Support MOVEABLE_SYSREGS class. - (aarch64_class_max_nregs): Likewise. - * config/aarch64/aarch64.h (FIXED_REGISTERS): add fpmr. - (CALL_REALLY_USED_REGISTERS): Likewise. - (REGISTER_NAMES): Likewise. - (enum reg_class): Add MOVEABLE_SYSREGS class. - (REG_CLASS_NAMES): Likewise. - (REG_CLASS_CONTENTS): Update class bitmaps to deal with fpmr, - the new MOVEABLE_REGS class and renumbering of registers. - * config/aarch64/aarch64.md: (FPM_REGNUM): added new register - number, reusing old value. - (FFR_REGNUM): Renumber. - (FFRT_REGNUM): Likewise. - (LOWERING_REGNUM): Likewise. - (TPIDR2_BLOCK_REGNUM): Likewise. - (SME_STATE_REGNUM): Likewise. - (TPIDR2_SETUP_REGNUM): Likewise. - (ZA_FREE_REGNUM): Likewise. - (ZA_SAVED_REGNUM): Likewise. - (ZA_REGNUM): Likewise. - (ZT0_REGNUM): Likewise. - (*mov<mode>_aarch64): Add support for moveable sysregs. - (*movsi_aarch64): Likewise. - (*movdi_aarch64): Likewise. - * config/aarch64/constraints.md (MOVEABLE_SYSREGS): New constraint. - -2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * config/aarch64/aarch64-option-extensions.def (fp8): New. - * config/aarch64/aarch64.h (TARGET_FP8): Likewise. - * doc/invoke.texi (AArch64 Options): Document new -march flags - and extensions. - -2024-07-31 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (UNSPEC_REVB_2H, UNSPEC_REVB_4H, - UNSPEC_REVH_D): Remove UNSPECs. - (revb_4h, revh_d): Remove define_insn. - (revb_2h): Define as (rotatert:SI (bswap:SI x) 16) instead of - an UNSPEC. - (revb_2h_extend, revb_2w, *bswapsi2, bswapdi2): New define_insn. - (bswapsi2): Change to define_expand. Only expand to revb.2h + - rotri.w if !TARGET_64BIT. - (bswapdi2): Change to define_insn of which the output is just a - revb.d instruction. - -2024-07-31 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/predicates.md (ins_zero_bitmask_operand): - Cover more cases that bstrins can benefit. - (high_bitmask_operand): Remove. - * config/loongarch/constraints.md (Yy): Remove. - * config/loongarch/loongarch.md (and<mode>3_align): Remove. - -2024-07-31 Richard Biener <rguenther@suse.de> - - PR middle-end/101478 - * gimplify.cc (gimplify_addr_expr): Check we still have an - ADDR_EXPR before calling recompute_tree_invariant_for_addr_expr. - -2024-07-31 Hongyu Wang <hongyu.wang@intel.com> - - PR target/116065 - * config/i386/i386.opt (munroll-only-small-loops): Mark as - Optimization instead of Save. - -2024-07-31 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115881 - * recog.cc: Include rtl-iter.h. - (insn_propagation::apply_to_rvalue_1): Check that the result - of simplify_subreg does not include nested subregs. - -2024-07-31 Kewen Lin <linkw@linux.ibm.com> - - PR target/105359 - * config/rs6000/rs6000.md (@extenddf<FLOAT128:mode>2): Don't check - TARGET_LONG_DOUBLE_128 for FLOAT128_IEEE_P modes. - (extendsf<FLOAT128:mode>2): Likewise. - (trunc<FLOAT128:mode>df2): Likewise. - (trunc<FLOAT128:mode>sf2): Likewise. - (floatsi<FLOAT128:mode>2): Likewise. - (fix_trunc<FLOAT128:mode>si2): Likewise. - -2024-07-31 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/altivec.md (p9_vadu<mode>3): Rename to ... - (uabd<mode>3): ... this. Update RTL pattern with umin and umax rather - than UNSPEC_VADU. - (vadu<mode>3): Remove. - (UNSPEC_VADU): Remove. - (usadv16qi): Replace gen_p9_vaduv16qi3 with gen_uabdv16qi3. - (usadv8hi): Replace gen_p9_vaduv8hi3 with gen_uabdv8hi3. - * config/rs6000/rs6000-builtins.def (__builtin_altivec_vadub): Replace - expander with uabdv16qi3. - (__builtin_altivec_vaduh): Adjust expander with uabdv8hi3. - (__builtin_altivec_vaduw): Adjust expander with uabdv4si3. - -2024-07-31 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (optab): Add (rotatert "rotr"). - (<optab:any_shift><mode>3, <optab:any_div><mode>3, - sub<mode>3, rotr<mode>3, mul<mode>3): Add a "*" to the insn name - so we can redefine the names with define_expand. - (*<optab:any_shift>si3_extend): Remove "*" so we can use them - in expanders. - (*subsi3_extended, *mulsi3_extended): Likewise, also remove the - trailing "ed" for consistency. - (*<optab:any_div>si3_extended): Add mode for sign_extend to - prevent an ICE using it in expanders. - (shift_w, arith_w): New define_code_iterator. - (<optab:any_w><mode>3): New define_expand. Expand with - <optab:any_w>si3_extend for SImode if TARGET_64BIT. - (<optab:arith_w><mode>3): Likewise. - (mul<mode>3): Expand to mulsi3_extended for SImode if - TARGET_64BIT and ISA_HAS_DIV32. - (<optab:any_div><mode>3): Expand to <optab:any_div>si3_extended - for SImode if TARGET_64BIT. - (rotl<mode>3): Expand to rotrsi3_extend for SImode if - TARGET_64BIT. - (bytepick_w_<bytepick_imm>): Add mode for lshiftrt and ashift. - (bitsize, bytepick_imm, bytepick_w_ashift_amount): New - define_mode_attr. - (bytepick_w_<bytepick_imm>_extend): Adjust for the RTL change - caused by 32-bit shift expanding. Now bytepick_imm only covers - 2 and 3, separate one remaining case to ... - (bytepick_w_1_extend): ... here, new define_insn. - -2024-07-30 Edwin Lu <ewlu@rivosinc.com> - - * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string): - Skip b in march string - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Add B assembler check - -2024-07-30 Filip Kastl <fkastl@suse.cz> - - * tree-switch-conversion.cc (can_log2): New static function to - check if gen_log2 can be used on current target. - (gen_log2): New static function to generate efficient GIMPLE - code for taking an exact base 2 log. - (gen_pow2p): New static function to generate efficient GIMPLE - code for checking if a value is a power of 2. - (switch_conversion::switch_conversion): Track if the - transformation happened. - (switch_conversion::is_exp_index_transform_viable): New function - to decide whether the transformation should be applied. - (switch_conversion::exp_index_transform): New function to - execute the transformation. - (switch_conversion::gen_inbound_check): Don't remove the default - BB if the transformation happened. - (switch_conversion::expand): Execute the transform if it is - viable. Skip the "sufficiently small case range" test if the - transformation is going to be executed. - * tree-switch-conversion.h: Add is_exp_index_transform_viable - and exp_index_transform. - -2024-07-30 Gianluca Guida <gianluca@rivosinc.com> - Patrick O'Neill <patrick@rivosinc.com> - - * common/config/riscv/riscv-common.cc: Add zacas extension. - * config/riscv/arch-canonicalize: Make zacas imply zaamo. - * config/riscv/riscv.opt: Add zacas. - * config/riscv/sync.md (zacas_atomic_cas_value<mode>): New pattern. - (atomic_compare_and_swap<mode>): Use new pattern for compare-and-swap ops. - (zalrsc_atomic_cas_value_strong<mode>): Rename atomic_cas_value_strong. - * doc/sourcebuild.texi: Add Zacas documentation. - -2024-07-30 Patrick O'Neill <patrick@rivosinc.com> - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::to_string): Remove zabha configure check - handling and clarify zaamo/zalrsc comment. - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Remove zabha configure check. - -2024-07-30 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): - Implement strength reduction. - -2024-07-30 Georg-Johann Lay <avr@gjlay.de> - - * doc/extend.texi (AVR Function Attributes): Propose to use - attribute signal(n) via AVR-LibC's ISR_N from avr/interrupt.h - -2024-07-30 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_expand_ussub): Promote to Xmode - instead of Pmode. - -2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_insn_cost): - Add a case statement for TYPE_FARITH. - -2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (movsf_internal): - Reorder alternative that corresponds to L32R machine instruction, - and prefix alternatives that correspond to LSI/SSI instructions - with the constraint character '^' so that they are disparaged by - reload/LRA. - -2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h (xtensa_expand_call): - Remove the third argument. - * config/xtensa/xtensa.cc (xtensa_expand_call): - Remove the third argument and the code that uses it. - * config/xtensa/xtensa.md (call, call_value, sibcall, sibcall_value): - Remove each Boolean constant specified in the third argument of - xtensa_expand_call. - (sibcall_epilogue): Add emitting '(use A0_REG)' after calling - xtensa_expand_epilogue. - -2024-07-30 liuhongt <hongtao.liu@intel.com> - - PR target/116043 - * config/i386/constraints.md (Bk): Refine to - define_special_memory_constraint. - -2024-07-30 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/prfchiintrin.h - (_m_prefetchit0): Add macro for non-optimized option. - (_m_prefetchit1): Ditto. - -2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/predicates.md - (fix_scaling_operand, float_scaling_operand): New predicates. - * config/xtensa/xtensa.md - (any_fix/m_fix/s_fix, any_float/m_float/s_float): - New code iterators and their attributes. - (fix<s_fix>_truncsfsi2): Change from "fix_truncsfsi2". - (*fix<s_fix>_truncsfsi2_2x, *fix<s_fix>_truncsfsi2_scaled): - New insn definitions. - (float<s_float>sisf2): Change from "floatsisf2". - (*float<s_float>sisf2_scaled): New insn definition. - -2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc - (gen_int_relational, gen_float_relational): Replace tempvar-based - value-swapping codes with std::swap. - * config/xtensa/xtensa.md (movdi_internal, movdf_internal): - Ditto. - -2024-07-29 Jeff Law <jlaw@ventanamicro.com> - - PR target/116104 - * ext-dce.cc (carry_backpropagate): Fix test guarding UINTVAL - extraction of shift count. - -2024-07-29 Jonathan Wakely <jwakely@redhat.com> - - * doc/invoke.texi (Diagnostic Message Formatting Options): - Replace hyphen with a new sentence. Replace "the former" with - the actual value. - -2024-07-29 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/xtensa.cc (xtensa_option_override_after_change): - New function. - (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define as - xtensa_option_override_after_change. - (xtensa_option_override): Call - xtensa_option_override_after_change. - -2024-07-29 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_set_current_function): Fix typo in - error message. - -2024-07-29 Carl Love <cel@linux.ibm.com> - - * config/rs6000/vector.md: Add comment for the VEC_IC - define_mode_iterator. - -2024-07-29 Pan Li <pan2.li@intel.com> - - * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): - Try .SAT_SUB for PLUS_EXPR case. - -2024-07-29 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/116055 - * ipa-modref.cc (analyze_function): Do not ICE when flags regress. - -2024-07-29 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Only call - single_imm_use if statement is not generated from pattern recognition. - -2024-07-29 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/avx512dqintrin.h - (_mm_mask_fpclass_ss_mask): Correct operand order. - (_mm_mask_fpclass_sd_mask): Ditto. - (_mm256_maskz_reduce_round_ss): Use __builtin_ia32_reducess_mask_round - instead of __builtin_ia32_reducesd_mask_round. - (_mm_reduce_round_sd): Use -1 as mask since it is non-mask. - (_mm_reduce_round_ss): Ditto. - * config/i386/avx512vlbwintrin.h - (_mm256_mask_alignr_epi8): Correct operand usage. - (_mm_mask_alignr_epi8): Ditto. - * config/i386/avx512vlintrin.h (_mm_mask_alignr_epi64): Ditto. - -2024-07-28 Jonathan Wakely <jwakely@redhat.com> - - * exec-tool.in: Exit with an error if $original is empty. - -2024-07-28 Georg-Johann Lay <avr@gjlay.de> - - PR target/116056 - * config/avr/avr.h (machine_function) <is_noblock>: New field. - * config/avr/avr-c.cc (avr_cpu_cpp_builtins) <__HAVE_SIGNAL_N__>: New - built-in macro. - * config/avr/avr.cc (avr_declare_function_name): New function. - (avr_attribute_table) <noblock>: New function attribute>. - <signal, interrupt>: Allow any number of args. - (avr_insert_attributes): Check validity of "signal" and "interrupt" - arguments. - (avr_foreach_function_attribute, avr_interrupt_signal_function) - (avr_isr_number, avr_asm_isr_alias, avr_handle_isr_attribute) - (avr_noblock_function_p): New static functions. - (avr_interrupt_function): New from avr_interrupt_function_p. - Adjust callers. - (avr_signal_function): New from avr_signal_function_p. - Adjust callers. - (avr_set_current_function): Only diagnose non-__vector ISR names - when "signal" or "interrupt" attribute has no args. Set - cfun->machine->is_noblock. Warn about "noblock" in non-ISR functions. - (struct avr_fun_cookie): New. - (avr_expand_prologue, avr_asm_function_end_prologue): Handle "noblock". - * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): New define. - * config/avr/avr-protos.h (avr_declare_function_name): New proto. - * doc/extend.texi (AVR Function Attributes): Document - signal(num) and interrupt(num). - * doc/invoke.texi (AVR Built-in Macros) <__HAVE_SIGNAL_N__>: Document. - -2024-07-27 Roger Sayle <roger@nextmovesoftware.com> - Andrew Pinski <quic_apinski@quicinc.com> - - * match.pd (ctz (-X) => ctz (X)): New simplification. - (ctz (abs (X)) => ctz (X)): Likewise. - -2024-07-27 Pan Li <pan2.li@intel.com> - - * match.pd: Add case 9 and case 10 for .SAT_SUB when one - of the op is IMM. - -2024-07-27 David Malcolm <dmalcolm@redhat.com> - - PR middle-end/107941 - * diagnostic-format-sarif.cc: Define INCLUDE_LIST and INCLUDE_MAP. - (enum class location_relationship_kind): New. - (diagnostic_artifact_role::scanned_file): New value. - (class sarif_location_manager): New. - (class sarif_result): Derive from sarif_location_manager rather - than directly from sarif_object. - (sarif_result::add_related_location): Convert to vfunc - implementation. - (sarif_location::m_relationships_map): New field. - (class sarif_location_relationship): New. - (class sarif_ice_notification): Derive from sarif_location_manager - rather than directly from sarif_object. - (sarif_builder::take_current_result): New. - (sarif_builder::m_line_maps): New field. - (sarif_builder::m_cur_group_result): Convert to std::unique_ptr. - (sarif_artifact::add_role): Skip scanned_file. - (get_artifact_role_string): Handle scanned_file. - (sarif_location_manager::add_relationship_to_worklist): New. - (sarif_location_manager::process_worklist): New. - (sarif_location_manager::process_worklist_item): New. - (sarif_result::on_nested_diagnostic): Pass *this to - make_location_object. - (sarif_location::lazily_add_id): New. - (sarif_location::get_id): New. - (get_string_for_location_relationship_kind): New. - (sarif_location::lazily_add_relationship): New. - (sarif_location::lazily_add_relationship_object): New. - (sarif_location::lazily_add_relationships_array): New. - (sarif_ice_notification::sarif_ice_notification): Fix overlong line. - Pass *this to make_locations_arr. - (sarif_ice_notification::add_related_location): New. - (sarif_location_relationship::sarif_location_relationship): New. - (sarif_location_relationship::get_target_id): New. - (sarif_location_relationship::lazily_add_kind): New. - (sarif_builder::sarif_builder): Add "line_maps" param and use it - to initialize m_line_maps. - (sarif_builder::end_diagnostic): Update for m_cur_group_result - becoming a std::unique_ptr. Don't append to m_results_array yet. - (sarif_builder::end_group): Append m_cur_group_result to - m_results_array here, rather than in end_diagnostic. - (sarif_builder::make_result_object): Pass result_obj to - make_locations_arr and to make_code_flow_object. - (sarif_builder::make_locations_arr): Add "loc_mgr" param and pass - it to make_location_object. - (sarif_builder::make_location_object): For two overloads, add - "loc_mgr" param and call add_any_include_chain on the location. - (sarif_builder::add_any_include_chain): New. - (sarif_builder::make_location_object): New overload. - (sarif_builder::make_code_flow_object): Add "result" param and - pass it to make_thread_flow_location_object. - (sarif_builder::make_thread_flow_location_object): Add "result" - param and pass it to make_location_object. - (sarif_builder::get_or_create_artifact): Handle scanned_file. - (sarif_output_format::~sarif_output_format): Assert that there - isn't a pending result. - (sarif_output_format::sarif_output_format): Add "line_maps" param - and pass it to m_builder's ctor. - (sarif_stream_output_format::sarif_stream_output_format): Add - "line_maps" param and pass it to base class ctor. - (sarif_file_output_format::sarif_file_output_format): Likewise. - (diagnostic_output_format_init_sarif_stderr): Pass "line_table" - global to format. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - (test_sarif_diagnostic_context::test_sarif_diagnostic_context): - Likewise. - (buffered_output_format::buffered_output_format): Likewise. - (selftest::test_make_location_object): Likewise. - (selftest::test_make_location_object): Create a sarif_result for - use when calling make_location_object. - * diagnostic.cc (diagnostic_context::finish): End any active - diagnostic groups. - (diagnostic_context::report_diagnostic): Assert that we're within - a diagnostic group. - * diagnostic.h (diagnostic_report_diagnostic): Add - begin_group/end_group pair around call to - diagnostic_context::report_diagnostic. - * selftest-diagnostic.cc (test_diagnostic_context::report): Add - begin_group/end_group pair around diagnostic_impl call. - -2024-07-26 Jeff Law <jlaw@ventanamicro.com> - - PR target/116085 - * config/riscv/bitmanip.md (minmax extension avoidance splitter): - Rewrite as a simpler define_split. Adjust the opcode appropriately. - Avoid emitting sign extension if it's clearly not needed. - * config/riscv/iterators.md (minmax_optab): Rename to uminmax_optab - and map everything to unsigned variants. - -2024-07-26 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * gimple-ssa-sprintf.cc (format_string): Fix type in range check - for UNLIKELY for wide chars. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-sve-builtins-base.cc (svbic_impl::expand): Update - to use andn optab instead of using code_for_aarch64_bic. - * config/aarch64/aarch64-sve.md (@aarch64_bic<mode>): Rename to ... - (andn<mode>3): This. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmpl<mode>3): Rename to ... - (<NLOGICAL:optab>n<mode>3): This. - (*<NLOGICAL:optab>_one_cmplsidi3_ze): Rename to ... - (*<NLOGICAL:optab>nsidi3_ze): This. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-simd.md - (bic<mode>3<vczle><vczbe>): Rename to ... - (andn<mode>3<vczle><vczbe>): This. Also swap operands. - (orn<mode>3<vczle><vczbe>): Rename to ... - (iorn<mode>3<vczle><vczbe>): This. Also swap operands. - (vec_cmp<mode><v_int_equiv>): Update orn call to iorn - and swap the last two arguments. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/116065 - * config/aarch64/aarch64.opt (mearly-ra=): Mark as Optimization rather - than Save. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116101 - * gimple-isel.cc (maybe_duplicate_comparison): Don't - do anything for -O0 or -fno-tree-ter. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple-isel.cc (duplicate_comparison): Rename to ... - (maybe_duplicate_comparison): This. Add check for use here - rather than in its caller. - (pass_gimple_isel::execute): Don't check how many uses the - comparison had and call maybe_duplicate_comparison instead of - duplicate_comparison. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple-isel.cc (pass_gimple_isel::execute): Factor out - duplicate comparisons out to ... - (duplicate_comparison): New function. - -2024-07-26 Andi Kleen <ak@gcc.gnu.org> - - PR c++/116019 - * tree-tailcall.cc (find_tail_calls): Change tail call - error message. - -2024-07-26 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_override_options_internal): - Reword error string without apostrophe. - -2024-07-26 Tamar Christina <tamar.christina@arm.com> - - PR target/116074 - * tree-vect-patterns.cc (vect_recog_cond_store_pattern): Check vector mode. - -2024-07-26 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/i386-expand.cc (ix86_expand_builtin): Change - from XImode to BLKmode. - * config/i386/i386.md (ldtilecfg): Change XI to BLK. - (sttilecfg): Ditto. - -2024-07-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115757 - * tree.h (put_warning_spec_at): Declare new function. - (has_warning_spec): Likewise. - (get_warning_spec): Likewise. - (put_warning_spec): Likewise. - * diagnostic-spec.h (nowarn_spec_t::from_bits): New function. - * diagnostic-spec.cc (put_warning_spec_at): New function. - * warning-control.cc (has_warning_spec): New function. - (get_warning_spec): New function. - (put_warning_spec): New function. - -2024-07-25 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtin.cc (get_element_number, - altivec_expand_vec_set_builtin): Remove functions. - (rs6000_expand_builtin): Remove the if statement to call - altivec_expand_vec_set_builtin. - * config/rs6000/rs6000-builtins.def (__builtin_vsx_set_1ti, - __builtin_vsx_set_2df, __builtin_vsx_set_2di): Remove the - built-in definitions. - * config/rs6000/rs6000-gen-builtins.cc (struct attrinfo): - Remove the isset variable from the structure. - (parse_bif_attrs): Remove the uses of the isset variable. - -2024-07-25 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vec_set_v1ti, - __builtin_vec_set_v2df, __builtin_vec_set_v2di): Remove built-in - definitions. - * config/rs6000/rs6000-c.cc (resolve_vec_insert): Remove the - handling for constant vec_insert position with - VECTOR_UNIT_VSX_P V1TImode, V2DFmode and V2DImode modes. - -2024-07-25 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcmpeqsp, - __builtin_vsx_xvcmpgesp, __builtin_vsx_xvcmpgtsp): Remove - definitions. - -2024-07-25 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116039 - * ext-dce.cc (ext_dce_process_uses): Add some comments about concerns - with current code. Mark additional bit groups as live when we have - an extension of a suitably promoted subreg. - -2024-07-25 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/116033 - * config/riscv/thead.cc (th_memidx_classify_address_modify): - Fix mode test. - -2024-07-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116083 - * tree-vect-slp.cc (vect_build_slp_tree): Do not allocate - a discovery fail node when we reached the discovery limit. - (vect_build_slp_instance): Terminate early when the - discovery limit is reached. - -2024-07-25 Richard Sandiford <richard.sandiford@arm.com> - - * doc/rtl.texi: Document the need to define INCLUDE_ARRAY before - including rtl-ssa.h. - * rtl-ssa.h: Likewise (in comment). - * config/aarch64/aarch64-cc-fusion.cc: Add INCLUDE_ARRAY. - * config/aarch64/aarch64-early-ra.cc: Likewise. - * config/riscv/riscv-avlprop.cc: Likewise. - * config/riscv/riscv-vsetvl.cc: Likewise. - * fwprop.cc: Likewise. - * late-combine.cc: Likewise. - * pair-fusion.cc: Likewise. - * rtl-ssa/accesses.cc: Likewise. - * rtl-ssa/blocks.cc: Likewise. - * rtl-ssa/changes.cc: Likewise. - * rtl-ssa/functions.cc: Likewise. - * rtl-ssa/insns.cc: Likewise. - * rtl-ssa/movement.cc: Likewise. - -2024-07-25 Sam James <sam@gentoo.org> - - PR middle-end/114855 - * doc/invoke.texi (Optimize options): Mention machine-generated - code for -O1. - -2024-07-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116081 - * tree-vect-loop.cc (get_initial_defs_for_reduction): - Use operand_equal_p for comparing the element with the - neutral op. - -2024-07-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116079 - * tree-ssa-loop-im.cc (hoist_memory_references): Clear - VDEF of elided clobbers. - -2024-07-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116081 - * tree-vect-stmts.cc (vect_get_vector_types_for_stmt): - Properly compare types. - -2024-07-25 Robin Dapp <rdapp@ventanamicro.com> - - PR target/116036 - * config/riscv/riscv.cc (riscv_override_options_internal): Error - with TARGET_VECTOR && !TARGET_MUL. - -2024-07-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_legitimize_move): Fix poly_int dest generation. - -2024-07-25 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/116044 - * rtl-ssa/functions.h (function_info::split_clobber_group): Return - an array of two clobber_groups. - * rtl-ssa/accesses.cc (function_info::split_clobber_group): Return - the new clobber groups. Don't modify the splay tree here. - (function_info::add_def): Update call accordingly. Generalize - the splay tree insertion code so that the new definition can be - inserted as a child of any existing node, not just the root. - Fix the insertion used after calling split_clobber_group. - -2024-07-25 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64-sve-builtins.cc - (gimple_folder::redirect_call): Update return type. - * config/aarch64/aarch64-sve-builtins.h: Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc (svqshl_impl::fold): - Remove cast to gcall. - (svrshl_impl::fold): Likewise. - -2024-07-25 Richard Biener <rguenther@suse.de> - - * tree-ssa-structalias.cc (constraint_equal): Take const - reference to constraints. - (constraint_vec_find): Similar. - (solve_graph): Keep constraint vector sorted and verify - sorting with checking. - -2024-07-25 Lingling Kong <lingling.kong@intel.com> - - PR target/115749 - * config/i386/x86-tune-costs.h (struct processor_costs): - Adjust rtx_cost of imulq and imulw for COST_N_INSNS (4) - to COST_N_INSNS (3). - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc (sarif_builder::make_locations_arr): - Don't add entirely empty location objects, such as for - UNKNOWN_LOCATION. - (test_sarif_diagnostic_context::test_sarif_diagnostic_context): - Add param "main_input_filename". - (selftest::test_simple_log): Provide above param. Verify that - "locations" is empty. - (selftest::test_simple_log_2): New. - (selftest::diagnostic_format_sarif_cc_tests): Call it. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc (sarif_builder::flush_to_object): - New, using code moved from... - (sarif_builder::end_group): ...here. - (class selftest::test_sarif_diagnostic_context): New. - (selftest::test_simple_log): New. - (selftest::diagnostic_format_sarif_cc_tests): Call it. - * json.h (json::object::is_empty): New. - * selftest-diagnostic.cc (test_diagnostic_context::report): New. - * selftest-diagnostic.h (test_diagnostic_context::report): New - decl. - * selftest-json.cc (selftest::assert_json_string_eq): New. - (selftest::expect_json_object_with_string_property): New. - (selftest::assert_json_string_property_eq): New. - * selftest-json.h (selftest::assert_json_string_eq): New decl. - (ASSERT_JSON_STRING_EQ): New macro. - (selftest::expect_json_object_with_string_property): New decl. - (EXPECT_JSON_OBJECT_WITH_STRING_PROPERTY): New macro. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc - (sarif_builder::make_location_object): Add "annotations" property if - there are any labelled ranges (§3.28.6). - (selftest::test_make_location_object): Verify annotations are added - to location_obj. - * json.h (json::array::size): New. - (json::array::operator[]): New. - * selftest-json.cc - (selftest::expect_json_object_with_array_property): New. - * selftest-json.h - (selftest::expect_json_object_with_array_property): New decl. - (EXPECT_JSON_OBJECT_WITH_ARRAY_PROPERTY): New macro. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc - (make_date_time_string_for_current_time): New. - (sarif_invocation::sarif_invocation): Set "startTimeUtc" - property (§3.20.7). - (sarif_invocation::prepare_to_flush): Set "endTimeUtc" - property (§3.20.8). - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc (sarif_invocation::sarif_invocation): - Add "original_argv" param and use it to populate "arguments" - property (§3.20.2). - (sarif_builder::sarif_builder): Pass argv to m_invocation_obj's - ctor. - * diagnostic.cc (diagnostic_context::initialize): Initialize - m_original_argv. - (diagnostic_context::finish): Clean up m_original_argv. - (diagnostic_context::set_original_argv): New. - * diagnostic.h: Include "unique-argv.h". - (diagnostic_context::set_original_argv): New decl. - (diagnostic_context::get_original_argv): New decl. - (diagnostic_context::m_original_argv): New field. - * toplev.cc: Include "unique-argv.h". - (general_init): Add "original_argv" param and move it to global_dc. - (toplev::main): Stash a copy of the original argv before expansion, - and pass it to general_init for use by SARIF output. - * unique-argv.h: New file. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc - (sarif_builder::make_artifact_location_object): Make public. - (sarif_invocation::sarif_invocation): Add param "builder". - Use it to potentially populate the "workingDirectory" property - with the result of pwd (§3.20.19). - (sarif_builder::sarif_builder): Pass *this to m_invocation_obj's - ctor. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * text-range-label.h: New file, taking class text_range_label from - gcc-rich-location.h. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS-libcommon): Add selftest-json.o. - * diagnostic-format-sarif.cc: Include "selftest.h", - "selftest-diagnostic.h", "selftest-diagnostic-show-locus.h", - "selftest-json.h", and "text-range-label.h". - (class content_renderer): New. - (sarif_builder::m_rules_arr): Convert to std::unique_ptr. - (sarif_builder::make_location_object): Add class - escape_nonascii_renderer. If rich_loc.escape_on_output_p (), - pass a nonnull escape_nonascii_renderer to - maybe_make_physical_location_object as its snippet_renderer, and - add a property bag property "gcc/escapeNonAscii" to the SARIF - location object. For other overloads of make_location_object, - pass nullptr for the snippet_renderer. - (sarif_builder::maybe_make_region_object_for_context): Add - "snippet_renderer" param and pass it to - maybe_make_artifact_content_object. - (sarif_builder::make_tool_object): Drop "const". - (sarif_builder::make_driver_tool_component_object): Likewise. - Use typesafe unique_ptr variant of object::set for setting "rules" - property on driver_obj. - (sarif_builder::maybe_make_artifact_content_object): Add param "r" - and use it to potentially set the "rendered" property (§3.3.4). - (selftest::test_make_location_object): New. - (selftest::diagnostic_format_sarif_cc_tests): New. - * diagnostic-show-locus.cc: Include "text-range-label.h" and - "selftest-diagnostic-show-locus.h". - (selftests::diagnostic_show_locus_fixture::diagnostic_show_locus_fixture): - New. - (selftests::test_layout_x_offset_display_utf8): Use - diagnostic_show_locus_fixture to simplify and consolidate setup - code. - (selftests::test_diagnostic_show_locus_one_liner): Likewise. - (selftests::test_one_liner_colorized_utf8): Likewise. - (selftests::test_diagnostic_show_locus_one_liner_utf8): Likewise. - * gcc-rich-location.h (class text_range_label): Move to new file - text-range-label.h. - * selftest-diagnostic-show-locus.h: New file, based on material in - diagnostic-show-locus.cc. - * selftest-json.cc: New file. - * selftest-json.h: New file. - * selftest-run-tests.cc (selftest::run_tests): Call - selftest::diagnostic_format_sarif_cc_tests. - * selftest.h (selftest::diagnostic_format_sarif_cc_tests): New decl. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc: Include "make-unique.h". - (json_output_format::m_toplevel_array): Convert to - std::unique_ptr. - (json_output_format::json_output_format): Update accordingly. - (json_output_format::~json_output_format): Remove manual - "delete" of field. - (json_from_expanded_location): Convert return type to - std::unique_ptr. - (json_from_location_range): Likewise. Use nullptr rather than - NULL. - (json_from_fixit_hint): Convert return type to std::unique_ptr. - (json_from_metadata): Likewise. - (make_json_for_path): Likewise. - (json_output_format::on_end_diagnostic): Use std::unique_ptr - throughout. - (json_file_output_format::~json_file_output_format): Use nullptr. - (selftest::test_unknown_location): Update to use std::unique_ptr. - (selftest::test_bad_endpoints): Likewise. Replace NULL with - nullptr. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc: Include "make-unique.h". Convert - raw pointers to std::unique_ptr throughout to indicate ownership, - adding comments in the few places where pointers are borrowed. - Use typesafe unique_ptr variants of json::object::set and - json::array::append throughout to make types of properties more - explicit, whilst using "auto" to reduce typing. - Use "nullptr" rather than "NULL" throughout. - * diagnostic-format-sarif.h (make_sarif_logical_location_object): - Use std::unique_ptr for return type. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc: Define INCLUDE_MEMORY. - * diagnostic-format-sarif.cc: Likewise. - * dumpfile.cc: Likewise. - * gcov.cc: Likewise. - * json.cc: Likewise. Include "make-unique.h". - (selftest::test_formatting): Exercise overloads of - array::append and object::set that use unique_ptr. - * json.h: Require INCLUDE_MEMORY to have been defined. - (json::object::set): Add a template to add a family of overloads - taking a std::unique_ptr<JsonType> - (json::array::append): Likewise. - * optinfo-emit-json.cc: Define INCLUDE_MEMORY. - * optinfo.cc: Likewise. - * timevar.cc: Likewise. - * toplev.cc: Likewise. - * tree-diagnostic-client-data-hooks.cc: Likewise. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc (json_from_expanded_location): Make - "static". Pass param "context" by reference, as it cannot be null. - (json_from_location_range): Likewise for param "context". - (json_from_fixit_hint): Likewise. - (make_json_for_path): Likewise. - (json_output_format::on_end_diagnostic): Update for above changes. - (diagnostic_output_format_init_json::diagnostic_output_format_init_json): - Pass param "context" by reference, as it cannot be null. - (diagnostic_output_format_init_json_stderr): Likewise. - (diagnostic_output_format_init_json_file): Likewise. - (selftest::test_unknown_location): Update for above changes. - (selftest::test_bad_endpoints): Likewise. - * diagnostic-format-sarif.cc (sarif_builder::m_context): Convert - from pointer to reference. - (sarif_invocation::add_notification_for_ice): Convert both params - from pointers to references. - (sarif_invocation::prepare_to_flush): Likewise for "context". - (sarif_result::on_nested_diagnostic): Likewise for "context" and - "builder". - (sarif_result::on_diagram): Likewise. - (sarif_ice_notification::sarif_ice_notification): Likewise. - (sarif_builder::sarif_builder): Likewise for "context". - (sarif_builder::end_diagnostic): Likewise. - (sarif_builder::emit_diagram): Likewise. - (sarif_builder::make_result_object): Likewise. - (make_reporting_descriptor_object_for_warning): Likewise. - (sarif_builder::make_locations_arr): Update for change to m_context. - (sarif_builder::get_sarif_column): Likewise. - (sarif_builder::make_message_object_for_diagram): Convert "context" - from pointer to reference. - (sarif_builder::make_tool_object): Likewise for "m_context". - (sarif_builder::make_driver_tool_component_object): Likewise. - (sarif_builder::get_or_create_artifact): Likewise. - (sarif_builder::maybe_make_artifact_content_object): Likewise. - (sarif_builder::get_source_lines): Likewise. - (sarif_output_format::on_end_diagnostic): Update for above changes. - (sarif_output_format::on_diagram): Likewise. - (sarif_output_format::sarif_output_format): Likewise. - (diagnostic_output_format_init_sarif): Convert param "context" - from pointer to reference. - (diagnostic_output_format_init_sarif_stderr): Likewise. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - * diagnostic.cc (diagnostic_output_format_init): Likewise. - * diagnostic.h (diagnostic_output_format_init): Likewise. - (diagnostic_output_format_init_json_stderr): Likewise. - (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. - (json_from_expanded_location): Delete decl. - * gcc.cc (driver_handle_option): Update for change to - diagnostic_output_format_init. - * opts.cc (common_handle_option): Likewise. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc: Introduce subclasses of sarif_object - for all aspects of the spec that we're using. Replace almost all - usage of json::object with uses of these subclasses, the only - remaining use of json::object being for originalUriBaseIds, as per - SARIF 2.1.0 §3.14.14. This stronger typing makes it considerably - easier to maintain validity against the schema. - * diagnostic-format-sarif.h (class sarif_logical_location): New. - (make_sarif_logical_location_object): Convert return type from - json::object * to sarif_logical_location *. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * gcov.cc (output_intermediate_json_line): Use - json::object::set_integer to avoid naked "new". - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc (sarif_artifact::populate_roles): - Avoid naked "new" by using json::array::append_string. - (sarif_builder::maybe_make_kinds_array): Likewise. - * json.cc (json::array::append_string): New. - (selftest::test_writing_arrays): Use it. - * json.h (json::array::append_string): New decl. - * optinfo-emit-json.cc (optrecord_json_writer::pass_to_json): - Avoid naked "new" by using json::array::append_string. - (optrecord_json_writer::optinfo_to_json): Likewise. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * json.cc (value::dump): New overload, taking no params. - * json.h (value::dump): New decl. - -2024-07-24 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116037 - * ext-dce.cc (ext_dce_process_sets): Note if we ever skip a dest - and return that info explicitly. - (ext_dce_process_uses): If a set was skipped, then consider all bits - in every input as live. Do not try to optimize away an extension if - we skipped processing a destination in the same insn. Restore code - to make shift/rotate count fully live. - (ext_dce_process_bb): Handle API changes for ext_dce_process_sets. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * common/config/aarch64/aarch64-common.cc - (aarch64_set_asm_isa_flags): Store a second uint64_t value. - * config/aarch64/aarch64-opts.h - (aarch64_feature_flags): Switch typedef to bbitmap<2>. - * config/aarch64/aarch64.cc - (aarch64_set_current_function): Extract isa mode from val[0]. - * config/aarch64/aarch64.h - (aarch64_get_asm_isa_flags): Load a second uint64_t value. - (aarch64_get_isa_flags): Ditto. - (aarch64_asm_isa_flags): Ditto. - (aarch64_isa_flags): Ditto. - (HANDLE): Use bbitmap<2>::from_index to initialise flags. - (AARCH64_FL_ISA_MODES): Do arithmetic on integer type. - (AARCH64_ISA_MODE): Extract value from bbitmap<2> array. - * config/aarch64/aarch64.opt - (aarch64_asm_isa_flags_1): New variable. - (aarch64_isa_flags_1): Ditto. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * bbitmap.h: New file. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-feature-deps.h - (get_flags_off): Construct aarch64_feature_flags (0) explicitly. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-c.cc - (aarch64_define_unconditional_macros): Use TARGET_V8R macro. - (aarch64_update_cpp_builtins): Use TARGET_* macros. - * config/aarch64/aarch64.h (AARCH64_HAVE_ISA): New macro. - (AARCH64_ISA_SM_OFF, AARCH64_ISA_SM_ON, AARCH64_ISA_ZA_ON) - (AARCH64_ISA_V8A, AARCH64_ISA_V8_1A, AARCH64_ISA_CRC) - (AARCH64_ISA_FP, AARCH64_ISA_SIMD, AARCH64_ISA_LSE) - (AARCH64_ISA_RDMA, AARCH64_ISA_V8_2A, AARCH64_ISA_F16) - (AARCH64_ISA_SVE, AARCH64_ISA_SVE2, AARCH64_ISA_SVE2_AES) - (AARCH64_ISA_SVE2_BITPERM, AARCH64_ISA_SVE2_SHA3) - (AARCH64_ISA_SVE2_SM4, AARCH64_ISA_SME, AARCH64_ISA_SME_I16I64) - (AARCH64_ISA_SME_F64F64, AARCH64_ISA_SME2, AARCH64_ISA_V8_3A) - (AARCH64_ISA_DOTPROD, AARCH64_ISA_AES, AARCH64_ISA_SHA2) - (AARCH64_ISA_V8_4A, AARCH64_ISA_SM4, AARCH64_ISA_SHA3) - (AARCH64_ISA_F16FML, AARCH64_ISA_RCPC, AARCH64_ISA_RCPC8_4) - (AARCH64_ISA_RNG, AARCH64_ISA_V8_5A, AARCH64_ISA_TME) - (AARCH64_ISA_MEMTAG, AARCH64_ISA_V8_6A, AARCH64_ISA_I8MM) - (AARCH64_ISA_F32MM, AARCH64_ISA_F64MM, AARCH64_ISA_BF16) - (AARCH64_ISA_SB, AARCH64_ISA_RCPC3, AARCH64_ISA_V8R) - (AARCH64_ISA_PAUTH, AARCH64_ISA_V8_7A, AARCH64_ISA_V8_8A) - (AARCH64_ISA_V8_9A, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A) - (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A, AARCH64_ISA_V9_4A) - (AARCH64_ISA_MOPS, AARCH64_ISA_LS64, AARCH64_ISA_CSSC) - (AARCH64_ISA_D128, AARCH64_ISA_THE, AARCH64_ISA_GCS): Remove. - (TARGET_BASE_SIMD, TARGET_SIMD, TARGET_FLOAT) - (TARGET_NON_STREAMING, TARGET_STREAMING, TARGET_ZA, TARGET_SHA2) - (TARGET_SHA3, TARGET_AES, TARGET_SM4, TARGET_F16FML) - (TARGET_CRC32, TARGET_LSE, TARGET_FP_F16INST) - (TARGET_SIMD_F16INST, TARGET_DOTPROD, TARGET_SVE, TARGET_SVE2) - (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3) - (TARGET_SVE2_SM4, TARGET_SME, TARGET_SME_I16I64) - (TARGET_SME_F64F64, TARGET_SME2, TARGET_ARMV8_3, TARGET_JSCVT) - (TARGET_FRINT, TARGET_TME, TARGET_RNG, TARGET_MEMTAG) - (TARGET_I8MM, TARGET_SVE_I8MM, TARGET_SVE_F32MM) - (TARGET_SVE_F64MM, TARGET_BF16_FP, TARGET_BF16_SIMD) - (TARGET_SVE_BF16, TARGET_PAUTH, TARGET_BTI, TARGET_MOPS) - (TARGET_LS64, TARGET_CSSC, TARGET_SB, TARGET_RCPC, TARGET_RCPC2) - (TARGET_RCPC3, TARGET_SIMD_RDMA, TARGET_ARMV9_4, TARGET_D128) - (TARGET_THE, TARGET_GCS): Redefine using AARCH64_HAVE_ISA. - (TARGET_V8R, TARGET_V9A): New. - * config/aarch64/aarch64.md (arch_enabled): Use TARGET_RCPC2. - * config/aarch64/iterators.md (GPI_I16): Use TARGET_FP_F16INST. - (GPF_F16): Ditto. - * config/aarch64/predicates.md - (aarch64_rcpc_memory_operand): Use TARGET_RCPC2. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64.cc - (aarch64_valid_sysreg_name_p): Add bool cast. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * common/config/aarch64/aarch64-common.cc - (aarch64_set_asm_isa_flags): Reorder, and add suffix to names. - * config/aarch64/aarch64.h - (aarch64_get_asm_isa_flags): Add "_0" suffix. - (aarch64_get_isa_flags): Ditto. - (aarch64_asm_isa_flags): Redefine using renamed uint64_t value. - (aarch64_isa_flags): Ditto. - * config/aarch64/aarch64.opt: - (aarch64_asm_isa_flags): Rename to... - (aarch64_asm_isa_flags_0): ...this, and change to uint64_t. - (aarch64_isa_flags): Rename to... - (aarch64_isa_flags_0): ...this, and change to uint64_t. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * common/config/aarch64/aarch64-common.cc - (aarch64_handle_option): Use new macro. - * config/aarch64/aarch64.cc - (aarch64_override_options_internal): Ditto. - (aarch64_option_print): Ditto. - (aarch64_set_current_function): Ditto. - (aarch64_can_inline_p): Ditto. - (aarch64_declare_function_name): Ditto. - (aarch64_start_file): Ditto. - * config/aarch64/aarch64.h (aarch64_get_asm_isa_flags): New - (aarch64_get_isa_flags): New. - (aarch64_asm_isa_flags): Use new macro. - (aarch64_isa_flags): Ditto. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-opts.h: Add aarch64_isa_mode typedef. - * config/aarch64/aarch64-protos.h - (aarch64_gen_callee_cookie): Use aarch64_isa_mode parameter. - (aarch64_sme_vq_immediate): Ditto. - * config/aarch64/aarch64.cc - (aarch64_fntype_pstate_sm): Use aarch64_isa_mode values. - (aarch64_fntype_pstate_za): Ditto. - (aarch64_fndecl_pstate_sm): Ditto. - (aarch64_fndecl_pstate_za): Ditto. - (aarch64_fndecl_isa_mode): Ditto. - (aarch64_cfun_incoming_pstate_sm): Ditto. - (aarch64_cfun_enables_pstate_sm): Ditto. - (aarch64_call_switches_pstate_sm): Ditto. - (aarch64_gen_callee_cookie): Ditto. - (aarch64_callee_isa_mode): Ditto. - (aarch64_insn_callee_abi): Ditto. - (aarch64_sme_vq_immediate): Ditto. - (aarch64_add_offset_temporaries): Ditto. - (aarch64_add_offset): Ditto. - (aarch64_add_sp): Ditto. - (aarch64_sub_sp): Ditto. - (aarch64_guard_switch_pstate_sm): Ditto. - (aarch64_switch_pstate_sm): Ditto. - (aarch64_init_cumulative_args): Ditto. - (aarch64_allocate_and_probe_stack_space): Ditto. - (aarch64_expand_prologue): Ditto. - (aarch64_expand_epilogue): Ditto. - (aarch64_start_call_args): Ditto. - (aarch64_expand_call): Ditto. - (aarch64_end_call_args): Ditto. - (aarch64_set_current_function): Ditto, with added conversions. - (aarch64_handle_attr_arch): Avoid macro with changed type. - (aarch64_handle_attr_cpu): Ditto. - (aarch64_handle_attr_isa_flags): Ditto. - (aarch64_switch_pstate_sm_for_landing_pad): - Use arch64_isa_mode values. - (aarch64_switch_pstate_sm_for_jump): Ditto. - (pass_switch_pstate_sm::gate): Ditto. - * config/aarch64/aarch64.h - (AARCH64_ISA_MODE_{SM_ON|SM_OFF|ZA_ON}): New macros. - (AARCH64_FL_SM_STATE): Mark as possibly unused. - (AARCH64_ISA_MODE_SM_STATE): New aarch64_isa_mode mask. - (AARCH64_DEFAULT_ISA_MODE): New aarch64_isa_mode value. - (AARCH64_FL_DEFAULT_ISA_MODE): Define using above value. - (AARCH64_ISA_MODE): Change type to aarch64_isa_mode. - (arm_pcs): Use aarch64_isa_mode value. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64.cc - (aarch64_override_options): Remove temporary variable. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64.h (DEF_AARCH64_ISA_MODE): Move to... - * config/aarch64/aarch64-opts.h (DEF_AARCH64_ISA_MODE): ...here. - -2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64.cc - (aarch64_tune_flags): Remove unused global variable. - (aarch64_override_options_internal): Remove dead assignment. - -2024-07-24 Andrew Pinski <quic_apinski@quicinc.com> - - * config/rs6000/rs6000-builtins.def: s/iorc/iorn/. s/andc/andn/ - for the code. - * config/rs6000/rs6000-string.cc (expand_cmp_vec_sequence): Update - to iorn. - * config/rs6000/rs6000.md (andc<mode>3): Rename to ... - (andn<mode>3): This. - (iorc<mode>3): Rename to ... - (iorn<mode>3): This. - * doc/md.texi: Update documentation for the rename. - * internal-fn.def (BIT_ANDC): Rename to ... - (BIT_ANDN): This. - (BIT_IORC): Rename to ... - (BIT_IORN): This. - * optabs.def (andc_optab): Rename to ... - (andn_optab): This. - (iorc_optab): Rename to ... - (iorn_optab): This. - * gimple-isel.cc (gimple_expand_vec_cond_expr): Update for the - renamed internal functions, ANDC/IORC to ANDN/IORN. - -2024-07-24 Gaius Mulley <gaiusmod2@gmail.com> - - * doc/install.texi (GM2-prerequisite): Add GNU flex. - -2024-07-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116057 - * tree-ssa-ccp.cc (likely_value): Also walk CTORs in stmt - operands to look for constants. - -2024-07-24 Kyrylo Tkachov <ktkachov@nvidia.com> - - Revert: - 2024-07-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement - fusion logic. - * config/aarch64/aarch64-fusion-pairs.def (cmp+csel): New entry. - (cmp+cset): Likewise. - * config/aarch64/tuning_models/neoversev2.h: Enable logic in - field fusible_ops. - -2024-07-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement - fusion logic. - * config/aarch64/aarch64-fusion-pairs.def (cmp+csel): New entry. - (cmp+cset): Likewise. - * config/aarch64/tuning_models/neoversev2.h: Enable logic in - field fusible_ops. - -2024-07-24 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/116035 - * config/riscv/bitmanip.md: Disable zero_extendsidi2_bitmanip - for XTheadMemIdx. - -2024-07-24 Lingling Kong <lingling.kong@intel.com> - - PR target/115978 - * config/i386/driver-i386.cc (host_detect_local_cpu): Enable - APX_F only for 64-bit codegen. - * config/i386/i386-options.cc (DEF_PTA): Skip PTA_APX_F if - not in 64-bit mode. - -2024-07-24 Pan Li <pan2.li@intel.com> - - PR target/115961 - * internal-fn.cc (type_strictly_matches_mode_p): Add new func - impl to check type strictly matches mode or not. - (type_pair_strictly_matches_mode_p): Ditto but for tree type - pair. - (direct_internal_fn_supported_p): Add above check for the tree - type pair. - -2024-07-23 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (get_type_num_reference_type): Handle rvalue refs. - (get_type_num_array_type): Add DW_TAG_rvalue_reference_type to switch. - (get_type_num): Handle DW_TAG_rvalue_reference_type DIEs. - * dwarf2codeview.h (CV_PTR_MODE_RVREF): Define. - -2024-07-23 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (get_type_num_reference_type): New function. - (get_type_num_array_type): Add DW_TAG_reference_type to switch. - (get_type_num): Handle DW_TAG_reference_type DIEs. - * dwarf2codeview.h (CV_PTR_MODE_LVREF): Define. - -2024-07-23 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/bitmanip.md: Fix splitter. - -2024-07-23 Marek Polacek <polacek@redhat.com> - - * doc/extend.texi: Add missing @option. - -2024-07-23 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * doc/extend.texi: Document [[musttail]] - -2024-07-23 Tobias Burnus <tburnus@baylibre.com> - - * doc/install.texi (amdgcn-x-amdhsa): Suggest newer git version - for newlib. - -2024-07-23 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/96866 - * config/rs6000/rs6000.cc (print_operand_address): Emit message for - unsupported operand. - -2024-07-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116002 - * tree-ssa-structalias.cc (topo_visit): Also consider - SCALAR = SCALAR complex constraints as edges. - -2024-07-23 Jakub Jelinek <jakub@redhat.com> - Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116034 - * tree-ssa.cc (maybe_rewrite_mem_ref_base): Only use IMAGPART_EXPR - if MEM_REF offset is equal to element type size. - -2024-07-23 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/116002 - * cselib.cc (cselib_hash_rtx): Use inchash to get proper mixing. - Consistently avoid a zero return value when hashing successfully. - Consistently treat a zero hash value from recursing as fatal. - Use hashval_t where appropriate. - (cselib_hash_plus_const_int): Likewise. - (new_cselib_val): Use hashval_t. - (cselib_lookup_1): Likewise. - -2024-07-23 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386.cc (ix86_hardreg_mov_ok): Relax mov subreg - to hard register after split1. - -2024-07-23 Kewen Lin <linkw@linux.ibm.com> - - PR target/115713 - * config/rs6000/rs6000.cc (rs6000_inner_target_options): Update option - set information for rs6000_opt_vars. - -2024-07-23 Kewen Lin <linkw@linux.ibm.com> - - PR target/115713 - * config/rs6000/rs6000.cc (rs6000_inner_target_options): Avoid to - enable altivec or disable avoid-indexed-addresses automatically - when they get specified explicitly. - -2024-07-23 Kewen Lin <linkw@linux.ibm.com> - - PR target/115713 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Emit error - messages when explicit VSX encounters explicit soft-float, no-altivec - or avoid-indexed-addresses. - -2024-07-23 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/i386.md (prefetchi): Change to %a. - -2024-07-23 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/115877 - * ext-dce.cc (ext_dce_process_sets): Reasonably handle input/output - operands. - (ext_dce_rd_transfer_n): Drop bogus assertion. - -2024-07-23 Pan Li <pan2.li@intel.com> - - * config/riscv/iterators.md (ANYI_DOUBLE_TRUNC): Add new iterator - for int double truncation. - (ANYI_DOUBLE_TRUNCATED): Add new attr for int double truncation. - (anyi_double_truncated): Ditto but for lowercase. - * config/riscv/riscv-protos.h (riscv_expand_ustrunc): Add new - func decl for expanding ustrunc - * config/riscv/riscv.cc (riscv_expand_ustrunc): Add new func - impl to expand ustrunc. - * config/riscv/riscv.md (ustrunc<mode><anyi_double_truncated>2): Impl - the new pattern ustrunc<m><n>2 for int. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/109985 - * ipa-modref.cc (modref_summary::useful_p): Fix handling of ECF_NOVOPS. - (modref_access_analysis::process_fnspec): Likevise. - (modref_access_analysis::analyze_call): Likevise. - (propagate_unknown_call): Likevise. - (modref_propagate_in_scc): Likevise. - (modref_propagate_flags_in_scc): Likewise. - (ipa_merge_modref_summary_after_inlining): Likewise. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/111613 - * ipa-modref.cc (analyze_parms): Do not preserve EAF_NO_DIRECT_READ and - EAF_NO_INDIRECT_READ from past flags. - -2024-07-22 Michael Meissner <meissner@linux.ibm.com> - - * config.gcc (powerpc*-*-*): Add support for power11. - * config/rs6000/aix71.h (ASM_CPU_SPEC): Add support for -mcpu=power11. - * config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise. - * config/rs6000/aix73.h (ASM_CPU_SPEC): Likewise. - * config/rs6000/driver-rs6000.cc (asm_names): Likewise. - * config/rs6000/ppc-auxv.h (PPC_PLATFORM_POWER11): New define. - * config/rs6000/rs6000-builtin.cc (cpu_is_info): Add power11. - * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define - _ARCH_PWR11 if -mcpu=power11. - * config/rs6000/rs6000-cpus.def (POWER11_MASKS_SERVER): New define. - (POWERPC_MASKS): Add power11. - (power11 cpu): Add power11 definition. - * config/rs6000/rs6000-opts.h (PROCESSOR_POWER11): Add power11 processor. - * config/rs6000/rs6000-string.cc (expand_compare_loop): Likewise. - * config/rs6000/rs6000-tables.opt: Regenerate. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Add power11 - support. - (rs6000_machine_from_flags): Likewise. - (rs6000_reassociation_width): Likewise. - (rs6000_adjust_cost): Likewise. - (rs6000_issue_rate): Likewise. - (rs6000_sched_reorder): Likewise. - (rs6000_sched_reorder2): Likewise. - (rs6000_register_move_cost): Likewise. - (rs6000_opt_masks): Likewise. - * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise. - * config/rs6000/rs6000.md (cpu attribute): Add power11. - * config/rs6000/rs6000.opt (-mpower11): Add internal power11 flag. - * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=power11. - * config/rs6000/power10.md (all reservations): Add power11 support. - -2024-07-22 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/115877 - * ext-dce.cc (ext_dce_process_sets): More correctly handle SUBREG - destinations. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/115033 - * ipa-modref.cc (modref_eaf_analysis::analyze_ssa_name): Fix checking of - EAF flags when analysing values dereferenced as function parameters. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/114207 - * ipa-prop.cc (unadjusted_ptr_and_unit_offset): Fix accounting of offsets in ADDR_EXPR. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/115277 - * ipa-icf-gimple.cc (func_checker::compare_loops): compare loop - bounds. - -2024-07-22 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/116009 - * rtl-ssa/accesses.cc (function_info::add_def): Set the root - local variable after removing the old clobber group. - -2024-07-22 Richard Sandiford <richard.sandiford@arm.com> - - * rtl-ssa/accesses.h (rtl_ssa::pp_def_splay_tree): Declare. - (dump, debug): Add overloads for def_splay_tree. - * rtl-ssa/accesses.cc (rtl_ssa::pp_def_splay_tree): New function. - (dump, debug): Add overloads for def_splay_tree. - -2024-07-22 Richard Sandiford <richard.sandiford@arm.com> - - PR target/115969 - * config/aarch64/aarch64.cc (aarch64_simd_mem_operand_p): Require - the operand to be a legitimate memory_operand. - -2024-07-22 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/115877 - * ext-dce.cc (group_limit): New function. - (mark_reg_live): Likewise. - (ext_dce_process_sets): Use new functions. - (ext_dce_process_uses): Likewise. - (ext_dce_init): Likewise. - -2024-07-22 Richard Biener <rguenther@suse.de> - - * fold-const.cc (operand_compare::hash_operand): Fix hash - of WIDEN_*_EXPR. - -2024-07-22 Richard Biener <rguenther@suse.de> - - * inchash.h (inchash::end): Make const. - (inchash::merge): Take const reference hash argument. - (inchash::add_commutative): Likewise. - -2024-07-22 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/115531 - * config/aarch64/aarch64.cc - (aarch64_conditional_operation_is_expensive): New. - (TARGET_VECTORIZE_CONDITIONAL_OPERATION_IS_EXPENSIVE): New. - -2024-07-22 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/115531 - * tree-vect-patterns.cc (vect_cond_store_pattern_same_ref): New. - (vect_recog_cond_store_pattern): New. - (vect_vect_recog_func_ptrs): Use it. - * target.def (conditional_operation_is_expensive): New. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Document it. - * targhooks.cc (default_conditional_operation_is_expensive): New. - * targhooks.h (default_conditional_operation_is_expensive): New. - -2024-07-21 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/115877 - * ext-dce.cc (safe_for_live_propagation): Handle RTX_CONST_OBJ. - -2024-07-21 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/115877 - * ext-dce.cc (ext_dce_process_uses): Restore the value of DST_MASK - for reach operand. - -2024-07-21 Sam James <sam@gentoo.org> - - * Makefile.in (NOCOMMON_FLAG): Delete. - (GCC_WARN_CFLAGS): Drop NOCOMMON_FLAG. - (GCC_WARN_CXXFLAGS): Drop NOCOMMON_FLAG. - * configure.ac: Ditto. - * configure: Regenerate. - -2024-07-21 Oleg Endo <olegendo@gcc.gnu.org> - - * config/sh/sh.md (mov_neg_si_t): Allow insn and split after - register allocation. - (*treg_noop_move): New insn. - -2024-07-20 Andi Kleen <ak@gcc.gnu.org> - - Revert: - 2024-07-20 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * doc/extend.texi: Document [[musttail]] - -2024-07-20 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_sym_type): Add new values. - (struct codeview_symbol): Add function to union. - (struct codeview_custom_type): Add lf_func_id to union. - (write_function): New function. - (write_codeview_symbols): Call write_function. - (write_lf_func_id): New function. - (write_custom_types): Call write_lf_func_id. - (add_function): New function. - (codeview_debug_early_finish): Call add_function. - -2024-07-20 André Maroneze <andre.maroneze@cea.fr> - - * doc/invoke.texi (Spec Files): Remove documentation of obsolete - spec strings "predefines" and "signed_char". - -2024-07-20 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * opt-suggestions.cc - (option_proposer::build_option_suggestions): Pull OPTB - definition out of the innermost loop. - -2024-07-20 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * doc/extend.texi: Document [[musttail]] - -2024-07-20 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch-protos.h - (loongarch_split_128bit_move): Delete. - (loongarch_split_128bit_move_p): Delete. - (loongarch_split_256bit_move): Delete. - (loongarch_split_256bit_move_p): Delete. - (loongarch_split_vector_move): Add a function declaration. - * config/loongarch/loongarch.cc - (loongarch_vector_costs::finish_cost): Adjust the code - formatting. - (loongarch_split_vector_move_p): Merge - loongarch_split_128bit_move_p and loongarch_split_256bit_move_p. - (loongarch_split_move_p): Merge code. - (loongarch_split_move): Likewise. - (loongarch_split_128bit_move_p): Delete. - (loongarch_split_256bit_move_p): Delete. - (loongarch_split_128bit_move): Delete. - (loongarch_split_vector_move): Merge loongarch_split_128bit_move - and loongarch_split_256bit_move. - (loongarch_split_256bit_move): Delete. - (loongarch_global_init): Remove the extra semicolon at the - end of the function. - * config/loongarch/loongarch.md (*movdf_softfloat): Added a new - condition TARGET_64BIT. - -2024-07-19 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/116003 - * value-relation.cc (equiv_oracle::register_initial_def): Check - if SSA_NAME is in the IL before registering. - -2024-07-19 Thomas Schwinge <tschwinge@baylibre.com> - - * passes.def: Rewrite usage comment at the top. - -2024-07-19 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/115406 - * fold-const.cc (native_encode_vector_part): For vector booleans, - check whether an element is nonzero and, if so, set all of the - correspending bits in the target image. - * simplify-rtx.cc (native_encode_rtx): Likewise. - -2024-07-19 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/builtins.def (MASK1): New DEF_BUILTIN. - * config/avr/avr.cc (avr_rtx_costs_1): Handle rtx costs for - expressions like __builtin_avr_mask1. - (avr_init_builtins) <uintQI_ftype_uintQI_uintQI>: New tree type. - (avr_expand_builtin) [AVR_BUILTIN_MASK1]: Diagnose unexpected forms. - (avr_fold_builtin) [AVR_BUILTIN_MASK1]: Handle case. - * config/avr/avr.md (gen_mask1): New expand helper. - (mask1_0x01_split, mask1_0x80_split, mask1_0xfe_split): New - insn-and-split. - (*mask1_0x01, *mask1_0x80, *mask1_0xfe): New insns. - * doc/extend.texi (AVR Built-in Functions) <__builtin_avr_mask1>: - Document new built-in function. - -2024-07-19 Cupertino Miranda <cupertino.miranda@oracle.com> - - * config/bpf/atomic.md (atomic_compare_and_swap, - atomic_exchange): Add operand modifier %M to the first - operand. - * config/bpf/bpf.cc (no_parentheses_mem_operand): Create - variable. - (bpf_print_operand): Set no_parentheses_mem_operand variable if - %M operand is used. - (bpf_print_operand_address): Conditionally output parentheses. - -2024-07-19 Pan Li <pan2.li@intel.com> - - PR target/115863 - * match.pd: Add single_use check for .SAT_TRUNC form 2. - -2024-07-18 René Rebe <rene@exactcode.de> - Peter Bergner <bergner@linux.ibm.com> - - PR target/97367 - * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Do not consider - OPTION_MASK_ALTIVEC. - (emit_asm_machine): For Altivec compiles, emit a ".machine altivec". - -2024-07-18 Marek Polacek <polacek@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - PR c++/115865 - * tree-eh.cc (get_eh_else): Check that the result of - gimple_seq_first_stmt is non-null. - -2024-07-18 LIU Hao <lh_mouse@126.com> - - PR rtl-optimization/115049 - * varasm.cc (decl_binds_to_current_def_p): Add a check for COMDAT - declarations too, like weak ones. - -2024-07-18 Richard Biener <rguenther@suse.de> - - PR middle-end/115641 - * fold-const.cc (decode_field_reference): If the inner - reference isn't something we can take the address of, fail. - -2024-07-18 Pan Li <pan2.li@intel.com> - - * doc/md.texi: Add Standard-Names ustrunc and sstrunc. - -2024-07-18 Rubin Gerritsen <rubin.gerritsen@gmail.com> - - * gimple-fold.cc (dump_transformation): Moved definition. - (replace_call_with_call_and_fold): Calls dump_transformation. - (gimple_fold_builtin_stxcpy_chk): Removes call to - dump_transformation, now in replace_call_with_call_and_fold. - (gimple_fold_builtin_stxncpy_chk): Removes call to - dump_transformation, now in replace_call_with_call_and_fold. - -2024-07-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104515 - * tree-ssa-loop-im.cc (execute_sm_exit): Add clobbers_to_prune - parameter and handle re-materializing of clobbers. - (sm_seq_valid_bb): end-of-storage/object clobbers are OK inside - an ordered sequence of stores. - (sm_seq_push_down): Refuse to push down clobbers. - (hoist_memory_references): Prune clobbers from the loop body - we re-materialized on an exit. - -2024-07-18 Roger Sayle <roger@nextmovesoftware.com> - - * match.pd ((FTYPE) N CMP CST): Only worry about exceptions with - flag_trapping_math, and about signaling NaNs with HONOR_SNANS. - -2024-07-18 Kyrylo Tkachov <ktkachov@nvidia.com> - - * doc/invoke.texi (AArch64 Options): Document rewriting of - -march=native to -mcpu=native. - -2024-07-18 liuhongt <hongtao.liu@intel.com> - - PR target/115843 - * config/i386/predicates.md (const0_or_m1_operand): New - predicate. - * config/i386/sse.md (*<avx512>_store<mode>_mask_1): New - pre_reload define_insn_and_split. - (V): Add V32BF,V16BF,V8BF. - (V4SF_V8BF): Rename to .. - (V24F_128): .. this. - (*vec_concat<mode>): Adjust with V24F_128. - (*vec_concat<mode>_0): Ditto. - -2024-07-18 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * calls.cc (initialize_argument_information): Mark messages - for translation. - (can_implement_as_sibling_call_p): Dito. - (expand_call): Dito. - -2024-07-18 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * tree-tailcall.cc (maybe_error_musttail): New function. - (suitable_for_tail_opt_p): Report error reason. - (suitable_for_tail_call_opt_p): Report error reason. - (find_tail_calls): Accept basic blocks with abnormal edges. - Delay reporting of errors until the call is discovered. - Move top level suitability checks to here. - (tree_optimize_tail_calls_1): Remove top level checks. - -2024-07-18 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * function.h (struct function): Add has_musttail. - * lto-streamer-in.cc (input_struct_function_base): Stream - has_musttail. - * lto-streamer-out.cc (output_struct_function_base): Dito. - * passes.def (pass_musttail): Add. - * tree-cfg.cc (notice_special_calls): Record has_musttail. - (clear_special_calls): Clear has_musttail. - * tree-pass.h (make_pass_musttail): Add. - * tree-tailcall.cc (find_tail_calls): Handle only_musttail - argument. - (tree_optimize_tail_calls_1): Pass on only_musttail. - (execute_tail_calls): Pass only_musttail as false. - (class pass_musttail): Add. - (make_pass_musttail): Add. - -2024-07-18 Andi Kleen <ak@linux.intel.com> - - PR target/115255 - * function.cc (thread_prologue_and_epilogue_insns): Check - cfun->tail_call_marked for sibcalls too. - (rest_of_handle_thread_prologue_and_epilogue): Dito. - -2024-07-18 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * calls.cc (maybe_complain_about_tail_call): Clear must tail - flag on error. - (expand_call): Give error messages for all musttail failures. - -2024-07-17 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115929 - * rtl-ssa/movement.h (canonicalize_move_range): Check for null prev - and next insns and create an invalid move range for them. - -2024-07-17 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115928 - * rtl-ssa/accesses.h (clobber_group): Add a new constructor that - takes the first, last and root clobbers. - * rtl-ssa/internals.inl (clobber_group::clobber_group): Define it. - * rtl-ssa/accesses.cc (function_info::split_clobber_group): Use it. - Allocate a new group for both sides and invalidate the previous group. - (function_info::add_def): After calling split_clobber_group, - remove the old group from the splay tree. - -2024-07-17 Richard Sandiford <richard.sandiford@arm.com> - - * genattrtab.cc (attr_desc::cxx_type): New field. - (write_attr_get, write_attr_value): Use it. - (gen_attr, find_attr, make_internal_attr): Initialize it, - dropping enum tags. - -2024-07-17 Eikansh Gupta <quic_eikagupt@quicinc.com> - - PR tree-optimization/111150 - * match.pd (`(a ? x : y) eq/ne (b ? x : y)`): New pattern. - (`(a ? x : y) eq/ne (b ? y : x)`): New pattern. - -2024-07-17 Andrew Pinski <quic_apinski@quicinc.com> - - * dbgcnt.def (ext_dce): New debug counter. - * ext-dce.cc (ext_dce_try_optimize_insn): Reject the insn - if the debug counter says so. - (ext_dce): Rename to ... - (ext_dce_execute): This. - (pass_ext_dce::execute): Update for the name of ext_dce. - -2024-07-17 Uros Bizjak <ubizjak@gmail.com> - - PR target/115526 - * config/alpha/alpha.md (movdi_er_high_g): Add cannot_copy attribute. - (movdi_er_tlsgd): Ditto. - (movdi_er_tlsldm): Ditto. - (call_value_osf_<tls>): Ditto. - -2024-07-17 Georg-Johann Lay <avr@gjlay.de> - - PR target/90616 - * config/avr/predicates.md (const_0mod256_operand): New predicate. - * config/avr/constraints.md (Cp8): New constraint. - * config/avr/avr.md (*aligned_add_symbol): New insn. - * config/avr/avr.cc (avr_out_plus_symbol) [HImode]: - When op2 is a multiple of 256, there is no need to add / subtract - the lo8 part. - (avr_rtx_costs_1) [PLUS && HImode]: Return expected costs for - new insn *aligned_add_symbol as it applies. - -2024-07-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/115887 - * gimple-lower-bitint.cc (gimple_lower_bitint): Use gsi_insert_on_edge - instead of gsi_insert_on_edge_immediate and set edge_insertions to - true. - -2024-07-17 Jakub Jelinek <jakub@redhat.com> - - * varasm.cc (default_elf_asm_output_ascii): Use ASM_OUTPUT_SKIP instead - of 2 or more default_elf_asm_output_limited_string (f, "") calls and - adjust base64 heuristics correspondingly. - -2024-07-17 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/115936 - * tree-scalar-evolution.cc (simple_iv_with_niters): Use sizetype for - pointers. - -2024-07-17 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/114440 - * tree-vectorizer.h (struct _stmt_vec_info): Add a new field - reduc_result_pos. - * tree-vect-loop.cc (vect_transform_reduction): Generate lane-reducing - statements in an optimized order. - -2024-07-17 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/114440 - * tree-vectorizer.h (vectorizable_lane_reducing): New function - declaration. - * tree-vect-stmts.cc (vect_analyze_stmt): Call new function - vectorizable_lane_reducing to analyze lane-reducing operation. - * tree-vect-loop.cc (vect_model_reduction_cost): Remove cost computation - code related to emulated_mixed_dot_prod. - (vectorizable_lane_reducing): New function. - (vectorizable_reduction): Allow multiple lane-reducing operations in - loop reduction. Move some original lane-reducing related code to - vectorizable_lane_reducing. - (vect_transform_reduction): Adjust comments with updated example. - -2024-07-17 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (vect_reduction_update_partial_vector_usage): - Calculate effective vector stmts number with generic - vect_get_num_copies. - (vect_transform_reduction): Insert copies for lane-reducing so as to - fix over-estimated vector stmts number. - (vect_transform_cycle_phi): Calculate vector PHI number only based on - output vectype. - * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): Remove - adjustment on vector stmts number specific to slp reduction. - -2024-07-17 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vectorizer.h (vect_get_num_copies): New overload function. - * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): Calculate - number of vector stmts for slp node with vect_get_num_copies. - (vect_slp_analyze_node_operations): Calculate number of vector elements - for constant/external slp node with vect_get_num_copies. - -2024-07-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115959 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): - Get at the REDUC_IDX child in a safer way for COND_EXPR - nodes. - -2024-07-17 Jakub Jelinek <jakub@redhat.com> - - PR other/115958 - * varasm.cc (default_elf_asm_output_ascii): Cast t - s to unsigned - to avoid -Wsign-compare warnings. - -2024-07-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/115527 - * gimple-fold.cc (clear_padding_flush): Introduce endsize - variable and use it instead of wordsize when comparing it against - nonzero_last. - (clear_padding_type): Increment off by sz. - -2024-07-17 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/rs6000.md (mov<mode>cc, *mov<mode>cc_p10, - *mov<mode>cc_invert_p10, *fpmask<mode>, *xxsel<mode>, - @ieee_128bit_vsx_abs<mode>2, *ieee_128bit_vsx_nabs<mode>2, - add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2, - copysign<mode>3, copysign<mode>3_hard, copysign<mode>3_soft, - @neg<mode>2_hw, @abs<mode>2_hw, *nabs<mode>2_hw, fma<mode>4_hw, - *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw, - extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw, - trunc<mode>sf2_hw, fix<uns>_<IEEE128:mode><SDI:mode>2_hw, - fix<uns>_trunc<IEEE128:mode><QHI:mode>2, - *fix<uns>_trunc<IEEE128:mode><QHSI:mode>2_mem, - float_<mode>di2_hw, float_<mode>si2_hw, - float<QHI:mode><IEEE128:mode>2, floatuns_<mode>di2_hw, - floatuns_<mode>si2_hw, floatuns<QHI:mode><IEEE128:mode>2, - floor<mode>2, ceil<mode>2, btrunc<mode>2, round<mode>2, - add<mode>3_odd, sub<mode>3_odd, mul<mode>3_odd, div<mode>3_odd, - sqrt<mode>2_odd, fma<mode>4_odd, *fms<mode>4_odd, *nfma<mode>4_odd, - *nfms<mode>4_odd, trunc<mode>df2_odd, *cmp<mode>_hw for IEEE128): - Remove guard FLOAT128_IEEE_P. - (@extenddf<mode>2_fprs, @extenddf<mode>2_vsx, - trunc<mode>df2_internal1, trunc<mode>df2_internal2, - fix_trunc_helper<mode>, neg<mode>2, *cmp<mode>_internal1, - *cmp<IBM128:mode>_internal2 for IBM128): Remove guard FLOAT128_IBM_P. - -2024-07-17 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (init_float128_ieee): Use trunc_optab rather - than sext_optab for converting FLOAT128_IBM_P mode to FLOAT128_IEEE_P - mode, and use sext_optab rather than trunc_optab for converting - FLOAT128_IEEE_P mode to FLOAT128_IBM_P mode. - (rs6000_expand_float128_convert): Likewise. - -2024-07-17 Kewen Lin <linkw@linux.ibm.com> - - PR target/112993 - * tree.cc (build_common_tree_nodes): Drop the workaround for rs6000 - KFmode precision adjustment. - -2024-07-17 Kewen Lin <linkw@linux.ibm.com> - - PR target/112993 - * value-range.h (range_compatible_p): Remove the workaround on - different type precision between _Float128 and long double. - -2024-07-17 Kewen Lin <linkw@linux.ibm.com> - - PR target/112993 - * config/rs6000/rs6000-modes.def (IFmode, KFmode, TFmode): Define - with FLOAT_MODE instead of FRACTIONAL_FLOAT_MODE, don't use special - precisions any more. - (rs6000-modes.h): Remove include. - * config/rs6000/rs6000-modes.h: Remove. - * config/rs6000/rs6000.h (rs6000-modes.h): Remove include. - * config/rs6000/t-rs6000: Remove rs6000-modes.h include. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace - all uses of FLOAT_PRECISION_TFmode with 128. - (rs6000_c_mode_for_floating_type): Likewise. - * config/rs6000/rs6000.md (define_expand extendiftf2): Remove. - (define_expand extendifkf2): Remove. - (define_expand extendtfkf2): Remove. - (define_expand trunckftf2): Remove. - (define_expand trunctfif2): Remove. - (define_expand extendtfif2): Add new assertion. - (define_expand expandkftf2): New. - (define_expand trunciftf2): Add new assertion. - (define_expand trunctfkf2): New. - (define_expand truncifkf2): Change with gcc_unreachable. - (define_expand expandkfif2): New. - (define_insn_and_split extendkftf2): Rename to ... - (define_insn_and_split *extendkftf2): ... this. - (define_insn_and_split trunctfkf2): Rename to ... - (define_insn_and_split *extendtfkf2): ... this. - -2024-07-17 Kewen Lin <linkw@linux.ibm.com> - - PR target/112993 - * expr.cc (convert_mode_scalar): Allow same precision conversion - between scalar floating point modes if whose underlying format is - ibm_extended_format or ieee_quad_format, and refactor assertion - with new lambda function acceptable_same_precision_modes. Use - trunc_optab rather than sext_optab for ibm128 to ieee128 conversion. - * optabs-libfuncs.cc (gen_trunc_conv_libfunc): Use trunc_optab rather - than sext_optab for ibm128 to ieee128 conversion. - -2024-07-17 Peter Bergner <bergner@linux.ibm.com> - - PR target/114759 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disallow - CPUs and ABIs that do no support the ROP protection insns. - * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Remove now - unneeded tests. - (rs6000_emit_prologue): Likewise. - Remove unneeded gcc_assert. - (rs6000_emit_epilogue): Likewise. - * config/rs6000/rs6000.md: Likewise. - -2024-07-17 Peter Bergner <bergner@linux.ibm.com> - - PR target/114759 - * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Use TARGET_POWER8. - (rs6000_emit_prologue): Likewise. - * config/rs6000/rs6000.md (hashchk): Likewise. - (hashst): Likewise. - Fix whitespace. - -2024-07-16 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/115951 - * range-op-ptr.cc (operator_equal::fold_range): Return a boolean - range with the requested type. - (operator_not_equal::fold_range): Likewise. - (operator_lt::fold_range): Likewise. - (operator_le::fold_range): Likewise. - (operator_gt::fold_range): Likewise. - (operator_ge::fold_range): Likewise. - -2024-07-16 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/115434 - PR c++/110871 - PR c++/110872 - * gimplify.cc (struct gimplify_ctx): Add a flag to show we are - expending a handler. - (gimplify_expr): When we are expanding a handler, and the body - transforms might have re-written DECL_RESULT into a gimple var, - ensure that hander references to DECL_RESULT are also re-written - to refer to the gimple var. When we are processing an EH_ELSE - expression, then add it if either of the cleanup slots is in - use. - -2024-07-16 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115929 - * rtl-ssa/insns.cc (function_info::remove_insn): Remove an - order_node from the instruction as well as from the splay tree. - -2024-07-16 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115901 - * recog.cc (insn_propagation::apply_to_rvalue_1): Restrict - paradoxical mode punning to cases where "to" is constant. - -2024-07-16 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115891 - * rtl-ssa/changes.cc (find_clobbered_access): New function. - (recog_level2): Use it to check for overlap between input - registers and hard-coded clobbers. Conditionally reset - recog_data.insn after changing the insn code. - -2024-07-16 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_out_minus): Assimilate into... - (avr_out_plus_ext): ...this new function. - (avr_adjust_insn_length) [ADJUST_LEN_PLUS_EXT]: Handle case. - (avr_rtx_costs_1) [PLUS, MINUS]: Adjust RTX costs. - * config/avr/avr.md (adjust_len) <plus_ext>: Add new attribute value. - (*addpsi3_zero_extend.hi_split): Assimilate... - (*addpsi3_zero_extend.qi_split): Assimilate... - (*addsi3_zero_extend_split): Assimilate... - (*addsi3_zero_extend.hi_split): Assimilate... - (*addpsi3_sign_extend.hi_split): Assimilate... - (*addhi3.sign_extend1_split): Assimilate... - (*add<PSISI:mode>3.<code>.<QIPSI:mode>_split): ...into this - new insn-and-split. - (*addpsi3_zero_extend.hi): Assimilate... - (*addpsi3_zero_extend.qi): Assimilate... - (*addsi3_zero_extend): Assimilate... - (*addsi3_zero_extend.hi): Assimilate... - (*addpsi3_sign_extend.hi): Assimilate... - (*addhi3.sign_extend1): Assimilate... - (*add<PSISI:mode>3.<code>.<QIPSI:mode>): ...into this new insn. - (*subpsi3_sign_extend.hi_split): Assimilate... - (*subhi3.sign_extend2_split): Assimilate... - (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>_split): Assimilate... - (*sub<HISI:mode>3.<code><QIPSI:mode>_split): ...into this new - insn-and-split. - (*subpsi3_sign_extend.hi): Assimilate... - (*subhi3.sign_extend2): Assimilate... - (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>): Assimilate... - (*sub<HISI:mode>3.<code>.<QIPSI:mode>): ...into this new insn. - (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>): Use avr_out_plus_ext - for asm out. - * config/avr/avr-protos.h (avr_out_minus): Remove. - (avr_out_plus_ext): New proto. - -2024-07-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115841 - * tree-vect-loop.cc (vect_transform_cycle_phi): Correctly - place the partial vector reduction for the accumulator - re-use when the main loop cannot be skipped but the - epilogue can. - -2024-07-16 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-protos.h (avr_emit_xior_with_shift): New proto. - * config/avr/avr.cc (avr_emit_xior_with_shift): New function. - * config/avr/avr.md (any_lshift): New code iterator. - (*<xior:code><mode>.<any_lshift:code>): New insn-and-split. - (<code><HISI:mode><QIPSI:mode>.0): Replaces... - (*<code_stdname><mode>qi.byte0): ...this one. - (*<xior:code><HISI:mode><QIPSI:mode>.<any_lshift:code>): Replaces... - (*<code_stdname><mode>qi.byte1-3): ...this one. - -2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/3931.md (vlbr, vstbr): Remove. - * config/s390/s390.md (xdee): Add FPRX2 mapping. - * config/s390/vector.md (bhfgq): Add TF mapping. - -2024-07-16 Richard Biener <rguenther@suse.de> - - * config/i386/x86-tune-costs.h (znver5_cost): Update unaligned - load and store cost from the aligned costs. - -2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - PR target/114189 - * config/s390/vector.md (V_HW2): Remove. - (vcond<V_HW:mode><V_HW2:mode>): Remove. - (vcondu<V_HW:mode><V_HW2:mode>): Remove. - -2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/vector.md: Enable vcond_mask for 128-bit ops. - -2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/vector.md (V_HW): Enable V1TI unconditionally and - add TI. - (vec_cmpu<VIT_HW:mode><VIT_HW:mode>): Add 128-bit integer - variants. - (*vec_cmpeq<mode><mode>_nocc_emu): Emulate operation. - (*vec_cmpgt<mode><mode>_nocc_emu): Emulate operation. - (*vec_cmpgtu<mode><mode>_nocc_emu): Emulate operation. - -2024-07-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115843 - * tree-vect-loop-manip.cc - (vect_set_loop_condition_partial_vectors_avx512): Properly - bias the shift of the initial mask for alignment peeling. - -2024-07-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115843 - * config/i386/x86-tune-costs.h (znver4_cost): Update unaligned - load and store cost from the aligned costs. - -2024-07-16 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/114661 - * match.pd ((X*C1)|(X*C2) to X*(C1+C2)): Allow optional useless - type conversions around multiplications, such as those inserted - by this transformation. - -2024-07-16 Hu, Lin1 <lin1.hu@intel.com> - - PR target/107432 - * config/i386/sse.md - (PMOV_SRC_MODE_3_AVX2): Add TARGET_AVX2 for V4DI and V8SI. - (PMOV_SRC_MODE_4): Add TARGET_AVX2 for V4DI. - (trunc<mode><pmov_dst_3_lower>2): Change constraint from TARGET_AVX2 to - TARGET_SSSE3. - (trunc<mode><pmov_dst_4_lower>2): Ditto. - (truncv2div2si2): Change constraint from TARGET_AVX2 to TARGET_SSE. - -2024-07-16 Jeff Law <jlaw@ventanamicro.com> - - * ext-dce.cc (ext_dce_process_uses): Simplify control flow and fix - liveness computation for shift/rotate counts. - -2024-07-15 Jeff Law <jlaw@ventanamicro.com> - - * ext-dce.cc (carry_backpropagate): Make return type unsigned as well. - Cast to signed for right shift to preserve sign bit. - -2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> - - Revert: - 2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): - Replace new + std::unique_ptr by alloca(). - (riscv_process_one_target_attr): Likewise. - (riscv_process_target_attr): Likewise. - -2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * common/config/riscv/riscv-common.cc (riscv_subset_list::add): - Allow adding enabled extension if m_allow_adding_dup is set. - * config/riscv/riscv-subset.h: Add m_allow_adding_dup and setter. - * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): - Allow adding enabled extensions. - -2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/115554 - PR target/115562 - * common/config/riscv/riscv-common.cc (struct riscv_func_target_info): - Remove. - (struct riscv_func_target_hasher): Likewise. - (riscv_func_decl_hash): Likewise. - (riscv_func_target_hasher::hash): Likewise. - (riscv_func_target_hasher::equal): Likewise. - (riscv_current_subset_list): Likewise. - (riscv_cmdline_subset_list): Remove obsolete space. - (riscv_func_target_table_lazy_init): Remove. - (riscv_func_target_get): Likewise. - (riscv_func_target_put): Likewise. - (riscv_func_target_remove_and_destory): Likewise. - (riscv_arch_str): Generate from cmdline_subset_list. - (riscv_set_arch_by_subset_list): Don't set current_subset_list. - (riscv_parse_arch_string): Remove current_subset_list. - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): - Get subset list via riscv_cmdline_subset_list(). - * config/riscv/riscv-subset.h (riscv_current_subset_list): - Remove prototype. - (riscv_func_target_get): Likewise. - (riscv_func_target_put): Likewise. - (riscv_func_target_remove_and_destory): Likewise. - * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): - Build base arch string from existing target options, if any. - (riscv_target_attr_parser::update_settings): Store new arch - string in target options. - (riscv_process_one_target_attr): Whitespace fix. - (riscv_process_target_attr): Drop opts argument. - (riscv_option_valid_attribute_p): Properly save, change and restore - target options. - * config/riscv/riscv.cc (get_arch_str): New function. - (riscv_declare_function_name): Get arch string for option-arch - directive from function's target options. - * config/riscv/riscv.opt: Add riscv_arch_string variable to - march option. - -2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): - Replace new + std::unique_ptr by alloca(). - (riscv_process_one_target_attr): Likewise. - (riscv_process_target_attr): Likewise. - -2024-07-15 Alexandre Oliva <oliva@adacore.com> - - PR target/113719 - * config/i386/i386-options.cc (ix86_option_override_internal): - Move flag_omit_frame_pointer final overrider... - (ix86_recompute_optlev_based_flags): ... here. - -2024-07-15 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md: Simplify mode usage. - (GET_MODE_SIZE (<MODE>mode)): Use <SIZE> instead. - (GET_MODE_BITSIZE (<MODE>mode) - 1): Use <MSB> instead. - (GET_MODE_MASK (QImode)): Use 0xff instead. - * config/avr/avr-fixed.md: Same. - -2024-07-15 Jakub Jelinek <jakub@redhat.com> - - * configure.ac (HAVE_GAS_BASE64): New check. - * config/elfos.h (BASE64_ASM_OP): Define if HAVE_GAS_BASE64 is - defined. - * varasm.cc (assemble_string): Bump maximum from 2000 to 16384 if - BASE64_ASM_OP is defined. - (default_elf_asm_output_limited_string): Emit opening '"' together - with STRING_ASM_OP. - (default_elf_asm_output_ascii): Use BASE64_ASM_OP if defined and - beneficial. Remove UB when last_null is NULL. - * configure: Regenerate. - * config.in: Regenerate. - -2024-07-15 liuhongt <hongtao.liu@intel.com> - - PR target/115872 - * tree-ssa-ccp.cc (convert_atomic_bit_not): Remove use_stmt after use_nop_stmt is removed. - (optimize_atomic_bit_test_and): Ditto. - -2024-07-15 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386.md (has_nf): New define_attr, add to all - nf related patterns. - * config/i386/i386-features.cc (apx_nf_convert): New function - to convert Non-NF insns to their NF counterparts. - (class pass_apx_nf_convert): New pass class. - (make_pass_apx_nf_convert): New. - * config/i386/i386-passes.def: Add pass_apx_nf_convert after - rtl_ifcvt. - * config/i386/i386-protos.h (make_pass_apx_nf_convert): Declare. - -2024-07-15 Monk Chiang <monk.chiang@sifive.com> - - * config/riscv/riscv.cc (riscv_print_operand): Add 'L' letter - to print zihintntl instructions string. - * config/riscv/riscv.md (prefetch): Add zihintntl instructions. - -2024-07-15 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/generic-vector-ooo.md: Add def_insn_reservation for vector BFloat16. - * config/riscv/riscv.md: Add new insn name for vector BFloat16. - * config/riscv/vector-iterators.md: Add some iterators for vector BFloat16. - * config/riscv/vector.md: Add some attribute for vector BFloat16. - * config/riscv/vector-bfloat16.md: New file. Add insn pattern vector BFloat16. - -2024-07-15 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/riscv-vector-builtins-bases.cc (class vfncvtbf16_f): - Add 'Zvfbfmin' intrinsic in bases. - (class vfwcvtbf16_f): Ditto. - (class vfwmaccbf16): Add 'Zvfbfwma' intrinsic in bases. - (BASE): Add BASE macro for 'Zvfbfmin' and 'Zvfbfwma'. - * config/riscv/riscv-vector-builtins-bases.h: Add declaration for 'Zvfbfmin' and 'Zvfbfwma'. - * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): - Add builtins def for 'Zvfbfmin' and 'Zvfbfwma'. - (vfncvtbf16_f): Ditto. - (vfncvtbf16_f_frm): Ditto. - (vfwcvtbf16_f): Ditto. - (vfwmaccbf16): Ditto. - (vfwmaccbf16_frm): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (supports_vectype_p): - Add vector intrinsic build judgment for BFloat16. - (build_all): Ditto. - (BASE_NAME_MAX_LEN): Adjust max length. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_F32_OPS): - Add new operand type for BFloat16. - (vfloat32mf2_t): Ditto. - (vfloat32m1_t): Ditto. - (vfloat32m2_t): Ditto. - (vfloat32m4_t): Ditto. - (vfloat32m8_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_F32_OPS): Ditto. - (validate_instance_type_required_extensions): - Add required_ext checking for 'Zvfbfmin' and 'Zvfbfwma'. - * config/riscv/riscv-vector-builtins.h (enum required_ext): - Add required_ext declaration for 'Zvfbfmin' and 'Zvfbfwma'. - (reqired_ext_to_isa_name): Ditto. - (required_extensions_specified): Ditto. - (struct function_group_info): Add match case for 'Zvfbfmin' and 'Zvfbfwma'. - * config/riscv/riscv.cc (riscv_validate_vector_type): - Add required_ext checking for 'Zvfbfmin' and 'Zvfbfwma'. - -2024-07-15 Hongyu Wang <hongyu.wang@intel.com> - - PR target/115889 - * config/i386/predicates.md (vcvtne2ps2bf_parallel): Remove. - * config/i386/sse.md (hi_cvt_bf): Remove. - (HI_CVT_BF): Likewise. - (vpermt2_sepcial_bf16_shuffle_<mode>):Likewise. - -2024-07-15 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/genrvv-type-indexer.cc (bfloat16_type): - Generate bf16 vector_type and scalar_type in DEF_RVV_TYPE_INDEX. - (bfloat16_wide_type): Ditto. - (same_ratio_eew_bf16_type): Ditto. - (main): Ditto. - * config/riscv/riscv-modes.def (ADJUST_BYTESIZE): - Add vector type for BFloat16. - (RVV_WHOLE_MODES): Add vector type for BFloat16. - (RVV_FRACT_MODE): Ditto. - (RVV_NF4_MODES): Ditto. - (RVV_NF8_MODES): Ditto. - (RVV_NF2_MODES): Ditto. - * config/riscv/riscv-vector-builtins-types.def (vbfloat16mf4_t): - Add builtin vector type for BFloat16. - (vbfloat16mf2_t): Add builtin vector type for BFloat16. - (vbfloat16m1_t): Ditto. - (vbfloat16m2_t): Ditto. - (vbfloat16m4_t): Ditto. - (vbfloat16m8_t): Ditto. - (vbfloat16mf4x2_t): Ditto. - (vbfloat16mf4x3_t): Ditto. - (vbfloat16mf4x4_t): Ditto. - (vbfloat16mf4x5_t): Ditto. - (vbfloat16mf4x6_t): Ditto. - (vbfloat16mf4x7_t): Ditto. - (vbfloat16mf4x8_t): Ditto. - (vbfloat16mf2x2_t): Ditto. - (vbfloat16mf2x3_t): Ditto. - (vbfloat16mf2x4_t): Ditto. - (vbfloat16mf2x5_t): Ditto. - (vbfloat16mf2x6_t): Ditto. - (vbfloat16mf2x7_t): Ditto. - (vbfloat16mf2x8_t): Ditto. - (vbfloat16m1x2_t): Ditto. - (vbfloat16m1x3_t): Ditto. - (vbfloat16m1x4_t): Ditto. - (vbfloat16m1x5_t): Ditto. - (vbfloat16m1x6_t): Ditto. - (vbfloat16m1x7_t): Ditto. - (vbfloat16m1x8_t): Ditto. - (vbfloat16m2x2_t): Ditto. - (vbfloat16m2x3_t): Ditto. - (vbfloat16m2x4_t): Ditto. - (vbfloat16m4x2_t): Ditto. - * config/riscv/riscv-vector-builtins.cc (check_required_extensions): - Add required_ext checking for BFloat16. - * config/riscv/riscv-vector-builtins.def (vbfloat16mf4_t): - Add vector_type for BFloat16 in builtins.def. - (vbfloat16mf4x2_t): Ditto. - (vbfloat16mf4x3_t): Ditto. - (vbfloat16mf4x4_t): Ditto. - (vbfloat16mf4x5_t): Ditto. - (vbfloat16mf4x6_t): Ditto. - (vbfloat16mf4x7_t): Ditto. - (vbfloat16mf4x8_t): Ditto. - (vbfloat16mf2_t): Ditto. - (vbfloat16mf2x2_t): Ditto. - (vbfloat16mf2x3_t): Ditto. - (vbfloat16mf2x4_t): Ditto. - (vbfloat16mf2x5_t): Ditto. - (vbfloat16mf2x6_t): Ditto. - (vbfloat16mf2x7_t): Ditto. - (vbfloat16mf2x8_t): Ditto. - (vbfloat16m1_t): Ditto. - (vbfloat16m1x2_t): Ditto. - (vbfloat16m1x3_t): Ditto. - (vbfloat16m1x4_t): Ditto. - (vbfloat16m1x5_t): Ditto. - (vbfloat16m1x6_t): Ditto. - (vbfloat16m1x7_t): Ditto. - (vbfloat16m1x8_t): Ditto. - (vbfloat16m2_t): Ditto. - (vbfloat16m2x2_t): Ditto. - (vbfloat16m2x3_t): Ditto. - (vbfloat16m2x4_t): Ditto. - (vbfloat16m4_t): Ditto. - (vbfloat16m4x2_t): Ditto. - (vbfloat16m8_t): Ditto. - (double_trunc_bfloat_scalar): Add scalar_type def for BFloat16. - (double_trunc_bfloat_vector): Add vector_type def for BFloat16. - * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_ELEN_BF_16): - Add required defination of BFloat16 ext. - * config/riscv/riscv-vector-switch.def (ENTRY): - Add vector_type information for BFloat16. - (TUPLE_ENTRY): Add tuple vector_type information for BFloat16. - -2024-07-14 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-expand.cc (ix86_expand_fp_absneg_operator): - Use E_?Fmode enumeration constants in switch statement. - (ix86_expand_copysign): Likewise. - (ix86_expand_xorsign): Likewise. - -2024-07-14 Alejandro Colomar <alx@kernel.org> - - PR c/115185 - * doc/invoke.texi: Document the new - -Wunterminated-string-initialization. - -2024-07-14 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.cc (cris_option_override_after_change): Fix up - comment regarding disabling late_combine. - -2024-07-14 Hans-Peter Nilsson <hp@axis.com> - - * config/cris/cris.cc (cris_option_override_after_change): New - function. Disable late-combine by default. - (cris_option_override): Call the new function. - -2024-07-13 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (write_lf_modifier): Expand upon comment. - -2024-07-13 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (write_data_symbol): Add alignment directive. - -2024-07-13 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_leaf_type): Add padding constants. - (write_cv_padding): Use names for padding constants. - -2024-07-13 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (S_LDATA32, S_GDATA32, S_COMPILE3): Undefine. - (enum cv_sym_type): Define. - (struct codeview_symbol): Use enum cv_sym_type. - (write_codeview_symbols): Add default to switch. - -2024-07-13 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (enum cv_leaf_type): Define. - (struct codeview_subtype): Use enum cv_leaf_type. - (struct codeview_custom_type): Use enum cv_leaf_type. - (write_lf_fieldlist): Add default to switch. - (write_custom_types): Add default to switch. - * dwarf2codeview.h (LF_MODIFIER, LF_POINTER): Undefine. - (LF_PROCEDURE, LF_ARGLIST, LF_FIELDLIST, LF_BITFIELD): Likewise. - (LF_INDEX, LF_ENUMERATE, LF_ARRAY, LF_CLASS): Likewise. - (LF_STRUCTURE, LF_UNION, LF_ENUM, LF_MEMBER, LF_CHAR): Likewise. - (LF_SHORT, LF_USHORT, LF_LONG, LF_ULONG, LF_QUADWORD): Likewise. - (LF_UQUADWORD): Likewise. - -2024-07-13 David Malcolm <dmalcolm@redhat.com> - - * common.opt (fdiagnostics-show-highlight-colors): New option. - * common.opt.urls: Regenerate. - * coretypes.h (pp_markup::element): New forward decl. - (pp_element): New typedef. - * diagnostic-color.cc (gcc_color_defaults): Add "highlight-a" - and "highlight-b". - * diagnostic-format-json.cc (diagnostic_output_format_init_json): - Disable highlight colors. - * diagnostic-format-sarif.cc (diagnostic_output_format_init_sarif): - Likewise. - * diagnostic-highlight-colors.h: New file. - * diagnostic-path.cc (struct event_range): Pass nullptr for - highlight color of m_rich_loc. - * diagnostic-show-locus.cc (colorizer::set_range): Handle ranges - with m_highlight_color. - (colorizer::STATE_NAMED_COLOR): New. - (colorizer::m_richloc): New field. - (colorizer::colorizer): Add richloc param for initializing - m_richloc. - (colorizer::set_named_color): New. - (colorizer::begin_state): Add case STATE_NAMED_COLOR. - (layout::layout): Pass richloc to m_colorizer's ctor. - (selftest::test_one_liner_labels): Pass nullptr for new param of - gcc_rich_location ctor for labels. - (selftest::test_one_liner_labels_utf8): Likewise. - * diagnostic.h (diagnostic_context::set_show_highlight_colors): - New. - * doc/invoke.texi: Add option -fdiagnostics-show-highlight-colors - and highlight-a and highlight-b color caps. - * doc/ux.texi - (Use color consistently when highlighting mismatches): New - subsection. - * gcc-rich-location.cc (gcc_rich_location::add_expr): Add - "highlight_color" param. - (gcc_rich_location::maybe_add_expr): Likewise. - * gcc-rich-location.h (gcc_rich_location::gcc_rich_location): - Split out into a pair of ctors, where if a range_label is supplied - the caller must also supply a highlight color. - (gcc_rich_location::add_expr): Add "highlight_color" param. - (gcc_rich_location::maybe_add_expr): Likewise. - * gcc.cc (driver_handle_option): Handle - OPT_fdiagnostics_show_highlight_colors. - * lto-wrapper.cc (merge_and_complain): Likewise. - (append_compiler_options): Likewise. - (append_diag_options): Likewise. - (run_gcc): Likewise. - * opts-common.cc (decode_cmdline_options_to_array): Add comment - about -fno-diagnostics-show-highlight-colors. - * opts-global.cc (init_options_once): Preserve - pp_show_highlight_colors in case the global_dc's printer is - recreated. - * opts.cc (common_handle_option): Handle - OPT_fdiagnostics_show_highlight_colors. - (gen_command_line_string): Likewise. - * pretty-print-markup.h: New file. - * pretty-print.cc: Include "pretty-print-markup.h" and - "diagnostic-highlight-colors.h". - (pretty_printer::format): Handle %e. - (pretty_printer::pretty_printer): Handle new field - m_show_highlight_colors. - (pp_string_n): New. - (pp_markup::context::begin_quote): New. - (pp_markup::context::end_quote): New. - (pp_markup::context::begin_color): New. - (pp_markup::context::end_color): New. - (highlight_colors::expected): New. - (highlight_colors::actual): New. - (highlight_colors::lhs): New. - (highlight_colors::rhs): New. - (class selftest::test_element): New. - (selftest::test_pp_format): Add tests of %e. - (selftest::test_urlification): Likewise. - * pretty-print.h (pp_markup::context): New forward decl. - (class chunk_info): Add friend class pp_markup::context. - (class pretty_printer): Add friend pp_show_highlight_colors. - (pretty_printer::m_show_highlight_colors): New field. - (pp_show_highlight_colors): New inline function. - (pp_string_n): New decl. - * substring-locations.cc: Include "diagnostic-highlight-colors.h". - (format_string_diagnostic_t::highlight_color_format_string): New. - (format_string_diagnostic_t::highlight_color_param): New. - (format_string_diagnostic_t::emit_warning_n_va): Use highlight - colors. - * substring-locations.h - (format_string_diagnostic_t::highlight_color_format_string): New. - (format_string_diagnostic_t::highlight_color_param): New. - * toplev.cc (general_init): Initialize global_dc's - show_highlight_colors. - * tree-pretty-print-markup.h: New file. - -2024-07-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115868 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Correctly - compute the number of mask copies required for vect_record_loop_mask. - -2024-07-12 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (Community): Update lists.nongnu.org and - lists.gnu.org links. - -2024-07-12 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/115876 - * ext-dce.cc (carry_backpropagate): Make mask and mmask unsigned. - -2024-07-12 Marek Polacek <polacek@redhat.com> - - * doc/invoke.texi: Remove @opindex and @itemx for -fconcepts-ts. - -2024-07-12 Daniel Bertalan <dani@danielbertalan.dev> - - * value-pointer-equiv.cc: Change NULL to nullptr. - -2024-07-12 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115785 - * rtl-ssa/insns.h (insn_info::prev_insn_or_last_debug_insn) - (insn_info::next_nondebug_or_debug_insn): Remove typedefs. - (insn_info::m_prev_insn_or_last_debug_insn): Rename to... - (insn_info::m_prev_sametype_or_last_debug_insn): ...this. - * rtl-ssa/internals.inl (insn_info::insn_info): Update after - above renaming. - (insn_info::copy_prev_from): Likewise. - (insn_info::set_prev_sametype_insn): Likewise. - (insn_info::set_last_debug_insn): Likewise. - (insn_info::clear_insn_links): Likewise. - (insn_info::has_insn_links): Likewise. - * rtl-ssa/member-fns.inl (insn_info::prev_nondebug_insn): Likewise. - (insn_info::prev_any_insn): Fix moves from non-debug to debug insns. - -2024-07-12 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv-string.cc (emit_memcmp_scalar_load_and_compare): - Set RESULT directly rather than using a temporary. - (emit_memcmp_scalar_result_calculation): Similarly. - (riscv_expand_block_compare_scalar): Use CONST0_RTX rather than - generating new RTL. - * config/riscv/riscv.md (cmpmemsi): Pass an X mode temporary to the - expansion routines. If necessary extract low part of the word to store - in final result location. - -2024-07-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/2964.md: Remove extended mnemonics for vgm. - * config/s390/3906.md: Remove extended mnemonics for vgm. - * config/s390/3931.md: Remove extended mnemonics for vgm. - * config/s390/8561.md: Remove extended mnemonics for vgm. - * config/s390/constraints.md (jKK): Remove constraint. - (jzz): Add constraint. - * config/s390/s390-protos.h (s390_contiguous_bitmask_vector_p): - Add prototype. - (s390_constant_via_vgm_p): Add prototype. - (s390_constant_via_vrepi_p): Add prototype. - * config/s390/s390.cc (s390_contiguous_bitmask_vector_p): New - function. - (s390_constant_via_vgm_vrepi_helper): New function. - (s390_constant_via_vgm_p): New function. - (s390_constant_via_vgbm_p): For the sake of symmetry rename - s390_bytemask_vector_p into s390_constant_via_vgbm_p. - (s390_bytemask_vector_p): Deal with non-integer and partial - vectors. - (s390_constant_via_vrepi_p): New function. - (s390_legitimate_constant_p): Allow partial vectors. - (legitimate_reload_constant_p): Fix indentation. - (legitimate_reload_vector_constant_p): Restrict to constraints - j00, jm1, jxx, jyy, jzz only, i.e., allow partial vectors. - (s390_expand_vec_init): Also make use of vrepi if possible. - (print_operand): Add q,p,r for vgm,vrepi,vgbm, respectively. - Remove e,s,t for constant vectors. - * config/s390/s390.md (movti): Add variants utilizing - vgbm,vgm,vrepi. - * config/s390/vector.md (mov<mode><tf_vr>): Adapt variants - for vgbm,vgm,vrepi for the new scheme. - (mov<mode>): Adapt variants for vgbm,vgm for the new - scheme and add vrepi variant for modes V_8,V_16,V_32,V_64. - -2024-07-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/vector.md (mov<mode>): Fix output template for - movv1qi. - -2024-07-12 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - * config/i386/i386-expand.cc (ix86_broadcast_from_constant): - Use CONST_VECTOR_P instead of comparison against GET_CODE. - (ix86_gen_bcst_mem): Likewise. - (ix86_ternlog_leaf_p): Likewise. - (ix86_ternlog_operand_p): ix86_ternlog_leaf_p is always true for - vector_all_ones_operand. - (ix86_expand_ternlog_bin_op): Use CONST_VECTOR_P instead of - equality comparison against GET_CODE. Replace call to force_reg - with gen_reg_rtx and emit_move_insn (for VEC_DUPLICATE broadcast). - Check for !register_operand instead of memory_operand. - Support CONST_VECTORs by calling force_const_mem. - (ix86_expand_ternlog): Fix indentation whitespace. - Allow ix86_ternlog_leaf_p as ix86_expand_ternlog_andnot's second - operand. Use CONST_VECTOR_P instead of equality against GET_CODE. - Use gen_reg_rtx and emit_move_insn for ~a, ~b and ~c cases. - -2024-07-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * config/s390/s390.md (*icjump_64): Allow raw CC comparisons, - i.e., any constant integer between 0 and 15 for CC comparisons. - -2024-07-12 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_process_one_target_attr) - (aarch64_process_target_attr): Avoid alloca. - -2024-07-12 Alexandre Oliva <oliva@adacore.com> - - PR target/115459 - * config/alpha/alpha.cc (alpha_expand_block_move): Adjust - MEMs to match inferred alignment. - -2024-07-12 YunQiang Su <yunqiang@isrc.iscas.ac.cn> - - PR target/115840 - * config/riscv/riscv.cc(riscv_preferred_else_value): Mark - tmp_var as NO_WARNING. - -2024-07-12 xuli <xuli1@eswincomputing.com> - - PR target/115862 - * config/riscv/riscv.cc (riscv_slow_unaligned_access): Disable vector misalign. - -2024-07-12 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc (riscv_implied_info): Add xsfvcp. - (riscv_ext_version_table): Add xsfvcp, xsfcease. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv.opt (riscv_sifive_subext): New. - (XSFVCP): New. - (XSFCEASE): New. - -2024-07-12 Kewen Lin <linkw@linux.ibm.com> - - PR target/115659 - * config/rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): Remove. - * config/rs6000/rs6000.cc (rs6000_emit_vector_cond_expr): Add static - qualifier as it is only called by rs6000_emit_swsqrt now. - * config/rs6000/vector.md (vcond<VEC_F:mode><VEC_F:mode>): Remove. - (vcond<VEC_I:mode><VEC_I:mode>): Remove. - (vcondv4sfv4si): Likewise. - (vcondv4siv4sf): Likewise. - (vcondv2dfv2di): Likewise. - (vcondv2div2df): Likewise. - (vcondu<VEC_I:mode><VEC_I:mode>): Likewise. - (vconduv4sfv4si): Likewise. - (vconduv2dfv2di): Likewise. - -2024-07-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115867 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Properly - guess the number of mask elements for integer mode masks. - -2024-07-12 Jeff Law <jlaw@ventanamicro.com> - - * config/m68k/m68k.md (extendsidi2): Add missing early clobbers. - -2024-07-12 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc - (loongarch_split_move): Delete. - (loongarch_hard_regno_mode_ok_uncached): Likewise. - * config/loongarch/loongarch.md - (move_doubleword_fpr<mode>): Likewise. - (load_low<mode>): Likewise. - (load_high<mode>): Likewise. - (store_word<mode>): Likewise. - (movgr2frh<mode>): Likewise. - (movfrh2gr<mode>): Likewise. - -2024-07-12 Lulu Cheng <chenglulu@loongson.cn> - - PR target/115752 - * config/loongarch/loongarch.cc - (loongarch_hard_regno_mode_ok_uncached): Replace - UNITS_PER_FPVALUE with UNITS_PER_HWFPVALUE. - * config/loongarch/loongarch.h (UNITS_PER_FPVALUE): Delete. - -2024-07-11 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv-string.cc - (emit_strcmp_scalar_compare_byte): Set RESULT directly rather - than using a new temporary. - (emit_strcmp_scalar_result_calculation_nonul): Likewise. - (emit_strcmp_scalar_result_calculation): Likewise. - (riscv_expand_strcmp_scalar): Use CONST0_RTX rather than - generating a new node. - (expand_strcmp): Copy directly from SUB to RESULT. - * config/riscv/riscv.md (cmpstrnsi, cmpstrsi): Pass an X - mode temporary to the expansion routines. If necessary - extract low part of the word to store in final result location. - -2024-07-11 Andrew Pinski <quic_apinski@quicinc.com> - - * value-range.h (class int_range): Mark as final. - (class prange): Likewise. - (class frange): Likewise. - -2024-07-11 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR target/115611 - * config/arm/mve.md (mve_vec_setv2di_internal): Fix printing of input - scalar register pair when lane = 1. - -2024-07-11 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115782 - * recog.cc (validate_change_1): Suppress early exit for no-op - changes that are part of a group. - -2024-07-11 Eric Botcazou <ebotcazou@adacore.com> - - * gimplify.cc (gimplify_scalar_mode_aggregate_compare): Add support - for ordering comparisons. - (gimplify_expr) <default>: Call gimplify_scalar_mode_aggregate_compare - only for integral scalar modes. - -2024-07-11 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-protos.h (avr_out_minus): New prototype. - * config/avr/avr.cc (avr_out_minus): New function. - * config/avr/avr.md (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>) - (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>_split): New insns. - (*subpsi3_zero_extend.qi_split): Remove isns_and_split. - (*subpsi3_zero_extend.hi_split): Remove insn_and_split. - (*subhi3_zero_extend1_split): Remove insn_and_split. - (*subsi3_zero_extend_split): Remove insn_and_split. - (*subsi3_zero_extend.hi_split): Remove insn_and_split. - (*subpsi3_zero_extend.qi): Remove insn. - (*subpsi3_zero_extend.hi): Remove insn. - (*subhi3_zero_extend1): Remove insn. - (*subsi3_zero_extend): Remove insn. - (*subsi3_zero_extend.hi): Remove insn. - -2024-07-11 Jørgen Kvalsvik <j@lambda.is> - - * doc/gcov.texi: Add --include, --exclude, --match-on-demangled - documentation. - * gcov.cc (struct fnfilter): New. - (print_usage): Add --include, --exclude, -M, - --match-on-demangled. - (process_args): Likewise. - (release_structures): Release filters. - (read_graph_file): Only add function_infos matching filters. - (output_lines): Likewise. - -2024-07-11 Jørgen Kvalsvik <j@lambda.is> - - * gcov.cc (process_all_functions): Ensure fn.end_line is - included source[fn].lines. - -2024-07-11 Fei Gao <gaofei@eswincomputing.com> - - * common/config/riscv/riscv-common.cc: - c implies zca, and conditionally zcf & zcd. - -2024-07-10 Pan Li <pan2.li@intel.com> - - * tree-vect-patterns.cc (vect_recog_sat_sub_pattern_transform): - Add new func impl to perform the truncation distribution. - (vect_recog_sat_sub_pattern): Perform above optimize before - generate .SAT_SUB call. - -2024-07-10 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (ustruncdi<mode>2): Swap compare operands. - (ustruncsi<mode>2): Ditto. - (ustrunchiqi2): Ditto. - -2024-07-10 Marek Polacek <polacek@redhat.com> - - * doc/invoke.texi: Mention that -fconcepts-ts was removed. - -2024-07-10 Edwin Lu <ewlu@rivosinc.com> - - * common/config/riscv/riscv-common.cc: Add imply rules for B extension - * config/riscv/arch-canonicalize: Ditto - -2024-07-10 Richard Sandiford <richard.sandiford@arm.com> - - * internal-fn.cc (create_call_lhs_operand, assign_call_lhs): New - functions, split out from... - (expand_fn_using_insn): ...here. - (expand_load_lanes_optab_fn): Use them. - (expand_GOMP_SIMT_ENTER_ALLOC): Likewise. - (expand_GOMP_SIMT_LAST_LANE): Likewise. - (expand_GOMP_SIMT_ORDERED_PRED): Likewise. - (expand_GOMP_SIMT_VOTE_ANY): Likewise. - (expand_GOMP_SIMT_XCHG_BFLY): Likewise. - (expand_GOMP_SIMT_XCHG_IDX): Likewise. - (expand_partial_load_optab_fn): Likewise. - (expand_vec_cond_optab_fn): Likewise. - (expand_vec_cond_mask_optab_fn): Likewise. - (expand_RAWMEMCHR): Likewise. - (expand_gather_load_optab_fn): Likewise. - (expand_while_optab_fn): Likewise. - (expand_SPACESHIP): Likewise. - -2024-07-10 Richard Sandiford <richard.sandiford@arm.com> - - * recog.cc (insn_propagation::apply_to_rvalue_1): Handle simple - cases of hardreg propagation in which the register is set and - used in different modes. - -2024-07-10 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115785 - * rtl-ssa/functions.h (function_info::replace_nondebug_insn): Declare. - * rtl-ssa/insns.h (insn_info::order_node::set_uid): New function. - (insn_info::remove_note): Declare. - * rtl-ssa/insns.cc (insn_info::remove_note): New function. - (function_info::replace_nondebug_insn): Likewise. - * rtl-ssa/changes.cc (function_info::change_insns): Use - replace_nondebug_insn instead of remove_insn + add_insn. - -2024-07-10 Uros Bizjak <ubizjak@gmail.com> - - PR middle-end/115836 - * expmed.cc (emit_store_flag_1): Move calculation of - scode just before its only usage site. - -2024-07-10 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/arm-protos.h (arm_dllexport_name_p): Remove prototype. - (arm_dllimport_name_p): Likewise. - (arm_pe_unique_section): Likewise. - (arm_pe_encode_section_info): Likewise. - (arm_dllexport_p): Likewise. - (arm_dllimport_p): Likewise. - (arm_mark_dllexport): Likewise. - (arm_mark_dllimport): Likewise. - (arm_change_mode_p): Likewise. - * config/arm/arm.cc (arm_gnu_attributes): Remove attributes for ARM_PE. - (TARGET_ENCODE_SECTION_INFO): Remove setting for ARM_PE. - (is_called_in_ARM_mode): Remove ARM_PE conditional code. - (thumb1_output_interwork): Remove obsolete ARM_PE code. - (arm_encode_section_info): Remove surrounding #ifndef. - -2024-07-10 Prathamesh Kulkarni <prathameshk@nvidia.com> - - PR lto/115394 - * lto-streamer.h: Remove streamer_debugging definition. - * lto-streamer-out.cc (stream_write_tree_ref): Remove use of streamer_debugging. - (lto_output_tree): Likewise. - * tree-streamer-in.cc (streamer_read_tree_bitfields): Likewise. - (streamer_get_pickled_tree): Likewise. - * tree-streamer-out.cc (pack_ts_base_value_fields): Likewise. - -2024-07-10 Pan Li <pan2.li@intel.com> - - * match.pd: Add form 2 for .SAT_TRUNC. - * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): - Add new case NOP_EXPR, and try to match SAT_TRUNC. - -2024-07-10 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115721 - * tree-complex.cc (expand_complex_comparison): Remove - support for GIMPLE_RETURN. - -2024-07-10 Fei Gao <gaofei@eswincomputing.com> - - PR target/113715 - * config/riscv/riscv.cc (riscv_zcmp_can_use_popretz): Removed. - (riscv_gen_multi_pop_insn): Remove generation of cm.popretz. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtin.cc (altivec_expand_vec_init_builtin): - Remove the function. - (rs6000_expand_builtin): Remove the if bif_is_int check to call - the altivec_expand_vec_init_builtin function. - * config/rs6000/rs6000-builtins.def: Remove the attribute string - comment for init. - (__builtin_vec_init_v16qi, - __builtin_vec_init_v4sf, __builtin_vec_init_v4si, - __builtin_vec_init_v8hi, __builtin_vec_init_v1ti, - __builtin_vec_init_v2df, __builtin_vec_init_v2di, - __builtin_vec_set_v16qi, __builtin_vec_set_v4sf, - __builtin_vec_set_v4si, __builtin_vec_set_v8hi): Remove - built-in definitions. - * config/rs6000/rs6000-gen-builtins.cc: Remove comment for init - attribute string. - (struct attrinfo): Remove isinit entry. - (parse_bif_attrs): Remove the if statement to check for attribute - init. - (ifdef DEBUG): Remove print for init attribute string. - (write_decls): Remove print for define bif_init_bit and - define for bif_is_init. - (write_bif_static_init): Remove if bifp->attrs.isinit statement. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcmpeqsp_p): - Remove built-in definition. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-overload.def (vec_xxpermdi): Add new - overloaded built-in instances of vector signed and unsigned - int128. - * doc/extend.texi: Add documentation for built-in instances of - vector signed and unsigned int128. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvnegdp, - __builtin_vsx_xvnegsp): Remove built-in definitions. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_vperm_16qi_uns, - __builtin_vsx_vperm_1ti, __builtin_vsx_vperm_1ti_uns, - __builtin_vsx_vperm_2df, __builtin_vsx_vperm_2di, - __builtin_vsx_vperm_2di_uns, __builtin_vsx_vperm_4sf, - __builtin_vsx_vperm_4si, __builtin_vsx_vperm_4si_uns): Remove - built-in definitions and comments. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxsel_16qi, - __builtin_vsx_xxsel_16qi_uns, __builtin_vsx_xxsel_2df, - __builtin_vsx_xxsel_2di, __builtin_vsx_xxsel_2di_uns, - __builtin_vsx_xxsel_4sf, __builtin_vsx_xxsel_4si, - __builtin_vsx_xxsel_4si_uns, __builtin_vsx_xxsel_8hi, - __builtin_vsx_xxsel_8hi_uns): Remove built-in definitions. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxsel_1ti, - __builtin_vsx_xxsel_1ti_uns): Remove built-in definitions. - * config/rs6000/rs6000-overload.def (vec_sel): Add new - overloaded vector signed, unsigned and bool 128-bit definitions. - * doc/extend.texi (vec_sel): Add documentation for new instances - with signed, unsigned and bool 129-bit bool arguments. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxmrghw, - __builtin_vsx_xxmrghw_4si, __builtin_vsx_xxmrglw, - __builtin_vsx_xxmrglw_4si, __builtin_vsx_xxsel_16qi): Remove - built-in definition. - * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): - remove case entries RS6000_BIF_XXMRGLW_4SI, - RS6000_BIF_XXMRGLW_4SF, RS6000_BIF_XXMRGHW_4SI, - RS6000_BIF_XXMRGHW_4SF. - * config/rs6000/vsx.md (vsx_xxmrghw_<mode>, vsx_xxmrglw_<mode>): - Remove unused define_expands. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcvspdp, - __builtin_vsx_xvcvdpsp, __builtin_vsx_xvcvsxwdp, - __builtin_vsx_xvcvuxddp_uns): Remove. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcvspsxds, - __builtin_vsx_xvcvspuxds): Rename to __builtin_vsignede_v4sf, - __builtin_vunsignede_v4sf respectively. - (XVCVSPSXDS, XVCVSPUXDS): Rename to VEC_VSIGNEDE_V4SF, - VEC_VUNSIGNEDE_V4SF respectively. - (__builtin_vsignedo_v4sf, __builtin_vunsignedo_v4sf): New - built-in definitions. - * config/rs6000/rs6000-overload.def (vec_signede, vec_signedo, - vec_unsignede, vec_unsignedo): Add new overloaded specifications. - * config/rs6000/vsx.md (vsignede_v4sf, vsignedo_v4sf, - vunsignede_v4sf, vunsignedo_v4sf): New define_expands. - * doc/extend.texi (vec_signedo, vec_signede, vec_unsignedo, - vec_unsignede): Add documentation for new overloaded built-ins to - convert vector float to vector {un,}signed long long. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_vunsigned_v2df, - __builtin_vsx_vunsigned_v4sf, __builtin_vsx_vunsignede_v2df, - __builtin_vsx_vunsignedo_v2df): Change the result type to unsigned. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcvspsxws, - __builtin_vsx_xvcvdpuxds_uns, __builtin_vsx_xvcvspuxws, - __builtin_vsx_xvcvdpsxws, __builtin_vsx_xvcvdpuxws): Remove - built-in definitions. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * config/rs6000/rs6000-builtin.cc (RS6000_BIF_CMPLE_16QI, - RS6000_BIF_CMPLE_U16QI, RS6000_BIF_CMPLE_8HI, - RS6000_BIF_CMPLE_U8HI, RS6000_BIF_CMPLE_4SI, RS6000_BIF_CMPLE_U4SI, - RS6000_BIF_CMPLE_2DI, RS6000_BIF_CMPLE_U2DI, RS6000_BIF_CMPLE_1TI, - RS6000_BIF_CMPLE_U1TI): Remove case statements. - * config/rs6000/rs6000-builtins.def (__builtin_vsx_cmple_16qi, - __builtin_vsx_cmple_2di, __builtin_vsx_cmple_4si, - __builtin_vsx_cmple_8hi, __builtin_vsx_cmple_u16qi, - __builtin_vsx_cmple_u2di, __builtin_vsx_cmple_u4si, - __builtin_vsx_cmple_u8hi): Remove buit-in definitions. - -2024-07-09 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (@cmp<mode>_1): Use SWI mode iterator. - (ustruncdi<mode>2): New expander. - (ustruncsi<mode>2): Ditto. - (ustrunchiqi2): Ditto. - -2024-07-09 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-path.cc: Replace "const diagnostic_path *" with - "const diagnostic_path &" throughout, and "diagnostic_context *" - with "diagnostic context &". - * diagnostic.cc (diagnostic_context::show_any_path): Pass - reference in call to print_path. - * diagnostic.h (diagnostic_context::print_path): Convert param - to a reference. - -2024-07-09 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/arm.cc (fp_consts_initited): Delete variable. - (value_fp0): Likewise. - (init_fp_table): Delete function. - (fp_const_from_val): Likewise. - (arm_const_double_rtx): Rework to avoid converting to REAL_VALUE_TYPE. - (arm_print_operand, case 'N'): Make use of this case an error. - -2024-07-09 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-target-attr.cc (riscv_process_target_attr): - Fix comments and variable names. - -2024-07-09 Christoph Müllner <christoph.muellner@vrull.eu> - - * common/config/riscv/riscv-common.cc (riscv_set_arch_by_subset_list): - Fix overlong line. - (riscv_parse_arch_string): Replace duplicated code by a call to - riscv_set_arch_by_subset_list. - -2024-07-09 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h (get_available_features): Correct - AVX10 CPUID emulation to specify ecx value. - -2024-07-09 liuhongt <hongtao.liu@intel.com> - - PR target/115796 - * config/i386/emmintrin.h (__float_u): Rename to .. - (__x86_float_u): .. this. - (_mm_load_sd): Ditto. - (_mm_store_sd): Ditto. - (_mm_loadh_pd): Ditto. - (_mm_loadl_pd): Ditto. - * config/i386/xmmintrin.h (__double_u): Rename to .. - (__x86_double_u): .. this. - (_mm_load_ss): Ditto. - (_mm_store_ss): Ditto. - -2024-07-08 Jeff Law <jlaw@ventanamicro.com> - - * Makefile.in (OBJS): Add ext-dce.o - * common.opt (ext-dce): Document new option. - * df-scan.cc (df_get_ext_block_use_set): Delete prototype and - make extern. - * df.h (df_get_exit_block_use_set): Prototype. - * ext-dce.cc: New file/pass. - * opts.cc (default_options_table): Handle ext-dce at -O2 or higher. - * passes.def: Add ext-dce before combine. - * tree-pass.h (make_pass_ext_dce): Prototype. - -2024-07-08 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg splitter to SImode): - New splitter. - (NEG and NOT splitter to SImode): Remove optimize_insn_for_size_p - predicate from insn condition. - -2024-07-08 Patrick O'Neill <patrick@rivosinc.com> - - * doc/invoke.texi: Remove trailing whitespace. - -2024-07-08 Levy Hsu <admin@levyhsu.com> - - * config/i386/i386-expand.cc (ix86_expand_fp_absneg_operator): Add VBF modes. - (ix86_expand_copysign): Ditto. - (ix86_expand_xorsign): Ditto. - * config/i386/i386.cc (ix86_build_const_vector): Ditto. - (ix86_build_signbit_mask): Ditto. - * config/i386/sse.md: Ditto. - -2024-07-08 Jeevitha Palanisamy <jeevitha@linux.ibm.com> - - PR target/110040 - * config/rs6000/vsx.md (split pattern for V1TI to DI move): New define. - -2024-07-08 Pan Li <pan2.li@intel.com> - - * config/riscv/autovec.md (ustrunc<mode><v_double_trunc>2): Add - new pattern for double truncation. - (ustrunc<mode><v_quad_trunc>2): Ditto but for quad truncation. - (ustrunc<mode><v_oct_trunc>2): Ditto but for oct truncation. - * config/riscv/riscv-protos.h (expand_vec_double_ustrunc): Add - new func decl to expand double vec ustrunc. - (expand_vec_quad_ustrunc): Ditto but for quad. - (expand_vec_oct_ustrunc): Ditto but for oct. - * config/riscv/riscv-v.cc (expand_vec_double_ustrunc): Add new - func impl to expand vector double ustrunc. - (expand_vec_quad_ustrunc): Ditto but for quad. - (expand_vec_oct_ustrunc): Ditto but for oct. - -2024-07-08 Fei Gao <gaofei@eswincomputing.com> - - * common/config/riscv/riscv-common.cc (riscv_subset_list::riscv_subset_list): - init m_subset_num to 0. - (riscv_subset_list::add): increase m_subset_num once a subset added. - (riscv_subset_list::finalize): call handle_implied_ext repeatly - until no change in m_subset_num. - * config/riscv/riscv-subset.h: add m_subset_num member. - -2024-07-08 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/115659 - * config/rs6000/rs6000-builtins.def: Update some bif expanders by - replacing orc<mode>3 with iorc<mode>3. - * config/rs6000/rs6000-string.cc (expand_cmp_vec_sequence): Update gen - function by replacing orc<mode>3 with iorc<mode>3. - * config/rs6000/rs6000.md (orc<mode>3): Rename to ... - (iorc<mode>3): ... this. - -2024-07-08 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/115659 - * doc/md.texi: Document andcm3 and iorcm3. - * gimple-isel.cc (gimple_expand_vec_cond_expr): Add more foldings for - patterns x CMP y ? 0 : z and x CMP y ? z : -1. - * internal-fn.def (BIT_ANDC): New internal function. - (BIT_IORC): Likewise. - * optabs.def (andc, iorc): New optab. - -2024-07-08 Kewen Lin <linkw@linux.ibm.com> - - PR target/115688 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Consider - explicit VSX when masking off ALTIVEC. - -2024-07-08 H.J. Lu <hjl.tools@gmail.com> - - * config/i386/i386.cc (ix86_print_operand): Always generate - branch hint for conditional branches. - * config/i386/i386.h (TARGET_BRANCH_PREDICTION_HINTS): Split - into .. - (TARGET_BRANCH_PREDICTION_HINTS_TAKEN): .. this, and .. - (TARGET_BRANCH_PREDICTION_HINTS_NOT_TAKEN): .. this. - * config/i386/x86-tune.def (X86_TUNE_BRANCH_PREDICTION_HINTS): - Split into .. - (X86_TUNE_BRANCH_PREDICTION_HINTS_TAKEN): .. this, and .. - (X86_TUNE_BRANCH_PREDICTION_HINTS_NOT_TAKEN): .. this. - -2024-07-07 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/bugreport.texi (Bug Criteria): Remove dubious example. - -2024-07-06 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md (bset splitters): Turn into define_and_splits. - Don't depend on combine splitting the "andn with constant" form. - (bset, binv, bclr with masked bit position): New patterns. - -2024-07-06 Jeff Law <jlaw@ventanamicro.com> - - * config/sh/sh.md (adddi3): Only allow matching when we can - still create new pseudos. - (subdi3, *rotcl, *rotcr, *rotcr_neg_t, negdi2): Likewise. - (abs<mode>2, negabs<mode>2, negdi_cond): Likewise. - (*swapbisi2_and_shl8, *swapbhisi2, *movsi_index_disp_load): Likewise. - (*movhi_index_disp_load, *mov<mode>index_disp_store): Likewise. - (*mov_t_msb_neg, *negt_msb, clipu_one): Likewise. - -2024-07-06 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md: Also split with avr_split_tiny_move() - for non-AVR_TINY. - * config/avr/avr.cc (avr_split_tiny_move): Don't change memory - references with base regs that can do PLUS addressing. - (avr_out_lpm_no_lpmx) [POST_INC]: Don't output final ADIW when the - address register is unused after. - -2024-07-06 Eric Botcazou <ebotcazou@adacore.com> - - PR target/115591 - * config/riscv/riscv.cc (riscv_valid_lo_sum_p): Add missing test on - tree_fits_uhwi_p before calling tree_to_uhwi. - -2024-07-06 Roger Sayle <roger@nextmovesoftware.com> - - PR target/115751 - * config/i386/i386-expand.cc (ix86_expand_ternlog): Avoid use of - force_reg to "reload" non-register operands, as these may contain - vec_duplicate (broadcast) operands that aren't supported by - force_reg. Use (safer) gen_reg_rtx and emit_move instead. - -2024-07-05 Iain Sandoe <iain@sandoe.co.uk> - - * config/i386/i386.cc (ix86_cannot_copy_insn_p): New. - (TARGET_CANNOT_COPY_INSN_P): New. - -2024-07-05 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/115153 - * config/arm/arm.cc (arm_legitimate_index_p): Move LDRD case before - NEON. - (thumb2_legitimate_index_p): Update comments. - (output_move_neon): Use DFmode for vldr/vstr and non-checking - adjust_address. - -2024-07-05 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/autovec.md: Add TU policy. - * config/riscv/riscv-protos.h (enum insn_type): Define - SCALAR_MOVE_MERGED_OP_TU. - -2024-07-05 Georg-Johann Lay <avr@gjlay.de> - - PR target/87376 - * config/avr/avr-dimode.md: Use "nop_general_operand" instead - of "general_operand" as predicate for all input operands. - -2024-07-05 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64.cc (struct expand_vec_perm_d): Add zero_op0_p - and zero_op_p1. - (aarch64_evpc_tbl): Implement register value remapping. - (aarch64_vectorize_vec_perm_const): Detect if operand is a zero dup - before it's forced to a reg. - -2024-07-05 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-simd.md - (aarch64_simd_vec_unpack<su>_lo_<mode>): Remove. - (vec_unpack<su>_lo_<mode): Simplify. - * config/aarch64/aarch64.cc (aarch64_gen_shareable_zero): Update - comment. - -2024-07-05 Alex Coplan <alex.coplan@arm.com> - - * dominance.cc (dot_dominance_tree): New. - -2024-07-05 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/sse.md (ssedoublemode): Remove mappings to twice - the number of same-sized elements. Add mappings to the same - number of double-sized elements. - (define_split for vec_concat_minus_plus): Change mode_attr from - ssedoublemode to ssedoublevecmode. - (define_split for vec_concat_plus_minus): Ditto. - (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>): - Ditto. - (avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ditto. - (avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ditto. - (avx512f_shuf_<shuffletype>32x4_1<mask_name>): Ditto. - -2024-07-05 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips-protos.h: New function mips_msa_shf_i8. - * config/mips/mips-msa.md(MSA_WHB_W): Not used anymore; - (msa_shf_<msafmt_f>): Use mips_msa_shf_i8. - * config/mips/mips.cc(mips_const_vector_shuffle_set_p): - Support more cases try to use alien mode instruction; - (mips_msa_shf_i8): New function to get the correct MSA SHF - instruction and IMM. - -2024-07-05 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_instance): Special case - three input permute with the same number of lanes in store - permute lowering. - -2024-07-04 Siarhei Volkau <lis8215@gmail.com> - - * config/arm/arm.cc (thumb_load_double_from_address): Emit ldmia - when address reg rewritten by load. - * config/arm/thumb1.md (peephole2 to rewrite DI/DF load): New. - (peephole2 to rewrite DI/DF store): New. - * config/arm/iterators.md (DIDF): New. - -2024-07-04 Alfie Richards <alfie.richards@arm.com> - - PR target/114890 - * config/aarch64/aarch64-simd.md: Remove bigendian operand swap. - -2024-07-04 Richard Biener <rguenther@suse.de> - - PR middle-end/115426 - * gimplify.cc (gimplify_asm_expr): Handle "rm" output - constraint gimplified to a register (operation). - -2024-07-04 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (bswaphisi2_lowpart peephole2): New - peephole2 variant to eliminate register shuffling. - -2024-07-04 Jeff Law <jlaw@ventanamicro.com> - - * config/rx/rx.cc (rx_expand_prologue): Mark the copy from FP to SP - as frame related. - (rx_expand_epilogue): Mark the stack pointer adjustment as frame - related. - -2024-07-04 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386.cc (ix86_expand_prologue): Set apx_ppx_used - flag in m.fs with TARGET_APX_PPX && !crtl->calls_eh_return. - (ix86_emit_save_regs): Emit ppx is available only when - TARGET_APX_PPX && !crtl->calls_eh_return. - (ix86_expand_epilogue): Don't restore reg using mov when - apx_ppx_used flag is true. - * config/i386/i386.h (struct machine_frame_state): - Add apx_ppx_used flag. - -2024-07-04 Hu, Lin1 <lin1.hu@intel.com> - - PR tree-optimization/115753 - * tree-vect-stmts.cc (supportable_indirect_convert_operation): Add - TYPE_CODE check before SSA_NAME_RANGE_INFO. - -2024-07-03 Jeff Law <jlaw@ventanamicro.com> - - * reorg.cc (relax_delay_slots): Do not optimize a conditional - jump around an unconditional jump/return in the presence of - a text section switch. - -2024-07-03 John David Anglin <danglin@gcc.gnu.org> - - Revert: - 2023-10-05 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa32-linux.h (MALLOC_ABI_ALIGNMENT): Delete. - -2024-07-03 Palmer Dabbelt <palmer@rivosinc.com> - - * doc/invoke.texi: Describe -march behavior for dependent extensions on - RISC-V. - -2024-07-03 Gianluca Guida <gianluca@rivosinc.com> - Patrick O'Neill <patrick@rivosinc.com> - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::to_string): Skip zabha when not supported by - the assembler. - * config.in: Regenerate. - * config/riscv/arch-canonicalize: Make zabha imply zaamo. - * config/riscv/iterators.md (amobh): Add iterator for amo - byte/halfword. - * config/riscv/riscv.opt: Add zabha. - * config/riscv/sync.md (atomic_<atomic_optab><mode>): Add - subword atomic op pattern. - (zabha_atomic_fetch_<atomic_optab><mode>): Add subword - atomic_fetch op pattern. - (lrsc_atomic_fetch_<atomic_optab><mode>): Prefer zabha over lrsc - for subword atomic ops. - (zabha_atomic_exchange<mode>): Add subword atomic exchange - pattern. - (lrsc_atomic_exchange<mode>): Prefer zabha over lrsc for subword - atomic exchange ops. - * configure: Regenerate. - * configure.ac: Add zabha assembler check. - * doc/sourcebuild.texi: Add zabha documentation. - -2024-07-03 Pan Li <pan2.li@intel.com> - - PR target/115763 - * config/riscv/vector.md (*pred_broadcast<mode>): Split into - zvfh and zvfhmin part. - (*pred_broadcast<mode>_zvfh): New define_insn for zvfh part. - (*pred_broadcast<mode>_zvfhmin): Ditto but for zvfhmin. - -2024-07-03 Pan Li <pan2.li@intel.com> - - * match.pd: Allow any otype is less than itype truncation. - -2024-07-03 Pan Li <pan2.li@intel.com> - - * tree-vect-patterns.cc (gimple_unsigned_integer_sat_trunc): Add - new decl generated by match. - (vect_recog_sat_trunc_pattern): Add new func impl to recog the - .SAT_TRUNC pattern. - -2024-07-03 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vectorizable_slp_permutation_1): Remove - redundant dump. - -2024-07-03 Jennifer Schmitz <jschmitz@nvidia.com> - - * match.pd: Fold x/sqrt(x) to sqrt(x). - -2024-07-03 Alexandre Oliva <oliva@adacore.com> - - * dwarf2out.cc (modified_type_die): Follow name's debug type. - -2024-07-03 Alexandre Oliva <oliva@adacore.com> - - PR target/113719 - * config/i386/i386-options.cc - (ix86_override_options_after_change_1): Add opts and opts_set - parms, operate on them, after factoring out of... - (ix86_override_options_after_change): ... this. Restore calls - of ix86_default_align and ix86_recompute_optlev_based_flags. - (ix86_option_override_internal): Call the factored-out bits. - -2024-07-03 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/115475 - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): - Define __ARM_FEATURE_SVE_BF16 for TARGET_SVE_BF16. - -2024-07-03 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/115457 - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): - Define __ARM_FEATURE_BF16 for TARGET_BF16_FP. - -2024-07-03 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (bst_traits::hash): Handle NULL elements - in SLP_TREE_SCALAR_STMTS. - (vect_print_slp_tree): Likewise. - (vect_mark_slp_stmts): Likewise. - (vect_mark_slp_stmts_relevant): Likewise. - (vect_find_last_scalar_stmt_in_slp): Likewise. - (vect_bb_slp_mark_live_stmts): Likewise. - (vect_slp_prune_covered_roots): Likewise. - (vect_bb_partition_graph_r): Likewise. - (vect_remove_slp_scalar_calls): Likewise. - (vect_slp_gather_vectorized_scalar_stmts): Likewise. - (vect_bb_slp_scalar_cost): Likewise. - (vect_contains_pattern_stmt_p): Likewise. - (vect_slp_convert_to_external): Likewise. - (vect_find_first_scalar_stmt_in_slp): Likewise. - (vect_optimize_slp_pass::remove_redundant_permutations): Likewise. - (vect_slp_analyze_node_operations_1): Likewise. - (vect_schedule_slp_node): Likewise. - * tree-vect-stmts.cc (can_vectorize_live_stmts): Likewise. - (vectorizable_shift): Likewise. - * tree-vect-data-refs.cc (vect_slp_analyze_load_dependences): - Handle NULL elements in SLP_TREE_SCALAR_STMTS. - -2024-07-03 Georg-Johann Lay <avr@gjlay.de> - - PR target/98762 - * config/avr/avr.cc (avr_out_movqi_r_mr_reg_disp_tiny): Properly - restore the base register when it is partially clobbered. - -2024-07-03 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114932 - * tree-ssa-loop-ivopts.cc (constant_multiple_of): Use - aff_combination_constant_multiple_p instead. - -2024-07-03 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114932 - * tree-affine.cc (wide_int_constant_multiple_p): Support 0 and 0 being - multiples. - -2024-07-03 Richard Sandiford <richard.sandiford@arm.com> - - * df.h (DF_LR_DCE): New df_problem_id. - (df_lr_dce): New macro. - * df-core.cc (rest_of_handle_df_finish): Check for a null free_fun. - * df-problems.cc (df_lr_finalize): Split out fast DCE handling to... - (df_lr_dce_finalize): ...this new function. - (problem_LR_DCE): New df_problem. - (df_lr_add_problem): Register LR_DCE rather than LR itself. - * dce.cc (fast_dce): Clear df_lr_dce->solutions_dirty. - -2024-07-02 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113859 - * config/aarch64/aarch64-simd.md (aarch64_<su>addlp<mode>): Rename to... - (@aarch64_<su>addlp<mode>): ... This. - (popcount<mode>2): New define_expand. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - * passes.def (expand_pow): Renamed from expand_powcabs. - * timevar.def (TV_TREE_POWCABS): Remove. - (TV_TREE_POW): Add - * tree-pass.h (make_pass_expand_powcabs): Rename to ... - (make_pass_expand_pow): This. - * tree-ssa-math-opts.cc (class pass_expand_powcabs): Rename to ... - (class pass_expand_pow): This. - (pass_expand_powcabs::execute): Rename to ... - (pass_expand_pow::execute): This. - (make_pass_expand_powcabs): Rename to ... - (make_pass_expand_pow): This. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-complex.cc (gimple_expand_builtin_cabs): Add - `cabs(a+ai)`, `cabs(x+0i)` and `cabs(0+xi)` optimizations. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115710 - * tree-complex.cc (init_dont_simulate_again): Handle CABS. - (gimple_expand_builtin_cabs): New function, moved mostly - from tree-ssa-math-opts.cc. - (expand_complex_operations_1): Call gimple_expand_builtin_cabs. - * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Remove. - (build_and_insert_binop): Remove. - (pass_data_expand_powcabs): Update comment. - (pass_expand_powcabs::execute): Don't handle CABS. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-complex.cc (expand_complex_addition): If both - operands have the same real and imag parts, only - add the addition once. - -2024-07-02 David Faust <david.faust@oracle.com> - - * common.opt.urls: Regenerate. - -2024-07-02 David Faust <david.faust@oracle.com> - Cupertino Miranda <cupertino.miranda@oracle.com> - - * btfout.cc (btf_mark_type_used): New. - * ctfc.h (btf_mark_type_used): Declare it here. - * config/bpf/bpf.cc (bpf_option_override): Enable -gprune-btf - by default if -gbtf is enabled. - * config/bpf/core-builtins.cc (extra_fn): New typedef. - (compute_field_expr): Add callback parameter, and call it if supplied. - Fix computation for MEM_REF. - (mark_component_type_as_used): New. - (bpf_mark_types_as_used): Likewise. - (bpf_expand_core_builtin): Call here. - * doc/invoke.texi (Debugging Options): Note that -gprune-btf is - enabled by default for BPF target when generating BTF. - -2024-07-02 David Faust <david.faust@oracle.com> - - * btfout.cc (btf_used_types): New hash set. - (struct btf_fixup): New. - (fixups, forwards): New vecs. - (btf_output): Calculate num_types depending on debug_prune_btf. - (btf_early_finsih): New initialization for debug_prune_btf. - (btf_add_used_type): New function. - (btf_used_type_list_cb): Likewise. - (btf_collect_pruned_types): Likewise. - (btf_add_vars): Handle special case for variables in ".maps" section - when generating BTF for BPF CO-RE target. - (btf_late_finish): Use btf_collect_pruned_types when debug_prune_btf - is in effect. Move some initialization to btf_early_finish. - (btf_finalize): Additional deallocation for debug_prune_btf. - * common.opt (gprune-btf): New flag. - * ctfc.cc (init_ctf_strtable): Make non-static. - * ctfc.h (init_ctf_strtable, ctfc_delete_strtab): Make extern. - * doc/invoke.texi (Debugging Options): Document -gprune-btf. - -2024-07-02 David Faust <david.faust@oracle.com> - - * btfout.cc (struct btf_datasec_entry): New. - (struct btf_datasec): Add `id' member. Change `entries' to use - new struct btf_datasec_entry. - (func_map): New hash_map. - (max_translated_id): New. - (btf_var_ids, btf_id_map, holes, voids, num_vars_added) - (num_types_added, num_types_created): Delete. - (btf_absolute_var_id, btf_relative_var_id, btf_absolute_func_id) - (btf_relative_func_id, btf_absolute_datasec_id, init_btf_id_map) - (get_btf_id, set_btf_id, btf_emit_id_p): Delete. - (btf_removed_type_p): Delete. - (btf_dtd_kind, btf_emit_type_p): New helpers. - (btf_fwd_to_enum_p, btf_calc_num_vbytes): Use them. - (btf_collect_datasec): Delete. - (btf_dtd_postprocess_cb, btf_dvd_emit_preprocess_cb) - (btf_dtd_emit_preprocess_cb, btf_emit_preprocess): Delete. - (btf_dmd_representable_bitfield_p): Adapt to type reference changes - and delete now-unused ctfc argument. - (btf_asm_datasec_type_ref): Delete. - (btf_asm_type_ref): Adapt to type reference changes, simplify. - (btf_asm_type): Likewise. Mark struct/union types with bitfield - members. - (btf_asm_array): Adapt to data structure changes. - (btf_asm_varent): Likewise. - (btf_asm_sou_member): Likewise. Ensure non-bitfield members are - correctly re-encoded if struct or union contains any bitfield. - (btf_asm_func_arg, btf_asm_func_type, btf_asm_datasec_entry) - (btf_asm_datasec_type): Adapt to data structure changes. - (output_btf_header): Adapt to other changes, simplify type - length calculation, add info to assembler comments. - (output_btf_vars): Adapt to other changes. - (output_btf_strs): Fix overlong lines. - (output_asm_btf_sou_fields, output_asm_btf_enum_list) - (output_asm_btf_func_args_list, output_asm_btf_vlen_bytes) - (output_asm_btf_type, output_btf_types, output_btf_func_types) - (output_btf_datasec_types): Adapt to other changes. - (btf_init_postprocess): Delete. - (btf_output): Change to only perform output. - (btf_add_const_void, btf_add_func_records): New. - (btf_early_finish): Use them here. New. - (btf_datasec_push_entry): Adapt to data structure changes. - (btf_datasec_add_func, btf_datasec_add_var): New. - (btf_add_func_datasec_entries): New. - (btf_emit_variable_p): New helper. - (btf_add_vars): Use it here. New. - (btf_type_list_cb, btf_collect_translated_types): New. - (btf_assign_func_ids, btf_late_assign_var_ids) - (btf_assign_datasec_ids): New. - (btf_finish): Remove unused argument. Call new btf_late* - functions and btf_output. - (btf_finalize): Adapt to data structure changes. - * ctfc.h (struct ctf_dtdef): Convert existing boolean flags to - BOOL_BITFIELD and reorder. - (struct ctf_dvdef): Add dvd_id member. - (btf_finish): Remove argument from prototype. - (get_btf_id): Delete prototype. - (funcs_traverse_callback, traverse_btf_func_types): Add an - explanatory comment. - * dwarf2ctf.cc (ctf_debug_finish): Remove unused argument. - * dwarf2ctf.h: Analogous change. - * dwarf2out.cc: Likewise. - -2024-07-02 David Faust <david.faust@oracle.com> - - * btfout.cc (BTF_VOID_TYPEID, BTF_INIT_TYPEID): Move defines to - include/btf.h. - (btf_dvd_emit_preprocess_cb, btf_emit_preprocess) - (btf_dmd_representable_bitfield_p, btf_asm_array, btf_asm_varent) - (btf_asm_sou_member, btf_asm_func_arg, btf_init_postprocess): - Adapt to structural changes in ctf_* structs. - * ctfc.h (struct ctf_dtdef): Add forward declaration. - (ctf_dtdef_t, ctf_dtdef_ref): Move typedefs earlier. - (struct ctf_arinfo, struct ctf_funcinfo, struct ctf_sliceinfo) - (struct ctf_itype, struct ctf_dmdef, struct ctf_func_arg) - (struct ctf_dvdef): Use pointers instead of type IDs for - references to other types and use typedefs where appropriate. - (struct ctf_dtdef): Add ref_type member. - (ctf_type_exists): Use pointer instead of type ID. - (ctf_add_reftype, ctf_add_enum, ctf_add_slice, ctf_add_float) - (ctf_add_integer, ctf_add_unknown, ctf_add_pointer) - (ctf_add_array, ctf_add_forward, ctf_add_typedef) - (ctf_add_function, ctf_add_sou, ctf_add_enumerator) - (ctf_add_variable): Likewise. Return pointer instead of ID. - (ctf_lookup_tree_type): Return pointer to type instead of ID. - * ctfc.cc: Analogous changes. - * ctfout.cc (ctf_asm_type, ctf_asm_slice, ctf_asm_varent) - (ctf_asm_sou_lmember, ctf_asm_sou_member, ctf_asm_func_arg) - (output_ctf_objt_info): Adapt to changes. - * dwarf2ctf.cc (gen_ctf_type, gen_ctf_void_type) - (gen_ctf_unknown_type, gen_ctf_base_type, gen_ctf_pointer_type) - (gen_ctf_subrange_type, gen_ctf_array_type, gen_ctf_typedef) - (gen_ctf_modifier_type, gen_ctf_sou_type, gen_ctf_function_type) - (gen_ctf_enumeration_type, gen_ctf_variable, gen_ctf_function) - (gen_ctf_type, ctf_do_die): Likewise. - * config/bpf/btfext-out.cc (struct btf_ext_core_reloc): Use - pointer instead of type ID. - (bpf_core_reloc_add, bpf_core_get_sou_member_index) - (output_btfext_core_sections): Adapt to above changes. - * config/bpf/core-builtins.cc (process_type): Likewise. - -2024-07-02 David Faust <david.faust@oracle.com> - - * btfout.cc (btf_init_postprocess): Rename to... - (btf_early_finish): ...this. - (btf_output): Rename to... - (btf_finish): ...this. - * ctfc.h: Analogous changes. - * dwarf2ctf.cc (ctf_debug_early_finish): Conditionally call - btf_early_finish, or ctf_finalize as appropriate. Emit BTF - here for LTO builds. - (ctf_debug_finish): Always call btf_finish here if generating - BTF info in non-LTO builds. - (ctf_debug_finalize, ctf_debug_init_postprocess): Delete. - * dwarf2out.cc (dwarf2out_early_finish): Remove call to - ctf_debug_init_postprocess. - -2024-07-02 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/115188 - * config/arm/arm.md (unaligned_loadsi): Use 'Uw' constraint and - 'mem_and_no_t1_wback_op'. - (unaligned_loadhiu): Likewise. - (unaligned_storesi): Likewise. - (unaligned_storehi): Likewise. - * config/arm/predicates.md (mem_and_no_t1_wback_op): Add new predicate. - * config/arm/sync.md (arm_atomic_load<mode>): Use 'Uw' constraint. - (arm_atomic_store<mode>): Likewise. - -2024-07-02 Matthew Malcomson <matthew.malcomson@arm.com> - - * doc/tm.texi: Regenerated. - * target.def (function_attribute_inlinable_p, - unspec_may_trap_p): Update documentation. - -2024-07-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115741 - * tree-vect-stmts.cc (get_group_load_store_type): Also - handle VMAT_CONTIGUOUS_REVERSE when determining overrun. - -2024-07-02 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn-opts.h (TARGET_GLOBAL_ADDRSPACE): New. - (TARGET_AVGPRS): New. - (TARGET_AVGPR_MEMOPS): New. - (TARGET_AVGPR_COMBINED): New. - (TARGET_FLAT_OFFSETS): New. - (TARGET_11BIT_GLOBAL_OFFSET): New. - (TARGET_CDNA2_MEM_COSTS): New. - (TARGET_WAVE64_COMPAT): New. - (TARGET_DPP_FULL): New. - (TARGET_DPP16): New. - (TARGET_DPP8): New. - (TARGET_AVGPR_CDNA1_NOPS): New. - (TARGET_VGPR_GRANULARITY): New. - (TARGET_ARCHITECTED_FLAT_SCRATCH): New. - (TARGET_EXPLICIT_CARRY): New. - (TARGET_MULTIPLY_IMMEDIATE): New. - (TARGET_SDWA): New. - (TARGET_WBINVL1_CACHE): New. - (TARGET_GLn_CACHE): New. - * config/gcn/gcn-valu.md (throughout): Change TARGET_GCN*, - TARGET_CDNA* and TARGET_RDNA* to use TARGET_<feature> instead. - * config/gcn/gcn.cc (throughout): Likewise. - * config/gcn/gcn.md (throughout): Likewise. - -2024-07-02 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (*imulhi<mode>zu): Added APX - NF support. - (*imulhi<mode>zu<nf_name>): New define_insn. - (*mulsi3_1_zext<nf_name>): Ditto. - (*mul<mode><dwi>3_1<nf_name>): Ditto. - (*<u>mulqihi3_1<nf_name>): Ditto. - (*mul<mode>3_1<nf_name>): Added APX NDD support. - (*mulv<mode>4): Ditto. - (*mulvhi4): Ditto. - -2024-07-02 Kewen Lin <linkw@linux.ibm.com> - - PR target/115739 - * config/sparc/vxworks.h (SPARC_LONG_DOUBLE_TYPE_SIZE): New define. - -2024-07-02 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_insn_cost): - New function. - (TARGET_INSN_COST): New macro. - -2024-07-02 Kewen Lin <linkw@linux.ibm.com> - - PR tree-optimization/115659 - * gimple-isel.cc (gimple_expand_vec_cond_expr): Add more foldings for - patterns x CMP y ? -1 : z and x CMP y ? z : 0. - -2024-07-01 Richard Biener <rguenther@suse.de> - - * tree-ssa-forwprop.cc (fwprop_set_lattice_val): Preserve - SSA info. - * tree-ssa-propagate.cc - (substitute_and_fold_dom_walker::before_dom_children): Likewise. - -2024-07-01 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (peephole2): Transform two consecutive - additions into a 3-component lea if !TARGET_AVOID_LEA_FOR_ADDR. - -2024-07-01 Georg-Johann Lay <avr@gjlay.de> - - PR target/88236 - PR target/115726 - * config/avr/avr.md (mov<mode>) [avr_mem_memx_p]: Expand in such a - way that the destination does not overlap with any hard register - clobbered / used by xload8qi_A resp. xload<mode>_A. - * config/avr/avr.cc (avr_out_xload): Avoid early-clobber - situation for Z by executing just one load when the output register - overlaps with Z. - -2024-07-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115723 - * tree-vect-loop.cc (check_reduction_path): For a .COND_ADD - verify the else value also refers to the reduction chain op. - -2024-07-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115694 - * tree-ssa-forwprop.cc (pass_forwprop::execute): Check the - store is complex before rewriting it. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115517 - * config/i386/mmx.md (vcond<mode>v2sf): Removed. - (vcond<MMXMODE124:mode><MMXMODEI:mode>): Ditto. - (vcond<mode><mode>): Ditto. - (vcondu<MMXMODE124:mode><MMXMODEI:mode>): Ditto. - (vcondu<mode><mode>): Ditto. - * config/i386/sse.md (vcond<V_512:mode><VF_512:mode>): Ditto. - (vcond<V_256:mode><VF_256:mode>): Ditto. - (vcond<V_128:mode><VF_128:mode>): Ditto. - (vcond<VI2HFBF_AVX512VL:mode><VHF_AVX512VL:mode>): Ditto. - (vcond<V_512:mode><VI_AVX512BW:mode>): Ditto. - (vcond<V_256:mode><VI_256:mode>): Ditto. - (vcond<V_128:mode><VI124_128:mode>): Ditto. - (vcond<VI8F_128:mode>v2di): Ditto. - (vcondu<V_512:mode><VI_AVX512BW:mode>): Ditto. - (vcondu<V_256:mode><VI_256:mode>): Ditto. - (vcondu<V_128:mode><VI124_128:mode>): Ditto. - (vcondu<VI8F_128:mode>v2di): Ditto. - (vcondeq<VI8F_128:mode>v2di): Ditto. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115517 - * config/i386/sse.md ("*ashr<mode>3_1"): New - define_insn_and_split. - (*avx512_ashr<mode>3_1): Ditto. - (*avx2_lshr<mode>3_1): Ditto. - (*avx2_lshr<mode>3_2): Ditto and add 2 combine splitter after - it. - * config/i386/mmx.md (mmxscalarsize): New mode attribute. - (*mmw_ashr<mode>3_1): New define_insn_and_split. - ("mmx_<insn><mode>3): Add a combine spiltter after it. - (*mmx_ashrv2hi3_1): New define_insn_and_plit, also add a - combine splitter after it. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115517 - * config/i386/sse.md - (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_lt_avx512): New - define_insn_and_split. - (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext_lt_avx512): - Ditto. - (*<sse2_avx2>_pmovmskb_lt_avx512): Ditto. - (*<sse2_avx2>_pmovmskb_zext_lt_avx512): Ditto. - (*sse2_pmovmskb_ext_lt_avx512): Ditto. - (*pmovsk_kmask_v16qi_avx512): Ditto. - (*pmovsk_mask_v32qi_avx512): Ditto. - (*pmovsk_mask_cmp_<mode>_avx512): Ditto. - (*pmovsk_ptest_<mode>_avx512): Ditto. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115517 - * config/i386/sse.md (*minmax<mode>3_1): New pre_reload - define_insn_and_split. - (*minmax<mode>3_2): Ditto. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115517 - * config/i386/sse.md - (*<avx512>_cvtmask2<ssemodesuffix><mode>_not): New pre_reload - splitter. - (*<avx512>_cvtmask2<ssemodesuffix><mode>_not): Ditto. - (*avx2_pcmp<mode>3_6): Ditto. - (*avx2_pcmp<mode>3_7): Ditto. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115517 - * config/i386/sse.md - (*<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>_gt): New - define_insn_and_split. - (*<sse4_1>_blendv<ssefltmodesuffix><avxsizesuffix>_gtint): - Ditto. - (*<sse4_1>_blendv<ssefltmodesuffix><avxsizesuffix>_not_gtint): - Ditto. - (*<sse4_1_avx2>_pblendvb_gt): Ditto. - (*<sse4_1_avx2>_pblendvb_gt_subreg_not): Ditto. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-features.cc (ix86_rpad_gate): New function. - * config/i386/i386-options.cc (ix86_override_options_after_change): - Don't disable flate_combine. - * config/i386/i386-passes.def: Move pass_stv2 and pass_rpad - after pre_reload pas_late_combine. - * config/i386/i386-protos.h (ix86_rpad_gate): New declare. - * config/i386/i386.cc (ix86_insn_cost): New function. - (TARGET_INSN_COST): Define. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115610 - * config/i386/i386.md (<*insnsi3_zext): Add alternative ?k, - enable it only for lshiftrt and under avx512bw. - * config/i386/sse.md (*klshrsi3_1_zext): New define_insn, and - add corresponding define_split after it. - -2024-06-30 John David Anglin <danglin@gcc.gnu.org> - - PR target/115691 - * config/pa/pa.md: Remove incorrect xmpyu patterns. - -2024-06-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115701 - * tree-ssanames.cc (maybe_duplicate_ssa_info_at_copy): - Only copy info from within the same BB. - -2024-06-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115701 - * tree-ssanames.h (maybe_duplicate_ssa_info_at_copy): Declare. - * tree-ssanames.cc (maybe_duplicate_ssa_info_at_copy): New - function, split out from ... - * tree-ssa-copy.cc (fini_copy_prop): ... here. - * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): ... - and here. - -2024-06-30 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_1): Compare - STMT_VINFO_REDUC_IDX. - (vect_build_slp_tree_2): Prevent operand swapping for - all stmts participating in a reduction. - -2024-06-30 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (vectorizable_reduction): Determine input vectype - during traversal of reduction statements. - -2024-06-30 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-stmts.cc (vectorizable_shift): Allow shift-by-induction - for single-lane slp node. - -2024-06-29 Maciej W. Rozycki <macro@orcam.me.uk> - - PR rtl-optimization/115565 - * cse.cc (record_jump_cond): Use INT_MIN rather than -1 for - `comparison_qty' if !REG_P. - -2024-06-29 Sergei Lewis <slewis@rivosinc.com> - - * config/riscv/riscv.md (movmem<mode>): New expander. - -2024-06-29 Pan Li <pan2.li@intel.com> - - * match.pd: Add imm form for .SAT_ADD matching. - * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): - Add .SAT_ADD matching under PLUS_EXPR. - -2024-06-29 Jeff Law <jlaw@ventanamicro.com> - - * config/mcore/mcore.md (zero_extendqihi2): Clobber CC in expander - and matching insn. - (zero_extendqisi2): Likewise. - -2024-06-28 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ssa_lazy_cache::ssa_lazy_cache): Relocate here. - Check for provided obstack. - (ssa_lazy_cache::~ssa_lazy_cache): Relocate here. Free bitmap or obstack. - * gimple-range-cache.h (ssa_lazy_cache::ssa_lazy_cache): Move. - (ssa_lazy_cache::~ssa_lazy_cache): Move. - (ssa_lazy_cache::m_ob): New. - * gimple-range.cc (dom_ranger::dom_ranger): Iniitialize obstack. - (dom_ranger::~dom_ranger): Release obstack. - (dom_ranger::pre_bb): Create ssa_lazy_cache using obstack. - * gimple-range.h (m_bitmaps): New. - -2024-06-28 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386-expand.cc (ix86_expand_move): Remove extra - assignment to tmp variable, reuse tmp variable instead of - declaring new temporary variable and remove tmp variable shadowing. - -2024-06-28 Jørgen Kvalsvik <j@lambda.is> - - * tree-profile.cc (find_conditions): Use auto_vec without - embedded storage. - -2024-06-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115652 - * tree-vect-slp.cc (vect_schedule_slp_node): Handle the case - where the outer loop header block is empty. - -2024-06-28 Evgeny Karpov <Evgeny.Karpov@microsoft.com> - - PR bootstrap/115635 - PR target/115643 - PR target/115661 - * config/aarch64/cygming.h - (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Rename to - PE_COFF_LEGITIMIZE_EXTERN_DECL. - (PE_COFF_LEGITIMIZE_EXTERN_DECL): Likewise. - * config/i386/cygming.h (GOT_ALIAS_SET): Remove the diffinition to - reuse it from i386.h. - (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Rename to - PE_COFF_LEGITIMIZE_EXTERN_DECL. - (PE_COFF_LEGITIMIZE_EXTERN_DECL): Likewise. - * config/i386/i386-expand.cc (ix86_expand_move): Return - ix86_GOT_alias_set. - * config/i386/i386-expand.h (ix86_GOT_alias_set): Likewise. - * config/i386/i386.cc (ix86_GOT_alias_set): Likewise. - * config/i386/i386.h (GOT_ALIAS_SET): Likewise. - * config/mingw/winnt-dll.cc (get_dllimport_decl): Use - GOT_ALIAS_SET. - (legitimize_pe_coff_symbol): Rename to - PE_COFF_LEGITIMIZE_EXTERN_DECL. - * config/mingw/winnt-dll.h (ix86_GOT_alias_set): Declare - ix86_GOT_alias_set. - -2024-06-28 Aldy Hernandez <aldyh@redhat.com> - - * range-op-ptr.cc (class hybrid_and_operator): Remove. - (class hybrid_or_operator): Same. - (class hybrid_min_operator): Same. - (class hybrid_max_operator): Same. - -2024-06-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115640 - * tree-vect-stmts.cc (vectorizable_load): With an inner - loop SLP access to not apply a gap adjustment. - -2024-06-28 Andrew Stubbs <ams@baylibre.com> - - PR target/115640 - * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Modify RDNA checks. - -2024-06-28 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.md (*concat<mode><dwi>3_3): Change zero_extend - to any_extend in first operand to left shift by mode precision. - (*concat<mode><dwi>3_4): Likewise. - (*concat<mode><dwi>3_6): Likewise. - -2024-06-28 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-expand.cc (ix86_ternlog_idx) <case VEC_DUPLICATE>: - Add a "goto do_mem_operand" as this need not match memory_operand. - <case CONST_VECTOR>: Only args[2] may be volatile memory operand. - Allow MEM/VEC_DUPLICATE/CONST_VECTOR as args[0] and args[1]. - -2024-06-27 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115677 - * late-combine.cc (pass_late_combine::gate): New function. - -2024-06-27 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - PR target/115634 - * config/s390/s390.cc (s390_decompose_addrstyle_without_index): - Check for ADDR_REGS in s390_decompose_addrstyle_without_index. - -2024-06-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115669 - * tree-vect-slp.cc (vect_build_slp_tree_2): Do not reassociate - chains that participate in a reduction. - -2024-06-27 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (update_list::update_list): Add m_bitmaps. - (update_list::~update_list): Initialize m_bitmaps. - * gimple-range-cache.h (ssa_lazy_cache): Add m_bitmaps. - * gimple-range.cc (enable_ranger): Remove global bitmap - initialization. - (disable_ranger): Remove global bitmap release. - -2024-06-27 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/sse.md - (float<floatunssuffix><sselongvecmodelower><mode>2<mask_name> - <round_name>): Refactor the pattern. - (unspec_fix<vcvtt_uns_suffix>_trunc<mode><sselongvecmodelower>2 - <mask_name><round_saeonly_name>): Ditto. - (fix<fixunssuffix>_trunc<mode><sselongvecmodelower>2<mask_name> - <round_saeonly_name>): Ditto. - * config/i386/subst.md (round_modev8sf_condition): Remove. - (round_saeonly_modev8sf_condition): Ditto. - -2024-06-27 Hu, Lin1 <lin1.hu@intel.com> - - PR target/107432 - * config/i386/i386-expand.cc (ix86_expand_trunc_with_avx2_noavx512f): - New function for generate a series of suitable insn. - * config/i386/i386-protos.h (ix86_expand_trunc_with_avx2_noavx512f): - Define new function. - * config/i386/sse.md: Extend trunc<mode><mode>2 for x86-64-v3. - (ssebytemode) Add V8HI. - (PMOV_DST_MODE_2_AVX2): New mode iterator. - (PMOV_SRC_MODE_3_AVX2): Ditto. - * config/i386/mmx.md - (trunc<mode><mmxhalfmodelower>2): Ditto. - (avx512vl_trunc<mode><mmxhalfmodelower>2): Ditto. - (truncv2si<mode>2): Ditto. - (avx512vl_truncv2si<mode>2): Ditto. - (mmxbytemode): New mode attr. - -2024-06-27 Hu, Lin1 <lin1.hu@intel.com> - - PR target/107432 - * config/i386/mmx.md - (VI2_32_64): New mode iterator. - (mmxhalfmode): New mode atter. - (mmxhalfmodelower): Ditto. - (truncv2hiv2qi2): Extend mode v4hi and change name from - truncv2hiv2qi to trunc<mode><mmxhalfmodelower>2. - -2024-06-27 Hu, Lin1 <lin1.hu@intel.com> - - PR target/107432 - * tree-vect-generic.cc - (expand_vector_conversion): Support convert for int -> int, - float -> float and int <-> float. - * tree-vect-stmts.cc (vectorizable_conversion): Wrap the - indirect convert part. - (supportable_indirect_convert_operation): New function. - * tree-vectorizer.h (supportable_indirect_convert_operation): - Define the new function. - -2024-06-27 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc (loongarch_print_operand_reloc): - Dedup and sort the comment describing modifiers. - -2024-06-27 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc: - (loongarch_use_bstrins_for_ior_with_mask): Split the main logic - into ... - (loongarch_use_bstrins_for_ior_with_mask_1): ... here. - (loongarch_rtx_costs): Special case for IOR those can be - implemented with bstrins. - -2024-06-27 liuhongt <hongtao.liu@intel.com> - - PR target/115462 - * config/i386/i386.cc (ix86_rtx_costs): Make cost of MEM (reg + - disp) just a little bit more than MEM (reg). - -2024-06-27 Pan Li <pan2.li@intel.com> - - * internal-fn.def (SAT_TRUNC): Add new signed IFN sat_trunc as - unary_convert. - * match.pd: Add new matching pattern for unsigned int sat_trunc. - * optabs.def (OPTAB_CL): Add unsigned and signed optab. - * tree-ssa-math-opts.cc (gimple_unsigend_integer_sat_trunc): Add - new decl for the matching pattern generated func. - (match_unsigned_saturation_trunc): Add new func impl to match - the .SAT_TRUNC. - (math_opts_dom_walker::after_dom_children): Add .SAT_TRUNC match - function under BIT_IOR_EXPR case. - -2024-06-27 Pan Li <pan2.li@intel.com> - - * match.pd: Add convert description for minus and capture. - * tree-vect-patterns.cc (vect_recog_build_binary_gimple_call): Add - new logic to handle in_type is incompatibile with out_type, as - well as rename from. - (vect_recog_build_binary_gimple_stmt): Rename to. - (vect_recog_sat_add_pattern): Leverage above renamed func. - (vect_recog_sat_sub_pattern): Ditto. - -2024-06-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115652 - * tree-vect-slp.cc (vect_schedule_slp_node): Only insert - at the start of the block if that strictly dominates - the discovered dependent stmt. - -2024-06-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115493 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Use - first scalar result. - -2024-06-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115629 - * tree-ssa-tail-merge.cc (gimple_equal_p): Handle - memory references better. - (deps_ok_for_redirect): Handle the case not both blocks - are considered a valid prevailing block. - -2024-06-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115652 - * tree-vect-slp.cc (vect_schedule_slp_node): Advance the - iterator based on last_stmt only for vector defs. - -2024-06-26 Jørgen Kvalsvik <j@lambda.is> - - * gcov-io.h (GCOV_ARC_TRUE): New. - (GCOV_ARC_FALSE): New. - * gcov.cc (struct arc_info): Add true_value, false_value. - (read_graph_file): Read true_value, false_value. - * profile.cc (branch_prob): Write GCOV_ARC_TRUE, GCOV_ARC_FALSE. - -2024-06-26 Jørgen Kvalsvik <j@lambda.is> - - * gcov.cc (print_usage): Reference masking MC/DC. - -2024-06-26 Jørgen Kvalsvik <j@lambda.is> - - * doc/gcov.texi: Add MC/DC section. - -2024-06-26 Jørgen Kvalsvik <j@lambda.is> - - * tree-profile.cc (find_conditions): Use auto_vec. - -2024-06-26 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/arm/arm.cc (arm_predict_doloop_p): Reject loops with function - calls that are not builtins. - -2024-06-26 Kyrylo Tkachov <ktkachov@nvidia.com> - - * config/aarch64/aarch64-cores.def (grace): New entry. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi (AArch64 Options): Document the above. - -2024-06-26 Evgeny Karpov <Evgeny.Karpov@microsoft.com> - - * config/i386/i386.cc (legitimize_dllimport_symbol): Remove unused - functions. - (legitimize_pe_coff_extern_decl): Likewise. - -2024-06-26 Kewen Lin <linkw@linux.ibm.com> - Xionghu Luo <xionghuluo@tencent.com> - - PR target/106069 - PR target/115355 - * config/rs6000/altivec.md (altivec_vmrghh_direct): Rename to ... - (altivec_vmrghh_direct_be): ... this. Add condition BYTES_BIG_ENDIAN. - (altivec_vmrghh_direct_le): New define_insn. - (altivec_vmrglh_direct): Rename to ... - (altivec_vmrglh_direct_be): ... this. Add condition BYTES_BIG_ENDIAN. - (altivec_vmrglh_direct_le): New define_insn. - (altivec_vmrghh): Adjust by calling gen_altivec_vmrghh_direct_be - for BE and gen_altivec_vmrglh_direct_le for LE. - (altivec_vmrglh): Adjust by calling gen_altivec_vmrglh_direct_be - for BE and gen_altivec_vmrghh_direct_le for LE. - (vec_widen_umult_hi_v16qi): Adjust the call to - gen_altivec_vmrghh_direct by gen_altivec_vmrghh for BE - and by gen_altivec_vmrglh for LE. - (vec_widen_smult_hi_v16qi): Likewise. - (vec_widen_umult_lo_v16qi): Adjust the call to - gen_altivec_vmrglh_direct by gen_altivec_vmrglh for BE - and by gen_altivec_vmrghh for LE. - (vec_widen_smult_lo_v16qi): Likewise. - * config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace - CODE_FOR_altivec_vmrghh_direct by - CODE_FOR_altivec_vmrghh_direct_be for BE and - CODE_FOR_altivec_vmrghh_direct_le for LE. And replace - CODE_FOR_altivec_vmrglh_direct by - CODE_FOR_altivec_vmrglh_direct_be for BE and - CODE_FOR_altivec_vmrglh_direct_le for LE. - -2024-06-26 Kewen Lin <linkw@linux.ibm.com> - Xionghu Luo <xionghuluo@tencent.com> - - PR target/106069 - PR target/115355 - * config/rs6000/altivec.md (altivec_vmrghb_direct): Rename to ... - (altivec_vmrghb_direct_be): ... this. Add condition BYTES_BIG_ENDIAN. - (altivec_vmrghb_direct_le): New define_insn. - (altivec_vmrglb_direct): Rename to ... - (altivec_vmrglb_direct_be): ... this. Add condition BYTES_BIG_ENDIAN. - (altivec_vmrglb_direct_le): New define_insn. - (altivec_vmrghb): Adjust by calling gen_altivec_vmrghb_direct_be - for BE and gen_altivec_vmrglb_direct_le for LE. - (altivec_vmrglb): Adjust by calling gen_altivec_vmrglb_direct_be - for BE and gen_altivec_vmrghb_direct_le for LE. - * config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace - CODE_FOR_altivec_vmrghb_direct by - CODE_FOR_altivec_vmrghb_direct_be for BE and - CODE_FOR_altivec_vmrghb_direct_le for LE. And replace - CODE_FOR_altivec_vmrglb_direct by - CODE_FOR_altivec_vmrglb_direct_be for BE and - CODE_FOR_altivec_vmrglb_direct_le for LE. - -2024-06-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115646 - * tree-call-cdce.cc (check_pow): Check for bit_sz values - as allowed by transform. - -2024-06-26 Haochen Gui <guihaoc@gcc.gnu.org> - - * builtins.cc (interclass_mathfn_icode): Set optab to isnormal_optab - for isnormal builtin. - * optabs.def (isnormal_optab): New. - * doc/md.texi (isnormal): Document. - -2024-06-26 Haochen Gui <guihaoc@gcc.gnu.org> - - * builtins.cc (interclass_mathfn_icode): Set optab to isfinite_optab - for isfinite builtin. - * optabs.def (isfinite_optab): New. - * doc/md.texi (isfinite): Document. - -2024-06-26 liuhongt <hongtao.liu@intel.com> - - PR target/114189 - * match.pd: Simplify a < 0 ? -1 : 0 to (signed) >> 31 and a < - 0 ? 1 : 0 to (unsigned) a >> 31 for vector integer type. - -2024-06-26 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (struct codeview_custom_type): Add lf_procedure - and lf_arglist to union. - (write_lf_procedure, write_lf_arglist): New functions. - (write_custom_types): Call write_lf_procedure and write_lf_arglist. - (get_type_num_subroutine_type): New function. - (get_type_num): Handle DW_TAG_subroutine_type DIEs. - * dwarf2codeview.h (LF_PROCEDURE, LF_ARGLIST): Define. - -2024-06-26 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (struct codeview_custom_type): Add lf_bitfield to - union. - (write_lf_bitfield): New function. - (write_custom_types): Call write_lf_bitfield. - (create_bitfield): New function. - (get_type_num_struct): Handle bitfields. - * dwarf2codeview.h (LF_BITFIELD): Define. - -2024-06-26 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS-libcommon): Add diagnostic-global-context.o. - * diagnostic-global-context.cc: New file, taken from material in - diagnostic.cc. - * diagnostic.cc (global_diagnostic_context): Move to - diagnostic-global-context.cc. - (global_dc): Likewise. - (verbatim): Likewise. - (emit_diagnostic): Likewise. - (emit_diagnostic_valist): Likewise. - (emit_diagnostic_valist_meta): Likewise. - (inform): Likewise. - (inform_n): Likewise. - (warning): Likewise. - (warning_at): Likewise. - (warning_meta): Likewise. - (warning_n): Likewise. - (pedwarn): Likewise. - (permerror): Likewise. - (permerror_opt): Likewise. - (error): Likewise. - (error_n): Likewise. - (error_at): Likewise. - (error_meta): Likewise. - (sorry): Likewise. - (sorry_at): Likewise. - (seen_error): Likewise. - (fatal_error): Likewise. - (internal_error): Likewise. - (internal_error_no_backtrace): Likewise. - (fnotice): Likewise. - (auto_diagnostic_group::auto_diagnostic_group): Likewise. - (auto_diagnostic_group::~auto_diagnostic_group): Likewise. - -2024-06-26 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-path.cc (class path_label): Add m_path field, - and use it to replace all uses of global_dc. - (event_range::event_range): Add "ctxt" param and use it to - construct m_path_label. - (event_range::maybe_add_event): Add "ctxt" param and pass it to - gcc_rich_location::add_location_if_nearby. - (path_summary::path_summary): Add "ctxt" param and pass it to - event_range::maybe_add_event. - (diagnostic_context::print_path): Pass *this to path_summary ctor. - (selftest::test_empty_path): Use "dc" when constructing - path_summary rather than implicitly using global_dc. - (selftest::test_intraprocedural_path): Likewise. - (selftest::test_interprocedural_path_1): Likewise. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - (selftest::test_control_flow_1): Likewise. - (selftest::test_control_flow_2): Likewise. - (selftest::test_control_flow_3): Likewise. - (selftest::assert_cfg_edge_path_streq): Likewise. - (selftest::test_control_flow_5): Likewise. - (selftest::test_control_flow_6): Likewise. - (selftest::diagnostic_path_cc_tests): Eliminate use of global_dc. - * diagnostic-show-locus.cc - (gcc_rich_location::add_location_if_nearby): Add "ctxt" param and - use it instead of implicitly using global_dc. - (selftest::test_add_location_if_nearby): Use - test_diagnostic_context rather than implicitly using global_dc. - * diagnostic.cc (pedantic_warning_kind): Delete macro. - (permissive_error_kind): Delete macro. - (permissive_error_option): Delete macro. - (diagnostic_context::diagnostic_enabled): Remove use of - permissive_error_option. - (diagnostic_context::report_diagnostic): Remove use of - pedantic_warning_kind. - (diagnostic_impl): Convert to... - (diagnostic_context::diagnostic_impl): ...this. - (diagnostic_n_impl): Convert to... - (diagnostic_context::diagnostic_n_impl): ...this. - (emit_diagnostic): Explicitly use global_dc for method call. - (emit_diagnostic_valist): Likewise. - (emit_diagnostic_valist_meta): Likewise. - (inform): Likewise. - (inform_n): Likewise. - (warning): Likewise. - (warning_at): Likewise. - (warning_meta): Likewise. - (warning_n): Likewise. - (pedwarn): Likewise. - (permerror): Likewise. - (permerror_opt): Likewise. - (error): Likewise. - (error_n): Likewise. - (error_at): Likewise. - (error_meta): Likewise. - (sorry): Likewise. - (sorry_at): Likewise. - (fatal_error): Likewise. - (internal_error): Likewise. - (internal_error_no_backtrace): Likewise. - * diagnostic.h (diagnostic_context::diagnostic_impl): New decl. - (diagnostic_context::diagnostic_n_impl): New decl. - * gcc-rich-location.h (gcc_rich_location::add_location_if_nearby): - Add "ctxt" param. - -2024-06-26 David Malcolm <dmalcolm@redhat.com> - - PR testsuite/109360 - * doc/install.texi (Python3 modules): Update SARIF validation - requirement to use check-jsonschema rather than jsonschema. - -2024-06-25 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (struct codeview_custom_type): Add lf_array to - union. - (write_lf_array): New function. - (write_custom_types): Call write_lf_array. - (get_type_num_array_type): New function. - (get_type_num): Handle DW_TAG_array_type DIEs. - * dwarf2codeview.h (LF_ARRAY): Define. - -2024-06-25 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (write_lf_union): New function. - (write_custom_types): Call write_lf_union. - (add_struct_forward_def): Handle DW_TAG_union_type DIEs. - (get_type_num_struct): Handle unions. - (get_type_num): Handle DW_TAG_union_type DIEs. - * dwarf2codeview.h (LF_UNION): Define. - -2024-06-25 Sergei Lewis <slewis@rivosinc.com> - - * config/riscv/riscv-protos.h (riscv_vector::expand_vec_cmpmem): New - function declaration. - * config/riscv/riscv-string.cc (riscv_vector::expand_vec_cmpmem): New - function. - * config/riscv/riscv.md (cmpmemsi): Try riscv_vector::expand_vec_cmpmem - for constant lengths. - -2024-06-25 Andrew MacLeod <amacleod@redhat.com> - - * doc/invoke.texi (vrp-block-limit): Document. - * params.opt (param=vrp-block-limit): New. - * tree-vrp.cc (fvrp_folder::execute): Invoke fast_vrp if block - count exceeds limit. - -2024-06-25 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/111673 - * ira-color.cc (assign_hard_reg): Scale save/restore costs of - callee save registers with block frequency. - -2024-06-25 Jeff Law <jlaw@ventanamicro.com> - - * config/fr30/constraints.md (Q): Remove unused constraint. - * config/fr30/predicates.md (call_operand): Remove unused predicate. - * config/fr30/fr30.md (call, vall_value): Turn into expanders and - force the call address into a register. - (*call, *call_value): Adjust to only allow indirect calls. Adjust - output template accordingly. - -2024-06-25 Richard Sandiford <richard.sandiford@arm.com> - - * late-combine.cc (insn_combination::substitute_nondebug_use): - Reject second and subsequent uses if targetm.cannot_copy_insn_p - disallows copying. - -2024-06-25 Richard Biener <rguenther@suse.de> - - * gimple-range-gori.cc (gori_compute::may_recompute_p): - Call is_export_p with NULL bb. - -2024-06-25 Xi Ruoyao <xry111@xry111.site> - - * doc/rtl.texi (jump_table_data): Fix typos. - -2024-06-25 Richard Sandiford <richard.sandiford@arm.com> - - * dbgcnt.def (late_combine): New debug counter. - * late-combine.cc (insn_combination::run): Use it. - -2024-06-25 Eric Botcazou <ebotcazou@adacore.com> - - PR target/115608 - * config/sparc/linux64.h (CC1_SPEC): Pass -m32 for -mv8plus. - -2024-06-25 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/106594 - PR target/115622 - PR target/115633 - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move - default-disable of late-combine passes from here... - (rs6000_override_options_after_change): ... to here. - -2024-06-25 Richard Sandiford <richard.sandiford@arm.com> - - * expmed.cc (store_bit_field_using_insv): Revert earlier change - to use force_subreg instead of simplify_gen_subreg. - -2024-06-25 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.cc(mips_expand_vec_cond_expr): Add extra - argument to info that opernads[3] is cmp_res already. - * config/mips/mips-protos.h(mips_expand_vec_cond_expr): Ditto. - * config/mips/mips-msa.md(vcond_mask): Define new expand. - (vcondu): Use mips_expand_vec_cond_expr with 4th argument. - (vcond): Ditto. - -2024-06-25 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.md(conditional_trap_reg): Output $0 instead - of 0 if !ISA_HAS_COND_TRAPI. - -2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> - - * config.gcc: Add winnt-dll.o, which contains the DLL - import/export implementation. - * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): - Add dllimport implementation. - (aarch64_expand_call): Likewise. - (aarch64_legitimize_address): Likewise. - * config/aarch64/cygming.h (SYMBOL_FLAG_DLLIMPORT): Modify MinGW - environment to support DLL import/export. - (SYMBOL_FLAG_DLLEXPORT): Likewise. - (SYMBOL_REF_DLLIMPORT_P): Likewise. - (SYMBOL_FLAG_STUBVAR): Likewise. - (SYMBOL_REF_STUBVAR_P): Likewise. - (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Likewise. - (TARGET_ASM_FILE_END): Likewise. - (SUB_TARGET_RECORD_STUB): Likewise. - (GOT_ALIAS_SET): Likewise. - (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Likewise. - (HAVE_64BIT_POINTERS): Likewise. - -2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> - - * config/i386/cygming.h - (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Declare whether an - external declaration should be legitimized. - (HAVE_64BIT_POINTERS): Define whether the target supports 64-bit - pointers. - * config/mingw/mingw32.h (defined): Use the correct - DllMainCRTStartup entry function. - * config/mingw/winnt-dll.cc (defined): Exclude ix86-related code. - -2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> - - * config/aarch64/aarch64.cc: Extend the aarch64 attributes list. - * config/aarch64/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Define the - selectany attribute. - -2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> - - * config/i386/cygming.h (mingw_pe_record_stub): Rename functions - in mingw folder which will be reused for aarch64. - (TARGET_ASM_FILE_END): Update to new target-independent name. - (SUBTARGET_ATTRIBUTE_TABLE): Likewise. - (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Likewise. - (SUB_TARGET_RECORD_STUB): Likewise. - * config/i386/i386-protos.h (ix86_handle_selectany_attribute): - Likewise. - (mingw_handle_selectany_attribute): Likewise. - (i386_pe_valid_dllimport_attribute_p): Likewise. - (mingw_pe_valid_dllimport_attribute_p): Likewise. - (i386_pe_file_end): Likewise. - (mingw_pe_file_end): Likewise. - (i386_pe_record_stub): Likewise. - (mingw_pe_record_stub): Likewise. - * config/mingw/winnt.cc (ix86_handle_selectany_attribute): - Likewise. - (mingw_handle_selectany_attribute): Likewise. - (i386_pe_valid_dllimport_attribute_p): Likewise. - (mingw_pe_valid_dllimport_attribute_p): Likewise. - (i386_pe_record_stub): Likewise. - (mingw_pe_record_stub): Likewise. - (i386_pe_file_end): Likewise. - (mingw_pe_file_end): Likewise. - * config/mingw/winnt.h (mingw_handle_selectany_attribute): Declate - functionality that will be reused by multiple targets. - (mingw_pe_file_end): Likewise. - (mingw_pe_record_stub): Likewise. - (mingw_pe_valid_dllimport_attribute_p): Likewise. - -2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> - - * config.gcc: Add winnt-dll.o, which contains the DLL - import/export implementation. - * config/i386/cygming.h (SUB_TARGET_RECORD_STUB): Remove the - old implementation. Rename the required function to MinGW. - Use MinGW implementation for COFF and nothing otherwise. - (GOT_ALIAS_SET): Likewise. - * config/i386/i386-expand.cc (ix86_expand_move): Likewise. - * config/i386/i386-expand.h (ix86_GOT_alias_set): Likewise. - (legitimize_pe_coff_symbol): Likewise. - * config/i386/i386-protos.h (i386_pe_record_stub): Likewise. - * config/i386/i386.cc (is_imported_p): Likewise. - (legitimate_pic_address_disp_p): Likewise. - (ix86_GOT_alias_set): Likewise. - (legitimize_pic_address): Likewise. - (legitimize_tls_address): Likewise. - (struct dllimport_hasher): Likewise. - (GTY): Likewise. - (get_dllimport_decl): Likewise. - (legitimize_pe_coff_extern_decl): Likewise. - (legitimize_dllimport_symbol): Likewise. - (legitimize_pe_coff_symbol): Likewise. - (ix86_legitimize_address): Likewise. - * config/i386/i386.h (GOT_ALIAS_SET): Likewise. - * config/mingw/winnt.cc (i386_pe_record_stub): Likewise. - (mingw_pe_record_stub): Likewise. - * config/mingw/winnt.h (mingw_pe_record_stub): Likewise. - * config/mingw/t-cygming: Add the winnt-dll.o compilation. - * config/mingw/winnt-dll.cc: New file. - * config/mingw/winnt-dll.h: New file. - -2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> - - * config.gcc: Move mingw_* declations to mingw. - * config/aarch64/aarch64-protos.h - (mingw_pe_maybe_record_exported_symbol): Likewise. - (mingw_pe_section_type_flags): Likewise. - (mingw_pe_unique_section): Likewise. - (mingw_pe_encode_section_info): Likewise. - * config/aarch64/cygming.h - (mingw_pe_asm_named_section): Likewise. - (mingw_pe_declare_function_type): Likewise. - * config/i386/i386-protos.h - (mingw_pe_unique_section): Likewise. - (mingw_pe_declare_function_type): Likewise. - (mingw_pe_maybe_record_exported_symbol): Likewise. - (mingw_pe_encode_section_info): Likewise. - (mingw_pe_section_type_flags): Likewise. - (mingw_pe_asm_named_section): Likewise. - * config/mingw/winnt.h: New file. - -2024-06-25 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (struct codeview_type): Add is_fwd_ref member. - (struct codeview_subtype): Add lf_member to union. - (struct codeview_custom_type): Add lf_structure to union. - (struct codeview_deferred_type): New structure. - (deferred_types, last_deferred_type): New variables. - (get_type_num): Add new args to prototype. - (write_lf_fieldlist): Handle LF_MEMBER subtypes. - (write_lf_structure): New function. - (write_custom_types): Call write_lf_structure. - (get_type_num_pointer_type): Add in_struct argument. - (get_type_num_const_type): Likewise. - (get_type_num_volatile_type): Likewise. - (add_enum_forward_def): Fix get_type_num call. - (get_type_num_enumeration_type): Add in-struct argument. - (add_deferred_type, flush_deferred_types): New functions. - (add_struct_forward_def, get_type_num_struct): Likewise. - (get_type_num): Handle self-referential structs. - (add_variable): Fix get_type_num call. - (codeview_debug_early_finish): Call flush_deferred_types. - * dwarf2codeview.h (LF_CLASS, LF_STRUCTURE, LF_MEMBER): Define. - -2024-06-25 Kewen Lin <linkw@linux.ibm.com> - - * coretypes.h (enum tree_index): Forward declaration. - * defaults.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * doc/rtl.texi: Update document by replacing {FLOAT,DOUBLE}_TYPE_SIZE - with C type {float,double}. - * doc/tm.texi.in: Document new hook mode_for_floating_type, remove - document entries for {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE and - update document for WIDEST_HARDWARE_FP_SIZE. - * doc/tm.texi: Regenerate. - * emit-rtl.cc (init_emit_once): Replace DOUBLE_TYPE_SIZE by - calling targetm.c.mode_for_floating_type with TI_DOUBLE_TYPE. - * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use TYPE_PRECISION of - long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. - * system.h (FLOAT_TYPE_SIZE): Poison. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * target.def (mode_for_floating_type): New hook. - * targhooks.cc (default_mode_for_floating_type): New function. - (default_scalar_mode_supported_p): Update macros - {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE by calling - targetm.c.mode_for_floating_type with - TI_{FLOAT,DOUBLE,LONG_DOUBLE}_TYPE. - * targhooks.h (default_mode_for_floating_type): New declaration. - * tree-core.h (enum tree_index): Specify underlying type unsigned - to sync with forward declaration in coretypes.h. - (NUM_FLOATN_TYPES): Explicitly convert to int. - (NUM_FLOATNX_TYPES): Likewise. - (NUM_FLOATN_NX_TYPES): Likewise. - * tree.cc (build_common_tree_nodes): Update macros - {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE by calling - targetm.c.mode_for_floating_type with - TI_{FLOAT,DOUBLE,LONG_DOUBLE}_TYPE and set type mode accordingly. - * config/arc/arc.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/bpf/bpf.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/epiphany/epiphany.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/fr30/fr30.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/frv/frv.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/ft32/ft32.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/gcn/gcn.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/iq2000/iq2000.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/lm32/lm32.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/m32c/m32c.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/m32r/m32r.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/microblaze/microblaze.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/mmix/mmix.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/moxie/moxie.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/msp430/msp430.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/nds32/nds32.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/nios2/nios2.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/nvptx/nvptx.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/or1k/or1k.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/pdp11/pdp11.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/pru/pru.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/stormy16/stormy16.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/visium/visium.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/xtensa/xtensa.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/rs6000/rs6000.cc (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - (rs6000_c_mode_for_floating_type): New function. - * config/rs6000/rs6000.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/aarch64/aarch64.cc (aarch64_c_mode_for_floating_type): - New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/aarch64/aarch64.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/alpha/alpha.cc (alpha_c_mode_for_floating_type): New - function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/alpha/alpha.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/avr/avr.cc (avr_c_mode_for_floating_type): New - function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/avr/avr.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/i386/i386.cc (ix86_c_mode_for_floating_type): New - function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/i386/i386.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/ia64/ia64.cc (ia64_c_mode_for_floating_type): New - function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/ia64/ia64.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/riscv/riscv.cc (riscv_c_mode_for_floating_type): New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/riscv/riscv.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/rl78/rl78.cc (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - (rl78_c_mode_for_floating_type): New function. - * config/rl78/rl78.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/rx/rx.cc (rx_c_mode_for_floating_type): New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/rx/rx.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/s390/s390.cc (s390_c_mode_for_floating_type): New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/s390/s390.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/sh/sh.cc (sh_c_mode_for_floating_type): New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Remove. - * config/h8300/h8300.cc (h8300_c_mode_for_floating_type): New - function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/h8300/h8300.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Remove. - (LONG_DOUBLE_TYPE_SIZE): Remove. - (DOUBLE_TYPE_MODE): New macro. - * config/h8300/linux.h (DOUBLE_TYPE_SIZE): Remove. - (DOUBLE_TYPE_MODE): New macro. - * config/loongarch/loongarch.cc (loongarch_c_mode_for_floating_type): - New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/loongarch/loongarch.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Remove. - (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (LA_LONG_DOUBLE_TYPE_SIZE): ... this. - (UNITS_PER_FPVALUE): Replace LONG_DOUBLE_TYPE_SIZE with - LA_LONG_DOUBLE_TYPE_SIZE. - (MAX_FIXED_MODE_SIZE): Likewise. - (STRUCTURE_SIZE_BOUNDARY): Likewise. - (BIGGEST_ALIGNMENT): Likewise. - * config/m68k/m68k.cc (m68k_c_mode_for_floating_type): New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Remove. - (LONG_DOUBLE_TYPE_MODE): New macro. - * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Remove. - (LONG_DOUBLE_TYPE_MODE): New macro. - * config/mips/mips.cc (mips_c_mode_for_floating_type): New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - * config/mips/mips.h (UNITS_PER_FPVALUE): Replace LONG_DOUBLE_TYPE_SIZE - with MIPS_LONG_DOUBLE_TYPE_SIZE. - (MAX_FIXED_MODE_SIZE): Likewise. - (STRUCTURE_SIZE_BOUNDARY): Likewise. - (BIGGEST_ALIGNMENT): Likewise. - (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Remove. - (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (MIPS_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/mips/n32-elf.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (MIPS_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/pa/pa.cc (pa_c_mode_for_floating_type): New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - (pa_scalar_mode_supported_p): Rename FLOAT_TYPE_SIZE to - PA_FLOAT_TYPE_SIZE, rename DOUBLE_TYPE_SIZE to PA_DOUBLE_TYPE_SIZE - and rename LONG_DOUBLE_TYPE_SIZE to PA_LONG_DOUBLE_TYPE_SIZE. - * config/pa/pa.h (PA_FLOAT_TYPE_SIZE): New macro. - (PA_DOUBLE_TYPE_SIZE): Likewise. - (PA_LONG_DOUBLE_TYPE_SIZE): Likewise. - * config/pa/pa-64.h (FLOAT_TYPE_SIZE): Rename to ... - (PA_FLOAT_TYPE_SIZE): ... this. - (DOUBLE_TYPE_SIZE): Rename to ... - (PA_DOUBLE_TYPE_SIZE): ... this. - (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (PA_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/pa/pa-hpux.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (PA_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/sparc/sparc.cc (sparc_c_mode_for_floating_type): New function. - (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. - (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Likewise. - (LONG_DOUBLE_TYPE_SIZE): Likewise. - (sparc_type_code): Replace FLOAT_TYPE_SIZE with TYPE_PRECISION of - float_type_node. - * config/sparc/sparc.h (FLOAT_TYPE_SIZE): Remove. - (DOUBLE_TYPE_SIZE): Remove. - * config/sparc/freebsd.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/sparc/linux.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/sparc/linux64.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/sparc/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/sparc/openbsd64.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/sparc/sol2.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/sparc/sp-elf.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/sparc/sp64-elf.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... - (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. - * config/bfin/bfin.h (FLOAT_TYPE_SIZE): Rename to ... - (BFIN_FLOAT_TYPE_SIZE): ... this. - (DOUBLE_TYPE_SIZE): Rename to ... - (BFIN_DOUBLE_TYPE_SIZE): ... this. - (LONG_DOUBLE_TYPE_SIZE): Remove. - (UNITS_PER_FLOAT): Replace FLOAT_TYPE_SIZE with BFIN_FLOAT_TYPE_SIZE. - (UNITS_PER_DOUBLE): Replace DOUBLE_TYPE_SIZE with - BFIN_DOUBLE_TYPE_SIZE. - -2024-06-25 Kewen Lin <linkw@linux.ibm.com> - - * config/vms/vms.cc (vms_patch_builtins): Use TYPE_PRECISION of - long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. - -2024-06-25 Andrew MacLeod <amacleod@redhat.com> - - * tree-vrp.cc (execute_fast_vrp): Do not use transitive relations. - * value-query.cc (range_query::create_relation_oracle): Add - parameter to enable transitive relations. - * value-query.h (range_query::create_relation_oracle): Likewise. - * value-relation.h (dom_oracle::dom_oracle): Likewise. - * value-relation.cc (dom_oracle::dom_oracle): Likewise. - (dom_oracle::register_transitives): Check transitive flag. - -2024-06-24 Sergei Lewis <slewis@rivosinc.com> - - * config/riscv/riscv-protos.h (riscv_vector::expand_vec_setmem): New - function declaration. - * config/riscv/riscv-string.cc (riscv_vector::expand_vec_setmem): New - function: this generates an inline vectorised memory set, if and only if - we know the entire operation can be performed in a single vector store. - * config/riscv/riscv.md (setmem<mode>): Try riscv_vector::expand_vec_setmem - for constant lengths. Do not require operand 2 to be a constant. - -2024-06-24 Patrick O'Neill <patrick@rivosinc.com> - - * doc/sourcebuild.texi (dg-remove-option): Add documentation. - (dg-add-option): Add documentation for riscv_{a,zaamo,zalrsc,ztso} - -2024-06-24 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/113673 - * gimple-ssa-store-merging.cc (find_bswap_or_nop_load): Make static. - (find_bswap_or_nop_1): Avoid transformations (load merging) when - stmt_can_throw_internal indicates that a statement can trap. - -2024-06-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115602 - * tree-vect-slp.cc (vect_cse_slp_nodes): Delay populating the - bst-map to avoid cycles. - -2024-06-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115528 - * tree-vect-data-refs.cc (vect_compute_data_ref_alignment): - Make sure to look at both the inner and outer loop step - behavior. - -2024-06-24 Pali Rohár <pali@kernel.org> - - * config/i386/mingw-w64.h (CPP_SPEC): Add missing -mcrtdll= - cases: msvcr40*, msvcrtd*. - * config/mingw/mingw32.h (CPP_SPEC): Add missing -mcrtdll= - cases: msvcr40*, msvcrtd*. - * doc/invoke.texi: Add missing -mcrtdll= cases: msvcr40*, - msvcrtd*, msvcr71*. Express wildcards with *. Document _UCRT. - -2024-06-24 Richard Sandiford <richard.sandiford@arm.com> - - * common.opt.urls: Regenerate. - -2024-06-24 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/106594 - PR rtl-optimization/114515 - PR rtl-optimization/114575 - PR rtl-optimization/114996 - PR rtl-optimization/115104 - * Makefile.in (OBJS): Add late-combine.o. - * common.opt (flate-combine-instructions): New option. - * doc/invoke.texi: Document it. - * opts.cc (default_options_table): Enable it by default at -O2 - and above. - * tree-pass.h (make_pass_late_combine): Declare. - * late-combine.cc: New file. - * passes.def: Add two instances of late_combine. - * doc/passes.texi: Document the new passes. - * config/i386/i386-options.cc (ix86_override_options_after_change): - Disable late-combine by default. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. - * config/xtensa/xtensa.cc (xtensa_option_override): Likewise. - -2024-06-24 Richard Sandiford <richard.sandiford@arm.com> - - * rtl-ssa.h: Include predicates.h. - * rtl-ssa/predicates.h: New file. - * rtl-ssa/access-utils.h (prev_call_clobbers_ignoring): Rename to... - (prev_call_clobbers): ...this and treat the ignore parameter as an - object with the same interface as ignore_nothing. - (next_call_clobbers_ignoring): Rename to... - (next_call_clobbers): ...this and treat the ignore parameter as an - object with the same interface as ignore_nothing. - (first_nondebug_insn_use_ignoring): Rename to... - (first_nondebug_insn_use): ...this and treat the ignore parameter as - an object with the same interface as ignore_nothing. - (last_nondebug_insn_use_ignoring): Rename to... - (last_nondebug_insn_use): ...this and treat the ignore parameter as - an object with the same interface as ignore_nothing. - (last_access_ignoring): Rename to... - (last_access): ...this and treat the ignore parameter as an object - with the same interface as ignore_nothing. Conditionally skip - definitions. - (prev_access_ignoring): Rename to... - (prev_access): ...this and treat the ignore parameter as an object - with the same interface as ignore_nothing. - (first_def_ignoring): Replace with... - (first_access): ...this new function. - (next_access_ignoring): Rename to... - (next_access): ...this and treat the ignore parameter as an object - with the same interface as ignore_nothing. Conditionally skip - definitions. - * rtl-ssa/change-utils.h (insn_is_changing): Delete. - (restrict_movement_ignoring): Rename to... - (restrict_movement): ...this and treat the ignore parameter as an - object with the same interface as ignore_nothing. - (recog_ignoring): Rename to... - (recog): ...this and treat the ignore parameter as an object with - the same interface as ignore_nothing. - * rtl-ssa/changes.h (insn_is_changing_closure): Delete. - * rtl-ssa/functions.h (function_info::add_regno_clobber): Treat - the ignore parameter as an object with the same interface as - ignore_nothing. - * rtl-ssa/insn-utils.h (insn_is): Delete. - * rtl-ssa/insns.h (insn_is_closure): Delete. - * rtl-ssa/member-fns.inl - (insn_is_changing_closure::insn_is_changing_closure): Delete. - (insn_is_changing_closure::operator()): Likewise. - (function_info::add_regno_clobber): Treat the ignore parameter - as an object with the same interface as ignore_nothing. - (ignore_changing_insns::ignore_changing_insns): New function. - (ignore_changing_insns::should_ignore_insn): Likewise. - * rtl-ssa/movement.h (restrict_movement_for_dead_range): Treat - the ignore parameter as an object with the same interface as - ignore_nothing. - (restrict_movement_for_defs_ignoring): Rename to... - (restrict_movement_for_defs): ...this and treat the ignore parameter - as an object with the same interface as ignore_nothing. - (restrict_movement_for_uses_ignoring): Rename to... - (restrict_movement_for_uses): ...this and treat the ignore parameter - as an object with the same interface as ignore_nothing. Conditionally - skip definitions. - * doc/rtl.texi: Update for above name changes. Use - ignore_changing_insns instead of insn_is_changing. - * config/aarch64/aarch64-cc-fusion.cc (cc_fusion::parallelize_insns): - Likewise. - * pair-fusion.cc (no_ignore): Delete. - (latest_hazard_before, first_hazard_after): Update for above name - changes. Use ignore_nothing instead of no_ignore. - (pair_fusion_bb_info::fuse_pair): Update for above name changes. - Use ignore_changing_insns instead of insn_is_changing. - (pair_fusion::try_promote_writeback): Likewise. - -2024-06-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115599 - * tree-ssa-reassoc.cc (compare_repeat_factors): Use explicit - compares to avoid truncations. - -2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/113325 - * config/rs6000/vsx.md (vsx_stxvd2x4_le_const_<mode>): New. - -2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org> - - * fwprop.cc (try_fwprop_subst_pattern): Invoke change_is_worthwhile - to judge if a replacement is worthwhile. Remove single_set check - and add is_debug_insn check. - * recog.cc (swap_change): Invalidate recog_data when the cached INSN - is swapped out. - * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Check if the - insn cost of new rtl is unknown and fail the replacement. - -2024-06-24 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (MAX_FIELDLIST_SIZE): Define. - (struct codeview_integer): New structure. - (struct codeview_subtype): Likewise - (struct codeview_custom_type): Add lf_fieldlist and lf_enum to union. - (write_cv_integer, cv_integer_len): New functions. - (write_lf_fieldlist, write_lf_enum): Likewise. - (write_custom_types): Call write_lf_fieldlist and write_lf_enum. - (add_enum_forward_def): New function. - (get_type_num_enumeration_type): Likewise. - (get_type_num): Handle DW_TAG_enumeration_type DIEs. - * dwarf2codeview.h (LF_FIELDLIST, LF_INDEX, LF_ENUMERATE): Define. - (LF_ENUM, LF_CHAR, LF_SHORT, LF_USHORT, LF_LONG): Likewise. - (LF_ULONG, LF_QUADWORD, LF_UQUADWORD): Likewise. - (CV_ACCESS_PRIVATE, CV_ACCESS_PROTECTED): Likewise. - (CV_ACCESS_PUBLIC, CV_PROP_FWDREF): Likewise. - -2024-06-24 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc - (struct codeview_custom_type): Add lf_modifier to union. - (write_cv_padding, write_lf_modifier): New functions. - (write_custom_types): Call write_lf_modifier. - (get_type_num_const_type): New function. - (get_type_num_volatile_type): Likewise. - (get_type_num): Handle DW_TAG_const_type and DW_TAG_volatile_type DIEs. - * dwarf2codeview.h (MOD_const, MOD_volatile): Define. - (LF_MODIFIER): Likewise. - -2024-06-24 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (FIRST_TYPE): Define. - (struct codeview_custom_type): New structure. - (custom_types, last_custom_type): New variables. - (get_type_num): Prototype. - (write_lf_pointer, write_custom_types): New functions. - (codeview_debug_finish): Call write_custom_types. - (add_custom_type, get_type_num_pointer_type): New functions. - (get_type_num): Handle DW_TAG_pointer_type DIEs. - * dwarf2codeview.h (T_VOID): Define. - (CV_POINTER_32, CV_POINTER_64): Likewise. - (T_32PVOID, T_64PVOID): Likewise. - (CV_PTR_NEAR32, CV_PTR64, LF_POINTER): Likewise. - -2024-06-24 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (get_type_num): Handle typedefs. - -2024-06-24 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (struct codeview_type): New structure. - (struct die_hasher): Likewise. - (types_htab): New variable. - (codeview_debug_finish): Free types_htab if allocated. - (get_type_num_base_type, get_type_num): New function. - (add_variable): Call get_type_num. - * dwarf2codeview.h (T_CHAR, T_SHORT, T_LONG, T_QUAD): Define. - (T_UCHAR, T_USHORT, T_ULONG, T_UQUAD, T_BOOL08): Likewise. - (T_REAL32, T_REAL64, T_REAL80, T_REAL128, T_RCHAR): Likewise. - (T_WCHAR, T_INT4, T_UINT4, T_CHAR16, T_CHAR32, T_CHAR8): Likewise. - -2024-06-23 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (S_LDATA32, S_GDATA32): Define. - (struct codeview_symbol): New structure. - (sym, last_sym): New variables. - (write_data_symbol): New function. - (write_codeview_symbols): Call write_data_symbol. - (add_variable, codeview_debug_early_finish): New functions. - * dwarf2codeview.h (codeview_debug_early_finish): Prototype. - * dwarf2out.cc - (dwarf2out_early_finish): Call codeview_debug_early_finish. - -2024-06-23 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - * config/riscv/riscv.cc (riscv_expand_conditional_move): Add a - CONST0_RTX check. - -2024-06-23 Jeff Law <jlaw@ventanamicro.com> - - PR target/114139 - * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Verify object - is a CONST_INT before looking at INTVAL. - -2024-06-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115597 - * tree-vect-slp.cc (vect_cse_slp_nodes): Allow to CSE - VEC_PERM nodes. - -2024-06-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115579 - * tree-ssa-loop-im.cc (execute_sm): Return the auxiliary data - created. - (hoist_memory_references): Record the flag var that's eventually - created and re-use it when all stores are in the same BB. - -2024-06-23 Collin Funk <collin.funk1@gmail.com> - - PR target/115409 - * config/i386/avx512fp16intrin.h (_mm512_conj_pch): Make the - constant unsigned before shifting. - * config/i386/avx512fp16vlintrin.h (_mm256_conj_pch): Likewise. - (_mm_conj_pch): Likewise. - -2024-06-23 demin.han <demin.han@starfivetech.com> - - * config/riscv/predicates.md (comparison_except_eqge_operator): Only - exclude ge. - (comparison_except_ge_operator): Ditto. - * config/riscv/riscv-string.cc (expand_rawmemchr): Use cmp pattern. - (expand_strcmp): Ditto. - * config/riscv/riscv-vector-builtins-bases.cc: Remove eqne cond. - * config/riscv/vector.md (@pred_eqne<mode>_scalar): Remove eqne - patterns. - (*pred_eqne<mode>_scalar_merge_tie_mask): Ditto. - (*pred_eqne<mode>_scalar): Ditto. - (*pred_eqne<mode>_scalar_narrow): Ditto. - (*pred_eqne<mode>_extended_scalar_merge_tie_mask): Ditto. - (*pred_eqne<mode>_extended_scalar): Ditto. - (*pred_eqne<mode>_extended_scalar_narrow): Ditto. - -2024-06-21 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc - (json_output_format::on_end_diagnostic): Use - get_diagnostic_kind_text rather than embedding a duplicate copy of - the table. - * diagnostic-format-sarif.cc - (make_rule_id_for_diagnostic_kind): Likewise. - * diagnostic.cc (get_diagnostic_kind_text): New. - * diagnostic.h (get_diagnostic_kind_text): New decl. - -2024-06-21 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-path.cc (diagnostic_event::meaning::dump_to_pp): Move - here from diagnostic.cc. - (diagnostic_event::meaning::maybe_get_verb_str): Likewise. - (diagnostic_event::meaning::maybe_get_noun_str): Likewise. - (diagnostic_event::meaning::maybe_get_property_str): Likewise. - (diagnostic_path::get_first_event_in_a_function): Likewise. - (diagnostic_path::interprocedural_p): Likewise. - (debug): Likewise for diagnostic_path * overload. - * diagnostic.cc (diagnostic_event::meaning::dump_to_pp): Move from - here to diagnostic-path.cc. - (diagnostic_event::meaning::maybe_get_verb_str): Likewise. - (diagnostic_event::meaning::maybe_get_noun_str): Likewise. - (diagnostic_event::meaning::maybe_get_property_str): Likewise. - (diagnostic_path::get_first_event_in_a_function): Likewise. - (diagnostic_path::interprocedural_p): Likewise. - (debug): Likewise for diagnostic_path * overload. - -2024-06-21 Jeff Law <jlaw@ventanamicro.com> - - * config/stormy16/stormy16.md (swpn_zext): New pattern. - -2024-06-21 Richard Sandiford <richard.sandiford@arm.com> - - * config/stormy16/predicates.md (xs_hi_nonmemory_operand): Handle - symbol_ref and label_ref. - -2024-06-21 Richard Sandiford <richard.sandiford@arm.com> - - * config/iq2000/iq2000.cc (iq2000_print_operand): Make %p handle 1<<31. - * config/iq2000/iq2000.md: Remove "I" constraints on - power_of_2_operands. - -2024-06-21 Richard Sandiford <richard.sandiford@arm.com> - - * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Don't - cost no-op moves. - * rtl-ssa/insns.cc (insn_info::calculate_cost): Likewise. - -2024-06-21 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range.cc (gimple_ranger::register_inferred_ranges): Do not - dump global range info after set_range_info. - (gimple_ranger::register_transitive_inferred_ranges): Likewise. - (dom_ranger::range_of_stmt): Likewise. - * tree-ssanames.cc (set_range_info): If global range info - changes, maybe print new range to dump_file. - * tree-vrp.cc (remove_unreachable::handle_early): Do not - dump global range info after set_range_info. - (remove_unreachable::remove): Likewise. - (remove_unreachable::remove_and_update_globals): Likewise. - (pass_assumptions::execute): Likewise. - -2024-06-21 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range.cc (dom_ranger::dom_ranger): Create a block - vector. - (dom_ranger::~dom_ranger): Dispose of the block vector. - (dom_ranger::edge_range): Delete. - (dom_ranger::range_on_edge): Combine range in src BB with any - range gori_nme_on_edge returns. - (dom_ranger::range_in_bb): Combine global range with any active - contextual range for an ssa-name. - (dom_ranger::range_of_stmt): Fix non-ssa LHS case, use - fur_depend for folding so relations can be registered. - (dom_ranger::maybe_push_edge): Delete. - (dom_ranger::pre_bb): Create incoming contextual range vector. - (dom_ranger::post_bb): Free contextual range vector. - * gimple-range.h (dom_ranger::edge_range): Delete. - (dom_ranger::m_e0): Delete. - (dom_ranger::m_e1): Delete. - (dom_ranger::m_bb): New. - (dom_ranger::m_pop_list): Delete. - * tree-vrp.cc (execute_fast_vrp): Enable relation oracle. - -2024-06-21 Andrew MacLeod <amacleod@redhat.com> - - * tree-vrp.cc (remove_unreachable::remove): Export global range - if builtin_unreachable dominates all uses. - (remove_unreachable::remove_and_update_globals): Do not reset SCEV. - (execute_ranger_vrp): Reset SCEV here instead. - (fvrp_folder::fvrp_folder): Take final pass flag - and create a remove_unreachable object when specified. - (fvrp_folder::pre_fold_stmt): Register GIMPLE_CONDs with - the remove_unreachcable object. - (fvrp_folder::m_unreachable): New. - (execute_fast_vrp): Process remove_unreachable object. - (pass_vrp::execute): Add final_p flag to execute_fast_vrp. - -2024-06-21 David Malcolm <dmalcolm@redhat.com> - - PR testsuite/109360 - * doc/install.texi: Mention optional usage of "jsonschema" tool. - -2024-06-21 David Malcolm <dmalcolm@redhat.com> - - PR testsuite/109360 - * diagnostic-format-sarif.cc - (sarif_builder::make_location_object): Pass any column override - from rich_loc to maybe_make_physical_location_object. - (sarif_builder::maybe_make_physical_location_object): Add - "column_override" param and pass it to maybe_make_region_object. - (sarif_builder::maybe_make_region_object): Add "column_override" - param and use it when the location has 0 for a column. Don't - add "startLine", "startColumn", "endLine", or "endColumn" if - the values aren't positive. - (sarif_builder::maybe_make_region_object_for_context): Don't - add "startLine" or "endLine" if the values aren't positive. - -2024-06-21 Richard Sandiford <richard.sandiford@arm.com> - - * config/sh/sh.md (*minus_plus_one): Add constraints. - -2024-06-21 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/68855 - * tree-complex.cc (init_dont_simulate_again): Handle PAREN_EXPR - like NEGATE_EXPR. - (complex_propagate::visit_stmt): Likewise. - (expand_complex_move): Don't handle PAREN_EXPR. - (expand_complex_paren): New function. - (expand_complex_operations_1): Handle PAREN_EXPR like - NEGATE_EXPR. And call expand_complex_paren for PAREN_EXPR. - -2024-06-21 Richard Biener <rguenther@suse.de> - - * doc/passes.texi: Remove references to no longer existing - passes. - -2024-06-21 YunQiang Su <syq@gcc.gnu.org> - - * configure.ac: Set gcc_cv_as_mips_explicit_relocs if - gcc_cv_as_mips_explicit_relocs_pcrel. - * configure: Regenerate. - -2024-06-21 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.cc(mips_rtx_costs): Set condmove cost. - * config/mips/mips.md(mov<GPR:mode>_on_<MOVECC:mode>, - mov<GPR:mode>_on_<MOVECC:mode>_mips16e2, - mov<GPR:mode>_on_<GPR2:mode>_ne - mov<GPR:mode>_on_<GPR2:mode>_ne_mips16e2): Define name by - remove starting *, so that we can use CODE_FOR_. - -2024-06-21 Kewen Lin <linkw@linux.ibm.com> - Xionghu Luo <xionghuluo@tencent.com> - - PR target/106069 - PR target/115355 - * config/rs6000/altivec.md (altivec_vmrghw_direct_<VSX_W:mode>): Rename - to ... - (altivec_vmrghw_direct_<VSX_W:mode>_be): ... this. Add the condition - BYTES_BIG_ENDIAN. - (altivec_vmrghw_direct_<VSX_W:mode>_le): New define_insn. - (altivec_vmrglw_direct_<VSX_W:mode>): Rename to ... - (altivec_vmrglw_direct_<VSX_W:mode>_be): ... this. Add the condition - BYTES_BIG_ENDIAN. - (altivec_vmrglw_direct_<VSX_W:mode>_le): New define_insn. - (altivec_vmrghw): Adjust by calling gen_altivec_vmrghw_direct_v4si_be - for BE and gen_altivec_vmrglw_direct_v4si_le for LE. - (altivec_vmrglw): Adjust by calling gen_altivec_vmrglw_direct_v4si_be - for BE and gen_altivec_vmrghw_direct_v4si_le for LE. - (vec_widen_umult_hi_v8hi): Adjust the call to - gen_altivec_vmrghw_direct_v4si by gen_altivec_vmrghw for BE - and by gen_altivec_vmrglw for LE. - (vec_widen_smult_hi_v8hi): Likewise. - (vec_widen_umult_lo_v8hi): Adjust the call to - gen_altivec_vmrglw_direct_v4si by gen_altivec_vmrglw for BE - and by gen_altivec_vmrghw for LE - (vec_widen_smult_lo_v8hi): Likewise. - * config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace - CODE_FOR_altivec_vmrghw_direct_v4si by - CODE_FOR_altivec_vmrghw_direct_v4si_be for BE and - CODE_FOR_altivec_vmrghw_direct_v4si_le for LE. And replace - CODE_FOR_altivec_vmrglw_direct_v4si by - CODE_FOR_altivec_vmrglw_direct_v4si_be for BE and - CODE_FOR_altivec_vmrglw_direct_v4si_le for LE. - * config/rs6000/vsx.md (vsx_xxmrghw_<VSX_W:mode>): Adjust by calling - gen_altivec_vmrghw_direct_v4si_be for BE and - gen_altivec_vmrglw_direct_v4si_le for LE. - (vsx_xxmrglw_<VSX_W:mode>): Adjust by calling - gen_altivec_vmrglw_direct_v4si_be for BE and - gen_altivec_vmrghw_direct_v4si_le for LE. - -2024-06-20 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-expand.cc (ix86_ternlog_idx): Allow any SUBREG - that matches register_operand. Use rtx_equal_p to compare REG - or SUBREG "leaf" operands. - -2024-06-20 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md (<bit_optab><mode>): New unified - pattern for bset/binv using a code iterator. - (<bit_optab>i<mode>): Likewise. - (<bit_optab><mode>_mask): Likewise. Support XOR via any_or. - (<bit_optab>isidi): Likewise. - * config/riscv/iterators.md (bit_optab): New iterator. - -2024-06-20 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386-options.cc (ix86_option_override_internal): - Use TARGET_*_P (opts->x_ix86_isa_flags*) instead of TARGET_* - for UINTR, LAM and APX_F. - -2024-06-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114413 - * tree-vect-slp.cc (release_scalar_stmts_to_slp_tree_map): - New function, split out from ... - (vect_analyze_slp): ... here. Call it. - (vect_cse_slp_nodes): New function. - (vect_optimize_slp): Call it. - -2024-06-20 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (vect_transform_reduction): Change assertion to - cover all lane-reducing ops. - -2024-06-20 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (vect_transform_reduction): Replace vec_oprnds0/1/2 - with one new array variable vec_oprnds[3]. - -2024-06-20 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (vectorizable_reduction): Remove v_reduc_type, and - replace it to another local variable reduction_type. - -2024-06-20 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (vectorizable_reduction): Remove the duplicated - check. - -2024-06-20 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vectorizer.h (lane_reducing_stmt_p): New function. - * tree-vect-slp.cc (vect_analyze_slp): Use new function - lane_reducing_stmt_p to check statement. - -2024-06-19 YunQiang Su <syq@gcc.gnu.org> - - Revert: - 2024-06-19 Collin Funk <collin.funk1@gmail.com> - - * configure.ac: Add missing quotation of variable - gcc_cv_as_mips_explicit_relocs. - * configure: Regenerate. - -2024-06-19 demin.han <demin.han@starfivetech.com> - - * config/riscv/riscv-vector-builtins-bases.cc: Remove eqne cond - * config/riscv/vector.md (@pred_eqne<mode>_scalar): Remove patterns - (*pred_eqne<mode>_scalar_merge_tie_mask): Ditto - (*pred_eqne<mode>_scalar): Ditto - (*pred_eqne<mode>_scalar_narrow): Ditto - -2024-06-19 Patrick O'Neill <patrick@rivosinc.com> - - * common/config/riscv/riscv-common.cc: Add 'a' extension to - riscv_combine_info. - -2024-06-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/115544 - * gimple-lower-bitint.cc (gimple_lower_bitint): Disable optimizing - loads used by COMPLEX_EXPR operands. - -2024-06-19 mayshao <mayshao-oc@zhaoxin.com> - - * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Recognize shijidadao. - * common/config/i386/i386-common.cc: Add shijidadao. - * common/config/i386/i386-cpuinfo.h (enum processor_subtypes): - Add ZHAOXIN_FAM7H_SHIJIDADAO. - * config.gcc: Add shijidadao. - * config/i386/driver-i386.cc (host_detect_local_cpu): - Let -march=native recognize shijidadao processors. - * config/i386/i386-c.cc (ix86_target_macros_internal): Add shijidadao. - * config/i386/i386-options.cc (m_ZHAOXIN): Add m_SHIJIDADAO. - (m_SHIJIDADAO): New definition. - * config/i386/i386.h (enum processor_type): Add PROCESSOR_SHIJIDADAO. - * config/i386/x86-tune-costs.h (struct processor_costs): - Add shijidadao_cost. - * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add shijidadao. - (ix86_adjust_cost): Ditto. - * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Add m_SHIJIDADAO. - (X86_TUNE_USE_GATHER_4PARTS): Ditto. - (X86_TUNE_USE_GATHER_8PARTS): Ditto. - (X86_TUNE_AVOID_128FMA_CHAINS): Ditto. - * doc/extend.texi: Add details about shijidadao. - * doc/invoke.texi: Ditto. - -2024-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (print_operand): - When outputting MEMW before the instruction, check if the previous - instruction is already that. - -2024-06-19 Andre Vieira <andre.simoesdiasvieira@arm.com> - Stam Markianos-Wright <stam.markianos-wright@arm.com> - - * config/arm/arm-protos.h (arm_target_bb_ok_for_lob): Change - declaration to pass basic_block. - (arm_attempt_dlstp_transform): New declaration. - * config/arm/arm.cc (TARGET_LOOP_UNROLL_ADJUST): Define targethook. - (TARGET_PREDICT_DOLOOP_P): Likewise. - (arm_target_bb_ok_for_lob): Adapt condition. - (arm_mve_get_vctp_lanes): New function. - (arm_dl_usage_type): New internal enum. - (arm_get_required_vpr_reg): New function. - (arm_get_required_vpr_reg_param): New function. - (arm_get_required_vpr_reg_ret_val): New function. - (arm_mve_get_loop_vctp): New function. - (arm_mve_insn_predicated_by): New function. - (arm_mve_across_lane_insn_p): New function. - (arm_mve_load_store_insn_p): New function. - (arm_mve_impl_pred_on_outputs_p): New function. - (arm_mve_impl_pred_on_inputs_p): New function. - (arm_last_vect_def_insn): New function. - (arm_mve_impl_predicated_p): New function. - (arm_mve_check_reg_origin_is_num_elems): New function. - (arm_mve_dlstp_check_inc_counter): New function. - (arm_mve_dlstp_check_dec_counter): New function. - (arm_mve_loop_valid_for_dlstp): New function. - (arm_predict_doloop_p): New function. - (arm_loop_unroll_adjust): New function. - (arm_emit_mve_unpredicated_insn_to_seq): New function. - (arm_attempt_dlstp_transform): New function. - * config/arm/arm.opt (mdlstp): New option. - * config/arm/iterators.md (dlstp_elemsize, letp_num_lanes, - letp_num_lanes_neg, letp_num_lanes_minus_1): New attributes. - (DLSTP, LETP): New iterators. - * config/arm/mve.md (predicated_doloop_end_internal<letp_num_lanes>, - dlstp<dlstp_elemsize>_insn): New insn patterns. - * config/arm/thumb2.md (doloop_end): Adapt to support tail-predicated - loops. - (doloop_begin): Likewise. - * config/arm/types.md (mve_misc): New mve type to represent - predicated_loop_end insn sequences. - * config/arm/unspecs.md: - (DLSTP8, DLSTP16, DLSTP32, DSLTP64, - LETP8, LETP16, LETP32, LETP64): New unspecs for DLSTP and LETP. - -2024-06-19 Andre Vieira <andre.simoesdiasvieira@arm.com> - Stam Markianos-Wright <stam.markianos-wright@arm.com> - - * df-core.cc (df_bb_regno_only_def_find): New helper function. - * df.h (df_bb_regno_only_def_find): Declare new function. - * loop-doloop.cc (doloop_condition_get): Add support for detecting - predicated vectorized hardware loops. - (doloop_modify): Add support for GTU condition checks. - (doloop_optimize): Update costing computation to support alterations to - desc->niter_expr by the backend. - -2024-06-19 Collin Funk <collin.funk1@gmail.com> - - * configure.ac: Add missing quotation of variable - gcc_cv_as_mips_explicit_relocs. - * configure: Regenerate. - -2024-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h (xtensa_constantsynth): - Change the second argument from HOST_WIDE_INT to rtx. - * config/xtensa/xtensa.cc (#include): - Add "context.h" and "pass_manager.h". - (machine_function): Add a new hash_map field "litpool_usage". - (xtensa_constantsynth): Make "src" (the second operand) accept - RTX literal instead of its value, and treat both bare and pooled - SI/SFmode literals equally by bit-exact canonicalization into - CONST_INT RTX internally. And then, make avoid synthesis if - such multiple identical canonicalized literals are found in same - function when optimizing for size. Finally, for literals where - synthesis is not possible or has been avoided, re-emit "move" - RTXes with canonicalized ones to increase the chances of sharing - literal pool entries. - * config/xtensa/xtensa.md (split patterns for constant synthesis): - Change to simply invoke xtensa_constantsynth() as mentioned above, - and add new patterns for when TARGET_AUTO_LITPOOLS is enabled. - -2024-06-18 Edwin Lu <ewlu@rivosinc.com> - Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-v.cc: Move assert out of conditional block - -2024-06-18 Edwin Lu <ewlu@rivosinc.com> - Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/autovec-opt.md: Fix mode mismatch - -2024-06-18 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-cores.def: Add comment - saying thunderxt81/t83 are aliases of octeontx81/83. - -2024-06-18 Andrew Pinski <quic_apinski@quicinc.com> - - * config/aarch64/aarch64-cores.def (thunderxt88p1): Make an alias of thunderxt88 and - move below thunderxt88. - * config/aarch64/aarch64-tune.md: Regenerate. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS): Move selftest-diagnostic-path.o, - selftest-logical-location.o, and tree-diagnostic-path.o to... - (OBJS-libcommon): ...here, renaming tree-diagnostic-path.o to - diagnostic-path.o. - * tree-diagnostic-path.cc: Rename to... - * diagnostic-path.cc: ...this. Drop include of "tree.h". - (tree_diagnostic_path_cc_tests): Rename to... - (diagnostic_path_cc_tests): ...this. - * selftest-run-tests.cc (selftest::run_tests): Update for above - renaming. - * selftest.h (tree_diagnostic_path_cc_tests): Rename decl to... - (diagnostic_path_cc_tests): ...this. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc (diagnostic_output_format_init_json): - Replace clearing of diagnostic_context::m_print_path callback with - setting the path format to DPF_NONE. - * diagnostic-format-sarif.cc - (diagnostic_output_format_init_sarif): Likewise. - * diagnostic.cc (diagnostic_context::show_any_path): Replace call - to diagnostic_context::m_print_path callback with a direct call to - diagnostic_context::print_path. - * diagnostic.h (diagnostic_context::print_path): New decl. - (diagnostic_context::m_print_path): Delete callback. - * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer): - Convert to... - (diagnostic_context::print_path): ...this. - * tree-diagnostic.cc (tree_diagnostics_defaults): Delete - initialization of m_print_path. - * tree-diagnostic.h (default_tree_diagnostic_path_printer): Delete - decl. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-macro-unwinding.cc: New file, with material taken - from tree-diagnostic.cc. - * diagnostic-macro-unwinding.h: New file, with material taken - from tree-diagnostic.h. - * tree-diagnostic-path.cc: Repalce include of "tree-diagnostic.h" - with "diagnostic-macro-unwinding.h". - * tree-diagnostic.cc (struct loc_map_pair): Move to - diagnostic-macro-unwinding.cc. - (maybe_unwind_expanded_macro_loc): Likewise. - (virt_loc_aware_diagnostic_finalizer): Likewise. - * tree-diagnostic.h (virt_loc_aware_diagnostic_finalizer): Move - decl to diagnostic-macro-unwinding.h. - (maybe_unwind_expanded_macro_loc): Likewise. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS): Add diagnostic-macro-unwinding.o. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-json.cc: Include "diagnostic-path.h" and - "logical-location.h". - (make_json_for_path): Move tree-diagnostic-path.cc's - default_tree_make_json_for_path here, renaming it and making it - static. - (json_output_format::on_end_diagnostic): Replace call of - m_context's m_make_json_for_path callback with a direct call to - make_json_for_path. - * diagnostic.h (diagnostic_context::m_make_json_for_path): Drop - field. - * tree-diagnostic-path.cc: Drop include of "json.h". - (default_tree_make_json_for_path): Rename to make_json_for_path - and move to diagnostic-format-json.cc. - * tree-diagnostic.cc (tree_diagnostics_defaults): Drop - initialization of m_make_json_for_path. - * tree-diagnostic.h (default_tree_make_json_for): Delete decl. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS): Add selftest-diagnostic-path.o and - selftest-logical-location.o. - * logical-location.h: Include "label-text.h". - (class logical_location): Update leading comment. - * selftest-diagnostic-path.cc: New file, adapted from - simple-diagnostic-path.cc and from material in - tree-diagnostic-path.cc. - * selftest-diagnostic-path.h: New file, adapted from - simple-diagnostic-path.h and from material in - tree-diagnostic-path.cc. - * selftest-logical-location.cc: New file. - * selftest-logical-location.h: New file. - * tree-diagnostic-path.cc: Remove includes of "tree-pretty-print.h", - "langhooks.h", and "simple-diagnostic-path.h". Add include of - "selftest-diagnostic-path.h". - (class test_diagnostic_path): Delete, in favor of new - implementation in selftest-diagnostic-path.{h,cc}, which is - directly derived from diagnostic_path, rather than from - simple_diagnostic_path. - (selftest::test_intraprocedural_path): Eliminate tree usage, - via change to test_diagnostic_path, using strings rather than - function_decls for identifying functions in the test. - (selftest::test_interprocedural_path_1): Likewise. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - (selftest::test_control_flow_1): Likewise. - (selftest::test_control_flow_2): Likewise. - (selftest::test_control_flow_3): Likewise. - (selftest::assert_cfg_edge_path_streq): Likewise. - (selftest::test_control_flow_5): Likewise. - (selftest::test_control_flow_6): Likewise. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc: Include "logical-location.h". - (diagnostic_path::get_first_event_in_a_function): Fix typo in - leading comment. Rewrite to use logical_location rather than - tree. Drop test on stack depth. - (diagnostic_path::interprocedural_p): Rewrite to use - logical_location rather than tree. - (logical_location::function_p): New. - * diagnostic-path.h (diagnostic_event::get_fndecl): Eliminate - vfunc. - (diagnostic_path::same_function_p): New pure virtual func. - * logical-location.h (logical_location::get_name_for_path_output): - New pure virtual func. - * simple-diagnostic-path.cc - (simple_diagnostic_path::same_function_p): New. - (simple_diagnostic_event::simple_diagnostic_event): Initialize - m_logical_loc. - * simple-diagnostic-path.h: Include "tree-logical-location.h". - (simple_diagnostic_event::get_fndecl): Convert from a vfunc - implementation to an accessor. - (simple_diagnostic_event::get_logical_location): Use - m_logical_loc. - (simple_diagnostic_event::m_logical_loc): New field. - (simple_diagnostic_path::same_function_p): New decl. - * tree-diagnostic-path.cc: Move pragma disabling -Wformat-diag to - cover the whole file. - (can_consolidate_events): Add params "path", "ev1_idx", and - "ev2_idx". Rewrite to use diagnostic_path::same_function_p rather - than tree. - (per_thread_summary::per_thread_summary): Add "path" param - (per_thread_summary::m_path): New field. - (event_range::event_range): Update for conversion of m_fndecl to - m_logical_loc. - (event_range::maybe_add_event): Rename param "idx" to - "new_ev_idx". Update call to can_consolidate_events to pass in - "m_path", "m_start_idx", and "new_ev_idx". - (event_range::m_fndecl): Replace with... - (event_range::m_logical_loc): ...this. - (path_summary::get_or_create_events_for_thread_id): Pass "path" to - per_thread_summary ctor. - (per_thread_summary::interprocedural_p): Rewrite to use - diagnostic_path::same_function_p rather than tree. - (print_fndecl): Delete. - (thread_event_printer::print_swimlane_for_event_range): Update for - conversion from tree to logical_location. - (default_tree_diagnostic_path_printer): Likewise. - (default_tree_make_json_for_path): Likewise. - * tree-logical-location.cc: Include "intl.h". - (compiler_logical_location::get_name_for_tree_for_path_output): - New. - (tree_logical_location::get_name_for_path_output): New. - (current_fndecl_logical_location::get_name_for_path_output): New. - * tree-logical-location.h - (compiler_logical_location::get_name_for_tree_for_path_output): - New decl. - (tree_logical_location::get_name_for_path_output): New decl. - (current_fndecl_logical_location::get_name_for_path_output): New - decl. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS): Add simple-diagnostic-path.o. - * diagnostic-path.h (class simple_diagnostic_event): Move to - simple-diagnostic-path.h. - (class simple_diagnostic_thread): Likewise. - (class simple_diagnostic_path): Likewise. - * diagnostic.cc (simple_diagnostic_path::simple_diagnostic_path): - Move to simple-diagnostic-path.cc. - (simple_diagnostic_path::num_events): Likewise. - (simple_diagnostic_path::get_event): Likewise. - (simple_diagnostic_path::num_threads): Likewise. - (simple_diagnostic_path::get_thread): Likewise. - (simple_diagnostic_path::add_thread): Likewise. - (simple_diagnostic_path::add_event): Likewise. - (simple_diagnostic_path::add_thread_event): Likewise. - (simple_diagnostic_path::connect_to_next_event): Likewise. - (simple_diagnostic_event::simple_diagnostic_event): Likewise. - (simple_diagnostic_event::~simple_diagnostic_event): Likewise. - * selftest-run-tests.cc (selftest::run_tests): Call - selftest::simple_diagnostic_path_cc_tests. - * selftest.h (selftest::simple_diagnostic_path_cc_tests): New - decl. - * simple-diagnostic-path.cc: New file, from the above material. - * simple-diagnostic-path.h: New file, from the above material - from diagnostic-path.h. - * tree-diagnostic-path.cc: Include "simple-diagnostic-path.h". - -2024-06-18 Pan Li <pan2.li@intel.com> - - * match.pd: Add form 7 and 8 for the unsigned .SAT_ADD match. - -2024-06-18 Pan Li <pan2.li@intel.com> - - * match.pd: Add form 11 match pattern for .SAT_SUB. - -2024-06-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115537 - * tree-vect-loop.cc (vectorizable_reduction): Also reject - SLP condition reductions of EXTRACT_LAST kind when multiple - statement copies are involved. - -2024-06-18 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md (bset splitters): New patterns for - generating bset when bit position is limited. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_addti_scratch_regs): Use - force_highpart_subreg instead of gen_highpart and simplify_gen_subreg. - (aarch64_subvti_scratch_regs): Likewise. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - * explow.h (force_highpart_subreg): Declare. - * explow.cc (force_highpart_subreg): New function. - * builtins.cc (expand_builtin_issignaling): Use it. - * expmed.cc (emit_store_flag_1): Likewise. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - * builtins.cc (expand_builtin_issignaling): Use force_lowpart_subreg - instead of simplify_gen_subreg and lowpart_subreg. - * expr.cc (convert_mode_scalar, expand_expr_real_2): Likewise. - * optabs.cc (expand_doubleword_mod): Likewise. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - PR target/115464 - * config/aarch64/aarch64-builtins.cc (aarch64_expand_fcmla_builtin) - (aarch64_expand_rwsr_builtin): Use force_lowpart_subreg instead of - simplify_gen_subreg and lowpart_subreg. - * config/aarch64/aarch64-sve-builtins-base.cc - (svset_neonq_impl::expand): Likewise. - * config/aarch64/aarch64-sve-builtins-sme.cc - (add_load_store_slice_operand): Likewise. - * config/aarch64/aarch64.cc (aarch64_sve_reinterpret): Likewise. - (aarch64_addti_scratch_regs, aarch64_subvti_scratch_regs): Likewise. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - * explow.h (force_lowpart_subreg): Declare. - * explow.cc (force_lowpart_subreg): New function. - * optabs.cc (lowpart_subreg_maybe_copy): Delete. - (expand_absneg_bit): Use force_lowpart_subreg instead of - lowpart_subreg_maybe_copy. - (expand_copysign_bit): Likewise. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - * expmed.cc (store_bit_field_using_insv): Use force_subreg - instead of simplify_gen_subreg. - (store_bit_field_1): Likewise. - (extract_bit_field_as_subreg): Likewise. - (extract_integral_bit_field): Likewise. - (emit_store_flag_1): Likewise. - * expr.cc (convert_move): Likewise. - (convert_modes): Likewise. - (emit_group_load_1): Likewise. - (emit_group_store): Likewise. - (expand_assignment): Likewise. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-builtins.cc (aarch64_expand_fcmla_builtin): - Use force_subreg instead of simplify_gen_subreg. - * config/aarch64/aarch64-simd.md (ctz<mode>2): Likewise. - * config/aarch64/aarch64-sve-builtins-base.cc - (svget_impl::expand): Likewise. - (svget_neonq_impl::expand): Likewise. - * config/aarch64/aarch64-sve-builtins-functions.h - (multireg_permute::expand): Likewise. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - * explow.cc (force_subreg): Emit no instructions on failure. - -2024-06-18 Jakub Jelinek <jakub@redhat.com> - - PR target/115324 - * config/rs6000/rs6000-gen-builtins.cc (write_decls): Change - declaration of rs6000_init_generated_builtins from no arguments - to 4 pointer arguments. - (write_init_bif_table): Change rs6000_builtin_info_fntype to - builtin_info_fntype and rs6000_builtin_decls to builtin_decls. - (write_init_ovld_table): Change rs6000_instance_info_fntype to - instance_info_fntype, rs6000_builtin_decls to builtin_decls and - rs6000_overload_info to overload_info. - (write_init_file): Add __noipa__ attribute to - rs6000_init_generated_builtins for GCC 8.1+ and change the function - from no arguments to 4 pointer arguments. Change rs6000_builtin_decls - to builtin_decls. - * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Adjust - rs6000_init_generated_builtins caller. - -2024-06-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115493 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Use - the first scalar result. - -2024-06-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/111793 - * tree-ssa-alias.h (ref_can_have_store_data_races): Declare. - * tree-ssa-alias.cc (ref_can_have_store_data_races): New - function. - * tree-if-conv.cc (ifcvt_memrefs_wont_trap): Use - ref_can_have_store_data_races to allow more unconditional - stores. - * tree-ssa-loop-im.cc (execute_sm): Likewise. - * tree-ssa-phiopt.cc (cond_store_replacement): Likewise. - -2024-06-18 Hu, Lin1 <lin1.hu@intel.com> - - * config/i386/avxintrin.h: Move cmp[p|s][s|d] to [e|x]mmintrin.h, - and move macros to xmmintrin.h - * config/i386/emmintrin.h: Add cmp[p|s]s intrins. - * config/i386/i386-builtin.def: Modify __builtin_ia32_cmp[p|s][s|d]. - * config/i386/i386-expand.cc - (ix86_expand_args_builtin): Raise error when imm is in range of - [8, 32] without avx. - * config/i386/predicates.md (cmpps_imm_operand): New predicate. - * config/i386/sse.md (avx_cmp<mode>3): Modefy define_insn. - (avx_vmcmp<mode>3): Ditto. - * config/i386/xmmintrin.h (_CMP_EQ_OQ): New macro for sse/sse2. - (_CMP_LT_OS): Ditto - (_CMP_LE_OS): Ditto - (_CMP_UNORD_Q): Ditto - (_CMP_NEQ_UQ): Ditto - (_CMP_NLT_US): Ditto - (_CMP_NLE_US): Ditto - (_CMP_ORD_Q): Ditto - (_mm_cmp_ps): Move intrin from avxintrin.h to xmmintrin.h - (_mm_cmp_ss): Ditto. - -2024-06-17 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md (bsetclr_zero_extract): New pattern. - -2024-06-17 Jakub Jelinek <jakub@redhat.com> - - PR driver/115440 - * opts-common.cc (add_misspelling_candidates): If opt1 is non-NULL, - add a space and opt1 to the alternative suggestion text. - -2024-06-17 Patrick O'Neill <patrick@rivosinc.com> - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::to_string): Skip zaamo/zalrsc when not - supported by the assembler. - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac: Add zaamo/zalrsc assmeber check. - -2024-06-17 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/install.texi (Configuration): Mark up __cxa_atexit as @code. - -2024-06-17 Peter Bergner <bergner@linux.ibm.com> - - PR target/115389 - * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Compute - rop_hash_save_offset for non-Altivec compiles. - -2024-06-17 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md (bsetdi_2): New pattern. - -2024-06-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115508 - * tree-vect-slp.cc (vect_schedule_slp_node): Guard check on - representative. - -2024-06-17 Richard Biener <rguenther@suse.de> - - Revert: - 2024-05-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100923 - * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Valueize - base SSA_NAME. - (vn_reference_lookup_3): Adjust vn_context_bb around calls - to ao_ref_init_from_vn_reference. - (vn_reference_lookup_pieces): Revert original PR100923 fix. - (vn_reference_lookup): Likewise. - -2024-06-17 Aldy Hernandez <aldyh@redhat.com> - - * data-streamer-in.cc (streamer_read_value_range): Rename - Value_Range to value_range. - * data-streamer.h (streamer_read_value_range): Same. - * gimple-pretty-print.cc (dump_ssaname_info): Same. - * gimple-range-cache.cc (ssa_block_ranges::dump): Same. - (ssa_lazy_cache::merge): Same. - (block_range_cache::dump): Same. - (ssa_cache::merge_range): Same. - (ssa_cache::dump): Same. - (ranger_cache::edge_range): Same. - (ranger_cache::propagate_cache): Same. - (ranger_cache::fill_block_cache): Same. - (ranger_cache::resolve_dom): Same. - (ranger_cache::range_from_dom): Same. - (ranger_cache::register_inferred_value): Same. - * gimple-range-fold.cc (op1_range): Same. - (op2_range): Same. - (fold_relations): Same. - (fold_using_range::range_of_range_op): Same. - (fold_using_range::range_of_phi): Same. - (fold_using_range::range_of_call): Same. - (fold_using_range::condexpr_adjust): Same. - (fold_using_range::range_of_cond_expr): Same. - (fur_source::register_outgoing_edges): Same. - * gimple-range-fold.h (gimple_range_type): Same. - (gimple_range_ssa_p): Same. - * gimple-range-gori.cc (gori_compute::compute_operand_range): Same. - (gori_compute::logical_combine): Same. - (gori_compute::refine_using_relation): Same. - (gori_compute::compute_operand1_range): Same. - (gori_compute::compute_operand2_range): Same. - (gori_compute::compute_operand1_and_operand2_range): Same. - (gori_calc_operands): Same. - (gori_name_helper): Same. - * gimple-range-infer.cc (gimple_infer_range::check_assume_func): Same. - (gimple_infer_range::gimple_infer_range): Same. - (infer_range_manager::maybe_adjust_range): Same. - (infer_range_manager::add_range): Same. - * gimple-range-infer.h: Same. - * gimple-range-op.cc - (gimple_range_op_handler::gimple_range_op_handler): Same. - (gimple_range_op_handler::calc_op1): Same. - (gimple_range_op_handler::calc_op2): Same. - (gimple_range_op_handler::maybe_builtin_call): Same. - * gimple-range-path.cc (path_range_query::internal_range_of_expr): Same. - (path_range_query::ssa_range_in_phi): Same. - (path_range_query::compute_ranges_in_phis): Same. - (path_range_query::compute_ranges_in_block): Same. - (path_range_query::add_to_exit_dependencies): Same. - * gimple-range-trace.cc (debug_seed_ranger): Same. - * gimple-range.cc (gimple_ranger::range_of_expr): Same. - (gimple_ranger::range_on_entry): Same. - (gimple_ranger::range_on_edge): Same. - (gimple_ranger::range_of_stmt): Same. - (gimple_ranger::prefill_stmt_dependencies): Same. - (gimple_ranger::register_inferred_ranges): Same. - (gimple_ranger::register_transitive_inferred_ranges): Same. - (gimple_ranger::export_global_ranges): Same. - (gimple_ranger::dump_bb): Same. - (assume_query::calculate_op): Same. - (assume_query::calculate_phi): Same. - (assume_query::dump): Same. - (dom_ranger::range_of_stmt): Same. - * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Same. - (ipa_vr_operation_and_type_effects): Same. - (ipa_value_range_from_jfunc): Same. - (propagate_bits_across_jump_function): Same. - (propagate_vr_across_jump_function): Same. - (ipcp_store_vr_results): Same. - * ipa-cp.h: Same. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same. - (evaluate_properties_for_edge): Same. - * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same. - (ipa_vr::get_vrange): Same. - (ipa_vr::streamer_read): Same. - (ipa_vr::streamer_write): Same. - (ipa_vr::dump): Same. - (ipa_set_jfunc_vr): Same. - (ipa_compute_jump_functions_for_edge): Same. - (ipcp_get_parm_bits): Same. - (ipcp_update_vr): Same. - (ipa_record_return_value_range): Same. - (ipa_return_value_range): Same. - * ipa-prop.h (ipa_return_value_range): Same. - (ipa_record_return_value_range): Same. - * range-op.h (range_cast): Same. - * tree-ssa-dom.cc - (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same. - (cprop_operand): Same. - * tree-ssa-loop-ch.cc (loop_static_stmt_p): Same. - * tree-ssa-loop-niter.cc (record_nonwrapping_iv): Same. - * tree-ssa-loop-split.cc (split_at_bb_p): Same. - * tree-ssa-phiopt.cc (value_replacement): Same. - * tree-ssa-strlen.cc (get_range): Same. - * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same. - (hybrid_jt_simplifier::compute_exit_dependencies): Same. - * tree-ssanames.cc (set_range_info): Same. - (duplicate_ssa_name_range_info): Same. - * tree-vrp.cc (remove_unreachable::handle_early): Same. - (remove_unreachable::remove_and_update_globals): Same. - (execute_ranger_vrp): Same. - * value-query.cc (range_query::value_of_expr): Same. - (range_query::value_on_edge): Same. - (range_query::value_of_stmt): Same. - (range_query::value_on_entry): Same. - (range_query::value_on_exit): Same. - (range_query::get_tree_range): Same. - * value-range-storage.cc (vrange_storage::set_vrange): Same. - * value-range.cc (Value_Range::dump): Same. - (value_range::dump): Same. - (debug): Same. - * value-range.h (enum value_range_discriminator): Same. - (class vrange): Same. - (class Value_Range): Same. - (class value_range): Same. - (Value_Range::Value_Range): Same. - (value_range::value_range): Same. - (Value_Range::~Value_Range): Same. - (value_range::~value_range): Same. - (Value_Range::set_type): Same. - (value_range::set_type): Same. - (Value_Range::init): Same. - (value_range::init): Same. - (Value_Range::operator=): Same. - (value_range::operator=): Same. - (Value_Range::operator==): Same. - (value_range::operator==): Same. - (Value_Range::operator!=): Same. - (value_range::operator!=): Same. - (Value_Range::supports_type_p): Same. - (value_range::supports_type_p): Same. - * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Same. - (simplify_using_ranges::legacy_fold_cond): Same. - -2024-06-17 Hu, Lin1 <lin1.hu@intel.com> - - PR target/115161 - * config/i386/i386-builtin.def: Change CODE_FOR_* for cvtt*'s builtins. - * config/i386/sse.md: - (unspec_avx512fp16_fix<vcvtt_uns_suffix> - _trunc<mode>2<mask_name><round_saeonly_name>): - Use UNSPEC instead of FIX/UNSIGNED_FIX. - (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<mask_name>): - Ditto. - (unspec_avx512fp16_fix<vcvtt_uns_suffix>_truncv2di2<mask_name>): Ditto. - (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<round_saeonly_name>): - Ditto. - (unspec_sse_cvttps2pi): Ditto. - (unspec_sse_cvttss2si<rex64namesuffix><round_saeonly_name>): Ditto. - (unspec_fix<vcvtt_uns_suffix>_truncv16sfv16si2<mask_name><round_saeonly_name>): - Ditto. - (unspec_fix_truncv8sfv8si2<mask_name>): Ditto. - (unspec_fix_truncv4sfv4si2<mask_name>): Ditto. - (unspec_sse2_cvttpd2pi): Ditto. - (unspec_fixuns_truncv2dfv2si2): Ditto. - (unspec_avx512f_vcvttss2usi<rex64namesuffix><round_saeonly_name>): - Ditto. - (unspec_avx512f_vcvttsd2usi<rex64namesuffix><round_saeonly_name>): - Ditto. - (unspec_sse2_cvttsd2si<rex64namesuffix><round_saeonly_name>): Ditto. - (unspec_fix<vcvtt_uns_suffix>_truncv8dfv8si2<mask_name><round_saeonly_name>): - Ditto. - (*unspec_fixuns_truncv2dfv2si2): Ditto. - (unspec_fixuns_truncv2dfv2si2_mask): Ditto. - (unspec_fix_truncv4dfv4si2<mask_name>): Ditto. - (unspec_fixuns_truncv4dfv4si2<mask_name>): Ditto. - (unspec_fix<vcvtt_uns_suffix> - _trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>): - Ditto. - (unspec_fix<vcvtt_uns_suffix> - _trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>): - Ditto. - (unspec_avx512dq_fix<vcvtt_uns_suffix>_truncv2sfv2di2<mask_name>): - Ditto. - (<mask_codefor>unspec_fixuns_trunc<mode><sseintvecmodelower>2<mask_name>): - Ditto. - (unspec_sse2_cvttpd2dq<mask_name>): Ditto. - -2024-06-17 Levy Hsu <admin@levyhsu.com> - - * config/i386/i386-expand.cc - (ix86_vectorize_vec_perm_const): Convert BF to HI using subreg. - * config/i386/predicates.md - (vcvtne2ps2bf_parallel): New define_insn_and_split. - * config/i386/sse.md - (vpermt2_sepcial_bf16_shuffle_<mode>): New predicates matches odd increasing perm. - -2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * config/s390/vector.md (*vmrhf_half<mode>): New. - (extendv2sfv2df2): New. - -2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - PR target/115261 - * config/s390/s390.md (any_extend,extend_insn,zero_extend): - New code attributes and code iterator. - * config/s390/vector.md (V_EXTEND): New mode iterator. - (<extend_insn><V_EXTEND:mode><vec_2x_wide>2): New insn. - -2024-06-16 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/100211 - * config/aarch64/aarch64.h (machine_function): Fix the size - of reg_is_wrapped_separately. - -2024-06-16 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md ((1 << N) | C): New splitter for IOR/XOR - of a single bit an a DImode object. - -2024-06-16 Jeff Law <jlaw@ventanamicro.com> - - * config/sh/sh.md (neg_zero_extract_4b): New pattern. - -2024-06-16 Peter Damianov <peter0x44@disroot.org> - - * pretty-print.cc (mingw_ansi_fputs): Don't translate escape sequences if - the console has ENABLE_VIRTUAL_TERMINAL_PROCESSING. - -2024-06-16 Peter Damianov <peter0x44@disroot.org> - - * diagnostic-color.cc (auto_enable_urls): Don't hardcode to return - false on mingw hosts. - (auto_enable_urls): Return true if console - supports ansi escape sequences. - -2024-06-16 Peter Damianov <peter0x44@disroot.org> - - * diagnostic-color.cc (should_colorize): Enable processing of VT100 - escape sequences on windows consoles - -2024-06-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): - Fix allocation size of buffer. - (riscv_process_one_target_attr): Likewise. - (riscv_process_target_attr): Likewise. - -2024-06-15 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific): Remove pointer to old versions - of binutils. - -2024-06-14 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-gori.cc (gori_calc_operands): Do not continue nor - add the range when VARYING is produced for an operand. - -2024-06-14 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ssa_lazy_cache::merge): New. - * gimple-range-cache.h (ssa_lazy_cache::merge): New prototype. - -2024-06-14 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (fold_using_range::range_of_call): Ensure - LHS is an SSA_NAME before invoking gimple_range_global. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * match.pd: Add more match for unsigned sat_sub. - * tree-ssa-math-opts.cc (match_unsigned_saturation_sub): Add new - func impl to match phi node for .SAT_SUB. - (math_opts_dom_walker::after_dom_children): Try match .SAT_SUB - for the phi node, MULT_EXPR, BIT_XOR_EXPR and BIT_AND_EXPR. - -2024-06-14 Jan Beulich <jbeulich@suse.com> - - * configure.ac: Drop ${objdir}/ from NM and AR. Move setting of - ld_ver out of conditional. - * configure: Re-generate. - -2024-06-14 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vectorizable_reduction): Allow - single-def-use cycles with SLP. - (vect_transform_reduction): Handle SLP single def-use cycles. - (vect_transform_cycle_phi): Likewise. - -2024-06-14 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/invoke.texi (x86 Options): Consolidate duplicate MOVBE - listings for haswell, broadwell, skylake, skylake-avx512, - cannonlake, icelake-client, icelake-server, cascadelake, - cooperlake, tigerlake, sapphirerapids, rocketlake, graniterapids, - and graniterapids-d options to -march. - -2024-06-14 Pan Li <pan2.li@intel.com> - - PR target/115456 - * config/riscv/vector-iterators.md: Leverage V_ZVFH instead of V - which contains the VF_ZVFHMIN for alignment. - -2024-06-14 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific): Remove stale reference to Interix. - -2024-06-14 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): Do not - re-use poly-int remain but re-compute with non-poly values. - Verify the shortened load is good enough to be covered with - a single scalar gap iteration before accepting it. - -2024-06-14 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386.cc (ix86_rtx_costs): Adjust rtx_cost for - pternlog_operand under AVX512, also adjust VEC_DUPLICATE - according since vec_dup:mem can't be that cheap. - -2024-06-14 liuhongt <hongtao.liu@intel.com> - - * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Remove - latest Intel processors. - Co-authored by: Lingling Kong <lingling.kong@intel.com> - -2024-06-14 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386-expand.cc (ix86_expand_ternlog): Try performing - logic operation in a different vector mode if that enables use of - a 32-bit or 64-bit broadcast addressing mode. - -2024-06-14 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/113212 - * expr.h (const_seqpops): New typedef. - (expand_expr_real_2): Constify the first argument. - * optabs.cc (expand_widen_pattern_expr): Likewise. - * optabs.h (expand_widen_pattern_expr): Likewise. - * expr.cc (expand_expr_real_2): Likewise - (do_store_flag): Likewise. Remove incorrect store to ops->code. - -2024-06-13 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/sync-rvwmo.md: Add support for subword fenced - loads/stores. - * config/riscv/sync-ztso.md: Ditto. - * config/riscv/sync.md: Ditto. - -2024-06-13 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/extend.texi (AArch64 Function Attributes): Add - (AVR Variable Attributes): Ditto. - (Common Type Attributes): Ditto. - -2024-06-13 Hongyu Wang <hongyu.wang@intel.com> - - PR target/115370 - PR target/115463 - * target.def (have_ccmp): New target hook. - * targhooks.cc (default_have_ccmp): New function. - * targhooks.h (default_have_ccmp): New prototype. - * doc/tm.texi.in: Add TARGET_HAVE_CCMP. - * doc/tm.texi: Regenerate. - * cfgexpand.cc (expand_gimple_cond): Call targetm.have_ccmp - instead of checking if targetm.gen_ccmp_first exists. - * expr.cc (expand_expr_real_gassign): Likewise. - * config/i386/i386.cc (ix86_have_ccmp): New target hook to - check if APX_CCMP enabled. - (TARGET_HAVE_CCMP): Define. - -2024-06-13 Richard Sandiford <richard.sandiford@arm.com> - - PR target/115464 - * simplify-rtx.cc (simplify_context::simplify_subreg): Don't try - to fold two subregs together if their relationship isn't known - at compile time. - * explow.h (force_subreg): Declare. - * explow.cc (force_subreg): New function. - * config/aarch64/aarch64-sve-builtins-base.cc - (svset_neonq_impl::expand): Use it instead of simplify_gen_subreg. - -2024-06-13 Pan Li <pan2.li@intel.com> - - PR target/115456 - * config/riscv/autovec.md: Take ZVFH mode iterator instead of - the ZVFHMIN for the alignment. - * config/riscv/vector-iterators.md: Add 2 new iterator - V_VLS_ZVFH and VLS_ZVFH. - -2024-06-13 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386.md (@ccmp<mode>): Add new alternative - <r>,C and adjust output templates. Also adjust UNSPEC mode - to CCmode. - -2024-06-13 Gerald Pfeifer <gerald@pfeifer.com> - - PR other/69374 - * doc/install.texi (Prerequisites): Simplify note on the C++ - compiler required. Drop requirements for versions of GCC prior - to 3.4. Fix grammar. - -2024-06-13 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (get_group_load_store_type): Consistently - use VMAT_STRIDED_SLP for strided SLP accesses and not - VMAT_ELEMENTWISE. - (vectorizable_store): Adjust VMAT_STRIDED_SLP handling to - allow not only half-size but also smaller accesses. - (vectorizable_load): Likewise. - -2024-06-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115385 - * tree-vect-stmts.cc (get_group_load_store_type): Peeling - of a single scalar iteration is sufficient if we can narrow - the access to the next power of two of the bits in the last - access. - (vectorizable_load): Ensure that the last access is narrowed. - -2024-06-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114107 - PR tree-optimization/110445 - * tree-vect-stmts.cc (get_group_load_store_type): Refactor - contiguous access case. Make sure peeling for gap constraints - are always tested and consistently relax when we know we can - avoid touching excess elements during code generation. But - rewrite the check poly-int aware. - -2024-06-13 Andi Kleen <ak@linux.intel.com> - - * doc/extend.texi: Use std::string_view in asm constexpr - example. - -2024-06-13 liuhongt <hongtao.liu@intel.com> - - PR target/115452 - * config/i386/i386-features.cc (scalar_chain::convert_op): Use - reg_or_subregno instead of REGNO to avoid ICE. - -2024-06-13 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips-cpus.def: Use PROCESSOR_24KF1_1 for mips32; - Use PROCESSOR_5KF for mips64/mips64r2/mips64r3/mips64r5. - -2024-06-13 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips-modes.def: New CC_MODE CCE. - * config/mips/mips-protos.h(mips_output_compare): New function. - * config/mips/mips.cc(mips_allocate_fcc): Set CCEmode count=1. - (mips_emit_compare): Use CCEmode for LTGT/LT/LE for pre-R6. - (mips_output_compare): New function. Convert lt/le to slt/sle - for R6; convert ueq to ngl for CCEmode. - (mips_hard_regno_mode_ok_uncached): Mention CCEmode. - * config/mips/mips.h: Mention CCEmode for LOAD_EXTEND_OP. - * config/mips/mips.md(FPCC): Add CCE. - (define_mode_iterator MOVECC): Mention CCE. - (define_mode_attr reg): Add CCE with "z". - (define_mode_attr fpcmp): Add CCE with "c". - (define_code_attr fcond): ltgt should use sne instead of ne. - (s<code>_<SCALARF:mode>_using_<FPCC:mode>): call mips_output_compare. - -2024-06-13 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386-opts.h (enum apx_features): Add apx_zu. - * config/i386/i386.h (TARGET_APX_ZU): Define. - * config/i386/i386.md (*imulhi<mode>zu): New define_insn. - (*setcc_<mode>_zu): Ditto. - * config/i386/i386.opt: Add enum value for zu. - -2024-06-12 David Malcolm <dmalcolm@redhat.com> - - PR bootstrap/115465 - * config/aarch64/aarch64-early-ra.cc (early_ra::process_block): - Update for fields of pretty_printer becoming private in - r15-1209-gc5e3be456888aa. - -2024-06-12 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/115176 - * config/aarch64/aarch64-simd.md (aarch64_rbit<mode><vczle><vczbe>): Use - bitreverse instead of unspec. - * config/aarch64/aarch64-sve-builtins-base.cc (svrbit): Convert over to using - rtx_code_function instead of unspec_based_function. - * config/aarch64/aarch64-sve.md: Update comment where RBIT is included. - * config/aarch64/aarch64.cc (aarch64_rtx_costs): Handle BITREVERSE like BSWAP. - Remove UNSPEC_RBIT support. - * config/aarch64/aarch64.md (unspec): Remove UNSPEC_RBIT. - (aarch64_rbit<mode>): Use bitreverse instead of unspec. - * config/aarch64/iterators.md (SVE_INT_UNARY): Add bitreverse. - (optab): Likewise. - (sve_int_op): Likewise. - (SVE_INT_UNARY): Remove UNSPEC_RBIT. - (optab): Likewise. - (sve_int_op): Likewise. - (min_elem_bits): Likewise. - -2024-06-12 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115449 - * gimple-match-head.cc (gimple_maybe_truncate): New declaration. - (gimple_bitwise_equal_p): Match truncations that differ only - in types with the same precision. - (gimple_bitwise_inverted_equal_p): For matching after bit_not_with_nop - call gimple_bitwise_equal_p. - * match.pd (maybe_truncate): New match pattern. - -2024-06-12 Victor Do Nascimento <victor.donascimento@arm.com> - - PR tree-optimization/114061 - * tree-data-ref.cc (get_references_in_stmt): set - `clobbers_memory' to false for __builtin_prefetch. - * tree-vect-loop.cc (vect_transform_loop): Drop all - __builtin_prefetch calls from loops. - -2024-06-12 David Malcolm <dmalcolm@redhat.com> - - * dumpfile.cc (dump_pretty_printer::emit_items): Update for - changes to chunk_info. - * pretty-print.cc (chunk_info::append_formatted_chunk): New, based - on code in cp/error.cc's append_formatted_chunk. - (chunk_info::pop_from_output_buffer): New, based on code in - pp_output_formatted_text and dump_pretty_printer::emit_items. - (on_begin_quote): Convert to... - (chunk_info::on_begin_quote): ...this. - (on_end_quote): Convert to... - (chunk_info::on_end_quote): ...this. - (pretty_printer::format): Update for chunk_info becoming a class - and its fields gaining "m_" prefixes. Update for on_begin_quote - and on_end_quote moving to chunk_info. - (quoting_info::handle_phase_3): Update for changes to chunk_info. - (pp_output_formatted_text): Likewise. Move cleanup code to - chunk_info::pop_from_output_buffer. - * pretty-print.h (class output_buffer): New forward decl. - (class urlifier): New forward decl. - (struct chunk_info): Convert to... - (class chunk_info): ...this. Add friend class pretty_printer. - (chunk_info::get_args): New accessor. - (chunk_info::get_quoting_info): New accessor. - (chunk_info::append_formatted_chunk): New decl. - (chunk_info::pop_from_output_buffer): New decl. - (chunk_info::on_begin_quote): New decl. - (chunk_info::on_end_quote): New decl. - (chunk_info::prev): Rename to... - (chunk_info::m_prev): ...this. - (chunk_info::args): Rename to... - (chunk_info::m_args): ...this. - (output_buffer::cur_chunk_array): Drop "struct" from decl. - -2024-06-12 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_context::urls_init): Update for fields - of pretty_printer becoming private. - (diagnostic_context::print_any_cwe): Likewise. - (diagnostic_context::print_any_rules): Likewise. - (diagnostic_context::print_option_information): Likewise. - * diagnostic.h (diagnostic_format_decoder): Likewise. - (diagnostic_prefixing_rule): Likewise, fixing typo. - * digraph.cc (test_dump_to_dot): Likewise. - * digraph.h (digraph<GraphTraits>::dump_dot_to_file): Likewise. - * dumpfile.cc - (dump_pretty_printer::emit_any_pending_textual_chunks): Likewise. - * gimple-pretty-print.cc (print_gimple_stmt): Likewise. - (print_gimple_expr): Likewise. - (print_gimple_seq): Likewise. - (dump_ssaname_info_to_file): Likewise. - (gimple_dump_bb): Likewise. - * graph.cc (print_graph_cfg): Likewise. - (start_graph_dump): Likewise. - * langhooks.cc (lhd_print_error_function): Likewise. - * lto-wrapper.cc (print_lto_docs_link): Likewise. - * pretty-print.cc (pp_set_real_maximum_length): Convert to... - (pretty_printer::set_real_maximum_length): ...this. - (pp_clear_state): Convert to... - (pretty_printer::clear_state): ...this. - (pp_wrap_text): Update for pp_remaining_character_count_for_line - becoming a member function. - (urlify_quoted_string): Update for fields of pretty_printer becoming - private. - (pp_format): Convert to... - (pretty_printer::format): ...this. Reduce the scope of local - variables "old_line_length" and "old_wrapping_mode" and make - const. Reduce the scope of locals "args", "new_chunk_array", - "curarg", "any_unnumbered", and "any_numbered". - (pp_output_formatted_text): Update for fields of pretty_printer - becoming private. - (pp_flush): Likewise. - (pp_really_flush): Likewise. - (pp_set_line_maximum_length): Likewise. - (pp_set_prefix): Convert to... - (pretty_printer::set_prefix): ...this. - (pp_take_prefix): Update for fields of pretty_printer gaining - "m_" prefixes. - (pp_destroy_prefix): Likewise. - (pp_emit_prefix): Convert to... - (pretty_printer::emit_prefix): ...this. - (pretty_printer::pretty_printer): Update both ctors for fields - gaining "m_" prefixes. - (pretty_printer::~pretty_printer): Likewise for dtor. - (pp_append_text): Update for pp_emit_prefix becoming - pretty_printer::emit_prefix. - (pp_remaining_character_count_for_line): Convert to... - (pretty_printer::remaining_character_count_for_line): ...this. - (pp_character): Update for above change. - (pp_maybe_space): Convert to... - (pretty_printer::maybe_space): ...this. - (pp_begin_url): Convert to... - (pretty_printer::begin_url): ...this. - (get_end_url_string): Update for fields of pretty_printer - becoming private. - (pp_end_url): Convert to... - (pretty_printer::end_url): ...this. - (selftest::test_pretty_printer::test_pretty_printer): Update for - fields of pretty_printer becoming private. - (selftest::test_urls): Likewise. - (selftest::test_null_urls): Likewise. - (selftest::test_urlification): Likewise. - * pretty-print.h (pp_line_cutoff): Convert from macro to inline - function. - (pp_prefixing_rule): Likewise. - (pp_wrapping_mode): Likewise. - (pp_format_decoder): Likewise. - (pp_needs_newline): Likewise. - (pp_indentation): Likewise. - (pp_translate_identifiers): Likewise. - (pp_show_color): Likewise. - (pp_buffer): Likewise. - (pp_get_prefix): Add forward decl to allow friend decl. - (pp_take_prefix): Likewise. - (pp_destroy_prefix): Likewise. - (class pretty_printer): Fix typo in leading comment. Add - "friend" decls for the various new accessor functions that were - formerly macros and for pp_get_prefix, pp_take_prefix, and - pp_destroy_prefix. Make all fields private. - (pretty_printer::set_output_stream): New. - (pretty_printer::set_prefix): New decl. - (pretty_printer::emit_prefix): New decl. - (pretty_printer::format): New decl. - (pretty_printer::maybe_space): New decl. - (pretty_printer::supports_urls_p): New. - (pretty_printer::get_url_format): New. - (pretty_printer::set_url_format): New. - (pretty_printer::begin_url): New decl. - (pretty_printer::end_url): New decl. - (pretty_printer::set_verbatim_wrapping): New. - (pretty_printer::set_padding): New. - (pretty_printer::get_padding): New. - (pretty_printer::clear_state): New decl. - (pretty_printer::set_real_maximum_length): New decl. - (pretty_printer::remaining_character_count_for_line): New decl. - (pretty_printer::buffer): Rename to... - (pretty_printer::m_buffer): ...this. - (pretty_printer::prefix): Rename to... - (pretty_printer::m_prefix): ...this; - (pretty_printer::padding): Rename to... - (pretty_printer::m_padding): ...this; - (pretty_printer::maximum_length): Rename to... - (pretty_printer::m_maximum_length): ...this; - (pretty_printer::indent_skip): Rename to... - (pretty_printer::m_indent_skip): ...this; - (pretty_printer::wrapping): Rename to... - (pretty_printer::m_wrapping): ...this; - (pretty_printer::format_decoder): Rename to... - (pretty_printer::m_format_decoder): ...this; - (pretty_printer::emitted_prefix): Rename to... - (pretty_printer::m_emitted_prefix): ...this; - (pretty_printer::need_newline): Rename to... - (pretty_printer::m_need_newline): ...this; - (pretty_printer::translate_identifiers): Rename to... - (pretty_printer::m_translate_identifiers): ...this; - (pretty_printer::show_color): Rename to... - (pretty_printer::m_show_color): ...this; - (pretty_printer::url_format): Rename to... - (pretty_printer::m_url_format): ...this; - (pp_get_prefix): Reformat. - (pp_format_postprocessor): New inline function. - (pp_take_prefix): Move decl to before class pretty_printer. - (pp_destroy_prefix): Likewise. - (pp_set_prefix): Convert to inline function. - (pp_emit_prefix): Convert to inline function. - (pp_format): Convert to inline function. - (pp_maybe_space): Convert to inline function. - (pp_begin_url): Convert to inline function. - (pp_end_url): Convert to inline function. - (pp_set_verbatim_wrapping): Convert from macro to inline - function, renaming... - (pp_set_verbatim_wrapping_): ...this. - * print-rtl.cc (dump_value_slim): Update for fields of - pretty_printer becoming private. - (dump_insn_slim): Likewise. - (dump_rtl_slim): Likewise. - * print-tree.cc (print_node): Likewise. - * sched-rgn.cc (dump_rgn_dependencies_dot): Likewise. - * text-art/canvas.cc (canvas::print_to_pp): Likewise. - (canvas::debug): Likewise. - (selftest::test_canvas_urls): Likewise. - * text-art/dump.h (dump_to_file): Likewise. - * text-art/selftests.cc (selftest::assert_canvas_streq): Likewise. - * text-art/style.cc (style::print_changes): Likewise. - * text-art/styled-string.cc (styled_string::from_fmt_va): - Likewise. - * tree-diagnostic-path.cc (control_flow_tests): Update for - pp_show_color becoming an inline function. - * tree-loop-distribution.cc (dot_rdg_1): Update for fields of - pretty_printer becoming private. - * tree-pretty-print.cc (maybe_init_pretty_print): Likewise. - * value-range.cc (vrange::dump): Likewise. - (irange_bitmask::dump): Likewise. - -2024-06-12 David Malcolm <dmalcolm@redhat.com> - - * gimple-pretty-print.cc: Rename pretty_printer "buffer" to "pp" - throughout. - * print-tree.cc (print_node): Likewise. - * tree-loop-distribution.cc (dot_rdg_1): Likewise. - * tree-pretty-print.h (dump_location): Likewise. - * value-range.cc (vrange::dump): Likewise. - (irange_bitmask::dump): Likewise. - -2024-06-12 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/predicates.md (high_bitmask_operand): New - predicate. - * config/loongarch/constraints.md (Yy): New constriant. - * config/loongarch/loongarch.md (and<mode>3_align): New - define_insn_and_split. - -2024-06-12 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc - (loongarch_expand_conditional_move): Compare mode size with - UNITS_PER_WORD instead of word_mode. - -2024-06-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - PR target/115253 - * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear): - Sign extend for Thumb1. - (thumb1_expand_prologue): Add zero/sign extend. - -2024-06-12 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <*-*-cygwin>: Update web link. - -2024-06-12 Pan Li <pan2.li@intel.com> - - * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): - Leverage gsi_after_labels instead of gsi_start_bb to skip the - leading labels of bb. - -2024-06-12 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <*-*-linux-gnu>: Do not list - glibc 2.1 and binutils 2.12 as minimum dependencies. - -2024-06-12 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/113681 - * tree-profile.cc (pass_ipa_tree_profile::gate): Skip if - seen_errors. - -2024-06-12 liuhongt <hongtao.liu@intel.com> - - PR target/115384 - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): - Only do the simplification of (AND (ASHIFTRT A imm) mask) - to (LSHIFTRT A imm) when the component of const_vector is - CONST_INT_P. - -2024-06-11 Joseph Myers <josmyers@redhat.com> - - * doc/cpp.texi (__STDC_VERSION__): Document C2Y handling. - * doc/invoke.texi (-Wc23-c2y-compat, -std=c2y, -std=gnu2y): - Document options. - (-std=gnu23): Update documentation. - * doc/standards.texi (C Language): Document C2Y. Update C23 - description. - * config/rl78/rl78.cc (rl78_option_override): Handle "GNU C2Y" - language name. - * dwarf2out.cc (highest_c_language, gen_compile_unit_die): - Likewise. - -2024-06-11 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <x86_64-*-solaris2*>: Remove - redundant introduction of x86-64. - -2024-06-11 Robin Dapp <rdapp@ventanamicro.com> - - PR tree-optimization/115382 - * tree-vect-loop.cc (vectorize_fold_left_reduction): Use - prepare_vec_mask. - * tree-vect-stmts.cc (check_load_store_for_partial_vectors): - Remove static of prepare_vec_mask. - * tree-vectorizer.h (prepare_vec_mask): Export. - -2024-06-11 Patrick O'Neill <patrick@rivosinc.com> - - * config/riscv/sync.md (atomic_<atomic_optab><mode>): New expand pattern. - (amo_atomic_<atomic_optab><mode>): Rename amo pattern. - (atomic_fetch_<atomic_optab><mode>): New lrsc sequence pattern. - (lrsc_atomic_<atomic_optab><mode>): New expand pattern. - (amo_atomic_fetch_<atomic_optab><mode>): Rename amo pattern. - (lrsc_atomic_fetch_<atomic_optab><mode>): New lrsc sequence pattern. - (atomic_exchange<mode>): New expand pattern. - (amo_atomic_exchange<mode>): Rename amo pattern. - (lrsc_atomic_exchange<mode>): New lrsc sequence pattern. - -2024-06-11 Patrick O'Neill <patrick@rivosinc.com> - - * doc/sourcebuild.texi: Add docs for atomic extension testsuite infra. - -2024-06-11 Edwin Lu <ewlu@rivosinc.com> - Patrick O'Neill <patrick@rivosinc.com> - - * common/config/riscv/riscv-common.cc: Add Zaamo and Zalrsc. - * config/riscv/arch-canonicalize: Make A imply Zaamo and Zalrsc. - * config/riscv/riscv.opt: Add Zaamo and Zalrsc - * config/riscv/sync.md: Convert TARGET_ATOMIC to TARGET_ZAAMO and - TARGET_ZALRSC. - -2024-06-11 Uros Bizjak <ubizjak@gmail.com> - - PR target/112600 - * config/i386/i386.md (usadd<mode>3): Emit insn sequence - involving conditional move for TARGET_CMOVE targets. - (ussub<mode>3): Ditto. - -2024-06-11 Pengxuan Zheng <quic_pzheng@quicinc.com> - - * config/aarch64/aarch64-builtins.cc (VAR1): Remap float_truncate_lo_ - builtin codes to standard optab ones. - * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_<mode><vczle><vczbe>): - Rename to... - (trunc<Vwide><mode>2<vczle><vczbe>): ... This. - -2024-06-11 Andi Kleen <ak@linux.intel.com> - - * doc/extend.texi: Document constexpr asm. - -2024-06-11 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-fold.cc (range_of_ssa_name_with_loop_info): Issue a - message if SCEV is not invoked due to a mismatch. - -2024-06-11 Roger Sayle <roger@nextmovesoftware.com> - - PR target/115397 - * config/i386/i386-expand.cc (ix86_expand_ternlog): Move call to - ix86_broadcast_from_constant before call to validize_mem, but after - call to force_const_mem. - -2024-06-11 Pan Li <pan2.li@intel.com> - - * config/riscv/autovec.md (ussub<mode>3): Add new pattern impl - for the unsigned vector modes. - * config/riscv/riscv-protos.h (expand_vec_ussub): Add new func - decl to expand .SAT_SUB for vector mode. - * config/riscv/riscv-v.cc (emit_vec_saddu): Add new func impl - to expand .SAT_SUB for vector mode. - (emit_vec_binary_alu): Add new helper func to emit binary alu. - (expand_vec_ussub): Leverage above helper func. - -2024-06-10 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (Documentation): Fix typos, grammar, and a link. - -2024-06-10 Andrew MacLeod <amacleod@redhat.com> - - * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker): - Always use current range_query. - (pass_data_array_bounds): New. - (pass_array_bounds): New. - (make_pass_array_bounds): New. - * gimple-array-bounds.h (array_bounds_checker): Adjust prototype. - * passes.def (pass_array_bounds): New. Add after VRP1. - * timevar.def (TV_TREE_ARRAY_BOUNDS): New timevar. - * tree-pass.h (make_pass_array_bounds): Add prototype. - * tree-vrp.cc (execute_ranger_vrp): Remove warning param and do - not invoke array bounds warning pass. - (pass_vrp::pass_vrp): Adjust params. - (pass_vrp::close): Adjust parameters. - (pass_vrp::warn_array_bounds_p): Remove. - (make_pass_vrp): Remove warning param. - (make_pass_early_vrp): Remove warning param. - (make_pass_fast_vrp): Remove warning param. - -2024-06-10 Raphael Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/bitmanip.md (*bextdisi): New pattern. - -2024-06-10 Pan Li <pan2.li@intel.com> - - PR target/115387 - * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): Take - the gsi of start_bb instead of last_bb. - -2024-06-10 Raphael Zinsly <rzinsly@ventanamicro.com> - - * config/riscv/bitmanip.md (*bextdisi): New pattern. - -2024-06-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115388 - * tree-ssa-dse.cc (dse_classify_store): Handle irreducible - regions. - (pass_dse::execute): Make sure to mark backedges. - -2024-06-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115395 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): - Handle STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT also for SLP - reductions of group_size one. - -2024-06-10 Andreas Krebbel <krebbel@linux.ibm.com> - - * config/s390/s390.cc (expand_perm_as_replicate): Handle memory - operands. - * config/s390/vx-builtins.md (vec_splats<mode>): Turn into parameterized expander. - (@vec_splats<mode>): New expander. - -2024-06-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115383 - * tree-vect-stmts.cc (vectorizable_condition): Handle - generating a chain of .FOLD_EXTRACT_LAST. - -2024-06-09 Andreas Tobler <andreast@gcc.gnu.org> - - * config/freebsd-spec.h: Change fbsd-lib-spec for FreeBSD > 13, - do not link against profiled system libraries if -pg is invoked. - Add a define to note about this change. - * config/aarch64/aarch64-freebsd.h: Use the note to inform if - -pg is invoked on FreeBSD > 13. - * config/arm/freebsd.h: Likewise. - * config/i386/freebsd.h: Likewise. - * config/i386/freebsd64.h: Likewise. - * config/riscv/freebsd.h: Likewise. - * config/rs6000/freebsd64.h: Likewise. - * config/rs6000/sysv4.h: Likeise. - -2024-06-09 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_move_integer): Initialize "x". - -2024-06-09 Uros Bizjak <ubizjak@gmail.com> - - PR target/112600 - * config/i386/i386.md (ussub<mode>3): New expander. - (sub<mode>_3): Ditto. - -2024-06-09 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/install.texi (avr): Remove link to www.amelek.gda.pl/avr/. - -2024-06-09 Roger Sayle <roger@nextmovesoftware.com> - - * expmed.cc (expand_shift_1): Use add_optab instead of ior_optab - to generate PLUS instead or IOR when unioning disjoint bitfields. - * optabs.cc (expand_subword_shift): Likewise. - (expand_binop): Likewise for double-word rotate. - -2024-06-08 Peter Bergner <bergner@linux.ibm.com> - - * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Update comment. - -2024-06-08 Uros Bizjak <ubizjak@gmail.com> - - PR target/112600 - * config/i386/i386.md (usadd<mode>3): New expander. - (x86_mov<mode>cc_0_m1_neg): Use SWI mode iterator. - -2024-06-08 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-protos.h (riscv_expand_ussub): Add new func - decl for ussub expanding. - * config/riscv/riscv.cc (riscv_expand_ussub): Ditto but for impl. - * config/riscv/riscv.md (ussub<mode>3): Add new pattern ussub - for scalar modes. - -2024-06-07 David Malcolm <dmalcolm@redhat.com> - - * doc/invoke.texi: Add -Wanalyzer-undefined-behavior-ptrdiff. - -2024-06-07 Jason Merrill <jason@redhat.com> - - * doc/invoke.texi (C++ Modules): Mention -include. - -2024-06-07 Roger Sayle <roger@nextmovesoftware.com> - - PR target/115351 - * config/i386/i386.cc (ix86_rtx_costs): Provide estimates for - the *concatditi3 and *insvti_highpart patterns, about two insns. - -2024-06-07 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - * config/i386/i386-expand.cc (ix86_expand_args_builtin): Call - fixup_modeless_constant before testing predicates. Only call - copy_to_mode_reg on memory operands (after the first one). - (ix86_gen_bcst_mem): Helper function to convert a CONST_VECTOR - into a VEC_DUPLICATE if possible. - (ix86_ternlog_idx): Convert an RTX expression into a ternlog - index between 0 and 255, recording the operands in ARGS, if - possible or return -1 if this is not possible/valid. - (ix86_ternlog_leaf_p): Helper function to identify "leaves" - of a ternlog expression, e.g. REG_P, MEM_P, CONST_VECTOR, etc. - (ix86_ternlog_operand_p): Test whether a expression is suitable - for and prefered as an UNSPEC_TERNLOG. - (ix86_expand_ternlog_binop): Helper function to construct the - binary operation corresponding to a sufficiently simple ternlog. - (ix86_expand_ternlog_andnot): Helper function to construct a - ANDN operation corresponding to a sufficiently simple ternlog. - (ix86_expand_ternlog): Expand a 3-operand ternary logic - expression, constructing either an UNSPEC_TERNLOG or simpler - rtx expression. Called from builtin expanders and pre-reload - splitters. - * config/i386/i386-protos.h (ix86_ternlog_idx): Prototype here. - (ix86_ternlog_operand_p): Likewise. - (ix86_expand_ternlog): Likewise. - * config/i386/predicates.md (ternlog_operand): New predicate - that calls xi86_ternlog_operand_p. - * config/i386/sse.md (<avx512>_vpternlog<mode>_0): New - define_insn_and_split that recognizes a SET_SRC of ternlog_operand - and expands it via ix86_expand_ternlog pre-reload. - (<avx512>_vternlog<mode>_mask): Convert from define_insn to - define_expand. Use ix86_expand_ternlog if the mask operand is - ~0 (or 255 or -1). - (*<avx512>_vternlog<mode>_mask): define_insn renamed from above. - -2024-06-07 Michal Jires <mjires@suse.cz> - - * common.opt: Add cache partitioning. - * flag-types.h (enum lto_partition_model): Likewise. - -2024-06-07 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vectorize_fold_left_reduction): Fix - mask vector operand indexing. - -2024-06-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/115352 - * gimple-lower-bitint.cc (lower_addsub_overflow): Don't disable - single_comparison if cmp_code is GE_EXPR. - -2024-06-07 Alexandre Oliva <oliva@adacore.com> - - * target.def (call_offset_return_label): New hook. - * doc/tm.texi.in (TARGET_CALL_OFFSET_RETURN_LABEL): Add - placeholder. - * doc/tm.texi: Rebuild. - * dwarf2out.cc (struct call_arg_loc_node): Record call_insn - instead of call_arg_loc_note. - (add_AT_lbl_id): Add optional offset argument. - (gen_call_site_die): Compute and pass on a return pc offset. - (gen_subprogram_die): Move call_arg_loc_note computation... - (dwarf2out_var_location): ... from here. Set call_insn. - -2024-06-06 Pan Li <pan2.li@intel.com> - - * doc/match-and-simplify.texi: Add doc for the matching flag '^'. - * genmatch.cc (cmp_operand): Add match_phi comparation. - (dt_node::gen_kids_1): Add cond_expr bool flag for phi match. - (dt_operand::gen_phi_on_cond): Add new func to gen phi matching - on cond_expr. - (parser::parse_expr): Add handling for the expr flag '^'. - * match.pd: Add more form for unsigned .SAT_ADD. - * tree-ssa-math-opts.cc (build_saturation_binary_arith_call): Add - new func impl to build call for phi gimple. - (match_unsigned_saturation_add): Add new func impl to match the - .SAT_ADD for phi gimple. - (math_opts_dom_walker::after_dom_children): Add phi matching - try for all gimple phi stmt. - -2024-06-06 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113880 - PR target/113869 - * config/aarch64/aarch64-builtins.cc (VAR1): Remap float_extend_lo_ - builtin codes to standard optab ones. - * config/aarch64/aarch64-simd.md (aarch64_float_extend_lo_<Vwide>): Rename - to... - (extend<mode><Vwide>2): ... This. - -2024-06-06 Andrew Pinski <quic_apinski@quicinc.com> - - PR plugins/115288 - * Makefile.in (CPPLIB_H): Add label-text.h. - -2024-06-06 Richard Ball <richard.ball@arm.com> - - * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): - Add missing __ARM_NEON_SVE_BRIDGE. - -2024-06-06 Richard Ball <richard.ball@arm.com> - - PR target/115353 - * config/arm/arm.h (enum arm_auto_incmodes): - Correct CASE_VECTOR_SHORTEN_MODE query. - -2024-06-06 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-sve.md (@aarch64_pred_cmp<cmp_op><mode>, - *cmp<cmp_op><mode>_cc, *cmp<cmp_op><mode>_ptest, - @aarch64_pred_cmp<cmp_op><mode>_wide, - *aarch64_pred_cmp<cmp_op><mode>_wide_cc, - *aarch64_pred_cmp<cmp_op><mode>_wide_ptest): Fix Upl tie alternative. - * config/aarch64/aarch64-sve2.md (@aarch64_pred_<sve_int_op><mode>): Fix - Upl tie alternative. - -2024-06-06 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx.md (nvptx_uniform_warp_check): Make fit for - non-full-warp execution, via 'vote.all.pred'. - -2024-06-06 Pan Li <pan2.li@intel.com> - - * match.pd: Add new form for vector mode recog. - * tree-vect-patterns.cc (gimple_unsigned_integer_sat_sub): Add - new match func decl; - (vect_recog_build_binary_gimple_call): Extract helper func to - build gcall with given internal_fn. - (vect_recog_sat_sub_pattern): Add new func impl to recog .SAT_SUB. - -2024-06-06 Michal Jires <mjires@suse.cz> - - * lto-streamer.cc (lto_get_section_name): Remove suffixes after WPA. - -2024-06-06 Michal Jires <mjires@suse.cz> - - * lto-opts.cc (lto_write_options): Skip OPT_fltrans_output_list_. - -2024-06-06 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv.opt.urls: Regenerate. - -2024-06-06 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386-expand.cc (ix86_gen_ccmp_first): - Add fp compare and check the allowed fp compare type. - (ix86_gen_ccmp_next): Adjust compare_code input to ccmp for - fp compare. - -2024-06-06 Hongyu Wang <hongyu.wang@intel.com> - - * ccmp.cc (expand_ccmp_expr_1): Check ret and ret2 of - expand_ccmp_next, returns the valid one first instead of - comparing cost. - -2024-06-06 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386-expand.cc (ix86_gen_ccmp_first): New function - that test if the first compare can be generated. - (ix86_gen_ccmp_next): New function to emit a simgle compare and ccmp - sequence. - * config/i386/i386-opts.h (enum apx_features): Add apx_ccmp. - * config/i386/i386-protos.h (ix86_gen_ccmp_first): New proto - declare. - (ix86_gen_ccmp_next): Likewise. - (ix86_get_flags_cc): Likewise. - * config/i386/i386.cc (ix86_flags_cc): New enum. - (ix86_ccmp_dfv_mapping): New string array to map conditional - code to dfv. - (ix86_print_operand): Handle special dfv flag for CCMP. - (ix86_get_flags_cc): New function to return x86 CC enum. - (TARGET_GEN_CCMP_FIRST): Define. - (TARGET_GEN_CCMP_NEXT): Likewise. - * config/i386/i386.h (TARGET_APX_CCMP): Define. - * config/i386/i386.md (@ccmp<mode>): New define_insn to support - ccmp. - (UNSPEC_APX_DFV): New unspec for ccmp dfv. - (ALL_CC): New mode iterator. - (cstorecc4): Change to ... - (cstore<mode>4) ... this, use ALL_CC to loop through all - available CCmodes. - * config/i386/i386.opt (apx_ccmp): Add enum value for ccmp. - -2024-06-06 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vectorizable_reduction): Allow - single-lane SLP in-order reductions. - (vectorize_fold_left_reduction): Handle SLP reduction with - conditional reduction op. - -2024-06-06 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vect_analyze_scalar_cycles_1): Queue - double reductions in LOOP_VINFO_REDUCTIONS. - (vect_create_epilog_for_reduction): Remove asserts disabling - SLP for double reductions. - (vectorizable_reduction): Analyze SLP double reductions - only once and start off the correct places. - * tree-vect-slp.cc (vect_get_and_check_slp_defs): Allow - vect_double_reduction_def. - (vect_build_slp_tree_2): Fix condition for the ignored - reduction initial values. - * tree-vect-stmts.cc (vect_analyze_stmt): Allow - vect_double_reduction_def. - -2024-06-06 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vect_create_epilog_for_reduction): - Adjust for single-lane COND_REDUCTION SLP vectorization. - (vectorizable_reduction): Likewise. - (vect_transform_cycle_phi): Likewise. - -2024-06-06 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (vectorizable_condition): Allow - single-lane SLP, but not when we need to swap then and - else clause. - -2024-06-06 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.cc(mips_insn_cost): Add missing COSTS_N_INSNS - to count. - -2024-06-06 liuhongt <hongtao.liu@intel.com> - - PR target/114428 - * config/i386/i386.cc (ix86_rtx_costs): Adjust cost for - CONST_VECTOR_DUPLICATE_P in constant_pool. - * config/i386/i386-expand.cc (ix86_broadcast_from_constant): - Remove static. - * config/i386/i386-protos.h (ix86_broadcast_from_constant): - Declare. - -2024-06-06 liuhongt <hongtao.liu@intel.com> - - PR target/114428 - * simplify-rtx.cc - (simplify_context::simplify_binary_operation_1): - Simplify (AND (ASHIFTRT A imm) mask) to (LSHIFTRT A imm) for - specific mask. - -2024-06-05 Robin Dapp <rdapp.gcc@gmail.com> - - * config/riscv/riscv-opts.h (TARGET_VECTOR_MISALIGN_SUPPORTED): - Move from here... - * config/riscv/riscv.h (TARGET_VECTOR_MISALIGN_SUPPORTED): - ...to here and map to riscv_vector_unaligned_access_p. - * config/riscv/riscv.opt: Add -mvector-strict-align. - * config/riscv/riscv.cc (struct riscv_tune_param): Add - vector_unaligned_access. - (riscv_override_options_internal): Set - riscv_vector_unaligned_access_p. - * doc/invoke.texi: Document -mvector-strict-align. - -2024-06-05 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/tuning_models/neoversen2.h (neoversen2_tunings): Add - AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. - * config/aarch64/tuning_models/neoversev1.h (neoversev1_tunings): Add - AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. - * config/aarch64/tuning_models/neoversev2.h (neoversev2_tunings): Add - AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. - -2024-06-05 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-sve.md (and<mode>3, - @aarch64_pred_<optab><mode>_z, *<optab><mode>3_cc, - *<optab><mode>3_ptest, aarch64_pred_<nlogical><mode>_z, - *<nlogical><mode>3_cc, *<nlogical><mode>3_ptest, - aarch64_pred_<logical_nn><mode>_z, *<logical_nn><mode>3_cc, - *<logical_nn><mode>3_ptest, @aarch64_pred_cmp<cmp_op><mode>, - *cmp<cmp_op><mode>_cc, *cmp<cmp_op><mode>_ptest, - @aarch64_pred_cmp<cmp_op><mode>_wide, - *aarch64_pred_cmp<cmp_op><mode>_wide_cc, - *aarch64_pred_cmp<cmp_op><mode>_wide_ptest, @aarch64_brk<brk_op>, - *aarch64_brk<brk_op>_cc, *aarch64_brk<brk_op>_ptest, - @aarch64_brk<brk_op>, *aarch64_brk<brk_op>_cc, - *aarch64_brk<brk_op>_ptest, aarch64_rdffr_z, *aarch64_rdffr_z_ptest, - *aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, *aarch64_rdffr_cc): Add - new early clobber - alternative. - * config/aarch64/aarch64-sve2.md - (@aarch64_pred_<sve_int_op><mode>): Likewise. - -2024-06-05 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-tuning-flags.def - (AVOID_PRED_RMW): New. - * config/aarch64/aarch64.h (TARGET_SVE_PRED_CLOBBER): New. - * config/aarch64/aarch64.md (pred_clobber): New. - (arch_enabled): Use it. - -2024-06-05 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-sve.md (and<mode>3, - @aarch64_pred_<optab><mode>_z, *<optab><mode>3_cc, - *<optab><mode>3_ptest, aarch64_pred_<nlogical><mode>_z, - *<nlogical><mode>3_cc, *<nlogical><mode>3_ptest, - aarch64_pred_<logical_nn><mode>_z, *<logical_nn><mode>3_cc, - *<logical_nn><mode>3_ptest, *cmp<cmp_op><mode>_ptest, - @aarch64_pred_cmp<cmp_op><mode>_wide, - *aarch64_pred_cmp<cmp_op><mode>_wide_cc, - *aarch64_pred_cmp<cmp_op><mode>_wide_ptest, *aarch64_brk<brk_op>_cc, - *aarch64_brk<brk_op>_ptest, @aarch64_brk<brk_op>, - *aarch64_brk<brk_op>_cc, *aarch64_brk<brk_op>_ptest, aarch64_rdffr_z, - *aarch64_rdffr_z_ptest, *aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, - *aarch64_rdffr_cc): Convert to compact syntax. - * config/aarch64/aarch64-sve2.md - (@aarch64_pred_<sve_int_op><mode>): Likewise. - -2024-06-05 Jakub Jelinek <jakub@redhat.com> - Frederik Harwath <frederik@codesourcery.com> - Sandra Loosemore <sandra@codesourcery.com> - - * tree.def (OMP_TILE, OMP_UNROLL): New tree codes. - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_PARTIAL, - OMP_CLAUSE_FULL and OMP_CLAUSE_SIZES. - * tree.h (OMP_LOOPXFORM_CHECK): Define. - (OMP_LOOPXFORM_LOWERED): Define. - (OMP_CLAUSE_PARTIAL_EXPR): Define. - (OMP_CLAUSE_SIZES_LIST): Define. - * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add entries - for OMP_CLAUSE_{PARTIAL,FULL,SIZES}. - * tree-pretty-print.cc (dump_omp_clause): Handle - OMP_CLAUSE_{PARTIAL,FULL,SIZES}. - (dump_generic_node): Handle OMP_TILE and OMP_UNROLL. Skip printing - loops with NULL OMP_FOR_INIT (node) vector element. - * gimplify.cc (is_gimple_stmt): Handle OMP_TILE and OMP_UNROLL. - (gimplify_omp_taskloop_expr): For SAVE_EXPR use gimplify_save_expr. - (gimplify_omp_loop_xform): New function. - (gimplify_omp_for): Call omp_maybe_apply_loop_xforms and if that - reshuffles what the passed pointer points to, retry or return GS_OK. - Handle OMP_TILE and OMP_UNROLL. - (gimplify_omp_loop): Call omp_maybe_apply_loop_xforms and if that - reshuffles what the passed pointer points to, return GS_OK. - (gimplify_expr): Handle OMP_TILE and OMP_UNROLL. - * omp-general.h (omp_loop_number_of_iterations, - omp_maybe_apply_loop_xforms): Declare. - * omp-general.cc (omp_adjust_for_condition): For LE_EXPR and GE_EXPR - with pointers, don't add/subtract one, but the size of what the - pointer points to. - (omp_loop_number_of_iterations, omp_apply_tile, - find_nested_loop_xform, omp_maybe_apply_loop_xforms): New functions. - -2024-06-05 Kewen Lin <linkw@linux.ibm.com> - - * config/darwin.cc (darwin_patch_builtins): Use TYPE_PRECISION of - long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. - -2024-06-05 Pan Li <pan2.li@intel.com> - - PR target/51492 - PR target/112600 - * internal-fn.def (SAT_SUB): Add new IFN define for SAT_SUB. - * match.pd: Add new match for SAT_SUB. - * optabs.def (OPTAB_NL): Remove fixed-point for ussub/ssub. - * tree-ssa-math-opts.cc (gimple_unsigned_integer_sat_sub): Add - new decl for generated in match.pd. - (build_saturation_binary_arith_call): Add new helper function - to build the gimple call to binary SAT alu. - (match_saturation_arith): Rename from. - (match_unsigned_saturation_add): Rename to. - (match_unsigned_saturation_sub): Add new func to match the - unsigned sat sub. - (math_opts_dom_walker::after_dom_children): Add SAT_SUB matching - try when COND_EXPR. - -2024-06-05 Gerald Pfeifer <gerald@pfeifer.com> - - PR other/69374 - * doc/install.texi (Prerequisites): Drop reference to GNU awk - version 3.1.5. Remove fluff. - -2024-06-05 liuhongt <hongtao.liu@intel.com> - - PR rtl-optimization/100927 - PR rtl-optimization/115161 - PR rtl-optimization/115115 - * simplify-rtx.cc (simplify_const_unary_operation): Prevent - simplication of FIX/UNSIGNED_FIX for NAN/INF/out-of-range - constant when flag_trapping_math. - * fold-const.cc (fold_convert_const_int_from_real): Don't fold - for overflow value when_trapping_math. - -2024-06-05 Xiao Zeng <zengxiao@eswincomputing.com> - - * config/riscv/iterators.md: Add mode_iterator between - floating-point modes and BFmode. - * config/riscv/riscv.cc (riscv_output_move): Handle BFmode move - for zfbfmin. - * config/riscv/riscv.md (trunc<mode>bf2): New pattern for BFmode. - (extendbfsf2): Dotto. - (*movhf_hardfloat): Add BFmode. - (*mov<mode>_hardfloat): Dotto. - -2024-06-04 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/115337 - * gimple-range-op.cc (cfn_clz::fold_range): For - m_gimple_call_internal_p handle as a special case also second argument - of -1 next to prec. - -2024-06-04 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/115337 - * fold-const.cc (tree_call_nonnegative_warnv_p): Handle - CASE_CFN_CTZ like CASE_CFN_CLZ. - -2024-06-04 Jakub Jelinek <jakub@redhat.com> - - * fold-const.cc (tree_call_nonnegative_warnv_p): Formatting fixes. - (tree_invalid_nonnegative_warnv_p): Likewise. - * gimple-fold.cc (gimple_call_nonnegative_warnv_p): Likewise. - -2024-06-04 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/115337 - * fold-const.cc (tree_call_nonnegative_warnv_p) <CASE_CFN_CLZ>: - If arg1 is non-NULL, RECURSE on it, otherwise return true. - -2024-06-04 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/108789 - * builtins.cc (fold_builtin_arith_overflow): For ovf_only, - don't call save_expr and don't build REALPART_EXPR, otherwise - set TREE_SIDE_EFFECTS on call before calling save_expr. - (fold_builtin_addc_subc): Set TREE_SIDE_EFFECTS on call before - calling save_expr. - -2024-06-04 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (lujiazui): Clarify that while the CPUs do support - AVX and F16C, -march=lujiazui actually doesn't enable those. - -2024-06-04 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_tree_2): Only multi-lane - discoveries are reduction chains and need special backedge - treatment. - (vect_analyze_slp): Fall back to single-lane SLP discovery - for reductions. Make sure to try single-lane SLP reduction - for all reductions as fallback. - (vectorizable_load): Avoid outer loop SLP vectorization with - multi-copy vector stmts in the inner loop. - (vectorizable_store): Likewise. - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Allow - direct opcode and shift reduction also for SLP reductions - with a single lane. - * tree-vect-stmts.cc (get_group_load_store_type): For SLP also - check for the PR65518 single-element interleaving case as done in - vect_grouped_load_supported. - -2024-06-04 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_schedule_slp_node): For mask/len - loops make sure to not advance the insertion iterator - beyond a GIMPLE_COND. - -2024-06-03 Jakub Jelinek <jakub@redhat.com> - - PR target/115324 - * config/rs6000/rs6000-gen-builtins.cc (write_decls): Remove - GTY markup from struct bifdata and struct ovlddata and remove their - fntype members. Change next member in struct ovlddata and - first_instance member of struct ovldrecord to have int type rather - than struct ovlddata *. Remove GTY markup from rs6000_builtin_info - and rs6000_instance_info arrays, declare new - rs6000_builtin_info_fntype and rs6000_instance_info_fntype arrays, - which have GTY markup. - (write_bif_static_init): Adjust for the above changes. - (write_ovld_static_init): Likewise. - (write_init_bif_table): Likewise. - (write_init_ovld_table): Likewise. - * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Likewise. - * config/rs6000/rs6000-c.cc (find_instance): Likewise. Make static. - (altivec_resolve_overloaded_builtin): Adjust for the above changes. - -2024-06-03 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc: Include "ordered-hash-map.h" and - "sbitmap.h". - (enum class diagnostic_artifact_role): New. - (class sarif_artifact): New. - (sarif_builder::maybe_make_artifact_content_object): Make public. - (sarif_builder::m_filenames): Replace with... - (sarif_builder::m_filename_to_artifact_map): ...this. - (sarif_artifact::add_role): New. - (sarif_artifact::populate_contents): New. - (get_artifact_role_string): New. - (sarif_artifact::populate_roles): New. - (sarif_result::on_nested_diagnostic): Pass role to - make_location_object. - (sarif_ice_notification::sarif_ice_notification): Likewise. - (sarif_builder::sarif_builder): Add "main_input_filename_" param. - Mark it as the artifact that the tool was instructed to scan. - (sarif_builder::make_result_object): Pass role to - make_locations_arr. - (sarif_builder::make_locations_arr): Add "role" param and pass it - to make_location_object. - (sarif_builder::make_location_object): Add "role" param and pass - it to maybe_make_physical_location_object. - (sarif_builder::maybe_make_physical_location_object): Add "role" - param and pass it to call to get_or_create_artifact, rather than - adding to now-removed "m_filenames". Flag the artifact for its - contents to be embedded. - (sarif_builder::make_thread_flow_location_object): Pass role to - make_location_object. - (sarif_builder::make_run_object): Update for change from - m_filename to m_filename_to_artifact_map. Call populate_contents - and populate_roles on each artifact_obj. - (sarif_builder::make_artifact_object): Convert to... - (sarif_builder::get_or_create_artifact): ...this, moving addition - of contents to make_run_object, and conditionalizing setting of - sourceLanguage on "role". - (sarif_output_format::sarif_output_format): Add - "main_input_filename_" param and pass to m_builder's ctor. - (sarif_stream_output_format::sarif_stream_output_format): - Likewise. - (sarif_file_output_format::sarif_file_output_format): Likewise. - (diagnostic_output_format_init_sarif_stderr): Add - "main_input_filename_" param and pass to ctor. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - * diagnostic.cc (diagnostic_output_format_init): Add - "main_input_filename_" param and pass to the - diagnostic_output_format_init_sarif_* calls. - * diagnostic.h (diagnostic_output_format_init): Add - main_input_filename_" param to decl. - (diagnostic_output_format_init_sarif_stderr): Likewise. - (diagnostic_output_format_init_sarif_file): Likewise. - (diagnostic_output_format_init_sarif_stream): Likewise. - * gcc.cc (driver_handle_option): Pass main input filename to - diagnostic_output_format_init. - * opts.cc (common_handle_option): Likewise. - -2024-06-03 Eric Botcazou <ebotcazou@adacore.com> - - * dwarf2out.cc (loc_list_from_tree_1) <CEIL_DIV_EXPR>; Add const. - <do_comp_binop>: Use a signed comparison for small unsigned types. - Implement wrap-around arithmetics for small integer types. - -2024-06-03 Uros Bizjak <ubizjak@gmail.com> - - PR target/115321 - * config/i386/i386.md (bswapsi2): Force operand 1 - to a register also for !TARGET_BSWAP. - -2024-06-03 Aldy Hernandez <aldyh@redhat.com> - - * builtins.cc (expand_builtin_strnlen): Replace value_range use - with int_range_max or irange when appropriate. - (determine_block_size): Same. - * fold-const.cc (minmax_from_comparison): Same. - * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Same. - (array_bounds_checker::check_array_ref): Same. - * gimple-fold.cc (size_must_be_zero_p): Same. - * gimple-predicate-analysis.cc (find_var_cmp_const): Same. - * gimple-ssa-sprintf.cc (get_int_range): Same. - (format_integer): Same. - (try_substitute_return_value): Same. - (handle_printf_call): Same. - * gimple-ssa-warn-restrict.cc - (builtin_memref::extend_offset_range): Same. - * graphite-sese-to-poly.cc (add_param_constraints): Same. - * internal-fn.cc (get_min_precision): Same. - * match.pd: Same. - * pointer-query.cc (get_size_range): Same. - * range-op.cc (get_shift_range): Same. - (operator_trunc_mod::op1_range): Same. - (operator_trunc_mod::op2_range): Same. - * range.cc (range_negatives): Same. - * range.h (range_positives): Same. - (range_negatives): Same. - * tree-affine.cc (expr_to_aff_combination): Same. - * tree-data-ref.cc (compute_distributive_range): Same. - (nop_conversion_for_offset_p): Same. - (split_constant_offset): Same. - (split_constant_offset_1): Same. - (dr_step_indicator): Same. - * tree-dfa.cc (get_ref_base_and_extent): Same. - * tree-scalar-evolution.cc (iv_can_overflow_p): Same. - * tree-ssa-math-opts.cc (optimize_spaceship): 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. - (dump_strlen_info): Same. - (get_range_strlen_dynamic): Same. - (set_strlen_range): Same. - (maybe_diag_stxncpy_trunc): Same. - (strlen_pass::get_len_or_size): Same. - (strlen_pass::handle_builtin_string_cmp): Same. - (strlen_pass::count_nonzero_bytes_addr): Same. - (strlen_pass::handle_integral_assign): Same. - * tree-switch-conversion.cc (bit_test_cluster::emit): Same. - * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Same. - (vect_do_peeling): Same. - * tree-vect-patterns.cc (vect_get_range_info): Same. - (vect_recog_divmod_pattern): Same. - * tree.cc (get_range_pos_neg): Same. - * value-range.cc (debug): Remove value_range variants. - * value-range.h (value_range): Remove typedef. - * vr-values.cc - (simplify_using_ranges::op_with_boolean_value_range_p): Replace - value_range use with int_range_max or irange when appropriate. - (check_for_binary_op_overflow): Same. - (simplify_using_ranges::legacy_fold_cond_overflow): Same. - (find_case_label_ranges): Same. - (simplify_using_ranges::simplify_abs_using_ranges): Same. - (test_for_singularity): Same. - (simplify_using_ranges::simplify_compare_using_ranges_1): Same. - (simplify_using_ranges::simplify_casted_compare): Same. - (simplify_using_ranges::simplify_switch_using_ranges): Same. - (simplify_conversion_using_ranges): Same. - (simplify_using_ranges::two_valued_val_range_p): Same. - -2024-06-03 Tobias Burnus <tburnus@baylibre.com> - - * doc/install.texi (gcn): Fix date of recommended newlib version. - -2024-06-03 Marc Poulhiès <poulhies@adacore.com> - - * config/aarch64/aarch64-ldp-fusion.cc (struct aarch64_pair_fusion): - Use new type name. - -2024-06-03 Marc Poulhiès <poulhies@adacore.com> - - * pair-fusion.h (enum class writeback): Rename to... - (enum class writeback_type): ...this. - (struct pair_fusion): Adjust type name after renaming. - * pair-fusion.cc (pair_fusion_bb_info::track_access): Likewise. - (pair_fusion_bb_info::fuse_pair): Likewise. - (pair_fusion::process_block): Likewise. - -2024-06-03 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vect_analyze_loop_1): Avoid extra space - before 'failed'. - -2024-06-03 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (get_initial_defs_for_reduction): - Always convert neutral_op. - -2024-06-03 liuhongt <hongtao.liu@intel.com> - - PR target/115299 - * config/i386/i386.cc (ix86_noce_conversion_profitable_p): Add - some preference for floating point ifcvt when SSE4.1 is not - available. - -2024-06-03 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/i386-common.cc: Change Granite Rapids - series CPU type to P_PROC_AVX10_1_512. - * common/config/i386/i386-cpuinfo.h (enum feature_priority): - Revise comment part. Add P_AVX10_1_256, P_AVX10_1_512, - P_PROC_AVX10_1_512. - * common/config/i386/i386-isas.h: Link to avx10.1-256, avx10.1-512. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (clz<mode>2_lzcnt_nf): New define_insn. - (*clz<mode>2_lzcnt_falsedep_nf): Ditto. - (<lt_zcnt>_<mode>_nf): Ditto. - (*<lt_zcnt>_<mode>_falsedep_nf): Ditto. - (<lt_zcnt>_hi<nf_name>): Ditto. - (popcount<mode>2_nf): Ditto. - (*popcount<mode>2_falsedep_nf): Ditto. - (popcounthi2<nf_name>): Ditto. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (*mul<mode>3_1<nf_name>): New define_insn. - (*mulqi3_1<nf_name>): Ditto. - (*<u>divmod<mode>4_noext_nf): Ditto. - (<u>divmodhiqi3<nf_name>): Ditto. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (x86_64_shld): New define_insn. - (x86_64_shld<nf_name>): Ditto. - (x86_64_shld_ndd<nf_name>): Ditto. - (x86_64_shld_1<nf_name>): Ditto. - (x86_64_shld_ndd_1<nf_name>): Ditto. - (*x86_64_shld_shrd_1_nozext_nf): Ditto. - (x86_shld<nf_name>): Ditto. - (x86_shld_ndd<nf_name>): Ditto. - (x86_shld_1<nf_name>): Ditto. - (x86_shld_ndd_1<nf_name>): Ditto. - (*x86_shld_shrd_1_nozext_nf): Ditto. - (<insn><dwi>3_doubleword_lowpart_nf): Ditto. - (x86_64_shrd<nf_name>): Ditto. - (x86_64_shrd_ndd<nf_name>): Ditto. - (x86_64_shrd_1<nf_name>): Ditto. - (x86_64_shrd_ndd_1<nf_name>): Ditto. - (*x86_64_shrd_shld_1_nozext_nf): Ditto. - (x86_shrd<nf_name>): Ditto. - (x86_shrd_ndd<nf_name>): Ditto. - (x86_shrd_1<nf_name>): Ditto. - (x86_shrd_ndd_1<nf_name>): Ditto. - (*x86_shrd_shld_1_nozext_nf): Ditto. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (ashr<mode>3_cvt<nf_name>): New - define_insn. - (*<insn><mode>3_1<nf_name>): Ditto. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (*ashr<mode>3_1<nf_name>): New - define_insn. - (*lshr<mode>3_1<nf_name>): Ditto. - (*lshrqi3_1<nf_name>): Ditto. - (*lshrhi3_1<nf_name>): Ditto. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (*ashl<mode>3_1<nf_name>): New - define_insn. - (*ashlhi3_1<nf_name>): Ditto. - (*ashlqi3_1<nf_name>): Ditto. - * config/i386/sse.md: New define_split. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * config/i386/i386.md (nf_nonf_attr): New subst_attr. - (nf_nonf_x64_attr): Ditto. - (*sub<mode>_1<nf_name>): New define_insn. - (*anddi_1<nf_name>): Ditto. - (*and<mode>_1<nf_name>): Ditto. - (*andqi_1<nf_name>): Ditto. - (*<code><mode>_1<nf_name>): Ditto. - (*<code>qi_1<nf_name>): Ditto. - (*neg<mode>_1<nf_name>): Ditto. - * config/i386/sse.md: New define_split. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - Hongyu Wong <hongyu.wang@intel.com> - - * config/i386/i386-opts.h (enum apx_features): Add nf - enumeration. - * config/i386/i386.h (TARGET_APX_NF): New. - * config/i386/i386.md (nf_name): New subst_att. - (nf_prefix): Ditto. - (nf_condition): Ditto. - (nf_mem_constraint): Ditto. - (nf_applied): Ditto. - (nf_subst): Add new define_subst. - (*add<mode>_1<nf_name>): New define_insn. - (*addhi_1<nf_name>): Ditto. - (*addqi_1<nf_name>): Diito. - * config/i386/i386.opt: Add apx_nf enumeration. - -2024-06-03 Hu, Lin1 <lin1.hu@intel.com> - - PR target/113609 - * config/i386/sse.md - (*kortest_cmp<mode>_setcc): New define_insn_and_split. - (*kortest_cmp<mode>_jcc): Ditto. - -2024-06-01 Georg-Johann Lay <avr@gjlay.de> - - PR tree-optimization/115307 - * config/avr/avr.md (SFDF): New mode iterator. - (isinf<mode>2) [sf, df]: New expanders. - -2024-06-01 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_integer_op): Add new field. - (riscv_build_integer_1): Initialize the new field. - (riscv_built_integer): Recognize more cases where Zbkb's - pack instruction is profitable. - (riscv_move_integer): Loop over all the codes. If requested, - save the current constant into a temporary. Generate pack - for more cases using the saved constant. - -2024-06-01 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): Remove parameter - loop_vinfo. Get input vectype from stmt_info instead of reduction PHI. - (vect_model_reduction_cost): Remove loop_vinfo argument of call to - vect_is_emulated_mixed_dot_prod. - (vect_transform_reduction): Likewise. - (vectorizable_reduction): Likewise, and bind input vectype to - lane-reducing operation. - -2024-06-01 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (vect_reduction_update_partial_vector_usage): New - function. - (vectorizable_reduction): Move partial vectorization checking code to - vect_reduction_update_partial_vector_usage. - -2024-06-01 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vectorizer.h (lane_reducing_op_p): New function. - * tree-vect-slp.cc (vect_analyze_slp): Use new function - lane_reducing_op_p to check statement code. - * tree-vect-loop.cc (vect_transform_reduction): Likewise. - (vectorizable_reduction): Likewise, and change name of a local - variable that holds the result flag. - -2024-05-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h (xtensa_expand_call): - Add the third argument as boolean. - (xtensa_expand_epilogue): Remove the first argument. - * config/xtensa/xtensa.cc (xtensa_expand_call): - Add the third argument "sibcall_p", and modify in order to prepend - "(use A0_REG)" to CALL_INSN_FUNCTION_USAGE if the argument is true. - (xtensa_expand_epilogue): Remove the first argument "sibcall_p" and - its conditional clause. - * config/xtensa/xtensa.md (call, call_value, sibcall, sibcall_value): - Append a boolean value to the argument of xtensa_expand_call() - indicating whether it is sibling call or not. - (epilogue): Remove the boolean argument from xtensa_expand_epilogue(), - and then append emitting "(return)". - (sibcall_epilogue): Remove the boolean argument from - xtensa_expand_epilogue(). - -2024-05-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/predicates.md - (subreg_HQI_lowpart_operator, xtensa_sminmax_operator): - New operator predicates. - * config/xtensa/xtensa-protos.h (xtensa_match_CLAMPS_imms_p): - Remove. - * config/xtensa/xtensa.cc (xtensa_match_CLAMPS_imms_p): Ditto. - * config/xtensa/xtensa.md - (*addsubx, *extzvsi-1bit_ashlsi3, *extzvsi-1bit_addsubx): - Revise the output statements by conditional ternary operator rather - than switch-case clause in order to avoid using gcc_unreachable(). - (xtensa_clamps): Reduce to a single pattern definition using the - predicate added above. - (Some split patterns to assist *masktrue_const_bitcmpl): Ditto. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-v.cc (expand_const_vector): Document. - (shuffle_extract_and_slide1up_patterns): Remove. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/autovec.md (ctz<mode>2): New expander. - (clz<mode>2): Ditto. - * config/riscv/generic-vector-ooo.md: Add bitmanip ops to insn - reservation. - * config/riscv/vector-crypto.md: Add VLS modes to insns. - * config/riscv/vector.md: Add bitmanip ops to mode_idx and other - attributes. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/autovec-opt.md (*vandn_<mode>): New pattern. - * config/riscv/vector.md: Add vandn to mode_idx. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-v.cc (expand_gather_scatter): Use vwsll if - applicable. - * config/riscv/vector-crypto.md: Remove mode from vwsll shift - count operator. - * config/riscv/vector.md: Add vwsll to mode iterator. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/autovec-opt.md (*vwsll_zext1_<mode>): New - pattern. - (*vwsll_zext2_<mode>): Ditto. - (*vwsll_zext1_scalar_<mode>): Ditto. - (*vwsll_zext1_trunc_<mode>): Ditto. - (*vwsll_zext2_trunc_<mode>): Ditto. - (*vwsll_zext1_trunc_scalar_<mode>): Ditto. - * config/riscv/vector-crypto.md: Make pattern similar to other - narrowing/widening patterns. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/vector.md: Split vwadd.wx/vwsub.wx pattern and - add extended_scalar patterns. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - PR target/115068 - * config/riscv/vector.md: Split vfw<insn>.wf pattern. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * tree-object-size.cc (access_with_size_object_size): Use the type - of the 6th argument for the type of the element. - * internal-fn.cc (expand_ACCESS_WITH_SIZE): Update the comment with - the 6th argument. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * tree-object-size.cc (access_with_size_object_size): New function. - (call_object_size): Call the new function. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * internal-fn.cc (expand_ACCESS_WITH_SIZE): New function. - * internal-fn.def (ACCESS_WITH_SIZE): New internal function. - * tree.cc (is_access_with_size_p): New function. - (get_ref_from_access_with_size): New function. - * tree.h (is_access_with_size_p): New prototype. - (get_ref_from_access_with_size): New prototype. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * doc/extend.texi: Document attribute counted_by. - -2024-05-31 Uros Bizjak <ubizjak@gmail.com> - - PR target/115297 - * config/alpha/alpha.md (<any_divmod:code>si3): Wrap DImode - operands 3 and 4 with truncate:SI RTX. - (*divmodsi_internal_er): Ditto for operands 1 and 2. - (*divmodsi_internal_er_1): Ditto. - (*divmodsi_internal): Ditto. - * config/alpha/constraints.md ("b"): Correct register - number in the description. - -2024-05-31 Thomas Schwinge <tschwinge@baylibre.com> - - * config/nvptx/nvptx.h: Configure global constructor, destructor - support. - -2024-05-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115278 - * tree-if-conv.cc (ifcvt_local_dce): Do not DSE volatile stores. - -2024-05-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * config.gcc: Move ${target_min} from obsolete to unsupported - message. - -2024-05-31 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/115022 - * doc/invoke.texi (fstrub=disable): Fix opindex. - (minline-memops-threshold): Fix opindex. - (mcmodel=): Add opindex and fix them. - * common.opt.urls: Regenerate. - * config/aarch64/aarch64.opt.urls: Regenerate. - * config/bpf/bpf.opt.urls: Regenerate. - * config/i386/i386.opt.urls: Regenerate. - * config/loongarch/loongarch.opt.urls: Regenerate. - * config/nds32/nds32-elf.opt.urls: Regenerate. - * config/nds32/nds32-linux.opt.urls: Regenerate. - * config/or1k/or1k.opt.urls: Regenerate. - * config/riscv/riscv.opt.urls: Regenerate. - * config/rs6000/aix64.opt.urls: Regenerate. - * config/rs6000/linux64.opt.urls: Regenerate. - * config/sparc/sparc.opt.urls: Regenerate. - -2024-05-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa-protos.h - (xtensa_use_return_instruction_p): Remove. - * config/xtensa/xtensa.cc - (machine_function): Remove "epilogue_done" field. - (xtensa_expand_epilogue): Remove "cfun->machine->epilogue_done" usage. - (xtensa_use_return_instruction_p): Remove. - * config/xtensa/xtensa.md ("return"): - Replace calling "xtensa_use_return_instruction_p()" with inline code. - -2024-05-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.cc (xtensa_valid_move, constantpool_address_p, - xtensa_tls_symbol_p, gen_int_relational, xtensa_emit_move_sequence, - xtensa_copy_incoming_a7, xtensa_expand_block_move, - xtensa_expand_nonlocal_goto, xtensa_emit_call, - xtensa_legitimate_address_p, xtensa_legitimize_address, - xtensa_tls_referenced_p, print_operand, print_operand_address, - xtensa_output_literal): - Replace RTX code comparisons with their predicate macros such as - REG_P(). - * config/xtensa/xtensa.h (CONSTANT_ADDRESS_P, - LEGITIMATE_PIC_OPERAND_P): Ditto. - * config/xtensa/xtensa.md (reload<mode>_literal, indirect_jump): - Ditto. - -2024-05-31 Martin Uecker <uecker@tugraz.at> - - PR tree-optimization/115157 - PR tree-optimization/115177 - * godump.cc (go_output_typedef): Use TYPE_MAIN_VARIANT instead - of TYPE_CANONICAL. - -2024-05-31 liuhongt <hongtao.liu@intel.com> - - * config/i386/emmintrin.h (__double_u): Rename from double_u. - (_mm_load_sd): Replace double_u with __double_u. - (_mm_store_sd): Ditto. - (_mm_loadh_pd): Ditto. - (_mm_loadl_pd): Ditto. - * config/i386/xmmintrin.h (__float_u): Rename from float_u. - (_mm_load_ss): Ditto. - (_mm_store_ss): Ditto. - -2024-05-30 Uros Bizjak <ubizjak@gmail.com> - - PR target/115102 - * config/i386/i386.md (bswaphi2): Also enable for !TARGET_MOVBE. - (*bswaphi2): New insn pattern. - (bswaphisi2_lowpart): Rename from bswaphi_lowpart. Rewrite - insn RTX to match the expected form of the combine pass. - Remove rol{w} alternative and corresponding attributes. - (bswsaphisi2_lowpart peephole2): New peephole2 pattern to - conditionally convert bswaphisi2_lowpart to rotlhi3_1_slp. - (bswapsi2): Update expander for rename. - (rotlhi3_1_slp splitter): Conditionally split to bswaphi2. - -2024-05-30 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115281 - * ira-conflicts.cc (go_through_subreg): Use the natural size of - the inner mode rather than the outer mode. - -2024-05-30 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> - - * pair-fusion.h: Generic header code for load store pair fusion - that can be shared across different architectures. - * pair-fusion.cc: Generic source code implementation for - load store pair fusion that can be shared across different architectures. - * Makefile.in: Add new object file pair-fusion.o. - * config/aarch64/aarch64-ldp-fusion.cc: Delete generic code and move it - to pair-fusion.cc in the middle-end. - * config/aarch64/t-aarch64: Add header file dependency on pair-fusion.h. - Remove unnecessary header file dependency. - -2024-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR c++/115031 - * config/sparc/sol2.h (GGC_QUIRE_SIZE): Define as 510. - -2024-05-30 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OBJS-libcommon): Add text-art/tree-widget.o. - * doc/analyzer.texi: Rewrite discussion of dumping state to - cover the text_art::tree_widget-based dumps, with a more - interesting example. - * text-art/dump-widget-info.h: New file. - * text-art/dump.h: New file. - * text-art/selftests.cc (selftest::text_art_tests): Call - text_art_tree_widget_cc_tests. - * text-art/selftests.h (selftest::text_art_tree_widget_cc_tests): - New decl. - * text-art/theme.cc (ascii_theme::get_cppchar): Handle the various - cell_kind::TREE_*. - (unicode_theme::get_cppchar): Likewise. - * text-art/theme.h (enum class theme::cell_kind): Add - TREE_CHILD_NON_FINAL, TREE_CHILD_FINAL, TREE_X_CONNECTOR, and - TREE_Y_CONNECTOR. - * text-art/tree-widget.cc: New file. - * text-art/tree-widget.h: New file. - -2024-05-30 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md (vcond_mask_<mode><mode>): New expander. - -2024-05-30 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/112325 - * tree-ssa-loop-ivcanon.cc (estimated_unrolled_size): Move the - 2 / 3 loop body size reduction to .. - (try_unroll_loop_completely): .. here, add it for the check of - body size shrink, and the check of comparison against - param_max_completely_peeled_insns when - (!cunrolli ||loop->inner). - (canonicalize_loop_induction_variables): Add new parameter - cunrolli and pass down. - (tree_unroll_loops_completely_1): Ditto. - (canonicalize_induction_variables): Pass cunrolli as false to - canonicalize_loop_induction_variables. - (tree_unroll_loops_completely): Set cunrolli to true at - beginning and set it to false after CHANGED is true. - -2024-05-30 Alexandre Oliva <oliva@adacore.com> - - * doc/sourcebuild.texi (dg-additional-sources): Document - newly-added support for target selectors, and implicit discard - on non-linking tests that name the compiler output explicitly. - -2024-05-30 Jiawei <jiawei@iscas.ac.cn> - - * tree-ssa-pre.cc (create_component_ref_by_pieces_1): New conditions. - -2024-05-30 Hans-Peter Nilsson <hp@axis.com> - - Revert: - 2024-05-28 Hans-Peter Nilsson <hp@axis.com> - - * resource.cc: Include cfgrtl.h. Use BLOCK_FOR_INSN (insn)->index - instead of calling find_basic_block (insn). Assert for not -1. - (find_basic_block): Remove function. - (init_resource_info): Call compute_bb_for_insn. - (free_resource_info): Call free_bb_for_insn. - -2024-05-30 Hans-Peter Nilsson <hp@axis.com> - - Revert: - 2024-05-28 Hans-Peter Nilsson <hp@axis.com> - - * resource.cc (mark_target_live_regs): Remove redundant check for b - being -1, after gcc_assert. - -2024-05-30 Hans-Peter Nilsson <hp@axis.com> - - Revert: - 2024-05-28 Hans-Peter Nilsson <hp@axis.com> - - * resource.cc (free_resource_info, clear_hashed_info_for_insn): Don't - check for non-null target_hash_table and bb_ticks. - (mark_target_live_regs): Ditto. Replace check for non-NULL result from - BLOCK_FOR_INSN with a call to gcc_assert. Fold code conditioned on - tinfo != NULL. - -2024-05-29 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.cc(mips16_gp_pseudo_reg): Mark - MIPS16_PIC_TEMP and MIPS_PROLOGUE_TEMP clobbered. - (mips_emit_call_insn): Mark MIPS16_PIC_TEMP and - MIPS_PROLOGUE_TEMP clobbered if MIPS16 and CALL_CLOBBERED_GP. - -2024-05-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115224 - * generic-match-head.cc (bitwise_inverted_equal_p): Add `a ^ CST` - case. - * gimple-match-head.cc (gimple_bit_xor_cst): New declaration. - (gimple_bitwise_inverted_equal_p): Add `a ^ CST` case. - * match.pd (bit_xor_cst): New match. - (maybe_bit_not): Add bit_xor_cst case. - -2024-05-29 Andrew Pinski <quic_apinski@quicinc.com> - - * match.pd (bit_not_with_nop): Unconditionalize. - (maybe_cmp): Likewise. - (maybe_bit_not): New match pattern. - (`~X & X`): Use maybe_bit_not and add `:c` back. - (`~x ^ x`/`~x | x`): Likewise. - -2024-05-29 Richard Sandiford <richard.sandiford@arm.com> - - PR target/115258 - * config/aarch64/aarch64-simd.md (aarch64_combinev16qi): Allow - the split before reload. - * config/aarch64/aarch64.cc (aarch64_split_combinev16qi): Generalize - into a form that handles pseudo registers. - -2024-05-29 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.c : Removed. - -2024-05-29 Feng Xue <fxue@os.amperecomputing.com> - - * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Move - initialization of bbs to explicit construction code. Adjust the - definition of nbbs. - (update_epilogue_loop_vinfo): Update nbbs for epilog vinfo. - * tree-vect-patterns.cc (vect_determine_precisions): Make - loop_vec_info and bb_vec_info share same code. - (vect_pattern_recog): Remove duplicated vect_pattern_recog_1 loop. - * tree-vect-slp.cc (vect_get_and_check_slp_defs): Access to bbs[0] - via base vec_info class. - (_bb_vec_info::_bb_vec_info): Initialize bbs and nbbs using data - fields of input auto_vec<> bbs. - (vect_slp_region): Use access to nbbs to replace original - bbs.length(). - (vect_schedule_slp_node): Access to bbs[0] via base vec_info class. - * tree-vectorizer.cc (vec_info::vec_info): Add initialization of - bbs and nbbs. - (vec_info::insert_seq_on_entry): Access to bbs[0] via base vec_info - class. - * tree-vectorizer.h (vec_info): Add new fields bbs and nbbs. - (LOOP_VINFO_NBBS): New macro. - (BB_VINFO_BBS): Rename BB_VINFO_BB to BB_VINFO_BBS. - (BB_VINFO_NBBS): New macro. - (_loop_vec_info): Remove field bbs. - (_bb_vec_info): Rename field bbs. - * tree-vect-loop.c: New file. - -2024-05-29 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/crypto.md (riscv_xpack_<X:mode>_<HX:mode>_2): Remove '*' - allow it to be used via the gen_* interface. - * config/riscv/riscv.cc (riscv_build_integer): Identify when Zbkb - can be used to profitably synthesize repeating constants. - (riscv_move_integer): Codegen changes to generate those Zbkb sequences. - -2024-05-29 Jason Merrill <jason@redhat.com> - - * doc/invoke.texi: Update module extension docs. - -2024-05-29 Tobias Burnus <tburnus@baylibre.com> - - * config/gcn/gcn-hsa.h (gcn_local_sym_hash): Fix typo. - -2024-05-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115252 - * tree-vect-stmts.cc (get_group_load_store_type): Enhance - detecting the number of cases where we can avoid accessing a gap - during code generation. - (vectorizable_load): Remove old half-vector peeling for gap - avoidance which is now redundant. Add gap-aligned case where - it's OK to access the gap. Add assert that we have peeling for - gaps enabled when we access a gap. - -2024-05-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114435 - * tree-predcom.cc (tree_predictive_commoning): Queue - the next scalar cleanup sub-pipeline to be run when we - did something. - -2024-05-29 Hongyu Wang <hongyu.wang@intel.com> - - PR target/113719 - * config/i386/i386-options.cc (ix86_override_options_after_change): - Remove call to ix86_default_align and - ix86_recompute_optlev_based_flags. - (ix86_option_override_internal): Call ix86_default_align and - ix86_recompute_optlev_based_flags. - -2024-05-29 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386.cc (ix86_avoid_jump_mispredicts): Change - gen_pad to gen_max_skip_align. - (ix86_align_loops): New function. - (ix86_reorg): Call ix86_align_loops. - * config/i386/i386.md (pad): Rename to .. - (max_skip_align): .. this, and accept 2 operands for align and - skip. - -2024-05-29 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/x86-tune-costs.h (generic_cost): Change from - 16:11:8 to 16. - -2024-05-29 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-gori.cc (gori_on_edge): Always use static ranges - from the specified range_query. - * gimple-range-gori.h (gori_on_edge): Change prototype. - * gimple-range.cc (dom_ranger::maybe_push_edge): Change arguments - to call. - -2024-05-29 Kewen Lin <linkw@linux.ibm.com> - - PR target/114846 - * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): As - EPILOGUE_TYPE_EH_RETURN would be passed as epilogue_type directly - now, adjust the relevant handlings on it. - * config/rs6000/rs6000.md (eh_return expander): Append by calling - gen_eh_return_internal and emit_barrier. - (eh_return_internal): New define_insn_and_split, call function - rs6000_emit_epilogue with epilogue type EPILOGUE_TYPE_EH_RETURN. - -2024-05-28 liuhongt <hongtao.liu@intel.com> - - PR target/67325 - * config/i386/i386.cc (ix86_rtx_costs): Reduce cost of MEM (A - + imm) to "cost of MEM (A)" + 1. - -2024-05-28 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range.cc (dom_ranger::dom_ranger): Do not initialize m_out. - (dom_ranger::maybe_push_edge): Use gori () rather than m_out. - * gimple-range.h (dom_ranger::m_out): Remove. - * tree-vrp.cc (remove_unreachable::remove_unreachable): Use a - range-query ranther than a gimple_ranger. - (remove_unreachable::remove): New. - (remove_unreachable::m_ranger): Change to a range_query. - (remove_unreachable::handle_early): If there is no dependency - information, do nothing. - (remove_unreachable::remove_and_update_globals): Do not update - globals if there is no dependecy info to use. - -2024-05-28 Hans-Peter Nilsson <hp@axis.com> - - * resource.cc (free_resource_info, clear_hashed_info_for_insn): Don't - check for non-null target_hash_table and bb_ticks. - (mark_target_live_regs): Ditto. Replace check for non-NULL result from - BLOCK_FOR_INSN with a call to gcc_assert. Fold code conditioned on - tinfo != NULL. - -2024-05-28 Hans-Peter Nilsson <hp@axis.com> - - * resource.cc (mark_target_live_regs): Remove redundant check for b - being -1, after gcc_assert. - -2024-05-28 Hans-Peter Nilsson <hp@axis.com> - - * resource.cc: Include cfgrtl.h. Use BLOCK_FOR_INSN (insn)->index - instead of calling find_basic_block (insn). Assert for not -1. - (find_basic_block): Remove function. - (init_resource_info): Call compute_bb_for_insn. - (free_resource_info): Call free_bb_for_insn. - -2024-05-28 Hans-Peter Nilsson <hp@axis.com> - - PR rtl-optimization/115182 - * resource.cc (mark_target_live_regs): Don't look for - unconditional branches after the target to improve on the - register liveness. - (find_dead_or_set_registers): Remove unused function. - -2024-05-28 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/sync.md (atomic_loaddi_fpu): Use movd/pextrd - to move DImode value from XMM to GPR for TARGET_SSE4_1. - (atomic_storedi_fpu): Use movd/pinsrd to move DImode value - from GPR to XMM for TARGET_SSE4_1. - -2024-05-28 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-color.cc: Define INCLUDE_VECTOR. - Include "label-text.h" and "selftest.h". - (struct color_cap): Replace with... - (struct color_default): ...this, adding "m_" prefixes to fields - and dropping "name_len" and "free_val" field. - (color_dict): Convert to... - (gcc_color_defaults): ...this, making const, dropping the trailing - strlen and "false" from each entry. - (class diagnostic_color_dict): New. - (g_color_dict): New. - (colorize_start): Reimplement in terms of g_color_dict. - (diagnostic_color_dict::get_entry_by_name): New, based on - colorize_start. - (diagnostic_color_dict::get_start_by_name): Likewise. - (diagnostic_color_dict::diagnostic_color_dict): New. - (parse_gcc_colors): Reimplement, moving body... - (diagnostic_color_dict::parse_envvar_value): ...here. - (colorize_init): Lazily create g_color_dict. - (selftest::test_empty_color_dict): New. - (selftest::test_default_color_dict): New. - (selftest::test_color_dict_envvar_parsing): New. - (selftest::diagnostic_color_cc_tests): New. - * selftest-run-tests.cc (selftest::run_tests): Call - selftest::diagnostic_color_cc_tests. - * selftest.h (selftest::diagnostic_color_cc_tests): New decl. - -2024-05-28 David Malcolm <dmalcolm@redhat.com> - - * function-tests.cc: Include "selftest-tree.h". - * selftest-tree.h: New file. - * selftest.h (make_fndecl): Move to selftest-tree.h. - -2024-05-28 David Malcolm <dmalcolm@redhat.com> - - * config/v850/v850.opt.urls: Regenerate, with fix. - * config/vax/vax.opt.urls: Likewise. - * regenerate-opt-urls.py (TARGET_SPECIFIC_PAGES): Fix transposed - values for "vax" and "v850". - -2024-05-28 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/115221 - * gimple-range-fold.cc (range_of_ssa_name_with_loop_info): Do - not invoke SCEV is range_query's do not match. - -2024-05-28 Andrew MacLeod <amacleod@redhat.com> - - * tree-ssa-strlen.cc (strlen_pass::strlen_pass): Add function - pointer and initialize ptr_qry with current range_query. - (strlen_pass::m_ranger): Remove. - (printf_strlen_execute): Enable and disable ranger. - -2024-05-28 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/115203 - * diagnostic-path.h - (simple_diagnostic_path::disable_event_localization): New. - (simple_diagnostic_path::m_localize_events): New field. - * diagnostic.cc - (simple_diagnostic_path::simple_diagnostic_path): Initialize - m_localize_events. - (simple_diagnostic_path::add_event): Only localize fmt if - m_localize_events is true. - * tree-diagnostic-path.cc - (test_diagnostic_path::test_diagnostic_path): Call - disable_event_localization. - -2024-05-28 David Malcolm <dmalcolm@redhat.com> - - PR bootstrap/115167 - * Makefile.in (C_COMMON_OBJS): Add c-family/c-type-mismatch.o. - * gcc-rich-location.cc - (maybe_range_label_for_tree_type_mismatch::get_text): Move to - c-family/c-type-mismatch.cc. - (binary_op_rich_location::binary_op_rich_location): Likewise. - (binary_op_rich_location::use_operator_loc_p): Likewise. - * gcc-rich-location.h (class range_label_for_type_mismatch): - Likewise. - (class maybe_range_label_for_tree_type_mismatch): Likewise. - (class op_location_t): Likewise for forward decl. - (class binary_op_rich_location): Likewise. - -2024-05-28 Lyut Nersisyan <lyut.nersisyan@gmail.com> - - * config/riscv/crypto.md: Add new combiner patterns to generate - pack, packh, packw instrutions. - * config/riscv/iterators.md (HX): New iterator for half X mode. - * config/riscv/riscv.md (<optab>_shift_reverse<X:mode>): Tighten - cases to avoid. Do not lose bits for XOR/IOR. - -2024-05-28 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/115060 - * tree-vect-patterns.cc (vect_get_internal_def): Return statement for - vectorization. - (vect_widened_op_tree): Call vect_get_internal_def instead of look_def - to get statement information. - (vect_recog_widen_abd_pattern): No need to call vect_stmt_to_vectorize. - -2024-05-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115236 - * tree-ssa-structalias.cc (build_pred_graph): Properly - handle *ANYTHING = X. - (build_succ_graph): Likewise. Do not elide direct nodes - from receiving from STOREDANYTHING. - -2024-05-28 Richard Biener <rguenther@suse.de> - - * tree-ssa-structalias.cc (find_func_aliases): Use - get_constraint_for_address_of to build escape constraints - for asm inputs and outputs. - -2024-05-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115254 - * tree-vect-slp.cc (vect_build_slp_tree): Only account - multi-lane SLP to limit. - -2024-05-28 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (get_initial_defs_for_reduction): Convert - neutral op to the vector component type. - -2024-05-28 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md - (<avx512>_<complexopname>_<mode>_mask<round_name>): Align - operands' predicate with corresponding expander. - (<avx512>_<complexopname>_<mode><maskc_name><round_name>): - Ditto. - -2024-05-28 Xi Ruoyao <xry111@xry111.site> - - PR target/115169 - * config/loongarch/loongarch.cc - (loongarch_expand_conditional_move): Guard REGNO with REG_P. - -2024-05-27 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115238 - * generic-match-head.cc (bitwise_inverted_equal_p): Use - uniform_integer_cst_p instead of checking INTEGER_CST. - * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): Likewise. - -2024-05-27 Gaius Mulley <gaiusmod2@gmail.com> - - * doc/gm2.texi: Replace all occurrences of xref - {foo, , , gm2} with xref {foo}. - -2024-05-27 Richard Biener <rguenther@suse.de> - - * tree-ssa-structalias.cc (scc_visit): Mark the node we - collapse to as being in a component. - -2024-05-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115220 - PR tree-optimization/115226 - * tree-ssa-sink.cc (statement_sink_location): When ignoring - paths to kills when sinking stores make sure the final - sink location is still post-dominated by the original one. - Otherwise we'd need to insert a PHI node to merge virtual operands. - -2024-05-27 TheShermanTanker <tanksherman27@gmail.com> - - * config/mingw/mingw32.h: Add new define for POSIX - threads. - -2024-05-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115232 - * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle - failure to demangle gracefully. - -2024-05-27 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/gm2.texi (What is GNU Modula-2): Move gcc.gnu.org links to - https. - (Other languages): Ditto. And fix casing of GCC. - -2024-05-27 Liao Shihua <shihua@iscas.ac.cn> - - * config/riscv/riscv.cc (riscv_rtx_costs): Add TARGET_ZMMUL. - -2024-05-27 Maciej W. Rozycki <macro@orcam.me.uk> - - * doc/invoke.texi (Option Summary): Add `-md', `-md-float', and - `-mg-float' options. Reorder, matching VAX Options. - (VAX Options): Reword the description of `-mg' option. Add - `-md', `-md-float', and `-mg-float' options. - -2024-05-27 Abe Skolnik <abe_skolnik@yahoo.com> - - PR target/79646 - * config/vax/vax.opt (md, md-float, mg, mg-float): Correct - descriptions. - -2024-05-27 Lyut Nersisyan <lyut.nersisyan@gmail.com> - - * config/riscv/riscv.md (<optab>_shift_reverse<X:mode>): New pattern. - -2024-05-27 Levy Hsu <admin@levyhsu.com> - H.J. Lu <hjl.tools@gmail.com> - - PR target/115146 - * config/i386/i386-expand.cc (expand_vec_perm_psrlw_psllw_por): Replace arithmatic shift - gen_ashrv4hi3 with logic shift gen_lshrv4hi3. - Replace gen_vlshrv8hi3 with gen_lshrv8hi3 and gen_vashlv8hi3 with gen_ashlv8hi3. - -2024-05-27 Pan Li <pan2.li@intel.com> - - * genmatch.cc (dt_node::gen_kids_1): Fix indenet mis-aligned. - -2024-05-26 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_build_integer_one): Verify there - are no bits left to set in the constant when generating bseti. - (riscv_built_integer): Synthesize ~value and if it's cheap use it - with a trailing xori with -1. - -2024-05-26 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/extend.texi (Attribute Syntax): Use @samp{=} instead of @code{=}. - (Extended Asm): Ditto. - -2024-05-26 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_build_integer_1): Try generating - a nearby simpler constant, then using a final addi to set low - bits properly. - -2024-05-26 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/115208 - * value-query.cc (range_query::create_gori): Confirm gori_map is NULL. - (range_query::destroy_gori): Free gori_map if one was allocated. - -2024-05-25 Jeff Law <jlaw@ventanamicro.com> - - * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Handle - more logical simplifications. - -2024-05-24 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/predicates.md (arith_operand_or_mode_mask): Renamed to.. - (arith_or_mode_mask_or_zbs_operand): New predicate. - * config/riscv/riscv.md (and<mode>3): Update predicate for operand 2. - * config/riscv/riscv.cc (riscv_build_integer_1): Use bclri to clear - bits, particularly bits 31..63 when profitable to do so. - -2024-05-24 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/115192 - * tree-data-ref.cc (create_intersect_range_checks): Take the - alignment of the access sizes into account. - -2024-05-24 Gaius Mulley <gaiusmod2@gmail.com> - - * doc/gm2.texi: Replace all occurrences of xref {, , , gm2} - with xref {, , , m2}. - -2024-05-24 Manolis Tsamis <manolis.tsamis@vrull.eu> - - * match.pd: Allow no-op view_convert between permutes. - -2024-05-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115144 - * tree-ssa-sink.cc (do_not_sink): New function, split out - from ... - (select_best_block): Here. First pick valid block to - sink to. From that search for the best valid block, - avoiding sinking across conditions to exceptional code. - (sink_code_in_bb): When updating vuses of stores in - paths we do not sink a store to make sure we didn't - pick a dominating sink location. - -2024-05-24 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiprop.cc (phiprop_insert_phi): Add - dce_ssa_names argument. Add the phi's result to it. - (propagate_with_phi): Add dce_ssa_names argument. - Update call to phiprop_insert_phi. - (pass_phiprop::execute): Update call to propagate_with_phi. - Call simple_dce_from_worklist if there was a change. - -2024-05-24 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_build_slp_instance): Do not split - store dataref groups on loop SLP discovery failure but create - a single SLP instance for the stores but branch to SLP sub-trees - and merge with a series of VEC_PERM nodes. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-edge.h (range_query::condexpr_adjust): Delete. - * gimple-range-fold.cc (fold_using_range::range_of_range_op): Use - gori_ssa routine. - (fold_using_range::range_of_address): Likewise. - (fold_using_range::range_of_phi): Likewise. - (fold_using_range::condexpr_adjust): Relocated from gori_compute. - (fold_using_range::range_of_cond_expr): Use local condexpr_adjust. - (fur_source::register_outgoing_edges): Use gori_ssa routine. - * gimple-range-fold.h (gori_ssa): Rename from gori_bb. - (fold_using_range::condexpr_adjust): Add prototype. - * gimple-range-gori.cc (gori_compute::condexpr_adjust): Relocate. - * gimple-range-gori.h (gori_compute::condexpr_adjust): Delete. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Use gori_ssa. - (ranger_cache::dump): Likewise. - (ranger_cache::get_global_range): Likewise. - (ranger_cache::set_global_range): Likewise. - (ranger_cache::register_inferred_value): Likewise. - * gimple-range-edge.h (gimple_outgoing_range::map): Remove. - * gimple-range-fold.cc (fold_using_range::range_of_range_op): Use - gori_ssa. - (fold_using_range::range_of_address): Likewise. - (fold_using_range::range_of_phi): Likewise. - (fur_source::register_outgoing_edges): Likewise. - * gimple-range-fold.h (fur_source::query): Make const. - (gori_ssa): New. - * gimple-range-gori.cc (gori_map::dump): Use 'this' pointer. - (gori_compute::gori_compute): Construct with a gori_map. - * gimple-range-gori.h (gori_compute:gori_compute): Change - prototype. - (gori_compute::map): Delete. - (gori_compute::m_map): Change to a reference. - (FOR_EACH_GORI_IMPORT_NAME): Change parameter gori to gorimap. - (FOR_EACH_GORI_EXPORT_NAME): Likewise. - * gimple-range-path.cc (path_range_query::compute_ranges_in_block): - Use gori_ssa method. - (path_range_query::compute_exit_dependencies): Likewise. - * gimple-range.cc (gimple_ranger::range_of_stmt): Likewise. - (gimple_ranger::register_transitive_inferred_ranges): Likewise. - * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): - Likewise. - * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise. - * tree-vrp.cc (remove_unreachable::handle_early): Likewise. - (remove_unreachable::remove_and_update_globals): Likewise. - * value-query.cc (range_query::create_gori): Create gori map. - (range_query::share_query): Copy gori map member. - (range_query::range_query): Initiialize gori_map member. - * value-query.h (range_query::gori_ssa): New. - (range_query::m_map): New. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Create - GORi via the range_query instead of a local member. - (ranger_cache::dump_bb): Use gori via from the range_query parent. - (ranger_cache::get_global_range): Likewise. - (ranger_cache::set_global_range): Likewise. - (ranger_cache::edge_range): Likewise. - (anger_cache::block_range): Likewise. - (ranger_cache::fill_block_cache): Likewise. - (ranger_cache::range_from_dom): Likewise. - (ranger_cache::register_inferred_value): Likewise. - * gimple-range-cache.h (ranger_cache::m_gori): Delete. - * gimple-range-fold.cc (fur_source::fur_source): Set m_depend_p. - (fur_depend::fur_depend): Remove gori parameter. - * gimple-range-fold.h (fur_source::gori): Adjust. - (fur_source::m_gori): Delete. - (fur_source::m_depend): New. - (fur_depend::fur_depend): Adjust prototype. - * gimple-range-path.cc (path_range_query::path_range_query): Share - ranger oracles. - (path_range_query::range_defined_in_block): Use oracle directly. - (path_range_query::compute_ranges_in_block): Use new gori() method. - (path_range_query::adjust_for_non_null_uses): Use oracle directly. - (path_range_query::compute_exit_dependencies): Likewise. - (jt_fur_source::jt_fur_source): No gori in the parameters. - (path_range_query::range_of_stmt): Likewise. - (path_range_query::compute_outgoing_relations): Likewise. - * gimple-range.cc (gimple_ranger::fold_range_internal): Likewise. - (gimple_ranger::range_of_stmt): Access gori via gori () method. - (assume_query::range_of_expr): Create a gori object. - (assume_query::~assume_query): Destroy a gori object. - (assume_query::calculate_op): Remove old gori() accessor. - * gimple-range.h (gimple_ranger::gori): Delete. - (assume_query::~assume_query): New. - (assume_query::m_gori): Delete. - * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): use - gori () method. - * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise. - * value-query.cc (default_gori): New. - (range_query::create_gori): New. - (range_query::destroy_gori): New. - (range_query::share_oracles): Set m_gori. - (range_query::range_query): Set m_gori to default. - (range_query::~range_query): call destroy gori. - * value-query.h (range_query): Adjust prototypes - (range_query::m_gori): New. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust - m_gori constructor. - (ranger_cache::edge_range): Use renamed edge_range_p name. - (ranger_cache::range_from_dom): Likewise. - * gimple-range-edge.h (gimple_outgoing_range::condexpr_adjust): New. - (gimple_outgoing_range::has_edge_range_p): New. - (gimple_outgoing_range::dump): New. - (gimple_outgoing_range::compute_operand_range): New. - (gimple_outgoing_range::map): New. - * gimple-range-fold.cc (fur_source::register_outgoing_edges ): Use - renamed edge_range_p routine - * gimple-range-gori.cc (gori_compute::gori_compute): Adjust - constructor. - (gori_compute::~gori_compute): New. - (gori_compute::edge_range_p): Rename from outgoing_edge_range_p - and use inherited routine instead of member method. - * gimple-range-gori.h (class gori_compute): Inherit from - gimple_outgoing_range, adjust protoypes. - (gori_compute::outgpoing): Delete. - * gimple-range-path.cc (path_range_query::compute_ranges_in_block): Use - renamed edge_range_p routine. - * tree-ssa-loop-unswitch.cc (evaluate_control_stmt_using_entry_checks): - Likewise. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Access - gori_map via member call. - (ranger_cache::dump_bb): Likewise. - (ranger_cache::get_global_range): Likewise. - (ranger_cache::set_global_range): Likewise. - (ranger_cache::register_inferred_value): Likewise. - * gimple-range-fold.cc (fold_using_range::range_of_range_op): Likewise. - (fold_using_range::range_of_address): Likewise. - (fold_using_range::range_of_phi): Likewise. - * gimple-range-gori.cc (gori_compute::compute_operand_range_switch): - likewise. - (gori_compute::compute_operand_range): Likewise. - (gori_compute::compute_logical_operands): Likewise. - (gori_compute::refine_using_relation): Likewise. - (gori_compute::compute_operand1_and_operand2_range): Likewise. - (gori_compute::may_recompute_p): Likewise. - (gori_compute::has_edge_range_p): Likewise. - (gori_compute::outgoing_edge_range_p): Likewise. - (gori_compute::condexpr_adjust): Likewise. - * gimple-range-gori.h (class gori_compute): Do not inherit from - gori_map. - (gori_compute::m_map): New. - * gimple-range-path.cc (gimple-range-path.cc): Use gori_map member. - (path_range_query::compute_exit_dependencies): Likewise. - * gimple-range.cc (gimple_ranger::range_of_stmt): Likewise. - (gimple_ranger::register_transitive_inferred_ranges): Likewise. - * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): Likewise. - * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise. - * tree-vrp.cc (remove_unreachable::handle_early): Likewise. - (remove_unreachable::remove_and_update_globals): Likewise. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-edge.cc (gimple_outgoing_range::gimple_outgoing_range): - Do not allocate a range allocator at construction time. - (gimple_outgoing_range::~gimple_outgoing_range): Delete allocator - if one was allocated. - (gimple_outgoing_range::set_switch_limit): New. - (gimple_outgoing_range::switch_edge_range): Create an allocator if one - does not exist. - (gimple_outgoing_range::edge_range_p): Check for zero edges. - * gimple-range-edge.h (class gimple_outgoing_range): Adjust prototypes. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/113879 - * gimple-range-fold.cc (op1_range): New. - (op2_range): New. - * gimple-range-fold.h (op1_range): New prototypes. - (op2_range): New prototypes. - * gimple-range-infer.cc (gimple_infer_range::add_range): Do not - add an inferred range if it is VARYING. - (gimple_infer_range::gimple_infer_range): Add inferred ranges - for any range-op statements if requested. - * gimple-range-infer.h (gimple_infer_range): Add parameter. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Create an infer - oracle instead of a local member. - (ranger_cache::~ranger_cache): Destroy the oracle. - (ranger_cache::edge_range): Use oracle. - (ranger_cache::fill_block_cache): Likewise. - (ranger_cache::range_from_dom): Likewise. - (ranger_cache::apply_inferred_ranges): Likewise. - * gimple-range-cache.h (ranger_cache::m_exit): Delete. - * gimple-range-infer.cc (infer_oracle): New static object; - (class infer_oracle): New. - (non_null_wrapper::non_null_wrapper): New. - (non_null_wrapper::add_nonzero): New. - (non_null_wrapper::add_range): New. - (non_null_loadstore): Use nonnull_wrapper. - (gimple_infer_range::gimple_infer_range): New alternate constructor. - (exit_range::stmt): New. - (infer_range_manager::has_range_p): Combine seperate methods. - (infer_range_manager::maybe_adjust_range): Adjust has_range_p call. - (infer_range_manager::add_ranges): New. - (infer_range_manager::add_range): Take stmt rather than BB. - (infer_range_manager::add_nonzero): Adjust from BB to stmt. - * gimple-range-infer.h (class gimple_infer_range): Adjust methods. - (infer_range_oracle): New. - (class infer_range_manager): Inherit from infer_range_oracle. - Adjust methods. - * gimple-range-path.cc (path_range_query::range_defined_in_block): Use - oracle. - (path_range_query::adjust_for_non_null_uses): Likewise. - * gimple-range.cc (gimple_ranger::range_on_edge): Likewise - (gimple_ranger::register_transitive_inferred_ranges): Likewise. - * value-query.cc (default_infer_oracle): New. - (range_query::create_infer_oracle): New. - (range_query::destroy_infer_oracle): New. - (range_query::share_query): Copy infer pointer. - (range_query::range_query): Initialize infer pointer. - (range_query::~range_query): destroy infer object. - * value-query.h (range_query::infer_oracle): New. - (range_query::create_infer_oracle): New prototype. - (range_query::destroy_infer_oracle): New prototype. - (range_query::m_infer): New. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range.cc (gimple_ranger::gimple_ranger): Share the - components from ranger_cache. - (gimple_ranger::~gimple_ranger): Don't clear pointer. - * value-query.cc (range_query::share_query): New. - (range_query::range_query): Clear shared component flag. - (range_query::~range_query): Don't free shared component copies. - * value-query.h (share_query): New prototype. - (m_shared_copy_p): New member. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::dump_bb): Use m_relation. - (ranger_cache::fill_block_cache): Likewise - * gimple-range-fold.cc (fur_stmt::get_phi_operand): Use new names. - (fur_depend::register_relation): Likewise. - (fold_using_range::range_of_phi): Likewise. - * gimple-range-path.cc (path_range_query::path_range_query): Likewise. - (path_range_query::~path_range_query): Likewise. - (ath_range_query::compute_ranges): Likewise. - (jt_fur_source::register_relation): Likewise. - (jt_fur_source::query_relation): Likewise. - (path_range_query::maybe_register_phi_relation): Likewise. - * gimple-range-path.h (get_path_oracle): Likewise. - * gimple-range.cc (gimple_ranger::gimple_ranger): Likewise. - (gimple_ranger::~gimple_ranger): Likewise. - * value-query.cc (range_query::create_relation_oracle): Likewise. - (range_query::destroy_relation_oracle): Likewise. - (range_query::share_oracles): Likewise. - (range_query::range_query): Likewise. - * value-query.h (value_query::relation): Rename from oracle. - (m_relation): Rename from m_oracle. - * value-relation.cc (relation_oracle::query): Rename from - query_relation. - (equiv_oracle::query): Likewise. - (equiv_oracle::record): Rename from register_relation. - (relation_oracle::record): Likewise. - (dom_oracle::record): Likewise. - (dom_oracle::query): Rename from query_relation. - (path_oracle::record): Rename from register_relation. - (path_oracle::query): Rename from query_relation. - * value-relation.h (*::record): Rename from register_relation. - (*::query): Rename from query_relation. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::dump_bb): Remove check for - NULL oracle pointer. - (ranger_cache::fill_block_cache): Likewise. - * gimple-range-fold.cc (fur_stmt::get_phi_operand): Likewise. - (fur_depend::fur_depend): Likewise. - (fur_depend::register_relation): Likewise, use qury_relation. - (fold_using_range::range_of_phi): Likewise. - (fold_using_range::relation_fold_and_or): Likewise. - * gimple-range-fold.h (fur_source::m_oracle): Delete. Oracle - can be accessed dirctly via m_query now. - * gimple-range-path.cc (path_range_query::path_range_query): - Adjust for oracle reference pointer. - (path_range_query::compute_ranges): Likewise. - (jt_fur_source::jt_fur_source): Adjust for no m_oracle member. - (jt_fur_source::register_relation): Do not check for NULL - pointer. - (jt_fur_source::query_relation): Likewise. - * gimple-range.cc (gimple_ranger::gimple_ranger): Adjust for - reference pointer. - * value-query.cc (default_relation_oracle): New. - (range_query::create_relation_oracle): Relocate from header. - Ensure not being added to global query. - (range_query::destroy_relation_oracle): Relocate from header. - (range_query::range_query): Initailize to default oracle. - (ange_query::~range_query): Call destroy_relation_oracle. - * value-query.h (class range_query): Adjust prototypes. - (range_query::create_relation_oracle): Move to source file. - (range_query::destroy_relation_oracle): Move to source file. - * value-relation.cc (relation_oracle::validate_relation): Delete. - (relation_oracle::register_stmt): Rename to register_relation. - (relation_oracle::register_edge): Likewise. - * value-relation.h (register_stmt): Rename to register_relation and - provide default function in base class. - (register_edge): Likewise. - (relation_oracle::validate_relation): Delete. - (relation_oracle::query_relation): Provide default in base class. - (relation_oracle::dump): Likewise. - (relation_oracle::equiv_set): Likewise. - (default_relation_oracle): New extenal reference. - (partial_equiv_set, add_partial_equiv): Move to protected. - -2024-05-23 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::ranger_cache): Call - create_relation_oracle. - (ranger_cache::~ranger_cache): Call destroy_relation_oracle. - * gimple-range-fold.cc (fur_stmt::get_phi_operand): Check for - relation oracle bnefore calling query_relation. - (fold_using_range::range_of_phi): Likewise. - * gimple-range-path.cc (path_range_query::~path_range_query): Set - relation oracle pointer to NULL when done. - * gimple-range.cc (gimple_ranger::~gimple_ranger): Likewise. - * value-query.cc (range_query::~range_query): Ensure any - relation oracle is destroyed. - (range_query::query_relation): relocate to relation_oracle object. - * value-query.h (class range_query): Adjust method proototypes. - (range_query::create_relation_oracle): New. - (range_query::destroy_relation_oracle): New. - * value-relation.cc (relation_oracle::query_relation): Relocate - from range query class. - * value-relation.h (Call relation_oracle): New prototypes. - -2024-05-23 Pan Li <pan2.li@intel.com> - - * generic-match-head.cc (types_match): Add overloaded types_match - for 3 types. - * gimple-match-head.cc (types_match): Ditto. - * match.pd: Leverage overloaded types_match. - -2024-05-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115197 - * tree-loop-distribution.cc (copy_loop_before): Constant PHI - args remain the same. - -2024-05-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115199 - * tree-ssa-structalias.cc (process_constraint): Also - record &ANYTHING = X as *ANYTING = X in the end. - -2024-05-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115138 - * tree-ssa-alias.cc (ptrs_compare_unequal): Make sure - pt.vars_contains_nonlocal differs since we do not represent - FUNCTION_DECLs or LABEL_DECLs in vars explicitly. - -2024-05-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - PR target/109549 - * config/s390/s390.cc (TARGET_NOCE_CONVERSION_PROFITABLE_P): - Define. - (s390_noce_conversion_profitable_p): Implement. - -2024-05-23 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/115191 - * tree-ssa-phiopt.cc (value_replacement): Use Value_Range instead - of int_range_max. - -2024-05-23 Andrew Pinski <quic_apinski@quicinc.com> - Joel Jones <quic_joeljone@quicinc.com> - Wei Zhao <quic_wezhao@quicinc.com> - - * config/aarch64/aarch64-cores.def (oryon-1): New entry. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi (AArch64 Options): Document oryon-1. - -2024-05-22 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/102171 - * config/aarch64/aarch64-builtins.cc (AARCH64_SIMD_VGET_HIGH_BUILTINS): - New macro to create definitions for all vget_high intrinsics. - (VGET_HIGH_BUILTIN): Likewise. - (enum aarch64_builtins): Add vget_high function codes. - (AARCH64_SIMD_VGET_LOW_BUILTINS): Delete duplicate macro. - (aarch64_general_fold_builtin): Fold vget_high calls. - * config/aarch64/aarch64-simd-builtins.def: Delete vget_high builtins. - * config/aarch64/aarch64-simd.md (aarch64_get_high<mode>): Delete. - (aarch64_vget_hi_halfv8bf): Likewise. - * config/aarch64/arm_neon.h (__attribute__): Delete. - (vget_high_f16): Likewise. - (vget_high_f32): Likewise. - (vget_high_f64): Likewise. - (vget_high_p8): Likewise. - (vget_high_p16): Likewise. - (vget_high_p64): Likewise. - (vget_high_s8): Likewise. - (vget_high_s16): Likewise. - (vget_high_s32): Likewise. - (vget_high_s64): Likewise. - (vget_high_u8): Likewise. - (vget_high_u16): Likewise. - (vget_high_u32): Likewise. - (vget_high_u64): Likewise. - (vget_high_bf16): Likewise. - -2024-05-22 Eric Botcazou <ebotcazou@adacore.com> - - PR rtl-optimization/115038 - * fold-mem-offsets.cc (fold_offsets): Return 0 if the defining - instruction of the register is frame related. - -2024-05-22 Roger Sayle <roger@nextmovesoftware.com> - - * config/i386/i386.cc (ix86_rtx_costs) <case CONST_INT>: - A CONST_INT that isn't x86_64_immediate_operand requires an extra - (expensive) movabsq insn to load, so return COSTS_N_INSNS (1) + 1. - -2024-05-22 Roger Sayle <roger@nextmovesoftware.com> - - * except.cc (output_function_exception_table): Move call to - get_personality_function after targetm_common.except_unwind_info - check, to avoid ICE on targets that don't support exceptions. - -2024-05-22 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (change_vec_perm_layout): Ignore an - input partition of -1. - -2024-05-22 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_schedule_slp_node): Avoid looking - at SLP_REPRESENTATIVE for VEC_PERM nodes. - -2024-05-22 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (vect_check_store_rhs): Look at *rhs - only when it's a vec_constant_def. - (vect_is_simple_use): When we have no representative for - an internal node, fill in *op with error_mark_node. - -2024-05-22 Richard Biener <rguenther@suse.de> - - * doc/invoke.texi (C++ Modules): Fix typo. - -2024-05-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/115152 - * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes_addr): If - !si->full_string_p, clear *nulterm and set maxlen to nbytes. - -2024-05-22 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/115172 - * ubsan.cc (instrument_bool_enum_load): If rhs is not in generic - address space, use qualified version of utype with the right - address space. Formatting fix. - -2024-05-22 Haochen Jiang <haochen.jiang@intel.com> - - PR target/115069 - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): - Do not enable the optimization when AVX512BW is not enabled. - -2024-05-21 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv.cc (riscv_expand_epilogue): Handle offset - being sum of two S12. - -2024-05-21 Vineet Gupta <vineetg@rivosinc.com> - - PR target/105733 - * config/riscv/riscv.h: New macros for with aligned offsets. - * config/riscv/riscv.cc (riscv_split_sum_of_two_s12): New - function to split a sum of two s12 values into constituents. - (riscv_expand_prologue): Handle offset being sum of two S12. - (riscv_expand_epilogue): Ditto. - * config/riscv/riscv-protos.h (riscv_split_sum_of_two_s12): New. - -2024-05-21 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115154 - * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)): Disable - for 1bit signed types. - -2024-05-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115137 - * tree-ssa-structalias.cc (pt_solution_includes_const_pool): NONLOCAL - also includes constant pool entries. - -2024-05-21 Richard Sandiford <richard.sandiford@arm.com> - - * hard-reg-set.h (target_hard_regs::x_eh_return_data_regs): New field. - (eh_return_data_regs): New macro. - * reginfo.cc (init_reg_sets_1): Initialize x_eh_return_data_regs. - * df-scan.cc (df_get_exit_block_use_set): Use it. - * ira-lives.cc (process_out_of_region_eh_regs): Likewise. - -2024-05-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115149 - * tree-ssa-live.cc (virtual_operand_live::get_live_in): - Explicitly track the first processed edge. - -2024-05-21 liuhongt <hongtao.liu@intel.com> - - PR target/114427 - * config/i386/i386-expand.cc (expand_vec_perm_even_odd_pack): - Use pblendw instead of pand to clear upper bits. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.md (@ieee_128bit_vsx_neg<IEEE128>2): Remove - the use of operands[3]. - (@ieee_128bit_vsx_neg<IEEE128>2): Likewise. - (*ieee_128bit_vsx_nabs<mode>2): Likewise. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.md (mode attribute rreg): Remove useless - entries with modes TF, TD, V4SF and V2DF. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/vector.md (define_expand vector_load_<mode>): Remove. - (vector_store_<mode>): Likewise. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000-call.cc (rs6000_darwin64_record_arg_recurse): - Clean up TFmode and TDmode check with FLOAT128_2REG_P. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove - useless check on TARGET_P8_VECTOR && !TARGET_ALTIVEC and add an - assertion on !TARGET_VSX if !TARGET_ALTIVEC. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - PR target/114402 - * config/rs6000/rs6000.cc (rs6000_generate_compare): Make IEEE128 - handling without vsx go with libcall. - -2024-05-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115143 - * tree-ssa-phiopt.cc (minmax_replacement): Check for empty - phi nodes for middle bbs for the case where middle bb is not empty. - -2024-05-20 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/102171 - * config/aarch64/aarch64-builtins.cc (AARCH64_SIMD_VGET_LOW_BUILTINS): - New macro to create definitions for all vget_low intrinsics. - (VGET_LOW_BUILTIN): Likewise. - (enum aarch64_builtins): Add vget_low function codes. - (aarch64_general_fold_builtin): Fold vget_low calls. - * config/aarch64/aarch64-simd-builtins.def: Delete vget_low builtins. - * config/aarch64/aarch64-simd.md (aarch64_get_low<mode>): Delete. - (aarch64_vget_lo_halfv8bf): Likewise. - * config/aarch64/arm_neon.h (__attribute__): Delete. - (vget_low_f16): Likewise. - (vget_low_f32): Likewise. - (vget_low_f64): Likewise. - (vget_low_p8): Likewise. - (vget_low_p16): Likewise. - (vget_low_p64): Likewise. - (vget_low_s8): Likewise. - (vget_low_s16): Likewise. - (vget_low_s32): Likewise. - (vget_low_s64): Likewise. - (vget_low_u8): Likewise. - (vget_low_u16): Likewise. - (vget_low_u32): Likewise. - (vget_low_u64): Likewise. - (vget_low_bf16): Likewise. - -2024-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.cc (aarch64_rtx_costs): Improve CTZ costing. - -2024-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.md (movsi_aarch64): Use '\;' to force - newline in 2-instruction pattern. - (movdi_aarch64): Likewise. - -2024-05-20 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> - - * config/aarch64/aarch64-ldp-fusion.cc: Rename generic parts of code - to avoid "ldp" and "stp". - -2024-05-20 Mark Wielaard <mark@klomp.org> - - * config/riscv/riscv.opt.urls: Regenerate. - * config/i386/i386.opt.urls: Likewise. - -2024-05-20 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> - - * config/aarch64/aarch64-ldp-fusion.cc: Factor out a - target-independent interface and move it to the head of the file - -2024-05-20 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.cc(mips_option_override): - Drop mips_lra_flag variable; - (mips_lra_p): Removed. - (TARGET_LRA_P): Remove definition here to use the default one. - * config/mips/mips.md(*mul_acc_si, *mul_acc_si_r3900, *mul_sub_si): - Drop mips_lra_flag variable. - * config/mips/mips.opt(-mlra): Removed. - * config/mips/mips.opt.urls(mlra): Removed. - -2024-05-20 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/cpuinfo.h - (get_intel_cpu): Remove Xeon Phi cpus. - (get_available_features): Remove Xeon Phi ISAs. - * common/config/i386/i386-common.cc - (OPTION_MASK_ISA_AVX512PF_SET): Removed. - (OPTION_MASK_ISA_AVX512ER_SET): Ditto. - (OPTION_MASK_ISA2_AVX5124FMAPS_SET): Ditto. - (OPTION_MASK_ISA2_AVX5124VNNIW_SET): Ditto. - (OPTION_MASK_ISA_PREFETCHWT1_SET): Ditto. - (OPTION_MASK_ISA_AVX512F_UNSET): Remove AVX512PF and AVX512ER. - (OPTION_MASK_ISA_AVX512PF_UNSET): Removed. - (OPTION_MASK_ISA_AVX512ER_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX5124FMAPS_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX5124VNNIW_UNSET): Ditto. - (OPTION_MASK_ISA_PREFETCHWT1_UNSET): Ditto. - (OPTION_MASK_ISA2_AVX512F_UNSET): Remove AVX5124FMAPS and - AVX5125VNNIW. - (ix86_handle_option): Remove Xeon Phi options. - (processor_names): Remove Xeon Phi cpus. - (processor_alias_table): Ditto. - * common/config/i386/i386-cpuinfo.h - (enum processor_types): Ditto. - (enum processor_features): Remove Xeon Phi ISAs. - * common/config/i386/i386-isas.h: Ditto. - * config.gcc: Remove Xeon Phi cpus and ISAs. - * config/i386/avx5124fmapsintrin.h: Remove intrin support. - * config/i386/avx5124vnniwintrin.h: Ditto. - * config/i386/avx512erintrin.h: Ditto. - * config/i386/avx512pfintrin.h: Ditto. - * config/i386/cpuid.h (bit_AVX512PF): Removed. - (bit_AVX512ER): Ditto. - (bit_PREFETCHWT1): Ditto. - (bit_AVX5124VNNIW): Ditto. - (bit_AVX5124FMAPS): Ditto. - * config/i386/driver-i386.cc - (host_detect_local_cpu): Remove Xeon Phi. - * config/i386/i386-builtin-types.def: Remove unused types. - * config/i386/i386-builtin.def (BDESC): Remove builtins. - * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): Ditto. - * config/i386/i386-c.cc (ix86_target_macros_internal): Remove Xeon - Phi cpus and ISAs. - * config/i386/i386-expand.cc (ix86_expand_builtin): Remove Xeon Phi - related handlers. - (ix86_emit_swdivsf): Ditto. - (ix86_emit_swsqrtsf): Ditto. - * config/i386/i386-isa.def: Remove Xeon Phi ISAs. - * config/i386/i386-options.cc (m_KNL): Removed. - (m_KNM): Ditto. - (isa2_opts): Remove Xeon Phi ISAs. - (isa_opts): Ditto. - (processor_cost_table): Remove Xeon Phi cpus. - (ix86_valid_target_attribute_inner_p): Remove Xeon Phi ISAs. - (ix86_option_override_internal): Remove Xeon Phi related handlers. - * config/i386/i386-rust.cc (ix86_rust_target_cpu_info): Remove Xeon - Phi ISAs. - * config/i386/i386.cc (ix86_hard_regno_mode_ok): Remove Xeon Phi - related handler. - * config/i386/i386.h (TARGET_EMIT_VZEROUPPER): Removed. - (enum processor_type): Remove Xeon Phi cpus. - * config/i386/i386.md (prefetch): Remove PREFETCHWT1. - (*prefetch_3dnow): Ditto. - (*prefetch_prefetchwt1): Removed. - * config/i386/i386.opt: Remove Xeon Phi ISAs. - * config/i386/immintrin.h: Ditto. - * config/i386/sse.md (VF1_AVX512ER_128_256): Removed. - (rsqrt<mode>2): Change iterator from VF1_AVX512ER_128_256 to - VF1_128_256. - (GATHER_SCATTER_SF_MEM_MODE): Removed. - (avx512pf_gatherpf<mode>sf): Ditto. - (*avx512pf_gatherpf<VI48_512:mode>sf_mask): Ditto. - (avx512pf_gatherpf<mode>df): Ditto. - (*avx512pf_gatherpf<VI4_256_8_512:mode>df_mask): Ditto. - (avx512pf_scatterpf<mode>sf): Ditto. - (*avx512pf_scatterpf<VI48_512:mode>sf_mask): Ditto. - (avx512pf_scatterpf<mode>df): Ditto. - (*avx512pf_scatterpf<VI4_256_8_512:mode>df_mask): Ditto. - (exp2<mode>2): Ditto. - (avx512er_exp2<mode><mask_name><round_saeonly_name>): Ditto. - (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): - Ditto. - (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Ditto. - (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): - Ditto. - (avx512er_vmrsqrt28<mode><mask_name><round_saeonly_name>): Ditto. - (IMOD4): Ditto. - (imod4_narrow): Ditto. - (mov<mode>): Ditto. - (*mov<mode>_internal): Ditto. - (avx5124fmaddps_4fmaddps): Ditto. - (avx5124fmaddps_4fmaddps_mask): Ditto. - (avx5124fmaddps_4fmaddps_maskz): Ditto. - (avx5124fmaddps_4fmaddss): Ditto. - (avx5124fmaddps_4fmaddss_mask): Ditto. - (avx5124fmaddps_4fmaddss_maskz): Ditto. - (avx5124fmaddps_4fnmaddps): Ditto. - (avx5124fmaddps_4fnmaddps_mask): Ditto. - (avx5124fmaddps_4fnmaddps_maskz): Ditto. - (avx5124fmaddps_4fnmaddss): Ditto. - (avx5124fmaddps_4fnmaddss_mask): Ditto. - (avx5124fmaddps_4fnmaddss_maskz): Ditto. - (avx5124vnniw_vp4dpwssd): Ditto. - (avx5124vnniw_vp4dpwssd_mask): Ditto. - (avx5124vnniw_vp4dpwssd_maskz): Ditto. - (avx5124vnniw_vp4dpwssds): Ditto. - (avx5124vnniw_vp4dpwssds_mask): Ditto. - (avx5124vnniw_vp4dpwssds_maskz): Ditto. - * config/i386/x86-tune-sched.cc (ix86_issue_rate): Remove Xeon Phi cpus. - (ix86_adjust_cost): Ditto. - * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Ditto. - (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. - (X86_TUNE_MOVX): Ditto. - (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. - (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto. - (X86_TUNE_FOUR_JUMP_LIMIT): Ditto. - (X86_TUNE_USE_INCDEC): Ditto. - (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. - (X86_TUNE_OPT_AGU): Ditto. - (X86_TUNE_AVOID_LEA_FOR_ADDR): Ditto. - (X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE): Ditto. - (X86_TUNE_USE_SAHF): Ditto. - (X86_TUNE_USE_CLTD): Ditto. - (X86_TUNE_USE_BT): Ditto. - (X86_TUNE_ONE_IF_CONV_INSN): Ditto. - (X86_TUNE_EXPAND_ABS): Ditto. - (X86_TUNE_USE_SIMODE_FIOP): Ditto. - (X86_TUNE_EXT_80387_CONSTANTS): Ditto. - (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto. - (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. - (X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS): Ditto. - (X86_TUNE_SLOW_PSHUFB): Ditto. - (X86_TUNE_EMIT_VZEROUPPER): Removed. - * config/i386/xmmintrin.h (enum _mm_hint): Remove _MM_HINT_ET1. - * doc/extend.texi: Remove Xeon Phi. - * doc/invoke.texi: Ditto. - -2024-05-20 Pan Li <pan2.li@intel.com> - - * dse.cc (get_stored_val): Make sure read_mode/write_mode - is valid subreg before gen_lowpart. - -2024-05-19 Jeff Law <jlaw@ventanamicro.com> - - PR target/115142 - * config/riscv/riscv.cc (mem_shadd_or_shadd_rtx_p): Make sure - shifted argument is a register. - -2024-05-19 Eric Botcazou <ebotcazou@adacore.com> - - * optabs-query.cc (can_mult_highpart_p): Test for the existence of - a wider mode instead of requiring it. - -2024-05-19 Roger Sayle <roger@nextmovesoftware.com> - - * config/nvptx/nvptx.md (popcount<mode>2): Split into... - (popcountsi2): define_insn handling SImode popcount. - (popcountdi2): define_insn handling DImode popcount, with an - explicit truncate:SI to produce an SImode result. - -2024-05-18 Palmer Dabbelt <palmer@rivosinc.com> - - * config/riscv/riscv.opt: Add -mno-fence-tso. - * config/riscv/sync-rvwmo.md (mem_thread_fence_rvwmo): Respect - -mno-fence-tso. - * doc/invoke.texi (RISC-V): Document -mno-fence-tso. - -2024-05-18 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.md: Add new patterns to allow selection - between (x << C1) + C2 vs (x + C2') << C1 depending on the - cost C2 vs C2'. - -2024-05-18 Xiao Zeng <zengxiao@eswincomputing.com> - - * config/riscv/riscv.cc (riscv_legitimize_move): Optimize movbf - with Nan-boxing value. - * config/riscv/riscv.md (*movhf_softfloat_boxing): Expand movbf - with Nan-boxing value. - (*mov<HFBF:mode>_softfloat_boxing): Ditto. - with Nan-boxing value. - (*movbf_softfloat_boxing): Delete abandon pattern. - -2024-05-18 Xiao Zeng <zengxiao@eswincomputing.com> - - * config/riscv/riscv-builtins.cc (riscv_init_builtin_types): - Modify _Bfloat16 to __bf16. - * config/riscv/riscv.cc (riscv_mangle_type): Ditto. - -2024-05-18 Pan Li <pan2.li@intel.com> - - PR target/51492 - PR target/112600 - * config/riscv/autovec.md (usadd<mode>3): New pattern expand for - the unsigned SAT_ADD in vector mode. - * config/riscv/riscv-protos.h (riscv_expand_usadd): New func decl - to expand usadd<mode>3 pattern. - (expand_vec_usadd): Ditto but for vector. - * config/riscv/riscv-v.cc (emit_vec_saddu): New func impl to emit - the vsadd insn. - (expand_vec_usadd): New func impl to expand usadd<mode>3 for vector. - * config/riscv/riscv.cc (riscv_expand_usadd): New func impl to - expand usadd<mode>3 for scalar. - * config/riscv/riscv.md (usadd<mode>3): New pattern expand for - the unsigned SAT_ADD in scalar mode. - * config/riscv/vector.md: Allow VLS mode for vsaddu. - -2024-05-17 David Malcolm <dmalcolm@redhat.com> - - * common.opt.urls: Regenerate to add - fdiagnostics-show-event-links. - -2024-05-17 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-protos.h (struct common_vector_cost): Add - segment_permute cost. - * config/riscv/riscv-vector-costs.cc (costs::adjust_stmt_cost): - Handle segment loads/stores. - * config/riscv/riscv.cc: Initialize segment_permute_[2-8] to 1. - -2024-05-17 Robin Dapp <rdapp@ventanamicro.com> - - PR middle-end/113474 - * internal-fn.cc (expand_vec_cond_mask_optab_fn): Remove - force_regs. - -2024-05-17 Tom Tromey <tromey@adacore.com> - - * dwarf2out.cc (gen_namespace_die): Use DW_TAG_module for Ada. - -2024-05-17 David Malcolm <dmalcolm@redhat.com> - - * common.opt (fdiagnostics-show-event-links): New option. - * diagnostic-label-effects.h: New file. - * diagnostic-path.h (diagnostic_event::connect_to_next_event_p): - New pure virtual function. - (simple_diagnostic_event::connect_to_next_event_p): Implement it. - (simple_diagnostic_event::connect_to_next_event): New. - (simple_diagnostic_event::m_connected_to_next_event): New field. - (simple_diagnostic_path::connect_to_next_event): New decl. - * diagnostic-show-locus.cc: Include "text-art/theme.h" and - "diagnostic-label-effects.h". - (colorizer::set_cfg_edge): New. - (layout::m_fallback_theme): New field. - (layout::m_theme): New field. - (layout::m_effect_info): New field. - (layout::m_link_lhs_state): New enum and field. - (layout::m_link_rhs_column): New field. - (layout_range::has_in_edge): New. - (layout_range::has_out_edge): New. - (layout::layout): Add "effect_info" optional param. Initialize - m_theme, m_link_lhs_state, and m_link_rhs_column. - (layout::maybe_add_location_range): Remove stray "FIXME" from - leading comment. - (layout::print_source_line): Replace space after margin with a - call to print_leftmost_column. - (layout::print_leftmost_column): New. - (layout::start_annotation_line): Make non-const. Gain - responsibility for printing the leftmost column after the margin. - (layout::print_annotation_line): Drop pp_space, as this is now - added by start_annotation_line. - (line_label::line_label): Add "has_in_edge" and "has_out_edge" - params and initialize... - (line_label::m_has_in_edge): New field. - (line_label::m_has_out_edge): New field. - (layout::print_any_labels): Pass edge information to line_label - ctor. Keep track of in-edges and out-edges, adding visualizations - of these links between labels. - (layout::print_leading_fixits): Drop pp_character, as this is now - added by start_annotation_line. - (layout::print_trailing_fixits): Fix off-by-one errors in column - calculation. - (layout::move_to_column): Add comment about debugging. - (layout::show_ruler): Make non-const. Drop pp_space calls, as - this is now added by start_annotation_line. - (layout::print_line): Call print_any_right_to_left_edge_lines. - (layout::print_any_right_to_left_edge_lines): New. - (layout::update_any_effects): New. - (gcc_rich_location::add_location_if_nearby): Initialize - loc_range.m_label. - (diagnostic_context::maybe_show_locus): Add "effects" param and - pass it to diagnostic_context::show_locus. - (diagnostic_context::show_locus): Add "effects" param, passing it - to layout's ctor. Call update_any_effects on the layout after - printing the lines. - (selftest::test_layout_x_offset_display_utf8): Update expected - result for eliminated trailing newline. - (selftest::test_layout_x_offset_display_utf8): Likewise. - (selftest::test_layout_x_offset_display_tab): Likewise. - * diagnostic.cc (diagnostic_context::initialize): Initialize - m_source_printing.show_event_links_p. - (simple_diagnostic_path::connect_to_next_event): New. - (simple_diagnostic_event::simple_diagnostic_event): Initialize - m_connected_to_next_event. - * diagnostic.h (class diagnostic_source_effect_info): New forward - decl. - (diagnostic_source_printing_options::show_event_links_p): New - field. - (diagnostic_context::maybe_show_locus): Add optional "effect_info" - param. - (diagnostic_context::show_locus): Add "effect_info" param. - (diagnostic_show_locus): Add optional "effect_info" param. - * doc/invoke.texi: Add -fno-diagnostics-show-event-links. - * lto-wrapper.cc (merge_and_complain): Add - OPT_fdiagnostics_show_event_links to switch. - (append_compiler_options): Likewise. - (append_diag_options): Likewise. - * opts-common.cc (decode_cmdline_options_to_array): Add - "-fno-diagnostics-show-event-links" to -fdiagnostics-plain-output. - * opts.cc (common_handle_option): Add case for - OPT_fdiagnostics_show_event_links. - * text-art/theme.cc (ascii_theme::get_cppchar): Handle - cell_kind::CFG_*. - (unicode_theme::get_cppchar): Likewise. - * text-art/theme.h (theme::cell_kind): Add CFG_*. - * toplev.cc (general_init): Initialize - global_dc->m_source_printing.show_event_links_p. - * tree-diagnostic-path.cc: Define INCLUDE_ALGORITHM, - INCLUDE_MEMORY, and INCLUDE_STRING. Include - "diagnostic-label-effects.h". - (path_label::path_label): Initialize m_effects. - (path_label::get_effects): New. - (class path_label::path_label_effects): New. - (path_label::m_effects): New field. - (class per_thread_summary): Add "friend struct event_range;". - (per_thread_summary::per_thread_summary): Initialize m_last_event. - (per_thread_summary::m_last_event): New field. - (struct event_range::per_source_line_info): New. - (event_range::event_range): Make "t" non-const. Add - "show_event_links" param and use it to initialize - m_show_event_links. Add info for initial event. - (event_range::get_per_source_line_info): New. - (event_range::maybe_add_event): Verify compatibility of the new - label and existing labels with respect to the link-printing code. - Update per-source-line info when an event is added. - (event_range::print): Add"effect_info" param and pass to - diagnostic_show_locus. - (event_range::m_per_thread_summary): Make non-const. - (event_range::m_source_line_info_map): New field. - (event_range::m_show_event_links): New field. - (path_summary::path_summary): Add "show_event_links" optional - param, passing it to event_range ctor calls. Update - pts.m_last_event. - (thread_event_printer::print_swimlane_for_event_range): Add - "effect_info" param and pass it to range->print. - (print_path_summary_as_text): Keep track of the column for any - out-edges at the end of printing each event_range and use as - the leading in-edge for the next event_range. - (default_tree_diagnostic_path_printer): Pass in show_event_links_p - to path_summary ctor. - (selftest::path_events_have_column_data_p): New. - (class selftest::control_flow_test): New. - (selftest::test_control_flow_1): New. - (selftest::test_control_flow_2): New. - (selftest::test_control_flow_3): New. - (selftest::assert_cfg_edge_path_streq): New. - (ASSERT_CFG_EDGE_PATH_STREQ): New macro. - (selftest::test_control_flow_4): New. - (selftest::test_control_flow_5): New. - (selftest::test_control_flow_6): New. - (selftest::control_flow_tests): New. - (selftest::tree_diagnostic_path_cc_tests): Disable colorization on - global_dc's printer. Convert event_pp to a std::unique_ptr. Call - control_flow_tests via for_each_line_table_case. - (gen_command_line_string): Likewise. - -2024-05-17 Uros Bizjak <ubizjak@gmail.com> - - PR middle-end/112600 - * config/i386/mmx.md (<insn><mode>3): New expander. - * config/i386/sse.md - (<sse2_avx2>_<sat_plusminus:insn><mode>3<mask_name>): - Rename expander to <sat_plusminus:insn><mode>3<mask_name>. - (<umaxmin:code><mode>3): Update for rename. - * config/i386/i386-builtin.def: Update for rename. - -2024-05-17 Aldy Hernandez <aldyh@redhat.com> - - PR middle-end/115131 - * value-range.cc (prange::intersect): Set VARYING if intersection - of bitmasks made the range span the entire domain. - (range_tests_misc): New test. - -2024-05-17 Alexander Monakov <amonakov@ispras.ru> - - PR c++/114480 - * tree-into-ssa.cc (prune_unused_phi_nodes): Add dfs_out entries - to the 'defs' array in the reverse order. - -2024-05-17 Aldy Hernandez <aldyh@redhat.com> - - PR middle-end/115128 - * ipa-cp.cc (ipa_value_range_from_jfunc): Check for undefined_p - before looking at type. - (propagate_vr_across_jump_function): Same. - -2024-05-17 Richard Biener <rguenther@suse.de> - - PR middle-end/115110 - * tree-ssa-alias.cc (view_converted_memref_p): Fix. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * expmed.h (expmed_mult_highpart_optab): Declare. - * expmed.cc (expmed_mult_highpart_optab): Remove static keyword. - Do not assume that OP1 is a constant integer. Fix pasto. - (expmed_mult_highpart): Pass OP1 narrowed to MODE in all the calls - to expmed_mult_highpart_optab. - * optabs-query.cc (can_mult_highpart_p): Use 2 for integer widening - and shift subsequent values accordingly. - * optabs.cc (expand_mult_highpart): Call expmed_mult_highpart_optab - when can_mult_highpart_p returns 2 and adjust to above change. - -2024-05-17 Richard Biener <rguenther@suse.de> - - * tree-ssa-alias.h (pt_solution_includes_const_pool): Declare. - * tree-ssa-alias.cc (ptrs_compare_unequal): Use - pt_solution_includes_const_pool. - * tree-ssa-structalias.cc (pt_solution_includes_const_pool): New. - -2024-05-17 Alexandre Oliva <oliva@adacore.com> - - * common.opt (freg-struct-return): Make it explicitly - fpcc-struct-return's NegativeAlias. Copy Optimization... - (freg-struct-return): ... here. - -2024-05-17 Pan Li <pan2.li@intel.com> - - * config/riscv/.riscv.cc.swo: Removed. - * config/riscv/j: Removed. - -2024-05-16 Pan Li <pan2.li@intel.com> - - * config/riscv/autovec-opt.md(*vcond_mask_len_popcount_<VB_VLS:mode><P:mode>): - New pattern of vcond_mask_len_popcount for vector bool mode. - * config/riscv/autovec.md (vcond_mask_len_<mode>): New pattern of - vcond_mask_len for vector bool mode. - (cbranch<mode>4): New pattern for vector bool mode. - * config/riscv/vector-iterators.md: Add new unspec UNSPEC_SELECT_MASK. - * config/riscv/vector.md (@pred_popcount<VB:mode><P:mode>): Add VLS mode - to popcount pattern. - (@pred_popcount<VB_VLS:mode><P:mode>): Ditto. - -2024-05-16 Jan Hubicka <jh@suse.cz> - - PR ipa/113787 - * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p): Do not - look into TARGET_MEM_REFS with constant opreand 0. - -2024-05-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/13962 - PR tree-optimization/96564 - * tree-ssa-alias.h (pt_solution::const_pool): New flag. - * tree-ssa-alias.cc (ptrs_compare_unequal): Handle pointer-pointer - compares. - (dump_points_to_solution): Dump the const_pool flag, fix guard - of flag dumping. - * gimple-pretty-print.cc (pp_points_to_solution): Likewise. - * tree-ssa-structalias.cc (find_what_var_points_to): Set - the const_pool flag for STRING. - (pt_solution_ior_into): Handle the const_pool flag. - (ipa_escaped_pt): Initialize it. - -2024-05-16 Richard Biener <rguenther@suse.de> - - * tree-ssa-structalias.cc (get_constraint_for_1): For - volatile referenced or decls use ANYTHING. - -2024-05-16 Pan Li <pan2.li@intel.com> - - * tree-vect-loop.cc (vect_gen_loop_len_mask): New func to gen - the loop len mask. - * tree-vect-stmts.cc (vectorizable_early_exit): Invoke the - vect_gen_loop_len_mask for 1 or more stmt(s). - * tree-vectorizer.h (vect_gen_loop_len_mask): New func decl - for vect_gen_loop_len_mask. - -2024-05-16 Pan Li <pan2.li@intel.com> - - PR target/51492 - PR target/112600 - * tree-vect-patterns.cc (gimple_unsigned_integer_sat_add): New - func decl generated by match.pd match. - (vect_recog_sat_add_pattern): New func impl to recog the pattern - for unsigned SAT_ADD. - -2024-05-16 Pan Li <pan2.li@intel.com> - - PR target/51492 - PR target/112600 - * internal-fn.cc (commutative_binary_fn_p): Add type IFN_SAT_ADD - to the return true switch case(s). - * internal-fn.def (SAT_ADD): Add new signed optab SAT_ADD. - * match.pd: Add unsigned SAT_ADD match(es). - * optabs.def (OPTAB_NL): Remove fixed-point limitation for - us/ssadd. - * tree-ssa-math-opts.cc (gimple_unsigned_integer_sat_add): New - extern func decl generated in match.pd match. - (match_saturation_arith): New func impl to match the saturation arith. - (math_opts_dom_walker::after_dom_children): Try match saturation - arith when IOR expr. - -2024-05-16 Aldy Hernandez <aldyh@redhat.com> - - Revert: - 2024-05-10 Aldy Hernandez <aldyh@redhat.com> - - Revert: - 2024-05-08 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (sbr_sparse_bitmap::sbr_sparse_bitmap): - Change irange to prange. - * gimple-range-fold.cc (fold_using_range::fold_stmt): Same. - (fold_using_range::range_of_address): Same. - * gimple-range-fold.h (range_of_address): Same. - * gimple-range-infer.cc (gimple_infer_range::add_nonzero): Same. - * gimple-range-op.cc (class cfn_strlen): Same. - * gimple-range-path.cc - (path_range_query::adjust_for_non_null_uses): Same. - * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Same. - * tree-ssa-structalias.cc (find_what_p_points_to): Same. - * range-op-ptr.cc (range_op_table::initialize_pointer_ops): Remove - hybrid entries in table. - * range-op.cc (range_op_table::range_op_table): Add pointer - entries for bitwise and/or and min/max. - * value-range.cc (irange::verify_range): Add assert. - * value-range.h (irange::varying_compatible_p): Remove check for - error_mark_node. - (irange::supports_p): Remove pointer support. - * ipa-cp.h (ipa_supports_p): Add prange support. - -2024-05-16 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/114985 - * gimple-range-op.cc: Remove pointers_handled_p. - * ipa-cp.cc (ipa_value_range_from_jfunc): Skip range folding if - operands don't match. - (propagate_vr_across_jump_function): Same. - * range-op-mixed.h: Remove pointers_handled_p and tweak - operand_check_p. - * range-op-ptr.cc (range_operator::pointers_handled_p): Remove. - (pointer_plus_operator::pointers_handled_p): Remove. - (class operator_pointer_diff): Remove pointers_handled_p. - (operator_pointer_diff::pointers_handled_p): Remove. - (operator_identity::pointers_handled_p): Remove. - (operator_cst::pointers_handled_p): Remove. - (operator_cast::pointers_handled_p): Remove. - (operator_min::pointers_handled_p): Remove. - (operator_max::pointers_handled_p): Remove. - (operator_addr_expr::pointers_handled_p): Remove. - (operator_bitwise_and::pointers_handled_p): Remove. - (operator_bitwise_or::pointers_handled_p): Remove. - (operator_equal::pointers_handled_p): Remove. - (operator_not_equal::pointers_handled_p): Remove. - (operator_lt::pointers_handled_p): Remove. - (operator_le::pointers_handled_p): Remove. - (operator_gt::pointers_handled_p): Remove. - (operator_ge::pointers_handled_p): Remove. - * range-op.cc (TRAP_ON_UNHANDLED_POINTER_OPERATORS): Remove. - (range_op_handler::lhs_op1_relation): Remove pointers_handled_p checks. - (range_op_handler::lhs_op2_relation): Same. - (range_op_handler::op1_op2_relation): Same. - * range-op.h: Remove RO_* declarations. - -2024-05-16 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/114985 - * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Use - boolean type when folding conditionals. - -2024-05-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/79958 - PR tree-optimization/109087 - PR tree-optimization/100314 - PR tree-optimization/114774 - * tree-ssa-dse.cc (dse_classify_store): New forwarder. - (dse_classify_store): Add arguments cnt and visited, recurse - to track multiple paths when we end up with multiple defs. - -2024-05-16 David Malcolm <dmalcolm@redhat.com> - - * text-art/theme.cc (ascii_theme::get_cppchar): Add - cell_kind::INTERPROCEDURAL_*. - (unicode_theme::get_cppchar): Likewise. - * text-art/theme.h (theme::cell_kind): Likewise. - * tree-diagnostic-path.cc: - (thread_event_printer::print_swimlane_for_event_range): Use the - above to get characters for indicating interprocedural stack - depth activity, falling back to ascii. - (selftest::test_interprocedural_path_1): Test with both ascii - and unicode themes. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - -2024-05-16 David Malcolm <dmalcolm@redhat.com> - - * tree-diagnostic-path.cc: Include "text-art/theme.h". - (path_label::get_text): If the event has - diagnostic_event::VERB_danger, and the theme enables emojis, then - add a warning emoji between the event number and the event text. - -2024-05-16 David Malcolm <dmalcolm@redhat.com> - - * tree-diagnostic-path.cc (per_thread_summary::interprocedural_p): - New. - (thread_event_printer::print_swimlane_for_event_range): Don't - indent and print the stack depth line if this thread's events are - purely intraprocedural. - (selftest::test_intraprocedural_path): Update expected output. - -2024-05-16 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-path.h: Update leading comment to reflect - intraprocedural cases. Fix typo in comment. - * doc/invoke.texi: Update intraprocedural example. - -2024-05-16 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-show-locus.cc: Define INCLUDE_VECTOR and include - "text-art/types.h". - (line_label::line_label): Drop "policy" argument. Use - styled_string::calc_canvas_width when computing m_display_width, - as this skips SGR codes. - (layout::print_any_labels): Update for line_label ctor change. - (selftest::test_one_liner_labels_utf8): Update expected text to - reflect that the labels can fit on one line if we don't get - confused by SGR colorization codes. - -2024-05-16 Xiao Zeng <zengxiao@eswincomputing.com> - - * common/config/riscv/riscv-common.cc: - (riscv_implied_info): Add zvfbfwma item. - (riscv_ext_version_table): Ditto. - (riscv_ext_flag_table): Ditto. - * config/riscv/riscv.opt: - (MASK_ZVFBFWMA): New macro. - (TARGET_ZVFBFWMA): Ditto. - -2024-05-16 liuhongt <hongtao.liu@intel.com> - - PR target/114514 - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial): - Set d.one_operand_p to true when TARGET_SSSE3. - -2024-05-16 liuhongt <hongtao.liu@intel.com> - - PR target/114514 - * config/i386/i386-expand.cc - (ix86_expand_vec_shift_qihi_constant): Optimize ashift >> 7 to - vpcmpgtb. - (ix86_expand_vecop_qihi_partial): Ditto. - -2024-05-15 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv-string.cc: Add missing hunk from last change. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-string.cc (emit_strcmp_scalar_load_and_compare): - Use adjust_address() to calculate MEM-PLUS pattern. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-protos.h (riscv_expand_block_compare): New - prototype. - * config/riscv/riscv-string.cc (GEN_EMIT_HELPER2): New helper - for zero_extendhi. - (do_load_from_addr): Add support for HI and SI/64 modes. - (do_load): Add helper for zero-extended loads. - (emit_memcmp_scalar_load_and_compare): New helper to emit memcmp. - (emit_memcmp_scalar_result_calculation): Likewise. - (riscv_expand_block_compare_scalar): Likewise. - (riscv_expand_block_compare): New RISC-V expander for memory compare. - * config/riscv/riscv.md (cmpmemsi): New cmpmem expansion. - -2024-05-15 Marek Polacek <polacek@redhat.com> - - DR 1693 - PR c++/113760 - DR 569 - * doc/invoke.texi: Update -Wextra-semi documentation. - -2024-05-15 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114902 - PR rtl-optimization/115092 - * combine.cc (simplify_compare_const): Don't optimize - GE op0 SIGNED_MIN or LT op0 SIGNED_MIN into NE op0 const0_rtx or - EQ op0 const0_rtx. - -2024-05-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114589 - * tree-ssa-sink.cc (select_best_block): Remove profile-based - heuristics. Instead reject sink locations that sink - to post-dominators. Move empty latch check here from - statement_sink_location. Also consider early_bb for the - loop depth check. - (statement_sink_location): Remove superfluous check. Remove - empty latch check. - (pass_sink_code::execute): Compute/release post-dominators. - -2024-05-15 Richard Biener <rguenther@suse.de> - - PR middle-end/111422 - * cfgexpand.cc (add_scope_conflicts_2): Handle PHIs - by recursing to their arguments. - -2024-05-15 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64-simd.md (aarch64_combine_internal<mode>): - Use UZP1 instead of INS. - (aarch64_combine_internal_be<mode>): Likewise. - -2024-05-15 Jan Hubicka <jh@suse.cz> - - * alias.cc (reference_alias_ptr_type_1): Use view_converted_memref_p. - * alias.h (view_converted_memref_p): Declare. - * tree-ssa-alias.cc (view_converted_memref_p): Export. - (ao_compare::compare_ao_refs): Use same_type_for_tbaa. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-string.cc (riscv_block_move_straight): - Hand over up to 2xXLEN bytes to move_by_pieces(). - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-string.cc (riscv_block_move_straight): Add - parameter align. - (riscv_adjust_block_mem): Replace parameter length by align. - (riscv_block_move_loop): Add parameter align. - (riscv_expand_block_move_scalar): Set alignment properly if the - target has fast unaligned access. - -2024-05-15 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/114995 - * range-op-ptr.cc (range_operator::pointers_handled_p): Default to true. - -2024-05-15 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/114301 - * tree-cfg.cc (gimple_can_duplicate_bb_p): Check returns_twice - only on the last call statement rather than all. - -2024-05-15 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv-string.cc - (riscv_expand_block_clear_zicboz_zic64b): Handle rv32 correctly. - -2024-05-15 Levy Hsu <admin@levyhsu.com> - - PR target/107563 - * config/i386/i386-expand.cc (expand_vec_perm_psrlw_psllw_por): New - subroutine. - (ix86_expand_vec_perm_const_1): Call expand_vec_perm_psrlw_psllw_por. - -2024-05-15 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.md: Add pattern for sign extended shift-add - sequence with a masked input. - -2024-05-14 Dimitar Dimitrov <dimitar@dinux.eu> - - PR rtl-optimization/115013 - * config/pru/pru.cc (pru_class_likely_spilled_p): Implement - to mark classes containing one SImode register as likely - spilled. - (TARGET_CLASS_LIKELY_SPILLED_P): Define. - -2024-05-14 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv.h: New macros to check for sum of two S12 - range. - * config/riscv/constraints.md: New constraint. - * config/riscv/predicates.md: New Predicate. - * config/riscv/riscv.md: New splitter. - * config/riscv/riscv.cc (riscv_reg_frame_related): New helper. - * config/riscv/riscv-protos.h: New helper prototype. - -2024-05-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/99954 - * tree-data-ref.cc (dr_may_alias_p): For bases that are - not completely analyzed fall back to TBAA and points-to. - * tree-loop-distribution.cc - (loop_distribution::classify_builtin_ldst): When there - is no dependence again classify as memcpy. - * tree-ssa-alias.cc (ptr_deref_may_alias_decl_p): Verify - the pointer is an SSA name. - -2024-05-14 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-protos.h (riscv_expand_block_clear): New prototype. - * config/riscv/riscv-string.cc (riscv_expand_block_clear_zicboz_zic64b): - New function to expand a block-clear with cbo.zero. - (riscv_expand_block_clear): New RISC-V block-clear expansion function. - * config/riscv/riscv.md (setmem<mode>): New setmem expansion. - -2024-05-14 Christoph Müllner <christoph.muellner@vrull.eu> - - * expr.cc (clear_by_pieces): Remove static from clear_by_pieces. - * expr.h (clear_by_pieces): Add prototype for clear_by_pieces. - -2024-05-14 Tom de Vries <tdevries@suse.de> - - PR debug/115066 - * dwarf2out.cc (output_macinfo_op): Fix DW_MACRO_define_strx/strp - choice for v4 .debug_macro.dwo. Add asserts to check that choice. - -2024-05-14 Jan Hubicka <jh@suse.cz> - - PR ipa/113291 - * ipa-inline.cc (enum can_inline_edge_by_limits_flags): New enum. - (can_inline_edge_by_limits_p): Take flags instead of multiple bools; add flag - for forcing inlinie limits. - (can_early_inline_edge_p): Update. - (want_inline_self_recursive_call_p): Update; use FORCE_LIMITS mode. - (check_callers): Update. - (update_caller_keys): Update. - (update_callee_keys): Update. - (recursive_inlining): Update. - (add_new_edges_to_heap): Update. - (speculation_useful_p): Update. - (inline_small_functions): Clear DECL_DISREGARD_INLINE_LIMITS on self recursion. - (flatten_function): Update. - (inline_to_all_callers_1): Update. - -2024-05-14 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/rs6000.cc (TARGET_OVERLAP_OP_BY_PIECES_P): Define. - -2024-05-14 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-05-13 Sergei Lewis <slewis@rivosinc.com> - - * config/riscv/riscv.md (movmem<mode>): Use riscv_vector::expand_block_move, - if and only if we know the entire operation can be performed using one vector - load followed by one vector store - -2024-05-14 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-vector-builtins.cc - (validate_instance_type_required_extensions): Remove the - operator from the trailing and put it to new line. - -2024-05-13 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md: Add new splitter for AND with - a constant that masks off bits 32..63 and needs synthesis. - -2024-05-13 Sergei Lewis <slewis@rivosinc.com> - - * config/riscv/riscv.md (movmem<mode>): Use riscv_vector::expand_block_move, - if and only if we know the entire operation can be performed using one vector - load followed by one vector store - -2024-05-13 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/115013 - * lra-constraints.cc (process_alt_operands): Update all_used_nregs - only for winreg. Ignore reg starvation for small reg classes. - -2024-05-13 Pan Li <pan2.li@intel.com> - - PR target/114988 - * config/riscv/riscv-vector-builtins.cc - (validate_instance_type_required_extensions): New func impl to - validate the intrinisc func type ops. - (expand_builtin): Validate instance type before expand. - -2024-05-13 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md (bextseqzdisi): New patterns. - * config/riscv/.riscv.cc.swo: New file. - * config/riscv/j: New file. - -2024-05-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/60276 - * tree-vect-stmts.cc (vectorizable_load): Do not exempt - pure_slp grouped loads from the STMT_VINFO_MIN_NEG_DIST - restriction. - -2024-05-13 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_analyze_slp_instance): Remove - slp_inst_kind_reduc_group handling. - (vect_analyze_slp): Add the meat here. - -2024-05-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113982 - * tree-ssa-math-opts.cc (arith_overflow_check_p): Also return 1 - for RSHIFT_EXPR by precision of maxval if shift result is only - used in a cast or comparison against zero. - (match_arith_overflow): Handle the RSHIFT_EXPR use case. - -2024-05-13 YunQiang Su <syq@debian.org> - - Revert: - 2024-05-09 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/constraints.md: Add new constraint 'w'. - -2024-05-12 Roger Sayle <roger@nextmovesoftware.com> - Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> - - * config/arm/arm.md (*arm_zeroextractsi2_8_8, *arm_signextractsi2_8_8, - *arm_zeroextractsi2_8_16, *arm_signextractsi2_8_16, - *arm_zeroextractsi2_16_8, *arm_signextractsi2_16_8): New. - -2024-05-12 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_build_integer_1): Use slli.uw more. - -2024-05-12 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_build_integer_1): Fix thinko in testing - when lui can be used to set several bits in bseti path. - -2024-05-12 Mark Wielaard <mark@klomp.org> - - * config/mingw/cygming.opt.urls: Regenerate. - * config/mingw/mingw.opt.urls: Likewise. - -2024-05-11 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (DEBUG_S_SYMBOLS): Define. - (S_COMPILE3, CV_CFL_80386, CV_CFL_X64): Likewise. - (CV_CFL_C, CV_CFL_CXX): Likewise. - (SYMBOL_START_LABEL, SYMBOL_END_LABEL): Likewise. - (start_processor, language_constant): New functions. - (write_compile3_symbol, write_codeview_symbols): Likewise. - (codeview_debug_finish): Call write_codeview_symbols. - -2024-05-11 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (DEBUG_S_LINES, LINE_LABEL): Define. - (END_FUNC_LABEL): Likewise. - (struct codeview_line, codeview_line_block): New structures. - (codeview_function): Likewise. - (line_label_num, func_label_num, funcs, last_func): New variables. - (last_filename, last_file_id): Likewise. - (codeview_source_line, write_line_numbers): New functions. - (codeview_switch_text_section, codeview_end_epilogue): Likewise. - (codeview_debug_finish): Call write_line_numbers. - * dwarf2codeview.h (codeview_source_line): Prototype. - (codeview_switch_text_secction, codeview_end_epilogue): Likewise. - * dwarf2out.cc (dwarf2_end_epilogue): Add codeview support. - (dwarf2out_switch_text_section): Likewise. - (dwarf2out_source_line): Likewise. - * opts.cc (finish_options): Handle codeview debugging symbols. - -2024-05-11 Mark Harmstone <mark@harmstone.com> - - * dwarf2codeview.cc (DEBUG_S_STRINGTABLE): Define. - (DEBUG_S_FILECHKSMS, CHKSUM_TYPE_MD5, HASH_SIZE): Likewise. - (codeview_string, codeview_source_file): New structures. - (struct string_hasher): New class for codeview_string hashing. - (files, last_file, num_files, string_offset): New variables. - (strings_hstab, strings, last_string): Likewise. - (add_string, codevie_start_source_file): New functions. - (write_strings_tabe, write_soruce_files): Likewise. - (codeview_debug_finish): Call new functions. - * dwarf2codeview.h (codeview_start_source_file): Prototype. - * dwarf2out.cc (dwarf2out_start_source_file): Handle codeview. - -2024-05-11 Mark Harmstone <mark@harmstone.com> - - * Makefile.in (OBJS): Add dwarf2codeview.o. - (GTFILES): Add dwarf2codeview.cc - * config/i386/cygming.h (CODEVIEW_DEBUGGING_INFO): Define. - * dwarf2codeview.cc: New file. - * dwarf2codeview.h: New file. - * dwarf2out.cc: Include dwarf2codeview.h. - (dwarf2out_finish): Call codeview_debug_finish as needed. - * flag-types.h (DINFO_TYPE_CODEVIEW): Add enum member. - (CODEVIEW_DEBUG): Define. - * flags.h (codeview_debuginfo_p): Proottype. - * opts.cc (debug_type_names): Add codeview. - (debug_type_masks): Add CODEVIEW_DEBUG. - (df_set_names): Add codeview. - (codeview_debuginfo_p): New function. - (dwarf_based_debuginfo_p): Add CODEVIEW clause. - (set_debug_level): Handle CODEVIEW_DEBUG. - * toplev.cc (process_options): Handle codeview. - -2024-05-11 dzhao.ampere <di.zhao@amperecomputing.com> - - PR tree-optimization/114760 - * tree-ssa-loop-niter.cc (is_lshift_by_1): New function - to check if STMT is equivalent to x << 1. - (is_rshift_by_1): New function to check if STMT is - equivalent to x >> 1. - (number_of_iterations_cltz): Enhance the identification - of logical shift by one. - (number_of_iterations_cltz_complement): Enhance the - identification of logical shift by one. - -2024-05-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op-ptr.cc (range_operator::fold_range): Return false. - -2024-05-11 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (TRAP_ON_UNHANDLED_POINTER_OPERATORS): New - (range_op_handler::fold_range): Use it. - (range_op_handler::op1_range): Same. - (range_op_handler::op2_range): Same. - (range_op_handler::lhs_op1_relation): Same. - (range_op_handler::lhs_op2_relation): Same. - (range_op_handler::op1_op2_relation): Same. - -2024-05-10 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_build_integer_1): Recognize cases where - we can use shNadd to improve constant synthesis. - (riscv_move_integer): Handle code generation for shNadd. - -2024-05-10 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial): - Don't attempt ix86_expand_vec_shift_qihi_constant on SSE4.1. - -2024-05-10 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/predicates.md (pru_mulsrc0_operand): Use register - class instead of register number for the check. - (pru_mulsrc1_operand): Ditto. - -2024-05-10 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/114942 - * lra-constraints.cc (struct input_reload): Add new member early_clobber_p. - (get_reload_reg): Add new arg early_clobber_p, don't reuse input - reload with true early_clobber_p member value, use the arg for new - element of curr_insn_input_reloads. - (match_reload): Assign false to early_clobber_p member. - (process_addr_reg, simplify_operand_subreg, curr_insn_transform): - Adjust get_reload_reg calls. - -2024-05-10 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/115026 - * value-range.cc (prange::update_bitmask): Use operand bitmask. - -2024-05-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114998 - * tree-loop-distribution.cc (free_rdg): Take loop argument. - Reset UIDs of stmts still in the IL rather than all stmts - referenced from the RDG. - (loop_distribution::build_rdg): Pass loop to free_rdg. - (loop_distribution::distribute_loop): Likewise. - (loop_distribution::transform_reduction_loop): Likewise. - -2024-05-10 Richard Biener <rguenther@suse.de> - - * tree-vect-patterns.cc (vect_pattern_recog_1): Do not - remove reductions involving patterns. - * tree-vect-loop.cc (vectorizable_reduction): Reject SLP - reduction groups with multiple lane-reducing reductions. - * tree-vect-slp.cc (vect_analyze_slp_instance): When discovering - SLP reduction groups avoid including lane-reducing ones. - -2024-05-10 Jose E. Marchesi <jose.marchesi@oracle.com> - - * config/bpf/bpf.cc (bpf_print_operand_address): Include - surrounding parenthesis around mem operands in pseudoc asm - dialect. - * config/bpf/bpf.md (*mov<MM:mode>): Adapt accordingly. - (zero_extendhidi2): Likewise. - (zero_extendqidi2): Likewise. - (*extendsidi2): Likewise. - (*extendsidi2): Likewise. - (extendhidi2): Likewise. - (extendqidi2): Likewise. - (extendhisi2): Likewise. - * config/bpf/atomic.md (atomic_add<AMO:mode>): Likewise. - (atomic_and<AMO:mode>): Likewise. - (atomic_or<AMO:mode>): Likewise. - (atomic_xor<AMO:mode>): Likewise. - (atomic_fetch_add<AMO:mode>): Likewise. - (atomic_fetch_and<AMO:mode>): Likewise. - (atomic_fetch_or<AMO:mode>): Likewise. - (atomic_fetch_xor<AMO:mode>): Likewise. - -2024-05-10 Jakub Jelinek <jakub@redhat.com> - - PR target/114968 - * target.def (use_atexit_for_cxa_atexit): Remove spurious space - from comment. - (adjust_cdtor_callabi_fntype): New cxx target hook. - * targhooks.h (default_cxx_adjust_cdtor_callabi_fntype): Declare. - * targhooks.cc (default_cxx_adjust_cdtor_callabi_fntype): New - function. - * doc/tm.texi.in (TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE): Add. - * doc/tm.texi: Regenerate. - * config/i386/i386.cc (ix86_cxx_adjust_cdtor_callabi_fntype): New - function. - (TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE): Redefine. - -2024-05-10 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/115009 - * value-range-storage.cc (prange_storage::alloc): Do not assume - all pointers are the same size. - (prange_storage::prange_storage): Same. - (prange_storage::fits_p): Same. - -2024-05-10 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv-vsetvl.cc: Fix typos in comments. - (get_all_predecessors): Ditto. - (pre_vsetvl::m_unknow_info): Rename to... - (pre_vsetvl::m_unknown_info): this. - (pre_vsetvl::compute_vsetvl_def_data): Rename m_unknow_info to - m_unknown_info. - (pre_vsetvl::cleaup): Rename to... - (pre_vsetvl::cleanup): this. - (pre_vsetvl::compute_vsetvl_def_data): Fix typos. - (pass_vsetvl::lazy_vsetvl): Update function name and fix typos. - * config/riscv/riscv.cc: Fix typos in comments. - (struct machine_function): Fix typo in comments. - (riscv_valid_lo_sum_p): Ditto. - (riscv_force_address): Ditto. - (riscv_immediate_operand_p): Ditto. - (riscv_in_small_data_p): Ditto. - (riscv_first_stack_step): Ditto. - (riscv_expand_prologue): Ditto. - (riscv_convert_vector_chunks): Ditto. - (riscv_override_options_internal): Ditto. - (get_common_costs): Ditto. - -2024-05-10 Xi Ruoyao <xry111@xry111.site> - - PR driver/114980 - * opts-common.cc (prune_options): Move -fdiagnostics-urls= - early like -fdiagnostics-color=. - -2024-05-10 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md: Add splitter for shadd feeding another - add instruction. - -2024-05-10 Aldy Hernandez <aldyh@redhat.com> - - Revert: - 2024-05-08 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (sbr_sparse_bitmap::sbr_sparse_bitmap): - Change irange to prange. - * gimple-range-fold.cc (fold_using_range::fold_stmt): Same. - (fold_using_range::range_of_address): Same. - * gimple-range-fold.h (range_of_address): Same. - * gimple-range-infer.cc (gimple_infer_range::add_nonzero): Same. - * gimple-range-op.cc (class cfn_strlen): Same. - * gimple-range-path.cc - (path_range_query::adjust_for_non_null_uses): Same. - * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Same. - * tree-ssa-structalias.cc (find_what_p_points_to): Same. - * range-op-ptr.cc (range_op_table::initialize_pointer_ops): Remove - hybrid entries in table. - * range-op.cc (range_op_table::range_op_table): Add pointer - entries for bitwise and/or and min/max. - * value-range.cc (irange::verify_range): Add assert. - * value-range.h (irange::varying_compatible_p): Remove check for - error_mark_node. - (irange::supports_p): Remove pointer support. - * ipa-cp.h (ipa_supports_p): Add prange support. - -2024-05-09 Roger Sayle <roger@nextmovesoftware.com> - - * simplify-rtx.cc (simplify_const_binary_operation): Constant - fold binary operations where the LHS is CONST_VECTOR and the - RHS is CONST_INT (or CONST_DOUBLE) such as vector shifts. - -2024-05-09 Martin Jambor <mjambor@suse.cz> - - * tree-sra.cc (sra_modify_assign): Remove the original statement - also when dealing with a store to a fully covered aggregate from a - non-candidate. - -2024-05-09 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/constraints.md: Add new constraint 'w'. - -2024-05-09 Hu, Lin1 <lin1.hu@intel.com> - - PR target/84508 - * config/i386/emmintrin.h - (_mm_load_sd): Remove alignment requirement. - (_mm_store_sd): Ditto. - (_mm_loadh_pd): Ditto. - (_mm_loadl_pd): Ditto. - (_mm_storel_pd): Add alignment requirement. - * config/i386/xmmintrin.h - (_mm_loadh_pi): Remove alignment requirement. - (_mm_loadl_pi): Ditto. - (_mm_load_ss): Ditto. - (_mm_store_ss): Ditto. - -2024-05-09 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/114912 - * value-range.h (class Value_Range): Use a union. - -2024-05-09 Aldy Hernandez <aldyh@redhat.com> - - * range-op.cc (range_op_handler::discriminator_fail): Reword error - message. - -2024-05-09 konglin1 <lingling.kong@intel.com> - - * config/i386/i386.cc (ix86_hardreg_mov_ok): Relax - hard reg mov restriction when lra in progress. - -2024-05-08 Xiao Zeng <zengxiao@eswincomputing.com> - - * config/riscv/riscv.cc (riscv_legitimize_move): Expand movbf - with Nan-boxing value. - * config/riscv/riscv.md (*movbf_softfloat_boxing): New pattern. - -2024-05-08 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_build_integer_1): Fix incorrect - if-then-else nesting of Zbs code. - -2024-05-08 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/114810 - * lra-constraints.cc (process_alt_operands): Calculate union reg - class for the alternative, peak matched regs and required reload - regs. Recognize alternatives with lack of available registers and - make them costly. Add debug print about this case. - -2024-05-08 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/112392 - * match.pd (`x CMP nonnegative ? x : ABS<x>`): New pattern; - where CMP is ==, > and >=. - (`x CMP nonnegative@y ? y : ABS<x>`): New pattern. - -2024-05-08 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> - - PR tree-optimization/81953 - * tree-ssa-sink.cc (statement_sink_location):Sink statements at - the begining of the basic block after labels. - -2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/iterators.md (ashiftrt): New code attribute - 'extract_shift' and adding extractions to optab. - * config/riscv/riscv.md (*lshr<GPR:mode>3_zero_extend_4): Rename to... - (*<any_extract:optab><GPR:mode>3):...this and add support for - sign-extensions. - -2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/111501 - * config/riscv/riscv.md (*lshr<GPR:mode>3_zero_extend_4): New - pattern for zero-extraction. - -2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/iterators.md (sraiw): New code iterator 'any_extract'. - New code attribute 'extract_sidi_shift'. - * config/riscv/riscv.md (*lshrsi3_zero_extend_2): Rename to... - (*lshrsi3_extend_2):...this and add support for sign-extensions. - -2024-05-08 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (get_initial_defs_for_reduction): Convert - initial value to the vector component type. - -2024-05-08 Richard Biener <rguenther@suse.de> - - * tree-vect-data-refs.cc (vect_enhance_data_refs_alignment): - Properly guard DR_GROUP_SIZE access with STMT_VINFO_GROUPED_ACCESS. - -2024-05-08 Alex Coplan <alex.coplan@arm.com> - - PR target/114936 - * config/aarch64/aarch64-ldp-fusion.cc (combine_reg_notes): - Ensure insn iN has its REG_FRAME_RELATED_EXPR (if any) stored in - FR_EXPR[N-1], thus matching the correspondence expected by the - copy_rtx calls. - -2024-05-08 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * tree-ssa-loop-prefetch.cc (determine_unroll_factor): Honour - -fno-unroll-loops. - -2024-05-08 Georg-Johann Lay <avr@gjlay.de> - - PR target/114975 - * config/avr/avr.md: Add combine pattern for - 8-bit parity detection. - -2024-05-08 Georg-Johann Lay <avr@gjlay.de> - - PR target/114975 - * config/avr/avr.md: Add combine pattern for - 8-bit popcount detection. - -2024-05-08 Richard Biener <rguenther@suse.de> - - * tree-into-ssa.cc (insert_updated_phi_nodes_for): Skip - pruning when the nearest common dominator is the successor - of ENTRY_BLOCK. Do not copy IDF but prune it directly. - -2024-05-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114965 - * tree-ssa-reassoc.cc (optimize_range_tests_to_bit_test): Don't try to - optimize away exp - lowi subtraction from shift count unless entry - test is emitted or unless r.upper_bound () is smaller than prec. - -2024-05-08 Eric Botcazou <ebotcazou@adacore.com> - - * expmed.h (choose_multiplier): Tweak description and remove last - parameter. - * expmed.cc (choose_multiplier): Likewise. Add assertion for the - third parameter and adds details to various comments. - (invert_mod2n): Tweak description and add assertion for the first - parameter. - (expand_divmod): Adjust calls to choose_multiplier. - * tree-vect-generic.cc (expand_vector_divmod): Likewise. - * tree-vect-patterns.cc (vect_recog_divmod_pattern): Likewise. - -2024-05-08 konglin1 <lingling.kong@intel.com> - - PR target/109549 - * config/i386/i386.cc (ix86_rtx_costs): The XEXP (x, 0) for cmov - is an operator do not need to compute cost. - -2024-05-08 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-cache.cc (sbr_sparse_bitmap::sbr_sparse_bitmap): - Change irange to prange. - * gimple-range-fold.cc (fold_using_range::fold_stmt): Same. - (fold_using_range::range_of_address): Same. - * gimple-range-fold.h (range_of_address): Same. - * gimple-range-infer.cc (gimple_infer_range::add_nonzero): Same. - * gimple-range-op.cc (class cfn_strlen): Same. - * gimple-range-path.cc - (path_range_query::adjust_for_non_null_uses): Same. - * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Same. - * tree-ssa-structalias.cc (find_what_p_points_to): Same. - * range-op-ptr.cc (range_op_table::initialize_pointer_ops): Remove - hybrid entries in table. - * range-op.cc (range_op_table::range_op_table): Add pointer - entries for bitwise and/or and min/max. - * value-range.cc (irange::verify_range): Add assert. - * value-range.h (irange::varying_compatible_p): Remove check for - error_mark_node. - (irange::supports_p): Remove pointer support. - * ipa-cp.h (ipa_supports_p): Add prange support. - -2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/19661 - * tree-ssa-dce.cc (is_cxa_atexit): New function. - (is_removable_cxa_atexit_call): New function. - (mark_stmt_if_obviously_necessary): Don't mark removable - cxa_at_exit calls. - (mark_all_reaching_defs_necessary_1): Likewise. - (propagate_necessity): Likewise. - -2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/114894 - * match.pd (`a != 0 ? a / b : 0`): New pattern. - (`a != 0 ? a * b : 0`): New pattern. - (`a != 0 ? a & b : 0`): New pattern. - -2024-05-07 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (generic_ooo_tune_info): Turn on - overlap_op_by_pieces. - -2024-05-07 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv.cc (struct riscv_tune_param): Add new - "overlap_op_by_pieces" field. - (rocket_tune_info, sifive_7_tune_info): Set it. - (sifive_p400_tune_info, sifive_p600_tune_info): Likewise. - (thead_c906_tune_info, xiangshan_nanhu_tune_info): Likewise. - (generic_ooo_tune_info, optimize_size_tune_info): Likewise. - (riscv_overlap_op_by_pieces): New function. - (TARGET_OVERLAP_OP_BY_PIECES_P): define. - -2024-05-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114907 - * expr.cc (convert_mode_scalar): Use trunc_optab rather than - sext_optab for HF->BF conversions. - * optabs-libfuncs.cc (gen_trunc_conv_libfunc): Likewise. - -2024-05-07 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/114956 - * tree-inline.cc: Include asan.h. - (copy_bb): Remove also .ASAN_MARK calls if id->dst_fn has asan/hwasan - sanitization disabled. - -2024-05-07 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv-string.cc (riscv_expand_strcmp): Do not inline - strncmp with zero size. - (emit_strcmp_scalar_compare_subword): Adjust rotation for rv32 vs rv64. - * config/riscv/riscv.opt (var_inline_strcmp): Enable by default. - (vriscv_inline_strncmp, riscv_inline_strlen): Likewise. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config.gcc: Build and add objects for Cygwin and MinGW. Add Cygwin - and MinGW options to the target. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config/i386/mingw-w64.opt.urls: Rename options' name and - regenerate option URLs. - * config/lynx.opt.urls: Likewise. - * config/mingw/cygming.opt.urls: Likewise. - * config/mingw/mingw.opt.urls: Likewise. - * doc/invoke.texi: Likewise. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config/aarch64/aarch64.h (struct seh_frame_state): Declare SEH - structure in machine_function. - (GTY): Add SEH field. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config.gcc: Add Cygwin and MinGW difinitions. - * config/aarch64/aarch64-protos.h - (mingw_pe_maybe_record_exported_symbol): Declare functions - which are used in Cygwin and MinGW environment. - (mingw_pe_section_type_flags): Likewise. - (mingw_pe_unique_section): Likewise. - (mingw_pe_encode_section_info): Likewise. - * config/aarch64/cygming.h: New file. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config.gcc: Define TARGET_AARCH64_MS_ABI. - * config/mingw/mingw-stdint.h (INTPTR_TYPE): Use - TARGET_AARCH64_MS_ABI to adjust MinGW headers for - AArch64 MS ABI. - (UINTPTR_TYPE): Likewise. - (defined): Likewise. - * config/mingw/mingw32.h (DEFAULT_ABI): Likewise. - (defined): Likewise. - * config/mingw/winnt.cc (defined): Use TARGET_ARM64_MS_ABI to - exclude ix86_get_callcvt. - (i386_pe_maybe_mangle_decl_assembler_name): Likewise. - (i386_pe_mangle_decl_assembler_name): Likewise. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): - Rename functions in mingw folder which will be reused for - aarch64. - (TARGET_ASM_UNIQUE_SECTION): Likewise. - (TARGET_ASM_NAMED_SECTION): Likewise. - (TARGET_SECTION_TYPE_FLAGS): Likewise. - (ASM_DECLARE_COLD_FUNCTION_NAME): Likewise. - (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. - * config/i386/i386-protos.h (i386_pe_unique_section): - Rename into ... - (mingw_pe_unique_section): ... this. - (i386_pe_declare_function_type): Rename into ... - (mingw_pe_declare_function_type): ... this. - (i386_pe_encode_section_info): Rename into ... - (mingw_pe_encode_section_info): ... this. - (i386_pe_maybe_record_exported_symbol): Rename into ... - (mingw_pe_maybe_record_exported_symbol): ... this. - (i386_pe_section_type_flags): Rename into ... - (mingw_pe_section_type_flags): ... this. - (i386_pe_asm_named_section): Rename into ... - (mingw_pe_asm_named_section): ... this. - * config/mingw/winnt.cc (i386_pe_encode_section_info): - Rename into ... - (mingw_pe_encode_section_info): ... this. - (i386_pe_unique_section): Rename into ... - (mingw_pe_unique_section): ... this. - (i386_pe_section_type_flags): Rename into ... - (mingw_pe_section_type_flags): ... this. - (i386_pe_asm_named_section): Rename into ... - (mingw_pe_asm_named_section): ... this. - (i386_pe_asm_output_aligned_decl_common): Likewise. - (i386_pe_declare_function_type): Rename into ... - (mingw_pe_declare_function_type): ... this. - (i386_pe_maybe_record_exported_symbol): Rename into ... - (mingw_pe_maybe_record_exported_symbol): ... this. - (i386_pe_start_function): Likewise. - * varasm.cc (switch_to_comdat_section): Likewise. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config.gcc: Adjust targets after moving MinGW related files - from i386 to mingw folder. - * config/i386/cygming.opt: Move to... - * config/mingw/cygming.opt: ...here. - * config/i386/cygming.opt.urls: Move to... - * config/mingw/cygming.opt.urls: ...here. - * config/i386/cygwin-d.cc: Move to... - * config/mingw/cygwin-d.cc: ...here. - * config/i386/mingw-stdint.h: Move to... - * config/mingw/mingw-stdint.h: ...here. - * config/i386/mingw.opt: Move to... - * config/mingw/mingw.opt: ...here. - * config/i386/mingw.opt.urls: Move to... - * config/mingw/mingw.opt.urls: ...here. - * config/i386/mingw32.h: Move to... - * config/mingw/mingw32.h: ...here. - * config/i386/msformat-c.cc: Move to... - * config/mingw/msformat-c.cc: ...here. - * config/i386/t-cygming: Move to... - * config/mingw/t-cygming: ...here and updated. - * config/i386/winnt-cxx.cc: Move to... - * config/mingw/winnt-cxx.cc: ...here. - * config/i386/winnt-d.cc: Move to... - * config/mingw/winnt-d.cc: ...here. - * config/i386/winnt-stubs.cc: Move to... - * config/mingw/winnt-stubs.cc: ...here. - * config/i386/winnt.cc: Move to... - * config/mingw/winnt.cc: ...here. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config.gcc: Add COFF format support definitions. - * config/aarch64/aarch64-coff.h: New file. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config.gcc: Define TARGET_AARCH64_MS_ABI when - AArch64 MS ABI is used. - * config/aarch64/aarch64.h (FIXED_X18): Adjust - FIXED_REGISTERS, CALL_REALLY_USED_REGISTERS and - STATIC_CHAIN_REGNUM for AArch64 MS ABI. - (CALL_USED_X18): Likewise. - (FIXED_REGISTERS): Likewise. - * config/aarch64/aarch64-abi-ms.h: New file. - -2024-05-07 Zac Walker <zacwalker@microsoft.com> - - * config.gcc: Add aarch64-w64-mingw32 target. - -2024-05-07 Alex Coplan <alex.coplan@arm.com> - - PR target/114674 - * config/aarch64/aarch64-ldp-fusion.cc (ldp_bb_info::fuse_pair): - Use replace_equiv_address_nv on a change of base instead of - adjust_address_nv on the other access. - -2024-05-07 Richard Biener <rguenther@suse.de> - - * tree-into-ssa.cc (insert_updated_phi_nodes_for): Fix block - index check. - -2024-05-07 Richard Biener <rguenther@suse.de> - - * tree-ssa-live.cc (init_var_map): Pre-allocate vec_bbs vector - to the correct size and use quick_push. - -2024-05-07 Richard Biener <rguenther@suse.de> - - PR middle-end/27800 - * gimplify.cc (gimplify_modify_expr_rhs): For a COND_EXPR - avoid a temporary from gimplify_cond_expr when the LHS is - a register by pushing the assignment into the COND_EXPR arms. - -2024-05-07 Richard Biener <rguenther@suse.de> - - * gimplify.cc (gimplify_hasher::equal): Remove redundant - checking. - -2024-05-07 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - PR tree-optimization/110490 - * tree-scalar-evolution.cc (expression_expensive_p): Also - consider mode widening for popcount, clz, and ctz. - -2024-05-07 Richard Biener <rguenther@suse.de> - - * cfgexpand.cc (stack_var::representative): Use 'unsigned' - for stack var indexes instead of 'size_t'. - (stack_var::next): Likewise. - (EOC): Likewise. - (stack_vars_alloc): Likewise. - (stack_vars_num): Likewise. - (decl_to_stack_part): Likewise. - (stack_vars_sorted): Likewise. - (add_stack_var): Likewise. - (add_stack_var_conflict): Likewise. - (stack_var_conflict_p): Likewise. - (visit_op): Likewise. - (visit_conflict): Likewise. - (add_scope_conflicts_1): Likewise. - (stack_var_cmp): Likewise. - (part_hashmap): Likewise. - (update_alias_info_with_stack_vars): Likewise. - (union_stack_vars): Likewise. - (partition_stack_vars): Likewise. - (dump_stack_var_partition): Likewise. - (expand_stack_vars): Likewise. - (account_stack_vars): Likewise. - (stack_protect_decl_phase_1): Likewise. - (stack_protect_decl_phase_2): Likewise. - (asan_decl_phase_3): Likewise. - (init_vars_expansion): Likewise. - (estimated_stack_frame_size): Likewise. - -2024-05-07 Richard Biener <rguenther@suse.de> - - PR middle-end/114931 - * tree.cc (type_hash_canon_hash): Hash TYPE_STRUCTURAL_EQUALITY_P. - (type_cache_hasher::equal): Compare TYPE_STRUCTURAL_EQUALITY_P. - (build_array_type_1): Set TYPE_STRUCTURAL_EQUALITY_P before - probing with type_hash_canon. - (build_function_type): Likewise. - (build_method_type_directly): Likewise. - (build_offset_type): Likewise. - (build_complex_type): Likewise. - * attribs.cc (build_type_attribute_qual_variant): Likewise. - -2024-05-07 Aldy Hernandez <aldyh@redhat.com> - - * ipa-cp.cc (ipa_vr_operation_and_type_effects): Use ipa_supports_p. - (ipa_value_range_from_jfunc): Change Value_Range type. - (propagate_vr_across_jump_function): Same. - * ipa-cp.h (ipa_supports_p): New. - * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Change Value_Range type. - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Use ipa_supports_p. - (ipcp_get_parm_bits): Same. - -2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * config.gcc: Move *-*-solaris2.11.[0-3]* to unsupported list. - <*-*-solaris2*> (default_use_cxa_atexit): Set unconditionally. - * configure.ac (AX_LIB_SOCKET_NSL): Don't call. - (NETLIBS): Remove. - (gcc_cv_ld_aligned_shf_merge): Remove. - (hidden_linkonce) <i?86-*-solaris2* | x86_64-*-solaris2*>: Remove. - (gcc_cv_target_dl_iterate_phdr) <*-*-solaris2*>: Always set to yes. - * Makefile.in (NETLIBS): Remove. - * configure, config.in, aclocal.m4: Regenerate. - * config/sol2.h: Don't check HAVE_SOLARIS_CRTS. - (STARTFILE_SPEC): Remove !HAVE_SOLARIS_CRTS case. - [USE_GLD] (LINK_EH_SPEC): Remove TARGET_DL_ITERATE_PHDR guard. - * config/i386/i386.cc (USE_HIDDEN_LINKONCE): Remove guard. - * varasm.cc (mergeable_string_section): Remove - HAVE_LD_ALIGNED_SHF_MERGE handling. - (mergeable_constant_section): Likewise. - * doc/install.texi (Specific,i?86-*-solaris2*): Reference Solaris - 11.4 only. - (Specific, *-*-solaris2*): Document Solaris 11.3 removal. Remove - 11.3 references and caveats. Update for 11.4. - -2024-05-07 Richard Biener <rguenther@suse.de> - - Revert: - 2024-04-10 Richard Biener <rguenther@suse.de> - - Revert: - 2024-03-27 Segher Boessenkool <segher@kernel.crashing.org> - - PR rtl-optimization/101523 - * combine.cc (try_combine): Don't do a 2-insn combination if - it does not in fact change I2. - -2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/97263 - * doc/invoke.texi(fmath-errno): Document it is turned on - with -Ofast. - (funsafe-math-optimizations): Likewise. - (ffinite-math-only): Likewise. - (fno-trapping-math): Likewise and use less strong language. - -2024-05-07 liuhongt <hongtao.liu@intel.com> - - * config/i386/sse.md (usdot_prodv*qi): Extend to VI1_AVX512 - with vpmaddwd when avxvnni/avx512vnni is not available. - -2024-05-07 liuhongt <hongtao.liu@intel.com> - - PR target/113079 - * config/i386/mmx.md (usdot_prodv8qi): New expander. - (sdot_prodv8qi): Ditto. - (udot_prodv8qi): Ditto. - (usdot_prodv4hi): Ditto. - (udot_prodv4hi): Ditto. - (sdot_prodv4hi): Ditto. - -2024-05-07 liuhongt <hongtao.liu@intel.com> - - PR target/113090 - * config/i386/i386-expand.cc - (expand_vec_perm_punpckldq_pshuf): New function. - (ix86_expand_vec_perm_const_1): Try - expand_vec_perm_punpckldq_pshuf for sequence of 2 - instructions. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru-passes.cc (class pass_pru_minrt_check): New - pass. - (pass_pru_minrt_check::execute): New method. - (make_pru_minrt_check): New function. - * config/pru/pru-passes.def (INSERT_PASS_AFTER): Register the - minrt check pass. - * config/pru/pru-protos.h (make_pru_minrt_check): Add - declaration. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru-passes.cc (class pass_tiabi_check): Rename to - add "pru_" prefix. - (class pass_pru_tiabi_check): Ditto. - (pass_tiabi_check::execute): Ditto. - (pass_pru_tiabi_check::execute): Ditto. - (make_pru_tiabi_check): Ditto. - (pru_register_abicheck_pass): Remove. - * config/pru/pru-protos.h (pru_register_abicheck_pass): Remove. - (make_pru_tiabi_check): Add declaration. - * config/pru/pru.cc (pru_option_override): Remove explicit pass - registration. - * config/pru/t-pru: Register PRU passes definition file. - * config/pru/pru-passes.def: New file. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.md (lshrdi3): Use HOST_WIDE_INT_1U macro. - (ashldi3): Ditto. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru-passes.cc: Drop ATTRIBUTE_UNUSED and remove - argument's name. - * config/pru/pru-pragma.cc (pru_pragma_ctable_entry): Ditto. - * config/pru/pru.cc (pru_function_profiler): Ditto. - (pru_can_eliminate): Ditto. - (pru_rtx_costs): Ditto. - (pru_insert_attributes): Ditto. - (pru_function_value): Ditto. - (pru_libcall_value): Ditto. - (pru_return_in_memory): Ditto. - (pru_builtin_decl): Ditto. - (pru_expand_builtin): Ditto. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.cc (prologue_saved_reg_p): Skip saving - if function will not return. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/alu-zext.md (_noz0): New subst attribute. - (<code>_impl): Allow zero-extending the destination. - (<shift_op>): Remove unified pattern - (ashl_impl): New distinct pattern. - (lshr_impl): Ditto. - (alu3_zext_op0_subst): New subst iterator to zero-extend the - destination register. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.md (extzv<mode>): Make it an expand pattern, - handle efficiently zero-positioned bit-fields. - (insv<mode>): New expand pattern. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.md: New pattern alternative for zero-filling - 64-bit registers. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * config/pru/pru.cc (pru_address_cost): Implement address cost - calculation. - (TARGET_ADDRESS_COST): Define for PRU. - -2024-05-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114921 - * tree-vect-stmts.cc (vectorizable_assignment): Use - tree_nop_conversion_p to identify converts we can vectorize - with a simple assignment. - -2024-05-07 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - PR target/106060 - * config/i386/i386-expand.cc (enum ix86_vec_bcast_alg): New. - (struct ix86_vec_bcast_map_simode_t): New type for table below. - (ix86_vec_bcast_map_simode): Table of SImode constants that may - be efficiently synthesized by a ix86_vec_bcast_alg method. - (ix86_vec_bcast_map_simode_cmp): New comparator for bsearch. - (ix86_vector_duplicate_simode_const): Efficiently synthesize - V4SImode and V8SImode constants that duplicate special constants. - (ix86_vector_duplicate_value): Attempt to synthesize "special" - vector constants using ix86_vector_duplicate_simode_const. - * config/i386/i386.cc (ix86_rtx_costs) <case ABS>: ABS of a - vector integer mode costs with a single SSE instruction. - -2024-05-06 Xiao Zeng <zengxiao@eswincomputing.com> - - * common/config/riscv/riscv-common.cc (riscv_implied_info): zfbfmin - implies zfhmin. - (riscv_ext_version_table, riscv_ext_flag_table): Add zfbfmin. - * config/riscv/riscv.opt (ZFBFMIN): Add optoion. - -2024-05-06 Xiao Zeng <zengxiao@eswincomputing.com> - Jin Ma <jinma@linux.alibaba.com> - - * config/riscv/iterators.md: New mode iterator HFBF. - * config/riscv/riscv-builtins.cc (riscv_init_builtin_types): - Initialize data type _Bfloat16. - * config/riscv/riscv-modes.def (FLOAT_MODE): New. - (ADJUST_FLOAT_FORMAT): New. - * config/riscv/riscv.cc (riscv_mangle_type): Support for BFmode. - (riscv_scalar_mode_supported_p): Ditto. - (riscv_libgcc_floating_mode_supported_p): Ditto. - (riscv_init_libfuncs): Set the conversion method for BFmode and - HFmode. - (riscv_block_arith_comp_libfuncs_for_mode): Set the arithmetic - and comparison libfuncs for the mode. - * config/riscv/riscv.md (mode" ): Add BF. - (movhf): Support for BFmode. - (mov<mode>): Ditto. - (*movhf_softfloat): Ditto. - (*mov<mode>_softfloat): Ditto. - -2024-05-06 Palmer Dabbelt <palmer@rivosinc.com> - - * doc/invoke.texi (RISC-V): Add -mcmodel=large. - -2024-05-06 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_integer_op): Add field tracking if we - want to use a "uw" instruction variant. - (riscv_build_integer_1): Initialize the new field in various places. - Use lui+slli.uw for some constants. - (riscv_move_integer): Handle slli.uw. - -2024-05-06 Qing Zhao <qing.zhao@oracle.com> - - PR c/53548 - * stor-layout.cc (place_union_field): Use zero sizes for flexible array - member fields. - -2024-05-06 Qing Zhao <qing.zhao@oracle.com> - - PR c/53548 - * doc/extend.texi: Add documentation for Flexible Array Members in - Unions and Flexible Array Members alone in Structures. - -2024-05-06 Georg-Johann Lay <avr@gjlay.de> - - PR ipa/92606 - * config/avr/avr.cc (avr_option_override): Set - flag_ipa_icf_variables = 0. - -2024-05-06 Sandra Loosemore <sloosemore@baylibre.com> - - * tree-nested.cc (convert_tramp_reference_stmt): Use the correct - accessor for GIMPLE_OMP_TARGET clauses. - -2024-05-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/100923 - * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Valueize - base SSA_NAME. - (vn_reference_lookup_3): Adjust vn_context_bb around calls - to ao_ref_init_from_vn_reference. - (vn_reference_lookup_pieces): Revert original PR100923 fix. - (vn_reference_lookup): Likewise. - -2024-05-06 Richard Biener <rguenther@suse.de> - - * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Add - TARGET_MEM_REF support. Handle more bases. - -2024-05-06 YunQiang Su <syq@gcc.gnu.org> - - PR target/113179 - * expmed.cc(store_bit_field_using_insv): TRUNCATE value1 if - needed. - -2024-05-05 Andrew Pinski <quic_apinski@quicinc.com> - - * gimple-loop-versioning.cc (loop_versioning): Remove m_nloops field. - (loop_versioning::loop_versioning): Remove initialization of - m_nloops field and move it to be a local variable. - (loop_versioning::analyze_blocks): Fix formating. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-op.cc (class cfn_pass_through_arg1): Add overloads - for prange operations. - (cfn_strlen): Same. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_ge::fold_range): New. - (operator_ge::op1_range): New. - (operator_ge::op2_range): New. - (operator_ge::op1_op2_relation): New. - (operator_ge::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_gt::fold_range): New. - (operator_gt::op1_range): New. - (operator_gt::op2_range): New. - (operator_gt::op1_op2_relation): New. - (operator_gt::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_le::fold_range): New. - (operator_le::op1_range): New. - (operator_le::op2_range): New. - (operator_le::op1_op2_relation): New. - (operator_le::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (max_limit): New. - (min_limit): New. - (build_lt): New. - (build_le): New. - (build_gt): New. - (build_ge): New. - (operator_lt::fold_range): New. - (operator_lt::op1_range): New. - (operator_lt::op2_range): New. - (operator_lt::op1_op2_relation): New. - (operator_lt::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_equal::fold_range): New. - (operator_equal::op1_range): New. - (operator_equal::op2_range): New. - (operator_equal::op1_op2_relation): New. - (operator_equal::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_not_equal::fold_range): New. - (operator_not_equal::op1_range): New. - (operator_not_equal::op2_range): New. - (operator_not_equal::op1_op2_relation): New. - (operator_not_equal::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_bitwise_or::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_bitwise_and::fold_range): New. - (operator_bitwise_and::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-ptr.cc - (operator_pointer_diff::op1_op2_relation_effect): New. - (operator_pointer_diff::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-ptr.cc (class pointer_plus_operator): Add overloaded declarations - for pointer variants. - (pointer_plus_operator::fold_range): New. - (pointer_plus_operator::op2_range): New. - (pointer_plus_operator::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_addr_expr::op1_range): New. - (operator_addr_expr::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_min::fold_range): New. - (operator_min::pointers_handled_p): New. - (operator_max::fold_range): New. - (operator_max::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_cast::fold_range): New. - (operator_cast::op1_range): New. - (operator_cast::lhs_op1_relation): New. - (operator_cast::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for pointer variants. - * range-op-ptr.cc (operator_cst::fold_range): New. - (operator_cst::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add overloaded declarations for fold_range, op1_range, - lhs_op1_relation, pointers_handled_p. - * range-op-ptr.cc (operator_identity::fold_range): New. - (operator_identity::lhs_op1_relation): New. - (operator_identity::op1_range): New. - (operator_identity::pointers_handled_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * range-op-mixed.h: Add using declarator for all classes. - * range-op-ptr.cc (range_operator::pointers_handled_p): New. - (range_operator::fold_range): New. - (range_operator::op1_op2_relation_effect): New. - (range_operator::op1_range): New. - (range_operator::op2_range): New. - (range_operator::op1_op2_relation): New. - (range_operator::lhs_op1_relation): New. - (range_operator::update_bitmask): New. - (class pointer_plus_operator): New. - (class operator_pointer_diff): New. - (class hybrid_min_operator): New. - (class hybrid_max_operator): New. - * range-op.cc: Add RO_PPP, RO_PPI, RO_IPP, RO_IPI, RO_PIP, RO_PII. - (range_op_handler::discriminator_fail): New. - (has_pointer_operand_p): New. - (range_op_handler::fold_range): Add pointer support. - (range_op_handler::op1_range): Same. - (range_op_handler::op2_range): Same. - (range_op_handler::lhs_op1_relation): Same. - (range_op_handler::lhs_op2_relation): Same. - (range_op_handler::op1_op2_relation): Same. - (class operator_div): Add using. - (class operator_lshift): Add using. - (class operator_rshift):Add using. - (class operator_trunc_mod):Add using. - (class operator_absu):Add using. - * range-op.h (enum range_op_dispatch_type): New. - Add extern definitions for RO_*. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (get_legacy_range): New version for prange. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (add_vrange): Add prange support. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range-storage.cc (vrange_allocator::clone_varying): Add - prange support. - (vrange_allocator::clone_undefined): Same. - (vrange_storage::alloc): Same. - (vrange_storage::set_vrange): Same. - (vrange_storage::get_vrange): Same. - (vrange_storage::fits_p): Same. - (vrange_storage::equal_p): Same. - (prange_storage::alloc): New. - (prange_storage::prange_storage): New. - (prange_storage::set_prange): New. - (prange_storage::get_prange): New. - (prange_storage::equal_p): New. - (prange_storage::fits_p): New. - * value-range-storage.h (class prange_storage): Add prange support. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * data-streamer-in.cc (streamer_read_value_range): Add prange support. - * data-streamer-out.cc (streamer_write_vrange): Same. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range-pretty-print.cc (vrange_printer::visit): New. - * value-range-pretty-print.h: Declare prange visit() method. - * value-range.cc (vrange::operator=): Add prange support. - (vrange::operator==): Same. - (prange::accept): New. - (prange::set_nonnegative): New. - (prange::set): New. - (prange::contains_p): New. - (prange::singleton_p): New. - (prange::lbound): New. - (prange::ubound): New. - (prange::union_): New. - (prange::intersect): New. - (prange::operator=): New. - (prange::operator==): New. - (prange::invert): New. - (prange::verify_range): New. - (prange::update_bitmask): New. - (range_tests_misc): Use prange. - * value-range.h (enum value_range_discriminator): Add VR_PRANGE. - (class prange): New. - (Value_Range::init): Add prange support. - (Value_Range::operator=): Same. - (Value_Range::supports_type_p): Same. - (prange::prange): New. - (prange::supports_p): New. - (prange::supports_type_p): New. - (prange::set_undefined): New. - (prange::set_varying): New. - (prange::set_nonzero): New. - (prange::set_zero): New. - (prange::contains_p): New. - (prange::zero_p): New. - (prange::nonzero_p): New. - (prange::type): New. - (prange::lower_bound): New. - (prange::upper_bound): New. - (prange::varying_compatible_p): New. - (prange::get_bitmask): New. - (prange::fits_p): New. - -2024-05-04 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (class prange): New. - -2024-05-03 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/23872 - * tree-pretty-print.cc (dump_generic_node <case COMPOUND_EXPR>): Fix - calls to dump_generic_node and also remove unreachable code that is testing - `flags & TDF_SLIM`. - -2024-05-03 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv.cc: Comment updates. - * config/riscv/riscv.h: Ditto. - -2024-05-03 Vineet Gupta <vineetg@rivosinc.com> - - * doc/rtl.texi: Add entry for GET_MODE_INNER. - -2024-05-03 Richard Biener <rguenther@suse.de> - - * bitmap.cc (bitmap_alloc): When using the global bitmap obstack - assert that is initialized. - -2024-05-03 Richard Biener <rguenther@suse.de> - - PR middle-end/114931 - * tree.cc (build_array_type_1): Return early when type_hash_canon - returned an older existing type. - (build_function_type): Likewise. - (build_method_type_directly): Likewise. - (build_offset_type): Likewise. - -2024-05-03 Alex Coplan <alex.coplan@arm.com> - - PR rtl-optimization/114924 - * cfgrtl.cc (duplicate_insn_chain): When updating MEM_EXPRs, - don't strip (e.g.) ARRAY_REFs from the final MEM_EXPR. - -2024-05-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113596 - * tree-inline.cc (expand_call_inline): Emit __builtin_stack_save - and __builtin_stack_restore calls around inlined functions which - call alloca. - -2024-05-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114921 - * tree-vect-stmts.cc (vectorizable_assignment): Require - same vector component modes for input and output for - CONVERT_EXPR_CODE_P. - -2024-05-02 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.md (<round_pattern><ANYF:mode>2): Adjust - condition to match what can be properly implemented. Fix various - formatting issues. - (l<round_pattern><ANYF:mode>si2_sext): Fix formatting - -2024-05-02 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/predicates.md (arith_or_zbs_operand): New predicate. - * config/riscv/riscv.cc (riscv_build_integer_one): Use bseti to set - single bits when profitable. - * config/riscv/riscv.md (*<optab><mode>3): Renamed with '*' prefix. - (<optab><mode>3): New expander for IOR/XOR. - -2024-05-02 Richard Biener <rguenther@suse.de> - - * tree-vect-slp.cc (vect_print_slp_tree): Mark live lanes. - (dot_slp_tree): New overload for multiple entries. - -2024-05-02 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/113836 - * doc/gm2.texi (Compiler options): Add -fm2-debug-trace=, - -fm2-dump, -fm2-dump-decl=, -fm2-dump-gimple=, -fm2-dump-quad= - and -fm2-dump-filter=. - -2024-05-02 Marc Poulhiès <poulhies@adacore.com> - - * value-range.h: fix static_assert to use 2 arguments. - -2024-05-02 Peter Damianov <peter0x44@disroot.org> - - PR lto/110710 - * lto-wrapper.cc (run_gcc): Instead of truncating a processed - ltrans input from the Makefile use the new -truncate option - to accomplish the same. - -2024-05-02 Peter Damianov <peter0x44@disroot.org> - - PR lto/110710 - * common.opt (truncate): New internal option. - * gcc.cc (totruncate_file): New global. - (driver_handle_option): Handle -truncate <file>. - (driver::final_actions): Truncate the file indicated. - -2024-05-02 Richard Biener <rguenther@suse.de> - - * graphds.cc (dump_graph): Dump in graphviz format. - -2024-05-02 Richard Biener <rguenther@suse.de> - - * tree-ssa-live.h (tree_live_info_d::global): Remove. - (partition_is_global): Likewise. - (make_live_on_entry): Do not set bit in global. - * tree-ssa-live.cc (new_tree_live_info): Do not allocate - global bitmap. - (delete_tree_live_info): Do not release it. - (set_var_live_on_entry): Do not set bits in it. - -2024-05-02 Richard Biener <rguenther@suse.de> - - PR middle-end/114579 - * cfgexpand.cc (add_scope_conflicts_1): Record all-to-all - conflicts only when there's a CFG merge but for all CFG merges. - -2024-05-01 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - PR target/112959 - * doc/install.texi (Specific) <*-*-freebsd*>: The Ada and D - run-time libraries are broken on i386 which also can affect - 64-bit builds. Go is broken. - -2024-05-01 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/bitmanip.md (splitter to use w-form division): Remove - explicit subregs. - (zero extended bitfield extraction): Similarly. - * config/riscv/thead.md (*th_memidx_operand): Similarly. - -2024-05-01 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Break out - tests for easier debugging in store pair fusion case. Fix offset - check in same. - -2024-05-01 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - PR target/112959 - * doc/install.texi (Specific) <*-*-freebsd*>: No longer refer - to GCC or binutils in base. Recommend bootstrap using binutils. - -2024-05-01 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - * doc/install.texi (Specific) <ia64-*-hpux*>: Remove details - on libunwind for GCC 3.4 and earlier. - -2024-05-01 Aldy Hernandez <aldyh@redhat.com> - - * ipa-fnsummary.cc (evaluate_properties_for_edge): Initialize Value_Range's. - * value-range.h (class Value_Range): Add a buffer and remove - m_irange and m_frange. - (Value_Range::Value_Range): Call init. - (Value_Range::set_type): Same. - (Value_Range::init): Use in place new to initialize buffer. - (Value_Range::operator=): Tidy. - -2024-05-01 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (unsupported_range::union_): Cast vrange to - unsupported_range. - (unsupported_range::intersect): Same. - (unsupported_range::operator=): Make argument an unsupported_range. - * value-range.h: New constructor. - -2024-04-30 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Don't - assert that here are less than 3 operands. - (gimple_range_op_handler::maybe_builtin_call): Simply return if - there is no type for the function call. - -2024-04-30 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range.cc (gimple_ranger::range_on_entry): Adjust for new - API and support non-SSA expressions. - (gimple_ranger::range_on_exit): Ditto. - * gimple-range.h (range_on_entry, range_on_exit): Adjust API. - * value-query.cc (range_query::range_on_entry): New. - (range_query::range_on_exit): New. - (range_query::value_on_entry): New. - (range_query::value_on_exit): New. - (range_query::invoke_range_of_expr): New. - (range_query::get_tree_range): Allow stmt, on_entry or on_exit - range queries. - SSA_NAMES should invoke range_of_expr if possible. - * value-query.h (class range_query): Adjust prototypes. - -2024-04-30 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range.cc (gimple_ranger::range_of_expr): Call range_of_stmt - when there is no context stmt. - -2024-04-30 Andrew MacLeod <amacleod@redhat.com> - - * gimple-range-cache.cc (ranger_cache::get_global_range): Do not - pre-evaluate PHI nodes from the cache. - (ranger_cache::fill_block_cache): Make re-entrant. - -2024-04-30 Andrew MacLeod <amacleod@redhat.com> - - * value-query.cc (get_range_global): Rename to gimple_range_global. - (gimple_range_global): Remove wrapper function. - (global_range_query::range_of_expr): Call gimple_range_global. - -2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-cfg.cc (verify_gimple_assign): Remove quote - mark to shut up the warning. - -2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (value_replacement): Reject undef variables - so they don't become unconditional used. - -2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (value_replacement): Move check for - NE/EQ earlier. - -2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> - - * tree-ssa-phiopt.cc (single_non_singleton_phi_for_edges): - Remove the special case of gimple_seq_singleton_p. - -2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/112976 - * cfgexpand.cc (expand_gimple_stmt_1): Remove - support for expanding nontemporal "moves" with - ssa names on the LHS. - -2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/112976 - * tree-cfg.cc (verify_gimple_assign): Verify that - nontmporal moves are stores. - * gimple.h (struct gimple): Note that only - nontemporal stores are supported. - -2024-04-30 Jivan Hakobyan <jivanhakobyan9@gmail.com> - - * config/riscv/iterators.md (fix_ops, fix_uns): New iterators. - (RINT, rint_pattern, rint_rm): Remove unused iterators. - * config/riscv/riscv-protos.h (get_fp_rounding_coefficient): Prototype. - * config/riscv/riscv-v.cc (get_fp_rounding_coefficient): Externalize. - external linkage. - * config/riscv/riscv.md (UNSPEC_LROUND): Remove. - (fix_trunc<ANYF:mode><GPR:mode>2): Replace with ... - (<fix_uns>_trunc<ANYF:mode>si2): New expander & associated insn. - (<fix_uns>_trunc<ANYF:mode>si2_ext): New insn. - (<fix_uns>_trunc<ANYF:mode>di2): Likewise. - (l<rint_pattern><ANYF:mode><GPR:mode>2): Replace with ... - (lrint<ANYF:mode>si2): New expander and associated insn. - (lrint<ANYF:mode>si2_ext, lrint<ANYF:mode>di2): New insns. - (<round_pattern><ANYF:mode>2): Replace with.... - (l<round_pattern><ANYF:mode>si2): New expander and associated insn. - (l<round_pattern><ANYF:mode>si2_sext): New insn. - (l<round_pattern><ANYF:mode>di2): Likewise. - (<round_pattern><ANYF:mode>2): New expander. - -2024-04-30 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ssa-warn-access.cc (check_nul_terminated_array): Change - int_range<2> to int_range_max. - (memmodel_to_uhwi): Same. - * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same. - (determine_value_range): Same. - (infer_loop_bounds_from_signedness): Same. - (scev_var_range_cant_overflow): Same. - -2024-04-30 Richard Biener <rguenther@suse.de> - - PR middle-end/13421 - * optabs-tree.cc (optab_for_tree_code): Do not consider - {add,sub}v or {us,ss}{add,sub} optabs for POINTER_DIFF_EXPR - or POINTER_PLUS_EXPR. - -2024-04-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114876 - * gimple-ssa-sprintf.cc (format_character): For min == 0 && max == 0, - set max, likely and unlikely members to 1 rather than 0. Remove - useless res.knownrange = true;. Formatting fixes. - -2024-04-30 Jakub Jelinek <jakub@redhat.com> - Hongtao Liu <hongtao.liu@intel.com> - - PR tree-optimization/114883 - * tree-vect-loop.cc (vect_transform_reduction): Allow IFN_COND_MIN and - IFN_COND_MAX in the assert. - -2024-04-30 Jakub Jelinek <jakub@redhat.com> - - * doc/cpp.texi (__STDC_VERSION__): Document 202311L value - for -std=c23/-std=gnu23. - -2024-04-30 Richard Biener <rguenther@suse.de> - - PR middle-end/114734 - * internal-fn.cc (expand_call_mem_ref): Use - get_gimple_for_ssa_name to get at the def stmt of the address - argument to honor SSA coalescing constraints. - -2024-04-29 demin.han <demin.han@starfivetech.com> - - PR target/114506 - * config/riscv/riscv-vector-costs.cc (non_contiguous_memory_access_p): Rename - (need_additional_vector_vars_p): Rename and refine condition - -2024-04-29 Pan Li <pan2.li@intel.com> - - PR target/114885 - * config/riscv/riscv.cc (riscv_legitimize_subreg_const_poly_move): New - func impl to take care of (const_int_poly:TI 8). - (riscv_legitimize_move): Handle subreg is const_int_poly, - -2024-04-29 Christoph Müllner <christoph.muellner@vrull.eu> - - * common/config/riscv/riscv-common.cc: Move ziccamoa, ziccif, - zicclsm, and ziccrse into riscv_zi_subext. - * config/riscv/riscv.opt: Define MASK_ZIC64B for - riscv_ziccmo_subext. - -2024-04-29 Jie Mei <jie.mei@oss.cipunited.com> - - * config/mips/i6400.md (i6400_fpu_minmax): New - define_insn_reservation. - * config/mips/mips.h (ISA_HAS_FMIN_FMAX): Define new macro. - * config/mips/mips.md (UNSPEC_FMIN): New unspec. - (UNSPEC_FMAX): Same as above. - (type): Add fminmax. - (smin<mode>3): Generates MIN.fmt instructions. - (smax<mode>3): Generates MAX.fmt instructions. - (fmin<mode>3): Generates MIN.fmt instructions. - (fmax<mode>3): Generates MAX.fmt instructions. - * config/mips/p6600.md (p6600_fpu_fabs): Include fminmax - type. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-ccp.cc (ccp_finalize): Normalize before calling - set_bitmask. - * value-range.cc (irange::intersect_bitmask): Calculate changed - irange_bitmask bits on our own. - (irange::union_bitmask): Same. - (irange_bitmask::verify_mask): Verify that bits are normalized. - * value-range.h (irange_bitmask::union_): Do not normalize. - Remove return value. - (irange_bitmask::intersect): Same. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * range-op-ptr.cc (pointer_plus_operator::wi_fold): Use method - range setters instead of out of line functions. - (pointer_min_max_operator::wi_fold): Same. - (pointer_and_operator::wi_fold): Same. - (pointer_or_operator::wi_fold): Same. - * range-op.cc (operator_negate::fold_range): Same. - (operator_addr_expr::fold_range): Same. - (range_op_cast_tests): Same. - * range.cc (range_zero): Remove. - (range_nonzero): Remove. - * range.h (range_zero): Remove. - (range_nonzero): Remove. - * value-range.cc (range_tests_misc): Use method instead of out of - line function. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range-pretty-print.cc (print_int_bound): New. - (print_irange_bitmasks): New. - (vrange_printer::print_irange_bound): Remove. - (vrange_printer::print_irange_bitmasks): Remove. - * value-range-pretty-print.h: Remove print_irange_bitmasks and - print_irange_bound - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (range_includes_zero_p): Accept vrange. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-loop-split.cc (split_at_bb_p): Make int_range a Value_Range. - * tree-ssa-strlen.cc (get_range): Same. - * value-query.cc (range_query::get_tree_range): Handle both - integers and pointers. - * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Make - r0 and r1 Value_Range's. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (get_bitmask_from_range): Move out of irange class. - (irange::get_bitmask): Call function instead of internal method. - * value-range.h (class irange): Remove get_bitmask_from_range. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (get_legacy_range): Make static and add another - version of get_legacy_range that takes a vrange. - * value-range.h (class irange): Remove unnecessary friendship with - get_legacy_range. - (get_legacy_range): Accept a vrange. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range-storage.cc (irange_storage::set_irange): Move - verification code from here... - (vrange_storage::set_vrange): ...to here. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * gimple-range-op.cc (cfn_clz::fold_range): Change - range_includes_zero_p argument to a reference. - (cfn_ctz::fold_range): Same. - * range-op.cc (operator_plus::lhs_op1_relation): Same. - * value-range.h (range_includes_zero_p): Same. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Remove - type from range_true and range_false. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range-storage.h: Remove friends. - * value-range.cc (gt_ggc_mx): Remove. - (gt_pch_nx): Remove. - * value-range.h (class vrange): Remove GTY markers. - (class irange): Same. - (class int_range): Same. - (class frange): Same. - (gt_ggc_mx): Remove. - (gt_pch_nx): Remove. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * ipa-cp.cc (propagate_bits_across_jump_function): Access bitmask - through base class. - (ipcp_store_vr_results): Same. - * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Same. - (ipcp_get_parm_bits): Same. - (ipcp_update_vr): Same. - * range-op-mixed.h (update_known_bitmask): Change argument to vrange. - * range-op.cc (update_known_bitmask): Same. - * value-range.cc (vrange::update_bitmask): New. - (irange::set_nonzero_bits): Move to vrange class. - (irange::get_nonzero_bits): Same. - * value-range.h (class vrange): Add update_bitmask, get_bitmask, - get_nonzero_bits, and set_nonzero_bits. - (class irange): Make bitmask methods virtual overrides. - (class Value_Range): Add get_bitmask and update_bitmask. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Convert - bound to wide_int. - * value-range.cc (Value_Range::lower_bound): Remove. - (Value_Range::upper_bound): Remove. - (unsupported_range::lbound): New. - (unsupported_range::ubound): New. - (frange::lbound): New. - (frange::ubound): New. - (irange::lbound): New. - (irange::ubound): New. - * value-range.h (class vrange): Add lbound() and ubound(). - (class irange): Same. - (class frange): Same. - (class unsupported_range): Same. - (class Value_Range): Rename lower_bound and upper_bound to lbound - and ubound respectively. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * gimple-ssa-warn-access.cc (check_nul_terminated_array): Make Value_Range an int_range. - (memmodel_to_uhwi): Same - * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same. - (determine_value_range): Same. - (infer_loop_bounds_from_signedness): Same. - (scev_var_range_cant_overflow): Same. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range.h (vrange::~vrange): New. - (int_range::~int_range): Make final override. - -2024-04-28 Aldy Hernandez <aldyh@redhat.com> - - * value-range.cc (unsupported_range::accept): Move down. - (vrange::contains_p): Rename to... - (unsupported_range::contains_p): ...this. - (vrange::singleton_p): Rename to... - (unsupported_range::singleton_p): ...this. - (vrange::set): Rename to... - (unsupported_range::set): ...this. - (vrange::type): Rename to... - (unsupported_range::type): ...this. - (vrange::supports_type_p): Rename to... - (unsupported_range::supports_type_p): ...this. - (vrange::set_undefined): Rename to... - (unsupported_range::set_undefined): ...this. - (vrange::set_varying): Rename to... - (unsupported_range::set_varying): ...this. - (vrange::union_): Rename to... - (unsupported_range::union_): ...this. - (vrange::intersect): Rename to... - (unsupported_range::intersect): ...this. - (vrange::zero_p): Rename to... - (unsupported_range::zero_p): ...this. - (vrange::nonzero_p): Rename to... - (unsupported_range::nonzero_p): ...this. - (vrange::set_nonzero): Rename to... - (unsupported_range::set_nonzero): ...this. - (vrange::set_zero): Rename to... - (unsupported_range::set_zero): ...this. - (vrange::set_nonnegative): Rename to... - (unsupported_range::set_nonnegative): ...this. - (vrange::fits_p): Rename to... - (unsupported_range::fits_p): ...this. - (unsupported_range::operator=): New. - (frange::fits_p): New. - * value-range.h (class vrange): Make an abstract class. - (class unsupported_range): Declare override methods. - -2024-04-28 Gerald Pfeifer <gerald@pfeifer.com> - - PR target/69374 - PR target/112959 - * doc/install.texi (Specific) <*-*-freebsd*>: Remove references to - FreeBSD 7 and older. - -2024-04-28 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/contrib.texi: Update David Binderman's entry. - -2024-04-28 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386.md: (zero_extendsidi2): Adjust - alternative *k to ?k. - (zero_extend<mode>di2): Ditto. - (*zero_extend<mode>si2): Ditto. - (*zero_extendqihi2): Ditto. - -2024-04-28 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/95782 - * config/s390/s390-c.cc (s390_macro_to_expand): Avoid empty identifier. - -2024-04-28 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113822 - * config/aarch64/aarch64.cc (aarch64_evpc_reencode): Use - vec_perm_indices::new_shrunk_vector instead of manually - going through the indices. - -2024-04-27 Xi Ruoyao <xry111@xry111.site> - - PR target/114861 - * config/loongarch/loongarch.md (bstrins_<mode>_for_mask): Add - constraints for operands. - (bstrins_<mode>_for_ior_mask): Likewise. - -2024-04-27 Fangrui Song <maskray@gcc.gnu.org> - - * config/riscv/elf.h (LINK_SPEC): Add -X. - * config/riscv/freebsd.h (LINK_SPEC): Add -X. - * config/riscv/linux.h (LINK_SPEC): Add -X. - -2024-04-26 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.cc (MAX_SET_SIZE): New define. - (aarch64_progress_pointer): Remove function. - (aarch64_set_one_block_and_progress_pointer): Simplify and clean up. - (aarch64_expand_setmem): Clean up implementation, use byte offsets, - simplify size calculation. - -2024-04-26 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64.cc (aarch64_mode_valid_for_sched_fusion_p): - Remove check for AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS. - (aarch64_advsimd_ldp_stp_p): Likewise. - (aarch64_stp_sequence_cost): Likewise. - (aarch64_expand_cpymem): Likewise. - (aarch64_expand_setmem): Likewise. - * config/aarch64/aarch64-ldp-fusion.cc (ldp_operand_mode_ok_p): - Likewise. - * config/aarch64/aarch64-ldpstp.md: Likewise. - * config/aarch64/aarch64-tuning-flags.def: Remove NO_LDP_STP_QREGS. - * config/aarch64/tuning_models/emag.h: Likewise. - * config/aarch64/tuning_models/xgene1.h: Likewise. - -2024-04-26 Frederik Harwath <frederik@harwath.name> - - * config.gcc: Add gfx90c. - * config/gcn/gcn-hsa.h (NO_SRAM_ECC): Likewise. - * config/gcn/gcn-opts.h (enum processor_type): Likewise. - (TARGET_GFX90c): New macro. - * config/gcn/gcn.cc (gcn_option_override): Handle gfx90c. - (gcn_omp_device_kind_arch_isa): Likewise. - (output_file_start): Likewise. - * config/gcn/gcn.h: Add gfx90c. - * config/gcn/gcn.opt: Likewise. - * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90c): New macro. - (get_arch): Handle gfx90c. - (main): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c - * config/gcn/t-omp-device: Add gfx90c. - * doc/install.texi: Likewise. - * doc/invoke.texi: Likewise. - -2024-04-25 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.h (PREFERRED_DEBUGGING_TYPE): Set to BTF_DEBUG. - -2024-04-25 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.cc (bpf_option_override): Improve handling of CO-RE - options to avoid issues with -gtoggle. - -2024-04-25 Jakub Jelinek <jakub@redhat.com> - - PR fortran/114825 - * tree-nested.cc (get_debug_decl): New function. - (get_nonlocal_debug_decl): Use it. - (get_local_debug_decl): Likewise. - -2024-04-25 Jose E. Marchesi <jose.marchesi@oracle.com> - - * config/bpf/bpf.opt: Use ASM_PSEUDOC for the default value of - -masm. - * config/bpf/bpf.h (ASM_SPEC): Adapt accordingly. - * doc/invoke.texi (eBPF Options): Update. - -2024-04-25 Richard Ball <richard.ball@arm.com> - - PR target/114837 - * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear): - Add zero/sign extend. - (arm_expand_prologue): Add zero/sign extend. - -2024-04-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114792 - * tree-ssa-loop-ch.cc (ch_order_loops): New function. - (ch_base::copy_headers): Sort loops to unloop inner-to-outer. - -2024-04-25 Eric Botcazou <ebotcazou@adacore.com> - - PR target/114416 - * config/sparc/sparc.h (SUN_V9_ABI_COMPATIBILITY): New macro. - * config/sparc/sol2.h (SUN_V9_ABI_COMPATIBILITY): Redefine it. - * config/sparc/sparc.cc (fp_type_for_abi): New predicate. - (traverse_record_type): Use it to spot floating-point types. - (compute_fp_layout): Also deal with array types. - -2024-04-25 Pan Li <pan2.li@intel.com> - - * config/riscv/vector-crypto.md: Add early clobber to the - dest operand of vwsll. - -2024-04-25 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/altivec.md (*bcdinvalid_<mode>): Replace bcdadd - with bcdsub. - (bcdinvalid_<mode>): Likewise. - -2024-04-24 Jakub Jelinek <jakub@redhat.com> - - PR other/114738 - * opts.cc (get_option_url): Revert 2024-04-17 changes. - * gcc-urlifier.cc: Don't include diagnostic-core.h. - (gcc_urlifier::make_doc_url): Revert 2024-04-17 changes. - * configure.ac (documentation-root-url): On release branches - append gcc-MAJOR.MINOR.0/ to the default DOCUMENTATION_ROOT_URL. - * doc/install.texi (--with-documentation-root-url=): Document - the change of the default. - * configure: Regenerate. - -2024-04-24 Pan Li <pan2.li@intel.com> - - Revert: - 2023-11-29 Juzhe-Zhong <juzhe.zhong@rivai.ai> - kito-cheng <kito.cheng@sifive.com> - kito-cheng <kito.cheng@gmail.com> - - 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. - -2024-04-24 Jose E. Marchesi <jose.marchesi@oracle.com> - - * config.gcc: Add bpf-c.o as a target object for C and C++. - * config/bpf/bpf.cc (bpf_target_macros): Move to bpf-c.cc. - * config/bpf/bpf-c.cc: New file. - (bpf_target_macros): Move from bpf.cc and define BPF CPU - feature macros. - * config/bpf/t-bpf: Add rules to build bpf-c.o. - -2024-04-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114787 - * tree-cfg.cc (remove_edge_and_dominated_blocks): When - removing a loop backedge clear niter info and when removing - the last backedge of a loop mark that loop for removal. - -2024-04-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114832 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Fix dominance check. - -2024-04-24 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/i386-options.cc (ix86_valid_target_attribute_tree): - Check whether AVX512F is explicitly enabled. - -2024-04-24 Pan Li <pan2.li@intel.com> - - Revert: - 2023-11-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/vector.md: Support highpart overlap for vext.vf2 - -2024-04-23 Jakub Jelinek <jakub@redhat.com> - - PR target/114810 - * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Split the =&r,r,ro - alternative into =&r,r,r enabled only for x64 and =&r,r,o. - -2024-04-23 Jan Hubicka <jh@suse.cz> - - * doc/invoke.texi (-ftree-loop-distribute-patterns): Remove duplicated - sentence about optimization flags implying this. - -2024-04-23 Jakub Jelinek <jakub@redhat.com> - - * config/darwin.opt (init): Spelling fix: initialiser -> initializer. - -2024-04-23 Jakub Jelinek <jakub@redhat.com> - - * config/epiphany/epiphany.opt (may-round-for-trunc): Spelling fix: - floatig -> floating. - * config/riscv/riscv.opt (mcsr-check): Spelling fix: CRS -> CSR. - * params.opt (-param=ipa-cp-profile-count-base=): Spelling fix: - frequncy -> frequency. - -2024-04-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114799 - * tree-vect-slp.cc (vect_get_and_check_slp_defs): Properly - update ->any_pattern when swapping operands. - -2024-04-23 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/114676 - * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Use a - MEM_REF with an addend of type ptr_type_node. - -2024-04-23 Yang Yujie <yangyujie@loongson.cn> - - * config.gcc: Add loongarch-evolution.o. - * config/loongarch/genopts/genstr.sh: Enable generation of - loongarch-evolution.[cc,h]. - * config/loongarch/t-loongarch: Likewise. - * config/loongarch/genopts/gen-evolution.awk: New file. - * config/loongarch/genopts/isa-evolution.in: Mark ISA version - of introduction for each ISA evolution feature. - * config/loongarch/loongarch-c.cc (loongarch_cpu_cpp_builtins): - Define builtin macros for enabled ISA evolutions and the ISA - version. - * config/loongarch/loongarch-cpu.cc: Use loongarch-evolution.h. - * config/loongarch/loongarch.h: Likewise. - * config/loongarch/loongarch-cpucfg-map.h: Delete. - * config/loongarch/loongarch-evolution.cc: New file. - * config/loongarch/loongarch-evolution.h: New file. - * config/loongarch/loongarch-opts.h (ISA_HAS_FRECIPE): Define. - (ISA_HAS_DIV32): Likewise. - (ISA_HAS_LAM_BH): Likewise. - (ISA_HAS_LAMCAS): Likewise. - (ISA_HAS_LD_SEQ_SA): Likewise. - -2024-04-23 Yang Yujie <yangyujie@loongson.cn> - - * config.gcc: Make la64v1.0 the default ISA preset of the lp64d ABI. - * config/loongarch/genopts/loongarch-strings: Define la64v1.0, la64v1.1. - * config/loongarch/genopts/loongarch.opt.in: Likewise. - * config/loongarch/loongarch-c.cc (LARCH_CPP_SET_PROCESSOR): Likewise. - (loongarch_cpu_cpp_builtins): Likewise. - * config/loongarch/loongarch-cpu.cc (get_native_prid): Likewise. - (fill_native_cpu_config): Likewise. - * config/loongarch/loongarch-def.cc (array_tune): Likewise. - * config/loongarch/loongarch-def.h: Likewise. - * config/loongarch/loongarch-driver.cc (driver_set_m_parm): Likewise. - (driver_get_normalized_m_opts): Likewise. - * config/loongarch/loongarch-opts.cc (default_tune_for_arch): Likewise. - (TUNE_FOR_ARCH): Likewise. - (arch_str): Likewise. - (loongarch_target_option_override): Likewise. - * config/loongarch/loongarch-opts.h (TARGET_uARCH_LA464): Likewise. - (TARGET_uARCH_LA664): Likewise. - * config/loongarch/loongarch-str.h (STR_CPU_ABI_DEFAULT): Likewise. - (STR_ARCH_ABI_DEFAULT): Likewise. - (STR_TUNE_GENERIC): Likewise. - (STR_ARCH_LA64V1_0): Likewise. - (STR_ARCH_LA64V1_1): Likewise. - * config/loongarch/loongarch.cc (loongarch_cpu_sched_reassociation_width): Likewise. - (loongarch_asm_code_end): Likewise. - * config/loongarch/loongarch.opt: Likewise. - * doc/invoke.texi: Likewise. - -2024-04-22 Pan Li <pan2.li@intel.com> - - * config/riscv/vector-crypto.md: - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2023-11-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * 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. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2023-12-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.md: Rostify the constraints. - -2024-04-22 Haochen Jiang <haochen.jiang@intel.com> - - * common/config/i386/i386-common.cc (processor_alias_table): - Let Sierra Forest map to CPU_TYPE enum. - -2024-04-22 Andreas Krebbel <krebbel@linux.ibm.com> - - * config/s390/s390.cc (s390_option_override_internal): Check zarch - flag before enabling -mvx. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2023-11-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * config/riscv/vector.md: Add widenning overlap. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2023-12-01 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * config/riscv/vector.md: Support highpart overlap for indexed load. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2023-12-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * config/riscv/vector.md: Add highest-number overlap support. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2023-11-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * config/riscv/vector.md: Add widening overlap of vf2/vf4. - -2024-04-21 Pan Li <pan2.li@intel.com> - - Revert: - 2023-12-01 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * config/riscv/vector.md: Support highpart overlap for vx/vf. - -2024-04-20 Pan Li <pan2.li@intel.com> - - Revert: - 2023-12-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * config/riscv/vector.md: Fix incorrect overlap in v0. - -2024-04-20 Pan Li <pan2.li@intel.com> - - Revert: - 2023-12-11 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * config/riscv/vector.md: Support highest overlap for wv instructions. - -2024-04-20 Pan Li <pan2.li@intel.com> - - Revert: - 2023-12-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - 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. - -2024-04-19 Jakub Jelinek <jakub@redhat.com> - - PR target/114783 - * config/i386/sse.md (*avx2_eq<mode>3): Change last operand's - constraint from "jm" to "xjm". - -2024-04-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114753 - * internal-fn.cc (expand_arith_overflow): Add one missing restore - of flag_trapv before return. - -2024-04-19 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114769 - * tree-vect-patterns.cc: - (vect_recog_absolute_difference): Have only one success condition. - (vect_recog_abd_pattern): Handle further checks if - vect_recog_absolute_difference fails. - -2024-04-19 Cupertino Miranda <cupertino.miranda@oracle.com> - - * config/bpf/core-builtins.cc (get_index_for_enum_value): Create - function. - (pack_enum_value): Check for enumerator and error out. - (process_enum_value): Correct string allocation. - -2024-04-19 Cupertino Miranda <cupertino.miranda@oracle.com> - - * config/bpf/bpf-protos.h (bpf_add_core_reloc): Renamed function - to bpf_output_move. - * config/bpf/bpf.cc (bpf_legitimate_address_p): Allow - UNSPEC_CORE_RELOC to match an address. - (bpf_insn_cost): Make UNSPEC_CORE_RELOC immediate moves - expensive to prioritize loads and stores. - (TARGET_INSN_COST): Add hook. - (bpf_output_move): Wrapper to call bpf_output_core_reloc. - (bpf_print_operand): Add support to print immediate operands - specified with the UNSPEC_CORE_RELOC. - (bpf_print_operand_address): Likewise, but to support - UNSPEC_CORE_RELOC in addresses. - (bpf_init_builtins): Flag BPF_BUILTIN_CORE_RELOC as NOTHROW. - * config/bpf/bpf.md: Wrap patterns for MOV, LD and ST - instruction with bpf_output_move call. - (mov_reloc_core<MM:mode>): Remove now spurious define_insn. - * config/bpf/constraints.md: Added "c" and "C" constraints to - match immediates represented with UNSPEC_CORE_RELOC. - * config/bpf/core-builtins.cc (bpf_add_core_reloc): Remove - (bpf_output_core_reloc): Add function to create the CO-RE - relocations based on new matching rules. - * config/bpf/core-builtins.h (bpf_output_core_reloc): Add - prototype. - * config/bpf/predicates.md (core_imm_operand) Add predicate. - (mov_src_operand): Add match for core_imm_operand. - -2024-04-19 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114768 - * rtlanal.cc (set_noop_p): Don't return true for MEM <- MEM - sets if src has side-effects or for stores into ZERO_EXTRACT - if ZERO_EXTRACT operand has side-effects. - -2024-04-19 Alexandre Oliva <oliva@adacore.com> - - * config/t-vxworks (vxw-glimits.h): Don't mangle c23-required - __STDC_VERSION_LIMITS_H__ define. - -2024-04-18 Sandra Loosemore <sloosemore@baylibre.com> - - * config.gcc: Add nios2*-*-* to the list of obsoleted targets. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * doc/sourcebuild.texi (strndup): Add effective target. - -2024-04-18 Tamar Christina <tamar.christina@arm.com> - - PR target/114741 - * config/aarch64/aarch64.md (<optab><mode>3): Remove ^ from alt 2. - (copysign<GPF:mode>3): Use SIMD version of IOR directly. - -2024-04-18 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114753 - * internal-fn.cc (expand_mul_overflow): Save flag_trapv and - temporarily clear it for the duration of the function, then - restore previous value. - (expand_vector_ubsan_overflow): Likewise. - (expand_arith_overflow): Likewise. - -2024-04-17 Jakub Jelinek <jakub@redhat.com> - - PR other/114738 - * opts.cc (get_option_url): On release branches append - gcc-MAJOR.MINOR.0/ after DOCUMENTATION_ROOT_URL. - * gcc-urlifier.cc (gcc_urlifier::make_doc_url): Likewise. - -2024-04-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114749 - * tree-vect-loop.cc (vect_analyze_loop_2): Reset - LOOP_VINFO_USING_PARTIAL_VECTORS_P when re-trying without SLP. - -2024-04-17 Georg-Johann Lay <avr@gjlay.de> - - PR target/114752 - * config/avr/avr.cc (avr_print_operand) [CONST_DOUBLE_P]: Handle DFmode. - -2024-04-17 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/114743 - * asan.cc (maybe_instrument_call): Don't instrument calls to - .ABNORMAL_DISPATCHER. - -2024-04-16 Andrew Pinski <quic_apinski@quicinc.com> - - PR c/92880 - * doc/extend.texi (Using Vector Instructions): Add that - the base_types could be a typedef of them. - -2024-04-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114736 - * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge): - Do not consider VEC_PERM_EXPRs as PHI use. - -2024-04-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114733 - * tree-vect-loop.cc (vectorizable_nonlinear_induction): Reject - neg induction vectorization of single element vectors. - -2024-04-16 Jakub Jelinek <jakub@redhat.com> - - * tree.cc (array_type_nelts): Ensure 2 spaces after . in comment - instead of just one. - (build_variant_type_copy): Likewise. - (tree_check_failed): Likewise. - (build_atomic_base): Likewise. - * ipa-free-lang-data.cc (fld_incomplete_type_of): Use an indefinite - article rather than a. - -2024-04-16 Fei Gao <gaofei@eswincomputing.com> - - * config/riscv/riscv.cc (riscv_expand_conditional_move): - replace or with add when expanding zicond if possible. - -2024-04-16 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/112938 - * ipa-strub.cc (pass_ipa_strub::execute): Drop volatility from - indirected parm. - (maybe_make_indirect): Restore volatility in dereferences. - -2024-04-16 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.opt.urls: Regenerate. - * config/mn10300/mn10300.opt.urls: Likewise. - * config/msp430/msp430.opt.urls: Likewise. - * config/nds32/nds32-elf.opt.urls: Likewise. - * config/nds32/nds32-linux.opt.urls: Likewise. - * config/nds32/nds32.opt.urls: Likewise. - * config/pru/pru.opt.urls: Likewise. - * config/riscv/riscv.opt.urls: Likewise. - * config/rx/rx.opt.urls: Likewise. - * config/sh/sh.opt.urls: Likewise. - * config/sparc/sparc.opt.urls: Likewise. - * doc/invoke.texi: Add indexes for some compilation options. - -2024-04-15 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-mcus.def: Add: avr16du14, avr16du20, avr16du28, - avr16du32, avr32du14, avr32du20, avr32du28, avr32du32. - * doc/avr-mmcu.texi: Rebuild. - -2024-04-15 Robin Dapp <rdapp@ventanamicro.com> - - PR target/114668 - * config/riscv/autovec.md: Add VLS. - -2024-04-15 Richard Biener <rguenther@suse.de> - - PR gcov-profile/114715 - * gimplify.cc (gimplify_switch_expr): Set the location of the - GIMPLE switch. - -2024-04-15 H.J. Lu <hjl.tools@gmail.com> - - PR target/114696 - * config/i386/i386.md (isa): Add apx_ndd_64. - (enabled): Likewise. - (*add<dwi>3_doubleword): Change rjO to r,ro,jO with 8-bit - signed integer constant and enable jO only for apx_ndd_64. - (*add<dwi>3_doubleword_cc_overflow_1): Likewise. - (*and<dwi>3_doubleword): Likewise. - (*<code><dwi>3_doubleword): Likewise. - -2024-04-15 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114403 - * tree-vect-loop.cc (vect_transform_loop): Adjust upper bounds for when - peeling for gaps and early break. - -2024-04-15 Jakub Jelinek <jakub@redhat.com> - - PR c++/114634 - * attribs.cc (diag_attr_exclusions): Set attrs[1] to NULL_TREE for - decls with NULL TREE_TYPE. - -2024-04-12 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-option-extensions.def: Add RCPC to - RCPC3 dependencies. - * config/aarch64/aarch64.h (AARCH64_ISA_RCPC8_4): Add test for - RCPC3 bit - -2024-04-12 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-arches.def: Add CSSC to V8_9A - dependencies. - -2024-04-12 Will Schmidt <will_schmidt@linux.ibm.com> - Peter Bergner <bergner@linux.ibm.com> - - PR target/101865 - * config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported): Use - TARGET_POWER8. - * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use - OPTION_MASK_POWER8. - * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_POWER8. - (ISA_2_7_MASKS_SERVER): Likewise. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Update - comment. Use OPTION_MASK_POWER8 and TARGET_POWER8. - * config/rs6000/rs6000.h (TARGET_SYNC_HI_QI): Use TARGET_POWER8. - * config/rs6000/rs6000.md (define_attr "isa"): Add p8. - (define_attr "enabled"): Handle it. - (define_insn "prefetch"): Use TARGET_POWER8. - * config/rs6000/rs6000.opt (mpower8-internal): New. - -2024-04-12 Jason Merrill <jason@redhat.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/113141 - * doc/invoke.texi: Document -Wcast-user-defined. - -2024-04-12 Tatsuyuki Ishi <ishitatsuyuki@gmail.com> - - * config/riscv/riscv.opt.urls: Regenerated. - -2024-04-12 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/114666 - * match.pd (`!a?b:c`): Reject signed types for the condition. - (`a?~t:t`): Likewise. - -2024-04-12 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_output_sme_zero_za): Require - all tiles to have the same suffix. - -2024-04-12 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_vector_float_type_p): Take int - as the return value instead of unsigned. - (riscv_vector_element_bitsize): Ditto. - (riscv_vector_required_min_vlen): Ditto. - (riscv_validate_vector_type): Take int type for local variable(s). - -2024-04-12 Jakub Jelinek <jakub@redhat.com> - - * tree-cfg.cc (gimple_verify_flow_info): Make the misplaced - returns_twice diagnostics translatable. - -2024-04-12 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/114687 - * gimple-iterator.cc (gsi_safe_insert_before): Only use - edge_before_returns_twice_call if bb_has_abnormal_pred. - (gsi_safe_insert_seq_before): Likewise. - * gimple-lower-bitint.cc (bitint_large_huge::lower_call): Only - push to m_returns_twice_calls if bb_has_abnormal_pred. - -2024-04-12 Pan Li <pan2.li@intel.com> - - PR target/114639 - * config/riscv/riscv.cc (riscv_function_value_regno_p): Add - TARGET_VECTOR predicate for V_RETURN regno. - -2024-04-11 David Faust <david.faust@oracle.com> - - * btfout.cc (btf_asm_type_ref): Convert IDs to BTF internally and - fix potentially looking up wrong type for asm debug comment info. - Split into... - (btf_asm_datasec_type_ref): ... This. New. - (btf_asm_datasec_entry): Call it here, instead of btf_asm_type_ref. - (btf_asm_type, btf_asm_array, btf_asm_varent, btf_asm_sou_member) - (btf_asm_func_arg, btf_asm_func_type): Adapt btf_asm_type_ref call. - -2024-04-11 David Faust <david.faust@oracle.com> - - * btfout.cc (btf_asm_sou_member): Always emit non-representable - bitfield members as having 'void' type. Refactor slightly. - -2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-option-extensions.def: - Remove "memtag", "memtag2", "ssbs", "ssbs2", "ls64", "ls64_v" - and "ls64_accdata" FMV features. - -2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-option-extensions.def: - Remove "flagm2", "sha1", "pmull", "dit", "dpb", "dpb2", "jscvt", - "fcma", "rcpc2", "frintts", "dgh", "ebf16", "sve-bf16", - "sve-ebf16", "sve-i8mm", "sve2-pmull128", "memtag3", "bti" and - "wfxt" entries. - -2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-option-extensions.def: - Fix "rmd"->"rdm", and add FMV to "rdma". - * config/aarch64/aarch64.cc (FEAT_RDMA): Define as FEAT_RDM. - -2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64.cc (compare_feature_masks): - Use ARRAY_SIZE and >=0 for iteration bounds. - (aarch64_mangle_decl_assembler_name): Use ARRAY_SIZE. - -2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64-option-extensions.def: Reorder FMV entries. - -2024-04-11 Gaius Mulley <gaiusmod2@gmail.com> - - * doc/standards.texi (Language Standards Supported by GCC): - Add Modula-2 language section. - -2024-04-11 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/110027 - * asan.cc (asan_emit_stack_protection): Assert offsets[0] is - zero if there is no stack protect guard, otherwise - -ASAN_RED_ZONE_SIZE. If alignb > ASAN_RED_ZONE_SIZE and there is - stack pointer guard, take the ASAN_RED_ZONE_SIZE bytes allocated at - the top of the stack into account when computing base_align_bias. - Recompute use_after_return_class from asan_frame_size + base_align_bias - and set to -1 if that would overflow to 11. - -2024-04-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/109596 - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Propagate - debug stmts to nonexit->dest rather than exit->dest. - -2024-04-11 Richard Biener <rguenther@suse.de> - - PR middle-end/114681 - * tree-inline.cc (copy_bb): Key on the remapped stmt - to identify gconds to have condition coverage data remapped. - -2024-04-11 Pan Li <pan2.li@intel.com> - - PR target/114639 - * config/riscv/riscv.cc (riscv_function_value_regno_p): New func - impl for hook TARGET_FUNCTION_VALUE_REGNO_P. - (riscv_get_raw_result_mode): New func imple for hook - TARGET_GET_RAW_RESULT_MODE. - (TARGET_FUNCTION_VALUE_REGNO_P): Impl the hook. - (TARGET_GET_RAW_RESULT_MODE): Ditto. - * config/riscv/riscv.h (V_RETURN): New macro for vector return. - (GP_RETURN_FIRST): New macro for the first GPR in return. - (GP_RETURN_LAST): New macro for the last GPR in return. - (FP_RETURN_FIRST): Diito but for FPR. - (FP_RETURN_LAST): Ditto. - (FUNCTION_VALUE_REGNO_P): Remove as deprecated and replace by - TARGET_FUNCTION_VALUE_REGNO_P. - -2024-04-11 Indu Bhagat <indu.bhagat@oracle.com> - - * btfout.cc (btf_asm_type): Do not skip emitting members of - unknown type. - -2024-04-11 Indu Bhagat <indu.bhagat@oracle.com> - - PR debug/112878 - * dwarf2ctf.cc (gen_ctf_sou_type): Check for conditions before - call to ctf_add_slice. Use CTF_K_UNKNOWN type if fail. - -2024-04-10 Marek Polacek <polacek@redhat.com> - - PR target/114606 - * config/i386/i386-options.cc (ix86_option_override_internal): Use - opts_set rather than checking == CF_NONE. - -2024-04-10 David Malcolm <dmalcolm@redhat.com> - - * doc/analyzer.texi: Various tweaks. - -2024-04-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114672 - * tree-ssa-math-opts.cc (convert_plusminus_to_widen): Only - allow mode-precision results. - -2024-04-10 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64.cc (TARGET_C_BITINT_TYPE_INFO): Declare MACRO. - (aarch64_bitint_type_info): New function. - (aarch64_return_in_memory_1): Return large _BitInt's in memory. - (aarch64_function_arg_alignment): Adapt to correctly return the ABI - mandated alignment of _BitInt(N) where N > 128 as the alignment of - TImode. - (aarch64_composite_type_p): Return true for _BitInt(N), where N > 128. - -2024-04-10 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/aarch64/aarch64.cc (bitint_or_aggr_of_bitint_p): New function. - (aarch64_layout_arg): Don't emit diagnostics for types involving - _BitInt(N). - -2024-04-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/114462 - * tree-core.h (enum annot_expr_kind): Add - annot_expr_maybe_infinite_kind enumerator. - * gimplify.cc (gimple_boolify): Handle annot_expr_maybe_infinite_kind. - * tree-cfg.cc (replace_loop_annotate_in_block): Likewise. - (replace_loop_annotate): Likewise. Move loop->finite_p initialization - before the replace_loop_annotate_in_block calls. - * tree-pretty-print.cc (dump_generic_node): Handle - annot_expr_maybe_infinite_kind. - -2024-04-10 Richard Biener <rguenther@suse.de> - - Revert: - 2024-03-27 Segher Boessenkool <segher@kernel.crashing.org> - - PR rtl-optimization/101523 - * combine.cc (try_combine): Don't do a 2-insn combination if - it does not in fact change I2. - -2024-04-10 Peter Bergner <bergner@linux.ibm.com> - - PR target/101865 - * config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace - OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete redundant - OPTION_MASK_DIRECT_MOVE usage. Delete TARGET_DIRECT_MOVE dead code. - (rs6000_opt_masks): Neuter the "direct-move" option. - * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Replace - OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete useless - comment. - * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete - OPTION_MASK_DIRECT_MOVE. - (OTHER_VSX_VECTOR_MASKS): Likewise. - (POWERPC_MASKS): Likewise. - * config/rs6000/rs6000.opt (mdirect-move): Remove Mask and Var. - -2024-04-10 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/sse.md (sha1msg1): Use "ja" instead of "Bm" for - memory constraint. - (sha1msg2): Likewise. - (sha1nexte): Likewise. - (sha1rnds4): Likewise. - (sha256msg1): Likewise. - (sha256msg2): Likewise. - (sha256rnds2): Likewise. - (aes<aesklvariant>u8): Use "jm" instead of "m" for memory - constraint. - (*aes<aeswideklvariant>u8): Likewise. - (*encodekey128u32): Use "jr" instead of "r" for register - constraints. - (*encodekey256u32): Likewise. - -2024-04-09 Juergen Christ <jchrist@linux.ibm.com> - - * config/s390/s390.cc (expand_perm_as_replicate): Implement. - (vectorize_vec_perm_const_1): Call new function. - * config/s390/vx-builtins.md (vec_splat<mode>): Change to... - (@vec_splat<mode>): ...this. - -2024-04-09 David Faust <david.faust@oracle.com> - - PR debug/114608 - * btfout.cc (btf_asm_datasec_entry): Only emit a symbol reference when - generating BTF for BPF CO-RE target. - -2024-04-09 Richard Ball <richard.ball@arm.com> - - * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): - Add functions_nulls parameter to pragma_handlers. - * config/aarch64/aarch64-protos.h: Likewise. - * config/aarch64/aarch64-sve-builtins.h - (enum handle_pragma_index): Add enum to count - number of pragmas to be handled. - * config/aarch64/aarch64-sve-builtins.cc - (GTY): Add global variable for initial indexes - and change overload_names to an array. - (function_builder::function_builder): - Add pragma handler information. - (function_builder::add_function): - Add code for overwriting previous - registered_functions entries. - (add_unique_function): - Use an array to register overload_names - for both pragma handler modes. - (add_overloaded_function): Likewise. - (init_builtins): - Add functions_nulls parameter to pragma_handlers. - (handle_arm_sve_h): - Initialize pragma handler information. - (handle_arm_neon_sve_bridge_h): Likewise. - (handle_arm_sme_h): Likewise. - -2024-04-09 Richard Biener <rguenther@suse.de> - - PR lto/114655 - * lto-wrapper.cc (merge_flto_options): Add force argument. - (merge_and_complain): Do not force here. - (run_gcc): But here to make the link-time -flto option override - any compile-time one. - -2024-04-09 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * config/rs6000/rtems.h (OS_MISSING_POWERPC64): Define. - -2024-04-09 Jørgen Kvalsvik <j@lambda.is> - - PR gcov-profile/114601 - * tree-profile.cc (condition_uid): Guard fn->cond_uids access. - -2024-04-09 Jakub Jelinek <jakub@redhat.com> - - PR target/114576 - * config/i386/i386.md (isa): Remove aes, add vaes_avx512vl. - (enabled): Remove aes isa check, add vaes_avx512vl. - * config/i386/sse.md (aesenc, aesenclast, aesdec, aesdeclast): Use - jm instead of m for second alternative and emit {evex} prefix - for it if !TARGET_AES. Use noavx,avx,vaes_avx512vl isa attribute. - (vaesdec_<mode>, vaesdeclast_<mode>, vaesenc_<mode>, - vaesenclast_<mode>): Add second alternative with x instead of v - and jm instead of m. - -2024-04-09 Gaius Mulley <gaiusmod2@gmail.com> - - * doc/gm2.texi (Compiler options): Remove -fdebug-trace-quad. - Remove -fdebug-trace-api. - Add -fm2-debug-trace=. - -2024-04-09 Yang Yujie <yangyujie@loongson.cn> - - PR target/113233 - * config/loongarch/loongarch.cc (loongarch_reg_init): - Reinitialize the loongarch_regno_mode_ok cache. - (loongarch_option_override): Same. - (loongarch_save_restore_target_globals): Restore target globals. - (loongarch_set_current_function): Restore the target contexts - for functions. - (TARGET_SET_CURRENT_FUNCTION): Define. - * config/loongarch/loongarch.h (SWITCHABLE_TARGET): Enable - switchable target context. - * config/loongarch/loongarch-builtins.cc (loongarch_init_builtins): - Initialize all builtin functions at startup. - (loongarch_expand_builtin): Turn assertion of builtin availability - into a test. - -2024-04-09 Jørgen Kvalsvik <j@lambda.is> - - PR middle-end/114627 - * tree-profile.cc (instrument_decisions): Generate constant - at the start of loop. - -2024-04-09 Jørgen Kvalsvik <j@lambda.is> - - PR middle-end/114599 - * tree-inline.cc (copy_bb): Copy cond_uids into callee. - (prepend_lexical_block): Remove outdated comment. - (add_local_variables): Remove bad cond_uids copy. - -2024-04-09 Jakub Jelinek <jakub@redhat.com> - - * expr.cc (convert_mode_scalar): Fix duplicated words in comment; - into into -> it into. - * function.h (function::cond_uids): Fix duplicated words in comment; - same same -> same. - * config/riscv/riscv-vector-costs.cc - (costs::adjust_vect_cost_per_loop): Fix duplicated words in comment; - model model -> model. - * config/riscv/riscv-vector-builtins-shapes.cc (build_base): Fix - duplicated words in comment; for for -> for. - * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Fix - duplicated words in comment; more more -> more. - * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): Fix - duplicated words in comment; be be -> be. - * tree-profile.cc (masking_vectors): Fix duplicated words in comment; - has has -> has, the the -> the. - * value-range.cc (irange::set_range_from_bitmask): Fix duplicated - words in comment; the the -> the. - * gcov.cc (add_condition_counts): Fix duplicated words in comment; - to to -> to. - * vr-values.cc (get_scev_info): Fix duplicated words in comment; - the the -> to the. - * tree-vrp.cc (fully_replaceable): Fix duplicated words in comment; - by by -> by. - * mode-switching.cc (single_succ_confluence_n): Fix duplicated words - in comment; the the -> the. - * tree-ssa-phiopt.cc (value_replacement): Fix duplicated words in - comment; can can -> we can. - * gimple-range-phi.cc (phi_analyzer::process_phi): Fix duplicated words - in comment; it it -> it is. - * tree-ssa-sccvn.cc (visit_phi): Fix duplicated words in comment; - to to -> to. - * rtl-ssa/accesses.h (use_info::next_debug_insn_use): Fix duplicated - words in comment; if if -> if. - * doc/options.texi (InverseMask): Fix duplicated words; and and -> and. - Change take to takes. - * doc/invoke.texi (fanalyzer-undo-inlining): Fix duplicated words; - be be -> be. - (-minline-memops-threshold): Likewise. - -2024-04-09 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114628 - * gimple-lower-bitint.cc (gimple_lower_bitint): Keep debug stmts - before returns_twice calls as is, don't push them into arg_stmts - vector/move to edges. - -2024-04-09 Sergey Bugaev <bugaevc@gmail.com> - - * config.gcc: Recognize aarch64*-*-gnu* targets. - * config/aarch64/aarch64-gnu.h: New file. - -2024-04-09 Sergey Bugaev <bugaevc@gmail.com> - - * config/i386/gnu.h: Move GNU/Hurd STARTFILE_SPEC from here... - * config/gnu.h: ...to here. - -2024-04-09 Richard Biener <rguenther@suse.de> - - PR middle-end/114604 - * gimple-range.cc (enable_ranger): Initialize the global - bitmap obstack. - (disable_ranger): Release it. - -2024-04-09 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * config.gcc (aarch64-*-rtems*): Add target makefile fragment - t-aarch64-rtems. - * config/aarch64/t-aarch64-rtems: New file. - -2024-04-09 H.J. Lu <hjl.tools@gmail.com> - - PR target/114587 - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __APX_INLINE_ASM_USE_GPR32__ for -mapx-inline-asm-use-gpr32. - -2024-04-09 Kewen Lin <linkw@linux.ibm.com> - Andrew Pinski <quic_apinski@quicinc.com> - - PR target/88309 - * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Fix - wrong align passed to function build_aligned_type. - * tree-ssa-loop-prefetch.cc (is_miss_rate_acceptable): Add an - assertion to ensure align_unit should be positive. - * tree.cc (build_qualified_type): Update function comments. - -2024-04-08 Uros Bizjak <ubizjak@gmail.com> - - PR rtl-optimization/112560 - * combine.cc (try_combine): Replace cc_use_loc with the entire - new RTX only in case cc_use_loc satisfies COMPARISON_P predicate. - Otherwise scan the entire cc_use_loc RTX for CC reg to be updated - with a new mode. - * config/i386/i386.md (@pushf<mode>2): Allow all CC modes for - operand 1. - -2024-04-08 Thomas Schwinge <tschwinge@baylibre.com> - - * config/gcn/gcn.opt (--param=gcn-preferred-vectorization-factor): - New. - * config/gcn/gcn.cc (gcn_vectorize_preferred_simd_mode) Use it. - * doc/invoke.texi (Optimize Options): Document it. - -2024-04-08 Thomas Schwinge <tschwinge@baylibre.com> - - * doc/sourcebuild.texi (Effective-Target Keywords): Document - 'asm_goto_with_outputs'. Add comment to 'lra'. - -2024-04-08 Martin Jambor <mjambor@suse.cz> - - PR ipa/113359 - * ipa-icf-gimple.h (func_checker): New members - safe_for_total_scalarization_p, m_total_scalarization_limit_known_p - and m_total_scalarization_limit. - (func_checker::func_checker): Initialize new member variables. - * ipa-icf-gimple.cc: Include tree-sra.h. - (func_checker::func_checker): Initialize new member variables. - (func_checker::safe_for_total_scalarization_p): New function. - (func_checker::compare_operand): Use the new function. - * tree-sra.h (sra_get_max_scalarization_size): Declare. - (sra_total_scalarization_would_copy_same_data_p): Likewise. - * tree-sra.cc (prepare_iteration_over_array_elts): New function. - (class sra_padding_collecting): New. - (sra_padding_collecting::record_padding): Likewise. - (scalarizable_type_p): Rename to totally_scalarizable_type_p. Add - ability to record padding when requested. - (totally_scalarize_subtree): Split out gathering information necessary - to iterate over array elements to prepare_iteration_over_array_elts. - Fix errornous early exit. - (analyze_all_variable_accesses): Adjust the call to - totally_scalarizable_type_p. Move determining of total scalariation - size limit... - (sra_get_max_scalarization_size): ...here. - (check_ts_and_push_padding_to_vec): New function. - (sra_total_scalarization_would_copy_same_data_p): Likewise. - -2024-04-08 Martin Jambor <mjambor@suse.cz> - - PR ipa/113907 - * ipa-prop.h (class ipa_vr): Declare new overload of a member function - equal_p. - (ipa_jump_functions_equivalent_p): Declare. - * ipa-prop.cc (ipa_vr::equal_p): New function. - (ipa_agg_pass_through_jf_equivalent_p): Likewise. - (ipa_agg_jump_functions_equivalent_p): Likewise. - (ipa_jump_functions_equivalent_p): Likewise. - * ipa-cp.h (values_equal_for_ipcp_p): Declare. - * ipa-cp.cc (values_equal_for_ipcp_p): Make function public. - * ipa-icf-gimple.cc: Include alloc-pool.h, symbol-summary.h, sreal.h, - ipa-cp.h and ipa-prop.h. - (func_checker::compare_gimple_call): Comapre jump functions. - -2024-04-08 Richard Sandiford <richard.sandiford@arm.com> - - PR target/114607 - * config/aarch64/aarch64-sve-builtins-base.cc - (svusdot_impl::expand): Fix botched attempt to swap the operands - for svsudot. - -2024-04-08 Tatsuyuki Ishi <ishitatsuyuki@gmail.com> - - * config/riscv/riscv.opt: Add -mtls-dialect to configure TLS flavor. - * config.gcc: Add --with-tls configuration option to change the - default TLS flavor. - * config/riscv/riscv.h: Add TARGET_TLSDESC determined from - -mtls-dialect and with_tls defaults. - * config/riscv/riscv-opts.h: Define enum riscv_tls_type for the - two TLS flavors. - * config/riscv/riscv-protos.h: Define SYMBOL_TLSDESC symbol type. - * config/riscv/riscv.md: Add instruction sequence for TLSDESC. - * config/riscv/riscv.cc (riscv_symbol_insns): Add instruction - sequence length data for TLSDESC. - (riscv_legitimize_tls_address): Add lowering of TLSDESC. - * doc/install.texi: Document --with-tls for RISC-V. - * doc/invoke.texi: Document -mtls-dialect for RISC-V. - -2024-04-08 Jakub Jelinek <jakub@redhat.com> - - PR target/114605 - * config/s390/s390.cc (s390_const_int_pool_entry_p): Punt - if mem doesn't have MODE_INT mode, or pool constant doesn't - have MODE_INT mode, or if pool constant mode is smaller than - mem mode. If mem mode is different from pool constant mode, - try to simplify subreg. If that doesn't work, punt, if it - does, use the simplified constant instead of the constant pool - constant. - * config/s390/s390.md (movdi from const pool peephole): If - either low or high 32-bit part is zero, just emit move insn - instead of move + ior. - -2024-04-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114624 - * tree-scalar-evolution.cc (final_value_replacement_loop): - Get at the PHI arg location before releasing the PHI node. - -2024-04-08 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Pass - required_ext arg when invoke add function. - (build_th_loadstore): Ditto. - (struct vcreate_def): Ditto. - (struct read_vl_def): Ditto. - (struct vlenb_def): Ditto. - * config/riscv/riscv-vector-builtins.cc (function_builder::add_function): - Introduce new arg required_ext to fill in the register func. - (function_builder::add_unique_function): Ditto. - (function_builder::add_overloaded_function): Ditto. - (expand_builtin): Leverage required_extensions_specified to - check if the required extension is provided. - * config/riscv/riscv-vector-builtins.h (reqired_ext_to_isa_name): New - func impl to convert the required_ext enum to the extension name. - (required_extensions_specified): New func impl to predicate if - the required extension is well feeded. - -2024-04-08 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.h (LINK_COMMAND_SPEC_A): Update coverage - specs. - -2024-04-08 demin.han <demin.han@starfivetech.com> - - * config/riscv/riscv-vector-costs.cc: Use length() - -2024-04-08 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-c.cc (struct pragma_intrinsic_flags): New - struct to hold all intrinisc related flags. - (riscv_pragma_intrinsic_flags_pollute): New func to pollute - the intrinsic flags and backup original flags. - (riscv_pragma_intrinsic_flags_restore): New func to restore - the flags from the backup intrinsic flags. - (riscv_pragma_intrinsic): Pollute the flags and register all - possible builtin types and functions, then restore and reinit. - * config/riscv/riscv-protos.h (reinit_builtins): New func - decl to reinit after flags pollution. - (riscv_option_override): New extern func decl. - * config/riscv/riscv-vector-builtins.cc (register_builtin_types_on_null): - New func to register builtin types if null. - (DEF_RVV_TYPE): Ditto. - (DEF_RVV_TUPLE_TYPE): Ditto. - (reinit_builtins): New func impl to reinit after flags pollution. - (expand_builtin): Return - target rtx after error_at. - * config/riscv/riscv.cc (riscv_vector_int_type_p): New predicate - func to tell one tree type is integer or not. - (riscv_vector_float_type_p): New predicate func to tell one tree - type is float or not. - (riscv_vector_element_bitsize): New func to get the element bitsize - of a vector tree type. - (riscv_vector_required_min_vlen): New func to get the required min vlen - of a vector tree type. - (riscv_validate_vector_type): New func to validate the tree type - is valid on flags. - (riscv_return_value_is_vector_type_p): Leverage the func - riscv_validate_vector_type to do the tree type validation. - (riscv_arguments_is_vector_type_p): Ditto. - (riscv_override_options_internal): Ditto. - -2024-04-08 Lulu Cheng <chenglulu@loongson.cn> - - PR target/112919 - * config/loongarch/loongarch-def.cc (la664_align): Newly defined - function that sets alignment rules under the LA664 microarchitecture. - * config/loongarch/loongarch-opts.cc - (loongarch_target_option_override): If not optimizing for size, set - the default alignment to what the target wants. - * config/loongarch/loongarch-tune.h (struct loongarch_align): Add - new member variables jump and loop. - -2024-04-06 H.J. Lu <hjl.tools@gmail.com> - - PR target/114590 - * config/i386/i386.md (x86_64_shld): Use explicit shift count in - AT&T syntax. - (x86_64_shld_ndd): Likewise. - (x86_shld): Likewise. - (x86_shld_ndd): Likewise. - (x86_64_shrd): Likewise. - (x86_64_shrd_ndd): Likewise. - (x86_shrd): Likewise. - (x86_shrd_ndd): Likewise. - -2024-04-06 Jørgen Kvalsvik <j@lambda.is> - - PR middle-end/114599 - * tree-inline.cc (add_local_variables): Copy cond_uids mappings. - -2024-04-05 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/114588 - * diagnostic-color.cc (color_dict): Add "valid" and "invalid" as - color capability names. - * doc/invoke.texi: Document them in description of GCC_COLORS. - * text-art/style.cc: Include "diagnostic-color.h". - (text_art::get_style_from_color_cap_name): New. - * text-art/types.h (get_style_from_color_cap_name): New decl. - -2024-04-05 Alex Coplan <alex.coplan@arm.com> - - * config/aarch64/aarch64-ldp-fusion.cc (struct alias_walker): - Fix double space after const qualifier on valid (). - -2024-04-05 Martin Jambor <mjambor@suse.cz> - - PR ipa/113964 - * ipa-param-manipulation.cc (ipa_param_adjustments::modify_call): - Force values obtined through pass-through maps to the expected - split type. - -2024-04-05 Mark Wielaard <mark@klomp.org> - - * common.opt.urls: Regenerate. - -2024-04-05 Richard Sandiford <richard.sandiford@arm.com> - - PR target/114603 - * config/aarch64/aarch64-sve.md (@aarch64_pred_cnot<mode>): Replace - with... - (@aarch64_ptrue_cnot<mode>): ...this, requiring operand 1 to be - a ptrue. - (*cnot<mode>): Require operand 1 to be a ptrue. - * config/aarch64/aarch64-sve-builtins-base.cc (svcnot_impl::expand): - Use aarch64_ptrue_cnot<mode> for _x operations that are predicated - with a ptrue. Represent other _x operations as fully-defined _m - operations. - -2024-04-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114566 - * tree-vect-loop.cc (update_epilogue_loop_vinfo): Don't clear - base_misaligned. - -2024-04-05 Richard Biener <rguenther@suse.de> - - PR middle-end/114599 - PR gcov-profile/114115 - * symtab.cc (ifunc_ref_map): Do not use auto_bitmap. - (is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit - pair. - (symtab_node::check_ifunc_callee_symtab_nodes): Properly - allocate ifunc_ref_map here. - -2024-04-04 Martin Jambor <mjambor@suse.cz> - - PR ipa/111571 - * ipa-param-manipulation.cc - (ipa_param_body_adjustments::common_initialization): Avoid creating - duplicate replacement entries. - -2024-04-04 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/114415 - * sched-deps.cc (add_insn_mem_dependence): Add memory check for mem argument. - (sched_analyze_1): Treat stack pointer modification as memory read. - (sched_analyze_2, sched_analyze_insn): Add memory guard for processing pending_read_mems. - * sched-int.h (deps_desc): Add comment to pending_read_mems. - -2024-04-04 Tobias Burnus <tburnus@baylibre.com> - - * config/nvptx/mkoffload.cc (main): Call - gcc_init_libintl and diagnostic_color_init. - -2024-04-04 H.J. Lu <hjl.tools@gmail.com> - - PR target/114587 - * config/i386/i386-c.cc (ix86_target_macros_internal): Define - __APX_F__ when APX is enabled. - -2024-04-04 Jørgen Kvalsvik <j@lambda.is> - - * builtins.cc (expand_builtin_fork_or_exec): Check - condition_coverage_flag. - * collect2.cc (main): Add -fno-condition-coverage to OBSTACK. - * common.opt: Add new options -fcondition-coverage and - -Wcoverage-too-many-conditions. - * doc/gcov.texi: Add --conditions documentation. - * doc/invoke.texi: Add -fcondition-coverage documentation. - * function.cc (free_after_compilation): Free cond_uids. - * function.h (struct function): Add cond_uids. - * gcc.cc: Link gcov on -fcondition-coverage. - * gcov-counter.def (GCOV_COUNTER_CONDS): New. - * gcov-dump.cc (tag_conditions): New. - * gcov-io.h (GCOV_TAG_CONDS): New. - (GCOV_TAG_CONDS_LENGTH): New. - (GCOV_TAG_CONDS_NUM): New. - * gcov.cc (class condition_info): New. - (condition_info::condition_info): New. - (condition_info::popcount): New. - (struct coverage_info): New. - (add_condition_counts): New. - (output_conditions): New. - (print_usage): Add -g, --conditions. - (process_args): Likewise. - (output_intermediate_json_line): Output conditions. - (read_graph_file): Read condition counters. - (read_count_file): Likewise. - (file_summary): Print conditions. - (accumulate_line_info): Accumulate conditions. - (output_line_details): Print conditions. - * gimplify.cc (next_cond_uid): New. - (reset_cond_uid): New. - (shortcut_cond_r): Set condition discriminator. - (tag_shortcut_cond): New. - (gimple_associate_condition_with_expr): New. - (shortcut_cond_expr): Set condition discriminator. - (gimplify_cond_expr): Likewise. - (gimplify_function_tree): Call reset_cond_uid. - * ipa-inline.cc (can_early_inline_edge_p): Check - condition_coverage_flag. - * ipa-split.cc (pass_split_functions::gate): Likewise. - * passes.cc (finish_optimization_passes): Likewise. - * profile.cc (struct condcov): New declaration. - (cov_length): Likewise. - (cov_blocks): Likewise. - (cov_masks): Likewise. - (cov_maps): Likewise. - (cov_free): Likewise. - (instrument_decisions): New. - (read_thunk_profile): Control output to file. - (branch_prob): Call find_conditions, instrument_decisions. - (init_branch_prob): Add total_num_conds. - (end_branch_prob): Likewise. - * tree-core.h (struct tree_exp): Add condition_uid. - * tree-profile.cc (struct conds_ctx): New. - (CONDITIONS_MAX_TERMS): New. - (EDGE_CONDITION): New. - (topological_cmp): New. - (index_of): New. - (single_p): New. - (single_edge): New. - (contract_edge_up): New. - (struct outcomes): New. - (conditional_succs): New. - (condition_index): New. - (condition_uid): New. - (masking_vectors): New. - (emit_assign): New. - (emit_bitwise_op): New. - (make_top_index_visit): New. - (make_top_index): New. - (paths_between): New. - (struct condcov): New. - (cov_length): New. - (cov_blocks): New. - (cov_masks): New. - (cov_maps): New. - (cov_free): New. - (find_conditions): New. - (struct counters): New. - (find_counters): New. - (resolve_counter): New. - (resolve_counters): New. - (instrument_decisions): New. - (tree_profiling): Check condition_coverage_flag. - (pass_ipa_tree_profile::gate): Likewise. - * tree.h (SET_EXPR_UID): New. - (EXPR_COND_UID): New. - -2024-04-04 Richard Sandiford <richard.sandiford@arm.com> - - PR target/114577 - * config/aarch64/aarch64-sve-builtins.h (aarch64_sve::lookup_fndecl): - Declare. - * config/aarch64/aarch64-sve-builtins.cc (aarch64_sve::lookup_fndecl): - New function. - * config/aarch64/aarch64-sve-builtins-base.cc (is_undef): Likewise. - (svset_neonq_impl::expand): Optimise expansions whose first argument - is undefined. - -2024-04-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114485 - * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): - vect_step_op_neg isn't OK for partial vectors but only - for unknown niter. - -2024-04-04 Jakub Jelinek <jakub@redhat.com> - - PR c++/114537 - * fold-const.cc (native_encode_initializer): Look through - NON_LVALUE_EXPR if val is INTEGER_CST. - -2024-04-04 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114555 - * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): For - m_bitfld_load and save_cast_conditional add any needed PHIs - and adjust t4 accordingly. - -2024-04-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114551 - * tree-ssa-loop-split.cc (split_loop): If the guard is - only conditionally evaluated rewrite computations with - possibly undefined overflow to unsigned arithmetic. - -2024-04-04 Eugene Rozenfeld <erozen@microsoft.com> - - PR gcov-profile/113765 - * auto-profile.cc (afdo_annotate_cfg): Don't set full_profile to true - -2024-04-03 Mark Wielaard <mark@klomp.org> - - * config/i386/i386.opt.urls: Regenerate. - -2024-04-03 H.J. Lu <hjl.tools@gmail.com> - - PR tree-optimization/114115 - * cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes. - (cgraph_node): Add called_by_ifunc_resolver. - * cgraphunit.cc (symbol_table::compile): Call - symtab_node::check_ifunc_callee_symtab_nodes. - * symtab.cc (check_ifunc_resolver): New. - (ifunc_ref_map): Likewise. - (is_caller_ifunc_resolver): Likewise. - (symtab_node::check_ifunc_callee_symtab_nodes): Likewise. - * tree-profile.cc (gimple_gen_ic_func_profiler): Disable indirect - call profiling for IFUNC resolvers and their callees. - -2024-04-03 Tobias Burnus <tburnus@baylibre.com> - - * lto-wrapper.cc (compile_offload_image): Prefix 'offload_args' - suffix by the target name. - -2024-04-03 Tobias Burnus <tburnus@baylibre.com> - - * doc/install.texi (amdgcn-*-amdhsa): Update Newlib recommendation - and update wording for LLVM 18 release. - -2024-04-03 Tobias Burnus <tburnus@baylibre.com> - - PR other/111966 - * config/gcn/mkoffload.cc (get_arch): New; moved -march= flag - handling from ... - (main): ... here; call it to handle --with-arch config option - and -march= commandline. - -2024-04-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114552 - * expr.cc (emit_push_insn): Only use store_constructor for - immediate_const_ctor_p if int_expr_size matches size. - -2024-04-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114557 - PR tree-optimization/114480 - * tree-phinodes.cc (release_phi_node): Return PHIs from - allocation buckets not covered by free_phinodes to GC. - (remove_phi_node): Release the PHI LHS before freeing the - PHI node. - * tree-vect-loop.cc (vectorizable_live_operation): Get PHI lhs - before releasing it. - -2024-04-03 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/lasx.md: Remove unused code. - * config/loongarch/loongarch-protos.h - (loongarch_split_lsx_copy_d): Remove. - (loongarch_split_lsx_insert_d): Ditto. - (loongarch_split_lsx_fill_d): Ditto. - * config/loongarch/loongarch.cc - (loongarch_split_lsx_copy_d): Ditto. - (loongarch_split_lsx_insert_d): Ditto. - (loongarch_split_lsx_fill_d): Ditto. - * config/loongarch/lsx.md (lsx_vpickve2gr_du): Remove splitter. - (lsx_vpickve2gr_<lsxfmt_f>): Ditto. - (abs<mode>2): Remove expander. - (vabs<mode>2): Rename 2 abs<mode>2. - -2024-04-02 Christophe Lyon <christophe.lyon@linaro.org> - - * config/aarch64/aarch64-option-extensions.def: Fix comment. - -2024-04-02 Tom Tromey <tromey@adacore.com> - - * dwarf2out.cc (print_dw_val) <dw_val_class_loc>: Don't - print newline when not recursing. - -2024-04-02 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.cc (darwin_override_options): Update the - clang major version value in the dsymutil check. - -2024-04-02 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.cc (darwin_override_options): Reduce the debug - level to 2 if dsymutil cannot handle .macinfo sections. - -2024-04-02 Yang Yujie <yangyujie@loongson.cn> - - * config/loongarch/t-loongarch: Add loongarch-def-arrays.h - to OPTION_H_EXTRA. - -2024-04-02 mengqinggang <mengqinggang@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - Xi Ruoyao <xry111@xry111.site> - - * config.gcc: Add --with-tls option to change TLS flavor. - * config/loongarch/genopts/loongarch.opt.in: Add -mtls-dialect to - configure TLS flavor. - * config/loongarch/loongarch-def.h (struct loongarch_target): Add - tls_dialect. - * config/loongarch/loongarch-driver.cc (la_driver_init): Add tls - flavor. - * config/loongarch/loongarch-opts.cc (loongarch_init_target): Add - tls_dialect. - (loongarch_config_target): Ditto. - (loongarch_update_gcc_opt_status): Ditto. - * config/loongarch/loongarch-opts.h (loongarch_init_target): Ditto. - (TARGET_TLS_DESC): New define. - * config/loongarch/loongarch.cc (loongarch_symbol_insns): Add TLS - DESC instructions sequence length. - (loongarch_legitimize_tls_address): New TLS DESC instruction sequence. - (loongarch_option_override_internal): Add la_opt_tls_dialect. - (loongarch_option_restore): Add la_target.tls_dialect. - * config/loongarch/loongarch.md (@got_load_tls_desc<mode>): Normal - code model for TLS DESC. - (got_load_tls_desc_off64): Extreme cmode model for TLS DESC. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch.opt.urls: Ditto. - * doc/invoke.texi: Add a description of the compilation option - '-mtls-dialect={trad,desc}'. - -2024-04-02 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.opt.urls: Regenerate. - -2024-04-01 Yang Yujie <yangyujie@loongson.cn> - - * config/loongarch/genopts/loongarch.opt.in: Mark -m[no-]recip as - aliases to -mrecip={all,none}, respectively. - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch-def.h (ABI_FPU_64): Rename to... - (ABI_FPU64_P): ...this. - (ABI_FPU_32): Rename to... - (ABI_FPU32_P): ...this. - (ABI_FPU_NONE): Rename to... - (ABI_NOFPU_P): ...this. - (ABI_LP64_P): Define. - * config/loongarch/loongarch.cc (loongarch_init_print_operand_punct): - Merged into loongarch_global_init. - (loongarch_cpu_option_override): Renamed to - loongarch_target_option_override. - (loongarch_option_override_internal): Move the work after - loongarch_config_target into loongarch_target_option_override. - (loongarch_global_init): Define. - (INIT_TARGET_FLAG): Move to loongarch-opts.cc. - (loongarch_option_override): Call loongarch_global_init - separately. - * config/loongarch/loongarch-opts.cc (loongarch_parse_mrecip_scheme): - Split the parsing of -mrecip=<string> from - loongarch_option_override_internal. - (loongarch_generate_mrecip_scheme): Define. Split from - loongarch_option_override_internal. - (loongarch_target_option_override): Define. Renamed from - loongarch_cpu_option_override. - (loongarch_init_misc_options): Define. Split from - loongarch_option_override_internal. - (INIT_TARGET_FLAG): Move from loongarch.cc. - * config/loongarch/loongarch-opts.h (loongarch_target_option_override): - New prototype. - (loongarch_parse_mrecip_scheme): New prototype. - (loongarch_init_misc_options): New prototype. - (TARGET_ABI_LP64): Simplify with ABI_LP64_P. - * config/loongarch/loongarch.h (TARGET_RECIP_DIV): Simplify. - Do not reference specific CPU architecture (LA664). - (TARGET_RECIP_SQRT): Same. - (TARGET_RECIP_RSQRT): Same. - (TARGET_RECIP_VEC_DIV): Same. - (TARGET_RECIP_VEC_SQRT): Same. - (TARGET_RECIP_VEC_RSQRT): Same. - -2024-04-01 Lulu Cheng <chenglulu@loongson.cn> - - * doc/invoke.texi: Add descriptions for the compilation - options. - -2024-03-31 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/xiangshan.md (xiangshan_jump): Add branch, jalr, ret - and sfb_alu. - -2024-03-31 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-vector-builtins.cc (expand_builtin): Take - the term built-in over builtin. - -2024-03-31 Pan Li <pan2.li@intel.com> - - * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): - Remove unused var decl. - -2024-03-30 Xi Ruoyao <xry111@xry111.site> - - PR target/114175 - * config/mips/mips.cc (mips_setup_incoming_varargs): Only skip - mips_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P - functions if arg.type is NULL. - -2024-03-29 Andrew Pinski <quic_apinski@quicinc.com> - - * lto-compress.cc (lto_end_uncompression): Use - fatal_error instead of internal_error when ZSTD - is not enabled. - -2024-03-28 Jeff Law <jlaw@ventanamicro.com> - - * config/h8300/extensions.md (zero_extendqihi*): Add output - template for reg->reg case where the regs don't match. - -2024-03-28 Gaius Mulley <(no_default)> - - PR modula2/114517 - * doc/gm2.texi: Mention gm2 treats a # in the first column - as a preprocessor directive unless -fno-cpp is supplied. - -2024-03-28 Jakub Jelinek <jakub@redhat.com> - - * predict.cc (estimate_bb_frequencies): Fix comment typo, - scalling -> scaling. - -2024-03-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/112303 - * profile-count.h (profile_count::operator+): Perform - addition in uint64_t variable and set m_val to MIN of that - val and max_count. - (profile_count::operator+=): Likewise. - (profile_count::operator-=): Formatting fix. - (profile_count::apply_probability): Use safe_scale_64bit - even in the int overload. - -2024-03-28 Jan Hubicka <jh@suse.cz> - - PR middle-end/113907 - * ipa-icf.cc (sem_function::init): Hash PHI operands - (sem_function::compare_phi_node): Add argument about preserving order - -2024-03-28 Richard Biener <rguenther@suse.de> - - PR middle-end/114480 - * cfganal.cc (compute_idf): Use simpler bitmap iteration, - touch work_set only when phi_insertion_points changed. - -2024-03-28 Palmer Dabbelt <palmer@rivosinc.com> - - * config/riscv/riscv.h (REGISTER_NAMES): Add vxsat. - -2024-03-27 Segher Boessenkool <segher@kernel.crashing.org> - - PR rtl-optimization/101523 - * combine.cc (try_combine): Don't do a 2-insn combination if - it does not in fact change I2. - -2024-03-27 Jakub Jelinek <jakub@redhat.com> - - * doc/invoke.texi (Spec Files): Use @var{S} instead of S, - @var{X} instead of X etc. for other placeholders. - -2024-03-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114057 - * tree-vect-slp.cc (vect_bb_slp_mark_live_stmts): Mark - BB reduction remain defs as scalar uses. - -2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/aarch64/aarch64-option-extensions.def (rcpc3): - Fix FEATURE_STRING field to "lrcpc3". - -2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/aarch64/aarch64-option-extensions.def: Add LSE128 - AARCH64_OPT_EXTENSION, adding it as a dependency for the D128 - feature. - * doc/invoke.texi (AArch64 Options): Document +lse128. - -2024-03-26 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-feature-deps.h: Use constexpr for - out-of-line statics. - -2024-03-26 Cupertino Miranda <cupertino.miranda@oracle.com> - - PR target/114431 - * btfout.cc (get_name_for_datasec_entry): Add function. - (btf_asm_datasec_entry): Print label when possible. - -2024-03-26 Richard Ball <richard.ball@arm.com> - - PR target/114272 - * config/aarch64/aarch64-cores.def (AARCH64_CORE): - Change SCHEDULER_IDENT from cortexa55 to cortexa53 - for Cortex-A510 and Cortex-A520. - -2024-03-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/111151 - * fold-const.cc (extract_muldiv_1) <case MAX_EXPR>: Punt for - MULT_EXPR altogether, or for MAX_EXPR if c is -1. - -2024-03-26 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/111736 - * tsan.cc (instrument_expr): Punt on non-generic address space - accesses. - -2024-03-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114471 - * tree-vect-stmts.cc (vectorizable_operation): Verify operand - types are compatible with the result type. - -2024-03-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114464 - * tree-vect-loop.cc (vectorizable_recurr): Verify the latch - vector type is compatible with what we chose for the recurrence. - -2024-03-26 Jakub Jelinek <jakub@redhat.com> - - * cfgloopmanip.cc (update_loop_exit_probability_scale_dom_bbs): - Fix comment typo - multple -> multiple. - * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): - Likewise. - -2024-03-26 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Predefine - __mips_strict_alignment if STRICT_ALIGNMENT. - -2024-03-25 Richard Biener <rguenther@suse.de> - - * config.gcc (amdgcn): Add gfx1036 entries. - * config/gcn/gcn-hsa.h (NO_XNACK): Likewise. - (gcn_local_sym_hash): Likewise. - * config/gcn/gcn-opts.h (enum processor_type): Likewise. - (TARGET_GFX1036): New macro. - * config/gcn/gcn.cc (gcn_option_override): Handle gfx1036. - (gcn_omp_device_kind_arch_isa): Likewise. - (output_file_start): Likewise. - * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __gfx1036__. - (TARGET_CPU_CPP_BUILTINS): Rename __gfx1030 to __gfx1030__. - * config/gcn/gcn.opt: Add gfx1036. - * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1036): New. - (main): Handle gfx1036. - * config/gcn/t-omp-device: Add gfx1036 isa. - * doc/install.texi (amdgcn): Add gfx1036. - * doc/invoke.texi (-march): Likewise. - -2024-03-25 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): Remove error - when V is disabled and init the RVV types and intrinic APIs. - * config/riscv/riscv-vector-builtins.cc (expand_builtin): Report - error if V ext is disabled. - * config/riscv/riscv.cc (riscv_return_value_is_vector_type_p): - Ditto. - (riscv_arguments_is_vector_type_p): Ditto. - (riscv_vector_cc_function_p): Ditto. - * config/riscv/riscv_vector.h: Remove error if V is disable. - -2024-03-23 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.cc (pa_output_global_address): Handle - UNSPEC_DLTIND14R addresses. - * config/pa/pa.h (PRINT_OPERAND_ADDRESS): Output "RT'" for - UNSPEC_DLTIND14R address. - -2024-03-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114433 - * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): For - m_bitfld_load check save_first rather than m_first. - -2024-03-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114425 - * gimple-lower-bitint.cc (build_bitint_stmt_ssa_conflicts): Handle - _Complex large/huge _BitInt types like the large/huge _BitInt types. - -2024-03-23 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/111683 - * tree-predcom.cc (pcom_worker::suitable_component_p): If has_write - and comp_step is RS_NONZERO, return false if any reference in the - component doesn't have DR_STEP a multiple of access size. - -2024-03-23 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md: Add new split pattern described above. - -2024-03-22 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_set_current_function): Adjust diagnostic - for deprecated SIGNAL and INTERRUPT usage without respective header. - -2024-03-22 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn.md (*memory_barrier): Split into RDNA and !RDNA. - (atomic_load<mode>): Adjust RDNA cache settings. - (atomic_store<mode>): Likewise. - (atomic_exchange<mode>): Likewise. - -2024-03-22 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn.cc (gcn_vectorize_preferred_simd_mode): Prefer V32 on - RDNA devices. - -2024-03-22 Andrew Stubbs <ams@baylibre.com> - - * config.gcc (amdgcn): Add gfx1103 entries. - * config/gcn/gcn-hsa.h (NO_XNACK): Likewise. - (gcn_local_sym_hash): Likewise. - * config/gcn/gcn-opts.h (enum processor_type): Likewise. - (TARGET_GFX1103): New macro. - * config/gcn/gcn.cc (gcn_option_override): Handle gfx1103. - (gcn_omp_device_kind_arch_isa): Likewise. - (output_file_start): Likewise. - (gcn_hsa_declare_function_name): Use TARGET_RDNA3, not just gfx1100. - * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __gfx1103__. - * config/gcn/gcn.opt: Add gfx1103. - * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1103): New. - (main): Handle gfx1103. - * config/gcn/t-omp-device: Add gfx1103 isa. - * doc/install.texi (amdgcn): Add gfx1103. - * doc/invoke.texi (-march): Likewise. - -2024-03-22 Andrew Stubbs <ams@baylibre.com> - - * dojump.cc (do_compare_rtx_and_jump): Clear excess bits in vector - bitmasks. - (do_compare_and_jump): Remove now-redundant similar code. - * internal-fn.cc (expand_fn_using_insn): Clear excess bits in vector - bitmasks. - (add_mask_and_len_args): Likewise. - -2024-03-22 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Add pre-define - macro __riscv_v_fixed_vlen when zvl. - * config/riscv/riscv.cc (riscv_handle_rvv_vector_bits_attribute): - New static func to take care of the RVV types decorated by - the attributes. - -2024-03-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR c/109619 - * builtins.cc (fold_builtin_1): Use error_operand_p - instead of checking against ERROR_MARK. - (fold_builtin_2): Likewise. - (fold_builtin_3): Likewise. - -2024-03-22 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/111736 - * ubsan.cc (ubsan_expand_null_ifn, instrument_mem_ref): Avoid - SANITIZE_NULL instrumentation for non-generic address spaces - for which targetm.addr_space.zero_address_valid (as) is true. - -2024-03-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114405 - * gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt): - Set rprec to limb_prec rather than 0 if tprec is divisible by - limb_prec. In the last bf_cur handling, set rprec to (tprec + bo_bit) - % limb_prec rather than tprec % limb_prec and use just rprec instead - of rprec + bo_bit. For build_bit_field_ref offset, divide - (tprec + bo_bit) by limb_prec rather than just tprec. - -2024-03-22 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/114194 - * config/riscv/vector-iterators.md: Split VI into VI_FRAC and VI_NOFRAC. - Only include VI_NOFRAC in V_VLS without TARGET_XTHEADVECTOR. - -2024-03-22 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_expand_prologue): Add missing stack - tie for scalable and final stack adjustment if needed. - Co-authored-by: Raphael Zinsly <rzinsly@ventanamicro.com> - -2024-03-22 Pan Li <pan2.li@intel.com> - - PR target/114352 - * common/config/riscv/riscv-common.cc (struct riscv_func_target_info): - New struct for func decl and target name. - (struct riscv_func_target_hasher): New hasher for hash table mapping - from the fn_decl to fn_target_name. - (riscv_func_decl_hash): New func to compute the hash for fn_decl. - (riscv_func_target_hasher::hash): New func to impl hash interface. - (riscv_func_target_hasher::equal): New func to impl equal interface. - (riscv_cmdline_subset_list): New static var for cmdline subset list. - (riscv_func_target_table_lazy_init): New func to lazy init the func - target hash table. - (riscv_func_target_get): New func to get target name from hash table. - (riscv_func_target_put): New func to put target name into hash table. - (riscv_func_target_remove_and_destory): New func to remove target - info from the hash table and destory it. - (riscv_parse_arch_string): Set the static var cmdline_subset_list. - * config/riscv/riscv-subset.h (riscv_cmdline_subset_list): New static - var for cmdline subset list. - (riscv_func_target_get): New func decl. - (riscv_func_target_put): Ditto. - (riscv_func_target_remove_and_destory): Ditto. - * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): - Take cmdline_subset_list instead of current_subset_list when clone. - (riscv_process_target_attr): Record the func target info to hash table. - (riscv_option_valid_attribute_p): Add new arg tree fndel. - * config/riscv/riscv.cc (riscv_declare_function_name): Consume the - func target info and print the arch message. - -2024-03-22 Pan Li <pan2.li@intel.com> - - PR target/114352 - * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): - Replace implied, combine and check to func finalize. - (riscv_subset_list::finalize): New func impl to take care of - implied, combine ext and related checks. - * config/riscv/riscv-subset.h: Add func decl for finalize. - * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): - Finalize the ext before return succeed. - * config/riscv/riscv.cc (riscv_set_current_function): Reinit the - machine mode before when set cur function. - -2024-03-21 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn.cc (gcn_expand_builtin_1): Comment correction. - -2024-03-21 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn-hsa.h (ASM_SPEC): Pass -mattr=+cumode. - -2024-03-21 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn-run.cc (main): Add an hsa_memory_free calls for each - device_malloc call. - -2024-03-21 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/114396 - * tree-vect-loop.cc (vect_peel_nonlinear_iv_init): Pass utype - and true to wi::from_mpz. - -2024-03-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/111736 - * asan.cc (instrument_derefs): Do not instrument accesses - to non-generic address-spaces. - -2024-03-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113727 - * tree-sra.cc (analyze_access_subtree): Do not allow - replacements in subtrees when grp_partial_lhs. - -2024-03-21 liuhongt <hongtao.liu@intel.com> - - PR middle-end/114347 - * doc/invoke.texi: Document -fexcess-precision=16. - -2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> - - * config/bpf/core-builtins.cc (bpf_core_get_index): Check if - field contains a DECL_NAME. - -2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> - - * config/bpf/btfext-out.cc (cpf_core_reloc_add): Correct for new code. - Add assert to validate the string is set. - * config/bpf/core-builtins.cc (cr_final): Make string struct - field as const. - (process_enum_value): Correct for field type change. - (process_type): Set access string to "0". - -2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> - - * config/bpf/core-builtins.cc (core_field_info): Add - support for POINTER_PLUS_EXPR in the root of the field expression. - (bpf_core_get_index): Likewise. - (pack_field_expr): Make the BTF type to point to the structure - related node, instead of its pointer type. - (make_core_safe_access_index): Correct to new code. - -2024-03-20 Xi Ruoyao <xry111@xry111.site> - - PR target/114407 - * config/loongarch/loongarch-opts.cc (loongarch_config_target): - Fix typo in diagnostic message, enabing -> enabling. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/visium/visium.cc (visium_setup_incoming_varargs): Only skip - TARGET_FUNCTION_ARG_ADVANCE for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Only skip - nios2_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Only skip - function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Only skip - function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Only skip - function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs): Only - skip function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/csky/csky.cc (csky_setup_incoming_varargs): Only skip - csky_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-20 Yury Khrustalev <yury.khrustalev@arm.com> - - * config/aarch64/aarch64-sys-regs.def: Copy from Binutils. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114365 - * gimple-lower-bitint.cc (bitint_large_huge::handle_load): When adding - a PHI node, set iv2 to its result afterwards. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - * tree-ssa-loop-ch.cc (update_profile_after_ch): Fix comment typo: - probabbility -> probability. - (ch_base::copy_headers): Fix comment typo: itrations -> iterations. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/114369 - * system.h (vec_step): Define to vec_step_ when compiling - with clang on PowerPC. - -2024-03-20 demin.han <demin.han@starfivetech.com> - - PR target/112651 - * config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Rename - (enum rvv_max_lmul_enum): Ditto - (TARGET_MAX_LMUL): Ditto - * config/riscv/riscv-v.cc (preferred_simd_mode): Ditto - * config/riscv/riscv-vector-costs.cc (costs::record_potential_unexpected_spills): Ditto - (costs::better_main_loop_than_p): Ditto - * config/riscv/riscv.opt: Replace -param=riscv-autovec-lmul with -mrvv-max-lmul - -2024-03-20 Richard Biener <rguenther@suse.de> - - PR middle-end/113396 - * tree-dfa.cc (get_ref_base_and_extent): Use index range - bounds only if they fit within the address-range constraints - of offset_int. - -2024-03-20 Chenghui Pan <panchenghui@loongson.cn> - - * config/loongarch/loongarch.cc - (loongarch_hard_regno_mode_ok_uncached): Combine UNITS_PER_FP_REG and - UNITS_PER_FPREG macros. - (loongarch_hard_regno_nregs): Ditto. - (loongarch_class_max_nregs): Ditto. - (loongarch_get_separate_components): Ditto. - (loongarch_process_components): Ditto. - * config/loongarch/loongarch.h (UNITS_PER_FPREG): Ditto. - (UNITS_PER_HWFPVALUE): Ditto. - (UNITS_PER_FPVALUE): Ditto. - -2024-03-20 Chenghui Pan <panchenghui@loongson.cn> - - * config/loongarch/lasx.md (vec_cmp<mode><mode256_i>): Remove checking - of loongarch_expand_vec_cmp()'s return value. - (vec_cmpu<ILASX:mode><mode256_i>): Ditto. - * config/loongarch/lsx.md (vec_cmp<mode><mode_i>): Ditto. - (vec_cmpu<ILSX:mode><mode_i>): Ditto. - * config/loongarch/loongarch-protos.h - (loongarch_expand_vec_cmp): Change loongarch_expand_vec_cmp()'s return - type from bool to void. - * config/loongarch/loongarch.cc (loongarch_expand_vec_cmp): Ditto. - -2024-03-20 Chenghui Pan <panchenghui@loongson.cn> - - * config/loongarch/loongarch-protos.h - (loongarch_cfun_has_cprestore_slot_p): Delete. - (loongarch_adjust_insn_length): Delete. - (current_section_name): Delete. - (loongarch_split_symbol_type): Delete. - * config/loongarch/loongarch.cc - (loongarch_case_values_threshold): Delete. - (loongarch_spill_class): Delete. - (TARGET_OPTAB_SUPPORTED_P): Delete. - (TARGET_CASE_VALUES_THRESHOLD): Delete. - (TARGET_SPILL_CLASS): Delete. - -2024-03-20 Lewis Hyatt <lhyatt@gmail.com> - - PR c++/111918 - * diagnostic-core.h (enum diagnostic_t): Add DK_ANY special flag. - * diagnostic.cc (diagnostic_option_classifier::classify_diagnostic): - Make use of DK_ANY to indicate a diagnostic was initially enabled. - (diagnostic_context::diagnostic_enabled): Do not change the type of - a diagnostic if the saved classification is type DK_ANY. - -2024-03-19 Martin Jambor <mjambor@suse.cz> - - PR ipa/108802 - PR ipa/114254 - * ipa-prop.cc (ipa_get_stmt_member_ptr_load_param): Fix case looking - at COMPONENT_REFs directly from a PARM_DECL, also recognize loads from - a pointer parameter. - (ipa_analyze_indirect_call_uses): Also recognize loads from a pointer - parameter, also recognize the case when pfn pointer is loaded in its - own BB. - -2024-03-19 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/99829 - * lra-constraints.cc (lra_constraints): Prevent removing insn - with reverse equivalence to memory if the memory was reloaded. - -2024-03-19 David Malcolm <dmalcolm@redhat.com> - - PR middle-end/114348 - * diagnostic-format-json.cc - (json_stderr_output_format::machine_readable_stderr_p): New. - (json_file_output_format::machine_readable_stderr_p): New. - * diagnostic-format-sarif.cc - (sarif_stream_output_format::machine_readable_stderr_p): New. - (sarif_file_output_format::machine_readable_stderr_p): New. - * diagnostic.cc (diagnostic_context::action_after_output): Move - "fnotice" to before "finish" call, so that we still have the - diagnostic_context. - (fnotice): Bail out if the user requested one of the - machine-readable diagnostic output formats on stderr. - * diagnostic.h - (diagnostic_output_format::machine_readable_stderr_p): New pure - virtual function. - (diagnostic_text_output_format::machine_readable_stderr_p): New. - (diagnostic_context::get_output_format): New accessor. - -2024-03-19 Edwin Lu <ewlu@rivosinc.com> - - PR target/114175 - * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Only skip - riscv_funciton_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL - -2024-03-19 Jonathan Wakely <jwakely@redhat.com> - - * doc/install.texi (Prerequisites): Document use of autogen for - libstdc++. - -2024-03-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114151 - PR tree-optimization/114269 - PR tree-optimization/114322 - PR tree-optimization/114074 - * tree-chrec.cc (chrec_fold_multiply): Restrict the use of - unsigned arithmetic when actual overflow on constant operands - is observed. - -2024-03-19 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/arc/arc.cc (arc_setup_incoming_varargs): Only skip - arc_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-19 Xi Ruoyao <xry111@xry111.site> - - PR target/114175 - * config/loongarch/loongarch.cc - (loongarch_setup_incoming_varargs): Only skip - loongarch_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P - functions if arg.type is NULL. - -2024-03-19 Christophe Lyon <christophe.lyon@linaro.org> - - PR target/114323 - * config/arm/arm-mve-builtins.cc - (function_instance::reads_global_state_p): Take CP_READ_MEMORY - into account. - -2024-03-19 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Only skip - function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-19 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Only skip - rs6000_function_arg_advance_1 for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114375 - * tree-vect-slp.cc (vect_build_slp_tree_2): Compute the - load permutation for masked loads but reject it when any - such is necessary. - * tree-vect-stmts.cc (vectorizable_load): Reject masked - VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not - supported. - -2024-03-19 Mary Bennett <mary.bennett@embecosm.com> - - * common/config/riscv/riscv-common.cc: Create XCVbi extension - support. - * config/riscv/riscv.opt: Likewise. - * config/riscv/corev.md: Implement cv_branch<mode> pattern - for cv.beqimm and cv.bneimm. - * config/riscv/riscv.md: Add CORE-V branch immediate to RISC-V - branch instruction pattern. - * config/riscv/constraints.md: Implement constraints - cv_bi_s5 - signed 5-bit immediate. - * config/riscv/predicates.md: Implement predicate - const_int5s_operand - signed 5 bit immediate. - * doc/sourcebuild.texi: Add XCVbi documentation. - -2024-03-19 Chen Jiawei <jiawei@iscas.ac.cn> - - * config/riscv/riscv-cores.def (RISCV_TUNE): New def. - (RISCV_CORE): Ditto. - * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): New - option. - * config/riscv/riscv.cc: New def. - * config/riscv/riscv.md: New include. - * config/riscv/xiangshan.md: New file. - -2024-03-18 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/110902 - PR analyzer/110928 - PR analyzer/111305 - PR analyzer/111441 - * selftest.h (ASSERT_NE_AT): New macro. - -2024-03-18 Uros Bizjak <ubizjak@gmail.com> - - PR target/111822 - * config/i386/i386-features.cc (smode_convert_cst): New function - to handle SImode, DImode and TImode immediates, generalized from - timode_convert_cst. - (timode_convert_cst): Remove. - (scalar_chain::convert_op): Unify from - general_scalar_chain::convert_op and timode_scalar_chain::convert_op. - (general_scalar_chain::convert_op): Remove. - (timode_scalar_chain::convert_op): Remove. - (timode_scalar_chain::convert_insn): Update the call to - renamed timode_convert_cst. - * config/i386/i386-features.h (class scalar_chain): - Redeclare convert_op as protected class member. - (class general_calar_chain): Remove convert_op. - (class timode_scalar_chain): Ditto. - -2024-03-18 Jan Hubicka <jh@suse.cz> - - * config/i386/zn4zn5.md: Add file missed in the previous commit. - -2024-03-18 Jan Hubicka <jh@suse.cz> - Karthiban Anbazhagan <Karthiban.Anbazhagan@amd.com> - - * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver5. - * common/config/i386/i386-common.cc (processor_names): Add znver5. - (processor_alias_table): Likewise. - * common/config/i386/i386-cpuinfo.h (processor_types): Add new zen - family. - (processor_subtypes): Add znver5. - * config.gcc (x86_64-*-* |...): Likewise. - * config/i386/driver-i386.cc (host_detect_local_cpu): Let - march=native detect znver5 cpu's. - * config/i386/i386-c.cc (ix86_target_macros_internal): Add - znver5. - * config/i386/i386-options.cc (m_ZNVER5): New definition - (processor_cost_table): Add znver5. - * config/i386/i386.cc (ix86_reassociation_width): Likewise. - * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER5 - (PTA_ZNVER5): New definition. - * config/i386/i386.md (define_attr "cpu"): Add znver5. - (Scheduling descriptions) Add znver5.md. - * config/i386/x86-tune-costs.h (znver5_cost): New definition. - * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver5. - (ix86_adjust_cost): Likewise. - * config/i386/x86-tune.def (avx512_move_by_pieces): Add m_ZNVER5. - (avx512_store_by_pieces): Add m_ZNVER5. - * doc/extend.texi: Add znver5. - * doc/invoke.texi: Likewise. - * config/i386/znver4.md: Rename to zn4zn5.md; combine znver4 and znver5 Scheduler. - -2024-03-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/constraints.md (CX2, CX3, CX4): New constraints. - * config/avr/avr-protos.h (avr_xor_noclobber_dconst): New proto. - * config/avr/avr.cc (avr_xor_noclobber_dconst): New function. - * config/avr/avr.md (xorhi3, *xorhi3): Add "d,0,CX2,X" alternative. - (xorpsi3, *xorpsi3): Add "d,0,CX3,X" alternative. - (xorsi3, *xorsi3): Add "d,0,CX4,X" alternative. - -2024-03-18 liuhongt <hongtao.liu@intel.com> - - PR target/114334 - * config/i386/i386.md (mode): Add new number V8BF,V16BF,V32BF. - (MODEF248): New mode iterator. - (ssevecmodesuffix): Hanlde BF and HF. - * config/i386/sse.md (andnot<mode>3): Extend to HF/BF. - (<code><mode>3): Ditto. - -2024-03-18 John David Anglin <danglin@gcc.gnu.org> - - PR rtl-optimization/112415 - * config/pa/pa.cc (pa_emit_move_sequence): Revise condition - for symbolic memory operands. - (pa_legitimate_address_p): Revise LO_SUM condition. - * config/pa/pa.h (INT14_OK_STRICT): Revise define. Move - comment about GNU linker to predicates.md. - * config/pa/predicates.md (floating_point_store_memory_operand): - Revise condition for symbolic memory operands. Update - comment. - -2024-03-17 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.cc (pa_delegitimize_address): Delegitimize UNSPEC_TP. - -2024-03-16 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * config/i386/i386.cc (ix86_setup_incoming_varargs): Only skip - ix86_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions - if arg.type is NULL. - -2024-03-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114329 - * gimple-lower-bitint.cc (struct bitint_large_huge): Declare - build_bit_field_ref method. - (bitint_large_huge::build_bit_field_ref): New method. - (bitint_large_huge::lower_mergeable_stmt): Use it. - -2024-03-15 YunQiang Su <syq@gcc.gnu.org> - - * config/riscv/riscv.opt.urls: Regenerated. - * config/rs6000/sysv4.opt.urls: Likewise. - * config/xtensa/xtensa.opt.urls: Likewise. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - * lower-subreg.cc (resolve_simple_move): Fix comment typo, - betwee -> between. - * edit-context.cc (class line_event): Fix comment typo, - betweeen -> between. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - PR target/114339 - * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp) <case LE>: Fix - a pasto, compare code against LE rather than GE. - -2024-03-15 Joe Ramsay <Joe.Ramsay@arm.com> - - * match.pd: Fix truncation pattern for -fno-signed-zeroes - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114332 - * expr.cc (expand_expr_real_1): EXTEND_BITINT also CALL_EXPR results. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113466 - * gimple-lower-bitint.cc (bitint_large_huge): Add m_returns_twice_calls - member. - (bitint_large_huge::bitint_large_huge): Initialize it. - (bitint_large_huge::~bitint_large_huge): Release it. - (bitint_large_huge::lower_call): Remember ECF_RETURNS_TWICE call stmts - before which at least one statement has been inserted. - (gimple_lower_bitint): Move argument loads before ECF_RETURNS_TWICE - calls to a different block and add corresponding PHIs. - -2024-03-15 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.opt: Support -mstrict-align, and use - TARGET_STRICT_ALIGN as the flag; keep -m(no-)unaligned-access - as alias. - * config/mips/mips.h: Use TARGET_STRICT_ALIGN. - * config/mips/mips.opt.urls: Regenerate. - * doc/invoke.texi: Document -m(no-)strict-algin for MIPSr6. - -2024-03-15 Tejas Belagod <tejas.belagod@arm.com> - - PR middle-end/114108 - * tree-vect-patterns.cc (vect_recog_abd_pattern): Call - vect_convert_output with the correct vecitype. - -2024-03-15 Chenghui Pan <panchenghui@loongson.cn> - - * config/loongarch/lasx.md (lasx_xvpermi_q_<LASX:mode>): - Remove masking of operand 3. - -2024-03-14 Jason Merrill <jason@redhat.com> - - * tree-core.h (enum clobber_kind): Clarify CLOBBER_OBJECT_* - comments. - -2024-03-14 John David Anglin <danglin@gcc.gnu.org> - - PR target/114288 - * config/pa/pa.cc (pa_legitimate_address_p): Don't allow - 14-bit displacements before reload for modes that may use - a floating-point load or store. - -2024-03-14 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.h (INT8_TYPE): Change to signed char. - -2024-03-14 Max Filippov <jcmvbkbc@gmail.com> - - * config/xtensa/xtensa.md (movsi_internal): Move l32i and s32i - patterns ahead of the l32i.n and s32i.n. - -2024-03-14 Jakub Jelinek <jakub@redhat.com> - - * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): Fix comment typo. - -2024-03-14 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113907 - * ipa-icf.cc (sem_item_optimizer::merge_classes): Reset - SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged - functions. - -2024-03-14 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (any_ge): Remove. - (sge<u>_<X:mode><GPR:mode>): Remove. - -2024-03-14 Jakub Jelinek <jakub@redhat.com> - - PR target/114310 - * config/aarch64/aarch64.cc (aarch64_expand_compare_and_swap): For - TImode force newval into a register. - -2024-03-14 Chung-Lin Tang <cltang@baylibre.com> - - * tree.h (OMP_CLAUSE_MAP_READONLY): New macro. - (OMP_CLAUSE__CACHE__READONLY): New macro. - * tree-core.h (struct GTY(()) tree_base): Adjust comments for new - uses of readonly_flag bit in OMP_CLAUSE_MAP_READONLY and - OMP_CLAUSE__CACHE__READONLY. - * tree-pretty-print.cc (dump_omp_clause): Add support for printing - OMP_CLAUSE_MAP_READONLY and OMP_CLAUSE__CACHE__READONLY. - -2024-03-14 Andreas Krebbel <krebbel@linux.ibm.com> - - * config/s390/s390.cc (s390_encode_section_info): Adjust the check - for misaligned symbols. - * config/s390/s390.opt: Improve documentation. - -2024-03-14 Jakub Jelinek <jakub@redhat.com> - - * gimple-iterator.cc (edge_before_returns_twice_call): Copy all - flags and probability from ad_edge to e edge. If CDI_DOMINATORS - are computed, recompute immediate dominator of other_edge->src - and other_edge->dest. - (gsi_safe_insert_before, gsi_safe_insert_seq_before): Update *iter - for the returns_twice call case to the gsi_for_stmt (stmt) to deal - with update it for bb splitting. - -2024-03-14 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-features.cc - (general_scalar_chain::convert_op): Handle REG_EH_REGION note. - (convert_scalars_to_vector): Ditto. - * config/i386/i386-features.h (class scalar_chain): New - memeber control_flow_insns. - -2024-03-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114319 - * gimple-ssa-store-merging.cc - (imm_store_chain_info::try_coalesce_bswap): For 32-bit targets - allow matching __builtin_bswap64 if there is bswapsi2 optab. - -2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * config/s390/s390.cc (s390_secondary_reload): Guard - SYMBOL_FLAG_NOTALIGN2_P. - -2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * config/s390/s390-builtin-types.def: Update to reflect latest - changes. - * config/s390/s390-builtins.def: Streamline vector builtins with - LLVM. - -2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * config/s390/s390-builtins.def (vec_permi): Deprecate. - (vec_ctd): Deprecate. - (vec_ctd_s64): Deprecate. - (vec_ctd_u64): Deprecate. - (vec_ctsl): Deprecate. - (vec_ctul): Deprecate. - (vec_ld2f): Deprecate. - (vec_st2f): Deprecate. - (vec_insert): Deprecate overloads with bool vectors. - -2024-03-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114313 - * gimple-lower-bitint.cc (bitint_large_huge::limb_access): Use - TYPE_SIZE of TREE_TYPE (var) rather than TYPE_SIZE of type. - (bitint_large_huge::handle_load): Pass NULL_TREE rather than - rhs_type to limb_access for the bitfield load cases. - (bitint_large_huge::lower_mergeable_stmt): Pass NULL_TREE rather than - lhs_type to limb_access if nlhs is non-NULL. - -2024-03-13 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/112709 - * asan.cc (maybe_create_ssa_name, maybe_cast_to_ptrmode, - build_check_stmt, maybe_instrument_call, asan_expand_mark_ifn): Use - gsi_safe_insert_before instead of gsi_insert_before. - -2024-03-13 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/112709 - * gimple-iterator.h (gsi_safe_insert_before, - gsi_safe_insert_seq_before): Declare. - * gimple-iterator.cc: Include gimplify.h. - (edge_before_returns_twice_call, adjust_before_returns_twice_call, - gsi_safe_insert_before, gsi_safe_insert_seq_before): New functions. - * ubsan.cc (instrument_mem_ref, instrument_pointer_overflow, - instrument_nonnull_arg, instrument_nonnull_return): Use - gsi_safe_insert_before instead of gsi_insert_before. - (maybe_instrument_pointer_overflow): Use force_gimple_operand, - gimple_seq_add_seq_without_update and gsi_safe_insert_seq_before - instead of force_gimple_operand_gsi. - (instrument_object_size): Likewise. Use gsi_safe_insert_before - instead of gsi_insert_before. - -2024-03-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114121 - * tree-chrec.cc (chrec_fold_plus_1): Guard recursion with - converted operand properly. - (chrec_fold_multiply): Likewise. Handle missed recursion. - -2024-03-12 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/112709 - * asan.cc (has_stmt_been_instrumented_p): Don't instrument call - stores on the caller side unless it is a call to a builtin or - internal function or function doesn't return by hidden reference. - (maybe_instrument_call): Likewise. - (instrument_derefs): Instrument stores to RESULT_DECL if - returning by hidden reference. - -2024-03-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114293 - * tree-ssa-strlen.cc (strlen_pass::handle_builtin_strlen): If - max is smaller than min, set max to ~(size_t)0. - -2024-03-12 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-c.cc (riscv_ext_version_value): Fix - code style greater than 80 chars. - (riscv_cpu_cpp_builtins): Fix useless empty line, indent - with 3 space(s) and argument unalignment. - -2024-03-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114297 - * tree-vect-loop.cc (vectorizable_live_operation): Pass in the - live stmts SLP node to vect_create_epilog_for_reduction. - -2024-03-12 Andrew Pinski <quic_apinski@quicinc.com> - - PR driver/114314 - * common.opt (fmultiflags): Add RejectNegative. - -2024-03-11 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * config/aarch64/aarch64.md: Rename aarch_ to aarch64_. - * config/aarch64/aarch64.opt: Likewise. - * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Likewise. - * config/aarch64/aarch64.cc (aarch64_expand_prologue): Likewise. - (aarch64_expand_epilogue): Likewise. - (aarch64_post_cfi_startproc): Likewise. - (aarch64_handle_no_branch_protection): Copy and rename. - (aarch64_handle_standard_branch_protection): Likewise. - (aarch64_handle_pac_ret_protection): Likewise. - (aarch64_handle_pac_ret_leaf): Likewise. - (aarch64_handle_pac_ret_b_key): Likewise. - (aarch64_handle_bti_protection): Likewise. - (aarch64_override_options): Update branch protection validation. - (aarch64_handle_attr_branch_protection): Likewise. - * config/arm/aarch-common-protos.h (aarch_validate_mbranch_protection): - Pass branch protection type description as argument. - (struct aarch_branch_protect_type): Move from aarch-common.h. - * config/arm/aarch-common.cc (aarch_handle_no_branch_protection): - Remove. - (aarch_handle_standard_branch_protection): Remove. - (aarch_handle_pac_ret_protection): Remove. - (aarch_handle_pac_ret_leaf): Remove. - (aarch_handle_pac_ret_b_key): Remove. - (aarch_handle_bti_protection): Remove. - (aarch_validate_mbranch_protection): Pass branch protection type - description as argument. - * config/arm/aarch-common.h (enum aarch_key_type): Remove. - (struct aarch_branch_protect_type): Remove. - * config/arm/arm-c.cc (arm_cpu_builtins): Remove aarch_ra_sign_key. - * config/arm/arm.cc (arm_handle_no_branch_protection): Copy and rename. - (arm_handle_standard_branch_protection): Likewise. - (arm_handle_pac_ret_protection): Likewise. - (arm_handle_pac_ret_leaf): Likewise. - (arm_handle_bti_protection): Likewise. - (arm_configure_build_target): Update branch protection validation. - * config/arm/arm.opt: Remove aarch_ra_sign_key. - -2024-03-11 Richard Biener <rguenther@suse.de> - - PR middle-end/114299 - * gimplify.cc (internal_get_tmp_var): When gimplification - of VAL failed, return a decl. - -2024-03-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114278 - * tree-ssa.cc (maybe_optimize_var): If large/huge _BitInt vars are no - longer addressable, set DECL_NOT_GIMPLE_REG_P on them. - -2024-03-11 Eric Botcazou <ebotcazou@adacore.com> - - PR debug/113519 - PR debug/113777 - * dwarf2out.cc (gen_enumeration_type_die): In the reverse case, - generate the DIE with the same parent as in the regular case. - -2024-03-11 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/95351 - * fold-const.cc (merge_truthop_with_opposite_arm): Use - the type of the operands of the comparison and not the type - of the comparison. - -2024-03-10 jlaw <jeffreyalaw@gmail.com> - - PR tree-optimization/110199 - * tree-ssa-scopedtables.cc - (avail_exprs_stack::simplify_binary_operation): Generalize handling - of MIN_EXPR/MAX_EXPR to allow additional simplifications. Canonicalize - comparison operands for other cases. - -2024-03-10 Pan Li <pan2.li@intel.com> - - * tree-vect-stmts.cc (vectorizable_store): Enable the assert - during transform process. - (vectorizable_load): Ditto. - -2024-03-10 jlaw <jeffreyalaw@gmail.com> - - PR target/102250 - * doc/install.texi: Document need for python when building - RISC-V compilers. - -2024-03-10 jlaw <jeffreyalaw@gmail.com> - - PR target/111362 - * mode-switching.cc (optimize_mode_switching): Only process - NONDEBUG insns. - -2024-03-09 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md: Fix typos in comment, indentation glitches - and some other nits. - -2024-03-09 Jakub Jelinek <jakub@redhat.com> - - PR target/114284 - * fwprop.cc (try_fwprop_subst_pattern): Don't propagate - src containing MEMs unless prop.likely_profitable_p (). - -2024-03-09 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc (loongarch_print_operand_reloc): - Support 'Q' for R_LARCH_RELAX for TLS IE. - (loongarch_output_move): Use 'Q' to print R_LARCH_RELAX for TLS - IE. - * config/loongarch/loongarch.md (ld_from_got<mode>): Likewise. - -2024-03-09 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_rtx_costs_1) [PLUS]: Determine cost for - usum_widenqihi and add_zero_extend1. - [MINUS]: Determine costs for udiff_widenqihi, sub+zero_extend, - sub+sign_extend. - * config/avr/avr.md (*addhi3.sign_extend1, *subhi3.sign_extend2): - Compute exact insn lengths. - (*usum_widenqihi3): Allow input operands to commute. - -2024-03-09 Jakub Jelinek <jakub@redhat.com> - - * config/i386/i386.opt.urls: Regenerate. - -2024-03-09 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/sync.md (atomic_cas_value_strong<mode>): - In loongarch64, a sign extension operation is added when - operands[2] is a register operand and the mode is SImode. - -2024-03-08 Martin Jambor <mjambor@suse.cz> - - PR ipa/113757 - * tree-inline.cc (redirect_all_calls): Remove code adding SSAs to - id->killed_new_ssa_names. - -2024-03-08 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/113790 - * lra-assigns.cc (assign_by_spills): Set up all_spilled_pseudos - for non-reload pseudo too. - -2024-03-08 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.cc (bpf_expand_cpymem, bpf_expand_setmem): Do - not attempt inline expansion if size is above threshold. - * config/bpf/bpf.opt (-minline-memops-threshold): New option. - * doc/invoke.texi (eBPF Options) <-minline-memops-threshold>: - Document. - -2024-03-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114269 - PR tree-optimization/114074 - * tree-chrec.cc (chrec_fold_plus_1): Handle sign-conversions - in the third CASE_CONVERT case as well. - (chrec_fold_multiply): Handle sign-conversions from unsigned - by performing the operation in the unsigned type. - -2024-03-08 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md (*addhi3_zero_extend.ashift1): New pattern. - * config/avr/avr.cc (avr_rtx_costs_1) [PLUS]: Compute its cost. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - * bb-reorder.cc (fix_up_fall_thru_edges): Fix up checking assert, - asm_noperands < 0 means it is not asm goto too. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - PR target/38534 - * config/i386/i386.opt (mnoreturn-no-callee-saved-registers): New - option. - * config/i386/i386-options.cc (ix86_set_func_type): Don't use - TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP unless - ix86_noreturn_no_callee_saved_registers is enabled. - * doc/invoke.texi (-mnoreturn-no-callee-saved-registers): Document. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - PR debug/113918 - * dwarf2out.cc (gen_field_die): Emit DW_AT_export_symbols - on anonymous unions or structs for -gdwarf-5 or -gno-strict-dwarf. - -2024-03-08 demin.han <demin.han@starfivetech.com> - - PR target/114264 - * config/riscv/riscv-vector-costs.cc: Fix ICE - -2024-03-08 Haochen Gui <guihaoc@gcc.gnu.org> - - * fwprop.cc (forward_propagate_into): Return false for volatile set - source rtx. - -2024-03-07 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/113618 - * config/aarch64/aarch64.cc (aarch64_copy_one_block): Remove. - (aarch64_expand_cpymem): Emit single load/store only. - (aarch64_set_one_block): Emit single stores only. - -2024-03-07 Robin Dapp <rdapp@ventanamicro.com> - - PR middle-end/114196 - * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): Merge - vectorization guards. - -2024-03-07 Jonathan Wakely <jwakely@redhat.com> - - * doc/cppopts.texi: Remove incorrect claim about -dD not - outputting predefined macros. - -2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com> - - PR target/113950 - * config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to operand1 - and simplify else if with else. - -2024-03-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * system.h: Include safe-ctype.h after C++ standard headers. - -2024-03-07 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/110079 - * bb-reorder.cc (fix_crossing_unconditional_branches): Don't adjust - asm goto. - -2024-03-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105533 - * expmed.cc (choose_mult_variant): Only try the val - 1 variant - if val is not HOST_WIDE_INT_MIN or if mode has exactly - HOST_BITS_PER_WIDE_INT precision. Avoid triggering UB while computing - val - 1. - -2024-03-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105533 - * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference) <case ARRAY_REF>: - Multiple op->off by BITS_PER_UNIT instead of shifting it left by - LOG2_BITS_PER_UNIT. - -2024-03-07 Yang Yujie <yangyujie@loongson.cn> - - * config.gcc: Add a case for loongarch*-*-linux-musl*. - * config/loongarch/linux.h: Disable the multilib-compatible - treatment for *musl* targets. - * config/loongarch/musl.h: New file. - -2024-03-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114009 - * genmatch.cc (decision_tree::gen): Emit ARG_UNUSED for captures - argument even for GENERIC, not just for GIMPLE. - * match.pd (a * !a -> 0): New simplifications. - -2024-03-07 demin.han <demin.han@starfivetech.com> - - * config/riscv/riscv-protos.h (expand_vec_cmp): Change proto - * config/riscv/riscv-v.cc (expand_vec_cmp): Use default arguments - (expand_vec_cmp_float): Adapt arguments - -2024-03-06 Uros Bizjak <ubizjak@gmail.com> - - PR target/114232 - * config/i386/mmx.md (negv2qi2): Enable for optimize_size instead - of optimize_function_for_size_p. Explictily enable for TARGET_SSE2. - (negv2qi SSE reg splitter): Enable for TARGET_SSE2 only. - (<plusminus:insn>v2qi3): Enable for optimize_size instead - of optimize_function_for_size_p. Explictily enable for TARGET_SSE2. - (<plusminus:insn>v2qi SSE reg splitter): Enable for TARGET_SSE2 only. - (<any_shift:insn>v2qi3): Enable for optimize_size instead - of optimize_function_for_size_p. - -2024-03-06 Robin Dapp <rdapp@ventanamicro.com> - - PR target/114200 - PR target/114202 - * config/riscv/vector.md: Use vmv[1248]r.v instead of vmv.v.v. - -2024-03-06 Robin Dapp <rdapp@ventanamicro.com> - - * config/riscv/riscv-vector-costs.cc (adjust_stmt_cost): Move... - (costs::adjust_stmt_cost): ... to here and add vec_load/vec_store - offset handling. - (costs::add_stmt_cost): Also adjust cost for statements without - stmt_info. - * config/riscv/riscv-vector-costs.h: Define zero constant. - -2024-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/113915 - * config/arm/arm.md (NOCOND): Improve comment. - (arm_rev*) Add predicable. - * config/arm/arm.cc (arm_final_prescan_insn): Add check for - PREDICABLE_YES. - -2024-03-06 Jeff Law <jlaw@ventanamicro.com> - - PR target/113001 - PR target/112871 - * config/riscv/riscv.cc (expand_conditional_move): Do not swap - operands when the comparison operand is the same as the false - arm for a NE test. - -2024-03-06 Uros Bizjak <ubizjak@gmail.com> - - * config/i386/i386-expand.cc (ix86_expand_move) [TARGET_MACHO]: - Eliminate common code and use generic code instead. - -2024-03-06 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_rtx_costs_1) [PLUS+ZERO_EXTEND]: Adjust - rtx cost. - -2024-03-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114239 - * tree-vect-loop.cc (vect_get_vect_def): Remove. - (vect_create_epilog_for_reduction): The passed in stmt_info - should now be the live stmt that produces the scalar reduction - result. Revert PR114192 fix. Base reduction info off - info_for_reduction. Remove special handling of - early-break/peeled, restore original vector def gathering. - Make sure to pick the correct exit PHIs. - (vectorizable_live_operation): Pass in the proper stmt_info - for early break exits. - -2024-03-06 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-feature-deps.h (feature_deps::info): Add - out-of-class definitions of static constants. - -2024-03-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114249 - * tree-vect-slp.cc (vect_build_slp_instance): Move making - a BB reduction lane number even ... - (vect_slp_check_for_roots): ... here to avoid leaking - pattern defs. - -2024-03-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114246 - * tree-ssa-dse.cc (increment_start_addr): Strip useless - type conversions from the adjusted address. - -2024-03-06 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114190 - * config/i386/i386-features.cc (rest_of_handle_insert_vzeroupper): - Call df_remove_problem for df_note before calling df_analyze. - -2024-03-05 Cupertino Miranda <cupertino.miranda@oracle.com> - Indu Bhagat <indu.bhagat@oracle.com> - - PR debug/114186 - * dwarf2ctf.cc (gen_ctf_array_type): Invoke the ctf_add_array () - in the correct order of the dimensions. - (gen_ctf_subrange_type): Refactor out handling of - DW_TAG_subrange_type DIE to here. - -2024-03-05 Richard Sandiford <richard.sandiford@arm.com> - - PR sanitizer/97696 - * asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int. - -2024-03-05 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.md (stride_type): Remove luti_consecutive - and luti_strided. - * config/aarch64/aarch64-sme.md - (@aarch64_sme_lut<LUTI_BITS><mode>): Remove stride_type attribute. - (@aarch64_sme_lut<LUTI_BITS><mode>_strided2): Delete. - (@aarch64_sme_lut<LUTI_BITS><mode>_strided4): Likewise. - * config/aarch64/aarch64-early-ra.cc (is_stride_candidate) - (early_ra::maybe_convert_to_strided_access): Remove support for - strided LUTI2 and LUTI4. - -2024-03-05 Richard Earnshaw <rearnsha@arm.com> - - PR target/113510 - * config/arm/thumb1.md (peephole2 to fuse mov imm/add SP): Use - low_register_operand. - -2024-03-05 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md: Add two RTL peepholes for PLUS, IOR and AND - in HI, PSI, SI that swap operation order from "X = CST, X o= Y" - to "X = Y, X o= CST". - -2024-03-05 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.h (ADDITIONAL_REGISTER_NAMES): Add - s9 as an alias of r22. - -2024-03-05 Roger Sayle <roger@nextmovesoftware.com> - - * config/avr/avr-protos.h (avr_out_insv): New proto. - * config/avr/avr.cc (avr_out_insv): New function. - (avr_adjust_insn_length) [ADJUST_LEN_INSV]: Handle case. - (avr_cbranch_cost) [ZERO_EXTRACT]: Adjust rtx costs. - * config/avr/avr.md (define_attr "adjust_len") Add insv. - (andhi3, *andhi3, andpsi3, *andpsi3, andsi3, *andsi3): - Add constraint alternative where the 3rd operand is a power - of 2, and the source register may differ from the destination. - (*insv.any_shift.<mode>_split): Call avr_out_insv to output - instructions. Set attr "length" to "insv". - * config/avr/constraints.md (Cb2, Cb3, Cb4): New constraints. - -2024-03-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114231 - * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when - processing a BB SLP root. - -2024-03-05 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114211 - * lower-subreg.cc (resolve_simple_move): For double-word - rotates by BITS_PER_WORD if there is overlap between source - and destination use a temporary. - -2024-03-05 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114157 - * gimple-lower-bitint.cc: Include stor-layout.h. - (mergeable_op): Return true for BIT_FIELD_REF. - (struct bitint_large_huge): Declare handle_bit_field_ref method. - (bitint_large_huge::handle_bit_field_ref): New method. - (bitint_large_huge::handle_stmt): Use it for BIT_FIELD_REF. - -2024-03-05 Jakub Jelinek <jakub@redhat.com> - - PR target/114116 - * config/i386/i386.h (enum call_saved_registers_type): Add - TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP enumerator. - * config/i386/i386-options.cc (ix86_set_func_type): Remove - has_no_callee_saved_registers variable, add no_callee_saved_registers - instead, initialize it depending on whether it is - no_callee_saved_registers function or not. Don't set it if - no_caller_saved_registers attribute is present. Adjust users. - * config/i386/i386.cc (ix86_function_ok_for_sibcall): Handle - TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP like - TYPE_NO_CALLEE_SAVED_REGISTERS. - (ix86_save_reg): Handle TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP. - -2024-03-05 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_v_adjust_bytesize): Cleanup unused - mode_size related code. - -2024-03-05 Patrick Palka <ppalka@redhat.com> - - * doc/invoke.texi (-Wno-global-module): Document. - -2024-03-04 David Faust <david.faust@oracle.com> - - * config/bpf/bpf-protos.h (bpf_expand_setmem): New prototype. - * config/bpf/bpf.cc (bpf_expand_setmem): New. - * config/bpf/bpf.md (setmemdi): New define_expand. - -2024-03-04 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/113010 - * combine.cc (simplify_comparison): Guard the - WORD_REGISTER_OPERATIONS check on scalar_int_mode of SUBREG_REG - and initialize inner_mode. - -2024-03-04 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/arm/iterators.md (supf): Remove VMLALDAVXQ_U, VMLALDAVXQ_P_U, - VMLALDAVAXQ_U cases. - (VMLALDAVXQ): Remove iterator. - (VMLALDAVXQ_P): Likewise. - (VMLALDAVAXQ): Likewise. - * config/arm/mve.md (mve_vstrwq_p_fv4sf): Replace use of <MVE_VPRED> - mode iterator attribute with V4BI mode. - * config/arm/unspecs.md (VMLALDAVXQ_U, VMLALDAVXQ_P_U, - VMLALDAVAXQ_U): Remove unused unspecs. - -2024-03-04 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/arm/arm.md (mve_safe_imp_xlane_pred): New attribute. - * config/arm/iterators.md (mve_vmaxmin_safe_imp): New iterator - attribute. - * config/arm/mve.md (vaddvq_s, vaddvq_u, vaddlvq_s, vaddlvq_u, - vaddvaq_s, vaddvaq_u, vmaxavq_s, vmaxvq_u, vmladavq_s, vmladavq_u, - vmladavxq_s, vmlsdavq_s, vmlsdavxq_s, vaddlvaq_s, vaddlvaq_u, - vmlaldavq_u, vmlaldavq_s, vmlaldavq_u, vmlaldavxq_s, vmlsldavq_s, - vmlsldavxq_s, vrmlaldavhq_u, vrmlaldavhq_s, vrmlaldavhxq_s, - vrmlsldavhq_s, vrmlsldavhxq_s, vrmlaldavhaq_s, vrmlaldavhaq_u, - vrmlaldavhaxq_s, vrmlsldavhaq_s, vrmlsldavhaxq_s, vabavq_s, vabavq_u, - vmladavaq_u, vmladavaq_s, vmladavaxq_s, vmlsdavaq_s, vmlsdavaxq_s, - vmlaldavaq_s, vmlaldavaq_u, vmlaldavaxq_s, vmlsldavaq_s, - vmlsldavaxq_s): Added mve_safe_imp_xlane_pred. - -2024-03-04 Stam Markianos-Wright <stam.markianos-wright@arm.com> - - * config/arm/arm.md (mve_unpredicated_insn): New attribute. - * config/arm/arm.h (MVE_VPT_PREDICATED_INSN_P): New define. - (MVE_VPT_UNPREDICATED_INSN_P): Likewise. - (MVE_VPT_PREDICABLE_INSN_P): Likewise. - * config/arm/vec-common.md (mve_vshlq_<supf><mode>): Add attribute. - * config/arm/mve.md (arm_vcx1q<a>_p_v16qi): Add attribute. - (arm_vcx1q<a>v16qi): Likewise. - (arm_vcx1qav16qi): Likewise. - (arm_vcx1qv16qi): Likewise. - (arm_vcx2q<a>_p_v16qi): Likewise. - (arm_vcx2q<a>v16qi): Likewise. - (arm_vcx2qav16qi): Likewise. - (arm_vcx2qv16qi): Likewise. - (arm_vcx3q<a>_p_v16qi): Likewise. - (arm_vcx3q<a>v16qi): Likewise. - (arm_vcx3qav16qi): Likewise. - (arm_vcx3qv16qi): Likewise. - (@mve_<mve_insn>q_<supf><mode>): Likewise. - (@mve_<mve_insn>q_int_<supf><mode>): Likewise. - (@mve_<mve_insn>q_<supf>v4si): Likewise. - (@mve_<mve_insn>q_n_<supf><mode>): Likewise. - (@mve_<mve_insn>q_r_<supf><mode>): Likewise. - (@mve_<mve_insn>q_f<mode>): Likewise. - (@mve_<mve_insn>q_m_<supf><mode>): Likewise. - (@mve_<mve_insn>q_m_n_<supf><mode>): Likewise. - (@mve_<mve_insn>q_m_r_<supf><mode>): Likewise. - (@mve_<mve_insn>q_m_f<mode>): Likewise. - (@mve_<mve_insn>q_int_m_<supf><mode>): Likewise. - (@mve_<mve_insn>q_p_<supf>v4si): Likewise. - (@mve_<mve_insn>q_p_<supf><mode>): Likewise. - (@mve_<mve_insn>q<mve_rot>_<supf><mode>): Likewise. - (@mve_<mve_insn>q<mve_rot>_f<mode>): Likewise. - (@mve_<mve_insn>q<mve_rot>_m_<supf><mode>): Likewise. - (@mve_<mve_insn>q<mve_rot>_m_f<mode>): Likewise. - (mve_v<absneg_str>q_f<mode>): Likewise. - (mve_<mve_addsubmul>q<mode>): Likewise. - (mve_<mve_addsubmul>q_f<mode>): Likewise. - (mve_vadciq_<supf>v4si): Likewise. - (mve_vadciq_m_<supf>v4si): Likewise. - (mve_vadcq_<supf>v4si): Likewise. - (mve_vadcq_m_<supf>v4si): Likewise. - (mve_vandq_<supf><mode>): Likewise. - (mve_vandq_f<mode>): Likewise. - (mve_vandq_m_<supf><mode>): Likewise. - (mve_vandq_m_f<mode>): Likewise. - (mve_vandq_s<mode>): Likewise. - (mve_vandq_u<mode>): Likewise. - (mve_vbicq_<supf><mode>): Likewise. - (mve_vbicq_f<mode>): Likewise. - (mve_vbicq_m_<supf><mode>): Likewise. - (mve_vbicq_m_f<mode>): Likewise. - (mve_vbicq_m_n_<supf><mode>): Likewise. - (mve_vbicq_n_<supf><mode>): Likewise. - (mve_vbicq_s<mode>): Likewise. - (mve_vbicq_u<mode>): Likewise. - (@mve_vclzq_s<mode>): Likewise. - (mve_vclzq_u<mode>): Likewise. - (@mve_vcmp_<mve_cmp_op>q_<mode>): Likewise. - (@mve_vcmp_<mve_cmp_op>q_n_<mode>): Likewise. - (@mve_vcmp_<mve_cmp_op>q_f<mode>): Likewise. - (@mve_vcmp_<mve_cmp_op>q_n_f<mode>): Likewise. - (@mve_vcmp_<mve_cmp_op1>q_m_f<mode>): Likewise. - (@mve_vcmp_<mve_cmp_op1>q_m_n_<supf><mode>): Likewise. - (@mve_vcmp_<mve_cmp_op1>q_m_<supf><mode>): Likewise. - (@mve_vcmp_<mve_cmp_op1>q_m_n_f<mode>): Likewise. - (mve_vctp<MVE_vctp>q<MVE_vpred>): Likewise. - (mve_vctp<MVE_vctp>q_m<MVE_vpred>): Likewise. - (mve_vcvtaq_<supf><mode>): Likewise. - (mve_vcvtaq_m_<supf><mode>): Likewise. - (mve_vcvtbq_f16_f32v8hf): Likewise. - (mve_vcvtbq_f32_f16v4sf): Likewise. - (mve_vcvtbq_m_f16_f32v8hf): Likewise. - (mve_vcvtbq_m_f32_f16v4sf): Likewise. - (mve_vcvtmq_<supf><mode>): Likewise. - (mve_vcvtmq_m_<supf><mode>): Likewise. - (mve_vcvtnq_<supf><mode>): Likewise. - (mve_vcvtnq_m_<supf><mode>): Likewise. - (mve_vcvtpq_<supf><mode>): Likewise. - (mve_vcvtpq_m_<supf><mode>): Likewise. - (mve_vcvtq_from_f_<supf><mode>): Likewise. - (mve_vcvtq_m_from_f_<supf><mode>): Likewise. - (mve_vcvtq_m_n_from_f_<supf><mode>): Likewise. - (mve_vcvtq_m_n_to_f_<supf><mode>): Likewise. - (mve_vcvtq_m_to_f_<supf><mode>): Likewise. - (mve_vcvtq_n_from_f_<supf><mode>): Likewise. - (mve_vcvtq_n_to_f_<supf><mode>): Likewise. - (mve_vcvtq_to_f_<supf><mode>): Likewise. - (mve_vcvttq_f16_f32v8hf): Likewise. - (mve_vcvttq_f32_f16v4sf): Likewise. - (mve_vcvttq_m_f16_f32v8hf): Likewise. - (mve_vcvttq_m_f32_f16v4sf): Likewise. - (mve_vdwdupq_m_wb_u<mode>_insn): Likewise. - (mve_vdwdupq_wb_u<mode>_insn): Likewise. - (mve_veorq_s><mode>): Likewise. - (mve_veorq_u><mode>): Likewise. - (mve_veorq_f<mode>): Likewise. - (mve_vidupq_m_wb_u<mode>_insn): Likewise. - (mve_vidupq_u<mode>_insn): Likewise. - (mve_viwdupq_m_wb_u<mode>_insn): Likewise. - (mve_viwdupq_wb_u<mode>_insn): Likewise. - (mve_vldrbq_<supf><mode>): Likewise. - (mve_vldrbq_gather_offset_<supf><mode>): Likewise. - (mve_vldrbq_gather_offset_z_<supf><mode>): Likewise. - (mve_vldrbq_z_<supf><mode>): Likewise. - (mve_vldrdq_gather_base_<supf>v2di): Likewise. - (mve_vldrdq_gather_base_wb_<supf>v2di_insn): Likewise. - (mve_vldrdq_gather_base_wb_z_<supf>v2di_insn): Likewise. - (mve_vldrdq_gather_base_z_<supf>v2di): Likewise. - (mve_vldrdq_gather_offset_<supf>v2di): Likewise. - (mve_vldrdq_gather_offset_z_<supf>v2di): Likewise. - (mve_vldrdq_gather_shifted_offset_<supf>v2di): Likewise. - (mve_vldrdq_gather_shifted_offset_z_<supf>v2di): Likewise. - (mve_vldrhq_<supf><mode>): Likewise. - (mve_vldrhq_fv8hf): Likewise. - (mve_vldrhq_gather_offset_<supf><mode>): Likewise. - (mve_vldrhq_gather_offset_fv8hf): Likewise. - (mve_vldrhq_gather_offset_z_<supf><mode>): Likewise. - (mve_vldrhq_gather_offset_z_fv8hf): Likewise. - (mve_vldrhq_gather_shifted_offset_<supf><mode>): Likewise. - (mve_vldrhq_gather_shifted_offset_fv8hf): Likewise. - (mve_vldrhq_gather_shifted_offset_z_<supf><mode>): Likewise. - (mve_vldrhq_gather_shifted_offset_z_fv8hf): Likewise. - (mve_vldrhq_z_<supf><mode>): Likewise. - (mve_vldrhq_z_fv8hf): Likewise. - (mve_vldrwq_<supf>v4si): Likewise. - (mve_vldrwq_fv4sf): Likewise. - (mve_vldrwq_gather_base_<supf>v4si): Likewise. - (mve_vldrwq_gather_base_fv4sf): Likewise. - (mve_vldrwq_gather_base_wb_<supf>v4si_insn): Likewise. - (mve_vldrwq_gather_base_wb_fv4sf_insn): Likewise. - (mve_vldrwq_gather_base_wb_z_<supf>v4si_insn): Likewise. - (mve_vldrwq_gather_base_wb_z_fv4sf_insn): Likewise. - (mve_vldrwq_gather_base_z_<supf>v4si): Likewise. - (mve_vldrwq_gather_base_z_fv4sf): Likewise. - (mve_vldrwq_gather_offset_<supf>v4si): Likewise. - (mve_vldrwq_gather_offset_fv4sf): Likewise. - (mve_vldrwq_gather_offset_z_<supf>v4si): Likewise. - (mve_vldrwq_gather_offset_z_fv4sf): Likewise. - (mve_vldrwq_gather_shifted_offset_<supf>v4si): Likewise. - (mve_vldrwq_gather_shifted_offset_fv4sf): Likewise. - (mve_vldrwq_gather_shifted_offset_z_<supf>v4si): Likewise. - (mve_vldrwq_gather_shifted_offset_z_fv4sf): Likewise. - (mve_vldrwq_z_<supf>v4si): Likewise. - (mve_vldrwq_z_fv4sf): Likewise. - (mve_vmvnq_s<mode>): Likewise. - (mve_vmvnq_u<mode>): Likewise. - (mve_vornq_<supf><mode>): Likewise. - (mve_vornq_f<mode>): Likewise. - (mve_vornq_m_<supf><mode>): Likewise. - (mve_vornq_m_f<mode>): Likewise. - (mve_vornq_s<mode>): Likewise. - (mve_vornq_u<mode>): Likewise. - (mve_vorrq_<supf><mode>): Likewise. - (mve_vorrq_f<mode>): Likewise. - (mve_vorrq_m_<supf><mode>): Likewise. - (mve_vorrq_m_f<mode>): Likewise. - (mve_vorrq_m_n_<supf><mode>): Likewise. - (mve_vorrq_n_<supf><mode>): Likewise. - (mve_vorrq_s<mode>): Likewise. - (mve_vorrq_s<mode>): Likewise. - (mve_vsbciq_<supf>v4si): Likewise. - (mve_vsbciq_m_<supf>v4si): Likewise. - (mve_vsbcq_<supf>v4si): Likewise. - (mve_vsbcq_m_<supf>v4si): Likewise. - (mve_vshlcq_<supf><mode>): Likewise. - (mve_vshlcq_m_<supf><mode>): Likewise. - (mve_vshrq_m_n_<supf><mode>): Likewise. - (mve_vshrq_n_<supf><mode>): Likewise. - (mve_vstrbq_<supf><mode>): Likewise. - (mve_vstrbq_p_<supf><mode>): Likewise. - (mve_vstrbq_scatter_offset_<supf><mode>_insn): Likewise. - (mve_vstrbq_scatter_offset_p_<supf><mode>_insn): Likewise. - (mve_vstrdq_scatter_base_<supf>v2di): Likewise. - (mve_vstrdq_scatter_base_p_<supf>v2di): Likewise. - (mve_vstrdq_scatter_base_wb_<supf>v2di): Likewise. - (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Likewise. - (mve_vstrdq_scatter_offset_<supf>v2di_insn): Likewise. - (mve_vstrdq_scatter_offset_p_<supf>v2di_insn): Likewise. - (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn): Likewise. - (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn): Likewise. - (mve_vstrhq_<supf><mode>): Likewise. - (mve_vstrhq_fv8hf): Likewise. - (mve_vstrhq_p_<supf><mode>): Likewise. - (mve_vstrhq_p_fv8hf): Likewise. - (mve_vstrhq_scatter_offset_<supf><mode>_insn): Likewise. - (mve_vstrhq_scatter_offset_fv8hf_insn): Likewise. - (mve_vstrhq_scatter_offset_p_<supf><mode>_insn): Likewise. - (mve_vstrhq_scatter_offset_p_fv8hf_insn): Likewise. - (mve_vstrhq_scatter_shifted_offset_<supf><mode>_insn): Likewise. - (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Likewise. - (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>_insn): Likewise. - (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Likewise. - (mve_vstrwq_<supf>v4si): Likewise. - (mve_vstrwq_fv4sf): Likewise. - (mve_vstrwq_p_<supf>v4si): Likewise. - (mve_vstrwq_p_fv4sf): Likewise. - (mve_vstrwq_scatter_base_<supf>v4si): Likewise. - (mve_vstrwq_scatter_base_fv4sf): Likewise. - (mve_vstrwq_scatter_base_p_<supf>v4si): Likewise. - (mve_vstrwq_scatter_base_p_fv4sf): Likewise. - (mve_vstrwq_scatter_base_wb_<supf>v4si): Likewise. - (mve_vstrwq_scatter_base_wb_fv4sf): Likewise. - (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Likewise. - (mve_vstrwq_scatter_base_wb_p_fv4sf): Likewise. - (mve_vstrwq_scatter_offset_<supf>v4si_insn): Likewise. - (mve_vstrwq_scatter_offset_fv4sf_insn): Likewise. - (mve_vstrwq_scatter_offset_p_<supf>v4si_insn): Likewise. - (mve_vstrwq_scatter_offset_p_fv4sf_insn): Likewise. - (mve_vstrwq_scatter_shifted_offset_<supf>v4si_insn): Likewise. - (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Likewise. - (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si_insn): Likewise. - (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Likewise. - -2024-03-04 Marek Polacek <polacek@redhat.com> - - * doc/extend.texi: Update [[gnu::no_dangling]]. - -2024-03-04 Andrew Stubbs <ams@baylibre.com> - - * dojump.cc (do_compare_and_jump): Use full-width integers for shifts. - * expr.cc (store_constructor): Likewise. - (do_store_flag): Likewise. - -2024-03-04 Mark Wielaard <mark@klomp.org> - - * common.opt.urls: Regenerate. - * config/avr/avr.opt.urls: Likewise. - * config/i386/i386.opt.urls: Likewise. - * config/pru/pru.opt.urls: Likewise. - * config/riscv/riscv.opt.urls: Likewise. - * config/rs6000/rs6000.opt.urls: Likewise. - -2024-03-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114197 - * tree-if-conv.cc (bitfields_to_lower_p): Do not lower if - there are volatile bitfield accesses. - (pass_if_conversion::execute): Throw away result if the - if-converted and original loops are not nested as expected. - -2024-03-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114164 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Fail if - the code generated for mask argument setup is not supported. - -2024-03-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114203 - * tree-ssa-loop-niter.cc (build_cltz_expr): Apply CTZ->CLZ - adjustment before making the result defined at zero. - -2024-03-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114192 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Use the - appropriate def for the live out stmt in case of an alternate - exit. - -2024-03-04 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114209 - * gimple-lower-bitint.cc (bitint_large_huge::limb_access): Call - unshare_expr when creating a MEM_REF from MEM_REF. - (bitint_large_huge::lower_stmt): Call unshare_expr. - -2024-03-04 Jakub Jelinek <jakub@redhat.com> - - PR target/114184 - * config/i386/i386-expand.cc (ix86_expand_move): If XFmode op1 - is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or - register. - -2024-03-04 Roger Sayle <roger@nextmovesoftware.com> - - PR target/114187 - * simplify-rtx.cc (simplify_context::simplify_subreg): Call - lowpart_subreg to perform type conversion, to avoid confusion - over the offset to use in the call to simplify_reg_subreg. - -2024-03-03 Greg McGary <gkm@rivosinc.com> - - PR rtl-optimization/113010 - * combine.cc (simplify_comparison): Simplify a SUBREG on - WORD_REGISTER_OPERATIONS targets only if it is a zero-extending - MEM load. - -2024-03-03 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc: Resolve ATTRIBUTE_UNUSED. - Use bool in place of int for boolean logic (if possible). - Move declarations to definitions (if possible). - * config/avr/avr.md: Use C++ comments. Fix some indentation glitches. - * config/avr/avr-dimode.md: Same. - * config/avr/constraints.md: Same. - * config/avr/predicates.md: Same. - -2024-03-03 Uros Bizjak <ubizjak@gmail.com> - - PR target/113720 - * config/alpha/alpha.md (umuldi3_highpart): Remove expander. - (*umuldi3_highpart_reg): Rename to umuldi3_highpart and - simplify insn RTX using UMUL_HIGHPART rtx_code. - (*umuldi3_highpart_const): Remove. - -2024-03-03 Georg-Johann Lay <avr@gjlay.de> - - PR target/114100 - * config/avr/avr-protos.h (_reg_unused_after): Remove proto. - * config/avr/avr.cc (_reg_unused_after): Make static. And - add 3rd argument to skip the current insn. - (reg_unused_after): Adjust call of reg_unused_after. - (avr_out_plus_1) [AVR_TINY && -mfuse-add >= 2]: Don't output - unneeded frame pointer adjustments. - -2024-03-03 Georg-Johann Lay <avr@gjlay.de> - - PR target/92729 - * config/avr/avr.md (define_attr "cc"): Remove. - * config/avr/avr-protos.h (avr_out_plus): Remove pcc argument - from prototype. - * config/avr/avr.cc (avr_out_plus_1): Remove pcc argument and - its uses. Add insn argument. - (avr_out_plus_symbol): Remove pcc argument and its uses. - (avr_out_plus): Remove pcc argument and its uses. - Adjust calls of avr_out_plus_symbol and avr_out_plus_1. - (avr_out_round): Adjust call of avr_out_plus. - -2024-03-03 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_init_cumulative_args): Fix a typo - from r14-9273. - -2024-03-03 Oleg Endo <olegendo@gcc.gnu.org> - - PR target/101737 - * config/sh/sh.cc (sh_is_nott_insn): Handle case where the input - is not an insn, but e.g. a code label. - -2024-03-02 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.md (REG_0, ... REG_36): New define_constants. - * config/avr/avr.cc: Use them instead of magic numbers when it - means a register number. - -2024-03-02 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc: Adjust some comments. - -2024-03-02 Georg-Johann Lay <avr@gjlay.de> - - PR target/114100 - * config/avr/avr.cc (avr_out_plus_1) [-mtiny-stack]: Only adjust - the low part of the frame pointer with 8-bit stack pointer. - -2024-03-01 Patrick Palka <ppalka@redhat.com> - - PR c++/104919 - PR c++/106009 - * tree-inline.cc (remap_decl): Handle copy_decl returning the - original decl. - (remap_decls): Handle remap_decl returning the original decl. - (copy_fn): Adjust copy_decl callback to skip TYPE_DECL and - CONST_DECL. - -2024-03-01 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.md (zero_extendqi<SUPERQI:mode>2_internal): Fix - type attribute. - (extendsidi2_internal, movhf_hardfloat, movhf_softfloat): Likewise. - (movdi_32bit, movdi_64bit, movsi_internal): Likewise. - (movhi_internal, movqi_internal): Likewise. - (movsf_softfloat, movsf_hardfloat): Likewise. - (movdf_hardfloat_rv32, movdf_hardfloat_rv64): Likewise. - (movdf_softfloat): Likewise. - -2024-03-01 Marek Polacek <polacek@redhat.com> - - PR c++/110358 - PR c++/109642 - * doc/extend.texi: Document gnu::no_dangling. - * doc/invoke.texi: Mention that gnu::no_dangling disables - -Wdangling-reference. - -2024-03-01 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.opt: Overhaul help screen. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - Tobias Burnus <tburnus@baylibre.com> - - PR c++/110347 - * gimplify.cc (omp_notice_variable): Fix 'shared' arg to - lang_hooks.decls.omp_disregard_value_expr for - (first)private in target regions. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114136 - * calls.cc (expand_call): For TYPE_NO_NAMED_ARGS_STDARG_P set - n_named_args initially before INIT_CUMULATIVE_ARGS to - structure_value_addr_parm rather than 0, after it don't modify - it if strict_argument_naming and clear only if - !pretend_outgoing_varargs_named. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - - PR debug/114015 - * dwarf2out.cc (should_move_die_to_comdat): Return false for - aggregates without DW_AT_byte_size attribute or with non-constant - DW_AT_byte_size. - -2024-03-01 Georg-Johann Lay <avr@gjlay.de> - - * doc/invoke.texi (AVR Options) <-mfuse-add=level>: Document - valid values for level. - -2024-03-01 Richard Biener <rguenther@suse.de> - - PR middle-end/114070 - * match.pd ((c ? a : b) op d --> c ? (a op d) : (b op d)): - Allow the folding if before lowering and the current IL - isn't supported with vcond_mask. - -2024-03-01 xuli <xuli1@eswincomputing.com> - - * config/riscv/riscv.cc (TARGET_GNU_ATTRIBUTES): Add riscv_vector_cc - attribute to riscv_attribute_table. - (riscv_vector_cc_function_p): Return true if FUNC is a riscv_vector_cc function. - (riscv_fntype_abi): Add riscv_vector_cc attribute check. - * doc/extend.texi: Add riscv_vector_cc attribute description. - -2024-03-01 Pan Li <pan2.li@intel.com> - - PR target/112817 - * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Replace - RVV_FIXED_VLMAX to RVV_VECTOR_BITS_ZVL. - * config/riscv/riscv-opts.h (enum riscv_autovec_preference_enum): Remove. - (enum rvv_vector_bits_enum): New enum for different RVV vector bits. - * config/riscv/riscv-selftests.cc (riscv_run_selftests): Update - comments for option replacement. - * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Replace enum of - riscv_autovec_preference to rvv_vector_bits. - (vls_mode_valid_p): Ditto. - (estimated_poly_value): Ditto. - * config/riscv/riscv.cc (riscv_convert_vector_chunks): Rename to - vector chunks and honor new option mrvv-vector-bits. - (riscv_override_options_internal): Update comments and rename the - vector chunks. - * config/riscv/riscv.opt: Add option mrvv-vector-bits and remove - internal option param=riscv-autovec-preference. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - - * function.cc (assign_parms): Only call assign_parms_setup_varargs - early for TYPE_NO_NAMED_ARGS_STDARG_P functions if fnargs is empty. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114156 - * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Allow - rhs1 of a VCE to have no underlying variable if it is a load and - handle that case. - -2024-02-29 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/114159 - * function.cc (function_name): Make param const. - * function.h (function_name): Likewise. - -2024-02-29 Georg-Johann Lay <avr@gjlay.de> - - PR target/114100 - * doc/invoke.texi (AVR Options) <-mfuse-add>: Document. - * config/avr/avr.opt (-mfuse-add=): New target option. - * common/config/avr/avr-common.cc (avr_option_optimization_table) - [OPT_LEVELS_1_PLUS]: Set -mfuse-add=1. - [OPT_LEVELS_2_PLUS]: Set -mfuse-add=2. - * config/avr/avr-passes.def (avr_pass_fuse_add): Insert new pass. - * config/avr/avr-protos.h (avr_split_tiny_move) - (make_avr_pass_fuse_add): New protos. - * config/avr/avr.md [AVR_TINY]: New post-reload splitter uses - avr_split_tiny_move to split indirect memory accesses. - (gen_move_clobbercc): New define_expand helper. - * config/avr/avr.cc (avr_pass_data_fuse_add): New pass data. - (avr_pass_fuse_add): New class from rtl_opt_pass. - (make_avr_pass_fuse_add, avr_split_tiny_move): New functions. - (reg_seen_between_p, emit_move_ccc, emit_move_ccc_after): New functions. - (avr_legitimate_address_p) [AVR_TINY]: Don't restrict offsets - of PLUS addressing for AVR_TINY. - (avr_regno_mode_code_ok_for_base_p) [AVR_TINY]: Ignore -mstrict-X. - (avr_out_plus_1) [AVR_TINY]: Tweak ++Y and --Y. - (avr_mode_code_base_reg_class) [AVR_TINY]: Always return POINTER_REGS. - -2024-02-29 Georg-Johann Lay <avr@gjlay.de> - - PR target/114132 - * config/avr/avr.h (CUMULATIVE_ARGS) <has_stack_args>: New field. - * config/avr/avr.cc (avr_init_cumulative_args): Initialize it. - (avr_function_arg): Set it. - (avr_frame_pointer_required_p): Use it instead of .nregs. - -2024-02-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/108174 - * config/aarch64/aarch64-builtins.cc (aarch64_memtag_builtin_data): Make - static and mark with GTY. - -2024-02-29 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md - (loongarch_<crc>_w_<size>_w_extended): New define_insn. - -2024-02-29 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (CRC): New define_int_iterator. - (crc): New define_int_attr. - (loongarch_crc_w_<size>_w, loongarch_crcc_w_<size>_w): Unify - into ... - (loongarch_<crc>_w_<size>_w): ... here. - -2024-02-29 Kito Cheng <kito.cheng@sifive.com> - - PR target/114130 - * config/riscv/sync.md (atomic_compare_and_swap<mode>): Sign - extend the expected value if needed. - -2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> - - * config.gcc (target_gtfiles): Change coreout to btfext-out. - (extra_objs): Change coreout to btfext-out. - * config/bpf/coreout.cc: Rename to btfext-out.cc. - * config/bpf/btfext-out.cc: Add. - * config/bpf/coreout.h: Rename to btfext-out.h. - * config/bpf/btfext-out.h: Add. - * config/bpf/core-builtins.cc: Change include. - * config/bpf/core-builtins.h: Change include. - * config/bpf/t-bpf: Accomodate renamed files. - -2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> - - PR target/113453 - * config/bpf/bpf.cc (bpf_function_prologue): Define target - hook. - * config/bpf/coreout.cc (brf_ext_info_section) - (btf_ext_info): Move from coreout.h - (btf_ext_funcinfo, btf_ext_lineinfo): Add struct. - (bpf_core_reloc): Rename to btf_ext_core_reloc. - (btf_ext): Add static variable. - (btfext_info_sec_find_or_add, SEARCH_NODE_AND_RETURN) - (bpf_create_or_find_funcinfo, bpt_create_core_reloc) - (btf_ext_add_string, btf_funcinfo_type_callback) - (btf_add_func_info_for, btf_validate_funcinfo) - (btf_ext_info_len, output_btfext_func_info): Add function. - (output_btfext_header, bpf_core_reloc_add) - (output_btfext_core_relocs, btf_ext_init, btf_ext_output): - Change to support new structs. - * config/bpf/coreout.h (btf_ext_funcinfo, btf_ext_lineinfo): - Move and change in coreout.cc. - (btf_add_func_info_for, btf_ext_add_string): Add prototypes. - -2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> - - * config/bpf/bpf.cc (bpf_option_override): Make .BTF.ext - enabled by default for BPF. - (bpf_file_end): Call BTF deallocation. - (bpf_asm_init_sections): Correct condition. - * dwarf2ctf.cc (ctf_debug_finalize): Conditionally execute BTF - deallocation. - (ctf_debuf_finish): Correct condition for calling - ctf_debug_finalize. - -2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> - - * btfout.cc (output_btf_func_types): Use FOR_EACH_VEC_ELT. - (traverse_btf_func_types): Define function. - * ctfc.h (funcs_traverse_callback): Typedef for function - prototype. - (traverse_btf_func_types): Add prototype. - -2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> - - * btfout.cc (btf_collect_dataset): Corrects BTF type id. - -2024-02-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113831 - PR tree-optimization/108355 - * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Revert - PR113831 fix. - -2024-02-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114121 - * tree-ssa-sccvn.h (vn_reference_s::offset, - vn_reference_s::max_size): New fields. - (vn_reference_insert_pieces): Adjust prototype. - * tree-ssa-pre.cc (phi_translate_1): Preserve offset/max_size. - * tree-ssa-sccvn.cc (vn_reference_eq): Compare offset and - size, allow using "don't know" state. - (vn_walk_cb_data::finish): Pass along offset/max_size. - (vn_reference_lookup_or_insert_for_pieces): Take offset and - max_size as argument and use it. - (vn_reference_lookup_3): Properly adjust offset and max_size - according to the adjusted ao_ref. - (vn_reference_lookup_pieces): Initialize offset and max_size. - (vn_reference_lookup): Likewise. - (vn_reference_lookup_call): Likewise. - (vn_reference_insert): Likewise. - (visit_reference_op_call): Likewise. - (vn_reference_insert_pieces): Take offset and max_size - as argument and use it. - -2024-02-28 Juergen Christ <jchrist@linux.ibm.com> - - PR tree-optimization/114075 - * tree-vect-stmts.cc (vectorizable_operation): Don't emulate floating - point vectors - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114041 - * graphite-sese-to-poly.cc (add_conditions_to_domain): Check for - INTEGRAL_TYPE_P check rather than INTEGER_TYPE. - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113988 - * stor-layout.h (bitwise_mode_for_size): Declare. - * stor-layout.cc (bitwise_mode_for_size): New function. - * gimple-fold.cc (gimple_fold_builtin_memory_op): Use it. - Use bitwise_type_for_mode instead of build_nonstandard_integer_type. - Use BITS_PER_UNIT instead of 8. - -2024-02-27 Uros Bizjak <ubizjak@gmail.com> - - PR target/113871 - * config/i386/mmx.md (V248FI): Add V2BF mode. - (V24FI_32): Ditto. - -2024-02-27 Eric Botcazou <ebotcazou@adacore.com> - - * tree-ssa-dse.cc (compute_trims): Fix description. Return early - if either ref->offset is not byte aligned or ref->size is not known - to be equal to ref->max_size. - (maybe_trim_complex_store): Fix description. - (maybe_trim_constructor_store): Likewise. - (maybe_trim_partially_dead_store): Likewise. - -2024-02-27 Richard Earnshaw <rearnsha@arm.com> - - * config/arm/mmintrin.h: Warn if this header is included without - defining __ENABLE_DEPRECATED_IWMMXT. - -2024-02-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114074 - * tree-chrec.h (chrec_convert_rhs): Default at_stmt arg to NULL. - * tree-chrec.cc (chrec_fold_multiply): Canonicalize inputs. - Handle poly vs. non-poly multiplication correctly with respect - to undefined behavior on overflow. - -2024-02-27 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114044 - * internal-fn.def (CLRSB, CLZ, CTZ, FFS, PARITY): Use - DEF_INTERNAL_INT_EXT_FN macro rather than DEF_INTERNAL_INT_FN. - * internal-fn.h (expand_CLRSB, expand_CLZ, expand_CTZ, expand_FFS, - expand_PARITY): Declare. - * internal-fn.cc (expand_bitquery, expand_CLRSB, expand_CLZ, - expand_CTZ, expand_FFS, expand_PARITY): New functions. - (expand_POPCOUNT): Use expand_bitquery. - -2024-02-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114081 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Perform manual dominator update for prologue peeling. - (vect_do_peeling): Properly update dominators after adding the - prologue-around guard. - -2024-02-26 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.opt (mcall-prologues, mrelax, maccumulate-args) - (mstrict-X): Tag as "Optimization". - -2024-02-26 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_out_compare) [AVR_TINY]: Remove code in - an "if avr_adiw_reg_p()" block that's dead for AVR_TINY. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - H.J. Lu <hjl.tools@gmail.com> - - PR rtl-optimization/113617 - * varasm.cc (default_elf_select_rtx_section): For - references to private symbols in comdat sections - use .data.relro.local.pool.<comdat>, .data.relro.pool.<comdat> - or .rodata.<comdat> comdat sections. - -2024-02-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114099 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Create and fill in a needed virtual LC PHI for the alternate - exits. Remove code dealing with that missing. - -2024-02-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114068 - * tree-vect-loop-manip.cc (get_live_virtual_operand_on_edge): - New function. - (slpeel_tree_duplicate_loop_to_edge_cfg): Add a virtual LC PHI - on the main exit if needed. Remove band-aid for the case - it was missing. - -2024-02-26 H.J. Lu <hjl.tools@gmail.com> - - PR target/114097 - * config/i386/i386-options.cc (ix86_set_func_type): Check - interrupt instead of noreturn attribute. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - - * config/i386/i386.cc (ix86_bitint_type_info): Add support for - !TARGET_64BIT. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114090 - * match.pd ((x >= 0 ? x : 0) + (x <= 0 ? -x : 0) -> abs x): - Restrict pattern to ANY_INTEGRAL_TYPE_P and TYPE_OVERFLOW_UNDEFINED - types. - ((x <= 0 ? -x : 0) -> max(-x, 0)): Likewise. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114084 - * fold-const.cc (fold_binary_loc): Avoid the final associate_trees - if all subtrees of var0 come from one of the op0 or op1 operands - and all subtrees of con0 come from the other one. Don't clear - variables which are never used afterwards. - -2024-02-26 Richard Biener <rguenther@suse.de> - - PR middle-end/114070 - * genmatch.cc (parser::parse_c_expr): Do not record operand - lists but only mark operators used. - * match.pd ((c ? a : b) op (c ? d : e) --> c ? (a op d) : (b op e)): - Properly guard the case of tcc_comparison changing the VEC_COND - value operand type. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - - PR target/114094 - * config/i386/i386.cc (x86_function_profiler): Add missing new-line - to printed instruction. - -2024-02-26 H.J. Lu <hjl.tools@gmail.com> - - PR target/114098 - * config/i386/amxtileintrin.h (_tile_loadconfig): Use - __builtin_ia32_ldtilecfg. - (_tile_storeconfig): Use __builtin_ia32_sttilecfg. - * config/i386/i386-builtin.def (BDESC): Add - __builtin_ia32_ldtilecfg and __builtin_ia32_sttilecfg. - * config/i386/i386-expand.cc (ix86_expand_builtin): Handle - IX86_BUILTIN_LDTILECFG and IX86_BUILTIN_STTILECFG. - * config/i386/i386.md (ldtilecfg): New pattern. - (sttilecfg): Likewise. - -2024-02-24 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/113205 - * tree-vect-slp.cc (vect_optimize_slp_pass::forward_cost): Reject - the proposed layout if it does not allow a source partition with - layout 2 to keep that layout. - -2024-02-24 Jakub Jelinek <jakub@redhat.com> - - * builtins.cc (fold_builtin_isascii): Use HOST_WIDE_INT_UC macro. - * combine.cc (make_field_assignment): Use HOST_WIDE_INT_1U macro. - * double-int.cc (double_int::mask): Use HOST_WIDE_INT_UC macros. - * genattrtab.cc (attr_alt_complement): Use HOST_WIDE_INT_1 macro. - (mk_attr_alt): Use HOST_WIDE_INT_0 macro. - * genautomata.cc (bitmap_set_bit, CLEAR_BIT): Use HOST_WIDE_INT_1 - macros. - * ipa-strub.cc (can_strub_internally_p): Use HOST_WIDE_INT_1 macro. - * loop-iv.cc (implies_p): Use HOST_WIDE_INT_1U macro. - * pretty-print.cc (test_pp_format): Use HOST_WIDE_INT_C and - HOST_WIDE_INT_UC macros. - * rtlanal.cc (nonzero_bits1): Use HOST_WIDE_INT_UC macro. - * tree.cc (build_replicated_int_cst): Use HOST_WIDE_INT_1U macro. - * tree.h (DECL_OFFSET_ALIGN): Use HOST_WIDE_INT_1U macro. - * tree-ssa-structalias.cc (dump_varinfo): Use ~HOST_WIDE_INT_0U - macros. - * wide-int.cc (divmod_internal_2): Use HOST_WIDE_INT_1U macro. - * config/i386/constraints.md (define_constraint "L"): Use - HOST_WIDE_INT_C macro. - * config/i386/i386.md (movabsq split peephole2): Use HOST_WIDE_INT_C - macro. - (movl + movb peephole2): Likewise. - * config/i386/predicates.md (x86_64_zext_immediate_operand): Likewise. - (const_32bit_mask): Likewise. - -2024-02-24 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114073 - * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Handle - VIEW_CONVERT_EXPRs between large/huge _BitInt and non-integer/pointer - types like vector or complex types. - (gimple_lower_bitint): Don't merge VIEW_CONVERT_EXPRs to non-integral - types. Fix up VIEW_CONVERT_EXPR handling. Allow merging - VIEW_CONVERT_EXPR from non-integral/pointer types with a store. - -2024-02-23 Robin Dapp <rdapp@ventanamicro.com> - - PR target/114028 - * config/riscv/riscv-v.cc (rvv_builder::can_duplicate_repeating_sequence_p): - Return false if inner mode is already Pmode. - (rvv_builder::is_all_same_sequence): New function. - (expand_vec_init): Emit broadcast if sequence is all same. - -2024-02-23 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113613 - * config/aarch64/aarch64-early-ra.cc - (early_ra::m_current_region): New member variable. - (early_ra::m_fpr_recency): Likewise. - (early_ra::start_new_region): Bump m_current_region. - (early_ra::allocate_colors): Prefer less recently used registers - in the event of a tie. Add a comment to explain why we prefer(ed) - higher-numbered registers. - (early_ra::find_oldest_color): Prefer less recently used registers - here too. - (early_ra::finalize_allocation): Update recency information for - allocated registers. - (early_ra::process_blocks): Initialize m_current_region and - m_fpr_recency. - -2024-02-23 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113295 - * config/aarch64/aarch64-early-ra.cc - (early_ra::test_strictness): New enum. - (early_ra::is_chain_candidate): Add a strictness parameter to - control whether only correctness matters, or whether both correctness - and heuristics should be used. Handle multiple levels of equivalence. - (early_ra::find_related_start): Update call accordingly. - (early_ra::strided_polarity_pref): Likewise. - (early_ra::form_chains): Likewise. - (early_ra::try_to_chain_allocnos): Use is_chain_candidate in - correctness mode rather than trying to inline the test. - -2024-02-23 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113295 - * config/aarch64/aarch64-early-ra.cc - (early_ra::find_related_start): Account for definitions by shared - registers when testing for a single register definition. - (early_ra::accumulate_defs): New function. - (early_ra::record_copy): If A shares B's register, fold A's - definition information into B's. Fold A's use information into B's. - -2024-02-23 H.J. Lu <hjl.tools@gmail.com> - - * configure.ac (HAVE_AS_R_X86_64_CODE_6_GOTTPOFF): Defined as 1 - if R_X86_64_CODE_6_GOTTPOFF is supported. - * config.in: Regenerated. - * configure: Likewise. - * config/i386/predicates.md (apx_ndd_add_memory_operand): Allow - UNSPEC_GOTNTPOFF if R_X86_64_CODE_6_GOTTPOFF is supported. - -2024-02-23 Richard Earnshaw <rearnsha@arm.com> - - PR target/108120 - * config/arm/neon.md (div<VCVTF:mode>3): Rename from div<mode>3. - Gate with ARM_HAVE_NEON_<MODE>_ARITH. - -2024-02-23 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114054 - * expr.cc (expand_expr_real_2) <case MULT_EXPR>: Use - temp variable instead of target parameter for result. - -2024-02-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114040 - * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): - Use EQ_EXPR rather than LT_EXPR for g2 condition and change its - probability from likely to unlikely. When handling the true true - store, first cast to limb_access_type and then to l's type. - -2024-02-23 Richard Biener <rguenther@suse.de> - - PR target/90785 - * config.gcc: Add ia64*-*-* to the list of obsoleted targets. - -2024-02-23 Palmer Dabbelt <palmer@rivosinc.com> - - PR other/109668 - * config/riscv/arch-canonicalize: Move to python3 - * config/riscv/multilib-generator: Likewise - -2024-02-23 Palmer Dabbelt <palmer@rivosinc.com> - - * doc/invoke.texi: Document -mcpu. - -2024-02-23 Lulu Cheng <chenglulu@loongson.cn> - - * configure: Regenerate. - * configure.ac: Add parameter "--fatal-warnings" to assemble - when checking whether the assemble support conditional branch - relaxation. - -2024-02-22 Jakub Jelinek <jakub@redhat.com> - - PR c/114007 - * doc/extend.texi: (__extension__): Remove comments about scope - tokens vs. two colons. - -2024-02-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/109804 - * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle - DEMANGLE_COMPONENT_UNNAMED_TYPE. - -2024-02-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114048 - * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): MEM_REF - can also produce -1 off. - -2024-02-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114027 - * tree-vect-loop.cc (vecctorizable_reduction): Use optimized - condition reduction classification only for single-element - chains. - -2024-02-22 Jakub Jelinek <jakub@redhat.com> - - PR ipa/111960 - * profile-count.h (profile_count::dump): Remove overload with - char * first argument. - * profile-count.cc (profile_count::dump): Change overload with char * - first argument which uses sprintf into the overfload with FILE * - first argument and use fprintf instead. Remove overload which wrapped - it. - -2024-02-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113993 - * tree-call-cdce.cc (get_no_error_domain): Handle - BUILT_IN_{COSH,SINH,EXP{,M1,2}}{F32X,F64X}. Handle - BUILT_IN_{COSH,SINH,EXP{,M1,2}}L for - REAL_MODE_FORMAT (TYPE_MODE (long_double_type_node))->emax == 16384 - the as the F128 suffixed cases, otherwise as non-suffixed ones. - Handle BUILT_IN_{EXP,POW}10L for - REAL_MODE_FORMAT (TYPE_MODE (long_double_type_node))->emax == 16384 - as (-inf, 4932). - -2024-02-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114038 - * gimple-lower-bitint.cc (bitint_large_huge::lower_mul_overflow): Fix - loop exit condition if end is divisible by limb_prec. - -2024-02-22 YunQiang Su <syq@gcc.gnu.org> - - * doc/invoke.texi(MIPS Options): Fix skipping UrlSuffix - problem of mabi=, mno-flush-func, mexplicit-relocs; - add missing leading - of mbranch-cost option. - * config/mips/mips.opt.urls: Regenerate. - -2024-02-22 Kewen Lin <linkw@linux.ibm.com> - - PR target/109987 - * config/rs6000/constraints.md (we): Update internal doc without - referring to option -mpower9-vector. - * config/rs6000/driver-rs6000.cc (asm_names): Remove mpower9-vector - special handlings. - * config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS, - OTHER_P8_VECTOR_MASKS): Merge to ... - (OTHER_VSX_VECTOR_MASKS): ... here. - * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove - some error message handlings and explicit option mask adjustments on - explicit option power{8,9}-vector conflicting with other options. - (rs6000_print_isa_options): Update comments. - (rs6000_disable_incompatible_switches): Remove power{8,9}-vector - related array items and handlings. - * config/rs6000/rs6000.h (ASM_CPU_SPEC): Remove mpower9-vector - special handlings. - * config/rs6000/rs6000.opt: Make option power{8,9}-vector as - WarnRemoved. - * doc/extend.texi: Remove documentation referring to option - -mpower8-vector. - * doc/invoke.texi: Remove documentation for option - -mpower{8,9}-vector and adjust some documentation referring to them. - * doc/md.texi: Update documentation for constraint we. - * doc/sourcebuild.texi: Remove documentation for powerpc_p8vector_ok. - -2024-02-22 Pan Li <pan2.li@intel.com> - - PR target/114017 - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Upgrade - the version to 0.12. - -2024-02-21 Edwin Lu <ewlu@rivosinc.com> - - * config/riscv/riscv.cc (riscv_sched_variable_issue): Enable assert - -2024-02-21 Edwin Lu <ewlu@rivosinc.com> - Robin Dapp <rdapp.gcc@gmail.com> - - * config/riscv/generic-ooo.md (generic_ooo): Move reservation - (generic_ooo_vec_load): Ditto - (generic_ooo_vec_store): Ditto - (generic_ooo_vec_loadstore_seg): Ditto - (generic_ooo_vec_alu): Ditto - (generic_ooo_vec_fcmp): Ditto - (generic_ooo_vec_imul): Ditto - (generic_ooo_vec_fadd): Ditto - (generic_ooo_vec_fmul): Ditto - (generic_ooo_crypto): Ditto - (generic_ooo_perm): Ditto - (generic_ooo_vec_reduction): Ditto - (generic_ooo_vec_ordered_reduction): Ditto - (generic_ooo_vec_idiv): Ditto - (generic_ooo_vec_float_divsqrt): Ditto - (generic_ooo_vec_mask): Ditto - (generic_ooo_vec_vesetvl): Ditto - (generic_ooo_vec_setrm): Ditto - (generic_ooo_vec_readlen): Ditto - * config/riscv/riscv.md: Include generic-vector-ooo - * config/riscv/generic-vector-ooo.md: New file. To here - -2024-02-21 Edwin Lu <ewlu@rivosinc.com> - - * config/riscv/generic-ooo.md (generic_ooo_sfb_alu): Add reservation - (generic_ooo_branch): Ditto - * config/riscv/generic.md (generic_sfb_alu): Ditto - (generic_fmul_half): Ditto - * config/riscv/riscv.md: Remove cbo, pushpop, and rdfrm types - * config/riscv/sifive-7.md (sifive_7_hfma): Add reservation - (sifive_7_popcount): Ditto - * config/riscv/sifive-p400.md (sifive_p400_clmul): Ditto - * config/riscv/sifive-p600.md (sifive_p600_clmul): Ditto - * config/riscv/vector.md: Change rdfrm to fmove - * config/riscv/zc.md: Change pushpop to load/store - -2024-02-21 Jonathan Wakely <jwakely@redhat.com> - - * doc/invoke.texi (Warning Options): Fix typos. - -2024-02-21 David Faust <david.faust@oracle.com> - - * config/bpf/bpf-protos.h (bpf_expand_cpymem): New. - * config/bpf/bpf.cc: (emit_move_loop, bpf_expand_cpymem): New. - * config/bpf/bpf.md: (cpymemdi, movmemdi): New define_expands. - -2024-02-21 Martin Jambor <mjambor@suse.cz> - - PR ipa/113476 - * ipa-prop.h (ipa_node_params): Convert lattices to a vector, adjust - initializers in the contructor. - (ipa_node_params::~ipa_node_params): Release lattices as a vector. - * ipa-cp.h: New file. - * ipa-cp.cc: Include sreal.h and ipa-cp.h. - (ipcp_value_source): Move to ipa-cp.h. - (ipcp_value_base): Likewise. - (ipcp_value): Likewise. - (ipcp_lattice): Likewise. - (ipcp_agg_lattice): Likewise. - (ipcp_bits_lattice): Likewise. - (ipcp_vr_lattice): Likewise. - (ipcp_param_lattices): Likewise. - (ipa_get_parm_lattices): Remove assert latticess is non-NULL. - (ipa_value_from_jfunc): Adjust a check for empty lattices. - (ipa_context_from_jfunc): Likewise. - (ipa_agg_value_from_jfunc): Likewise. - (merge_agg_lats_step): Do not memset new aggregate lattices to zero. - (ipcp_propagate_stage): Allocate lattices in a vector as opposed to - just in contiguous memory. - (ipcp_store_vr_results): Adjust a check for empty lattices. - * auto-profile.cc: Include sreal.h and ipa-cp.h. - * cgraph.cc: Likewise. - * cgraphclones.cc: Likewise. - * cgraphunit.cc: Likewise. - * config/aarch64/aarch64.cc: Likewise. - * config/i386/i386-builtins.cc: Likewise. - * config/i386/i386-expand.cc: Likewise. - * config/i386/i386-features.cc: Likewise. - * config/i386/i386-options.cc: Likewise. - * config/i386/i386.cc: Likewise. - * config/rs6000/rs6000.cc: Likewise. - * config/s390/s390.cc: Likewise. - * gengtype.cc (open_base_files): Added sreal.h and ipa-cp.h to the - files to be included in gtype-desc.cc. - * gimple-range-fold.cc: Include sreal.h and ipa-cp.h. - * ipa-devirt.cc: Likewise. - * ipa-fnsummary.cc: Likewise. - * ipa-icf.cc: Likewise. - * ipa-inline-analysis.cc: Likewise. - * ipa-inline-transform.cc: Likewise. - * ipa-inline.cc: Include ipa-cp.h, move inclusion of sreal.h higher. - * ipa-modref.cc: Include sreal.h and ipa-cp.h. - * ipa-param-manipulation.cc: Likewise. - * ipa-predicate.cc: Likewise. - * ipa-profile.cc: Likewise. - * ipa-prop.cc: Likewise. - (ipa_node_params_t::duplicate): Assert new lattices remain empty - instead of setting them to NULL. - * ipa-pure-const.cc: Include sreal.h and ipa-cp.h. - * ipa-split.cc: Likewise. - * ipa-sra.cc: Likewise. - * ipa-strub.cc: Likewise. - * ipa-utils.cc: Likewise. - * ipa.cc: Likewise. - * toplev.cc: Likewise. - * tree-ssa-ccp.cc: Likewise. - * tree-ssa-sccvn.cc: Likewise. - * tree-vrp.cc: Likewise. - -2024-02-21 Tamar Christina <tamar.christina@arm.com> - - * config/aarch64/aarch64-arches.def (AARCH64_ARCH): Remove LS64 from - Armv8.7-a. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_mode_emit_local_sme_state): - Use aarch64_gen_compare_zero_and_branch rather than emitting - a CBZ directly. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_option_valid_attribute_p): - Remove duplicated call. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_function_ok_for_sibcall): - Check that each individual piece of state is shared in the same - way, rather than using an aggregate check for PSTATE.ZA. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64.cc (aarch64_mode_emit_local_sme_state): - In the code that commits a lazy save, only zero ZA if the function - has ZA state. Similarly zero ZT0 if the function has ZT0 state. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * config/aarch64/aarch64-sme.md (aarch64_commit_lazy_save): Remove, - directly inserting the associated sequence - * config/aarch64/aarch64.cc (aarch64_mode_emit_local_sme_state): - ...here instead. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113995 - * config/aarch64/aarch64.cc (aarch64_expand_prologue): Don't - fold the SVE allocation into the initial allocation if the - initial allocation includes a VG save. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113220 - * cfgrtl.cc (commit_one_edge_insertion): Handle sequences that - contain jumps even if called after initial RTL expansion. - * mode-switching.cc: Include cfgbuild.h. - (optimize_mode_switching): Allow the sequence returned by the - emit hook to contain internal jumps. Record which blocks - contain such jumps and split the blocks at the end. - * config/aarch64/aarch64.cc (aarch64_mode_emit): Check for - non-debug insns when scanning the sequence. - -2024-02-21 Tobias Burnus <tburnus@baylibre.com> - - * config/nvptx/gen-omp-device-properties.sh: Add 'nvptx64' to arch. - * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Likewise. - -2024-02-21 Dimitar Dimitrov <dimitar@dinux.eu> - - * doc/invoke.texi (-mmcu): Add information about MCU specs. - -2024-02-21 Dimitar Dimitrov <dimitar@dinux.eu> - - * doc/invoke.texi (-minrt): Clarify that main - must take no arguments. - -2024-02-20 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/builtins.def: Use function prototypes of given size - and signedness. - * config/avr/avr.cc (avr_init_builtins): Adjust types required - by builtins.def. - * doc/extend.texi (AVR Built-in Functions): Adjust accordingly. - -2024-02-20 Georg-Johann Lay <avr@gjlay.de> - - * doc/extend.texi (AVR Built-in Functions): Use @defbuiltin - instead of @table. - -2024-02-20 Will Hawkins <hawkinsw@obs.cr> - - * config/bpf/bpf.opt: Add help information for -mcpu. - -2024-02-20 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113805 - * config/aarch64/aarch64-passes.def (pass_late_track_speculation): - New pass. - * config/aarch64/aarch64-protos.h (make_pass_late_track_speculation): - Declare. - * config/aarch64/aarch64.md (is_call): New attribute. - (*and<mode>3nr_compare0): Rename to... - (@aarch64_and<mode>3nr_compare0): ...this. - * config/aarch64/aarch64-sme.md (aarch64_get_sme_state) - (aarch64_tpidr2_save, aarch64_tpidr2_restore): Add is_call attributes. - * config/aarch64/aarch64-speculation.cc: Update file comment to - describe the new late pass. - (aarch64_do_track_speculation): Handle is_call insns like other calls. - (pass_track_speculation): Add an is_late member variable. - (pass_track_speculation::gate): Run the late pass for streaming- - compatible functions and the early pass for other functions. - (make_pass_track_speculation): Update accordingly. - (make_pass_late_track_speculation): New function. - * config/aarch64/aarch64.cc (aarch64_gen_test_and_branch): New - function. - (aarch64_guard_switch_pstate_sm): Use it. - -2024-02-19 Iain Sandoe <iain@sandoe.co.uk> - - * config/aarch64/aarch64-builtins.cc (aarch64_init_rng_builtins): - Register these builtins with a pointer to uint64_t rather than unsigned - DI mode. - -2024-02-19 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/113615 - * config/gcn/gcn-valu.md (define_expand "reduc_<fexpander>_scal_<mode>"): - Conditionalize on '!TARGET_RDNA2_PLUS'. - * config/gcn/gcn.cc (gcn_expand_dpp_shr_insn) - (gcn_expand_reduc_scalar): - 'gcc_checking_assert (!TARGET_RDNA2_PLUS);'. - -2024-02-19 Thomas Schwinge <tschwinge@baylibre.com> - - * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Restore lost - '__gfx90a__' target CPU definition. Add some safeguards for the future. - -2024-02-19 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/54052 - * rtl-ssa/blocks.cc (function_info::place_phis): Filter - local defs by LR_OUT. - -2024-02-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113967 - * match.pd (bit_insert @0 (BIT_FIELD_REF @1 ..) ..): Require - in condition that @rpos is multiple of vector element size. - -2024-02-19 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113696 - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::earliest_fuse_vsetvl_info): - Suppress vsetvl fusion. - -2024-02-18 H.J. Lu <hjl.tools@gmail.com> - - PR target/113912 - * config/i386/i386.cc (ix86_can_use_push2pop2): New. - (ix86_pro_and_epilogue_can_use_push2pop2): Use it. - (ix86_emit_save_regs): Don't generate push2 if - ix86_can_use_push2pop2 return false. - (ix86_expand_epilogue): Don't generate pop2 if - ix86_can_use_push2pop2 return false. - -2024-02-18 Georg-Johann Lay <avr@gjlay.de> - - * doc/invoke.texi (AVR Options) <-mmcu>: Remove "Atmel". - Note on complete device support. - -2024-02-18 Georg-Johann Lay <avr@gjlay.de> - - * doc/extend.texi (AVR Function Attributes): Fuse description - of "signal" and "interrupt" attribute. Link pseudo instruction. - -2024-02-18 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/larchintrin.h (__movgr2fcsr): Remove redundant - symbol type conversions. - (__cacop_d): Likewise. - (__cpucfg): Likewise. - (__asrtle_d): Likewise. - (__asrtgt_d): Likewise. - (__lddir_d): Likewise. - (__ldpte_d): Likewise. - (__crc_w_b_w): Likewise. - (__crc_w_h_w): Likewise. - (__crc_w_w_w): Likewise. - (__crc_w_d_w): Likewise. - (__crcc_w_b_w): Likewise. - (__crcc_w_h_w): Likewise. - (__crcc_w_w_w): Likewise. - (__crcc_w_d_w): Likewise. - (__csrrd_w): Likewise. - (__csrwr_w): Likewise. - (__csrxchg_w): Likewise. - (__csrrd_d): Likewise. - (__csrwr_d): Likewise. - (__csrxchg_d): Likewise. - (__iocsrrd_b): Likewise. - (__iocsrrd_h): Likewise. - (__iocsrrd_w): Likewise. - (__iocsrrd_d): Likewise. - (__iocsrwr_b): Likewise. - (__iocsrwr_h): Likewise. - (__iocsrwr_w): Likewise. - (__iocsrwr_d): Likewise. - (__frecipe_s): Likewise. - (__frecipe_d): Likewise. - (__frsqrte_s): Likewise. - (__frsqrte_d): Likewise. - -2024-02-18 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/larchintrin.h (__iocsrrd_h): Modify the - function return value type to unsigned short. - -2024-02-16 Edwin Lu <ewlu@rivosinc.com> - - * doc/sourcebuild.texi: add scan-assembler-bound - -2024-02-16 Jason Merrill <jason@redhat.com> - - * gdbhooks.py: Fix regex syntax. - -2024-02-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113895 - * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Disable - consistency checking when there are out-of-bound array - accesses. Allow -1 off when from an array reference with - constant index. - -2024-02-16 Kito Cheng <kito.cheng@sifive.com> - - PR target/106543 - * config/riscv/riscv.md (*sge<u>_<X:mode><GPR:mode>): Fix asm - pattern. - -2024-02-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * doc/sourcebuild.texi (Effective-Target Keywords, Other - attribugs): Document linker_plugin. - (Require Support): Document dg-require-linker-plugin. - -2024-02-16 Kito Cheng <kito.cheng@sifive.com> - - PR target/109349 - * common/config/riscv/riscv-common.cc (riscv_arch_help): New. - * config/riscv/riscv-protos.h (RISCV_MAJOR_VERSION_BASE): New. - (RISCV_MINOR_VERSION_BASE): Ditto. - (RISCV_REVISION_VERSION_BASE): Ditto. - * config/riscv/riscv-c.cc (riscv_ext_version_value): Use enum - rather than magic number. - * config/riscv/riscv.h (riscv_arch_help): New. - (EXTRA_SPEC_FUNCTIONS): Add riscv_arch_help. - (DRIVER_SELF_SPECS): Handle -march=help, -print-supported-extensions and - --print-supported-extensions. - * config/riscv/riscv.opt (march=help): New. - (print-supported-extensions): New. - (-print-supported-extensions): New. - * doc/invoke.texi (RISC-V Options): Document -march=help. - -2024-02-16 Tejas Belagod <tejas.belagod@arm.com> - - PR target/113780 - * config/arm/arm.cc (arm_function_ok_for_sibcall): Don't allow tailcalls - for indirect calls with 4 or more arguments in pac-enabled functions. - -2024-02-15 David Faust <david.faust@oracle.com> - - * config/bpf/bpf.md (zero_extendqidi2): Correct asm template to - use ldxb instead of ldxh. - -2024-02-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113921 - * cfgrtl.h (prepend_insn_to_edge): New declaration. - * cfgrtl.cc (insert_insn_on_edge): Clarify behavior in function - comment. - (prepend_insn_to_edge): New function. - * cfgexpand.cc (expand_asm_stmt): Use prepend_insn_to_edge instead of - insert_insn_on_edge. - -2024-02-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/111156 - * tree-vect-loop.cc (vect_dissolve_slp_only_groups): Look - at the pattern stmt if any. - -2024-02-15 Georg-Johann Lay <avr@gjlay.de> - - PR target/113927 - * config/avr/avr.h (AVR_HAVE_ADIW): New macro. - * config/avr/avr-protos.h (avr_adiw_reg_p): New proto. - * config/avr/avr.cc (avr_adiw_reg_p): New function. - (avr_conditional_register_usage) [AVR_TINY]: Don't clear ADDW_REGS. - Replace test_hard_reg_class (ADDW_REGS, ...) with calls to - * config/avr/avr.md: Same. - (attr "isa") <tiny, no_tiny>: Remove. - <adiw, no_adiw>: Add. - (define_insn, define_insn_and_split): When an alternative has - constraint "w", then set attribute "isa" to "adiw". - * config/avr/avr-c.cc (avr_cpu_cpp_builtins) [AVR_HAVE_ADIW]: - Built-in define __AVR_HAVE_ADIW__. - * doc/invoke.texi (AVR Options): Document it. - -2024-02-15 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn-valu.md - (vec_extract<V_MOV:mode><V_MOV_ALT:mode>): Add conditions for RDNA. - * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Check permutation - details are supported on RDNA devices. - -2024-02-15 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/113508 - * doc/md.texi (sdot_prod@var{m}, udot_prod@var{m}, - usdot_prod@var{m}, ssad@var{m}, usad@var{m}, widen_usum@var{m}3, - smulhs@var{m}3, umulhs@var{m}3, smulhrs@var{m}3, umulhrs@var{m}3): - Add sentence about what the mode m is. - -2024-02-15 Andrew Pinski <quic_apinski@quicinc.com> - - * doc/md.texi (widen_ssum, widen_usum, smulhs, umulhs, - smulhrs, umulhrs, sdiv_pow2): Move the 3 outside of the - var. - -2024-02-15 Richard Biener <rguenther@suse.de> - - * tree-ssa-tail-merge.cc (same_succ_hash): Skip debug - stmts. - -2024-02-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113567 - * gimple-lower-bitint.cc (gimple_lower_bitint): For large/huge - _BitInt multiplication, division or modulo with - SSA_NAME_OCCURS_IN_ABNORMAL_PHI lhs and at least one of rhs1 and rhs2 - force the affected inputs into a new SSA_NAME. - -2024-02-14 Uros Bizjak <ubizjak@gmail.com> - - PR target/113871 - * config/i386/mmx.md (V248FI): New mode iterator. - (V24FI_32): DItto. - (vec_shl_<V248FI:mode>): New expander. - (vec_shl_<V24FI_32:mode>): Ditto. - (vec_shr_<V248FI:mode>): Ditto. - (vec_shr_<V24FI_32:mode>): Ditto. - * config/i386/sse.md (vec_shl_<V_128:mode>): Simplify expander. - (vec_shr_<V248FI:mode>): Ditto. - -2024-02-14 Jan Hubicka <jh@suse.cz> - - PR tree-optimization/111054 - * tree-ssa-loop-split.cc (split_loop): Check for profile being present. - -2024-02-14 Tamar Christina <tamar.christina@arm.com> - - * tree-cfg.cc (replace_loop_annotate): Inspect loop edges for annotations. - -2024-02-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113910 - * bitmap.cc (bitmap_hash): Mix the full element "hash" to - the hashval_t hash. - -2024-02-14 Jakub Jelinek <jakub@redhat.com> - - * pretty-print.cc (PTRDIFF_MAX): Define if not yet defined. - (pp_integer_with_precision): For unsigned ptrdiff_t printing - with u, o or x print ptrdiff_t argument converted to - unsigned long long and masked with 2ULL * PTRDIFF_MAX + 1. - -2024-02-14 Richard Biener <rguenther@suse.de> - - PR middle-end/113576 - * expr.cc (do_store_flag): For vector bool compares of vectors - with padding zero that. - * dojump.cc (do_compare_and_jump): Likewise. - -2024-02-14 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/install.texi (Prerequisites): Update gettext link. - -2024-02-13 H.J. Lu <hjl.tools@gmail.com> - - PR target/113876 - * config/i386/i386.cc (ix86_pro_and_epilogue_can_use_push2pop2): - Return false if the incoming stack isn't 16-byte aligned. - -2024-02-13 Tobias Burnus <tburnus@baylibre.com> - - PR middle-end/113904 - * omp-general.cc (struct omp_ts_info): Update for splitting of - OMP_TRAIT_PROPERTY_EXPR into OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. - * omp-selectors.h (enum omp_tp_type): Replace - OMP_TRAIT_PROPERTY_EXPR by OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. - -2024-02-13 Monk Chiang <monk.chiang@sifive.com> - - PR target/113742 - * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Fix - recognizes UNSPEC_AUIPC for RISCV_FUSE_LUI_ADDI. - -2024-02-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113895 - * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Track - offset to discover constant array indices in bits, handle - COMPONENT_REF to bitfields. - -2024-02-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113831 - * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Fix - typo in comment. - -2024-02-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113902 - * tree-vect-loop.cc (move_early_exit_stmts): Track - last_seen_vuse for VUSE updating. - -2024-02-13 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113734 - * tree-vect-loop.cc (vect_transform_loop): Treat the final iteration of - an early break loop as partial. - -2024-02-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113898 - * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Add - missing accumulated off adjustment. - -2024-02-13 Jakub Jelinek <jakub@redhat.com> - - * hwint.h (GCC_PRISZ, fmt_size_t): Fix preprocessor conditions, - instead of comparing SIZE_MAX against INT_MAX and LONG_MAX compare - it against UINT_MAX and ULONG_MAX. - -2024-02-13 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-core.h (emit_diagnostic_valist): Rename overload - to... - (emit_diagnostic_valist_meta): ...this. - * diagnostic.cc (emit_diagnostic_valist): Likewise, to... - (emit_diagnostic_valist_meta): ...this. - -2024-02-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113849 - * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): Don't use - fast path for widening casts where !m_upwards_2limb and lhs_type - has precision which is a multiple of limb_prec. - -2024-02-12 Jakub Jelinek <jakub@redhat.com> - - PR c++/113674 - * attribs.cc (extract_attribute_substring): Remove. - (lookup_scoped_attribute_spec): Don't call it. - -2024-02-12 Jakub Jelinek <jakub@redhat.com> - - * gengtype.cc (adjust_field_rtx_def): Use HOST_SIZE_T_PRINT_UNSIGNED - and cast to fmt_size_t instead of %lu and cast to unsigned long. - -2024-02-12 Christophe Lyon <christophe.lyon@linaro.org> - - * Makefile.in: Add no-info dependency. - * configure.ac: Set BUILD_INFO=no-info if makeinfo is not - available. - * configure: Regenerate. - -2024-02-12 Iain Sandoe <iain@sandoe.co.uk> - - PR target/113855 - * config/i386/darwin.h (DARWIN_HEAP_T_LIB): Moved to be - available to all sub-targets. - * config/i386/darwin32-biarch.h (DARWIN_HEAP_T_LIB): Delete. - * config/i386/darwin64-biarch.h (DARWIN_HEAP_T_LIB): Delete. - -2024-02-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113831 - PR tree-optimization/108355 - * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): When - we see variable array indices and get_ref_base_and_extent - can resolve those to constants fix up the ops to constants - as well. - (ao_ref_init_from_vn_reference): Use 'off' member for - ARRAY_REF and ARRAY_RANGE_REF instead of recomputing it. - (valueize_refs_1): Also fixup 'off' of ARRAY_RANGE_REF. - -2024-02-12 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv-vector-builtins.cc (resolve_overloaded_builtin): - Replace args to arguments for misspelled term. - -2024-02-12 Georg-Johann Lay <avr@gjlay.de> - - PR target/112944 - * config/avr/gen-avr-mmcu-specs.cc (print_mcu) [have_flmap]: - <*link_rodata_in_ram>: Spec undefs symbol __do_flmap_init - when not linked with -mrodata-in-ram. - -2024-02-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113863 - * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): - Record crossed virtual PHIs. - * tree-vect-loop.cc (move_early_exit_stmts): Elide crossed - virtual PHIs. - -2024-02-10 Marek Polacek <polacek@redhat.com> - - DR 2237 - PR c++/107126 - PR c++/97202 - * doc/invoke.texi: Document -Wtemplate-id-cdtor. - -2024-02-10 Jakub Jelinek <jakub@redhat.com> - - * gimple-lower-bitint.cc (itint_large_huge::lower_addsub_overflow): Fix - computation of idx for i == 4 of bitint_prec_huge. - -2024-02-10 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/110754 - * gimple-low.cc (assumption_copy_decl): For TREE_THIS_VOLATILE - decls create PARM_DECL with pointer to original type, set - TREE_READONLY and keep TREE_THIS_VOLATILE, TREE_ADDRESSABLE, - DECL_NOT_GIMPLE_REG_P and DECL_BY_REFERENCE cleared. - (adjust_assumption_stmt_op): For remapped TREE_THIS_VOLATILE decls - wrap PARM_DECL into a simple TREE_THIS_NO_TRAP MEM_REF. - (lower_assumption): For TREE_THIS_VOLATILE vars pass ADDR_EXPR - of the var as argument. - -2024-02-10 Jakub Jelinek <jakub@redhat.com> - - * pretty-print.cc (pp_integer_with_precision): Handle precision 3 for - size_t and precision 4 for ptrdiff_t. Formatting fix. - (pp_format): Document %{t,z}{d,i,u,o,x}. Implement t and z modifiers. - Formatting fixes. - (test_pp_format): Test t and z modifiers. - * gcc.cc (read_specs): Use %td instead of %ld and casts to long. - -2024-02-10 Jakub Jelinek <jakub@redhat.com> - - * ipa-icf.cc (sem_item_optimizer::process_cong_reduction, - sem_item_optimizer::dump_cong_classes): Use HOST_SIZE_T_PRINT_UNSIGNED - and casts to fmt_size_t instead of "%lu" and casts to unsigned long. - * tree.cc (print_debug_expr_statistics): Use HOST_SIZE_T_PRINT_DEC - and casts to fmt_size_t instead of "%ld" and casts to long. - (print_value_expr_statistics, print_type_hash_statistics): Likewise. - * dwarf2out.cc (output_macinfo_op): Use HOST_WIDE_INT_PRINT_UNSIGNED - instead of "%lu" and casts to unsigned long. - * gcov-dump.cc (dump_gcov_file): Use %u instead of %lu and casts to - unsigned long. - * tree-ssa-dom.cc (htab_statistics): Use HOST_SIZE_T_PRINT_DEC - and casts to fmt_size_t instead of "%ld" and casts to long. - * cfgexpand.cc (dump_stack_var_partition): Use - HOST_SIZE_T_PRINT_UNSIGNED and casts to fmt_size_t instead of "%lu" - and casts to unsigned long. - * gengtype.cc (adjust_field_rtx_def): Likewise. - * tree-into-ssa.cc (htab_statistics): Use HOST_SIZE_T_PRINT_DEC - and casts to fmt_size_t instead of "%ld" and casts to long. - * postreload-gcse.cc (dump_hash_table): Likewise. - * ggc-page.cc (alloc_page): Use HOST_SIZE_T_PRINT_UNSIGNED - and casts to fmt_size_t instead of "%lu" and casts to unsigned long. - (ggc_internal_alloc, ggc_free): Likewise. - * genpreds.cc (write_lookup_constraint_1): Likewise. - (write_insn_constraint_len): Likewise. - * tree-dfa.cc (dump_dfa_stats): Use HOST_SIZE_T_PRINT_DEC - and casts to fmt_size_t instead of "%ld" and casts to long. - * varasm.cc (output_constant_pool_contents): Use - HOST_WIDE_INT_PRINT_DEC instead of "%ld" and casts to long. - * var-tracking.cc (dump_var): Likewise. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113783 - * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Look - through VIEW_CONVERT_EXPR for final cast checks. Handle - VIEW_CONVERT_EXPRs from large/huge _BitInt to > MAX_FIXED_MODE_SIZE - INTEGER_TYPEs. - (gimple_lower_bitint): Don't merge mergeable operations or other - casts with VIEW_CONVERT_EXPRs to > MAX_FIXED_MODE_SIZE INTEGER_TYPEs. - * expr.cc (expand_expr_real_1): Don't use convert_modes if either - mode is BLKmode. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - * hwint.h (GCC_PRISZ, fmt_size_t, HOST_SIZE_T_PRINT_DEC, - HOST_SIZE_T_PRINT_UNSIGNED, HOST_SIZE_T_PRINT_HEX, - HOST_SIZE_T_PRINT_HEX_PURE): Define. - * ira-conflicts.cc (build_conflict_bit_table): Use it. Formatting - fixes. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113415 - * cfgexpand.cc (expand_asm_stmt): For asm goto, use - duplicate_insn_chain to duplicate after_rtl_seq sequence instead - of hand written loop with emit_insn of copy_insn and emit original - after_rtl_seq on the last edge. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113818 - * gimple-lower-bitint.cc (add_eh_edge): New function. - (bitint_large_huge::handle_load, - bitint_large_huge::lower_mergeable_stmt, - bitint_large_huge::lower_muldiv_stmt): Use it. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113774 - * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): Don't - emit any comparison if m_first and low + 1 is equal to - m_upwards_2limb, simplify condition for that. If not - single_comparison, not m_first and we can prove that the idx <= low - comparison will be always true, emit instead of idx <= low - comparison low <= low such that cfg cleanup will optimize it at - the end of the pass. - -2024-02-08 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/113735 - * value-relation.cc (equiv_oracle::add_equiv_to_block): Call - limit_check(). - -2024-02-08 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/gen-avr-mmcu-specs.cc (struct McuInfo): New. - (main, print_mcu, diagnose_mrodata_in_ram): Pass it down. - -2024-02-08 H.J. Lu <hjl.tools@gmail.com> - - PR target/113711 - PR target/113733 - * config/i386/constraints.md: List all constraints with j prefix. - (j>): Change auto-dec to auto-inc in documentation. - (je): Changed to a memory constraint with APX NDD TLS operand - check. - (jM): New memory constraint for APX NDD instructions. - (jO): Likewise. - * config/i386/i386-protos.h (x86_poff_operand_p): Removed. - * config/i386/i386.cc (x86_poff_operand_p): Likewise. - * config/i386/i386.md (*add<dwi>3_doubleword): Use rjO. - (*add<mode>_1[SWI48]): Use je and jM. - (addsi_1_zext): Use jM. - (*addv<dwi>4_doubleword_1[DWI]): Likewise. - (*sub<mode>_1[SWI]): Use jM. - (@add<mode>3_cc_overflow_1[SWI]): Likewise. - (*add<dwi>3_doubleword_cc_overflow_1): Use rjO. - (*and<dwi>3_doubleword): Likewise. - (*anddi_1): Use jM. - (*andsi_1_zext): Likewise. - (*and<mode>_1[SWI24]): Likewise. - (*<code><dwi>3_doubleword[any_or]): Use rjO - (*code<mode>_1[any_or SWI248]): Use jM. - (*<code>si_1_zext[zero_extend + any_or]): Likewise. - * config/i386/predicates.md (apx_ndd_memory_operand): New. - (apx_ndd_add_memory_operand): Likewise. - -2024-02-08 Georg-Johann Lay <avr@gjlay.de> - - PR target/113824 - * config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4. - * doc/avr-mmcu.texi: Rebuild. - -2024-02-08 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113808 - * tree-vect-loop.cc (vectorizable_live_operation): Don't cache the - value cross iterations. - -2024-02-08 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/gen-avr-mmcu-specs.cc (print_mcu) <*cpp_mcu>: Spec always - defines __AVR_PM_BASE_ADDRESS__ if the core has it. - -2024-02-08 Richard Biener <rguenther@suse.de> - - * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): - Revert last change to dr_may_alias_p. - -2024-02-08 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/gen-avr-mmcu-specs.cc: Rename spec cc1_misc to - cc1_rodata_in_ram. Rename spec link_misc to link_rodata_in_ram. - Remove spec asm_misc. - * config/avr/specs.h: Same. - -2024-02-08 Pan Li <pan2.li@intel.com> - - PR target/113766 - * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Make - sure the c.arg_num is >= 2 before checking. - (struct build_frm_base): Ditto. - (struct narrow_alu_def): Ditto. - -2024-02-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113796 - * tree-if-conv.cc (combine_blocks): Wipe range-info before - replacing PHIs and inserting predicates. - -2024-02-07 Roger Sayle <roger@nextmovesoftware.com> - Uros Bizjak <ubizjak@gmail.com> - - PR target/113690 - * config/i386/i386-features.cc (timode_convert_cst): New helper - function to convert a TImode CONST_SCALAR_INT_P to a V1TImode - CONST_VECTOR. - (timode_scalar_chain::convert_op): Use timode_convert_cst. - (timode_scalar_chain::convert_insn): Delete REG_EQUAL notes. - Use timode_convert_cst. - -2024-02-07 Victor Do Nascimento <victor.donascimento@arm.com> - - * config/aarch64/aarch64-sys-regs.def: Copy from Binutils. - * config/aarch64/aarch64.h (AARCH64_FL_AIE): New. - (AARCH64_FL_DEBUGv8p9): Likewise. - (AARCH64_FL_FGT2): Likewise.Likewise. - (AARCH64_FL_ITE): Likewise. - (AARCH64_FL_PFAR): Likewise. - (AARCH64_FL_PMUv3_ICNTR): Likewise. - (AARCH64_FL_PMUv3_SS): Likewise. - (AARCH64_FL_PMUv3p9): Likewise. - (AARCH64_FL_RASv2): Likewise. - (AARCH64_FL_S1PIE): Likewise. - (AARCH64_FL_S1POE): Likewise. - (AARCH64_FL_S2PIE): Likewise. - (AARCH64_FL_S2POE): Likewise. - (AARCH64_FL_SCTLR2): Likewise. - (AARCH64_FL_SEBEP): Likewise. - (AARCH64_FL_SPE_FDS): Likewise. - (AARCH64_FL_TCR2): Likewise. - -2024-02-07 Richard Biener <rguenther@suse.de> - - * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): - Only check whether reads are in-bound in places that are not safe. - Fix dependence check. Add missing newline. Clarify comments. - -2024-02-07 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113750 - * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): Check - for single predecessor when doing early break vect. - * tree-vect-loop.cc (move_early_exit_stmts): Get gsi at the start but - after labels. - -2024-02-07 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113731 - * gimple-iterator.cc (gsi_move_before): Take new parameter for update - method. - * gimple-iterator.h (gsi_move_before): Default new param to - GSI_SAME_STMT. - * tree-vect-loop.cc (move_early_exit_stmts): Call gsi_move_before with - GSI_NEW_STMT. - -2024-02-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113756 - * range-op.cc (update_known_bitmask): For GIMPLE_UNARY_RHS, - use TYPE_SIGN (lh.type ()) instead of sign for widest_int::from - of lh_bits value and mask. - -2024-02-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113753 - * wide-int.cc (wi::mul_internal): Unpack op1val and op2val with - UNSIGNED rather than SIGNED. If high or needs_overflow and prec is - not a multiple of HOST_BITS_PER_WIDE_INT, shift left bits above prec - so that they start with r[half_blocks_needed] lowest bit. Fix up - computation of top mask for SIGNED. - -2024-02-07 Pan Li <pan2.li@intel.com> - - PR target/113766 - * config/riscv/riscv-protos.h (resolve_overloaded_builtin): Adjust - the signature of func. - * config/riscv/riscv-c.cc (riscv_resolve_overloaded_builtin): Ditto. - * config/riscv/riscv-vector-builtins.cc (resolve_overloaded_builtin): Make - overloaded func with empty args error. - -2024-02-06 H.J. Lu <hjl.tools@gmail.com> - - PR target/113689 - * config/i386/i386.cc (x86_64_select_profile_regnum): Return - R10_REG after sorry. - -2024-02-06 Andrew Carlotti <andrew.carlotti@arm.com> - - * config/aarch64/aarch64.cc (aarch64_mangle_decl_assembler_name): - Move before new caller, and add ".default" suffix. - (get_suffixed_assembler_name): New. - (make_resolver_func): Use get_suffixed_assembler_name. - (aarch64_generate_version_dispatcher_body): Redo name mangling. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR target/113763 - * config/aarch64/aarch64.cc (aarch64_output_sme_zero_za): Change tiles - element from std::pair<unsigned int, char> to an unnamed struct. - Adjust uses of tile range variable. - -2024-02-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::emit_vsetvl): Fix inifinite compilation. - (pre_vsetvl::remove_vsetvl_pre_insns): Ditto. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/110676 - * gimple-fold.cc (gimple_fold_builtin_strlen): For -fsanitize=address - reset maxlen to sizetype maximum. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113736 - * gimple-lower-bitint.cc (bitint_large_huge::limb_access): Use - var's address space for MEM_REF or VIEW_CONVERT_EXPRs. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113759 - * tree-ssa-math-opts.cc (convert_mult_to_widen): If actual_precision - or from_unsignedN differs from properties of typeN, update typeN - to build_nonstandard_integer_type. If TREE_TYPE (rhsN) is not - uselessly convertible to typeN, convert it using fold_convert or - build_and_insert_cast depending on if rhsN is INTEGER_CST or not. - (convert_plusminus_to_widen): Likewise. - -2024-02-06 Tejas Belagod <tejas.belagod@arm.com> - - PR target/112577 - * config/aarch64/aarch64.cc (aarch64_class_max_nregs): Handle 64-bit - vector structure modes correctly. - -2024-02-05 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/thead.cc (th_print_operand_address): Fix compiler - warning. - -2024-02-05 H.J. Lu <hjl.tools@gmail.com> - - PR target/113689 - * config/i386/i386.cc (x86_64_select_profile_regnum): New. - (x86_function_profiler): Call x86_64_select_profile_regnum to - get a scratch register for large model profiling. - -2024-02-05 Richard Ball <richard.ball@arm.com> - - * config/arm/arm.cc (arm_output_mi_thunk): Emit - insn for bti_c when bti is enabled. - -2024-02-05 Xi Ruoyao <xry111@xry111.site> - - * config/mips/mips-msa.md (neg<mode:MSA>2): Add missing mode for - neg. - -2024-02-05 Xi Ruoyao <xry111@xry111.site> - - * config/mips/mips-msa.md (elmsgnbit): New define_mode_attr. - (neg<mode>2): Change the mode iterator from MSA to IMSA because - in FP arithmetic we cannot use (0 - x) for -x. - (neg<mode>2): New define_insn to implement FP vector negation, - using a bnegi instruction to negate the sign bit. - -2024-02-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113707 - * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): After - checking the avail set treat out-of-region defines as - available. - -2024-02-05 Richard Biener <rguenther@suse.de> - - * tree-vect-data-refs.cc (vect_create_data_ref_ptr): Use - the default mode when building a pointer. - -2024-02-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113737 - * gimple-lower-bitint.cc (gimple_lower_bitint): If GIMPLE_SWITCH - has just a single label, remove it and make single successor edge - EDGE_FALLTHRU. - -2024-02-05 Jakub Jelinek <jakub@redhat.com> - - PR target/113059 - * config/i386/i386-features.cc (rest_of_handle_insert_vzeroupper): - Remove REG_DEAD/REG_UNUSED notes at the end of the pass before - df_analyze call. - -2024-02-05 Richard Biener <rguenther@suse.de> - - PR target/113255 - * config/i386/i386-expand.cc - (expand_set_or_cpymem_prologue_epilogue_by_misaligned_moves): - Use a new pseudo for the skipped number of bytes. - -2024-02-05 Monk Chiang <monk.chiang@sifive.com> - - * config/riscv/riscv-cores.def: Add sifive-p450, sifive-p670. - * doc/invoke.texi (RISC-V Options): Add sifive-p450, - sifive-p670. - -2024-02-05 Monk Chiang <monk.chiang@sifive.com> - - * config/riscv/riscv.md: Include sifive-p400.md. - * config/riscv/sifive-p400.md: New file. - * config/riscv/riscv-cores.def (RISCV_TUNE): Add parameter. - * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): - Add sifive_p400. - * config/riscv/riscv.cc (sifive_p400_tune_info): New. - * config/riscv/riscv.h (TARGET_SFB_ALU): Update. - * doc/invoke.texi (RISC-V Options): Add sifive-p400-series - -2024-02-04 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (*eqne_zero_masked_bits): - Add missing ":SI" to the match_operator. - -2024-02-04 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/xtensa.md (SHI): New mode iterator. - (2 split patterns related to constsynth): - Change to also accept HImode operands. - -2024-02-04 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_rtx_costs): Handle SUBREG and REG - similarly. - -2024-02-04 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/lsx.md (neg<mode:FLSX>2): Remove the - incorrect expand. - * config/loongarch/simd.md (simdfmt_as_i): New define_mode_attr. - (elmsgnbit): Likewise. - (neg<mode:FVEC>2): New define_insn. - * config/loongarch/lasx.md (negv4df2, negv8sf2): Remove as they - are now instantiated in simd.md. - -2024-02-04 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc (loongarch_symbol_insns): Do not - use LSX_SUPPORTED_MODE_P or LASX_SUPPORTED_MODE_P if mode is - MAX_MACHINE_MODE. - -2024-02-04 Li Wei <liwei@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_expand_vselect): Adjust. - (loongarch_expand_vselect_vconcat): Ditto. - (loongarch_try_expand_lsx_vshuf_const): New, use vshuf to implement - all 128-bit constant permutation situations. - (loongarch_expand_lsx_shuffle): Adjust and rename function name. - (loongarch_is_imm_set_shuffle): Renamed function name. - (loongarch_expand_vec_perm_even_odd): Function forward declaration. - (loongarch_expand_vec_perm_even_odd_1): Add implement for 128-bit - extract-even and extract-odd permutations. - (loongarch_is_odd_extraction): Delete. - (loongarch_is_even_extraction): Ditto. - (loongarch_expand_vec_perm_const): Adjust. - -2024-02-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113722 - * wide-int.cc (wi::bswap_large): Rename third argument from - len to xlen and adjust use in safe_uhwi. Add len variable, set - it to BLOCKS_NEEDED (precision) and use it for clearing of val - and as canonize argument. Clear val using memset instead of - a loop. - -2024-02-03 Jakub Jelinek <jakub@redhat.com> - - * ggc-common.cc (gt_pch_save): Allow addr to be equal to - mmi.preferred_base + mmi.size - sizeof (void *). - -2024-02-03 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch-def.h (abi_minimal_isa): Declare. - * config/loongarch/loongarch-opts.cc (abi_minimal_isa): Remove - the ODR-violating locale declaration. - -2024-02-02 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113588 - PR tree-optimization/113467 - * tree-vect-data-refs.cc - (vect_analyze_data_ref_dependence): Choose correct dest and fix checks. - (vect_analyze_early_break_dependences): Update comments. - -2024-02-02 John David Anglin <danglin@gcc.gnu.org> - - PR target/59778 - * config/pa/pa.cc (enum pa_builtins): Add PA_BUILTIN_GET_FPSR - and PA_BUILTIN_SET_FPSR builtins. - * (pa_builtins_icode): Declare. - * (def_builtin, pa_fpu_init_builtins): New. - * (pa_init_builtins): Initialize FPU builtins. - * (pa_builtin_decl, pa_expand_builtin_1): New. - * (pa_expand_builtin): Handle PA_BUILTIN_GET_FPSR and - PA_BUILTIN_SET_FPSR builtins. - * (pa_atomic_assign_expand_fenv): New. - * config/pa/pa.md (UNSPECV_GET_FPSR, UNSPECV_SET_FPSR): New - UNSPECV constants. - (get_fpsr, put_fpsr): New expanders. - (get_fpsr_32, get_fpsr_64, set_fpsr_32, set_fpsr_64): New - insn patterns. - -2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113697 - * config/riscv/riscv-v.cc (expand_reduction): Pass VLMAX avl to scalar move. - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - * doc/extend.texi (Common Type Attributes): Fix typo in - description of hardbool. - -2024-02-02 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113692 - * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Handle casts - from large/huge BITINT_TYPEs to POINTER_TYPE/REFERENCE_TYPE as - final_cast_p. - -2024-02-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113699 - * gimple-lower-bitint.cc (bitint_large_huge::lower_asm): Handle - uninitialized large/huge _BitInt SSA_NAME inputs. - -2024-02-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113705 - * tree-ssa-math-opts.cc (is_widening_mult_rhs_p): Use wide_int_from - around wi::to_wide in order to compare value in prec precision. - -2024-02-02 Lehua Ding <lehua.ding@rivai.ai> - - Revert: - 2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_legitimize_move): Fix poly_int dest generation. - -2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_legitimize_move): Fix poly_int dest generation. - -2024-02-02 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_get_arg_info): Cleanup comments. - (riscv_pass_by_reference): Ditto. - (riscv_fntype_abi): Ditto. - -2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc (vsetvl_pre_insn_p): New function. - (pre_vsetvl::cleaup): Remove vsetvl_pre. - (pre_vsetvl::remove_vsetvl_pre_insns): New function. - -2024-02-02 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/larchintrin.h - (__frecipe_s): Update function return type. - (__frecipe_d): Ditto. - (__frsqrte_s): Ditto. - (__frsqrte_d): Ditto. - -2024-02-02 Li Wei <liwei@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_multiply_add_p): New. - (loongarch_vector_costs::add_stmt_cost): Adjust. - -2024-02-02 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (unspec): Add - UNSPEC_LA_PCREL_64_PART1 and UNSPEC_LA_PCREL_64_PART2. - (la_pcrel64_two_parts): New define_insn. - * config/loongarch/loongarch.cc (loongarch_tls_symbol): Fix a - typo in the comment. - (loongarch_call_tls_get_addr): If -mcmodel=extreme - -mexplicit-relocs={always,auto}, use la_pcrel64_two_parts for - addressing the TLS symbol and __tls_get_addr. Emit an REG_EQUAL - note to allow CSE addressing __tls_get_addr. - (loongarch_legitimize_tls_address): If -mcmodel=extreme - -mexplicit-relocs={always,auto}, address TLS IE symbols with - la_pcrel64_two_parts. - (loongarch_split_symbol): If -mcmodel=extreme - -mexplicit-relocs={always,auto}, address symbols with - la_pcrel64_two_parts. - (loongarch_output_mi_thunk): Clean up unreachable code. If - -mcmodel=extreme -mexplicit-relocs={always,auto}, address the MI - thunks with la_pcrel64_two_parts. - -2024-02-02 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): - Add support for call36. - -2024-02-02 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): - When the code model of the symbol is extreme and -mexplicit-relocs=auto, - the macro instruction loading symbol address is not applicable. - (loongarch_call_tls_get_addr): Adjust code. - (loongarch_legitimize_tls_address): Likewise. - -2024-02-02 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch-protos.h (loongarch_symbol_extreme_p): - Add function declaration. - * config/loongarch/loongarch.cc (loongarch_symbolic_constant_p): - For SYMBOL_PCREL64, non-zero addend of "la.local $rd,$rt,sym+addend" - is not allowed - (loongarch_load_tls): Added macro support in extreme mode. - (loongarch_call_tls_get_addr): Likewise. - (loongarch_legitimize_tls_address): Likewise. - (loongarch_force_address): Likewise. - (loongarch_legitimize_move): Likewise. - (loongarch_output_mi_thunk): Likewise. - (loongarch_option_override_internal): Remove the code that detects - explicit relocs status. - (loongarch_handle_model_attribute): Likewise. - * config/loongarch/loongarch.md (movdi_symbolic_off64): New template. - * config/loongarch/predicates.md (symbolic_off64_operand): New predicate. - (symbolic_off64_or_reg_operand): Likewise. - -2024-02-02 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_load_tls): - Load all types of tls symbols through one function. - (loongarch_got_load_tls_gd): Delete. - (loongarch_got_load_tls_ld): Delete. - (loongarch_got_load_tls_ie): Delete. - (loongarch_got_load_tls_le): Delete. - (loongarch_call_tls_get_addr): Modify the called function name. - (loongarch_legitimize_tls_address): Likewise. - * config/loongarch/loongarch.md (@got_load_tls_gd<mode>): Delete. - (@load_tls<mode>): New template. - (@got_load_tls_ld<mode>): Delete. - (@got_load_tls_le<mode>): Delete. - (@got_load_tls_ie<mode>): Delete. - -2024-02-02 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (mem_shadd_or_shadd_rtx_p): New function. - (loongarch_legitimize_address): Add logical transformation code. - -2024-02-01 Marek Polacek <polacek@redhat.com> - - * doc/invoke.texi: Update -Wdangling-reference documentation. - -2024-02-01 Uros Bizjak <ubizjak@gmail.com> - - PR target/113701 - * config/i386/i386.md (*cmp<dwi>_doubleword): - Do not force SUBREG pieces to pseudos. - -2024-02-01 John David Anglin <danglin@gcc.gnu.org> - - * config/pa/pa.md (atomic_storedi_1): Fix bug in - alternative 1. - -2024-02-01 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc: Tabify. - -2024-02-01 Richard Ball <richard.ball@arm.com> - - PR tree-optimization/111268 - * tree-vect-slp.cc (vectorizable_slp_permutation_1): - Add variable-length check for vector input arguments - to a function. - -2024-02-01 Thomas Schwinge <tschwinge@baylibre.com> - - * config/gcn/gcn.cc (gcn_hsa_declare_function_name): Don't - hard-code number of SGPR/VGPR/AVGPR registers. - * config/gcn/gcn.h: Add a 'STATIC_ASSERT's for number of - SGPR/VGPR/AVGPR registers. - -2024-02-01 Monk Chiang <monk.chiang@sifive.com> - - * config/riscv/riscv.md: Add "fcvt_i2f", "fcvt_f2i" type - attribute, and include sifive-p600.md. - * config/riscv/generic-ooo.md: Update type attribute. - * config/riscv/generic.md: Update type attribute. - * config/riscv/sifive-7.md: Update type attribute. - * config/riscv/sifive-p600.md: New file. - * config/riscv/riscv-cores.def (RISCV_TUNE): Add parameter. - * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): - Add sifive_p600. - * config/riscv/riscv.cc (sifive_p600_tune_info): New. - * config/riscv/riscv.h (TARGET_SFB_ALU): Update. - * doc/invoke.texi (RISC-V Options): Add sifive-p600-series - -2024-02-01 Monk Chiang <monk.chiang@sifive.com> - - * common/config/riscv/riscv-common.cc: Add Za64rs, Za128rs, - Ziccif, Ziccrse, Ziccamoa, Zicclsm, Zic64b items. - * config/riscv/riscv.opt: New macro for 7 new unprivileged - extensions. - * doc/invoke.texi (RISC-V Options): Add Za64rs, Za128rs, - Ziccif, Ziccrse, Ziccamoa, Zicclsm, Zic64b extensions. - -2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * config/sol2.h (LIBASAN_EARLY_SPEC): Add -z now unless - -static-libasan. Add missing whitespace. - -2024-02-01 Thomas Schwinge <tschwinge@baylibre.com> - - * config/gcn/gcn.md (FIRST_SGPR_REG, LAST_SGPR_REG) - (FIRST_VGPR_REG, LAST_VGPR_REG, FIRST_AVGPR_REG, LAST_AVGPR_REG): - Don't 'define_constants'. - -2024-02-01 Thomas Schwinge <tschwinge@baylibre.com> - - * config/gcn/gcn.h (SGPR_OR_VGPR_REGNO_P): Remove. - -2024-02-01 Thomas Schwinge <tschwinge@baylibre.com> - - * config/gcn/gcn.md (sync_compare_and_swap<mode>_lds_insn) - [TARGET_RDNA3]: Adjust. - -2024-02-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113693 - * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): Honor avail - data when available. - -2024-02-01 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/113531 - * gimple-low.cc (lower_stmt): Remove .ASAN_MARK calls - on variables which were promoted to TREE_STATIC. - -2024-02-01 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR target/113560 - * tree-ssa-math-opts.cc (is_widening_mult_rhs_p): Use range - information via tree_non_zero_bits to check if this operand - is suitably extended for a widening (or highpart) multiplication. - (convert_mult_to_widen): Insert explicit casts if the RHS or LHS - isn't already of the claimed type. - -2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - Revert: - 2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - * config/riscv/generic-ooo.md (generic_ooo_sfb_alu): Add reservation - (generic_ooo_branch): ditto - * config/riscv/generic.md (generic_sfb_alu): ditto - (generic_fmul_half): ditto - * config/riscv/riscv.md: Remove cbo, pushpop, and rdfrm types - * config/riscv/sifive-7.md (sifive_7_hfma):Add reservation - (sifive_7_popcount): ditto - * config/riscv/vector.md: change rdfrm to fmove - * config/riscv/zc.md: change pushpop to load/store - -2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - Revert: - 2024-02-01 Edwin Lu <ewlu@rivosinc.com> - Robin Dapp <rdapp.gcc@gmail.com> - - * config/riscv/generic-ooo.md (generic_ooo): Move reservation - (generic_ooo_vec_load): ditto - (generic_ooo_vec_store): ditto - (generic_ooo_vec_loadstore_seg): ditto - (generic_ooo_vec_alu): ditto - (generic_ooo_vec_fcmp): ditto - (generic_ooo_vec_imul): ditto - (generic_ooo_vec_fadd): ditto - (generic_ooo_vec_fmul): ditto - (generic_ooo_crypto): ditto - (generic_ooo_perm): ditto - (generic_ooo_vec_reduction): ditto - (generic_ooo_vec_ordered_reduction): ditto - (generic_ooo_vec_idiv): ditto - (generic_ooo_vec_float_divsqrt): ditto - (generic_ooo_vec_mask): ditto - (generic_ooo_vec_vesetvl): ditto - (generic_ooo_vec_setrm): ditto - (generic_ooo_vec_readlen): ditto - * config/riscv/riscv.md: include generic-vector-ooo - * config/riscv/generic-vector-ooo.md: New file. to here - -2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - Revert: - 2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - * config/riscv/riscv.cc (riscv_sched_variable_issue): enable assert - -2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - * config/riscv/riscv.cc (riscv_sched_variable_issue): enable assert - -2024-02-01 Edwin Lu <ewlu@rivosinc.com> - Robin Dapp <rdapp.gcc@gmail.com> - - * config/riscv/generic-ooo.md (generic_ooo): Move reservation - (generic_ooo_vec_load): ditto - (generic_ooo_vec_store): ditto - (generic_ooo_vec_loadstore_seg): ditto - (generic_ooo_vec_alu): ditto - (generic_ooo_vec_fcmp): ditto - (generic_ooo_vec_imul): ditto - (generic_ooo_vec_fadd): ditto - (generic_ooo_vec_fmul): ditto - (generic_ooo_crypto): ditto - (generic_ooo_perm): ditto - (generic_ooo_vec_reduction): ditto - (generic_ooo_vec_ordered_reduction): ditto - (generic_ooo_vec_idiv): ditto - (generic_ooo_vec_float_divsqrt): ditto - (generic_ooo_vec_mask): ditto - (generic_ooo_vec_vesetvl): ditto - (generic_ooo_vec_setrm): ditto - (generic_ooo_vec_readlen): ditto - * config/riscv/riscv.md: include generic-vector-ooo - * config/riscv/generic-vector-ooo.md: New file. to here - -2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - * config/riscv/generic-ooo.md (generic_ooo_sfb_alu): Add reservation - (generic_ooo_branch): ditto - * config/riscv/generic.md (generic_sfb_alu): ditto - (generic_fmul_half): ditto - * config/riscv/riscv.md: Remove cbo, pushpop, and rdfrm types - * config/riscv/sifive-7.md (sifive_7_hfma):Add reservation - (sifive_7_popcount): ditto - * config/riscv/vector.md: change rdfrm to fmove - * config/riscv/zc.md: change pushpop to load/store - -2024-02-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113657 - * config/aarch64/aarch64-simd.md (split for movv8di): - For strict aligned mode, use DImode instead of TImode. - -2024-01-31 Robin Dapp <rdapp@ventanamicro.com> - - PR middle-end/113607 - * match.pd: Make sure else values match when folding a - vec_cond into a conditional operation. - -2024-01-31 Marek Polacek <polacek@redhat.com> - - * doc/invoke.texi: Mention that -fconcepts-ts was deprecated in GCC 14. - -2024-01-31 Tamar Christina <tamar.christina@arm.com> - Matthew Malcomson <matthew.malcomson@arm.com> - - PR sanitizer/112644 - * asan.h (asan_intercepted_p): Incercept memset, memmove, memcpy and - memcmp. - * builtins.cc (expand_builtin): Include HWASAN when checking for - builtin inlining. - -2024-01-31 Richard Biener <rguenther@suse.de> - - PR middle-end/110176 - * match.pd (zext (bool) <= (int) 4294967295u): Make sure - to match INTEGER_CST only without outstanding conversion. - -2024-01-31 Alex Coplan <alex.coplan@arm.com> - - PR target/111677 - * config/aarch64/aarch64.cc (aarch64_reg_save_mode): Use - V16QImode for the full 16-byte FPR saves in the vector PCS case. - -2024-01-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/111444 - * tree-ssa-sccvn.cc (vn_reference_lookup_3): Do not use - vn_reference_lookup_2 when optimistically skipping may-defs. - -2024-01-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113630 - * tree-ssa-pre.cc (compute_avail): Avoid registering a - reference with a representation with not matching base - access size. - -2024-01-31 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/113656 - * simplify-rtx.cc (simplify_context::simplify_unary_operation_1) - <case FLOAT_TRUNCATE>: Fix up last argument to simplify_gen_unary. - -2024-01-31 Jakub Jelinek <jakub@redhat.com> - - PR debug/113637 - * dwarf2out.cc (loc_list_from_tree_1): Assume integral types - with BLKmode are larger than DWARF2_ADDR_SIZE. - -2024-01-31 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113639 - * gimple-lower-bitint.cc (bitint_large_huge::handle_operand_addr): - For VIEW_CONVERT_EXPR set rhs1 to its operand. - -2024-01-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113670 - * tree-vect-data-refs.cc (vect_check_gather_scatter): - Make sure we can take the address of the reference base. - -2024-01-31 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-mcus.def: Add AVR64DU28, AVR64DU32, ATA5787, - ATA5835, ATtiny64AUTO, ATA5700M322. - * doc/avr-mmcu.texi: Rebuild. - -2024-01-31 Alexandre Oliva <oliva@adacore.com> - - PR debug/113394 - * ipa-strub.cc (build_ref_type_for): Drop nonaliased. Adjust - caller. - -2024-01-31 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/112917 - PR middle-end/113100 - * builtins.cc (expand_builtin_stack_address): Use - STACK_ADDRESS_OFFSET. - * doc/extend.texi (__builtin_stack_address): Adjust. - * config/sparc/sparc.h (STACK_ADDRESS_OFFSET): Define. - * doc/tm.texi.in (STACK_ADDRESS_OFFSET): Document. - * doc/tm.texi: Rebuilt. - -2024-01-31 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113495 - * config/riscv/riscv-vsetvl.cc (extract_single_source): Remove. - (pre_vsetvl::compute_vsetvl_def_data): Fix compile time issue. - (pre_vsetvl::compute_transparent): New function. - (pre_vsetvl::compute_lcm_local_properties): Fix compile time time issue. - -2024-01-30 Fangrui Song <maskray@google.com> - - PR target/105576 - * config/i386/constraints.md: Define constraint "Ws". - * doc/md.texi: Document it. - -2024-01-30 Marek Polacek <polacek@redhat.com> - - PR c++/110358 - PR c++/109640 - * doc/invoke.texi: Update -Wdangling-reference description. - -2024-01-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> - - * config/xtensa/constraints.md (R, T, U): - Change define_constraint to define_memory_constraint. - * config/xtensa/predicates.md (move_operand): Don't check that a - constant pool operand size is a multiple of UNITS_PER_WORD. - * config/xtensa/xtensa.cc - (xtensa_lra_p, TARGET_LRA_P): Remove. - (xtensa_emit_move_sequence): Remove "if (reload_in_progress)" - clause as it can no longer be true. - (fixup_subreg_mem): Drop function. - (xtensa_output_integer_literal_parts): Consider 16-bit wide - constants. - (xtensa_legitimate_constant_p): Add short-circuit path for - integer load instructions. Don't check that mode size is - at least UNITS_PER_WORD. - * config/xtensa/xtensa.md (movsf): Use can_create_pseudo_p() - rather reload_in_progress and reload_completed. - (doloop_end): Drop operand 2. - (movhi_internal): Add alternative loading constant from a - literal pool. - (define_split for DI register_operand): Don't limit to - !TARGET_AUTO_LITPOOLS. - * config/xtensa/xtensa.opt (mlra): Change to no effect. - -2024-01-30 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_v_vls_mode_aggregate_gpr_count): New function to - calculate the gpr count required by vls mode. - (riscv_v_vls_to_gpr_mode): New function convert vls mode to gpr mode. - (riscv_pass_vls_aggregate_in_gpr): New function to return the rtx of gpr - for vls mode. - (riscv_get_arg_info): Add vls mode handling. - (riscv_pass_by_reference): Return false if arg info has no zero gpr count. - -2024-01-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113659 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Handle main exit without virtual use. - -2024-01-30 Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv.md: Move UNSPEC_XTHEADFMV* to unspec enum. - -2024-01-30 Iain Sandoe <iain@sandoe.co.uk> - - PR libgcc/113403 - * config/darwin.h (DARWIN_SHARED_WEAK_ADDS, DARWIN_WEAK_CRTS): New. - (REAL_LIBGCC_SPEC): Move weak CRT handling to separate spec. - * config/i386/darwin.h (DARWIN_HEAP_T_LIB): New. - * config/i386/darwin32-biarch.h (DARWIN_HEAP_T_LIB): New. - * config/i386/darwin64-biarch.h (DARWIN_HEAP_T_LIB): New. - * config/rs6000/darwin.h (DARWIN_HEAP_T_LIB): New. - -2024-01-30 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113623 - * config/aarch64/aarch64-early-ra.cc (early_ra::preprocess_insns): - Mark all registers that occur in addresses as needing a GPR. - -2024-01-30 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113636 - * config/aarch64/aarch64-early-ra.cc (early_ra::replace_regs): Take - the containing insn as an extra parameter. Reset debug instructions - if they reference a register that is no longer used by real insns. - (early_ra::apply_allocation): Update calls accordingly. - -2024-01-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113603 - * tree-ssa-strlen.cc (strlen_pass::handle_store): After - count_nonzero_bytes call refetch si using get_strinfo in case it - has been unshared in the meantime. - -2024-01-30 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/101195 - * except.cc (expand_builtin_eh_return_data_regno): If which doesn't - fit into unsigned HOST_WIDE_INT, return constm1_rtx. - -2024-01-30 Jin Ma <jinma@linux.alibaba.com> - - * config/riscv/thead.cc (th_print_operand_address): Change %ld - to %lld. - -2024-01-29 Manos Anagnostakis <manos.anagnostakis@vrull.eu> - Manolis Tsamis <manolis.tsamis@vrull.eu> - Philipp Tomsich <philipp.tomsich@vrull.eu> - - * config/aarch64/aarch64-ldpstp.md: Remove unused mode. - * config/aarch64/aarch64-protos.h (aarch64_operands_ok_for_ldpstp): - Likewise. - * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): - Call on framework moved later. - -2024-01-29 Jose E. Marchesi <jose.marchesi@oracle.com> - - * config/bpf/bpf.cc (bpf_expand_epilogue): Do not emit a return - instruction in naked function epilogues. - -2024-01-29 YunQiang Su <syq@gcc.gnu.org> - - PR target/113655 - * configure.ac: Fix typo gcc_cv_as_mips_explicit should be - gcc_cv_as_mips_explicit_relocs. - * configure: Regnerated. - -2024-01-29 Matthieu Longo <matthieu.longo@arm.com> - - PR target/108933 - * config/arm/arm.md (arm_rev16si2): Convert to define_insn. - Correct generated RTL. - (arm_rev16si2_alt1): Correctly handle conditional execution. - (arm_rev16si2_alt2): Likewise. - -2024-01-29 Richard Biener <rguenther@suse.de> - - PR middle-end/113622 - * expr.cc (expand_assignment): Spill hard registers if - we index them with a variable offset. - -2024-01-29 Richard Biener <rguenther@suse.de> - - PR middle-end/113622 - * gimple-isel.cc (gimple_expand_vec_set_extract_expr): - Also allow DECL_HARD_REGISTER variables. - -2024-01-29 Alex Coplan <alex.coplan@arm.com> - - PR target/113616 - * config/aarch64/aarch64-ldp-fusion.cc (fixup_debug_uses_trailing_add): - Use iterate_safely when iterating over debug uses. - (fixup_debug_uses): Likewise. - (ldp_bb_info::cleanup_tombstones): Use iterate_safely to iterate - over nondebug insns instead of manually maintaining the next insn. - * iterator-utils.h (class safe_iterator): New. - (iterate_safely): New. - -2024-01-29 H.J. Lu <hjl.tools@gmail.com> - - PR target/38534 - * config/i386/i386-options.cc (ix86_set_func_type): Save - callee-saved registers in noreturn functions for -O0/-Og. - -2024-01-29 Tobias Burnus <tburnus@baylibre.com> - - PR target/113615 - * config/gcn/gcn-valu.md (fold_left_plus_<mode>): Only - define for !TARGET_RDNA2_PLUS. - -2024-01-29 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113281 - * tree-vect-patterns.cc (vect_recog_over_widening_pattern): Remove - workaround for right shifts. - (vect_truncatable_operation_p): Handle NEGATE_EXPR and BIT_NOT_EXPR. - (vect_determine_precisions_from_range): Be more selective about - which codes can be narrowed based on their input and output ranges. - For shifts, require at least one more bit of precision than the - maximum shift amount. - -2024-01-29 Tobias Burnus <tburnus@baylibre.com> - - * config/nvptx/nvptx.opt (march-map=): Add sm_89 and sm_90a. - -2024-01-29 Tobias Burnus <tburnus@baylibre.com> - - * doc/install.texi (amdgcn): Recommend LLVM 15+ and newlib 4.4+, - but keep requiring only newlib 4.3+ and, if gfx1100 is disabled, - LLVM 13.0.1+. - -2024-01-29 Tobias Burnus <tburnus@baylibre.com> - - PR other/111966 - * config/gcn/mkoffload.cc (SET_XNACK_UNSET, TEST_SRAM_ECC_UNSET): New. - (SET_SRAM_ECC_UNSUPPORTED): Renamed to ... - (SET_SRAM_ECC_UNSET): ... this. - (copy_early_debug_info): Remove gfx900 special case, now handled as - part of the generic handling. - (main): Update SRAM_ECC and XNACK for the -march as done in gcn-hsa.h. - -2024-01-29 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/110603 - * tree-ssa-strlen.cc (get_range_strlen_dynamic): Remove incorrect - setting of pdata->maxlen to vr.upper_bound (which is unconditionally - overwritten anyway). Avoid creating invalid range with minlen - larger than maxlen. Formatting fix. - -2024-01-29 Richard Biener <rguenther@suse.de> - - PR debug/103047 - * tree-inline.cc (initialize_inlined_parameters): Reverse - the decl chain of inlined parameters. - -2024-01-28 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.cc (darwin_build_constant_cfstring): Prevent over- - alignment of CFString constants by setting DECL_USER_ALIGN. - -2024-01-28 Iain Sandoe <iain@sandoe.co.uk> - Jakub Jelinek <jakub@redhat.com> - - PR libgcc/113402 - * builtins.cc (expand_builtin): Handle BUILT_IN_GCC_NESTED_PTR_CREATED - and BUILT_IN_GCC_NESTED_PTR_DELETED. - * builtins.def (BUILT_IN_GCC_NESTED_PTR_CREATED, - BUILT_IN_GCC_NESTED_PTR_DELETED): Make these builtins LIB-EXT and - rename the library fallbacks to __gcc_nested_func_ptr_created and - __gcc_nested_func_ptr_deleted. - * doc/invoke.texi: Rename these to __gcc_nested_func_ptr_created - and __gcc_nested_func_ptr_deleted. - * tree-nested.cc (finalize_nesting_tree_1): Use builtin_explicit for - BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED. - * tree.cc (build_common_builtin_nodes): Build the - BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED local - builtins only for non-explicit. - -2024-01-28 YunQiang Su <syq@gcc.gnu.org> - - * doc/invoke.texi: Remove duplicate MIPS explicit-relocs option. - -2024-01-27 H.J. Lu <hjl.tools@gmail.com> - - PR target/38534 - * config/i386/i386-options.cc (ix86_set_func_type): Don't - save and restore callee saved registers for a noreturn function - with nothrow or compiled with -fno-exceptions. - -2024-01-27 H.J. Lu <hjl.tools@gmail.com> - - PR target/103503 - PR target/113312 - * config/i386/i386-expand.cc (ix86_expand_call): Replace - no_caller_saved_registers check with call_saved_registers check. - Clobber all registers that are not used by the callee with - no_callee_saved_registers attribute. - * config/i386/i386-options.cc (ix86_set_func_type): Set - call_saved_registers to TYPE_NO_CALLEE_SAVED_REGISTERS for - noreturn function. Disallow no_callee_saved_registers with - interrupt or no_caller_saved_registers attributes together. - (ix86_set_current_function): Replace no_caller_saved_registers - check with call_saved_registers check. - (ix86_handle_no_caller_saved_registers_attribute): Renamed to ... - (ix86_handle_call_saved_registers_attribute): This. - (ix86_gnu_attributes): Add - ix86_handle_call_saved_registers_attribute. - * config/i386/i386.cc (ix86_conditional_register_usage): Replace - no_caller_saved_registers check with call_saved_registers check. - (ix86_function_ok_for_sibcall): Don't allow callee with - no_callee_saved_registers attribute when the calling function - has callee-saved registers. - (ix86_comp_type_attributes): Also check - no_callee_saved_registers. - (ix86_epilogue_uses): Replace no_caller_saved_registers check - with call_saved_registers check. - (ix86_hard_regno_scratch_ok): Likewise. - (ix86_save_reg): Replace no_caller_saved_registers check with - call_saved_registers check. Don't save any registers for - TYPE_NO_CALLEE_SAVED_REGISTERS. Save all registers with - TYPE_DEFAULT_CALL_SAVED_REGISTERS if function with - no_callee_saved_registers attribute is called. - (find_drap_reg): Replace no_caller_saved_registers check with - call_saved_registers check. - * config/i386/i386.h (call_saved_registers_type): New enum. - (machine_function): Replace no_caller_saved_registers with - call_saved_registers. - * doc/extend.texi: Document no_callee_saved_registers attribute. - -2024-01-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113614 - * gimple-lower-bitint.cc (gimple_lower_bitint): Don't merge - widening casts from signed to unsigned types with TRUNC_DIV_EXPR, - TRUNC_MOD_EXPR or FLOAT_EXPR uses. - -2024-01-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113568 - * gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt): - For VIEW_CONVERT_EXPR use first operand of rhs1 instead of rhs1 - in the widening extension checks. - -2024-01-27 Jakub Jelinek <jakub@redhat.com> - - * gimple-lower-bitint.cc (gimple_lower_bitint): For - TDF_DETAILS dump mapping of SSA_NAMEs to decls. - -2024-01-26 Hans-Peter Nilsson <hp@axis.com> - - * cgraphunit.cc (process_function_and_variable_attributes): Tweak - the warning for an attribute-always_inline without inline declaration. - -2024-01-26 Robin Dapp <rdapp@ventanamicro.com> - - PR other/113575 - * genopinit.cc (main): Split init_all_optabs into functions - of 1000 patterns each. - -2024-01-26 Tobias Burnus <tburnus@baylibre.com> - - * config.gcc (amdgcn-*-*): Add gfx1030 and gfx1100 to - TM_MULTILIB_CONFIG. - * doc/install.texi (Configuration amdgcn-*-*): Mention gfx1030/gfx1100. - * doc/invoke.texi (AMD GCN Options): Add gfx1030 and gfx1100 to - -march/-mtune. - -2024-01-26 Andrew Stubbs <ams@baylibre.com> - - * config/gcn/gcn-opts.h (TARGET_PACKED_WORK_ITEMS): Add TARGET_RDNA3. - * config/gcn/gcn-valu.md (all_convert): New iterator. - (<convop><V_INT_1REG_ALT:mode><V_INT_1REG:mode>2<exec>): New - define_expand, and rename the old one to ... - (*<convop><V_INT_1REG_ALT:mode><V_INT_1REG:mode>_sdwa<exec>): ... this. - (extend<V_INT_1REG_ALT:mode><V_INT_1REG:mode>2<exec>): Likewise, to ... - (extend<V_INT_1REG_ALT:mode><V_INT_1REG:mode>_sdwa<exec>): .. this. - (*<convop><V_INT_1REG_ALT:mode><V_INT_1REG:mode>_shift<exec>): New. - * config/gcn/gcn.cc (gcn_global_address_p): Use "offsetbits" correctly. - (gcn_hsa_declare_function_name): Update the vgpr counting for gfx1100. - * config/gcn/gcn.md (<u>mulhisi3): Disable on RDNA3. - (<u>mulqihi3_scalar): Likewise. - -2024-01-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113602 - * tree-data-ref.cc (dr_analyze_innermost): Fail when - the base object isn't addressable. - -2024-01-26 Tobias Burnus <tburnus@baylibre.com> - - * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): New; creates the - "--amdhsa-code-object-version=" argument. - (ASM_SPEC): Use it; replace previous version of it. - -2024-01-26 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::earliest_fuse_vsetvl_info): Refine some codes. - (pre_vsetvl::emit_vsetvl): Ditto. - -2024-01-26 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/lasx.md (vec_extract<mode>_0): - New define_insn_and_split patten. - -2024-01-26 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/loongarch.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define. - -2024-01-26 Li Wei <liwei@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_emit_swdivsf): Adjust. - -2024-01-26 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113469 - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_lcm_local_properties): Fix bug. - -2024-01-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/100212 - * config/aarch64/aarch64.cc (aarch64_classify_index): Avoid - undefined shift after the call to exact_log2. - -2024-01-25 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/100204 - * config/aarch64/constraints.md (J): Cast to `unsigned HOST_WIDE_INT` - before taking the negative of it. - -2024-01-25 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/113526 - * lra-constraints.cc (curr_insn_transform): Change class even for - spilled pseudo successfully matched with with NO_REGS. - -2024-01-25 Georg-Johann Lay <avr@gjlay.de> - - PR target/113601 - * config/avr/avr-mcus.def (atmega3208, atmega3209): Fix data_section_start. - -2024-01-25 Szabolcs Nagy <szabolcs.nagy@arm.com> - - PR target/112987 - * config/aarch64/aarch64.cc (aarch64_gen_compare_zero_and_branch): New. - (aarch64_expand_epilogue): Use the new function. - (aarch64_split_compare_and_swap): Likewise. - (aarch64_split_atomic_op): Likewise. - -2024-01-25 Robin Dapp <rdapp.gcc@gmail.com> - - PR middle-end/112971 - * fold-const.cc (simplify_const_binop): New function for binop - simplification of two constant vectors when element-wise - handling is not necessary. - (const_binop): Call new function. - -2024-01-25 Mary Bennett <mary.bennett@embecosm.com> - - * common/config/riscv/riscv-common.cc: Add XCVbitmanip. - * config/riscv/constraints.md: Likewise. - * config/riscv/corev.def: Likewise. - * config/riscv/corev.md: Likewise. - * config/riscv/predicates.md: Likewise. - * config/riscv/riscv-builtins.cc (AVAIL): Likewise. - * config/riscv/riscv-ftypes.def: Likewise. - * config/riscv/riscv.opt: Likewise. - * config/riscv/riscv.cc (riscv_print_operand): Add new operand 'Y'. - * doc/extend.texi: Add XCVbitmanip builtin documentation. - * doc/sourcebuild.texi: Likewise. - -2024-01-25 Tobias Burnus <tburnus@baylibre.com> - - * config/gcn/gcn-hsa.h (ASM_SPEC): Add space after -mxnack= argument. - -2024-01-25 Yanzhang Wang <yanzhang.wang@intel.com> - - PR target/113538 - * config/riscv/riscv.cc (riscv_get_arg_info): Remove the flag. - (riscv_fntype_abi): Ditto. - * config/riscv/riscv.opt: Ditto. - -2024-01-25 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113574 - * convert.cc (convert_to_integer_1) <case LSHIFT_EXPR>: Compare shift - count against TYPE_PRECISION rather than TYPE_SIZE. - -2024-01-25 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113572 - * config/aarch64/aarch64-sve-builtins.cc (vector_cst_all_same): - Check VECTOR_CST_ELT instead of VECTOR_CST_ENCODED_ELT - -2024-01-25 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113550 - * config/aarch64/aarch64-simd.md: In the movv8di splitter, check - whether each split instruction is a load that clobbers the source - address. Emit that instruction last if so. - -2024-01-25 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113485 - * config/aarch64/aarch64-simd.md (aarch64_zip1<mode>_low): New - pattern. - (<optab><Vnarrowq><mode>2): Use it instead of generating a - paradoxical subreg for the input. - -2024-01-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc (get_all_predecessors): New function. - (pre_vsetvl::pre_global_vsetvl_info): Add LCM delete block all - predecessors dump information. - -2024-01-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_vsetvl_def_data): Remove - redundant full available computation. - (pre_vsetvl::pre_global_vsetvl_info): Ditto. - -2024-01-25 Jakub Jelinek <jakub@redhat.com> - - * doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns. - * doc/rtl.texi (CONST_VECTOR): Likewise. - -2024-01-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-opts.h (enum vsetvl_strategy_enum): Add optim-no-fusion option. - * config/riscv/riscv-vsetvl.cc (pass_vsetvl::lazy_vsetvl): Ditto. - (pass_vsetvl::execute): Ditto. - * config/riscv/riscv.opt: Ditto. - -2024-01-25 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/lasx.md (@vec_concatz<mode>): Remove this define_insn pattern. - * config/loongarch/loongarch.cc (loongarch_expand_vector_group_init): Use vec_concat<mode>. - -2024-01-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113576 - * tree-vect-loop.cc (vec_init_loop_exit_info): Only allow - exits with may_be_zero niters when its the last one. - -2024-01-25 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_symbolic_constant_p): - For symbols of type tls, non-zero Offset is not generated. - -2024-01-25 Haochen Gui <guihaoc@gcc.gnu.org> - - * config/rs6000/rs6000-string.cc (expand_block_compare): Enable - P9 with m32 and mpowerpc64. - -2024-01-25 liuhongt <hongtao.liu@intel.com> - - * config/i386/i386-options.cc (ix86_option_override_internal): - Enable -mlam=u57 by default when compiled with - -fsanitize=hwaddress. - -2024-01-25 Palmer Dabbelt <palmer@rivosinc.com> - - * common/config/riscv/riscv-common.cc (riscv_implied_info): - Remove {"ztso", "a"}. - -2024-01-24 Martin Jambor <mjambor@suse.cz> - - PR ipa/108007 - PR ipa/112616 - * 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. - (ipa_release_ssas_in_hash): Declare. - * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New - parameter killed_ssas, pass it to padjs->modify_call. - * ipa-param-manipulation.cc (purge_all_uses): New function. - (ipa_param_adjustments::modify_call): New parameter killed_ssas. - Instead of substituting uses, invoke purge_all_uses. If - hash of killed SSAs has not been provided, create a temporary one - and release SSAs that have been added to it. - (compare_ssa_versions): New function. - (ipa_release_ssas_in_hash): Likewise. - * 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. - -2024-01-24 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113486 - * config/aarch64/aarch64.cc (aarch64_get_reg_raw_mode): For - TARGET_GENERAL_REGS_ONLY, return VOIDmode for non-GP_REGNUM_P regno. - -2024-01-24 Monk Chiang <monk.chiang@sifive.com> - - PR target/113095 - * config/riscv/sfb.md: New splitters to rewrite single bit - sign extension as the condition to SFB instructions. - -2024-01-24 Jan Hubicka <jh@suse.cz> - - PR middle-end/88345 - * common.opt: (flimit-function-alignment): Reorder alphabeticaly - (fmin-function-alignment): New parameter. - * doc/invoke.texi: (-fmin-function-alignment): Document. - (-falign-functions,-falign-loops,-falign-labels): Mention that - aglinments are ignored in cold code. - * varasm.cc (assemble_start_function): Handle min-function-alignment. - -2024-01-24 Tamar Christina <tamar.christina@arm.com> - - PR target/109636 - * config/aarch64/aarch64-simd.md (<su_optab>div<mode>3, - mulv2di3): Remove. - * config/aarch64/iterators.md (VQDIV): Remove. - (SVE_FULL_SDI_SIMD, SVE_FULL_HSDI_SIMD_DI, - SVE_I_SIMD_DI): New. - (VPRED, sve_lane_con): Add V4SI and V2DI. - * config/aarch64/aarch64-sve.md (<optab><mode>3, - @aarch64_pred_<optab><mode>): Support Advanced SIMD types. - (mul<mode>3): New, split from <optab><mode>3. - (@aarch64_pred_<optab><mode>, *post_ra_<optab><mode>3): New. - * config/aarch64/aarch64-sve2.md (@aarch64_mul_lane_<mode>, - *aarch64_mul_unpredicated_<mode>): Change SVE_FULL_HSDI to - SVE_FULL_HSDI_SIMD_DI. - -2024-01-24 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113552 - * config/aarch64/aarch64.cc - (aarch64_simd_clone_compute_vecsize_and_simdlen): Block simdlen 1. - -2024-01-24 Martin Jambor <mjambor@suse.cz> - - PR ipa/113490 - * ipa-cp.cc (ipcp_lattice<valtype>::add_value): Bail out if value - count is equal or greater than the limit. Use the limit from the - callee. - -2024-01-24 YunQiang Su <syq@gcc.gnu.org> - - * configure.ac: Detect the explicit relocs support for - mips, and define C macro MIPS_EXPLICIT_RELOCS. - * config.in: Regenerated. - * configure: Regenerated. - * doc/invoke.texi(MIPS Options): Add -mexplicit-relocs. - * config/mips/mips-opts.h: Define enum mips_explicit_relocs. - * config/mips/mips.cc(mips_set_compression_mode): Sorry if - !TARGET_EXPLICIT_RELOCS instead of just set it. - * config/mips/mips.h: Define TARGET_EXPLICIT_RELOCS and - TARGET_EXPLICIT_RELOCS_PCREL with mips_opt_explicit_relocs. - * config/mips/mips.opt: Introduce -mexplicit-relocs= option - and define -m(no-)explicit-relocs as aliases. - -2024-01-24 Alex Coplan <alex.coplan@arm.com> - - * config/aarch64/aarch64.opt (-mearly-ldp-fusion): Set default - to 1. - (-mlate-ldp-fusion): Likewise. - -2024-01-24 Tamar Christina <tamar.christina@arm.com> - - * tree-vect-loop.cc (vect_get_vect_def, - vect_create_epilog_for_reduction): Rename main_exit_p to - last_val_reduc_p. - -2024-01-24 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113364 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): If all exits all - early exits then we must reduce from the first offset for all of them. - -2024-01-24 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113495 - * config/riscv/riscv-vsetvl.cc (get_expr_id): Remove. - (get_regno): Ditto. - (get_bb_index): Ditto. - (pre_vsetvl::compute_avl_def_data): Ditto. - (pre_vsetvl::earliest_fuse_vsetvl_info): Fix large memory usage. - (pre_vsetvl::pre_global_vsetvl_info): Ditto. - -2024-01-23 Andrew Pinski <quic_apinski@quicinc.com> - Richard Sandiford <richard.sandiford@arm.com> - - PR target/100942 - * ccmp.cc (ccmp_candidate_p): Add outer argument. - Allow if the outer is true and the lhs is used more - than once. - (expand_ccmp_expr): Update call to ccmp_candidate_p. - * expr.h (expand_expr_real_gassign): Declare. - * expr.cc (expand_expr_real_gassign): New function, split out from... - (expand_expr_real_1): ...here. - * cfgexpand.cc (expand_gimple_stmt_1): Use expand_expr_real_gassign. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113089 - * config/aarch64/aarch64-ldp-fusion.cc (reset_debug_use): New. - (fixup_debug_use): New. - (fixup_debug_uses_trailing_add): New. - (fixup_debug_uses): New. Use it ... - (ldp_bb_info::fuse_pair): ... here. - (try_promote_writeback): Call fixup_debug_uses_trailing_add to - fix up debug uses of the base register that are affected by - folding in the trailing add insn. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113089 - * config/aarch64/aarch64-ldp-fusion.cc (ldp_bb_info::fuse_pair): - Update trailing nondebug uses of the base register in the case - of cancelling writeback. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113089 - * rtl-ssa/accesses.h (use_info::next_debug_insn_use): New. - (debug_insn_use_iterator): New. - (set_info::first_debug_insn_use): New. - (set_info::debug_insn_uses): New. - * rtl-ssa/member-fns.inl (use_info::next_debug_insn_use): New. - (set_info::first_debug_insn_use): New. - (set_info::debug_insn_uses): New. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113356 - * config/aarch64/aarch64-ldp-fusion.cc (ldp_bb_info::try_fuse_pair): - Don't record hazards against the opposite insn in the pair. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113070 - * config/aarch64/aarch64-ldp-fusion.cc - (struct stp_change_builder): New. - (decide_stp_strategy): Reanme to ... - (try_repurpose_store): ... this. - (ldp_bb_info::fuse_pair): Refactor to use stp_change_builder to - construct stp changes. Fix up uses when inserting new stp insns. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113070 - * rtl-ssa.h: Include hash-set.h. - * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Add - new_sets parameter and use it to keep track of new user-created sets. - (function_info::apply_changes_to_insn): Also call add_def on new sets. - (function_info::change_insns): Add hash_set to keep track of new - user-created defs. Plumb it through. - * rtl-ssa/functions.h: Add hash_set parameter to finalize_new_accesses and - apply_changes_to_insn. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113070 - * rtl-ssa/accesses.cc (function_info::create_use): New. - * rtl-ssa/changes.cc (function_info::finalize_new_accesses): - Ensure new uses end up referring to permanent defs. - * rtl-ssa/functions.h (function_info::create_use): Declare. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113070 - * rtl-ssa/changes.cc (function_info::change_insns): Split out the call - to finalize_new_accesses from the backwards placement loop, run it - forwards in a separate loop. - -2024-01-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113552 - * tree-vect-stmts.cc (vectorizable_simd_clone_call): Use - floor_log2 instead of exact_log2 on the number of calls. - -2024-01-23 Jeff Law <jlaw@ventanamicro.com> - Jakub Jelinek <jakub@redhat.com> - - * config/ia64/ia64.cc (ia64_start_function): Add ATTRIBUTE_UNUSED to - decl. - -2024-01-23 Richard Biener <rguenther@suse.de> - - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Separate single and multi-exit case when creating PHIs between - the main and epilogue. - -2024-01-23 Richard Sandiford <richard.sandiford@arm.com> - - PR target/112989 - * config/aarch64/aarch64-sve-builtins-shapes.cc (build_one): Skip - MODE_single variants of functions that don't take tuple arguments. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113114 - * config/aarch64/aarch64-ldp-fusion.cc (try_promote_writeback): - Don't assert recog success, just punt if the writeback pair - isn't recognized. - -2024-01-23 Jakub Jelinek <jakub@redhat.com> - - * config/gcn/gcn.cc (gcn_hsa_declare_function_name): Add - ATTRIBUTE_UNUSED to decl. - -2024-01-23 Richard Biener <rguenther@suse.de> - - PR debug/107058 - * dwarf2out.cc (dwarf2out_die_ref_for_decl): Gracefully - handle unexpected but bogus DIE contexts when not checking - enabled. - -2024-01-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113462 - * fold-const.cc (native_interpret_int): Don't punt if total_bytes - is larger than HOST_BITS_PER_DOUBLE_INT / BITS_PER_UNIT. - (fold_view_convert_expr): Use XALLOCAVEC buffers for types with - sizes between 129 and 8192 bytes. - -2024-01-23 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): - If la_opt_explicit_relocs is EXPLICIT_RELOCS_AUTO, return false - for SYMBOL_TLS_LDM and SYMBOL_TLS_GD. - (loongarch_call_tls_get_addr): Do not split symbols of - SYMBOL_TLS_LDM or SYMBOL_TLS_GD if la_opt_explicit_relocs is - EXPLICIT_RELOCS_AUTO. - -2024-01-23 Richard Biener <rguenther@suse.de> - - * alias.cc (known_base_value_p): Remove. - (find_base_value): Remove PLUS/MINUS handling - when both operands are not CONST_INT_P. - -2024-01-23 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/113255 - * alias.cc (find_base_term): Remove PLUS/MINUS handling - when both operands are not CONST_INT_P. - -2024-01-23 Richard Biener <rguenther@suse.de> - - PR debug/112718 - * dwarf2out.cc (dwarf2out_finish): Reset all type units - for the fat part of an LTO compile. - -2024-01-23 chenxiaolong <chenxiaolong@loongson.cn> - - * doc/sourcebuild.texi: Add attributes for keywords. - -2024-01-23 Sandra Loosemore <sandra@codesourcery.com> - - PR c++/90463 - * doc/invoke.texi (Warning Options): Correct lists of options - enabled by -Wall and -Wextra by checking against common.opt - and c-family/c.opt. - -2024-01-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113030 - * config/arm/parsecpu.awk (check_cpu): Use cpu_opt_alias - instead of cpu_optaliases. - (check_arch): Use arch_opt_alias instead of arch_optaliases. - -2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-protos.h (splat_to_scalar_move_p): New function. - * config/riscv/riscv-v.cc (splat_to_scalar_move_p): Ditto. - * config/riscv/vector.md: Simplify vmv.v.x. into vmv.s.x. - -2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/109092 - * config/riscv/riscv.md: Use reg instead of subreg. - -2024-01-22 Tobias Burnus <tburnus@baylibre.com> - - PR other/111966 - * config/gcn/mkoffload.cc (elf_arch): Change default to gfx900 - to match the compiler default. - (simple_object_copy_lto_debug_sections): Never unlink the outfile - on error as the caller does so. - (maybe_unlink, compile_native): Use %<...%> and %qs in fatal_error. - (main): Likewise. Fix 'mkoffload.dbg.o' cleanup. - -2024-01-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113373 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Create LC PHIs in the exit blocks where necessary. - * tree-vect-loop.cc (vectorizable_live_operation): Do not try - to handle missing LC PHIs. - (find_connected_edge): Remove. - (vect_create_epilog_for_reduction): Cleanup use of auto_vec. - -2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/vector.md: Fix vfirst/vmsbf/vmsof ratio attributes. - -2024-01-22 xuli <xuli1@eswincomputing.com> - - PR target/113420 - * config/riscv/riscv-vector-builtins.cc (has_vxrm_or_frm_p):remove. - (registered_function::overloaded_hash):refactor. - (resolve_overloaded_builtin):avoid internal ICE. - -2024-01-21 Mikael Pettersson <mikpelinux@gmail.com> - - PR target/82420 - PR target/111279 - * calls.cc (emit_library_call_value_1): Pass valid TYPE - to emit_push_insn. - * expr.cc (emit_push_insn): Likewise. - -2024-01-21 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_init_cumulative_args): Install - correcction version of last change. - -2024-01-21 Jeff Law <jlaw@ventanamicro.com> - - * config/riscv/riscv.cc (riscv_init_cumulative_args): Update and - fix bugs in signature. - -2024-01-21 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR rtl-optimization/111267 - * fwprop.cc (fwprop_propagation::profitabe_p): Rename - profitable_p method to likely_profitable_p. - (try_fwprop_subst_node): Update call to likely_profitable_p. - Only bail-out early when !prop.likely_profitable_p for instructions - that are not single sets. When comparing costs, bail-out if the - cost is unchanged and !prop.likely_profitable_p. - -2024-01-21 Sandra Loosemore <sandra@codesourcery.com> - - PR c++/90464 - * doc/invoke.texi (Warning Options): Document that -Wunused-parameter - isn't enabled by -Wunused unless -Wextra is provided, and that - -Wunused does enable -Wunused-const-variable=1 for C. Clarify that - -Wunused doesn't enable -Wunused-* options documented as behaving - otherwise, and list them explicitly. - -2024-01-21 Sandra Loosemore <sandra@codesourcery.com> - - PR c/109708 - * doc/invoke.texi (Warning Options): Fix broken example and - clean up/reorganize the others. Also describe what the short-form - options mean. - -2024-01-20 Sandra Loosemore <sandra@codesourcery.com> - - PR c/102998 - * doc/invoke.texi (Option Summary): Add -Warray-parameter. - (Warning Options): Correct/edit discussion of -Warray-parameter - to make the first example less confusing, and fill in missing info. - -2024-01-20 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113462 - * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): - Handle rhs1 INTEGER_CST like SSA_NAME. - -2024-01-20 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113491 - * tree-switch-conversion.cc (switch_conversion::build_constructors): - If elt.index has precision higher than sizetype, fold_convert it to - sizetype. - (switch_conversion::array_value_type): Return type if type is - BITINT_TYPE with precision above MAX_FIXED_MODE_SIZE or with BLKmode. - (switch_conversion::build_arrays): Use unsigned_type_for rather than - lang_hooks.types.type_for_mode if utype is BITINT_TYPE with precision - above MAX_FIXED_MODE_SIZE or with BLKmode. If utype has precision - higher than sizetype, use sizetype as tidx type and fold_convert the - subtraction to sizetype. - -2024-01-20 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (riscv_init_cumulative_args): Suppress warning. - (riscv_vector_mode_supported_any_target_p): Ditto. - -2024-01-19 Mikael Pettersson <mikpelinux@gmail.com> - - PR target/110934 - * config/m68k/m68k.cc (m68k_zero_call_used_regs): New function. - (TARGET_ZERO_CALL_USED_REGS): Define. - -2024-01-19 Mikael Pettersson <mikpelinux@gmail.com> - - PR target/108640 - * config/m68k/m68k.cc (output_andsi3): Use QImode for - address adjusted for 1-byte RMW access. - (output_iorsi3): Likewise. - (output_xorsi3): Likewise. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * doc/invoke.texi (RISC-V Options): Add list of supported - extensions. - -2024-01-19 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113495 - * config/riscv/riscv-protos.h (RVV_VLMAX): Change to regno_reg_rtx[X0_REGNUM]. - (RVV_VUNDEF): Ditto. - * config/riscv/riscv-vsetvl.cc: Add timevar. - -2024-01-19 Richard Biener <rguenther@suse.de> - - PR debug/113488 - * lto-streamer-in.cc (lto_read_tree_1): When there isn't - an early DIE but there should be, do not pretend there is. - -2024-01-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113494 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Handle endless loop on exit. Handle re-allocated PHI. - -2024-01-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113464 - * gimple-lower-bitint.cc (gimple_lower_bitint): Don't try to - optimize loads into GIMPLE_ASM stmts. - -2024-01-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113463 - * gimple-ssa-warn-restrict.cc (builtin_memref::extend_offset_range): - Only look through NOP_EXPRs if rhs1 doesn't have wider type than - lhs. - -2024-01-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113459 - * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def): Use - TREE_INT_CST_LOW of TYPE_SIZE_UNIT rather than GET_MODE_SIZE - of SCALAR_INT_TYPE_MODE if type has BLKmode. - (vn_reference_lookup_3): Likewise. Formatting fix. - -2024-01-19 Jakub Jelinek <jakub@redhat.com> - Richard Biener <rguenther@suse.de> - - * cfgexpand.cc (discover_nonconstant_array_refs_r): Force non-BLKmode - VAR_DECLs referenced in BLKmode VIEW_CONVERT_EXPRs into memory. - * expr.cc (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Do nothing - but adjust_address also for BLKmode mode and MEM op0. - -2024-01-19 Palmer Dabbelt <palmer@rivosinc.com> - - * common/config/riscv/riscv-common.cc: Add Zihpm and Zicnttr - extensions. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * doc/invoke.texi (RISC-V Options): Document the syntax of -march. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::parse_std_ext): Remove. - (riscv_subset_list::parse_multiletter_ext): Remove. - * config/riscv/riscv-subset.h - (riscv_subset_list::parse_std_ext): Remove. - (riscv_subset_list::parse_multiletter_ext): Remove. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::parse_single_std_ext): New parameter. - (riscv_subset_list::parse_single_multiletter_ext): Ditto. - (riscv_subset_list::parse_single_ext): Ditto. - (riscv_subset_list::parse): Relax the order for the input of ISA - string. - * config/riscv/riscv-subset.h - (riscv_subset_list::parse_single_std_ext): New parameter. - (riscv_subset_list::parse_single_multiletter_ext): Ditto. - (riscv_subset_list::parse_single_ext): Ditto. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::parse_base_ext): New. - (riscv_subset_list::parse): Extract part of logic into - riscv_subset_list::parse_base_ext. - * config/riscv/riscv-subset.h (riscv_subset_list::parse_base_ext): - New. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv.cc (riscv_override_options_internal): Tweak - sorry message. - -2024-01-19 Kuan-Lin Chen <rufus@andestech.com> - - * config/riscv/vector-crypto.md (UNSPEC_CLMUL): Rename to - UNSPEC_CLMUL_VC. - -2024-01-19 Sandra Loosemore <sandra@codesourcery.com> - - PR c/110029 - * doc/extend.texi (Common Variable Attributes): Explain what - happens when multiple variables with cleanups are in the same scope. - -2024-01-18 Sandra Loosemore <sandra@codesourcery.com> - - PR ipa/108470 - * doc/extend.texi (Common Function Attributes): Document that - noinline also disables some interprocedural optimizations and - improve flow to the part about using inline asm instead to - disable calls from being optimized away completely. Remove the - sentence that says noipa is mainly for internal compiler testing. - -2024-01-18 John David Anglin <danglin@gcc.gnu.org> - - PR tree-optimization/69807 - * config/pa/pa.cc (pa_option_override): Set flag_pie on TARGET_64BIT. - -2024-01-18 Brian Inglis <Brian.Inglis@Shaw.ca> - - PR target/108521 - * doc/invoke.texi (Option Summary): Remove -mcygwin and -mno-cygwin - from x86 Windows Options. - -2024-01-18 Sandra Loosemore <sandra@codesourcery.com> - - PR c/107942 - * doc/extend.texi (C Extensions): Add new section to menu. - (Function Attributes): Move dangling index entries to.... - (Const and Volatile Functions): New section. - -2024-01-18 David Malcolm <dmalcolm@redhat.com> - - PR middle-end/112684 - * toplev.cc (toplev::main): Don't ICE in - -fdiagnostics-generate-patch when exiting after options, - since no edit context will have been created. - -2024-01-18 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (vectorizable_store): Do not pre-allocate - operands vector. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * Makefile.in: Emit ENABLE_DARWIN_AT_RPATH into site.exp - when ENABLE_DARWIN_AT_RPATH_TRUE is not '#'. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/thead.cc - (th_asm_output_opcode): Rewrite some instructions. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv.md (none,thv,rvv): New attribute. - (no,yes): Add an attribute to disable alternative - for xtheadvector or RVV1.0. - * config/riscv/vector.md: - Disable alternatives that destination register overlaps - source register group for xtheadvector. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-vector-builtins-bases.cc - (class th_loadstore_width): Define new builtin bases. - (class th_extract): Define new builtin bases. - (BASE): Define new builtin bases. - * config/riscv/riscv-vector-builtins-bases.h: - Define new builtin class. - * config/riscv/riscv-vector-builtins-shapes.cc - (struct th_loadstore_width_def): Define new builtin shapes. - (struct th_indexed_loadstore_width_def): - Define new builtin shapes. - (struct th_extract_def): Define new builtin shapes. - (SHAPE): Define new builtin shapes. - * config/riscv/riscv-vector-builtins-shapes.h: - Define new builtin shapes. - * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): - Redefine DEF_RVV_FUNCTION for XTheadVector special intrinsics. - * config/riscv/riscv-vector-builtins.h - (enum required_ext): Add new XTheadVector member. - (struct function_group_info): Likewise. - * config/riscv/t-riscv: - Add thead-vector-builtins-functions.def - * config/riscv/thead-vector.md - (@pred_mov_width<vlmem_op_attr><mode>): Add new patterns. - (*pred_mov_width<vlmem_op_attr><mode>): Likewise. - (@pred_store_width<vlmem_op_attr><mode>): Likewise. - (@pred_strided_load_width<vlmem_op_attr><mode>): Likewise. - (@pred_strided_store_width<vlmem_op_attr><mode>): Likewise. - (@pred_indexed_load_width<vlmem_op_attr><mode>): Likewise. - (@pred_th_extract<mode>): Likewise. - (*pred_th_extract<mode>): Likewise. - * config/riscv/thead-vector-builtins-functions.def: New file. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * config.gcc: Add files for XTheadVector intrinsics. - * config/riscv/autovec.md: Guard XTheadVector. - * config/riscv/predicates.md: Disable immediate vl - for XTheadVector. - * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): - Add pragma for XTheadVector. - * config/riscv/riscv-string.cc (riscv_expand_block_move): - Guard XTheadVector. - * config/riscv/riscv-v.cc (vls_mode_valid_p): - Avoid autovec. - * config/riscv/riscv-vector-builtins-bases.cc: - Do not normalize vsetvl instructions for XTheadVector. - * config/riscv/riscv-vector-builtins-shapes.cc (check_type): - New check type function. - (build_one): Adjust for XTheadVector. - * config/riscv/riscv-vector-switch.def (ENTRY): - Disable fractional mode for the XTheadVector extension. - (TUPLE_ENTRY): Likewise. - * config/riscv/riscv.cc (riscv_v_adjust_bytesize): - Guard XTheadVector. - (riscv_preferred_simd_mode): Likewsie. - (riscv_autovectorize_vector_modes): Likewise. - (riscv_vector_mode_supported_any_target_p): Likewise. - (TARGET_VECTOR_MODE_SUPPORTED_ANY_TARGET_P): Likewise. - * config/riscv/thead.cc (th_asm_output_opcode): - Rewrite vsetvl instructions. - * config/riscv/vector.md: - Include thead-vector.md and change fractional LMUL - into 1 for vbool. - * config/riscv/riscv_th_vector.h: New file. - * config/riscv/thead-vector.md: New file. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/riscv-protos.h (riscv_asm_output_opcode): - Add new function to add assembler insn code prefix/suffix. - (th_asm_output_opcode): - Add Thead function to add assembler insn code prefix/suffix. - * config/riscv/riscv.cc (riscv_asm_output_opcode): - Implement function to add assembler insn code prefix/suffix. - * config/riscv/riscv.h (ASM_OUTPUT_OPCODE): - Add new function to add assembler insn code prefix/suffix. - * config/riscv/thead.cc (th_asm_output_opcode): - Implement Thead function to add assembler insn code - prefix/suffix. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * common/config/riscv/riscv-common.cc - (riscv_subset_list::parse): Add new vendor extension. - * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): - Add test marco. - * config/riscv/riscv.opt: Add new mask. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.h (DARWIN_RPATH_SPEC): Arrange for the %P spec - to be conditional on macosx-version-min. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * config/darwin.cc (darwin_objc1_section): Use the correct - meta-data version for constant strings. - (machopic_select_section): Assert if we fail to handle CFString - sections as Obejctive-C meta-data or drectly. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * lto-section-names.h (OFFLOAD_SECTION_NAME_PREFIX, - OFFLOAD_VAR_TABLE_SECTION_NAME, OFFLOAD_FUNC_TABLE_SECTION_NAME, - OFFLOAD_IND_FUNC_TABLE_SECTION_NAME): Provide Mach-O syntax - versions when the object format is Mach-O. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - PR target/105522 - * config/darwin.cc (machopic_select_section): Handle C and C++ - CFStrings. - (darwin_rename_builtins): Move this out of the CFString code. - (darwin_libc_has_function): Likewise. - (darwin_build_constant_cfstring): Create an anonymous var to - hold each CFString. - * config/darwin.h (ASM_OUTPUT_LABELREF): Handle constant - CFstrings. - -2024-01-18 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> - - PR bootstrap/113445 - * haifa-sched.cc (dep_list_size): Make global. - * sched-deps.cc (find_inc): Use instead of sd_lists_size(). - * sched-int.h (dep_list_size): Declare. - -2024-01-18 Martin Jambor <mjambor@suse.cz> - - PR tree-optimization/110422 - * tree-sra.cc (scan_function): Disqualify bases of operands of asm - gotos. - -2024-01-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113475 - * gimple-range-phi.h (phi_analyzer::m_phi_groups): New. - * gimple-range-phi.cc (phi_analyzer::phi_analyzer): Initialize. - (phi_analyzer::~phi_analyzer): Deallocate and free collected - phi_grous. - (phi_analyzer::process_phi): Record allocated phi_groups. - -2024-01-18 Richard Biener <rguenther@suse.de> - - * tree-vect-stmts.cc (vectorizable_store): Do not allocate - storage for gvec_oprnds elements. - -2024-01-18 Richard Biener <rguenther@suse.de> - - * tree-vect-loop.cc (vec_init_loop_exit_info): Adjust comment, - prefer all later exits we can handle. - (vect_analyze_loop_form): Free the allocated loop body. - Adjust comments. - -2024-01-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-log.cc: Tabify. - -2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/autovec.md: Support vi variant. - -2024-01-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-devices.cc: Tabify. - -2024-01-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-c.cc: Tabify. - -2024-01-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/driver-avr.cc: Tabify. - -2024-01-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/gen-avr-mmcu-texi.cc: Tabify. - -2024-01-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/gen-avr-mmcu-specs.cc: Tabify. - -2024-01-18 Jakub Jelinek <jakub@redhat.com> - - * config/riscv/riscv.opt (mshorten-memrefs, mrelax, mcsr-check, - minline-strcmp, minline-strncmp, minline-strlen, - -param=riscv-vector-abi): Remove Bool keywords. - -2024-01-18 Jakub Jelinek <jakub@redhat.com> - - PR target/113122 - * config/i386/i386.cc (x86_function_profiler): Add -masm=intel - support. Add missing space after , in emitted assembly in some - cases. Formatting fixes. - -2024-01-18 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/loongarch.md (movsi_internal): Remove - constraint z. - -2024-01-18 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/gen-avr-mmcu-specs.cc (diagnose_rodata_in_ram): Fix typo - in the diagnostic, and capitalize the device name. - (print_mcu): Generate specs such that: - <*check_rodata_in_ram>: New. - <*cc1_misc>: Use check_rodata_in_ram instead of cc1_rodata_in_ram. - <*link_misc>: Use check_rodata_in_ram instead of link_rodata_in_ram. - <*cc1_rodata_in_ram, *link_rodata_in_ram>: Remove. - -2024-01-18 Jakub Jelinek <jakub@redhat.com> - - PR other/113399 - * common.opt (ffold-mem-offsets): Remove Target and Bool keywords, add - Common and Optimization. - -2024-01-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113431 - * tree-vect-data-refs.cc (vect_preserves_scalar_order_p): - When there is an invariant load we might not preserve - scalar order. - -2024-01-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113374 - * tree-ssa-operands.h (SET_PHI_ARG_DEF_ON_EDGE): New. - * tree-vect-loop.cc (move_early_exit_stmts): Update - virtual LC PHIs. - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Refactor. Preserve virtual LC PHIs on all exits. - -2024-01-18 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_split_symbol): - Assign the '/u' attribute to the mem. - -2024-01-18 Sandra Loosemore <sandra@codesourcery.com> - - PR middle-end/110847 - * doc/invoke.texi (Option Summary): Document negative forms of - -Wtsan and -Wxor-used-as-pow. - (Warning Options): Likewise. - -2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113429 - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::earliest_fuse_vsetvl_info): Fix bug. - -2024-01-18 Sandra Loosemore <sandra@codesourcery.com> - - * doc/extend.texi (Common Function Attributes): Re-alphabetize - the table. - (Common Variable Attributes): Likewise. - (Common Type Attributes): Likewise. - -2024-01-17 Sandra Loosemore <sandra@codesourcery.com> - - PR middle-end/111659 - * doc/extend.texi (Common Variable Attributes): Fix long lines - in documentation of strict_flex_array + other minor copy-editing. - Add a cross-reference to -Wstrict-flex-arrays. - * doc/invoke.texi (Option Summary): Fix whitespace in tables - before -fstrict-flex-arrays and -Wstrict-flex-arrays. - (C Dialect Options): Combine the docs for the two - -fstrict-flex-arrays forms into a single entry. Note this option - is for C/C++ only. Add a cross-reference to -Wstrict-flex-arrays. - (Warning Options): Note -Wstrict-flex-arrays is for C/C++ only. - Minor copy-editing. Add cross references to the strict_flex_array - attribute and -fstrict-flex-arrays option. Add note that this - option depends on -ftree-vrp. - -2024-01-17 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113221 - * config/aarch64/predicates.md (aarch64_ldp_reg_operand): For subreg, - only allow REG operands instead of allowing all. - -2024-01-17 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv-vsetvl.cc (earliest_fuse_vsetvl_info): - Remove redundant checks in else condition for readablity. - (earliest_fuse_vsetvl_info) Print iteration count in debug - prints. - (earliest_fuse_vsetvl_info) Fix misleading vsetvl info - dump details in certain cases. - -2024-01-17 Vineet Gupta <vineetg@rivosinc.com> - - * config/riscv/riscv.opt: New -param=vsetvl-strategy. - * config/riscv/riscv-opts.h: New enum vsetvl_strategy_enum. - * config/riscv/riscv-vsetvl.cc - (pre_vsetvl::pre_global_vsetvl_info): Use vsetvl_strategy. - (pass_vsetvl::execute): Use vsetvl_strategy. - -2024-01-17 Jan Hubicka <jh@suse.cz> - - * ipa-polymorphic-call.cc (ipa_polymorphic_call_context::set_by_invariant): Remove - accidental hack reseting offset. - -2024-01-17 Jan Hubicka <jh@suse.cz> - - * config/i386/i386-options.cc (ix86_option_override_internal): Fix - handling of X86_TUNE_AVOID_512FMA_CHAINS. - -2024-01-17 Jan Hubicka <jh@suse.cz> - Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/110852 - * predict.cc (expr_expected_value_1): Fix profile merging of PHI and - binary operations - (get_predictor_value): Handle PRED_COMBINED_VALUE_PREDICTIONS and - PRED_COMBINED_VALUE_PREDICTIONS_PHI - * predict.def (PRED_COMBINED_VALUE_PREDICTIONS): New predictor. - (PRED_COMBINED_VALUE_PREDICTIONS_PHI): New predictor. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113421 - * gimple-lower-bitint.cc (stmt_needs_operand_addr): Adjust function - comment. - (bitint_dom_walker::before_dom_children): Add g temporary to simplify - formatting. Start at vop rather than cvop even if stmt is a store - and needs_operand_addr. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113410 - * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): - If access_nelts is integral with larger precision than sizetype, - fold_convert it to sizetype. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113408 - * gimple-lower-bitint.cc (bitint_large_huge::handle_stmt): For - VIEW_CONVERT_EXPR, pass TREE_OPERAND (rhs1, 0) rather than rhs1 - to handle_cast. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113406 - * ipa-strub.cc (pass_ipa_strub::execute): Check aggregate_value_p - regardless of whether is_gimple_reg_type (restype) or not. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - * tree-into-ssa.cc (pass_build_ssa::gate): Fix comment typo, - funcions -> functions, and use were instead of was. - * gengtype.cc (dump_typekind): Fix comment typos, funcion -> function - and guaranteee -> guarantee. - * attribs.h (struct attr_access): Fix comment typo funcion -> function. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113409 - * omp-general.cc (omp_adjust_for_condition): Handle BITINT_TYPE like - INTEGER_TYPE. - (omp_extract_for_data): Use build_bitint_type rather than - build_nonstandard_integer_type if either iter_type or loop->v type - is BITINT_TYPE. - * omp-expand.cc (expand_omp_for_generic, - expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): Handle - BITINT_TYPE like INTEGER_TYPE. - -2024-01-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113371 - * tree-vect-data-refs.cc (vect_enhance_data_refs_alignment): - Do not peel when LOOP_VINFO_EARLY_BREAKS_VECT_PEELED. - * tree-vect-loop-manip.cc (vect_do_peeling): Assert we do - not perform prologue peeling when LOOP_VINFO_EARLY_BREAKS_VECT_PEELED. - -2024-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> - - PR rtl-optimization/96388 - PR rtl-optimization/111554 - * sched-deps.cc (find_inc): Avoid exponential behavior. - -2024-01-17 Sandra Loosemore <sandra@codesourcery.com> - - PR c/111693 - * doc/invoke.texi (Option Summary): Move -Wuseless-cast - from C++ Language Options to Warning Options. Add entry for - -Wuse-after-free. - (C++ Dialect Options): Move -Wuse-after-free and -Wuseless-cast - from here.... - (Warning Options): ...to here. Minor copy-editing to fix typo - and grammar. - -2024-01-17 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.cc (mips_compute_frame_info): If another - register is used as global_pointer, mark $GP live false. - -2024-01-17 Sandra Loosemore <sandra@codesourcery.com> - - PR target/112973 - * doc/extend.texi (BPF Built-in Functions): Wrap long lines and - give the section a light copy-editing pass. - -2024-01-16 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add 'cobalt-100' CPU. - * config/aarch64/aarch64-tune.md: Regenerated. - * doc/invoke.texi (-mcpu): Add cobalt-100 core. - -2024-01-16 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/112573 - * config/aarch64/aarch64.cc (aarch64_legitimize_address): Reassociate - badly formed CONST expressions. - -2024-01-16 Daniel Cederman <cederman@gaisler.com> - - * config/sparc/sparc.cc (next_active_non_empty_insn): Length 0 treated as empty - -2024-01-16 Daniel Cederman <cederman@gaisler.com> - - * config/sparc/sparc.cc (atomic_insn_for_leon3_p): Treat membar_storeload as atomic - * config/sparc/sync.md (membar_storeload): Turn into named insn - and add GR712RC errata workaround. - (membar_v8): Add GR712RC errata workaround. - -2024-01-16 Andreas Larsson <andreas@gaisler.com> - - * config/sparc/sync.md (*membar_storeload_leon3): Remove - (*membar_storeload): Enable for LEON - -2024-01-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113372 - PR middle-end/90348 - PR middle-end/110115 - PR middle-end/111422 - * cfgexpand.cc (add_scope_conflicts_2): New function. - (add_scope_conflicts_1): Use it. - -2024-01-16 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-mcus.def (avr16eb14, avr16eb20, avr16eb28, avr16eb32) - (avr16ea28, avr16ea32, avr16ea48, avr32ea28, avr32ea32, avr32ea48): Add. - * doc/avr-mmcu.texi: Regenerate. - -2024-01-16 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/113091 - * tree-vect-slp.cc (vect_slp_has_scalar_use): New function. - (vect_bb_slp_mark_live_stmts): New parameter scalar_use_map, check - scalar use with new function. - (vect_bb_slp_mark_live_stmts): New function as entry to existing - overriden functions with same name. - (vect_slp_analyze_operations): Call new entry function to mark - live statements. - -2024-01-16 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113404 - * config/riscv/riscv.cc (riscv_override_options_internal): Report sorry - for RVV in big-endian mode. - -2024-01-16 Yanzhang Wang <yanzhang.wang@intel.com> - - * config/riscv/riscv.cc (riscv_arg_has_vector): Delete. - (riscv_pass_in_vector_p): Delete. - (riscv_init_cumulative_args): Delete the checking. - (riscv_get_arg_info): Delete the checking. - (riscv_function_value): Delete the checking. - * config/riscv/riscv.h: Delete the member for checking. - -2024-01-15 Georg-Johann Lay <avr@gjlay.de> - - * doc/invoke.texi (AVR Options) [-mskip-bug]: Add documentation. - -2024-01-15 Liao Shihua <shihua@iscas.ac.cn> - - * config.gcc: Include riscv_bitmanip.h. - * config/riscv/bitmanip.md: Changed mode form X to GPR in orcb and clmul pattern. - * config/riscv/crypto.md: Changed mode form X to GPR in brev8 pattern. - * config/riscv/riscv-builtins.cc (AVAIL): Adding new bitmanip builtins. - (RISCV_BUILTIN_NO_PREFIX): New helper macro. - * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Add '_32'/'_64' postfix to builtins. - * config/riscv/riscv-ftypes.def (2): New ftypes. - * config/riscv/riscv-scalar-crypto.def (RISCV_BUILTIN): New builtins. - (RISCV_BUILTIN_NO_PREFIX): Likewise. - * config/riscv/riscv_bitmanip.h: New file. - -2024-01-15 Liao Shihua <shihua@iscas.ac.cn> - - * config.gcc: Include riscv_crypto.h. - * config/riscv/riscv_crypto.h: New file. - -2024-01-15 Vladimir N. Makarov <vmakarov@redhat.com> - - PR middle-end/113354 - * lra-constraints.cc (curr_insn_transform): Spill pseudo only used - in the insn if the corresponding operand does not require hard - register anymore. - -2024-01-15 Georg-Johann Lay <avr@gjlay.de> - - PR target/107201 - * config/avr/avr.h (EXTRA_SPEC_FUNCTIONS): Add no-devlib, avr_no_devlib. - * config/avr/driver-avr.cc (avr_no_devlib): New function. - (avr_devicespecs_file): Use it to remove -nodevicelib from the - options for cores only. - * config/avr/avr-arch.h (avr_get_parch): New prototype. - * config/avr/avr-devices.cc (avr_get_parch): New function. - -2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113247 - * config/riscv/riscv-protos.h (struct regmove_vector_cost): Add vector to scalar regmove. - * config/riscv/riscv-vector-costs.cc (adjust_stmt_cost): Ditto. - * config/riscv/riscv.cc (riscv_builtin_vectorization_cost): Adjust vec_construct cost. - -2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113281 - * config/riscv/riscv-vector-costs.cc (costs::adjust_vect_cost_per_loop): New function. - (costs::finish_cost): Adjust cost for LOOP LEN with NITERS < VF. - * config/riscv/riscv-vector-costs.h: New function. - -2024-01-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113385 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - First redirect, then split the exit edge. - -2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (costs::analyze_loop_vinfo): - Remove m_num_vector_iterations. - * config/riscv/riscv-vector-costs.h: Ditto. - -2024-01-15 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113156 - * config/avr/avr.opt (-mdouble, -mlong-double): Add "Save" flag. - (-mbranch-cost): Set "Optimization" flag. - -2024-01-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113370 - * gimple-lower-bitint.cc (bitint_large_huge::handle_operand): Only - set rem to prec % (2 * limb_prec) if m_upwards_2limb, otherwise - set it to just prec % limb_prec. - -2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113393 - * config/riscv/vector.md: Fix ternary attributes. - -2024-01-14 Georg-Johann Lay <avr@gjlay.de> - - PR target/112944 - * configure.ac [target=avr]: Check availability of emulations - avrxmega2_flmap and avrxmega4_flmap, resulting in new config vars - HAVE_LD_AVR_AVRXMEGA2_FLMAP and HAVE_LD_AVR_AVRXMEGA4_FLMAP. - * configure: Regenerate. - * config.in: Regenerate. - * doc/invoke.texi (AVR Options): Document -mflmap, -mrodata-in-ram, - __AVR_HAVE_FLMAP__, __AVR_RODATA_IN_RAM__. - * config/avr/avr.opt (-mflmap, -mrodata-in-ram): New options. - * config/avr/avr-arch.h (enum avr_device_specific_features): - Add AVR_ISA_FLMAP. - * config/avr/avr-mcus.def (AVR_MCU) [avr64*, avr128*]: Set isa flag - AVR_ISA_FLMAP. - * config/avr/avr.cc (avr_arch_index, avr_has_rodata_p): New vars. - (avr_set_core_architecture): Set avr_arch_index. - (have_avrxmega2_flmap, have_avrxmega4_flmap) - (have_avrxmega3_rodata_in_flash): Set new static const bool according - to configure results. - (avr_rodata_in_flash_p): New function using them. - (avr_asm_init_sections): Let readonly_data_section->unnamed.callback - track avr_need_copy_data_p only if not avr_rodata_in_flash_p(). - (avr_asm_named_section): Track avr_has_rodata_p. - (avr_file_end): Emit __do_copy_data also when avr_has_rodata_p - and not avr_rodata_in_flash_p (). - * config/avr/specs.h (CC1_SPEC): Add %(cc1_rodata_in_ram). - (LINK_SPEC): Add %(link_rodata_in_ram). - (LINK_ARCH_SPEC): Remove. - * config/avr/gen-avr-mmcu-specs.cc (have_avrxmega3_rodata_in_flash) - (have_avrxmega2_flmap, have_avrxmega4_flmap): Set new static - const bool according to configure results. - (diagnose_mrodata_in_ram): New function. - (print_mcu): Generate specs with the following changes: - <*cc1_misc, *asm_misc, *link_misc>: New specs so that we don't - need to extend avr/specs.h each time we add a new bell or whistle. - <*cc1_rodata_in_ram, *link_rodata_in_ram>: New specs to diagnose - -m[no-]rodata-in-ram. - <*cpp_rodata_in_ram>: New. Does -D__AVR_RODATA_IN_RAM__=0/1. - <*cpp_mcu>: Add -D__AVR_AVR_FLMAP__ if it applies. - <*cpp>: Add %(cpp_rodata_in_ram). - <*link_arch>: Use emulation avrxmega2_flmap, avrxmega4_flmap as - requested. - <*self_spec>: Add -mflmap or %<mflmap as needed. - -2024-01-14 Jeff Law <jlaw@ventanamicro.com> - - * config/mips/mips.md (ior<mode>3_mips16_asmacro): Use SImode, - not the GPR iterator. Adjust pattern name and mode attribute - accordingly. - -2024-01-13 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113361 - * gimple-lower-bitint.cc (bitint_large_huge::handle_operand_addr): - Fix up determination of the type for > limb_prec constants. - -2024-01-12 Georg-Johann Lay <avr@gjlay.de> - - * doc/extend.texi (AVR Named Address Spaces, Limitations and Caveats): - Add web-link to the avr-gcc wiki. - -2024-01-12 Georg-Johann Lay <avr@gjlay.de> - - * doc/extend.texi (AVR Variable Attributes) [address]: Remove - documentation for a version without argument, which is not supported. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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_x4 - * config/arm/neon.md - (neon_vld1q_x4<mode>): Updated from neon_vld1_x4<mode>. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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<mode>): Updated from neon_vld1_x3<mode>. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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<VMEMX2_q>_x2<VDQX:mode>): Updated from - neon_vld1_x2<mode>. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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<mode>): New. - (neon_vst1x4qa<mode>, neon_vst1x4qb<mode>): New. - * config/arm/unspecs.md - (UNSPEC_VST1X4A, UNSPEC_VST1X4B): New. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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<mode>): New. - (neon_vld1x3qa<mode>, neon_vst1x3qb<mode>): New. - * config/arm/unspecs.md - (UNSPEC_VST1X3A, UNSPEC_VST1X3B): New. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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 (vst1<_x2): New entries. - * config/arm/neon.md - (neon_vst1<VMEMX2_q>_x2<VDQX:mode>): Updated from - neon_vst1_x2<mode>. - * config/arm/iterators.md - (VMEMX2): New mode iterator. - (VMEMX2_q): New mode attribute. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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<mode>): New. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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<mode>): New. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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<mode>): New. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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 - (neon_vld1_x4<mode>): New. - (neon_vld1x4qa<mode>, neon_vld1x4qb<mode>): New - * config/arm/unspecs.md - (UNSPEC_VLD1X4A, UNSPEC_VLD1X4B): New. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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 - (neon_vld1_x3<mode>): New. - (neon_vld1x3qa<mode>, neon_vld1x3qb<mode>): New. - * config/arm/unspecs.md - (UNSPEC_VLD1X3A, UNSPEC_VLD1X3B): New. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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<mode>): New. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113287 - * doc/sourcebuild.texi (check_effective_target_bitint65535): New. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - * tree-vect-loop-manip.cc (vect_loop_versioning): Replace single_exit. - * tree-vect-loop.cc (vect_transform_loop): Likewise. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113178 - * tree-vect-loop.cc (vect_create_epilog_for_reduction): Fill in all - alternate exits. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113237 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): Use - existing LCSSA variable for exit when all exits are early break. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113137 - PR tree-optimization/113136 - PR tree-optimization/113172 - PR tree-optimization/113178 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Maintain PHIs on inverted loops. - (vect_do_peeling): Maintain virtual PHIs on inverted loops. - * tree-vect-loop.cc (vec_init_loop_exit_info): Pick exit closes to - latch. - (vect_create_loop_vinfo): Record all conds instead of only alt ones. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113135 - * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): Rework - dependency analysis. - -2024-01-12 Iain Sandoe <iain@sandoe.co.uk> - - * config/rs6000/host-darwin.cc (segv_handler): Use the revised - diagnostics class member name for abort of error. - -2024-01-12 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr.cc (avr_handle_addr_attribute): Move "..." from - format string to %s argument. - -2024-01-12 John David Anglin <danglin@gcc.gnu.org> - Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113182 - * varasm.cc (process_pending_assemble_externals, - assemble_external_libcall): Use targetm.strip_name_encoding - before calling get_identifier. - -2024-01-12 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113196 - * config/aarch64/aarch64.h (machine_function::advsimd_zero_insn): - New member variable. - * config/aarch64/aarch64-protos.h (aarch64_split_simd_shift_p): - Declare. - * config/aarch64/iterators.md (Vnarrowq2): New mode attribute. - * config/aarch64/aarch64-simd.md - (vec_unpacku_hi_<mode>, vec_unpacks_hi_<mode>): Recombine into... - (vec_unpack<su>_hi_<mode>): ...this. Move the generation of - zip2 for zero-extends to... - (aarch64_simd_vec_unpack<su>_hi_<mode>): ...a split of this - instruction. Fix big-endian handling. - (vec_unpacku_lo_<mode>, vec_unpacks_lo_<mode>): Recombine into... - (vec_unpack<su>_lo_<mode>): ...this. Move the generation of - zip1 for zero-extends to... - (<optab><Vnarrowq><mode>2): ...a split of this instruction. - Fix big-endian handling. - (*aarch64_zip1_uxtl): New pattern. - (aarch64_usubw<mode>_lo_zip, aarch64_uaddw<mode>_lo_zip): Delete - (aarch64_usubw<mode>_hi_zip, aarch64_uaddw<mode>_hi_zip): Likewise. - * config/aarch64/aarch64.cc (aarch64_get_shareable_reg): New function. - (aarch64_gen_shareable_zero): Use it. - (aarch64_split_simd_shift_p): New function. - -2024-01-12 Richard Sandiford <richard.sandiford@arm.com> - - * emit-rtl.h (rtl_data::x_function_beg_note): New member variable. - (function_beg_insn): New macro. - * function.cc (expand_function_start): Initialize function_beg_insn. - -2024-01-12 Richard Sandiford <richard.sandiford@arm.com> - - PR target/112989 - * config/aarch64/aarch64-sve-builtins.h - (function_builder::m_overload_names): Replace with... - * config/aarch64/aarch64-sve-builtins.cc (overload_names): ...this - new global. - (add_overloaded_function): Update accordingly, using get_identifier - to get a GGC-friendly record of the name. - -2024-01-12 Richard Sandiford <richard.sandiford@arm.com> - - PR target/112989 - * config/aarch64/aarch64-sve-builtins.def: Don't include - aarch64-sve-builtins-sme.def. - (DEF_SME_ZA_FUNCTION_GS, DEF_SME_ZA_FUNCTION): Move to... - * config/aarch64/aarch64-sve-builtins-sme.def: ...here. - (DEF_SME_FUNCTION): New macro. Use it and DEF_SME_FUNCTION_GS - instead of DEF_SVE_*. Add AARCH64_FL_SME to anything that - requires AARCH64_FL_SME2. - * config/aarch64/aarch64-sve-builtins-sve2.def: Make same - AARCH64_FL_SME adjustment here. - * config/aarch64/aarch64-sve-builtins.cc (function_groups): Don't - include SME intrinsics. - (sme_function_groups): New array. - (handle_arm_sve_h): Remove check for AARCH64_FL_SME. - (handle_arm_sme_h): Use sme_function_groups instead of function_groups. - -2024-01-12 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113281 - * config/riscv/riscv-protos.h (struct regmove_vector_cost): New struct. - (struct cpu_vector_cost): Add regmove struct. - (get_vector_costs): Export as global. - * config/riscv/riscv-vector-costs.cc (adjust_stmt_cost): Adjust scalar_to_vec cost. - (costs::add_stmt_cost): Ditto. - * config/riscv/riscv.cc (get_common_costs): Export global function. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113334 - * gimple-lower-bitint.cc (bitint_large_huge::handle_operand): Use - wi::neg_p (wi::to_wide (op)) instead of tree_int_cst_sgn (op) < 0 - to determine if number should be extended by all ones rather than zero - extended. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113330 - * tree-sra.cc (create_access): Punt for BITINT_TYPE accesses with - too large size. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113323 - * gimple-lower-bitint.cc (bitint_dom_walker::before_dom_children): Fix - check for lhs being large/huge _BitInt not in m_names. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113316 - * gimple-lower-bitint.cc (bitint_large_huge::lower_call): Handle - uninitialized large/huge _BitInt arguments to calls. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - * gimple-lower-bitint.cc (mergeable_op): Instead of comparing - TYPE_SIZE (t) of large/huge BITINT_TYPEs, compare - CEIL (TYPE_PRECISION (t), limb_prec). - (bitint_large_huge::handle_cast): Likewise. - -2024-01-12 Ilya Leoshkevich <iii@linux.ibm.com> - - PR sanitizer/113284 - * config/rs6000/rs6000.cc (rs6000_elf_declare_function_name): - Use assemble_function_label_final () for Power ELF V1 ABI. - * output.h (assemble_function_label_final): New function. - * varasm.cc (assemble_function_label_raw): Use - assemble_function_label_final (). - (assemble_function_label_final): New function. - -2024-01-12 Richard Biener <rguenther@suse.de> - - PR middle-end/113344 - * match.pd ((double)float CMP (double)float -> float CMP float): - Perform result type check only for vectors. - * fold-const.cc (fold_binary_loc): Likewise. - -2024-01-12 Haochen Jiang <haochen.jiang@intel.com> - - * config/i386/sse.md (sdot_prod<mode>): Remove redundant SET. - (usdot_prod<mode>): Ditto. - (sdot_prod<mode>): Ditto. - (udot_prod<mode>): Ditto. - -2024-01-12 Haochen Jiang <haochen.jiang@intel.com> - - PR target/113288 - * config/i386/i386-c.cc (ix86_target_macros_internal): - Add __AVX10_1__, __AVX10_1_256__ and __AVX10_1_512__. - -2024-01-12 Richard Biener <rguenther@suse.de> - - PR target/112280 - * config/s390/s390.cc (expand_perm_as_a_vlbr_vstbr_candidate): - Do not generate code when d.testing_p. - -2024-01-12 liuhongt <hongtao.liu@intel.com> - - PR target/113039 - * doc/invoke.texi (fcf-protection=): Update documents. - -2024-01-12 Pan Li <pan2.li@intel.com> - - * config/riscv/riscv.cc (riscv_v_ext_mode_p): Update the - comments of predicate func riscv_v_ext_mode_p. - -2024-01-12 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/riscv-vector-builtins.def (vfloat16m8_t): - Modify ABI-name length of vfloat16m8_t - -2024-01-12 Li Wei <liwei@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_expand_conditional_move): - Adjust. - -2024-01-12 Li Wei <liwei@loongson.cn> - - * config/loongarch/loongarch.md (add<mode>3): Removed. - (*addsi3): New. - (addsi3): Ditto. - (adddi3): Ditto. - (*addsi3_extended): Removed. - (addsi3_extended): New. - -2024-01-11 Jin Ma <jinma@linux.alibaba.com> - - * config/riscv/thead.md: Add limits for splits. - -2024-01-11 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/113322 - * expr.cc (do_store_flag): Don't try single bit tests with - comparison on vector types. - -2024-01-11 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/113301 - * match.pd (`1/x`): Delay signed case until late. - -2024-01-11 Georg-Johann Lay <avr@gjlay.de> - - * doc/invoke.texi (AVR Options): Move -mrmw, -mn-flash, -mshort-calls - and -msp8 to... - (AVR Internal Options): ...this new @subsubsection. - -2024-01-11 Vladimir N. Makarov <vmakarov@redhat.com> - - 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): Try to match operand without and with - narrowing reg class. Discourage narrowing the class. Finish insn - matching only if there is no class narrowing. - (curr_insn_transform): Pass true to in_class_p for reg operand win. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/112505 - * tree-vect-loop.cc (vectorizable_induction): Reject - bit-precision induction. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113126 - * match.pd ((double)float CMP (double)float -> float CMP float): - Make sure the boolean type is the same. - * fold-const.cc (fold_binary_loc): Likewise. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/112636 - * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call - estimate_numbers_of_iterations before querying - get_max_loop_iterations_int. - (pass_ch::execute): Initialize SCEV and loops appropriately. - -2024-01-11 Georg-Johann Lay <avr@gjlay.de> - - * config/avr/avr-devices.cc (avr_texinfo): Adjust documentation for - Reduced Tiny. - * config/avr/gen-avr-mmcu-texi.cc (main): Add @anchor for each core. - * doc/extend.texi (AVR Variable Attributes): Improve documentation - of io, io_low and address attributes. - * doc/invoke.texi (AVR Options): Add some anchors for external refs. - * doc/avr-mmcu.texi: Rebuild. - -2024-01-11 Yang Yujie <yangyujie@loongson.cn> - - PR target/113233 - * config/loongarch/genopts/loongarch.opt.in: Mark options with - the "Save" property. - * config/loongarch/loongarch.opt: Same. - * config/loongarch/loongarch-opts.cc: Refresh -mcmodel= state - according to la_target. - * config/loongarch/loongarch.cc: Implement TARGET_OPTION_{SAVE, - RESTORE} for the la_target structure; Rename option conditions - to have the same "la_" prefix. - * config/loongarch/loongarch.h: Same. - -2024-01-11 Pan Li <pan2.li@intel.com> - - * loop-unroll.cc (insert_var_expansion_initialization): Leverage - MODE_HAS_SIGNED_ZEROS for expansion variable initialization. - -2024-01-11 Alex Coplan <alex.coplan@arm.com> - - PR target/113077 - * config/aarch64/aarch64-ldp-fusion.cc (filter_notes): Add - fr_expr param to extract REG_FRAME_RELATED_EXPR notes. - (combine_reg_notes): Handle REG_FRAME_RELATED_EXPR notes, and - synthesize these if needed. Update caller ... - (ldp_bb_info::fuse_pair): ... here. - (ldp_bb_info::try_fuse_pair): Punt if either insn has writeback - and either insn is frame-related. - (find_trailing_add): Punt on frame-related insns. - * config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use - REG_FRAME_RELATED_EXPR instead of REG_CFA_OFFSET. - -2024-01-11 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.cc (mips_start_function_definition): - Add ATTRIBUTE_UNUSED. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR middle-end/112740 - * expr.cc (store_constructor): Check the integer vector - mask has a single bit per element before using sign-extension - to expand an uniform vector. - -2024-01-11 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (costs::better_main_loop_than_p): VLA - preempt VLS on unknown NITERS loop. - -2024-01-11 Haochen Jiang <haochen.jiang@intel.com> - - * doc/invoke.texi: Add -mevex512. - -2024-01-11 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/loongarch.md (one_cmpl<mode>2): Replace GPR with X. - (*nor<mode>3): Likewise. - (nor<mode>3): Likewise. - (*negsi2_extended): New template. - (*<optab>si3_internal): Likewise. - (*one_cmplsi2_internal): Likewise. - (*norsi3_internal): Likewise. - (*<optab>nsi_internal): Likewise. - (bytepick_w_<bytepick_imm>_extend): Modify this template according to the - modified bit operation to make the optimization work. - -2024-01-11 liuhongt <hongtao.liu@intel.com> - - PR target/104401 - * match.pd (VEC_COND_EXPR: A < B ? A : B -> MIN_EXPR): New patten match. - -2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv.cc (get_common_costs): Switch RVV cost model. - (get_vector_costs): Ditto. - (riscv_builtin_vectorization_cost): Ditto. - -2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (costs::better_main_loop_than_p): Minior tweak. - -2024-01-10 Antoni Boucher <bouanto@zoho.com> - - PR jit/111396 - * ipa-fnsummary.cc (ipa_fnsummary_cc_finalize): Call - ipa_free_size_summary. - * ipa-icf.cc (ipa_icf_cc_finalize): New function. - * ipa-profile.cc (ipa_profile_cc_finalize): New function. - * ipa-prop.cc (ipa_prop_cc_finalize): New function. - * ipa-prop.h (ipa_prop_cc_finalize): New function. - * ipa-sra.cc (ipa_sra_cc_finalize): New function. - * ipa-utils.h (ipa_profile_cc_finalize, ipa_icf_cc_finalize, - ipa_sra_cc_finalize): New functions. - * toplev.cc (toplev::finalize): Call ipa_icf_cc_finalize, - ipa_prop_cc_finalize, ipa_profile_cc_finalize and - ipa_sra_cc_finalize - Include ipa-utils.h. - -2024-01-10 Jin Ma <jinma@linux.alibaba.com> - - * config/riscv/riscv-protos.h (th_int_get_mask): New prototype. - (th_int_get_save_adjustment): Likewise. - (th_int_adjust_cfi_prologue): Likewise. - * config/riscv/riscv.cc (BITSET_P): Moved away from here. - (TH_INT_INTERRUPT): New macro. - (riscv_expand_prologue): Add the processing of XTheadInt. - (riscv_expand_epilogue): Likewise. - * config/riscv/riscv.h (BITSET_P): Moved to here. - * config/riscv/riscv.md: New unspec. - * config/riscv/thead.cc (th_int_get_mask): New function. - (th_int_get_save_adjustment): Likewise. - (th_int_adjust_cfi_prologue): Likewise. - * config/riscv/thead.md (th_int_push): New pattern. - (th_int_pop): new pattern. - -2024-01-10 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/112468 - * doc/sourcebuild.texi: Document ifn_copysign. - * match.pd: Only apply transformation if target supports the IFN. - -2024-01-10 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/112581 - * gimple-if-to-switch.cc (pass_if_to_switch::execute): Call - mark_ssa_maybe_undefs. - * tree-ssa-reassoc.cc (can_reassociate_op_p): Uninitialized - variables can not be reassociated. - (init_range_entry): Check for uninitialized variables too. - (init_reassoc): Call mark_ssa_maybe_undefs. - -2024-01-10 Maciej W. Rozycki <macro@embecosm.com> - - * config/riscv/riscv.cc (riscv_noce_conversion_profitable_p): - Also handle sign extension. - -2024-01-10 Alex Coplan <alex.coplan@arm.com> - - * config/aarch64/aarch64.opt (-mearly-ldp-fusion): Set default - to 0. - (-mlate-ldp-fusion): Likewise. - -2024-01-10 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113287 - * tree-vect-stmts.cc (vectorizable_early_exit): Check the flags on edge - instead of using BRANCH_EDGE to determine true edge. - -2024-01-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113078 - * tree-vect-loop.cc (check_reduction_path): Canonicalize - .COND_SUB to .COND_ADD. - -2024-01-10 David Malcolm <dmalcolm@redhat.com> - - * gcc-urlifier.cc (gcc_urlifier::get_url_suffix_for_option): - Handle prefix mappings before calling find_opt. - (selftest::gcc_urlifier_cc_tests): Add example of urlifying a - "-fno-"-prefixed command-line option. - * opts-common.cc (get_option_prefix_remapping): New. - * opts.h (get_option_prefix_remapping): New decl. - -2024-01-10 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.cc (diagnostic_context::report_diagnostic): Pass - m_urlifier to pp_output_formatted_text. - * pretty-print.cc: Add #define of INCLUDE_VECTOR. - (obstack_append_string): New overload, taking a length. - (urlify_quoted_string): Pass in an obstack ptr, rather than using - that of the pp's buffer. Generalize to handle trailing text in - the buffer beyond the run of quoted text. - (class quoting_info): New. - (on_begin_quote): New. - (on_end_quote): New. - (pp_format): Refactor phase 1 and phase 2 quoting support, moving - it to calls to on_begin_quote and on_end_quote. - (struct auto_obstack): New. - (quoting_info::handle_phase_3): New. - (pp_output_formatted_text): Add urlifier param. Use it if there - is deferred urlification. Delete m_quotes. - (selftest::pp_printf_with_urlifier): Pass urlifier to - pp_output_formatted_text. - (selftest::test_urlification): Update results for the existing - case of quoted text stradding chunks; add more such test cases. - * pretty-print.h (class quoting_info): New forward decl. - (chunk_info::m_quotes): New field. - (pp_output_formatted_text): Add optional urlifier param. - -2024-01-10 David Malcolm <dmalcolm@redhat.com> - - * pretty-print.cc (selftest::test_pp_format): Add selftest - coverage for numbered args. - -2024-01-10 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113144 - PR tree-optimization/113145 - * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): - Update all BB that the original exits dominated. - -2024-01-10 Eric Botcazou <ebotcazou@adacore.com> - - * dwarf2out.cc (modified_type_die): Extend the support of reverse - storage order to enumeration types if -gstrict-dwarf is not passed. - (gen_enumeration_type_die): Add REVERSE parameter and generate the - DIE immediately after the existing one if it is true. - (gen_tagged_type_die): Add REVERSE parameter and pass it in the - call to gen_enumeration_type_die. - (gen_type_die_with_usage): Add REVERSE parameter and pass it in the - first recursive call as well as the call to gen_tagged_type_die. - (gen_type_die): Add REVERSE parameter and pass it in the call to - gen_type_die_with_usage. - -2024-01-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113120 - * tree-sra.cc (analyze_access_subtree): For BITINT_TYPE - with root->size TYPE_PRECISION don't build anything new. - Otherwise, if root->type is a BITINT_TYPE, use build_bitint_type - rather than build_nonstandard_integer_type. - -2024-01-10 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386.opt: Adjust document. - * doc/invoke.texi: Add description for - -mapx-inline-asm-use-gpr32. - -2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/autovec.md (<u>avg<v_double_trunc>3_floor): Remove. - (avg<v_double_trunc>3_floor): New pattern. - (<u>avg<v_double_trunc>3_ceil): Remove. - (avg<v_double_trunc>3_ceil): New pattern. - (uavg<mode>3_floor): Ditto. - (uavg<mode>3_ceil): Ditto. - * config/riscv/riscv-protos.h (enum insn_flags): Add for average addition. - (enum insn_type): Ditto. - * config/riscv/riscv-v.cc: Ditto. - * config/riscv/vector-iterators.md (ashiftrt): Remove. - (ASHIFTRT): Ditto. - * config/riscv/vector.md: Add VLS modes. - -2024-01-10 Kewen Lin <linkw@linux.ibm.com> - - PR target/111480 - * config/rs6000/vsx.md (VCZLSBB): New int iterator. - (vczlsbb_char): New int attribute. - (vclzlsbb_<mode>, vctzlsbb_<mode>): Merge to ... - (vc<vczlsbb_char>zlsbb_<mode>): ... this. - (*vctzlsbb_zext_<mode>): Rename to ... - (*vc<vczlsbb_char>zlsbb_zext_<mode>): ... this, and extend it to - cover vclzlsbb. - -2024-01-10 Kewen Lin <linkw@linux.ibm.com> - - PR target/112606 - * config/rs6000/rs6000.md (copysign<mode>3 IEEE128): Change predicate - of the last argument from altivec_register_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 altivec_register_operand, force it to - REG using copy_to_mode_reg. - -2024-01-10 Kewen Lin <linkw@linux.ibm.com> - - PR middle-end/113100 - * builtins.cc (expand_builtin_stack_address): Guard stack point - adjustment with SPARC_STACK_BOUNDARY_HACK. - -2024-01-10 Yang Yujie <yangyujie@loongson.cn> - - * config/loongarch/genopts/loongarch-strings: Remove explicit-reloc - argument string definitions. - * config/loongarch/loongarch-str.h: Same. - * config/loongarch/genopts/loongarch.opt.in: Mark -m[no-]explicit-relocs - as aliases to -mexplicit-relocs={always,none} - * config/loongarch/loongarch.opt: Regenerate. - * config/loongarch/loongarch.cc: Same. - -2024-01-10 Yang Yujie <yangyujie@loongson.cn> - - * config/loongarch/loongarch-def.h: Define constants with - enums instead of Macros. - -2024-01-10 Yang Yujie <yangyujie@loongson.cn> - - * config/loongarch/genopts/loongarch-strings: Rename. - * config/loongarch/genopts/loongarch.opt.in: Same. - * config/loongarch/loongarch-cpu.cc: Same. - * config/loongarch/loongarch-def.cc: Same. - * config/loongarch/loongarch-def.h: Same. - * config/loongarch/loongarch-opts.cc: Same. - * config/loongarch/loongarch-opts.h: Same. - * config/loongarch/loongarch-str.h: Same. - * config/loongarch/loongarch.opt: Same. - -2024-01-10 Yang Yujie <yangyujie@loongson.cn> - - * config/loongarch/genopts/genstr.sh: Prepend the isa_evolution - variable with the common la_ prefix. - * config/loongarch/genopts/loongarch.opt.in: Mark ISA evolution - flags as saved using TargetVariable. - * config/loongarch/loongarch.opt: Same. - * config/loongarch/loongarch-def.h: Define evolution_set to - mark changes to the -march default. - * config/loongarch/loongarch-driver.cc: Same. - * config/loongarch/loongarch-opts.cc: Same. - * config/loongarch/loongarch-opts.h: Define and use ISA evolution - conditions around the la_target structure. - * config/loongarch/loongarch.cc: Same. - * config/loongarch/loongarch.md: Same. - * config/loongarch/loongarch-builtins.cc: Same. - * config/loongarch/loongarch-c.cc: Same. - * config/loongarch/lasx.md: Same. - * config/loongarch/lsx.md: Same. - * config/loongarch/sync.md: Same. - -2024-01-09 Jeff Law <jlaw@ventanamicro.com> - - * config/epiphany/constraints.md (Car): Allow -1024..1023, no more, - no less. - -2024-01-09 Richard Sandiford <richard.sandiford@arm.com> - - * config/mn10300/mn10300.md (subdi3_degenerate): Add isa attribute. - -2024-01-09 Tamar Christina <tamar.christina@arm.com> - - * tree-vect-loop.cc (vectorizable_live_operation_1): Drop unused - restart_loop. - (vectorizable_live_operation): Likewise. - -2024-01-09 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113199 - * tree-vect-loop.cc (vectorizable_live_operation_1): Use - BIT_FIELD_REF. - -2024-01-09 Jakub Jelinek <jakub@redhat.com> - - PR target/113270 - * config.gcc (aarch64*-*-*): Add aarch64-builtins.h to target_gtfiles. - * config/aarch64/aarch64-builtins.cc (aarch64_simd_types): Add extern - GTY(()) declaration before the definition, drop GTY(()) drom the - definition. - -2024-01-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113026 - * tree-vect-loop-manip.cc (vect_do_peeling): Remove - redundant and wrong niter bound setting. Move niter - bound adjustment down. - -2024-01-09 Tamar Christina <tamar.christina@arm.com> - - PR middle-end/113163 - * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): - Reject non-linear inductions that aren't supported. - -2024-01-09 Roger Sayle <roger@nextmovesoftware.com> - - * config/arc/arc.cc (arc_shift_alg): New enumerated type for - left shift implementation strategies. - (arc_shift_info): Type for each entry of the shift strategy table. - (arc_shift_context_idx): Return a integer value for each code - generation context, used as an index - (arc_ashl_alg): Table indexed by context and shifted bit count. - (arc_split_ashl): Use the arc_ashl_alg table to select SImode - left shift implementation. - (arc_rtx_costs) <case ASHIFT>: Use the arc_ashl_alg table to - provide accurate costs, when optimizing for speed or size. - -2024-01-09 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (loop_invariant_op_p): Fix loop invariant check. - -2024-01-09 Julian Brown <julian@codesourcery.com> - - * gimplify.cc (gimplify_expr): Ensure OMP_ARRAY_SECTION has been - processed out before gimplification. - * tree-pretty-print.cc (dump_generic_node): Support OMP_ARRAY_SECTION. - * tree.def (OMP_ARRAY_SECTION): New tree code. - -2024-01-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113210 - * tree-vect-loop.cc (vect_get_loop_niters): If non-INTEGER_CST - value in *number_of_iterationsm1 PLUS_EXPR 1 is folded into - INTEGER_CST, recompute *number_of_iterationsm1 as the INTEGER_CST - minus 1. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - PR rtl-optimization/113140 - * reorg.cc (fill_slots_from_thread): If we are to branch after the - last instruction of the function, create an end label. - -2024-01-09 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - PR target/112992 - * config/i386/i386-expand.cc - (ix86_convert_const_wide_int_to_broadcast): Allow call to - ix86_expand_vector_init_duplicate to fail, and return NULL_RTX. - (ix86_broadcast_from_constant): Revert recent change; Return a - suitable MEMREF independently of mode/target combinations. - (ix86_expand_vector_move): Allow ix86_expand_vector_init_duplicate - to decide whether expansion is possible/preferrable. Only try - forcing DImode constants to memory (and trying again) if calling - ix86_expand_vector_init_duplicate fails with an DImode immediate - constant. - (ix86_expand_vector_init_duplicate) <case E_V2DImode>: Try using - V4SImode for suitable immediate constants. - <case E_V4DImode>: Try using V8SImode for suitable constants. - <case E_V4HImode>: Fail for CONST_INT_P, i.e. use constant pool. - <case E_V2HImode>: Likewise. - <case E_V8HImode>: For CONST_INT_P try using V4SImode via widen. - <case E_V16QImode>: For CONT_INT_P try using V8HImode via widen. - <label widen>: Handle CONT_INTs via simplify_binary_operation. - Allow recursive calls to ix86_expand_vector_init_duplicate to fail. - <case E_V16HImode>: For CONST_INT_P try V8SImode via widen. - <case E_V32QImode>: For CONST_INT_P try V16HImode via widen. - (ix86_expand_vector_init): Move try using a broadcast for all_same - with ix86_expand_vector_init_duplicate before using constant pool. - -2024-01-09 Chung-Ju Wu <jasonwucj@gmail.com> - - * doc/invoke.texi (Arm Options): Document Cortex-M52 options. - -2024-01-09 Chung-Ju Wu <jasonwucj@gmail.com> - - * config/arm/arm-cpus.in (cortex-m52): New cpu. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - -2024-01-09 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/lasx.md (vec_initv32qiv16qi): Rename to .. - (vec_init<mode><lasxhalf>): .. this, and extend to mode. - (@vec_concatz<mode>): New insn pattern. - * config/loongarch/loongarch.cc (loongarch_expand_vector_group_init): - Handle VALS containing two vectors. - -2024-01-09 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-builtins-functions.def (vleff): Move comments. - (vundefined): Ditto. - -2024-01-09 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/riscv-vector-builtins-bases.cc (class vandn): - Add new function_base for crypto vector. - (class bitmanip): Ditto. - (class b_reverse):Ditto. - (class vwsll): Ditto. - (class clmul): Ditto. - (class vg_nhab): Ditto. - (class crypto_vv):Ditto. - (class crypto_vi):Ditto. - (class vaeskf2_vsm3c):Ditto. - (class vsm3me): Ditto. - (BASE): Add BASE declaration for crypto vector. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): - Add crypto vector intrinsic definition. - (vbrev): Ditto. - (vclz): Ditto. - (vctz): Ditto. - (vwsll): Ditto. - (vandn): Ditto. - (vbrev8): Ditto. - (vrev8): Ditto. - (vrol): Ditto. - (vror): Ditto. - (vclmul): Ditto. - (vclmulh): Ditto. - (vghsh): Ditto. - (vgmul): Ditto. - (vaesef): Ditto. - (vaesem): Ditto. - (vaesdf): Ditto. - (vaesdm): Ditto. - (vaesz): Ditto. - (vaeskf1): Ditto. - (vaeskf2): Ditto. - (vsha2ms): Ditto. - (vsha2ch): Ditto. - (vsha2cl): Ditto. - (vsm4k): Ditto. - (vsm4r): Ditto. - (vsm3me): Ditto. - (vsm3c): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct crypto_vv_def): - Add new function_shape for crypto vector. - (struct crypto_vi_def): Ditto. - (struct crypto_vv_no_op_type_def): Ditto. - (SHAPE): Add SHAPE declaration of crypto vector. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_CRYPTO_SEW32_OPS): - Add new data type for crypto vector. - (DEF_RVV_CRYPTO_SEW64_OPS): 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_CRYPTO_SEW32_OPS): - Add new data struct for crypto vector. - (DEF_RVV_CRYPTO_SEW64_OPS): Ditto. - (registered_function::overloaded_hash): Processing size_t uimm for C overloaded func. - * config/riscv/riscv-vector-builtins.def (vi): Add vi OP_TYPE. - -2024-01-08 Ilya Leoshkevich <iii@linux.ibm.com> - - PR sanitizer/113251 - * varasm.cc (assemble_function_label_raw): Do not call - asan_function_start () without the current function. - -2024-01-08 Cupertino Miranda <cupertino.miranda@oracle.com> - - PR target/113225 - * btfout.cc (btf_collect_datasec): Skip creating BTF info for - extern and kernel_helper attributed function decls. - -2024-01-08 Cupertino Miranda <cupertino.miranda@oracle.com> - - * btfout.cc (output_btf_strs): Changed. - -2024-01-08 Tobias Burnus <tobias@codesourcery.com> - - * config/gcn/mkoffload.cc (main): Handle gfx1100 - when setting the default XNACK. - -2024-01-08 Tobias Burnus <tobias@codesourcery.com> - - * config.gcc (amdgcn-*-amdhsa): Accept --with-arch=gfx1100. - * config/gcn/gcn-hsa.h (NO_XNACK): Add gfx1100: - (ASM_SPEC): Handle gfx1100. - * config/gcn/gcn-opts.h (enum processor_type): Add PROCESSOR_GFX1100. - (enum gcn_isa): Add ISA_RDNA3. - (TARGET_GFX1100, TARGET_RDNA2_PLUS, TARGET_RDNA3): Define. - * config/gcn/gcn-valu.md: Change TARGET_RDNA2 to TARGET_RDNA2_PLUS. - * config/gcn/gcn.cc (gcn_option_override, - gcn_omp_device_kind_arch_isa, output_file_start): Handle gfx1100. - (gcn_global_address_p, gcn_addr_space_legitimate_address_p): Change - TARGET_RDNA2 to TARGET_RDNA2_PLUS. - (gcn_hsa_declare_function_name): Don't use '.amdhsa_reserve_flat_scratch' - with gfx1100. - * config/gcn/gcn.h (ASSEMBLER_DIALECT): Likewise. - (TARGET_CPU_CPP_BUILTINS): Define __RDNA3__, __gfx1030__ and - __gfx1100__. - * config/gcn/gcn.md: Change TARGET_RDNA2 to TARGET_RDNA2_PLUS. - * config/gcn/gcn.opt (Enum gpu_type): Add gfx1100. - * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1100): Define. - (isa_has_combined_avgprs, main): Handle gfx1100. - * config/gcn/t-omp-device (isa): Add gfx1100. - -2024-01-08 Richard Biener <rguenther@suse.de> - - * doc/invoke.texi (-mmovbe): Clarify. - -2024-01-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113026 - * tree-vect-loop.cc (vect_need_peeling_or_partial_vectors_p): - Avoid an epilog in more cases. - * tree-vect-loop-manip.cc (vect_do_peeling): Adjust the - epilogues niter upper bounds and estimates. - -2024-01-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113228 - * gimplify.cc (recalculate_side_effects): Do nothing for SSA_NAMEs. - -2024-01-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113120 - * gimple-lower-bitint.cc (gimple_lower_bitint): Fix handling of very - large _BitInt zero INTEGER_CST PHI argument. - -2024-01-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113119 - * gimple-lower-bitint.cc (optimizable_arith_overflow): Punt if - both REALPART_EXPR and cast from IMAGPART_EXPR appear, but cast - is before REALPART_EXPR. - -2024-01-08 Georg-Johann Lay <avr@gjlay.de> - - PR target/112952 - * config/avr/avr.cc (avr_handle_addr_attribute): Also print valid - range when diagnosing attribute "io" and "io_low" are out of range. - (avr_eval_addr_attrib): Don't ICE on empty address at that place. - (avr_insert_attributes): Reject if attribute "address", "io" or "io_low" - in contexts other than static storage. - (avr_asm_output_aligned_decl_common): Move output of decls with - attribute "address", "io", and "io_low" to... - (avr_output_addr_attrib): ...this new function. - (avr_asm_asm_output_aligned_bss): Remove output for decls with - attribute "address", "io", and "io_low". - (avr_encode_section_info): Rectify handling of decls with attribute - "address", "io", and "io_low". - -2024-01-08 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/mkoffload.cc (TEST_XNACK_UNSET): New. - (elf_flags): Remove XNACK from the default value. - (main): Set a default XNACK according to the arch. - -2024-01-08 Andrew Stubbs <ams@codesourcery.com> - - * config/gcn/mkoffload.cc (isa_has_combined_avgprs): Delete. - (process_asm): Don't count avgprs. - -2024-01-08 Hongyu Wang <hongyu.wang@intel.com> - - * config/i386/i386.opt: Add supported sub-features. - * doc/extend.texi: Add description for target attribute. - -2024-01-08 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/vector.md: Modify avl_type operand index of zvbc ins. - -2024-01-07 Roger Sayle <roger@nextmovesoftware.com> - Uros Bizjak <ubizjak@gmail.com> - - PR target/113231 - * config/i386/i386-features.cc (compute_convert_gain): Include - the overhead of explicit load and store (movd) instructions when - converting non-store scalar operations with memory destinations. - Various indentation whitespace fixes. - -2024-01-07 Tamar Christina <tamar.christina@arm.com> - - * config/arm/neon.md (cbranch<mode>4): New. - -2024-01-07 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vsetvl.cc: replace std::max by MAX. - -2024-01-06 Jiahao Xu <xujiahao@loongson.cn> - - * config/loongarch/lasx.md: Set the unused bits in operand[3] to 0. - -2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113248 - * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): - Update the MAX_SEW. - -2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (loop_invariant_op_p): New function. - (variable_vectorized_p): Teach loop invariant. - (has_unexpected_spills_p): Ditto. - -2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-protos.h (whole_reg_to_reg_move_p): New function. - * config/riscv/riscv-v.cc (whole_reg_to_reg_move_p): Ditto. - * config/riscv/vector.md: Allow non-vlmax with len = NUNITS simplification. - -2024-01-05 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113104 - * doc/invoke.texi (aarch64-sve-compare-costs): Replace with... - (aarch64-vect-compare-costs): ...this. - * config/aarch64/aarch64.opt (-param=aarch64-sve-compare-costs=): - Replace with... - (-param=aarch64-vect-compare-costs=): ...this new param. - * config/aarch64/aarch64.cc (aarch64_override_options_internal): - Don't disable it when vectorizing for Advanced SIMD only. - (aarch64_autovectorize_vector_modes): Apply VECT_COMPARE_COSTS - whenever aarch64_vect_compare_costs is true. - -2024-01-05 Lulu Cheng <chenglulu@loongson.cn> - - * config/loongarch/lasx.md (lasx_mxld_<lasxfmt_f>): - Modify the method of determining the memory offset of [x]vld/[x]vst. - (lasx_mxst_<lasxfmt_f>): Likewise. - * config/loongarch/loongarch.cc (loongarch_valid_offset_p): Delete. - (loongarch_address_insns): Likewise. - * config/loongarch/lsx.md (lsx_ld_<lsxfmt_f>): Likewise. - (lsx_st_<lsxfmt_f>): Likewise. - * config/loongarch/predicates.md (aq10b_operand): Likewise. - (aq10h_operand): Likewise. - (aq10w_operand): Likewise. - (aq10d_operand): Likewise. - -2024-01-05 Alex Coplan <alex.coplan@arm.com> - - PR target/113217 - * config/aarch64/aarch64-ldp-fusion.cc - (ldp_bb_info::try_fuse_pair): If the second access can throw, - narrow the move range to exactly that insn. - -2024-01-05 Ilya Leoshkevich <iii@linux.ibm.com> - - * asan.cc (asan_function_start): Drop switch_to_section (). - (asan_emit_stack_protection): Set .LASANPC alignment. - * config/i386/i386.cc: Use assemble_function_label_raw () - instead of ASM_OUTPUT_LABEL (). - * config/s390/s390.cc (s390_asm_output_function_label): - Likewise. - * defaults.h (ASM_OUTPUT_FUNCTION_LABEL): Likewise. - * final.cc (final_start_function_1): Drop - asan_function_start (). - * output.h (assemble_function_label_raw): New function. - * varasm.cc (assemble_function_label_raw): Likewise. - -2024-01-05 Ilya Leoshkevich <iii@linux.ibm.com> - - * config/aarch64/aarch64.cc (aarch64_declare_function_name): - Use ASM_OUTPUT_FUNCTION_LABEL (). - * config/alpha/alpha.cc (alpha_start_function): Likewise. - * config/arm/aout.h (ASM_DECLARE_FUNCTION_NAME): Likewise. - * config/arm/arm.cc (arm_asm_declare_function_name): Likewise. - * config/bfin/bfin.h (ASM_DECLARE_FUNCTION_NAME): Likewise. - * config/c6x/c6x.h (ASM_DECLARE_FUNCTION_NAME): Likewise. - * config/gcn/gcn.cc (gcn_hsa_declare_function_name): Likewise. - * config/h8300/h8300.h (ASM_DECLARE_FUNCTION_NAME): Likewise. - * config/ia64/ia64.cc (ia64_start_function): Likewise. - * config/mcore/mcore-elf.h (ASM_DECLARE_FUNCTION_NAME): - Likewise. - * config/microblaze/microblaze.cc (microblaze_function_prologue): - Likewise. - * config/mips/mips.cc (mips_start_unique_function): Return the - tree. - (mips_start_function_definition): Use - ASM_OUTPUT_FUNCTION_LABEL (). - (mips_finish_stub): Pass the tree to - mips_start_function_definition (). - (mips16_build_function_stub): Likewise. - (mips16_build_call_stub): Likewise. - (mips_output_function_prologue): Likewise. - * config/pa/pa.cc (pa_output_function_label): Use - ASM_OUTPUT_FUNCTION_LABEL (). - * config/riscv/riscv.cc (riscv_declare_function_name): Likewise. - * config/rs6000/rs6000.cc (rs6000_elf_declare_function_name): - Likewise. - (rs6000_xcoff_declare_function_name): Likewise. - -2024-01-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113201 - * tree-scalar-evolution.cc (final_value_replacement_loop): Don't call - replace_uses_by on SSA_NAME_OCCURS_IN_ABNORMAL_PHI rslt. - -2024-01-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/90693 - * tree-ssa-math-opts.cc (match_single_bit_test): If - tree_expr_nonzero_p (arg), remember it in the second argument to - IFN_POPCOUNT or lower it as arg & (arg - 1) == 0 rather than - arg ^ (arg - 1) > arg - 1. - * internal-fn.cc (expand_POPCOUNT): If second argument to - IFN_POPCOUNT suggests arg is non-zero, try to expand it as - arg & (arg - 1) == 0 rather than arg ^ (arg - 1) > arg - 1. - -2024-01-05 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv-v.cc (expand_load_store): - Remove `value`. - (expand_cond_len_op): Ditto. - (expand_gather_scatter): Ditto. - (expand_lanes_load_store): Ditto. - (expand_fold_extract_last): Ditto. - -2024-01-05 Pan Li <pan2.li@intel.com> - - Revert: - 2024-01-05 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/riscv-vector-builtins-bases.cc (class vandn): - Add new function_base for crypto vector. - (class bitmanip): Ditto. - (class b_reverse):Ditto. - (class vwsll): Ditto. - (class clmul): Ditto. - (class vg_nhab): Ditto. - (class crypto_vv):Ditto. - (class crypto_vi):Ditto. - (class vaeskf2_vsm3c):Ditto. - (class vsm3me): Ditto. - (BASE): Add BASE declaration for crypto vector. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): - Add crypto vector intrinsic definition. - (vbrev): Ditto. - (vclz): Ditto. - (vctz): Ditto. - (vwsll): Ditto. - (vandn): Ditto. - (vbrev8): Ditto. - (vrev8): Ditto. - (vrol): Ditto. - (vror): Ditto. - (vclmul): Ditto. - (vclmulh): Ditto. - (vghsh): Ditto. - (vgmul): Ditto. - (vaesef): Ditto. - (vaesem): Ditto. - (vaesdf): Ditto. - (vaesdm): Ditto. - (vaesz): Ditto. - (vaeskf1): Ditto. - (vaeskf2): Ditto. - (vsha2ms): Ditto. - (vsha2ch): Ditto. - (vsha2cl): Ditto. - (vsm4k): Ditto. - (vsm4r): Ditto. - (vsm3me): Ditto. - (vsm3c): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct crypto_vv_def): - Add new function_shape for crypto vector. - (struct crypto_vi_def): Ditto. - (struct crypto_vv_no_op_type_def): Ditto. - (SHAPE): Add SHAPE declaration of crypto vector. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_CRYPTO_SEW32_OPS): - Add new data type for crypto vector. - (DEF_RVV_CRYPTO_SEW64_OPS): 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_CRYPTO_SEW32_OPS): - Add new data struct for crypto vector. - (DEF_RVV_CRYPTO_SEW64_OPS): Ditto. - (registered_function::overloaded_hash): Processing size_t uimm for C overloaded func. - * config/riscv/riscv-vector-builtins.def (vi): Add vi OP_TYPE. - -2024-01-05 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/riscv-vector-builtins-bases.cc (class vandn): - Add new function_base for crypto vector. - (class bitmanip): Ditto. - (class b_reverse):Ditto. - (class vwsll): Ditto. - (class clmul): Ditto. - (class vg_nhab): Ditto. - (class crypto_vv):Ditto. - (class crypto_vi):Ditto. - (class vaeskf2_vsm3c):Ditto. - (class vsm3me): Ditto. - (BASE): Add BASE declaration for crypto vector. - * config/riscv/riscv-vector-builtins-bases.h: Ditto. - * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): - Add crypto vector intrinsic definition. - (vbrev): Ditto. - (vclz): Ditto. - (vctz): Ditto. - (vwsll): Ditto. - (vandn): Ditto. - (vbrev8): Ditto. - (vrev8): Ditto. - (vrol): Ditto. - (vror): Ditto. - (vclmul): Ditto. - (vclmulh): Ditto. - (vghsh): Ditto. - (vgmul): Ditto. - (vaesef): Ditto. - (vaesem): Ditto. - (vaesdf): Ditto. - (vaesdm): Ditto. - (vaesz): Ditto. - (vaeskf1): Ditto. - (vaeskf2): Ditto. - (vsha2ms): Ditto. - (vsha2ch): Ditto. - (vsha2cl): Ditto. - (vsm4k): Ditto. - (vsm4r): Ditto. - (vsm3me): Ditto. - (vsm3c): Ditto. - * config/riscv/riscv-vector-builtins-shapes.cc (struct crypto_vv_def): - Add new function_shape for crypto vector. - (struct crypto_vi_def): Ditto. - (struct crypto_vv_no_op_type_def): Ditto. - (SHAPE): Add SHAPE declaration of crypto vector. - * config/riscv/riscv-vector-builtins-shapes.h: Ditto. - * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_CRYPTO_SEW32_OPS): - Add new data type for crypto vector. - (DEF_RVV_CRYPTO_SEW64_OPS): 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_CRYPTO_SEW32_OPS): - Add new data struct for crypto vector. - (DEF_RVV_CRYPTO_SEW64_OPS): Ditto. - (registered_function::overloaded_hash): Processing size_t uimm for C overloaded func. - * config/riscv/riscv-vector-builtins.def (vi): Add vi OP_TYPE. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant. - -2024-01-04 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/113186 - * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): - Match `^` with the `==` for 1bit integral types. - * match.pd (maybe_cmp): Allow for bit_xor for 1bit - integral types. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * toplev.cc (general_init): Pass lang_mask to urlifier. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * diagnostic.h (diagnostic_make_option_url_cb): Add lang_mask - param. - (diagnostic_context::make_option_url): Update for lang_mask param. - * gcc-urlifier.cc: Include "opts.h" and "options.h". - (gcc_urlifier::gcc_urlifier): Add lang_mask param. - (gcc_urlifier::m_lang_mask): New field. - (doc_urls): Make static. - (gcc_urlifier::get_url_for_quoted_text): Use label_text. - (gcc_urlifier::get_url_suffix_for_quoted_text): Use label_text. - Look for an option by name before trying a binary search in - doc_urls. - (gcc_urlifier::get_url_suffix_for_quoted_text): Use label_text. - (gcc_urlifier::get_url_suffix_for_option): New. - (make_gcc_urlifier): Add lang_mask param. - (selftest::gcc_urlifier_cc_tests): Update for above changes. - Verify that a URL is found for "-fpack-struct". - * gcc-urlifier.def: Drop options "--version" and "-fpack-struct". - * gcc-urlifier.h (make_gcc_urlifier): Add lang_mask param. - * gcc.cc (driver::global_initializations): Pass 0 for lang_mask - to make_gcc_urlifier. - * opts-diagnostic.h (get_option_url): Add lang_mask param. - * opts.cc (get_option_html_page): Remove special-casing for - analyzer and LTO. - (get_option_url_suffix): New. - (get_option_url): Reimplement. - (selftest::test_get_option_html_page): Rename to... - (selftest::test_get_option_url_suffix): ...this and update for - above changes. - (selftest::opts_cc_tests): Update for renaming. - * opts.h: Include "rich-location.h". - (get_option_url_suffix): New decl. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (ALL_OPT_URL_FILES): New. - (GCC_OBJS): Add options-urls.o. - (OBJS): Likewise. - (OBJS-libcommon): Likewise. - (s-options): Depend on $(ALL_OPT_URL_FILES), and add this to - inputs to opt-gather.awk. - (options-urls.cc): New Makefile target. - * opt-functions.awk (url_suffix): New function. - (lang_url_suffix): New function. - * options-urls-cc-gen.awk: New file. - * opts.h (get_opt_url_suffix): New decl. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * params.opt.urls: New file, autogenerated by - regenerate-opt-urls.py. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * common.opt.urls: New file, autogenerated by - regenerate-opt-urls.py. - * config/aarch64/aarch64.opt.urls: Likewise. - * config/alpha/alpha.opt.urls: Likewise. - * config/alpha/elf.opt.urls: Likewise. - * config/arc/arc-tables.opt.urls: Likewise. - * config/arc/arc.opt.urls: Likewise. - * config/arm/arm-tables.opt.urls: Likewise. - * config/arm/arm.opt.urls: Likewise. - * config/arm/vxworks.opt.urls: Likewise. - * config/avr/avr.opt.urls: Likewise. - * config/bpf/bpf.opt.urls: Likewise. - * config/c6x/c6x-tables.opt.urls: Likewise. - * config/c6x/c6x.opt.urls: Likewise. - * config/cris/cris.opt.urls: Likewise. - * config/cris/elf.opt.urls: Likewise. - * config/csky/csky.opt.urls: Likewise. - * config/csky/csky_tables.opt.urls: Likewise. - * config/darwin.opt.urls: Likewise. - * config/dragonfly.opt.urls: Likewise. - * config/epiphany/epiphany.opt.urls: Likewise. - * config/fr30/fr30.opt.urls: Likewise. - * config/freebsd.opt.urls: Likewise. - * config/frv/frv.opt.urls: Likewise. - * config/ft32/ft32.opt.urls: Likewise. - * config/fused-madd.opt.urls: Likewise. - * config/g.opt.urls: Likewise. - * config/gcn/gcn.opt.urls: Likewise. - * config/gnu-user.opt.urls: Likewise. - * config/h8300/h8300.opt.urls: Likewise. - * config/hpux11.opt.urls: Likewise. - * config/i386/cygming.opt.urls: Likewise. - * config/i386/cygwin.opt.urls: Likewise. - * config/i386/djgpp.opt.urls: Likewise. - * config/i386/i386.opt.urls: Likewise. - * config/i386/mingw-w64.opt.urls: Likewise. - * config/i386/mingw.opt.urls: Likewise. - * config/i386/nto.opt.urls: Likewise. - * config/ia64/ia64.opt.urls: Likewise. - * config/ia64/ilp32.opt.urls: Likewise. - * config/ia64/vms.opt.urls: Likewise. - * config/iq2000/iq2000.opt.urls: Likewise. - * config/linux-android.opt.urls: Likewise. - * config/linux.opt.urls: Likewise. - * config/lm32/lm32.opt.urls: Likewise. - * config/loongarch/loongarch.opt.urls: Likewise. - * config/lynx.opt.urls: Likewise. - * config/m32c/m32c.opt.urls: Likewise. - * config/m32r/m32r.opt.urls: Likewise. - * config/m68k/ieee.opt.urls: Likewise. - * config/m68k/m68k-tables.opt.urls: Likewise. - * config/m68k/m68k.opt.urls: Likewise. - * config/m68k/uclinux.opt.urls: Likewise. - * config/mcore/mcore.opt.urls: Likewise. - * config/microblaze/microblaze.opt.urls: Likewise. - * config/mips/mips-tables.opt.urls: Likewise. - * config/mips/mips.opt.urls: Likewise. - * config/mips/sde.opt.urls: Likewise. - * config/mmix/mmix.opt.urls: Likewise. - * config/mn10300/mn10300.opt.urls: Likewise. - * config/moxie/moxie.opt.urls: Likewise. - * config/msp430/msp430.opt.urls: Likewise. - * config/nds32/nds32-elf.opt.urls: Likewise. - * config/nds32/nds32-linux.opt.urls: Likewise. - * config/nds32/nds32.opt.urls: Likewise. - * config/netbsd-elf.opt.urls: Likewise. - * config/netbsd.opt.urls: Likewise. - * config/nios2/elf.opt.urls: Likewise. - * config/nios2/nios2.opt.urls: Likewise. - * config/nvptx/nvptx-gen.opt.urls: Likewise. - * config/nvptx/nvptx.opt.urls: Likewise. - * config/openbsd.opt.urls: Likewise. - * config/or1k/elf.opt.urls: Likewise. - * config/or1k/or1k.opt.urls: Likewise. - * config/pa/pa-hpux.opt.urls: Likewise. - * config/pa/pa-hpux1010.opt.urls: Likewise. - * config/pa/pa-hpux1111.opt.urls: Likewise. - * config/pa/pa-hpux1131.opt.urls: Likewise. - * config/pa/pa.opt.urls: Likewise. - * config/pa/pa64-hpux.opt.urls: Likewise. - * config/pdp11/pdp11.opt.urls: Likewise. - * config/pru/pru.opt.urls: Likewise. - * config/riscv/riscv.opt.urls: Likewise. - * config/rl78/rl78.opt.urls: Likewise. - * config/rpath.opt.urls: Likewise. - * config/rs6000/476.opt.urls: Likewise. - * config/rs6000/aix64.opt.urls: Likewise. - * config/rs6000/darwin.opt.urls: Likewise. - * config/rs6000/linux64.opt.urls: Likewise. - * config/rs6000/rs6000-tables.opt.urls: Likewise. - * config/rs6000/rs6000.opt.urls: Likewise. - * config/rs6000/sysv4.opt.urls: Likewise. - * config/rtems.opt.urls: Likewise. - * config/rx/elf.opt.urls: Likewise. - * config/rx/rx.opt.urls: Likewise. - * config/s390/s390.opt.urls: Likewise. - * config/s390/tpf.opt.urls: Likewise. - * config/sh/sh.opt.urls: Likewise. - * config/sh/superh.opt.urls: Likewise. - * config/sol2.opt.urls: Likewise. - * config/sparc/long-double-switch.opt.urls: Likewise. - * config/sparc/sparc.opt.urls: Likewise. - * config/stormy16/stormy16.opt.urls: Likewise. - * config/v850/v850.opt.urls: Likewise. - * config/vax/elf.opt.urls: Likewise. - * config/vax/vax.opt.urls: Likewise. - * config/visium/visium.opt.urls: Likewise. - * config/vms/vms.opt.urls: Likewise. - * config/vxworks-smp.opt.urls: Likewise. - * config/vxworks.opt.urls: Likewise. - * config/xtensa/elf.opt.urls: Likewise. - * config/xtensa/uclinux.opt.urls: Likewise. - * config/xtensa/xtensa.opt.urls: Likewise. - * config/bfin/bfin.opt.urls: New file. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * Makefile.in (OPT_URLS_HTML_DEPS): New. - (regenerate-opt-urls): New target. - (regenerate-opt-urls-unit-test): New target. - * doc/options.texi (Option properties): Add UrlSuffix and - description of regenerate-opt-urls.py. Add LangUrlSuffix_*. - * doc/sourcebuild.texi (Anatomy of a Language Front End): Add - reference to regenerate-opt-urls.py's PER_LANGUAGE_OPTION_INDEXES - and Makefile.in's OPT_URLS_HTML_DEPS. - (Anatomy of a Target Back End): Add - reference to regenerate-opt-urls.py's TARGET_SPECIFIC_PAGES. - * regenerate-opt-urls.py: New file. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * diagnostic-format-sarif.cc - (sarif_builder::make_logical_location_object): Convert to... - (make_sarif_logical_location_object): ...this. - (sarif_builder::set_any_logical_locs_arr): Update for above - change. - (sarif_builder::make_thread_flow_location_object): Call - maybe_add_sarif_properties on each diagnostic_event. - * diagnostic-format-sarif.h (class logical_location): New forward - decl. - (make_sarif_logical_location_object): New decl. - * diagnostic-path.h (class sarif_object): New forward decl. - (diagnostic_event::maybe_add_sarif_properties): New vfunc. - -2024-01-04 Kuan-Lin Chen <rufus@andestech.com> - Patrick Lin <patrick@andestech.com> - Rufus Chen <rufus@andestech.com> - Monk Chiang <monk.chiang@sifive.com> - - * config/riscv/riscv.cc (riscv_legitimize_move): Expand movfh - with Nan-boxing value. - * config/riscv/riscv.md (*movhf_softfloat_unspec): New pattern. - -2024-01-04 Roger Sayle <roger@nextmovesoftware.com> - Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/104914 - * expr.cc (expand_assignment): When target is SUBREG_PROMOTED_VAR_P - a sign or zero extension is only required if the modified field - overlaps the SUBREG's most significant bit. On MODE_REP_EXTENDED - targets, don't refer to the temporarily incorrectly extended value - using a SUBREG, but instead generate an explicit TRUNCATE rtx. - -2024-01-04 Pan Li <pan2.li@intel.com> - - Revert: - 2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant. - -2024-01-04 Kito Cheng <kito.cheng@sifive.com> - - * config/riscv/riscv.cc (riscv_for_each_saved_reg): Adjust the - offset of fcsr. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): New function. - (compute_nregs_for_mode): Refine LMUL. - (max_number_of_live_regs): Ditto. - (compute_estimated_lmul): Ditto. - (has_unexpected_spills_p): Ditto. - -2024-01-04 Li Wei <liwei@loongson.cn> - - * config/loongarch/loongarch.cc (loongarch_is_odd_extraction): - Remove useless forward declaration. - (loongarch_is_even_extraction): Remove useless forward declaration. - (loongarch_try_expand_lsx_vshuf_const): Removed. - (loongarch_expand_vec_perm_const_1): Merged. - (loongarch_is_double_duplicate): Removed. - (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_extract): 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_expand_vec_perm_const_2): Merged. - (loongarch_expand_vec_perm_const): New. - (loongarch_vectorize_vec_perm_const): Adjust. - -2024-01-04 Sandra Loosemore <sandra@codesourcery.com> - - * omp-general.cc: Fix comment typos and misplaced/confusing - comments. Delete redundant include of omp-general.h. - -2024-01-04 YunQiang Su <syq@gcc.gnu.org> - - PR rtl-optimization/104914 - * config/mips/mips.md (insqisi_extended): New patterns. - (inshisi_extended): Ditto. - -2024-01-04 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.cc (mips_insn_cost): New function. - -2024-01-04 YunQiang Su <syq@gcc.gnu.org> - - * config/mips/mips.md (perf_ratio): New attribute. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113206 - PR target/113209 - * config/riscv/riscv-vsetvl.cc (invalid_opt_bb_p): New function. - (pre_vsetvl::compute_lcm_local_properties): Disable earliest fusion on - blocks belong to infinite loop. - (pre_vsetvl::emit_vsetvl): Remove fake edges. - * config/riscv/t-riscv: Add a new include file. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/vector.md: Fix indent. - -2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com> - - * tree-core.h (enum omp_clause_code): Move OMP_CLAUSE_INDIRECT to before - OMP_CLAUSE__SIMDUID_. - * tree.cc (omp_clause_num_ops): Update position of entry for - OMP_CLAUSE_INDIRECT to correspond with omp_clause_code. - (omp_clause_code_name): Likewise. - -2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com> - - * config/nvptx/nvptx.cc (nvptx_record_offload_symbol): Restucture - printing of FUNC_MAP/IND_FUNC_MAP labels. - -2024-01-03 Jakub Jelinek <jakub@redhat.com> - - * 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. - -2024-01-03 Xi Ruoyao <xry111@xry111.site> - - * config/loongarch/simd.md (fmax<mode>3): New define_insn. - (fmin<mode>3): Likewise. - (reduc_fmax_scal_<mode>3): New define_expand. - (reduc_fmin_scal_<mode>3): Likewise. - -2024-01-03 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113112 - * config/riscv/riscv-vector-costs.cc (compute_nregs_for_mode): Add rgroup info. - (max_number_of_live_regs): Ditto. - (has_unexpected_spills_p): Ditto. - -2024-01-02 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * config/riscv/vector.md: - Use vector_length_operand for vsetvl patterns. - -2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-v.cc (is_vlmax_len_p): Remove satisfies_constraint_K. - (expand_cond_len_op): Add simplification of dummy len and dummy mask. - -2024-01-02 Di Zhao <dizhao@os.amperecomputing.com> - - * config/aarch64/aarch64-tuning-flags.def - (AARCH64_EXTRA_TUNING_OPTION): New tuning option - AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA. - * config/aarch64/aarch64.cc - (aarch64_override_options_internal): Set - param_fully_pipelined_fma according to tuning option. - * config/aarch64/tuning_models/ampere1.h: Add - AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA to tune_flags. - * config/aarch64/tuning_models/ampere1a.h: Likewise. - * config/aarch64/tuning_models/ampere1b.h: Likewise. - -2024-01-02 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/vector-crypto.md: Modify copyright year. - -2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * config/riscv/riscv-vector-costs.cc: Move STMT_VINFO_TYPE (...) to local. - -2024-01-02 Lulu Cheng <chenglulu@loongson.cn> - - * config.in: Regenerate. - * config/loongarch/loongarch-opts.h (HAVE_AS_TLS_LE_RELAXATION): Define. - * config/loongarch/loongarch.cc (loongarch_legitimize_tls_address): - Added TLS Le Relax support. - (loongarch_print_operand_reloc): Add the output string of TLS Le Relax. - * config/loongarch/loongarch.md (@add_tls_le_relax<mode>): New template. - * configure: Regenerate. - * configure.ac: Check if binutils supports TLS le relax. - -2024-01-02 Feng Wang <wangfeng@eswincomputing.com> - - * config/riscv/iterators.md: Add rotate insn name. - * config/riscv/riscv.md: Add new insns name for crypto vector. - * config/riscv/vector-iterators.md: Add new iterators for crypto vector. - * config/riscv/vector.md: Add the corresponding attr for crypto vector. - * config/riscv/vector-crypto.md: New file.The machine descriptions for crypto vector. - -2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113112 - * config/riscv/riscv-vector-costs.cc (compute_nregs_for_mode): Fix - pointer type liveness count. -Copyright (C) 2024 Free Software Foundation, Inc. +Copyright (C) 2025 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-1997 b/gcc/ChangeLog-1997 index bb6d33bf0c43..27788cf84bbb 100644 --- a/gcc/ChangeLog-1997 +++ b/gcc/ChangeLog-1997 @@ -3967,7 +3967,6 @@ Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com) Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com) * egcs project officially starts. - Copyright (C) 1997 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-1998 b/gcc/ChangeLog-1998 index 9657d833c32a..da604bf6ae21 100644 --- a/gcc/ChangeLog-1998 +++ b/gcc/ChangeLog-1998 @@ -17614,7 +17614,6 @@ Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com) * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate for first argument. - Copyright (C) 1998 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-1999 b/gcc/ChangeLog-1999 index 9617dcfeeab3..cdc26b9874a2 100644 --- a/gcc/ChangeLog-1999 +++ b/gcc/ChangeLog-1999 @@ -21784,7 +21784,6 @@ Sun Jan 3 03:20:38 1999 David Edelsohn <edelsohn@gnu.org> Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com) * i386.md (doubleword shifts): Fix dumb mistakes in previous change. - Copyright (C) 1999 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2000 b/gcc/ChangeLog-2000 index 7709c6f8bc01..a555948845bf 100644 --- a/gcc/ChangeLog-2000 +++ b/gcc/ChangeLog-2000 @@ -32122,7 +32122,6 @@ Mon Jan 3 02:54:40 2000 Hans-Peter Nilsson <hp@bitrange.com> * expmed.c (emit_store_flag): Prevent losing a pending stack adjust the same way we prevent losing queued increments. - Copyright (C) 2000 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2001 b/gcc/ChangeLog-2001 index 87a339c6e515..3f8b51c03a16 100644 --- a/gcc/ChangeLog-2001 +++ b/gcc/ChangeLog-2001 @@ -33643,7 +33643,6 @@ Mon Jan 1 07:38:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * loop.h (REG_IV_CLASS): New accessor macro. * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array. * unroll.c (REG_IV_CLASS): Likewise. - Copyright (C) 2001 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2002 b/gcc/ChangeLog-2002 index d76fba902522..61b7ada48390 100644 --- a/gcc/ChangeLog-2002 +++ b/gcc/ChangeLog-2002 @@ -35986,7 +35986,6 @@ Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> (mmix_asm_output_labelref): Revert condition for global symbol. (mmix_print_operand): <case '+'>: Emit P for a likely branch. (mmix_print_operand_punct_valid_p): A '+' is valid. - Copyright (C) 2002 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2003 b/gcc/ChangeLog-2003 index 4bef4bee7992..87f48aeff4b5 100644 --- a/gcc/ChangeLog-2003 +++ b/gcc/ChangeLog-2003 @@ -37860,7 +37860,6 @@ Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz> * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update. * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update. * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update - Copyright (C) 2003 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2004 b/gcc/ChangeLog-2004 index d48c31acab8c..30f2fa0690d1 100644 --- a/gcc/ChangeLog-2004 +++ b/gcc/ChangeLog-2004 @@ -47878,7 +47878,6 @@ (ix86_expand_vector_init): New. * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions. * md.texi (vec_set, vec_extract): Document - Copyright (C) 2004 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2005 b/gcc/ChangeLog-2005 index bd366c8dd691..5b1dc2a92f27 100644 --- a/gcc/ChangeLog-2005 +++ b/gcc/ChangeLog-2005 @@ -35906,7 +35906,6 @@ Older entries for 2005 can be found in ChangeLog-2005. * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if the source line is greater than 0. (remove_bb): Likewise. - Copyright (C) 2005 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2006 b/gcc/ChangeLog-2006 index 1d661d0d70bf..36f0f54fd718 100644 --- a/gcc/ChangeLog-2006 +++ b/gcc/ChangeLog-2006 @@ -23808,7 +23808,6 @@ * config/rs6000/sync.md (sync_compare_and_swap{hi,qi}): New. (sync_compare_and_swapqhi_internal): New. * config/rs6000/rs6000-protos.h: Declare. - Copyright (C) 2006 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2007 b/gcc/ChangeLog-2007 index c8a294a14ef1..658aa6362fa5 100644 --- a/gcc/ChangeLog-2007 +++ b/gcc/ChangeLog-2007 @@ -34169,7 +34169,6 @@ * cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions before starting IPA passes. - Copyright (C) 2007 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2008 b/gcc/ChangeLog-2008 index 7c4d66d97bf1..a8a66b8bda88 100644 --- a/gcc/ChangeLog-2008 +++ b/gcc/ChangeLog-2008 @@ -28961,7 +28961,6 @@ * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si, sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi, sse5_perm<mode>): Fix constraints. - Copyright (C) 2008 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2009 b/gcc/ChangeLog-2009 index 1d3702ebaf30..54a5ad1dd192 100644 --- a/gcc/ChangeLog-2009 +++ b/gcc/ChangeLog-2009 @@ -34874,7 +34874,6 @@ * c-tree.h (process_init_element): Adjust prototype. * c-parser.c (c_parser_initelt, c_parser_initval): Adjust process_init_element callers. - Copyright (C) 2009 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2010 b/gcc/ChangeLog-2010 index 917704a07464..45fc397229e6 100644 --- a/gcc/ChangeLog-2010 +++ b/gcc/ChangeLog-2010 @@ -40854,7 +40854,6 @@ PR middle-end/42559 * builtins.c (get_object_alignment): Do not use DECL_ALIGN for LABEL_DECLs. - Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2011 b/gcc/ChangeLog-2011 index 75c04fca9681..b157bed2af3c 100644 --- a/gcc/ChangeLog-2011 +++ b/gcc/ChangeLog-2011 @@ -40032,7 +40032,6 @@ PR target/38662 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too. - Copyright (C) 2011 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2022 b/gcc/ChangeLog-2022 index 248b5dea178a..e52ba1041c58 100644 --- a/gcc/ChangeLog-2022 +++ b/gcc/ChangeLog-2022 @@ -35077,7 +35077,6 @@ sync_lock_test_and_set libfunc. Call convert_memory_address to convert memory address to Pmode. (atomic_storehi, atomic_storesi, atomic_storedi): Likewise. - Copyright (C) 2022 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2023 b/gcc/ChangeLog-2023 index c55e0f46c17f..06b063648833 100644 --- a/gcc/ChangeLog-2023 +++ b/gcc/ChangeLog-2023 @@ -54871,7 +54871,6 @@ (define_peephole2): Likewise. (define_peephole2): Likewise. (define_Split): Likewise. - Copyright (C) 2023 Free Software Foundation, Inc. diff --git a/gcc/ChangeLog-2024 b/gcc/ChangeLog-2024 new file mode 100644 index 000000000000..08ab075bce28 --- /dev/null +++ b/gcc/ChangeLog-2024 @@ -0,0 +1,42675 @@ +2024-12-31 Jiahao Xu <xujiahao@loongson.cn> + Deng Jianbo <dengjianbo@loongson.cn> + + * config/loongarch/simd.md (cbranch<mode>4): New expander. + +2024-12-31 Robin Dapp <rdapp.gcc@gmail.com> + + PR target/118036 + * varasm.cc (output_constant_pool_2): Use native_encode_rtx for + building the memory image of a const vector mask. + +2024-12-30 Jeff Law <jlaw@ventanamicro.com> + + PR target/106544 + * config/riscv/riscv.cc (riscv_print_operand): Issue an error for + invalid operands rather than invalidly accessing INTVAL of an + object that is not a CONST_INT. Fix one error string for 'N'. + +2024-12-30 Jeff Law <jlaw@ventanamicro.com> + + PR target/118122 + * config/riscv/riscv.md (lui_constraint<X:mode>_and_to_or): Use + X iterator rather than ANYI consistently. Fix formatting. + +2024-12-30 Richard Sandiford <richard.sandiford@arm.com> + Saurabh Jha <saurabh.jha@arm.com> + + * config/aarch64/aarch64.md (UNSPEC_BSL, UNSPEC_COMBINE, UNSPEC_DUP) + (UNSPEC_DUP_LANE, UNSPEC_GET_LANE, UNSPEC_LD1_DUP, UNSPEC_LD1x2) + (UNSPEC_LD1x3, UNSPEC_LD1x4, UNSPEC_SET_LANE, UNSPEC_ST1_LANE) + (USNEPC_ST1x2, UNSPEC_ST1x3, UNSPEC_ST1x4, UNSPEC_VCREATE) + (UNSPEC_VEC_COPY): New unspecs. + * config/aarch64/iterators.md (UNSPEC_TBL): Likewise. + * config/aarch64/aarch64-simd-pragma-builtins.def: Add definitions + of the mf8 data movement intrinsics. + * config/aarch64/aarch64-protos.h + (aarch64_advsimd_vector_array_mode): Declare. + * config/aarch64/aarch64.cc + (aarch64_advsimd_vector_array_mode): Make public. + * config/aarch64/aarch64-builtins.h (qualifier_const_pointer): New + aarch64_type_qualifiers member. + * config/aarch64/aarch64-builtins.cc (AARCH64_SIMD_VGET_LOW_BUILTINS) + (AARCH64_SIMD_VGET_HIGH_BUILTINS): Add mf8 variants. + (aarch64_int_or_fp_type): Handle qualifier_modal_float. + (aarch64_num_lanes): New function. + (binary_two_lanes, load, load_lane, store, store_lane): New signatures. + (unary_lane): Likewise. + (simd_type::nunits): New member function. + (simd_types): Add pointer types. + (aarch64_fntype): Handle the new signatures. + (require_immediate_lane_index): Use aarch64_num_lanes. + (aarch64_pragma_builtins_checker::check): Handle the new intrinsics. + (aarch64_convert_address): (aarch64_dereference_pointer): + (aarch64_canonicalize_lane, aarch64_convert_to_lane_mask) + (aarch64_pack_into_v128s, aarch64_expand_permute_pair) + (aarch64_expand_tbl_tbx): New functions. + (aarch64_expand_pragma_builtin): Handle the new intrinsics. + (aarch64_force_gimple_val, aarch64_copy_vops, aarch64_fold_to_val) + (aarch64_dereference, aarch64_get_lane_bit_index, aarch64_get_lane) + (aarch64_set_lane, aarch64_fold_combine, aarch64_fold_load) + (aarch64_fold_store, aarch64_ext_index, aarch64_rev_index) + (aarch64_trn_index, aarch64_uzp_index, aarch64_zip_index) + (aarch64_fold_permute): New functions, some split out from + aarch64_general_gimple_fold_builtin. + (aarch64_gimple_fold_pragma_builtin): New function. + (aarch64_general_gimple_fold_builtin): Use the new functions above. + * config/aarch64/aarch64-simd.md (aarch64_dup_lane<mode>) + (aarch64_dup_lane_<vswap_width_name><mode>): Add "@" to name. + (aarch64_simd_vec_set<mode>): Likewise. + (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise. + (aarch64_simd_bsl<mode>): Likewise. + (aarch64_combine<mode>): Likewise. + (aarch64_cm<optab><mode><vczle><vczbe>): Likewise. + (aarch64_simd_ld2r<vstruct_elt>): Likewise. + (aarch64_vec_load_lanes<mode>_lane<vstruct_elt>): Likewise. + (aarch64_simd_ld3r<vstruct_elt>): Likewise. + (aarch64_simd_ld4r<vstruct_elt>): Likewise. + (aarch64_ld1x3<vstruct_elt>): Likewise. + (aarch64_ld1x4<vstruct_elt>): Likewise. + (aarch64_st1x2<vstruct_elt>): Likewise. + (aarch64_st1x3<vstruct_elt>): Likewise. + (aarch64_st1x4<vstruct_elt>): Likewise. + (aarch64_ld<nregs><vstruct_elt>): Likewise. + (aarch64_ld1<VALL_F16: Likewise.mode>): Likewise. + (aarch64_ld1x2<vstruct_elt>): Likewise. + (aarch64_ld<nregs>_lane<vstruct_elt>): Likewise. + (aarch64_<PERMUTE: Likewise.perm_insn><mode><vczle><vczbe>): Likewise. + (aarch64_ext<mode>): Likewise. + (aarch64_rev<REVERSE: Likewise.rev_op><mode><vczle><vczbe>): Likewise. + (aarch64_st<nregs><vstruct_elt>): Likewise. + (aarch64_st<nregs>_lane<vstruct_elt>): Likewise. + (aarch64_st1<VALL_F16: Likewise.mode>): Likewise. + +2024-12-30 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/t-aarch64 (aarch64-builtins.o): Depend on + aarch64-simd-pragma-builtins.def. + +2024-12-30 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc (simd_types::f8): Rename to... + (simd_types::mf8): ...this. + * config/aarch64/aarch64-simd-pragma-builtins.def: Update accordingly. + +2024-12-30 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc (simd_types): Use one macro + invocation for each element type. + +2024-12-30 Richard Sandiford <richard.sandiford@arm.com> + + * read-rtl.cc (md_reader::handle_overloaded_name): Don't add + arguments for uses of subst attributes. + (apply_iterators): Only add instructions to an overloaded helper + if they use the default subst iterator values. + * doc/md.texi: Update documentation accordingly. + * config/i386/i386-expand.cc (expand_vec_perm_broadcast_1): Update + accordingly. + +2024-12-30 kelefth <konstantinos.eleftheriou@vrull.eu> + + PR rtl-optimization/117835 + PR rtl-optimization/117872 + * avoid-store-forwarding.cc + (store_forwarding_analyzer::process_store_forwarding): + Zero-extend the value stored in the base register instead of + using a paradoxical subreg. + +2024-12-30 Hans-Peter Nilsson <hp@bitrange.com> + + PR target/117618 + * config/mmix/mmix.cc (mmix_setup_incoming_varargs): + Correct handling of C23 (...)-functions. + +2024-12-30 Lewis Hyatt <lhyatt@gmail.com> + + PR tree-optimization/118205 + * tree-parloops.cc (reduction_phi): Return NULL if PHI parameter is + not a phi node. + +2024-12-29 Jeff Law <jlaw@ventanamicro.com> + + PR target/116715 + * config/riscv/bitmanip.md: Drop bogus pattern. + +2024-12-29 John David Anglin <danglin@gcc.gnu.org> + + PR target/118121 + * configure.ac: Check for mkstemps declaration. + * configure: Regenerate. + * config.in: Regenerate. + +2024-12-29 Jeff Law <jlaw@ventanamicro.com> + + PR target/116720 + * config/riscv/thead.cc (th_mempair_operands_p): Test for + aligned memory after swapping operands. Simplify test for + first memory access as well. + +2024-12-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/118207 + * gimple-fold.cc (fold_array_ctor_reference): For RAW_DATA_CST, + just set val to build_int_cst and fall through to the normal + element handling code instead of returning build_int_cst right away. + +2024-12-28 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/install.texi (Specific) <*-ibm-aix*>: Drop verbose + references to PTFs for AIX. + +2024-12-27 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/lasx.md (vec_cmp<mode><mode256_i>): Remove. + (vec_cmpu<ILASX:mode><mode256_i>): Remove. + * config/loongarch/loongarch.cc (loongarch_expand_lsx_cmp): + Ensure vector comparison instructions support CMP_OP1. + * config/loongarch/lsx.md (vec_cmp<mode><mode_i>): Remove. + (vec_cmpu<ILSX:mode><mode_i>): Remove. + * config/loongarch/simd.md (ALLVEC, allmode_i): New mode iterators. + (vec_cmp<mode><allmode_i>): New define_expand. + (vec_cmpu<mode><allmode_i>): Likewise. + +2024-12-26 John David Anglin <danglin@gcc.gnu.org> + + PR target/118050 + * timevar.cc (get_time): Only use CLOCK_MONOTONIC if + '_POSIX_TIMERS > 0 && defined(_POSIX_MONOTONIC_CLOCK)'. + Otherise, use CLOCK_REALTIME. + +2024-12-26 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (Dialect): Move PM4 link to https. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * config/alpha/alpha.cc + (alpha_get_mem_rtx_alignment_and_offset): New function. + (alpha_expand_block_move, alpha_expand_block_clear): Use it for + alignment retrieval. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * config/alpha/alpha.cc (alpha_expand_unaligned_load_words): + Move address extraction until after the MEM referred has been + adjusted for the offset supplied. + (alpha_expand_unaligned_store_words): Likewise. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + PR target/115459 + * config/alpha/alpha.cc (alpha_expand_block_clear): Adjust MEM + to match inferred alignment. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * config/alpha/alpha.cc (alpha_expand_block_clear): Fold two + legs of a conditional together. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * config/alpha/alpha.md (insvmisaligndi): Use "reg_or_0_operand" + rather than "register_operand" for operand 3. + +2024-12-25 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/loongarch.cc + (loongarch_ira_change_pseudo_allocno_class): New function. + (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro. + +2024-12-23 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/invoke.texi (HPPA Options): Remove references + to HP-UX 8 and HP-UX 9. + +2024-12-22 Pan Li <pan2.li@intel.com> + + * config/riscv/autovec.md: Align the operand for strided + load/store pattern. + +2024-12-21 Arsen Arsenović <arsen@aarsen.me> + + PR middle-end/109224 + * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Strip + DEMANGLE_COMPONENT_TEMPLATE from the operator new and operator + after demangling. + +2024-12-21 Jeff Law <jlaw@ventanamicro.com> + + PR middle-end/118084 + * config/riscv/riscv.cc (generate_reflecting_code_using_brev): Handle + sub-word sized objects correctly. + +2024-12-21 Pan Li <pan2.li@intel.com> + + * match.pd: Refactor sorts of signed SAT_ADD match patterns. + +2024-12-21 Mark Harmstone <mark@harmstone.com> + + * vmsdbgout.cc (vmsdbgout_begin_block): Fix compilation error. + +2024-12-20 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/118007 + * ipa-strub.cc (pass_ipa_strub::execute): Accept indirecting + volatile args of pointer types. + +2024-12-20 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/113506 + * emit-rtl.cc (add_insn_before): Don't set the block of a + barrier. + +2024-12-20 Uros Bizjak <ubizjak@gmail.com> + + PR target/118067 + * config/i386/i386.md (*movdi_internal): + Disable alternatives from/to mask registers without AVX512BW. + (*movsi_internal): Ditto. + +2024-12-20 Tamar Christina <tamar.christina@arm.com> + + PR target/96342 + * config/aarch64/aarch64-protos.h + (aarch64_sve_expand_vector_init_subvector): New. + * config/aarch64/aarch64-sve.md (vec_init<mode><Vhalf>): New. + (@aarch64_pack_partial<mode>): New. + * config/aarch64/aarch64.cc (aarch64_sve_expand_vector_init_subvector): New. + * config/aarch64/iterators.md (SVE_NO2E): New. + (VHALF, Vhalf): Add SVE partial vectors. + +2024-12-20 Tamar Christina <tamar.christina@arm.com> + Victor Do Nascimento <victor.donascimento@arm.com> + + PR target/96342 + * config/aarch64/aarch64-protos.h (add_sve_type_attribute): Declare. + * config/aarch64/aarch64-sve-builtins.cc (add_sve_type_attribute): Make + visibility global and support use for non_acle types. + * config/aarch64/aarch64.cc + (aarch64_simd_clone_compute_vecsize_and_simdlen): Create VLA simd clone + when no simdlen is provided, according to ABI rules. + (simd_clone_adjust_sve_vector_type): New helper function. + (aarch64_simd_clone_adjust): Add '+sve' attribute to SVE simd clones + and modify types to use SVE types. + * omp-simd-clone.cc (simd_clone_mangle): Print 'x' for VLA simdlen. + (simd_clone_adjust): Adapt safelen check to be compatible with VLA + simdlen. + +2024-12-20 Christophe Lyon <christophe.lyon@linaro.org> + + PR target/118131 + * config/arm/arm.cc (output_move_neon): Check TARGET_NEON as + needed. + (arm_attr_length_move_neon): Add support for V2x and V4x MVE tuple + modes. + * config/arm/iterators.md (VSTRUCT2, VSTRUCT4): New. + * config/arm/neon.md: Use VSTRUCT2 instead of OI and VSTRUCT4 + instead of XI in define_split. + +2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> + + * tree-ssa-forwprop.cc (get_vect_selector_index_map): Removed. + (recognise_vec_perm_simplify_seq): Fix calculation of vec-perm + selectors of narrowed sequence. + (calc_perm_vec_perm_simplify_seqs): Fixing calculation of + vec-perm selectors of the blended sequence. + (process_vec_perm_simplify_seq_list): Add whitespace to dump + string to avoid bad formatted dump output. + +2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> + + * common/config/riscv/riscv-common.cc (riscv_get_valid_option_values): + Skip adding mtune entries that are already in the list. + +2024-12-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * tree.cc (type_hash_canon_hash): Hash TYPE_REF_IS_RVALUE for + REFERENCE_TYPE. + (type_cache_hasher::equal): Compare TYPE_REF_IS_RVALUE for + REFERENCE_TYPE. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * doc/invoke.texi: Document -Wtemplate-names-tu-local. + +2024-12-19 Patrick Palka <ppalka@redhat.com> + + PR c++/118069 + * hwint.h (add_sat_hwi): New function. + (mul_sat_hwi): Likewise. + +2024-12-19 Tobias Burnus <tburnus@baylibre.com> + + * omp-general.cc (vendor_properties): Add "nec". + +2024-12-19 Andrew Carlotti <andrew.carlotti@arm.com> + + * tree-assume.cc: Fix comment typos. + +2024-12-19 Pan Li <pan2.li@intel.com> + + PR target/118075 + * config/riscv/vector.md: Add the (mem:BLK (scratch)) as the + lhs of strided store define insn. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + * gimple-fold.cc (decode_field_reference): Add psignbit + parameter. Set it if the mask references sign-extending + bits. + (fold_truth_andor_for_ifcombine): Adjust calls with new + variables. Swap them along with other r?_* variables. Handle + extended sign bit compares with zero. + * tree-ssa-ifcombine.cc (ifcombine_ifandif): If bits_test + fails in a way that doesn't prevent other ifcombine strategies + from passing, give them a try. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + * gimple-fold.cc (decode_field_reference): Accept incoming + mask. + (fold_truth_andor_for_ifcombine): Handle some compares with + powers of two, minus 1 or 0, like masked compares with zero. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/117915 + * tree-ssa-ifcombine.cc (ifcombine_mark_ssa_name): Move + preconditions from... + (ifcombine_mark_ssa_name_walk): ... here. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/118046 + * gimple-fold.cc (decode_field_reference): Don't follow more + than one conversion. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + * gimple-fold.cc (gimple_convert_def_p): Reject load stmts + unless requested. + (decode_field_reference): Accept a converting load at the last + conversion matcher, subsuming the load identification. + (fold_truth_andor_for_ifcombine): Refuse to merge operands + when only one of them has an associated load stmt. Swap + operands of one of the compares if that helps them match. + +2024-12-18 Eric Botcazou <ebotcazou@adacore.com> + + PR target/118096 + * config/sparc/predicates.md (vec_cmp_operator): New predicate. + (vec_cmpu_operator): Likewise. + * config/sparc/sparc.md (vec_cmp<FPCMP:mode><P:mode>): Use the + vec_cmp_operator predicate instead of FAILing the expansion. + (vec_cmpu<FPCMP:mode><P:mode>): Likewise for vec_cmpu_operator. + +2024-12-18 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/117248 + * lra-lives.cc (process_bb_lives): Update conflict hard regs even + when clobber hard reg is not marked as dead. + +2024-12-18 Michal Jires <mjires@suse.cz> + + * lto-cgraph.cc (lto_symtab_encoder_delete_node): + Declare var later when initialized. + * lto-streamer.h (struct lto_encoder_entry): + Remove empty constructor. + +2024-12-18 Vladimir N. Makarov <vmakarov@redhat.com> + + Revert: + 2024-12-06 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/117248 + * lra-lives.cc (start_living, start_dying): Remove. + (insn_regnos, out_insn_regnos, insn_regnos_live_after): New. + (sparseset_contains_pseudos_p): Remove. + (make_hard_regno_live, make_hard_regno_dead): Return true if + something in liveness is changed. + (mark_pseudo_live, mark_pseudo_dead): Ditto. + (mark_regno_live, mark_regno_dead): Ditto. + (clear_sparseset_regnos, regnos_in_sparseset_p): Use set instead + of dead_set. + (process_bb_lives): Rewrite dealing with reg notes. Update + conflict hard regs even when clobber hard reg is not marked as + dead. + (lra_create_live_ranges_1): Add initialization/finalization of + insn_regnos, out_insn_regnos, insn_regnos_live_after. + +2024-12-18 Michal Jires <mjires@suse.cz> + + * ipa-devirt.cc (ipa_odr_summary_write): + Add unused argument. + * ipa-fnsummary.cc (ipa_fn_summary_write): Likewise. + * ipa-icf.cc (sem_item_optimizer::write_summary): Likewise. + * ipa-modref.cc (modref_write): Likewise. + * ipa-prop.cc (ipa_prop_write_jump_functions): Likewise. + (ipcp_write_transformation_summaries): Likewise. + * ipa-sra.cc (ipa_sra_write_summary): Likewise. + * lto-cgraph.cc (lto_symtab_encoder_delete): Delete remap. + (lto_output_node): Remap order. + (lto_output_varpool_node): Likewise. + (output_cgraph_opt_summary): Add unused argument. + * lto-streamer-out.cc (produce_symbol_asm): Renamed. Use remapped order. + (produce_asm): Rename. New wrapper. + (output_function): Propagate remapped order. + (output_constructor): Likewise. + (copy_function_or_variable): Likewise. + (cmp_int): New. + (create_order_remap): New. + (lto_output): Create remap. Remap order. + * lto-streamer.h (struct lto_symtab_encoder_d): Remap hash_map. + (produce_asm): Add order argument. + +2024-12-18 Michal Jires <mjires@suse.cz> + + * cgraph.h (symbol_table::register_symbol): + Order can be already set. + * cgraphclones.cc (cgraph_node::create_clone): + Reuse order for clones. + +2024-12-18 Michal Jires <mjires@suse.cz> + + * ipa-strub.cc (ipa_strub_set_mode_for_new_functions): Replace + order with uid. + (pass_ipa_strub_mode::execute): Likewise. + +2024-12-18 Michal Jires <mjires@suse.cz> + + * Makefile.in: Add lto-ltrans-cache.o. + * common.opt: New flags for configuring cache. + * lto-opts.cc (lto_write_options): Don't stream the flags. + * lto-wrapper.cc: Use ltrans cache. + * lto-ltrans-cache.cc: New file. + * lto-ltrans-cache.h: New file. + +2024-12-18 Michal Jires <mjires@suse.cz> + + * Makefile.in: Add lockfile.o. + * lockfile.cc: New file. + * lockfile.h: New file. + +2024-12-18 Prathamesh Kulkarni <prathameshk@nvidia.com> + + Revert: + 2024-12-18 Prathamesh Kulkarni <prathameshk@nvidia.com> + Matthew Malcolmson <mmalcolmson@nvidia.com> + + PR driver/81358 + * common.opt: New option -flink-libatomic. + * gcc.cc (LINK_LIBATOMIC_SPEC): New macro. + * config/gnu-user.h (GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC): Use + LINK_LIBATOMIC_SPEC. + * doc/invoke.texi: Document -flink-libatomic. + * configure.ac: Define TARGET_PROVIDES_LIBATOMIC. + * configure: Regenerate. + * config.in: Regenerate. + +2024-12-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * config/arm/thumb1.md (thumb1_cbz): Escape the semicolon. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/118081 + * gimple-fold.cc (decode_field_reference): Only set *xor_p to true + if *xor_cmp_op is integer_zerop. + +2024-12-18 Prathamesh Kulkarni <prathameshk@nvidia.com> + Matthew Malcolmson <mmalcolmson@nvidia.com> + + PR driver/81358 + * common.opt: New option -flink-libatomic. + * gcc.cc (LINK_LIBATOMIC_SPEC): New macro. + * config/gnu-user.h (GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC): Use + LINK_LIBATOMIC_SPEC. + * doc/invoke.texi: Document -flink-libatomic. + * configure.ac: Define TARGET_PROVIDES_LIBATOMIC. + * configure: Regenerate. + * config.in: Regenerate. + +2024-12-18 Tobias Burnus <tburnus@baylibre.com> + + * gimplify.cc (gimplify_call_expr): Update for OpenMP's + append_args; cleanup of OpenMP's dispatch clause handling. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c/41045 + * stmt.cc (parse_output_constraint, parse_input_constraint): Handle + - modifier. + * recog.h (raw_constraint_p): Declare. + * recog.cc (raw_constraint_p): New variable. + (asm_operand_ok, constrain_operands): Handle - modifier. + * common.md (i, s, n): For raw_constraint_p don't require + LEGITIMATE_PIC_OPERAND_P. + * doc/md.texi: Document - constraint modifier. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + * final.cc (output_asm_insn): Add support for cc operand modifier. + * doc/extend.texi (Generic Operand Modifiers): Document cc operand + modifier. + * doc/md.texi (@samp{:} in constraint): Mention the cc operand + modifier and add small example. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + * genpreds.cc (mangle): Add ':' mangling. + (add_constraint): Allow : constraint. + * common.md (:): New define_constraint. + * stmt.cc (parse_output_constraint): Diagnose "=:". + (parse_input_constraint): Handle ":" and diagnose invalid + uses. + * doc/md.texi (Simple Constraints): Document ":" constraint. + +2024-12-18 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (*crc_combine): New + define_insn_and_split. + +2024-12-18 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (crc_rev<mode:SUBDI>si4): New + define_expand. + +2024-12-18 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (@rbit<mode:GPR>): New + define_insn template. + (rbitsi_extended): New define_insn. + (rbitqi): New define_insn. + (rbithi): New define_expand. + +2024-12-18 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (QHSD): Remove. + (loongarch_<crc>_w_<size>_w): Use QHSD instead of QHWD. + (loongarch_<crc>_w_<size>_w_extended): Likewise. + +2024-12-18 Sandra Loosemore <sloosemore@baylibre.com> + + * doc/extend.texi (OpenACC): Fix paste-o. + +2024-12-17 Sandra Loosemore <sloosemore@baylibre.com> + + PR c/26154 + * common.opt.urls: Regenerated. + * doc/extend.texi (C Extensions): Adjust menu for new sections. + (Attribute Syntax): Mention OpenMP directives. + (Pragmas): Mention OpenMP and OpenACC directives. + (OpenMP): New section. + (OpenACC): New section. + * doc/invoke.texi (Invoking GCC): Adjust menu for new section. + (Option Summary): Move OpenMP and OpenACC options to their own + category. + (C Dialect Options): Move documentation for -foffload, -fopenacc, + -fopenacc-dim, -fopenmp, -fopenmd-simd, and + -fopenmp-target-simd-clone to... + (OpenMP and OpenACC Options): ...this new section. Light + copy-editing of the option descriptions. + +2024-12-17 Richard Biener <rguenther@suse.de> + + PR middle-end/118062 + * tree-vect-generic.cc (expand_vector_piecewise): Properly + compute delta. + +2024-12-17 Oliver Kozul <Oliver.Kozul@rt-rk.com> + + * config/riscv/riscv.md (*lui_constraint<ANYI:mode>_and_to_or): New pattern + +2024-12-17 Yangyu Chen <cyy@cyyself.name> + + * common/config/riscv/riscv-ext-bitmask.def (RISCV_EXT_BITMASK): Remove svvptc. + +2024-12-17 Anton Blanchard <antonb@tenstorrent.com> + + * config/riscv/riscv-cores.def: Add tt-ascalon-d8. + * config/riscv/riscv.cc (tt_ascalon_d8_tune_info): New. + * doc/invoke.texi (RISC-V): Add tt-ascalon-d8 to -mcpu. + +2024-12-17 Anton Blanchard <antonb@tenstorrent.com> + + * doc/invoke.texi (RISC-V): Add thead-c906, xiangshan-nanhu to + -mcpu, add generic-ooo and remove thead-c906 from -mtune. + +2024-12-17 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/constraints.md (R): New constraint. + * doc/md.texi: Document new constraint `R`. + +2024-12-17 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv.cc (riscv_print_operand): Add N. + * doc/extend.texi: Document for N, + +2024-12-17 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/corev.md (*cv_branch<mode>): Update modifier. + (*branch<mode>): Ditto. + * config/riscv/riscv.cc (riscv_print_operand): Update modifier. + * config/riscv/riscv.md (*branch<mode>): Update modifier. + +2024-12-17 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/constraints.md (cr): New. + (cf): New. + * config/riscv/riscv.h (reg_class): Add RVC_GR_REGS and + RVC_FP_REGS. + (REG_CLASS_NAMES): Ditto. + (REG_CLASS_CONTENTS): Ditto. + * doc/md.texi: Document cr and cf constraint. + * config/riscv/riscv.cc (riscv_regno_to_class): Update + FP_REGS to RVC_FP_REGS since it smaller set. + (riscv_secondary_memory_needed): Handle RVC_FP_REGS. + (riscv_register_move_cost): Ditto. + +2024-12-17 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/constraints.md (c01): Rename to... + (k01): ...this. + (c02): Rename to... + (k02): ...this. + (c03): Rename to... + (k03): ...this. + (c04): Rename to... + (k04): ...this. + (c08): Rename to... + (k08): ...this. + * config/riscv/corev.md (riscv_cv_simd_add_h_si): Update + constraints. + (riscv_cv_simd_sub_h_si): Ditto. + (riscv_cv_simd_cplxmul_i_si): Ditto. + (riscv_cv_simd_subrotmj_si): Ditto. + * config/riscv/riscv-v.cc (splat_to_scalar_move_p): Update + constraints. + * config/riscv/vector-iterators.md (stride_load_constraint): + Update constraints. + (stride_store_constraint): Ditto. + +2024-12-17 Martin Jambor <mjambor@suse.cz> + + * cgraph.h (symtab_node): Add a new overload of nonzero_address. + * symtab.cc (symtab_node::nonzero_address): Add a new overload whith a + parameter for delete_null_pointer_checks. Make the original overload + call the new one which has retains the actual implementation. + * ipa-prop.h (ipa_get_range_from_ip_invariant): Declare. + (ipa_range_set_and_normalize): Remove. + * ipa-prop.cc (ipa_get_range_from_ip_invariant): New function. + (ipa_range_set_and_normalize): Remove. + * ipa-cp.cc (ipa_vr_intersect_with_arith_jfunc): Add a new parameter + context_node. Use ipa_get_range_from_ip_invariant instead of + ipa_range_set_and_normalize and pass to it the new parameter. + (ipa_value_range_from_jfunc): Pass cs->caller as the context_node to + ipa_vr_intersect_with_arith_jfunc. + (propagate_vr_across_jump_function): Likewise. + (ipa_get_range_from_ip_invariant): New function. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Use + ipa_get_range_from_ip_invariant instead of ipa_range_set_and_normalize + +2024-12-17 Martin Jambor <mjambor@suse.cz> + + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Try harder to + use the value range obtained from ranger for pointer values. + +2024-12-17 Martin Jambor <mjambor@suse.cz> + + * ipa-prop.cc: Include vr-values.h. + (skip_a_safe_conversion_op): New function. + (ipa_compute_jump_functions_for_edge): Use it. + +2024-12-16 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/mmx.md: Fix tabs vs. spaces. + +2024-12-16 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.cc (ix86_hard_regno_mode_ok): + Remove explicit HImode handling for SSE2 XMM regnos. + * config/i386/i386.h (VALID_SSE2_REG_MODE): Add HImode. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + * libsarifreplay.cc (struct embedded_link): New. + (maybe_consume_embedded_link): New. + (sarif_replayer::make_plain_text_within_result_message): Handle + embedded links by using the link text, for now. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + * doc/libgdiagnostics/topics/logical-locations.rst + (diagnostic_manager_new_logical_location): Add note about repeated + calls. + * libgdiagnostics.cc: Define INCLUDE_MAP. + (class owned_nullable_string): Add copy ctor and move ctor. + (owned_nullable_string::operator<): New. + (diagnostic_logical_location::operator<): New. + (diagnostic_manager::new_logical_location): Use m_logical_locs to + "uniquify" instances, converting it to a std::map. + (diagnostic_manager::logical_locs_map_t): New typedef. + (diagnostic_manager::t m_logical_locs): Convert from a std::vector + to a std::map. + (diagnostic_execution_path::same_function_p): Update comment. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + PR sarif-replay/117943 + * doc/libgdiagnostics/topics/physical-locations.rst + (diagnostic_manager_new_file): Drop "const" from return type. + * doc/libgdiagnostics/tutorial/02-physical-locations.rst: Drop + "const" from "main_file" decl. + * input.cc (file_cache::add_buffered_content): New. + (file_cache_slot::set_content): New. + (file_cache_slot::dump): Use m_file_path being null rather than + m_fp to determine empty slots. Dump m_fp. + (find_end_of_line): Drop "const" from return type and param. Add + forward decl. + (file_cache_slot::get_next_line): Fix "const"-ness. + (selftest::test_reading_source_buffer): New. + (selftest::input_cc_tests): Call it. + * input.h (file_cache::add_buffered_content): New decl. + * libgdiagnostics++.h (class file): Drop const-ness from m_inner. + (file::set_buffered_content): New. + * libgdiagnostics.cc (class content_buffer): New. + (diagnostic_file::diagnostic_file): Add "mgr" param. + (diagnostic_file::get_content): New. + (diagnostic_file::set_buffered_content): New. + (diagnostic_file::m_mgr): New. + (diagnostic_file::m_content): New. + (diagnostic_manager::new_file): Drop const-ness. Pass *this to + ctor. + (diagnostic_file::set_buffered_content): New. + (diagnostic_manager_new_file): Drop "const" from return type. + (diagnostic_file_set_buffered_content): New entrypoint. + (diagnostic_manager_debug_dump_file): Dump the content size, + if any. + * libgdiagnostics.h (diagnostic_manager_new_file): Drop "const" + from return type. + (diagnostic_file_set_buffered_content): New decl. + * libgdiagnostics.map (diagnostic_file_set_buffered_content): New + symbol. + * libsarifreplay.cc (sarif_replayer::m_artifacts_arr): Convert + from json::value to json::array. + (sarif_replayer::handle_run_obj): Call handle_artifact_obj + on all artifacts. + (sarif_replayer::handle_artifact_obj): New. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + PR sarif-replay/117943 + * diagnostic-format-text.cc + (diagnostic_text_output_format::append_note): Use source-printing + options from text_output. + (diagnostic_text_output_format::update_printer): Copy + source-printing options from dc. + (default_diagnostic_text_finalizer): Use source-printing + options from text_output. + * diagnostic-format-text.h + (diagnostic_text_output_format::diagnostic_text_output_format): + Add optional diagnostic_source_printing_options param, using + the context's if null. + (diagnostic_text_output_format::get_source_printing_options): New + accessor. + (diagnostic_text_output_format::m_source_printing): New field. + * diagnostic-path.cc (event_range::print): Use source-printing + options from text_output. + (selftest::test_interprocedural_path_1): Use source-printing + options from dc. + * diagnostic-show-locus.cc + (gcc_rich_location::add_location_if_nearby): Likewise. + (diagnostic_context::maybe_show_locus): Add "opts" param + and use in place of m_source_printing. Pass it to source_policy + ctor. + (diagnostic_source_print_policy::diagnostic_source_print_policy): + Add overload taking a const diagnostic_source_printing_options &. + * diagnostic.cc (diagnostic_context::initialize): Pass nullptr + for source options when creating text sink, so that it uses + the dc's options. + (diagnostic_context::dump): Add an "output sinks:" heading and + print "(none)" if there aren't any. + (diagnostic_context::set_output_format): Split out code into... + (diagnostic_context::remove_all_output_sinks): ...this new + function. + * diagnostic.h + (diagnostic_source_print_policy::diagnostic_source_print_policy): + Add overload taking a const diagnostic_source_printing_options &. + (diagnostic_context::maybe_show_locus): Add "opts" param. + (diagnostic_context::remove_all_output_sinks): New decl. + (diagnostic_context::m_source_printing): New field. + (diagnostic_show_locus): Add "opts" param and pass to + maybe_show_locus. + * libgdiagnostics.cc (sink::~sink): Delete. + (sink::begin_group): Delete. + (sink::end_group): Delete. + (sink::emit): Delete. + (sink::m_dc): Drop field. + (diagnostic_text_sink::on_begin_text_diagnostic): Delete. + (diagnostic_text_sink::get_source_printing_options): Use + m_souece_printing. + (diagnostic_text_sink::m_current_logical_loc): Drop field. + (diagnostic_text_sink::m_inner_sink): New field. + (diagnostic_text_sink::m_source_printing): New field. + (diagnostic_manager::diagnostic_manager): Update for changes + to fields. Initialize m_dc. + (diagnostic_manager::~diagnostic_manager): Call diagnostic_finish. + (diagnostic_manager::get_file_cache): Drop. + (diagnostic_manager::get_dc): New accessor. + (diagnostic_manager::begin_group): Reimplement. + (diagnostic_manager::end_group): Reimplement. + (diagnostic_manager::get_prev_diag_logical_loc): New accessor. + (diagnostic_manager::m_dc): New field. + (diagnostic_manager::m_file_cache): Drop field. + (diagnostic_manager::m_edit_context): Convert to a std::unique_ptr + so that object can be constructed after m_dc is initialized. + (diagnostic_manager::m_prev_diag_logical_loc): New field. + (diagnostic_text_sink::diagnostic_text_sink): Reimplement. + (get_color_rule): Delete. + (diagnostic_text_sink::set_colorize): Reimplement. + (diagnostic_text_sink::text_starter): New. + (sarif_sink::sarif_sink): Reimplement. + (diagnostic_manager::write_patch): Update for change to + m_edit_context. + (diagnostic_manager::emit): Update now that each sink has a + corresponding diagnostic_output_format object within m_dc. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_context::dump): Dump m_file_cache. + * input.cc (file_cache_slot::dump): New decls and implementations. + (file_cache::dump): New. + * input.h (file_cache::dump): New decl. + +2024-12-16 Robin Dapp <rdapp@ventanamicro.com> + + * doc/md.texi: Add "3" suffix. + +2024-12-16 Robin Dapp <rdapp@ventanamicro.com> + + PR target/112694 + PR target/116611. + * config/riscv/riscv-v.cc (expand_vec_perm_const): Remove early + return. + * tree-vect-slp.cc (can_duplicate_and_interleave_p): Return + false when we cannot create sub-elements. + +2024-12-16 Robin Dapp <rdapp@ventanamicro.com> + + PR target/117383 + * config/riscv/riscv-protos.h (enum insn_type): Use TU policy. + * config/riscv/riscv-v.cc (shuffle_compress_patterns): Set VL. + +2024-12-16 Robin Dapp <rdapp@ventanamicro.com> + + PR target/118019 + * config/riscv/riscv.cc (riscv_builtin_vectorization_cost): + Increase vec_construct cost. + +2024-12-16 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (write_s_frameproc): Align output. + (write_s_inlinesite): Align output. + +2024-12-15 John David Anglin <danglin@gcc.gnu.org> + + PR target/118018 + * config/pa/pa.cc (pa_frame_pointer_required): Declare and + implement. + (TARGET_FRAME_POINTER_REQUIRED): Define. + +2024-12-15 Tamar Christina <tamar.christina@arm.com> + + * config/arm/arm-mve-builtins-base.cc (expand): Initialize new_base. + +2024-12-15 Jakub Jelinek <jakub@redhat.com> + + * tree-core.h (struct tree_exp): Remove condition_uid member. + * tree.h (SET_EXPR_UID, EXPR_COND_UID): Remove. + * gimplify.cc (nextuid): Rename to ... + (nextconduid): ... this. + (cond_uids): New static variable. + (next_cond_uid, reset_cond_uid): Adjust for the renaming, + formatting fix. + (tree_associate_condition_with_expr): New function. + (shortcut_cond_r, tag_shortcut_cond, shortcut_cond_expr): Use it + instead of SET_EXPR_UID. + (gimplify_cond_expr): Look up cond_uid in cond_uids hash map if + non-NULL instead of using EXPR_COND_UID. + (gimplify_function_tree): Delete cond_uids and set it to NULL. + +2024-12-14 Jovan Vukic <Jovan.Vukic@rt-rk.com> + + * match.pd: New pattern. + * simplify-rtx.cc (match_plus_neg_pattern): New helper function. + (simplify_context::simplify_binary_operation_1): New + code to handle (a - 1) & -a, (a - 1) | -a and (a - 1) ^ -a. + +2024-12-14 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/bpf/bpf.cc (bpf_resolve_overloaded_builtin): Add argument + `complain'. + +2024-12-14 Heiko Eißfeldt <heiko@hexco.de> + + * doc/install.texi (Configuration): Fix typos in documentation + for --enable-host-pie. + +2024-12-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/118023 + * gimple-fold.cc (decode_field_reference): Return NULL_TREE if + inner has non-type_has_mode_precision_p integral type. + +2024-12-14 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/118024 + * gimple-ssa-warn-access.cc (matching_alloc_calls_p): Walk malloc + attributes of alloc_decl and dealloc_decl in separate loops rather + than in lock-step. Use common_deallocs.contains rather than + common_deallocs.add in the second loop. + +2024-12-14 Jakub Jelinek <jakub@redhat.com> + + PR c/118011 + * opts.cc (init_options_struct): Don't set opts->x_flag_short_enums to + 2. + * toplev.cc (process_options): Test !OPTION_SET_P (flag_short_enums) + rather than flag_short_enums == 2. + +2024-12-13 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/117095 + * cse.cc (cse_extended_basic_block): Don't call record_jump_equiv + if multiple_sets (insn). + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + Jakub Jelinek <jakub@redhat.com> + + PR target/114801 + * config/arm/arm-mve-builtins.cc + (function_expander::add_input_operand): Handle CONST_INT + predicates. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vst24_impl): New. + (class vld24_impl): New. + (vld2q, vld4q, vst2q, vst4q): New. + * config/arm/arm-mve-builtins-base.def (vld2q, vld4q, vst2q) + (vst4q): New. + * config/arm/arm-mve-builtins-base.h (vld2q, vld4q, vst2q, vst4q): + New. + * config/arm/arm-mve-builtins.cc (register_builtin_tuple_types): + Add more asserts. + * config/arm/arm.cc (TARGET_ARRAY_MODE): New. + (output_move_neon): Handle MVE struct modes. + (arm_print_operand_address): Likewise. + (arm_hard_regno_mode_ok): Likewise. + (arm_array_mode): New. + * config/arm/arm.h (VALID_MVE_STRUCT_MODE): Likewise. + * config/arm/arm_mve.h (vst4q): Delete. + (vst2q): Delete. + (vld2q): Delete. + (vld4q): Delete. + (vst4q_s8): Delete. + (vst4q_s16): Delete. + (vst4q_s32): Delete. + (vst4q_u8): Delete. + (vst4q_u16): Delete. + (vst4q_u32): Delete. + (vst4q_f16): Delete. + (vst4q_f32): Delete. + (vst2q_s8): Delete. + (vst2q_u8): Delete. + (vld2q_s8): Delete. + (vld2q_u8): Delete. + (vld4q_s8): Delete. + (vld4q_u8): Delete. + (vst2q_s16): Delete. + (vst2q_u16): Delete. + (vld2q_s16): Delete. + (vld2q_u16): Delete. + (vld4q_s16): Delete. + (vld4q_u16): Delete. + (vst2q_s32): Delete. + (vst2q_u32): Delete. + (vld2q_s32): Delete. + (vld2q_u32): Delete. + (vld4q_s32): Delete. + (vld4q_u32): Delete. + (vld4q_f16): Delete. + (vld2q_f16): Delete. + (vst2q_f16): Delete. + (vld4q_f32): Delete. + (vld2q_f32): Delete. + (vst2q_f32): Delete. + (__arm_vst4q_s8): Delete. + (__arm_vst4q_s16): Delete. + (__arm_vst4q_s32): Delete. + (__arm_vst4q_u8): Delete. + (__arm_vst4q_u16): Delete. + (__arm_vst4q_u32): Delete. + (__arm_vst2q_s8): Delete. + (__arm_vst2q_u8): Delete. + (__arm_vld2q_s8): Delete. + (__arm_vld2q_u8): Delete. + (__arm_vld4q_s8): Delete. + (__arm_vld4q_u8): Delete. + (__arm_vst2q_s16): Delete. + (__arm_vst2q_u16): Delete. + (__arm_vld2q_s16): Delete. + (__arm_vld2q_u16): Delete. + (__arm_vld4q_s16): Delete. + (__arm_vld4q_u16): Delete. + (__arm_vst2q_s32): Delete. + (__arm_vst2q_u32): Delete. + (__arm_vld2q_s32): Delete. + (__arm_vld2q_u32): Delete. + (__arm_vld4q_s32): Delete. + (__arm_vld4q_u32): Delete. + (__arm_vst4q_f16): Delete. + (__arm_vst4q_f32): Delete. + (__arm_vld4q_f16): Delete. + (__arm_vld2q_f16): Delete. + (__arm_vst2q_f16): Delete. + (__arm_vld4q_f32): Delete. + (__arm_vld2q_f32): Delete. + (__arm_vst2q_f32): Delete. + (__arm_vst4q): Delete. + (__arm_vst2q): Delete. + (__arm_vld2q): Delete. + (__arm_vld4q): Delete. + * config/arm/arm_mve_builtins.def (vst4q, vst2q, vld4q, vld2q): + Delete. + * config/arm/iterators.md (VSTRUCT): Add V2x16QI, V2x8HI, V2x4SI, + V2x8HF, V2x4SF, V4x16QI, V4x8HI, V4x4SI, V4x8HF, V4x4SF. + (MVE_VLD2_VST2, MVE_vld2_vst2, MVE_VLD4_VST4, MVE_vld4_vst4): New. + * config/arm/mve.md (mve_vst4q<mode>): Update into ... + (@mve_vst4q<mode>): ... this. + (mve_vst2q<mode>): Update into ... + (@mve_vst2q<mode>): ... this. + (mve_vld2q<mode>): Update into ... + (@mve_vld2q<mode>): ... this. + (mve_vld4q<mode>): Update into ... + (@mve_vld4q<mode>): ... this. + * config/arm/vec-common.md (vec_load_lanesoi<mode>) Remove MVE + support. + (vec_load_lanesxi<mode>): Likewise. + (vec_store_lanesoi<mode>): Likewise. + (vec_store_lanesxi<mode>): Likewise. + (vec_load_lanes<MVE_vld2_vst2><mode>): + New. + (vec_store_lanes<MVE_vld2_vst2><mode>): New. + (vec_load_lanes<MVE_vld4_vst4><mode>): New. + (vec_store_lanes<MVE_vld4_vst4><mode>): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (struct store_def): Add + support for tuples. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (parse_type): Fix access + to acle_vector_types. + * config/arm/arm-mve-builtins.cc (wrap_type_in_struct): New. + (register_type_decl): New. + (register_builtin_tuple_types): Fix support for tuples. + (function_resolver::infer_tuple_type): New. + * config/arm/arm-mve-builtins.h + (function_resolver::infer_tuple_type): Declare. + (function_instance::tuple_type): Fix access to acle_vector_types. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-modes.def (MVE_STRUCT_MODES): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/iterators.md (MVE_vecs): Remove V2DF. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/mve.md (mve_vec_extract_sext_internal): Fix + condition. + (mve_vec_extract_zext_internal): Likewise. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (vstrq_impl): Remove + call_properties. + (vldrq_impl): Likewise. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc (arm_ldrgbwbxu_qualifiers) + (arm_ldrgbwbxu_z_qualifiers, arm_ldrgbwbs_qualifiers) + (arm_ldrgbwbu_qualifiers, arm_ldrgbwbs_z_qualifiers) + (arm_ldrgbwbu_z_qualifiers): Delete. + * config/arm/arm-mve-builtins-base.cc (vldrq_gather_base_impl): + Add support for MODE_wb. + * config/arm/arm-mve-builtins-shapes.cc (struct + load_gather_base_def): Likewise. + * config/arm/arm_mve.h (vldrdq_gather_base_wb_s64): Delete. + (vldrdq_gather_base_wb_u64): Delete. + (vldrdq_gather_base_wb_z_s64): Delete. + (vldrdq_gather_base_wb_z_u64): Delete. + (vldrwq_gather_base_wb_f32): Delete. + (vldrwq_gather_base_wb_s32): Delete. + (vldrwq_gather_base_wb_u32): Delete. + (vldrwq_gather_base_wb_z_f32): Delete. + (vldrwq_gather_base_wb_z_s32): Delete. + (vldrwq_gather_base_wb_z_u32): Delete. + (__arm_vldrdq_gather_base_wb_s64): Delete. + (__arm_vldrdq_gather_base_wb_u64): Delete. + (__arm_vldrdq_gather_base_wb_z_s64): Delete. + (__arm_vldrdq_gather_base_wb_z_u64): Delete. + (__arm_vldrwq_gather_base_wb_s32): Delete. + (__arm_vldrwq_gather_base_wb_u32): Delete. + (__arm_vldrwq_gather_base_wb_z_s32): Delete. + (__arm_vldrwq_gather_base_wb_z_u32): Delete. + (__arm_vldrwq_gather_base_wb_f32): Delete. + (__arm_vldrwq_gather_base_wb_z_f32): Delete. + * config/arm/arm_mve_builtins.def (vldrwq_gather_base_nowb_z_u) + (vldrdq_gather_base_nowb_z_u, vldrwq_gather_base_nowb_u) + (vldrdq_gather_base_nowb_u, vldrwq_gather_base_nowb_z_s) + (vldrwq_gather_base_nowb_z_f, vldrdq_gather_base_nowb_z_s) + (vldrwq_gather_base_nowb_s, vldrwq_gather_base_nowb_f) + (vldrdq_gather_base_nowb_s, vldrdq_gather_base_wb_z_s) + (vldrdq_gather_base_wb_z_u, vldrdq_gather_base_wb_s) + (vldrdq_gather_base_wb_u, vldrwq_gather_base_wb_z_s) + (vldrwq_gather_base_wb_z_f, vldrwq_gather_base_wb_z_u) + (vldrwq_gather_base_wb_s, vldrwq_gather_base_wb_f) + (vldrwq_gather_base_wb_u): Delete + * config/arm/iterators.md (supf): Remove VLDRWQGBWB_S, + VLDRWQGBWB_U, VLDRDQGBWB_S, VLDRDQGBWB_U. + (VLDRWGBWBQ, VLDRDGBWBQ): Delete. + * config/arm/mve.md (mve_vldrwq_gather_base_wb_<supf>v4si): Delete. + (mve_vldrwq_gather_base_nowb_<supf>v4si): Delete. + (mve_vldrwq_gather_base_wb_<supf>v4si_insn): Delete. + (mve_vldrwq_gather_base_wb_z_<supf>v4si): Delete. + (mve_vldrwq_gather_base_nowb_z_<supf>v4si): Delete. + (mve_vldrwq_gather_base_wb_z_<supf>v4si_insn): Delete. + (mve_vldrwq_gather_base_wb_fv4sf): Delete. + (mve_vldrwq_gather_base_nowb_fv4sf): Delete. + (mve_vldrwq_gather_base_wb_fv4sf_insn): Delete. + (mve_vldrwq_gather_base_wb_z_fv4sf): Delete. + (mve_vldrwq_gather_base_nowb_z_fv4sf): Delete. + (mve_vldrwq_gather_base_wb_z_fv4sf_insn): Delete. + (mve_vldrdq_gather_base_wb_<supf>v2di): Delete. + (mve_vldrdq_gather_base_nowb_<supf>v2di): Delete. + (mve_vldrdq_gather_base_wb_<supf>v2di_insn): Delete. + (mve_vldrdq_gather_base_wb_z_<supf>v2di): Delete. + (mve_vldrdq_gather_base_nowb_z_<supf>v2di): Delete. + (mve_vldrdq_gather_base_wb_z_<supf>v2di_insn): Delete. + (@mve_vldrq_gather_base_wb_<mode>): New. + (@mve_vldrq_gather_base_wb_z_<mode>): New. + * config/arm/unspecs.md (VLDRWQGBWB_S, VLDRWQGBWB_U, VLDRWQGBWB_F) + (VLDRDQGBWB_S, VLDRDQGBWB_U): Delete + (VLDRGBWBQ, VLDRGBWBQ_Z): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc (arm_ldrgbs_qualifiers) + (arm_ldrgbu_qualifiers, arm_ldrgbs_z_qualifiers) + (arm_ldrgbu_z_qualifiers): Delete. + * config/arm/arm-mve-builtins-base.cc (class + vldrq_gather_base_impl): New. + (vldrdq_gather_base, vldrwq_gather_base): New. + * config/arm/arm-mve-builtins-base.def (vldrdq_gather_base) + (vldrwq_gather_base): New. + * config/arm/arm-mve-builtins-base.h: (vldrdq_gather_base) + (vldrwq_gather_base): New. + * config/arm/arm_mve.h (vldrwq_gather_base_s32): Delete. + (vldrwq_gather_base_u32): Delete. + (vldrwq_gather_base_z_u32): Delete. + (vldrwq_gather_base_z_s32): Delete. + (vldrdq_gather_base_s64): Delete. + (vldrdq_gather_base_u64): Delete. + (vldrdq_gather_base_z_s64): Delete. + (vldrdq_gather_base_z_u64): Delete. + (vldrwq_gather_base_f32): Delete. + (vldrwq_gather_base_z_f32): Delete. + (__arm_vldrwq_gather_base_s32): Delete. + (__arm_vldrwq_gather_base_u32): Delete. + (__arm_vldrwq_gather_base_z_s32): Delete. + (__arm_vldrwq_gather_base_z_u32): Delete. + (__arm_vldrdq_gather_base_s64): Delete. + (__arm_vldrdq_gather_base_u64): Delete. + (__arm_vldrdq_gather_base_z_s64): Delete. + (__arm_vldrdq_gather_base_z_u64): Delete. + (__arm_vldrwq_gather_base_f32): Delete. + (__arm_vldrwq_gather_base_z_f32): Delete. + * config/arm/arm_mve_builtins.def (vldrwq_gather_base_s) + (vldrwq_gather_base_u, vldrwq_gather_base_z_s) + (vldrwq_gather_base_z_u, vldrdq_gather_base_s) + (vldrwq_gather_base_f, vldrdq_gather_base_z_s) + (vldrwq_gather_base_z_f, vldrdq_gather_base_u) + (vldrdq_gather_base_z_u): Delete. + * config/arm/iterators.md (supf): Remove VLDRWQGB_S, VLDRWQGB_U, + VLDRDQGB_S, VLDRDQGB_U. + (VLDRWGBQ, VLDRDGBQ): Delete. + * config/arm/mve.md (mve_vldrwq_gather_base_<supf>v4si): Delete. + (mve_vldrwq_gather_base_z_<supf>v4si): Delete. + (mve_vldrdq_gather_base_<supf>v2di): Delete. + (mve_vldrdq_gather_base_z_<supf>v2di): Delete. + (mve_vldrwq_gather_base_fv4sf): Delete. + (mve_vldrwq_gather_base_z_fv4sf): Delete. + (@mve_vldrq_gather_base_<mode>): New. + (@mve_vldrq_gather_base_z_<mode>): New. + * config/arm/unspecs.md (VLDRWQGB_S, VLDRWQGB_U, VLDRDQGB_S) + (VLDRDQGB_U, VLDRWQGB_F): Delete. + (VLDRGBQ, VLDRGBQ_Z): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (struct + load_gather_base_def): New. + * config/arm/arm-mve-builtins-shapes.h: (load_gather_base): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc (arm_ldrgu_qualifiers) + (arm_ldrgs_qualifiers, arm_ldrgs_z_qualifiers) + (arm_ldrgu_z_qualifiers): Delete. + * config/arm/arm-mve-builtins-base.cc (vldrq_gather_impl): Add + support for shifted version. + (vldrdq_gather_shifted, vldrhq_gather_shifted) + (vldrwq_gather_shifted): New. + * config/arm/arm-mve-builtins-base.def (vldrdq_gather_shifted) + (vldrhq_gather_shifted, vldrwq_gather_shifted): New. + * config/arm/arm-mve-builtins-base.h (vldrdq_gather_shifted) + (vldrhq_gather_shifted, vldrwq_gather_shifted): New. + * config/arm/arm_mve.h (vldrhq_gather_shifted_offset): Delete. + (vldrhq_gather_shifted_offset_z): Delete. + (vldrdq_gather_shifted_offset): Delete. + (vldrdq_gather_shifted_offset_z): Delete. + (vldrwq_gather_shifted_offset): Delete. + (vldrwq_gather_shifted_offset_z): Delete. + (vldrhq_gather_shifted_offset_s32): Delete. + (vldrhq_gather_shifted_offset_s16): Delete. + (vldrhq_gather_shifted_offset_u32): Delete. + (vldrhq_gather_shifted_offset_u16): Delete. + (vldrhq_gather_shifted_offset_z_s32): Delete. + (vldrhq_gather_shifted_offset_z_s16): Delete. + (vldrhq_gather_shifted_offset_z_u32): Delete. + (vldrhq_gather_shifted_offset_z_u16): Delete. + (vldrdq_gather_shifted_offset_s64): Delete. + (vldrdq_gather_shifted_offset_u64): Delete. + (vldrdq_gather_shifted_offset_z_s64): Delete. + (vldrdq_gather_shifted_offset_z_u64): Delete. + (vldrhq_gather_shifted_offset_f16): Delete. + (vldrhq_gather_shifted_offset_z_f16): Delete. + (vldrwq_gather_shifted_offset_f32): Delete. + (vldrwq_gather_shifted_offset_s32): Delete. + (vldrwq_gather_shifted_offset_u32): Delete. + (vldrwq_gather_shifted_offset_z_f32): Delete. + (vldrwq_gather_shifted_offset_z_s32): Delete. + (vldrwq_gather_shifted_offset_z_u32): Delete. + (__arm_vldrhq_gather_shifted_offset_s32): Delete. + (__arm_vldrhq_gather_shifted_offset_s16): Delete. + (__arm_vldrhq_gather_shifted_offset_u32): Delete. + (__arm_vldrhq_gather_shifted_offset_u16): Delete. + (__arm_vldrhq_gather_shifted_offset_z_s32): Delete. + (__arm_vldrhq_gather_shifted_offset_z_s16): Delete. + (__arm_vldrhq_gather_shifted_offset_z_u32): Delete. + (__arm_vldrhq_gather_shifted_offset_z_u16): Delete. + (__arm_vldrdq_gather_shifted_offset_s64): Delete. + (__arm_vldrdq_gather_shifted_offset_u64): Delete. + (__arm_vldrdq_gather_shifted_offset_z_s64): Delete. + (__arm_vldrdq_gather_shifted_offset_z_u64): Delete. + (__arm_vldrwq_gather_shifted_offset_s32): Delete. + (__arm_vldrwq_gather_shifted_offset_u32): Delete. + (__arm_vldrwq_gather_shifted_offset_z_s32): Delete. + (__arm_vldrwq_gather_shifted_offset_z_u32): Delete. + (__arm_vldrhq_gather_shifted_offset_f16): Delete. + (__arm_vldrhq_gather_shifted_offset_z_f16): Delete. + (__arm_vldrwq_gather_shifted_offset_f32): Delete. + (__arm_vldrwq_gather_shifted_offset_z_f32): Delete. + (__arm_vldrhq_gather_shifted_offset): Delete. + (__arm_vldrhq_gather_shifted_offset_z): Delete. + (__arm_vldrdq_gather_shifted_offset): Delete. + (__arm_vldrdq_gather_shifted_offset_z): Delete. + (__arm_vldrwq_gather_shifted_offset): Delete. + (__arm_vldrwq_gather_shifted_offset_z): Delete. + * config/arm/arm_mve_builtins.def + (vldrhq_gather_shifted_offset_z_u, vldrhq_gather_shifted_offset_u) + (vldrhq_gather_shifted_offset_z_s, vldrhq_gather_shifted_offset_s) + (vldrdq_gather_shifted_offset_s, vldrhq_gather_shifted_offset_f) + (vldrwq_gather_shifted_offset_f, vldrwq_gather_shifted_offset_s) + (vldrdq_gather_shifted_offset_z_s) + (vldrhq_gather_shifted_offset_z_f) + (vldrwq_gather_shifted_offset_z_f) + (vldrwq_gather_shifted_offset_z_s, vldrdq_gather_shifted_offset_u) + (vldrwq_gather_shifted_offset_u, vldrdq_gather_shifted_offset_z_u) + (vldrwq_gather_shifted_offset_z_u): Delete. + * config/arm/iterators.md (supf): Remove VLDRHQGSO_S, VLDRHQGSO_U, + VLDRDQGSO_S, VLDRDQGSO_U, VLDRWQGSO_S, VLDRWQGSO_U. + (VLDRHGSOQ, VLDRDGSOQ, VLDRWGSOQ): Delete. + * config/arm/mve.md + (mve_vldrhq_gather_shifted_offset_<supf><mode>): Delete. + (mve_vldrhq_gather_shifted_offset_z_<supf><mode>): Delete. + (mve_vldrdq_gather_shifted_offset_<supf>v2di): Delete. + (mve_vldrdq_gather_shifted_offset_z_<supf>v2di): Delete. + (mve_vldrhq_gather_shifted_offset_fv8hf): Delete. + (mve_vldrhq_gather_shifted_offset_z_fv8hf): Delete. + (mve_vldrwq_gather_shifted_offset_fv4sf): Delete. + (mve_vldrwq_gather_shifted_offset_<supf>v4si): Delete. + (mve_vldrwq_gather_shifted_offset_z_fv4sf): Delete. + (mve_vldrwq_gather_shifted_offset_z_<supf>v4si): Delete. + (@mve_vldrq_gather_shifted_offset_<mode>): New. + (@mve_vldrq_gather_shifted_offset_extend_v4si<US>): New. + (@mve_vldrq_gather_shifted_offset_z_<mode>): New. + (@mve_vldrq_gather_shifted_offset_z_extend_v4si<US>): New. + * config/arm/unspecs.md (VLDRHQGSO_S, VLDRHQGSO_U, VLDRDQGSO_S) + (VLDRDQGSO_U, VLDRHQGSO_F, VLDRWQGSO_F, VLDRWQGSO_S, VLDRWQGSO_U): + Delete. + (VLDRGSOQ, VLDRGSOQ_Z, VLDRGSOQ_EXT, VLDRGSOQ_EXT_Z): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vldrq_gather_impl): + New. + (vldrbq_gather, vldrdq_gather, vldrhq_gather, vldrwq_gather): New. + * config/arm/arm-mve-builtins-base.def (vldrbq_gather) + (vldrdq_gather, vldrhq_gather, vldrwq_gather): New. + * config/arm/arm-mve-builtins-base.h (vldrbq_gather) + (vldrdq_gather, vldrhq_gather, vldrwq_gather): New. + * config/arm/arm_mve.h (vldrbq_gather_offset): Delete. + (vldrbq_gather_offset_z): Delete. + (vldrhq_gather_offset): Delete. + (vldrhq_gather_offset_z): Delete. + (vldrdq_gather_offset): Delete. + (vldrdq_gather_offset_z): Delete. + (vldrwq_gather_offset): Delete. + (vldrwq_gather_offset_z): Delete. + (vldrbq_gather_offset_u8): Delete. + (vldrbq_gather_offset_s8): Delete. + (vldrbq_gather_offset_u16): Delete. + (vldrbq_gather_offset_s16): Delete. + (vldrbq_gather_offset_u32): Delete. + (vldrbq_gather_offset_s32): Delete. + (vldrbq_gather_offset_z_s16): Delete. + (vldrbq_gather_offset_z_u8): Delete. + (vldrbq_gather_offset_z_s32): Delete. + (vldrbq_gather_offset_z_u16): Delete. + (vldrbq_gather_offset_z_u32): Delete. + (vldrbq_gather_offset_z_s8): Delete. + (vldrhq_gather_offset_s32): Delete. + (vldrhq_gather_offset_s16): Delete. + (vldrhq_gather_offset_u32): Delete. + (vldrhq_gather_offset_u16): Delete. + (vldrhq_gather_offset_z_s32): Delete. + (vldrhq_gather_offset_z_s16): Delete. + (vldrhq_gather_offset_z_u32): Delete. + (vldrhq_gather_offset_z_u16): Delete. + (vldrdq_gather_offset_s64): Delete. + (vldrdq_gather_offset_u64): Delete. + (vldrdq_gather_offset_z_s64): Delete. + (vldrdq_gather_offset_z_u64): Delete. + (vldrhq_gather_offset_f16): Delete. + (vldrhq_gather_offset_z_f16): Delete. + (vldrwq_gather_offset_f32): Delete. + (vldrwq_gather_offset_s32): Delete. + (vldrwq_gather_offset_u32): Delete. + (vldrwq_gather_offset_z_f32): Delete. + (vldrwq_gather_offset_z_s32): Delete. + (vldrwq_gather_offset_z_u32): Delete. + (__arm_vldrbq_gather_offset_u8): Delete. + (__arm_vldrbq_gather_offset_s8): Delete. + (__arm_vldrbq_gather_offset_u16): Delete. + (__arm_vldrbq_gather_offset_s16): Delete. + (__arm_vldrbq_gather_offset_u32): Delete. + (__arm_vldrbq_gather_offset_s32): Delete. + (__arm_vldrbq_gather_offset_z_s8): Delete. + (__arm_vldrbq_gather_offset_z_s32): Delete. + (__arm_vldrbq_gather_offset_z_s16): Delete. + (__arm_vldrbq_gather_offset_z_u8): Delete. + (__arm_vldrbq_gather_offset_z_u32): Delete. + (__arm_vldrbq_gather_offset_z_u16): Delete. + (__arm_vldrhq_gather_offset_s32): Delete. + (__arm_vldrhq_gather_offset_s16): Delete. + (__arm_vldrhq_gather_offset_u32): Delete. + (__arm_vldrhq_gather_offset_u16): Delete. + (__arm_vldrhq_gather_offset_z_s32): Delete. + (__arm_vldrhq_gather_offset_z_s16): Delete. + (__arm_vldrhq_gather_offset_z_u32): Delete. + (__arm_vldrhq_gather_offset_z_u16): Delete. + (__arm_vldrdq_gather_offset_s64): Delete. + (__arm_vldrdq_gather_offset_u64): Delete. + (__arm_vldrdq_gather_offset_z_s64): Delete. + (__arm_vldrdq_gather_offset_z_u64): Delete. + (__arm_vldrwq_gather_offset_s32): Delete. + (__arm_vldrwq_gather_offset_u32): Delete. + (__arm_vldrwq_gather_offset_z_s32): Delete. + (__arm_vldrwq_gather_offset_z_u32): Delete. + (__arm_vldrhq_gather_offset_f16): Delete. + (__arm_vldrhq_gather_offset_z_f16): Delete. + (__arm_vldrwq_gather_offset_f32): Delete. + (__arm_vldrwq_gather_offset_z_f32): Delete. + (__arm_vldrbq_gather_offset): Delete. + (__arm_vldrbq_gather_offset_z): Delete. + (__arm_vldrhq_gather_offset): Delete. + (__arm_vldrhq_gather_offset_z): Delete. + (__arm_vldrdq_gather_offset): Delete. + (__arm_vldrdq_gather_offset_z): Delete. + (__arm_vldrwq_gather_offset): Delete. + (__arm_vldrwq_gather_offset_z): Delete. + * config/arm/arm_mve_builtins.def (vldrbq_gather_offset_u) + (vldrbq_gather_offset_s, vldrbq_gather_offset_z_s) + (vldrbq_gather_offset_z_u, vldrhq_gather_offset_z_u) + (vldrhq_gather_offset_u, vldrhq_gather_offset_z_s) + (vldrhq_gather_offset_s, vldrdq_gather_offset_s) + (vldrhq_gather_offset_f, vldrwq_gather_offset_f) + (vldrwq_gather_offset_s, vldrdq_gather_offset_z_s) + (vldrhq_gather_offset_z_f, vldrwq_gather_offset_z_f) + (vldrwq_gather_offset_z_s, vldrdq_gather_offset_u) + (vldrwq_gather_offset_u, vldrdq_gather_offset_z_u) + (vldrwq_gather_offset_z_u): Delete. + * config/arm/iterators.md (MVE_u_elem): New. + (supf): Remove VLDRBQGO_S, VLDRBQGO_U, VLDRHQGO_S, VLDRHQGO_U, + VLDRDQGO_S, VLDRDQGO_U, VLDRWQGO_S, VLDRWQGO_U. + (VLDRBGOQ, VLDRHGOQ, VLDRDGOQ, VLDRWGOQ): Delete. + * config/arm/mve.md (mve_vldrbq_gather_offset_<supf><mode>): + Delete. + (mve_vldrbq_gather_offset_z_<supf><mode>): Delete. + (mve_vldrhq_gather_offset_<supf><mode>): Delete. + (mve_vldrhq_gather_offset_z_<supf><mode>): Delete. + (mve_vldrdq_gather_offset_<supf>v2di): Delete. + (mve_vldrdq_gather_offset_z_<supf>v2di): Delete. + (mve_vldrhq_gather_offset_fv8hf): Delete. + (mve_vldrhq_gather_offset_z_fv8hf): Delete. + (mve_vldrwq_gather_offset_fv4sf): Delete. + (mve_vldrwq_gather_offset_<supf>v4si): Delete. + (mve_vldrwq_gather_offset_z_fv4sf): Delete. + (mve_vldrwq_gather_offset_z_<supf>v4si): Delete. + (@mve_vldrq_gather_offset_<mode>): New. + (@mve_vldrq_gather_offset_extend_<mode><US>): New. + (@mve_vldrq_gather_offset_z_<mode>): New. + (@mve_vldrq_gather_offset_z_extend_<mode><US>): New. + * config/arm/unspecs.md (VLDRBQGO_S, VLDRBQGO_U, VLDRHQGO_S) + (VLDRHQGO_U, VLDRDQGO_S, VLDRDQGO_U, VLDRHQGO_F, VLDRWQGO_F) + (VLDRWQGO_S, VLDRWQGO_U): Delete. + (VLDRGOQ, VLDRGOQ_Z, VLDRGOQ_EXT, VLDRGOQ_EXT_Z): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (struct load_ext_gather): + New. + (struct load_ext_gather_offset_def): New. + * config/arm/arm-mve-builtins-shapes.h (load_ext_gather_offset): + New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc (arm_strsbwbs_qualifiers) + (arm_strsbwbu_qualifiers, arm_strsbwbs_p_qualifiers) + (arm_strsbwbu_p_qualifiers): Delete. + * config/arm/arm-mve-builtins-base.cc (vstrq_scatter_base_impl): + Add support for MODE_wb. + * config/arm/arm-mve-builtins-shapes.cc (parse_type): Add support + for 'b' type. + (store_scatter_base): Add support for MODE_wb. + * config/arm/arm-mve-builtins.cc + (function_resolver::require_pointer_to_type): New. + * config/arm/arm-mve-builtins.h + (function_resolver::require_pointer_to_type): New. + * config/arm/arm_mve.h (vstrdq_scatter_base_wb): Delete. + (vstrdq_scatter_base_wb_p): Delete. + (vstrwq_scatter_base_wb_p): Delete. + (vstrwq_scatter_base_wb): Delete. + (vstrdq_scatter_base_wb_p_s64): Delete. + (vstrdq_scatter_base_wb_p_u64): Delete. + (vstrdq_scatter_base_wb_s64): Delete. + (vstrdq_scatter_base_wb_u64): Delete. + (vstrwq_scatter_base_wb_p_s32): Delete. + (vstrwq_scatter_base_wb_p_f32): Delete. + (vstrwq_scatter_base_wb_p_u32): Delete. + (vstrwq_scatter_base_wb_s32): Delete. + (vstrwq_scatter_base_wb_u32): Delete. + (vstrwq_scatter_base_wb_f32): Delete. + (__arm_vstrdq_scatter_base_wb_s64): Delete. + (__arm_vstrdq_scatter_base_wb_u64): Delete. + (__arm_vstrdq_scatter_base_wb_p_s64): Delete. + (__arm_vstrdq_scatter_base_wb_p_u64): Delete. + (__arm_vstrwq_scatter_base_wb_p_s32): Delete. + (__arm_vstrwq_scatter_base_wb_p_u32): Delete. + (__arm_vstrwq_scatter_base_wb_s32): Delete. + (__arm_vstrwq_scatter_base_wb_u32): Delete. + (__arm_vstrwq_scatter_base_wb_f32): Delete. + (__arm_vstrwq_scatter_base_wb_p_f32): Delete. + (__arm_vstrdq_scatter_base_wb): Delete. + (__arm_vstrdq_scatter_base_wb_p): Delete. + (__arm_vstrwq_scatter_base_wb_p): Delete. + (__arm_vstrwq_scatter_base_wb): Delete. + * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_wb_u) + (vstrdq_scatter_base_wb_u, vstrwq_scatter_base_wb_p_u) + (vstrdq_scatter_base_wb_p_u, vstrwq_scatter_base_wb_s) + (vstrwq_scatter_base_wb_f, vstrdq_scatter_base_wb_s) + (vstrwq_scatter_base_wb_p_s, vstrwq_scatter_base_wb_p_f) + (vstrdq_scatter_base_wb_p_s): Delete. + * config/arm/iterators.md (supf): Remove VSTRWQSBWB_S, + VSTRWQSBWB_U, VSTRDQSBWB_S, VSTRDQSBWB_U. + (VSTRDSBQ, VSTRWSBWBQ, VSTRDSBWBQ): Delete. + * config/arm/mve.md (mve_vstrwq_scatter_base_wb_<supf>v4si): Delete. + (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Delete. + (mve_vstrwq_scatter_base_wb_fv4sf): Delete. + (mve_vstrwq_scatter_base_wb_p_fv4sf): Delete. + (mve_vstrdq_scatter_base_wb_<supf>v2di): Delete. + (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Delete. + (@mve_vstrq_scatter_base_wb_<mode>): New. + (@mve_vstrq_scatter_base_wb_p_<mode>): New. + * config/arm/unspecs.md (VSTRWQSBWB_S, VSTRWQSBWB_U, VSTRWQSBWB_F) + (VSTRDQSBWB_S, VSTRDQSBWB_U): Delete. + (VSTRSBWBQ, VSTRSBWBQ_P): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc (arm_strsbs_qualifiers) + (arm_strsbu_qualifiers, arm_strsbs_p_qualifiers) + (arm_strsbu_p_qualifiers): Delete. + * config/arm/arm-mve-builtins-base.cc (class + vstrq_scatter_base_impl): New. + (vstrwq_scatter_base, vstrdq_scatter_base): New. + * config/arm/arm-mve-builtins-base.def (vstrwq_scatter_base) + (vstrdq_scatter_base): New. + * config/arm/arm-mve-builtins-base.h (vstrwq_scatter_base) + (vstrdq_scatter_base): New. + * config/arm/arm_mve.h (vstrwq_scatter_base): Delete. + (vstrwq_scatter_base_p): Delete. + (vstrdq_scatter_base_p): Delete. + (vstrdq_scatter_base): Delete. + (vstrwq_scatter_base_s32): Delete. + (vstrwq_scatter_base_u32): Delete. + (vstrwq_scatter_base_p_s32): Delete. + (vstrwq_scatter_base_p_u32): Delete. + (vstrdq_scatter_base_p_s64): Delete. + (vstrdq_scatter_base_p_u64): Delete. + (vstrdq_scatter_base_s64): Delete. + (vstrdq_scatter_base_u64): Delete. + (vstrwq_scatter_base_f32): Delete. + (vstrwq_scatter_base_p_f32): Delete. + (__arm_vstrwq_scatter_base_s32): Delete. + (__arm_vstrwq_scatter_base_u32): Delete. + (__arm_vstrwq_scatter_base_p_s32): Delete. + (__arm_vstrwq_scatter_base_p_u32): Delete. + (__arm_vstrdq_scatter_base_p_s64): Delete. + (__arm_vstrdq_scatter_base_p_u64): Delete. + (__arm_vstrdq_scatter_base_s64): Delete. + (__arm_vstrdq_scatter_base_u64): Delete. + (__arm_vstrwq_scatter_base_f32): Delete. + (__arm_vstrwq_scatter_base_p_f32): Delete. + (__arm_vstrwq_scatter_base): Delete. + (__arm_vstrwq_scatter_base_p): Delete. + (__arm_vstrdq_scatter_base_p): Delete. + (__arm_vstrdq_scatter_base): Delete. + * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_s) + (vstrwq_scatter_base_u, vstrwq_scatter_base_p_s) + (vstrwq_scatter_base_p_u, vstrdq_scatter_base_s) + (vstrwq_scatter_base_f, vstrdq_scatter_base_p_s) + (vstrwq_scatter_base_p_f, vstrdq_scatter_base_u) + (vstrdq_scatter_base_p_u): Delete. + * config/arm/iterators.md (MVE_4): New. + (supf): Remove VSTRWQSB_S, VSTRWQSB_U. + (VSTRWSBQ): Delete. + * config/arm/mve.md (mve_vstrwq_scatter_base_<supf>v4si): Delete. + (mve_vstrwq_scatter_base_p_<supf>v4si): Delete. + (mve_vstrdq_scatter_base_p_<supf>v2di): Delete. + (mve_vstrdq_scatter_base_<supf>v2di): Delete. + (mve_vstrwq_scatter_base_fv4sf): Delete. + (mve_vstrwq_scatter_base_p_fv4sf): Delete. + (@mve_vstrq_scatter_base_<mode>): New. + (@mve_vstrq_scatter_base_p_<mode>): New. + * config/arm/unspecs.md (VSTRWQSB_S, VSTRWQSB_U, VSTRWQSB_F): + Delete. + (VSTRSBQ, VSTRSBQ_P): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (store_scatter_base): New. + * config/arm/arm-mve-builtins-shapes.h (store_scatter_base): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins.cc (report_out_of_range_multiple): + New. + (function_checker::require_signed_immediate): New. + (function_checker::require_immediate_range_multiple): New. + * config/arm/arm-mve-builtins.h + (function_checker::require_immediate_range_multiple): New. + (function_checker::require_signed_immediate): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc (arm_strss_qualifiers) + (arm_strsu_qualifiers, arm_strsu_p_qualifiers) + (arm_strss_p_qualifiers): Delete. + * config/arm/arm-mve-builtins-base.cc (class vstrq_scatter_impl): + Add support for shifted version. + (vstrdq_scatter_shifted, vstrhq_scatter_shifted) + (vstrwq_scatter_shifted): New. + * config/arm/arm-mve-builtins-base.def (vstrhq_scatter_shifted) + (vstrwq_scatter_shifted, vstrdq_scatter_shifted): New. + * config/arm/arm-mve-builtins-base.h (vstrhq_scatter_shifted) + (vstrwq_scatter_shifted, vstrdq_scatter_shifted): New. + * config/arm/arm_mve.h (vstrhq_scatter_shifted_offset): Delete. + (vstrhq_scatter_shifted_offset_p): Delete. + (vstrdq_scatter_shifted_offset_p): Delete. + (vstrdq_scatter_shifted_offset): Delete. + (vstrwq_scatter_shifted_offset_p): Delete. + (vstrwq_scatter_shifted_offset): Delete. + (vstrhq_scatter_shifted_offset_s32): Delete. + (vstrhq_scatter_shifted_offset_s16): Delete. + (vstrhq_scatter_shifted_offset_u32): Delete. + (vstrhq_scatter_shifted_offset_u16): Delete. + (vstrhq_scatter_shifted_offset_p_s32): Delete. + (vstrhq_scatter_shifted_offset_p_s16): Delete. + (vstrhq_scatter_shifted_offset_p_u32): Delete. + (vstrhq_scatter_shifted_offset_p_u16): Delete. + (vstrdq_scatter_shifted_offset_p_s64): Delete. + (vstrdq_scatter_shifted_offset_p_u64): Delete. + (vstrdq_scatter_shifted_offset_s64): Delete. + (vstrdq_scatter_shifted_offset_u64): Delete. + (vstrhq_scatter_shifted_offset_f16): Delete. + (vstrhq_scatter_shifted_offset_p_f16): Delete. + (vstrwq_scatter_shifted_offset_f32): Delete. + (vstrwq_scatter_shifted_offset_p_f32): Delete. + (vstrwq_scatter_shifted_offset_p_s32): Delete. + (vstrwq_scatter_shifted_offset_p_u32): Delete. + (vstrwq_scatter_shifted_offset_s32): Delete. + (vstrwq_scatter_shifted_offset_u32): Delete. + (__arm_vstrhq_scatter_shifted_offset_s32): Delete. + (__arm_vstrhq_scatter_shifted_offset_s16): Delete. + (__arm_vstrhq_scatter_shifted_offset_u32): Delete. + (__arm_vstrhq_scatter_shifted_offset_u16): Delete. + (__arm_vstrhq_scatter_shifted_offset_p_s32): Delete. + (__arm_vstrhq_scatter_shifted_offset_p_s16): Delete. + (__arm_vstrhq_scatter_shifted_offset_p_u32): Delete. + (__arm_vstrhq_scatter_shifted_offset_p_u16): Delete. + (__arm_vstrdq_scatter_shifted_offset_p_s64): Delete. + (__arm_vstrdq_scatter_shifted_offset_p_u64): Delete. + (__arm_vstrdq_scatter_shifted_offset_s64): Delete. + (__arm_vstrdq_scatter_shifted_offset_u64): Delete. + (__arm_vstrwq_scatter_shifted_offset_p_s32): Delete. + (__arm_vstrwq_scatter_shifted_offset_p_u32): Delete. + (__arm_vstrwq_scatter_shifted_offset_s32): Delete. + (__arm_vstrwq_scatter_shifted_offset_u32): Delete. + (__arm_vstrhq_scatter_shifted_offset_f16): Delete. + (__arm_vstrhq_scatter_shifted_offset_p_f16): Delete. + (__arm_vstrwq_scatter_shifted_offset_f32): Delete. + (__arm_vstrwq_scatter_shifted_offset_p_f32): Delete. + (__arm_vstrhq_scatter_shifted_offset): Delete. + (__arm_vstrhq_scatter_shifted_offset_p): Delete. + (__arm_vstrdq_scatter_shifted_offset_p): Delete. + (__arm_vstrdq_scatter_shifted_offset): Delete. + (__arm_vstrwq_scatter_shifted_offset_p): Delete. + (__arm_vstrwq_scatter_shifted_offset): Delete. + * config/arm/arm_mve_builtins.def + (vstrhq_scatter_shifted_offset_p_u) + (vstrhq_scatter_shifted_offset_u) + (vstrhq_scatter_shifted_offset_p_s) + (vstrhq_scatter_shifted_offset_s, vstrdq_scatter_shifted_offset_s) + (vstrhq_scatter_shifted_offset_f, vstrwq_scatter_shifted_offset_f) + (vstrwq_scatter_shifted_offset_s) + (vstrdq_scatter_shifted_offset_p_s) + (vstrhq_scatter_shifted_offset_p_f) + (vstrwq_scatter_shifted_offset_p_f) + (vstrwq_scatter_shifted_offset_p_s) + (vstrdq_scatter_shifted_offset_u, vstrwq_scatter_shifted_offset_u) + (vstrdq_scatter_shifted_offset_p_u) + (vstrwq_scatter_shifted_offset_p_u): Delete. + * config/arm/iterators.md (MVE_VLD_ST_scatter_shifted): New. + (MVE_scatter_shift): New. + (supf): Remove VSTRHQSSO_S, VSTRHQSSO_U, VSTRDQSSO_S, VSTRDQSSO_U, + VSTRWQSSO_U, VSTRWQSSO_S. + (VSTRHSSOQ, VSTRDSSOQ, VSTRWSSOQ): Delete. + * config/arm/mve.md (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>): Delete. + (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>_insn): Delete. + (mve_vstrhq_scatter_shifted_offset_<supf><mode>): Delete. + (mve_vstrhq_scatter_shifted_offset_<supf><mode>_insn): Delete. + (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di): Delete. + (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn): Delete. + (mve_vstrdq_scatter_shifted_offset_<supf>v2di): Delete. + (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn): Delete. + (mve_vstrhq_scatter_shifted_offset_fv8hf): Delete. + (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Delete. + (mve_vstrhq_scatter_shifted_offset_p_fv8hf): Delete. + (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Delete. + (mve_vstrwq_scatter_shifted_offset_fv4sf): Delete. + (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Delete. + (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Delete. + (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Delete. + (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si): Delete. + (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si_insn): Delete. + (mve_vstrwq_scatter_shifted_offset_<supf>v4si): Delete. + (mve_vstrwq_scatter_shifted_offset_<supf>v4si_insn): Delete. + (@mve_vstrq_scatter_shifted_offset_<mode>): New. + (@mve_vstrq_scatter_shifted_offset_p_<mode>): New. + (mve_vstrq_truncate_scatter_shifted_offset_v4si): New. + (mve_vstrq_truncate_scatter_shifted_offset_p_v4si): New. + * config/arm/unspecs.md (VSTRDQSSO_S, VSTRDQSSO_U, VSTRWQSSO_S) + (VSTRWQSSO_U, VSTRHQSSO_F, VSTRWQSSO_F, VSTRHQSSO_S, VSTRHQSSO_U): + Delete. + (VSTRSSOQ, VSTRSSOQ_P, VSTRSSOQ_TRUNC, VSTRSSOQ_TRUNC_P): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vstrq_scatter_impl): + New. + (vstrbq_scatter, vstrhq_scatter, vstrwq_scatter, vstrdq_scatter): + New. + * config/arm/arm-mve-builtins-base.def (vstrbq_scatter) + (vstrhq_scatter, vstrwq_scatter, vstrdq_scatter): New. + * config/arm/arm-mve-builtins-base.h (vstrbq_scatter) + (vstrhq_scatter, vstrwq_scatter, vstrdq_scatter): New. + * config/arm/arm-mve-builtins.cc (integer_64): New. + * config/arm/arm_mve.h (vstrbq_scatter_offset): Delete. + (vstrbq_scatter_offset_p): Delete. + (vstrhq_scatter_offset): Delete. + (vstrhq_scatter_offset_p): Delete. + (vstrdq_scatter_offset_p): Delete. + (vstrdq_scatter_offset): Delete. + (vstrwq_scatter_offset_p): Delete. + (vstrwq_scatter_offset): Delete. + (vstrbq_scatter_offset_s8): Delete. + (vstrbq_scatter_offset_u8): Delete. + (vstrbq_scatter_offset_u16): Delete. + (vstrbq_scatter_offset_s16): Delete. + (vstrbq_scatter_offset_u32): Delete. + (vstrbq_scatter_offset_s32): Delete. + (vstrbq_scatter_offset_p_s8): Delete. + (vstrbq_scatter_offset_p_s32): Delete. + (vstrbq_scatter_offset_p_s16): Delete. + (vstrbq_scatter_offset_p_u8): Delete. + (vstrbq_scatter_offset_p_u32): Delete. + (vstrbq_scatter_offset_p_u16): Delete. + (vstrhq_scatter_offset_s32): Delete. + (vstrhq_scatter_offset_s16): Delete. + (vstrhq_scatter_offset_u32): Delete. + (vstrhq_scatter_offset_u16): Delete. + (vstrhq_scatter_offset_p_s32): Delete. + (vstrhq_scatter_offset_p_s16): Delete. + (vstrhq_scatter_offset_p_u32): Delete. + (vstrhq_scatter_offset_p_u16): Delete. + (vstrdq_scatter_offset_p_s64): Delete. + (vstrdq_scatter_offset_p_u64): Delete. + (vstrdq_scatter_offset_s64): Delete. + (vstrdq_scatter_offset_u64): Delete. + (vstrhq_scatter_offset_f16): Delete. + (vstrhq_scatter_offset_p_f16): Delete. + (vstrwq_scatter_offset_f32): Delete. + (vstrwq_scatter_offset_p_f32): Delete. + (vstrwq_scatter_offset_p_s32): Delete. + (vstrwq_scatter_offset_p_u32): Delete. + (vstrwq_scatter_offset_s32): Delete. + (vstrwq_scatter_offset_u32): Delete. + (__arm_vstrbq_scatter_offset_s8): Delete. + (__arm_vstrbq_scatter_offset_s32): Delete. + (__arm_vstrbq_scatter_offset_s16): Delete. + (__arm_vstrbq_scatter_offset_u8): Delete. + (__arm_vstrbq_scatter_offset_u32): Delete. + (__arm_vstrbq_scatter_offset_u16): Delete. + (__arm_vstrbq_scatter_offset_p_s8): Delete. + (__arm_vstrbq_scatter_offset_p_s32): Delete. + (__arm_vstrbq_scatter_offset_p_s16): Delete. + (__arm_vstrbq_scatter_offset_p_u8): Delete. + (__arm_vstrbq_scatter_offset_p_u32): Delete. + (__arm_vstrbq_scatter_offset_p_u16): Delete. + (__arm_vstrhq_scatter_offset_s32): Delete. + (__arm_vstrhq_scatter_offset_s16): Delete. + (__arm_vstrhq_scatter_offset_u32): Delete. + (__arm_vstrhq_scatter_offset_u16): Delete. + (__arm_vstrhq_scatter_offset_p_s32): Delete. + (__arm_vstrhq_scatter_offset_p_s16): Delete. + (__arm_vstrhq_scatter_offset_p_u32): Delete. + (__arm_vstrhq_scatter_offset_p_u16): Delete. + (__arm_vstrdq_scatter_offset_p_s64): Delete. + (__arm_vstrdq_scatter_offset_p_u64): Delete. + (__arm_vstrdq_scatter_offset_s64): Delete. + (__arm_vstrdq_scatter_offset_u64): Delete. + (__arm_vstrwq_scatter_offset_p_s32): Delete. + (__arm_vstrwq_scatter_offset_p_u32): Delete. + (__arm_vstrwq_scatter_offset_s32): Delete. + (__arm_vstrwq_scatter_offset_u32): Delete. + (__arm_vstrhq_scatter_offset_f16): Delete. + (__arm_vstrhq_scatter_offset_p_f16): Delete. + (__arm_vstrwq_scatter_offset_f32): Delete. + (__arm_vstrwq_scatter_offset_p_f32): Delete. + (__arm_vstrbq_scatter_offset): Delete. + (__arm_vstrbq_scatter_offset_p): Delete. + (__arm_vstrhq_scatter_offset): Delete. + (__arm_vstrhq_scatter_offset_p): Delete. + (__arm_vstrdq_scatter_offset_p): Delete. + (__arm_vstrdq_scatter_offset): Delete. + (__arm_vstrwq_scatter_offset_p): Delete. + (__arm_vstrwq_scatter_offset): Delete. + * config/arm/arm_mve_builtins.def (vstrbq_scatter_offset_s) + (vstrbq_scatter_offset_u, vstrbq_scatter_offset_p_s) + (vstrbq_scatter_offset_p_u, vstrhq_scatter_offset_p_u) + (vstrhq_scatter_offset_u, vstrhq_scatter_offset_p_s) + (vstrhq_scatter_offset_s, vstrdq_scatter_offset_s) + (vstrhq_scatter_offset_f, vstrwq_scatter_offset_f) + (vstrwq_scatter_offset_s, vstrdq_scatter_offset_p_s) + (vstrhq_scatter_offset_p_f, vstrwq_scatter_offset_p_f) + (vstrwq_scatter_offset_p_s, vstrdq_scatter_offset_u) + (vstrwq_scatter_offset_u, vstrdq_scatter_offset_p_u) + (vstrwq_scatter_offset_p_u) Delete. + * config/arm/iterators.md (MVE_VLD_ST_scatter): New. + (MVE_scatter_offset): New. + (MVE_elem_ch): Add entry for V2DI. + (supf): Remove VSTRBQSO_S, VSTRBQSO_U, VSTRHQSO_S, VSTRHQSO_U, + VSTRDQSO_S, VSTRDQSO_U, VSTRWQSO_U, VSTRWQSO_S. + (VSTRBSOQ, VSTRHSOQ, VSTRDSOQ, VSTRWSOQ): Delete. + * config/arm/mve.md (mve_vstrbq_scatter_offset_<supf><mode>): + Delete. + (mve_vstrbq_scatter_offset_<supf><mode>_insn): Delete. + (mve_vstrbq_scatter_offset_p_<supf><mode>): Delete. + (mve_vstrbq_scatter_offset_p_<supf><mode>_insn): Delete. + (mve_vstrhq_scatter_offset_p_<supf><mode>): Delete. + (mve_vstrhq_scatter_offset_p_<supf><mode>_insn): Delete. + (mve_vstrhq_scatter_offset_<supf><mode>): Delete. + (mve_vstrhq_scatter_offset_<supf><mode>_insn): Delete. + (mve_vstrdq_scatter_offset_p_<supf>v2di): Delete. + (mve_vstrdq_scatter_offset_p_<supf>v2di_insn): Delete. + (mve_vstrdq_scatter_offset_<supf>v2di): Delete. + (mve_vstrdq_scatter_offset_<supf>v2di_insn): Delete. + (mve_vstrhq_scatter_offset_fv8hf): Delete. + (mve_vstrhq_scatter_offset_fv8hf_insn): Delete. + (mve_vstrhq_scatter_offset_p_fv8hf): Delete. + (mve_vstrhq_scatter_offset_p_fv8hf_insn): Delete. + (mve_vstrwq_scatter_offset_fv4sf): Delete. + (mve_vstrwq_scatter_offset_fv4sf_insn): Delete. + (mve_vstrwq_scatter_offset_p_fv4sf): Delete. + (mve_vstrwq_scatter_offset_p_fv4sf_insn): Delete. + (mve_vstrwq_scatter_offset_p_<supf>v4si): Delete. + (mve_vstrwq_scatter_offset_p_<supf>v4si_insn): Delete. + (mve_vstrwq_scatter_offset_<supf>v4si): Delete. + (mve_vstrwq_scatter_offset_<supf>v4si_insn): Delete. + (@mve_vstrq_scatter_offset_<mode>): New. + (@mve_vstrq_scatter_offset_p_<mode>): New. + (@mve_vstrq_truncate_scatter_offset_<mode>): New. + (@mve_vstrq_truncate_scatter_offset_p_<mode>): New. + * config/arm/unspecs.md (VSTRBQSO_S, VSTRBQSO_U, VSTRHQSO_S) + (VSTRDQSO_S, VSTRDQSO_U, VSTRWQSO_S, VSTRWQSO_U, VSTRHQSO_F) + (VSTRWQSO_F, VSTRHQSO_U): Delete. + (VSTRQSO, VSTRQSO_P, VSTRQSO_TRUNC, VSTRQSO_TRUNC_P): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (struct store_scatter): New. + (struct store_scatter_offset_def): New. + * config/arm/arm-mve-builtins-shapes.h (store_scatter_offset): New. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (struct + nonoverloaded_base): Implement mode_after_pred. + (struct overloaded_base): Likewise. + * config/arm/arm-mve-builtins.cc (function_builder::get_name): + Call mode_after_pred as needed. + * config/arm/arm-mve-builtins.h (function_shape): Add + mode_after_pred. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + PR target/111600 + * Makefile.in: Add insn-recog split. + * configure: Regenerate. + * configure.ac: Document that the number of insnemit partitions is + used for insn-recog as well. + * genconditions.cc (write_one_condition): Use fprintf. + * genpreds.cc (write_predicate_expr): Ditto. + (write_init_reg_class_start_regs): Ditto. + * genrecog.cc (write_header): Add header file to includes. + (printf_indent): Use fprintf. + (change_state): Ditto. + (print_code): Ditto. + (print_host_wide_int): Ditto. + (print_parameter_value): Ditto. + (print_test_rtx): Ditto. + (print_nonbool_test): Ditto. + (print_label_value): Ditto. + (print_test): Ditto. + (print_decision): Ditto. + (print_state): Ditto. + (print_subroutine_call): Ditto. + (print_acceptance): Ditto. + (print_subroutine_start): Ditto. + (print_pattern): Ditto. + (print_subroutine): Ditto. + (print_subroutine_group): Ditto. + (handle_arg): Add -O and -H for output and header file handling. + (main): Use callback. + * gentarget-def.cc (def_target_insn): Use fprintf. + * read-md.cc (md_reader::print_c_condition): Ditto. + * read-md.h (class md_reader): Ditto. + +2024-12-13 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/tuning_models/cortexx925.h: Set L1 cache size to 64b. + * config/aarch64/tuning_models/neoverse512tvb.h: Likewise. + * config/aarch64/tuning_models/neoversen1.h: Likewise. + * config/aarch64/tuning_models/neoversen2.h: Likewise. + * config/aarch64/tuning_models/neoversen3.h: Likewise. + * config/aarch64/tuning_models/neoversev1.h: Likewise. + * config/aarch64/tuning_models/neoversev2.h: Likewise. + (neoversev2_prefetch_tune): Removed. + * config/aarch64/tuning_models/neoversev3.h: Likewise. + * config/aarch64/tuning_models/neoversev3ae.h: Likewise. + +2024-12-13 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSE_NEOVERSE_BASE): + New. + * config/aarch64/tuning_models/neoverse512tvb.h: Use it. + * config/aarch64/tuning_models/neoversen2.h: Use it. + * config/aarch64/tuning_models/neoversen3.h: Use it. + * config/aarch64/tuning_models/neoversev1.h: Use it. + * config/aarch64/tuning_models/neoversev2.h: Use it. + * config/aarch64/tuning_models/neoversev3.h: Use it. + * config/aarch64/tuning_models/neoversev3ae.h: Use it. + * config/aarch64/tuning_models/cortexx925.h: Add fusions. + * config/aarch64/tuning_models/generic_armv9_a.h: Add fusions. + +2024-12-13 Jakub Jelinek <jakub@redhat.com> + + PR target/116979 + * config/i386/mmx.md (vec_fmaddsubv2sf4, vec_fmsubaddv2sf4): New + define_expand patterns. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-protos.h (riscv_register_move_cost): + Export. + * config/riscv/riscv-v.cc (shuffle_extract_and_slide1up_patterns): + Rename... + (shuffle_off_by_one_patterns): ... to this and add slideup/slidedown + variant. + (expand_vec_perm_const_1): Call renamed function. + * config/riscv/riscv.cc (riscv_secondary_memory_needed): Remove + static. + (riscv_register_move_cost): Add VR<->GR/FR handling. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-v.cc (shuffle_even_odd_patterns): New + function. + (expand_vec_perm_const_1): Use new function. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-v.cc (shuffle_interleave_patterns): New + function. + (expand_vec_perm_const_1): Use new function. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-v.cc (shuffle_slide_patterns): New. + (expand_vec_perm_const_1): Call new function. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + PR target/117353 + PR target/117878 + * config/riscv/riscv-v.cc (expand_const_vector): Use predicated + instead of simple shift. + +2024-12-13 Pan Li <pan2.li@intel.com> + + PR target/117990 + * config/riscv/vector.md: Add the (mem:BLK (scratch)) to the + vector strided load. + +2024-12-13 Sandra Loosemore <sloosemore@baylibre.com> + + PR middle-end/111659 + * doc/extend.texi (Common Variable Attributes): Copy-edit description + of the strict_flex_array attribute levels. + * doc/invoke.texi (C Dialect Options): Swap documented behavior for + levels 0 and 3. Copy the description for the other levels from the + attribute instead of indirecting to it. + +2024-12-12 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.cc (pa_emit_hpdiv_const): Clobber r1, r25, + r25 and return register. + * config/pa/pa.md (divsi3): Revise clobbers and operands. + Remove second clobber from div:SI insns. + (udivsi3, modsi3, umodsi3): Likewise. + +2024-12-12 Sandra Loosemore <sloosemore@baylibre.com> + + * attr-urls.def: Regenerate. + +2024-12-12 Sandra Loosemore <sloosemore@baylibre.com> + Peter Eisentraut <peter@eisentraut.org> + + PR c/115532 + * common.opt.urls: Regenerated. + * doc/invoke.texi (Option Summary): Don't try to list all the + -Wsuggest-attribute= variants inline here. + (Warning Options): Likewise. Add @opindex for + Wsuggest-attribute=returns_nonnull and its no- form. Remove + @itemx for no- form. + +2024-12-12 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/115127 + * match.pd (clz (X) == C, ctz (X) == C, ctz (X) >= C): Don't + optimize if -fsanitize=builtin and not yet in SSA form. + +2024-12-12 Tobias Burnus <tburnus@baylibre.com> + + * gimplify.cc (gimplify_call_expr): When handling OpenMP's dispatch, + add diagnostic when there is a ptr vs. addr mismatch between + need_device_{addr,ptr} and {is,has}_device_{ptr,addr}, respectively. + +2024-12-12 Georg-Johann Lay <avr@gjlay.de> + + PR target/118000 + * config/avr/avr.cc (avr_init_expanders) <sreg_rtx> + <rampd_rtx, rampx_rtx, rampy_rtx, rampz_rtx>: Set MEM_VOLATILE_P. + (avr_out_cpymem) [ELPM && EBI]: Restore RAMPZ to 0 after. + +2024-12-12 Alexandre Oliva <oliva@adacore.com> + + * gimple-fold.cc (fold_truth_andor_for_ifcombine): Limit the + size of the bitregion in get_best_mode calls by the inner + object's type size, if known. + (make_bit_field_load): Reuse SSA_NAME if we're attempting to + issue an identical load. + +2024-12-12 Alexandre Oliva <oliva@adacore.com> + + * fold-const.cc (make_bit_field): Export. + (unextend, all_ones_mask_p): Drop. + (decode_field_reference, fold_truth_andor_1): Move + field compare merging logic... + * gimple-fold.cc: (fold_truth_andor_for_ifcombine) ... here, + with -Wtautological-compare warning guards, and... + (decode_field_reference): ... here. Rework for gimple. + (gimple_convert_def_p, gimple_binop_def_p): New. + (compute_split_boundary_from_align): New. + (make_bit_field_load, build_split_load): New. + (reuse_split_load): New. + * fold-const.h: (make_bit_field_ref): Declare + (fold_truth_andor_for_ifcombine): Declare. + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Try + fold_truth_andor_for_ifcombine. + * common.opt (Wtautological-compare): Move here. + +2024-12-12 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_ctz): New constexpr function. + (section_common::flags): Assert minimal bit width. + +2024-12-12 Georg-Johann Lay <avr@gjlay.de> + + PR target/118001 + * doc/extend.texi (AVR Named Address Spaces): Document __flashx. + * config/avr/avr.h (ADDR_SPACE_FLASHX): New enum value. + * config/avr/avr-protos.h (avr_out_fload, avr_mem_flashx_p) + (avr_fload_libgcc_p, avr_load_libgcc_mem_p) + (avr_load_libgcc_insn_p): New. + * config/avr/avr.cc (avr_addrspace): Add ADDR_SPACE_FLASHX. + (avr_decl_flashx_p, avr_mem_flashx_p, avr_fload_libgcc_p) + (avr_load_libgcc_mem_p, avr_load_libgcc_insn_p, avr_out_fload): + New functions. + (avr_adjust_insn_length) [ADJUST_LEN_FLOAD]: Handle case. + (avr_progmem_p) [avr_decl_flashx_p]: return 2. + (avr_addr_space_legitimate_address_p) [ADDR_SPACE_FLASHX]: + Has same behavior like ADDR_SPACE_MEMX. + (avr_addr_space_convert): Use pointer sizes rather then ASes. + (avr_addr_space_contains): New function. + (avr_convert_to_type): Use it. + (avr_emit_cpymemhi): Handle ADDR_SPACE_FLASHX. + * config/avr/avr.md (adjust_len) <fload>: New attr value. + (gen_load<mode>_libgcc): Renamed from load<mode>_libgcc. + (xload8<mode>_A): Iterate over MOVMODE rather than over ALL1. + (fxmov<mode>_A): New from xloadv<mode>_A. + (xmov<mode>_8): New from xload<mode>_A. + (fmov<mode>): New insns. + (fxload<mode>_A): New from xload<mode>_A. + (fxload_<mode>_libgcc): New from xload_<mode>_libgcc. + (*fxload_<mode>_libgcc): New from *xload_<mode>_libgcc. + (mov<mode>) [avr_mem_flashx_p]: Hande ADDR_SPACE_FLASHX. + (cpymemx_<mode>): Make sure the address space is not lost + when splitting. + (*cpymemx_<mode>) [ADDR_SPACE_FLASHX]: Use __movmemf_<mode> for asm. + (*ashlqi.1.zextpsi_split): New combine pattern. + * config/avr/predicates.md (nox_general_operand): Don't match + when avr_mem_flashx_p is true. + * config/avr/avr-passes.cc (AVR_LdSt_Props): + ADDR_SPACE_FLASHX has no post_inc. + +2024-12-12 Martin Uecker <uecker@tugraz.at> + + PR c/113688 + PR c/114014 + PR c/114713 + PR c/117724 + * tree.cc (gimple_canonical_types_compatible_p): Add exception. + +2024-12-12 Martin Uecker <uecker@tugraz.at> + + * tree.cc (gimple_canonical_types_compatible_p): Add exception. + (verify_type): Add exception. + +2024-12-12 Sam James <sam@gentoo.org> + + * config/i386/i386.opt.urls: Regenerate. + +2024-12-12 Jakub Jelinek <jakub@redhat.com> + + * gimple-crc-optimization.cc (crc_optimization::optimize_crc_loop): + Comment spelling fix, is succeeded -> succeeded. + +2024-12-12 Sandra Loosemore <sloosemore@baylibre.com> + + PR target/117150 + * doc/invoke.texi (RS/6000 and PowerPC Options): Move description + of -mstack-protector-guard-symbol from here... + (x86 Options): ...to here. + +2024-12-11 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/116778 + * ira-int.h (x_ira_class_hard_reg_index): Fix comment typo. + * lra-eliminations.cc (lra_fp_pseudo_p): New function. + * lra-int.h (lra_fp_pseudo_p): External declaration. + * lra-spills.cc (lra_need_for_spills_p): Fix formatting. + * lra.cc (lra): Use lra_fp_pseudo_p in lra_create_live_range after + lra_remat. + +2024-12-11 Filip Kastl <fkastl@suse.cz> + Andi Kleen <ak@gcc.gnu.org> + + PR middle-end/117091 + PR middle-end/117352 + * doc/invoke.texi: Add switch-lower-slow-alg-max-cases. + * params.opt: Add switch-lower-slow-alg-max-cases. + * tree-switch-conversion.cc (jump_table_cluster::find_jump_tables): + Note in a comment that we are looking for jump tables in + case sequences delimited by the already found bit tests. + (bit_test_cluster::find_bit_tests): Decide between + find_bit_tests_fast() and find_bit_tests_slow(). + (bit_test_cluster::find_bit_tests_fast): New function. + (bit_test_cluster::find_bit_tests_slow): New function. + (switch_decision_tree::analyze_switch_statement): Report + exceeding the limit. + * tree-switch-conversion.h: Add find_bit_tests_fast() and + find_bit_tests_slow(). + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-highlight-colors.h: Tweak comment. + * pretty-print-markup.h (class pp_element_quoted_string): New, + based on pretty-print.cc's selftest::test_element, adding an + optional highlight color. + * pretty-print.cc (class test_element): Drop. + (selftest::test_pp_format): Use pp_element_quoted_string. + (selftest::test_urlification): Likewise. + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + PR other/116253 + * diagnostic-format-text.cc (build_prefix): Don't add the + "note: " prefix when showing nested diagnostics. + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + PR other/116253 + * diagnostic-format-text.cc (on_report_diagnostic): When showing + locations for nested messages on new lines, don't print + UNKNOWN_LOCATION or BUILTINS_LOCATION. + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + * input.cc (file_cache::initialize_input_context): Rename member + "in_context" to "m_input_context". + (file_cache::add_file): Likewise. + * input.h (class file_cache): Likewise. + +2024-12-11 Martin Jambor <mjambor@suse.cz> + + * ipa-cp.h: Forward declare class ipa_vr. + (ipa_vr_operation_and_type_effects) Declare. + * ipa-cp.cc (ipa_vr_operation_and_type_effects): Make public. + * ipa-prop.cc (update_jump_functions_after_inlining): Also update + value range jump functions. + +2024-12-11 Victor Do Nascimento <victor.donascimento@arm.com> + Tamar Christina <tamar.christina@arm.com> + + PR target/96342 + * expr.cc (store_constructor): Enable poly_{u}int64 type usage. + (get_inner_reference): Ditto. + +2024-12-11 Victor Do Nascimento <victor.donascimento@arm.com> + Tamar Christina <tamar.christina@arm.com> + + PR target/96342 + * expr.cc (store_constructor): add support for variable-length + vectors. + +2024-12-11 Victor Do Nascimento <victor.donascimento@arm.com> + + PR target/96342 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): + s/vectype/masktype/ in call to vect_get_loop_mask. + +2024-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com> + Victor Do Nascimento <victor.donascimento@arm.com> + Tamar Christina <tamar.christina@arm.com> + + PR target/96342 + * target.def (TARGET_SIMD_CLONE_USABLE): Add argument. + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Pass stmt_info to + call TARGET_SIMD_CLONE_USABLE. + * config/aarch64/aarch64.cc (aarch64_simd_clone_usable): Add argument + and use it to reject the use of SVE simd clones with Advanced SIMD + modes. + * config/gcn/gcn.cc (gcn_simd_clone_usable): Add unused argument. + * config/i386/i386.cc (ix86_simd_clone_usable): Likewise. + * doc/tm.texi: Regenerate + +2024-12-11 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114932 + * fold-const.cc (operand_compare::operand_equal_p): Use it. + (operand_compare::verify_hash_value): Likewise. + (operand_compare::hash_operand): Likewise. + (test_operand_equality::test): New. + (fold_const_cc_tests): Use it. + * tree-core.h (enum operand_equal_flag): Add OEP_ASSUME_WRAPV. + * tree-ssa-loop-ivopts.cc (record_group_use): Check for structural eq. + +2024-12-11 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114932 + * fold-const.cc (operand_compare::operand_equal_p): Split into one that + takes explicit type parameters and use that in public one. + * fold-const.h (class operand_compare): Add operand_equal_p private + overload. + +2024-12-11 Soumya AR <soumyaa@nvidia.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_ptrue_reg): New overload. + * config/aarch64/aarch64-protos.h (aarch64_ptrue_reg): Likewise. + * config/aarch64/aarch64-sve.md: Extended sdiv_pow2<mode>3 + and *sdiv_pow2<mode>3 to support Neon modes. + +2024-12-11 Soumya AR <soumyaa@nvidia.com> + + * config/aarch64/aarch64-sve2.md + (*aarch64_sve2_nbsl_unpred<mode>): New pattern to match unpredicated + form. + (*aarch64_sve2_bsl1n_unpred<mode>): Likewise. + (*aarch64_sve2_bsl2n_unpred<mode>): Likewise. + +2024-12-11 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/117888 + * tree-ssa-loop-ivcanon.cc (try_unroll_loop_completely): Use + cunrolli instead of cunrolli && !loop->inner to check if it's + innermost loop. + (canonicalize_loop_induction_variables): Add new parameter + const_sbitmap innermost, and pass + cunrolli + && (unsigned) loop->num < SBITMAP_SIZE (innermost) + && bitmap_bit_p (innermost, loop->num) as "cunrolli" to + try_unroll_loop_completely + (canonicalize_induction_variables): Pass innermost to + canonicalize_loop_induction_variables. + (tree_unroll_loops_completely_1): Add new parameter + const_sbitmap innermost. + (tree_unroll_loops_completely): Move local variable cunrolli + to parameter to indicate it's from pass cunrolli, also track + all "original" innermost loop at the beginning. + +2024-12-10 David Malcolm <dmalcolm@redhat.com> + + PR other/117944 + * libsarifreplay.cc (sarif_replayer::handle_result_obj): Get any + helpUri from the rule_obj and pass it to add_rule. + +2024-12-10 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/117946 + * lra-assigns.cc: (find_hard_regno_for_1): Use the biggest mode to + check ira_prohibited_class_mode_regs. + +2024-12-10 Marek Polacek <polacek@redhat.com> + + PR c++/117880 + * fold-const.cc (operand_compare::operand_equal_p) <case tcc_unary>: + Use OP_SAME_WITH_NULL instead of OP_SAME. + +2024-12-10 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/117675 + * config/arm/arm.cc (arm_ldrd_legitimate_address): New function. + * config/arm/arm-protos.h (arm_ldrd_legitimate_address): New prototype. + * config/arm/constraints.md: Add new Uo constraint. + * config/arm/predicates.md (arm_ldrd_memory_operand): Add new predicate. + * config/arm/sync.md (arm_atomic_loaddi2_ldrd): Use + arm_ldrd_memory_operand and Uo. + +2024-12-10 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNE_BASE): New define. + * config/aarch64/tuning_models/ampere1b.h: Use AARCH64_EXTRA_TUNE_BASE. + * config/aarch64/tuning_models/cortexx925.h: Likewise. + * config/aarch64/tuning_models/fujitsu_monaka.h: Likewise. + * config/aarch64/tuning_models/generic_armv8_a.h: Likewise. + * config/aarch64/tuning_models/generic_armv9_a.h: Likewise. + * config/aarch64/tuning_models/neoversen1.h: Likewise. + * config/aarch64/tuning_models/neoversen2.h: Likewise. + * config/aarch64/tuning_models/neoversen3.h: Likewise. + * config/aarch64/tuning_models/neoversev1.h: Likewise. + * config/aarch64/tuning_models/neoversev2.h: Likewise. + * config/aarch64/tuning_models/neoversev3.h: Likewise. + * config/aarch64/tuning_models/neoversev3ae.h: Likewise. + +2024-12-10 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.h (AARCH64_EXPAND_ALIGNMENT): Remove. + (DATA_ALIGNMENT): Use aarch64_data_alignment. + (LOCAL_ALIGNMENT): Use aarch64_stack_alignment. + * config/aarch64/aarch64.cc (aarch64_data_alignment): New function. + (aarch64_stack_alignment): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_data_alignment): New prototype. + (aarch64_stack_alignment): Likewise. + +2024-12-10 Wilco Dijkstra <wdijkstr@ip-10-252-53-150.eu-west-1.compute.internal> + + * config/aarch64/aarch64.cc (aarch64_classify_address): Treat SIMD structs + identically in little and bigendian. + * config/aarch64/aarch64-simd.md (aarch64_mov<mode>): Remove VSTRUCT + instructions. + (aarch64_be_mov<mode>): Allow little-endian, rename to aarch64_mov<mode>. + (aarch64_be_movoi): Allow little-endian, rename to aarch64_movoi. + (aarch64_be_movci): Allow little-endian, rename to aarch64_movci. + (aarch64_be_movxi): Allow little-endian, rename to aarch64_movxi. + Remove big-endian special case in define_split variants. + +2024-12-10 Arsen Arsenović <arsen@aarsen.me> + Iain Sandoe <iain@sandoe.co.uk> + + * dumpfile.cc (FIRST_ME_AUTO_NUMBERED_DUMP): Bump to 6 for sake + of the coroutine dump. + +2024-12-10 Richard Sandiford <richard.sandiford@arm.com> + + * doc/md.texi (vcond@var{m}@var{n}, vcondu@var{m}@var{n}) + (vcondeq@var{m}@var{n}): Delete. + (vcond_mask_@var{m}@var{n}): Redocument in standalone form. + * internal-fn.def (VCOND, VCONDU, VCONDEQ): Delete. + * internal-fn.cc (expand_vec_cond_optab_fn): Delete. + * optabs.def (vcond_optab, vcondu_optab, vcondeq_optab): Delete. + +2024-12-10 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-protos.h (aarch64_expand_sve_vcond): Delete. + * config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): Expand into + separate vec_cmp and vcond_mask instructions, instead of using vcond. + (vcond<mode><mode>, vcond<v_cmp_mixed><mode>, vcondu<mode><mode>) + (vcondu<mode><v_cmp_mixed>): Delete. + * config/aarch64/aarch64-sve.md (vcond<SVE_ALL:mode><SVE_I:mode>) + (vcondu<SVE_ALL:mode><SVE_I:mode>, vcond<mode><v_fp_equiv>): Likewise. + * config/aarch64/aarch64.cc (aarch64_expand_sve_vcond): Likewise. + * config/aarch64/iterators.md (V_FP_EQUIV, v_fp_equiv, V_cmp_mixed) + (v_cmp_mixed): Likewise. + +2024-12-10 Saurabh Jha <saurabh.jha@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc + (aarch64_pragma_builtins_checker::require_immediate_lane_index): New + overload. + (aarch64_pragma_builtins_checker::check): Add support for FP8FMA + intrinsics. + (aarch64_expand_pragma_builtins): Likewise. + * config/aarch64/aarch64-c.cc + (aarch64_update_cpp_builtins): Conditionally define TARGET_FP8FMA. + * config/aarch64/aarch64-simd-pragma-builtins.def: Add the FP8FMA + intrinsics. + * config/aarch64/aarch64-simd.md: + (@aarch64_<FMLAL_FP8_HF:insn><mode): New pattern. + (@aarch64_<FMLAL_FP8_HF:insn>_lane<V8HF_ONLY:mode><VB:mode>): + Likewise. + (@aarch64_<FMLALL_FP8_SF:insn><mode): Likewise. + (@aarch64_<FMLALL_FP8_SF:insn>_lane<V8HF_ONLY:mode><VB:mode>): + Likewise. + * config/aarch64/iterators.md (V8HF_ONLY): New mode iterator. + (SVE2_FP8_TERNARY_VNX8HF): Rename to... + (FMLAL_FP8_HF): ...this. + (SVE2_FP8_TERNARY_LANE_VNX8HF): Delete in favor of FMLAL_FP8_HF. + (SVE2_FP8_TERNARY_VNX4SF): Rename to... + (FMLALL_FP8_SF): ...this. + (SVE2_FP8_TERNARY_LANE_VNX4SF): Delete in favor of FMLALL_FP8_SF. + (sve2_fp8_fma_op_vnx8hf, sve2_fp8_fma_op_vnx4sf): Fold into... + (insn): ...here. + * config/aarch64/aarch64-sve2.md: Update uses accordingly. + +2024-12-10 Saurabh Jha <saurabh.jha@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc + (enum class): Add ternary_lane. + (aarch64_fntype): Hnadle ternary_lane. + (aarch64_pragma_builtins_checker::require_immediate_lane_index): New + function. + (aarch64_pragma_builtins_checker::check): Handle the new intrinsics. + (aarch64_expand_pragma_builtin): Likewise. + * config/aarch64/aarch64-c.cc + (aarch64_update_cpp_builtins): Define TARGET_FP8DOT2 and + TARGET_FP8DOT4. + * config/aarch64/aarch64-simd-pragma-builtins.def: Define vdot + and vdot_lane intrinsics. + * config/aarch64/aarch64-simd.md + (@aarch64_<fpm_uns_op><mode>): New pattern. + (@aarch64_<fpm_uns_op>_lane<VQ_HSF_VDOT:mode><VB:mode>): Likewise. + * config/aarch64/iterators.md (VQ_HSF_VDOT): New mode iterator. + (UNSPEC_VDOT, UNSPEC_VDOT_LANE): New unspecs. + (fpm_uns_op): Handle them. + (VNARROWB, Vnbtype): New mode attributes. + (FPM_VDOT, FPM_VDOT_LANE): New int iterators. + +2024-12-10 Saurabh Jha <saurabh.jha@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc + (FLAG_USES_FPMR, FLAG_FP8): New flags. + (ENTRY): Modified to support ternary operations. + (enum class): New variants to support new signatures. + (struct aarch64_pragma_builtins_data): Extend types to 4 elements. + (aarch64_fntype): Handle new signatures. + (aarch64_get_low_unspec): New function. + (aarch64_convert_to_v64): New function, split out from... + (aarch64_expand_pragma_builtin): ...here. Handle new signatures. + * config/aarch64/aarch64-c.cc + (aarch64_update_cpp_builtins): New flag for FP8. + * config/aarch64/aarch64-simd-pragma-builtins.def: Define new fp8 + intrinsics. + (ENTRY_BINARY, ENTRY_BINARY_LANE): Update for new ENTRY interface. + (ENTRY_UNARY, ENTRY_TERNARY, ENTRY_UNARY_FPM): New macros. + (ENTRY_BINARY_VHSDF_SIGNED): Likewise. + * config/aarch64/aarch64-simd.md + (@aarch64_<fpm_uns_op><mode>): New pattern. + (@aarch64_<fpm_uns_op><mode>_high): Likewise. + (@aarch64_<fpm_uns_op><mode>_high_be): Likewise. + (@aarch64_<fpm_uns_op><mode>_high_le): Likewise. + * config/aarch64/iterators.md (V4SF_ONLY, VQ_BHF): New mode iterators. + (UNSPEC_FCVTN_FP8, UNSPEC_FCVTN2_FP8, UNSPEC_F1CVTL_FP8) + (UNSPEC_F1CVTL2_FP8, UNSPEC_F2CVTL_FP8, UNSPEC_F2CVTL2_FP8) + (UNSPEC_FSCALE): New unspecs. + (VPACKB, VPACKBtype): New mode attributes. + (b): Add support for V[48][BH]F. + (FPM_UNARY_UNS, FPM_BINARY_UNS, SCALE_UNS): New int iterators. + (insn): New int attribute. + +2024-12-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117912 + * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): For addresses + of zero-sized components do not set ->off if the object size pass + didn't run. + For OOB ARRAY_REF accesses in address expressions avoid setting + ->off if the object size pass didn't run. + (valueize_refs_1): Likewise. + +2024-12-10 Antoni Boucher <bouanto@zoho.com> + + PR target/117923 + * config/aarch64/aarch64-builtins.cc: Remove GTY marker on aarch64_simd_types, + aarch64_simd_types_trees (new variable), rename aarch64_simd_types to + aarch64_simd_types_trees. + * config/aarch64/aarch64-builtins.h: Remove GTY marker on aarch64_simd_types, + aarch64_simd_types_trees (new variable). + * config/aarch64/aarch64-sve-builtins-shapes.cc: Rename aarch64_simd_types to + aarch64_simd_types_trees. + * config/aarch64/aarch64-sve-builtins.cc: Rename aarch64_simd_types to + aarch64_simd_types_trees. + +2024-12-09 Mariam Arutunian <mariamarutunian@gmail.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-protos.h (aarch64_expand_crc_using_pmull): New + extern function declaration. + (aarch64_expand_reversed_crc_using_pmull): Likewise. + * config/aarch64/aarch64.cc (aarch64_expand_crc_using_pmull): New + function. + (aarch64_expand_reversed_crc_using_pmull): Likewise. + * config/aarch64/aarch64.md (crc_rev<ALLI:mode><ALLX:mode>4): New + expander for reversed CRC. + (crc<ALLI:mode><ALLX:mode>4): New expander for bit-forward CRC. + * config/aarch64/iterators.md (crc_data_type): New mode attribute. + +2024-12-09 Marek Polacek <polacek@redhat.com> + + PR driver/117942 + * opts-common.cc (decode_cmdline_options_to_array): Also detect + --diagnostics-plain-output. + +2024-12-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd.md (aarch64_get_lane<mode>): Add + "@" to the name. + +2024-12-09 Richard Biener <rguenther@suse.de> + + * late-combine.cc (late_combine::execute): Delete RTL SSA. + +2024-12-09 Richard Biener <rguenther@suse.de> + + * timevar.def (TV_DUP_COMPGOTO): Add. + * bb-reorder.cc (pass_data_duplicate_computed_gotos): Use + TV_DUP_COMPGOTO. + +2024-12-09 Juergen Christ <jchrist@linux.ibm.com> + + * config/s390/s390.cc (s390_canonicalize_comparison): Add + missing UNSPEC_CC_TO_INT case. + +2024-12-09 Matthew Malcomson <mmalcomson@nvidia.com> + + * config/aarch64/aarch64-c.cc + (aarch64_resolve_overloaded_builtin,aarch64_check_builtin_call): + Add new unused boolean parameter to match target hook + definition. + * config/arm/arm-builtins.cc (arm_check_builtin_call): Likewise. + * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): + Likewise. + * config/arm/arm-protos.h (arm_check_builtin_call): Likewise. + * config/avr/avr-c.cc (avr_resolve_overloaded_builtin): + Likewise. + * config/riscv/riscv-c.cc (riscv_check_builtin_call, + riscv_resolve_overloaded_builtin): Likewise. + * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): + Likewise. + * config/rs6000/rs6000-protos.h (altivec_resolve_overloaded_builtin): + Likewise. + * config/s390/s390-c.cc (s390_resolve_overloaded_builtin): + Likewise. + * doc/tm.texi: Regenerate. + * target.def (TARGET_RESOLVE_OVERLOADED_BUILTIN, + TARGET_CHECK_BUILTIN_CALL): Update prototype to include a + boolean parameter that indicates whether errors should be + emitted. Update documentation to mention this fact. + +2024-12-09 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/117960 + * doc/invoke.texi (fsanitize=hwaddress): Clarify on which targets + it is supported. + +2024-12-09 Richard Earnshaw <rearnsha@arm.com> + + PR target/114189 + * config/arm/arm-protos.h (arm_expand_vcond): Delete prototype. + * config/arm/arm.cc (arm_expand_vcond): Delete function. + * config/arm/vec-common.md (vcond<mode><mode>): Delete pattern + (vcond<V_cvtto><mode>): Likewise. + (vcond<VH_cvtto><mode>): Likewise. + (vcondu<mode><v_cmp_result>): Likewise. + +2024-12-09 Richard Biener <rguenther@suse.de> + + PR middle-end/117932 + * df-core.cc (df_worklist_propagate_forward): Elide + age check for the first iteration, adjust for + last_change_age change. + (df_worklist_propagate_backward): Likewise. + (df_worklist_dataflow_doublequeue): Make last_change_age + indexed by BB index, avoid clearing both age arrays. + +2024-12-09 Richard Biener <rguenther@suse.de> + + PR middle-end/117932 + * df-core.cc (df_worklist_propagate_forward): When WORKLIST + is NULL, do not set bits there. + (df_worklist_propagate_backward): Likewise. + (df_worklist_dataflow_doublequeue): Separate first pass + over all blocks with NULL worklist. + (df_worklist_dataflow): Do not initialize pending and adjust. + +2024-12-09 Thomas Schwinge <tschwinge@baylibre.com> + + * config.gcc [nvptx-*]: Switch default from '-march=sm_30' to + '-march=sm_52'. + * doc/install.texi (Nvidia PTX Options): Update. + +2024-12-09 Thomas Schwinge <tschwinge@baylibre.com> + + * config/gcn/gcn.cc (gcn_vec_constant): Fix 'real_from_integer' + usage. + +2024-12-09 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/aarch64-option-extensions.def (sve-b16b16, + f32mm, f64mm, sve2p1, sme-f64f64, sme-i16i64, sme-b16b16, + sme-f16f16, mops): Update FEATURE_STRING field. + +2024-12-09 Simon Martin <simon@nasilyan.com> + + PR c++/117845 + * tree-eh.cc (honor_protect_cleanup_actions): Support empty + finally sequences. + +2024-12-08 Lewis Hyatt <lhyatt@gmail.com> + + * gimple.h (struct gphi): Update word marking comments to reflect + the new size of location_t. + (struct gimple): Likewise. Add a comment about padding. + * common.opt: Mark -flarge-source-files as Ignored. + * common.opt.urls: Regenerate. + * doc/invoke.texi: Remove -flarge-source-files. + * toplev.cc (process_options): Remove support for + -flarge-source-files. + +2024-12-08 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.cc (pru_print_operand): Implement c and n + inline assembly operand modifiers. + +2024-12-07 Eric Botcazou <ebotcazou@adacore.com> + + * config/sparc/sparc.md (VIS4B instructions): Add comments. + +2024-12-07 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_print_operand_address): Use + avr_insn_location as location for late (during final) diagnostic. + +2024-12-07 Jakub Jelinek <jakub@redhat.com> + + PR target/117930 + * config/i386/i386.md (crotate): New define_code_attr. + (*<insn><mode>3_add, *<insn><mode>3_add_1, + *<insn><mode>3_sub, *<insn><mode>3_sub_1): New define_insn_and_split + patterns plus following define_split for constant first input + operand. + +2024-12-07 Denis Chertykov <chertykov@gmail.com> + + PR target/116778 + * lra-lives.cc (complete_info_p): Clarification of the comment. + * lra.cc (lra): Create a full live info after rematerialization. + +2024-12-07 Kito Cheng <kito.cheng@sifive.com> + + Revert: + 2024-12-05 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv-vector-builtins-shapes.cc + (vsetvl_def::get_name): Adjust return type. + (loadstore_def::get_name): Ditto. + (indexed_loadstore_def::get_name): Ditto. + (th_loadstore_width_def::get_name): Ditto. + (th_indexed_loadstore_width_def::get_name): Ditto. + (alu_def::get_name): Ditto. + (alu_frm_def::get_name): Ditto. + (widen_alu_frm_def::get_name): Ditto. + (narrow_alu_frm_def::get_name): Ditto. + (reduc_alu_frm_def::get_name): Ditto. + (widen_alu_def::get_name): Ditto. + (no_mask_policy_def::get_name): Ditto. + (return_mask_def::get_name): Ditto. + (narrow_alu_def::get_name): Ditto. + (move_def::get_name): Ditto. + (mask_alu_def::get_name): Ditto. + (reduc_alu_def::get_name): Ditto. + (th_extract_def::get_name): Ditto. + (scalar_move_def::get_name): Ditto. + (vundefined_def::get_name): Ditto. + (misc_def::get_name): Ditto. + (vset_def::get_name): Ditto. + (vcreate_def: Ditto.::get_name): Ditto. + (read_vl_def::get_name): Ditto. + (fault_load_def::get_name): Ditto. + (vlenb_def::get_name): Ditto. + (seg_loadstore_def::get_name): Ditto. + (seg_indexed_loadstore_def::get_name): Ditto. + (seg_fault_load_def::get_name): Ditto. + (crypto_vv_def::get_name): Ditto. + (crypto_vi_def::get_name): Ditto. + (crypto_vv_no_op_type_def::get_name): Ditto. + (sf_vqmacc_def::get_name): Ditto. + (sf_vqmacc_def::get_name): Ditto. + (sf_vfnrclip_def::get_name): Ditto. + * config/riscv/riscv-vector-builtins.cc + (function_builder::add_unique_function): Adjust the type for the + function name holder. + (function_builder::add_overloaded_function): Ditto. + * config/riscv/riscv-vector-builtins.h (function_shape::get_name): Add + const to the return type. + +2024-12-07 Lewis Hyatt <lhyatt@gmail.com> + + * libgdiagnostics.cc (struct diagnostic_manager): Use location_t(-1) + instead of UINT_MAX to support 64-bit location_t as well. + (diagnostic_manager::diagnostic_manager): Change hard-coded "5" to + line_map_suggested_range_bits. + +2024-12-07 Lewis Hyatt <lhyatt@gmail.com> + + * rtl.def (DEBUG_INSN): Use new format code 'L' for location_t fields. + (INSN): Likewise. + (JUMP_INSN): Likewise. + (CALL_INSN): Likewise. + (ASM_INPUT): Likewise. + (ASM_OPERANDS): Likewise. + * rtl.h (union rtunion): Add new location_t RT_LOC member for use by + the 'L' format. + (struct rtx_debug_insn): Adjust comment. + (struct rtx_nonjump_insn): Adjust comment. + (struct rtx_call_insn): Adjust comment. + (XLOC): New accessor macro for rtunion::rt_loc. + (X0LOC): Likewise. + (XCLOC): Likewise. + (INSN_LOCATION): Use XLOC instead of XUINT to retrieve a location_t. + (NOTE_MARKER_LOCATION): Likewise for XCUINT -> XCLOC. + (ASM_OPERANDS_SOURCE_LOCATION): Likewise. + (ASM_INPUT_SOURCE_LOCATION):Likewise. + (gen_rtx_ASM_INPUT): Adjust to use sL format instead of si. + (gen_rtx_INSN): Adjust prototype to use location_r rather than int + for the location. + * cfgrtl.cc (force_nonfallthru_and_redirect): Change type of LOC + local variable from int to location_t. + * rtlhash.cc (add_rtx): Support 'L' format in the switch statement. + * var-tracking.cc (loc_cmp): Likewise. + * alias.cc (rtx_equal_for_memref_p): Likewise. + * config/alpha/alpha.cc (summarize_insn): Likewise. + * config/ia64/ia64.cc (rtx_needs_barrier): Likewise. + * config/rs6000/rs6000.cc (rs6000_hash_constant): Likewise. + * cse.cc (hash_rtx): Likewise. + (exp_equiv_p): Likewise. + * cselib.cc (rtx_equal_for_cselib_1): Likewise. + (cselib_hash_rtx): Likewise. + (cselib_expand_value_rtx_1): Likewise. + * emit-rtl.cc (copy_insn_1): Likewise. + (gen_rtx_INSN): Change the location argument from int to location_t, + and call the corresponding gen_rtf_fmt_* function. + * final.cc (leaf_renumber_regs_insn): Support 'L' format in the + switch statement. + * genattrtab.cc (attr_rtx_1): Likewise. + * genemit.cc (gen_exp): Likewise. + * gengenrtl.cc (type_from_format): Likewise. + (accessor_from_format): Likewise. + * gengtype.cc (adjust_field_rtx_def): Likewise. + * genpeep.cc (match_rtx): Likewise; just mark gcc_unreachable() for + now. + * genrecog.cc (find_operand): Support 'L' format in the switch statement. + (find_matching_operand): Likewise. + (validate_pattern): Likewise. + * gensupport.cc (subst_pattern_match): Likewise. + (get_alternatives_number): Likewise. + (collect_insn_data): Likewise. + (alter_predicate_for_insn): Likewise. + (alter_constraints): Likewise. + (subst_dup): Likewise. + * jump.cc (rtx_renumbered_equal_p): Likewise. + * loop-invariant.cc (hash_invariant_expr_1): Likewise. + * lra-constraints.cc (operands_match_p): Likewise. + * lra.cc (lra_rtx_hash): Likewise. + * print-rtl.cc (rtx_writer::print_rtx_operand_code_i): Refactor + location_t-relevant code to... + (rtx_writer::print_rtx_operand_code_L): ...new function here. + (rtx_writer::print_rtx_operand): Support 'L' format in the switch statement. + * print-rtl.h (rtx_writer::print_rtx_operand_code_L): Add prototype + for new function. + * read-rtl-function.cc (function_reader::read_rtx_operand): Support + 'L' format in the switch statement. + (function_reader::read_rtx_operand_i_or_n): Rename to... + (function_reader::read_rtx_operand_inL): ...this, and support 'L' as + well. + * read-rtl.cc (apply_int_iterator): Support 'L' format in the switch + statement. + (rtx_reader::read_rtx_operand): Likewise. + * reload.cc (operands_match_p): Likewise. + * rtl.cc (rtx_format): Add new code 'L'. + (rtx_equal_p): Support 'L' in the switch statement. Remove dead code + in the handling for 'i' and 'n'. + +2024-12-07 Lewis Hyatt <lhyatt@gmail.com> + + * final.cc (reemit_insn_block_notes): Don't try to call + INSN_LOCATION on a NOTE rtl object. Don't call change_scope () for a + NOTE missing a location. + +2024-12-07 Lewis Hyatt <lhyatt@gmail.com> + + * tree-parloops.cc (struct reduction_info): Store the result of the + reduction PHI rather than the PHI itself. + (reduction_info::reduc_phi): New member function. + (reduction_hasher::equal): Adapt to the change in struct reduction_info. + (reduction_phi): Likewise. + (initialize_reductions): Likewise. + (create_call_for_reduction_1): Likewise. + (transform_to_exit_first_loop_alt): Likewise. + (transform_to_exit_first_loop): Likewise. + (build_new_reduction): Likewise. + (set_reduc_phi_uids): Likewise. + (try_create_reduction_list): Likewise. + * tree-ssa-loop-split.cc (split_loop): Remember the PHI result + variable so that the PHI can be found in case it is resized and move + to a new address. + * tree-vect-loop-manip.cc (vect_loop_versioning): After calling + loop_version(), fix up stored PHI pointers in case they have + changed. + * tree-vectorizer.cc (vec_info::resync_stmt_addr): New function. + * tree-vectorizer.h (vec_info::resync_stmt_addr): Declare. + +2024-12-06 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/117467 + * gimple-range-infer.cc (infer_range_manager::add_ranges): Check + range_of_expr to see if the inferred range is needed. + +2024-12-06 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::ranger_cache): Create the + infer oracle using THIS as the range_query. + * gimple-range-infer.cc (gimple_infer_range::gimple_infer_range): + Add a range_query to the constructor and use it. + (infer_range_manager::infer_range_manager): Add a range_query. + * gimple-range-infer.h (gimple_infer_range): Adjust prototype. + (infer_range_manager): Add a range_query. + * value-query.cc (range_query::create_infer_oracle): Add a range_query. + * value-query.h (range_query::create_infer_oracle): Update prototype. + +2024-12-06 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/117467 + * gimple-range-cache.cc (ranger_cache::entry_range): Do not + invoke range_from_dom for invariant ssa-names. + +2024-12-06 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/117248 + * lra-lives.cc (start_living, start_dying): Remove. + (insn_regnos, out_insn_regnos, insn_regnos_live_after): New. + (sparseset_contains_pseudos_p): Remove. + (make_hard_regno_live, make_hard_regno_dead): Return true if + something in liveness is changed. + (mark_pseudo_live, mark_pseudo_dead): Ditto. + (mark_regno_live, mark_regno_dead): Ditto. + (clear_sparseset_regnos, regnos_in_sparseset_p): Use set instead + of dead_set. + (process_bb_lives): Rewrite dealing with reg notes. Update + conflict hard regs even when clobber hard reg is not marked as + dead. + (lra_create_live_ranges_1): Add initialization/finalization of + insn_regnos, out_insn_regnos, insn_regnos_live_after. + +2024-12-06 Jeff Law <jlaw@ventanamicro.com> + + PR tree-optimization/117895 + * expr.cc (calculate_table_based_CRC): Drop CRC_MODE argument. + Convert DATA to CRC's mode, then do calculations in CRC's mode. + (expand_crc_table_based): Corresponding changes. + (expand_reversed_crc_table_based): Corresponding changes. + +2024-12-06 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.cc (ix86_decompose_address): + Add missing part from my previous commit. + +2024-12-06 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.cc (ix86_decompose_address): Eliminate + common code and use use UINTVAL and HOST_WIDE_INT_UC macros + in the condition for AND wrapped address. + +2024-12-06 Uros Bizjak <ubizjak@gmail.com> + + PR target/117926 + * config/i386/mmx.md (UNSPEC_3DNOW): New unspec. + (mmx_addv2sf3): Tag insn with UNSPEC_3DNOW tag. + (*mmx_addv2sf3): Ditto. + (mmx_sub2vsf3): Ditto. + (mmx_subrv2sf3): Ditto. + (*mmx_subv2sf3): Ditto. + (mmx_mulv2sf3): Ditto. + (mmx_<smaxmin:code>v2sf3): Ditto. + (*mmx_<smaxmin:code>v2sf3): Ditto. + (mmx_ieee_<ieee_maxmin>v2sf3): Ditto. + (mmx_eqv2sf3): Ditto. + (*mmx_eqv2sf3): Ditto. + (mmx_gtv2sf3): Ditto. + (mmx_gev2sf3): Ditto. + (mmx_fix_truncv2sfv2si2): Ditto. + (mmx_floatv2siv2sf2): Ditto. + +2024-12-06 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_context::override_urlifier): New. + * diagnostic.h (diagnostic_context::override_urlifier): New decl. + * doc/extend.texi (Nvidia PTX Function Attributes): Update + @cindex to specify that "kernel" is a function attribute and + "shared" is a variable attribute, so that these entries are + recognized by the regex in regenerate-attr-urls.py. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in (TARGET_DOCUMENTATION_NAME): New. + * gcc-attribute-urlifier.cc: New file. + * gcc-urlifier.cc: Include diagnostic.h. + (gcc_urlifier::make_doc): Convert to... + (make_doc_url): ...this. + (auto_override_urlifier::auto_override_urlifier): New. + (auto_override_urlifier::~auto_override_urlifier): New. + (selftest::gcc_urlifier_cc_tests): Split out body into... + (selftest::test_gcc_urlifier): ...this. + * gcc-urlifier.h: Include "pretty-print-urlifier.h" and "label-text.h". + (make_doc_url): New decl. + (class auto_override_urlifier): New. + (class attribute_urlifier): New. + (class auto_urlify_attributes): New. + * gimple-ssa-warn-access.cc: Include "gcc-urlifier.h". + (pass_waccess::execute): Use auto_urlify_attributes. + * gimplify.cc: Include "gcc-urlifier.h". + (expand_FALLTHROUGH): Use auto_urlify_attributes. + * internal-fn.cc: Define INCLUDE_MEMORY and include + "gcc-urlifier.h. + (expand_FALLTHROUGH): Use auto_urlify_attributes. + * ipa-pure-const.cc: Include "gcc-urlifier.h. + (suggest_attribute): Use auto_urlify_attributes. + * ipa-strub.cc: Include "gcc-urlifier.h. + (can_strub_p): Use auto_urlify_attributes. + * regenerate-attr-urls.py: New file. + * selftest-run-tests.cc (selftest::run_tests): Call + gcc_attribute_urlifier_cc_tests. + * selftest.h (selftest::gcc_attribute_urlifier_cc_tests): New + decl. + * target.def (documentation_name): New DEFHOOKPOD. + * tree-cfg.cc: Include "gcc-urlifier.h. + (do_warn_unused_result): Use auto_urlify_attributes. + * tree-ssa-uninit.cc: Include "gcc-urlifier.h. + (maybe_warn_read_write_only): Use auto_urlify_attributes. + (maybe_warn_pass_by_reference): Likewise. + +2024-12-06 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS): Add -attribute-urlifier.o. + (ATTR_URLS_HTML_DEPS): New. + (regenerate-attr-urls): New. + (regenerate-attr-urls-unit-test): New. + * attr-urls.def: New file. + * attribs.cc: Include "gcc-urlifier.h". + (decl_attributes): Use auto_urlify_attributes. + * config/aarch64/aarch64.cc (TARGET_DOCUMENTATION_NAME): New. + * config/arc/arc.cc (TARGET_DOCUMENTATION_NAME): New. + * config/arm/arm.cc (TARGET_DOCUMENTATION_NAME): New. + * config/bfin/bfin.cc (TARGET_DOCUMENTATION_NAME): New. + * config/bpf/bpf.cc (TARGET_DOCUMENTATION_NAME): New. + * config/epiphany/epiphany.cc (TARGET_DOCUMENTATION_NAME): New. + * config/gcn/gcn.cc (TARGET_DOCUMENTATION_NAME): New. + * config/h8300/h8300.cc (TARGET_DOCUMENTATION_NAME): New. + * config/i386/i386.cc (TARGET_DOCUMENTATION_NAME): New. + * config/ia64/ia64.cc (TARGET_DOCUMENTATION_NAME): New. + * config/m32c/m32c.cc (TARGET_DOCUMENTATION_NAME): New. + * config/m32r/m32r.cc (TARGET_DOCUMENTATION_NAME): New. + * config/m68k/m68k.cc (TARGET_DOCUMENTATION_NAME): New. + * config/mcore/mcore.cc (TARGET_DOCUMENTATION_NAME): New. + * config/microblaze/microblaze.cc (TARGET_DOCUMENTATION_NAME): + New. + * config/mips/mips.cc (TARGET_DOCUMENTATION_NAME): New. + * config/msp430/msp430.cc (TARGET_DOCUMENTATION_NAME): New. + * config/nds32/nds32.cc (TARGET_DOCUMENTATION_NAME): New. + * config/nvptx/nvptx.cc (TARGET_DOCUMENTATION_NAME): New. + * config/riscv/riscv.cc (TARGET_DOCUMENTATION_NAME): New. + * config/rl78/rl78.cc (TARGET_DOCUMENTATION_NAME): New. + * config/rs6000/rs6000.cc (TARGET_DOCUMENTATION_NAME): New. + * config/rx/rx.cc (TARGET_DOCUMENTATION_NAME): New. + * config/s390/s390.cc (TARGET_DOCUMENTATION_NAME): New. + * config/sh/sh.cc (TARGET_DOCUMENTATION_NAME): New. + * config/stormy16/stormy16.cc (TARGET_DOCUMENTATION_NAME): New. + * config/v850/v850.cc (TARGET_DOCUMENTATION_NAME): New. + * config/visium/visium.cc (TARGET_DOCUMENTATION_NAME): New. + +2024-12-06 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.opt.urls: Rebuild. + +2024-12-06 Georg-Johann Lay <avr@gjlay.de> + + * common/config/avr/avr-common.cc + (avr_option_optimization_table): Default to -fno-optimize-crc. + +2024-12-06 kelefth <konstantinos.eleftheriou@vrull.eu> + + PR rtl-optimization/117816 + * avoid-store-forwarding.cc (store_forwarding_analyzer::avoid_store_forwarding): + Reject the transformation when having instructions that may + throw exceptions in the sequence. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx-sm.def: Add '89'. + * config/nvptx/nvptx-gen.h: Regenerate. + * config/nvptx/nvptx-gen.opt: Likewise. + * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): Adjust. + * config/nvptx/nvptx.opt (-march-map=sm_89, -march-map=sm_90) + (march-map=sm_90a): Likewise. + * config.gcc: Likewise. + * doc/invoke.texi (Nvidia PTX Options): Document '-march=sm_89'. + * config/nvptx/gen-multilib-matches-tests: Extend. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx-opts.h (enum ptx_version): Add + 'PTX_VERSION_7_8'. + * config/nvptx/nvptx.cc (ptx_version_to_string) + (ptx_version_to_number): Adjust. + * config/nvptx/nvptx.h (TARGET_PTX_7_8): New. + * config/nvptx/nvptx.opt (Enum(ptx_version)): Add 'EnumValue' + '7.8' for 'PTX_VERSION_7_8'. + * doc/invoke.texi (Nvidia PTX Options): Document '-mptx=7.8'. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx-sm.def: Add '52'. + * config/nvptx/nvptx-gen.h: Regenerate. + * config/nvptx/nvptx-gen.opt: Likewise. + * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): Adjust. + * config/nvptx/nvptx.opt (-march-map=sm_52): Likewise. + * config.gcc: Likewise. + * doc/invoke.texi (Nvidia PTX Options): Document '-march=sm_52'. + * config/nvptx/gen-multilib-matches-tests: Extend. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx-sm.def: Add '37'. + * config/nvptx/nvptx-gen.h: Regenerate. + * config/nvptx/nvptx-gen.opt: Likewise. + * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm): Adjust. + * config/nvptx/nvptx.opt (-march-map=sm_37, -march-map=sm_50): + Likewise. + * config.gcc: Likewise. + * doc/invoke.texi (Nvidia PTX Options): Document '-march=sm_37'. + * config/nvptx/gen-multilib-matches-tests: Extend. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx-opts.h (enum ptx_version): Add + 'PTX_VERSION_4_1'. + * config/nvptx/nvptx.cc (ptx_version_to_string) + (ptx_version_to_number): Adjust. + * config/nvptx/nvptx.h (TARGET_PTX_4_1): New. + * config/nvptx/nvptx.opt (Enum(ptx_version)): Add 'EnumValue' + '4.1' for 'PTX_VERSION_4_1'. + * doc/invoke.texi (Nvidia PTX Options): Document '-mptx=4.1'. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx.h (TARGET_PTX_4_2): New. + * config/nvptx/nvptx.opt (Enum(ptx_version)): Add 'EnumValue' + '4.2' for 'PTX_VERSION_4_2'. + * doc/invoke.texi (Nvidia PTX Options): Document '-mptx=4.2'. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx-opts.h (enum ptx_version): Remove + 'PTX_VERSION_3_0'. + * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm) + (default_ptx_version_option, ptx_version_to_string) + (ptx_version_to_number): Adjust. + * config/nvptx/nvptx.h: Comment. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config.gcc: nvptx: Support '--with-multilib-list'. + * config/nvptx/gen-multilib-matches.sh: Adjust. + * configure.ac: Likewise. + * configure: Regenerate. + * doc/install.texi: Update. + * doc/invoke.texi: Align. + * config/nvptx/gen-multilib-matches-tests: Extend. + +2024-12-06 Jakub Jelinek <jakub@redhat.com> + + * gimplify.cc (gimplify_init_ctor_eval): Use RAW_DATA_UCHAR_ELT + macro. + * gimple-fold.cc (fold_array_ctor_reference): Likewise. + * tree-pretty-print.cc (dump_generic_node): Use RAW_DATA_UCHAR_ELT + and RAW_DATA_SCHAR_ELT macros. + * fold-const.cc (fold): Use RAW_DATA_UCHAR_ELT macro. + +2024-12-06 Richard Biener <rguenther@suse.de> + + * match.pd: Remove redundant :c, reported by genmatch as + duplicate patterns. + +2024-12-06 Richard Biener <rguenther@suse.de> + + * match.pd (.SAT_ADD patterns using IFN_ADD_OVERFLOW): Remove :c that + only causes duplicate patterns. + +2024-12-06 Hau Hsu <hau.hsu@sifive.com> + Kito Cheng <kito.cheng@sifive.com> + + * config.gcc (riscv*-*-*): Add support for --with-cmodel configure option. + (all_defaults): Add cmodel. + * config/riscv/riscv.h (TARGET_DEFAULT_CMODEL): Remove. + * doc/install.texi: Document --with-cmodel configure option. + * doc/invoke.texi (-mcmodel): Mention --with-cmodel configure option. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/gen-multilib-matches.sh: Support '--selftest'. + * config/nvptx/t-nvptx (t-nvptx-gen-multilib-matches:): Invoke it. + * config/nvptx/gen-multilib-matches-tests: New. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/gen-h.sh: Don't pass in '$1'; compute it locally. + * config/nvptx/gen-multilib-matches.sh: Likewise. + * config/nvptx/gen-omp-device-properties.sh: Likewise. + * config/nvptx/gen-opt.sh: Likewise. + * config/nvptx/t-nvptx (s-nvptx-gen-h:, s-nvptx-gen-opt:) + (t-nvptx-gen-multilib-matches:): Adjust. + * config/nvptx/t-omp-device (omp-device-properties-nvptx): + Likewise. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/gen-multilib-matches.sh: Encapsulate main logic. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/t-nvptx (multilib_matches): Don't use the 'shell' + function of 'make'. + * config/nvptx/gen-multilib-matches.sh: Adjust. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/117916 + * config/nvptx/nvptx.opt (misa=, mptx=): Tag as 'Negative' of + themselves. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + PR testsuite/82250 + * gimple-fold.cc (gimple_fold_builtin_acc_on_device): Revert last + change. + +2024-12-06 Jakub Jelinek <jakub@redhat.com> + + * tree.h (RAW_DATA_UCHAR_ELT, RAW_DATA_SCHAR_ELT): Define. + +2024-12-06 Jennifer Schmitz <jschmitz@nvidia.com> + + PR target/106329 + * config/aarch64/aarch64-sve-builtins-base.cc + (svac_impl::fold): Add folding if pfalse predicate. + (svadda_impl::fold): Likewise. + (class svaddv_impl): Likewise. + (class svandv_impl): Likewise. + (svclast_impl::fold): Likewise. + (svcmp_impl::fold): Likewise. + (svcmp_wide_impl::fold): Likewise. + (svcmpuo_impl::fold): Likewise. + (svcntp_impl::fold): Likewise. + (class svcompact_impl): Likewise. + (class svcvtnt_impl): Likewise. + (class sveorv_impl): Likewise. + (class svminv_impl): Likewise. + (class svmaxnmv_impl): Likewise. + (class svmaxv_impl): Likewise. + (class svminnmv_impl): Likewise. + (class svorv_impl): Likewise. + (svpfirst_svpnext_impl::fold): Likewise. + (svptest_impl::fold): Likewise. + (class svsplice_impl): Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.cc + (class svcvtxnt_impl): Likewise. + (svmatch_svnmatch_impl::fold): Likewise. + * config/aarch64/aarch64-sve-builtins.cc + (is_pfalse): Return true if tree is pfalse. + (gimple_folder::fold_pfalse): Fold calls with pfalse predicate. + (gimple_folder::fold_call_to): Fold call to lhs = t for given tree t. + (gimple_folder::fold_to_stmt_vops): Helper function that folds the + call to given stmt and adjusts virtual operands. + (gimple_folder::fold): Call fold_pfalse. + * config/aarch64/aarch64-sve-builtins.h (is_pfalse): Declare is_pfalse. + +2024-12-06 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/117922 + * timevar.def (TV_FOLD_MEM_OFFSETS): New. + * fold-mem-offsets.cc (pass_data_fold_mem): Use TV_FOLD_MEM_OFFSETS. + +2024-12-05 Uros Bizjak <ubizjak@gmail.com> + + PR target/117860 + * config/i386/i386.cc (ix86_canonicalize_comparison): Swap + operands of GTU comparison to canonicalize addcarry/subborrow + comparison. + (ix86_cc_mode): Return CCCmode for the comparison of + addcarry/subborrow pattern. + * config/i386/i386.md (addcarry<mode>): Swap operands of + PLUS RTX to make it canonical. + (*addcarry<mode>_1): Ditto. + (addcarry peephole2s): Update RTXes for addcarry<mode>_1 change. + (*add<dwi>3_doubleword_cc_overflow_1): Ditto. + (*subborrow<mode>_1): New insn pattern. + +2024-12-05 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/mmintrin.h: Raise an error if this header is used. + Remove other content. + +2024-12-05 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd-pragma-builtins.def + (ENTRY_TERNARY_VLUT8): Use FLAG_QUIET rather than FLAG_DEFAULT. + (ENTRY_TERNARY_VLUT16): Likewise. + +2024-12-05 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc (FLAG_QUIET): Redefine to 0, + replacing the old flag with... + (FLAG_AUTO_FP): ...this. + (FLAG_DEFAULT): Redefine to FLAG_AUTO_FP. + (aarch64_call_properties): Update accordingly. + +2024-12-05 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc (FLAG_NONE): Rename to... + (FLAG_DEFAULT): ...this and update all references. + * config/aarch64/aarch64-simd-builtins.def: Update all references + here too. + * config/aarch64/aarch64-simd-pragma-builtins.def: Likewise. + +2024-12-05 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc (FLAG_AUTO_FP): Rename to... + (FLAG_QUIET): ...this and update all references. + * config/aarch64/aarch64-simd-builtins.def: Update all references + here too. + +2024-12-05 Pan Li <pan2.li@intel.com> + + * match.pd: Refactor sorts of unsigned SAT_TRUNC match patterns. + +2024-12-05 Richard Biener <rguenther@suse.de> + + PR middle-end/117801 + * tree-outof-ssa.cc (ssa_is_replaceable_p): Make + direct internal function calls replaceable. + * expr.cc (get_def_for_expr): Handle replacements with calls. + (get_def_for_expr_class): Likewise. + (optimize_bitfield_assignment_op): Likewise. + (expand_expr_real_1): Likewise. Properly expand direct + internal function defs. + * cfgexpand.cc (expand_call_stmt): Handle replacements with calls. + (avoid_deep_ter_for_debug): Likewise, always create a debug temp + for calls. + (expand_debug_expr): Likewise, give up for calls. + (expand_gimple_basic_block): Likewise. + * ccmp.cc (ccmp_candidate_p): Likewise. + (get_compare_parts): Likewise. + +2024-12-05 Arvin Zhong <Arvin.Zhong@armchina.com> + + * config/arm/arm-cpus.in (star-mc1): Add CDE options. + * doc/invoke.texi (cdecp options): Document for star-mc1. + +2024-12-05 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/113994 + PR rtl-optimization/116799 + * loop-doloop.cc: Include targhooks.h. + (doloop_optimize): Also punt on intersection of modified + with df_get_live_in (desc->out_edge->dest). + (doloop_optimize_loops): Call df_analyze. Use + LI_ONLY_INNERMOST or LI_FROM_INNERMOST instead of 0 as + second loops_list argument. + +2024-12-05 Jakub Jelinek <jakub@redhat.com> + + PR c/107980 + * ginclude/stdarg.h (va_start): For C23+ change parameters from + v, ... to just ... and define to __builtin_c23_va_start(__VA_ARGS__) + rather than __builtin_va_start(v, 0). + +2024-12-05 Georg-Johann Lay <avr@gjlay.de> + + PR target/107957 + * config/avr/avr-passes-fuse-move.h (bbinfo_t) <try_mem0_p>: + Add static property. + * config/avr/avr-passes.cc (bbinfo_t::try_mem0_p): Define it. + (optimize_data_t::try_mem0): New method. + (bbinfo_t::optimize_one_block) [bbinfo_t::try_mem0_p]: Run try_mem0. + (bbinfo_t::optimize_one_function): Set bbinfo_t::try_mem0_p. + * config/avr/avr.md (pushhi1_insn): Also allow zero as source. + (define_split) [avropt_split_ldst]: Only run avr_split_ldst() + when avr-fuse-move has been run at least once. + * doc/invoke.texi (AVR Options) <-msplit-ldst>: Document it. + +2024-12-05 Georg-Johann Lay <avr@gjlay.de> + + PR target/107957 + * config/avr/avr.opt (-msplit-ldst, avropt_split_ldst): + New option and associated var. + * common/config/avr/avr-common.cc (avr_option_optimization_table) + [OPT_LEVELS_2_PLUS]: Turn on -msplit_ldst. + * config/avr/avr-passes.cc (splittable_address_p) + (avr_byte_maybe_mem, avr_split_ldst): New functions. + * config/avr/avr-protos.h (avr_split_ldst): New proto. + * config/avr/avr.md (define_split) [avropt_split_ldst]: Run + avr_split_ldst(). + +2024-12-05 Georg-Johann Lay <avr@gjlay.de> + + PR target/64242 + * config/avr/avr.md (nonlocal_goto): Don't restore + hard_frame_pointer_rtx directly, but copy it to local + register, and only set hard_frame_pointer_rtx from it + after emit_stack_restore(). + +2024-12-05 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-protos.h (avr_out_add_msb): New proto. + * config/avr/avr.cc (avr_out_add_msb): New function. + (avr_adjust_insn_length) [ADJUST_LEN_ADD_GE0, + ADJUST_LEN_ADD_LT0]: Handle cases. + * config/avr/avr.md (adjust_len) <add_lt0, add_ge0>: New attr values. + (QISI2): New mode iterator. + (C_MSB): New mode_attr. + (*add<mode>3...msb_split, *add<mode>3.ge0, *add<mode>3.lt0) + (*sub<mode>3...msb_split, *sub<mode>3.ge0, *sub<mode>3.lt0): New + patterns replacing old ones, but with iterators and + using avr_out_add_msb() for asm out. + +2024-12-05 Filip Kastl <fkastl@suse.cz> + + * doc/invoke.texi: Add store-forwarding-max-distance. + +2024-12-05 Filip Kastl <fkastl@suse.cz> + + * params.opt: Add missing '=' after -param=cycle-accurate-model. + +2024-12-05 Jakub Jelinek <jakub@redhat.com> + + PR c/41045 + * output.h (insn_noperands): Declare. + * final.cc (insn_noperands): No longer static. + * varasm.cc (assemble_asm): Handle ASM_EXPR. + * lto-streamer-out.cc (lto_output_toplevel_asms): Add sorry_at + for non-STRING_CST toplevel asm for now. + * doc/extend.texi (Basic @code{asm}, Extended @code{asm}): Document + that extended asm is now allowed outside of functions with certain + restrictions. + +2024-12-05 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv-vector-builtins-shapes.cc + (vsetvl_def::get_name): Adjust return type. + (loadstore_def::get_name): Ditto. + (indexed_loadstore_def::get_name): Ditto. + (th_loadstore_width_def::get_name): Ditto. + (th_indexed_loadstore_width_def::get_name): Ditto. + (alu_def::get_name): Ditto. + (alu_frm_def::get_name): Ditto. + (widen_alu_frm_def::get_name): Ditto. + (narrow_alu_frm_def::get_name): Ditto. + (reduc_alu_frm_def::get_name): Ditto. + (widen_alu_def::get_name): Ditto. + (no_mask_policy_def::get_name): Ditto. + (return_mask_def::get_name): Ditto. + (narrow_alu_def::get_name): Ditto. + (move_def::get_name): Ditto. + (mask_alu_def::get_name): Ditto. + (reduc_alu_def::get_name): Ditto. + (th_extract_def::get_name): Ditto. + (scalar_move_def::get_name): Ditto. + (vundefined_def::get_name): Ditto. + (misc_def::get_name): Ditto. + (vset_def::get_name): Ditto. + (vcreate_def: Ditto.::get_name): Ditto. + (read_vl_def::get_name): Ditto. + (fault_load_def::get_name): Ditto. + (vlenb_def::get_name): Ditto. + (seg_loadstore_def::get_name): Ditto. + (seg_indexed_loadstore_def::get_name): Ditto. + (seg_fault_load_def::get_name): Ditto. + (crypto_vv_def::get_name): Ditto. + (crypto_vi_def::get_name): Ditto. + (crypto_vv_no_op_type_def::get_name): Ditto. + (sf_vqmacc_def::get_name): Ditto. + (sf_vqmacc_def::get_name): Ditto. + (sf_vfnrclip_def::get_name): Ditto. + * config/riscv/riscv-vector-builtins.cc + (function_builder::add_unique_function): Adjust the type for the + function name holder. + (function_builder::add_overloaded_function): Ditto. + * config/riscv/riscv-vector-builtins.h (function_shape::get_name): Add + const to the return type. + +2024-12-04 David Malcolm <dmalcolm@redhat.com> + + * doc/libgdiagnostics/topics/execution-paths.rst: Add '§' before + references to section of SARIF spec. + * doc/libgdiagnostics/topics/fix-it-hints.rst: Likewise. + * doc/libgdiagnostics/tutorial/01-hello-world.rst: Fix typo. + * doc/libgdiagnostics/tutorial/02-physical-locations.rst: Likewise. + * doc/libgdiagnostics/tutorial/04-notes.rst: Likewise. + * doc/libgdiagnostics/tutorial/06-fix-it-hints.rst: Add link to + diagnostic_add_fix_it_hint_replace. + * doc/libgdiagnostics/tutorial/07-execution-paths.rst: Add '§'. + +2024-12-04 Vineet Gupta <vineetg@rivosinc.com> + + * haifa-sched.cc (model_choose_insn): Dump unscheduled_preds. + (model_dump_pressure_summary): Dump bb->index. + (model_start_schedule): Pass bb. + * sched-rgn.cc (debug_dependencies): Dump SD_LIST_HARD_BACK deps. + +2024-12-04 Vineet Gupta <vineetg@rivosinc.com> + + PR target/11472 + * params.opt (--param=cycle-accurate-model=): New opt. + * doc/invoke.texi (cycle-accurate-model): Document. + * haifa-sched.cc (model_excess_group_cost): Return negative + delta if param_cycle_accurate_model is 0. + (model_excess_cost): Ceil negative baseECC to 0 only if + param_cycle_accurate_model is 1. + Dump the actual ECC value. + * config/riscv/riscv.cc (riscv_option_override): Set param + to 0. + +2024-12-04 Georg-Johann Lay <avr@gjlay.de> + + PR target/84211 + * config/avr/avr-passes.cc (insninfo_t) <m_insn>: Preset to 0. + (run_find_plies) [hamm=0, dump_file]: Don't print INSN_UID + for a null m_insn. + +2024-12-04 David Malcolm <dmalcolm@redhat.com> + + PR translation/90160 + * config/arm/arm.cc (arm_option_check_internal): Use quotes in + messages that refer to command-line options. Tweak wording. + +2024-12-04 Andreas Schwab <schwab@suse.de> + + PR bootstrap/117893 + * configure.ac: Use shell loop to remove -O flags. + * configure: Regenerate. + +2024-12-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116083 + * tree-vect-slp.cc (vect_build_slp_tree_1): Compute vector + type and max_nunits only once. Remove check for matching + vector type of each lane and replace it with matching check + for LHS type. + +2024-12-04 Pan Li <pan2.li@intel.com> + + PR target/117878 + * config/riscv/riscv-v.cc (vlmax_avl_type_p): Add assert for + out of range access. + (nonvlmax_avl_type_p): Ditto. + +2024-12-04 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117243 + PR tree-optimization/116749 + * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Reset loop + estimates if the cond_block was an exit to a loop. + +2024-12-03 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_insn_location): New variable. + (avr_final_prescan_insn): Set avr_insn_location. + (avr_asm_final_postscan_insn): Unset avr_insn_location after last insn. + (avr_print_operand): Pass avr_insn_location to warning_at. + +2024-12-03 David Malcolm <dmalcolm@redhat.com> + + * doc/libgdiagnostics/conf.py: Remove "author". Change + "copyright" field to the FSF. + +2024-12-03 Georg-Johann Lay <avr@gjlay.de> + + PR target/117726 + * config/avr/avr-passes.cc (avr_split_shift_p) + [ASHIFT, LSHIFTRT]: Allow offsets of bitsize - 1. + (avr_split_shift4) [ASHIFT, LSHIFTRT]: Also split offset 31. + (avr_split_shift3) [ASHIFT, LSHIFTRT]: Also split offset 23. + (avr_split_shift2) [ASHIFT, LSHIFTRT]: Also split offset 15. + +2024-12-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117874 + * tree-vect-slp.cc (vect_build_slp_tree_2): Perform early + reassoc checks before eating into discovery limit. + +2024-12-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117874 + * tree-vectorizer.h (vec_info_shared::n_stmts): Remove. + (LOOP_VINFO_N_STMTS): Likewise. + * tree-vectorizer.cc (vec_info_shared::vec_info_shared): Adjust. + * tree-vect-loop.cc (vect_get_datarefs_in_loop): Do not + count stmts. + (vect_analyze_loop_2): Adjust. Pass stmt_vec_info.length () + to vect_analyze_slp as SLP tree size limit. + +2024-12-03 Georg-Johann Lay <avr@gjlay.de> + + PR target/117726 + * config/avr/avr-passes.cc (avr_emit_shift): All 8-bit shifts with + an offset of 6 have 3-operand alternatives. + * config/avr/avr.cc (ashlqi3_out, lshrqi3_out) [case 6]: + Implement as 3-operand insn. + (avr_rtx_costs_1) [QImode, ASHIFT + LSHIFTRT]: Adjust + costs for offset of 6. + * config/avr/avr.md (*ashlqi3_split, *ashlqi3) + (*lshrqi3_split, *lshrqi3): Add "r,r,C06" alternative. + +2024-12-03 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64-option-extensions.def: (fp8): fix FEATURE_STRING. + (fp8fma, ssve-fp8fma): Likewise. + (fp8dot4, ssve-fp8dot4, fp8dot2, ssve-fp8dot2): Likewise. + +2024-12-03 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117420 + * tree-ssanames.h (get_known_nonzero_bits): Declare. + * tree-ssanames.cc (get_nonzero_bits): New wrapper function. Move old + definition to ... + (get_nonzero_bits_1): ... here, add static. Change widest_int in + function comment to wide_int. + (get_known_nonzero_bits_1, get_known_nonzero_bits): New functions. + * match.pd (with_possible_nonzero_bits2): Rename to ... + (with_possible_nonzero_bits): ... this. Guard the bit_and case with + #if GENERIC. Change to a normal match predicate without parameters. + Rename the old with_possible_nonzero_bits match to ... + (with_possible_nonzero_bits_1): ... this. + (with_certain_nonzero_bits2): Remove. + (with_known_nonzero_bits_1, with_known_nonzero_bits): New match + predicates. + (X == C (or X & Z == Y | C) is impossible if ~nonzero(X) & C != 0): + Use with_known_nonzero_bits@0 instead of + (with_certain_nonzero_bits2 @1), use with_possible_nonzero_bits@0 + instead of (with_possible_nonzero_bits2 @0) and + get_known_nonzero_bits (@1) instead of wi::to_wide (@1). + +2024-12-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117847 + * gimple-lower-bitint.cc (gimple_lower_bitint) <case LROTATE_EXPR>: + Use m = (p - n) % p instead of m = p - n for the other shift count. + +2024-12-03 Tobias Burnus <tburnus@baylibre.com> + + * cgraphunit.cc (varpool_node::finalize_decl): Set alignment + based on OpenMP's 'omp allocate' attribute/directive. + +2024-12-03 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-simd-pragma-builtins.def: Add a flags + field to each entry. + * config/aarch64/aarch64-builtins.cc: Update includes accordingly. + (aarch64_pragma_builtins_data): Add a flags field. + (aarch64_init_pragma_builtins): Use the flags field to add attributes + to the function declaration. + +2024-12-03 Saurabh Jha <saurabh.jha@arm.com> + Vladimir Miloserdov <vladimir.miloserdov@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc + (aarch64_builtin_signatures): Add binary_lane. + (aarch64_fntype): Handle it. + (simd_types): Add 16-bit x2 types. + (aarch64_pragma_builtins_checker): New class. + (aarch64_general_check_builtin_call): Use it. + (aarch64_expand_pragma_builtin): Add support for lut unspecs. + * config/aarch64/aarch64-option-extensions.def + (AARCH64_OPT_EXTENSION): Add lut option. + * config/aarch64/aarch64-simd-pragma-builtins.def + (ENTRY_BINARY_LANE): Modify to use new ENTRY macro. + (ENTRY_TERNARY_VLUT8): Macro to declare lut intrinsics. + (ENTRY_TERNARY_VLUT16): Macro to declare lut intrinsics. + (REQUIRED_EXTENSIONS): Declare lut intrinsics. + * config/aarch64/aarch64-simd.md + (@aarch64_<vluti_uns_op><VLUT:mode><VB:mode>): Instruction + pattern for luti2 and luti4 intrinsics. + (@aarch64_lutx2<VLUT:mode><VB:mode>): Instruction pattern for + luti4x2 intrinsics. + * config/aarch64/aarch64.h + (TARGET_LUT): lut flag. + * config/aarch64/iterators.md: Iterators and attributes for lut. + * doc/invoke.texi: Document extension in AArch64 Options. + +2024-12-03 Saurabh Jha <saurabh.jha@arm.com> + Vladimir Miloserdov <vladimir.miloserdov@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc + (ENTRY): Modify to add support of return and argument types. + (struct simd_type): New struct to declare types using mode and + qualifiers. + (struct aarch64_pragma_builtins_data): Replace mode with + the array of types to support return and argument types. + (aarch64_fntype): Modify to handle different signatures. + (aarch64_expand_pragma_builtin): Modify to handle different + signatures. + * config/aarch64/aarch64-simd-pragma-builtins.def + (ENTRY_VHSDF): Rename to ENTRY_BINARY_VHSDF. + (ENTRY_BINARY): New macro to declare binary intrinsics. + (ENTRY_BINARY_VHSDF): Remove signature argument and use + ENTRY_BINARY. + +2024-12-03 Saurabh Jha <saurabh.jha@arm.com> + Vladimir Miloserdov <vladimir.miloserdov@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/iterators.md: Reorder some declarations, + putting them under the associated heading comment. + +2024-12-03 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-protos.h (aarch64_v64_mode): Declare. + (aarch64_vq_mode): Rename to... + (aarch64_v128_mode): ...this. + * config/aarch64/aarch64.cc (aarch64_v64_mode): New function, + split out from... + (aarch64_simd_container_mode): ...here. + (aarch64_vq_mode): Rename to... + (aarch64_v128_mode): ...this and update callers. + * config/aarch64/aarch64-sve-builtins-base.cc: Likewise update calls. + +2024-12-03 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins.cc (report_non_ice) + (report_out_of_range, report_neither_nor, report_not_one_of) + (report_not_enum): Move to... + * config/aarch64/aarch64.cc: ...here, putting them in the aarch64 + namespace, and... + * config/aarch64/aarch64-protos.h: ...declare them here. + +2024-12-03 Pan Li <pan2.li@intel.com> + + * match.pd: Refactor sorts of unsigned SAT_SUB match patterns. + +2024-12-03 Heiko Eißfeldt <heiko@hexco.de> + Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114540 + * varasm.cc (decode_reg_name_and_count): Use strtoul instead of atoi + and simplify verification that the whole asmspec contains just decimal + digits. + +2024-12-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117874 + * tree-vect-loop.cc (vect_analyze_loop_2): When non-SLP + analysis fails, try single-lane SLP. + +2024-12-02 David Malcolm <dmalcolm@redhat.com> + + * doc/libgdiagnostics/tutorial/01-hello-world.rst: Update linker + command for renaming. + +2024-12-02 Jeff Law <jlaw@ventanamicro.com> + + * configure.ac: Add sym-exec subdirectory. + +2024-12-02 Andreas Schwab <schwab@suse.de> + + * config/m68k/m68k.md (movdi+1, movdf+1, movxf+2): Split + constraints so that the operands cannot both be "o". + +2024-12-02 Jakub Jelinek <jakub@redhat.com> + + * config/mingw/mingw-stdint.h: Add newline at the end of the file. + * config/mingw/winnt-dll.cc: Likewise. + * sym-exec/sym-exec-expression.h: Likewise. + * sym-exec/sym-exec-expression.cc: Likewise. + * sym-exec/sym-exec-condition.cc: Likewise. + * sym-exec/sym-exec-expr-is-a-helper.h: Likewise. + * sym-exec/sym-exec-condition.h: Likewise. + * hwint.cc: Likewise. + * crc-verification.cc: Likewise. + * sarif-spec-urls.def: Likewise. + +2024-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/arm/arm_mve.h: Add Runtime Library Exception. + * config/arm/arm_mve_types.h: Likewise. + +2024-12-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116352 + PR tree-optimization/117876 + * tree-vect-slp.cc (vect_slp_can_convert_to_external): New. + (vect_slp_convert_to_external): Call it. + (vect_build_slp_tree_2): Likewise. + +2024-12-02 yulong <shiyulong@iscas.ac.cn> + + * config/riscv/generic-vector-ooo.md: New reservation. + * config/riscv/genrvv-type-indexer.cc (main): New type. + * config/riscv/riscv-vector-builtins-bases.cc (enum frm_op_type): Delete it. + * config/riscv/riscv-vector-builtins-bases.h (enum frm_op_type): Redefine in h file. + * config/riscv/riscv-vector-builtins-shapes.cc (struct sf_vfnrclip_def): New function. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE_INDEX): New builtins def. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE_INDEX): New base def. + (signed_eew8_index): Ditto. + * config/riscv/riscv-vector-builtins.h (enum required_ext): New extension. + (required_ext_to_isa_name): Ditto. + (required_extensions_specified): Ditto. + (struct function_group_info): Ditto. + * config/riscv/riscv.md: New attr. + * config/riscv/sifive-vector-builtins-bases.cc (class sf_vfnrclip_x_f_qf): New function. + (class sf_vfnrclip_xu_f_qf): Ditto. + (BASE): New base_name. + * config/riscv/sifive-vector-builtins-bases.h: New function_base. + * config/riscv/sifive-vector-builtins-functions.def + (REQUIRED_EXTENSIONS): New intrinsics def. + (sf_vfnrclip_x_f_qf): Ditto. + (sf_vfnrclip_xu_f_qf): Ditto. + * config/riscv/sifive-vector.md (@pred_sf_vfnrclip<v_su><mode>_x_f_qf): New RTL mode. + * config/riscv/vector-iterators.md: New iterator. + +2024-12-02 Andreas Schwab <schwab@suse.de> + + * config/riscv/riscv.cc (fli_value_hf, fli_value_sf) + (fli_value_df): Use integer constants. Constify. + (riscv_float_const_rtx_index_for_fli): Add const. + +2024-12-02 H.J. Lu <hjl.tools@gmail.com> + + * config/i386/i386-features.cc (pass_apx_nf_convert): Change + pass_rpad to pass_apx_nf_convert in comments. + +2024-12-01 Slava Barinov <v.barinov@samsung.com> + + * configure.ac: Only remove -O[0-9] if not preceded with comma + * configure: Regenerated + +2024-12-01 Jovan Vukic <Jovan.Vukic@rt-rk.com> + + * tree-ssa-phiopt.cc (rhs_is_fed_for_value_replacement): Add a new + optimization opportunity for BIT_IOR_EXPR and a != b. + (operand_equal_for_value_replacement): Ditto. + +2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com> + + * gimple-crc-optimization.cc (optimize_crc_loop): New function. + (execute): Add optimize_crc_loop function call. + +2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com> + + * Makefile.in (OBJS): Add crc-verification.o. + * crc-verification.cc: New file. + * crc-verification.h: New file. + * gimple-crc-optimization.cc (loop_calculates_crc): New function. + (is_output_crc): Likewise. + (swap_crc_and_data_if_needed): Likewise. + (validate_crc_and_data): Likewise. + (optimize_crc_loop): Likewise. + (get_output_phi): Likewise. + (execute): Add check whether potential CRC loop calculates CRC. + * sym-exec/sym-exec-state.cc (create_reversed_lfsr): New function. + (create_forward_lfsr): Likewise. + (last_set_bit): Likewise. + (create_lfsr): Likewise. + * sym-exec/sym-exec-state.h (is_bit_vector): Reorder, make the function public and static. + (create_reversed_lfsr) New static function declaration. + (create_forward_lfsr) New static function declaration. + +2024-12-01 Matevos Mehrabyan <matevosmehrabyan@gmail.com> + + * Makefile.in (OBJS): Add sym-exec/sym-exec-expression.o, + sym-exec/sym-exec-state.o, sym-exec/sym-exec-condition.o. + * configure (sym-exec): New subdir. + * sym-exec/sym-exec-condition.cc: New file. + * sym-exec/sym-exec-condition.h: New file. + * sym-exec/sym-exec-expr-is-a-helper.h: New file. + * sym-exec/sym-exec-expression.cc: New file. + * sym-exec/sym-exec-expression.h: New file. + * sym-exec/sym-exec-state.cc: New file. + * sym-exec/sym-exec-state.h: New file. + Co-authored-by: Mariam Arutunian <mariamarutunian@gmail.com> + +2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com> + + * Makefile.in (OBJS): Add gimple-crc-optimization.o. + * common.opt (foptimize-crc): New option. + * common.opt.urls: Regenerate to add foptimize-crc. + * doc/invoke.texi (-foptimize-crc): Add documentation. + * gimple-crc-optimization.cc: New file. + * opts.cc (default_options_table): Add OPT_foptimize_crc. + (enable_fdo_optimizations): Enable optimize_crc. + * passes.def (pass_crc_optimization): Add new pass. + * timevar.def (TV_GIMPLE_CRC_OPTIMIZATION): New timevar. + * tree-pass.h (make_pass_crc_optimization): New extern function + declaration. + +2024-12-01 Mark Harmstone <mark@harmstone.com> + + * configure.ac (HAVE_GAS_CV_UCOMP): New check. + * configure: Regenerate. + * config.in: Regenerate. + * dwarf2codeview.cc (enum binary_annotation_opcode): Define. + (struct codeview_function): Add htab_next and inline_loc; + (struct cv_func_hasher): Define. + (cv_func_htab): New global variable. + (new_codeview_function): Add new codeview_function to hash table. + (codeview_begin_block): Record location of inline block. + (codeview_end_block): Add dummy source line at end of inline block. + (find_line_function): New function. + (write_binary_annotations): New function. + (write_s_inlinesite): Call write_binary_annotations. + (codeview_debug_finish): Delete cv_func_htab. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117859 + * tree-ssa-sccvn.cc (insert_predicates_for_cond): If the + valueization for the new lhs for `lhs != 0` + is the same as the old ones, don't recurse. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-loop-im.cc (move_computations_worker): While moving + phi, reuse the lhs of the conditional if it is a boolean type. + +2024-12-01 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> + + PR rtl-optimization/112398 + PR rtl-optimization/117476 + * simplify-rtx.cc (simplify_context::simplify_unary_operation_1): + Simplify ZERO_EXTEND (SUBREG (NOT X)) to XOR (X, GET_MODE_MASK(SUBREG)) + when X doesn't have any non-zero bits outside of SUBREG mode. + +2024-11-30 Lewis Hyatt <lhyatt@gmail.com> + + * diagnostic-show-locus.cc + (test_one_liner_fixit_validation_adhoc_locations): Adapt so it can + effectively test 7-bit ranges instead of 5-bit ranges. + (test_one_liner_fixit_validation_adhoc_locations_utf8): Likewise. + * input.cc (get_end_location): Adjust types to support 64-bit + location_t. + (write_digit_row): Likewise. + (dump_location_range): Likewise. + (dump_location_info): Likewise. + (class line_table_case): Likewise. + (test_accessing_ordinary_linemaps): Replace some hard-coded + constants with the values defined in line-map.h. + (for_each_line_table_case): Likewise. + +2024-11-30 Lewis Hyatt <lhyatt@gmail.com> + + * toplev.cc (general_init): Replace hard-coded constant with + line_map_suggested_range_bits. + +2024-11-30 Lewis Hyatt <lhyatt@gmail.com> + + * config/aarch64/aarch64-c.cc (aarch64_resolve_overloaded_builtin): + Change "unsigned int" argument to "location_t". + * config/avr/avr-c.cc (avr_resolve_overloaded_builtin): Likewise. + * config/riscv/riscv-c.cc (riscv_resolve_overloaded_builtin): Likewise. + * target.def: Likewise. + * doc/tm.texi: Regenerate. + +2024-11-30 Joseph Myers <josmyers@redhat.com> + Richard Biener <rguenther@suse.de> + + PR c/100501 + PR c/100792 + * gimplify.cc (gimplify_asm_expr): Handle void expressions for + memory inputs like other non-lvalues. + +2024-11-30 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_sym_type): Add S_INLINESITE and + S_INLINESITE_END. + (get_func_id): Add declaration. + (write_s_inlinesite): New function. + (write_inlinesite_records): New function. + (write_function): Call write_inlinesite_records. + +2024-11-30 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (DEBUG_S_INLINEELINES): Define. + (CV_INLINEE_SOURCE_LINE_SIGNATURE): Define. + (struct codeview_inlinee_lines): Define. + (struct inlinee_lines_hasher): Define. + (func_htab, inlinee_lines_htab): New global variables. + (get_file_id): New function. + (codeview_source_line): Move file_id logic to get_file_id. + (write_inlinee_lines_entry): New function. + (write_inlinee_lines): New function. + (codeview_debug_finish): Call write_inlinee_lines, and free func_htab + and inlinee_lines_htab. + (get_func_id): New function. + (add_function): Move func_id logic to get_func_id. + (codeview_abstract_function): New function. + * dwarf2codeview.h (codeview_abstract_function): Add declaration. + * dwarf2out.cc (dwarf2out_abstract_function): Call + codeview_abstract_function if outputting CodeView debug info. + +2024-11-30 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (struct codeview_function): Add parent and + inline_block fields. + (cur_func): New global variable. + (new_codeview_function): New function. + (codeview_source_line): Call new_codeview_function, and use cur_func + instead of last_func. + (codeview_begin_block): New function. + (codeview_end_block): New function. + (write_line_numbers): No longer free data as we go along. + (codeview_switch_text_section): Call new_codeview_function, and use + cur_func instead of last_func. + (codeview_end_epilogue): Use cur_func instead of last_func. + (codeview_debug_finish): Free funcs list and its contents. + * dwarf2codeview.h (codeview_begin_block): Add declaration. + (codeview_end_block): Add declaration. + * dwarf2out.cc (dwarf2out_begin_block): Call codeview_begin_block if + outputting CodeView debug info. + (dwarf2out_end_block): Call codeview_end_block if outputting CodeView + debug info. + +2024-11-30 Mark Harmstone <mark@harmstone.com> + + * debug.cc (do_nothing_debug_hooks): Change begin_block + function pointer. + (debug_nothing_int_int_tree): New function. + * debug.h (struct gcc_debug_hooks): Add tree parameter to begin_block. + (debug_nothing_int_int_tree): Add declaration. + * dwarf2out.cc (dwarf2out_begin_block): Add tree parameter. + (dwarf2_lineno_debug_hooks): Use new dummy function for begin_block. + * final.cc (final_scan_insn_1): Pass insn block through to + debug_hooks->begin_block. + * vmsdbgout.cc (vmsdbgout_begin_block): Add tree parameter. + +2024-11-30 Georg-Johann Lay <avr@gjlay.de> + + PR target/84211 + * config/avr/avr-passes.cc (try_split_any) [SET, MOVW]: Prefer + reg=reg move over reg=const when splitting a reg=reg insn. + +2024-11-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117057 + * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes): Punt also + when byte_size is equal to offset or nchars. Punt if offset is bigger + than INT_MAX. Handle vector CONSTRUCTOR with some elements constant, + possibly followed by non-constant. + +2024-11-30 Jakub Jelinek <jakub@redhat.com> + + PR libgomp/117851 + * lto-wrapper.cc (find_crtoffloadtable): Add PIE_OR_SHARED argument, + search for crtoffloadtableS.o rather than crtoffloadtable.o if + true. + (run_gcc): Add pie_or_shared variable. If OPT_pie or OPT_shared or + OPT_static_pie is seen, set pie_or_shared to true, if OPT_no_pie is + seen, set pie_or_shared to false. Pass it to find_crtoffloadtable. + +2024-11-30 Jinyang He <hejinyang@loongson.cn> + + * config/loongarch/constraints.md (Uuv6, Uuvx): Remove Uuv6, + add Uuvx as replicated vector const with unsigned range [0,umax]. + * config/loongarch/lasx.md (xvsrl, xvsra, xvsll): Mask shift + offset by its unit bits. + * config/loongarch/lsx.md (vsrl, vsra, vsll): Likewise. + * config/loongarch/loongarch-protos.h + (loongarch_const_vector_same_int_p): Set default for low and high. + * config/loongarch/predicates.md: Replace reg_or_vector_same_uimm6 + _operand to reg_or_vector_same_uimm_operand. + +2024-11-30 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/117360 + * ext-dce.cc (ext_dce_process_sets): Use HOST_WIDE_INT_UC + macro instead of ULL suffixed constants. + (carry_backpropagate): Likewise. Use HOST_WIDE_INT_1U instead of + 1ULL. Use GET_MODE_BITSIZE (smode) instead of + GET_MODE_BITSIZE (mode) and with that avoid having to use + known_lt instead of < or use .to_constant (). Formatting fixes. + (case SIGN_EXTEND): Set mode to GET_MODE_INNER (GET_MODE (XEXP (x, 0))) + rather than GET_MODE (XEXP (x, 0)) and don't use GET_MODE_INNER (mode). + (ext_dce_process_uses): Use HOST_WIDE_INT_UC macro instead of ULL + suffixed constants. + +2024-11-30 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (-Wdeprecated-variadic-comma-omission): Document. + +2024-11-29 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in: Rename "libdiagnostics" to "libgdiagnostics". + * configure.ac: Likewise. + * configure: Regenerate. + * doc/install.texi: Rename "libdiagnostics" to + "libgdiagnostics". + * doc/libdiagnostics/*: Rename to doc/libgdiagnostics, renaming + "libdiagnostics" to "libgdiagnostics" throughout. + * libdiagnostics++.h: Rename to... + * libgdiagnostics++.h: ...this, renaming "libdiagnostics" to + "libgdiagnostics" throughout. + * libdiagnostics.cc: Rename to... + * libgdiagnostics.cc: ...this, renaming "libdiagnostics" to + "libgdiagnostics" throughout. + * libdiagnostics.h: Rename to... + * libgdiagnostics.h: ...this, renaming "libdiagnostics" to + "libgdiagnostics" throughout. + * libdiagnostics.map: Rename to... + * libgdiagnostics.map: ...this, renaming "libdiagnostics" to + "libgdiagnostics" throughout. + * libsarifreplay.cc: Update for renaming of "libdiagnostics" + to "libgdiagnostics". + * libsarifreplay.h: Likewise. + * sarif-replay.cc: Likewise. + * doc/libgdiagnostics/Makefile: New file. + * doc/libgdiagnostics/conf.py: New file. + * doc/libgdiagnostics/index.rst: New file. + * doc/libgdiagnostics/make.bat: New file. + * doc/libgdiagnostics/topics/diagnostic-manager.rst: New file. + * doc/libgdiagnostics/topics/diagnostics.rst: New file. + * doc/libgdiagnostics/topics/execution-paths.rst: New file. + * doc/libgdiagnostics/topics/fix-it-hints.rst: New file. + * doc/libgdiagnostics/topics/index.rst: New file. + * doc/libgdiagnostics/topics/logical-locations.rst: New file. + * doc/libgdiagnostics/topics/message-formatting.rst: New file. + * doc/libgdiagnostics/topics/metadata.rst: New file. + * doc/libgdiagnostics/topics/physical-locations.rst: New file. + * doc/libgdiagnostics/topics/retrofitting.rst: New file. + * doc/libgdiagnostics/topics/sarif.rst: New file. + * doc/libgdiagnostics/topics/text-output.rst: New file. + * doc/libgdiagnostics/topics/ux.rst: New file. + * doc/libgdiagnostics/tutorial/01-hello-world.rst: New file. + * doc/libgdiagnostics/tutorial/02-physical-locations.rst: New file. + * doc/libgdiagnostics/tutorial/03-logical-locations.rst: New file. + * doc/libgdiagnostics/tutorial/04-notes.rst: New file. + * doc/libgdiagnostics/tutorial/05-warnings.rst: New file. + * doc/libgdiagnostics/tutorial/06-fix-it-hints.rst: New file. + * doc/libgdiagnostics/tutorial/07-execution-paths.rst: New file. + * doc/libgdiagnostics/tutorial/example-1.png: New file. + * doc/libgdiagnostics/tutorial/index.rst: New file. + +2024-11-29 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-c.cc: Fix some coding rule nits and typos. + * config/avr/avr-passes.cc: Same + * config/avr/avr.h: Same. + * config/avr/avr.cc: Same. + (avr_function_arg_regno_p, avr_hard_regno_rename_ok) + (avr_epilogue_uses, extra_constraint_Q): Return bool instead of int. + * config/avr/avr-protos.h (avr_function_arg_regno_p) + (avr_hard_regno_rename_ok, avr_epilogue_uses) + (extra_constraint_Q): Return bool instead of int. + +2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-builtins.cc (aarch64_init_data_intrinsics): Call + aarch64_get_attributes and update calls to aarch64_general_add_builtin. + +2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-builtins.cc (aarch64_init_prefetch_builtin): + Updete call to aarch64_general_add_builtin in AARCH64_INIT_PREFETCH_BUILTIN. + Add new variable prefetch_attrs. + +2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-builtins.cc (VREINTERPRET_BUILTIN): Use + FLAG_NONE instead of FLAG_AUTO_FP. + (VGET_LOW_BUILTIN): Likewise. + (VGET_HIGH_BUILTIN): Likewise. + +2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/117665 + * config/aarch64/aarch64-builtins.cc (aarch64_init_simd_builtin_functions): + Pass nothrow and leaf as attributes to aarch64_general_add_builtin for + __builtin_aarch64_im_lane_boundsi. + +2024-11-29 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/117770 + * lra-lives.cc: Include ira-int.h. + (process_bb_lives): Check hard regs corresponding insn operands + for dying hard wired reg clobbers. + +2024-11-29 Georg-Johann Lay <avr@gjlay.de> + + PR target/117681 + * config/avr/avr.cc (TARGET_UNWIND_WORD_MODE): Define to... + (avr_unwind_word_mode): ...this new static function. + +2024-11-29 Georg-Johann Lay <avr@gjlay.de> + + PR target/117726 + * config/avr/avr-passes.cc (avr_shift_is_3op, avr_emit_shift): + Also handle 2-byte and 3-byte shifts. + (avr_split_shift4, avr_split_shift3, avr_split_shift2): New + local helper functions. + (avr_split_shift): Use them. + * config/avr/avr-passes.def (avr_pass_split_after_peephole2): + Adjust comments. + * config/avr/avr.cc (avr_out_ashlpsi3, avr_out_ashrpsi3) + (avr_out_lshrpsi3): Support offset 15. + (ashrhi3_out): Support offset 7 as 3-op. + (ashrsi3_out): Support offset 15. + (avr_rtx_costs_1): Adjust shift costs. + * config/avr/avr.md (2op): Remove attribute value and all such insn + alternatives. + (ashlhi3, *ashlhi3, *ashlhi3_const): Add 3-op alternatives like C2l. + (ashrhi3, *ashrhi3, *ashrhi3_const): Add 3-op alternatives like C2a. + (lshrhi3, *lshrhi3, *lshrhi3_const): Add 3-op alternatives like C2r. + (*ashlpsi3_split, *ashlpsi3): Add 3-op alternatives C15 and C3l. + (*ashrpsi3_split, *ashrpsi3): Add 3-op alternatives C15 and C3r. + (*lshrpsi3_split, *lshrpsi3): Add 3-op alternatives C15 and C3r. + (ashlsi3, *ashlsi3, *ashlsi3_const): Remove "2op" alternative. + (ashrsi3, *ashrsi3, *ashrsi3_const): Same. + (lshrsi3, *lshrsi3, *lshrsi3_const): Same. + (constr_split_suffix): Code attr morphed from constr_split_shift4. + * config/avr/constraints.md (C2a, C2r, C2l) + (C3a, C3r, C3l): New constraints. + * doc/invoke.texi (AVR Options) <-msplit-bit-shift>: Adjust doc. + +2024-11-29 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/117814 + * config/arm/arm.cc (arm_attempt_dlstp_transform): Use + reg_overlap_mentioned_p instead of rtx_equal_p to detect uses of + vctp_vpr_generated inside subregs. + +2024-11-29 Mariam Arutunian <mariamarutunian@gmail.com> + + * expr.cc (gf2n_poly_long_div_quotient): New function. + * expr.h (gf2n_poly_long_div_quotient): New function declaration. + * hwint.cc (reflect_hwi): New function. + * hwint.h (reflect_hwi): New function declaration. + * config/riscv/bitmanip.md (crc_rev<ANYI1:mode><ANYI:mode>4): New + expander for reversed CRC. + (crc<SUBX1:mode><SUBX:mode>4): New expander for bit-forward CRC. + * config/riscv/iterators.md (SUBX1, ANYI1): New iterators. + * config/riscv/riscv-protos.h (generate_reflecting_code_using_brev): + New function declaration. + (expand_crc_using_clmul): Likewise. + (expand_reversed_crc_using_clmul): Likewise. + * config/riscv/riscv.cc (generate_reflecting_code_using_brev): New + function. + (expand_crc_using_clmul): Likewise. + (expand_reversed_crc_using_clmul): Likewise. + * config/riscv/riscv.md (UNSPEC_CRC, UNSPEC_CRC_REV): New unspecs. + * doc/sourcebuild.texi: Document new target selectors. + +2024-11-29 yulong <shiyulong@iscas.ac.cn> + + * config.gcc: Add new SiFive *.o files. + * config/riscv/generic-vector-ooo.md: New reservation. + * config/riscv/genrvv-type-indexer.cc (main): New type. + * config/riscv/riscv-vector-builtins-shapes.cc (struct sf_vqmacc_def): New function. + (SHAPE): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_QMACC_OPS): New macros type. + (vint32m1_t): Ditto. + (vint32m2_t): Ditto. + (vint32m4_t): Ditto. + (vint32m8_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_QMACC_OPS): New builtins def. + (DEF_RVV_TYPE_INDEX): Ditto. + (DEF_RVV_FUNCTION): Ditto. + * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE_INDEX): New types def. + (4x8x4): New op type. + (2x8x2): Ditto. + (quad_emul_vector): New base type. + (quad_emul_signed_vector): Ditto. + (quad_emul_unsigned_vector): Ditto. + (quad_fixed_vector): Ditto. + (quad_fixed_signed_vector): Ditto. + (quad_fixed_unsigned_vector): Ditto. + (quad_lmul1_vector): Ditto. + (quad_lmul1_signed_vector): Ditto. + (quad_lmul1_unsigned_vector): Ditto. + * config/riscv/riscv-vector-builtins.h (enum required_ext): New extensions. + (required_ext_to_isa_name): Ditto. + (required_extensions_specified): Ditto. + (struct function_group_info): Ditto. + * config/riscv/riscv.md: New attr. + * config/riscv/t-riscv: Add include for SiFive files. + * config/riscv/vector-iterators.md: New iterator. + * config/riscv/vector.md: New include for SiFive file. + * config/riscv/sifive-vector-builtins-bases.cc: New file. + * config/riscv/sifive-vector-builtins-bases.h: New file. + * config/riscv/sifive-vector-builtins-functions.def: New file. + * config/riscv/sifive-vector.md: New file. + +2024-11-29 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-errata.h (TARGET_SUPPRESS_OPT_SPEC, + TARGET_TURN_OFF_OPT_SPEC, CA53_ERR_835769_COMPILE_SPEC, + CA53_ERR_843419_COMPILE_SPEC): New. + (CA53_ERR_835769_SPEC, CA53_ERR_843419_SPEC): Use them. + * config/aarch64/aarch64-elf-raw.h (CC1_SPEC, CC1PLUS_SPEC): Add + AARCH64_ERRATA_COMPILE_SPEC. + * config/aarch64/aarch64-freebsd.h (CC1_SPEC, CC1PLUS_SPEC): Likewise. + * config/aarch64/aarch64-gnu.h (CC1_SPEC, CC1PLUS_SPEC): Likewise. + * config/aarch64/aarch64-linux.h (CC1_SPEC, CC1PLUS_SPEC): Likewise. + * config/aarch64/aarch64-netbsd.h (CC1_SPEC, CC1PLUS_SPEC): Likewise. + * common/config/aarch64/aarch64-common.cc + (is_host_cpu_not_armv8_base): New. + * config/aarch64/driver-aarch64.cc: Remove extra newline + * config/aarch64/aarch64.h (is_host_cpu_not_armv8_base): New. + (MCPU_TO_MARCH_SPEC_FUNCTIONS): Add is_local_not_armv8_base. + (EXTRA_SPEC_FUNCTIONS): Add is_local_cpu_armv8_base. + * doc/invoke.texi: Document it. + +2024-11-29 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sme.md: In the section comments, add the + architecture requirements alongside some mnemonics. + * config/aarch64/aarch64-sve2.md: Likewise. + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64-option-extensions.def + (fp8dot4, ssve-fp8dot4): Add new extensions. + (fp8dot2, ssve-fp8dot2): Likewise. + * config/aarch64/aarch64-sve-builtins-base.cc (svdot_impl): Support fp8. + (svdotprod_lane_impl): Likewise. + (svdot_lane): Provide an unspec for fp8 types. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (ternary_mfloat8_def): Add new class. + (ternary_mfloat8): Add new shape. + (ternary_mfloat8_lane_group_selection_def): Add new class. + (ternary_mfloat8_lane_group_selection): Add new shape. + * config/aarch64/aarch64-sve-builtins-shapes.h + (ternary_mfloat8, ternary_mfloat8_lane_group_selection): Declare. + * config/aarch64/aarch64-sve-builtins-sve2.def + (svdot, svdot_lane): Add new DEF_SVE_FUNCTION_GS_FPM, twice to deal + with the combination of features providing support for 32 and 16 bit + floating point. + * config/aarch64/aarch64-sve2.md (@aarch64_sve_dot<mode>): Add new. + (@aarch64_sve_dot_lane<mode>): Likewise. + * config/aarch64/aarch64.h: + (TARGET_FP8DOT4, TARGET_SSVE_FP8DOT4): Add new defines. + (TARGET_FP8DOT2, TARGET_SSVE_FP8DOT2): Likewise. + * config/aarch64/iterators.md + (UNSPEC_DOT_FP8, UNSPEC_DOT_LANE_FP8): Add new unspecs. + * doc/invoke.texi: Document fp8dot4, fp8dot2, ssve-fp8dot4, ssve-fp8dot2 + extensions. + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64-option-extensions.def + (fp8fma, ssve-fp8fma): Add new options. + * config/aarch64/aarch64-sve-builtins-functions.h + (unspec_based_function_base): Add unspec_for_mfp8. + (unspec_for): Return unspec_for_mfp8 on fpm-using cases. + (sme_1mode_function): Fix call to parent ctor. + (sme_2mode_function_t): Likewise. + (unspec_based_mla_function, unspec_based_mla_lane_function): Handle + fpm-using cases. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (parse_element_type): Treat M as TYPE_SUFFIX_mf8 + (ternary_mfloat8_lane_def): Add new class. + (ternary_mfloat8_opt_n_def): Likewise. + (ternary_mfloat8_lane): Add new shape. + (ternary_mfloat8_opt_n): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.h + (ternary_mfloat8_lane, ternary_mfloat8_opt_n): Declare. + * config/aarch64/aarch64-sve-builtins-sve2.cc + (svmlalb_lane, svmlalb, svmlalt_lane, svmlalt): Update definitions + with mfloat8_t unspec in ctor. + (svmlallbb_lane, svmlallbb, svmlallbt_lane, svmlallbt, svmlalltb_lane, + svmlalltb, svmlalltt_lane, svmlalltt, svmlal_impl): Add new FUNCTIONs. + (svqrshr, svqrshrn, svqrshru, svqrshrun): Update definitions with + nop mfloat8 unspec in ctor. + * config/aarch64/aarch64-sve-builtins-sve2.def + (svmlalb, svmlalt, svmlalb_lane, svmlalt_lane, svmlallbb, svmlallbt, + svmlalltb, svmlalltt, svmlalltt_lane, svmlallbb_lane, svmlallbt_lane, + svmlalltb_lane): Add new DEF_SVE_FUNCTION_GS_FPMs. + * config/aarch64/aarch64-sve-builtins-sve2.h + (svmlallbb_lane, svmlallbb, svmlallbt_lane, svmlallbt, svmlalltb_lane, + svmlalltb, svmlalltt_lane, svmlalltt): Declare. + * config/aarch64/aarch64-sve-builtins.cc + (TYPES_h_float_mf8, TYPES_s_float_mf8): Add new types. + (h_float_mf8, s_float_mf8): Add new SVE_TYPES_ARRAY. + * config/aarch64/aarch64-sve2.md + (@aarch64_sve_add_<sve2_fp8_fma_op_vnx8hf><mode>): Add new. + (@aarch64_sve_add_<sve2_fp8_fma_op_vnx4sf><mode>): Add new. + (@aarch64_sve_add_lane_<sve2_fp8_fma_op_vnx8hf><mode>): Likewise. + (@aarch64_sve_add_lane_<sve2_fp8_fma_op_vnx4sf><mode>): Likewise. + * config/aarch64/aarch64.h + (TARGET_FP8FMA, TARGET_SSVE_FP8FMA): Likewise. + * config/aarch64/iterators.md + (VNx8HF_ONLY): Add new. + (UNSPEC_FMLALB_FP8, UNSPEC_FMLALLBB_FP8, UNSPEC_FMLALLBT_FP8, + UNSPEC_FMLALLTB_FP8, UNSPEC_FMLALLTT_FP8, UNSPEC_FMLALT_FP8): Likewise. + (SVE2_FP8_TERNARY_VNX8HF, SVE2_FP8_TERNARY_VNX4SF): Likewise. + (SVE2_FP8_TERNARY_LANE_VNX8HF, SVE2_FP8_TERNARY_LANE_VNX4SF): Likewise. + (sve2_fp8_fma_op_vnx8hf, sve2_fp8_fma_op_vnx4sf): Likewise. + * doc/invoke.texi: Document fp8fma and sve-fp8fma extensions. + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64-sve-builtins-shapes.cc + (parse_signature): Add an fpm_t (uint64_t) argument to functions that + set the fpm register. + (unary_convertxn_narrowt_def): New class. + (unary_convertxn_narrowt): New shape. + (unary_convertxn_narrow_def): New class. + (unary_convertxn_narrow): New shape. + * config/aarch64/aarch64-sve-builtins-shapes.h + (unary_convertxn_narrowt): Declare. + (unary_convertxn_narrow): Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.cc + (svcvt_fp8_impl): New class. + (svcvtn_impl): Handle fp8 cases. + (svcvt1, svcvt2, svcvtlt1, svcvtlt2): Add new FUNCTION. + (svcvtnb): Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.def + (svcvt1, svcvt2, svcvtlt1, svcvtlt2): Add new DEF_SVE_FUNCTION_GS_FPM. + (svcvtn): Likewise. + (svcvtnb, svcvtnt): Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.h + (svcvt1, svcvt2, svcvtlt1, svcvtlt2, svcvtnb, svcvtnt): Declare. + * config/aarch64/aarch64-sve-builtins.cc + (TYPES_cvt_mf8, TYPES_cvtn_mf8, TYPES_cvtnx_mf8): Add new types arrays. + (function_builder::get_name): Append _fpm to functions that set fpmr. + (function_resolver::check_gp_argument): Deal with the fpm_t argument. + (function_expander::expand): Set the fpm register before + calling the insn if the function warrants it. + * config/aarch64/aarch64-sve2.md (@aarch64_sve2_fp8_cvt): Add new. + (@aarch64_sve2_fp8_cvtn): Likewise. + (@aarch64_sve2_fp8_cvtnb): Likewise. + (@aarch64_sve_cvtnt): Likewise. + * config/aarch64/aarch64.h (TARGET_SSVE_FP8): Add new. + * config/aarch64/iterators.md + (VNx8SF_ONLY, SVE_FULL_HFx2): New mode iterators. + (UNSPEC_F1CVT, UNSPEC_F1CVTLT, UNSPEC_F2CVT, UNSPEC_F2CVTLT): Add new. + (UNSPEC_FCVTNB, UNSPEC_FCVTNT): Likewise. + (UNSPEC_FP8FCVTN): Likewise. + (FP8CVT_UNS, fp8_cvt_uns_op): Likewise. + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64-sve-builtins-base.cc + (svdiv_impl): Specify FPM_unused when folding. + (svmul_impl): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (build_one): Use the group fpm_mode when creating function instances. + * config/aarch64/aarch64-sve-builtins-sve2.cc + (svaba_impl, svqrshl_impl, svqshl_impl,svrshl_impl, svsra_impl): + Specify FPM_unused when folding. + * config/aarch64/aarch64-sve-builtins.cc (function_groups): Set + fpm_mode on all elements. + (neon_sve_function_groups, sme_function_groups): Likewise. + (function_instance::hash): Include fpm_mode in hash. + (function_builder::add_overloaded_functions): Use the group fpm mode. + (function_resolver::lookup_form): Use the function instance fpm_mode + when looking up a function. + * config/aarch64/aarch64-sve-builtins.def + (DEF_SVE_FUNCTION_GS_FPM): add define. + (DEF_SVE_FUNCTION_GS): redefine against DEF_SVE_FUNCTION_GS_FPM. + * config/aarch64/aarch64-sve-builtins.h (fpm_mode_index): New. + (function_group_info): Add fpm_mode. + (function_instance): Likewise. + (function_instance::operator==): Handle fpm_mode. + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64-sve-builtins.cc (TYPES_b_data): Add mf8. + (TYPES_reinterpret1, TYPES_reinterpret): Likewise. + * config/aarch64/aarch64-sve-builtins.def (svmfloat8_t): New type. + (mf8): New type suffix. + * config/aarch64/aarch64-sve-builtins.h (TYPE_mfloat): New + type_class_index. + +2024-11-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115438 + * tree-vect-loop.cc (vect_transform_cycle_phi): For SLP also + try to do the reduction adjustment by the initial value + in the epilogue. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * tree.cc (build_vector_from_ctor): Add support to construct VLA vector + constants from init constructors. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * gimple-fold.cc (maybe_canonicalize_mem_ref_addr): Handle variable + sized vector types in BIT_FIELD_REF canonicalization. + * tree-cfg.cc (verify_types_in_gimple_reference): Change object-size- + checking for BIT_FIELD_REF to error offsets that are known_gt to be + outside object-size. Out-of-range offsets can happen in the case of + indices that reference VLA SVE vector elements that may be outside the + minimum vector size range and therefore maybe_gt is not appropirate + here. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Flip + TYPE_INDIVISBLE flag for SVE ACLE vector types. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define + __ARM_FEATURE_SVE_VECTOR_OPERATORS. + +2024-11-29 Yury Khrustalev <yury.khrustalev@arm.com> + + * config/aarch64/arm_acle.h (_CHKFEAT_GCS): New. + +2024-11-29 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117065 + * gimple-fold.cc (type_has_padding_at_level_p) <case UNION_TYPE>: + Also continue if f has error_mark_node type. + +2024-11-29 Jakub Jelinek <jakub@redhat.com> + + PR target/117608 + * doc/extend.texi (__builtin_prefetch): Document that second + argument may be also 2 and its meaning. + * config/i386/i386.md (prefetch): Remove unreachable code. + Clear write set operands[1] to const0_rtx if !TARGET_MOVRS or + of locality is not 1. Formatting fixes. + * config/i386/i386-expand.cc (ix86_expand_builtin): Use IN_RANGE. + Call gen_prefetch even for TARGET_MOVRS. + * config/alpha/alpha.md (prefetch): Treat read_or_write 2 like 0. + * config/mips/mips.md (prefetch): Likewise. + * config/arc/arc.md (prefetch_1, prefetch_2, prefetch_3): Likewise. + * config/riscv/riscv.md (prefetch): Likewise. + * config/loongarch/loongarch.md (prefetch): Likewise. + * config/sparc/sparc.md (prefetch): Likewise. Use IN_RANGE. + * config/ia64/ia64.md (prefetch): Likewise. + * config/pa/pa.md (prefetch): Likewise. + * config/aarch64/aarch64.md (prefetch): Likewise. + * config/rs6000/rs6000.md (prefetch): Likewise. + +2024-11-29 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/117723 + * tree-ssa-ifcombine.cc (tree_ssa_ifcombine_bb): Record + forwarder blocks in path to exit, and stick to them. Avoid + computing the exit if obviously not needed, and if that + enables additional optimizations. + (tree_ssa_ifcombine_bb_1): Fix typos. + +2024-11-28 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*<any_shift:insn><mode>3_mask): Macroize + pattern from *ashl<mode>3_mask and *<any_shiftrt:insn><mode>3_mask + using any_shift code iterator. + (*<any_shift:insn><mode>3_mask_1): Macroize pattern + from *ashl<mode>3_mask_1 and *<any_shiftrt:insn><mode>3_mask_1 + using any_shift code iterator. + (*<any_shift:insn><mode>3_add): Macroize pattern + from *ashl<mode>3_add and *<any_shiftrt:insn><mode>3_add + using any_shift code iterator. + (*<any_shift:insn><mode>3_add_1): Macroize pattern + from *ashl<mode>3_add_1 and *<any_shiftrt:insn><mode>3_add_1 + using any_shift code iterator. + (*<insn><mode>3_sub): Macroize pattern + from *ashl<mode>3_sub and *<any_shiftrt:insn><mode>3_sub + using any_shift code iterator. + (*<any_shift:insn><mode>3_sub_1): Macroize pattern + from *ashl<mode>3_sub_1 and *<any_shiftrt:insn><mode>3_sub_1 + using any_shift code iterator. + +2024-11-28 Mariam Arutunian <mariamarutunian@gmail.com> + + * builtin-types.def (BT_FN_UINT8_UINT8_UINT8_CONST_SIZE): Define. + (BT_FN_UINT16_UINT16_UINT8_CONST_SIZE): Likewise. + (BT_FN_UINT16_UINT16_UINT16_CONST_SIZE): Likewise. + (BT_FN_UINT32_UINT32_UINT8_CONST_SIZE): Likewise. + (BT_FN_UINT32_UINT32_UINT16_CONST_SIZE): Likewise. + (BT_FN_UINT32_UINT32_UINT32_CONST_SIZE): Likewise. + (BT_FN_UINT64_UINT64_UINT8_CONST_SIZE): Likewise. + (BT_FN_UINT64_UINT64_UINT16_CONST_SIZE): Likewise. + (BT_FN_UINT64_UINT64_UINT32_CONST_SIZE): Likewise. + (BT_FN_UINT64_UINT64_UINT64_CONST_SIZE): Likewise. + * builtins.cc (associated_internal_fn): Handle CRC related builtins. + (expand_builtin_crc_table_based): New function. + (expand_builtin): Handle CRC related builtins. + * builtins.def (BUILT_IN_CRC8_DATA8): New builtin. + (BUILT_IN_CRC16_DATA8): Likewise. + (BUILT_IN_CRC16_DATA16): Likewise. + (BUILT_IN_CRC32_DATA8): Likewise. + (BUILT_IN_CRC32_DATA16): Likewise. + (BUILT_IN_CRC32_DATA32): Likewise. + (BUILT_IN_CRC64_DATA8): Likewise. + (BUILT_IN_CRC64_DATA16): Likewise. + (BUILT_IN_CRC64_DATA32): Likewise. + (BUILT_IN_CRC64_DATA64): Likewise. + (BUILT_IN_REV_CRC8_DATA8): New builtin. + (BUILT_IN_REV_CRC16_DATA8): Likewise. + (BUILT_IN_REV_CRC16_DATA16): Likewise. + (BUILT_IN_REV_CRC32_DATA8): Likewise. + (BUILT_IN_REV_CRC32_DATA16): Likewise. + (BUILT_IN_REV_CRC32_DATA32): Likewise. + (BUILT_IN_REV_CRC64_DATA8): Likewise. + (BUILT_IN_REV_CRC64_DATA16): Likewise. + (BUILT_IN_REV_CRC64_DATA32): Likewise. + (BUILT_IN_REV_CRC64_DATA64): Likewise. + * builtins.h (expand_builtin_crc_table_based): New function + declaration. + * doc/extend.texi: Add documentation for new CRC builtins. + +2024-11-28 Mariam Arutunian <mariamarutunian@gmail.com> + + * doc/md.texi (crc@var{m}@var{n}4, crc_rev@var{m}@var{n}4): Document. + * expr.cc (calculate_crc): New function. + (assemble_crc_table): Likewise. + (generate_crc_table): Likewise. + (calculate_table_based_CRC): Likewise. + (expand_crc_table_based): Likewise. + (gen_common_operation_to_reflect): Likewise. + (reflect_64_bit_value): Likewise. + (reflect_32_bit_value): Likewise. + (reflect_16_bit_value): Likewise. + (reflect_8_bit_value): Likewise. + (generate_reflecting_code_standard): Likewise. + (expand_reversed_crc_table_based): Likewise. + * expr.h (generate_reflecting_code_standard): New function declaration. + (expand_crc_table_based): Likewise. + (expand_reversed_crc_table_based): Likewise. + * internal-fn.cc: (crc_direct): Define. + (direct_crc_optab_supported_p): Likewise. + (expand_crc_optab_fn): New function + * internal-fn.def (CRC, CRC_REV): New internal functions. + * optabs.def (crc_optab, crc_rev_optab): New optabs. + Signed-off-by: Mariam Arutunian <mariamarutunian@gmail.com> + Co-authored-by: Joern Rennecke <joern.rennecke@embecosm.com> + Co-authored-by: Jeff Law <jlaw@ventanamicro.com> + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR target/117642 + * doc/extend.texi: Remove documentation of warning for unimplemented + __sync_* operations, such warning has never been implemented. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c/117023 + * gimple-range-infer.cc (gimple_infer_range::gimple_infer_range): + Handle also nonnull_if_nonzero attributes. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c/117023 + * gimple.h (infer_nonnull_range_by_attribute): Add a tree * + argument defaulted to NULL. + * gimple.cc (infer_nonnull_range_by_attribute): Add op2 argument. + Handle also nonnull_if_nonzero attributes. + * tree.cc (get_nonnull_args): Fix comment typo. + * builtins.cc (validate_arglist): Handle nonnull_if_nonzero attribute. + * tree-ssa-ccp.cc (pass_post_ipa_warn::execute): Handle + nonnull_if_nonzero attributes. + * ubsan.cc (instrument_nonnull_arg): Adjust + infer_nonnull_range_by_attribute caller. If it returned true and + filed in non-NULL arg2, check that arg2 is non-zero as another + condition next to checking that arg is zero. + * doc/extend.texi (nonnull_if_nonzero): Document new attribute. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + * config/rs6000/rs6000.h (struct machine_function): Add + asm_redzone_clobber_seen member. + * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Force + info->push_p if cfun->machine->asm_redzone_clobber_seen. + * config/rs6000/rs6000.cc (TARGET_REDZONE_CLOBBER): Redefine. + (rs6000_redzone_clobber): New function. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + * target.def (redzone_clobber): New target hook. + * varasm.cc (decode_reg_name_and_count): Return -5 for + "redzone". + * cfgexpand.cc (expand_asm_stmt): Handle redzone clobber. + * config/i386/i386.h (struct machine_function): Add + asm_redzone_clobber_seen member. + * config/i386/i386.cc (ix86_compute_frame_layout): Don't + use red zone if cfun->machine->asm_redzone_clobber_seen. + (ix86_redzone_clobber): New function. + (TARGET_REDZONE_CLOBBER): Redefine. + * doc/extend.texi (Clobbers and Scratch Registers): Document + the "redzone" clobber. + * doc/tm.texi.in: Add @hook TARGET_REDZONE_CLOBBER. + * doc/tm.texi: Regenerate. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c++/116416 + * flag-types.h (enum zero_init_padding_bits_kind): New type. + * tree.h (CONSTRUCTOR_ZERO_PADDING_BITS): Define. + * common.opt (fzero-init-padding-bits=): New option. + * expr.cc (categorize_ctor_elements_1): Handle + CONSTRUCTOR_ZERO_PADDING_BITS or + flag_zero_init_padding_bits == ZERO_INIT_PADDING_BITS_ALL. Fix + up *p_complete = -1; setting for unions. + (complete_ctor_at_level_p): Handle unions differently for + flag_zero_init_padding_bits == ZERO_INIT_PADDING_BITS_STANDARD. + * gimple-fold.cc (type_has_padding_at_level_p): Fix up UNION_TYPE + handling, return also true for UNION_TYPE with no FIELD_DECLs + and non-zero size, handle QUAL_UNION_TYPE like UNION_TYPE. + * doc/invoke.texi (-fzero-init-padding-bits=@var{value}): Document. + +2024-11-28 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/117557 + * tree-vect-stmts.cc (vectorizable_store): Flatten the ncopies and + vec_num loops. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117358 + * gimple-fold.cc (gimple_fold_builtin_memory_op): Punt if stmt has no + vdef in ssa form. + (gimple_fold_builtin_bcmp): Punt if stmt has no vuse in ssa form. + (gimple_fold_builtin_bcopy): Punt if stmt has no vdef in ssa form. + (gimple_fold_builtin_bzero): Likewise. + (gimple_fold_builtin_memset): Likewise. Use return false instead of + return NULL_TREE. + (gimple_fold_builtin_strcpy): Punt if stmt has no vdef in ssa form. + (gimple_fold_builtin_strncpy): Likewise. + (gimple_fold_builtin_strchr): Punt if stmt has no vuse in ssa form. + (gimple_fold_builtin_strstr): Likewise. + (gimple_fold_builtin_strcat): Punt if stmt has no vdef in ssa form. + (gimple_fold_builtin_strcat_chk): Likewise. + (gimple_fold_builtin_strncat): Likewise. + (gimple_fold_builtin_strncat_chk): Likewise. + (gimple_fold_builtin_string_compare): Likewise. + (gimple_fold_builtin_fputs): Likewise. + (gimple_fold_builtin_memory_chk): Likewise. + (gimple_fold_builtin_stxcpy_chk): Likewise. + (gimple_fold_builtin_stxncpy_chk): Likewise. + (gimple_fold_builtin_stpcpy): Likewise. + (gimple_fold_builtin_snprintf_chk): Likewise. + (gimple_fold_builtin_sprintf_chk): Likewise. + (gimple_fold_builtin_sprintf): Likewise. + (gimple_fold_builtin_snprintf): Likewise. + (gimple_fold_builtin_fprintf): Likewise. + (gimple_fold_builtin_printf): Likewise. + (gimple_fold_builtin_realloc): Likewise. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c/117802 + * builtins.cc (fold_builtin_iseqsig): Handle BITINT_TYPE like + INTEGER_TYPE. + +2024-11-28 David Malcolm <dmalcolm@redhat.com> + + * timevar.cc: Include "make-unique.h". + (timer::named_items::make_json): Convert return type to unique_ptr. + Avoid naked "new". + (make_json_for_timevar_time_def): Likewise. + (timer::timevar_def::make_json): Likewise. + (timer::make_json): Likewise. + * timevar.h (timer::make_json): Likewise. + (timer::timevar_def::make_json): Likewise. + * tree-diagnostic-client-data-hooks.cc: Update for above changes. + +2024-11-28 David Malcolm <dmalcolm@redhat.com> + + PR c/104896 + * common/config/ia64/ia64-common.cc (ia64_handle_option): Replace + "%<%s%>" with "%qs" in message wording. + * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): + Likewise. + * config/aarch64/aarch64.cc (aarch64_validate_sls_mitigation): + Likewise. + (aarch64_override_options): Likewise. + (aarch64_process_target_attr): Likewise. + * config/arm/aarch-common.cc (aarch_validate_mbranch_protection): + Likewise. + * config/pru/pru.cc (pru_insert_attributes): Likewise. + * config/riscv/riscv-target-attr.cc + (riscv_target_attr_parser::parse_arch): Likewise. + * omp-general.cc (oacc_verify_routine_clauses): Likewise. + * tree-ssa-uninit.cc (maybe_warn_read_write_only): Likewise. + (maybe_warn_pass_by_reference): Likewise. + +2024-11-27 Uros Bizjak <ubizjak@gmail.com> + + PR target/36503 + * config/i386/i386.md (*ashl<mode>3_add): + New define_insn_and_split pattern. + (*ashl<mode>3_add_1): Ditto. + (*<insn><mode>3_add): Ditto. + (*<insn><mode>3_add_1): Ditto. + (*ashl<mode>3_sub): Rename from *ashl<mode>3_negcnt. + (*ashl<mode>3_sub_1): Rename from *ashl<mode>3_negcnt_1. + (*<insn><mode>3_sub): Rename from *<insn><mode>3_negcnt. + (*<insn><mode>3_sub_1): Rename from *<insn><mode>3_negcnt_1. + +2024-11-27 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117776 + * match.pd (nested int casts): Allow for the case + where the final prec is greater than the original + prec. + +2024-11-27 Pan Li <pan2.li@intel.com> + + * match.pd: Refactor sorts of unsigned SAT_ADD match pattern for + IFN ADD_OVERFLOW. + +2024-11-27 Jakub Jelinek <jakub@redhat.com> + + PR target/117642 + * builtins.cc (expand_builtin_sync_lock_release): Change return type + from void to rtx, return result of expand_atomic_store. + (expand_builtin) <case BUILT_IN_SYNC_LOCK_RELEASE_16>: If + expand_builtin_sync_lock_release returns NULL, do a break rather + than return const0_rtx. + +2024-11-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117692 + * tree.cc (get_range_pos_neg): Adjust function comment, use + non-negative instead of positive. + * match.pd + (((X /[ex] C1) +- C2) * (C1 * C3) -> (X * C3) +- (C1 * C2 * C3)): + Use casts to utype if type is signed, factor isn't 1 and + C1 and C2 could have different sign for + or could have the + same sign for -. + +2024-11-27 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Avoid fallback + conjunction of noncontiguous conditions. + +2024-11-27 Florian Weimer <fweimer@redhat.com> + + * doc/invoke.texi: Document -Wfree-labels. + +2024-11-27 Jason Merrill <jason@redhat.com> + Andrew Pinski <quic_apinski@quicinc.com> + Andi Kleen <ak@gcc.gnu.org> + + PR bootstrap/117350 + * tree.cc (need_assembler_name_p): Keep assembler name + for abstract declarations when autofdo is used. + +2024-11-26 David Malcolm <dmalcolm@redhat.com> + + * selftest.cc (selftest::print_diff): New function. + (selftest::assert_streq): Call it when we have non-equal + non-null strings. + +2024-11-26 David Malcolm <dmalcolm@redhat.com> + + PR translation/90160 + * config/csky/csky.cc (csky_configure_build_target): Use %qs when + referring to cpu and arch names. + (csky_option_override): Likewise. + +2024-11-26 David Malcolm <dmalcolm@redhat.com> + + PR translation/80760 + * tree-ssa-loop-prefetch.cc (pass_loop_prefetch::execute): Add + missing colon to not-a-power-of-two param warning. + +2024-11-26 David Malcolm <dmalcolm@redhat.com> + + PR plugins/93746 + * plugin.cc (try_init_one_plugin): Add missing colon in error + message. + +2024-11-26 Alex Coplan <alex.coplan@arm.com> + + * gdbhooks.py (strip_ref): New. Use it ... + (VecPrinter.to_string): ... here, + (VecPrinter.children): ... and here. + +2024-11-26 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-avlprop.cc (pass_avlprop::get_vlmax_ta_preferred_avl): + Check whether the use insn is valid for propagation. + +2024-11-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/102674 + * builtins.cc (fold_builtin_fpclassify): Use real_from_string3 rather + than real_from_string. Use "1E%d" format string rather than "0x1p%d" + for decimal float minimum. Formatting fixes. + +2024-11-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/43374 + * real.cc (get_max_float): Handle decimal float. + * builtins.cc (fold_builtin_interclass_mathfn): Use + real_from_string3 rather than real_from_string. Use + "1E%d" format string rather than "0x1p%d" for decimal + float minimum. + +2024-11-26 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-affine.cc (wide_int_constant_multiple_p): Remove unused rem variable. + +2024-11-26 Cui, Lili <lili.cui@intel.com> + + PR target/116675 + * config/i386/i386-expand.cc (expand_vec_perm_pand_pandn_por): + New subroutine. + (ix86_expand_vec_perm_const_1): Call expand_vec_perm_pand_pandn_por. + +2024-11-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/117771 + * system.h: Move the include of sstream above safe-ctype.h. + +2024-11-25 H.J. Lu <hjl.tools@gmail.com> + + PR middle-end/117098 + * calls.cc (store_one_arg): Check partial != 0 for BLKmode argument + passed on stack. + +2024-11-25 John David Anglin <danglin@gcc.gnu.org> + + PR target/117645 + * config/pa/pa.md (addti3): Revise pattern to support + arith11_operands. Use "R" operand prefix to print least + significant register of TImode register pair. + (addvti3, subti3, subvti3): Likewise. + (negti2, negvti2): Use "R" operand prefix. + +2024-11-25 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/117105 + * lra-constraints.cc (get_reload_reg): Create unique value reload + pseudos for early clobbered operands. + +2024-11-25 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*ashl<mode>3_negcnt): + For SImode shifts allow multiples of 32 (or multiples + of 64 for DImode shifts) for immediate operand 3. + (*ashl<mode>3_negcnt_1): Ditto. + (*<insn><mode>3_negcnt): Ditto. + (*<insn><mode>3_negcnt_1): Ditto. + +2024-11-25 Andrew Pinski <quic_apinski@quicinc.com> + + * config/g.opt.urls: Regenerate. + * config/i386/i386.opt.urls: Regenerate. + * config/i386/nto.opt.urls: Regenerate. + * config/nvptx/nvptx.opt.urls: Regenerate. + * config/riscv/riscv.opt.urls: Regenerate. + * config/s390/s390.opt.urls: Regenerate. + * config/sol2.opt.urls: Regenerate. + +2024-11-25 Sandra Loosemore <sloosemore@baylibre.com> + + * common/config/nios2/*: Delete entire directory. + * config/nios2/*: Delete entire directory. + * config.gcc: Remove references to nios2. + * configure.ac: Likewise. + * doc/extend.texi: Likewise. + * doc/install.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/md.texi: Likewise. + * regenerate-opt-urls.py: Likewise. + * config.in: Regenerated. + * configure: Regenerated. + +2024-11-25 Robin Dapp <rdapp@ventanamicro.com> + + PR target/117544 + * config/riscv/vector.md (*mov<mode>_whole): Split. + (*mov<mode>_fract): Ditto. + (*mov<mode>): Ditto. + (*mov<mode>_vls): Ditto. + (*mov<mode>_reg_whole_vtype): New pattern with vtype use. + (*mov<mode>_fract_vtype): Ditto. + (*mov<mode>_vtype): Ditto. + (*mov<mode>_vls_vtype): Ditto. + +2024-11-25 Robin Dapp <rdapp@ventanamicro.com> + + PR target/111600 + * genemit.cc (handle_arg): Use files instead of filenames. + (main): Ditto. + * gensupport.cc (SIZED_BASED_CHUNKS): Define. + (choose_output): New function. + * gensupport.h (choose_output): Declare. + +2024-11-25 Richard Biener <rguenther@suse.de> + + PR target/116760 + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): + Scale vec_construct for single-lane VMAT_STRIDED_SLP the + same as VMAT_ELEMENTWISE. + * tree-vect-stmts.cc (vectorizable_store): Pass SLP node + down to costing for vec_to_scalar for VMAT_STRIDED_SLP. + +2024-11-25 Richard Biener <rguenther@suse.de> + + * config/i386/i386.cc (ix86_vector_costs::finish_cost): For an + 128bit SSE epilogue request a 64bit SSE epilogue if the 128bit + SSE epilogue VF was 16 or higher. + +2024-11-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117767 + * tree-vect-stmts.cc (vectorizable_store): Check for supported + alignment before using a an alternate store vector type. + (vectorizable_load): Likewise for loads. + +2024-11-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115825 + * tree-ssa-loop-ivcanon.cc (loop_size::not_eliminatable_after_peeling): + New. + (loop_size::last_iteration_not_eliminatable_after_peeling): Likewise. + (tree_estimate_loop_size): Count stmts with side-effects as + not optimistically eliminatable. + (estimated_unrolled_size): Compute the number of stmts that can + be optimistically eliminated by followup transforms. + (try_unroll_loop_completely): Adjust. + +2024-11-25 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv.cc (riscv_asan_shadow_offset): Use dynamic + offset for RV64. + (riscv_asan_dynamic_shadow_offset_p): New. + (TARGET_ASAN_DYNAMIC_SHADOW_OFFSET_P): New. + +2024-11-25 Kito Cheng <kito.cheng@sifive.com> + + * asan.cc (asan_dynamic_shadow_offset_p): New. + (asan_shadow_memory_dynamic_address): New. + (asan_local_shadow_memory_dynamic_address): New. + (get_asan_shadow_memory_dynamic_address_decl): New. + (asan_maybe_insert_dynamic_shadow_at_function_entry): New. + (asan_emit_stack_protection): Support dynamic shadow offset. + (build_shadow_mem_access): Ditto. + * asan.h (asan_maybe_insert_dynamic_shadow_at_function_entry): New. + * doc/tm.texi (TARGET_ASAN_DYNAMIC_SHADOW_OFFSET_P): New. + * doc/tm.texi.in (TARGET_ASAN_DYNAMIC_SHADOW_OFFSET_P): Ditto. + * sanopt.cc (pass_sanopt::execute): Handle dynamic shadow offset. + * target.def (asan_dynamic_shadow_offset_p): New. + * toplev.cc (process_options): Handle dynamic shadow offset. + +2024-11-25 Dongyan Chen <chendongyan@isrc.iscas.ac.cn> + + * common/config/riscv/riscv-common.cc: New extension. + * common/config/riscv/riscv-ext-bitmask.def (RISCV_EXT_BITMASK): Ditto. + * config/riscv/riscv.opt: New mask. + +2024-11-25 Xi Ruoyao <xry111@xry111.site> + + * config/pa/pa.cc (pa_section_type_flags): Remove. + (TARGET_SECTION_TYPE_FLAGS): Remove. + +2024-11-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> + Philipp Tomsich <philipp.tomsich@vrull.eu> + + * Makefile.in (OBJS): Add avoid-store-forwarding.o. + * common.opt (favoid-store-forwarding): New option. + * common.opt.urls: Regenerate. + * doc/invoke.texi: New param store-forwarding-max-distance. + * doc/passes.texi: Document new pass. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Document new pass. + * params.opt (store-forwarding-max-distance): New param. + * passes.def: Add pass_rtl_avoid_store_forwarding before + pass_early_remat. + * target.def (avoid_store_forwarding_p): New DEFHOOK. + * target.h (struct store_fwd_info): Declare. + * targhooks.cc (default_avoid_store_forwarding_p): New function. + * targhooks.h (default_avoid_store_forwarding_p): Declare. + * tree-pass.h (make_pass_rtl_avoid_store_forwarding): Declare. + * avoid-store-forwarding.cc: New file. + * avoid-store-forwarding.h: New file. + * timevar.def (TV_AVOID_STORE_FORWARDING): New timevar. + +2024-11-25 liuhongt <hongtao.liu@intel.com> + + PR target/117562 + * config/i386/sse.md (vec_unpacks_hi_v4sf): Initialize + operands[2] with CONST0_RTX. + +2024-11-24 Martin Jambor <mjambor@suse.cz> + + * ipa-prop.cc (ipa_duplicate_jump_function): New function. + (ipa_edge_args_sum_t::duplicate): Move individual jump function + copying to ipa_duplicate_jump_function. + +2024-11-24 Uros Bizjak <ubizjak@gmail.com> + + PR target/36503 + * config/i386/i386.md (*ashl<mode>3_negcnt): + New define_insn_and_split pattern. + (*ashl<mode>3_negcnt_1): Ditto. + (*<insn><mode>3_negcnt): Ditto. + (*<insn><mode>3_negcnt_1): Ditto. + +2024-11-24 Andrew Pinski <quic_apinski@quicinc.com> + + * config/avr/avr.opt.urls: Regenerate. + * config/g.opt.urls: Regenerate. + * config/i386/nto.opt.urls: Regenerate. + * config/riscv/riscv.opt.urls: Regenerate. + * config/rx/rx.opt.urls: Regenerate. + * config/sol2.opt.urls: Regenerate. + +2024-11-24 Eric Botcazou <ebotcazou@adacore.com> + + PR target/117715 + * config/sparc/sparc-protos.h (sparc_expand_vcond): Rename to... + (sparc_expand_vcond_mask): ...this. + * config/sparc/sparc.cc (TARGET_VECTORIZE_GET_MASK_MODE): Define. + (sparc_vis_init_builtins): Adjust the CODE_FOR_* identifiers. + (sparc_get_mask_mode): New function. + (sparc_expand_vcond): Rename to... + (sparc_expand_vcond_mask): ...this and adjust. + * config/sparc/sparc.md (unspec): Remove UNSPEC_FCMP & UNSPEC_FUCMP + and rename UNSPEC_FPUCMPSHL into UNSPEC_FPCMPUSHL. + (fcmp<gcond:code><GCM:gcm_name><P:mode>_vis): Merge into... + (fpcmp<gcond:code>8<P:mode>_vis): Merge into... + (fpcmp<fpcmpcond:code><FPCMP:vbits><P:mode>_vis): ...this. + (fucmp<gcond:code>8<P:mode>_vis): Merge into... + (fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Merge into... + (fpcmpu<fpcmpucond:signed_code><FPCMP:vbits><P:mode>_vis): ...this. + (vec_cmp<FPCMP:mode><P:mode>): New expander. + (vec_cmpu<FPCMP:mode><P:mode>): Likewise. + (vcond<GCM:mode><GCM:mode>): Delete. + (vcondv8qiv8qi): Likewise. + (vcondu<GCM:mode><GCM:mode>): Likewise. + (vconduv8qiv8qi): Likewise. + (vcond_mask_<FPCMP:mode><P:mode>): New expander. + (fpcmp<fpcscond:code><FPCSMODE:vbits><P:mode>shl): Adjust. + (fpcmpu<fpcsucond:code><FPCSMODE:vbits><P:mode>shl): Likewise. + (fpcmpde<FPCSMODE:vbits><P:mode>shl): Likewise. + (fpcmpur<FPCSMODE:vbits><P:mode>shl): Likewise. + * doc/md.texi (vcond_mask_len_): Fix pasto. + +2024-11-24 Eric Botcazou <ebotcazou@adacore.com> + + * doc/invoke.texi (-fno-zero-initialized-in-bss): Adjust for Ada. + * varasm.cc (get_variable_section): Adjust the error message for an + initialized variable in .bss to -fno-zero-initialized-in-bss. + +2024-11-23 Lewis Hyatt <lhyatt@gmail.com> + + * gimple.cc (get_tail_padding_adjustment): New function. + (DEFGSSTRUCT): Adjust the computation of gimple_ops_offset_ to be + correct in the presence of tail padding. + +2024-11-23 Georg-Johann Lay <avr@gjlay.de> + + PR target/117744 + * config/avr/avr.cc (out_movqi_r_mr): Fix code when a load + only partially clobbers an address register due to + changing the address register temporally to accomodate for + faked addressing modes. + +2024-11-23 Andrew Pinski <quic_apinski@quicinc.com> + + * doc/rtl.texi: Add a note about quotes in braced strings. + +2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR bootstrap/117737 + * asan.cc (INCLUDE_MEMORY): Remove. + * attribs.cc (INCLUDE_MEMORY): Remove. + * auto-profile.cc (INCLUDE_MEMORY): Remove. + * calls.cc (INCLUDE_MEMORY): Remove. + * cfganal.cc (INCLUDE_MEMORY): Remove. + * cfgexpand.cc (INCLUDE_MEMORY): Remove. + * cfghooks.cc (INCLUDE_MEMORY): Remove. + * cfgloop.cc (INCLUDE_MEMORY): Remove. + * cgraph.cc (INCLUDE_MEMORY): Remove. + * cgraphclones.cc (INCLUDE_MEMORY): Remove. + * cgraphunit.cc (INCLUDE_MEMORY): Remove. + * collect-utils.cc (INCLUDE_MEMORY): Remove. + * collect2.cc (INCLUDE_MEMORY): Remove. + * common/config/aarch64/aarch64-common.cc (INCLUDE_MEMORY): Remove. + * common/config/arm/arm-common.cc (INCLUDE_MEMORY): Remove. + * common/config/avr/avr-common.cc (INCLUDE_MEMORY): Remove. + * config/aarch64/aarch64-cc-fusion.cc (INCLUDE_MEMORY): Remove. + * config/aarch64/aarch64-early-ra.cc (INCLUDE_MEMORY): Remove. + * config/aarch64/aarch64-sve-builtins.cc (INCLUDE_MEMORY): Remove. + * config/aarch64/aarch64.cc (INCLUDE_MEMORY): Remove. + * config/arc/arc.cc (INCLUDE_MEMORY): Remove. + * config/arm/aarch-common.cc (INCLUDE_MEMORY) Remove.: + * config/arm/arm-mve-builtins.cc (INCLUDE_MEMORY): Remove. + * config/arm/arm.cc (INCLUDE_MEMORY): Remove. + * config/avr/avr-devices.cc (INCLUDE_MEMORY): Remove. + * config/avr/driver-avr.cc (INCLUDE_MEMORY): Remove. + * config/bpf/bpf.cc (INCLUDE_MEMORY): Remove. + * config/bpf/btfext-out.cc (INCLUDE_MEMORY): Remove. + * config/bpf/core-builtins.cc (INCLUDE_MEMORY): Remove. + * config/darwin.cc (INCLUDE_MEMORY): Remove. + * config/gcn/mkoffload.cc (INCLUDE_MEMORY): Remove. + * config/i386/driver-i386.cc (INCLUDE_MEMORY): Remove. + * config/i386/i386-builtins.cc (INCLUDE_MEMORY): Remove. + * config/i386/i386-expand.cc (INCLUDE_MEMORY): Remove. + * config/i386/i386-features.cc (INCLUDE_MEMORY): Remove. + * config/i386/i386-options.cc (INCLUDE_MEMORY): Remove. + * config/i386/i386.cc (INCLUDE_MEMORY): Remove. + * config/loongarch/loongarch-builtins.cc (INCLUDE_MEMORY): Remove. + * config/loongarch/loongarch.cc (INCLUDE_MEMORY): Remove. + * config/mingw/winnt-cxx.cc (INCLUDE_MEMORY): Remove. + * config/mingw/winnt.cc (INCLUDE_MEMORY): Remove. + * config/mips/mips.cc (INCLUDE_MEMORY): Remove. + * config/msp430/driver-msp430.cc (INCLUDE_MEMORY): Remove. + * config/nvptx/mkoffload.cc (INCLUDE_MEMORY): Remove. + * config/nvptx/nvptx.cc (INCLUDE_MEMORY): Remove. + * config/riscv/riscv-avlprop.cc (INCLUDE_MEMORY): Remove. + * config/riscv/riscv-target-attr.cc (INCLUDE_MEMORY): Remove. + * config/riscv/riscv-vector-builtins.cc (INCLUDE_MEMORY): Remove. + * config/riscv/riscv-vector-costs.cc (INCLUDE_MEMORY): Remove. + * config/riscv/riscv-vsetvl.cc (INCLUDE_MEMORY): Remove. + * config/riscv/riscv.cc (INCLUDE_MEMORY): Remove. + * config/rs6000/driver-rs6000.cc (INCLUDE_MEMORY): Remove. + * config/rs6000/host-darwin.cc (INCLUDE_MEMORY): Remove. + * config/rs6000/rs6000-c.cc (INCLUDE_MEMORY): Remove. + * config/rs6000/rs6000.cc (INCLUDE_MEMORY): Remove. + * config/s390/s390-c.cc (INCLUDE_MEMORY): Remove. + * config/s390/s390.cc (INCLUDE_MEMORY): Remove. + * config/sol2-cxx.cc (INCLUDE_MEMORY): Remove. + * config/vms/vms-c.cc (INCLUDE_MEMORY): Remove. + * config/xtensa/xtensa-dynconfig.cc (INCLUDE_MEMORY): Remove. + * coroutine-passes.cc (INCLUDE_MEMORY): Remove. + * coverage.cc (INCLUDE_MEMORY): Remove. + * data-streamer-in.cc (INCLUDE_MEMORY): Remove. + * data-streamer-out.cc (INCLUDE_MEMORY): Remove. + * data-streamer.cc (INCLUDE_MEMORY): Remove. + * diagnostic-format-json.cc (INCLUDE_MEMORY): Remove. + * diagnostic-format-sarif.cc (INCLUDE_MEMORY): Remove. + * diagnostic-format-text.cc (INCLUDE_MEMORY): Remove. + * diagnostic-global-context.cc (INCLUDE_MEMORY): Remove. + * diagnostic-macro-unwinding.cc (INCLUDE_MEMORY): Remove. + * diagnostic-path.cc (INCLUDE_MEMORY): Remove. + * diagnostic-show-locus.cc (INCLUDE_MEMORY): Remove. + * diagnostic-spec.cc (INCLUDE_MEMORY): Remove. + * diagnostic.cc (INCLUDE_MEMORY): Remove. + * diagnostic.h: Remove check for INCLUDE_MEMORY. + * digraph.cc (INCLUDE_MEMORY): Remove. + * dumpfile.cc (INCLUDE_MEMORY): Remove. + * dwarf2out.cc (INCLUDE_MEMORY): Remove. + * edit-context.cc (INCLUDE_MEMORY): Remove. + * except.cc (INCLUDE_MEMORY): Remove. + * expr.cc (INCLUDE_MEMORY): Remove. + * file-prefix-map.cc (INCLUDE_MEMORY): Remove. + * final.cc (INCLUDE_MEMORY): Remove. + * fwprop.cc (INCLUDE_MEMORY): Remove. + * gcc-plugin.h (INCLUDE_MEMORY): Remove. + * gcc-rich-location.cc (INCLUDE_MEMORY): Remove. + * gcc-urlifier.cc (INCLUDE_MEMORY): Remove. + * gcc.cc (INCLUDE_MEMORY): Remove. + * gcov-dump.cc (INCLUDE_MEMORY): Remove. + * gcov-tool.cc (INCLUDE_MEMORY): Remove. + * gcov.cc (INCLUDE_MEMORY): Remove. + * gengtype.cc (open_base_files): Don't print `#define INCLUDE_MEMORY`. + * genmatch.cc (INCLUDE_MEMORY): Remove. + * gimple-fold.cc (INCLUDE_MEMORY): Remove. + * gimple-harden-conditionals.cc (INCLUDE_MEMORY): Remove. + * gimple-harden-control-flow.cc (INCLUDE_MEMORY): Remove. + * gimple-if-to-switch.cc (INCLUDE_MEMORY): Remove. + * gimple-loop-interchange.cc (INCLUDE_MEMORY): Remove. + * gimple-loop-jam.cc (INCLUDE_MEMORY): Remove. + * gimple-loop-versioning.cc (INCLUDE_MEMORY): Remove. + * gimple-lower-bitint.cc (INCLUDE_MEMORY): Remove. + * gimple-predicate-analysis.cc (INCLUDE_MEMORY): Remove. + * gimple-pretty-print.cc (INCLUDE_MEMORY): Remove. + * gimple-range-cache.cc (INCLUDE_MEMORY): Remove. + * gimple-range-edge.cc (INCLUDE_MEMORY): Remove. + * gimple-range-fold.cc (INCLUDE_MEMORY): Remove. + * gimple-range-gori.cc (INCLUDE_MEMORY): Remove. + * gimple-range-infer.cc (INCLUDE_MEMORY): Remove. + * gimple-range-op.cc (INCLUDE_MEMORY): Remove. + * gimple-range-path.cc (INCLUDE_MEMORY): Remove. + * gimple-range-phi.cc (INCLUDE_MEMORY): Remove. + * gimple-range-trace.cc (INCLUDE_MEMORY): Remove. + * gimple-range.cc (INCLUDE_MEMORY): Remove. + * gimple-ssa-backprop.cc (INCLUDE_MEMORY): Remove. + * gimple-ssa-sprintf.cc (INCLUDE_MEMORY): Remove. + * gimple-ssa-store-merging.cc (INCLUDE_MEMORY): Remove. + * gimple-ssa-strength-reduction.cc (INCLUDE_MEMORY): Remove. + * gimple-ssa-warn-access.cc (INCLUDE_MEMORY): Remove. + * gimple-ssa-warn-alloca.cc (INCLUDE_MEMORY): Remove. + * gimple-ssa-warn-restrict.cc (INCLUDE_MEMORY): Remove. + * gimple-streamer-in.cc (INCLUDE_MEMORY): Remove. + * gimple-streamer-out.cc (INCLUDE_MEMORY): Remove. + * gimple.cc (INCLUDE_MEMORY): Remove. + * gimplify.cc (INCLUDE_MEMORY): Remove. + * graph.cc (INCLUDE_MEMORY): Remove. + * graphite-dependences.cc (INCLUDE_MEMORY): Remove. + * graphite-isl-ast-to-gimple.cc (INCLUDE_MEMORY): Remove. + * graphite-optimize-isl.cc (INCLUDE_MEMORY): Remove. + * graphite-poly.cc (INCLUDE_MEMORY): Remove. + * graphite-scop-detection.cc (INCLUDE_MEMORY): Remove. + * graphite-sese-to-poly.cc (INCLUDE_MEMORY): Remove. + * graphite.cc (INCLUDE_MEMORY): Remove. + * graphviz.cc (INCLUDE_MEMORY): Remove. + * input.cc (INCLUDE_MEMORY): Remove. + * ipa-cp.cc (INCLUDE_MEMORY): Remove. + * ipa-devirt.cc (INCLUDE_MEMORY): Remove. + * ipa-fnsummary.cc (INCLUDE_MEMORY): Remove. + * ipa-free-lang-data.cc (INCLUDE_MEMORY): Remove. + * ipa-icf-gimple.cc (INCLUDE_MEMORY): Remove. + * ipa-icf.cc (INCLUDE_MEMORY): Remove. + * ipa-inline-analysis.cc (INCLUDE_MEMORY): Remove. + * ipa-inline.cc (INCLUDE_MEMORY): Remove. + * ipa-modref-tree.cc (INCLUDE_MEMORY): Remove. + * ipa-modref.cc (INCLUDE_MEMORY): Remove. + * ipa-param-manipulation.cc (INCLUDE_MEMORY): Remove. + * ipa-polymorphic-call.cc (INCLUDE_MEMORY): Remove. + * ipa-predicate.cc (INCLUDE_MEMORY): Remove. + * ipa-profile.cc (INCLUDE_MEMORY): Remove. + * ipa-prop.cc (INCLUDE_MEMORY): Remove. + * ipa-pure-const.cc (INCLUDE_MEMORY): Remove. + * ipa-reference.cc (INCLUDE_MEMORY): Remove. + * ipa-split.cc (INCLUDE_MEMORY): Remove. + * ipa-sra.cc (INCLUDE_MEMORY): Remove. + * ipa-strub.cc (INCLUDE_MEMORY): Remove. + * ipa-utils.cc (INCLUDE_MEMORY): Remove. + * json-parsing.cc (INCLUDE_MEMORY): Remove. + * json.cc (INCLUDE_MEMORY): Remove. + * json.h: Don't check INCLUDE_MEMORY. + * langhooks.cc (INCLUDE_MEMORY): Remove. + * late-combine.cc (INCLUDE_MEMORY): Remove. + * lazy-diagnostic-path.cc (INCLUDE_MEMORY): Remove. + * libdiagnostics.cc (INCLUDE_MEMORY): Remove. + * libsarifreplay.cc (INCLUDE_MEMORY): Remove. + * lto-cgraph.cc (INCLUDE_MEMORY): Remove. + * lto-compress.cc (INCLUDE_MEMORY): Remove. + * lto-opts.cc (INCLUDE_MEMORY): Remove. + * lto-section-in.cc (INCLUDE_MEMORY): Remove. + * lto-section-out.cc (INCLUDE_MEMORY): Remove. + * lto-streamer-in.cc (INCLUDE_MEMORY): Remove. + * lto-streamer-out.cc (INCLUDE_MEMORY): Remove. + * lto-streamer.cc (INCLUDE_MEMORY): Remove. + * lto-wrapper.cc (INCLUDE_MEMORY): Remove. + * make-unique.h (GCC_MAKE_UNIQUE): Remove. + * multiple_target.cc (INCLUDE_MEMORY): Remove. + * omp-expand.cc (INCLUDE_MEMORY): Remove. + * omp-general.cc (INCLUDE_MEMORY): Remove. + * omp-low.cc (INCLUDE_MEMORY): Remove. + * omp-oacc-neuter-broadcast.cc (INCLUDE_MEMORY): Remove. + * omp-offload.cc (INCLUDE_MEMORY): Remove. + * omp-simd-clone.cc (INCLUDE_MEMORY): Remove. + * opt-problem.cc (INCLUDE_MEMORY): Remove. + * optinfo-emit-json.cc (INCLUDE_MEMORY): Remove. + * optinfo.cc (INCLUDE_MEMORY): Remove. + * optinfo.h: Don't check INCLUDE_MEMORY. + * opts-common.cc (INCLUDE_MEMORY): Remove. + * opts-diagnostic.cc (INCLUDE_MEMORY): Remove. + * opts-global.cc (INCLUDE_MEMORY): Remove. + * opts.cc (INCLUDE_MEMORY): Remove. + * pair-fusion.cc (INCLUDE_MEMORY): Remove. + * passes.cc (INCLUDE_MEMORY): Remove. + * pointer-query.cc (INCLUDE_MEMORY): Remove. + * predict.cc (INCLUDE_MEMORY): Remove. + * pretty-print.cc (INCLUDE_MEMORY): Remove. + * pretty-print.h: Don't check INCLUDE_MEMORY. + * print-rtl.cc (INCLUDE_MEMORY): Remove. + * print-tree.cc (INCLUDE_MEMORY): Remove. + * profile-count.cc (INCLUDE_MEMORY): Remove. + * range-op-float.cc (INCLUDE_MEMORY): Remove. + * range-op-ptr.cc (INCLUDE_MEMORY): Remove. + * range-op.cc (INCLUDE_MEMORY): Remove. + * range.cc (INCLUDE_MEMORY): Remove. + * read-rtl-function.cc (INCLUDE_MEMORY): Remove. + * rtl-error.cc (INCLUDE_MEMORY): Remove. + * rtl-ssa/accesses.cc (INCLUDE_MEMORY): Remove. + * rtl-ssa/blocks.cc (INCLUDE_MEMORY): Remove. + * rtl-ssa/changes.cc (INCLUDE_MEMORY): Remove. + * rtl-ssa/functions.cc (INCLUDE_MEMORY): Remove. + * rtl-ssa/insns.cc (INCLUDE_MEMORY): Remove. + * rtl-ssa/movement.cc (INCLUDE_MEMORY): Remove. + * rtl-tests.cc (INCLUDE_MEMORY): Remove. + * sanopt.cc (INCLUDE_MEMORY): Remove. + * sched-rgn.cc (INCLUDE_MEMORY): Remove. + * selftest-diagnostic-path.cc (INCLUDE_MEMORY): Remove. + * selftest-diagnostic.cc (INCLUDE_MEMORY): Remove. + * selftest-json.cc (INCLUDE_MEMORY): Remove. + * sese.cc (INCLUDE_MEMORY): Remove. + * simple-diagnostic-path.cc (INCLUDE_MEMORY): Remove. + * splay-tree-utils.cc (INCLUDE_MEMORY): Remove. + * sreal.cc (INCLUDE_MEMORY): Remove. + * stmt.cc (INCLUDE_MEMORY): Remove. + * substring-locations.cc (INCLUDE_MEMORY): Remove. + * symtab-clones.cc (INCLUDE_MEMORY): Remove. + * symtab-thunks.cc (INCLUDE_MEMORY): Remove. + * symtab.cc (INCLUDE_MEMORY): Remove. + * system.h: Include memory unconditionally for C++. + Also remove support for INCLUDE_MEMORY. + * targhooks.cc (INCLUDE_MEMORY): Remove. + * text-art/box-drawing.cc (INCLUDE_MEMORY): Remove. + * text-art/canvas.cc (INCLUDE_MEMORY): Remove. + * text-art/ruler.cc (INCLUDE_MEMORY): Remove. + * text-art/selftests.cc (INCLUDE_MEMORY): Remove. + * text-art/style.cc (INCLUDE_MEMORY): Remove. + * text-art/styled-string.cc (INCLUDE_MEMORY): Remove. + * text-art/table.cc (INCLUDE_MEMORY): Remove. + * text-art/theme.cc (INCLUDE_MEMORY): Remove. + * text-art/tree-widget.cc (INCLUDE_MEMORY): Remove. + * text-art/widget.cc (INCLUDE_MEMORY): Remove. + * timevar.cc (INCLUDE_MEMORY): Remove. + * toplev.cc (INCLUDE_MEMORY): Remove. + * trans-mem.cc (INCLUDE_MEMORY): Remove. + * tree-affine.cc (INCLUDE_MEMORY): Remove. + * tree-assume.cc (INCLUDE_MEMORY): Remove. + * tree-call-cdce.cc (INCLUDE_MEMORY): Remove. + * tree-cfg.cc (INCLUDE_MEMORY): Remove. + * tree-chrec.cc (INCLUDE_MEMORY): Remove. + * tree-data-ref.cc (INCLUDE_MEMORY): Remove. + * tree-dfa.cc (INCLUDE_MEMORY): Remove. + * tree-diagnostic-client-data-hooks.cc (INCLUDE_MEMORY): Remove. + * tree-diagnostic.cc (INCLUDE_MEMORY): Remove. + * tree-dump.cc (INCLUDE_MEMORY): Remove. + * tree-if-conv.cc (INCLUDE_MEMORY): Remove. + * tree-inline.cc (INCLUDE_MEMORY): Remove. + * tree-into-ssa.cc (INCLUDE_MEMORY): Remove. + * tree-logical-location.cc (INCLUDE_MEMORY): Remove. + * tree-loop-distribution.cc (INCLUDE_MEMORY): Remove. + * tree-nested.cc (INCLUDE_MEMORY): Remove. + * tree-nrv.cc (INCLUDE_MEMORY): Remove. + * tree-object-size.cc (INCLUDE_MEMORY): Remove. + * tree-outof-ssa.cc (INCLUDE_MEMORY): Remove. + * tree-parloops.cc (INCLUDE_MEMORY): Remove. + * tree-predcom.cc (INCLUDE_MEMORY): Remove. + * tree-pretty-print.cc (INCLUDE_MEMORY): Remove. + * tree-profile.cc (INCLUDE_MEMORY): Remove. + * tree-scalar-evolution.cc (INCLUDE_MEMORY): Remove. + * tree-sra.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-address.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-alias.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-ccp.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-coalesce.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-copy.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-dce.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-dom.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-dse.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-forwprop.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-ifcombine.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-live.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-ch.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-im.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-ivcanon.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-ivopts.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-manip.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-niter.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-prefetch.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-split.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-loop-unswitch.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-math-opts.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-operands.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-phiopt.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-phiprop.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-pre.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-propagate.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-reassoc.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-sccvn.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-scopedtables.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-sink.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-strlen.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-structalias.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-ter.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-threadbackward.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-threadupdate.cc (INCLUDE_MEMORY): Remove. + * tree-ssa-uninit.cc (INCLUDE_MEMORY): Remove. + * tree-ssa.cc (INCLUDE_MEMORY): Remove. + * tree-ssanames.cc (INCLUDE_MEMORY): Remove. + * tree-stdarg.cc (INCLUDE_MEMORY): Remove. + * tree-streamer-in.cc (INCLUDE_MEMORY): Remove. + * tree-streamer-out.cc (INCLUDE_MEMORY): Remove. + * tree-streamer.cc (INCLUDE_MEMORY): Remove. + * tree-switch-conversion.cc (INCLUDE_MEMORY): Remove. + * tree-tailcall.cc (INCLUDE_MEMORY): Remove. + * tree-vect-data-refs.cc (INCLUDE_MEMORY): Remove. + * tree-vect-generic.cc (INCLUDE_MEMORY): Remove. + * tree-vect-loop-manip.cc (INCLUDE_MEMORY): Remove. + * tree-vect-loop.cc (INCLUDE_MEMORY): Remove. + * tree-vect-patterns.cc (INCLUDE_MEMORY): Remove. + * tree-vect-slp-patterns.cc (INCLUDE_MEMORY): Remove. + * tree-vect-slp.cc (INCLUDE_MEMORY): Remove. + * tree-vect-stmts.cc (INCLUDE_MEMORY): Remove. + * tree-vectorizer.cc (INCLUDE_MEMORY): Remove. + * tree-vrp.cc (INCLUDE_MEMORY): Remove. + * tree.cc (INCLUDE_MEMORY): Remove. + * ubsan.cc (INCLUDE_MEMORY): Remove. + * value-pointer-equiv.cc (INCLUDE_MEMORY): Remove. + * value-prof.cc (INCLUDE_MEMORY): Remove. + * value-query.cc (INCLUDE_MEMORY): Remove. + * value-range-pretty-print.cc (INCLUDE_MEMORY): Remove. + * value-range-storage.cc (INCLUDE_MEMORY): Remove. + * value-range.cc (INCLUDE_MEMORY): Remove. + * value-relation.cc (INCLUDE_MEMORY): Remove. + * var-tracking.cc (INCLUDE_MEMORY): Remove. + * varpool.cc (INCLUDE_MEMORY): Remove. + * vr-values.cc (INCLUDE_MEMORY): Remove. + * wide-int-print.cc (INCLUDE_MEMORY): Remove. + +2024-11-22 Jeff Law <jlaw@ventanamicro.com> + + PR target/109279 + * config/riscv/riscv.cc (riscv_build_integer): Handle another 64-bit + synthesis where high half is one less than the low half and the 32-bit + sign bit is on. + +2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> + + * text-art/types.h: Fix comment. + +2024-11-22 Georg-Johann Lay <avr@gjlay.de> + + * common/config/avr/avr-common.cc: Tabify. + +2024-11-22 Georg-Johann Lay <avr@gjlay.de> + + PR target/117726 + * config/avr/avr-passes.cc (avr_split_shift): Also handle + ASHIFTRT and LSHIFTRT codes for 4-byte shifts. + (constr_split_shift4): New code_attr. + (avr_emit_shift): Adjust to new shift capabilities. + * config/avr/predicates.md (scratch_or_d_register_operand): + rename to scratch_or_dreg_operand. + * config/avr/avr.md: Same. + (define_peephole2): Write the RTL scratch peephole for 2-byte and + 4-byte shifts that generates *sh*<mode>3_const insns using code + iterator any_shift. + (*ashlhi3_const_split, *ashrhi3_const_split, *ashrhi3_const_split) + (*lshrsi3_const_split, *lshrhi3_const_split): Remove useless + split insns. + (define_split) [avropt_split_bit_shift]: Add splitters + for 4-byte ASHIFTRT and LSHIFTRT insns using avr_split_shift(). + (ashrsi3, *ashrsi3, *ashrsi3_const): Add "r,0,C4a" and "r,r,C4a" + constraint alternatives depending on 2op, 3op. + (lshrsi3, *lshrsi3, *lshrsi3_const): Add "r,0,C4r" and "r,r,C4r" + constraint alternatives depending on 2op, 3op. Add "r,r,C15". + (lshrhi3, *lshrhi3, *lshrhi3_const, ashlhi3, *ashlhi3) + (*ashlhi3_const): Add "r,r,C7c" alternative. + (ashrpsi, *ashrpsi3): Add "r,r,C22" alternative. + (ashlqi, *ashlqi): Turn C06 alternative into "r,r,C06". + * config/avr/constraints.md (C14, C22, C30, C7c): New constraints. + * config/avr/avr.cc (ashlhi3_out, lshrhi3_out) + [case 7, 9, 10, 11, 12]: Support as 3-operand insn. + (lshrsi3_out) [case 15]: Same. + (ashrsi3_out) [case 30]: Same. + (ashrhi3_out) [case 14]: Same. + (ashrqi3_out) [case 6]: Same. + (avr_out_ashrpsi3) [case 22]: Same. + * config/avr/avr.h: Fix comment typo. + * doc/invoke.texi (AVR Options) <-msplit-bit-shift>: Document. + +2024-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/117355 + * tree-object-size.cc (size_for_offset): New argument STRICT, + return SZ if it is set to false. + (plus_stmt_object_size): Adjust call to SIZE_FOR_OFFSET. + +2024-11-22 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.opt (avr_bits_e, avr_lra_p, avr_mmcu) + (avr_gasisr_prologues, avr_n_flash, avr_log_details) + (avr_branch_cost, avr_split_bit_shift, avr_strict_X) + (avr_flmap, avr_rodata_in_ram, avr_sp8, avr_fuse_add) + (avr_warn_addr_space_convert, avr_warn_misspelled_isr) + (avr_fuse_move, avr_double, avr_long_double): Rename + to respectively: avropt_bits_e, avropt_lra_p, avropt_mmcu, + avropt_gasisr_prologues, avropt_n_flash, avropt_log_details, + avropt_branch_cost, avropt_split_bit_shift, avropt_strict_X, + avropt_flmap, avropt_rodata_in_ram, avropt_sp8, avropt_fuse_add, + avropt_warn_addr_space_convert, avropt_warn_misspelled_isr, + avropt_fuse_move, avropt_double, avropt_long_double. + * config/avr/avr.h: Same. + * config/avr/avr.cc: Same. + * config/avr/avr.md: Same. + * config/avr/avr-passes.cc + * config/avr/avr-log.cc: Same. + * common/config/avr/avr-common.cc: Same. + +2024-11-22 Jakub Jelinek <jakub@redhat.com> + + PR c++/110137 + PR middle-end/101480 + * doc/invoke.texi (-fassume-sane-operators-new-delete, + -fno-assume-sane-operators-new-delete): Document. + * gimple.cc (gimple_call_fnspec): Handle + -f{,no-}assume-sane-operators-new-delete. + * ipa-inline-transform.cc (inline_call): Also clear + flag_assume_sane_operators_new_delete on caller when inlining + -fno-assume-sane-operators-new-delete callee into + -fassume-sane-operators-new-delete caller. + +2024-11-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117420 + * match.pd ((X >> C1) << (C1 + C2) -> X << C2, + (X >> C1) * (C2 << C1) -> X * C2, X / (1 << C) -> X /[ex] (1 << C)): + Use with_possible_nonzero_bits@0 rather than + (with_possible_nonzero_bits2 @0). + +2024-11-22 Tobias Burnus <tburnus@baylibre.com> + + * gimplify.cc (gimplify_call_expr): Add initial support for + dispatch's 'interop' clause. + (gimplify_scan_omp_clauses): Handle interop clause. + * tree-pretty-print.cc (dump_omp_clause): Likewise. + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_INTEROP. + * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add interop. + +2024-11-22 Tobias Burnus <tburnus@baylibre.com> + + * gimplify.cc (gimplify_expr): Handle OMP_INTEROP by printing + "sorry, uninplemented". + * omp-api.h (omp_get_fr_id_from_name): Change return type to + 'char'. + * omp-general.cc (omp_get_fr_id_from_name): Likewise; return + GOMP_INTEROP_IFR_UNKNOWN not 0 if not found. + (omp_get_name_from_fr_id): Return "<unknown>" not NULL + if not found (used for dumps). + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DESTROY, + OMP_CLAUSE_USE, and OMP_CLAUSE_INIT. + * tree-pretty-print.cc (dump_omp_init_prefer_type): New. + (dump_omp_clause): Handle init, use and destroy clauses. + (dump_generic_node): Handle interop directive. + * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add new + init/use/destroy clauses. + * tree.def (OACC_LOOP): Fix comment. + (OMP_INTEROP): Add. + * tree.h (OMP_INTEROP_CLAUSES, OMP_CLAUSE_INIT_TARGET, + OMP_CLAUSE_INIT_TARGETSYNC, OMP_CLAUSE_INIT_PREFER_TYPE): New. + +2024-11-22 Jakub Jelinek <jakub@redhat.com> + + PR target/117165 + * config/i386/i386-builtin.def (IX86_BUILTIN_FNSTENV, + IX86_BUILTIN_FLDENV, IX86_BUILTIN_FNSTSW, IX86_BUILTIN_FNCLEX): Add + space to the end of the builtin name to make it really internal. + +2024-11-22 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116463 + * tree-vect-slp-patterns.cc (complex_mul_pattern::matches, + complex_fms_pattern::matches): Try swapping operands on multiply. + +2024-11-22 Lulu Cheng <chenglulu@loongson.cn> + + * doc/invoke.texi: Remove the non-existent option + '-msmall-data-limit' and add a description of '-G'. + +2024-11-22 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch-builtins.cc + (loongarch_builtin_vectorized_function): Delete. + (LARCH_GET_BUILTIN): Delete. + * config/loongarch/loongarch-protos.h + (loongarch_builtin_vectorized_function): Delete. + * config/loongarch/loongarch.cc + (TARGET_ASM_ALIGNED_HI_OP): Delete. + (TARGET_ASM_ALIGNED_SI_OP): Delete. + (TARGET_ASM_ALIGNED_DI_OP): Delete. + +2024-11-22 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/lasx.md: Fixed. + * config/loongarch/lsx.md: Fixed. + +2024-11-22 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch-builtins.cc (vorn_v, xvorn_v): Use + unsigned vector modes. + * config/loongarch/lsxintrin.h (__lsx_vorn_v): Cast arguments to + v16u8. + * config/loongarch/lasxintrin.h (__lasx_xvorn_v): Cast arguments + to v32u8. + +2024-11-21 Jeff Law <jlaw@ventanamicro.com> + + PR target/117690 + * config/riscv/riscv.cc (riscv_build_integer): Add missing left + shift when using shNadd to derive upper 32 bits from lower 32 bits. + +2024-11-21 Arsen Arsenović <arsen@aarsen.me> + + * doc/cpp.texi (__has_include): Document __has_include_next + also. + (Conditional Syntax): Mention __has_include_next in the + description for the __has_include menu entry. + +2024-11-21 David Malcolm <dmalcolm@redhat.com> + + PR bootstrap/117677 + * json-parsing.cc (selftest::test_parse_number): Replace + ASSERT_EQ of 'double' values with ASSERT_NEAR. Eliminate + ASSERT_PRINT_EQ for such values. + * selftest.h (ASSERT_NEAR): New. + (ASSERT_NEAR_AT): New. + +2024-11-21 Georg-Johann Lay <avr@gjlay.de> + + PR target/117726 + * config/avr/avr.opt (-msplit-bit-shift): Add new optimization option. + * common/config/avr/avr-common.cc (avr_option_optimization_table) + [OPT_LEVELS_2_PLUS]: Turn on -msplit-bit-shift. + * config/avr/avr.h (machine_function.n_avr_fuse_add_executed): + New bool component. + * config/avr/avr.md (attr "isa") <2op, 3op>: Add new values. + (attr "enabled"): Handle them. + (ashlsi3, *ashlsi3, *ashlsi3_const): Add "r,r,C15" alternative. + Add "r,0,C4l" and "r,r,C4l" alternatives (depending on 2op / 3op). + (define_split) [avr_split_bit_shift]: Add 2 new ashift:ALL4 splitters. + (define_peephole2) [ashift:ALL4]: Add (match_dup 3) so that the scratch + won't overlap with the output operand of the matched insn. + (*ashl<mode>3_const_split): Remove unused ashift:ALL4 splitter. + * config/avr/avr-passes.cc (emit_valid_insn) + (emit_valid_move_clobbercc): Move out of anonymous namespace. + (make_avr_pass_fuse_add) <gate>: Don't override. + <execute>: Set n_avr_fuse_add_executed according to + func->machine->n_avr_fuse_add_executed. + (pass_data avr_pass_data_split_after_peephole2): New object. + (avr_pass_split_after_peephole2): New rtl_opt_pass. + (avr_emit_shift): New static function. + (avr_shift_is_3op, avr_split_shift_p, avr_split_shift) + (make_avr_pass_split_after_peephole2): New functions. + * config/avr/avr-passes.def (avr_pass_split_after_peephole2): + Insert new pass after pass_peephole2. + * config/avr/avr-protos.h + (n_avr_fuse_add_executed, avr_shift_is_3op, avr_split_shift_p) + (avr_split_shift, avr_optimize_size_level) + (make_avr_pass_split_after_peephole2): New prototypes. + * config/avr/avr.cc (n_avr_fuse_add_executed): New global variable. + (avr_optimize_size_level): New function. + (avr_set_current_function): Set n_avr_fuse_add_executed + according to cfun->machine->n_avr_fuse_add_executed. + (ashlsi3_out) [case 15]: Output optimized code for this offset. + (avr_rtx_costs_1) [ASHIFT, SImode]: Adjust costs of oggsets 15, 16. + * config/avr/constraints.md (C4a, C4r, C4r): New constraints. + * pass_manager.h (pass_manager): Adjust comments. + +2024-11-21 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-passes.cc (absint_t::dump): Fix missing + newline in dump. + +2024-11-21 Jeff Law <jlaw@ventanamicro.com> + + PR target/116590 + * config/riscv/vector.md (pred_mul_<optab>mode_undef): Drop + unnecessary alternatives. + (pred_<madd_msub><mode>): Likewise. + (pred_<macc_msac><mode>): Likewise. + (pred_<madd_msub><mode>_scalar): Likewise. + (pred_<macc_msac><mode>_scalar): Likewise. + (pred_mul_neg_<optab><mode>_undef): Likewise. + (pred_<nmsub_nmadd><mode>): Likewise. + (pred_<nmsac_nmacc><mode>): Likewise. + (pred_<nmsub_nmadd><mode>_scalar): Likewise. + (pred_<nmsac_nmacc><mode>_scalar): Likewise. + +2024-11-21 Pan Li <pan2.li@intel.com> + + * match.pd: Refactor sorts of unsigned SAT_ADD match pattern. + +2024-11-21 Tamar Christina <tamar.christina@arm.com> + + * tree-vect-data-refs.cc (vect_get_data_access_cost): Pass NULL for SLP + node. + * tree-vect-stmts.cc (record_stmt_cost): Expose. + (vect_get_store_cost, vect_get_load_cost): Extend with SLP node. + (vectorizable_store, vectorizable_load): Pass SLP node to all costing. + * tree-vectorizer.h (record_stmt_cost): Always pass both SLP node and + stmt_vinfo to costing. + (vect_get_load_cost, vect_get_store_cost): Extend with SLP node. + +2024-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/102296 + * config/i386/sol2.h (ASM_DECLARE_OBJECT_NAME): Use decl size + instead of type size. + * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Likewise. + +2024-11-21 Christoph Müllner <christoph.muellner@vrull.eu> + + * tree-ssa-forwprop.cc (struct _vec_perm_simplify_seq): New data + structure to store analysis results of a vec perm simplify sequence. + (get_vect_selector_index_map): Helper to get an index map from the + provided vector permute selector. + (recognise_vec_perm_simplify_seq): Helper to recognise a + vec perm simplify sequence. + (narrow_vec_perm_simplify_seq): Helper to pack the lanes more + tight. + (can_blend_vec_perm_simplify_seqs_p): Test if two vec perm + sequences can be blended. + (calc_perm_vec_perm_simplify_seqs): Helper to calculate the new + permutation indices. + (blend_vec_perm_simplify_seqs): Helper to blend two vec perm + simplify sequences. + (process_vec_perm_simplify_seq_list): Helper to process a list + of vec perm simplify sequences. + (append_vec_perm_simplify_seq_list): Helper to add a vec perm + simplify sequence to the list. + (pass_forwprop::execute): Integrate new functionality. + +2024-11-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117720 + * tree-vect-stmts.cc (vectorizable_load): For VMAT_STRIDED_SLP + verify the choosen load type is OK with regard to alignment. + +2024-11-21 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (-std=c23): Adjust documentation for + publication of the ISO/IEC 9899:2024 standard. + * doc/standards.texi: Likewise. Document -std=gnu17 and + -std=gnu23 options. Mention that -std=gnu23 rather than + -std=gnu17 is now the default for C. + +2024-11-21 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/94589 + PR tree-optimization/117612 + * tree-ssa-phiopt.cc (spaceship_replacement): Handle + HONOR_NANS (TREE_TYPE (lhs1)) case when possible. + +2024-11-21 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/94589 + PR tree-optimization/117612 + * tree-ssa-phiopt.cc (spaceship_replacement): Fix up + a pasto in check when arg1 is 2. + +2024-11-21 Jakub Jelinek <jakub@redhat.com> + + PR c/117024 + * coretypes.h (enum function_class): Add function_c2y_misc + enumerator. + * builtin-types.def (BT_FN_UINTMAX_INTMAX, BT_FN_ULONG_LONG, + BT_FN_ULONGLONG_LONGLONG): New DEF_FUNCTION_TYPE_1s. + * builtins.def (DEF_C2Y_BUILTIN): Define. + (BUILT_IN_UABS, BUILT_IN_UIMAXABS, BUILT_IN_ULABS, + BUILT_IN_ULLABS): New builtins. + * builtins.cc (fold_builtin_abs): Handle also folding of u*abs + to ABSU_EXPR. + (fold_builtin_1): Handle BUILT_IN_U{,L,LL,IMAX}ABS. + +2024-11-21 Kewen Lin <linkw@linux.ibm.com> + + PR target/114567 + * config/rs6000/rs6000.md (expander signbit<FLOAT128:mode>2): Adjust. + (*signbit<mode>2_dm_mem): Rename to ... + (signbit<mode>2_dm_mem): ... this. + +2024-11-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/altivec.md (altivec_vadduqm): Rename to ... + (addv1ti3): ... this. + (altivec_vsubuqm): Rename to ... + (subv1ti3): ... this. + * config/rs6000/rs6000-builtins.def (__builtin_altivec_vadduqm): + Replace bif expander altivec_vadduqm with addv1ti3. + (__builtin_altivec_vsubuqm): Replace bif expander altivec_vsubuqm with + subv1ti3. + +2024-11-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/altivec.md (mode attr for V1TI in VI_unit): Remove. + +2024-11-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.md (*eqv<BOOL_128:mode>3_internal1): Generate + insn veqv if TARGET_ALTIVEC and operands are altivec_register_operand. + +2024-11-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_IEEE): Remove. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace + ISA_3_0_MASKS_IEEE check with TARGET_P9_VECTOR. + +2024-11-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Simplify + TARGET_P8_VECTOR && TARGET_DIRECT_MOVE as TARGET_P8_VECTOR. + (rs6000_output_move_128bit): Simplify TARGET_VSX && TARGET_DIRECT_MOVE + as TARGET_DIRECT_MOVE. + * config/rs6000/rs6000.h (TARGET_XSCVDPSPN): Simplify conditions + TARGET_DIRECT_MOVE || TARGET_P8_VECTOR as TARGET_P8_VECTOR. + (TARGET_XSCVSPDPN): Likewise. + (TARGET_DIRECT_MOVE_128): Simplify TARGET_DIRECT_MOVE && + TARGET_POWERPC64 as TARGET_DIRECT_MOVE_64BIT. + (TARGET_VEXTRACTUB): Likewise. + (TARGET_DIRECT_MOVE_64BIT): Simplify TARGET_P8_VECTOR && + TARGET_DIRECT_MOVE as TARGET_DIRECT_MOVE. + * config/rs6000/rs6000.md (signbit<mode>2, @signbit<mode>2_dm, + *signbit<mode>2_dm_mem, floatsi<mode>2_lfiwax, + floatsi<SFDF:mode>2_lfiwax_<QHI:mode>_mem_zext, + floatunssi<mode>2_lfiwzx, float<QHI:mode><SFDF:mode>2, + *float<QHI:mode><SFDF:mode>2_internal, floatuns<QHI:mode><SFDF:mode>2, + *floatuns<QHI:mode><SFDF:mode>2_internal, p8_mtvsrd_v16qidi2, + p8_mtvsrd_df, p8_xxpermdi_<mode>, reload_vsx_from_gpr<mode>, + p8_mtvsrd_sf, reload_vsx_from_gprsf, p8_mfvsrd_3_<mode>, + reload_gpr_from_vsx<mode>, reload_gpr_from_vsxsf, unpack<mode>_dm): + Simplify TARGET_DIRECT_MOVE && TARGET_POWERPC64 as + TARGET_DIRECT_MOVE_64BIT. + (unpack<mode>_nodm): Simplify !TARGET_DIRECT_MOVE || !TARGET_POWERPC64 + as !TARGET_DIRECT_MOVE_64BIT. + (fix_trunc<mode>si2, fix_trunc<mode>si2_stfiwx, + fix_trunc<mode>si2_internal): Simplify TARGET_P8_VECTOR && + TARGET_DIRECT_MOVE as TARGET_DIRECT_MOVE. + (fix_trunc<mode>si2_stfiwx, fixuns_trunc<mode>si2_stfiwx): Remove some + dead code as the guard TARGET_DIRECT_MOVE there never holds. + (fixuns_trunc<mode>si2_stfiwx): Change TARGET_P8_VECTOR with + TARGET_DIRECT_MOVE which is a better fit. + * config/rs6000/vsx.md (define_peephole2 for SFmode in GPR): Simplify + TARGET_DIRECT_MOVE && TARGET_POWERPC64 as TARGET_DIRECT_MOVE_64BIT. + +2024-11-20 Lewis Hyatt <lhyatt@gmail.com> + + * tree-cfg.cc (assign_discriminators): Fix incorrect value passed to + next_discriminator_for_locus(). + +2024-11-20 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/116587 + * lra-assigns.cc (find_all_spills_for): Consider all pseudos whose + classes intersect given pseudo class. + +2024-11-20 Andrew Pinski <quic_apinski@quicinc.com> + + * read-md.h (class rtx_reader): Don't include m_reuse_rtx_by_id + when GENERATOR_FILE is defined. + * read-rtl.cc (rtx_reader::read_rtx_code): Disable reuse_rtx + support when GENERATOR_FILE is defined. + +2024-11-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117709 + * tree-vect-stmts.cc (get_group_load_store_type): Only + set *poffset when we end up with VMAT_CONTIGUOUS_DOWN + or VMAT_CONTIGUOUS_REVERSE. + +2024-11-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117698 + * tree-vect-stmts.cc (get_group_load_store_type): Properly + disregard alignment for VMAT_STRIDED_SLP and VMAT_INVARIANT. + (vectorizable_load): Adjust guard for dumping whether we + vectorize and unaligned access. + (vectorizable_store): Likewise. + +2024-11-20 Paul-Antoine Arras <parras@baylibre.com> + + * builtins.cc (builtin_fnspec): Handle BUILT_IN_OMP_GET_MAPPED_PTR. + * gimple-low.cc (lower_stmt): Handle GIMPLE_OMP_DISPATCH. + * gimple-pretty-print.cc (dump_gimple_omp_dispatch): New function. + (pp_gimple_stmt_1): Handle GIMPLE_OMP_DISPATCH. + * gimple-walk.cc (walk_gimple_stmt): Likewise. + * gimple.cc (gimple_build_omp_dispatch): New function. + (gimple_copy): Handle GIMPLE_OMP_DISPATCH. + * gimple.def (GIMPLE_OMP_DISPATCH): Define. + * gimple.h (gimple_build_omp_dispatch): Declare. + (gimple_has_substatements): Handle GIMPLE_OMP_DISPATCH. + (gimple_omp_dispatch_clauses): New function. + (gimple_omp_dispatch_clauses_ptr): Likewise. + (gimple_omp_dispatch_set_clauses): Likewise. + (gimple_return_set_retval): Handle GIMPLE_OMP_DISPATCH. + * gimplify.cc (enum omp_region_type): Add ORT_DISPATCH. + (struct gimplify_omp_ctx): Add in_call_args. + (gimplify_call_expr): Handle need_device_ptr arguments. + (is_gimple_stmt): Handle OMP_DISPATCH. + (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DEVICE in a dispatch + construct. Handle OMP_CLAUSE_NOVARIANTS and OMP_CLAUSE_NOCONTEXT. + (omp_has_novariants): New function. + (omp_has_nocontext): Likewise. + (omp_construct_selector_matches): Handle OMP_DISPATCH with nocontext + clause. + (find_ifn_gomp_dispatch): New function. + (gimplify_omp_dispatch): Likewise. + (gimplify_expr): Handle OMP_DISPATCH. + * gimplify.h (omp_has_novariants): Declare. + * internal-fn.cc (expand_GOMP_DISPATCH): New function. + * internal-fn.def (GOMP_DISPATCH): Define. + * omp-builtins.def (BUILT_IN_OMP_GET_MAPPED_PTR): Define. + (BUILT_IN_OMP_GET_DEFAULT_DEVICE): Define. + (BUILT_IN_OMP_SET_DEFAULT_DEVICE): Define. + * omp-general.cc (omp_construct_traits_to_codes): Add OMP_DISPATCH. + (struct omp_ts_info): Add dispatch. + (omp_resolve_declare_variant): Handle novariants. Adjust + DECL_ASSEMBLER_NAME. + * omp-low.cc (scan_omp_1_stmt): Handle GIMPLE_OMP_DISPATCH. + (lower_omp_dispatch): New function. + (lower_omp_1): Call it. + * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_OMP_DISPATCH. + (estimate_num_insns): Handle GIMPLE_OMP_DISPATCH. + +2024-11-20 Paul-Antoine Arras <parras@baylibre.com> + + * builtin-types.def (BT_FN_PTR_CONST_PTR_INT): New. + * omp-selectors.h (enum omp_ts_code): Add OMP_TRAIT_CONSTRUCT_DISPATCH. + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_NOVARIANTS and + OMP_CLAUSE_NOCONTEXT. + * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_NOVARIANTS + and OMP_CLAUSE_NOCONTEXT. + (dump_generic_node): Handle OMP_DISPATCH. + * tree.cc (omp_clause_num_ops): Add OMP_CLAUSE_NOVARIANTS and + OMP_CLAUSE_NOCONTEXT. + (omp_clause_code_name): Add "novariants" and "nocontext". + * tree.def (OMP_DISPATCH): New. + * tree.h (OMP_DISPATCH_BODY): New macro. + (OMP_DISPATCH_CLAUSES): New macro. + (OMP_CLAUSE_NOVARIANTS_EXPR): New macro. + (OMP_CLAUSE_NOCONTEXT_EXPR): New macro. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-option-extensions.def (sme2p1): New extension. + * doc/invoke.texi: Document it. + * config/aarch64/aarch64.h (TARGET_STREAMING_SME2p1): New macro. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Conditionally define __ARM_FEATURE_SME2p1. + * config/aarch64/iterators.md (UNSPEC_SME_READZ, UNSPEC_SME_READZ_HOR) + (UNSPEC_SME_READZ_VER): New unspecs. + (optab, hv): Handle them. + (SME_READZ_HV): New int iterator. + * config/aarch64/aarch64-sme.md + (UNSPEC_SME_ZERO_SLICES): New unspec. + (@aarch64_sme_<SME_READZ_HV:optab><v_int_container><mode>) + (*aarch64_sme_<SME_READZ_HV:optab><v_int_container><mode>_plus) + (@aarch64_sme_<SME_READZ_HV:optab><VNx1TI_ONLY:mode><SVE_FULL:mode>) + (@aarch64_sme_<SME_READZ_HV:optab><SVE_FULLx24:mode><mode>) + (*aarch64_sme_<SME_READZ_HV:optab><SVE_FULLx24:mode><mode>_plus) + (@aarch64_sme_readz<mode>, *aarch64_sme_readz<mode>_plus) + (@aarch64_sme_zero_za_slices<mode>): New patterns. + (*aarch64_sme_zero_za_slices<mode>_plus): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.h + (inherent_za_slice): Declare. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (inherent_za_slice_def, inherent_za_slice): New shape. + * config/aarch64/aarch64-sve-builtins-sme.h (svreadz_za) + (svreadz_hor_za, svreadz_ver_za): Declare. + * config/aarch64/aarch64-sve-builtins-sme.cc + (svread_za_slice_base): New class, split out from... + (svread_za_impl): ...here. + (svreadz_za_impl, svreadz_za_tile_impl): New type aliases. + (zero_slices_mode): New function. + (svzero_za_impl::expand): Handle the slice forms. + (svreadz_za, svreadz_hor_za, svreadz_ver_za): New functions. + * config/aarch64/aarch64-sve-builtins-sme.def: Add the SME2p1 + instructions. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-option-extensions.def + (sme-b16b16): New extension. + * doc/invoke.texi: Document it. + * config/aarch64/aarch64.h (TARGET_STREAMING_SME_B16B16): New macro. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Conditionally define __ARM_FEATURE_SME_B16B16. + * config/aarch64/aarch64-sve-builtins-sme.def: Add SME_B16B16 forms + of existing intrinsics. + * config/aarch64/aarch64-sme.md + (@aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>) + (*aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>_plus) + (@aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>) + (*aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) + (@aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>) + (*aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) + (@aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) + (*aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) + (@aarch64_sme_<SME_FP_MOP:optab><mode><mode>): Extend to BF16 modes. + * config/aarch64/aarch64-sve-builtins.cc (TYPES_za_h_bfloat): New + type macro. + * config/aarch64/iterators.md (SME_ZA_HSDFx24): Add BF16 modes. + (SME_MOP_HSDF): Likewise. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-option-extensions.def + (sme-f16f16): New extension. + * doc/invoke.texi: Document it. Also document that sme-i16i64 and + sme-f64f64 enable SME. + * config/aarch64/aarch64.h (TARGET_STREAMING_SME_F16F16): New macro. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Conditionally define __ARM_FEATURE_SME_F16F16. + * config/aarch64/aarch64-sve-builtins-sve2.def (svcvt, svcvtl): Add + new SME_F16F16 intrinsics. + * config/aarch64/aarch64-sve-builtins-sme.def: Add SME_F16F16 forms + of existing intrinsics. + * config/aarch64/aarch64-sve-builtins.cc (TYPES_h_float) + (TYPES_cvt_f32_f16, TYPES_za_h_float): New type macros. + * config/aarch64/aarch64-sve-builtins-base.cc + (svcvt_impl::expand): Add sext_optab as another possibility. + * config/aarch64/aarch64-sve-builtins-sve2.h (svcvtl): Declare. + * config/aarch64/aarch64-sve-builtins-sve2.cc (svcvtl_impl): New class. + (svcvtl): New function. + * config/aarch64/iterators.md (VNx8SF_ONLY): New mode iterator. + (SME_ZA_SDFx24): Replace with... + (SME_ZA_HSDFx24): ...this. + (SME_MOP_SDF): Replace with... + (SME_MOP_HSDF): ...this. + (SME_BINARY_SLICE_SDF): Replace with... + (SME_BINARY_SLICE_HSDF): ...this. + * config/aarch64/aarch64-sve2.md (extendvnx8hfvnx8sf2) + (@aarch64_sve_cvtl<mode>): New patterns. + * config/aarch64/aarch64-sme.md + (@aarch64_sme_<SME_BINARY_SLICE_SDF:optab><mode>): Extend to... + (@aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>): ...this. + (*aarch64_sme_<SME_BINARY_SLICE_SDF:optab><mode>_plus): Extend to... + (*aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>_plus): ...this. + (@aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>): Extend to + HF modes. + (*aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) + (@aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>) + (*aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) + (@aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) + (*aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) + (@aarch64_sme_<SME_FP_MOP:optab><mode><mode>): Likewise. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-option-extensions.def + (sve-b16b16): New extension. + * doc/invoke.texi: Document it. + * config/aarch64/aarch64.h (TARGET_SME_B16B16, TARGET_SVE2_OR_SME2) + (TARGET_SSVE_B16B16): New macros. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Conditionally define __ARM_FEATURE_SVE_B16B16 + * config/aarch64/aarch64-sve-builtins-sve2.def: Add AARCH64_FL_SVE2 + to the SVE2p1 requirements. Add SVE_B16B16 forms of existing + intrinsics. + * config/aarch64/aarch64-sve-builtins.cc (type_suffixes): Treat + bfloat as a floating-point type. + (TYPES_h_bfloat): New macro. + * config/aarch64/aarch64.md (is_bf16, is_rev, supports_bf16_rev) + (mode_enabled): New attributes. + (enabled): Test mode_enabled. + * config/aarch64/iterators.md (SVE_FULL_F_BF): New mode iterator. + (SVE_CLAMP_F): Likewise. + (SVE_Fx24): Add BF16 modes when TARGET_SSVE_B16B16. + (sve_lane_con): Handle BF16 modes. + (b): Handle SF and DF modes. + (is_bf16): New mode attribute. + (supports_bf16, supports_bf16_rev): New int attributes. + * config/aarch64/predicates.md + (aarch64_sve_float_maxmin_immediate): Reject BF16 modes. + * config/aarch64/aarch64-sve.md + (*post_ra_<sve_fp_op><mode>3): Add BF16 support, and likewise + for the associated define_split. + (<optab:SVE_COND_FP_BINARY_OPTAB><mode>): Add BF16 support. + (@cond_<optab:SVE_COND_FP_BINARY><mode>): Likewise. + (*cond_<optab:SVE_COND_FP_BINARY><mode>_2_relaxed): Likewise. + (*cond_<optab:SVE_COND_FP_BINARY><mode>_2_strict): Likewise. + (*cond_<optab:SVE_COND_FP_BINARY><mode>_3_relaxed): Likewise. + (*cond_<optab:SVE_COND_FP_BINARY><mode>_3_strict): Likewise. + (*cond_<optab:SVE_COND_FP_BINARY><mode>_any_relaxed): Likewise. + (*cond_<optab:SVE_COND_FP_BINARY><mode>_any_strict): Likewise. + (@aarch64_mul_lane_<mode>): Likewise. + (<optab:SVE_COND_FP_TERNARY><mode>): Likewise. + (@aarch64_pred_<optab:SVE_COND_FP_TERNARY><mode>): Likewise. + (@cond_<optab:SVE_COND_FP_TERNARY><mode>): Likewise. + (*cond_<optab:SVE_COND_FP_TERNARY><mode>_4_relaxed): Likewise. + (*cond_<optab:SVE_COND_FP_TERNARY><mode>_4_strict): Likewise. + (*cond_<optab:SVE_COND_FP_TERNARY><mode>_any_relaxed): Likewise. + (*cond_<optab:SVE_COND_FP_TERNARY><mode>_any_strict): Likewise. + (@aarch64_<optab:SVE_FP_TERNARY_LANE>_lane_<mode>): Likewise. + * config/aarch64/aarch64-sve2.md + (@aarch64_pred_<optab:SVE_COND_FP_BINARY><mode>): Define BF16 version. + (@aarch64_sve_fclamp<mode>): Add BF16 support. + (*aarch64_sve_fclamp<mode>_x): Likewise. + (*aarch64_sve_<maxmin_uns_op><SVE_Fx24:mode>): Likewise. + (*aarch64_sve_single_<maxmin_uns_op><SVE_Fx24:mode>): Likewise. + * config/aarch64/aarch64.cc (aarch64_sve_float_arith_immediate_p) + (aarch64_sve_float_mul_immediate_p): Return false for BF16 modes. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sme.md (@aarch64_sme_write<mode>) + (*aarch64_sme_write<mode>_plus): Use UNSPEC_SME_WRITE instead + of UNSPEC_SME_READ. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/iterators.md (SME_READ): Rename to... + (SME_READ_HV): ...this. + (SME_WRITE): Rename to... + (SME_WRITE_HV): ...this. + * config/aarch64/aarch64-sme.md: Update accordingly. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/iterators.md (SVE_COND_FP): New code attribute. + * config/aarch64/aarch64-sve.md: Use a single define_split to + handle the conversion of predicated FADD, FSUB, and FMUL into + unpredicated forms. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/iterators.md (SME_ZA_SDF_I): Delete. + (SME_MOP_HSDF): Replace with... + (SME_MOP_SDF): ...this. + * config/aarch64/aarch64-sme.md: Change the non-widening FMLA and + FMLS patterns so that both mode parameters are the same, rather than + using both SME_ZA_SDF_I and SME_ZA_SDFx24 and checking that their + element sizes are the same. Split the FMOPA and FMOPS patterns + into separate non-widening and widening forms, then update the + non-widening forms in a similar way to FMLA and FMLS. + * config/aarch64/aarch64-sve-builtins-functions.h + (sme_2mode_function_t::expand): If the two type suffixes have the same + element size, use the vector tuple mode for both mode parameters. + +2024-11-20 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.cc (legitimize_tls_address) + <TLS_MODEL_INITIAL_EXEC>: Remove 64-bit Solaris ld workaround. + * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Remove. + (tls_initial_exec_64_sun): Remove. + +2024-11-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117574 + * tree-ssa-loop-niter.cc (number_of_iterations_lt_to_ne): + Use the obvious may_be_zero condition. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * machmode.h (opt_mode::opt_mode): New overload. + * optabs-query.h (get_absneg_bit_mode): Declare. + * optabs-query.cc (get_absneg_bit_mode): New function, split + out from expand_absneg_bit. + (can_open_code_p): Use get_absneg_bit_mode. + * optabs.cc (expand_absneg_bit): Likewise. Take an outer and inner + mode, rather than just one. Handle vector modes. + (expand_unop, expand_abs_nojump): Update calls accordingly. + Handle vector modes. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-data-refs.cc (vect_supportable_dr_alignment): Use + can_implement_p instead of optab_handler. + * tree-vect-generic.cc (add_rshift, expand_vector_divmod): Likewise. + (optimize_vector_constructor, type_for_widest_vector_mode): Likewise. + (lower_vec_perm, expand_vector_operations_1): Likewise. + * tree-vect-loop.cc (have_whole_vector_shift): Likewise. + * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise. + (target_has_vecop_for_code, vect_recog_mult_pattern): Likewise. + (vect_recog_divmod_pattern): Likewise. + * tree-vect-stmts.cc (vect_supportable_shift, vectorizable_shift) + (scan_store_can_perm_p, check_scan_store, vectorizable_store) + (vectorizable_load, vectorizable_condition): Likewise. + (vectorizable_comparison_1): Likewise. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * optabs-query.cc (can_open_code_p, can_implement_p): Declare. + * optabs-query.h (can_open_code_p, can_implement_p): New functions. + * optabs-tree.cc (target_supports_op_p): Use can_implement_p. + * tree-vect-stmts.cc (vectorizable_operation): Likewise. + * tree-vect-generic.cc (get_compute_type): Likewise. Remove code + parameter. + (expand_vector_scalar_condition, expand_vector_conversion) + (expand_vector_operations_1): Update calls accordingly. + +2024-11-20 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/arm/arm.cc (arm_mve_dlstp_check_dec_counter): Call + single_pred_p to verify it's safe to call single_pred. + +2024-11-20 Feng Wang <wangfeng@eswincomputing.com> + + PR target/117669 + * config/riscv/vector-iterators.md: + +2024-11-20 MayShao-oc <MayShao-oc@zhaoxin.com> + + PR target/117438 + * config/i386/i386-features.cc (TARGET_ALIGN_TIGHT_LOOPS): + default true in all processors except for m_ZHAOXIN, m_CASCADELAKE, and + m_SKYLAKE_AVX512. + * config/i386/i386.h (TARGET_ALIGN_TIGHT_LOOPS): New Macro. + * config/i386/x86-tune.def (X86_TUNE_ALIGN_TIGHT_LOOPS): + New tune + +2024-11-20 yulong <shiyulong@iscas.ac.cn> + + * common/config/riscv/riscv-common.cc: New. + * config/riscv/riscv.opt: New. + +2024-11-20 Jeff Law <jlaw@ventanamicro.com> + + PR target/117649 + * config/riscv/riscv.md (branch on masked/shifted operands): Use + arithmetic rather than logical shift for operand 1. + +2024-11-19 Georg-Johann Lay <avr@gjlay.de> + + PR target/54378 + * config/avr/avr.cc (avr_default_shift_costs): New static function. + (avr_rtx_costs_1) [ASHIFT, LSHIFTRT, ASHIFTRT]: Use it + to determine the default shift costs for shifts with a + constant shift offset. + +2024-11-19 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (ashlhi3, *ashlhi3_const_split, *ashlhi3_const) + (*ashlpsi3_split, *ashlpsi3) + (ashlsi3, *ashlsi3_const_split, *ashlsi3_const) + (ashrhi3, *ashrhi3, ashrpsi3, *ashrpsi3, ashrsi3, *ashrsi3) + (*ashrhi3_const_split, *ashrhi3_const, *ashrsi3_const_split, *ashrsi3_const): + Add constraint alternatives that allow a 3-operand operation when the + shift offset is one less than the mode's bitsize. + * config/avr/avr.cc (ashl<mode>3_out, ashr<mode>3_out) + (lshr<mode>3_out): Use avr_asm_len for asm_out and length tracking. + (ashrhi3_out, ashlhi3_out): Support the new "r,r,C15" alternatives. + (ashrsi3_out, ashlsi3_out): Support the new "r,r,C31" alternatives. + (avr_out_ashrpsi3, avr_out_ashlpsi3): Support the new "r,r,C23" alternatives. + +2024-11-19 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.h (avr_args.has_stack_args): Be a bool. + (struct machine_function) <is_naked, is_noblock, is_OS_task, + is_OS_task, sibcall_fails, attributes_checked_p, is_no_gccisr, + use_L__stack_usage, gasisr.yes, gasisr.maybe>: Same. + * config/avr/avr-protos.h (reg_unused_after) + (test_hard_reg_class, jump_over_one_insn_p): Use bool as + return type. + * config/avr/avr.cc (reg_unused_after) + (test_hard_reg_class, jump_over_one_insn_p): Same. + (cfun->machine->attributes_checked_p, cum->has_stack_args) + (cfun->machine->use_L__stack_usage, cfun->machine->gasisr.yes) + (cfun->machine->sibcall_fails): Use like a bool. + +2024-11-19 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/riscv/riscv.cc (riscv_override_options_internal): + Set division option's default to disabled if multiplication + is not available. + +2024-11-19 Jason Merrill <jason@redhat.com> + + * warning-control.cc (has_warning_spec): Fix handling of + get_no_warning_bit. + +2024-11-19 Georg-Johann Lay <avr@gjlay.de> + + PR target/84211 + * config/avr/avr-passes.cc (memento_t::apply_insn1): Don't + use operator &= on memento_t.known but on memento_t itself. + +2024-11-19 Andrew Stubbs <ams@baylibre.com> + + PR target/117657 + * config/gcn/gcn-valu.md (mask_gather_load<mode><vnsi>): Fix bug in + maskload else patch. + +2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> + + * config/aarch64/cygming.h (TARGET_ASM_LTO_START): New. + (TARGET_ASM_LTO_END): Likewise. + * config/i386/cygming.h (TARGET_ASM_LTO_START): Update. + (TARGET_ASM_LTO_END): Likewise. + * config/i386/i386-protos.h (i386_pe_asm_lto_start): Delete. + (i386_pe_asm_lto_end): Likewise. + * config/mingw/winnt.cc (i386_pe_asm_lto_start): Rename + into ... + (mingw_pe_asm_lto_start): ... this. + (i386_pe_asm_lto_end): Rename into ... + (mingw_pe_asm_lto_end): ... this. + * config/mingw/winnt.h (mingw_pe_asm_lto_start): New. + (mingw_pe_asm_lto_end): Likewise. + +2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> + + * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): + Update. + +2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> + + * config/aarch64/aarch64-coff.h (LOCAL_LABEL_PREFIX): + Use "." as the local label prefix. + (ASM_OUTPUT_ALIGNED_LOCAL): Remove. + (ASM_OUTPUT_LOCAL): New. + * config/aarch64/cygming.h (ASM_OUTPUT_EXTERNAL_LIBCALL): + Update. + (ASM_DECLARE_OBJECT_NAME): New. + (ASM_DECLARE_FUNCTION_NAME): New. + * config/i386/cygming.h (ASM_DECLARE_COLD_FUNCTION_NAME): + Update. + (ASM_OUTPUT_EXTERNAL_LIBCALL): Update. + * config/mingw/winnt.cc (mingw_pe_declare_function_type): + Rename into ... + (mingw_pe_declare_type): ... this. + (i386_pe_start_function): Update. + * config/mingw/winnt.h (mingw_pe_declare_function_type): + Rename into ... + (mingw_pe_declare_type): ... this. + +2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> + + * config/aarch64/aarch64.cc (aarch64_classify_symbol): + Disable GOT for PECOFF target. + +2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> + + * config.gcc: Add missing dependencies. + +2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> + + * config/aarch64/aarch64.cc (TARGET_ASM_UNALIGNED_HI_OP): + Enable DWARF. + (TARGET_ASM_UNALIGNED_SI_OP): Likewise. + (TARGET_ASM_UNALIGNED_DI_OP): Likewise. + * config/aarch64/cygming.h (DWARF2_DEBUGGING_INFO): Likewise. + (PREFERRED_DEBUGGING_TYPE): Likewise. + (DWARF2_UNWIND_INFO): Likewise. + (ASM_OUTPUT_DWARF_OFFSET): Likewise. + +2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com> + + * config/aarch64/cygming.h (SUB_TARGET_RECORD_STUB): Request + declaration for weak symbols. + (PE_COFF_LEGITIMIZE_EXTERN_DECL): Legitimize external + declaration for weak symbols. + * config/i386/cygming.h (SUB_TARGET_RECORD_STUB): Update + declarations in ix86 with the same functionality. + (PE_COFF_LEGITIMIZE_EXTERN_DECL): Likewise. + * config/mingw/winnt-dll.cc (legitimize_pe_coff_symbol): + Support declaration for weak symbols if requested. + * config/mingw/winnt.cc (struct stub_list): Likewise. + (mingw_pe_record_stub): Likewise. + (mingw_pe_file_end): Likewise. + * config/mingw/winnt.h (mingw_pe_record_stub): Likewise. + +2024-11-19 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-v.cc (shuffle_merge_patterns): Load VLS + indices directly. + +2024-11-19 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/117297 + * recog.h (temporarily_undo_changes, redo_changes): Delete in + favor of... + (undo_recog_changes): ...this new RAII class. + * fwprop.cc (should_replace_address): Update accordingly. + (fwprop_propagation::check_mem): Likewise. + (try_fwprop_subst_note): Likewise. + (try_fwprop_subst_pattern): Likewise. + * rtl-ssa/insns.cc (insn_info::calculate_cost): Likewise. + * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Temporarily + undo all in-progress changes while computing the cost of the original + sequence. + * recog.cc (temporarily_undone_changes): Replace with... + (undo_recog_changes::s_num_changes): ...this static member variable. + (validate_change_1): Update check accordingly. + (confirm_change_group): Likewise. + (num_validated_changes): Likewise. + (temporarily_undo_changes): Replace with... + (undo_recog_changes::undo_recog_changes): ...this constructor. + (redo_changes): Replace with... + (undo_recog_changes::~undo_recog_changes): ...this destructor. + +2024-11-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117458 + * expr.cc (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Don't + call extract_bit_field if op0 has complex mode and isn't a MEM, + instead first force op0 into memory and then call extract_bit_field. + +2024-11-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117459 + * gimple-lower-bitint.cc (bitint_large_huge::handle_stmt, + bitint_large_huge::lower_stmt): Handle PAREN_EXPR. + +2024-11-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117571 + * gimple-lower-bitint.cc (bitint_large_huge::lower_muldiv_stmt, + bitint_large_huge::lower_stmt, stmt_needs_operand_addr, + build_bitint_stmt_ssa_conflicts, gimple_lower_bitint): Handle + EXACT_DIV_EXPR like TRUNC_DIV_EXPR. + +2024-11-19 David Malcolm <dmalcolm@redhat.com> + + * config/avr/avr.opt.urls: Regenerate for + r15-5415-gc3db52bb47913a. + +2024-11-19 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (add_to_fieldlist): New function. + (add_struct_member): Call recursively to flatten structs, and call + add_to_fieldlist. + (add_struct_static_member): Call add_to_fieldlist. + (add_struct_function): Call add_to_fieldlist. + (add_struct_inheritance): Call add_to_fieldlist. + (add_struct_nested_type): Call add_to_fieldlist. + (get_type_num_struct): Move code to add_to_fieldlist, and move + responsibility for this to subfunctions. + +2024-11-19 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_leaf_type): Add LF_NESTTYPE. + (struct codeview_subtype): Add lf_nesttype to union. + (flush_deferred_types): Add declaration. + (write_lf_fieldlist): Handle LF_NESTTYPE. + (codeview_debug_finish): Call flush_deferred_types. + (add_struct_nested_type): New function. + (get_type_num_struct): Call add_struct_nested_type, and if nested make + that parent is added. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + PR other/96032 + * Makefile.in (lang_checks): If libdiagnostics is enabled, add + check-sarif-replay. + (SARIF_REPLAY_OBJS): New. + (ALL_HOST_OBJS): If libdiagnostics is enabled, add + $(SARIF_REPLAY_OBJS). + (sarif-replay): New. + (install-libdiagnostics): Add sarif-replay to deps, and install + it. + * configure: Regenerate. + * configure.ac (check_languages): If libdiagnostics is enabled, + add check-sarif-replay. + (LIBDIAGNOSTICS): If libdiagnostics is enabled, add sarif-replay. + * doc/install.texi (--enable-libdiagnostics): Note that it also + enables sarif-replay. + * libsarifreplay.cc: New file. + * libsarifreplay.h: New file. + * sarif-replay.cc: New file. + * sarif-spec-urls.def: New file. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS-libcommon): Add json-parsing.o. + * json-parsing.cc: New file. + * json-parsing.h: New file. + * json.cc (selftest::assert_print_eq): Remove "static". + * json.h (json::array::begin): New. + (json::array::end): New. + (json::array::length): New. + (json::array::get): New. + (is_a_helper <json::value *>::test): New. + (is_a_helper <const json::value *>::test): New. + (is_a_helper <json::object *>::test): New. + (is_a_helper <const json::object *>::test): New. + (is_a_helper <json::array *>::test): New. + (is_a_helper <const json::array *>::test): New. + (is_a_helper <json::float_number *>::test): New. + (is_a_helper <const json::float_number *>::test): New. + (is_a_helper <json::integer_number *>::test): New. + (is_a_helper <const json::integer_number *>::test): New. + (is_a_helper <json::string *>::test): New. + (is_a_helper <const json::string *>::test): New. + (selftest::assert_print_eq): New decl. + * selftest-run-tests.cc (selftest::run_tests): Call + selftest::json_parser_cc_tests. + * selftest.h (selftest::json_parser_cc_tests): New decl. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + * configure.ac (check_languages): Add check-libdiagnostics. + (--enable-libdiagnostics): New. + * configure: Regenerate. + * Makefile.in (enable_libdiagnostics): New. + (lang_checks): If libdiagnostics is enabled, add + check-libdiagnostics. + (ALL_HOST_OBJS): If libdiagnostics is enabled, add + $(libdiagnostics_OBJS). + (start.encap): Add LIBDIAGNOSTICS. + (libdiagnostics_OBJS): New. + (LIBDIAGNOSTICS_VERSION_NUM): New, adapted from code in + jit/Make-lang.in. + (LIBDIAGNOSTICS_MINOR_NUM): Likewise. + (LIBDIAGNOSTICS_RELEASE_NUM): Likewise. + (LIBDIAGNOSTICS_FILENAME): Likewise. + (LIBDIAGNOSTICS_IMPORT_LIB): Likewise. + (libdiagnostics): Likewise. + (LIBDIAGNOSTICS_AGE): Likewise. + (LIBDIAGNOSTICS_BASENAME): Likewise. + (LIBDIAGNOSTICS_SONAME): Likewise. + (LIBDIAGNOSTICS_LINKER_NAME): Likewise. + (LIBDIAGNOSTICS_COMMA): Likewise. + (LIBDIAGNOSTICS_VERSION_SCRIPT_OPTION): Likewise. + (LIBDIAGNOSTICS_SONAME_OPTION): Likewise. + (LIBDIAGNOSTICS_SONAME_SYMLINK): Likewise. + (LIBDIAGNOSTICS_LINKER_NAME_SYMLINK): Likewise. + (LIBDIAGNOSTICS_FILENAME): Likewise. + (libdiagnostics.serial): Likewise. + (LIBDIAGNOSTICS_EXTRA_OPTS): Likewise. + (install): If libdiagnostics is enabled, add + install-libdiagnostics. + (libdiagnostics.install-headers): New. + (libdiagnostics.install-common): New, adapted from code in + jit/Make-lang.in. + (install-libdiagnostics): New. + * diagnostic-format-text.h + (diagnostic_text_output_format::get_location_text): Make public. + * doc/install.texi (--enable-libdiagnostics): New. + * doc/libdiagnostics/Makefile: New file. + * doc/libdiagnostics/conf.py: New file. + * doc/libdiagnostics/index.rst: New file. + * doc/libdiagnostics/make.bat: New file. + * doc/libdiagnostics/topics/diagnostic-manager.rst: New file. + * doc/libdiagnostics/topics/diagnostics.rst: New file. + * doc/libdiagnostics/topics/execution-paths.rst: New file. + * doc/libdiagnostics/topics/fix-it-hints.rst: New file. + * doc/libdiagnostics/topics/index.rst: New file. + * doc/libdiagnostics/topics/logical-locations.rst: New file. + * doc/libdiagnostics/topics/message-formatting.rst: New file. + * doc/libdiagnostics/topics/metadata.rst: New file. + * doc/libdiagnostics/topics/physical-locations.rst: New file. + * doc/libdiagnostics/topics/retrofitting.rst: New file. + * doc/libdiagnostics/topics/sarif.rst: New file. + * doc/libdiagnostics/topics/text-output.rst: New file. + * doc/libdiagnostics/topics/ux.rst: New file. + * doc/libdiagnostics/tutorial/01-hello-world.rst: New file. + * doc/libdiagnostics/tutorial/02-physical-locations.rst: New file. + * doc/libdiagnostics/tutorial/03-logical-locations.rst: New file. + * doc/libdiagnostics/tutorial/04-notes.rst: New file. + * doc/libdiagnostics/tutorial/05-warnings.rst: New file. + * doc/libdiagnostics/tutorial/06-fix-it-hints.rst: New file. + * doc/libdiagnostics/tutorial/07-execution-paths.rst: New file. + * doc/libdiagnostics/tutorial/index.rst: New file. + * libdiagnostics++.h: New file. + * libdiagnostics.cc: New file. + * libdiagnostics.h: New file. + * libdiagnostics.map: New file. + * doc/libdiagnostics/tutorial/example-1.png: New file. + +2024-11-18 Uros Bizjak <ubizjak@gmail.com> + + PR target/117357 + * config/i386/i386.md (*rsqrtsf2_sse): + Also enable for !TARGET_SSE_MATH. + +2024-11-18 Richard Sandiford <richard.sandiford@arm.com> + + * timevar.def (TV_LATE_COMBINE): New timevar. + * late-combine.cc (pass_data_late_combine): Use it. + +2024-11-18 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-early-ra.cc + (early_ra::IGNORE_REG): New flag. + (early_ra::fpr_preference): Handle it. + (early_ra::record_constraints): Fail the allocation if an + IGNORE_REG output operand is not independent of the inputs. + (defines_multi_def_pseudo): New function. + (early_ra::could_split_region_here): New member function, split + out from... + (early_ra::process_block): ...here. Try splitting a block into + multiple regions between the definition and use phases of an + instruction. Set IGNORE_REG on the output registers if we do so. + +2024-11-18 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-early-ra.cc + (early_ra::process_block): Check m_accurate_live_ranges + rather than m_allocation_successful when deciding whether + to split a block into multiple regions. Skip over subregions + that we decide not to allocate. + +2024-11-18 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-early-ra.cc + (early_ra::get_allocno_subgroup): Split can_change_mode_class test + out from modes_tieable_p test and only invalidate the live range + information for the former. + +2024-11-18 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-early-ra.cc + (early_ra::record_allocation_failure): New member function. + (early_ra::get_allocno_subgroup): Use it instead of setting + m_allocation_successful directly. + (early_ra::record_constraints): Likewise. + (early_ra::allocate_colors): Likewise. + +2024-11-18 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-early-ra.cc + (early_ra::record_live_range_failure): New member function. + (early_ra::m_accurate_live_ranges): New member variable. + (early_ra::start_new_region): Set m_accurate_live_ranges to true. + (early_ra::get_allocno_subgroup): Use record_live_range_failure + to abort the allocation on invalid subregs. + +2024-11-18 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-early-ra.cc + (early_ra::record_insn_refs): Split into... + (early_ra::record_insn_defs, early_ra::record_insn_call) + (early_ra::record_insn_uses): ...this new functions. + (early_ra::process_block): Update accordingly. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + PR other/116253 + * diagnostic-core.h (class auto_diagnostic_nesting_level): New. + * diagnostic-format-sarif.cc (class sarif_builder): Update leading + comment re nesting of diagnostics. + (sarif_result::on_nested_diagnostic): Add nestingLevel property. + * diagnostic-format-text.cc (on_report_diagnostic): If we're + showing nested diagnostics, then print changes of location on a + new line, indented, and update m_last_location. + (diagnostic_text_output_format::build_prefix): If m_show_nesting, + then potentially add indentation and a bullet point. + (get_bullet_point_unichar): New. + (use_unicode_p): New. + (diagnostic_text_output_format::build_indent_prefix): New. + * diagnostic-format-text.h + (diagnostic_text_output_format::diagnostic_text_output_format): + Initialize m_show_nesting and m_show_nesting_levels. + (diagnostic_text_output_format::build_indent_prefix): New decl. + (diagnostic_text_output_format::show_nesting_p): New accessor + (diagnostic_text_output_format::show_locations_in_nesting_p): + Likewise. + (diagnostic_text_output_format::set_show_nesting): New. + (diagnostic_text_output_format::set_show_locations_in_nesting): + New. + (diagnostic_text_output_format::set_show_nesting_levels): New. + (diagnostic_text_output_format::m_show_nesting): New field. + (diagnostic_text_output_format::m_show_locations_in_nesting): New + field. + (diagnostic_text_output_format::m_show_nesting_levels): New field. + * diagnostic-global-context.cc + (auto_diagnostic_nesting_level::auto_diagnostic_nesting_level): + New. + (auto_diagnostic_nesting_level::~auto_diagnostic_nesting_level): + New. + * diagnostic-show-locus.cc (layout_printer::print): Temporarily + set DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE. + * diagnostic.cc (diagnostic_context::initialize): Update for + renaming of m_nesting_depth to m_group_nesting_depth and + initialize m_diagnostic_nesting_level. + (diagnostic_context::finish): Update for renaming of + m_nesting_depth to m_group_nesting_depth. + (diagnostic_context::report_diagnostic): Likewise. + (diagnostic_context::begin_group): Likewise. + (diagnostic_context::end_group): Likewise. + (diagnostic_context::push_nesting_level): New. + (diagnostic_context::pop_nesting_level): New. + (diagnostic_context::set_diagnostic_buffer): Update for renaming + of m_nesting_depth to m_group_nesting_depth. Assert that we don't + have nested diagnostics. + * diagnostic.h (diagnostic_context::push_nesting_level): New decl. + (diagnostic_context::pop_nesting_level): New decl. + (diagnostic_context::get_diagnostic_nesting_level): New accessor. + (diagnostic_context::build_indent_prefix): New decl. + (diagnostic_context::m_diagnostic_groups): Rename m_nesting_depth + to m_group_nesting_depth and add field m_diagnostic_nesting_level. + * doc/invoke.texi (fdiagnostics-add-output): Add note about + "experimental" schemes, keys, and values. Add keys + "experimental-nesting", "experimental-nesting-show-locations", + and "experimental-nesting-show-levels" to text scheme. + * opts-diagnostic.cc (text_scheme_handler::make_sink): Add keys + "experimental-nesting", "experimental-nesting-show-locations", + and "experimental-nesting-show-levels". + +2024-11-18 Georg-Johann Lay <avr@gjlay.de> + + PR target/84211 + * doc/invoke.texi (AVR Options) [-mfuse-move]: Document new option. + * common/config/avr/avr-common.cc (avr_option_optimization_table): + Set -mfuse-move= depending on optimization level. + * config/avr/avr.opt (-mfuse-move, -mfuse-move=): New options. + * config/avr/t-avr (avr-passes.o): Depend on avr-passes-fuse-move.h. + * config/avr/avr-passes-fuse-move.h: New file, used by avr-passes.cc. + * config/avr/avr-passes.def (avr_pass_fuse_move): Insert new pass. + * config/avr/avr-passes.cc (INCLUDE_ARRAY): Define it. + (insn-attr.h): Include it. + (avr_pass_data_fuse_move): New const pass_data. + (avr_pass_fuse_move): New public rtl_opt_pass class. + (make_avr_pass_fuse_move): New function. + (gprmask_t): New typedef. + (next_nondebug_insn_bb, prev_nondebug_insn_bb) + (single_set_with_scratch, size_to_mask, size_to_mode) + (emit_valid_insn, emit_valid_move_clobbercc) + (gpr_regno_p, regmask, has_bits_in) + (find_arith, find_arith2, any_shift_p): New local functions. + (AVRasm): New namespace. + (FUSE_MOVE_MAX_MODESIZE): New define. + (avr-passes-fuse-move.h): New include. + (memento_t, absint_t, absins_byte_t, absint_val_t) + (optimize_data_t, insn_optimizedata_t, find_plies_data_t) + (insninfo_t, bbinfo_t, ply_t, plies_t): New structs / classes. + * config/avr/avr-protos.h (avr_chunk, avr_byte, avr_word, avr_int8) + (avr_uint8, avr_int16, avr_uint16) + (avr_out_set_some, avr_set_some_operation) + (output_reload_in_const, make_avr_pass_fuse_move): New protos. + (avr_dump): Depend macro definition on GCC_DUMPFILE_H. + * config/avr/avr.cc (avr_option_override): Insert after + pass "avr-fuse-move" instead of after "peephole2". + (avr_chunk, avr_byte, avr_word, avr_int8, avr_uint8, avr_int16) + (avr_uint16, output_reload_in_const): Functions are no more static. + (avr_out_set_some, avr_set_some_operation): New functions. + (ashrqi3_out, ashlqi3_out) [offset=7]: Handle "r,r,C07" alternative. + (avr_out_insert_notbit): Comment also allows QImode. + (avr_adjust_insn_length) [ADJUST_LEN_SET_SOME]: Handle case. + * config/avr/avr.md (adjust_len) <set_some>: New attribute value. + (set_some): New insn. + (andqi3, *andqi3): Add "r,r,Cb1" alternative. + (ashrqi3, *ashrqi3 ashlqi3, *ashlqi3): Add a "r,r,C07" alternative. + (gen_move_clobbercc_scratch): New emit helper. + * config/avr/constraints.md (Cb1): New constraint. + * config/avr/predicates.md (dreg_or_0_operand, set_some_operation): New. + * config/avr/avr-log.cc (avr_forward_to_printf): New static func. + (avr_log_vadump): Use it to recognize more formats. + +2024-11-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117594 + * tree-vect-loop.cc (vectorizable_live_operation_1): Pass + factor == 1 to vect_get_loop_len, insert generated stmts. + +2024-11-18 Jeff Law <jlaw@ventanamicro.com> + + PR target/117595 + * config/riscv/sync.md (atomic_compare_and_swap<mode>): Use gen_lowpart + rather than simplify_gen_subreg. + * config/riscv/riscv.cc (riscv_legitimize_move): Similarly. + +2024-11-18 Georg-Johann Lay <avr@gjlay.de> + + PR target/117659 + * config/avr/avr.cc (avr_out_ashlpsi3) [case 16]: Use %A1 as + input (instead of bogus %A0). + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec.md: Add VLS modes. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + PR middle-end/115336 + PR middle-end/116059 + * config/riscv/autovec.md: Add else operand. + * config/riscv/predicates.md (maskload_else_operand): New + predicate. + * config/riscv/riscv-v.cc (get_else_operand): Remove static. + (expand_load_store): Use get_else_operand and adjust index. + (expand_gather_scatter): Ditto. + (expand_lanes_load_store): Ditto. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + * config/i386/sse.md (maskload<mode><sseintvecmodelower>): + Call maskload<mode>..._1. + (maskload<mode><sseintvecmodelower>_1): Rename. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + * config/gcn/predicates.md (maskload_else_operand): New + predicate. + * config/gcn/gcn-valu.md: Use new predicate. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + * config/aarch64/aarch64-sve-builtins-base.cc: Add else + handling. + * config/aarch64/aarch64-sve-builtins.cc (function_expander::use_contiguous_load_insn): + Ditto. + * config/aarch64/aarch64-sve-builtins.h: Add else operand to + contiguous load. + * config/aarch64/aarch64-sve.md (@aarch64_load<SVE_PRED_LOAD:pred_load> + _<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>): + Split and add else operand. + (@aarch64_load_<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>): + Ditto. + (*aarch64_load_<ANY_EXTEND:optab>_mov<SVE_HSDI:mode><SVE_PARTIAL_I:mode>): + Ditto. + * config/aarch64/aarch64-sve2.md: Ditto. + * config/aarch64/iterators.md: Remove unused iterators. + * config/aarch64/predicates.md (aarch64_maskload_else_operand): + Add zero else operand. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + * optabs-query.cc (supports_vec_convert_optab_p): Return icode. + (get_supported_else_val): Return supported else value for + optab's operand at index. + (supports_vec_gather_load_p): Add else argument. + (supports_vec_scatter_store_p): Ditto. + * optabs-query.h (supports_vec_gather_load_p): Ditto. + (get_supported_else_val): Ditto. + * optabs-tree.cc (target_supports_mask_load_store_p): Ditto. + (can_vec_mask_load_store_p): Ditto. + (target_supports_len_load_store_p): Ditto. + (get_len_load_store_mode): Ditto. + * optabs-tree.h (target_supports_mask_load_store_p): Ditto. + (can_vec_mask_load_store_p): Ditto. + * tree-vect-data-refs.cc (vect_lanes_optab_supported_p): Ditto. + (vect_gather_scatter_fn_p): Ditto. + (vect_check_gather_scatter): Ditto. + (vect_load_lanes_supported): Ditto. + * tree-vect-patterns.cc (vect_recog_gather_scatter_pattern): + Ditto. + * tree-vect-slp.cc (vect_get_operand_map): Adjust indices for + else operand. + (vect_slp_analyze_node_operations): Skip undefined else operand. + * tree-vect-stmts.cc (exist_non_indexing_operands_for_use_p): + Add else operand handling. + (vect_get_vec_defs_for_operand): Handle undefined else operand. + (check_load_store_for_partial_vectors): Add else argument. + (vect_truncate_gather_scatter_offset): Ditto. + (vect_use_strided_gather_scatters_p): Ditto. + (get_group_load_store_type): Ditto. + (get_load_store_type): Ditto. + (vect_get_mask_load_else): Ditto. + (vect_get_else_val_from_tree): Ditto. + (vect_build_one_gather_load_call): Add zero else operand. + (vectorizable_load): Use else operand. + * tree-vectorizer.h (vect_gather_scatter_fn_p): Add else + argument. + (vect_load_lanes_supported): Ditto. + (vect_get_mask_load_else): Ditto. + (vect_get_else_val_from_tree): Ditto. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + * tree-if-conv.cc (predicate_load_or_store): Add zero else + operand and comment. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + * internal-fn.cc (add_mask_and_len_args): Rename... + (add_mask_else_and_len_args): ...to this and add else handling. + (expand_partial_load_optab_fn): Use adjusted function. + (expand_partial_store_optab_fn): Ditto. + (expand_scatter_store_optab_fn): Ditto. + (expand_gather_load_optab_fn): Ditto. + (internal_fn_len_index): Add else handling. + (internal_fn_else_index): Ditto. + (internal_fn_mask_index): Ditto. + (get_supported_else_vals): New function. + (supported_else_val_p): New function. + (internal_gather_scatter_fn_supported_p): Add else operand. + * internal-fn.h (internal_gather_scatter_fn_supported_p): Define + else constants. + (MASK_LOAD_ELSE_ZERO): Ditto. + (MASK_LOAD_ELSE_M1): Ditto. + (MASK_LOAD_ELSE_UNDEFINED): Ditto. + (get_supported_else_vals): Declare. + (supported_else_val_p): Ditto. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + * doc/md.texi: Document masked load else operand. + +2024-11-18 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117646 + * match.pd (`max<a,b>==0`): Add casts to `unsigned type`. + +2024-11-18 Jeff Law <jlaw@ventanamicro.com> + + * ext-dce.cc (maybe_clear_subreg_promoted_p): New function. + (ext_dce_execute): Call it. + +2024-11-18 Maciej W. Rozycki <macro@orcam.me.uk> + + * config/alpha/alpha.md (unaligned_store<mode>): Remove stray + `;;'. + +2024-11-18 John David Anglin <danglin@gcc.gnu.org> + + PR target/69374 + * doc/install.texi (Specific) <hppa*-hp-hpux11>: Update anchor + and heading to reflect removal of 32-bit hppa support on HP-UX. + Trim 32-bit related text. + +2024-11-17 Florian Weimer <fweimer@redhat.com> + + PR c/95445 + * doc/invoke.texi: Document -Wdeprecated-non-prototype. + +2024-11-17 Jason Merrill <jason@redhat.com> + + * doc/cppopts.texi: Document -fsearch-include-path. + * doc/invoke.texi: Mention it for modules. + +2024-11-17 Jan Hubicka <hubicka@ucw.cz> + + * ipa-fnsummary.cc (find_necessary_statements): ASM statements are + necessary. + +2024-11-17 Jan Hubicka <hubicka@ucw.cz> + + * ipa-modref.cc (modref_summary::useful_p): const/pure implies + determinism. + (modref_summary_lto::useful_p): Likewise. + (ignore_nondeterminism_p): Add CALLEE_FNTYPE parameter; check for + reproducible/unsequenced + (modref_access_analysis::record_access_p): Use ignore_nondeterminism_p + when handling volatile accesses. + (modref_access_analysis::get_access_for_fnspec): Update. + (modref_access_analysis::process_fnspec): Cleanup handling of NOVOPS. + (modref_access_analysis::analyze_call): Use ignore_nondeterminism_p + when handling asm statements. + (modref_access_analysis::analyze_stmt): Update. + (propagate_unknown_call): Update. + (modref_propagate_in_scc): Update. + (ipa_merge_modref_summary_after_inlining): Update. + +2024-11-16 Jan Hubicka <hubicka@ucw.cz> + + * ipa-modref.cc (ipa_modref_callee_reads_no_memory_p): New function. + * ipa-modref.h (ipa_modref_callee_reads_no_memory_p): Declare + * tree-ssa-dce.cc (propagate_necessity): Use it. + +2024-11-16 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115275 + * match.pd (umax(a,b) ==/!= 0): New pattern. + +2024-11-16 Eikansh Gupta <quic_eikagupt@quicinc.com> + + PR tree-optimization/109401 + * match.pd (min(a,b) op max(a,b) -> a op b): New pattern. + +2024-11-16 Georg-Johann Lay <avr@gjlay.de> + + PR target/116781 + * config/avr/avr.md (*tablejump_split, *tablejump): Add + operand 2 as a "scratch_operand" instead of a match_dup. + (casesi): Adjust expander operands accordingly. Use a scratch:HI + when the jump address is not clobbered. This is the case for a + 2-byte PC + has no JMP instruction. In all the other cases, the + affected operand is REG_Z (reg:HI 30). + (casesi_<mode>_sequence): Adjust matcher to new anatomy. + * config/avr/avr-passes.cc (avr_is_casesi_sequence) + (avr_is_casesi_sequence, avr_optimize_casesi) + (avr_casei_sequence_check_operands): Adjust to new anatomy. + +2024-11-16 Georg-Johann Lay <avr@gjlay.de> + + PR target/117500 + * config/avr/avr.cc (avr_print_operand) [code = 'i']: Use + output_operand_lossage on bad operands instead of fatal_insn. + +2024-11-16 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md: Add a peephole2 that improves bit operations + with a lower register and a constant. + +2024-11-16 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <hppa*-hp-hpux11>: Remove references + to HP/UX linker patch from 2004 and Binutils 2.14. + +2024-11-16 Richard Biener <rguenther@suse.de> + + * params.opt (vect-force-slp): Default to 1. + +2024-11-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117606 + * tree-vect-stmts.cc (get_group_load_store_type): For single + element interleaving also fall back to VMAT_ELEMENTWISE if + a left-over permutation isn't supported. + +2024-11-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117605 + * tree-vect-stmts.cc (get_group_load_store_type): Also + apply group size limit for single-element interleaving + to VMAT_CONTIGUOUS_REVERSE. + +2024-11-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117558 + * tree-vectorizer.h (_loop_vec_info::must_use_partial_vectors_p): New. + (LOOP_VINFO_MUST_USE_PARTIAL_VECTORS_P): Likewise. + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialize + must_use_partial_vectors_p. + (vect_determine_partial_vectors_and_peeling): Enforce it. + (vect_analyze_loop_2): Reset before restarting. + * tree-vect-stmts.cc (get_group_load_store_type): When peeling + a single gap iteration cannot be determined safe statically + enforce the use of partial vectors. + +2024-11-16 Jan Hubicka <hubicka@ucw.cz> + + PR tree-optimization/109442 + * ipa-fnsummary.cc (builtin_unreachable_bb_p): New function. + (guards_builtin_unreachable): New function. + (STMT_NECESSARY): New macro. + (mark_stmt_necessary): New function. + (mark_operand_necessary): New function. + (find_necessary_statements): New function. + (analyze_function_body): Use it. + +2024-11-15 Joseph Myers <josmyers@redhat.com> + + * doc/invoke.texi (-std=gnu17, -std=gnu23): Document -std=gnu23 as + default for C code. + +2024-11-15 Jennifer Schmitz <jschmitz@nvidia.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/117093 + * match.pd: Extend + (bit_insert @0 (BIT_FIELD_REF@2 @1 @rsize @rpos) @ipos) to allow + type differences between @0 and @1 due to view converts. + +2024-11-15 John David Anglin <danglin@gcc.gnu.org> + + PR target/117564 + * config/pa/pa.md: Fix typos in 32-bit SFmode peephole2 patterns. + +2024-11-15 Joseph Myers <josmyers@redhat.com> + + PR c/117164 + * tree-nested.cc: Include "attribs.h". + (check_for_nested_with_variably_modified): Also return true for + variably modified return type. + (create_nesting_tree): If check_for_nested_with_variably_modified + returns true, also add noclone attribute. + +2024-11-15 Richard Biener <rguenther@suse.de> + + * optabs-query.h (get_vcond_icode): Remove. + (get_vcond_eq_icode): Likewise. + * optabs-tree.h (expand_vec_cond_expr_p): Remove code + argument. + * optabs-tree.cc (expand_vec_cond_expr_p): Likewise. + (vcond_icode_p): Remove. + (vcond_eq_icode_p): Likewise. + * optabs.h (can_vcond_compare_p): Remove. + * optabs.cc (can_vcond_compare_p): Likewise. + +2024-11-15 Richard Biener <rguenther@suse.de> + + * gimple-isel.cc (gimple_expand_vec_cond_expr): If not + simplifying or lowering, always expand to .VCOND_MASK. + (pass_gimple_isel::execute): Simplify. + +2024-11-15 Richard Biener <rguenther@suse.de> + + * tree-vect-generic.cc (expand_vector_comparison): Lower + vector comparisons that we cannot trivially expand. Remove + code dealing with uses in VEC_COND_EXPRs. + (expand_vector_condition): Lower vector conditions that we + cannot trivially expand. Remove code dealing with comparison + mask definitions. + (expand_vector_operation): Drop dce_ssa_names. + (expand_vector_operations_1): Likewise. + +2024-11-15 Florian Weimer <fweimer@redhat.com> + + * doc/invoke.texi: Document Wmissing-parameter-name. + +2024-11-15 Florian Weimer <fweimer@redhat.com> + + * varasm.cc (get_section): Include name of section in + diagnostic messages. + +2024-11-15 Jakub Jelinek <jakub@redhat.com> + + * tree-core.h (enum tree_index): Add TI_DFLOAT64X_TYPE. + * tree.h (dfloat64x_type_node): Define. + * tree.cc (build_common_tree_nodes): Initialize dfloat64x_type_node. + * builtin-types.def (BT_DFLOAT64X): New DEF_PRIMITIVE_TYPE. + (BT_FN_DFLOAT64X): New DEF_FUNCTION_TYPE_0. + (BT_FN_DFLOAT64X_CONST_STRING, BT_FN_DFLOAT64X_DFLOAT64X): New + DEF_FUNCTION_TYPE_1. + * builtins.def (BUILT_IN_FABSD64X, BUILT_IN_INFD64X, BUILT_IN_NAND64X, + BUILT_IN_NANSD64X): New builtins. + * builtins.cc (expand_builtin): Handle BUILT_IN_FABSD64X. + (fold_builtin_0): Handle BUILT_IN_INFD64X. + (fold_builtin_1): Handle BUILT_IN_FABSD64X. + * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NAND64X + and CFN_BUILT_IN_NANSD64X. + * ginclude/float.h (DEC64X_MANT_DIG, DEC64X_MIN_EXP, DEC64X_MAX_EXP, + DEC64X_MAX, DEC64X_EPSILON, DEC64X_MIN, DEC64X_TRUE_MIN, + DEC64X_SNAN): Redefine. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Refactor the + handlings of vector integer comparison. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Refine the + handlings for operators GE/GEU/LE/LEU. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Refactor the + handlings for operator NE. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Refine the + handlings for operators LT and LTU. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare_inner): Remove. + (rs6000_emit_vector_compare): Emit rtx comparison for operators EQ/ + GT/GTU directly. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare_inner): Emit rtx + comparison for operators LT/UNGE of MODE_VECTOR_FLOAT directly. + (rs6000_emit_vector_compare): Move assertion of no MODE_VECTOR_FLOAT to + function beginning. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Emit rtx + comparison for operators LE/UNGT of MODE_VECTOR_FLOAT directly. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare): Emit rtx + comparison for operators NE/UNLE/UNLT of MODE_VECTOR_FLOAT directly. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_emit_vector_compare_inner): Move + MODE_VECTOR_FLOAT handlings out. + (rs6000_emit_vector_compare): Emit rtx comparison for operators EQ/GT/ + GE/UNORDERED/ORDERED/UNEQ/LTGT of MODE_VECTOR_FLOAT directly, and + adjust one call site of rs6000_emit_vector_compare_inner to + rs6000_emit_vector_compare. + +2024-11-14 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/vector.md (mov<mode> pattern/splitter): Fix type and + other attributes. + (mov<VLS_AVL_REG:mode><P:mode>_lra): Likewise. + +2024-11-14 Sam James <sam@gentoo.org> + + * configure: Regenerate. + +2024-11-14 Denis Chertykov <chertykov@gmail.com> + + PR rtl-optimization/117191 + * lra-spills.cc (spill_pseudos): Mark a CLOBBER insn with pseudo + spilled to memory for removing it later together with LRA temporary + CLOBBER insns. + +2024-11-14 Martin Jambor <mjambor@suse.cz> + + PR ipa/114985 + * ipa-cp.cc (ipa_vr_intersect_with_arith_jfunc): New function. + (ipa_value_range_from_jfunc): Move the common functionality to the + above new function, adjust the rest so that it works with it well. + (propagate_vr_across_jump_function): Likewise. + +2024-11-14 Jan Hubicka <hubicka@ucw.cz> + + * common.opt.urls: Fix. + +2024-11-14 Richard Ball <richard.ball@arm.com> + Yury Khrustalev <yury.khrustalev@arm.com> + + * doc/extend.texi: Add AArch64 docs for indirect_return + attribute. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + Yury Khrustalev <yury.khrustalev@arm.com> + + * config/aarch64/aarch64.cc (aarch64_gnu_attributes): Add + indirect_return. + (aarch64_gen_callee_cookie): Use indirect_return attribute. + (aarch64_callee_indirect_return): New. + (aarch_fun_is_indirect_return): New. + (aarch64_function_ok_for_sibcall): Disallow tail calls if caller + is non-indirect_return but callee is indirect_return. + (aarch64_function_arg): Add indirect_return to cookie. + (aarch64_init_cumulative_args): Record indirect_return in + CUMULATIVE_ARGS. + (aarch64_comp_type_attributes): Check indirect_return attribute. + (aarch64_output_mi_thunk): Add indirect_return to cookie. + * config/aarch64/aarch64.h (CUMULATIVE_ARGS): Add new field + indirect_return. + * config/aarch64/aarch64.md (tlsdesc_small_<mode>): Update. + * config/aarch64/aarch64-opts.h (AARCH64_NUM_ABI_ATTRIBUTES): New. + * config/aarch64/aarch64-protos.h (aarch64_gen_callee_cookie): Update. + * config/arm/aarch-bti-insert.cc (call_needs_bti_j): New. + (rest_of_insert_bti): Use call_needs_bti_j. + * config/arm/aarch-common-protos.h + (aarch_fun_is_indirect_return): New. + * config/arm/arm.cc + (aarch_fun_is_indirect_return): New. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/aarch64/aarch64.cc (GNU_PROPERTY_AARCH64_FEATURE_1_GCS): + Define. + (aarch64_file_end_indicate_exec_stack): Set GCS property bit. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define + macros for GCS. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/aarch64/aarch64.h (STACK_SAVEAREA_MODE): Make space for gcs. + * config/aarch64/aarch64.md (save_stack_nonlocal): New. + (restore_stack_nonlocal): New. + * tree-nested.cc (get_nl_goto_field): Updated. + +2024-11-14 Yury Khrustalev <yury.khrustalev@arm.com> + + * config/aarch64/arm_acle.h (__gcspr): New. + (__gcspopm): New. + (__gcsss): New. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc (enum aarch64_builtins): Add + AARCH64_BUILTIN_GCSPR, AARCH64_BUILTIN_GCSPOPM, AARCH64_BUILTIN_GCSSS. + (aarch64_init_gcs_builtins): New. + (aarch64_general_init_builtins): Call aarch64_init_gcs_builtins. + (aarch64_expand_gcs_builtin): New. + (aarch64_general_expand_builtin): Call aarch64_expand_gcs_builtin. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/aarch64/aarch64.md (aarch64_load_gcspr): New. + (aarch64_gcspopm): New. + (aarch64_gcspopm_xzr): New. + (aarch64_gcsss1): New. + (aarch64_gcsss2): New. + Co-authored-by: Richard Sandiford <richard.sandiford@arm.com> + +2024-11-14 Yury Khrustalev <yury.khrustalev@arm.com> + + * config/aarch64/arm_acle.h (__chkfeat): New. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/aarch64/aarch64-builtins.cc (enum aarch64_builtins): + Define AARCH64_BUILTIN_CHKFEAT. + (aarch64_general_init_builtins): Handle chkfeat. + (aarch64_general_expand_builtin): Handle chkfeat. + Co-authored-by: Richard Sandiford <richard.sandiford@arm.com> + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/aarch64/aarch64.md (aarch64_chkfeat): New. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/aarch64/aarch64-protos.h (aarch_gcs_enabled): Declare. + * config/aarch64/aarch64.cc (aarch_gcs_enabled): Define. + (aarch_handle_no_branch_protection): Handle gcs. + (aarch_handle_standard_branch_protection): Handle gcs. + (aarch_handle_gcs_protection): New. + * config/aarch64/aarch64.opt: Add aarch_enable_gcs. + * configure: Regenerate. + * configure.ac: Handle gcs in --enable-standard-branch-protection. + * doc/invoke.texi: Document -mbranch-protection=gcs. + +2024-11-14 Jan Hubicka <hubicka@ucw.cz> + + PR tree-optimization/117370 + * common.opt: Add -fmalloc-dce. + * common.opt.urls: Update. + * doc/invoke.texi: Document it; also add missing -flifetime-dse entry. + * tree-ssa-dce.cc (is_removable_allocation_p): Break out from + ... + (mark_stmt_if_obviously_necessary): ... here; also check that + operator new satisfies gimple_call_from_new_or_delete. + (checks_return_value_of_removable_allocation_p): New Function. + (mark_all_reaching_defs_necessary_1): add missing case for + STRDUP and STRNDUP + (propagate_necessity): Use is_removable_allocation_p and + checks_return_value_of_removable_allocation_p. + (eliminate_unnecessary_stmts): Update conditionals that use + removed allocation; use is_removable_allocation_p. + +2024-11-14 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): Do not + exempt cpart_size == cnunits from failing. + +2024-11-14 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): Add missing + braces. + +2024-11-14 Martin Jambor <mjambor@suse.cz> + + * ipa-prop.h (ipa_dump_jump_function): Declare. + * ipa-prop.cc (ipa_dump_jump_function): New function. + (ipa_print_node_jump_functions_for_edge): Move printing of + individual jump functions to the new function. + +2024-11-14 Martin Jambor <mjambor@suse.cz> + + * ipa-prop.h (ipa_print_constant_value): Declare. + * ipa-prop.cc (ipa_print_constant_value): Make public. + * ipa-cp.cc (print_ipcp_constant_value): Re-add this overloaded + function for printing tree constants. + +2024-11-14 Richard Biener <rguenther@suse.de> + + * tree-vect-generic.cc (expand_vector_divmod): Query vector + comparison and vec_cond_mask capability. + +2024-11-14 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vectorizable_condition): Refactor + target support check. + +2024-11-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117567 + * tree-vect-slp.cc (vect_build_slp_tree_2): Handle not present + lanes when doing re-association. + +2024-11-14 Andrew Pinski <quic_apinski@quicinc.com> + + * cfgexpand.cc (add_scope_conflicts): Return right away + if there are only one stack variable. + +2024-11-14 Eikansh Gupta <quic_eikagupt@quicinc.com> + + PR tree-optimization/109906 + * match.pd (a rrotate (32-b) -> a lrotate b): New pattern + (a lrotate (32-b) -> a rrotate b): New pattern + +2024-11-14 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): For + VMAT_ELEMENTWISE there's no overrun. + +2024-11-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117554 + * tree-vect-stmts.cc (get_group_load_store_type): We can + use gather/scatter only for a single-lane single element group + access. + +2024-11-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117559 + * tree-vect-slp.cc (vect_mark_slp_stmts): Pass in vinfo, + mark all mask defs of a load/store-lane .MASK_LOAD/STORE + as pure. + (vect_make_slp_decision): Adjust. + (vect_slp_analyze_bb_1): Likewise. + +2024-11-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117556 + PR tree-optimization/117553 + * tree-vect-stmts.cc (vect_analyze_stmt): Do not analyze + the SLP load-lanes node for live lanes, but only the + permute node. + (vect_transform_stmt): Likewise for the transform. + +2024-11-14 Hongyu Wang <hongyu.wang@intel.com> + + PR target/117495 + * config/i386/i386.md (cstorebf4): Use ix86_fp_comparison_operator + and calls ix86_expand_setcc directly. + +2024-11-13 Jin Ma <jinma@linux.alibaba.com> + + PR target/116591 + * config/riscv/vector.md: Add restriction to call pred_th_whole_mov. + +2024-11-13 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-protos.h + (aarch64_required_extensions::common_denominator): New member + function. + * config/aarch64/aarch64-sve-builtins-base.def: Remove zero-variant + entry for mmla. + * config/aarch64/aarch64-sve-builtins-shapes.cc (mmla_def): Remove + support for it. + * config/aarch64/aarch64-sve-builtins.cc + (function_builder::add_overloaded): Relax the assert for duplicate + definitions and instead calculate the common denominator of all + requirements. + +2024-11-13 Filip Kastl <fkastl@suse.cz> + + PR target/56504 + * config/i386/i386-options.cc (ix86_option_override_internal): + Add ix86_veclibabi_type_aocl case. + * config/i386/i386-options.h (ix86_veclibabi_aocl): Add extern + ix86_veclibabi_aocl(). + * config/i386/i386-opts.h (enum ix86_veclibabi): Add + ix86_veclibabi_type_aocl into the ix86_veclibabi enum. + * config/i386/i386.cc (ix86_veclibabi_aocl): New function. + * config/i386/i386.opt: Add the 'aocl' type. + * doc/invoke.texi: Document -mveclibabi=aocl. + +2024-11-13 John David Anglin <danglin@gcc.gnu.org> + + PR target/117525 + * config/pa/pa.md (fix_truncsfsi2): Remove inner `fix:SF`. + (fix_truncdfsi2, fix_truncsfdi2, fix_truncdfdi2, + fixuns_truncsfsi2, fixuns_truncdfsi2, fixuns_truncsfdi2, + fixuns_truncdfdi2): Likewise. + +2024-11-13 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-path.cc (diagnostic_event::get_desc): Add param + "ref_pp" and use instead of global_dc. + (class path_label): Likewise, adding field m_ref_pp. + (event_range::event_range): Add param "ref_pp" and pass to + m_path_label. + (path_summary::path_summary): Add param "ref_pp" and pass to + event_range ctor. + (diagnostic_text_output_format::print_path): Pass *pp to + path_summary ctor. + (selftest::test_empty_path): Pass *event_pp to pass_summary ctor. + (selftest::test_intraprocedural_path): Likewise. + (selftest::test_interprocedural_path_1): Likewise. + (selftest::test_interprocedural_path_2): Likewise. + (selftest::test_recursion): Likewise. + (selftest::test_control_flow_1): Likewise. + (selftest::test_control_flow_2): Likewise. + (selftest::test_control_flow_3): Likewise. + (selftest::assert_cfg_edge_path_streq): Likewise. + (selftest::test_control_flow_5): Likewise. + (selftest::test_control_flow_6): Likewise. + * diagnostic-path.h (diagnostic_event::get_desc): Add param + "ref_pp". + * lazy-diagnostic-path.cc (selftest::test_intraprocedural_path): + Pass *event_pp to get_desc. + * simple-diagnostic-path.cc (selftest::test_intraprocedural_path): + Likewise. + +2024-11-13 Soumya AR <soumyaa@nvidia.com> + + PR target/57492 + * match.pd: Added patterns to fold calls to pow to ldexp and optimize + specific ldexp calls. + +2024-11-13 Yangyu Chen <cyy@cyyself.name> + + * config/riscv/riscv.cc (add_condition_to_bb): New function. + (dispatch_function_versions): New function. + (get_suffixed_assembler_name): New function. + (make_resolver_func): New function. + (riscv_generate_version_dispatcher_body): New function. + (riscv_get_function_versions_dispatcher): New function. + (TARGET_GENERATE_VERSION_DISPATCHER_BODY): Implement it. + (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): Implement it. + +2024-11-13 Yangyu Chen <cyy@cyyself.name> + + * config/riscv/riscv.cc + (riscv_mangle_decl_assembler_name): New function. + (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define. + +2024-11-13 Yangyu Chen <cyy@cyyself.name> + + * config/riscv/riscv.cc + (parse_features_for_version): New function. + (compare_fmv_features): New function. + (riscv_compare_version_priority): New function. + (riscv_common_function_versions): New function. + (TARGET_COMPARE_VERSION_PRIORITY): Implement it. + (TARGET_OPTION_FUNCTION_VERSIONS): Implement it. + +2024-11-13 Yangyu Chen <cyy@cyyself.name> + + * config/riscv/riscv-protos.h + (riscv_process_target_attr): Remove as it is not used. + (riscv_option_valid_version_attribute_p): Declare. + (riscv_process_target_version_attr): Declare. + * config/riscv/riscv-target-attr.cc + (riscv_target_attrs): Renamed from riscv_attributes. + (riscv_target_version_attrs): New attributes for target_version. + (riscv_process_one_target_attr): New arguments to select attrs. + (riscv_process_target_attr): Likewise. + (riscv_option_valid_attribute_p): Likewise. + (riscv_process_target_version_attr): New function. + (riscv_option_valid_version_attribute_p): New function. + * config/riscv/riscv.cc + (TARGET_OPTION_VALID_VERSION_ATTRIBUTE_P): Implement it. + * config/riscv/riscv.h (TARGET_HAS_FMV_TARGET_ATTRIBUTE): Define + it to 0 to use "target_version" for function versioning. + +2024-11-13 Yangyu Chen <cyy@cyyself.name> + + * common/config/riscv/riscv-common.cc + (RISCV_EXT_BITMASK): New macro. + (struct riscv_ext_bitmask_table_t): New struct. + (riscv_minimal_hwprobe_feature_bits): New function. + * common/config/riscv/riscv-ext-bitmask.def: New file. + * config/riscv/riscv-subset.h (GCC_RISCV_SUBSET_H): Include + riscv-feature-bits.h. + (riscv_minimal_hwprobe_feature_bits): Declare the function. + * config/riscv/riscv-feature-bits.h: New file. + +2024-11-13 Yangyu Chen <cyy@cyyself.name> + + * config/riscv/riscv-target-attr.cc + (riscv_target_attr_parser::handle_priority): New function. + (riscv_target_attr_parser::update_settings): Update priority + attribute. + * config/riscv/riscv.opt: Add TargetVariable riscv_fmv_priority. + +2024-11-13 Yangyu Chen <cyy@cyyself.name> + + * defaults.h (TARGET_CLONES_ATTR_SEPARATOR): Define new macro. + * multiple_target.cc (get_attr_str): Use + TARGET_CLONES_ATTR_SEPARATOR to separate attributes. + (separate_attrs): Likewise. + (expand_target_clones): Likewise. + * attribs.cc (attr_strcmp): Likewise. + (sorted_attr_string): Likewise. + * tree.cc (get_target_clone_attr_len): Likewise. + * config/riscv/riscv.h (TARGET_CLONES_ATTR_SEPARATOR): Define + TARGET_CLONES_ATTR_SEPARATOR for RISC-V. + * doc/tm.texi: Document TARGET_CLONES_ATTR_SEPARATOR. + * doc/tm.texi.in: Likewise. + +2024-11-13 Martin Uecker <uecker@tugraz.at> + + PR c/117059 + * doc/invoke.texi (Wzero-as-null-pointer-constant): Adapt + description. + +2024-11-13 Soumya AR <soumyaa@nvidia.com> + + PR target/111733 + * config/aarch64/aarch64-sve.md + (ldexp<mode>3): Added a new pattern to match ldexp calls with scalar + floating modes and expand to the existing pattern for FSCALE. + * config/aarch64/iterators.md: + (SVE_FULL_F_SCALAR): Added an iterator to match all FP SVE modes as well + as their scalar equivalents. + (VPRED): Extended the attribute to handle GPF_HF modes. + * internal-fn.def (LDEXP): Changed macro to incorporate ldexpf16. + +2024-11-13 xuli <xuli1@eswincomputing.com> + + PR target/117483 + * config/riscv/riscv-vsetvl.cc: Fix bug. + +2024-11-13 Co-authored-by: Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_rtx_costs): Correct costing of LO_SUM + expressions. + +2024-11-13 Hu, Lin1 <lin1.hu@intel.com> + + PR target/117418 + * config/i386/i386-expand.cc (ix86_expand_builtin): Convert + pointer's mode according to Pmode. + +2024-11-13 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-11-06 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> + + PR rtl-optimization/112398 + * simplify-rtx.cc (simplify_context::simplify_unary_operation_1): + Simplify ZERO_EXTEND (SUBREG (NOT X)) to XOR (X, GET_MODE_MASK(SUBREG)) + when X doesn't have any non-zero bits outside of SUBREG mode. + +2024-11-12 Pan Li <pan2.li@intel.com> + + Revert: + 2024-10-25 Pan Li <pan2.li@intel.com> + + * match.pd: Remove unsigned branch form 3 for SAT_ADD, and + add simplify to branchless instead. + +2024-11-12 David Malcolm <dmalcolm@redhat.com> + + PR bootstrap/117503 + * Makefile.in (GCC_FOR_SELFTESTS): Set GCC_COLORS=. + +2024-11-12 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.md (decrement_and_branch_until_zero): Fix + constraint. + +2024-11-12 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/tuning_models/cortexx925.h (cortexx925_addrcost_table): Remove. + * config/aarch64/tuning_models/neoversen1.h: Use generic_armv8_a_addrcost_table. + * config/aarch64/tuning_models/neoversen2.h (neoversen2_addrcost_table): Remove. + * config/aarch64/tuning_models/neoversen3.h (neoversen3_addrcost_table): Remove. + * config/aarch64/tuning_models/neoversev2.h (neoversev2_addrcost_table): Remove. + * config/aarch64/tuning_models/neoversev3.h (neoversev3_addrcost_table): Remove. + * config/aarch64/tuning_models/neoversev3ae.h (neoversev3ae_addrcost_table): Remove. + +2024-11-12 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSE_BASE): New define. + (AARCH64_FUSE_MOVK): Likewise. + * config/aarch64/tuning_models/a64fx.h: Update. + * config/aarch64/tuning_models/ampere1.h: Likewise. + * config/aarch64/tuning_models/ampere1a.h: Likewise. + * config/aarch64/tuning_models/ampere1b.h: Likewise. + * config/aarch64/tuning_models/cortexa35.h: Likewise. + * config/aarch64/tuning_models/cortexa53.h: Likewise. + * config/aarch64/tuning_models/cortexa57.h: Likewise. + * config/aarch64/tuning_models/cortexa72.h: Likewise. + * config/aarch64/tuning_models/cortexa73.h: Likewise. + * config/aarch64/tuning_models/cortexx925.h: Likewise. + * config/aarch64/tuning_models/exynosm1.h: Likewise. + * config/aarch64/tuning_models/fujitsu_monaka.h: Likewise. + * config/aarch64/tuning_models/generic.h: Likewise. + * config/aarch64/tuning_models/generic_armv8_a.h: Likewise. + * config/aarch64/tuning_models/generic_armv9_a.h: Likewise. + * config/aarch64/tuning_models/neoverse512tvb.h: Likewise. + * config/aarch64/tuning_models/neoversen1.h: Likewise. + * config/aarch64/tuning_models/neoversen2.h: Likewise. + * config/aarch64/tuning_models/neoversen3.h: Likewise. + * config/aarch64/tuning_models/neoversev1.h: Likewise. + * config/aarch64/tuning_models/neoversev2.h: Likewise. + * config/aarch64/tuning_models/neoversev3.h: Likewise. + * config/aarch64/tuning_models/neoversev3ae.h: Likewise. + * config/aarch64/tuning_models/qdf24xx.h: Likewise. + * config/aarch64/tuning_models/saphira.h: Likewise. + * config/aarch64/tuning_models/thunderx2t99.h: Likewise. + * config/aarch64/tuning_models/thunderx3t110.h: Likewise. + * config/aarch64/tuning_models/tsv110.h: Likewise. + +2024-11-12 yulong <shiyulong@iscas.ac.cn> + + * config/riscv/riscv.cc (riscv_declare_function_name): Add new + attribute. + +2024-11-12 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/vector.md (pred_mul_plus<mode>_undef): Drop alternatives + where output doesn't have to match input. + (pred_madd<mode>, pred_macc<mode>): Likewise. + (pred_madd<mode>_scalar, pred_macc<mode>_scalar): Likewise. + (pred_madd<mode>_exended_scalar): Likewise. + (pred_macc<mode>_exended_scalar): Likewise. + (pred_minus_mul<mode>_undef): Likewise. + (pred_nmsub<mode>, pred_nmsac<mode>): Likewise. + (pred_nmsub<mode>_scalar, pred_nmsac<mode>_scalar): Likewise. + (pred_nmsub<mode>_exended_scalar): Likewise. + (pred_nmsac<mode>_exended_scalar): Likewise. + +2024-11-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116973 + * tree-vect-slp.cc (vect_lower_load_permutations): Add + force_single_lane parameter. Disable heuristic that keeps + some load-permutations. + (vect_analyze_slp): Pass force_single_lane to + vect_lower_load_permutations. + +2024-11-12 Jeff Law <jlaw@ventanamicro.com> + + * config/c6x/c6x.md (nop, nop_count): Add explicit + "dest_regfile" attribute setting. + +2024-11-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117417 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Avoid + decomposing BIT_FIELD_REF complex load. + +2024-11-12 Tejas Belagod <tejas.belagod@arm.com> + + * rtlanal.cc (set_noop_p): Validate subreg constraints before checking + for overlapping regs using simplify_subreg_regno. + +2024-11-12 Richard Biener <rguenther@suse.de> + + * config/i386/i386.cc (ix86_vector_costs::finish_cost): Set + m_suggested_epilogue_mode according to X86_TUNE_AVX512_TWO_EPILOGUES. + * config/i386/x86-tune.def (X86_TUNE_AVX512_TWO_EPILOGUES): Add. + Enable for znver4 and znver5. + +2024-11-12 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (vector_costs::suggested_epilogue_mode): New. + (vector_costs::m_suggested_epilogue_mode): Likewise. + (vector_costs::vector_costs): Initialize m_suggested_epilogue_mode. + * tree-vect-loop.cc (vect_analyze_loop): Honor the target + suggested prefered epilogue mode and support vector epilogues + of vector epilogues if requested. + +2024-11-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117484 + * tree-vect-slp.cc (vect_build_slp_tree_2): Handle gaps in + mask discovery. Fix condition to release the load permutation. + (vect_lower_load_permutations): Assert we get no load + permutation for the unpermuted node. + * tree-vect-slp-patterns.cc (linear_loads_p): Properly identify + loads (without permutation). + (compatible_complex_nodes_p): Likewise. + +2024-11-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117502 + * tree-vect-stmts.cc (get_group_load_store_type): Also consider + VMAT_STRIDED_SLP when checking to use gather/scatter for + single-element interleaving access. + * tree-vect-loop.cc (update_epilogue_loop_vinfo): STMT_VINFO_STRIDED_P + can be classified as VMAT_GATHER_SCATTER, so update DR_REF for + those as well. + +2024-11-12 Soumya AR <soumyaa@nvidia.com> + + * match.pd: Fold logN(x) CMP CST -> x CMP expN(CST) + and expN(x) CMP CST -> x CMP logN(CST) + +2024-11-11 Jason Merrill <jason@redhat.com> + + * doc/invoke.texi: Rename -fmodules-ts to -fmodules. + +2024-11-11 Jason Merrill <jason@redhat.com> + + * opts.h (cl_deferred_option::value): Change to HOST_WIDE_INT. + (set_option): Change opt_index parm to size_t. + * opts-common.cc (set_option): Likewise. + +2024-11-11 Jakub Jelinek <jakub@redhat.com> + + * doc/extend.texi (New/Delete Builtins): Document + __builtin_operator_new and __builtin_operator_delete. + +2024-11-11 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64.cc + (aarch64_vfp_is_call_or_return_candidate): use fp registers to + return svmfloat8_t parameters. + +2024-11-11 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (arg1_arg3_map): New. + (arg1_arg3_arg4_map): Likewise. + (vect_get_operand_map): Handle IFN_SCATTER_STORE, + IFN_MASK_SCATTER_STORE and IFN_MASK_LEN_SCATTER_STORE. + (vect_build_slp_tree_1): Likewise. + * tree-vect-stmts.cc (vectorizable_store): For SLP masked + gather/scatter record the mask with proper number of copies. + * tree-vect-loop.cc (vectorizable_recurr): Avoid costing + the initial value construction in the prologue twice with SLP. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Handle + __ARM_FEATURE_SVE2p1. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-modes.def (VNx1SI, VNx1DI): New modes. + * config/aarch64/aarch64-sve-builtins-base.cc + (svdup_lane_impl::expand): Update generation of TBL instruction. + (svtbl_impl): Delete. + (svtbl): Use unspec_based_uncond_function instead. + * config/aarch64/aarch64-sve-builtins-functions.h + (permute::fold_permute): Handle trailing immediate arguments. + * config/aarch64/aarch64-sve-builtins-shapes.h (extq): Declare. + (load_gather64_sv_index, load_gather64_sv_offset): Likewise. + (load_gather64_vs_index, load_gather64_vs_offset): Likewise. + (pmov_from_vector, pmov_from_vector_lane, pmov_to_vector_lane) + (reduction_neonq, store_scatter64_index, store_scatter64_offset) + (unary_lane): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (load_gather64_sv_base, store_scatter64_base): New classes. + (extq_def, ext): New shape. + (load_gather64_sv_index_def, load_gather64_sv_index): Likewise. + (load_gather64_sv_offset_def, load_gather64_sv_offset): Likewise. + (load_gather64_vs_index_def, load_gather64_vs_index): Likewise. + (load_gather64_vs_offset_def, load_gather64_vs_offset): Likewise. + (pmov_from_vector_def, pmov_from_vector): Likewise. + (pmov_from_vector_lane_def, pmov_from_vector_lane): Likewise. + (pmov_to_vector_lane_def, pmov_to_vector_lane): Likewise. + (reduction_neonq_def, reduction_neonq): Likewise. + (store_scatter64_index_def, store_scatter64_index): Likewise. + (store_scatter64_offset_def, store_scatter64_offset): Likewise. + (unary_lane_def, unary_lane): Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.h (svaddqv, svandqv) + (svdup_laneq, sveorqv, svextq, svld1q_gather, svld1udq, svld1uwq) + (svld2q, svld3q, svld4q, svmaxnmqv, svmaxqv, svminnmqv, svminqv) + (svorqv, svpmov, svpmov_lane, svst1qd, svst1q_scatter, svst1wq) + (svst2q, svst3q, svst4q, svtblq, svtbx, svtbxq, svuzpq1, svuzpq2) + (svzipq1, svzipq2): Declare. + * config/aarch64/aarch64-sve-builtins-sve2.cc (ld1uxq_st1xq_base) + (ld234q_st234q_base, svdup_laneq_impl, svextq_impl): New classes. + (svld1q_gather_impl, svld1uxq_impl, svld234q_impl): Likewise. + (svpmov_impl, svpmov_lane_impl, svst1q_scatter_impl): Likewise. + (svst1xq_impl, svst234q_impl, svuzpq_impl, svzipq_impl): Likewise. + (svaddqv, svandqv, svdup_laneq, sveorqv, svextq, svld1q_gather) + (svld1udq, svld1uwq, svld2q, svld3q, svld4q, svmaxnmqv, svmaxqv) + (svminnmqv, svminqv, svorqv, svpmov, svpmov_lane, svst1qd) + (svst1q_scatter, svst1wq, svst2q, svst3q, svst4q, svtblq, svtbx) + (svtbxq, svuzpq1, svuzpq2, svzipq1, svzipq2): New function entries. + * config/aarch64/aarch64-sve-builtins-sve2.def (svaddqv, svandqv) + (svdup_laneq, sveorqv, svextq, svld2q, svld3q, svld4q, svmaxnmqv) + (svmaxqv, svminnmqv, svminqv, svorqv, svpmov, svpmov_lanes, vst2q) + (svst3q, svst4q, svtblq, svtbxq, svuzpq1, svuzpq2, svzipq1, svzipq2) + (svld1q_gather, svld1udq, svld1uwq, svst1dq, svst1q_scatter) + (svst1wq): New function definitions. + * config/aarch64/aarch64-sve-builtins.cc (TYPES_hsd_data) + (hsd_data, s_data): New type lists. + (function_resolver::infer_pointer_type): Give a specific error about + passing a pointer to 8-bit elements to an _index function. + (function_resolver::resolve_sv_displacement): Check whether the + function allows 32-bit bases. + * config/aarch64/iterators.md (UNSPEC_TBLQ, UNSPEC_TBXQ): New unspecs. + (UNSPEC_ADDQV, UNSPEC_ANDQV, UNSPEC_DUPQ, UNSPEC_EORQV, UNSPEC_EXTQ) + (UNSPEC_FADDQV, UNSPEC_FMAXQV, UNSPEC_FMAXNMQV, UNSPEC_FMINQV) + (UNSPEC_FMINNMQV, UNSPEC_LD1_EXTENDQ, UNSPEC_LD1Q_GATHER): Likewise. + (UNSPEC_LDNQ, UNSPEC_ORQV, UNSPEC_PMOV_PACK, UNSPEC_PMOV_PACK_LANE) + (UNSPEC_PMOV_UNPACK, UNSPEC_PMOV_UNPACK_LANE, UNSPEC_SMAXQV): Likewise. + (UNSPEC_SMINQV, UNSPEC_ST1_TRUNCQ, UNSPEC_ST1Q_SCATTER, UNSPEC_STNQ) + (UNSPEC_UMAXQV, UNSPEC_UMINQV, UNSPEC_UZPQ1, UNSPEC_UZPQ2): Likewise. + (UNSPEC_ZIPQ1, UNSPEC_ZIPQ2): Likewise. + (Vtype): Handle single-vector SVE modes. + (Vendreg): Handle SVE structure modes. + (VNxTI, LD1_EXTENDQ_MEM): New mode attributes. + (SVE_PERMUTE, SVE_TBL, SVE_TBX): New int iterators. + (SVE_INT_REDUCTION_128, SVE_FP_REDUCTION_128): Likewise. + (optab): Handle the new SVE2.1 reductions. + (perm_insn): Handle the new SVE2.1 permutations. + * config/aarch64/aarch64-sve.md + (@aarch64_sve_tbl<mode>): Generalize to... + (@aarch64_sve_<SVE_TBL:perm_insn><mode>): ...this. + (@aarch64_sve_<PERMUTE:perm_insn><mode>): Generalize to... + (@aarch64_sve_<SVE_PERMUTE:perm_insn><mode>): ...this. + * config/aarch64/aarch64-sve2.md (@aarch64_pmov_to_<mode>) + (@aarch64_pmov_lane_to_<mode>, @aarch64_pmov_from_<mode>) + (@aarch64_pmov_lane_from_<mode>, @aarch64_sve_ld1_extendq<mode>) + (@aarch64_sve_ldnq<mode>, aarch64_gather_ld1q): New patterns. + (@aarch64_sve_st1_truncq<mode>, @aarch64_sve_stnq<mode>): Likewise. + (aarch64_scatter_st1q, @aarch64_pred_reduc_<optab>_<mode>): Likewise. + (@aarch64_sve_dupq<mode>, @aarch64_sve_extq<mode>): Likewise. + (@aarch64_sve2_tbx<mode>): Generalize to... + (@aarch64_sve_<SVE_TBX:perm_insn><mode>): ...this. + * config/aarch64/aarch64.cc + (aarch64_classify_vector_memory_mode): New function. + (aarch64_regmode_natural_size): Use it. + (aarch64_classify_index): Likewise. + (aarch64_classify_address): Likewise. + (aarch64_print_address_internal): Likewise. + (aarch64_evpc_hvla): New function. + (aarch64_expand_vec_perm_const_1): Use it. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.h (TARGET_SVE2p1_OR_SME2): New macro. + * config/aarch64/aarch64-early-ra.cc + (is_stride_candidate): Require TARGET_STREAMING_SME2 + (early_ra::maybe_convert_to_strided_access): Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.def: Mark instructions + that are common to both SVE2p1 and SME2. + * config/aarch64/aarch64-sve.md + (@aarch64_<sur>dot_prod_lane<SVE_FULL_SDI:mode><SVE_FULL_BHI:mode>): + Test TARGET_SVE2p1_OR_SME2 instead of TARGET_STREAMING_SME2. + (@aarch64_sve_<sve_fp_op>vnx4sf): Move TARGET_SVE_BF16 condition + into SVE_BFLOAT_TERNARY_LONG. + (@aarch64_sve_<sve_fp_op>_lanevnx4sf): Likewise + SVE_BFLOAT_TERNARY_LONG_LANE. + * config/aarch64/aarch64-sve2.md + (@aarch64_<LD1_COUNT:optab><mode>): Require TARGET_SVE2p1_OR_SME2 + instead of TARGET_STREAMING_SME2. + (@aarch64_<ST1_COUNT:optab><mode>): Likewise. + (@aarch64_sve_ptrue_c<BHSD_BITS>): Likewise. + (@aarch64_sve_pext<BHSD_BITS>): Likewise. + (@aarch64_sve_pext<BHSD_BITS>x2): Likewise. + (@aarch64_sve_cntp_c<BHSD_BITS>): Likewise. + (@aarch64_sve_fclamp<mode>): Likewise. + (*aarch64_sve_fclamp<mode>_x): Likewise. + (<sur>dot_prodvnx4sivnx8hi): Likewise. + (aarch64_sve_fdotvnx4sfvnx8hf): Likewise. + (aarch64_fdot_prod_lanevnx4sfvnx8hf): Likewise. + (@aarch64_sve_while<while_optab_cmp>_b<BHSD_BITS>_x2): Likewise. + (@aarch64_sve_while<while_optab_cmp>_c<BHSD_BITS>): Likewise. + (@aarch64_sve_<optab><VNx8HI_ONLY:mode><VNx8SI_ONLY:mode>): Move + TARGET_STREAMING_SME2 condition into SVE_QCVTxN. + (@aarch64_sve_<sve_int_op><mode>): Likewise + SVE2_INT_SHIFT_IMM_NARROWxN, but also require TARGET_STREAMING_SME2 + for the 4-register forms. + * config/aarch64/iterators.md (SVE_BFLOAT_TERNARY_LONG): Require + TARGET_SVE2p1_OR_SME2 rather than TARGET_STREAMING_SME2 for + UNSPEC_BFMLSLB and UNSPEC_BFMLSLT. Require TARGET_SVE_BF16 + for the others. + (SVE_BFLOAT_TERNARY_LONG_LANE): Likewise. + (SVE2_INT_SHIFT_IMM_NARROWxN): Require TARGET_SVE2p1_OR_SME2 for + the interleaving forms and TARGET_STREAMING_SME2 for the rest. + (SVE_QCVTxN): Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-option-extensions.def (sve2p1): New extension. + * doc/invoke.texi (sve2p1): Document it. + * config/aarch64/aarch64-sve-builtins-sve2.def: Mark instructions + that are common to both SVE2p1 and SME. + * config/aarch64/aarch64.h (TARGET_SVE2p1): New macro. + (TARGET_SVE2p1_OR_SME): Likewise. + * config/aarch64/aarch64-sve2.md + (@aarch64_sve_psel<BHSD_BITS>): Require TARGET_SVE2p1_OR_SME + instead of TARGET_STREAMING. + (*aarch64_sve_psel<BHSD_BITS>_plus): Likewise. + (@aarch64_sve_<su>clamp<mode>): Likewise. + (*aarch64_sve_<su>clamp<mode>_x): Likewise. + (@aarch64_pred_<optab><mode>): Likewise. + (@cond_<optab><mode>): Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config.gcc (extra_headers): Add arm_private_neon_types.h. + * config/aarch64/arm_private_neon_types.h: New file, split out + from... + * config/aarch64/arm_neon.h: ...here. + * config/aarch64/arm_sve.h: Include arm_private_neon_types.h + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-modes.def (VNx64BI): New mode. + * config/aarch64/aarch64-protos.h + (aarch64_split_double_move): Generalize to... + (aarch64_split_move): ...this. + * config/aarch64/aarch64-sve-builtins-base.def (svcreate4, svget4) + (svset4, svundef4): Add bool variants. + * config/aarch64/aarch64-sve-builtins.cc (handle_arm_sve_h): Add + svboolx4_t. + * config/aarch64/iterators.md (SVE_STRUCT_BI): New mode iterator. + * config/aarch64/aarch64-sve.md (movvnx32bi): Generalize to... + (mov<SVE_STRUCT_BI:mode>): ...this. + * config/aarch64/aarch64.cc + (pure_scalable_type_info::piece::get_rtx): Allow num_prs to be 4. + (aarch64_classify_vector_mode): Handle VNx64BI. + (aarch64_hard_regno_nregs): Likewise. + (aarch64_class_max_nregs): Likewise. + (aarch64_array_mode): Use VNx64BI for arrays of 4 svbool_ts. + (aarch64_split_double_move): Generalize to... + (aarch64_split_move): ...this. + (aarch64_split_128bit_move): Update call accordingly. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins-sve2.def: Sort entries + alphabetically. + * config/aarch64/aarch64-sve-builtins-sve2.h: Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins-shapes.cc (ext_base): New base + class, extracted from... + (ext_def): ...here. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins.h + (function_resolver::target_type_restrictions): New enum. + (function_resolver::infer_pointer_type): Add an extra argument + that specifies what the target type can be. + * config/aarch64/aarch64-sve-builtins.cc + (function_resolver::infer_pointer_type): Likewise. + * config/aarch64/aarch64-sve-builtins-shapes.cc + (load_gather_sv_base::get_target_type_restrictions): New virtual + member function. + (load_gather_sv_base::resolve): Use it. Update call to + infer_pointer_type. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins-shapes.cc + (store_scatter_base::infer_vector_type): New virtual member function. + (store_scatter_base::resolve): Use it. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins.h + (function_shape::vector_base_type): New member function. + * config/aarch64/aarch64-sve-builtins.cc + (function_shape::vector_base_type): Likewise. + (function_resolver::resolve_sv_displacement): Use it. + (function_resolver::resolve_gather_address): Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve.md (@aarch64_sve_tbl<mode>): Wrap + the second operand in braces. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins.cc (TYPES_all_data): Redefine + in terms of single-size *_data definitions. + (TYPES_bhs_data, TYPES_hs_data, TYPES_sd_data): Likewise. + (TYPES_b_data, TYPES_h_data, TYPES_s_data): New macros. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.h (TARGET_SME): Expand comment. + (TARGET_STREAMING_SME): Delete. + * config/aarch64/aarch64-sme.md: Use TARGET_STREAMING instead of + TARGET_STREAMING_SME. + * config/aarch64/aarch64-sve2.md: Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sme.md: Use TARGET_STREAMING_SME2 + instead of separate TARGET_STREAMING and TARGET_SME2 tests. + * config/aarch64/aarch64-sve2.md: Likewise. + * config/aarch64/iterators.md: Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * function.h (push_function_decl, pop_function_decl): Declare. + * function.cc (set_function_decl): New function, extracted from... + (set_cfun): ...here. + (push_function_decl): New function, extracted from... + (push_cfun): ...here. + (pop_cfun_1): New function, extracted from... + (pop_cfun): ...here. + (pop_function_decl): New function. + +2024-11-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117510 + * tree-ssa-loop-unswitch.cc (find_loop_guard): Only check + not skipped blocks for side-effects. + +2024-11-11 Pan Li <pan2.li@intel.com> + + * config/riscv/autovec.md: Fix indent format issue. + +2024-11-11 Sam James <sam@gentoo.org> + + PR other/116948 + * doc/install.texi (Building a native compiler): Document UBSAN_OPTIONS. + +2024-11-11 Sam James <sam@gentoo.org> + + PR other/116948 + * doc/install.texi (Building a native compiler): Mention bootstrap-ubsan. + +2024-11-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (*extzvsi-1bit_addsubx): + Add '&' to the destination register constraint to indicate that + it is 'earlyclobber', append '0' to the first source register + constraint to indicate that it can be the same as the destination + register, and change the split condition from 1 to reload_completed + so that the insn will be split only after RA in order to obtain + allocated registers that satisfy the above constraints. + +2024-11-11 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h + (get_intel_cpu): Handle Diamond Rapids. + * common/config/i386/i386-common.cc (processor_name): + Add Diamond Rapids. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h (enum processor_types): + Add INTEL_COREI7_DIAMONDRAPIDS. + * config.gcc: Add -march=diamondrapids. + * config/i386/driver-i386.cc (host_detect_local_cpu): Handle + diamondrapids. + * config/i386/i386-c.cc (ix86_target_macros_internal): Ditto. + * config/i386/i386-options.cc (processor_cost_table): Ditto. + (m_DIAMONDRAPIDS): New. + (m_CORE_AVX512): Add diamondrapids. + * config/i386/i386.h (enum processor_type): Ditto. + * doc/extend.texi: Ditto. + * doc/invoke.texi: Ditto. + +2024-11-11 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model + number for Arrow Lake. + +2024-11-11 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386.md (truncsf2bf2): Add !flag_rounding_math + to the condition, require flag_unsafe_math_optimizations when + native instruction is not available. + * config/i386/mmx.md: (truncv2sfv2bf2): Ditto. + (extendv2bfv2sf2): Add !HONOR_NANS (BFmode) to the condition. + * config/i386/sse.md: (truncv4sfv4sf2): Add + !flag_rounding_math to the condition, require + flag_unsafe_math_optimizations when native instruction is not + available. + (truncv8sfv8bf2): Ditto. + (truncv16sfv16bf2): Ditto. + (extendv4bfv4sf2): Add !HONOR_NANS (BFmode) to the condition. + (extendv8bfv8sf2): Ditto. + (extendv16bfv16sf2): Ditto. + +2024-11-10 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vectorizable_slp_permutation_1): Return + zero for the permute nodes part of load-lanes. + +2024-11-09 Iain Sandoe <iain@sandoe.co.uk> + + PR target/117478 + * config/darwin-driver.cc (darwin_driver_init): Handle ObjC/ObjC++ + * config/darwin.opt: Add ObjC/ObjC++ as driver-only options. + +2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/117492 + * fold-const.cc (fold_binary_loc): Remove `Two consecutive rotates adding up + to the some integer` simplifcation. + +2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117496 + * tree-ssa-sccvn.cc (insert_predicates_for_cond): If the + valueization for the new lhs is the same as the old one, + don't recurse. + +2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-sccvn.cc (visit_phi): Swap the operands + before calling vn_nary_op_lookup_pieces if + tree_swap_operands_p returns true. + (insert_predicates_for_cond): Use tree_swap_operands_p + instead of checking for CONSTANT_CLASS_P. + (process_bb): Swap the comparison and operands + if tree_swap_operands_p returns true. + +2024-11-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + PR target/117408 + * config/arm/arm-mve-builtins.cc(handle_arm_mve_h): Detect if MVE + types is missing and if so, return error. + +2024-11-09 Jakub Jelinek <jakub@redhat.com> + + * trans-mem.cc (expand_assign_tm): Don't take address + of empty CONSTRUCTOR, instead use BUILT_IN_TM_MEMSET + to clear lhs in that case. Formatting fixes. + +2024-11-09 Andi Kleen <ak@gcc.gnu.org> + + * config/i386/gcc-auto-profile: Regenerate. + +2024-11-08 John David Anglin <danglin@gcc.gnu.org> + + PR target/117238 + * config/pa/pa64-regs.h (PA_HARD_REGNO_MODE_OK): Don't allow + mode size 32. + +2024-11-08 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/predicates.md (base14_operand): Use '&' operator + instead of '%' to check displacement alignment. + +2024-11-08 John David Anglin <danglin@gcc.gnu.org> + + PR target/117238 + * config/pa/pa32-regs.h (PA_HARD_REGNO_MODE_OK): Don't allow + mode size 32. Limit mode size 16 in general registers to + complex modes. + +2024-11-08 John David Anglin <danglin@gcc.gnu.org> + + PR target/117443 + * config/pa/pa.cc (pa_legitimate_address_p): Allow any + 14-bit displacement when reload is in progress and strict + is false. + +2024-11-08 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com> + + PR target/116444 + * config/arm/arm.cc (arm_noce_conversion_profitable_p): Call + default_noce_conversion_profitable_p when not dealing with the + armv8.1-m.main special case. + (arm_is_vsel_fp_insn): New function. + +2024-11-08 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/aarch64/aarch64-cores.def (cortex-a520ae, + cortex-a720ae, cortex-r82ae): Define new entries. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi: Document A520AE, A720AE and R82AE CPUs. + +2024-11-07 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve2.md (@aarch64_sve_psel<BHSD_BITS>) + (*aarch64_sve_psel<BHSD_BITS>_plus): Require TARGET_STREAMING + rather than TARGET_STREAMING_SME2. + +2024-11-07 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve2.md (@aarch64_sve_fclamp<mode>) + (*aarch64_sve_fclamp<mode>_x): Require TARGET_STREAMING_SME2 + rather than TARGET_STREAMING_SME. + +2024-11-07 David Faust <david.faust@oracle.com> + + PR target/117447 + * config/bpf/btfext-out.cc (btf_ext_output): Bail if TU CTFC is null. + +2024-11-07 David Faust <david.faust@oracle.com> + + * btfout.cc (btf_finalize): Check that hash maps are non-null before + emptying them. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/85605 + * tree-ssa-ifcombine.cc (can_combine_bbs_with_short_circuit): New function. + (ifcombine_ifandif): Use can_combine_bbs_with_short_circuit + instead of checking if iterator is one before the last statement. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117414 + * tree-ssa-sccvn.cc (process_bb): Lookup + `val != 0` if got back a ssa name when looking the comparison. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117414 + * tree-ssa-sccvn.cc (insert_predicates_for_cond): Handle `(A CMP B) !=/== 0`. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117414 + * tree-ssa-sccvn.cc (insert_predicates_for_cond): Canonicalize the comparison. + Don't insert anything if lhs is not a SSA_NAME. Handle `(a | b) !=/== 0`. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-sccvn.cc (insert_predicates_for_cond): New function, factored out from ... + (process_bb): Here. + +2024-11-07 Richard Biener <rguenther@suse.de> + + * tree-vect-data-refs.cc (vect_check_gather_scatter): Refuse + to analyze DR_REF if from an epilogue that's not first. + * tree-vect-loop.cc (update_epilogue_loop_vinfo): Add comment + how the substitution in DR_REF is broken. + +2024-11-07 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (_loop_vec_info::main_loop_info): New. + (LOOP_VINFO_MAIN_LOOP_INFO): Likewise. + (_loop_vec_info::epilogue_vinfo): Change from epilogue_vinfos + from array to single element. + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialize + main_loop_info and epilogue_vinfo. Remove epilogue_vinfos + allocation. + (_loop_vec_info::~_loop_vec_info): Do not release epilogue_vinfos. + (vect_create_loop_vinfo): Rename parameter, set + LOOP_VINFO_MAIN_LOOP_INFO. + (vect_analyze_loop_1): Rename parameter. + (vect_analyze_loop_costing): Properly distinguish between + the main vector loop and the preceeding epilogue. + (vect_analyze_loop): Change for epilogue_vinfos no longer + being a vector. + * tree-vect-loop-manip.cc (vect_do_peeling): Simplify and + thereby handle a vector epilogue of a vector epilogue. + +2024-11-07 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (_loop_vec_info::drs_advanced_by): New. + (LOOP_VINFO_DRS_ADVANCED_BY): Likewise. + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialize + drs_advanced_by. + (update_epilogue_loop_vinfo): Remember the DR advancement made. + (vect_transform_loop): Accumulate past advancements. + +2024-11-07 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vect_analyze_loop_2): Move + vect_analyze_loop_costing after check whether we can do + peeling. Add check on LOOP_VINFO_PEELING_FOR_GAPS for + epilogues. + +2024-11-07 Pan Li <pan2.li@intel.com> + Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * doc/md.texi: Add doc for mask_len_stried_load{store}. + +2024-11-07 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/117467 + * timevar.def (TV_EXT_DCE): New. + * ext-dce.cc (pass_data_ext_dce): Use TV_EXT_DCE. + +2024-11-07 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386.md (cstorebf4): Use vcomsbf16 under + TARGET_AVX10_2_256 and -fno-trapping-math. + (cbranchbf4): Adjust formatting. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc + (ifcombine_rewrite_to_defined_overflow): New. + (ifcombine_replace_cond): Reject conds that would require + moving too many stmts. Reset flow sensitive info and avoid + undefined behavior in moved stmts. Reset flow sensitive info + in all inner blocks when the outer condition changes, and + avoid undefined behavior whenever the outer condition becomes + laxer, adapted and moved from... + (pass_tree_ifcombine::execute): ... here. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc (ifcombine_replace_cond): Support + TRUTH_ANDIF cond exprs. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc (recognize_if_then_else): Support + relaxed then/else testing; require nondegenerate condition + otherwise. + (tree_ssa_ifcombine_bb_1): Add outer_succ_bb parm, use it + instead of inner_cond_bb. Adjust callers. + (tree_ssa_ifcombine_bb): Loop over dominating outer blocks + eligible for ifcombine. + (pass_tree_ifcombine::execute): Noted potential need for + changes to the post-combine logic. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc: Include bitmap.h. + (ifcombine_mark_ssa_name): New. + (struct ifcombine_mark_ssa_name_t): New. + (ifcombine_mark_ssa_name_walk): New. + (ifcombine_replace_cond): Prepare to handle noncontiguous and + split-condition ifcombine. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc (known_succ_p): New. + (update_profile_after_ifcombine): Handle noncontiguous blocks. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc (ifcombine_replace_cond): Factor out + of... + (ifcombine_ifandif): ... this. Leave it for the above to + gimplify and invert the condition. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc (ifcombine_ifandif): Drop redundant + result_inv parm. Adjust all callers. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Allow vuses, + but not vdefs. + +2024-11-07 xuli <xuli1@eswincomputing.com> + + * match.pd: Add the form1 of signed imm .SAT_ADD matching. + * tree-ssa-math-opts.cc (match_saturation_add): Add fold + convert for const_int to the type of operand 0. + +2024-11-06 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> + + PR rtl-optimization/112398 + * simplify-rtx.cc (simplify_context::simplify_unary_operation_1): + Simplify ZERO_EXTEND (SUBREG (NOT X)) to XOR (X, GET_MODE_MASK(SUBREG)) + when X doesn't have any non-zero bits outside of SUBREG mode. + +2024-11-06 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.cc (cdtor_record): Make position unsigned. + +2024-11-06 Andrew Stubbs <ams@baylibre.com> + + * omp-general.cc (omp_max_vf): Cast the constant to poly_uint64. + +2024-11-06 Andrew Stubbs <ams@baylibre.com> + + * internal-fn.cc (expand_GOMP_MAX_VF): New function. + * internal-fn.def (GOMP_MAX_VF): New internal function. + * omp-expand.cc (omp_adjust_chunk_size): Emit IFN_GOMP_MAX_VF when + called in offload context, otherwise assume host context. + * omp-offload.cc (execute_omp_device_lower): Expand IFN_GOMP_MAX_VF. + +2024-11-06 Andrew Stubbs <ams@baylibre.com> + + * omp-expand.cc (is_in_offload_region): New function. + (omp_adjust_chunk_size): Add pass-through "offload" parameter. + (get_ws_args_for): Likewise. + (determine_parallel_type): Use is_in_offload_region to adjust call to + get_ws_args_for. + (expand_omp_for_generic): Likewise. + (expand_omp_for_static_chunk): Likewise. + +2024-11-06 Andrew Stubbs <ams@baylibre.com> + + * gimple-loop-versioning.cc (loop_versioning::loop_versioning): Set + omp_max_vf to offload == false. + * omp-expand.cc (omp_adjust_chunk_size): Likewise. + * omp-general.cc (omp_max_vf): Add "offload" parameter, and detect + amdgcn offload devices. + * omp-general.h (omp_max_vf): Likewise. + * omp-low.cc (lower_rec_simd_input_clauses): Pass offload state to + omp_max_vf. + +2024-11-06 Andrew MacLeod <amacleod@redhat.com> + + * tree-assume.cc (assume_query::assume_query): Add debug output. + (assume_query::update_parms): Likewise. + (assume_query::calculate_phi): Likewise. + (assume_query::calculate_op): Likewise. Also pick up any + merged path values. + (assume_query::calculate_stmt): Likewise. + +2024-11-06 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.h (class diagnostic_context): Fix typo in leading + comment. + +2024-11-06 Michal Jires <mjires@suse.cz> + + * ipa-prop.cc (write_ipcp_transformation_info): Disable + uneeded value propagation. + * lto-cgraph.cc (lto_symtab_encoder_encode): Default values. + (lto_symtab_encoder_always_inlined_p): New. + (lto_set_symtab_encoder_not_always_inlined): New. + (add_node_to): Set always inlined. + * lto-streamer.h (struct lto_encoder_entry): New field. + (lto_symtab_encoder_always_inlined_p): New. + +2024-11-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117439 + * gimple-ssa-store-merging.cc + (imm_store_chain_info::coalesce_immediate_stores): Punt if merging of + any of the additional overlapping stores would result in growing the + bitregion size over param_store_merging_max_size. + (pass_store_merging::process_store): Terminate all aliasing chains + for stores with bitregion larger than param_store_merging_max_size. + +2024-11-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117439 + * gimple-ssa-store-merging.cc (encode_tree_to_bitpos): For + empty_ctor_p use !sub_byte_op_p even if bitlen doesn't have an + integral mode. + +2024-11-06 Hu, Lin1 <lin1.hu@intel.com> + + PR target/117304 + * config/i386/i386-builtin.def: Add OPTION_MASK_ISA2_EVEX512 for some + AVX512 512-bits instructions. + +2024-11-05 Andrew Pinski <quic_apinski@quicinc.com> + + * match.pd (X != 0 ? X + ~0 : 0): Fix comment. + +2024-11-05 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117449 + * config/aarch64/aarch64-simd.md (*aarch64_simd_rotate_imm<mode>): + Match only when can_create_pseudo_p (). + * config/aarch64/aarch64.cc (aarch64_emit_opt_vec_rotate): Assume + can_create_pseudo_p (). + +2024-11-05 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-expand.cc + (ix86_expand_vector_bf2sf_with_vec_perm): New function. + * config/i386/i386-protos.h + (ix86_expand_vector_bf2sf_with_vec_perm): New Declare. + * config/i386/mmx.md (extendv2bfv2sf2): New expander. + * config/i386/sse.md (extend<sf_cvt_bf16_lower><mode>2): + Ditto. + (VF1_AVX512BW): New mode iterator. + (sf_cvt_bf16): Add V4SF. + (sf_cvt_bf16_lower): New mode attr. + +2024-11-05 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-expand.cc + (ix86_expand_vector_sf2bf_with_vec_perm): New function. + * config/i386/i386-protos.h + (ix86_expand_vector_sf2bf_with_vec_perm): New declare. + * config/i386/mmx.md (truncv2sfv2bf2): New expander. + * config/i386/sse.md (truncv4sfv4bf2): Ditto. + (truncv8sfv8bf2): Ditto. + (truncv16sfv16bf2): Ditto. + +2024-11-05 Hu, Lin1 <lin1.hu@intel.com> + + PR target/117416 + * config/i386/i386-expand.cc (ix86_expand_builtin): Raise warning when + op1 isn't in range of [0, 2] and set op1 as const0_rtx, and raise + warning when op3 isn't in range of [0, 1]. + +2024-11-05 Richard Biener <rguenther@suse.de> + + PR middle-end/117433 + * cfgexpand.cc (expand_gimple_stmt_1): Use emit_block_move + when moving temp to BLKmode target. + +2024-11-05 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-passes.def: Don't add pass_tag_collision_avoidance. + * config/aarch64/aarch64-protos.h (make_pass_tag_collision_avoidance): Remove. + * config/aarch64/aarch64-tuning-flags.def (RENAME_LOAD_REGS): Remove. + * config/aarch64/tuning_models/qdf24xx.h (qdf24xx_tunings): Set tuning flags to + AARCH64_EXTRA_TUNE_NONE. + * config/aarch64/falkor-tag-collision-avoidance.cc: Removed. + * config/aarch64/t-aarch64 (falkor-tag-collision-avoidance.o): Remove. + * config.gcc (aarch64*-*-*): Remove falkor-tag-collision-avoidance.o from extra_objs. + +2024-11-05 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-cores.def (falkor): Use cortex-a57 scheduler. + (saphira): Likewise. + * config/aarch64/aarch64.md: Don't include falkor.md and saphira.md. + * config/aarch64/falkor.md: Removed. + * config/aarch64/saphira.md: Removed. + +2024-11-05 Levy Hsu <admin@levyhsu.com> + + * config/i386/i386-expand.cc (ix86_expand_branch): Handle BFmode + when TARGET_AVX10_2_256 is enabled. + (ix86_prepare_fp_compare_args): Use SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P. + (ix86_expand_fp_movcc): Ditto. + (ix86_expand_fp_compare): Handle BFmode under IX86_FPCMP_COMI. + * config/i386/i386.cc (ix86_multiplication_cost): Use + SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P. + (ix86_division_cost): Ditto. + (ix86_rtx_costs): Ditto. + (ix86_vector_costs::add_stmt_cost): Ditto. + * config/i386/i386.h (SSE_FLOAT_MODE_SSEMATH_OR_HF_P): Rename to ... + (SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P): ...this, and add BFmode. + * config/i386/i386.md (*cmpibf): New define_insn. + +2024-11-05 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (get_type_num_typedef): New function. + (get_type_num): Call get_type_num_typedef. + * dwarf2codeview.h (T_HRESULT): Define. + +2024-11-05 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (struct codeview_custom_type): Add new fields to + lf_pointer struct in union. + (write_lf_pointer): Write containing_class and ptr_to_mem_type if + applicable. + (get_type_num_subroutine_type): Write correct containing_class_type if + this is a pointer to a member function. + (get_type_num_ptr_to_member_type): New function. + (get_type_num): Call get_type_num_ptr_to_member_type. + * dwarf2codeview.h (CV_PTR_MODE_MASK, CV_PTR_MODE_PMEM): Define. + (CV_PTR_MODE_PMFUNC, CV_PMTYPE_D_Single, CV_PMTYPE_F_Single): Likewise. + +2024-11-05 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_leaf_type): Add LF_BCLASS. + (struct codeview_subtype): Add lf_bclass to union. + (write_cv_padding): Add declaration. + (write_lf_fieldlist): Handle LF_BCLASS records. + (add_struct_inheritance): New function. + (get_type_num_struct): Call add_struct_inheritance. + +2024-11-04 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv.cc (riscv_use_by_pieces_infrastructure_p): + New function. + (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Define. + +2024-11-04 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv-string.cc + (use_vector_stringop_p): Add comment. + (expand_vec_setmem): Use use_vector_stringop_p instead of + check_vectorise_memory_operation. + +2024-11-04 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.h (class diagnostic_context): Update leading comment. + +2024-11-04 David Malcolm <dmalcolm@redhat.com> + + * opts-diagnostic.cc: Apply renamings throughout for clarity: from + "name" and "format_name" to "scheme_name", from "m_format" to + "m_scheme_name", and from "handler" to "scheme_handler". + (output_factory::scheme_handler::get_handler): Pass name by const + reference. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117048 + * simplify-rtx.cc (extract_ashift_operands_p): Define. + (simplify_rotate_op): Likewise. + (simplify_context::simplify_binary_operation_1): Use the above in + the PLUS, IOR, XOR cases. + (test_vector_rotate): Define. + (test_vector_ops): Use the above. + +2024-11-04 Antoni Boucher <bouanto@zoho.com> + + PR target/116725 + * config/i386/sse.md: Fix asm generation. + +2024-11-04 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/117398 + * gimple-range-edge.cc (gimple_outgoing_range::calc_switch_ranges): + Check for VARYING and don't call invert () on it. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + Revert: + 2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117048 + * simplify-rtx.cc (extract_ashift_operands_p): Define. + (simplify_rotate_op): Likewise. + (simplify_context::simplify_binary_operation_1): Use the above in + the PLUS, IOR, XOR cases. + (test_vector_rotate): Define. + (test_vector_ops): Use the above. + +2024-11-04 Richard Sandiford <richard.sandiford@arm.com> + + * doc/invoke.texi: Fix documentation of LS64 so that it's + not implied by Armv8.7-A or Armv9.2-A. + +2024-11-04 Yuta Mukai <mukai.yuta@fujitsu.com> + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add fujitsu-monaka. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/aarch64.cc: Include fujitsu-monaka tuning model. + * doc/invoke.texi: Document -mcpu=fujitsu-monaka. + * config/aarch64/tuning_models/fujitsu_monaka.h: New file. + +2024-11-04 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (update_epilogue_loop_vinfo): Update + DR inits after adjusting the epilog metadata. + +2024-11-04 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (update_epilogue_loop_vinfo): A DRs + main stmt vinfo dr_aux should refer to a pattern stmt + which is how move_dr sets this up. We shouldn't undo this. + +2024-11-04 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vect_analyze_loop): Move lowest_th + compute until after epilogue_vinfos is final. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): + Simplify (rotate:HI x:HI, 8) -> (bswap:HI x:HI). + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/aarch64.cc (aarch64_emit_opt_vec_rotate): Add + generation of XAR sequences when possible. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * expmed.h (expand_rotate_as_vec_perm): Declare. + * expmed.cc (expand_rotate_as_vec_perm): Define. + * config/aarch64/aarch64-protos.h (aarch64_emit_opt_vec_rotate): + Declare prototype. + * config/aarch64/aarch64.cc (aarch64_emit_opt_vec_rotate): Implement. + * config/aarch64/aarch64-simd.md (*aarch64_simd_rotate_imm<mode>): + Call the above. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117048 + * config/aarch64/aarch64-simd.md (*aarch64_simd_rotate_imm<mode>): + New define_insn_and_split. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/iterators.md (SVE_ASIMD_FULL_I): New mode iterator. + * config/aarch64/aarch64-sve2.md (@aarch64_sve2_xar<mode>): + Use SVE_ASIMD_FULL_I modes. Use ROTATE code for the rotate step. + Adjust output logic. + * config/aarch64/aarch64-sve-builtins-sve2.cc (svxar_impl): Define. + (svxar): Use the above. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117048 + * simplify-rtx.cc (extract_ashift_operands_p): Define. + (simplify_rotate_op): Likewise. + (simplify_context::simplify_binary_operation_1): Use the above in + the PLUS, IOR, XOR cases. + (test_vector_rotate): Define. + (test_vector_ops): Use the above. + +2024-11-03 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/115023 + * doc/extend.texi (__builtin_assoc_barrier): Document ffp-contract=fast + and FMA usage. + +2024-11-03 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117363 + * match.pd (`a != 0 ? a - 1 : 0`): Fix type handling + and nop_convert handling. + +2024-11-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117384 + * gimplify.cc (gimplify_init_ctor_eval): Add VIEW_CONVERT_EXPR around + rctor if it doesn't have expected type. + +2024-11-02 Jeff Law <jlaw@ventanamicro.com> + + * config/ft32/ft32.cc (ft32_lra_p): Remove. + (TARGET_LRA_P): Likewise. + * config/ft32/ft32.opt: Make -mlra ignored. + * doc/invoke.texi: Adjust documentation for -mlra on ft32. + +2024-11-01 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/117407 + * builtins.cc (expand_builtin_prefetch): Use !IN_RANGE rather + than IN_RANGE. + +2024-11-01 Andrew MacLeod <amacleod@redhat.com> + + * range-op.cc (operator_bitwise_or::op1_range): If LHS is signed + positive, so are both operands. + +2024-11-01 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/117287 + * Makefile.in (IBJS): Add tree-assume.o + * gimple-range.cc (assume_query::assume_range_p): Remove. + (assume_query::range_of_expr): Remove. + (assume_query::assume_query): Move to tree-assume.cc. + (assume_query::~assume_query): Remove. + (assume_query::calculate_op): Move to tree-assume.cc. + (assume_query::calculate_phi): Likewise. + (assume_query::check_taken_edge): Remove. + (assume_query::calculate_stmt): Move to tree-assume.cc. + (assume_query::dump): Remove. + * gimple-range.h (class assume_query): Move to tree-assume.cc + * tree-assume.cc: New + * tree-vrp.cc (struct pass_data_assumptions): Move to tree-assume.cc. + (class pass_assumptions): Likewise. + (make_pass_assumptions): Likewise. + +2024-11-01 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (class fur_edge): Relocate from here. + (fur_edge::fur_edge): Also move to: + * gimple-range-fold.h (class fur_edge): Relocate to here. + (fur_edge::fur_edge): Likewise. + +2024-11-01 Jakub Jelinek <jakub@redhat.com> + + * doc/standards.texi (C++ Language): Mention also the 2024 + revision and -std=gnu++23 option. + * doc/invoke.texi (-std=): Adjust description of c++23, c++2b, + gnu++23 and gnu++2b now that ISO C++ 14882:2024 is published. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * builtins.cc (expand_builtin_prefetch): Use IN_RANGE to + avoid second usage of INTVAL. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/cmpccxaddintrin.h (_cmpccxadd_epi32): Do not do + type conversion for pointer. + (_cmpccxadd_epi64): Ditto. + +2024-11-01 Xi Ruoyao <xry111@xry111.site> + + PR target/116887 + * varasm.cc (default_section_type_flags): Always set + SECTION_RELRO if name is .data.rel.ro{,.local}. + +2024-11-01 David Malcolm <dmalcolm@redhat.com> + + PR bootstrap/117361 + * Makefile.in (GCC_FOR_SELFTESTS): New. + +2024-11-01 Hu, Lin1 <lin1.hu@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): + Detect AMX-MOVRS. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AMX_MOVRS_SET): New. + (OPTION_MASK_ISA2_AMX_MOVRS_UNSET): Ditto. + (ix86_handle_option): Handle -mamx-movrs. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AMX_MOVRS. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + amx-movrs. + * config.gcc: Add amxmovrsintrin.h. + * config/i386/cpuid.h (bit_AMX_MOVRS): New. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Define __AMX_MOVRS__. + * config/i386/i386-isa.def (AMX_MOVRS): Add DEF_PTA(AMX_MOVRS). + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Handle amx-movrs. + * config/i386/i386.opt: Add option -mamx-movrs. + * config/i386/i386.opt.urls: Regenerated. + * config/i386/immintrin.h: Include amxmovrsintrin.h + * doc/extend.texi: Document amx-movrs. + * doc/invoke.texi: Document -mamx-movrs. + * doc/sourcebuild.texi: Document target amx-movrs. + * config/i386/amxmovrsintrin.h: New file. + +2024-11-01 Hu, Lin1 <lin1.hu@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * builtins.cc (expand_builtin_prefetch): Expand for + prefetchrst2. + * common/config/i386/cpuinfo.h (get_available_features): Detect movrs. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_MOVRS_SET): New. + (OPTION_MASK_ISA2_MOVRS_UNSET): Ditto. + (ix86_handle_option): Handle -mmovrs. + * common/config/i386/i386-cpuinfo.h + (enum processor_features): Add FEATURE_MOVRS. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for movrs. + * config.gcc: Add movrsintrin.h + * config/i386/cpuid.h (bit_MOVRS): New. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (CHAR, PCCHAR), (SHORT, PCSHORT), (INT, PCINT), + (INT64, PCINT64). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-c.cc (ix86_target_macros_internal): Add + __MOVRS__. + * config/i386/i386-expand.cc (ix86_expand_special_args_builtin): Define + __MOVRS__. + * config/i386/i386-isa.def (MOVRS): Add DEF_PTA(MOVRS) + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Handle movrs. + * config/i386/i386.md (movrs<mode>): New. + * config/i386/i386.opt: Add option -mmovrs. + * config/i386/i386.opt.urls: Regenerated. + * config/i386/immintrin.h: Include movrsintrin.h + * config/i386/sse.md (unspecv): Add UNSPEC_VMOVRS. + (VI1248_AVX10_2): New. + (avx10_2_movrs_vmovrs<ssemodesuffix><mode><mask_name>): New define_insn. + * config/i386/xmmintrin.h: Add prefetchrst2. + * doc/extend.texi: Document movrs. + * doc/invoke.texi: Document -mmovrs. + * doc/rtl.texi: Document extension of prefetchrst2. + * doc/sourcebuild.texi: Document target movrs. + * config/i386/movrsintrin.h: New. + +2024-11-01 Liwei Xu <liwei.xu@intel.com> + Hu, Lin1 <lin1.hu@intel.com> + + * common/config/i386/cpuinfo.h + (get_available_features): Detect amx-fp8. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AMX_FP8_SET): New macros. + (OPTION_MASK_ISA2_AMX_FP8_UNSET): Ditto. + (ix86_handle_option): Handle -mamx-fp8. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AMX_FP8. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for amx-fp8. + * config.gcc: Add amxfp8intrin.h. + * config/i386/cpuid.h (bit_AMX_FP8): New. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Define __AMX_FP8__. + * config/i386/i386-isa.def (AMX_FP8): Add DEF_PTA for AMX_FP8. + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Add new ATTR. + * config/i386/i386.opt: Add -mamx-fp8. + * config/i386/i386.opt.urls: Regenerated. + * config/i386/immintrin.h: Include amxfp8intrin.h. + * doc/extend.texi: Document -mamx-fp8. + * doc/invoke.texi: Document -mamx-fp8. + * doc/sourcebuild.texi: Document -mamx-fp8. + * config/i386/amxfp8intrin.h: New file. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): + Detect AMX-TRANSPOSE. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AMX_TRANSPOSE_SET, + OPTION_MASK_ISA2_AMX_TRANSPOSE_UNSET): New. + (ix86_handle_option): Handle -mamx-transpose. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AMX_TRANSPOSE. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + amx-transpose. + * config.gcc: Add amxtransposeintrin.h. + * config/i386/cpuid.h (bit_AMX_TRANSPOSE): New. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __AMX_TRANSPOSE__. + * config/i386/i386-isa.def (AMX_TRANSPOSE): Add + DEF_PTA(AMX_TRANSPOSE). + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Handle amx-transpose. + * config/i386/i386.opt: Add option -mamx-transpose. + * config/i386/i386.opt.urls: Regenerated. + * config/i386/immintrin.h: Include amxtransposeintrin.h. + * doc/extend.texi: Document amx-transpose. + * doc/invoke.texi: Document -mamx-transpose. + * doc/sourcebuild.texi: Document target amx-transpose. + * config/i386/amxtransposeintrin.h: New file. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): + Detect AMX-TF32. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_TF32_SET, + OPTION_MASK_ISA2_AMX_TF32_UNSET): New. + (ix86_handle_option): Handle -mamx-tf32. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AMX_TF32. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + amx-tf32. + * config.gcc: Add amxtf32intrin.h + * config/i386/cpuid.h (bit_AMX_TF32): New. + * config/i386/i386-c.cc (ix86_target_macros_internal): Handle amx-tf32. + * config/i386/i386-isa.def (AMX_TF32): Add DEF_PTA(AMX_TF32). + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Handle amx-tf32. + * config/i386/i386.opt: Add option -mamx-tf32. + * config/i386/i386.opt.urls: Regenerated. + * config/i386/immintrin.h: Include amxtf32intrin.h. + * doc/extend.texi: Document amx-tf32. + * doc/invoke.texi: Document -mamx-tf32. + * doc/sourcebuild.texi: Document target amx-tf32. + * config/i386/amxtf32intrin.h: New file. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + Yu, Bing <bing1.yu@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): + Detect AMX-AVX512. + * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_AVX512_SET, + OPTION_MASK_ISA2_AMX_AVX512_UNSET): New. + (ix86_handle_option): Handle -mamx-avx512. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AMX_AVX512. + * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for + amx-avx512. + * config.gcc: Add amxavx512intrin.h + * config/i386/cpuid.h (bit_AMX_AVX512): New. + * config/i386/i386-c.cc (ix86_target_macros_internal): + Handle amx-avx512. + * config/i386/i386-isa.def (AMX_AVX512): Add DEF_PTA(AMX_AVX512). + * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p): + Handle amx-avx512. + * config/i386/i386.opt: Add option -mamx-avx512. + * config/i386/i386.opt.urls: Regenerated. + * config/i386/immintrin.h: Include amxavx512intrin.h + * doc/extend.texi: Document amx-avx512. + * doc/invoke.texi: Document -mamx-avx512. + * doc/sourcebuild.texi: Document target amx-avx512. + * config/i386/amxavx512intrin.h: New file. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (V16SI, V16SI, V16SI). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle + V16SI_FTYPE_V16SI_V16SI. + * config/i386/sm4intrin.h: Add zmm insns. + * config/i386/sse.md (vsm4key4_<mode>): Add EVEX pattern. + (vsm4rnds4_<mode>): Ditto. + +2024-10-31 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svmax, svamin): Move + definitions to... + * config/aarch64/aarch64-sve-builtins-sve2.cc: ...here. + * config/aarch64/aarch64-sve-builtins-base.def (svmax, svamin): Move + definitions to... + * config/aarch64/aarch64-sve-builtins-sve2.def: ...here. Require + SME2 in streaming mode. + +2024-10-31 Richard Sandiford <richard.sandiford@arm.com> + + * config.gcc (aarch64*-*-*): Add aarch64-protos.h to target_gtfiles. + * config/aarch64/aarch64-protos.h + (aarch64_required_extensions): New structure. + (aarch64_check_required_extensions): Change the type of the + required_extensions parameter from aarch64_feature_flags to + aarch64_required_extensions. + * config/aarch64/aarch64-sve-builtins.h + (function_builder::add_unique_function): Likewise. + (function_builder::add_overloaded_function): Likewise. + (function_builder::get_attributes): Likewise. + (function_builder::add_function): Likewise. + (function_group_info): Change the type of required_extensions + in the same way. + * config/aarch64/aarch64-builtins.cc + (aarch64_pragma_builtins_data::required_extensions): Change the type + from aarch64_feature_flags to aarch64_required_extensions. + (aarch64_check_required_extensions): Likewise change the type + of the required_extensions parameter. Separate the requirements + for non-streaming mode and streaming mode, ORing them together + for streaming-compatible mode. + (aarch64_general_required_extensions): New function. + (aarch64_general_check_builtin_call): Use it. + * config/aarch64/aarch64-sve-builtins.cc + (registered_function::required_extensions): Change the type + from aarch64_feature_flags to aarch64_required_extensions. + (DEF_NEON_SVE_FUNCTION, DEF_SME_ZA_FUNCTION_GS): Update accordingly. + (function_builder::get_attributes): Change the type of the + required_extensions parameter from aarch64_feature_flags to + aarch64_required_extensions. + (function_builder::add_function): Likewise. + (function_builder::add_unique_function): Likewise. + (function_builder::add_overloaded_function): Likewise. + * config/aarch64/aarch64-simd-pragma-builtins.def: Update + REQUIRED_EXTENSIONS definitions to use aarch64_required_extensions. + * config/aarch64/aarch64-sve-builtins-base.def: Likewise. + * config/aarch64/aarch64-sve-builtins-sme.def: Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. + +2024-10-31 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc (ENTRY): Remove the features + argument and get the features from REQUIRED_EXTENSIONS instead. + (ENTRY_VHSDF): Move definition to... + * config/aarch64/aarch64-simd-pragma-builtins.def: ...here. + Move the architecture requirements to REQUIRED_EXTENSIONS. + +2024-10-31 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sve-builtins-base.def (svtrn1q, svtrn2q) + (svuzp1q, svuzp2q, svzip1q, svzip2q): Require SM_OFF. + +2024-10-31 Andi Kleen <ak@gcc.gnu.org> + + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Check for HAVE_CLOCK_GETTIME. + * timevar.cc (get_time): Use HAVE_CLOCK_GETTIME. + +2024-10-31 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv-v.cc (expand_const_vector): Use IOR op. + +2024-10-31 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS): Add lazy-diagnostic-path.o. + * lazy-diagnostic-path.cc: New file. + * lazy-diagnostic-path.h: New file. + * selftest-diagnostic.cc: Include "diagnostic-format.h". + (test_diagnostic_context::test_diagnostic_context): Turn off + flushing for the output format's printer. + * selftest-run-tests.cc (selftest::run_tests): Call + selftest::lazy_diagnostic_path_cc_tests. + * selftest.h (selftest::lazy_diagnostic_path_cc_tests): New decl. + +2024-10-31 David Malcolm <dmalcolm@redhat.com> + + * opts-diagnostic.cc (output_factory::handler::handler): Use + std::move on name. + +2024-10-31 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_context::finish): Delete and reset + m_option_mgr. + +2024-10-31 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/117176 + * tree-vect-patterns.cc (vect_recog_gcond_pattern): Lower all gconds. + * tree-vect-slp.cc (vect_analyze_slp): No longer check for in vect def. + +2024-10-31 Yangyu Chen <cyy@cyyself.name> + + * config/riscv/riscv.cc (riscv_can_inline_p): Refuse to inline + when callee is versioned but caller is not. + +2024-10-31 Yangyu Chen <cyy@cyyself.name> + + * config/riscv/riscv-protos.h (riscv_process_target_attr): New. + * config/riscv/riscv-target-attr.cc (riscv_process_target_attr): + Split into two functions with const char *args argument + +2024-10-31 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117354 + * expr.cc (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Pass + true as inner_reference_p argument to expand_expr_real if + mode is BLKmode. Don't call extract_bit_field if mode is BLKmode. + +2024-10-31 Yangyu Chen <cyy@cyyself.name> + + * config/riscv/predicates.md: Use flag_plt instead of TARGET_PLT. + * config/riscv/riscv.opt: alias common option fplt to mplt. + +2024-10-31 Jakub Jelinek <jakub@redhat.com> + + * tree.cc (valid_new_delete_pair_p): Fix up duplicate "or or" + in comment. + +2024-10-31 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/114785 + PR middle-end/116949 + * gimple-match-exports.cc (maybe_push_res_to_seq): Remove special + handling of COMPARISON_CLASS_P in COND_EXPR/VEC_COND_EXPR. + (gimple_extract): Likewise. + * gimple-walk.cc (walk_stmt_load_store_addr_ops): Likewise. + * gimple.cc (gimple_build_assign_1): Add assert for COND_EXPR + so its 1st operand is not a comparison. + +2024-10-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> + + * tree-vectorizer.cc (pass_vectorize::execute): Reset dont_vectorize + to scalar loop when setting IFN_LOOP_VECTORIZED to false. + +2024-10-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> + + * params.opt: Adjust param_vect_max_version_for_alias_checks + +2024-10-30 Joseph Myers <josmyers@redhat.com> + + * doc/cpp.texi (__STDC_VERSION__): Do not refer to C23 support as + experimental. + * doc/invoke.texi (std=c23, std=gnu23): Do not document as + experimental and incomplete. + * doc/standards.texi: Do not refer to C23 support as experimental + and incomplete. + +2024-10-30 Andi Kleen <ak@gcc.gnu.org> + + * timevar.cc (struct tms): Remove. + (RUSAGE_SELF): Remove. + (TICKS_PER_SECOND): Remove. + (USE_TIMES): Remove. + (HAVE_USER_TIME): Remove. + (HAVE_SYS_TIME): Remove. + (HAVE_WALL_TIME): Remove. + (USE_GETRUSAGE): Remove. + (USE_CLOCK): Remove. + (NANOSEC_PER_SEC): Remove. + (TICKS_TO_NANOSEC): Remove. + (CLOCKS_TO_NANOSEC): Remove. + (timer::named_items::push): Remove sys/user. + (get_time): Remove clock and times and getruage code. + (timevar_accumulate): Remove sys/user. + (timevar_diff): Dito. + (timer::validate_phases): Dito. + (timer::print_row): Dito. + (timer::all_zero): Dito. + (timer::print): Dito. + (make_json_for_timevar_time_def): Dito. + * timevar.h (struct timevar_time_def): Dito. + +2024-10-30 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (finish_cost): Inline everywhere and remove. + * tree-vect-loop.cc (vect_estimate_min_profitable_iters): + Inline finish_cost. + * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Likewise. + +2024-10-30 Yangyu Chen <cyy@cyyself.name> + + * config/aarch64/aarch64.cc (dispatch_function_versions): Adding + DECL_EXTERNAL, TREE_PUBLIC and hidden DECL_VISIBILITY to + __init_cpu_features_resolver and __aarch64_cpu_features. + +2024-10-30 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (singleton_vxrm_need): New function. + (riscv_mode_needed): See if there is a singleton need and if so, + claim it happens on the first insn in the chain. + +2024-10-30 liuhongt <hongtao.liu@intel.com> + + PR target/117318 + * config/i386/sse.md (*avx512vl_<code>v2div2qi2_mask_store_1): + Rename to .. + (avx512vl_<code>v2div2qi2_mask_store_1): .. this. + (avx512vl_<code>v2div2qi2_mask_store_2): Change to + define_expand. + (*avx512vl_<code><mode>v4qi2_mask_store_1): Rename to .. + (avx512vl_<code><mode>v4qi2_mask_store_1): .. this. + (avx512vl_<code><mode>v4qi2_mask_store_2): Change to + define_expand. + (*avx512vl_<code><mode>v8qi2_mask_store_1): Rename to .. + (avx512vl_<code><mode>v8qi2_mask_store_1): .. this. + (avx512vl_<code><mode>v8qi2_mask_store_2): Change to + define_expand. + (*avx512vl_<code><mode>v4hi2_mask_store_1): Rename to .. + (avx512vl_<code><mode>v4hi2_mask_store_1): .. this. + (avx512vl_<code><mode>v4hi2_mask_store_2): Change to + define_expand. + (*avx512vl_<code>v2div2hi2_mask_store_1): Rename to .. + (avx512vl_<code>v2div2hi2_mask_store_1): .. this. + (avx512vl_<code>v2div2hi2_mask_store_2): Change to + define_expand. + (*avx512vl_<code>v2div2si2_mask_store_1): Rename to .. + (avx512vl_<code>v2div2si2_mask_store_1): .. this. + (avx512vl_<code>v2div2si2_mask_store_2): Change to + define_expand. + (*avx512f_<code>v8div16qi2_mask_store_1): Rename to .. + (avx512f_<code>v8div16qi2_mask_store_1): .. this. + (avx512f_<code>v8div16qi2_mask_store_2): Change to + define_expand. + +2024-10-30 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc (STRS_QUALIFIERS): Delete. + (STRU_QUALIFIERS): Delete. + (STRS_P_QUALIFIERS): Delete. + (STRU_P_QUALIFIERS): Delete. + (LDRS_QUALIFIERS): Delete. + (LDRU_QUALIFIERS): Delete. + (LDRS_Z_QUALIFIERS): Delete. + (LDRU_Z_QUALIFIERS): Delete. + +2024-10-30 Richard Biener <rguenther@suse.de> + + * tree-vect-patterns.cc (check_bool_pattern): Remove. + (adjust_bool_pattern_cast): Likewise. + (adjust_bool_pattern): Likewise. + (sort_after_uid): Likewise. + (adjust_bool_stmts): Likewise. + (vect_recog_bool_pattern): Remove calls to check_bool_pattern + and fold as if it returns false. + +2024-10-30 Jakub Jelinek <jakub@redhat.com> + + PR target/117296 + * function.cc (assign_parms): Call do_pending_stack_adjust. + +2024-10-30 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117348 + * genmatch.cc: Replace defined(HAVE_DECL_FMEMOPEN) + test with HAVE_DECL_FMEMOPEN. + +2024-10-30 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_TEMP. + * config/i386/i386-expand.cc (ix86_expand_builtin) + <case IX86_BUILTIN_LDMXCSR>: Use assign_stack_temp instead of + assign_386_stack_local with SLOT_TEMP. + <case IX86_BUILTIN_LDMXCSR>: Ditto. + (ix86_expand_divmod_libfunc): Ditto. + * config/i386/i386.md (floatunssi<mode>2): Ditto. + * config/i386/sync.md (atomic_load<mode>): Ditto. + (atomic_store<mode>): Ditto. + +2024-10-30 xuli <xuli1@eswincomputing.com> + + * match.pd: Simplify (x != 0 ? x + ~0 : 0) to (x - x != 0). + +2024-10-29 Andi Kleen <ak@gcc.gnu.org> + + Revert: + 2024-10-29 Andi Kleen <ak@gcc.gnu.org> + + PR middle-end/117091 + * tree-switch-conversion.cc (bit_test_cluster::find_bit_tests): + Change clustering algorithm to simple greedy. + +2024-10-29 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * Makefile.in (OBJS-libcommon-target): Add opts-diagnostic.o. + * common.opt (fdiagnostics-add-output=): New. + (fdiagnostics-set-output=): New. + (diagnostics_output_format): Drop sarif-file-2.2-prerelease from + enum. + * common.opt.urls: Regenerate. + * diagnostic-buffer.h (diagnostic_buffer::~diagnostic_buffer): New. + (diagnostic_buffer::ensure_per_format_buffer): Rename to... + (diagnostic_buffer::ensure_per_format_buffers): ...this. + (diagnostic_buffer::m_per_format_buffer): Replace with... + (diagnostic_buffer::m_per_format_buffers): ...this, updating type. + * diagnostic-format-json.cc (json_output_format::update_printer): + New. + (json_output_format::follows_reference_printer_p): New. + (diagnostic_output_format_init_json): Drop redundant call to + set_path_format, as this is not a text output format. + * diagnostic-format-sarif.cc: Include "diagnostic-format-text.h". + (sarif_builder::set_printer): New. + (sarif_builder::sarif_builder): Add "printer" param and use it for + m_printer. + (sarif_builder::make_location_object::escape_nonascii_renderer::render): + Rather than using dc.m_printer, create a + diagnostic_text_output_format instance and use its printer. + (sarif_output_format::follows_reference_printer_p): New. + (sarif_output_format::update_printer): New. + (sarif_output_format::sarif_output_format): Pass in correct + printer to m_builder's ctor. + (diagnostic_output_format_init_sarif): Drop redundant call to + set_path_format, as this is not a text output format. Replace + calls to pp_show_color and set_token_printer with call to + update_printer. Drop redundant call to set_show_highlight_colors, + as this printer does not show colors. + (diagnostic_output_format_init_sarif_file): Split out file opening + into... + (diagnostic_output_format_open_sarif_file): ...this new function. + (make_sarif_sink): New. + (selftest::test_make_location_object): Provide a pp for the + builder. + * diagnostic-format-sarif.h + (diagnostic_output_format_open_sarif_file): New decl. + (make_sarif_sink): New decl. + * diagnostic-format-text.cc (diagnostic_text_output_format::dump): + Dump sm_follows_reference_printer. + (diagnostic_text_output_format::on_report_verbatim): New. + (diagnostic_text_output_format::follows_reference_printer_p): New. + (diagnostic_text_output_format::update_printer): New. + * diagnostic-format-text.h + (diagnostic_text_output_format::diagnostic_text_output_format): + Add optional "follows_reference_printer" param. + (diagnostic_text_output_format::on_report_verbatim): New decl. + (diagnostic_text_output_format::after_diagnostic): Drop "final". + (diagnostic_text_output_format::follows_reference_printer_p): New + decl. + (class diagnostic_text_output_format): Convert private members to + protected. + (diagnostic_text_output_format::m_follows_reference_printer): New + field. + * diagnostic-format.h + (diagnostic_output_format::on_report_verbatim): New vfunc. + (diagnostic_output_format::follows_reference_printer_p): New vfunc. + (diagnostic_output_format::update_printer): New vfunc. + (diagnostic_output_format::get_printer): Use m_printer rather than + a printer from m_context. + (diagnostic_output_format::diagnostic_output_format): Initialize + m_printer by cloning the context's printer. + (diagnostic_output_format::m_printer): New field. + * diagnostic-global-context.cc (verbatim): Reimplement in terms of + global_dc->report_verbatim, moving existing implementation to + diagnostic_text_output_format::on_report_verbatim. + (fnotice): Support multiple output sinks by using a new + global_dc->supports_fnotice_on_stderr_p. + * diagnostic-output-file.h + (diagnostic_output_file::diagnostic_output_file): New default ctor. + (diagnostic_output_file::operator=): Implement move assignment. + * diagnostic-path.cc (selftest::test_interprocedural_path_1): Pass + false for new param of text_output's ctor. + * diagnostic-show-locus.cc + (selftest::test_layout_x_offset_display_utf8): Use reference + printer. + (selftest::test_layout_x_offset_display_tab): Likewise. + (selftest::test_one_liner_fixit_remove): Likewise. + * diagnostic.cc: Include "pretty-print-urlifier.h". + (diagnostic_set_caret_max_width): Update for global_dc's m_printer + becoming reference printer. + (diagnostic_context::initialize): Update for m_printer becoming + m_reference_printer. Use ::make_unique to create it. Update for + m_output_format becoming m_output_sinks. + (diagnostic_context::color_init): Update the reference printer, + then update the printers for any output sinks that follow it. + (diagnostic_context::urls_init): Likewise. + (diagnostic_context::finish): Update comment. Update for + m_output_format becoming m_output_sinks. Update for m_printer + becoming m_reference_printer and use "delete" on it rather than + XDELETE. + (diagnostic_context::dump): Update for m_printer becoming + reference printer, and for multiple output sinks. + (diagnostic_context::set_output_format): Reimplement for + supporting multiple output sinks. + (diagnostic_context::get_output_format): Likewise. + (diagnostic_context::add_sink): New. + (diagnostic_context::supports_fnotice_on_stderr_p): New. + (diagnostic_context::set_pretty_printer): New. + (diagnostic_context::refresh_output_sinks): New. + (diagnostic_context::set_format_decoder): New. + (diagnostic_context::set_show_highlight_colors): New. + (diagnostic_context::set_prefixing_rule): New. + (diagnostic_context::report_diagnostic): Update to support + multiple output sinks. + (diagnostic_context::report_verbatim): New. + (diagnostic_context::emit_diagram): Update to support multiple + output sinks. + (diagnostic_context::error_recursion): Update to use + m_reference_printer. + (fancy_abort): Likewise. + (diagnostic_context::end_group): Update to support multiple + output sinks. + (diagnostic_output_format::dump): Implement. + (diagnostic_output_format::on_report_verbatim): Likewise. + (diagnostic_output_format_init): Drop + DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE_2_2_PRERELEASE. + (diagnostic_context::set_diagnostic_buffer): Reimplement to + support multiple output sinks. + (diagnostic_context::clear_diagnostic_buffer): Likewise. + (diagnostic_context::flush_diagnostic_buffer): Likewise. + (diagnostic_buffer::diagnostic_buffer): Initialize + m_per_format_buffers. + (diagnostic_buffer::~diagnostic_buffer): New dtor. + (diagnostic_buffer::dump): Reimplement to support multiple output + sinks. + (diagnostic_buffer::empty_p): Likewise. + (diagnostic_buffer::move_to): Likewise. + (diagnostic_buffer::ensure_per_format_buffer): Likewise, renaming + to... + (diagnostic_buffer::ensure_per_format_buffers): ...this. + * diagnostic.h + (DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE_2_2_PRERELEASE): Delete. + (class diagnostic_context): Add friend class diagnostic_buffer. + (diagnostic_context::set_pretty_printer): New decl. + (diagnostic_context::refresh_output_sinks): New decl. + (diagnostic_context::report_verbatim): New decl. + (diagnostic_context::get_output_format): Drop. + (diagnostic_context::set_show_highlight_colors): Drop body. + (diagnostic_context::set_format_decoder): New decl. + (diagnostic_context::set_prefixing_rule): New decl. + (diagnostic_context::clone_printer): Reimplement. + (diagnostic_context::get_reference_printer): New accessor. + (diagnostic_context::add_sink): New decl. + (diagnostic_context::supports_fnotice_on_stderr_p): New decl. + (diagnostic_context::m_printer): Replace with... + (diagnostic_context::m_reference_printer): ...this, and make + private. + (diagnostic_context::m_output_format): Replace with... + (diagnostic_context::m_output_sinks): ...this. + (diagnostic_format_decoder): Delete. + (diagnostic_prefixing_rule): Delete. + (diagnostic_ready_p): Delete. + * doc/invoke.texi: Document -fdiagnostics-add-output= and + -fdiagnostics-set-output=. + * gcc.cc: Include "opts-diagnostic.h". + (driver_handle_option): Handle cases OPT_fdiagnostics_add_output_ + and OPT_fdiagnostics_set_output_. + * opts-diagnostic.cc: New file. + * opts-diagnostic.h (handle_OPT_fdiagnostics_add_output_): New decl. + (handle_OPT_fdiagnostics_set_output_): New decl. + * opts-global.cc (init_options_once): Update for global_dc's + m_printer becoming reference printer. Call + global_dc->refresh_output_sinks. + * opts.cc (common_handle_option): Replace use of + diagnostic_prefixing_rule with dc->set_prefixing_rule. Handle + cases OPT_fdiagnostics_add_output_ and + OPT_fdiagnostics_set_output_. Update for m_printer becoming + reference printer. + * selftest-diagnostic.cc + (selftest::test_diagnostic_context::test_diagnostic_context): + Update for m_printer becoming reference printer. + (test_diagnostic_context::test_show_locus): Likewise. + * selftest-run-tests.cc (selftest::run_tests): Call + selftest::opts_diagnostic_cc_tests. + * selftest.h (selftest::opts_diagnostic_cc_tests): New decl. + * simple-diagnostic-path.cc + (selftest::simple_diagnostic_path_cc_tests): Use reference + printer. + * toplev.cc (announce_function): Update for global_dc's m_printer + becoming reference printer. + (toplev::main): Likewise. + * tree-diagnostic.cc (tree_diagnostics_defaults): Replace use of + diagnostic_format_decoder with context->set_format_decoder. + * tree-diagnostic.h + (tree_dump_pretty_printer::tree_dump_pretty_printer): Update for + global_dc's m_printer becoming reference printer. + * tree.cc (escaped_string::escape): Likewise. + (selftest::test_escaped_strings): Likewise. + +2024-10-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/117346 + * config/aarch64/aarch64.cc (aarch64_gen_ccmp_first): Call + canonicalize_comparison before figuring out the cmp_mode/cc_mode. + (aarch64_gen_ccmp_next): Likewise. + +2024-10-29 Andi Kleen <ak@gcc.gnu.org> + + PR middle-end/117091 + * tree-switch-conversion.cc (bit_test_cluster::find_bit_tests): + Change clustering algorithm to simple greedy. + +2024-10-29 Andi Kleen <ak@gcc.gnu.org> + + PR middle-end/117091 + * gimple-if-to-switch.cc (if_chain::is_beneficial): Update + find_bit_test call. + * tree-switch-conversion.cc (bit_test_cluster::find_bit_tests): + Get max_c argument and bail out early if all case labels are + unique. + (switch_decision_tree::compute_cases_per_edge): Record number of + targets per label and return. + (switch_decision_tree::analyze_switch_statement): ... pass to + find_bit_tests. + * tree-switch-conversion.h: Update prototypes. + +2024-10-29 Andi Kleen <ak@gcc.gnu.org> + + * common.opt: Enable -fbit-tests and -fjump-tables only at -O1. + * opts.cc (default_options_table): Dito. + +2024-10-29 Eric Botcazou <ebotcazou@adacore.com> + + PR rtl-optimization/117327 + * reorg.cc (find_end_label): Do not return a dangling label at the + end of the function and adjust commentary. + +2024-10-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/117349 + * config/aarch64/aarch64.cc (aarch64_rtx_costs): Remove + unnecessary casts to rtx_code. + (aarch64_gen_ccmp_first): Likewise. + (aarch64_gen_ccmp_next): Likewise. + +2024-10-29 Tsung Chun Lin <tclin914@gmail.com> + + * common/config/riscv/riscv-common.cc: M implies Zmmul. + +2024-10-29 yulong <shiyulong@iscas.ac.cn> + + * config.gcc: Add riscv_cmo.h. + * config/riscv/riscv_cmo.h: New file. + +2024-10-29 Pan Li <pan2.li@intel.com> + Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/autovec.md (mask_len_strided_load_<mode>): Add + new pattern for MASK_LEN_STRIDED_LOAD. + (mask_len_strided_store_<mode>): Ditto but for store. + * config/riscv/riscv-protos.h (expand_strided_load): Add new + func decl to expand strided load. + (expand_strided_store): Ditto but for store. + * config/riscv/riscv-v.cc (expand_strided_load): Add new + func impl to expand strided load. + (expand_strided_store): Ditto but for store. + +2024-10-29 Pan Li <pan2.li@intel.com> + Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * tree-vect-stmts.cc (vect_get_strided_load_store_ops): Handle + MASK_LEN_STRIDED_LOAD{STORE} after supported check. + (vectorizable_store): Generate MASK_LEN_STRIDED_LOAD when the offset + of gater is not vector type. + (vectorizable_load): Ditto but for store. + +2024-10-29 Pan Li <pan2.li@intel.com> + Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * internal-fn.cc (strided_load_direct): Add new define direct + for strided load. + (strided_store_direct): Ditto but for store. + (expand_strided_load_optab_fn): Add new func to expand the IFN + MASK_LEN_STRIDED_LOAD in middle-end. + (expand_strided_store_optab_fn): Ditto but for store. + (direct_strided_load_optab_supported_p): Add define for stride + load optab supported. + (direct_strided_store_optab_supported_p): Ditto but for store. + (internal_fn_len_index): Add strided load/store len index. + (internal_fn_mask_index): Ditto but for mask. + (internal_fn_stored_value_index): Add strided store value index. + * internal-fn.def (MASK_LEN_STRIDED_LOAD): Add new IFN for + strided load. + (MASK_LEN_STRIDED_STORE): Ditto but for store. + * optabs.def (mask_len_strided_load_optab): Add strided load optab. + (mask_len_strided_store_optab): Add strided store optab. + +2024-10-29 Richard Biener <rguenther@suse.de> + + * tree-vect-patterns.cc (type_conversion_p): Remove. + (vect_recog_mixed_size_cond_pattern): Likewise. + (vect_vect_recog_func_ptrs): Remove vect_recog_mixed_size_cond_pattern + entry. + +2024-10-29 Richard Biener <rguenther@suse.de> + + * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern): + Remove COMPARISON_CLASS_P rhs1 of COND_EXPR case and assert + it doesn't happen. + +2024-10-29 David Malcolm <dmalcolm@redhat.com> + + PR jit/117275 + * varasm.cc (process_pending_assemble_externals): Reset + pending_assemble_externals_set to nullptr after deleting it. + (varasm_cc_finalize): Delete pending_assemble_externals_set. + +2024-10-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117343 + * tree-vect-slp.cc (vect_optimize_slp_pass::build_vertices): + Support re-building the SLP graph. + (vect_optimize_slp_pass::run): Re-build the SLP graph before + decide_masked_load_lanes. + +2024-10-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117333 + * tree-data-ref.cc (dr_may_alias_p): Guard against NULL + access size. + +2024-10-29 Alfie Richards <Alfie.Richards@arm.com> + Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/arm-mve-builtins-base.cc (vld1q_impl): Add support + for predicated version. + (vst1q_impl): Likewise. + (vstrq_impl): New class. + (vldrq_impl): New class. + (vldrbq): New. + (vldrhq): New. + (vldrwq): New. + (vstrbq): New. + (vstrhq): New. + (vstrwq): New. + * config/arm/arm-mve-builtins-base.def (vld1q): Add predicated + version. + (vldrbq): New. + (vldrhq): New. + (vldrwq): New. + (vst1q): Add predicated version. + (vstrbq): New. + (vstrhq): New. + (vstrwq): New. + (vrev32q): Update types to float_16. + * config/arm/arm-mve-builtins-base.h (vldrbq): New. + (vldrhq): New. + (vldrwq): New. + (vstrbq): New. + (vstrhq): New. + (vstrwq): New. + * config/arm/arm-mve-builtins-functions.h (memory_vector_mode): + Remove conversion of floating point vectors to integer. + * config/arm/arm-mve-builtins.cc (TYPES_float16): Change to... + (TYPES_float_16): ...this. + (TYPES_float_32): New. + (float16): Change to... + (float_16): ...this. + (float_32): New. + (preds_z_or_none): New. + (function_resolver::check_gp_argument): Add support for _z + predicate. + * config/arm/arm_mve.h (vstrbq): Remove. + (vstrbq_p): Likewise. + (vstrhq): Likewise. + (vstrhq_p): Likewise. + (vstrwq): Likewise. + (vstrwq_p): Likewise. + (vst1q_p): Likewise. + (vld1q_z): Likewise. + (vldrbq_s8): Likewise. + (vldrbq_u8): Likewise. + (vldrbq_s16): Likewise. + (vldrbq_u16): Likewise. + (vldrbq_s32): Likewise. + (vldrbq_u32): Likewise. + (vstrbq_s8): Likewise. + (vstrbq_s32): Likewise. + (vstrbq_s16): Likewise. + (vstrbq_u8): Likewise. + (vstrbq_u32): Likewise. + (vstrbq_u16): Likewise. + (vstrbq_p_s8): Likewise. + (vstrbq_p_s32): Likewise. + (vstrbq_p_s16): Likewise. + (vstrbq_p_u8): Likewise. + (vstrbq_p_u32): Likewise. + (vstrbq_p_u16): Likewise. + (vldrbq_z_s16): Likewise. + (vldrbq_z_u8): Likewise. + (vldrbq_z_s8): Likewise. + (vldrbq_z_s32): Likewise. + (vldrbq_z_u16): Likewise. + (vldrbq_z_u32): Likewise. + (vldrhq_s32): Likewise. + (vldrhq_s16): Likewise. + (vldrhq_u32): Likewise. + (vldrhq_u16): Likewise. + (vldrhq_z_s32): Likewise. + (vldrhq_z_s16): Likewise. + (vldrhq_z_u32): Likewise. + (vldrhq_z_u16): Likewise. + (vldrwq_s32): Likewise. + (vldrwq_u32): Likewise. + (vldrwq_z_s32): Likewise. + (vldrwq_z_u32): Likewise. + (vldrhq_f16): Likewise. + (vldrhq_z_f16): Likewise. + (vldrwq_f32): Likewise. + (vldrwq_z_f32): Likewise. + (vstrhq_f16): Likewise. + (vstrhq_s32): Likewise. + (vstrhq_s16): Likewise. + (vstrhq_u32): Likewise. + (vstrhq_u16): Likewise. + (vstrhq_p_f16): Likewise. + (vstrhq_p_s32): Likewise. + (vstrhq_p_s16): Likewise. + (vstrhq_p_u32): Likewise. + (vstrhq_p_u16): Likewise. + (vstrwq_f32): Likewise. + (vstrwq_s32): Likewise. + (vstrwq_u32): Likewise. + (vstrwq_p_f32): Likewise. + (vstrwq_p_s32): Likewise. + (vstrwq_p_u32): Likewise. + (vst1q_p_u8): Likewise. + (vst1q_p_s8): Likewise. + (vld1q_z_u8): Likewise. + (vld1q_z_s8): Likewise. + (vst1q_p_u16): Likewise. + (vst1q_p_s16): Likewise. + (vld1q_z_u16): Likewise. + (vld1q_z_s16): Likewise. + (vst1q_p_u32): Likewise. + (vst1q_p_s32): Likewise. + (vld1q_z_u32): Likewise. + (vld1q_z_s32): Likewise. + (vld1q_z_f16): Likewise. + (vst1q_p_f16): Likewise. + (vld1q_z_f32): Likewise. + (vst1q_p_f32): Likewise. + (__arm_vstrbq_s8): Likewise. + (__arm_vstrbq_s32): Likewise. + (__arm_vstrbq_s16): Likewise. + (__arm_vstrbq_u8): Likewise. + (__arm_vstrbq_u32): Likewise. + (__arm_vstrbq_u16): Likewise. + (__arm_vldrbq_s8): Likewise. + (__arm_vldrbq_u8): Likewise. + (__arm_vldrbq_s16): Likewise. + (__arm_vldrbq_u16): Likewise. + (__arm_vldrbq_s32): Likewise. + (__arm_vldrbq_u32): Likewise. + (__arm_vstrbq_p_s8): Likewise. + (__arm_vstrbq_p_s32): Likewise. + (__arm_vstrbq_p_s16): Likewise. + (__arm_vstrbq_p_u8): Likewise. + (__arm_vstrbq_p_u32): Likewise. + (__arm_vstrbq_p_u16): Likewise. + (__arm_vldrbq_z_s8): Likewise. + (__arm_vldrbq_z_s32): Likewise. + (__arm_vldrbq_z_s16): Likewise. + (__arm_vldrbq_z_u8): Likewise. + (__arm_vldrbq_z_u32): Likewise. + (__arm_vldrbq_z_u16): Likewise. + (__arm_vldrhq_s32): Likewise. + (__arm_vldrhq_s16): Likewise. + (__arm_vldrhq_u32): Likewise. + (__arm_vldrhq_u16): Likewise. + (__arm_vldrhq_z_s32): Likewise. + (__arm_vldrhq_z_s16): Likewise. + (__arm_vldrhq_z_u32): Likewise. + (__arm_vldrhq_z_u16): Likewise. + (__arm_vldrwq_s32): Likewise. + (__arm_vldrwq_u32): Likewise. + (__arm_vldrwq_z_s32): Likewise. + (__arm_vldrwq_z_u32): Likewise. + (__arm_vstrhq_s32): Likewise. + (__arm_vstrhq_s16): Likewise. + (__arm_vstrhq_u32): Likewise. + (__arm_vstrhq_u16): Likewise. + (__arm_vstrhq_p_s32): Likewise. + (__arm_vstrhq_p_s16): Likewise. + (__arm_vstrhq_p_u32): Likewise. + (__arm_vstrhq_p_u16): Likewise. + (__arm_vstrwq_s32): Likewise. + (__arm_vstrwq_u32): Likewise. + (__arm_vstrwq_p_s32): Likewise. + (__arm_vstrwq_p_u32): Likewise. + (__arm_vst1q_p_u8): Likewise. + (__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_vldrwq_f32): Likewise. + (__arm_vldrwq_z_f32): Likewise. + (__arm_vldrhq_z_f16): Likewise. + (__arm_vldrhq_f16): Likewise. + (__arm_vstrwq_p_f32): Likewise. + (__arm_vstrwq_f32): Likewise. + (__arm_vstrhq_f16): Likewise. + (__arm_vstrhq_p_f16): Likewise. + (__arm_vld1q_z_f16): Likewise. + (__arm_vst1q_p_f16): Likewise. + (__arm_vld1q_z_f32): Likewise. + (__arm_vst2q_f32): Likewise. + (__arm_vst1q_p_f32): Likewise. + (__arm_vstrbq): Likewise. + (__arm_vstrbq_p): Likewise. + (__arm_vstrhq): Likewise. + (__arm_vstrhq_p): Likewise. + (__arm_vstrwq): Likewise. + (__arm_vstrwq_p): Likewise. + (__arm_vst1q_p): Likewise. + (__arm_vld1q_z): Likewise. + * config/arm/arm_mve_builtins.def: + (vstrbq_s): Delete. + (vstrbq_u): Likewise. + (vldrbq_s): Likewise. + (vldrbq_u): Likewise. + (vstrbq_p_s): Likewise. + (vstrbq_p_u): Likewise. + (vldrbq_z_s): Likewise. + (vldrbq_z_u): Likewise. + (vld1q_u): Likewise. + (vld1q_s): Likewise. + (vldrhq_z_u): Likewise. + (vldrhq_u): Likewise. + (vldrhq_z_s): Likewise. + (vldrhq_s): Likewise. + (vld1q_f): Likewise. + (vldrhq_f): Likewise. + (vldrhq_z_f): Likewise. + (vldrwq_f): Likewise. + (vldrwq_s): Likewise. + (vldrwq_u): Likewise. + (vldrwq_z_f): Likewise. + (vldrwq_z_s): Likewise. + (vldrwq_z_u): Likewise. + (vst1q_u): Likewise. + (vst1q_s): Likewise. + (vstrhq_p_u): Likewise. + (vstrhq_u): Likewise. + (vstrhq_p_s): Likewise. + (vstrhq_s): Likewise. + (vst1q_f): Likewise. + (vstrhq_f): Likewise. + (vstrhq_p_f): Likewise. + (vstrwq_f): Likewise. + (vstrwq_s): Likewise. + (vstrwq_u): Likewise. + (vstrwq_p_f): Likewise. + (vstrwq_p_s): Likewise. + (vstrwq_p_u): Likewise. + * config/arm/iterators.md (MVE_w_narrow_TYPE): New iterator. + (MVE_w_narrow_type): New iterator. + (MVE_wide_n_TYPE): New attribute. + (MVE_wide_n_type): New attribute. + (MVE_wide_n_sz_elem): New attribute. + (MVE_wide_n_VPRED): New attribute. + (MVE_elem_ch): New attribute. + (supf): Remove VSTRBQ_S, VSTRBQ_U, VLDRBQ_S, VLDRBQ_U, VLD1Q_S, + VLD1Q_U, VLDRHQ_S, VLDRHQ_U, VLDRWQ_S, VLDRWQ_U, VST1Q_S, VST1Q_U, + VSTRHQ_S, VSTRHQ_U, VSTRWQ_S, VSTRWQ_U. + (VSTRBQ, VLDRBQ, VLD1Q, VLDRHQ, VLDRWQ, VST1Q, VSTRHQ, VSTRWQ): + Delete. + * config/arm/mve.md (mve_vstrbq_<supf><mode>): Remove. + (mve_vldrbq_<supf><mode>): Likewise. + (mve_vstrbq_p_<supf><mode>): Likewise. + (mve_vldrbq_z_<supf><mode>): Likewise. + (mve_vldrhq_fv8hf): Likewise. + (mve_vldrhq_<supf><mode>): Likewise. + (mve_vldrhq_z_fv8hf): Likewise. + (mve_vldrhq_z_<supf><mode>): Likewise. + (mve_vldrwq_fv4sf): Likewise. + (mve_vldrwq_<supf>v4si): Likewise. + (mve_vldrwq_z_fv4sf): Likewise. + (mve_vldrwq_z_<supf>v4si): Likewise. + (@mve_vld1q_f<mode>): Likewise. + (@mve_vld1q_<supf><mode>): Likewise. + (mve_vstrhq_fv8hf): Likewise. + (mve_vstrhq_p_fv8hf): Likewise. + (mve_vstrhq_p_<supf><mode>): Likewise. + (mve_vstrhq_<supf><mode>): Likewise. + (mve_vstrwq_fv4sf): Likewise. + (mve_vstrwq_p_fv4sf): Likewise. + (mve_vstrwq_p_<supf>v4si): Likewise. + (mve_vstrwq_<supf>v4si): Likewise. + (@mve_vst1q_f<mode>): Likewise. + (@mve_vst1q_<supf><mode>): Likewise. + (@mve_vstrq_<mode>): New. + (@mve_vstrq_p_<mode>): New. + (@mve_vstrq_truncate_<mode>): New. + (@mve_vstrq_p_truncate_<mode>): New. + (@mve_vldrq_<mode>): New. + (@mve_vldrq_z_<mode>): New. + (@mve_vldrq_extend_<mode><US>): New. + (@mve_vldrq_z_extend_<mode><US>): New. + * config/arm/unspecs.md: + (VSTRBQ_S): Remove. + (VSTRBQ_U): Likewise. + (VLDRBQ_S): Likewise. + (VLDRBQ_U): Likewise. + (VLD1Q_F): Likewise. + (VLD1Q_S): Likewise. + (VLD1Q_U): Likewise. + (VLDRHQ_F): Likewise. + (VLDRHQ_U): Likewise. + (VLDRHQ_S): Likewise. + (VLDRWQ_F): Likewise. + (VLDRWQ_S): Likewise. + (VLDRWQ_U): Likewise. + (VSTRHQ_F): Likewise. + (VST1Q_S): Likewise. + (VST1Q_U): Likewise. + (VSTRHQ_U): Likewise. + (VSTRWQ_S): Likewise. + (VSTRWQ_U): Likewise. + (VSTRWQ_F): Likewise. + (VST1Q_F): Likewise. + (VLDRQ): New. + (VLDRQ_Z): Likewise. + (VLDRQ_EXT): Likewise. + (VLDRQ_EXT_Z): Likewise. + (VSTRQ): Likewise. + (VSTRQ_P): Likewise. + (VSTRQ_TRUNC): Likewise. + (VSTRQ_TRUNC_P): Likewise. + +2024-10-29 Alfie Richards <Alfie.Richards@arm.com> + Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/arm-mve-builtins.cc + (function_expander::use_contiguous_load_insn): Add support for + PRED_z. + (function_expander::use_contiguous_store_insn): Add support for + PRED_p. + +2024-10-29 Alfie Richards <Alfie.Richards@arm.com> + + * config/arm/arm-mve-builtins-functions.h + (load_extending): New class. + (store_truncating): New class. + * config/arm/arm-protos.h (arm_mve_data_mode): New helper function. + * config/arm/arm.cc (arm_mve_data_mode): New helper function. + +2024-10-29 Alfie Richards <Alfie.Richards@arm.com> + + * config/arm/arm-mve-builtins-shapes.cc: + (load_ext): New. + * config/arm/arm-mve-builtins-shapes.h: + (load_ext): New. + +2024-10-29 Jakub Jelinek <jakub@redhat.com> + + PR c/117030 + * doc/extend.texi (__builtin_stdc_rotate_left, + __builtin_stdc_rotate_right): Document. + +2024-10-28 Sam James <sam@gentoo.org> + + * opts-common.cc (prune_options): Fix typo. + +2024-10-28 Andrew MacLeod <amacleod@redhat.com> + + * range-op-ptr.cc (operator_bitwise_or::fold_range): Fix logic + for setting nonzero. + +2024-10-28 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/arm_neon.h (vxarq_u64): Rename imm6 to __imm6. + +2024-10-28 Jason Merrill <jason@redhat.com> + + * doc/install.texi (Prerequisites): Update to C++14. + +2024-10-28 Jeff Law <jlaw@ventanamicro.com> + + PR target/117316 + * config/riscv/riscv.cc (riscv_tune_param): Drop initializer. + (*_tune_info): Add initializers for code alignments. + +2024-10-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117307 + * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): + Properly compute STMT_VINFO_SLP_VECT_ONLY. Set it on all + parts of a split group. + +2024-10-28 Tobias Burnus <tburnus@baylibre.com> + + * tree-core.h (enum omp_clause_code): Add comments to cross ref to + OMP_CLAUSE_DECL etc. and mark the ranges used in the range checks. + +2024-10-28 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/111285 + * tree-vect-generic.cc (do_unop): Use a signed type for the + operand if the operation was ABSU_EXPR. + +2024-10-28 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (match_simplify_replacement): Move + check for maybe_undef_p earlier. + +2024-10-28 Richard Biener <rguenther@suse.de> + + * tree-vect-patterns.cc (check_bool_pattern): For comparisons + we do nothing if we can expand them or we can't replace them + with a ? -1 : 0 condition - but the latter would require + expanding the comparison which we proved we can't. So do + nothing, aka not think vec_cond{u,eq,} will save us. + +2024-10-28 xuli <xuli1@eswincomputing.com> + + PR target/117286 + * config/riscv/riscv-vector-builtins-bases.cc: Do not expand NULL return. + +2024-10-27 Fangrui Song <maskray@gcc.gnu.org> + + * config/arm/bpabi.h (TARGET_FDPIC_ASM_SPEC): Transform -mfdpic. + * config/arm/linux-eabi.h (TARGET_FDPIC_LINKER_EMULATION): Define. + (SUBTARGET_EXTRA_LINK_SPEC): Use TARGET_FDPIC_LINKER_EMULATION + if -mfdpic. + +2024-10-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (TARGET_DIFFERENT_ADDR_DISPLACEMENT_P): + Add new target hook to always return true. + * config/xtensa/xtensa.md (movsi_internal): + Revert the previous changes. + +2024-10-27 Jakub Jelinek <jakub@redhat.com> + + * configure.ac (gcc_AC_CHECK_DECLS): Add fmemopen. + * configure: Regenerate. + * config.in: Regenerate. + * Makefile.in (build/genmatch.o): Add -DGENMATCH_SELFTESTS to + BUILD_CPPFLAGS for stage2+ genmatch. + * genmatch.cc (test_diag_vfprintf, genmatch_diag_selftests): New + functions. + (main): Call genmatch_diag_selftests. + * pretty-print.cc (test_pp_format): Add two tests, one for %M$.*N$s + and one for %M$.Ns. + +2024-10-27 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (Wtrailing-whitespace=): Change + blank argument to blanks and space argument to any. + +2024-10-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117234 + * tree-eh.cc (operation_could_trap_helper_p): Treat + PAREN_EXPR and VEC_DUPLICATE_EXPR like constructing + expressions. + +2024-10-26 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_get_operand_map): Mark + COMPARISON_CLASS_P COND_EXPR condition path unreachable. + * tree-vect-stmts.cc (vect_is_simple_use): Likewise. + (vectorizable_condition): Assert the COND_EXPR condition isn't + COMPARISON_CLASS_P. + +2024-10-26 Richard Biener <rguenther@suse.de> + + * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern): Create + a separate pattern stmt for the comparison in the generated + COND_EXPR. + +2024-10-26 Richard Biener <rguenther@suse.de> + + * tree-vect-patterns.cc (vect_recog_divmod_pattern): Build + separate comparion pattern for the condition of a COND_EXPR + pattern. + +2024-10-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR rtl-optimization/58195 + * simplify-rtx.cc (simplify_context::simplify_ternary_operation): Handle + `a != 0 ? -a : 0` and `a == 0 ? 0 : -a`. + +2024-10-25 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): Support + 3 cores and 3 variants. If there is one core but multiple variant, + then treat the variant as being all. + +2024-10-25 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/117292 + * config/aarch64/aarch64-simd.md (xor<mode>3<vczle><vczbe>): Use + 'De' constraint. + * config/aarch64/constraints.md (De): Add new constraint. + +2024-10-25 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-builtins.cc (MODE_d_mf8): New. + (MODE_q_mf8): New. + (QUAL_mf8): New. + (VREINTERPRET_BUILTINS1): Add mf8 entry. + (VREINTERPRET_BUILTINS): Ditto. + (VREINTERPRETQ_BUILTINS1): Ditto. + (VREINTERPRETQ_BUILTINS): Ditto. + (aarch64_lookup_simd_type_in_table): Match modal_float bit + +2024-10-25 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-builtins.cc + (aarch64_init_simd_builtin_types): Initialise FP8 simd types. + * config/aarch64/aarch64-builtins.h + (enum aarch64_type_qualifiers): Add qualifier_modal_float bit. + * config/aarch64/aarch64-simd-builtin-types.def: + Add Mfloat8x{8|16}_t types. + * config/aarch64/arm_neon.h: Add mfloat8x{8|16}_t typedefs. + +2024-10-25 Jennifer Schmitz <jschmitz@nvidia.com> + + * match.pd: Fold pow (1.0/x, y) -> pow (x, -y) and + pow (0.0, x) -> 0.0. + +2024-10-25 Pan Li <pan2.li@intel.com> + + * match.pd: Remove unsigned branch form 3 for SAT_ADD, and + add simplify to branchless instead. + +2024-10-25 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117249 + * tree-ssa-structalias.cc (insert_vi_for_tree): Move put calls out of + gcc_assert. + * lto-cgraph.cc (lto_symtab_encoder_delete_node): Likewise. + * gimple-ssa-strength-reduction.cc (get_alternative_base, + add_cand_for_stmt): Likewise. + * tree-eh.cc (add_stmt_to_eh_lp_fn): Likewise. + * except.cc (duplicate_eh_regions_1): Likewise. + * tree-ssa-reassoc.cc (insert_operand_rank): Likewise. + * config/nvptx/nvptx.cc (nvptx_expand_call): Use == rather than = in + gcc_assert. + * opts-common.cc (jobserver_info::disconnect): Call close outside of + gcc_assert and only check result in it. + (jobserver_info::return_token): Call write outside of gcc_assert and + only check result in it. + * genautomata.cc (output_default_latencies): Move j++ side-effect + outside of gcc_assert. + * tree-ssa-loop-ivopts.cc (get_alias_ptr_type_for_ptr_address): Use + == rather than = in gcc_assert. + * cgraph.cc (symbol_table::create_edge): Move ++edges_max_uid + side-effect outside of gcc_assert. + +2024-10-25 Richard Biener <rguenther@suse.de> + + * optabs-tree.h (expand_vec_cond_expr_p): Default the + comparison code to ERROR_MARK. + * match.pd: Remove unneded expand_vec_cond_expr_p args. + * tree-vect-generic.cc (expand_vector_condition): Likewise. + * tree-vect-loop.cc (vect_reduction_update_partial_vector_usage): + Likewise. + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Likewise. + (scan_store_can_perm_p): Likewise. + (vectorizable_condition): Likewise. + +2024-10-25 Richard Biener <rguenther@suse.de> + + * genmatch.cc (commutative_op): Add paramter to indicate whether + all compares should be considered commutative. Handle + hypot, add_overflow and mul_overflow. + (parser::parse_expr): Simplify 'c' handling by using + commutative_op and error out when the operation is not. + * match.pd ((minmax:c @0 NaN@1) -> @0): Use :C, we know + what we are doing. + +2024-10-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117277 + * tree-vect-loop.cc (vect_transform_loop): Remove CLOBBERs + and prefetches before doing any code generation. + +2024-10-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116575 + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Handle + gaps, aka NULL scalar stmt. + (vect_build_slp_tree_2): Allow gaps in the middle of a + grouped mask load. When the mask of a grouped mask load + is uniform do single-lane discovery for the mask and + insert a splat VEC_PERM_EXPR node. + (vect_optimize_slp_pass::decide_masked_load_lanes): New + function. + (vect_optimize_slp_pass::run): Call it. + +2024-10-25 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vect_check_scalar_mask): Only check + the scalar type for constant or extern defs. + +2024-10-25 Jakub Jelinek <jakub@redhat.com> + + * lra-assigns.cc: Remove trailing whitespace. + * symtab.cc: Likewise. + * stmt.cc: Likewise. + * cgraphbuild.cc: Likewise. + * cfgcleanup.cc: Likewise. + * loop-init.cc: Likewise. + * df-problems.cc: Likewise. + * diagnostic-macro-unwinding.cc: Likewise. + * langhooks.h: Likewise. + * except.cc: Likewise. + * tree-vect-loop.cc: Likewise. + * coverage.cc: Likewise. + * hash-table.cc: Likewise. + * ggc-page.cc: Likewise. + * gimple-ssa-strength-reduction.cc: Likewise. + * tree-parloops.cc: Likewise. + * internal-fn.cc: Likewise. + * ipa-split.cc: Likewise. + * calls.cc: Likewise. + * reorg.cc: Likewise. + * sbitmap.h: Likewise. + * omp-offload.cc: Likewise. + * cfgrtl.cc: Likewise. + * reginfo.cc: Likewise. + * gengtype.h: Likewise. + * omp-general.h: Likewise. + * ipa-comdats.cc: Likewise. + * gimple-range-edge.h: Likewise. + * tree-ssa-structalias.cc: Likewise. + * target.def: Likewise. + * basic-block.h: Likewise. + * graphite-isl-ast-to-gimple.cc: Likewise. + * auto-profile.cc: Likewise. + * optabs.cc: Likewise. + * gengtype-lex.l: Likewise. + * optabs.def: Likewise. + * ira-build.cc: Likewise. + * ira.cc: Likewise. + * function.h: Likewise. + * tree-ssa-propagate.cc: Likewise. + * gcov-io.cc: Likewise. + * builtin-types.def: Likewise. + * ddg.cc: Likewise. + * lra-spills.cc: Likewise. + * cfg.cc: Likewise. + * bitmap.cc: Likewise. + * gimple-range-gori.h: Likewise. + * tree-ssa-loop-im.cc: Likewise. + * cfghooks.h: Likewise. + * genmatch.cc: Likewise. + * explow.cc: Likewise. + * lto-streamer-in.cc: Likewise. + * graphite-scop-detection.cc: Likewise. + * ipa-prop.cc: Likewise. + * gcc.cc: Likewise. + * vec.h: Likewise. + * cfgexpand.cc: Likewise. + * config/alpha/vms.h: Likewise. + * config/alpha/alpha.cc: Likewise. + * config/alpha/driver-alpha.cc: Likewise. + * config/alpha/elf.h: Likewise. + * config/iq2000/iq2000.h: Likewise. + * config/iq2000/iq2000.cc: Likewise. + * config/pa/pa-64.h: Likewise. + * config/pa/som.h: Likewise. + * config/pa/pa.cc: Likewise. + * config/pa/pa.h: Likewise. + * config/pa/pa32-regs.h: Likewise. + * config/c6x/c6x.cc: Likewise. + * config/openbsd-stdint.h: Likewise. + * config/elfos.h: Likewise. + * config/lm32/lm32.cc: Likewise. + * config/lm32/lm32.h: Likewise. + * config/lm32/lm32-protos.h: Likewise. + * config/darwin-c.cc: Likewise. + * config/rx/rx.cc: Likewise. + * config/host-darwin.h: Likewise. + * config/netbsd.h: Likewise. + * config/ia64/ia64.cc: Likewise. + * config/ia64/freebsd.h: Likewise. + * config/avr/avr-c.cc: Likewise. + * config/avr/avr.cc: Likewise. + * config/avr/avr-arch.h: Likewise. + * config/avr/avr.h: Likewise. + * config/avr/stdfix.h: Likewise. + * config/avr/gen-avr-mmcu-specs.cc: Likewise. + * config/avr/avr-log.cc: Likewise. + * config/avr/elf.h: Likewise. + * config/avr/gen-avr-mmcu-texi.cc: Likewise. + * config/avr/avr-devices.cc: Likewise. + * config/nvptx/nvptx.cc: Likewise. + * config/vx-common.h: Likewise. + * config/sol2.cc: Likewise. + * config/rl78/rl78.cc: Likewise. + * config/cris/cris.cc: Likewise. + * config/arm/symbian.h: Likewise. + * config/arm/unknown-elf.h: Likewise. + * config/arm/linux-eabi.h: Likewise. + * config/arm/arm.cc: Likewise. + * config/arm/arm-mve-builtins.h: Likewise. + * config/arm/bpabi.h: Likewise. + * config/arm/vxworks.h: Likewise. + * config/arm/arm.h: Likewise. + * config/arm/aout.h: Likewise. + * config/arm/elf.h: Likewise. + * config/host-linux.cc: Likewise. + * config/sh/sh_treg_combine.cc: Likewise. + * config/sh/vxworks.h: Likewise. + * config/sh/elf.h: Likewise. + * config/sh/netbsd-elf.h: Likewise. + * config/sh/sh.cc: Likewise. + * config/sh/embed-elf.h: Likewise. + * config/sh/sh.h: Likewise. + * config/darwin-driver.cc: Likewise. + * config/m32c/m32c.cc: Likewise. + * config/frv/frv.cc: Likewise. + * config/openbsd.h: Likewise. + * config/aarch64/aarch64-protos.h: Likewise. + * config/aarch64/aarch64-builtins.cc: Likewise. + * config/aarch64/aarch64-cost-tables.h: Likewise. + * config/aarch64/aarch64.cc: Likewise. + * config/bfin/bfin.cc: Likewise. + * config/bfin/bfin.h: Likewise. + * config/bfin/bfin-protos.h: Likewise. + * config/i386/gmm_malloc.h: Likewise. + * config/i386/djgpp.h: Likewise. + * config/i386/sol2.h: Likewise. + * config/i386/stringop.def: Likewise. + * config/i386/i386-features.cc: Likewise. + * config/i386/openbsdelf.h: Likewise. + * config/i386/cpuid.h: Likewise. + * config/i386/i386.h: Likewise. + * config/i386/smmintrin.h: Likewise. + * config/i386/avx10_2-512convertintrin.h: Likewise. + * config/i386/i386-options.cc: Likewise. + * config/i386/i386-opts.h: Likewise. + * config/i386/i386-expand.cc: Likewise. + * config/i386/avx512dqintrin.h: Likewise. + * config/i386/wmmintrin.h: Likewise. + * config/i386/gnu-user.h: Likewise. + * config/i386/host-mingw32.cc: Likewise. + * config/i386/avx10_2bf16intrin.h: Likewise. + * config/i386/cygwin.h: Likewise. + * config/i386/driver-i386.cc: Likewise. + * config/i386/biarch64.h: Likewise. + * config/i386/host-cygwin.cc: Likewise. + * config/i386/cygming.h: Likewise. + * config/i386/i386-builtins.cc: Likewise. + * config/i386/avx10_2convertintrin.h: Likewise. + * config/i386/i386.cc: Likewise. + * config/i386/gas.h: Likewise. + * config/i386/freebsd.h: Likewise. + * config/mingw/winnt-cxx.cc: Likewise. + * config/mingw/winnt.cc: Likewise. + * config/h8300/h8300.cc: Likewise. + * config/host-solaris.cc: Likewise. + * config/m32r/m32r.h: Likewise. + * config/m32r/m32r.cc: Likewise. + * config/darwin.h: Likewise. + * config/sparc/linux64.h: Likewise. + * config/sparc/sparc-protos.h: Likewise. + * config/sparc/sysv4.h: Likewise. + * config/sparc/sparc.h: Likewise. + * config/sparc/linux.h: Likewise. + * config/sparc/freebsd.h: Likewise. + * config/sparc/sparc.cc: Likewise. + * config/gcn/gcn-run.cc: Likewise. + * config/gcn/gcn.cc: Likewise. + * config/gcn/gcn-tree.cc: Likewise. + * config/kopensolaris-gnu.h: Likewise. + * config/nios2/nios2.h: Likewise. + * config/nios2/elf.h: Likewise. + * config/nios2/nios2.cc: Likewise. + * config/host-netbsd.cc: Likewise. + * config/rtems.h: Likewise. + * config/pdp11/pdp11.cc: Likewise. + * config/pdp11/pdp11.h: Likewise. + * config/mn10300/mn10300.cc: Likewise. + * config/mn10300/linux.h: Likewise. + * config/moxie/moxie.h: Likewise. + * config/moxie/moxie.cc: Likewise. + * config/rs6000/aix71.h: Likewise. + * config/rs6000/vec_types.h: Likewise. + * config/rs6000/xcoff.h: Likewise. + * config/rs6000/rs6000.cc: Likewise. + * config/rs6000/rs6000-internal.h: Likewise. + * config/rs6000/rs6000-p8swap.cc: Likewise. + * config/rs6000/rs6000-c.cc: Likewise. + * config/rs6000/aix.h: Likewise. + * config/rs6000/rs6000-logue.cc: Likewise. + * config/rs6000/rs6000-string.cc: Likewise. + * config/rs6000/rs6000-call.cc: Likewise. + * config/rs6000/ppu_intrinsics.h: Likewise. + * config/rs6000/altivec.h: Likewise. + * config/rs6000/darwin.h: Likewise. + * config/rs6000/host-darwin.cc: Likewise. + * config/rs6000/freebsd64.h: Likewise. + * config/rs6000/spu2vmx.h: Likewise. + * config/rs6000/linux.h: Likewise. + * config/rs6000/si2vmx.h: Likewise. + * config/rs6000/driver-rs6000.cc: Likewise. + * config/rs6000/freebsd.h: Likewise. + * config/vxworksae.h: Likewise. + * config/mips/frame-header-opt.cc: Likewise. + * config/mips/mips.h: Likewise. + * config/mips/mips.cc: Likewise. + * config/mips/sde.h: Likewise. + * config/darwin-protos.h: Likewise. + * config/mcore/mcore-elf.h: Likewise. + * config/mcore/mcore.h: Likewise. + * config/mcore/mcore.cc: Likewise. + * config/epiphany/epiphany.cc: Likewise. + * config/fr30/fr30.h: Likewise. + * config/fr30/fr30.cc: Likewise. + * config/riscv/riscv-vector-builtins-shapes.cc: Likewise. + * config/riscv/riscv-vector-builtins-bases.cc: Likewise. + * config/visium/visium.h: Likewise. + * config/mmix/mmix.cc: Likewise. + * config/v850/v850.cc: Likewise. + * config/v850/v850-c.cc: Likewise. + * config/v850/v850.h: Likewise. + * config/stormy16/stormy16.cc: Likewise. + * config/stormy16/stormy16-protos.h: Likewise. + * config/stormy16/stormy16.h: Likewise. + * config/arc/arc.cc: Likewise. + * config/vxworks.cc: Likewise. + * config/microblaze/microblaze-c.cc: Likewise. + * config/microblaze/microblaze-protos.h: Likewise. + * config/microblaze/microblaze.h: Likewise. + * config/microblaze/microblaze.cc: Likewise. + * config/freebsd-spec.h: Likewise. + * config/m68k/m68kelf.h: Likewise. + * config/m68k/m68k.cc: Likewise. + * config/m68k/netbsd-elf.h: Likewise. + * config/m68k/linux.h: Likewise. + * config/freebsd.h: Likewise. + * config/host-openbsd.cc: Likewise. + * regcprop.cc: Likewise. + * dumpfile.cc: Likewise. + * combine.cc: Likewise. + * tree-ssa-forwprop.cc: Likewise. + * ipa-profile.cc: Likewise. + * hw-doloop.cc: Likewise. + * opts.cc: Likewise. + * gcc-ar.cc: Likewise. + * tree-cfg.cc: Likewise. + * incpath.cc: Likewise. + * tree-ssa-sccvn.cc: Likewise. + * function.cc: Likewise. + * genattrtab.cc: Likewise. + * rtl.def: Likewise. + * genchecksum.cc: Likewise. + * profile.cc: Likewise. + * df-core.cc: Likewise. + * tree-pretty-print.cc: Likewise. + * tree.h: Likewise. + * plugin.cc: Likewise. + * tree-ssa-loop-ch.cc: Likewise. + * emit-rtl.cc: Likewise. + * haifa-sched.cc: Likewise. + * gimple-range-edge.cc: Likewise. + * range-op.cc: Likewise. + * tree-ssa-ccp.cc: Likewise. + * dwarf2cfi.cc: Likewise. + * recog.cc: Likewise. + * vtable-verify.cc: Likewise. + * system.h: Likewise. + * regrename.cc: Likewise. + * tree-ssa-dom.cc: Likewise. + * loop-unroll.cc: Likewise. + * lra-constraints.cc: Likewise. + * pretty-print.cc: Likewise. + * ifcvt.cc: Likewise. + * ipa.cc: Likewise. + * alloc-pool.h: Likewise. + * collect2.cc: Likewise. + * pointer-query.cc: Likewise. + * cfgloop.cc: Likewise. + * toplev.cc: Likewise. + * sese.cc: Likewise. + * gengtype.cc: Likewise. + * gimplify-me.cc: Likewise. + * double-int.cc: Likewise. + * bb-reorder.cc: Likewise. + * dwarf2out.cc: Likewise. + * tree-ssa-loop-ivcanon.cc: Likewise. + * tree-ssa-reassoc.cc: Likewise. + * cgraph.cc: Likewise. + * sel-sched.cc: Likewise. + * attribs.cc: Likewise. + * expr.cc: Likewise. + * tree-ssa-scopedtables.h: Likewise. + * gimple-range-cache.cc: Likewise. + * ipa-pure-const.cc: Likewise. + * tree-inline.cc: Likewise. + * genhooks.cc: Likewise. + * gimple-range-phi.h: Likewise. + * shrink-wrap.cc: Likewise. + * tree.cc: Likewise. + * gimple.cc: Likewise. + * backend.h: Likewise. + * opts-common.cc: Likewise. + * cfg-flags.def: Likewise. + * gcse-common.cc: Likewise. + * tree-ssa-scopedtables.cc: Likewise. + * ccmp.cc: Likewise. + * builtins.def: Likewise. + * builtin-attrs.def: Likewise. + * postreload.cc: Likewise. + * sched-deps.cc: Likewise. + * ipa-inline-transform.cc: Likewise. + * tree-vect-generic.cc: Likewise. + * ipa-polymorphic-call.cc: Likewise. + * builtins.cc: Likewise. + * sel-sched-ir.cc: Likewise. + * trans-mem.cc: Likewise. + * ipa-visibility.cc: Likewise. + * cgraph.h: Likewise. + * tree-ssa-phiopt.cc: Likewise. + * genopinit.cc: Likewise. + * ipa-inline.cc: Likewise. + * omp-low.cc: Likewise. + * ipa-utils.cc: Likewise. + * tree-ssa-math-opts.cc: Likewise. + * tree-ssa-ifcombine.cc: Likewise. + * gimple-range.cc: Likewise. + * ipa-fnsummary.cc: Likewise. + * ira-color.cc: Likewise. + * value-prof.cc: Likewise. + * varasm.cc: Likewise. + * ipa-icf.cc: Likewise. + * ira-emit.cc: Likewise. + * lto-streamer.h: Likewise. + * lto-wrapper.cc: Likewise. + * regs.h: Likewise. + * gengtype-parse.cc: Likewise. + * alias.cc: Likewise. + * lto-streamer.cc: Likewise. + * real.h: Likewise. + * wide-int.h: Likewise. + * targhooks.cc: Likewise. + * gimple-ssa-warn-access.cc: Likewise. + * real.cc: Likewise. + * ipa-reference.cc: Likewise. + * bitmap.h: Likewise. + * ginclude/float.h: Likewise. + * ginclude/stddef.h: Likewise. + * ginclude/stdarg.h: Likewise. + * ginclude/stdatomic.h: Likewise. + * optabs.h: Likewise. + * sel-sched-ir.h: Likewise. + * convert.cc: Likewise. + * cgraphunit.cc: Likewise. + * lra-remat.cc: Likewise. + * tree-if-conv.cc: Likewise. + * gcov-dump.cc: Likewise. + * tree-predcom.cc: Likewise. + * dominance.cc: Likewise. + * gimple-range-cache.h: Likewise. + * ipa-devirt.cc: Likewise. + * rtl.h: Likewise. + * ubsan.cc: Likewise. + * tree-ssa.cc: Likewise. + * ssa.h: Likewise. + * cse.cc: Likewise. + * jump.cc: Likewise. + * hwint.h: Likewise. + * caller-save.cc: Likewise. + * coretypes.h: Likewise. + * ipa-fnsummary.h: Likewise. + * tree-ssa-strlen.cc: Likewise. + * modulo-sched.cc: Likewise. + * cgraphclones.cc: Likewise. + * lto-cgraph.cc: Likewise. + * hw-doloop.h: Likewise. + * data-streamer.h: Likewise. + * compare-elim.cc: Likewise. + * profile-count.h: Likewise. + * tree-vect-loop-manip.cc: Likewise. + * ree.cc: Likewise. + * reload.cc: Likewise. + * tree-ssa-loop-split.cc: Likewise. + * tree-into-ssa.cc: Likewise. + * gcse.cc: Likewise. + * cfgloopmanip.cc: Likewise. + * df.h: Likewise. + * fold-const.cc: Likewise. + * wide-int.cc: Likewise. + * gengtype-state.cc: Likewise. + * sanitizer.def: Likewise. + * tree-ssa-sink.cc: Likewise. + * target-hooks-macros.h: Likewise. + * tree-ssa-pre.cc: Likewise. + * gimple-pretty-print.cc: Likewise. + * ipa-utils.h: Likewise. + * tree-outof-ssa.cc: Likewise. + * tree-ssa-coalesce.cc: Likewise. + * gimple-match.h: Likewise. + * tree-ssa-loop-niter.cc: Likewise. + * tree-loop-distribution.cc: Likewise. + * tree-emutls.cc: Likewise. + * tree-eh.cc: Likewise. + * varpool.cc: Likewise. + * ssa-iterators.h: Likewise. + * asan.cc: Likewise. + * reload1.cc: Likewise. + * cfgloopanal.cc: Likewise. + * tree-vectorizer.cc: Likewise. + * simplify-rtx.cc: Likewise. + * opts-global.cc: Likewise. + * gimple-ssa-store-merging.cc: Likewise. + * expmed.cc: Likewise. + * tree-ssa-loop-prefetch.cc: Likewise. + * tree-ssa-dse.h: Likewise. + * tree-vect-stmts.cc: Likewise. + * gimple-fold.cc: Likewise. + * lra-coalesce.cc: Likewise. + * data-streamer-out.cc: Likewise. + * diagnostic.cc: Likewise. + * tree-ssa-alias.cc: Likewise. + * tree-vect-patterns.cc: Likewise. + * common/common-target.def: Likewise. + * common/config/rx/rx-common.cc: Likewise. + * common/config/msp430/msp430-common.cc: Likewise. + * common/config/avr/avr-common.cc: Likewise. + * common/config/i386/i386-common.cc: Likewise. + * common/config/pdp11/pdp11-common.cc: Likewise. + * common/config/rs6000/rs6000-common.cc: Likewise. + * common/config/mcore/mcore-common.cc: Likewise. + * graphite.cc: Likewise. + * gimple-low.cc: Likewise. + * genmodes.cc: Likewise. + * gimple-loop-jam.cc: Likewise. + * lto-streamer-out.cc: Likewise. + * predict.cc: Likewise. + * omp-expand.cc: Likewise. + * gimple-array-bounds.cc: Likewise. + * predict.def: Likewise. + * opts.h: Likewise. + * tree-stdarg.cc: Likewise. + * gimplify.cc: Likewise. + * ira-lives.cc: Likewise. + * loop-doloop.cc: Likewise. + * lra.cc: Likewise. + * gimple-iterator.h: Likewise. + * tree-sra.cc: Likewise. + +2024-10-25 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-sve2.cc + (svaba_impl::fold): Fold svaba to svabd if op1 is all zeros. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * tree.h (TYPE_WARN_IF_NOT_ALIGN_RAW): New accessor. + (TYPE_WARN_IF_NOT_ALIGN): Use it. + (SET_TYPE_WARN_IF_NOT_ALIGN): Likewise. + +2024-10-24 Georg-Johann Lay <avr@gjlay.de> + + PR target/116953 + * config/avr/avr.cc (avr_out_sbxx_branch): Revert previous fix + for PR116953 (r15-4078). Run extract_constrain_insn_cached + on the current insn after calling jump_over_one_insn_p. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * diagnostic-format-json.cc (make_json_for_path): Add "ref_pp" + param and use when obtaining event descriptions. + (json_output_format::on_report_diagnostic): Pass this format's + printer as the above. + * diagnostic-format-sarif.cc + (sarif_builder::make_location_object): Clone this format's printer + and use it to obtain the text of the message. + * diagnostic-path.cc: Include "pretty-print-markup.h". + (diagnostic_event::get_desc): New. + (path_label::get_text): Update for changes to diagnostic_event. + (event_range::print): Likewise. + (class element_event_desc): New. + (diagnostic_text_output_format::print_path): Update for changes to + diagnostic_event. + * diagnostic-path.h (diagnostic_event::get_desc): Replace with... + (diagnostic_event::print_desc): ...this. + (diagnostic_event::get_desc): Add this back for debugging, without + the bool param. + * pretty-print.cc (pp_printf_n): New. + * pretty-print.h (pp_printf_n): New decl. + * selftest-diagnostic-path.h (test_diagnostic_event::get_desc): + Convert to... + (test_diagnostic_event::print_desc): ...this. + * simple-diagnostic-path.cc (simple_diagnostic_event::print_desc): + New. + (selftest::test_intraprocedural_path): Use debug form of get_desc. + * simple-diagnostic-path.h (simple_diagnostic_event::get_desc): + Convert to... + (simple_diagnostic_event::print_desc): ...this, moving + implementation to test_diagnostic_event. + +2024-10-24 Thomas Schwinge <tschwinge@baylibre.com> + + PR other/116613 + * config/gcn/mkoffload.cc: Add '#define INCLUDE_MEMORY'. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + Gaius Mulley <gaiusmod2@gmail.com> + + PR other/116613 + * asan.cc: Add #define INCLUDE_MEMORY. + * attribs.cc: Likewise. + (attr_access::array_as_string): Use + diagnostic_context::clone_printer and use unique_ptr. + * auto-profile.cc: Add #define INCLUDE_MEMORY. + * calls.cc: Likewise. + * cfganal.cc: Likewise. + * cfgexpand.cc: Likewise. + * cfghooks.cc: Likewise. + * cfgloop.cc: Likewise. + * cgraph.cc: Likewise. + * cgraphclones.cc: Likewise. + * cgraphunit.cc: Likewise. + * collect-utils.cc: Likewise. + * collect2.cc: Likewise. + * common/config/aarch64/aarch64-common.cc: Likewise. + * common/config/arm/arm-common.cc: Likewise. + * common/config/avr/avr-common.cc: Likewise. + * config/aarch64/aarch64-cc-fusion.cc: Likewise. + * config/aarch64/aarch64-early-ra.cc: Likewise. + * config/aarch64/aarch64-sve-builtins.cc: Likewise. + * config/arc/arc.cc: Likewise. + * config/arm/aarch-common.cc: Likewise. + * config/arm/arm-mve-builtins.cc: Likewise. + * config/avr/avr-devices.cc: Likewise. + * config/avr/driver-avr.cc: Likewise. + * config/bpf/bpf.cc: Likewise. + * config/bpf/btfext-out.cc: Likewise. + * config/bpf/core-builtins.cc: Likewise. + * config/darwin.cc: Likewise. + * config/i386/driver-i386.cc: Likewise. + * config/i386/i386-builtins.cc: Likewise. + * config/i386/i386-expand.cc: Likewise. + * config/i386/i386-features.cc: Likewise. + * config/i386/i386-options.cc: Likewise. + * config/loongarch/loongarch-builtins.cc: Likewise. + * config/mingw/winnt-cxx.cc: Likewise. + * config/mingw/winnt.cc: Likewise. + * config/mips/mips.cc: Likewise. + * config/msp430/driver-msp430.cc: Likewise. + * config/nvptx/mkoffload.cc: Likewise. + * config/nvptx/nvptx.cc: Likewise. + * config/riscv/riscv-avlprop.cc: Likewise. + * config/riscv/riscv-vector-builtins.cc: Likewise. + * config/riscv/riscv-vsetvl.cc: Likewise. + * config/rs6000/driver-rs6000.cc: Likewise. + * config/rs6000/host-darwin.cc: Likewise. + * config/rs6000/rs6000-c.cc: Likewise. + * config/s390/s390-c.cc: Likewise. + * config/s390/s390.cc: Likewise. + * config/sol2-cxx.cc: Likewise. + * config/vms/vms-c.cc: Likewise. + * config/xtensa/xtensa-dynconfig.cc: Likewise. + * coroutine-passes.cc: Likewise. + * coverage.cc: Likewise. + * data-streamer-in.cc: Likewise. + * data-streamer-out.cc: Likewise. + * data-streamer.cc: Likewise. + * diagnostic-buffer.h (diagnostic_buffer::~diagnostic_buffer): + Delete. + (diagnostic_buffer::m_per_format_buffer): Use std::unique_ptr. + * diagnostic-client-data-hooks.h (make_compiler_data_hooks): Use + std::unique_ptr for return type. + * diagnostic-format-json.cc + (json_output_format::make_per_format_buffer): Likewise. + (diagnostic_output_format_init_json): Update for usage of + std::unique_ptr in set_output_format. + * diagnostic-format-sarif.cc + (sarif_output_format::make_per_format_buffer): Use std::unique_ptr + for return type. + (diagnostic_output_format_init_sarif): Update for usage of + std::unique_ptr. + (test_message_with_embedded_link): Likewise for set_urlifier. + * diagnostic-format-text.cc: Add #define INCLUDE_MEMORY. Include + "make-unique.h". + (diagnostic_text_output_format::set_buffer): Use std::unique_ptr. + * diagnostic-format-text.h + (diagnostic_text_output_format::set_buffer): Likewise. + * diagnostic-format.h + (diagnostic_output_format::make_per_format_buffer): Likewise. + * diagnostic-global-context.cc: + * diagnostic-macro-unwinding.cc: Likewise. + * diagnostic-show-locus.cc: Likewise. + * diagnostic-spec.cc: Likewise. + * diagnostic.cc (diagnostic_context::set_output_format): Use + std::unique_ptr for input. + (diagnostic_context::set_client_data_hooks): Likewise. + (diagnostic_context::set_option_manager): Likewise. + (diagnostic_context::set_urlifier): Likewise. + (diagnostic_context::set_diagnostic_buffer): Update for use of + std::unique_ptr. + (diagnostic_buffer::diagnostic_buffer): Likewise. + (diagnostic_buffer::~diagnostic_buffer): Delete. + * diagnostic.h: Complain if INCLUDE_MEMORY was not defined. + (diagnostic_context::set_output_format): Use std::unique_ptr for + input. + (diagnostic_context::set_client_data_hooks): Likewise. + (diagnostic_context::set_option_manager): Likewise. + (diagnostic_context::set_urlifier): Likewise. + (diagnostic_context::clone_printer): New. + (diagnostic_context::m_printer): Update comment. + (diagnostic_context::m_option_mgr): Likewise. + (diagnostic_context::m_urlifier): Likewise. + (diagnostic_context::m_edit_context_ptr): Likewise. + (diagnostic_context::m_output_format): Likewise. + (diagnostic_context::m_client_data_hooks): Likewise. + (diagnostic_context::m_theme): Likewise. + * digraph.cc: Add #define INCLUDE_MEMORY. + * dwarf2out.cc: Likewise. + * edit-context.cc: Likewise. + * except.cc: Likewise. + * expr.cc: Likewise. + * file-prefix-map.cc: Likewise. + * final.cc: Likewise. + * fwprop.cc: Likewise. + * gcc-plugin.h: Likewise. + * gcc-rich-location.cc: Likewise. + * gcc-urlifier.cc: Likewise. Add #include "make-unique.h". + (make_gcc_urlifier): Use std::unique_ptr and ::make_unique. + * gcc-urlifier.h (make_gcc_urlifier): Use std::unique_ptr. + * gcc.cc: Add #define INCLUDE_MEMORY. Include + "pretty-print-urlifier.h". + * gcov-dump.cc: Add #define INCLUDE_MEMORY. + * gcov-tool.cc: Likewise. + * gengtype.cc (open_base_files): Likewise to output. + * genmatch.cc: Likewise. + * gimple-fold.cc: Likewise. + * gimple-harden-conditionals.cc: Likewise. + * gimple-harden-control-flow.cc: Likewise. + * gimple-if-to-switch.cc: Likewise. + * gimple-lower-bitint.cc: Likewise. + * gimple-predicate-analysis.cc: Likewise. + * gimple-pretty-print.cc: Likewise. + * gimple-range-cache.cc: Likewise. + * gimple-range-edge.cc: Likewise. + * gimple-range-fold.cc: Likewise. + * gimple-range-gori.cc: Likewise. + * gimple-range-infer.cc: Likewise. + * gimple-range-op.cc: Likewise. + * gimple-range-path.cc: Likewise. + * gimple-range-phi.cc: Likewise. + * gimple-range-trace.cc: Likewise. + * gimple-range.cc: Likewise. + * gimple-ssa-backprop.cc: Likewise. + * gimple-ssa-sprintf.cc: Likewise. + * gimple-ssa-store-merging.cc: Likewise. + * gimple-ssa-strength-reduction.cc: Likewise. + * gimple-ssa-warn-access.cc: Likewise. + * gimple-ssa-warn-alloca.cc: Likewise. + * gimple-ssa-warn-restrict.cc: Likewise. + * gimple-streamer-in.cc: Likewise. + * gimple-streamer-out.cc: Likewise. + * gimple.cc: Likewise. + * gimplify.cc: Likewise. + * graph.cc: Likewise. + * graphviz.cc: Likewise. + * input.cc: Likewise. + * ipa-cp.cc: Likewise. + * ipa-devirt.cc: Likewise. + * ipa-fnsummary.cc: Likewise. + * ipa-free-lang-data.cc: Likewise. + * ipa-icf-gimple.cc: Likewise. + * ipa-icf.cc: Likewise. + * ipa-inline-analysis.cc: Likewise. + * ipa-inline.cc: Likewise. + * ipa-modref-tree.cc: Likewise. + * ipa-modref.cc: Likewise. + * ipa-param-manipulation.cc: Likewise. + * ipa-polymorphic-call.cc: Likewise. + * ipa-predicate.cc: Likewise. + * ipa-profile.cc: Likewise. + * ipa-prop.cc: Likewise. + * ipa-pure-const.cc: Likewise. + * ipa-reference.cc: Likewise. + * ipa-split.cc: Likewise. + * ipa-sra.cc: Likewise. + * ipa-strub.cc: Likewise. + * ipa-utils.cc: Likewise. + * langhooks.cc: Likewise. + * late-combine.cc: Likewise. + * lto-cgraph.cc: Likewise. + * lto-compress.cc: Likewise. + * lto-opts.cc: Likewise. + * lto-section-in.cc: Likewise. + * lto-section-out.cc: Likewise. + * lto-streamer-in.cc: Likewise. + * lto-streamer-out.cc: Likewise. + * lto-streamer.cc: Likewise. + * lto-wrapper.cc: Likewise. Include "make-unique.h". + (main): Use ::make_unique when creating option manager. + * multiple_target.cc: Likewise. + * omp-expand.cc: Likewise. + * omp-general.cc: Likewise. + * omp-low.cc: Likewise. + * omp-oacc-neuter-broadcast.cc: Likewise. + * omp-offload.cc: Likewise. + * omp-simd-clone.cc: Likewise. + * optc-gen.awk: Likewise in output. + * optc-save-gen.awk: Likewise in output. + * options-urls-cc-gen.awk: Likewise in output. + * opts-common.cc: Likewise. + * opts-global.cc: Likewise. + * opts.cc: Likewise. + * pair-fusion.cc: Likewise. + * passes.cc: Likewise. + * pointer-query.cc: Likewise. + * predict.cc: Likewise. + * pretty-print.cc (pretty_printer::clone): Use std::unique_ptr and + ::make_unique. + * pretty-print.h: Complain if INCLUDE_MEMORY is not defined. + (pretty_printer::clone): Use std::unique_ptr. + * print-rtl.cc: Add #define INCLUDE_MEMORY. + * print-tree.cc: Likewise. + * profile-count.cc: Likewise. + * range-op-float.cc: Likewise. + * range-op-ptr.cc: Likewise. + * range-op.cc: Likewise. + * range.cc: Likewise. + * read-rtl-function.cc: Likewise. + * rtl-error.cc: Likewise. + * rtl-ssa/accesses.cc: Likewise. + * rtl-ssa/blocks.cc: Likewise. + * rtl-ssa/changes.cc: Likewise. + * rtl-ssa/functions.cc: Likewise. + * rtl-ssa/insns.cc: Likewise. + * rtl-ssa/movement.cc: Likewise. + * rtl-tests.cc: Likewise. + * sanopt.cc: Likewise. + * sched-rgn.cc: Likewise. + * selftest-diagnostic-path.cc: Likewise. + * selftest-diagnostic.cc: Likewise. + * splay-tree-utils.cc: Likewise. + * sreal.cc: Likewise. + * stmt.cc: Likewise. + * substring-locations.cc: Likewise. + * symtab-clones.cc: Likewise. + * symtab-thunks.cc: Likewise. + * symtab.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/theme.cc: Likewise. + * toplev.cc: Likewise. Include "make-unique.h". + (general_init): Use ::make_unique when setting option_manager. + * trans-mem.cc: Add #define INCLUDE_MEMORY. + * tree-affine.cc: Likewise. + * tree-call-cdce.cc: Likewise. + * tree-cfg.cc: Likewise. + * tree-chrec.cc: Likewise. + * tree-dfa.cc: Likewise. + * tree-diagnostic-client-data-hooks.cc: Include "make-unique.h". + (make_compiler_data_hooks): Use std::unique_ptr and ::make_unique. + * tree-diagnostic.cc: Add #define INCLUDE_MEMORY. + * tree-dump.cc: Likewise. + * tree-inline.cc: Likewise. + * tree-into-ssa.cc: Likewise. + * tree-logical-location.cc: Likewise. + * tree-nested.cc: Likewise. + * tree-nrv.cc: Likewise. + * tree-object-size.cc: Likewise. + * tree-outof-ssa.cc: Likewise. + * tree-pretty-print.cc: Likewise. + * tree-profile.cc: Likewise. + * tree-scalar-evolution.cc: Likewise. + * tree-sra.cc: Likewise. + * tree-ssa-address.cc: Likewise. + * tree-ssa-alias.cc: Likewise. + * tree-ssa-ccp.cc: Likewise. + * tree-ssa-coalesce.cc: Likewise. + * tree-ssa-copy.cc: Likewise. + * tree-ssa-dce.cc: Likewise. + * tree-ssa-dom.cc: Likewise. + * tree-ssa-forwprop.cc: Likewise. + * tree-ssa-ifcombine.cc: Likewise. + * tree-ssa-loop-ch.cc: Likewise. + * tree-ssa-loop-im.cc: Likewise. + * tree-ssa-loop-manip.cc: Likewise. + * tree-ssa-loop-niter.cc: Likewise. + * tree-ssa-loop-split.cc: Likewise. + * tree-ssa-math-opts.cc: Likewise. + * tree-ssa-operands.cc: Likewise. + * tree-ssa-phiprop.cc: Likewise. + * tree-ssa-pre.cc: Likewise. + * tree-ssa-propagate.cc: Likewise. + * tree-ssa-reassoc.cc: Likewise. + * tree-ssa-sccvn.cc: Likewise. + * tree-ssa-scopedtables.cc: Likewise. + * tree-ssa-sink.cc: Likewise. + * tree-ssa-strlen.cc: Likewise. + * tree-ssa-structalias.cc: Likewise. + * tree-ssa-ter.cc: Likewise. + * tree-ssa-uninit.cc: Likewise. + * tree-ssa.cc: Likewise. + * tree-ssanames.cc: Likewise. + * tree-stdarg.cc: Likewise. + * tree-streamer-in.cc: Likewise. + * tree-streamer-out.cc: Likewise. + * tree-streamer.cc: Likewise. + * tree-switch-conversion.cc: Likewise. + * tree-tailcall.cc: Likewise. + * tree-vrp.cc: Likewise. + * tree.cc: Likewise. + * ubsan.cc: Likewise. + * value-pointer-equiv.cc: Likewise. + * value-prof.cc: Likewise. + * value-query.cc: Likewise. + * value-range-pretty-print.cc: Likewise. + * value-range-storage.cc: Likewise. + * value-range.cc: Likewise. + * value-relation.cc: Likewise. + * var-tracking.cc: Likewise. + * varpool.cc: Likewise. + * vr-values.cc: Likewise. + * wide-int-print.cc: Likewise. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_context::report_diagnostic): Add + comment about interaction of this code with pretty-print + formatting phaes. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * value-query.cc (range_query::get_tree_range): Use get_nonzero_bits + to populate the irange_bitmask of a POLY_INT_CST. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * match.pd: Simplify (X >> C1) * (C2 << C1) -> X * C2 if the + low C1 bits of X are zero. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * tree-ssanames.cc (get_nonzero_bits): Handle POLY_INT_CSTs. + * match.pd (with_possible_nonzero_bits): Likewise. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * match.pd: Simplify (X >> C1) << (C1 + C2) -> X << C2 if the + low C1 bits of X are zero. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * match.pd: Generalise ((X /[ex] A) +- B) * A -> X +- A * B rule + to ((X /[ex] C1) +- C2) * (C1 * C3) -> (X * C3) +- (C1 * C2 * C3). + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * match.pd: Simplify (X /[ex] C1) * (C1 * C2) -> X * C2. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * match.pd: Simplify X / (1 << C) to X /[ex] (1 << C) if the + low C bits of X are clear + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * match.pd: Extend some rules to handle exact_div like trunc_div. + * tree.h (trunc_or_exact_div_p): New function. + * tree-ssa-loop-niter.cc (is_rshift_by_1): Use it. + * tree-ssa-loop-ivopts.cc (force_expr_to_var_cost): Handle + EXACT_DIV_EXPR. + +2024-10-24 Andrew MacLeod <amacleod@redhat.com> + + * range-op-mixed.h (operator_bitwise_or::fold_range): Add prange + variant. + * range-op-ptr.cc (class pointer_or_operator): Remove. + (pointer_or_operator::op1_range): Remove. + (pointer_or_operator::op2_range): Remove. + (pointer_or_operator::wi_fold): Remove. + (operator_bitwise_or::fold_range): New prange variant. + +2024-10-24 Andrew MacLeod <amacleod@redhat.com> + + * range-op-ptr.cc (class pointer_and_operator): Remove. + (pointer_and_operator::wi_fold): Remove. + +2024-10-24 Andrew MacLeod <amacleod@redhat.com> + + * range-op-ptr.cc (class pointer_min_max_operator): Remove. + (pointer_min_max_operator::wi_fold): Remove. + +2024-10-24 Andrew MacLeod <amacleod@redhat.com> + + * range-op-ptr.cc (pointer_plus_operator::wi_fold): Remove. + (pointer_plus_operator::op2_range): Remove irange variant. + (pointer_plus_operator::update_bitmask): Likewise. + +2024-10-24 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/117209 + * asan.cc (maybe_cast_to_ptrmode): Formatting fix. + (build_check_stmt): Don't copy *iter into gsi, perform all + the updates on iter directly. + +2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-sve2.cc + (svsra_impl::fold): Fold svsra to svlsr/svasr if op1 is all zeros. + +2024-10-24 Soumya AR <soumyaa@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svlsl_impl::fold): + Try constant folding. + * config/aarch64/aarch64-sve-builtins.cc (aarch64_const_binop): + Return 0 if shift is out of range. + +2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): + Fold division by -1 to svneg. + (svmul_impl::fold): Fold multiplication by -1 to svneg. + +2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc + (svindex_impl::fold): Add constant folding. + +2024-10-24 Wang Pengcheng <wangpengcheng.pp@bytedance.com> + + * config/riscv/riscv.cc (struct riscv_tune_param): Add new + tune options. + (riscv_override_options_internal): Override the default alignment + when not optimizing for size. + +2024-10-23 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64.cc (aarch64_ptrue_reg): Fix type + of induction variable i. + +2024-10-23 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117260 + * gimple-match-exports.cc (maybe_push_res_to_seq): Reject non-const + internal functions. + +2024-10-23 Jonathan Wakely <jwakely@redhat.com> + + * ginclude/stdalign.h (__alignas_is_defined): Define for C++. + (__alignof_is_defined): Likewise. + +2024-10-23 David Malcolm <dmalcolm@redhat.com> + + PR jit/117275 + * toplev.cc (toplev::finalize): Call varasm_cc_finalize. + * varasm.cc (varasm_cc_finalize): New. + * varasm.h (varasm_cc_finalize): New decl. + +2024-10-23 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113860 + * config/aarch64/aarch64-protos.h (aarch64_ptrue_reg): New function. + * config/aarch64/aarch64-simd.md (popcount<mode>2): Update pattern to + also support V1DI mode. + * config/aarch64/aarch64.cc (aarch64_ptrue_reg): New function. + * config/aarch64/aarch64.md (popcount<mode>2): Add TARGET_SVE support. + * config/aarch64/iterators.md (VDQHSD_V1DI): New mode iterator. + (SVE_VDQ_I): Add V1DI. + (bitsize): Likewise. + (VPRED): Likewise. + (VEC_POP_MODE): New mode attribute. + (vec_pop_mode): Likewise. + +2024-10-23 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/117222 + * range-op-ptr.cc (operator_pointer_diff::fold_range): New. + (operator_pointer_diff::op1_op2_relation_effect): Remove irange + variant. + (operator_pointer_diff::update_bitmask): Likewise. + +2024-10-23 David Malcolm <dmalcolm@redhat.com> + + PR fortran/105916 + * diagnostic-buffer.h: New file. + * diagnostic-format-json.cc: Define INCLUDE_VECTOR. Include + "diagnostic-buffer.h". + (class diagnostic_json_format_buffer): New subclass. + (class json_output_format): Add friend class + diagnostic_json_format_buffer. + (json_output_format::make_per_format_buffer): New vfunc + implementation. + (json_output_format::set_buffer): New vfunc implementation. + (json_output_format::json_output_format): Initialize m_buffer. + (json_output_format::m_buffer): New field. + (diagnostic_json_format_buffer::dump): New. + (diagnostic_json_format_buffer::empty_p): New. + (diagnostic_json_format_buffer::move_to): New. + (diagnostic_json_format_buffer::clear): New. + (diagnostic_json_format_buffer::flush): New. + (json_output_format::on_report_diagnostic): Implement optional + buffering. + * diagnostic-format-sarif.cc: Include "diagnostic-buffer.h". + (class diagnostic_sarif_format_buffer): New subclass. + (class sarif_builder): Add friend + class diagnostic_sarif_format_buffer. + (sarif_builder::num_results): New accessor. + (sarif_builder::get_result): New accessor. + (sarif_builder::on_report_diagnostic): Add param "buffer"; use it + to implement optional buffering. + (diagnostic_sarif_format_buffer::dump): New. + (diagnostic_sarif_format_buffer::empty_p): New. + (diagnostic_sarif_format_buffer::move_to): New. + (diagnostic_sarif_format_buffer::clear): New. + (diagnostic_sarif_format_buffer::flush): New. + (sarif_output_format::make_per_format_buffer): New vfunc + implementation. + (sarif_output_format::set_buffer): New vfunc implementation. + (sarif_output_format::on_report_diagnostic): Pass m_buffer to + sarif_builder::on_report_diagnostic. + (sarif_output_format::num_results): New accessor. + (sarif_output_format::get_result): New accessor. + (diagnostic_output_format::diagnostic_output_format): Initialize + m_buffer. + (diagnostic_output_format::m_buffer): New field. + (diagnostic_output_format::num_results): Get accessor. + (diagnostic_output_format::get_result): Get accessor. + (selftest::get_message_from_result): New. + (selftest::test_buffering): New. + (selftest::diagnostic_format_sarif_cc_tests): Call it. + * diagnostic-format-text.cc: Include + "diagnostic-client-data-hooks.h". + (class diagnostic_text_format_buffer): New subclass. + (diagnostic_text_format_buffer::diagnostic_text_format_buffer): + New. + (diagnostic_text_format_buffer::dump): New. + (diagnostic_text_format_buffer::empty_p): New. + (diagnostic_text_format_buffer::move_to): New. + (diagnostic_text_format_buffer::clear): New. + (diagnostic_text_format_buffer::flush): New. + (diagnostic_text_output_format::dump): Dump m_saved_output_buffer. + (diagnostic_text_output_format::set_buffer): New. + (diagnostic_text_output_format::make_per_format_buffer): New. + * diagnostic-format-text.h + (diagnostic_text_output_format::diagnostic_text_output_format): + Initialize m_saved_output_buffer. + (diagnostic_text_output_format::set_buffer): New decl. + (diagnostic_text_output_format::make_per_format_buffer): New decl. + (diagnostic_text_output_format::m_saved_output_buffer): New field. + * diagnostic-format.h (class diagnostic_per_format_buffer): New + forward decl. + (diagnostic_output_format::make_per_format_buffer): New vfunc. + (diagnostic_output_format::set_buffer): New vfunc. + * diagnostic.cc: Include "diagnostic-buffer.h". + (diagnostic_context::initialize): Replace memset with call to + "clear" on m_diagnostic_counters. Initializer + m_diagnostic_buffer. + (diagnostic_context::finish): Call set_diagnostic_buffer with + nullptr. + (diagnostic_context::dump): Update for encapsulation of counts + into m_diagnostic_counters. Dump m_diagnostic_buffer. + (diagnostic_context::execution_failed_p): Update for encapsulation of + counts into m_diagnostic_counters. + (diagnostic_context::check_max_errors): Likewise. + (diagnostic_context::report_diagnostic): Likewise. Eliminate + diagnostic_check_max_errors in favor of check_max_errors. + Update increment of counter to support buffering. Eliminate + diagnostic_action_after_output in favor of action_after_output. + Only add fixits to m_edit_context_ptr if buffering is disabled. + Only call diagnostic_output_format::after_diagnostic if buffering + is disabled. + (diagnostic_context::error_recursion): Eliminate + diagnostic_action_after_output in favor of action_after_output. + (diagnostic_context::set_diagnostic_buffer): New. + (diagnostic_context::clear_diagnostic_buffer): New. + (diagnostic_context::flush_diagnostic_buffer): New. + (diagnostic_counters::diagnostic_counters): New. + (diagnostic_counters::dump): New. + (diagnostic_counters::move_to): New. + (diagnostic_counters::clear): New. + (diagnostic_buffer::diagnostic_buffer): New. + (diagnostic_buffer::~diagnostic_buffer): New. + (diagnostic_buffer::dump): New. + (diagnostic_buffer::empty_p): New. + (diagnostic_buffer::move_to): New. + (diagnostic_buffer::ensure_per_format_buffer): New. + (c_diagnostic_cc_tests): Remove stray newline. + * diagnostic.h (class diagnostic_buffer): New forward decl. + (struct diagnostic_counters): New. + (diagnostic_context::check_max_errors): Make private. + (diagnostic_context::action_after_output): Make private. + (diagnostic_context::get_output_format): Make non-const. + (diagnostic_context::diagnostic_count): Update for change + to m_diagnostic_counters. + (diagnostic_context::set_diagnostic_buffer): New decl. + (diagnostic_context::get_diagnostic_buffer): New decl. + (diagnostic_context::clear_diagnostic_buffer): New decl. + (diagnostic_context::flush_diagnostic_buffer): New decl. + (diagnostic_context::m_diagnostic_count): Replace array with... + (diagnostic_context::m_diagnostic_counters): ...this. + (diagnostic_context::m_diagnostic_buffer): New field. + (diagnostic_action_after_output): Delete. + (diagnostic_check_max_errors): Delete. + +2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64-simd.md (aarch64_simd_mov<VQMOV:mode>): + Remove redundant mode check. + +2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.md (copysign<GPF:mode>3): Widen immediate to + vector. + (copysign<GPF:mode>3_insn): Use VQ_INT_EQUIV in operand 3. + * config/aarch64/iterators.md (VQ_INT_EQUIV): New iterator. + (vq_int_equiv): Likewise. + +2024-10-23 Jason Merrill <jason@redhat.com> + + * doc/extend.texi (Deprecated Features): Remove text about some + no-longer-deprecated features. + +2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.cc (enum simd_immediate_check): Add + AARCH64_CHECK_XOR. + (aarch64_simd_valid_xor_imm): New function. + (aarch64_output_simd_imm): Add AARCH64_CHECK_XOR support. + (aarch64_output_simd_xor_imm): New function. + * config/aarch64/aarch64-protos.h (aarch64_output_simd_xor_imm): New + prototype. + (aarch64_simd_valid_xor_imm): New prototype. + * config/aarch64/aarch64-simd.md (xor<mode>3<vczle><vczbe>): + Use aarch64_reg_or_xor_imm predicate and add an immediate alternative. + * config/aarch64/predicates.md (aarch64_reg_or_xor_imm): Add new + predicate. + +2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64-simd.md (ior<mode>3<vczle><vczbe>): + Use aarch64_reg_or_orr_imm predicate. Combine SVE/AdvSIMD immediates + and use aarch64_output_simd_orr_imm. + * config/aarch64/aarch64.cc (struct simd_immediate_info): Add SVE_MOV. + (aarch64_sve_valid_immediate): Use SVE_MOV for SVE move immediates. + (aarch64_simd_valid_imm): Enable SVE SIMD immediates when possible. + (aarch64_output_simd_imm): Support emitting SVE SIMD immediates. + * config/aarch64/predicates.md (aarch64_orr_imm_sve_advsimd): Remove. + +2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64-protos.h (enum simd_immediate_check): Move to aarch64.cc. + (aarch64_output_simd_mov_immediate): Remove. + (aarch64_output_simd_mov_imm): New prototype. + (aarch64_output_simd_orr_imm): Likewise. + (aarch64_output_simd_and_imm): Likewise. + (aarch64_simd_valid_immediate): Remove. + (aarch64_simd_valid_and_imm): New prototype. + (aarch64_simd_valid_mov_imm): Likewise. + (aarch64_simd_valid_orr_imm): Likewise. + * config/aarch64/aarch64-simd.md: Use aarch64_output_simd_mov_imm. + * config/aarch64/aarch64.cc (enum simd_immediate_check): Moved from aarch64-protos.h. + Use AARCH64_CHECK_AND rather than AARCH64_CHECk_BIC. + (aarch64_expand_sve_const_vector): Use aarch64_simd_valid_mov_imm. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_can_const_movi_rtx_p): Likewise. + (aarch64_secondary_reload): Likewise. + (aarch64_legitimate_constant_p): Likewise. + (aarch64_advsimd_valid_immediate): Simplify checks on 'which' param. + (aarch64_sve_valid_immediate): Add extra param for move vs logical. + (aarch64_simd_valid_immediate): Rename to aarch64_simd_valid_imm. + (aarch64_simd_valid_mov_imm): New function. + (aarch64_simd_valid_orr_imm): Likewise. + (aarch64_simd_valid_and_imm): Likewise. + (aarch64_mov_operand_p): Use aarch64_simd_valid_mov_imm. + (aarch64_simd_scalar_immediate_valid_for_move): Likewise. + (aarch64_simd_make_constant): Likewise. + (aarch64_expand_vector_init_fallback): Likewise. + (aarch64_output_simd_mov_immediate): Rename to aarch64_output_simd_imm. + (aarch64_output_simd_orr_imm): New function. + (aarch64_output_simd_and_imm): Likewise. + (aarch64_output_simd_mov_imm): Likewise. + (aarch64_output_scalar_simd_mov_immediate): Use aarch64_output_simd_mov_imm. + (aarch64_output_sve_mov_immediate): Use aarch64_simd_valid_imm. + (aarch64_output_sve_ptrues): Likewise. + * config/aarch64/constraints.md (Do): Use aarch64_simd_valid_orr_imm. + (Db): Use aarch64_simd_valid_and_imm. + * config/aarch64/predicates.md (aarch64_reg_or_bic_imm): Use aarch64_simd_valid_orr_imm. + (aarch64_reg_or_and_imm): Use aarch64_simd_valid_and_imm. + +2024-10-23 liuhongt <hongtao.liu@intel.com> + + PR target/117240 + * config/i386/i386-builtin.def: Add avx/avx512f to vaes + ymm/zmm builtins. + +2024-10-23 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/117142 + * tree-sra.cc (build_access_from_call_arg): Disqualify any + candidate passed to a function returning twice. + +2024-10-23 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (Wleading-whitespace=): Document. + +2024-10-23 liuhongt <hongtao.liu@intel.com> + + PR target/117232 + * config/i386/sse.md (*kortest_cmp<SWI1248_AVX512BWDQ_64:mode>_movqicc): + New define_insn_and_split. + (*kortest_cmp<SWI1248_AVX512BWDQ_64:mode>_mov<SWI248:mode>cc): + Ditto. + +2024-10-22 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117199 + * varasm.cc (compare_constant): Handle RAW_DATA_CST. Formatting fix + in the STRING_CST case. + +2024-10-22 Jakub Jelinek <jakub@redhat.com> + + PR c/117190 + * varasm.cc (array_size_for_constructor): For RAW_DATA_CST, + use bitsize_int rather than size_int. + +2024-10-22 Tobias Burnus <tburnus@baylibre.com> + + * config/gcn/gcn-devices.def: Add generic version/flag as additional + value and architecture family entry; update; add gfx-10-3-generic + and gfx11-generic. + * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): Remove + (ASM_SPEC): Use generated ABI_VERSION_OPT instead. + * config/gcn/gcn-tables.opt: Regenerate + * config/gcn/gcn.h (gcn_device_def): Add generic_version and + arch_family members. + (TARGET_CPU_CPP_BUILTINS): Fix allocation bug, handle '-' in the + name and add additional macro defines. + * config/gcn/gcn.cc (gcn_devices): Handle it. + * config/gcn/gen-gcn-device-macros.awk: Likewise; use ELF name + for the macro name; generate ABI_VERSION_OPT. + * config/gcn/mkoffload.cc (ELFABIVERSION_AMDGPU_HSA_V6, + EF_AMDGPU_GENERIC_VERSION_V, EF_AMDGPU_GENERIC_VERSION_OFFSET, + GET_GENERIC_VERSION, SET_GENERIC_VERSION): Define. + (get_arch): Call SET_GENERIC_VERSION flag on elf_flags. + (copy_early_debug_info): If the arch sets the generic version, + use ELFABIVERSION_AMDGPU_HSA_V6. + +2024-10-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117254 + * gimple-ssa-warn-access.cc (maybe_warn_nonstring_arg): + Check the array domain max is constant before using it. + +2024-10-22 Andrew Stubbs <ams@baylibre.com> + Tobias Burnus <tburnus@baylibre.com> + + * config.gcc (amdgcn): Add gcn-device-macros.h to tm_file. + Add gcn-tables.opt to extra_options. + * config/gcn/gcn-hsa.h (NO_XNACK): Delete. + (NO_SRAM_ECC): Delete. + (SRAMOPT): Move definition to generated file gcn-device-macros.h. + (XNACKOPT): Likewise. + (ASM_SPEC): Redefine using generated values from gcn-device-macros.h. + * config/gcn/gcn-opts.h + (enum processor_type): Generate from gcn-devices.def. + (TARGET_VEGA10): Delete. + (TARGET_VEGA20): Delete. + (TARGET_GFX908): Delete. + (TARGET_GFX90a): Delete. + (TARGET_GFX90c): Delete. + (TARGET_GFX1030): Delete. + (TARGET_GFX1036): Delete. + (TARGET_GFX1100): Delete. + (TARGET_GFX1103): Delete. + (TARGET_XNACK): Redefine to allow for HSACO_ATTR_UNSUPPORTED. + (enum hsaco_attr_type): Add HSACO_ATTR_UNSUPPORTED. + (TARGET_TGSPLIT): New define. + * config/gcn/gcn.cc (gcn_devices): New constant table. + (gcn_option_override): Rework to use gcn_devices table. + (gcn_omp_device_kind_arch_isa): Likewise. + (output_file_start): Likewise. + (gcn_hsa_declare_function_name): Rework using TARGET_* macros. + * config/gcn/gcn.h (gcn_devices): Declare struct and table. + (TARGET_CPU_CPP_BUILTINS): Rework using gcn_devices. + * config/gcn/gcn.opt: Move enum data to generated file gcn-tables.opt. + Use new names for the default values. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX900): Delete. + (EF_AMDGPU_MACH_AMDGCN_GFX906): Delete. + (EF_AMDGPU_MACH_AMDGCN_GFX908): Delete. + (EF_AMDGPU_MACH_AMDGCN_GFX90a): Delete. + (EF_AMDGPU_MACH_AMDGCN_GFX90c): Delete. + (EF_AMDGPU_MACH_AMDGCN_GFX1030): Delete. + (EF_AMDGPU_MACH_AMDGCN_GFX1036): Delete. + (EF_AMDGPU_MACH_AMDGCN_GFX1100): Delete. + (EF_AMDGPU_MACH_AMDGCN_GFX1103): Delete. + (enum elf_arch_code): Define using gcn-devices.def. + (get_arch): Rework using gcn-devices.def. + (main): Rework using gcn-devices.def + * config/gcn/t-gcn-hsa (gcn-tables.opt): Generate file. + (gcn-device-macros.h): Generate file. + * config/gcn/t-omp-device: Generate isa list from gcn-devices.def. + * config/gcn/gcn-devices.def: New file. + * config/gcn/gcn-tables.opt: New file. + * config/gcn/gcn-tables.opt.urls: New file. + * config/gcn/gen-gcn-device-macros.awk: New file. + * config/gcn/gen-opt-tables.awk: New file. + +2024-10-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117123 + * tree-ssa-sccvn.cc (visit_phi): First process a non-constant + argument edge to handle more equivalences. Remove the + two-arg special case. + +2024-10-22 xuli <xuli1@eswincomputing.com> + + * match.pd: Support IMM=1. + +2024-10-22 xuli <xuli1@eswincomputing.com> + + * match.pd: Support IMM=max-1. + +2024-10-21 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116488 + PR rtl-optimization/116579 + PR rtl-optimization/116915 + PR rtl-optimization/117226 + * ext-dce.cc (carry_backpropagate): Properly handle SIGN_EXTEND, add + ZERO_EXTEND handling as well. + (ext_dce_process_uses): Call carry_backpropagate before the optimization + step. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * config/riscv/autovec.md (sstrunc<mode><v_double_trunc>2): Add + new pattern sstrunc for double trunc. + (sstrunc<mode><v_quad_trunc>2): Ditto but for quad trunc. + (sstrunc<mode><v_oct_trunc>2): Ditto but for oct trunc. + * config/riscv/riscv-protos.h (expand_vec_double_sstrunc): Add + new func decl to expand double trunc. + (expand_vec_quad_sstrunc): Ditto but for quad trunc. + (expand_vec_oct_sstrunc): Ditto but for oct trunc. + * config/riscv/riscv-v.cc (expand_vec_double_sstrunc): Add new + func to expand double trunc. + (expand_vec_quad_sstrunc): Ditto but for quad trunc. + (expand_vec_oct_sstrunc): Ditto but for oct trunc. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * tree-vect-patterns.cc (gimple_signed_integer_sat_trunc): Add + new func decl for signed SAT_TRUNC. + (vect_recog_sat_trunc_pattern): Try signed match pattern for + the SAT_TRUNC. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * match.pd: Refine matching for vector signed SAT_TRUNC form 1. + +2024-10-21 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64.cc (aarch64_register_move_cost): + Increase costs involving MOVEABLE_SYSREGS. + +2024-10-21 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn.h (SGPR_REGNO_P): Silence warning. + +2024-10-21 Alex Coplan <alex.coplan@arm.com> + + PR rtl-optimization/116783 + * pair-fusion.cc (def_walker::cand_addr_uses): New. + (def_walker::def_walker): Add parameter for candidate address + uses. + (def_walker::alias_conflict_p): Declare. + (def_walker::addr_reg_conflict_p): New. + (def_walker::conflict_p): New. + (store_walker::store_walker): Add parameter for candidate + address uses and pass to base ctor. + (store_walker::conflict_p): Rename to ... + (store_walker::alias_conflict_p): ... this. + (load_walker::load_walker): Add parameter for candidate + address uses and pass to base ctor. + (load_walker::conflict_p): Rename to ... + (load_walker::alias_conflict_p): ... this. + (pair_fusion_bb_info::try_fuse_pair): Collect address register + uses for candidate insns and pass down to alias walkers. + +2024-10-21 Jeevitha <jeevitha@linux.ibm.com> + + * config/rs6000/amo.h (enum _AMO_LD): Correct the function code for + _AMO_LD_DEC_BOUNDED. + +2024-10-21 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_intel_cpu): Refactor the + function for future expansion on different family. + +2024-10-21 liuhongt <hongtao.liu@intel.com> + + PR target/117159 + * config/i386/sse.md + (*<avx512>_cmp<V48H_AVX512VL:mode>3_zero_extend<SWI248x:mode>): + Change from define_insn_and_split to define_insn. + (*<avx512>_cmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>): + Ditto. + (*<avx512>_ucmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>): + Ditto. + (*<avx512>_ucmp<VI48_AVX512VL:mode>3_zero_extend<SWI248x:mode>): + Ditto. + (*<avx512>_cmp<V48H_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2): + Split to the zero_extend pattern. + (*<avx512>_cmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2): + Ditto. + (*<avx512>_ucmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2): + Ditto. + (*<avx512>_ucmp<VI48_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2): + Ditto. + +2024-10-20 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv.cc (riscv_use_by_pieces_infrastructure_p): + New function. + (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Define. + +2024-10-19 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/112418 + * tree-ssa-phiopt.cc (is_factor_profitable): New function. + (factor_out_conditional_operation): Add merge argument. Remove + arg0/arg1 arguments. Return bool instead of the new phi. + Early return for virtual ops. Call is_factor_profitable to + check if the factoring would be profitable. + (pass_phiopt::execute): Call factor_out_conditional_operation + on all phis instead of just singleton phi. + * doc/invoke.texi (--param phiopt-factor-max-stmts-live=): Document. + * params.opt (--param=phiopt-factor-max-stmts-live=): New opt. + +2024-10-19 Greg McGary <gkm@rivosinc.com> + + * config/riscv/autovec.md (vec_mask_len_load_lanes, vec_mask_len_store_lanes): + Predicate with TARGET_VECTOR_AUTOVEC_SEGMENT + * config/riscv/riscv-opts.h (TARGET_VECTOR_AUTOVEC_SEGMENT): New macro. + * config/riscv/riscv.opt (-m(no-)autovec-segment): New option. + +2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv.cc (riscv_use_by_pieces_infrastructure_p): + New function. + (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Define. + +2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv-string.cc (struct stringop_info): New. + (expand_block_move): Move decision making code to... + (use_vector_stringop_p): ...here. + +2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv-protos.h (get_lmul_mode): New prototype. + (expand_block_move): Add bool parameter for movmem_p. + * config/riscv/riscv-string.cc (riscv_expand_block_move_scalar): + Pass movmem_p as false to riscv_vector::expand_block_move. + (expand_block_move): Add movmem_p parameter. Return false if + loop needed and movmem_p is true. Respect TARGET_MAX_LMUL. + * config/riscv/riscv-v.cc (get_lmul_mode): New function. + * config/riscv/riscv.md (movmem<mode>): Move checking for + whether to generate inline vector code to + riscv_vector::expand_block_move by passing movmem_p as true. + +2024-10-19 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.h (json::value): Remove forward decl. + +2024-10-19 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc (json_output_format::dump): New. + * diagnostic-format-sarif.cc (sarif_output_format::dump): New. + (sarif_file_output_format::dump): New. + * diagnostic-format-text.cc (diagnostic_text_output_format::dump): + New. + * diagnostic-format-text.h (diagnostic_text_output_format::dump): + New decl. + * diagnostic-format.h (diagnostic_output_format::dump): New decls. + * diagnostic.cc (diagnostic_context::dump): New. + (diagnostic_output_format::dump): New. + * diagnostic.h (diagnostic_context::dump): New decls. + * pretty-print-format-impl.h (pp_formatted_chunks::dump): Add + "indent" param. + * pretty-print.cc (bytes_per_hexdump_line): New constant. + (print_hexdump_line): New. + (print_hexdump): New. + (output_buffer::dump): Add "indent" param and use it. Add + hexdump of current object in m_formatted_obstack and + m_chunk_obstack. + (pp_formatted_chunks::dump): Add "indent" param and use it. + (pretty_printer::dump): Likewise. Add dumping of m_show_color + and m_url_format. + * pretty-print.h (output_buffer::dump): Add "indent" param. + (pretty_printer::dump): Likewise. + +2024-10-18 Alejandro Colomar <alx@kernel.org> + + * tree.h (array_type_nelts_top) + * tree.cc (array_type_nelts_top): + Define function (moved from gcc/cp/). + +2024-10-18 Alejandro Colomar <alx@kernel.org> + + * tree.cc (array_type_nelts, array_type_nelts_minus_one) + * tree.h (array_type_nelts, array_type_nelts_minus_one) + * expr.cc (count_type_elements) + * config/aarch64/aarch64.cc + (pure_scalable_type_info::analyze_array) + * config/i386/i386.cc (ix86_canonical_va_list_type): + Rename array_type_nelts => array_type_nelts_minus_one + The old name was misleading. + +2024-10-18 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.opt.urls: Fix for -mlra. + +2024-10-18 John David Anglin <danglin@gcc.gnu.org> + + PR target/113933 + * config/pa/pa.cc (pa_use_lra_p): Declare. + (TARGET_LRA_P): Change define to pa_use_lra_p. + (pa_use_lra_p): New function. + (legitimize_pic_address): Also check lra_in_progress. + (pa_emit_move_sequence): Likewise. + (pa_legitimate_constant_p): Likewise. + (pa_legitimate_address_p): Likewise. + (pa_secondary_reload): For floating-point loads and stores, + return NO_REGS for REG and SUBREG operands. Return + GENERAL_REGS for some shift register spills. + * config/pa/pa.opt: Add mlra option. + * config/pa/predicates.md (integer_store_memory_operand): + Also check lra_in_progress. + (floating_point_store_memory_operand): Likewise. + (reg_before_reload_operand): Likewise. + +2024-10-18 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv-string.cc (expand_block_move): Fix + condition for using smaller LMUL. Break outer loop if a + suitable vmode has been found. + +2024-10-18 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv-string.cc (expand_block_move): Replace + `end` with `length_rtx` in gen_rtx_NE. + +2024-10-18 Craig Blackmore <craig.blackmore@embecosm.com> + + * config/riscv/riscv-string.cc (expand_block_move): Fix + indentation. + +2024-10-18 Uros Bizjak <ubizjak@gmail.com> + + PR target/117192 + * config/i386/mmx.md (andn<MMXMODEI:mode>3): Swap operand + indexes 1 and 2 to comply with andn specification. + +2024-10-18 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): + Refactor using fold_active_lanes_to and fold to dividend, is the + divisor is all ones. + (svmul_impl::fold): Refactor using fold_active_lanes_to and fold + to the other operand, if one of the operands is all ones. + * config/aarch64/aarch64-sve-builtins.h: Declare + gimple_folder::fold_active_lanes_to (tree). + * config/aarch64/aarch64-sve-builtins.cc + (gimple_folder::fold_actives_lanes_to): Add new method to fold + actives lanes to given argument and setting inactives lanes + according to the predication. + +2024-10-18 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_2): Only expect + IFN_MASK_LOAD for masked loads that are not + STMT_VINFO_GATHER_SCATTER_P. + +2024-10-18 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/117140 + * tree-vect-slp.cc (vectorize_slp_instance_root_stmt): Use gsi from + original statement. + +2024-10-18 Tamar Christina <tamar.christina@arm.com> + + * tree-vect-generic.cc (lower_vec_perm): Use output vector size instead + of input vector when determining output nunits. + +2024-10-18 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64.cc (aarch64_output_sve_mov_immediate): Use + fmov for SVE zeros. + +2024-10-18 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64.cc (aarch64_sve_valid_immediate, + aarch64_simd_valid_immediate): Refactor accepting modes and values. + (aarch64_float_const_representable_p): Refactor and extract FP checks + into ... + (aarch64_real_float_const_representable_p): ...This and fix fail + fallback from real_to_integer. + (aarch64_advsimd_valid_immediate): Use it. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (long_type_suffix): New. + (half_type_suffix): New. + (struct binary_move_narrow_def): Use new helper. + (struct binary_move_narrow_unsigned_def): Likewise. + (struct binary_rshift_narrow_def): Likewise. + (struct binary_rshift_narrow_unsigned_def): Likewise. + (struct binary_widen_def): Likewise. + (struct binary_widen_n_def): Likewise. + (struct binary_widen_opt_n_def): Likewise. + (struct unary_widen_def): Likewise. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vadc_vsbc_impl): Add + support for vsbciq and vsbcq. + (vadciq, vadcq): Add new parameter. + (vsbciq): New. + (vsbcq): New. + * config/arm/arm-mve-builtins-base.def (vsbciq): New. + (vsbcq): New. + * config/arm/arm-mve-builtins-base.h (vsbciq): New. + (vsbcq): New. + * config/arm/arm_mve.h (vsbciq): Delete. + (vsbciq_m): Delete. + (vsbcq): Delete. + (vsbcq_m): Delete. + (vsbciq_s32): Delete. + (vsbciq_u32): Delete. + (vsbciq_m_s32): Delete. + (vsbciq_m_u32): Delete. + (vsbcq_s32): Delete. + (vsbcq_u32): Delete. + (vsbcq_m_s32): Delete. + (vsbcq_m_u32): Delete. + (__arm_vsbciq_s32): Delete. + (__arm_vsbciq_u32): Delete. + (__arm_vsbciq_m_s32): Delete. + (__arm_vsbciq_m_u32): Delete. + (__arm_vsbcq_s32): Delete. + (__arm_vsbcq_u32): Delete. + (__arm_vsbcq_m_s32): Delete. + (__arm_vsbcq_m_u32): Delete. + (__arm_vsbciq): Delete. + (__arm_vsbciq_m): Delete. + (__arm_vsbcq): Delete. + (__arm_vsbcq_m): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (vadcq_vsbc): Add support + for vadcq. + * config/arm/arm-mve-builtins-base.def (vadcq): New. + * config/arm/arm-mve-builtins-base.h (vadcq): New. + * config/arm/arm_mve.h (vadcq): Delete. + (vadcq_m): Delete. + (vadcq_s32): Delete. + (vadcq_u32): Delete. + (vadcq_m_s32): Delete. + (vadcq_m_u32): Delete. + (__arm_vadcq_s32): Delete. + (__arm_vadcq_u32): Delete. + (__arm_vadcq_m_s32): Delete. + (__arm_vadcq_m_u32): Delete. + (__arm_vadcq): Delete. + (__arm_vadcq_m): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vadc_vsbc_impl): New. + (vadciq): New. + * config/arm/arm-mve-builtins-base.def (vadciq): New. + * config/arm/arm-mve-builtins-base.h (vadciq): New. + * config/arm/arm_mve.h (vadciq): Delete. + (vadciq_m): Delete. + (vadciq_s32): Delete. + (vadciq_u32): Delete. + (vadciq_m_s32): Delete. + (vadciq_m_u32): Delete. + (__arm_vadciq_s32): Delete. + (__arm_vadciq_u32): Delete. + (__arm_vadciq_m_s32): Delete. + (__arm_vadciq_m_u32): Delete. + (__arm_vadciq): Delete. + (__arm_vadciq_m): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/iterators.md (mve_insn): Add VADCIQ_M_S, VADCIQ_M_U, + VADCIQ_U, VADCIQ_S, VADCQ_M_S, VADCQ_M_U, VADCQ_S, VADCQ_U, + VSBCIQ_M_S, VSBCIQ_M_U, VSBCIQ_S, VSBCIQ_U, VSBCQ_M_S, VSBCQ_M_U, + VSBCQ_S, VSBCQ_U. + (VADCIQ, VSBCIQ): Merge into ... + (VxCIQ): ... this. + (VADCIQ_M, VSBCIQ_M): Merge into ... + (VxCIQ_M): ... this. + (VSBCQ, VADCQ): Merge into ... + (VxCQ): ... this. + (VSBCQ_M, VADCQ_M): Merge into ... + (VxCQ_M): ... this. + * config/arm/mve.md + (mve_vadciq_<supf>v4si, mve_vsbciq_<supf>v4si): Merge into ... + (@mve_<mve_insn>q_<supf>v4si): ... this. + (mve_vadciq_m_<supf>v4si, mve_vsbciq_m_<supf>v4si): Merge into ... + (@mve_<mve_insn>q_m_<supf>v4si): ... this. + (mve_vadcq_<supf>v4si, mve_vsbcq_<supf>v4si): Merge into ... + (@mve_<mve_insn>q_<supf>v4si): ... this. + (mve_vadcq_m_<supf>v4si, mve_vsbcq_m_<supf>v4si): Merge into ... + (@mve_<mve_insn>q_m_<supf>v4si): ... this. + +2024-10-18 Christophe Lyon <chrirstophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (vadc_vsbc): New. + * config/arm/arm-mve-builtins-shapes.h (vadc_vsbc): New. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc + (arm_ternop_unone_none_unone_imm_qualifiers) + (-arm_ternop_none_none_unone_imm_qualifiers): Delete. + * config/arm/arm_mve_builtins.def (vshlcq_m_vec_s) + (vshlcq_m_carry_s, vshlcq_m_vec_u, vshlcq_m_carry_u): Delete. + * config/arm/mve.md (mve_vshlcq_vec_<supf><mode>): Delete. + (mve_vshlcq_carry_<supf><mode>): Delete. + (mve_vshlcq_m_vec_<supf><mode>): Delete. + (mve_vshlcq_m_carry_<supf><mode>): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vshlc_impl): New. + (vshlc): New. + * config/arm/arm-mve-builtins-base.def (vshlcq): New. + * config/arm/arm-mve-builtins-base.h (vshlcq): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Handle vshlc. + * config/arm/arm_mve.h (vshlcq): Delete. + (vshlcq_m): Delete. + (vshlcq_s8): Delete. + (vshlcq_u8): Delete. + (vshlcq_s16): Delete. + (vshlcq_u16): Delete. + (vshlcq_s32): Delete. + (vshlcq_u32): Delete. + (vshlcq_m_s8): Delete. + (vshlcq_m_u8): Delete. + (vshlcq_m_s16): Delete. + (vshlcq_m_u16): Delete. + (vshlcq_m_s32): Delete. + (vshlcq_m_u32): Delete. + (__arm_vshlcq_s8): Delete. + (__arm_vshlcq_u8): Delete. + (__arm_vshlcq_s16): Delete. + (__arm_vshlcq_u16): Delete. + (__arm_vshlcq_s32): Delete. + (__arm_vshlcq_u32): Delete. + (__arm_vshlcq_m_s8): Delete. + (__arm_vshlcq_m_u8): Delete. + (__arm_vshlcq_m_s16): Delete. + (__arm_vshlcq_m_u16): Delete. + (__arm_vshlcq_m_s32): Delete. + (__arm_vshlcq_m_u32): Delete. + (__arm_vshlcq): Delete. + (__arm_vshlcq_m): Delete. + * config/arm/mve.md (mve_vshlcq_<supf><mode>): Add '@' prefix. + (mve_vshlcq_m_<supf><mode>): Likewise. + +2024-10-18 Christophe Lyon <chrirstophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (vshlc): New. + * config/arm/arm-mve-builtins-shapes.h (vshlc): New. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-builtins.cc + (arm_quinop_unone_unone_unone_unone_imm_pred_qualifiers): Delete. + * config/arm/arm_mve_builtins.def (viwdupq_wb_u, vdwdupq_wb_u) + (viwdupq_m_wb_u, vdwdupq_m_wb_u, viwdupq_m_n_u, vdwdupq_m_n_u) + (vdwdupq_n_u, viwdupq_n_u): Delete. + * config/arm/mve.md (mve_vdwdupq_n_u<mode>): Delete. + (mve_vdwdupq_wb_u<mode>): Delete. + (mve_vdwdupq_m_n_u<mode>): Delete. + (mve_vdwdupq_m_wb_u<mode>): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (viddup_impl): Add support + for wrapping versions. + (vdwdupq): New. + (viwdupq): New. + * config/arm/arm-mve-builtins-base.def (vdwdupq): New. + (viwdupq): New. + * config/arm/arm-mve-builtins-base.h (vdwdupq): New. + (viwdupq): New. + * config/arm/arm_mve.h (vdwdupq_m): Delete. + (vdwdupq_u8): Delete. + (vdwdupq_u32): Delete. + (vdwdupq_u16): Delete. + (viwdupq_m): Delete. + (viwdupq_u8): Delete. + (viwdupq_u32): Delete. + (viwdupq_u16): Delete. + (vdwdupq_x_u8): Delete. + (vdwdupq_x_u16): Delete. + (vdwdupq_x_u32): Delete. + (viwdupq_x_u8): Delete. + (viwdupq_x_u16): Delete. + (viwdupq_x_u32): Delete. + (vdwdupq_m_n_u8): Delete. + (vdwdupq_m_n_u32): Delete. + (vdwdupq_m_n_u16): Delete. + (vdwdupq_m_wb_u8): Delete. + (vdwdupq_m_wb_u32): Delete. + (vdwdupq_m_wb_u16): Delete. + (vdwdupq_n_u8): Delete. + (vdwdupq_n_u32): Delete. + (vdwdupq_n_u16): Delete. + (vdwdupq_wb_u8): Delete. + (vdwdupq_wb_u32): Delete. + (vdwdupq_wb_u16): Delete. + (viwdupq_m_n_u8): Delete. + (viwdupq_m_n_u32): Delete. + (viwdupq_m_n_u16): Delete. + (viwdupq_m_wb_u8): Delete. + (viwdupq_m_wb_u32): Delete. + (viwdupq_m_wb_u16): Delete. + (viwdupq_n_u8): Delete. + (viwdupq_n_u32): Delete. + (viwdupq_n_u16): Delete. + (viwdupq_wb_u8): Delete. + (viwdupq_wb_u32): Delete. + (viwdupq_wb_u16): Delete. + (vdwdupq_x_n_u8): Delete. + (vdwdupq_x_n_u16): Delete. + (vdwdupq_x_n_u32): Delete. + (vdwdupq_x_wb_u8): Delete. + (vdwdupq_x_wb_u16): Delete. + (vdwdupq_x_wb_u32): Delete. + (viwdupq_x_n_u8): Delete. + (viwdupq_x_n_u16): Delete. + (viwdupq_x_n_u32): Delete. + (viwdupq_x_wb_u8): Delete. + (viwdupq_x_wb_u16): Delete. + (viwdupq_x_wb_u32): Delete. + (__arm_vdwdupq_m_n_u8): Delete. + (__arm_vdwdupq_m_n_u32): Delete. + (__arm_vdwdupq_m_n_u16): Delete. + (__arm_vdwdupq_m_wb_u8): Delete. + (__arm_vdwdupq_m_wb_u32): Delete. + (__arm_vdwdupq_m_wb_u16): Delete. + (__arm_vdwdupq_n_u8): Delete. + (__arm_vdwdupq_n_u32): Delete. + (__arm_vdwdupq_n_u16): Delete. + (__arm_vdwdupq_wb_u8): Delete. + (__arm_vdwdupq_wb_u32): Delete. + (__arm_vdwdupq_wb_u16): Delete. + (__arm_viwdupq_m_n_u8): Delete. + (__arm_viwdupq_m_n_u32): Delete. + (__arm_viwdupq_m_n_u16): Delete. + (__arm_viwdupq_m_wb_u8): Delete. + (__arm_viwdupq_m_wb_u32): Delete. + (__arm_viwdupq_m_wb_u16): Delete. + (__arm_viwdupq_n_u8): Delete. + (__arm_viwdupq_n_u32): Delete. + (__arm_viwdupq_n_u16): Delete. + (__arm_viwdupq_wb_u8): Delete. + (__arm_viwdupq_wb_u32): Delete. + (__arm_viwdupq_wb_u16): Delete. + (__arm_vdwdupq_x_n_u8): Delete. + (__arm_vdwdupq_x_n_u16): Delete. + (__arm_vdwdupq_x_n_u32): Delete. + (__arm_vdwdupq_x_wb_u8): Delete. + (__arm_vdwdupq_x_wb_u16): Delete. + (__arm_vdwdupq_x_wb_u32): Delete. + (__arm_viwdupq_x_n_u8): Delete. + (__arm_viwdupq_x_n_u16): Delete. + (__arm_viwdupq_x_n_u32): Delete. + (__arm_viwdupq_x_wb_u8): Delete. + (__arm_viwdupq_x_wb_u16): Delete. + (__arm_viwdupq_x_wb_u32): Delete. + (__arm_vdwdupq_m): Delete. + (__arm_vdwdupq_u8): Delete. + (__arm_vdwdupq_u32): Delete. + (__arm_vdwdupq_u16): Delete. + (__arm_viwdupq_m): Delete. + (__arm_viwdupq_u8): Delete. + (__arm_viwdupq_u32): Delete. + (__arm_viwdupq_u16): Delete. + (__arm_vdwdupq_x_u8): Delete. + (__arm_vdwdupq_x_u16): Delete. + (__arm_vdwdupq_x_u32): Delete. + (__arm_viwdupq_x_u8): Delete. + (__arm_viwdupq_x_u16): Delete. + (__arm_viwdupq_x_u32): Delete. + * config/arm/mve.md (@mve_<mve_insn>q_m_wb_u<mode>_insn): Swap + operands 1 and 2. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (vidwdup): New. + * config/arm/arm-mve-builtins-shapes.h (vidwdup): New. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/iterators.md (mve_insn): Add VIWDUPQ, VDWDUPQ, + VIWDUPQ_M, VDWDUPQ_M. + (VIDWDUPQ): New iterator. + (VIDWDUPQ_M): New iterator. + * config/arm/mve.md (mve_vdwdupq_wb_u<mode>_insn) + (mve_viwdupq_wb_u<mode>_insn): Merge into ... + (@mve_<mve_insn>q_wb_u<mode>_insn): ... this. Add missing + mve_unpredicated_insn and mve_move attributes. + (mve_vdwdupq_m_wb_u<mode>_insn, mve_viwdupq_m_wb_u<mode>_insn): + Merge into ... + (@mve_<mve_insn>q_m_wb_u<mode>_insn): ... this. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (binary_acca_int32): Fix + check of scalar argument. + (binary_acca_int64): Likewise. + (binary_lshift_unsigned): Likewise. + (binary_rshift_narrow): Likewise. + (binary_rshift_narrow_unsigned): Likewise. + (ternary_lshift): Likewise. + (ternary_rshift): Likewise. + (unary_int32_acc): Likewise. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm_mve_builtins.def (vddupq_n_u, vidupq_n_u) + (vddupq_m_n_u, vidupq_m_n_u): Delete. + * config/arm/mve.md (mve_vidupq_n_u<mode>, mve_vidupq_m_n_u<mode>) + (mve_vddupq_n_u<mode>, mve_vddupq_m_n_u<mode>): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class viddup_impl): New. + (vddup): New. + (vidup): New. + * config/arm/arm-mve-builtins-base.def (vddupq): New. + (vidupq): New. + * config/arm/arm-mve-builtins-base.h (vddupq): New. + (vidupq): New. + * config/arm/arm_mve.h (vddupq_m): Delete. + (vddupq_u8): Delete. + (vddupq_u32): Delete. + (vddupq_u16): Delete. + (vidupq_m): Delete. + (vidupq_u8): Delete. + (vidupq_u32): Delete. + (vidupq_u16): Delete. + (vddupq_x_u8): Delete. + (vddupq_x_u16): Delete. + (vddupq_x_u32): Delete. + (vidupq_x_u8): Delete. + (vidupq_x_u16): Delete. + (vidupq_x_u32): Delete. + (vddupq_m_n_u8): Delete. + (vddupq_m_n_u32): Delete. + (vddupq_m_n_u16): Delete. + (vddupq_m_wb_u8): Delete. + (vddupq_m_wb_u16): Delete. + (vddupq_m_wb_u32): Delete. + (vddupq_n_u8): Delete. + (vddupq_n_u32): Delete. + (vddupq_n_u16): Delete. + (vddupq_wb_u8): Delete. + (vddupq_wb_u16): Delete. + (vddupq_wb_u32): Delete. + (vidupq_m_n_u8): Delete. + (vidupq_m_n_u32): Delete. + (vidupq_m_n_u16): Delete. + (vidupq_m_wb_u8): Delete. + (vidupq_m_wb_u16): Delete. + (vidupq_m_wb_u32): Delete. + (vidupq_n_u8): Delete. + (vidupq_n_u32): Delete. + (vidupq_n_u16): Delete. + (vidupq_wb_u8): Delete. + (vidupq_wb_u16): Delete. + (vidupq_wb_u32): Delete. + (vddupq_x_n_u8): Delete. + (vddupq_x_n_u16): Delete. + (vddupq_x_n_u32): Delete. + (vddupq_x_wb_u8): Delete. + (vddupq_x_wb_u16): Delete. + (vddupq_x_wb_u32): Delete. + (vidupq_x_n_u8): Delete. + (vidupq_x_n_u16): Delete. + (vidupq_x_n_u32): Delete. + (vidupq_x_wb_u8): Delete. + (vidupq_x_wb_u16): Delete. + (vidupq_x_wb_u32): Delete. + (__arm_vddupq_m_n_u8): Delete. + (__arm_vddupq_m_n_u32): Delete. + (__arm_vddupq_m_n_u16): Delete. + (__arm_vddupq_m_wb_u8): Delete. + (__arm_vddupq_m_wb_u16): Delete. + (__arm_vddupq_m_wb_u32): Delete. + (__arm_vddupq_n_u8): Delete. + (__arm_vddupq_n_u32): Delete. + (__arm_vddupq_n_u16): Delete. + (__arm_vidupq_m_n_u8): Delete. + (__arm_vidupq_m_n_u32): Delete. + (__arm_vidupq_m_n_u16): Delete. + (__arm_vidupq_n_u8): Delete. + (__arm_vidupq_m_wb_u8): Delete. + (__arm_vidupq_m_wb_u16): Delete. + (__arm_vidupq_m_wb_u32): Delete. + (__arm_vidupq_n_u32): Delete. + (__arm_vidupq_n_u16): Delete. + (__arm_vidupq_wb_u8): Delete. + (__arm_vidupq_wb_u16): Delete. + (__arm_vidupq_wb_u32): Delete. + (__arm_vddupq_wb_u8): Delete. + (__arm_vddupq_wb_u16): Delete. + (__arm_vddupq_wb_u32): Delete. + (__arm_vddupq_x_n_u8): Delete. + (__arm_vddupq_x_n_u16): Delete. + (__arm_vddupq_x_n_u32): Delete. + (__arm_vddupq_x_wb_u8): Delete. + (__arm_vddupq_x_wb_u16): Delete. + (__arm_vddupq_x_wb_u32): Delete. + (__arm_vidupq_x_n_u8): Delete. + (__arm_vidupq_x_n_u16): Delete. + (__arm_vidupq_x_n_u32): Delete. + (__arm_vidupq_x_wb_u8): Delete. + (__arm_vidupq_x_wb_u16): Delete. + (__arm_vidupq_x_wb_u32): Delete. + (__arm_vddupq_m): Delete. + (__arm_vddupq_u8): Delete. + (__arm_vddupq_u32): Delete. + (__arm_vddupq_u16): Delete. + (__arm_vidupq_m): Delete. + (__arm_vidupq_u8): Delete. + (__arm_vidupq_u32): Delete. + (__arm_vidupq_u16): Delete. + (__arm_vddupq_x_u8): Delete. + (__arm_vddupq_x_u16): Delete. + (__arm_vddupq_x_u32): Delete. + (__arm_vidupq_x_u8): Delete. + (__arm_vidupq_x_u16): Delete. + (__arm_vidupq_x_u32): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (viddup): New. + * config/arm/arm-mve-builtins-shapes.h (viddup): New. + * config/arm/arm-mve-builtins.cc (report_not_one_of): New. + (function_checker::require_immediate_one_of): New. + * config/arm/arm-mve-builtins.def (wb): New mode. + * config/arm/arm-mve-builtins.h (function_checker) Add + require_immediate_one_of. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/iterators.md (mve_insn): Add VIDUPQ, VDDUPQ, + VIDUPQ_M, VDDUPQ_M. + (viddupq_op): New. + (viddupq_m_op): New. + (VIDDUPQ): New. + (VIDDUPQ_M): New. + * config/arm/mve.md (mve_vddupq_u<mode>_insn) + (mve_vidupq_u<mode>_insn): Merge into ... + (mve_<mve_insn>q_u<mode>_insn): ... this. + (mve_vddupq_m_wb_u<mode>_insn, mve_vidupq_m_wb_u<mode>_insn): + Merge into ... + (mve_<mve_insn>q_m_wb_u<mode>_insn): ... this. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vctpq_impl): New. + (vctp16q): New. + (vctp32q): New. + (vctp64q): New. + (vctp8q): New. + * config/arm/arm-mve-builtins-base.def (vctp16q): New. + (vctp32q): New. + (vctp64q): New. + (vctp8q): New. + * config/arm/arm-mve-builtins-base.h (vctp16q): New. + (vctp32q): New. + (vctp64q): New. + (vctp8q): New. + * config/arm/arm-mve-builtins-shapes.cc (vctp): New. + * config/arm/arm-mve-builtins-shapes.h (vctp): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Add support for vctp. + * config/arm/arm_mve.h (vctp16q): Delete. + (vctp32q): Delete. + (vctp64q): Delete. + (vctp8q): Delete. + (vctp8q_m): Delete. + (vctp64q_m): Delete. + (vctp32q_m): Delete. + (vctp16q_m): Delete. + (__arm_vctp16q): Delete. + (__arm_vctp32q): Delete. + (__arm_vctp64q): Delete. + (__arm_vctp8q): Delete. + (__arm_vctp8q_m): Delete. + (__arm_vctp64q_m): Delete. + (__arm_vctp32q_m): Delete. + (__arm_vctp16q_m): Delete. + * config/arm/mve.md (mve_vctp<MVE_vctp>q<MVE_vpred>): Add '@' + prefix. + (mve_vctp<MVE_vctp>q_m<MVE_vpred>): Likewise. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (vornq): New. + * config/arm/arm-mve-builtins-base.def (vornq): New. + * config/arm/arm-mve-builtins-base.h (vornq): New. + * config/arm/arm-mve-builtins-functions.h (class + unspec_based_mve_function_exact_insn_vorn): New. + * config/arm/arm_mve.h (vornq): Delete. + (vornq_m): Delete. + (vornq_x): Delete. + (vornq_u8): Delete. + (vornq_s8): Delete. + (vornq_u16): Delete. + (vornq_s16): Delete. + (vornq_u32): Delete. + (vornq_s32): Delete. + (vornq_f16): Delete. + (vornq_f32): Delete. + (vornq_m_s8): Delete. + (vornq_m_s32): Delete. + (vornq_m_s16): Delete. + (vornq_m_u8): Delete. + (vornq_m_u32): Delete. + (vornq_m_u16): Delete. + (vornq_m_f32): Delete. + (vornq_m_f16): Delete. + (vornq_x_s8): Delete. + (vornq_x_s16): Delete. + (vornq_x_s32): Delete. + (vornq_x_u8): Delete. + (vornq_x_u16): Delete. + (vornq_x_u32): Delete. + (vornq_x_f16): Delete. + (vornq_x_f32): Delete. + (__arm_vornq_u8): Delete. + (__arm_vornq_s8): Delete. + (__arm_vornq_u16): Delete. + (__arm_vornq_s16): Delete. + (__arm_vornq_u32): Delete. + (__arm_vornq_s32): Delete. + (__arm_vornq_m_s8): Delete. + (__arm_vornq_m_s32): Delete. + (__arm_vornq_m_s16): Delete. + (__arm_vornq_m_u8): Delete. + (__arm_vornq_m_u32): Delete. + (__arm_vornq_m_u16): Delete. + (__arm_vornq_x_s8): Delete. + (__arm_vornq_x_s16): Delete. + (__arm_vornq_x_s32): Delete. + (__arm_vornq_x_u8): Delete. + (__arm_vornq_x_u16): Delete. + (__arm_vornq_x_u32): Delete. + (__arm_vornq_f16): Delete. + (__arm_vornq_f32): Delete. + (__arm_vornq_m_f32): Delete. + (__arm_vornq_m_f16): Delete. + (__arm_vornq_x_f16): Delete. + (__arm_vornq_x_f32): Delete. + (__arm_vornq): Delete. + (__arm_vornq_m): Delete. + (__arm_vornq_x): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/iterators.md (MVE_INT_M_BINARY_LOGIC): Add VORNQ_M_S, + VORNQ_M_U. + (MVE_FP_M_BINARY_LOGIC): Add VORNQ_M_F. + (mve_insn): Add VORNQ_M_S, VORNQ_M_U, VORNQ_M_F. + * config/arm/mve.md (mve_vornq_s<mode>): Rename into ... + (@mve_vornq_s<mode>): ... this. + (mve_vornq_u<mode>): Rename into ... + (@mve_vornq_u<mode>): ... this. + (mve_vornq_f<mode>): Rename into ... + (@mve_vornq_f<mode>): ... this. + (mve_vornq_m_<supf><mode>): Merge into vand/vbic pattern. + (mve_vornq_m_f<mode>): Likewise. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (vbicq): New. + * config/arm/arm-mve-builtins-base.def (vbicq): New. + * config/arm/arm-mve-builtins-base.h (vbicq): New. + * config/arm/arm-mve-builtins-functions.h (class + unspec_based_mve_function_exact_insn_vbic): New. + * config/arm/arm-mve-builtins.cc + (function_instance::has_inactive_argument): Add support for vbicq. + * config/arm/arm_mve.h (vbicq): Delete. + (vbicq_m_n): Delete. + (vbicq_m): Delete. + (vbicq_x): Delete. + (vbicq_u8): Delete. + (vbicq_s8): Delete. + (vbicq_u16): Delete. + (vbicq_s16): Delete. + (vbicq_u32): Delete. + (vbicq_s32): Delete. + (vbicq_n_u16): Delete. + (vbicq_f16): Delete. + (vbicq_n_s16): Delete. + (vbicq_n_u32): Delete. + (vbicq_f32): Delete. + (vbicq_n_s32): Delete. + (vbicq_m_n_s16): Delete. + (vbicq_m_n_s32): Delete. + (vbicq_m_n_u16): Delete. + (vbicq_m_n_u32): Delete. + (vbicq_m_s8): Delete. + (vbicq_m_s32): Delete. + (vbicq_m_s16): Delete. + (vbicq_m_u8): Delete. + (vbicq_m_u32): Delete. + (vbicq_m_u16): Delete. + (vbicq_m_f32): Delete. + (vbicq_m_f16): Delete. + (vbicq_x_s8): Delete. + (vbicq_x_s16): Delete. + (vbicq_x_s32): Delete. + (vbicq_x_u8): Delete. + (vbicq_x_u16): Delete. + (vbicq_x_u32): Delete. + (vbicq_x_f16): Delete. + (vbicq_x_f32): Delete. + (__arm_vbicq_u8): Delete. + (__arm_vbicq_s8): Delete. + (__arm_vbicq_u16): Delete. + (__arm_vbicq_s16): Delete. + (__arm_vbicq_u32): Delete. + (__arm_vbicq_s32): Delete. + (__arm_vbicq_n_u16): Delete. + (__arm_vbicq_n_s16): Delete. + (__arm_vbicq_n_u32): Delete. + (__arm_vbicq_n_s32): Delete. + (__arm_vbicq_m_n_s16): Delete. + (__arm_vbicq_m_n_s32): Delete. + (__arm_vbicq_m_n_u16): Delete. + (__arm_vbicq_m_n_u32): Delete. + (__arm_vbicq_m_s8): Delete. + (__arm_vbicq_m_s32): Delete. + (__arm_vbicq_m_s16): Delete. + (__arm_vbicq_m_u8): Delete. + (__arm_vbicq_m_u32): Delete. + (__arm_vbicq_m_u16): Delete. + (__arm_vbicq_x_s8): Delete. + (__arm_vbicq_x_s16): Delete. + (__arm_vbicq_x_s32): Delete. + (__arm_vbicq_x_u8): Delete. + (__arm_vbicq_x_u16): Delete. + (__arm_vbicq_x_u32): Delete. + (__arm_vbicq_f16): Delete. + (__arm_vbicq_f32): Delete. + (__arm_vbicq_m_f32): Delete. + (__arm_vbicq_m_f16): Delete. + (__arm_vbicq_x_f16): Delete. + (__arm_vbicq_x_f32): Delete. + (__arm_vbicq): Delete. + (__arm_vbicq_m_n): Delete. + (__arm_vbicq_m): Delete. + (__arm_vbicq_x): Delete. + * config/arm/mve.md (mve_vbicq_u<mode>): Rename into ... + (@mve_vbicq_u<mode>): ... this. + (mve_vbicq_s<mode>): Rename into ... + (@mve_vbicq_s<mode>): ... this. + (mve_vbicq_f<mode>): Rename into ... + (@mve_vbicq_f<mode>): ... this. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (vcvtaq): New. + (vcvtmq): New. + (vcvtnq): New. + (vcvtpq): New. + * config/arm/arm-mve-builtins-base.def (vcvtaq): New. + (vcvtmq): New. + (vcvtnq): New. + (vcvtpq): New. + * config/arm/arm-mve-builtins-base.h: (vcvtaq): New. + (vcvtmq): New. + (vcvtnq): New. + (vcvtpq): New. + * config/arm/arm-mve-builtins.cc (cvtx): New type. + * config/arm/arm_mve.h (vcvtaq_m): Delete. + (vcvtmq_m): Delete. + (vcvtnq_m): Delete. + (vcvtpq_m): Delete. + (vcvtaq_s16_f16): Delete. + (vcvtaq_s32_f32): Delete. + (vcvtnq_s16_f16): Delete. + (vcvtnq_s32_f32): Delete. + (vcvtpq_s16_f16): Delete. + (vcvtpq_s32_f32): Delete. + (vcvtmq_s16_f16): Delete. + (vcvtmq_s32_f32): Delete. + (vcvtpq_u16_f16): Delete. + (vcvtpq_u32_f32): Delete. + (vcvtnq_u16_f16): Delete. + (vcvtnq_u32_f32): Delete. + (vcvtmq_u16_f16): Delete. + (vcvtmq_u32_f32): Delete. + (vcvtaq_u16_f16): Delete. + (vcvtaq_u32_f32): Delete. + (vcvtaq_m_s16_f16): Delete. + (vcvtaq_m_u16_f16): Delete. + (vcvtaq_m_s32_f32): Delete. + (vcvtaq_m_u32_f32): Delete. + (vcvtmq_m_s16_f16): Delete. + (vcvtnq_m_s16_f16): Delete. + (vcvtpq_m_s16_f16): Delete. + (vcvtmq_m_u16_f16): Delete. + (vcvtnq_m_u16_f16): Delete. + (vcvtpq_m_u16_f16): Delete. + (vcvtmq_m_s32_f32): Delete. + (vcvtnq_m_s32_f32): Delete. + (vcvtpq_m_s32_f32): Delete. + (vcvtmq_m_u32_f32): Delete. + (vcvtnq_m_u32_f32): Delete. + (vcvtpq_m_u32_f32): Delete. + (vcvtaq_x_s16_f16): Delete. + (vcvtaq_x_s32_f32): Delete. + (vcvtaq_x_u16_f16): Delete. + (vcvtaq_x_u32_f32): Delete. + (vcvtnq_x_s16_f16): Delete. + (vcvtnq_x_s32_f32): Delete. + (vcvtnq_x_u16_f16): Delete. + (vcvtnq_x_u32_f32): Delete. + (vcvtpq_x_s16_f16): Delete. + (vcvtpq_x_s32_f32): Delete. + (vcvtpq_x_u16_f16): Delete. + (vcvtpq_x_u32_f32): Delete. + (vcvtmq_x_s16_f16): Delete. + (vcvtmq_x_s32_f32): Delete. + (vcvtmq_x_u16_f16): Delete. + (vcvtmq_x_u32_f32): Delete. + (__arm_vcvtpq_u16_f16): Delete. + (__arm_vcvtpq_u32_f32): Delete. + (__arm_vcvtnq_u16_f16): Delete. + (__arm_vcvtnq_u32_f32): Delete. + (__arm_vcvtmq_u16_f16): Delete. + (__arm_vcvtmq_u32_f32): Delete. + (__arm_vcvtaq_u16_f16): Delete. + (__arm_vcvtaq_u32_f32): Delete. + (__arm_vcvtaq_s16_f16): Delete. + (__arm_vcvtaq_s32_f32): Delete. + (__arm_vcvtnq_s16_f16): Delete. + (__arm_vcvtnq_s32_f32): Delete. + (__arm_vcvtpq_s16_f16): Delete. + (__arm_vcvtpq_s32_f32): Delete. + (__arm_vcvtmq_s16_f16): Delete. + (__arm_vcvtmq_s32_f32): Delete. + (__arm_vcvtaq_m_s16_f16): Delete. + (__arm_vcvtaq_m_u16_f16): Delete. + (__arm_vcvtaq_m_s32_f32): Delete. + (__arm_vcvtaq_m_u32_f32): Delete. + (__arm_vcvtmq_m_s16_f16): Delete. + (__arm_vcvtnq_m_s16_f16): Delete. + (__arm_vcvtpq_m_s16_f16): Delete. + (__arm_vcvtmq_m_u16_f16): Delete. + (__arm_vcvtnq_m_u16_f16): Delete. + (__arm_vcvtpq_m_u16_f16): Delete. + (__arm_vcvtmq_m_s32_f32): Delete. + (__arm_vcvtnq_m_s32_f32): Delete. + (__arm_vcvtpq_m_s32_f32): Delete. + (__arm_vcvtmq_m_u32_f32): Delete. + (__arm_vcvtnq_m_u32_f32): Delete. + (__arm_vcvtpq_m_u32_f32): Delete. + (__arm_vcvtaq_x_s16_f16): Delete. + (__arm_vcvtaq_x_s32_f32): Delete. + (__arm_vcvtaq_x_u16_f16): Delete. + (__arm_vcvtaq_x_u32_f32): Delete. + (__arm_vcvtnq_x_s16_f16): Delete. + (__arm_vcvtnq_x_s32_f32): Delete. + (__arm_vcvtnq_x_u16_f16): Delete. + (__arm_vcvtnq_x_u32_f32): Delete. + (__arm_vcvtpq_x_s16_f16): Delete. + (__arm_vcvtpq_x_s32_f32): Delete. + (__arm_vcvtpq_x_u16_f16): Delete. + (__arm_vcvtpq_x_u32_f32): Delete. + (__arm_vcvtmq_x_s16_f16): Delete. + (__arm_vcvtmq_x_s32_f32): Delete. + (__arm_vcvtmq_x_u16_f16): Delete. + (__arm_vcvtmq_x_u32_f32): Delete. + (__arm_vcvtaq_m): Delete. + (__arm_vcvtmq_m): Delete. + (__arm_vcvtnq_m): Delete. + (__arm_vcvtpq_m): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (vcvtx): New. + * config/arm/arm-mve-builtins-shapes.h (vcvtx): New. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/iterators.md (mve_insn): Add VCVTAQ_M_S, VCVTAQ_M_U, + VCVTAQ_S, VCVTAQ_U, VCVTMQ_M_S, VCVTMQ_M_U, VCVTMQ_S, VCVTMQ_U, + VCVTNQ_M_S, VCVTNQ_M_U, VCVTNQ_S, VCVTNQ_U, VCVTPQ_M_S, + VCVTPQ_M_U, VCVTPQ_S, VCVTPQ_U. + (VCVTAQ, VCVTPQ, VCVTNQ, VCVTMQ, VCVTAQ_M, VCVTMQ_M, VCVTNQ_M) + (VCVTPQ_M): Delete. + (VCVTxQ, VCVTxQ_M): New. + * config/arm/mve.md (mve_vcvtpq_<supf><mode>) + (mve_vcvtnq_<supf><mode>, mve_vcvtmq_<supf><mode>) + (mve_vcvtaq_<supf><mode>): Merge into ... + (@mve_<mve_insn>q_<supf><mode>): ... this. + (mve_vcvtaq_m_<supf><mode>, mve_vcvtmq_m_<supf><mode>) + (mve_vcvtpq_m_<supf><mode>, mve_vcvtnq_m_<supf><mode>): Merge into + ... + (@mve_<mve_insn>q_m_<supf><mode>): ... this. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vcvtxq_impl): New. + (vcvtbq, vcvttq): New. + * config/arm/arm-mve-builtins-base.def (vcvtbq, vcvttq): New. + * config/arm/arm-mve-builtins-base.h (vcvtbq, vcvttq): New. + * config/arm/arm-mve-builtins.cc (cvt_f16_f32, cvt_f32_f16): New + types. + (function_instance::has_inactive_argument): Support vcvtbq and + vcvttq. + * config/arm/arm_mve.h (vcvttq_f32): Delete. + (vcvtbq_f32): Delete. + (vcvtbq_m): Delete. + (vcvttq_m): Delete. + (vcvttq_f32_f16): Delete. + (vcvtbq_f32_f16): Delete. + (vcvttq_f16_f32): Delete. + (vcvtbq_f16_f32): Delete. + (vcvtbq_m_f16_f32): Delete. + (vcvtbq_m_f32_f16): Delete. + (vcvttq_m_f16_f32): Delete. + (vcvttq_m_f32_f16): Delete. + (vcvtbq_x_f32_f16): Delete. + (vcvttq_x_f32_f16): Delete. + (__arm_vcvttq_f32_f16): Delete. + (__arm_vcvtbq_f32_f16): Delete. + (__arm_vcvttq_f16_f32): Delete. + (__arm_vcvtbq_f16_f32): Delete. + (__arm_vcvtbq_m_f16_f32): Delete. + (__arm_vcvtbq_m_f32_f16): Delete. + (__arm_vcvttq_m_f16_f32): Delete. + (__arm_vcvttq_m_f32_f16): Delete. + (__arm_vcvtbq_x_f32_f16): Delete. + (__arm_vcvttq_x_f32_f16): Delete. + (__arm_vcvttq_f32): Delete. + (__arm_vcvtbq_f32): Delete. + (__arm_vcvtbq_m): Delete. + (__arm_vcvttq_m): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (vcvt_f16_f32) + (vcvt_f32_f16): New. + * config/arm/arm-mve-builtins-shapes.h (vcvt_f16_f32) + (vcvt_f32_f16): New. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/iterators.md (mve_insn): Add VCVTBQ_F16_F32, + VCVTTQ_F16_F32, VCVTBQ_F32_F16, VCVTTQ_F32_F16, VCVTBQ_M_F16_F32, + VCVTTQ_M_F16_F32, VCVTBQ_M_F32_F16, VCVTTQ_M_F32_F16. + (VCVTxQ_F16_F32): New iterator. + (VCVTxQ_F32_F16): Likewise. + (VCVTxQ_M_F16_F32): Likewise. + (VCVTxQ_M_F32_F16): Likewise. + * config/arm/mve.md (mve_vcvttq_f32_f16v4sf) + (mve_vcvtbq_f32_f16v4sf): Merge into ... + (@mve_<mve_insn>q_f32_f16v4sf): ... this. + (mve_vcvtbq_f16_f32v8hf, mve_vcvttq_f16_f32v8hf): Merge into ... + (@mve_<mve_insn>q_f16_f32v8hf): ... this. + (mve_vcvtbq_m_f16_f32v8hf, mve_vcvttq_m_f16_f32v8hf): Merge into + ... + (@mve_<mve_insn>q_m_f16_f32v8hf): ... this. + (mve_vcvtbq_m_f32_f16v4sf, mve_vcvttq_m_f32_f16v4sf): Merge into + ... + (@mve_<mve_insn>q_m_f32_f16v4sf): ... this. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-base.cc (class vcvtq_impl): New. + (vcvtq): New. + * config/arm/arm-mve-builtins-base.def (vcvtq): New. + * config/arm/arm-mve-builtins-base.h (vcvtq): New. + * config/arm/arm-mve-builtins.cc (cvt): New type. + * config/arm/arm_mve.h (vcvtq): Delete. + (vcvtq_n): Delete. + (vcvtq_m): Delete. + (vcvtq_m_n): Delete. + (vcvtq_x): Delete. + (vcvtq_x_n): Delete. + (vcvtq_f16_s16): Delete. + (vcvtq_f32_s32): Delete. + (vcvtq_f16_u16): Delete. + (vcvtq_f32_u32): Delete. + (vcvtq_s16_f16): Delete. + (vcvtq_s32_f32): Delete. + (vcvtq_u16_f16): Delete. + (vcvtq_u32_f32): Delete. + (vcvtq_n_f16_s16): Delete. + (vcvtq_n_f32_s32): Delete. + (vcvtq_n_f16_u16): Delete. + (vcvtq_n_f32_u32): Delete. + (vcvtq_n_s16_f16): Delete. + (vcvtq_n_s32_f32): Delete. + (vcvtq_n_u16_f16): Delete. + (vcvtq_n_u32_f32): Delete. + (vcvtq_m_f16_s16): Delete. + (vcvtq_m_f16_u16): Delete. + (vcvtq_m_f32_s32): Delete. + (vcvtq_m_f32_u32): Delete. + (vcvtq_m_s16_f16): Delete. + (vcvtq_m_u16_f16): Delete. + (vcvtq_m_s32_f32): Delete. + (vcvtq_m_u32_f32): Delete. + (vcvtq_m_n_f16_u16): Delete. + (vcvtq_m_n_f16_s16): Delete. + (vcvtq_m_n_f32_u32): Delete. + (vcvtq_m_n_f32_s32): Delete. + (vcvtq_m_n_s32_f32): Delete. + (vcvtq_m_n_s16_f16): Delete. + (vcvtq_m_n_u32_f32): Delete. + (vcvtq_m_n_u16_f16): Delete. + (vcvtq_x_f16_u16): Delete. + (vcvtq_x_f16_s16): Delete. + (vcvtq_x_f32_s32): Delete. + (vcvtq_x_f32_u32): Delete. + (vcvtq_x_n_f16_s16): Delete. + (vcvtq_x_n_f16_u16): Delete. + (vcvtq_x_n_f32_s32): Delete. + (vcvtq_x_n_f32_u32): Delete. + (vcvtq_x_s16_f16): Delete. + (vcvtq_x_s32_f32): Delete. + (vcvtq_x_u16_f16): Delete. + (vcvtq_x_u32_f32): Delete. + (vcvtq_x_n_s16_f16): Delete. + (vcvtq_x_n_s32_f32): Delete. + (vcvtq_x_n_u16_f16): Delete. + (vcvtq_x_n_u32_f32): Delete. + (__arm_vcvtq_f16_s16): Delete. + (__arm_vcvtq_f32_s32): Delete. + (__arm_vcvtq_f16_u16): Delete. + (__arm_vcvtq_f32_u32): Delete. + (__arm_vcvtq_s16_f16): Delete. + (__arm_vcvtq_s32_f32): Delete. + (__arm_vcvtq_u16_f16): Delete. + (__arm_vcvtq_u32_f32): Delete. + (__arm_vcvtq_n_f16_s16): Delete. + (__arm_vcvtq_n_f32_s32): Delete. + (__arm_vcvtq_n_f16_u16): Delete. + (__arm_vcvtq_n_f32_u32): Delete. + (__arm_vcvtq_n_s16_f16): Delete. + (__arm_vcvtq_n_s32_f32): Delete. + (__arm_vcvtq_n_u16_f16): Delete. + (__arm_vcvtq_n_u32_f32): Delete. + (__arm_vcvtq_m_f16_s16): Delete. + (__arm_vcvtq_m_f16_u16): Delete. + (__arm_vcvtq_m_f32_s32): Delete. + (__arm_vcvtq_m_f32_u32): Delete. + (__arm_vcvtq_m_s16_f16): Delete. + (__arm_vcvtq_m_u16_f16): Delete. + (__arm_vcvtq_m_s32_f32): Delete. + (__arm_vcvtq_m_u32_f32): Delete. + (__arm_vcvtq_m_n_f16_u16): Delete. + (__arm_vcvtq_m_n_f16_s16): Delete. + (__arm_vcvtq_m_n_f32_u32): Delete. + (__arm_vcvtq_m_n_f32_s32): Delete. + (__arm_vcvtq_m_n_s32_f32): Delete. + (__arm_vcvtq_m_n_s16_f16): Delete. + (__arm_vcvtq_m_n_u32_f32): Delete. + (__arm_vcvtq_m_n_u16_f16): Delete. + (__arm_vcvtq_x_f16_u16): Delete. + (__arm_vcvtq_x_f16_s16): Delete. + (__arm_vcvtq_x_f32_s32): Delete. + (__arm_vcvtq_x_f32_u32): Delete. + (__arm_vcvtq_x_n_f16_s16): Delete. + (__arm_vcvtq_x_n_f16_u16): Delete. + (__arm_vcvtq_x_n_f32_s32): Delete. + (__arm_vcvtq_x_n_f32_u32): Delete. + (__arm_vcvtq_x_s16_f16): Delete. + (__arm_vcvtq_x_s32_f32): Delete. + (__arm_vcvtq_x_u16_f16): Delete. + (__arm_vcvtq_x_u32_f32): Delete. + (__arm_vcvtq_x_n_s16_f16): Delete. + (__arm_vcvtq_x_n_s32_f32): Delete. + (__arm_vcvtq_x_n_u16_f16): Delete. + (__arm_vcvtq_x_n_u32_f32): Delete. + (__arm_vcvtq): Delete. + (__arm_vcvtq_n): Delete. + (__arm_vcvtq_m): Delete. + (__arm_vcvtq_m_n): Delete. + (__arm_vcvtq_x): Delete. + (__arm_vcvtq_x_n): Delete. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc + (nonoverloaded_base::explicit_type_suffix_p): Add unused + type_suffix_info parameter. + (overloaded_base::explicit_type_suffix_p): Likewise. + (unary_n_def::explicit_type_suffix_p): Likewise. + (vcvt): New. + * config/arm/arm-mve-builtins-shapes.h (vcvt): New. + * config/arm/arm-mve-builtins.cc (function_builder::get_name): Add + new type_suffix parameter. + (function_builder::add_overloaded_functions): Likewise. + * config/arm/arm-mve-builtins.h + (function_shape::explicit_type_suffix_p): Likewise. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/iterators.md (mve_insn): Add VCVTQ_FROM_F_S, + VCVTQ_FROM_F_U, VCVTQ_M_FROM_F_S, VCVTQ_M_FROM_F_U, + VCVTQ_M_N_FROM_F_S, VCVTQ_M_N_FROM_F_U, VCVTQ_M_N_TO_F_S, + VCVTQ_M_N_TO_F_U, VCVTQ_M_TO_F_S, VCVTQ_M_TO_F_U, + VCVTQ_N_FROM_F_S, VCVTQ_N_FROM_F_U, VCVTQ_N_TO_F_S, + VCVTQ_N_TO_F_U, VCVTQ_TO_F_S, VCVTQ_TO_F_U. + * config/arm/mve.md (mve_vcvtq_to_f_<supf><mode>): Rename into + @mve_<mve_insn>q_to_f_<supf><mode>. + (mve_vcvtq_from_f_<supf><mode>): Rename into + @mve_<mve_insn>q_from_f_<supf><mode>. + (mve_vcvtq_n_to_f_<supf><mode>): Rename into + @mve_<mve_insn>q_n_to_f_<supf><mode>. + (mve_vcvtq_n_from_f_<supf><mode>): Rename into + @mve_<mve_insn>q_n_from_f_<supf><mode>. + (mve_vcvtq_m_to_f_<supf><mode>): Rename into + @mve_<mve_insn>q_m_to_f_<supf><mode>. + (mve_vcvtq_m_n_from_f_<supf><mode>): Rename into + @mve_<mve_insn>q_m_n_from_f_<supf><mode>. + (mve_vcvtq_m_from_f_<supf><mode>): Rename into + @mve_<mve_insn>q_m_from_f_<supf><mode>. + (mve_vcvtq_m_n_to_f_<supf><mode>): Rename into + @mve_<mve_insn>q_m_n_to_f_<supf><mode>. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-functions.h + (unspec_based_mve_function_base): Add m_unspec_for_sint, + m_unspec_for_uint, m_unspec_for_fp and expand_unspec members. + (unspec_based_mve_function_exact_insn): Inherit from + unspec_based_mve_function_base and use expand_unspec. + (unspec_mve_function_exact_insn): Likewise. + (unspec_mve_function_exact_insn_pred_p): Likewise. Use + conditionals. + (unspec_mve_function_exact_insn_vshl): Likewise. + (unspec_based_mve_function_exact_insn_vcmp): Initialize new + inherited members. Use conditionals. + (unspec_mve_function_exact_insn_rot): Merge PRED_m and PRED_x + handling. Use conditionals. + (unspec_mve_function_exact_insn_vmull): Likewise. + (unspec_mve_function_exact_insn_vmull_poly): Likewise. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (create_def::resolve): + Delete function. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-mve-builtins-shapes.cc (binary_orrq_def): Improve comment. + +2024-10-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117171 + * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): + Relax vect_external_def VECTOR_BOOLEAN_TYPE_P constraint. + +2024-10-17 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR middle-end/77608 + * tree-object-size.cc (plus_stmt_object_size): Drop check for + constant offset. + +2024-10-17 Patrick Palka <ppalka@redhat.com> + + * doc/extend.texi (C++ Concepts): Remove section. Move + __is_same documentation to the previous Type Traits section. + +2024-10-17 Oleg Endo <olegendo@gcc.gnu.org> + + PR target/113533 + * config/sh/sh.cc (sh_rtx_costs): Delete wrong semicolon. + +2024-10-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117172 + * tree-vect-loop.cc (vectorizable_nonlinear_induction): Add + single-lane SLP support. + +2024-10-17 Denis Chertykov <chertykov@gmail.com> + + PR target/116550 + * lra-constraints.cc (get_reload_reg): Reuse scratch registers + generated by LRA. + +2024-10-17 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_lower_load_permutations): Avoid + exempting non-power-of-two group sizes from lowering. + +2024-10-17 Lingling Kong <lingling.kong@intel.com> + + * config/i386/sse.md(avx10_2_comsbf16_v8bf): Fixed scalar + operands. + +2024-10-17 liuhongt <hongtao.liu@intel.com> + + PR target/116940 + * config/i386/sse.md (*avx2_pcmp<mode>3_7): Change + UNSPEC_PCMP_ITER to UNSPEC_PCMP. + (*avx2_pcmp<mode>3_8): New pre_reload + define_insn_and_splitter. + +2024-10-17 liuhongt <hongtao.liu@intel.com> + + PR target/117072 + * config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>): + Relax predicates of fma operands from register_operand to + nonimmediate_operand. + (<avx512>_fmadd_<mode>_mask3<round_name>): Ditto. + (<avx512>_fmsub_<mode>_mask<round_name>): Ditto. + (<avx512>_fmsub_<mode>_mask3<round_name>): Ditto. + (<avx512>_fnmadd_<mode>_mask<round_name>): Ditto. + (<avx512>_fnmadd_<mode>_mask3<round_name>): Ditto. + (<avx512>_fnmsub_<mode>_mask<round_name>): Ditto. + (<avx512>_fnmsub_<mode>_mask3<round_name>): Ditto. + (<avx512>_fmaddsub_<mode>_mask3<round_name>): Ditto. + (<avx512>_fmsubadd_<mode>_mask<round_name>): Ditto. + (<avx512>_fmsubadd_<mode>_mask3<round_name>): Ditto. + (avx512f_vmfmadd_<mode>_mask<round_name>): Ditto. + (avx512f_vmfmadd_<mode>_mask3<round_name>): Ditto. + (avx512f_vmfmadd_<mode>_maskz_1<round_name>): Ditto. + (*avx512f_vmfmsub_<mode>_mask<round_name>): Ditto. + (avx512f_vmfmsub_<mode>_mask3<round_name>): Ditto. + (*avx512f_vmfmsub_<mode>_maskz_1<round_name>): Ditto. + (avx512f_vmfnmadd_<mode>_mask<round_name>): Ditto. + (avx512f_vmfnmadd_<mode>_mask3<round_name>): Ditto. + (avx512f_vmfnmadd_<mode>_maskz_1<round_name>): Ditto. + (*avx512f_vmfnmsub_<mode>_mask<round_name>): Ditto. + (*avx512f_vmfnmsub_<mode>_mask3<round_name>): Ditto. + (*avx512f_vmfnmsub_<mode>_maskz_1<round_name>): Ditto. + (avx10_2_fmaddnepbf16_<mode>_mask3): Ditto. + (avx10_2_fnmaddnepbf16_<mode>_mask3): Ditto. + (avx10_2_fmsubnepbf16_<mode>_mask3): Ditto. + (avx10_2_fnmsubnepbf16_<mode>_mask3): Ditto. + (fmai_vmfmadd_<mode><round_name>): Swap operands[1] and operands[2]. + (fmai_vmfmsub_<mode><round_name>): Ditto. + (fmai_vmfnmadd_<mode><round_name>): Ditto. + (fmai_vmfnmsub_<mode><round_name>): Ditto. + (*fmai_fmadd_<mode>): Swap operands[1] and operands[2] adjust + operands[1] predicates from register_operand to + nonimmediate_operand. + (*fmai_fmsub_<mode>): Ditto. + (*fmai_fnmadd_<mode><round_name>): Ditto. + (*fmai_fnmsub_<mode><round_name>): Ditto. + +2024-10-17 liuhongt <hongtao.liu@intel.com> + + PR middle-end/117072 + * combine.cc (maybe_swap_commutative_operands): + Canonicalize (vec_merge (fma op2 op1 op3) op1 mask) + to (vec_merge (fma op1 op2 op3) op1 mask). + +2024-10-17 Cui, Lili <lili.cui@intel.com> + + * config/i386/sse.md (andn<mode>3): New. + * config/i386/mmx.md (andn<mode>3): New. + +2024-10-16 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * tree-object-size.cc (plus_stmt_object_size): Call + SIZE_FOR_OFFSET for some negative offset cases. + +2024-10-16 Jolen Li <jolen.li@arm.com> + Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/arm-mve-builtins-base.cc (vdupq_impl): New class. + (vdupq): Use new implementation. + * config/arm/arm.cc (arm_rtx_costs_internal): Handle HFmode + for COST_DOUBLE. Update costing for CONST_VECTOR. + * config/arm/arm_mve_builtins.def: Merge vdupq_n_f, vdupq_n_s + and vdupq_n_u into vdupq_n. + * config/arm/mve.md (mve_vdup<mode>): Rename into ... + (@mve_vdup_n<mode>): ... this. + (@mve_<mve_insn>q_n_f<mode>): Delete. + (@mve_<mve_insn>q_n_<supf><mode>): Delete.. + (@mve_<mve_insn>q_m_n_<supf><mode>): Update mve_unpredicated_insn + attribute. + (@mve_<mve_insn>q_m_n_f<mode>): Likewise. + +2024-10-16 Jolen Li <jolen.li@arm.com> + Christophe Lyon <christophe.lyon@arm.com> + + * config/arm/mve.md (mve_vdup<mode>): Fix mode iterator. + +2024-10-16 David Malcolm <dmalcolm@redhat.com> + + PR other/116602 + * diagnostic-format-sarif.cc: Include "demangle.h" and + "backtrace.h". + (sarif_invocation::add_notification_for_ice): Add "backtrace" + param and pass it to ctor. + (sarif_ice_notification::sarif_ice_notification): Add "backtrace" + param and add it to property bag. + (bt_stop): New, taken from diagnostic.cc. + (struct bt_closure): New. + (bt_callback): New, adapted from diagnostic.cc. + (sarif_builder::make_stack_from_backtrace): New. + (sarif_builder::on_report_diagnostic): Attempt to get backtrace + and pass it to add_notification_for_ice. + +2024-10-16 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * diagnostic-format-sarif.cc + (sarif_builder::on_report_diagnostic): Move the fnotice here from + sarif_ice_handler. + (sarif_ice_handler): Delete. + (diagnostic_output_format_init_sarif): Drop setting of ice handler + callback. + * diagnostic.cc (diagnostic_context::initialize): Likewise. + (diagnostic_context::action_after_output): Rather than call + m_ice_handler_cb, instead call finish on this context. + * diagnostic.h (ice_handler_callback_t): Delete typedef. + (diagnostic_context::set_ice_handler_callback): Delete. + (diagnostic_context::m_ice_handler_cb): Delete. + +2024-10-16 Andi Kleen <ak@gcc.gnu.org> + + PR middle-end/116510 + * tree-if-conv.cc (predicate_bbs): Add missing fold_converts. + +2024-10-16 Jakub Jelinek <jakub@redhat.com> + + * attribs.cc (lookup_scoped_attribute_spec): ?: operator formatting + fixes. + * basic-block.h (FOR_BB_INSNS_SAFE): Likewise. + * cfgcleanup.cc (outgoing_edges_match): Likewise. + * cgraph.cc (cgraph_node::dump): Likewise. + * config/arc/arc.cc (gen_acc1, gen_acc2): Likewise. + * config/arc/arc.h (CLASS_MAX_NREGS, CONSTANT_ADDRESS_P): Likewise. + * config/arm/arm.cc (arm_print_operand): Likewise. + * config/cris/cris.md (*b<rnzcond:code><mode>): Likewise. + * config/darwin.cc (darwin_asm_declare_object_name, + darwin_emit_common): Likewise. + * config/darwin-driver.cc (darwin_driver_init): Likewise. + * config/epiphany/epiphany.md (call, sibcall, call_value, + sibcall_value): Likewise. + * config/i386/i386.cc (gen_push2): Likewise. + * config/i386/i386.h (ix86_cur_cost): Likewise. + * config/i386/openbsdelf.h (FUNCTION_PROFILER): Likewise. + * config/loongarch/loongarch-c.cc (loongarch_cpu_cpp_builtins): + Likewise. + * config/loongarch/loongarch-cpu.cc (fill_native_cpu_config): + Likewise. + * config/riscv/riscv.cc (riscv_union_memmodels): Likewise. + * config/riscv/zc.md (*mva01s<X:mode>, *mvsa01<X:mode>): Likewise. + * config/rs6000/mmintrin.h (_mm_cmpeq_pi8, _mm_cmpgt_pi8, + _mm_cmpeq_pi16, _mm_cmpgt_pi16, _mm_cmpeq_pi32, _mm_cmpgt_pi32): + Likewise. + * config/v850/predicates.md (pattern_is_ok_for_prologue): Likewise. + * config/xtensa/constraints.md (d, C, W): Likewise. + * coverage.cc (coverage_begin_function, build_init_ctor, + build_gcov_exit_decl): Likewise. + * df-problems.cc (df_create_unused_note): Likewise. + * diagnostic.cc (diagnostic_set_caret_max_width): Likewise. + * diagnostic-path.cc (path_summary::path_summary): Likewise. + * expr.cc (expand_expr_divmod): Likewise. + * gcov.cc (format_gcov): Likewise. + * gcov-dump.cc (dump_gcov_file): Likewise. + * genmatch.cc (main): Likewise. + * incpath.cc (remove_duplicates, register_include_chains): Likewise. + * ipa-devirt.cc (dump_odr_type): Likewise. + * ipa-icf.cc (sem_item_optimizer::merge_classes): Likewise. + * ipa-inline.cc (inline_small_functions): Likewise. + * ipa-polymorphic-call.cc (ipa_polymorphic_call_context::dump): + Likewise. + * ipa-sra.cc (create_parameter_descriptors): Likewise. + * ipa-utils.cc (find_always_executed_bbs): Likewise. + * predict.cc (predict_loops): Likewise. + * selftest.cc (read_file): Likewise. + * sreal.h (SREAL_SIGN, SREAL_ABS): Likewise. + * tree-dump.cc (dequeue_and_dump): Likewise. + * tree-ssa-ccp.cc (bit_value_binop): Likewise. + +2024-10-16 Eric Botcazou <ebotcazou@adacore.com> + + PR target/113952 + PR target/117168 + * config/sparc/constraints.md ('U'): Delete. + * config/sparc/sparc.md (*movdi_insn_sp32): Remove U alternatives. + (*movdf_insn_sp32): Likewise. + (*mov<VM64:mode>_insn_sp32): Likewise. + * doc/md.texi (SPARC constraints): Remove entry for 'U'. + +2024-10-16 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): Move + VMAT_ELEMENTWISE fallback for single-element interleaving + of too large groups before overrun checking. + +2024-10-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117050 + * tree-vect-slp.cc (vect_build_slp_tree_2): Properly handle + non-grouped masked loads when handling permutations. + +2024-10-16 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (SLP_INSTANCE_UNROLLING_FACTOR): Remove. + (slp_instance::unrolling_factor): Likewise. + * tree-vect-slp.cc (vect_build_slp_instance): Do not set + SLP_INSTANCE_UNROLLING_FACTOR. Remove then dead code. + Compute and set max_nunits from the RHS nodes merged. + (vect_update_slp_vf_for_node): New function. + (vect_make_slp_decision): Use vect_update_slp_vf_for_node + to compute VF recursively. + (vect_build_slp_store_interleaving): Get max_nunits and + properly set that on the permute nodes built. + (vect_analyze_slp): Do not set SLP_INSTANCE_UNROLLING_FACTOR. + +2024-10-16 Robin Dapp <rdapp@ventanamicro.com> + + PR target/116655 + * config/riscv/riscv-vector-costs.cc (max_number_of_live_regs): + Use biggest mode instead of constant's saved mode. + +2024-10-16 Jakub Jelinek <jakub@redhat.com> + + * gimplify.cc (gimplify_init_ctor_eval): For larger RAW_DATA_CST, + just gimplify cref as lvalue and add gimple assignment of rctor + to cref instead of going through gimplification of INIT_EXPR, as + the latter can suffer from infinite recursion. + +2024-10-16 Jakub Jelinek <jakub@redhat.com> + + * treestruct.def (TS_RAW_DATA_CST): New. + * tree.def (RAW_DATA_CST): New tree code. + * tree-core.h (struct tree_raw_data): New type. + (union tree_node): Add raw_data_cst member. + * tree.h (RAW_DATA_LENGTH, RAW_DATA_POINTER, RAW_DATA_OWNER): Define. + (gt_ggc_mx, gt_pch_nx): Declare overloads for tree_raw_data *. + * tree.cc (tree_node_structure_for_code): Handle RAW_DATA_CST. + (initialize_tree_contains_struct): Handle TS_RAW_DATA_CST. + (tree_code_size): Handle RAW_DATA_CST. + (initializer_zerop): Likewise. + (gt_ggc_mx, gt_pch_nx): Define overloads for tree_raw_data *. + * gimplify.cc (gimplify_init_ctor_eval): Handle RAW_DATA_CST. + * fold-const.cc (operand_compare::operand_equal_p): Handle + RAW_DATA_CST. Formatting fix. + (operand_compare::hash_operand): Handle RAW_DATA_CST. + (native_encode_initializer): Likewise. + (get_array_ctor_element_at_index): Likewise. + (fold): Likewise. + * gimple-fold.cc (fold_array_ctor_reference): Likewise. Formatting + fix. + * varasm.cc (const_hash_1): Handle RAW_DATA_CST. + (initializer_constant_valid_p_1): Likewise. + (array_size_for_constructor): Likewise. + (output_constructor_regular_field): Likewise. + * expr.cc (categorize_ctor_elements_1): Likewise. + (expand_expr_real_1) <case ARRAY_REF>: Punt for RAW_DATA_CST. + * tree-streamer.cc (streamer_check_handled_ts_structures): Mark + TS_RAW_DATA_CST as handled. + * tree-streamer-in.cc (streamer_alloc_tree): Handle RAW_DATA_CST. + (lto_input_ts_raw_data_cst_tree_pointers): New function. + (streamer_read_tree_body): Call it for RAW_DATA_CST. + * tree-streamer-out.cc (write_ts_raw_data_cst_tree_pointers): New + function. + (streamer_write_tree_body): Call it for RAW_DATA_CST. + (streamer_write_tree_header): Handle RAW_DATA_CST. + * lto-streamer-out.cc (DFS::DFS_write_tree_body): Handle RAW_DATA_CST. + * tree-pretty-print.cc (dump_generic_node): Likewise. + +2024-10-16 Sam James <sam@gentoo.org> + + * config/vax/vax.opt.urls: Adjust index for -mlra. + +2024-10-16 Sam James <sam@gentoo.org> + + PR target/113952 + * config/sparc/sparc.cc (sparc_lra_p): Delete. + (TARGET_LRA_P): Ditto. + (sparc_option_override): Don't use MASK_LRA. + * config/sparc/sparc.md (disabled,enabled): Drop lra attribute. + * config/sparc/sparc.opt: Delete -mlra. + * config/sparc/sparc.opt.urls: Ditto. + * doc/invoke.texi (SPARC options): Drop -mlra and -mno-lra. + +2024-10-15 Qing Zhao <qing.zhao@oracle.com> + + PR c/116016 + * doc/extend.texi: Add documentation for __builtin_counted_by_ref. + +2024-10-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116891 + * match.pd ((negate (fmas@3 @0 @1 @2)) -> (IFN_FNMS @0 @1 @2)): + Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING. + ((negate (IFN_FMS@3 @0 @1 @2)) -> (IFN_FNMA @0 @1 @2)): Likewise. + ((negate (IFN_FNMA@3 @0 @1 @2)) -> (IFN_FMS @0 @1 @2)): Likewise. + +2024-10-15 Andrew Pinski <quic_apinski@quicinc.com> + + PR c++/117157 + * doc/invoke.texi (Wno-changes-meaning): Add opindex. + +2024-10-15 Uros Bizjak <ubizjak@gmail.com> + + PR target/117116 + * config/i386/i386-expand.cc (expand_vector_set): Force "val" + into a register before VEC_MERGE/VEC_DUPLICATE RTX is generated + if it doesn't satisfy nonimmediate_operand predicate. + +2024-10-15 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-dce.cc (perform_tree_ssa_dce): Remove FIXME note. + +2024-10-15 Andrew Pinski <quic_apinski@quicinc.com> + + * gen-pass-instances.awk: Remove the limit of the params. + * pass_manager.h (NEXT_PASS_WITH_ARG2): Rename to ... + (NEXT_PASS_WITH_ARGS): This. + * passes.cc (NEXT_PASS_WITH_ARG2): Rename to ... + (NEXT_PASS_WITH_ARGS): This and support more than 2 params by using + a constexpr array. + +2024-10-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116907 + * tree-ssa-live.cc (clear_unused_block_pointer_in_block): New + helper. + (clear_unused_block_pointer): Call it. + +2024-10-15 Pan Li <pan2.li@intel.com> + + PR middle-end/117141 + * match.pd: Remove the dup pattern for signed SAT_SUB. + +2024-10-15 Tamar Christina <tamar.christina@arm.com> + + * tree-vectorizer.h (vect_mem_access_type): New. + * config/aarch64/aarch64.cc (aarch64_ld234_st234_vectors): Use it. + (aarch64_detect_vector_stmt_subtype): Likewise. + (aarch64_adjust_stmt_cost): Likewise. + (aarch64_vector_costs::count_ops): Likewise. + (aarch64_vector_costs::add_stmt_cost): Make SLP node named. + +2024-10-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117138 + * gimple-range-fold.cc (fold_using_range::condexpr_adjust): + Check if the comparison operand type is supported. + +2024-10-15 Richard Biener <rguenther@suse.de> + + PR middle-end/117137 + * expr.cc (expand_cond_expr_using_cmove): Make sure to + expand vector comparisons separately. + +2024-10-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117147 + * tree-vect-slp.cc (vect_build_slp_tree_1): Put vars and + initialization of per-lane data into the per-lane processing + loop to avoid re-using previous lane state. + +2024-10-15 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svmul_impl::fold): + Implement fold to svlsl for power-of-2 operands. + +2024-10-15 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (Wtrailing-whitespace): Document. + +2024-10-15 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/117110 + * Makefile.in (generated_files, generated_match_files, + build/genmatch$(build_exeext), LINKER_FOR_BUILD): Revert + 2024-10-12 changes. + * genmatch.cc: Don't include pretty-print.h and input.h. + (fatal, ggc_internal_cleared_alloc, ggc_free, line_table, + linemap_client_expand_location_to_spelling_point): Revert + 2024-10-12 changes. + (DIAG_ARGMAX): Define. + (diag_integer_with_precision): Define. + (diag_vfprintf): New function. + (diagnostic_cb): Use diag_vfprintf instead of pp_format_verbatim. + (output_line_directive): Revert 2024-10-12 changes. + +2024-10-14 David Malcolm <dmalcolm@redhat.com> + + PR bootstrap/117109 + * diagnostic-format-sarif.cc + (diagnostic_output_format_init_sarif_file): Rename + diagnostic_context::emit_diagnostic to + diagnostic_context::emit_diagnostic_with_group. + * diagnostic.cc (diagnostic_context::emit_diagnostic): Rename + to... + (diagnostic_context::emit_diagnostic_with_group): ...this. + (diagnostic_context::emit_diagnostic_va): Rename to... + (diagnostic_context::emit_diagnostic_with_group_va): ...this. + * diagnostic.h (diagnostic_context::emit_diagnostic): Rename to... + (diagnostic_context::emit_diagnostic_with_group): ...this. + (diagnostic_context::emit_diagnostic_va): Rename to... + (diagnostic_context::emit_diagnostic_with_group_va): ...this. + +2024-10-14 Andre Vieira <andre.simoesdiasvieira@arm.com> + Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116997 + * fold-const.cc (fold_ternary_loc): Fix BIT_INSERT_EXPR constant folding + for BYTES_BIG_ENDIAN targets. + +2024-10-14 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-dce.cc (tree_ssa_dce): Remove. + (tree_ssa_cd_dce): Remove. + (class pass_dce_base): New class. + (class pass_dce): Use pass_dce_base as the base class. + (class pass_cd_dce): Likewise. + +2024-10-14 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117096 + * passes.def: Update some of the dce/cd-cde passes setting + the 2nd arg to true. + Also remove comment about stdarg since dce does it. + * tree-ssa-dce.cc (pass_dce): Add remove_unused_locals_p field. + Update set_pass_param to allow for 2nd param. + Use remove_unused_locals_p in execute to return TODO_remove_unused_locals. + (pass_cd_dce): Likewise. + * tree-stdarg.cc (pass_data_stdarg): Remove TODO_remove_unused_locals. + +2024-10-14 Andrew Pinski <quic_apinski@quicinc.com> + + * gen-pass-instances.awk (END): Handle processing + of multiple arguments to NEXT_PASS. Also error out + if using more than max_number_args (2). + * pass_manager.h (NEXT_PASS_WITH_ARG2): New define. + * passes.cc (NEXT_PASS_WITH_ARG2): New define. + +2024-10-14 Andrew Pinski <quic_apinski@quicinc.com> + + * gen-pass-instances.awk: Print out the #undefs. + * pass_manager.h: Don't #undef INSERT_PASSES_AFTER, + PUSH_INSERT_PASSES_WITHIN, POP_INSERT_PASSES, NEXT_PASS, + NEXT_PASS_WITH_ARG, and TERMINATE_PASS_LIST. + * passes.cc: Likewise. + +2024-10-14 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116956 + * tree-vectorizer.cc (vec_info::move_dr): Copy STMT_VINFO_STRIDED_P. + +2024-10-14 Tamar Christina <tamar.christina@arm.com> + + PR rtl-optimization/117012 + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Use + const_vec_duplicate_p instead of CONST_VECTOR_DUPLICATE_P. + +2024-10-14 Tamar Christina <tamar.christina@arm.com> + + PR target/116371 + * config/aarch64/aarch64-sve-builtins-sve2.cc (class svpsel_impl): + Renamed to ... + (class svpsel_lane_impl): ... This and adjust initialization. + * config/aarch64/aarch64-sve-builtins-sve2.def (svpsel): Renamed to ... + (svpsel_lane): ... This. + * config/aarch64/aarch64-sve-builtins-sve2.h (svpsel): Renamed to + svpsel_lane. + +2024-10-14 Tamar Christina <tamar.christina@arm.com> + + * tree-vect-loop.cc (vect_analyze_loop_2): Handle SLP trees with no + children. + * tree-vectorizer.h (enum slp_instance_kind): Add slp_inst_kind_gcond. + (LOOP_VINFO_EARLY_BREAKS_LIVE_IVS): New. + (vectorizable_early_exit): Expose. + (class _loop_vec_info): Add early_break_live_stmts. + * tree-vect-slp.cc (vect_build_slp_instance, vect_analyze_slp_instance): + Support gcond instances. + (vect_analyze_slp): Analyze gcond roots and early break live statements. + (maybe_push_to_hybrid_worklist): Don't sink gconds. + (vect_slp_analyze_operations): Support gconds. + (vect_slp_check_for_roots): Update comments. + (vectorize_slp_instance_root_stmt): Support gconds. + (vect_schedule_slp): Pass vinfo to vectorize_slp_instance_root_stmt. + * tree-vect-stmts.cc (vect_stmt_relevant_p): Record early break live + statements. + (vectorizable_early_exit): Support SLP. + +2024-10-14 Victor Do Nascimento <victor.donascimento@arm.com> + + PR middle-end/116926 + * optabs-query.cc (find_widening_optab_handler_and_mode): Add + handling of vector -> scalar optab handling. + +2024-10-14 Richard Sandiford <richard.sandiford@arm.com> + + PR target/116999 + PR target/117045 + * config/aarch64/aarch64-sve-builtins-base.cc + (svwhilelx_impl::fold): Check for WHILELTs of the minimum value + and WHILELEs of the maximum value. Fold them to all-false and + all-true respectively. + +2024-10-14 Richard Biener <rguenther@suse.de> + + PR middle-end/116891 + * match.pd ((negate (IFN_FNMS@3 @0 @1 @2)) -> (IFN_FMA @0 @1 @2)): + Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING. + +2024-10-14 Pan Li <pan2.li@intel.com> + + * match.pd: Add matching pattern for vector signed SAT_SUB form 3. + +2024-10-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116290 + * tree-loop-distribution.cc (determine_reduction_stmt_1): PHIs + have no debug variants. Start with first non-debug real stmt. + * tree-ssa-loop-ivopts.cc (find_givs_in_bb): Do not analyze + debug stmts. + +2024-10-14 Oleg Endo <olegendo@gcc.gnu.org> + Roger Sayle <roger@nextmovesoftware.com> + + PR target/113533 + * config/sh/sh.cc (sh_rtx_costs): Adjust cost estimation of MEM rtx + to be always at least COST_N_INSNS (1). Forward speed argument to + sh_address_cost. + +2024-10-13 Andreas Schwab <schwab@linux-m68k.org> + + * config/m68k/m68k.md ("movsi", "movxf"): Replace + reload_in_progress by reload_in_progress || lra_in_progress. + * config/m68k/m68k.cc (m68k_legitimate_mem_p) + (emit_move_sequence): Likewise. + * config/m68k/predicates.md ("fp_src_operand"): Likewise. + +2024-10-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116481 + * pointer-query.cc (build_printable_array_type): + Build an array types with function or method element type + manually to avoid bogus diagnostic. + +2024-10-13 Tobias Burnus <tburnus@baylibre.com> + + * gimple-fold.cc (gimple_fold_builtin_acc_on_device): Also fold + when offloading is not configured. + +2024-10-13 Jivan Hakobyan <jivanhakobyan9@gmail.com> + + * config/riscv/riscv.md (zero_extendsidi2): If RHS is already + zero extended, then this is just a copy. + (extendsidi2): Similarly, but for sign extension. + +2024-10-12 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/116985 + * tree-vect-loop.cc (vect_transform_reduction): Compute loop mask + index based on effective vector copies for reduction op. + +2024-10-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117104 + * match.pd ((cmp:c (minmax:c @0 @1) @0) -> (out @0 @1)): Properly + guard the vector case. + +2024-10-12 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/constraints.md (P): New constraint. + * config/riscv/vector.md (pred_broadcast<mode> expander): Do + not force small integers into GPRs so aggressively. + (pred_broadcast<mode> insn & splitter): Allow splatting small + constants across the vector register directly. Allow splatting + (const_int 0) into element 0 directly. + +2024-10-12 Jakub Jelinek <jakub@redhat.com> + + * Makefile.in (LINKER_FOR_BUILD): Append -no-pie if it is in + $(LD_PICFLAG) when building build/genmatch. + +2024-10-12 Jakub Jelinek <jakub@redhat.com> + + * Makefile.in (generated_files): Remove {gimple,generic}-match*. + (generated_match_files): New variable. Add a dependency of + $(filter-out $(OBJS-libcommon),$(ALL_HOST_OBJS)) files on those. + (build/genmatch$(build_exeext)): Depend on and link against + libcommon.a and $(LIBBACKTRACE). + * genmatch.cc: Include pretty-print.h and input.h. + (ggc_internal_cleared_alloc, ggc_free): Remove. + (fatal): New function. + (line_table): Remove. + (linemap_client_expand_location_to_spelling_point): Remove. + (diagnostic_cb): Use gcc_diag rather than printf format. Use + pp_format_verbatim on a temporary pretty_printer instead of + vfprintf. + (fatal_at, warning_at): Use gcc_diag rather than printf format. + (output_line_directive): Rename location_hash to loc_hash. + (parser::eat_ident, parser::parse_operation, parser::parse_expr, + parser::parse_pattern, parser::finish_match_operand): Fix up + -Wformat-diag warnings. + +2024-10-12 Pan Li <pan2.li@intel.com> + + * config/riscv/autovec.md (sssub<mode>3): Add new pattern for + signed SAT_SUB. + * config/riscv/riscv-protos.h (expand_vec_sssub): Add new func + decl to expand sssub to vssub. + * config/riscv/riscv-v.cc (expand_vec_sssub): Add new func + impl to expand sssub to vssub. + +2024-10-12 Pan Li <pan2.li@intel.com> + + * tree-vect-patterns.cc (gimple_signed_integer_sat_sub): Add new + func decl for signed SAT_SUB. + (vect_recog_sat_sub_pattern_transform): Update comments. + (vect_recog_sat_sub_pattern): Try the vector signed SAT_SUB + pattern. + +2024-10-12 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 1 matching pattern for vector signed SAT_SUB. + +2024-10-11 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117048 + * config/aarch64/aarch64-simd.md (aarch64_xarqv2di): Redefine into a + define_expand. + (*aarch64_xarqv2di_insn): Define. + +2024-10-11 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117048 + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): + Handle vector constants in (x << C1) | (x >> C2) -> ROTATE + simplification. + +2024-10-11 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/116826 + PR tree-optimization/86710 + * match.pd: Fold logN(1.0/a) -> -logN(a), + logN(C/a) -> logN(C) - logN(a), logN(a) + logN(b) -> logN(a*b), + and logN(a) - logN(b) -> logN(a/b). + +2024-10-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117080 + * tree-vectorizer.h (_slp_tree::memory_access_type): Add. + (SLP_TREE_MEMORY_ACCESS_TYPE): New. + (record_stmt_cost): Add another overload. + * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize + memory_access_type. + * tree-vect-stmts.cc (vectorizable_store): Set + SLP_TREE_MEMORY_ACCESS_TYPE. + (vectorizable_load): Likewise. Also record the SLP node + when costing emulated gather offset decompose and vector + composition. + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): Also + recognize SLP emulated gather/scatter. + +2024-10-11 Saurabh Jha <saurabh.jha@arm.com> + + * config/aarch64/aarch64-sve2.md + (*aarch64_pred_faminmax_fused): Instruction pattern for faminmax + codegen. + * config/aarch64/iterators.md: Iterator and attribute for + faminmax codegen. + +2024-10-11 Saurabh Jha <saurabh.jha@arm.com> + + * config/aarch64/aarch64-sve-builtins-base.cc + (svamax): Absolute maximum declaration. + (svamin): Absolute minimum declaration. + * config/aarch64/aarch64-sve-builtins-base.def + (REQUIRED_EXTENSIONS): Add faminmax intrinsics behind a flag. + (svamax): Absolute maximum declaration. + (svamin): Absolute minimum declaration. + * config/aarch64/aarch64-sve-builtins-base.h: Declaring function + bases for the new intrinsics. + * config/aarch64/aarch64.h + (TARGET_SVE_FAMINMAX): New flag for SVE2 faminmax. + * config/aarch64/iterators.md: New unspecs, iterators, and attrs + for the new intrinsics. + +2024-10-11 Richard Biener <rguenther@suse.de> + + PR middle-end/117086 + * match.pd ((op (vec_cond ...) ..) -> (vec_cond ...)): Add + missing checks for VECTOR_TYPE_P (type). + +2024-10-11 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 4 matching pattern for signed SAT_TRUNC. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 3 matching pattern for signed SAT_TRUNC. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 2 matching pattern for signed SAT_TRUNC. + +2024-10-11 Jakub Jelinek <jakub@redhat.com> + + PR target/117053 + * config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Handle + TARGET_ZERO_EXTEND_WITH_AND differently. + (ix86_expand_int_spaceship): Likewise. + +2024-10-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117050 + * tree-vect-slp.cc (vect_build_slp_tree_2): Do not support + permutes of non-grouped .MASK_LOAD. + +2024-10-11 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_slp_prefer_store_lanes_p): Allow + passing in of vectype, pass in whether the stores are masked + and query the correct optab. + (vect_build_slp_instance): Guard store-lanes query with + ! STMT_VINFO_SLP_VECT_ONLY, guaranteeing an uniform mask. + +2024-10-11 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/sse.md + (sse_movhlps): Change type attr from ssemov to ssemov2. + (sse_loadhps): Ditto. + (*vec_concat<mode>): Ditto. + (vec_setv2df_0): Ditto. + (sse_loadlps): Change attr from ssemov to ssemov2 except for 2, 3. + (sse2_loadhps): Change attr from ssemov to ssemov2 except for 0, 1. + (sse2_loadlpd): Change attr from ssemov to ssemov2 except for 0, 1, + 2. + (sse2_movsd_<mode>): Change attr from ssemov to ssemov2 except for 5. + (vec_concatv2df): Change attr from ssemov to ssemov2 except for 0, 1, + 2. + (*vec_concat<mode>): Change attr from ssemov to ssemov2 for 3, 4. + (vec_concatv2di): Change attr from ssemov to ssemov2 except for 0, 1, + 2, 3, 4, 5. + +2024-10-10 Michael Matz <matz@suse.de> + + PR rtl-optimization/116650 + * regrename.cc (check_new_reg_p): Calculate nregs in terms of + the new candidate register. + +2024-10-10 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (pass_phiopt::execute): Remove candorest + and return instead of setting candorest. + +2024-10-10 Li Xu <xuli1@eswincomputing.com> + + PR target/116883 + * config/riscv/riscv-c.cc (riscv_pragma_intrinsic_flags_pollute): Choose zvl4096b + to initialize null type. + +2024-10-10 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-slp.cc (vectorizable_slp_permutation_1): Set repeating_p + to false if we have an external node for a pre-existing vector. + +2024-10-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117060 + * tree-vect-slp.cc (vect_build_slp_tree_1): When comparing + calls also fail if the first isn't a call. + +2024-10-10 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/116831 + * match.pd: Guard simplification to trunc_mod with check for + mod optab support. + +2024-10-10 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_1): Do not compare + RHS codes for loads or stores. + (vect_get_and_check_slp_defs): Only demote operand to external + in case there is more than one operand. + +2024-10-10 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386.cc (ix86_vector_costs::ix86_vector_costs): + Add new member m_num_avx256_vec_perm. + (ix86_vector_costs::add_stmt_cost): Record 256-bit vec_perm. + (ix86_vector_costs::finish_cost): Prevent vectorization for + TAREGT_AVX256_AVOID_VEC_PERM when there's 256-bit vec_perm + instruction. + * config/i386/i386.h (TARGET_AVX256_AVOID_VEC_PERM): New + Macro. + * config/i386/x86-tune.def (X86_TUNE_AVX256_SPLIT_REGS): Add + m_CORE_ATOM. + (X86_TUNE_AVX256_AVOID_VEC_PERM): New tune. + +2024-10-10 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Guard + instruction blendv generation under new tune. + * config/i386/i386.h (TARGET_SSE_MOVCC_USE_BLENDV): New Macro. + * config/i386/x86-tune.def (X86_TUNE_SSE_MOVCC_USE_BLENDV): + New tune. + +2024-10-10 Levy Hsu <admin@levyhsu.com> + + * config/i386/i386.md: Rewrite insn truncsfbf2. + +2024-10-10 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-text.cc + (diagnostic_text_output_format::after_diagnostic): Replace call to + show_any_path with body, taken from diagnostic.cc. + (diagnostic_text_output_format::build_prefix): Move here from + diagnostic.cc, updating to use get_diagnostic_kind_text and + diagnostic_get_color_for_kind. + (diagnostic_text_output_format::file_name_as_prefix): Move here + from diagnostic.cc + (diagnostic_text_output_format::append_note): Likewise. + * diagnostic-format-text.h + (diagnostic_text_output_format::show_any_path): Drop decl. + * diagnostic.cc + (diagnostic_text_output_format::file_name_as_prefix): Move to + diagnostic-format-text.cc. + (diagnostic_text_output_format::build_prefix): Likewise. + (diagnostic_text_output_format::show_any_path): Move to body of + diagnostic_text_output_format::after_diagnostic. + (diagnostic_text_output_format::append_note): Move to + diagnostic-format-text.cc. + +2024-10-10 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi (fdiagnostics-format): Describe "json" et al as + deprecated, and remove the long description of the output format. + +2024-10-10 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * lto-wrapper.cc (print_lto_docs_link): Use a format string rather + than building the string manually. Fix memory leak of "url" by + using label_text. + +2024-10-09 liuhongt <hongtao.liu@intel.com> + + * tree-vect-loop.cc (vect_analyze_loop_costing): Enable + vectorization for LOOP_VINFO_PEELING_FOR_NITER in very cheap + cost model. + (vect_analyze_loop): Disable epilogue vectorization in very + cheap cost model. + * doc/invoke.texi: Adjust documents for very-cheap cost model. + +2024-10-09 Jovan Vukic <Jovan.Vukic@rt-rk.com> + + PR target/115921 + * config/riscv/iterators.md (any_eq): New code iterator. + * config/riscv/riscv.h (COMMON_TRAILING_ZEROS): New macro. + (SMALL_AFTER_COMMON_TRAILING_SHIFT): Ditto. + * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_<optab>_shifted): + New pattern. + +2024-10-09 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-10-08 Tsung Chun Lin <tclin914@gmail.com> + + * common/config/riscv/riscv-common.cc: M implies Zmmul. + +2024-10-09 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-10-08 Tsung Chun Lin <tclin914@gmail.com> + + * config/riscv/riscv-c.cc: (riscv_cpu_cpp_builtins): + Enable builtin __riscv_mul with Zmmul extension. + +2024-10-09 Richard Sandiford <richard.sandiford@arm.com> + + PR target/116629 + * config/aarch64/aarch64-sve-builtins.cc + (function_builder::function_builder): Use direct overloads for LTO. + +2024-10-09 Richard Biener <rguenther@suse.de> + + * tree-vect-data-refs.cc (vect_analyze_data_ref_access): When + cancelling a DR group also clear DR_GROUP_NEXT_ELEMENT. + +2024-10-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117041 + * tree-vect-stmts.cc (get_group_load_store_type): Only + check DR_GROUP_NEXT_ELEMENT for STMT_VINFO_GROUPED_ACCESS. + +2024-10-09 René Rebe <rene@exactcode.de> + + * config/ia64/ia64.cc: Enable LRA for ia64. + * config/ia64/ia64.md: Likewise. + * config/ia64/predicates.md: Likewise. + +2024-10-09 René Rebe <rene@exactcode.de> + + * config.gcc: Only list ia64*-*-(hpux|vms|elf) in the list of + obsoleted targets. + +2024-10-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116974 + * tree-vect-stmts.cc (check_scan_store): Pass in the SLP node + instead of just a flag. Allow single-lane scan stores. + (vectorizable_store): Adjust. + * tree-vect-loop.cc (vect_analyze_loop_2): Empty scan_map + before re-trying. + +2024-10-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116575 + PR tree-optimization/114375 + * tree-vect-slp.cc (vect_build_slp_tree_2): Do not reject + permuted mask loads without gaps but instead discover a + node for the full unpermuted load and permute that with + a VEC_PERM node. + +2024-10-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117000 + * match.pd (.REDUC_IOR !=/== 0): New pattern. + * gimple-match-head.cc: Include memmodel.h and optabs.h. + * generic-match-head.cc: Likewise. + +2024-10-09 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_cse_slp_nodes): Fix memory leak. + +2024-10-09 Jan Beulich <jbeulich@suse.com> + + * doc/extend.texi: Clarify __builtin_choose_expr() + (dis)similarity to the ?: operator. + +2024-10-09 Ken Matsui <kmatsui@gcc.gnu.org> + + PR preprocessor/89808 + * doc/invoke.texi (Warning Options): Document + -Wno-pragma-once-outside-header. + +2024-10-09 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + PR tree-optimization/116024 + * match.pd: New transformation around integer comparison. + +2024-10-09 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + PR tree-optimization/116024 + * match.pd: New transformation around integer comparison. + +2024-10-08 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + PR tree-optimization/116024 + * match.pd: New transformation around integer comparison. + +2024-10-08 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + PR tree-optimization/116024 + * match.pd: New transformation around integer comparison. + +2024-10-08 Tsung Chun Lin <tclin914@gmail.com> + + * config/riscv/riscv-c.cc: (riscv_cpu_cpp_builtins): + Enable builtin __riscv_mul with Zmmul extension. + +2024-10-08 Tsung Chun Lin <tclin914@gmail.com> + + * common/config/riscv/riscv-common.cc: M implies Zmmul. + +2024-10-08 Yangyu Chen <chenyangyu@isrc.iscas.ac.cn> + + * common/config/riscv/riscv-common.cc (cl_opt_var_ref_t): Add + cl_opt_var_ref_t pointer to member of cl_target_option. + (struct riscv_ext_flag_table_t): Add new cl_opt_var_ref_t field. + (RISCV_EXT_FLAG_ENTRY): New macro to simplify the definition of + riscv_ext_flag_table. + (riscv_ext_is_subset): New function to check if the callee's ISA + is a subset of the caller's. + (riscv_x_target_flags_isa_mask): New function to get the mask of + ISA extension in x_target_flags of gcc_options. + * config/riscv/riscv-subset.h (riscv_ext_is_subset): Declare + riscv_ext_is_subset function. + (riscv_x_target_flags_isa_mask): Declare + riscv_x_target_flags_isa_mask function. + * config/riscv/riscv.cc (riscv_can_inline_p): New function. + (TARGET_CAN_INLINE_P): Implement TARGET_CAN_INLINE_P. + +2024-10-08 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-protos.h (riscv_expand_sstrunc): Add new + func decl to expand SAT_TRUNC. + * config/riscv/riscv.cc (riscv_expand_sstrunc): Add new func + impl to expand SAT_TRUNC. + * config/riscv/riscv.md (sstrunc<mode><anyi_double_truncated>2): + Add new pattern for double truncation. + (sstrunc<mode><anyi_quad_truncated>2): Ditto but for quad. + (sstrunc<mode><anyi_oct_truncated>2): Ditto but for oct. + +2024-10-08 Pan Li <pan2.li@intel.com> + + * tree-ssa-math-opts.cc (build_saturation_binary_arith_call): Rename + to... + (build_saturation_binary_arith_call_and_replace): ...this. + (build_saturation_binary_arith_call_and_insert): ...this. + (match_unsigned_saturation_add): Leverage renamed func. + (match_unsigned_saturation_sub): Ditto. + (match_saturation_add): Return bool on matched and leverage + renamed func. + (match_saturation_sub): Ditto. + (match_saturation_trunc): Ditto. + (math_opts_dom_walker::after_dom_children): Ensure at most one + pattern will be matched for each phi node. + +2024-10-08 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 1 matching pattern for signed SAT_TRUNC. + * tree-ssa-math-opts.cc (gimple_signed_integer_sat_trunc): Add + new decl for signed SAT_TRUNC. + (match_saturation_trunc): Add new func impl to try SAT_TRUNC + pattern on phi node. + (math_opts_dom_walker::after_dom_children): Add + match_saturation_trunc for phi node iteration. + +2024-10-08 Jan Beulich <jbeulich@suse.com> + + * config/i386/sse.md (vaesdec_<mode>, vaesdeclast_<mode>, + vaesenc_<mode>, vaesenclast_<mode>): Replace which_alternative + check by TARGET_AES one. + +2024-10-08 Soumya AR <soumyaa@nvidia.com> + + PR target/109498 + * config/aarch64/aarch64-sve.md (ctz<mode>2): Added pattern to expand + CTZ to RBIT + CLZ for SVE. + +2024-10-08 Palmer Dabbelt <palmer@rivosinc.com> + + PR target/116615 + * config/riscv/riscv.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Remove. + +2024-10-08 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch.opt.urls: Regenerate. + +2024-10-08 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 3 matching pattern for signed SAT_SUB. + +2024-10-08 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116896 + * tree-ssa-math-opts.cc (optimize_spaceship): Handle unordered values + other than 2, but they still need to be signed char range possibly + converted to the PHI result and can't be in [-1, 1] range. Use + last .SPACESHIP argument of 1 for unsigned int comparisons, -1 for + signed int, 0 for floating point branches and any other for floating + point with that value as unordered. + * config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Use op2 rather + const2_rtx if op2 is not const0_rtx for unordered result. + (ix86_expand_int_spaceship): Change INTVAL (op2) == 1 tests to + INTVAL (op2) != -1. + * doc/md.texi (spaceship@var{m}4): Document the above changes. + +2024-10-08 Prathamesh Kulkarni <prathameshk@nvidia.com> + + PR ipa/96265 + * lto-streamer-in.cc (lto_read_tree_1): Set TYPE_MODE and DECL_MODE + for vector_type if offloading is enabled. + (lto_input_mode_table): Remove handling of vector modes. + * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream out + VOIDmode for vector_type if offloading is enabled. + (pack_ts_decl_common_value_fields): Likewise. + +2024-10-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * diagnostic-color.cc: Conditionally enable terminal processing + based on define availability. + * pretty-print.cc: Likewise. + +2024-10-08 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/genopts/loongarch.opt.in + (mannotate-tablejump): New option. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch.md (tablejump<mode>): Emit + additional correlation info between the jump instruction and the + jump table, if -mannotate-tablejump. + * doc/invoke.texi: Document -mannotate-tablejump. + +2024-10-08 Xiao Zeng <zengxiao@eswincomputing.com> + + * common/config/riscv/riscv-common.cc: zawrs -> zalrsc. + +2024-10-07 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/iterators.md (scc_0): New code iterator. + * config/riscv/zicond.md: New splitters to improve code generated for + cases like (and (scc) (scc)) for zicond, xventanacondops, xtheadcondmov. + +2024-10-07 Jason Merrill <jason@redhat.com> + + * doc/invoke.texi (C++ Module Preprocessing): Allow -M, + refer to -fdeps. + +2024-10-07 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/arm/arm.cc (arm_noce_oncersion_profitable_p): Remove unused + argument name. + (arm_is_v81m_cond_insn): Initialize variable. + +2024-10-07 Jakub Jelinek <jakub@redhat.com> + + * config/riscv/vector-crypto.md: Remove executable permissions. + +2024-10-07 Victor Do Nascimento <victor.donascimento@arm.com> + + * tree-if-conv.cc (if_convertible_stmt_p): Check for explicit + function declaration before IFN fallback. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/116583 + * tree-vect-slp.cc (vectorizable_slp_permutation_1): Add more + dump messages. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/116583 + * tree-vect-slp.cc (vectorizable_slp_permutation_1): Handle + variable-length pack and unpack permutations. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/116583 + * tree-vect-slp.cc (vectorizable_slp_permutation_1): Remove + the noutputs_per_mask inner loop and instead generate a + separate permute vector for each output. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/116583 + * tree-vect-slp.cc (vectorizable_slp_permutation_1): Using + poly_uint64 for scalar lane indices. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/iterators.md (SVE_I): Move further up file. + (SVE_F): New mode iterator. + (SVE_ALL): Redefine in terms of SVE_I and SVE_F. + * config/aarch64/aarch64-sve.md (*<LOGICALF:optab><mode>3): Extend + to all SVE_F. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + PR target/116583 + * config/aarch64/aarch64.cc (aarch64_coalesce_units): New function, + extending the Advanced SIMD handling from... + (aarch64_evpc_reencode): ...here to SVE data and predicate modes. + +2024-10-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116990 + * tree-vect-loop.cc (vect_analyze_loop_form): Check the current + loop body for control flow. + +2024-10-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116982 + * tree-vectorizer.h (vect_analyze_loop): Pass in .LOOP_VECTORIZED + call. + (vect_analyze_loop_form): Likewise. + * tree-vect-loop.cc (vect_analyze_loop_form): Reject loops where we + cannot determine a IV exit for the scalar loop. + (vect_analyze_loop): Adjust. + * tree-vectorizer.cc (try_vectorize_loop_1): Likewise. + * tree-parloops.cc (gather_scalar_reductions): Likewise. + +2024-10-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116896 + * optabs.def (spaceship_optab): Use spaceship$a4 rather than + spaceship$a3. + * internal-fn.cc (expand_SPACESHIP): Expect 3 call arguments + rather than 2, expand the last one, expect 4 operands of + spaceship_optab. + * tree-ssa-math-opts.cc: Include cfghooks.h. + (optimize_spaceship): Check if a single PHI is initialized to + -1, 0, 1, 2 or -1, 0, 1 values, in that case pass 1 as last (new) + argument to .SPACESHIP and optimize away the comparisons, + otherwise pass 0. Also check for integer comparisons rather than + floating point, in that case do it only if there is a single PHI + with -1, 0, 1 values and pass 1 to last argument of .SPACESHIP + if the <=> is signed, 2 if unsigned. + * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Add + another rtx argument. + (ix86_expand_int_spaceship): Declare. + * config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Add + arg3 argument, if it is const0_rtx, expand like before, otherwise + emit optimized sequence for setting the result into a GPR. + (ix86_expand_int_spaceship): New function. + * config/i386/i386.md (UNSPEC_SETCC_SI_SLP): New UNSPEC code. + (setcc_si_slp): New define_expand. + (*setcc_si_slp): New define_insn_and_split. + (setcc + setcc + movzbl): New define_peephole2. + (spaceship<mode>3): Renamed to ... + (spaceship<mode>4): ... this. Add an extra operand, pass it + to ix86_expand_fp_spaceship. + (spaceshipxf3): Renamed to ... + (spaceshipxf4): ... this. Add an extra operand, pass it + to ix86_expand_fp_spaceship. + (spaceship<mode>4): New define_expand for SWI modes. + * doc/md.texi (spaceship@var{m}3): Renamed to ... + (spaceship@var{m}4): ... this. Document the meaning of last + operand. + +2024-10-07 Tobias Burnus <tburnus@baylibre.com> + + * gimplify.cc (gimplify_bind_expr): Fix corner case for OpenMP + allocate directive. + (gimplify_scan_omp_clauses): Warn if omp_thread_mem_alloc is used + as allocator with the target/task/taskloop directive. + +2024-10-06 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa-64.h (PA_SECONDARY_MEMORY_NEEDED): Define + to false. Update comment. + * config/pa/pa.md: Modify 64-bit move patterns to support + copying between integer and floating-point registers using + stack slot SP-40. + +2024-10-06 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (no_arg_map): New. + (vect_get_operand_map): Handle IFN_GOMP_SIMD_LANE. + (vect_build_slp_tree_1): Likewise. + * tree-vect-stmts.cc (vectorizable_call): Handle single-lane SLP + for .GOMP_SIMD_LANE calls. + +2024-10-06 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <*-*-freebsd*>: Focus on DWARF + only. + +2024-10-05 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.md (nonlocal_goto): Don't clobber + frame_pointer_rtx. + (builtin_longjmp): Likewise. + +2024-10-05 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.md: Fix indirect_got constraint. + +2024-10-05 Eric Botcazou <ebotcazou@adacore.com> + + PR middle-end/116933 + * gimplify.cc (gimple_add_init_for_auto_var): Use the correct macro + to fetch the source location of the variable. + * tree.cc (common_builtin_nodes): Remove the 3rd parameter in the + type of BUILT_IN_CLEAR_PADDING. + +2024-10-05 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_lower_load_permutations): Prefer + level 1 even/odd extracts. + +2024-10-04 David Malcolm <dmalcolm@redhat.com> + + PR other/116978 + * diagnostic-format-sarif.cc (sarif_builder::sarif_builder): + Gracefully handle "main_input_filename_" being NULL. + (sarif_output_format::sarif_output_format): Replace param + "base_file_name" with "output_file" and assert that the file + was opened successfully and has a non-NULL filename. + (sarif_output_format::~sarif_file_output_format): Move + responsibility for building the filename and opening the file from + here to the creator of the instance. + (sarif_output_format::m_base_file_name): Replace with... + (sarif_output_format::m_output_file): ...this. + (diagnostic_output_format_init_sarif_file): Make "line_maps" param + non-const. Gracefully handle "base_file_name" being NULL. + Construct the filename and open the file here, rather than in + ~sarif_file_output_format, and handle failures immediately here, + rather than at the end of the compile. + * diagnostic-format-sarif.h: Include "diagnostic-output-file.h". + (diagnostic_output_format_init_sarif_file): Make "line_maps" param + non-const. + * diagnostic-output-file.h: New file. + * diagnostic.cc (diagnostic_context::emit_diagnostic): New. + (diagnostic_context::emit_diagnostic_va): New. + * diagnostic.h (diagnostic_context::emit_diagnostic): New decl. + (diagnostic_context::emit_diagnostic_va): New decl. + +2024-10-04 H.J. Lu <hjl.tools@gmail.com> + + PR target/116962 + * config/i386/i386.cc (ix86_stack_protect_runtime_enabled_p): New + function. + (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): New. + +2024-10-04 Saurabh Jha <saurabh.jha@arm.com> + + PR target/116934 + * config/aarch64/iterators.md: Move UNSPEC_COND_SMAX and + UNSPEC_COND_SMIN to correct iterators. + +2024-10-04 Georg-Johann Lay <avr@gjlay.de> + + PR target/116953 + * config/avr/avr.cc (avr_out_sbxx_branch): Work on a copy of + the operands rather than on operands itself, which is just + recog_data.operand and may be clobbered by jump_over_one_insn_p. + +2024-10-04 Andrew Pinski <quic_apinski@quicinc.com> + + * cfgexpand.cc (add_scope_conflicts_1): Expand comment + on when non-var clobbers show up. + +2024-10-04 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_floatn_mode): Remove. + (TARGET_FLOATN_MODE): Remove. + +2024-10-04 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_floatn_mode): New static function. + (TARGET_FLOATN_MODE): New define. + +2024-10-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/tuning_models/generic_armv9_a.h + (generic_armv9a_prefetch_tune): Define. + (generic_armv9_a_tunings): Use the above. + +2024-10-04 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/116444 + * config/arm/arm-protos.h (arm_noce_conversion_profitable_p): New + declaration. + * config/arm/arm.cc (arm_is_v81m_cond_insn): New helper function used + in ... + (arm_noce_conversion_profitable_p): ... here. New function to implement + ... + (TARGET_NOCE_PROFITABLE_P): ... this target hook. New define. + +2024-10-04 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vect_analyze_loop_2): Derement 'slp' + before dumping which stage we're starting. + +2024-10-04 Jakub Jelinek <jakub@redhat.com> + + PR pch/116936 + * diagnostic.cc (diagnostic_option_classifier::pch_save): Only call + fwrite if corresponding length is non-zero. + (diagnostic_option_classifier::pch_restore): Only call fread if + corresponding length is non-zero. + +2024-10-04 Jakub Jelinek <jakub@redhat.com> + + PR target/116921 + * config/i386/i386-expand.cc (ix86_expand_int_compare): Add a SUBREG + to V8HImode from V8HFmode or V8BFmode before generating a ptest. + +2024-10-04 Jakub Jelinek <jakub@redhat.com> + + PR target/116925 + * config/i386/sse.md (*minmax<mode>3_2): Assign force_reg result + back to operands[2] instead of throwing it away. + +2024-10-04 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <h8300-hms>: Drop GCC 2.6 + ABI change note. + +2024-10-04 Sam James <sam@gentoo.org> + + * gimplify.cc (gimple_add_init_for_auto_var): Fix 'variable' typo. + +2024-10-03 Eric Botcazou <ebotcazou@adacore.com> + + * config/aarch64/aarch64.h (WIDEST_HARDWARE_FP_SIZE): Define to 64. + +2024-10-03 Jason Merrill <jason@redhat.com> + + * doc/invoke.texi: Explicit -Wdeprecated enables more warnings. + +2024-10-03 Jason Merrill <jason@redhat.com> + + * doc/invoke.texi: Document -Wdeprecated-literal-operator. + +2024-10-03 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vectorizable_induction): Initialize + vec_init. + +2024-10-03 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/116927 + * config/aarch64/aarch64-early-ra.cc (early_ra::is_dead_insn): Insns + that throw are not dead with -fno-delete-dead-exceptions. + +2024-10-03 David Malcolm <dmalcolm@redhat.com> + + PR other/116301 + * common.opt (sarif-file-2.2-prerelease): New value for + -fdiagnostics-format=. + * diagnostic-format-sarif.cc + (sarif_location_manager::sarif_location_manager): Move + initialization of m_related_locations_arr here from sarif_result's + ctor. + (sarif_location_manager::add_related_location): Implement for + base class, taking sarif_result's implementation. Add "builder" + param. + (sarif_location_manager::m_related_locations_arr): Move here from + class sarif_result. + (class sarif_result): Move m_related_locations_arr field and + add_related_location vfunc to class sarif_location_manager. + (sarif_builder::get_version): New accessor. + (sarif_builder::m_version): New field. + (sarif_invocation::add_notification_for_ice): Call + process_worklist on the notification for SARIF 2.2 and later. + (sarif_location_manager::process_worklist_item): Pass builder to + calls to add_related_location. + (sarif_result::on_nested_diagnostic): Likewise. + (sarif_result::on_diagram): Likewise. + (sarif_ice_notification::add_related_location): Add builder param. + For SARIF 2.2 and later chain up to base class impl so that + notifications get related locations. + (sarif_builder::sarif_builder): Add "version" param. + (SARIF_SCHEMA): Delete in favor of... + (sarif_version_to_url): New function. + (SARIF_VERSION): Delete in favor of... + (sarif_version_to_property): New function. + (make_top_level_object): Update to use m_version for "$schema" and + "version". + (sarif_output_format::sarif_output_format): Add "version" param. + (sarif_stream_output_format::sarif_stream_output_format): + Likewise. + (sarif_file_output_format::sarif_file_output_format): Likewise. + (diagnostic_output_format_init_sarif_stderr): Likewise. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + (selftest::test_sarif_diagnostic_context): Likewise. + (selftest::test_make_location_object): Likewise. + (selftest::test_simple_log): Likewise. Update schema and version + tests accordingly. + (selftest::test_simple_log_2): Add "version" param. + (selftest::test_message_with_embedded_link): Likewise. + (selftest::run_tests_per_version): New, based on the + for_each_line_table_case calls in... + (selftest::diagnostic_format_sarif_cc_tests): Add loop over sarif + versions. Replace for_each_line_table_case calls with one + call to run_tests_per_version. + * diagnostic-format-sarif.h: Include "diagnostic-format.h". + (enum class sarif_version): New. + (diagnostic_output_format_init_sarif_stderr): Move to here from + diagnostic-format.h. Add "version" param. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + * diagnostic-format.h: Include "diagnostic.h". + (diagnostic_output_format_init_sarif_stderr): Move from here to + diagnostic-format-sarif.h. + * diagnostic.cc: Define INCLUDE_MEMORY. + Include "diagnostic-format-sarif.h". + (diagnostic_output_format_init): Pass sarif_version::v2_1_0 to + existing SARIF options. + Add case DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE_2_2_PRERELEASE. + * diagnostic.h (enum diagnostics_output_format): Add + DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE_2_2_PRERELEASE. + +2024-10-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116098 + * tree-ssa-phiopt.cc (move_stmt): Rewrite VCEs from integer to integer + types to case. + +2024-10-02 Victor Do Nascimento <victor.donascimento@arm.com> + + * tree-if-conv.cc (predicate_statements): Fix handling of + predicated function calls. + +2024-10-02 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/arm/arm.cc (check_dec_insn): New helper function containing + code hoisted from... + (arm_mve_dlstp_check_dec_counter): ... here. Use check_dec_insn to + check the validity of the candidate dec_insn. + +2024-10-02 Filip Kastl <fkastl@suse.cz> + + PR tree-optimization/116616 + * tree-switch-conversion.cc (can_pow2p): Remove this function. + (gen_pow2p): Generate bitmagic instead of a builtin. Remove the + TYPE parameter. + (switch_conversion::is_exp_index_transform_viable): Don't call + can_pow2p. + (switch_conversion::exp_index_transform): Call gen_pow2p without + the TYPE parameter. + * tree-switch-conversion.h: Remove + m_exp_index_transform_pow2p_type. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113197 + * tree-ssa-structalias.cc (handle_call_arg): Remove bougs + assert. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114855 + * predict.cc (ssa_expected_value): New global. + (expr_expected_value): Do not take bitmap. + (expr_expected_value_1): Likewise. Use ssa_expected_value + to cache results for a SSA def. + (tree_predict_by_opcode): Adjust. + (tree_estimate_probability): Manage ssa_expected_value. + (tree_guess_outgoing_edge_probabilities): Likewise. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116566 + * tree-vect-loop.cc (vectorizable_induction): Handle single-lane + SLP for VLA vectors. + +2024-10-02 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <h8300-hms>: Drop obsolete + reference to binaries download docs. + +2024-10-02 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/96842 + * doc/invoke.texi (Wheader-guard): Document. + +2024-10-02 Jakub Jelinek <jakub@redhat.com> + + * Makefile.in ($(OPT_URLS_HTML_DEPS)): Add dependencies of the + Option-Index.html files on the corresponding index.html files. + Don't mention the requirement that all languages that have their own + HTML manuals to be enabled. + +2024-10-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116922 + * gimple-ssa-backprop.cc (remove_unused_var): Handle phi + nodes correctly. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116654 + * tree-vect-data-refs.cc (vect_supportable_dr_alignment): + Treat non-grouped accesses like non-SLP. + +2024-10-02 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 2 matching pattern for signed SAT_SUB. + +2024-10-01 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_out_compare): Drop superfluous sub-condition. + +2024-10-01 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-passes.cc (avr_split_fake_addressing_move): Fix + a build warning. + +2024-10-01 Saurabh Jha <saurabh.jha@arm.com> + + * config/aarch64/aarch64-sve.md + (<fmaxmin><mode>3): Remove this instruction pattern. + (cond_<fmaxmin><mode>): Remove this instruction pattern. + * config/aarch64/iterators.md: New unspecs and changes to + iterators and attrs to use the new unspecs + +2024-10-01 Eric Botcazou <ebotcazou@adacore.com> + + * tree-inline.cc (expand_call_inline): Remove the store to the + return slot if it is a global variable that is only written to. + +2024-10-01 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * doc/extend.texi: Document the new + __builtin_is_virtual_base_of builtin; amend the docs for + __is_base_of. + +2024-10-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116890 + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Conversions + from bool is also should be considered as wanting to happen. + +2024-10-01 Claudio Bantaloukas <Claudio.Bantaloukas@arm.com> + + * config/aarch64/aarch64-builtins.cc (aarch64_mfp8_type_node): Add node + for __mfp8 type. + (aarch64_mfp8_ptr_type_node): Add node for __mfp8 pointer type. + (aarch64_init_fp8_types): New function to initialise fp8 types and + register with language backends. + * config/aarch64/aarch64.cc (aarch64_mangle_type): Add ABI mangling for + new type. + (aarch64_invalid_conversion): Add function implementing + TARGET_INVALID_CONVERSION hook that blocks conversion to and from the + __mfp8 type. + (aarch64_invalid_unary_op): Add function implementing TARGET_UNARY_OP + hook that blocks operations on __mfp8 other than &. + (aarch64_invalid_binary_op): Extend TARGET_BINARY_OP hook to disallow + operations on __mfp8 type. + (TARGET_INVALID_CONVERSION): Add define. + (TARGET_INVALID_UNARY_OP): Likewise. + * config/aarch64/aarch64.h (aarch64_mfp8_type_node): Add node for __mfp8 + type. + (aarch64_mfp8_ptr_type_node): Add node for __mfp8 pointer type. + * config/aarch64/arm_private_fp8.h (mfloat8_t): Add typedef. + +2024-10-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116902 + PR tree-optimization/116842 + * tree-vect-stmts.cc (sort_after_uid): Remove again. + (hoist_defs_of_uses): Copy defs instead of hoisting them so + we can zero their UID. + (vectorizable_load): Separate analysis and transform call, + do transform on the stmt copy. + +2024-10-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116905 + * tree-vect-stmts.cc (supportable_indirect_convert_operation): + Fix guard for vect_get_range_info. + +2024-10-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116906 + * tree-ssa-pre.cc (prune_clobbered_mems): Add clean_traps + argument. + (compute_antic_aux): Direct prune_clobbered_mems to prune + all traps when any MAX solution was involved in the ANTIC + computation. + (compute_partial_antic_aux): Adjust. + +2024-10-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116899 + * gimple-range-cache.cc (ranger_cache::ranger_cache): Set m_workback + to vNULL instead of creating it, growing and then truncating. + (ranger_cache::fill_block_cache): Use safe_push rather than quick_push + on m_workback. + (ranger_cache::range_from_dom): Likewise. + +2024-10-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116898 + * gimple-range-cache.cc (ranger_cache::block_range): If a SSA_NAME + with NULL def_bb isn't SSA_NAME_IS_DEFAULT_DEF, return false instead + of failing assertion. Formatting fix. + +2024-09-30 Eric Botcazou <ebotcazou@adacore.com> + + PR ipa/113996 + * ipa-icf.cc (sem_function::get_hash): Hash DECL_STATIC_CHAIN. + (sem_function::equals_wpa): Compare it. + (sem_function::equals_private): Likewise. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * diagnostic-show-locus.cc + (selftest::test_diagnostic_show_locus_unknown_location): Move call + to dc.test_show_locus into ASSERT_STREQ, and compare against its + result, rather than explicitly using dc.m_printer. + (selftest::test_one_liner_simple_caret): Likewise. + (selftest::test_one_liner_no_column): Likewise. + (selftest::test_one_liner_caret_and_range): Likewise. + (selftest::test_one_liner_multiple_carets_and_ranges): Likewise. + (selftest::test_one_liner_fixit_insert_before): Likewise. + (selftest::test_one_liner_fixit_insert_after): Likewise. + (selftest::test_one_liner_fixit_remove): Likewise. + (selftest::test_one_liner_fixit_replace): Likewise. + (selftest::test_one_liner_fixit_replace_non_equal_range): + Likewise. + (selftest::test_one_liner_fixit_replace_equal_secondary_range): + Likewise. + (selftest::test_one_liner_fixit_validation_adhoc_locations): + Likewise. + (selftest::test_one_liner_many_fixits_1): Likewise. + (selftest::test_one_liner_many_fixits_2): Likewise. + (selftest::test_one_liner_labels): Likewise. + (selftest::test_one_liner_simple_caret_utf8): Likewise. + (selftest::test_one_liner_multiple_carets_and_ranges_utf8): + Likewise. + (selftest::test_one_liner_fixit_insert_before_utf8): Likewise. + (selftest::test_one_liner_fixit_insert_after_utf8): Likewise. + (selftest::test_one_liner_fixit_remove_utf8): Likewise. + (selftest::test_one_liner_fixit_replace_utf8): Likewise. + (selftest::test_one_liner_fixit_replace_non_equal_range_utf8): + Likewise. + (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8): + Likewise. + (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8): + Likewise. + (selftest::test_one_liner_many_fixits_1_utf8): Likewise. + (selftest::test_one_liner_many_fixits_2_utf8): Likewise. + (selftest::test_one_liner_labels_utf8): Likewise. + (selftest::test_one_liner_colorized_utf8): Likewise. + (selftest::test_add_location_if_nearby): Likewise. + (selftest::test_diagnostic_show_locus_fixit_lines): Likewise. + (selftest::test_overlapped_fixit_printing): Likewise. + (selftest::test_overlapped_fixit_printing_utf8): Likewise. + (selftest::test_overlapped_fixit_printing_utf8): Likewise. + (selftest::test_overlapped_fixit_printing_2): Likewise. + (selftest::test_fixit_insert_containing_newline): Likewise. + (selftest::test_fixit_insert_containing_newline_2): Likewise. + (selftest::test_fixit_replace_containing_newline): Likewise. + (selftest::test_fixit_deletion_affecting_newline): Likewise. + (selftest::test_tab_expansion): Likewise. + (selftest::test_escaping_bytes_1): Likewise. + (selftest::test_escaping_bytes_2): Likewise. + (selftest::test_line_numbers_multiline_range): Likewise. + * selftest-diagnostic.cc + (selftest::test_diagnostic_context::test_show_locus): Return the + formatted text of m_printer. + * selftest-diagnostic.h + (selftest::test_diagnostic_context::test_show_locus): Convert + return type from void to const char *. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * diagnostic-show-locus.cc (diagnostic_context::maybe_show_locus): + Convert param "pp" from * to &. Drop logic for using the + context's m_printer when the param is null. + * diagnostic.h (diagnostic_context::maybe_show_locus): Convert + param "pp" from * to &. + (diagnostic_show_locus): Drop default "nullptr" value for pp + param. Assert that it and context are nonnull. Pass pp by + reference to maybe_show_locus. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * diagnostic-format-json.cc (json_from_expanded_location): Replace + call to diagnostic_context::converted_column with call to + diagnostic_column_policy::converted_column. + * diagnostic-format-sarif.cc + (sarif_builder::make_location_object): Replace call to + diagnostic_show_locus with call to + diagnostic_source_print_policy::print. + * diagnostic-format-text.cc (get_location_text): Replace call to + diagnostic_context::get_location_text with call to + diagnostic_column_policy::get_location_text. + (diagnostic_text_output_format::report_current_module): Replace call + to diagnostic_context::converted_column with call to + diagnostic_column_policy::converted_column. + * diagnostic-format-text.h + (diagnostic_text_output_format::diagnostic_output_format): + Initialize m_column_policy. + (diagnostic_text_output_format::get_column_policy): New. + (diagnostic_text_output_format::m_column_policy): New. + * diagnostic-path.cc (class path_print_policy): New. + (event_range::maybe_add_event): Replace diagnostic_context param + with path_print_policy. + (event_range::print): Convert "pp" from * to &. Convert first + param of start_span callback from diagnostic_context to + diagnostic_location_print_policy. + (path_summary::path_summary): Convert first param from + diagnostic_text_output_format to path_print_policy. Add + colorize param. Update for changes to + event_range::maybe_add_event. + (thread_event_printer::print_swimlane_for_event_range): Assert + that pp is non-null. Update for change to event_range::print. + (diagnostic_text_output_format::print_path): Pass + path_print_policy to path_summary's ctor. + (selftest::test_empty_path): Likewise. + (selftest::test_intraprocedural_path): Likewise. + (selftest::test_interprocedural_path_1): Likewise. + (selftest::test_interprocedural_path_2): Likewise. + (selftest::test_recursion): Likewise. + (selftest::test_control_flow_1): Likewise. + (selftest::test_control_flow_2): Likewise. + (selftest::test_control_flow_3): Likewise. + (selftest::assert_cfg_edge_path_streq): Likewise. + (selftest::test_control_flow_5): Likewise. + (selftest::test_control_flow_6): Likewise. + * diagnostic-show-locus.cc (colorizer::set_range): Update for + change to m_pp. + (colorizer::m_pp): Convert from * to &. + (class layout): Add friend class layout_printer and move various + decls to it. + (layout::m_pp): Drop field. + (layout::m_policy): Rename to... + (layout::m_char_policy): ...this. + (layout::m_colorizer): Move field to class layout_printer. + (layout::m_diagnostic_path_p): Drop field. + (class layout_printer): New class, by refactoring class layout. + (colorizer::colorizer): Convert "pp" param from * to &. + (colorizer::set_named_color): Update for above change. + (colorizer::begin_state): Likewise. + (colorizer::finish_state): Likewise. + (make_policy): Rename to... + (make_char_policy): ...this, and update param from + diagnostic_context to diagnostic_source_print_policy. + (layout::layout): Update param from diagnostic_context to + diagnostic_source_print_policy. Drop params "diagnostic_kind" and + "pp", moving these and other material to class layout_printer. + (layout::maybe_add_location_range): Update for renamed field. + (layout::print_gap_in_line_numbering): Convert to... + (layout_printer::print_gap_in_line_numbering): ...this. + (layout::calculate_x_offset_display): Update for renamed field. + (layout::print_source_line): Convert to... + (layout_printer::print_source_line): ...this. + (layout::print_leftmost_column): Convert to... + (layout_printer::print_leftmost_column): ...this. + (layout::start_annotation_line): Convert to... + (layout_printer::start_annotation_line): ...this. + (layout::print_annotation_line): Convert to... + (layout_printer::print_annotation_line): ...this. + (layout::print_any_labels): Convert to... + (layout_printer::print_any_labels): ...this. + (layout::print_leading_fixits): Convert to... + (layout_printer::print_leading_fixits): ...this. + (layout::print_trailing_fixits): Convert to... + (layout_printer::print_trailing_fixits): ...this. + (layout::print_newline): Convert to... + (layout_printer::print_newline): ...this. + (layout::get_state_at_point): Make const. + (layout::get_x_bound_for_row): Make const. + (layout::move_to_column): Convert to... + (layout_printer::move_to_column): ...this. + (layout::show_ruler): Convert to... + (layout_printer::show_ruler): ...this. + (layout::print_line): Convert to... + (layout_printer::print_line): ...this. + (layout::print_any_right_to_left_edge_lines): Convert to... + (layout_printer::print_any_right_to_left_edge_lines): ...this. + (layout::print_any_right_to_left_edge_lines): Likewise. + (layout_printer::layout_printer): New. + (layout::update_any_effects): Delete, moving logic to + layout_printer::print. + (gcc_rich_location::add_location_if_nearby): Update param from + diagnostic_context to diagnostic_source_print_policy. Add + overload taking a diagnostic_context. + (diagnostic_context::maybe_show_locus): Move handling of null + pretty_printer here, from layout ctor. Convert call to + diagnostic_context::show_locus to + diagnostic_source_print_policy::print. + (diagnostic_source_print_policy::diagnostic_source_print_policy): + New. + (diagnostic_context::show_locus): Convert to... + (diagnostic_source_print_policy::print): ...this. Convert pp + from * to &. + (layout_printer::print): New, based on material in + diagnostic_context::show_locus. + (selftest::make_char_policy): New. + (selftest::test_display_widths): Update for above changes. + (selftest::test_offset_impl): Likewise. + (selftest::test_layout_x_offset_display_utf8): Likewise. + (selftest::test_layout_x_offset_display_tab): Likewise. + (selftest::test_diagnostic_show_locus_unknown_location): Use + test_diagnostic_context::test_show_locus rather than + diagnostic_show_locus. + (selftest::test_one_liner_no_column): Likewise. + (selftest::test_one_liner_caret_and_range): Likewise. + (selftest::test_one_liner_multiple_carets_and_ranges): Likewise. + (selftest::test_one_liner_fixit_insert_before): Likewise. + (selftest::test_one_liner_fixit_insert_after): Likewise. + (selftest::test_one_liner_fixit_remove): Likewise. + (selftest::test_one_liner_fixit_replace): Likewise. + (selftest::test_one_liner_fixit_replace_non_equal_range): + Likewise. + (selftest::test_one_liner_fixit_replace_equal_secondary_range): + Likewise. + (selftest::test_one_liner_fixit_validation_adhoc_locations): + Likewise. + (selftest::test_one_liner_many_fixits_1): Likewise. + (selftest::test_one_liner_many_fixits_2): Likewise. + (selftest::test_one_liner_labels): Likewise. + (selftest::test_one_liner_simple_caret_utf8): Likewise. + (selftest::test_one_liner_caret_and_range_utf8): Likewise. + (selftest::test_one_liner_multiple_carets_and_ranges_utf8): + Likewise. + (selftest::test_one_liner_fixit_insert_before_utf8): Likewise. + (selftest::test_one_liner_fixit_insert_after_utf8): Likewise. + (selftest::test_one_liner_fixit_remove_utf8): Likewise. + (selftest::test_one_liner_fixit_replace_utf8): Likewise. + (selftest::test_one_liner_fixit_replace_non_equal_range_utf8): + Likewise. + (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8): + Likewise. + (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8): + Likewise. + (selftest::test_one_liner_many_fixits_1_utf8): Likewise. + (selftest::test_one_liner_many_fixits_2_utf8): Likewise. + (selftest::test_one_liner_labels_utf8): Likewise. + (selftest::test_one_liner_colorized_utf8): Likewise. + (selftest::test_add_location_if_nearby): Likewise. + (selftest::test_diagnostic_show_locus_fixit_lines): Likewise. + (selftest::test_overlapped_fixit_printing): Likewise. + (selftest::test_overlapped_fixit_printing_utf8): Likewise. + (selftest::test_overlapped_fixit_printing_2): Likewise. + (selftest::test_fixit_insert_containing_newline): Likewise. + (selftest::test_fixit_insert_containing_newline_2): Likewise. + (selftest::test_fixit_replace_containing_newline): Likewise. + (selftest::test_fixit_deletion_affecting_newline): Likewise. + (selftest::test_tab_expansion): Likewise. + (selftest::test_escaping_bytes_1): Likewise. + (selftest::test_escaping_bytes_2): Likewise. + (selftest::test_line_numbers_multiline_range): Likewise. + * diagnostic.cc + (diagnostic_column_policy::diagnostic_column_policy): New. + (diagnostic_context::converted_column): Convert to... + (diagnostic_column_policy::converted_column): ...this. + (diagnostic_context::get_location_text): Convert to... + (diagnostic_column_policy::get_location_text): ...this, adding + "show_column" param. + (diagnostic_location_print_policy::diagnostic_location_print_policy): + New ctors. + (default_diagnostic_start_span_fn): Convert param from + diagnostic_context * to const diagnostic_location_print_policy &. + Add "pp" param. + (selftest::assert_location_text): Update for above changes. + (selftest::test_diagnostic_get_location_text): Rename to... + (selftest::test_get_location_text): ...this. + (selftest::c_diagnostic_cc_tests): Update for renaming. + * diagnostic.h (class diagnostic_location_print_policy): New + forward decl. + (class diagnostic_source_print_policy): New forward decl. + (diagnostic_start_span_fn): Convert first param from + diagnostic_context * to const diagnostic_location_print_policy & + and add pretty_printer * param. + (class diagnostic_column_policy): New. + (class diagnostic_location_print_policy): New. + (class diagnostic_source_print_policy): New. + (class diagnostic_context): Add friend class + diagnostic_source_print_policy. + (diagnostic_context::converted_column): Drop decl in favor of + diagnostic_column_policy::converted_column. + (diagnostic_context::get_location_text): Drop decl in favor of + diagnostic_column_policy::get_location_text. + (diagnostic_context::show_locus): Drop decl in favor of + diagnostic_source_print_policy::print. + (default_diagnostic_start_span_fn): Update for change to + diagnostic_start_span_fn. + * gcc-rich-location.h (class diagnostic_source_print_policy): New + forward decl. + (gcc_rich_location::add_location_if_nearby): Convert first param + from diagnostic_context to diagnostic_source_print_policy. Add + overload taking diagnostic_context. + * selftest-diagnostic.cc + (selftest::test_diagnostic_context::test_diagnostic_context): Turn + off colorization. + (selftest::test_diagnostic_context::start_span_cb): Update for + change to callback type. + (test_diagnostic_context::test_show_locus): New. + * selftest-diagnostic.h + (selftest::test_diagnostic_context::start_span_cb): Update for + change to callback type. + (test_diagnostic_context::test_show_locus): New decl. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * diagnostic-format-json.cc (diagnostic_output_format_init_json): + Pass in the format. Use the format's printer when disabling + colorization. Move the call to set_output_format into here. + (diagnostic_output_format_init_json_stderr): Update for above + change. + (diagnostic_output_format_init_json_file): Likewise. + * diagnostic-format-sarif.cc + (diagnostic_output_format_init_sarif): Use the format's printer + when disabling colorization. + * diagnostic-path.cc (selftest::test_empty_path): Use the + text_output's printer. + (selftest::test_intraprocedural_path): Likewise. + (selftest::test_interprocedural_path_1): Likewise. + (selftest::test_interprocedural_path_2): Likewise. + (selftest::test_recursion): Likewise. + (selftest::test_control_flow_1): Likewise. + (selftest::test_control_flow_2): Likewise. + (selftest::test_control_flow_3): Likewise. + (selftest::assert_cfg_edge_path_streq): Likewise. + (selftest::test_control_flow_5): Likewise. + (selftest::test_control_flow_6): Likewise. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * attribs.cc: Include "pretty-print-markup.h". + (decls_mismatched_attributes): Defer colorization choices by + replacing printing to a pretty_printer * param with appending + to a vec of strings. + (maybe_diag_alias_attributes): As above, replacing pretty_printer + with usage of pp_markup::comma_separated_quoted_strings and "%e" + in two places. + * attribs.h (decls_mismatched_attributes): Update decl. + * gimple-ssa-warn-access.cc: Include "pretty-print-markup.h". + (pass_waccess::maybe_warn_memmodel): Defer colorization choices by + replacing printing to a pretty_printer * param with use of + pp_markup::comma_separated_quoted_strings and "%e". + (pass_waccess::maybe_warn_memmodel): Likewise, replacing printing + to a temporary buffer. + * pretty-print-markup.h + (class pp_markup::comma_separated_quoted_strings): New. + * pretty-print.cc + (pp_markup::comma_separated_quoted_strings::add_to_phase_2): New. + (selftest::test_pp_printf_within_pp_element): New. + (selftest::test_comma_separated_quoted_strings): New. + (selftest::pretty_print_cc_tests): Call the new tests. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + * pretty-print.cc (output_buffer::dump): New. + (pretty_printer::dump): New. + * pretty-print.h (output_buffer::dump): New decls. + (pretty_printer::dump): New decls. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc (sarif_builder::~sarif_builder): New, + deleting any remaining artifact objects. + (sarif_builder::make_run_object): Empty the artifact map. + * ordered-hash-map.h (ordered_hash_map::empty): New. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/c6x/c6x.md (sdot_prodv2hi): Renamed to... + (sdot_prodsiv2hi): ...this. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/rs6000/altivec.md (udot_prod<mode>): Renamed to... + (udot_prodv4si<mode>): ...this. + (sdot_prodv8hi): Renamed to... + (sdot_prodv4siv8hi): ...this. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/mips/loongson-mmi.md (sdot_prodv4hi): Renamed to... + (sdot_prodv2siv4hi): ...this. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/arc/simdext.md (sdot_prodv2hi): Renamed to... + (sdot_prodsiv2hi): ...this. + (udot_prodv2hi): Renamed to... + (udot_prodsiv2hi): ...this. + (sdot_prodv4hi): Renamed to... + (sdot_prodv2siv4hi): ...this. + (udot_prodv4hi): Renamed to... + (udot_prodv2siv4hi): ...this. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/i386/mmx.md (usdot_prodv8qi): Renamed to... + (usdot_prodv2siv8qi): ...this. + (sdot_prodv8qi): Renamed to... + (sdot_prodv2siv8qi): ...this. + (udot_prodv8qi): Renamed to... + (udot_prodv2siv8qi): ...this. + (usdot_prodv4hi): Renamed to... + (usdot_prodv2siv4hi): ...this. + (udot_prodv4hi): Renamed to... + (udot_prodv2siv4hi): ...this. + (sdot_prodv4hi): Renamed to... + (sdot_prodv2siv4hi): ...this. + * config/i386/sse.md (sdot_prod<mode>): Renamed to... + (sdot_prod<sseunpackmodelower><mode>): ...this. + (sdot_prodv4si): Renamed to... + (sdot_prodv2div4si): ...this. + (usdot_prod<mode>): Renamed to... + (usdot_prod<ssedvecmodelower><mode>): ...this. + (sdot_prod<mode>): Renamed to... + (sdot_prod<ssedvecmodelower><mode>): ...this. + (sdot_prodv64qi): Renamed to... + (sdot_prodv16siv64qi): ...this. + (udot_prod<mode>): Renamed to... + (udot_prod<ssedvecmodelower><mode>): ...this. + (udot_prodv64qi): Renamed to... + (udot_prodv16qiv64qi): ...this. + (usdot_prod<mode>): Renamed to... + (usdot_prod<sseunpackmodelower><mode>): ...this. + (udot_prod<mode>): Renamed to... + (udot_prod<sseunpackmodelower><mode>): ...this. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/arm/neon.md (<sup>dot_prod<vsi2qi>): Renamed to... + (<sup>dot_prod<mode><vsi2qi>): ...this. + (neon_<sup>dot<vsi2qi>): Renamed to... + (neon_<sup>dot<mode><vsi2qi>): ...this. + (neon_usdot<vsi2qi>): Renamed to... + (neon_usdot<mode><vsi2qi>): ...this. + (usdot_prod<vsi2qi>): Renamed to... + (usdot_prod<mode><vsi2qi>): ...this. + * config/arm/arm-builtins.cc + (CODE_FOR_neon_sdotv8qi): Definie as alias to + new CODE_FOR_neon_sdotv2siv8qi. + (CODE_FOR_neon_udotv8qi): Definie as alias to + new CODE_FOR_neon_udotv2siv8qi. + (CODE_FOR_neon_usdotv8qi): Definie as alias to + new CODE_FOR_neon_usdotv2siv8qi. + (CODE_FOR_neon_sdotv16qi): Definie as alias to + new CODE_FOR_neon_sdotv4siv16qi. + (CODE_FOR_neon_udotv16qi): Definie as alias to + new CODE_FOR_neon_udotv4siv16qi. + (CODE_FOR_neon_usdotv16qi): Definie as alias to + new CODE_FOR_neon_usdotv4siv16qi. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/aarch64/aarch64-simd.md + (<sur>dot_prod<vsi2qi><vczle><vczbe>): Renamed to... + (<sur>dot_prod<mode><vsi2qi><vczle><vczbe>): ...this. + (usdot_prod<vsi2qi><vczle><vczbe>): Renamed to... + (usdot_prod<mode><vsi2qi><vczle><vczbe>): ...this. + (<su>sadv16qi): Adjust call to gen_udot_prod take second mode. + (popcount<mode2>): fix use of `udot_prod_optab'. + * config/aarch64/aarch64-sve.md + (<sur>dot_prod<vsi2qi>): Renamed to... + (<sur>dot_prod<mode><vsi2qi>): ...this. + (@<sur>dot_prod<vsi2qi>): Renamed to... + (@<sur>dot_prod<mode><vsi2qi>): ...this. + (<su>sad<vsi2qi>): Adjust call to gen_udot_prod take second mode. + * config/aarch64/aarch64-sve2.md + (@aarch64_sve_<sur>dotvnx4sivnx8hi): Renamed to... + (<sur>dot_prodvnx4sivnx8hi): ...this. + * config/aarch64/aarch64-simd-builtins.def: Modify macro + expansion-based initialization and expansion + of (u|s|us)dot_prod builtins. + * config/aarch64/aarch64-builtins.cc + (CODE_FOR_aarch64_sdot_prodv8qi): Define as alias to + new CODE_FOR_sdot_prodv2siv8qi. + (CODE_FOR_aarch64_udot_prodv8qi): Define as alias to + new CODE_FOR_udot_prodv2siv8qi. + (CODE_FOR_aarch64_usdot_prodv8qi): Define as alias to + new CODE_FOR_usdot_prodv2siv8qi. + (CODE_FOR_aarch64_sdot_prodv16qi): Define as alias to + new CODE_FOR_sdot_prodv4siv16qi. + (CODE_FOR_aarch64_udot_prodv16qi): Define as alias to + new CODE_FOR_udot_prodv4siv16qi. + (CODE_FOR_aarch64_usdot_prodv16qi): Define as alias to + new CODE_FOR_usdot_prodv4siv16qi. + * config/aarch64/aarch64-sve-builtins-base.cc + (svdot_impl::expand): s/direct/convert/ in + `convert_optab_handler_for_sign' function call. + (svusdot_impl::expand): add second mode argument in call to + `code_for_dot_prod'. + * config/aarch64/aarch64-sve-builtins.cc + (function_expander::convert_optab_handler_for_sign): New class + method. + * config/aarch64/aarch64-sve-builtins.h + (class function_expander): Add prototype for new + `convert_optab_handler_for_sign' method. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * gimple-match-exports.cc (directly_supported_p): Add overload + for conversion-type optabs. + * gimple-match.h (directly_supported_p): Add new function + prototype. + * optabs.cc (expand_widen_pattern_expr): Make the + DOT_PROD_EXPR tree code use `find_widening_optab_handler' to + retrieve icode. + * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): make it + call conversion-type overloaded `directly_supported_p'. + * tree-vect-patterns.cc (vect_supportable_conv_optab_p): New. + (vect_recog_dot_prod_pattern): s/direct/conv/ in call to + `vect_supportable_direct_optab_p'. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * optabs.def (sdot_prod_optab): Convert from OPTAB_D to + OPTAB_CD. + (udot_prod_optab): Likewise. + (usdot_prod_optab): Likewise. + * doc/md.texi (Standard Names): update entries for u,s and us + dot_prod names. + +2024-09-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116879 + * tree-vect-loop.cc (vect_analyze_loop_form): Scan all + blocks that form the latch. + +2024-09-30 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116817 + * tree-vect-patterns.cc (vect_recog_bool_pattern): Check for const or + externals. + +2024-09-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116842 + * tree-vect-stmts.cc (hoist_defs_of_uses): Sort stmts to hoist + after UID to avoid breaking vect_stmt_dominates_stmt_p. + +2024-09-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116785 + * tree-ssa-structalias.cc (get_constraint_for_1): Only + volatile qualified reads produce ANYTHING. + +2024-09-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116850 + * gimple-ssa-isolate-paths.cc (bb_split_points): New global. + (insert_trap): Delay BB splitting if post-doms are computed. + (find_explicit_erroneous_behavior): Process delayed BB + splitting after releasing post dominators. + (gimple_ssa_isolate_erroneous_paths): Do not free post-dom + info here. + +2024-09-30 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 1 matching pattern for signed SAT_SUB. + * tree-ssa-math-opts.cc (gimple_signed_integer_sat_sub): Add new + decl for generated SAT_SUB matching func. + (match_unsigned_saturation_sub): Rename from... + (match_saturation_sub): ...Rename to and add signed SAT_SUB matching. + (math_opts_dom_walker::after_dom_children): Leverage the named + match func for both the unsigned and signed SAT_SUB. + +2024-09-29 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-protos.h (riscv_expand_sssub): Add new func + decl for expanding signed SAT_SUB. + * config/riscv/riscv.cc (riscv_expand_sssub): Add new func impl + for expanding signed SAT_SUB. + * config/riscv/riscv.md (sssub<mode>3): Add new pattern sssub + for scalar signed integer. + +2024-09-29 Jakub Jelinek <jakub@redhat.com> + + PR target/116627 + * cselib.cc (remove_useless_values): Discard useless locs + even from preserved cselib_vals in cselib_preserved_hash_table + hash table. + +2024-09-29 Pietro Monteiro <pietro@sociotechnical.xyz> + + * doc/extend.texi (SH Operand Modifiers): New. + +2024-09-29 Jovan Vukic <Jovan.Vukic@rt-rk.com> + + PR target/108038 + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): New + simplification. + +2024-09-29 Dimitar Dimitrov <dimitar@dinux.eu> + + * doc/sourcebuild.texi: Document struct-layout-1.exp. + +2024-09-28 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <i?86-*-linux*>: Remove note + from 2003. + +2024-09-27 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/116847 + * diagnostic.h (diagnostic_option_classifier): Add pch_save and + pch_restore method declarations. + (diagnostic_context): Add pch_save and pch_restore inline method + definitions. + * diagnostic.cc (diagnostic_option_classifier::pch_save): New method. + (diagnostic_option_classifier::pch_restore): Likewise. + +2024-09-27 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/116847 + * diagnostic.h (diagnostic_option_classifier): Change type + of m_classification_history from diagnostic_classification_change_t * + to vec<diagnostic_classification_change_t>. Change type of + m_push_list from int * to vec<int>. Remove m_n_classification_history + and m_n_push members. + * diagnostic.cc (diagnostic_option_classifier::init): Set m_push_list + to vNULL rather than nullptr. Don't initialize m_n_push. Initialize + m_classification_history to vNULL. + (diagnostic_option_classifier::fini): Call release () method on + m_push_list instead of free on it. Call release () on + m_classification_history. Don't clear m_n_push. + (diagnostic_option_classifier::push): Adjust for m_push_list and + m_classification_history being vectors rather than custom allocated + arrays with counter. + (diagnostic_option_classifier::pop): Likewise. + (classify_diagnostic): Adjust for m_classification_history being + vector rather than custom allocated array with counter. + (update_effective_level_from_pragmas): Likewise. + +2024-09-27 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.h: Add PTA_BDVER1, PTA_BDVER2, PTA_BDVER3, + PTA_BDVER4, PTA_BTVER1 and PTA_BTVER2. + * common/config/i386/i386-common.cc (processor_alias_table) + <"bdver1">: Use PTA_BDVER1. + <"bdver2">: Use PTA_BDVER2. + <"bdver3">: Use PTA_BDVER3. + <"bdver4">: Use PTA_BDVER4. + <"btver1">: Use PTA_BTVER1. Use M_CPU_TYPE (AMD_BTVER1). + <"btver2">: Use PTA_BTVER2. + <"shanghai>: Use M_CPU_SUBTYPE (AMDFAM10H_SHANGHAI). + <"istanbul>: Use M_CPU_SUBTYPE (AMDFAM10H_ISTANBUL). + +2024-09-27 Pan Li <pan2.li@intel.com> + + PR middle-end/116861 + * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): Backup + the next psi iterator before remove the phi node. + +2024-09-27 Richard Biener <rguenther@suse.de> + + * doc/contrib.texi (Richard Biener): Move entry. + +2024-09-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116818 + * tree-vect-stmts.cc (get_group_load_store_type): Consider + VMAT_GATHER_SCATTER instead of VMAT_ELEMENTWISE also for SLP. + (vectorizable_load): For single-lane VMAT_GATHER_SCATTER also + ignore permutations. + +2024-09-27 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): + Use the new vect_get_num_copies overload. Only divide by + group_size for SLP for load-store lanes. + +2024-09-27 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116848 + * tree-ssa-loop-unswitch.cc (tree_ssa_unswitch_loops): Call mark_ssa_maybe_undefs. + (is_maybe_undefined): Call ssa_name_maybe_undef_p instead of ondemand undef. + +2024-09-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114855 + * params.opt (--param transitive-relations-work-bound): New. + * doc/invoke.texi (--param transitive-relations-work-bound): + Document. + * value-relation.cc (dom_oracle::register_transitives): + Assing an overall work budget, bounding the dominator walk and + the number of relations processed. + (dom_oracle::record): Only register_transitives when the + number of already registered relations does not yet exceed + the per-BB limit. + +2024-09-26 Tobias Burnus <tburnus@baylibre.com> + + * langhooks-def.h (lhd_omp_deep_mapping_p, + lhd_omp_deep_mapping_cnt, lhd_omp_deep_mapping): New. + (LANG_HOOKS_OMP_DEEP_MAPPING_P, LANG_HOOKS_OMP_DEEP_MAPPING_CNT, + LANG_HOOKS_OMP_DEEP_MAPPING): Define. + (LANG_HOOKS_DECLS): Use it. + * langhooks.cc (lhd_omp_deep_mapping_p, lhd_omp_deep_mapping_cnt, + lhd_omp_deep_mapping): New stubs. + * langhooks.h (struct lang_hooks_for_decls): Add new hooks + * omp-expand.cc (expand_omp_target): Handle dynamic-size + addr/sizes/kinds arrays. + * omp-low.cc (build_sender_ref, fixup_child_record_type, + scan_sharing_clauses, lower_omp_target): Update to handle + new hooks and dynamic-size addr/sizes/kinds arrays. + +2024-09-26 Jakub Jelinek <jakub@redhat.com> + + * pretty-print.cc (allocate_object): Use obstack_blank rather than + obstack_grow. + +2024-09-26 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <*-*-mingw32>: Remove note regarding + binutils 2.16. + +2024-09-26 Kugan Vivekanandarajah <kvivekananda@nvidia.com> + + * match.pd: Extend A CMP 0 ? A : -A into (type)A CMP 0 ? A : -A. + Extend A CMP 0 ? A : -A into (type) A CMP 0 ? A : -A. + +2024-09-26 Levy Hsu <admin@levyhsu.com> + + * config/i386/mmx.md: + (VQI_16_32_64): New mode iterator for 8-byte, 4-byte, and 2-byte QImode. + (popcount<mode>2): New pattern for popcount of V2QI/V4QI/V8QI mode. + (popcount<mode>2): New pattern for popcount of V2HI/V4HI mode. + (popcountv2si2): New pattern for popcount of V2SI mode. + +2024-09-26 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386.h (VECTOR_STORE_FLAG_VALUE): New macro. + +2024-09-26 Pan Li <pan2.li@intel.com> + + * match.pd: Add optional nop_convert for signed SAT_ADD case 4. + +2024-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR other/116801 + * common.opt.urls: Regenerate. + +2024-09-25 Jakub Jelinek <jakub@redhat.com> + + PR target/116738 + * config/i386/i386.cc (ix86_fold_builtin): Handle + IX86_BUILTIN_M{IN,AX}{S,P}{S,H,D}*. + (ix86_gimple_fold_builtin): Handle IX86_BUILTIN_M{IN,AX}P{S,H,D}*. + +2024-09-25 H.J. Lu <hjl.tools@gmail.com> + + PR target/116839 + * config/i386/i386.cc (ix86_rewrite_tls_address_1): Make it + static. Return if TLS address is thread register plus an integer + register. + +2024-09-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116772 + * generic-match-head.cc (expr_no_side_effects_p): New function + * gimple-match-head.cc (expr_no_side_effects_p): New function + * match.pd (`a != 0 ? a / b : 0`): Check expr_no_side_effects_p. + (`a != 0 ? a * b : 0`, `a != 0 ? a & b : 0`): Likewise. + +2024-09-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> + + PR tree-optimization/114326 + * match.pd: Add two patterns to fold a ^ b to 0, when a == b. + +2024-09-25 Richard Biener <rguenther@suse.de> + + * value-range.cc (get_bitmask_from_range): Remove redundant + compare of xorv with zero. + +2024-09-25 Richard Biener <rguenther@suse.de> + + * wide-int.h (wide_int_storage::wide_int_storage): Branch + on source precision to avoid data dependence on memcpy + destination. + (wide_int_storage::operator=): Likewise. + +2024-09-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> + + PR tree-optimization/109393 + * match.pd: (A * B) + (-C) -> (B - C/A) * A, if C a multiple of A. + +2024-09-25 Richard Biener <rguenther@suse.de> + + * tree-ssa-reassoc.cc (break_up_subtract_bb): Remove recursion. + (reassociate_bb): Likewise. + (do_reassoc): Implement worklist based dominator walks for + both break_up_subtract_bb and reassociate_bb. + +2024-09-25 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/114855 + * tree-ssa-threadedge.cc: Remove unneeded recursion. + +2024-09-25 Richard Biener <rguenther@suse.de> + + * ipa-utils.cc (find_always_executed_bbs): Switch result + bitmap to tree view. + +2024-09-25 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/114855 + * ira.cc (add_store_equivs): Use sbitmap for tracking + visited insns. + +2024-09-25 Richard Biener <rguenther@suse.de> + + * ira.cc (ira): Gate add_store_equivs on flag_expensive_optimizations. + +2024-09-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114855 + * value-relation.cc (equiv_oracle::equiv_oracle): Switch + m_equiv_set to tree view. + +2024-09-25 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.opt: Update the features included in apxf. + +2024-09-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/107637 + * omp-general.cc (find_combined_omp_for, find_nested_loop_xform): + Handle CLEANUP_POINT_EXPR like TRY_FINALLY_EXPR. + * doc/invoke.texi (frange-for-ext-temps): Document. Add + -fconcepts to the C++ option list. + +2024-09-24 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Fix comment + typo, insead -> instead. + +2024-09-24 Yixuan Chen <chenyixuan@iscas.ac.cn> + + * config/riscv/riscv.h: Fix FIXED_REGISTERS comment missing return + address register. + +2024-09-24 Sandra Loosemore <sloosemore@baylibre.com> + + * omp-general.cc (omp_check_context_selector): Reject other + properties in the same selector set with kind(any). Also reject + duplicate name-list properties. + +2024-09-24 Richard Biener <rguenther@suse.de> + + * range-op.cc (operator_rshift::op1_range): Use wi::mask instead + of shift and not. + +2024-09-24 Pan Li <pan2.li@intel.com> + + PR middle-end/116814 + * tree-ssa-math-opts.cc (build_saturation_binary_arith_call): Make + ifn is_supported type check based on operand instead of lhs. + +2024-09-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116819 + * tree-vect-stmts.cc (vect_analyze_stmt): When the SLP + representative isn't relevant signal failure instead of + success. + +2024-09-24 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec.md (vec_extract<mode><vls_quarter>): + Add quarter vec-vec extract. + * config/riscv/vector-iterators.md: New iterators. + +2024-09-24 Jason Merrill <jason@redhat.com> + + * configure.ac (CXX_WARNING_OPTS): Change -Wno-narrowing + to -Wno-error=narrowing. + * configure: Regenerate. + * config/i386/i386.h (debugger_register_map) + (debugger64_register_map) + (svr4_debugger_register_map): Make unsigned. + * config/i386/i386.cc: Likewise. + * diagnostic-event-id.h (diagnostic_thread_id_t): Make int. + * vec.h (vec::size): Make unsigned int. + * ipa-modref.cc (escape_point::arg): Make unsigned. + (modref_lattice::add_escape_point): Use eaf_flags_t. + (update_escape_summary_1): Use eaf_flags_t, && for bool. + * pair-fusion.cc (pair_fusion_bb_info::track_access): + Make mem_size unsigned int. + * pretty-print.cc (format_phase_2): Cast va_arg to char. + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Make nheaders + unsigned, remove cast. + * tree-ssa-structalias.cc (bitpos_of_field): Return unsigned. + (push_fields_onto_fieldstack):Make offset unsigned, remove cast. + * tree-vect-slp.cc (vect_prologue_cost_for_slp): Use nelt_limit. + * tree-vect-stmts.cc (vect_truncate_gather_scatter_offset): + Make scale unsigned. + (vectorizable_operation): Make ncopies unsigned. + * rtl-ssa/member-fns.inl: Make num_accesses unsigned int. + +2024-09-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114855 + * tree-into-ssa.cc (update_ssa): Use tree view for the + initial population of blocks_to_update. + +2024-09-24 Tobias Burnus <tburnus@baylibre.com> + + * lto-cgraph.cc (output_offload_tables, omp_requires_to_name): Handle + self_maps clause. + * omp-general.cc (struct omp_ts_info, omp_context_selector_matches): + Likewise for the associated trait. + * omp-general.h (enum omp_requires): Add OMP_REQUIRES_SELF_MAPS. + * omp-selectors.h (enum omp_ts_code): Add + OMP_TRAIT_IMPLEMENTATION_SELF_MAPS. + +2024-09-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115372 + * tree-vect-slp.cc (vect_build_slp_instance): Compute the + uniform, if, number of lanes of the RHS sub-graphs feeding + the store and if uniformly one, use store-lanes if the target + supports that. + +2024-09-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114855 + * tree-into-ssa.cc (phis_to_rewrite): Remove global var. + (mark_phi_for_rewrite): Simplify. + (rewrite_update_phi_arguments): Walk all PHIs, process + those satisfying rewrite_uses_p. + (delete_update_ssa): Simplify. + (update_ssa): Likewise. Switch blocks_with_phis_to_rewrite + to tree view. + +2024-09-24 Yangyu Chen <chenyangyu@isrc.iscas.ac.cn> + + * hosthooks.h (struct host_hooks): Fix GCC_HOST_HOOKS_H typo. + +2024-09-24 Prathamesh Kulkarni <prathameshk@nvidia.com> + Thomas Schwinge <tschwinge@baylibre.com> + + PR target/104957 + * config/nvptx/nvptx.cc (nvptx_asm_output_def_from_decls): Use + cgraph_node::get(name)->ultimate_alias_target instead of value. + +2024-09-23 Saurabh Jha <saurabh.jha@arm.com> + + * config/aarch64/aarch64-simd.md + (*aarch64_faminmax_fused): Instruction pattern for faminmax + codegen. + * config/aarch64/iterators.md: Attribute for faminmax codegen. + +2024-09-23 Saurabh Jha <saurabh.jha@arm.com> + + * config/aarch64/aarch64-builtins.cc + (ENTRY): Macro to parse the contents of + aarch64-simd-pragma-builtins.def. + (ENTRY_VHSDF): Macro to parse the contents of + aarch64-simd-pragma-builtins.def. + (enum aarch64_builtins): New enum values for faminmax builtins + via aarch64-simd-pragma-builtins.def. + (enum class aarch64_builtin_signatures): Enum class to specify + the number of operands a builtin will take. + (struct aarch64_pragma_builtins_data): Struct to hold data from + aarch64-simd-pragma-builtins.def. + (aarch64_fntype): New function to define function types of + intrinsics given an object of type aarch64_pragma_builtins_data. + (aarch64_init_pragma_builtins): New function to define pragma + builtins. + (aarch64_get_pragma_builtin): New function to get a row of + aarch64_pragma_builtins, given code. + (handle_arm_neon_h): Modify to call + aarch64_init_pragma_builtins. + (aarch64_general_check_builtin_call): Modify to check whether + required flag is being used for pragma builtins. + (aarch64_expand_pragma_builtin): New function to emit + instructions of pragma_builtin. + (aarch64_general_expand_builtin): Modify to call + aarch64_expand_pragma_builtin. + * config/aarch64/aarch64-option-extensions.def + (AARCH64_OPT_EXTENSION): Introduce new flag for this extension. + * config/aarch64/aarch64-simd.md + (@aarch64_<faminmax_uns_op><mode>): Instruction pattern for + faminmax intrinsics. + * config/aarch64/aarch64.h + (TARGET_FAMINMAX): Introduce new flag for this extension. + * config/aarch64/iterators.md: New iterators and unspecs. + * doc/invoke.texi: Document extension in AArch64 Options. + * config/aarch64/aarch64-simd-pragma-builtins.def: New file to + list pragma builtins. + +2024-09-23 Matthieu Longo <matthieu.longo@arm.com> + + * dwarf2cfi.cc + (struct dw_cfi_row): Declare a new enum type to replace ra_mangled. + (cfi_row_equal_p): Use ra_state instead of ra_mangled. + (dwarf2out_frame_debug_cfa_negate_ra_state): Same. + (change_cfi_row): Same. + +2024-09-23 Matthieu Longo <matthieu.longo@arm.com> + + * config/aarch64/aarch64.cc + (aarch64_output_cfi_directive): New hook for CFI directives. + (aarch64_dw_cfi_oprnd1_desc): Same. + (TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive. + (TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc. + * config/sparc/sparc.cc + (sparc_output_cfi_directive): New hook for CFI directives. + (sparc_dw_cfi_oprnd1_desc): Same. + (TARGET_OUTPUT_CFI_DIRECTIVE): Hook for output_cfi_directive. + (TARGET_DW_CFI_OPRND1_DESC): Hook for dw_cfi_oprnd1_desc. + * coretypes.h + (struct dw_cfi_node): Forward declaration of CFI type from + gcc/dwarf2out.h. + (enum dw_cfi_oprnd_type): Same. + (enum dwarf_call_frame_info): Same. + * doc/tm.texi: Regenerated from doc/tm.texi.in. + * doc/tm.texi.in: Add doc for new target hooks. + type of enum to allow forward declaration. + * dwarf2cfi.cc + (struct dw_cfi_row): Update the description for window_save + and ra_mangled. + (dwarf2out_frame_debug_cfa_negate_ra_state): Use AArch64 CFI + directive instead of the SPARC one. + (change_cfi_row): Use the right CFI directive's name for RA + mangling. + (output_cfi): Remove explicit architecture-specific CFI + directive DW_CFA_GNU_window_save that falls into default case. + (output_cfi_directive): Use target hook as default. + * dwarf2out.cc (dw_cfi_oprnd1_desc): Use target hook as default. + * dwarf2out.h (enum dw_cfi_oprnd_type): specify underlying type + of enum to allow forward declaration. + (dw_cfi_oprnd1_desc): Call target hook. + (output_cfi_directive): Use dw_cfi_ref instead of struct + dw_cfi_node *. + * hooks.cc + (hook_bool_dwcfi_dwcfioprndtyperef_false): New. + (hook_bool_FILEptr_dwcfiptr_false): New. + * hooks.h + (hook_bool_dwcfi_dwcfioprndtyperef_false): New. + (hook_bool_FILEptr_dwcfiptr_false): New. + * target.def: Documentation for new hooks. + +2024-09-23 Matthieu Longo <matthieu.longo@arm.com> + + * combine-stack-adj.cc + (no_unhandled_cfa): Rename. + * config/aarch64/aarch64.cc + (aarch64_expand_prologue): Rename. + (aarch64_expand_epilogue): Rename. + * dwarf2cfi.cc + (dwarf2out_frame_debug_cfa_toggle_ra_mangle): Rename this... + (dwarf2out_frame_debug_cfa_negate_ra_state): To this. + (dwarf2out_frame_debug): Rename. + * reg-notes.def (REG_CFA_NOTE): Rename REG_CFA_TOGGLE_RA_MANGLE. + +2024-09-23 Tobias Burnus <tburnus@baylibre.com> + + * omp-general.cc (omp_runtime_api_procname): Strip "omp_" from + string; move get_device_from_uid as now a '_' suffix exists. + +2024-09-23 Claudiu Zissulescu <claziss@gmail.com> + + PR target/113954 + * config/arc/arc.cc (TARGET_LRA_P): Always return true. + (arc_lra_p): Remove. + * config/arc/arc.h (TARGET_LRA): Remove. + * config/arc/arc.opt (mlra): Change it to do nothing. + * doc/invoke.texi (mlra): Update option description. + +2024-09-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116810 + * tree-vect-slp.cc (vect_build_slp_instance): Onlu force + splitting for group_size > 1. + +2024-09-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116796 + * cfgloopmanip.cc (fix_loop_placements): Get LC-SSA-invalidated + bitmap and pass it on. + (remove_path): Pass LC-SSA-invalidated to fix_loop_placements. + +2024-09-23 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116812 + * tree-vect-slp.cc (vect_slp_region): Fix insertion. + +2024-09-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116791 + * tree-vect-stmts.cc (get_group_load_store_type): Only + fall back to elementwise access for single-lane SLP, restore + hard failure mode for other cases. + +2024-09-23 Tobias Burnus <tburnus@baylibre.com> + + * config/gcn/mkoffload.cc (process_asm): (Re)add the fprintf + lines for stdlib.h/stdbool.h inclusion if gcn_stack_size is used. + +2024-09-23 Pan Li <pan2.li@intel.com> + + PR target/116795 + * gimple-match-head.cc (match_cond_with_binary_phi): Fix the + incorrect cfg check as b0->b1 in above example. + +2024-09-23 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-iterator.h (gimple_seq_nondebug_singleton_p): + Rewrite to be simplely, gsi_start_nondebug/gsi_one_nondebug_before_end_p. + +2024-09-23 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple.h (remove_pointer): Remove. + (GIMPLE_CHECK2): Use std::remove_pointer instead of custom one. + +2024-09-23 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-operands.h (PHI_ARG_DEF): Remove definition. + +2024-09-23 Pan Li <pan2.li@intel.com> + + * match.pd: Add the case 3 for signed .SAT_ADD matching. + +2024-09-22 Tamar Christina <tamar.christina@arm.com> + + * tree-vect-patterns.cc (append_inv_pattern_def_seq): New. + (vect_recog_bool_pattern): Lower COND_EXPRs. + * tree-vect-slp.cc (vect_slp_region): Materialize loop invariant + statements. + * tree-vect-loop.cc (vect_transform_loop): Likewise. + * tree-vect-stmts.cc (vectorizable_comparison_1): Remove + VECT_SCALAR_BOOLEAN_TYPE_P handling for vectype. + * tree-vectorizer.cc (vec_info::vec_info): Initialize + inv_pattern_def_seq. + * tree-vectorizer.h (LOOP_VINFO_INV_PATTERN_DEF_SEQ): New. + (class vec_info): Add inv_pattern_def_seq. + +2024-09-22 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64.cc (adjust_body_cost): + Cap VF for low iteration loops. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * flag-types.h (enum gfc_inlineable_intrinsics): New type. + +2024-09-20 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * text-art/dump.h (dump_to_file): Simplify using + tree_dump_pretty_printer. + * tree-diagnostic.h (class tree_dump_pretty_printer): New. + +2024-09-20 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * diagnostic-format-sarif.cc (sarif_builder::m_printer): New + field. + (sarif_invocation::add_notification_for_ice): Drop context param. + (sarif_invocation::prepare_to_flush): Convert param from context + to builder. + (sarif_result::on_nested_diagnostic): Drop context param. Use + builder's printer. + (sarif_result::on_diagram): Drop context param. + (sarif_ice_notification::sarif_ice_notification): Drop context + param. Use builder's printer. + (sarif_builder::sarif_builder): Initialize m_printer. + (sarif_builder::on_report_diagnostic): Drop context param. Use + builder's printer. + (sarif_builder::emit_diagram): Drop context param. + (sarif_builder::flush_to_object): Use this rather than context + for call to prepare_to_flush. + (sarif_builder::make_result_object): Drop context param. Use + builder's printer. + (sarif_builder::make_reporting_descriptor_object_for_warning): + Drop context param. + (sarif_builder::make_message_object_for_diagram): Likewise. + Use builder's printer. + (sarif_output_format::on_report_diagnostic): Drop context param + from call to sarif_builder::on_report_diagnostic. + (sarif_output_format::on_diagram): Drop context param from call to + sarif_builder::emit_diagram. + * diagnostic.h (diagnostic_conetxt::get_client_data_hooks): Make const. + +2024-09-20 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * coretypes.h (class diagnostic_text_output_format): Add forward + decl. + * diagnostic-format-json.cc + (json_output_format::after_diagnostic): New. + * diagnostic-format-sarif.cc + (sarif_output_format::after_diagnostic): New. + * diagnostic-format-text.cc: Use pragmas to ignore -Wformat-diag. + (diagnostic_text_output_format::~diagnostic_text_output_format): + Use get_printer. Clean up m_includes_seen here, rather than + in ~diagnostic_context. + (diagnostic_text_output_format::on_report_diagnostic): Use + get_printer. Update for callback renamings and pass *this + to them, rather than &m_context. + (diagnostic_text_output_format::after_diagnostic): New. + (diagnostic_text_output_format::includes_seen_p): Move here + from diagnostic_context/diagnostic.cc. + (diagnostic_text_output_format::get_location_text): New. + (maybe_line_and_column): Move here from diagnostic.cc and make + non-static. + (diagnostic_text_output_format::report_current_module): Move + here from diagnostic_context/diagnostic.cc. + (default_diagnostic_text_starter): Move here from diagnostic.cc, + renaming from default_diagnostic_starter. + (default_diagnostic_text_finalizer): Likewise, renaming from + default_diagnostic_finalizer. + * diagnostic-format-text.h + (diagnostic_text_output_format::diagnostic_text_output_format): + Initialize m_last_module and m_includes_seen. + (diagnostic_text_output_format::after_diagnostic): New decl. + (diagnostic_text_output_format::build_prefix): New decl. + (diagnostic_text_output_format::report_current_module): New decl. + (diagnostic_text_output_format::append_note): New decl. + (diagnostic_text_output_format::file_name_as_prefix): New decl. + (diagnostic_text_output_format::print_path): New decl. + (diagnostic_text_output_format::show_column_p): New decl. + (diagnostic_text_output_format::get_location_text): New decl. + (diagnostic_text_output_format::includes_seen_p): New decl. + (diagnostic_text_output_format::show_any_path): New decl. + (diagnostic_text_output_format::m_last_module): New field. + (diagnostic_text_output_format::m_includes_seen): New field. + * diagnostic-format.h + (diagnostic_output_format::after_diagnostic): New vfunc. + (diagnostic_output_format::get_context): New. + (diagnostic_output_format::get_diagram_theme): New. + * diagnostic-macro-unwinding.cc: Include + "diagnostic-format-text.h". + (maybe_unwind_expanded_macro_loc): Convert first param from + diagnostic_context * to diagnostic_text_output_format & and update + accordingly. + (virt_loc_aware_diagnostic_finalizer): Likewise. + * diagnostic-macro-unwinding.h + (virt_loc_aware_diagnostic_finalizer): Likewise. + (maybe_unwind_expanded_macro_loc): Likewise. + * diagnostic-path.cc: Include "diagnostic-format-text.h". + (path_label::path_label): Drop "ctxt" param and add "colorize" + and "allow_emojis" params. Update initializations. + (path_label::get_text): Use m_colorize rather than querying + m_ctxt.m_printer. Use m_allow_emojis rather than querying + m_ctxt's diagram theme. + (path_label::m_ctxt): Drop field. + (path_label::m_colorize): Drop field. + (path_label::m_allow_emojis): Drop field. + (event_range::event_range): Drop param "ctxt". Add params + "colorize_labels" and "allow_emojis". + (event_range::print): Convert first param from + diagnostic_context & to diagnostic_text_output_format & and update + accordingly. + (path_summary::path_summary): Likewise. + (path_summary::print_swimlane_for_event_range): Likewise. + (print_path_summary_as_text): Likewise for 3rd param. + (diagnostic_context::print_path): Convert to... + (diagnostic_text_output_format::print_path): ...this. + (selftest::test_empty_path): Update to use a + diagnostic_text_output_format. + (selftest::test_intraprocedural_path): Likewise. + (selftest::test_interprocedural_path_1): Likewise. + (selftest::test_interprocedural_path_2): Likewise. + (selftest::test_recursion): Likewise. + (selftest::test_control_flow_1): Likewise. + (selftest::test_control_flow_2): Likewise. + (selftest::test_control_flow_3): Likewise. + (selftest::assert_cfg_edge_path_streq): Likewise. + (selftest::test_control_flow_5): Likewise. + (selftest::test_control_flow_6): Likewise. + * diagnostic.cc (file_name_as_prefix): Convert to... + (diagnostic_text_output_format::file_name_as_prefix): ...this. + (diagnostic_context::initialize): Update for renamings. + Move m_last_module and m_includes_seen into text output. + (diagnostic_context::finish): Likewise. + (diagnostic_context::get_location_text): Add "colorize" param. + (diagnostic_build_prefix): Convert to... + (diagnostic_text_output_format::build_prefix): ...this. + (diagnostic_context::includes_seen_p): Move from here to + diagnostic_text_output_format/diagnostic-format-text.cc. + (diagnostic_context::report_current_module): Likewise. + (diagnostic_context::show_any_path): Convert to... + (diagnostic_text_output_format::show_any_path): ...this. + (default_diagnostic_starter): Rename and move to + diagnostic-format-text.cc. + (default_diagnostic_start_span_fn): Pass colorize bool + to get_location_text. + (default_diagnostic_finalizer): Rename and move to + diagnostic-format-text.cc. + (diagnostic_context::report_diagnostic): Replace call to + show_any_path with call to new output format "after_diagnostic" + vfunc, moving show_any_path call to the text output format. + (diagnostic_append_note): Convert to... + (diagnostic_text_output_format::append_note): ...this. + (selftest::assert_location_text): Pass in false for colorization. + * diagnostic.h (diagnostic_starter_fn): Rename to... + (diagnostic_text_starter_fn): ...this. Convert first param from + diagnostic_context * to diagnostic_text_output_format &. + (diagnostic_finalizer_fn, diagnostic_text_finalizer_fn): Likewise. + (diagnostic_context): Update friends for renamings. + (diagnostic_context::report_current_module): Move to text output + format. + (diagnostic_context::get_location_text): Add "colorize" bool. + (diagnostic_context::includes_seen_p): Move to text output format. + (diagnostic_context::show_any_path): Likewise. + (diagnostic_context::print_path): Likewise. + (diagnostic_context::m_text_callbacks): Update for renamings. + (diagnostic_context::m_last_module): Move to text output format. + (diagnostic_context::m_includes_seen): Likewise. + (diagnostic_starter): Rename to... + (diagnostic_text_starter): ...this and update return type. + (diagnostic_finalizer): Rename to... + (diagnostic_text_finalizer): ...this and update return type. + (diagnostic_report_current_module): Drop decl in favor of a member + function of diagnostic_text_output_format. + (diagnostic_append_note): Likewise. + (default_diagnostic_starter): Rename to... + (default_diagnostic_text_starter): ...this, updating type. + (default_diagnostic_finalizer): Rename to... + (default_diagnostic_text_finalizer): ...this, updating type. + (file_name_as_prefix): Drop decl. + * langhooks-def.h (lhd_print_error_function): Convert first param + from diagnostic_context * to diagnostic_text_output_format &. + * langhooks.cc: Include "diagnostic-format-text.h". + (lhd_print_error_function): Likewise. Update accordingly + * langhooks.h (lang_hooks::print_error_function): Convert first + param from diagnostic_context * to + diagnostic_text_output_format &. + * tree-diagnostic.cc: Include "diagnostic-format-text.h". + (diagnostic_report_current_function): Convert first param from + diagnostic_context * to diagnostic_text_output_format & and update + accordingly. + (default_tree_diagnostic_starter): Rename to... + (default_tree_diagnostic_text_starter): ...this. Convert first + param from diagnostic_context * to diagnostic_text_output_format & + and update accordingly. + (tree_diagnostics_defaults): Update for renamings. + +2024-09-20 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64.h (VECTOR_STORE_FLAG_VALUE): New. + +2024-09-20 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): New. + +2024-09-20 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): Fall back + to VMAT_ELEMENTWISE when single element interleaving of + a too large group. + (vectorizable_load): Do not try to verify load permutations + when using VMAT_ELEMENTWISE for single-lane SLP and fix code + generation for this case. + +2024-09-20 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when + discovering from only-live roots. + +2024-09-20 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/s390.cc (s390_lra_p): Remove. + (TARGET_LRA_P): Remove. + * config/s390/s390.opt (mlra): Remove. + * config/s390/s390.opt.urls (mlra): Remove. + +2024-09-20 Eric Botcazou <ebotcazou@adacore.com> + + * ipa-modref.cc (modref_eaf_analysis::analyze_ssa_name): Always + process both the load and the store of a memory copy operation. + +2024-09-20 Tobias Burnus <tburnus@baylibre.com> + + * omp-general.cc (omp_runtime_api_procname): Add + get_device_from_uid and omp_get_uid_from_device routines. + +2024-09-20 Uros Bizjak <ubizjak@gmail.com> + Jakub Jelinek <jakub@redhat.com> + + PR target/116738 + * config/i386/subst.md (mask_scalar_operand_arg34, + mask_scalar_expand_op3, round_saeonly_scalar_mask_arg3): New + subst attributes. + * config/i386/sse.md + (<sse>_vm<code><mode>3<mask_scalar_name><round_saeonly_scalar_name>): + Change from define_insn to define_expand, rename the old define_insn + to ... + (*<sse>_vm<code><mode>3<mask_scalar_name><round_saeonly_scalar_name>): + ... this. + (<sse>_ieee_vm<ieee_maxmin><mode>3<mask_scalar_name><round_saeonly_scalar_name>): + New define_insn. + +2024-09-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116643 + * ssa-iterators.h (single_phi_def): Use gimple_phi_result + instead of PHI_RESULT. + (op_iter_init_phidef): Use gimple_phi_result/gimple_phi_result_ptr + instead of PHI_RESULT/PHI_RESULT_PTR. + * tree-ssa-operands.h (PHI_RESULT_PTR): Remove. + (PHI_RESULT): Use gimple_phi_result directly. + (SET_PHI_RESULT): Use gimple_phi_result_ptr directly. + +2024-09-19 Marek Polacek <polacek@redhat.com> + + PR c++/116162 + * doc/invoke.texi: Document -Wdefaulted-function-deleted. + +2024-09-19 Jakub Jelinek <jakub@redhat.com> + + * dwarf2asm.cc (eh_data_format_name): Use constexpr initialization + of format_names table for C++14 instead of a large switch. + +2024-09-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116768 + * tree-data-ref.cc (build_classic_dist_vector_1): Revert + PR101009 change. + * tree-chrec.cc (eq_evolutions_p): Make sure (sizetype)1 + and (int)1 compare equal. + +2024-09-19 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (vect_analyze_slp): Add force_single_lane + parameter. + * tree-vect-slp.cc (vect_analyze_slp_instance): Remove + defaulting of force_single_lane. + (vect_build_slp_instance): Likewise. Pass down appropriate + force_single_lane. + (vect_analyze_slp): Add force_sigle_lane parameter and pass + it down appropriately. + (vect_slp_analyze_bb_1): Always do multi-lane SLP. + * tree-vect-loop.cc (vect_analyze_loop_2): Track two SLP + modes and adjust accordingly. + (vect_analyze_loop_1): Save the SLP mode when unrolling. + +2024-09-19 Jason Merrill <jason@redhat.com> + + * ginclude/stdint-wrap.h: Add #pragma GCC diagnostic to suppress + undesired warnings. + * gsyslimits.h: Likewise. + +2024-09-19 Richard Biener <rguenther@suse.de> + + * tree-data-ref.cc (build_classic_dist_vector): Move + distance vector dumping to single caller ... + (subscript_dependence_tester): ... here, dumping always + when we succeed computing it. + +2024-09-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116573 + * tree-vect-loop.cc (vect_analyze_loop_2): Allow .SELECV_VL + for SLP but disable it when there's multi-lane instances. + * tree-vect-stmts.cc (vectorizable_store): Only compute the + ptr increment when generating code. + (vectorizable_load): Likewise. + +2024-09-19 Pan Li <pan2.li@intel.com> + + * match.pd: Add the form 3 of signed .SAT_ADD matching. + +2024-09-19 Pan Li <pan2.li@intel.com> + + * genmatch.cc (dt_operand::gen_phi_on_cond): Leverage the + match_cond_with_binary_phi API to get cond gimple, true and + false TREE arg. + +2024-09-19 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svmul_impl::fold): + Add folding of all-zero operands to zero vector. + +2024-09-19 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/tuning_models/neoversev2.h (neoversev2_prefetch_tune): + Define. + (neoversev2_tunings): Use it. + +2024-09-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/i386.md: Add ssemov2, sseicvt2. + * config/i386/sse.md (sse2_cvtsi2sd): Apply sseicvt2. + (sse2_cvtsi2sdq<round_name>): Ditto. + (vec_set<mode>_0): Apply ssemov2 for 4, 6. + +2024-09-19 Pan Li <pan2.li@intel.com> + + * gimple-match-head.cc (match_cond_with_binary_phi): Add new func + impl to match binary phi for true and false arg. + +2024-09-19 Haochen Jiang <haochen.jiang@intel.com> + + * doc/invoke.texi: Add corei7, corei7-avx, core-avx-i, + core-avx2, atom, slm, gracemont and emerarldrapids. Reorder + the -march documentation by splitting them into date-to-now + products, P-core and E-core. Refine the product names in + documentation. + +2024-09-18 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.h (GENERAL_REGNO_P): Define. + * config/pa/pa.md: Add SImode and SFmode peephole2 + patterns to generate loads and stores with long + displacements. + +2024-09-18 Jin Ma <jinma@linux.alibaba.com> + + * config/riscv/riscv.md: Change "truncate" to unspec for the Zfa extension on rv32. + +2024-09-18 Richard Biener <rguenther@suse.de> + + * params.opt (vect-force-slp): New param, default 0. + * doc/invoke.texi (--param vect-force-slp): Document. + * tree-vect-loop.cc (vect_analyze_loop_2): When analyzing + without SLP but --param vect-force-slp is 1 fail. + * tree-vect-stmts.cc (vect_analyze_stmt): Fail vectorization + for non-SLP stmts when --param vect-force-slp is 1. + +2024-09-18 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * config/riscv/riscv.cc (riscv_rtx_costs): Fix the outer_code + when calculating the cost of SET expression. + +2024-09-18 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * config/riscv/thead.md (*th_extu<mode>4): Fix th.extu + operands exceeding range on rv32. + +2024-09-18 Bohan Lei <garthlei@linux.alibaba.com> + + * config/riscv/vector.md: Allow zero operand for DI variants of + vssubu.vx + +2024-09-18 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/116569 + * match.pd: Guard simplification to trunc_mod with check for + mod optab support. + +2024-09-18 Georg-Johann Lay <avr@gjlay.de> + + PR rtl-optimization/116326 + * reload1.cc (reg_eliminate_1): Initialize from + RELOAD_ELIMINABLE_REGS if defined. + * config/avr/avr.h (RELOAD_ELIMINABLE_REGS): Copy from ELIMINABLE_REGS. + (ELIMINABLE_REGS): Don't mention sub-regnos of the frame pointer. + * doc/tm.texi.in (Eliminating Frame Pointer and Arg Pointer) + <RELOAD_ELIMINABLE_REGS>: Add documentation. + * doc/tm.texi: Rebuild. + +2024-09-18 Georg-Johann Lay <avr@gjlay.de> + + * doc/install.texi (Host/Target specific installation notes for GCC) + [avr]: Update web links to AVR-LibC and AVR Options. + Remove outdated note about Binutils. + +2024-09-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116585 + * tree-data-ref.cc (split_constant_offset_1): When either + operand is subject to abnormal coalescing do no further + processing. + +2024-09-18 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (cond_if_else_store_replacement): Use + range fors and use one vec for then/else stores instead of 2. + +2024-09-18 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (cond_if_else_store_replacement_1): Add debug dump. + +2024-09-18 Pan Li <pan2.li@intel.com> + + * config/riscv/autovec.md (ssadd<mode>3): Add new pattern for + signed integer vector SAT_ADD. + * config/riscv/riscv-protos.h (expand_vec_ssadd): Add new func + decl for vector ssadd expanding. + * config/riscv/riscv-v.cc (expand_vec_ssadd): Add new func impl + to expand vector ssadd pattern. + +2024-09-18 Michael Meissner <meissner@linux.ibm.com> + + PR target/89213 + * config/rs6000/altivec.md (UNSPEC_VECTOR_SHIFT): New unspec. + (VSHIFT_MODE): New mode iterator. + (vshift_code): New code iterator. + (vshift_attr): New code attribute. + (altivec_<mode>_<vshift_attr>_const): New pattern to optimize + vector long long/int shifts by a constant. + (altivec_<mode>_shift_const): New helper insn to load up a + constant used by the shift operation. + * config/rs6000/predicates.md (vector_shift_constant): New + predicate. + +2024-09-17 Marek Polacek <polacek@redhat.com> + + PR c++/116534 + * fold-const.cc (operand_compare::operand_equal_p): If either + field's DECL_FIELD_OFFSET is null, compare the fields with ==. + +2024-09-17 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): + Add folding of all-zero operands to zero vector. + +2024-09-16 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113328 + * config/aarch64/aarch64.cc (aarch64_simd_valid_immediate): Improve + handling of some ADVSIMD vectors by using SVE's INDEX if TARGET_SVE is + available. + (aarch64_output_simd_mov_immediate): Likewise. + +2024-09-16 Georg-Johann Lay <avr@gjlay.de> + + * doc/invoke.texi (AVR Options): Update AVR-LibC weblink from + nongnu.org to https://github.com/avrdudes/avr-libc + * doc/extend.texi (AVR Named Address Spaces): Same. + (AVR Function Attributes): Same. + * doc/install.texi (Cross-Compiler-Specific Options, AVR): Same. + +2024-09-16 Soumya AR <soumyaa@nvidia.com> + + * config/aarch64/aarch64-sve.md (*post_ra_v<optab><mode>3): Split pattern + to accomodate left and right shifts separately. + (*post_ra_v_ashl<mode>3): Matches left shifts with additional + constraint to check for shifts by 1. + (*post_ra_v_<optab><mode>3): Matches right shifts. + +2024-09-16 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-protos.h (avr_out_cmp_lsr, avr_maybe_cmp_lsr): New. + * config/avr/avr.cc (avr_maybe_cmp_lsr, avr_out_cmp_lsr): New functions. + (avr_out_compare) [GEU, LTU]: Start output at byte CTZ(xval) / 8. + (avr_adjust_insn_length) [ADJUST_LEN_CMP_LSR]: Handle case. + * config/avr/avr.md (adjust_len) <cmp_lsr>: New attr value. + (*cmp<mode>_lsr): New define_insn_and_split. + (cbranch<mode>4_insn): When splitting, run avr_maybe_cmp_lsr() + which may map the operands to *cmp<mode>_lsr. + +2024-09-16 Andreas Schwab <schwab@suse.de> + + PR target/116693 + * config/riscv/riscv.cc (riscv_legitimize_tls_address): Don't pass + seqno to gen_tlsdesc and remove it. + * config/riscv/riscv.md (@tlsdesc<mode>): Remove operand 1. Use + %= instead of %1 in template. + +2024-09-16 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-vectorizer.cc (vec_info::add_pattern_stmt): Set pattern_stmt_p. + +2024-09-16 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc: Use rtx_code for RTX codes. + Drop enum and struct tags. + * config/avr/avr.md: Same. + * config/avr/avr-c.cc: Same. + * config/avr/avr-dimode.md: Same. + * config/avr/avr-passes.cc: Same. + * config/avr/avr-protos.h: Same. + +2024-09-16 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_out_compare): Don't mix ADIW with SBCI / CPC. + +2024-09-15 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116699 + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Skip over nop/predicates + for seeing the assignment is the last statement. + +2024-09-15 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-vect-loop.cc (optimize_mask_stores): Call release_defs + after the call to gsi_remove with last argument of true. + +2024-09-15 Andrew Pinski <quic_apinski@quicinc.com> + + * bitmap.h (class auto_bitmap): Mark copy/move constructor/operator= + as deleted. + +2024-09-14 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (UNSPEC_COPYSIGN): Remove define_enum. + (copysignsf3): Use copysign instead of UNSPEC_COPYSIGN. + Allow const_double for operand 2. + +2024-09-13 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_2word_insn_p): Return true for + transparent calls: When insn attribute "type" is "xcall" + or when "adjust_len" is "call". + +2024-09-13 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Instead + of just ignorning a NOP/PREDICT, skip over them before checking + the heuristics. + +2024-09-13 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc: Use functions like avr_byte, + avr_word, avr_[u]int8/16 if convenient. + (avr_uint16): New function. + +2024-09-13 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/116661 + * omp-api.h (omp_get_fr_id_from_name, omp_get_name_from_fr_id): New + prototypes. + * omp-general.cc (omp_get_fr_id_from_name, omp_get_name_from_fr_id): + New. + +2024-09-13 Tobias Burnus <tburnus@baylibre.com> + + * config/gcn/mkoffload.cc (read_file): Remove. + (process_asm): Do not add '#include' to generated C file. + (process_obj): Generate C file that uses #embed and use + __SIZE_TYPE__ and __UINTPTR_TYPE__ instead the #include-defined + size_t and uintptr. + (main): Update call to it; remove no longer needed file I/O. + +2024-09-13 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + PR target/115860 + * config/s390/s390.cc (print_operand): Remove operand specifier + %V. + * config/s390/s390.md (UNSPEC_TF_TO_FPRX2): New. + * config/s390/vector.md (*tf_to_fprx2_0): Remove. + (*tf_to_fprx2_1): Remove. + (tf_to_fprx2): New. + +2024-09-13 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/s390.cc (s390_mem_constraint): Check displacement + for AQ and AR constraints. + +2024-09-13 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_chunk, avr_byte, avr_word) + (avr_int8, avr_uint8, avr_int16): New helper functions. + (avr_out_compare): Overhaul. + +2024-09-13 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_out_compare): Tweak 32-bit EQ and NE + comparisons that can use SBIW for the hi16 part. + +2024-09-13 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_init_machine_status): Move code to... + (avr_option_override) <init_machine_status>: ...lambda. + (avr_insn_has_reg_unused_note_p): Move up. + (_reg_unused_after, reg_unused_after): Move up. + (output_reload_in_const): Move up. + (avr_c_mode_for_floating_type): Move down. + +2024-09-13 Pan Li <pan2.li@intel.com> + + * match.pd: Remove the types_match check for signed SAT_ADD + case 1. + +2024-09-12 Alexandre Oliva <oliva@adacore.com> + Olivier Hainque <hainque@adacore.com> + + * doc/sourcebuild.texi (hostedlib): New effective target. + +2024-09-12 Uros Bizjak <ubizjak@gmail.com> + + PR target/112600 + * config/i386/mmx.md (<sat_plusminus:insn><mode>3): Rename + from *<sat_plusminus:insn><mode>3. + +2024-09-12 Jakub Jelinek <jakub@redhat.com> + + * doc/cpp.texi (Binary Resource Inclusion): Document gnu::base64 + parameter. + +2024-09-12 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/arm.h (OPTION_DEFAULT_SPECS): Allow -mcpu and -march + to be unset. + (ARCH_CPU_CLEANUP_SPECS): Likewise + (DRIVER_SELF_SPECS): Add ARCH_CPU_CLEANUP_SPECS + * doc/invoke.texi (arm: -mcpu= and -march=): Document use of 'unset'. + +2024-09-12 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*insvti_lowpart_1): Use "o" constraint + instead of "m" for double-word mode memory operands. + +2024-09-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/s390-protos.h (s390_gen_lowpart_subreg): Remove. + * config/s390/s390.cc (s390_gen_lowpart_subreg): Remove. + (s390_expand_insv): Use adjust_address() and emit a + strict_low_part only in case of a natural subreg. + * config/s390/s390.md: Use gen_lowpart() instead of + s390_gen_lowpart_subreg(). + +2024-09-12 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_slp_analyze_operations): When + doing loop analysis fail after the first failed SLP + instance. Only remove instances when doing BB vectorization. + * tree-vect-loop.cc (vect_analyze_loop_2): Check whether + vect_slp_analyze_operations failed instead of checking + the number of SLP instances remaining. + +2024-09-12 Jakub Jelinek <jakub@redhat.com> + + * doc/cpp.texi (Binary Resource Inclusion): Document gnu::offset + #embed parameter. + +2024-09-12 Jakub Jelinek <jakub@redhat.com> + + PR c/105863 + * doc/cppdiropts.texi (--embed-dir=): Document. + * doc/cpp.texi (Binary Resource Inclusion): New chapter. + (__has_embed): Document. + * doc/invoke.texi (Directory Options): Mention --embed-dir=. + * gcc.cc (cpp_unique_options): Add %{-embed*}. + * genmatch.cc (main): Adjust cpp_set_include_chains caller. + * incpath.h (enum incpath_kind): Add INC_EMBED. + * incpath.cc (merge_include_chains): Handle INC_EMBED. + (register_include_chains): Adjust cpp_set_include_chains caller. + +2024-09-12 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_2): On reassociation + chain length mismatch do not fail discovery of the node + but try without re-associating to compute a better matches[]. + Provide a reassociation failure hint in the dump. + (vect_slp_analyze_node_operations): Avoid stray failure + dumping. + (vectorizable_slp_permutation_1): Dump the address of the + SLP node representing the permutation. + +2024-09-12 Levy Hsu <admin@levyhsu.com> + + * config/i386/i386.cc (ix86_get_mask_mode): + Enable BFmode for targetm.vectorize.get_mask_mode with AVX10.2. + * config/i386/mmx.md (vec_cmp<mode>qi): + Implement vec_cmpv2bfqi and vec_cmpv4bfqi. + +2024-09-12 Bohan Lei <garthlei@linux.alibaba.com> + + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): + Delete vsetvl insn when `prev_info` is compatible + +2024-09-12 garthlei <garthlei@linux.alibaba.com> + + * config/riscv/riscv-vsetvl.cc: Use `dest_vl` for dest VL operand + +2024-09-11 Martin Jambor <mjambor@suse.cz> + + * ipa-cp.cc (propagate_vr_across_jump_function): Use + ipa_vr_supported_type_p instead of explicit check for integral and + pointer types. + +2024-09-11 Martin Jambor <mjambor@suse.cz> + + * ipa-cp.h (ipa_supports_p): Rename to ipa_vr_supported_type_p. + * ipa-cp.cc (ipa_vr_operation_and_type_effects): Adjust called + function name. + (propagate_vr_across_jump_function): Likewise. + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Likewise. + (ipcp_get_parm_bits): Likewise. + +2024-09-11 Richard Earnshaw <rearnsha@arm.com> + + PR target/116597 + * config/arm/arm.cc (arm_function_ok_for_sibcall): Use the list of + actuals for the call, not the list of formals. + +2024-09-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116674 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Support + re-analysis. + +2024-09-11 Alex Coplan <alex.coplan@arm.com> + + PR libstdc++/116140 + * lto-streamer-in.cc (input_struct_function_base): Stream in + fn->has_unroll. + * lto-streamer-out.cc (output_struct_function_base): Stream out + fn->has_unroll. + +2024-09-11 Tobias Burnus <tburnus@baylibre.com> + + * omp-general.cc (omp_runtime_api_procname): Add + omp_get_interop_{int,name,ptr,rc_desc,str,type_desc} + and omp_get_num_interop_properties. + +2024-09-11 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 2 for the signed .SAT_ADD consumed by + vect pattern. + * tree-vect-patterns.cc (gimple_signed_integer_sat_add): Add new + matching func decl for signed .SAT_ADD. + (vect_recog_sat_add_pattern): Add signed .SAT_ADD pattern match. + +2024-09-11 liuhongt <hongtao.liu@intel.com> + + * config/i386/x86-tune.def (X86_TUNE_FUSE_MOV_AND_ALU): Enable + for GNR and GNR-D. + +2024-09-10 Prathamesh Kulkarni <prathameshk@nvidia.com> + + PR target/96265 + * common.opt (foffload-abi-host-opts): New option. + * config/aarch64/aarch64.cc (aarch64_offload_options): Pass + -foffload-abi-host-opts. + * config/i386/i386-options.cc (ix86_offload_options): Likewise. + * config/rs6000/rs6000.cc (rs6000_offload_options): Likewise. + * config/nvptx/mkoffload.cc (offload_abi_host_opts): Define. + (compile_native): Append offload_abi_host_opts to argv_obstack. + (main): Handle option -foffload-abi-host-opts. + * config/gcn/mkoffload.cc (offload_abi_host_opts): Define. + (compile_native): Append offload_abi_host_opts to argv_obstack. + (main): Handle option -foffload-abi-host-opts. + * lto-wrapper.cc (merge_and_complain): Handle + -foffload-abi-host-opts. + (append_compiler_options): Likewise. + * opts.cc (common_handle_option): Likewise. + +2024-09-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116658 + * tree-vect-slp.cc (vect_is_slp_load_node): Make sure + node isn't a permute. + +2024-09-10 Pan Li <pan2.li@intel.com> + + * match.pd: Add the form 2 of signed .SAT_ADD matching. + +2024-09-10 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (execute_over_cond_phis): New template function, + moved the common parts from pass_phiopt::execute/pass_cselim::execute. + (pass_phiopt::execute): Move the functon specific parts of the loop + into an lamdba. + (pass_cselim::execute): Likewise. + +2024-09-10 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116643 + * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): s/PHI_RESULT/gimple_phi_result/. + (factor_out_conditional_operation): Likewise. + (minmax_replacement): Likewise. + (spaceship_replacement): Likewise. + (cond_store_replacement): Likewise. + (cond_if_else_store_replacement_1): Likewise. + +2024-09-10 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md (*avx2_pcmp<mode>3_1): Don't force_reg + operands[3] when it's not const0_rtx. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + * ipa-pure-const.cc: Replace include of "opts.h" with + "opts-diagnostic.h". + (suggest_attribute): Convert param from int to + diagnostic_option_id. + * lto-wrapper.cc (class lto_diagnostic_option_manager): Use + diagnostic_option_id rather than "int". + * opts-common.cc + (compiler_diagnostic_option_manager::option_enabled_p): Likewise. + * opts-diagnostic.h (class gcc_diagnostic_option_manager): + Likewise. + (class compiler_diagnostic_option_manager): Likewise. + * opts.cc (compiler_diagnostic_option_manager::make_option_name): + Likewise. + (gcc_diagnostic_option_manager::make_option_url): Likewise. + * substring-locations.cc + (format_string_diagnostic_t::emit_warning_n_va): Likewise. + (format_string_diagnostic_t::emit_warning_va): Likewise. + (format_string_diagnostic_t::emit_warning): Likewise. + (format_string_diagnostic_t::emit_warning_n): Likewise. + * substring-locations.h + (format_string_diagnostic_t::emit_warning_va): Likewise. + (format_string_diagnostic_t::emit_warning_n_va): Likewise. + (format_string_diagnostic_t::emit_warning): Likewise. + (format_string_diagnostic_t::emit_warning_n): Likewise. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-core.h (struct diagnostic_option_id): New. + (warning): Use it rather than "int" for param. + (warning_n): Likewise. + (warning_at): Likewise. + (warning_meta): Likewise. + (pedwarn): Likewise. + (permerror_opt): Likewise. + (emit_diagnostic): Likewise. + (emit_diagnostic_valist): Likewise. + (emit_diagnostic_valist_meta): Likewise. + * diagnostic-format-json.cc + (json_output_format::on_report_diagnostic): Update for renaming of + diagnostic_info field. + * diagnostic-format-sarif.cc (sarif_builder::make_result_object): + Likewise. + (make_reporting_descriptor_object_for_warning): Likewise. + * diagnostic-format-text.cc (print_option_information): Likewise. + * diagnostic-global-context.cc (emit_diagnostic): Use + "diagnostic_option_id option_id" rather than "int opt". + (emit_diagnostic_valist): Likewise. + (emit_diagnostic_valist_meta): Likewise. + (warning): Likewise. + (warning_at): Likewise. + (warning_meta): Likewise. + (warning_n): Likewise. + (pedwarn): Likewise. + (permerror_opt): Likewise. + * diagnostic.cc (diagnostic_set_info_translated): Update for + renaming of diagnostic_info field. + (diagnostic_option_classifier::classify_diagnostic): Use + "diagnostic_option_id option_id" rather than "int opt". + (update_effective_level_from_pragmas): Update for renaming of + diagnostic_info field. + (diagnostic_context::diagnostic_enabled): Likewise. + (diagnostic_context::warning_enabled_at): Use + "diagnostic_option_id option_id" rather than "int opt". + (diagnostic_context::diagnostic_impl): Likewise. + (diagnostic_context::diagnostic_n_impl): Likewise. + * diagnostic.h (diagnostic_info::diagnostic_info): Update for... + (diagnostic_info::option_index): Rename... + (diagnostic_info::option_id): ...to this. + (class diagnostic_option_manager): Use + "diagnostic_option_id option_id" rather than "int opt" for vfuncs. + (diagnostic_option_classifier): Likewise for member funcs. + (diagnostic_classification_change_t::option): Add comment. + (diagnostic_context::warning_enabled_at): Use + "diagnostic_option_id option_id" rather than "int option_index". + (diagnostic_context::option_unspecified_p): Likewise. + (diagnostic_context::classify_diagnostic): Likewise. + (diagnostic_context::option_enabled_p): Likewise. + (diagnostic_context::make_option_name): Likewise. + (diagnostic_context::make_option_url): Likewise. + (diagnostic_context::diagnostic_impl): Likewise. + (diagnostic_context::diagnostic_n_impl): Likewise. + (diagnostic_override_option_index): Rename... + (diagnostic_set_option_id): ...to this, and update for + diagnostic_info field renaming. + (diagnostic_classify_diagnostic): Use "diagnostic_option_id" + rather than "int". + (warning_enabled_at): Likewise. + (option_unspecified_p): Likewise. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_context::initialize): Replace + m_options_callbacks with m_option_mgr. + (diagnostic_context::set_option_hooks): Replace with... + (diagnostic_context::set_option_manager): ...this. + * diagnostic.h (diagnostic_option_enabled_cb): Delete. + (diagnostic_make_option_name_cb): Delete. + (diagnostic_make_option_url_cb): Delete. + (class diagnostic_option_manager): New. + (diagnostic_manager::option_enabled_p): Convert from using + m_option_callbacks to m_option_mgr. + (diagnostic_manager::make_option_name): Likewise. + (diagnostic_manager::make_option_url): Likewise. + (diagnostic_manager::set_option_hooks): Replace with... + (diagnostic_manager::set_option_manager): ...this. + (diagnostic_manager::get_lang_mask): Update for field changes. + (diagnostic_manager::m_option_callbacks): Replace with... + (diagnostic_manager::m_option_mgr): ...this and... + (diagnostic_manager::m_lang_mask): ...this. + * lto-wrapper.cc (class lto_diagnostic_option_manager): New. + (main): Port from option hooks to diagnostic_option_manager. + * opts-common.cc: Include "opts-diagnostic.h". + (compiler_diagnostic_option_manager::option_enabled_p): New. + * opts-diagnostic.h (option_name): Drop decl. + (get_option_url): Drop decl. + (class gcc_diagnostic_option_manager): New. + (class compiler_diagnostic_option_manager): New. + * opts.cc (option_name): Convert to... + (compiler_diagnostic_option_manager::make_option_name): ...this. + (get_option_url): Convert to... + (gcc_diagnostic_option_manager::make_option_url): ...this. + * toplev.cc (general_init): Port from option hooks to + diagnostic_option_manager. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * attribs.cc (decls_mismatched_attributes): Rename + diagnostic_context's "printer" field to "m_printer". + (attr_access::array_as_string): Likewise. + * diagnostic-format-json.cc + (json_output_format::on_report_diagnostic): Likewise. + (diagnostic_output_format_init_json): Likewise. + * diagnostic-format-sarif.cc + (sarif_result::on_nested_diagnostic): Likewise. + (sarif_ice_notification): Likewise. + (sarif_builder::on_report_diagnostic): Likewise. + (sarif_builder::make_result_object): Likewise. + (sarif_builder::make_location_object): Likewise. + (sarif_builder::make_message_object_for_diagram): Likewise. + (diagnostic_output_format_init_sarif): Likewise. + * diagnostic-format-text.cc + (diagnostic_text_output_format::~diagnostic_text_output_format): + Likewise. + (diagnostic_text_output_format::on_report_diagnostic): Likewise. + (diagnostic_text_output_format::on_diagram): Likewise. + (diagnostic_text_output_format::print_any_cwe): Likewise. + (diagnostic_text_output_format::print_any_rules): Likewise. + (diagnostic_text_output_format::print_option_information): + Likewise. + * diagnostic-format.h (diagnostic_output_format::get_printer): + New. + * diagnostic-global-context.cc (verbatim): Rename + diagnostic_context's "printer" field to "m_printer". + * diagnostic-path.cc (path_label::get_text): Likewise. + (print_path_summary_as_text): Likewise. + (diagnostic_context::print_path): Likewise. + (selftest::test_empty_path): Likewise. + (selftest::test_intraprocedural_path): Likewise. + (selftest::test_interprocedural_path_1): Likewise. + (selftest::test_interprocedural_path_2): Likewise. + (selftest::test_recursion): Likewise. + (selftest::test_control_flow_1): Likewise. + (selftest::test_control_flow_2): Likewise. + (selftest::test_control_flow_3): Likewise. + (assert_cfg_edge_path_streq): Likewise. + (selftest::test_control_flow_5): Likewise. + (selftest::test_control_flow_6): Likewise. + * diagnostic-show-locus.cc (layout::layout): Likewise. + (selftest::test_layout_x_offset_display_utf8): Likewise. + (selftest::test_layout_x_offset_display_tab): Likewise. + (selftest::test_diagnostic_show_locus_unknown_location): Likewise. + (selftest::test_one_liner_simple_caret): Likewise. + (selftest::test_one_liner_no_column): Likewise. + (selftest::test_one_liner_caret_and_range): Likewise. + (selftest::test_one_liner_multiple_carets_and_ranges): Likewise. + (selftest::test_one_liner_fixit_insert_before): Likewise. + (selftest::test_one_liner_fixit_insert_after): Likewise. + (selftest::test_one_liner_fixit_remove): Likewise. + (selftest::test_one_liner_fixit_replace): Likewise. + (selftest::test_one_liner_fixit_replace_non_equal_range): + Likewise. + (selftest::test_one_liner_fixit_replace_equal_secondary_range): + Likewise. + (selftest::test_one_liner_fixit_validation_adhoc_locations): + Likewise. + (selftest::test_one_liner_many_fixits_1): Likewise. + (selftest::test_one_liner_many_fixits_2): Likewise. + (selftest::test_one_liner_labels): Likewise. + (selftest::test_one_liner_simple_caret_utf8): Likewise. + (selftest::test_one_liner_caret_and_range_utf8): Likewise. + (selftest::test_one_liner_multiple_carets_and_ranges_utf8): + Likewise. + (selftest::test_one_liner_fixit_insert_before_utf8): Likewise. + (selftest::test_one_liner_fixit_insert_after_utf8): Likewise. + (selftest::test_one_liner_fixit_remove_utf8): Likewise. + (selftest::test_one_liner_fixit_replace_utf8): Likewise. + (selftest::test_one_liner_fixit_replace_non_equal_range_utf8): + Likewise. + (selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8): + Likewise. + (selftest::test_one_liner_fixit_validation_adhoc_locations_utf8): + Likewise. + (selftest::test_one_liner_many_fixits_1_utf8): Likewise. + (selftest::test_one_liner_many_fixits_2_utf8): Likewise. + (selftest::test_one_liner_labels_utf8): Likewise. + (selftest::test_one_liner_colorized_utf8): Likewise. + (selftest::test_add_location_if_nearby): Likewise. + (selftest::test_diagnostic_show_locus_fixit_lines): Likewise. + (selftest::test_overlapped_fixit_printing): Likewise. + (selftest::test_overlapped_fixit_printing_utf8): Likewise. + (selftest::test_overlapped_fixit_printing_2): Likewise. + (selftest::test_fixit_insert_containing_newline): Likewise. + (selftest::test_fixit_insert_containing_newline_2): Likewise. + (selftest::test_fixit_replace_containing_newline): Likewise. + (selftest::test_fixit_deletion_affecting_newline): Likewise. + (selftest::test_tab_expansion): Likewise. + (selftest::test_escaping_bytes_1): Likewise. + (selftest::test_escaping_bytes_2): Likewise. + (selftest::test_line_numbers_multiline_range): Likewise. + * diagnostic.cc (file_name_as_prefix): Likewise. + (diagnostic_set_caret_max_width): Likewise. + (diagnostic_context::initialize): Likewise. + (diagnostic_context::color_init): Likewise. + (diagnostic_context::urls_init): Likewise. + (diagnostic_context::finish): Likewise. + (diagnostic_context::get_location_text): Likewise. + (diagnostic_build_prefix): Likewise. + (diagnostic_context::report_current_module): Likewise. + (default_diagnostic_starter): Likewise. + (default_diagnostic_start_span_fn): Likewise. + (default_diagnostic_finalizer): Likewise. + (diagnostic_context::report_diagnostic): Likewise. + (diagnostic_append_note): Likewise. + (diagnostic_context::error_recursion): Likewise. + (fancy_abort): Likewise. + * diagnostic.h (diagnostic_context::set_show_highlight_colors): + Likewise. + (diagnostic_context::printer): Rename to... + (diagnostic_context::m_printer): ...this. + (diagnostic_format_decoder): Rename diagnostic_context's "printer" + field to "m_printer". + (diagnostic_prefixing_rule): Likewise. + (diagnostic_ready_p): Likewise. + * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): + Likewise. + * langhooks.cc (lhd_print_error_function): Likewise. + * lto-wrapper.cc (print_lto_docs_link): Likewise. + * opts-global.cc (init_options_once): Likewise. + * opts.cc (common_handle_option): Likewise. + * simple-diagnostic-path.cc (simple_diagnostic_path_cc_tests): + Likewise. + * text-art/dump.h (dump_to_file<T>): Likewise. + * toplev.cc (announce_function): Likewise. + (toplev::main): Likewise. + * tree-diagnostic.cc (default_tree_diagnostic_starter): Likewise. + * tree.cc (escaped_string::escape): Likewise. + (selftest::test_escaped_strings): Likewise. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116603 + * diagnostic-format-sarif.cc (SARIF_SCHEMA): Update URL. + (sarif_builder::maybe_make_region_object): Don't create regions + with startLine <= 0. + (sarif_builder::maybe_make_region_object_for_context): Likewise. + +2024-09-09 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*insvdi_lowpart_1): Use "o" constraint + instead of "m" for double-word mode memory operands. + (*add<dwi>3_doubleword_zext): Ditto. + (*addv<dwi>4_doubleword_1): Use "jO" constraint instead of "jM" + for double-word mode memory operands. + +2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/90693 + * internal-fn.cc (expand_POPCOUNT): Handle the second argument + being `-1` for `<= 1`. + * tree-ssa-math-opts.cc (match_single_bit_test): Handle LE/GT + cases. + (math_opts_dom_walker::after_dom_children): Call match_single_bit_test + for LE_EXPR/GT_EXPR also. + +2024-09-09 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.cc (pa_legitimate_address_p): Don't + canonicalize operand order of scaled index addresses. + +2024-09-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116514 + * tree-ssa-ccp.cc (bit_value_binop): Handle EXACT_DIV_EXPR + like TRUNC_DIV_EXPR. Handle exact division of a signed value + by a power-of-two like a shift. Handle unsigned division by + a power-of-two like a shift. + Handle unsigned TRUNC_MOD_EXPR by power-of-two, handle signed + TRUNC_MOD_EXPR by power-of-two if the result is zero. + +2024-09-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116647 + * tree-vect-loop.cc (vect_is_simple_reduction): Add missing + check to double reduction detection. + +2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116601 + * gimple-fold.cc (optimize_memcpy_to_memset): Move + from tree-ssa-ccp.cc and rename. Also return true + if the optimization happened. + (gimple_fold_builtin_memory_op): Call + optimize_memcpy_to_memset. + (fold_stmt_1): Call optimize_memcpy_to_memset for + load/store copies. + * tree-ssa-ccp.cc (optimize_memcpy): Delete. + (pass_fold_builtins::execute): Remove code that + calls optimize_memcpy. + +2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Move the has_single_use + checks much earlier. Remove redundant check for gimple_assign_cast_p. + Change around the check if the integral consts fits into the new type. + +2024-09-09 Haochen Jiang <haochen.jiang@intel.com> + + PR target/116617 + * doc/invoke.texi: Add meteorlake, raptorlake and lunarlake. + +2024-09-08 H.J. Lu <hjl.tools@gmail.com> + + PR target/116621 + * config/i386/i386.cc (ix86_gimplify_va_arg): Don't use temp for + a PARALLEL BLKmode container of an EXPR_LIST expression in a + TImode register. + +2024-09-08 Jørgen Kvalsvik <j@lambda.is> + + * gcov.cc (release_structures): Release source_lines. + (slurp): New function. + (output_lines): Read sources with slurp. + +2024-09-07 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-ssa-split-paths.cc (is_feasible_trace): Fix wording + on the print. + +2024-09-07 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/116588 + * tree-vrp.cc (execute_fast_vrp): Start with all edges executable. + +2024-09-07 Zhao Dingyi <dingyizhao.zdy@outlook.com> + + * config/riscv/xiangshan.md: Add atomic, trap, fcvt_i2f, fcvt_f2i. + +2024-09-07 Jin Ma <jinma@linux.alibaba.com> + + PR target/116592 + * config/riscv/thead.cc (th_asm_output_opcode): Change '0' to + "zero" + +2024-09-06 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-overload.def (vec_test_lsbb_all_ones, + vec_test_lsbb_all_zeros): Add built-in instances for vector signed + char and vector bool char. + * doc/extend.texi (vec_test_lsbb_all_ones, + vec_test_lsbb_all_zeros): Add documentation for the + existing built-ins. + +2024-09-06 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116628 + * tree-vect-patterns.cc (vect_recog_cond_store_pattern): Add SSA_NAME + check on expression. + +2024-09-06 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/116598 + * config/aarch64/aarch64.cc (aarch64_lookup_shared_state_flags): Use + is_attribute_namespace_p and get_attribute_name instead of manually grabbing + the namespace and name of the attribute. + +2024-09-06 Martin Jambor <mjambor@suse.cz> + + * passes.def: Move pass_ipa_cdtor_merge before pass_ipa_cp and + pass_ipa_sra. + +2024-09-06 Martin Jambor <mjambor@suse.cz> + + PR ipa/115815 + * cgraph.cc (cgraph_node_cannot_be_local_p_1): Also check + DECL_STATIC_CONSTRUCTOR and DECL_STATIC_DESTRUCTOR. + * ipa-visibility.cc (non_local_p): Likewise. + (cgraph_node::local_p): Delete extraneous line of tabs. + +2024-09-06 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_analyze_slp): Also handle discovery + for double reductions. + +2024-09-06 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_analyze_slp): Perform single-lane + loop SLP discovery for non-grouped stores. Move check on the root + for re-doing SLP analysis with a single lane for load/store-lanes + earlier and make sure we are dealing with a grouped access. + * tree-vect-stmts.cc (vectorizable_store): Always set + vec_num for SLP. + +2024-09-06 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.h: Remove "Atmel" from header comment. + * config/avr/avr.cc: Same. + * config/avr/avr.md: Same. + * config/avr/avr.opt: Same. + * config/avr/avr-dimode.md: Same. + * config/avr/avr-fixed.md: Same. + * config/avr/constraints.md: Same. + * config/avr/predicates.md: Same. + * config/avr/avr-log.cc: Same. + * config/avr/avrlibc.h: Same. + * config/avr/specs.h: Same. + * common/config/avr/avr-common.cc: Same. + * doc/install.texi: Same. + * config/avr/avr-arch.h: Adjust header comment. + * config/avr/avr-c.cc: Same. + * config/avr/avr-mcus.def: Same. + * config/avr/avr-modes.def: Same. + * config/avr/avr-passes.cc: Same. + * config/avr/avr-passes.def: Same. + * config/avr/avr-protos.h: Same. + * config/avr/driver-avr.cc: Same. + * config/avr/elf.h: Same. + * config/avr/gen-avr-mmcu-specs.cc: Same. + * config/avr/gen-avr-mmcu-texi.cc: Same. + +2024-09-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116610 + * tree-vect-loop.cc (vectorizable_induction): Use MINUS_EXPR + to apply a mask peeling adjustment. + +2024-09-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116609 + * tree-vect-loop.cc (vectorizable_live_operation_1): Support + partial vectors for single-lane SLP. + +2024-09-06 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_build_integer): Detect constants + were the higher half is the lower half inverted. + +2024-09-06 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_build_integer): Detect new case + of constants that can be improved. + (riscv_move_integer): Add synthesys for concatening constants + without Zbkb. + +2024-09-06 Pan Li <pan2.li@intel.com> + + * match.pd: Add int_fits_type_p check for .SAT_SUB imm operand. + +2024-09-06 Pan Li <pan2.li@intel.com> + + * match.pd: Add int_fits_type_p check for .SAT_SUB imm operand. + +2024-09-06 YunQiang Su <syq@gcc.gnu.org> + + * common/config/riscv/riscv-common.cc(riscv_select_multilib_by_abi): + Fix out of index problem. + +2024-09-06 Jason Merrill <jason@redhat.com> + + PR c++/46457 + PR c++/81665 + * doc/extend.texi: Document flag_enum attribute. + * doc/invoke.texi: Mention flag_enum in -Wswitch. + +2024-09-06 liuhongt <hongtao.liu@intel.com> + + PR target/115517 + * config/i386/sse.md (*avx2_pcmp<mode>3_1): Change predicate + of operands[1] and operands[2] from nonimmdiate_operand to + nonimm_or_0_operand. + +2024-09-05 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_expand_int_scc): For rv64, use a DI + temporary for the output and a promoted subreg to extract it into SI + arget. + (riscv_noce_conversion_profitable_p): Recognize new output from + sCC expansion too. + +2024-09-05 Marek Polacek <polacek@redhat.com> + + * doc/invoke.texi: Remove an extra char in @item sme2. + +2024-09-05 Prathamesh Kulkarni <prathameshk@nvidia.com> + + * gimplify.cc (omp_add_variable): Check if decl size is not poly_int_tree_p. + (gimplify_adjust_omp_clauses): Likewise. + * omp-low.cc (scan_sharing_clauses): Likewise. + (lower_omp_target): Likewise. + +2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/104957 + * config/nvptx/nvptx.cc (write_fn_proto_1): Revert 2022-03-22 + change; 'write_fn_marker' also for alias DECL. + (nvptx_asm_output_def_from_decls): 'write_fn_marker' for alias + DEF. + +2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> + + * doc/sourcebuild.texi (Effective-Target Keywords): Document + 'nvptx_default_ptx_isa_version_at_least_6_0', + 'nvptx_runtime_alias_ptx'. + (Add Options): Document 'nvptx_alias_ptx'. + +2024-09-05 Tamar Christina <tamar.christina@arm.com> + + * tree-vect-patterns.cc (vect_recog_cond_store_pattern): Use pattern + statement. + +2024-09-05 Tamar Christina <tamar.christina@arm.com> + + * doc/invoke.texi: Remove duplicate armv9-a mention. + +2024-09-05 Jakub Jelinek <jakub@redhat.com> + + * tree-vrp.cc (pass_vrp::execute): Start diagnostics with + lowercase u rather than capital U, use semicolon instead of dot. + +2024-09-05 YunQiang Su <yunqiang@isrc.iscas.ac.cn> + + * common/config/riscv/riscv-common.cc(riscv_select_multilib_by_abi): + look up reversely as the fallback path is listed as the 1st one. + +2024-09-05 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_analyze_slp): Analyze SLP for live + but otherwise unused defs. + +2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> + + * gen-pass-instances.awk: Handle 'PUSH_INSERT_PASSES_WITHIN'. + * pass_manager.h (PUSH_INSERT_PASSES_WITHIN): Adjust. + * passes.cc (PUSH_INSERT_PASSES_WITHIN): Likewise. + +2024-09-05 Levy Hsu <admin@levyhsu.com> + + * config/i386/mmx.md (TARGET_MMX_WITH_SSE): New mode iterator VBF_32_64 + (fma<mode>4): define_expand for V2BF/V4BF fma<mode>4. + (fnma<mode>4): define_expand for V2BF/V4BF fnma<mode>4. + (fms<mode>4): define_expand for V2BF/V4BF fms<mode>4. + (fnms<mode>4): define_expand for V2BF/V4BF fnms<mode>4. + +2024-09-05 Hu, Lin1 <lin1.hu@intel.com> + + * match.pd: Fix match for (bit_and (ordered @0 @1) (ne @0 @1)). + +2024-09-05 Levy Hsu <admin@levyhsu.com> + + * config/i386/i386.cc (ix86_build_const_vector): Add V2BF/V4BF. + (ix86_build_signbit_mask): Add V2BF/V4BF. + * config/i386/mmx.md: Modified supported logic op to use VHBF_32_64. + +2024-09-05 Levy Hsu <admin@levyhsu.com> + + * config/i386/i386.cc (ix86_preferred_simd_mode): Add BFmode Support. + +2024-09-04 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_split_integer_cost): Adjust the + cost of negative repeating constants. + (riscv_split_integer): Handle negative repeating constants. + +2024-09-04 Tom Tromey <tromey@adacore.com> + + * dwarf2out.cc (modified_type_die): Check DECL_NAMELESS. + +2024-09-04 Arsen Arsenović <arsen@aarsen.me> + + PR c++/106973 + * internal-fn.def (CO_YIELD): Mark as ECF_LEAF. + +2024-09-04 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-object-size.cc (object_sizes_execute): Mark lhs for maybe dceing + if doing a propagate. Call simple_dce_from_worklist. + +2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/gen-opt.sh: Use 'enum ptx_isa' instead of 'int'. + * config/nvptx/nvptx-gen.opt: Regenerate. + * config/nvptx/nvptx.opt: Use 'enum ptx_version' instead of 'int'. + * config/nvptx/nvptx-opts.h (enum ptx_isa): Add 'PTX_ISA_unset'. + (enum ptx_version): Add 'PTX_VERSION_unset'. + * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Adjust. + * config/nvptx/nvptx.cc (default_ptx_version_option) + (handle_ptx_version_option, nvptx_option_override) + (nvptx_file_start): Likewise. + +2024-09-04 Frederik Harwath <frederik@codesourcery.com> + Thomas Schwinge <tschwinge@baylibre.com> + + * predict.cc (pass_profile::execute): Fix dump message. + +2024-09-04 Frederik Harwath <frederik@codesourcery.com> + + * tree-cfg.h (gimple_debug_cfg): Change argument type from int + to dump_flags_t. + +2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> + + * passes.cc: Document 'pass_postreload' vs. 'pass_late_compilation'. + * passes.def: Likewise. + +2024-09-04 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_lower_load_permutations): Also + process single-use grouped loads. + Avoid lowering contiguous aligned power-of-two sized + chunks, those are better handled by the vector size + specific SLP code generation. + * tree-vect-stmts.cc (get_group_load_store_type): Drop + the unrelated requirement of a load permutation for the + single-element interleaving limit. + +2024-09-04 Jan Hubicka <jh@suse.cz> + + * config/i386/x86-tune-costs.h (znver5_cost): Update instruction + costs. + +2024-09-04 Andrew Pinski <quic_apinski@quicinc.com> + + * expr.cc (expand_expr_divmod): Add dump of the two costs for + positive division. + +2024-09-04 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.md (lra_szext_decomposed_indir_plus): New + peephole2 pattern. + +2024-09-04 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_expand_usadd): Zero extend + the second operand of usadd as the first operand does. + * config/riscv/riscv.md (usadd<m>3): Allow imm operand for + scalar usadd pattern. + +2024-09-03 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/112402 + * gimple-ssa-split-paths.cc (poor_ifcvt_pred): New function. + (is_feasible_trace): Remove old heurstics for ifcvt cases. + For num_stmts <=1 for both pred check poor_ifcvt_pred on both + pred. + +2024-09-03 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-ssa-split-paths.cc (is_feasible_trace): Move + check for # of statments in join earlier and add a + debug print. + +2024-09-03 Qing Zhao <qing.zhao@oracle.com> + + * doc/extend.texi: Explicitly mentions counted_by is available + only in C for now. + +2024-09-03 David Malcolm <dmalcolm@redhat.com> + + * pretty-print-markup.h (pp_markup::context::context): Drop + params "buf" and "chunk_idx", initializing m_buf from pp. + (pp_markup::context::m_chunk_idx): Drop field. + * pretty-print.cc (pretty_printer::format): Convert param + from a text_info * to a text_info &. Split out phase 1 + and phase 2 into subroutines... + (format_phase_1): New, from pretty_printer::format. + (format_phase_2): Likewise. + * pretty-print.h (pretty_printer::format): Convert param + from a text_info * to a text_info &. + (pp_format): Update for above change. Assert that text_info is + non-null. + +2024-09-03 David Malcolm <dmalcolm@redhat.com> + + * pretty-print-format-impl.h (pp_formatted_chunks::get_prev): New + accessor. + * pretty-print.cc (selftest::push_pp_format): New. + (ASSERT_TEXT_TOKEN): New macro. + (selftest::test_pp_format_stack): New test. + (selftest::pretty_print_cc_tests): New. + +2024-09-03 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_set_caret_max_width): Prefix all + output_buffer fields with "m_". + * dumpfile.cc (emit_any_pending_textual_chunks): Likewise. + (emit_any_pending_textual_chunks): Likewise. + * gimple-pretty-print.cc (gimple_dump_bb_buff): Likewise. + * json.cc (value::dump): Likewise. + * pretty-print-format-impl.h (class chunk_info): Rename to... + (class pp_formatted_chunks): ...this. Add friend + class output_buffer. Update comment near end of decl to show + the pp_formatted_chunks instance on the chunk_obstack. + (pp_formatted_chunks::pop_from_output_buffer): Delete decl. + (pp_formatted_chunks::on_begin_quote): Delete decl that should + have been removed in r15-3311-ge31b6176996567. + (pp_formatted_chunks::on_end_quote): Likewise. + (pp_formatted_chunks::m_prev): Update for renaming. + * pretty-print.cc (output_buffer::output_buffer): Prefix all + fields with "m_". Rename "cur_chunk_array" to + "m_cur_formatted_chunks". + (output_buffer::~output_buffer): Prefix all fields with "m_". + (output_buffer::push_formatted_chunks): New. + (output_buffer::pop_formatted_chunks): New. + (pp_write_text_to_stream): Prefix all output_buffer fields with + "m_". + (pp_write_text_as_dot_label_to_stream): Likewise. + (pp_write_text_as_html_like_dot_to_stream): Likewise. + (chunk_info::append_formatted_chunk): Rename to... + (pp_formatted_chunks::append_formatted_chunk): ...this. + (chunk_info::pop_from_output_buffer): Delete. + (pretty_printer::format): Update leading comment to mention + pushing pp_formatted_chunks, and to reflect changes in + r15-3311-ge31b6176996567. Prefix all output_buffer fields with + "m_". + (pp_output_formatted_text): Update leading comment to mention + popping a pp_formatted_chunks, and to reflect the changes in + r15-3311-ge31b6176996567. Prefix all output_buffer fields with + "m_" and rename "cur_chunk_array" to "m_cur_formatted_chunks". + Replace call to chunk_info::pop_from_output_buffer with a call to + output_buffer::pop_formatted_chunks. + (pp_flush): Prefix all output_buffer fields with "m_". + (pp_really_flush): Likewise. + (pp_clear_output_area): Likewise. + (pp_append_text): Likewise. + (pretty_printer::remaining_character_count_for_line): Likewise. + (pp_newline): Likewise. + (pp_character): Likewise. + (pp_markup::context::push_back_any_text): Likewise. + * pretty-print.h (class chunk_info): Rename to... + (class pp_formatted_chunks): ...this. + (class output_buffer): Delete unimplemented rule-of-5 members. + (output_buffer::push_formatted_chunks): New decl. + (output_buffer::pop_formatted_chunks): New decl. + (output_buffer::formatted_obstack): Rename to... + (output_buffer::m_formatted_obstack): ...this. + (output_buffer::chunk_obstack): Rename to... + (output_buffer::m_chunk_obstack): ...this. + (output_buffer::obstack): Rename to... + (output_buffer::m_obstack): ...this. + (output_buffer::cur_chunk_array): Rename to... + (output_buffer::m_cur_formatted_chunks): ...this. + (output_buffer::stream): Rename to... + (output_buffer::m_stream): ...this. + (output_buffer::line_length): Rename to... + (output_buffer::m_line_length): ...this. + (output_buffer::digit_buffer): Rename to... + (output_buffer::m_digit_buffer): ...this. + (output_buffer::flush_p): Rename to... + (output_buffer::m_flush_p): ...this. + (output_buffer_formatted_text): Prefix all output_buffer fields + with "m_". + (output_buffer_append_r): Likewise. + (output_buffer_last_position_in_text): Likewise. + (pretty_printer::set_output_stream): Likewise. + (pp_scalar): Likewise. + (pp_wide_int): Likewise. + * tree-pretty-print.cc (dump_generic_node): Likewise. + (dump_generic_node): Likewise. + (pp_double_int): Likewise. + +2024-09-03 Jan Hubicka <jh@suse.cz> + + * config/i386/i386.cc (ix86_reassociation_width): Update for Znver5. + * config/i386/x86-tune-costs.h (znver5_costs): Update reassociation + widths. + +2024-09-03 Jeff Law <jlaw@ventanamicro.com> + + * J: Drop file that should not have been committed + +2024-09-03 Jan Hubicka <jh@suse.cz> + + * config/i386/x86-tune-sched.cc (ix86_fuse_mov_alu_p): Fix + typo. + +2024-09-03 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_print_slp_tree): Annotate load + and store-lanes nodes. + +2024-09-03 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): Only disable + peeling for gaps by using smaller vectors when not using + load-lanes. + +2024-09-03 Jan Hubicka <jh@suse.cz> + + * config/i386/i386.h (TARGET_FUSE_MOV_AND_ALU): New tune. + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Updat for znver5. + (ix86_adjust_cost): Add TODO about znver5 memory latency. + (ix86_fuse_mov_alu_p): New. + (ix86_macro_fusion_pair_p): Use it. + * config/i386/x86-tune.def (X86_TUNE_FUSE_ALU_AND_BRANCH): Add ZNVER5. + (X86_TUNE_FUSE_MOV_AND_ALU): New tune; + +2024-09-03 Jan Hubicka <jh@suse.cz> + + * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable for + ZNVER5. + (X86_TUNE_USE_SCATTER_2PARTS): Disable for ZNVER5. + (X86_TUNE_USE_GATHER_4PARTS): Disable for ZNVER5. + (X86_TUNE_USE_SCATTER_4PARTS): Disable for ZNVER5. + (X86_TUNE_USE_GATHER_8PARTS): Disable for ZNVER5. + (X86_TUNE_USE_SCATTER_8PARTS): Disable for ZNVER5. + +2024-09-03 H.J. Lu <hjl.tools@gmail.com> + + PR ipa/116410 + * ipa-modref.cc (analyze_parms): Always analyze function parameter + for LTO. + +2024-09-03 Jeff Law <jlaw@ventanamicro.com> + + PR target/115921 + * config/riscv/riscv.md (reassociate bitwise ops): Tighten test for + cases we do not want reassociate. + * J: New file. + +2024-09-03 Jan Hubicka <jh@suse.cz> + + * config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS): Enable for + znver5. + (X86_TUNE_AVOID_256FMA_CHAINS): Likewise. + (X86_TUNE_AVOID_512FMA_CHAINS): Likewise. + +2024-09-03 Tobias Burnus <tburnus@baylibre.com> + + PR lto/116535 + * lto-cgraph.cc (output_offload_tables): Remove offload_ frees. + * lto-streamer-out.cc (lto_output): Make call to it depend on + lto_get_out_decl_state ()->output_offload_tables_p. + * lto-streamer.h (struct lto_out_decl_state): Add + output_offload_tables_p field. + * tree-pass.h (ipa_write_optimization_summaries): Add bool argument. + * passes.cc (ipa_write_summaries_1): Add bool + output_offload_tables_p arg. + (ipa_write_summaries): Update call. + (ipa_write_optimization_summaries): Accept output_offload_tables_p. + +2024-09-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116575 + * tree-vect-slp.cc (vect_analyze_slp): Properly compute + the mask argument for vect_load/store_lanes_supported. + When the load is masked for now avoid rediscovery. + +2024-09-03 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/avx512fp16intrin.h + (_mm512_mask_fpclass_ph_mask): Correct mask type to __mmask32. + (_mm512_fpclass_ph_mask): Ditto. + +2024-09-03 Richard Biener <rguenther@suse.de> + + * fold-const.cc (poly_int_binop): Move assert on + NUM_POLY_INT_COEFFS after INTEGER_CST processing. + +2024-09-03 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/116501 + * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): + In the last_ovf case, use build_zero_cst operand not just when + TYPE_UNSIGNED (typeN), but also when precN >= 0. + +2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svmul_impl::fold): + Try constant folding. + +2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): + Try constant folding. + * config/aarch64/aarch64-sve-builtins.h: Declare + gimple_folder::fold_const_binary. + * config/aarch64/aarch64-sve-builtins.cc (aarch64_const_binop): + New function to fold binary SVE intrinsics without overflow. + (gimple_folder::fold_const_binary): New helper function for + constant folding of SVE intrinsics. + +2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> + + * fold-const.h: Declare vector_const_binop. + * fold-const.cc (const_binop): Remove cases for vector constants. + (vector_const_binop): New function that folds vector constants + element-wise. + (int_const_binop): Remove call to wide_int_binop. + (poly_int_binop): Add call to wide_int_binop. + +2024-09-03 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_1): Handle mixing + all of handled components besides ARRAY_RANGE_REF, drop + handling of INDIRECT_REF. + +2024-09-03 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vect_get_vector_types_for_stmt): + Handle all internal_store_fn_p the same. Remove special-casing + for the scalar_type of IFN_MASK_STORE. + +2024-09-03 Levy Hsu <admin@levyhsu.com> + + * config/i386/mmx.md (<code><mode>3): New define_expand for V2BF/V4BFsmaxmin + +2024-09-03 Levy Hsu <admin@levyhsu.com> + + * config/i386/mmx.md (VBF_32_64): New mode iterator for partial vectorized V2BF/V4BF. + (<insn><mode>3): New define_expand for plusminusmultdiv. + (sqrt<mode>2): New define_expand for sqrt. + +2024-09-03 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-protos.h (riscv_expand_ssadd): Add new func + decl for expanding ssadd. + * config/riscv/riscv.cc (riscv_gen_sign_max_cst): Add new func + impl to gen the max int rtx. + (riscv_expand_ssadd): Add new func impl to expand the ssadd. + * config/riscv/riscv.md (ssadd<mode>3): Add new pattern for + signed integer .SAT_ADD. + +2024-09-03 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips-msa.md: (MSA_NO_HADD): we have HADD for + S8/U8/S16/U16/S32/U32 only. + (reduc_smin_scal_<mode>): New define pattern. + (reduc_smax_scal_<mode>): Ditto. + (reduc_umin_scal_<mode>): Ditto. + (reduc_umax_scal_<mode>): Ditto. + (reduc_plus_scal_<mode>): Ditto. + (reduc_plus_scal_v4si): Ditto. + (reduc_plus_scal_v8hi): Ditto. + (reduc_plus_scal_v16qi): Ditto. + (reduc_<optab>_scal_<mode>): Ditto. + * config/mips/mips-protos.h: New function mips_expand_msa_reduc. + * config/mips/mips.cc: New function mips_expand_msa_reduc. + * config/mips/mips.md: Define any_bitwise iterator. + +2024-09-02 Alexandre Oliva <oliva@adacore.com> + + PR d/115295 + * doc/sourcebuild.texi (dg-additional-sources): Add linkonly. + +2024-09-02 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn-opts.h (TARGET_GCN5_PLUS): Delete. + (TARGET_GLOBAL_ADDRSPACE): Delete. + (TARGET_FLAT_OFFSETS): Delete. + (TARGET_EXPLICIT_CARRY): Delete. + (TARGET_MULTIPLY_IMMEDIATE): Delete. + * config/gcn/gcn-valu.md (*mov<mode>): Rename "gcn_version" to "cdna". + (*mov<mode>_4reg): Likewise. + (@mov<mode>_sgprbase): Likwise. + (gather<mode>_insn_1offset<exec>): Likewise. + (gather<mode>_insn_1offset_ds<exec>): Likewise. + (gather<mode>_insn_2offsets<exec>): Likewise. + (scatter<mode>_insn_1offset<exec_scatter>): Likewise. + (scatter<mode>_insn_1offset_ds<exec_scatter>): Likewise. + (scatter<mode>_insn_2offsets<exec_scatter>): Likewise. + (gather<mode>_insn_1offset<exec>): Remove TARGET_FLAT_OFFSETS + conditionals. + (scatter<mode>_insn_1offset<exec_scatter>): Likewise. + (scatter<mode>_insn_1offset<exec_scatter>): Likewise. + (add<mode>3<exec_clobber>): Use "_co" instead of "%^". + (add<mode>3_dup<exec_clobber>): Likewise. + (add<mode>3_vcc<exec_vcc>): Likewise. + (add<mode>3_vcc_dup<exec_vcc>): Likewise. + (addc<mode>3<exec_vcc>): Likewise. + (sub<mode>3<exec_clobber>): Likewise. + (sub<mode>3_vcc<exec_vcc>): Likewise. + (subc<mode>3<exec_vcc>): Likewise. + (*plus_carry_dpp_shr_<mode>): Likewise. + (*plus_carry_in_dpp_shr_<mode>): Likewise. + * config/gcn/gcn.cc (gcn_flat_address_p): Remove TARGET_FLAT_OFFSETS + conditionals. + (gcn_addr_space_legitimate_address_p): Likewise. + (gcn_addr_space_legitimize_address): Likewise. + (gcn_expand_scalar_to_vector_address): Likewise. + (print_operand_address): Likewise, and TARGET_GLOBAL_ADDRSPACE also. + (print_operand): Remove "%^" operand code. + Remove TARGET_GLOBAL_ADDRSPACE assertion. + * config/gcn/gcn.h (STACK_ADDR_SPACE): Remove GCN5 conditional. + * config/gcn/gcn.md (gcn_version): Rename attribute ... + (cdna): ... to this, and remove the gcn3 and gcn5 values. + (enabled): Replace old "gcn_version" logic with new "cdna" logic. + (*mov<mode>_insn): Rename "gcn_version" to "cdna". + (*movti_insn): Likewise. + (addsi3): Use "_co" instead of "%^". + (addsi3_scalar_carry): Likewise. + (addsi3_scalar_carry_cst): Likewise. + (addcsi3_scalar): Likewise. + (addcsi3_scalar_zero): Likewise. + (addptrdi3): Likewise. + (subsi3): Likewise. + (<su>mulsi3_highpart): Remove TARGET_MULTIPLY_IMMEDIATE conditions. + (<su>mulsi3_highpart_reg): Remove "gcn_version" attribute. + (muldi3): Likewise. + (atomic_fetch_<bare_mnemonic><mode>): Likewise. + (atomic_<bare_mnemonic><mode>): Likewise. + (sync_compare_and_swap<mode>_insn): Likewise. + (atomic_load<mode>): Likewise. + (atomic_store<mode>): Likewise. + (atomic_exchange<mode>): Likewise. + (<su>mulsi3_highpart_imm): Remove both TARGET_MULTIPLY_IMMEDIATE and + "gcn_version". + (<su>mulsidi3): Likewise. + (<su>mulsidi3_imm): Likewise. + +2024-09-02 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn-opts.h (enum gcn_isa): Delete ISA_GCN3. + (TARGET_GCN3): Delete. + (TARGET_GCN3_PLUS): Delete. + (TARGET_M0_LDS_LIMIT): Delete. + * config/gcn/gcn-valu.md + (gather<mode>_insn_1offset<exec>): Remove TARGET_GCN3 from conditions. + (*<reduc_op>_dpp_shr_<mode>): Likewise. + * config/gcn/gcn.cc (enum gcn_isa): Change default to ISA_GCN5. + (gcn_expand_prologue): Remove TARGET_M0_LDS_LIMIT feature. + (gcn_expand_reduc_scalar): Remove TARGET_GCN3 conditions. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Remove TARGET_GCN3. + +2024-09-02 Andrew Stubbs <ams@baylibre.com> + + * config.gcc (amdgcn-*-*): Remove "fiji" from with_arch checks. + * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): Remove fiji alternative. + (NO_XNACK): Likewise. + (NO_SRAM_ECC): Likewise. + (ASM_SPEC): Remove "%{}" around ABI_VERSION_SPEC. + * config/gcn/gcn-opts.h (enum processor_type): Remove PROCESSOR_FIJI. + (TARGET_FIJI): Delete. + * config/gcn/gcn.cc (gcn_option_override): Remove Fiji. + (gcn_omp_device_kind_arch_isa): Likewise. + (output_file_start): Likewise. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Likewise. + * config/gcn/gcn.opt (gpu_type): Likewise. + (march, mtune): Change default to PROCESSOR_VEGA10. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX803): Delete. + (copy_early_debug_info): Remove elf_flags_actual. + Use ELFABIVERSION_AMDGPU_HSA_V4 unconditionally. + (get_arch): Remove Fiji. + (main): Remove gfx803. + * config/gcn/t-omp-device + (omp-device-properties-gcn): Remove fiji and gfx803. + * doc/install.texi (amdgcn*-*-*): Remove fiji and special instructions. + * doc/invoke.texi: Remove fiji. + +2024-09-02 Richard Sandiford <richard.sandiford@arm.com> + + * doc/gimple.texi (gimple_asm_basic_p): Document. + (gimple_asm_set_basic): Likewise. + * gimple.h (GF_ASM_INPUT): Rename to... + (GF_ASM_BASIC): ...this. + (gimple_asm_set_input): Rename to... + (gimple_asm_set_basic): ...this. + (gimple_asm_input_p): Rename to... + (gimple_asm_basic_p): ...this. + * cfgexpand.cc (expand_asm_stmt): Update after above renaming. + * gimple.cc (gimple_asm_clobbers_memory_p): Likewise. + * gimplify.cc (gimplify_asm_expr): Likewise. + * ipa-icf-gimple.cc (func_checker::compare_gimple_asm): Likewise. + * tree-cfg.cc (stmt_can_terminate_bb_p): Likewise. + +2024-09-02 Richard Sandiford <richard.sandiford@arm.com> + + * doc/generic.texi (ASM_BASIC_P): Document. + * tree.h (ASM_INPUT_P): Rename to... + (ASM_BASIC_P): ...this. + (ASM_VOLATILE_P, ASM_INLINE_P): Reindent. + * gimplify.cc (gimplify_asm_expr): Update after above renaming. + * tree-core.h (tree_base): Likewise. + +2024-09-02 Tobias Burnus <tburnus@baylibre.com> + + * lto-wrapper.cc (run_gcc): Honor -save-temps for + makefile name. + +2024-09-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116486 + * gimple-range-op.cc (cfn_clz::fold_range): If lh is [0,0] + and mini is -1, return [-1,-1] range rather than [prec-1,prec-1]. + +2024-09-02 Richard Biener <rguenther@suse.de> + + * tree-vectorizer.h (_slp_tree::ldst_lanes): New flag to mark + load, store and permute nodes. + * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize ldst_lanes. + (vect_build_slp_instance): For stores iff the target prefers + store-lanes discover single-lane sub-groups, do not perform + interleaving lowering but mark the node with ldst_lanes. + Also allow i == 0 - fatal failure - for splitting up a store group + when we're not doing single-lane discovery already. + (vect_lower_load_permutations): When the target supports + load lanes and the loads all fit the pattern split out + a single level of permutes only and mark the load and + permute nodes with ldst_lanes. + (vectorizable_slp_permutation_1): Handle the load-lane permute + forwarding of vector defs. + (vect_analyze_slp): After SLP pattern recog is finished see if + there are any SLP instances that would benefit from using + load/store-lanes and re-discover those with forced single lanes. + * tree-vect-stmts.cc (get_group_load_store_type): Support + load/store-lanes for SLP. + (vectorizable_store): Support SLP code generation for store-lanes. + (vectorizable_load): Support SLP code generation for load-lanes. + * tree-vect-loop.cc (vect_analyze_loop_2): Do not cancel SLP + when store-lanes can be used. + +2024-09-02 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_1): Handle NULL stmt. + (vect_build_slp_tree_2): Likewise. Release load permutation + when there's a NULL in SLP_TREE_SCALAR_STMTS and assert there's + no actual permutation in that case. + (vllp_cmp): New function. + (vect_lower_load_permutations): Likewise. + (vect_analyze_slp): Call it. + +2024-09-02 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * config/riscv/riscv.cc (riscv_rtx_costs): Optimize the cost of the + DFmode register move for RV32. + +2024-09-02 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116544 + * ext-dce.cc (ext_dce_process_uses): Fix thinko in promoted subreg + handling. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * config/i386/i386-expand.cc (ix86_use_mask_cmp_p): Add BFmode + for int mask cmp. + * config/i386/sse.md (vec_cmp<mode><avx512fmaskmodelower>): New + vec_cmp expand for VBF modes. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * config/i386/sse.md: Expand VF2H to VF2HB with VBF modes. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * config/i386/sse.md + (<code><mode>3): New define expand pattern for BF smaxmin. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * config/i386/sse.md: Add V8BF/V16BF/V32BF to mode iterator FMAMODEM. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * config/i386/sse.md (div<mode>3): New expander for BFmode div. + (VF_BHSD): New mode iterator with vector BFmodes. + (<insn><mode>3<mask_name><round_name>): Change mode to VF_BHSD. + (mul<mode>3<mask_name><round_name>): Likewise. + +2024-09-02 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/i386-expand.cc (ix86_expand_fp_compare): Add UNSPEC to + support the optimization. + * config/i386/i386.cc (ix86_fp_compare_code_to_integer): Add NE/EQ. + * config/i386/i386.md (*cmpx<unord><MODEF:mode>): New define_insn. + (*cmpx<unord>hf): Ditto. + * config/i386/predicates.md (ix86_trivial_fp_comparison_operator): + Add ne/eq. + +2024-09-02 Hu, Lin1 <lin1.hu@intel.com> + + * match.pd: Optimize (and ordered non-equal) to + (not (or unordered equal)) + +2024-09-02 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/sse.md (VI1_AVX512VNNIBW): New. + (VI2_AVX10_2): Ditto. + (sdot_prod<mode>): Add AVX10.2 + to auto vectorize and combine 512 bit part. + (udot_prod<mode>): Ditto. + (sdot_prodv64qi): Removed. + (udot_prodv64qi): Ditto. + (usdot_prod<mode>): Add AVX10.2 to auto vectorize. + (udot_prod<mode>): Ditto. + +2024-09-02 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_gen_zero_extend_rtx): Merge + the zero_extend handing from func riscv_gen_unsigned_xmode_reg. + (riscv_gen_unsigned_xmode_reg): Remove. + (riscv_expand_ussub): Leverage riscv_gen_zero_extend_rtx + instead of riscv_gen_unsigned_xmode_reg. + +2024-09-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116554 + * gimple-ssa-strength-reduction.cc: Include tree-ssa-dce.h. + (replace_mult_candidate): Add sdce_worklist argument, mark + the rhs1/rhs2 for maybe dceing. + (replace_unconditional_candidate): Add sdce_worklist argument, + Update call to replace_mult_candidate. + (replace_conditional_candidate): Add sdce_worklist argument, + update call to replace_mult_candidate. + (replace_uncond_cands_and_profitable_phis): Add sdce_worklist argument, + update call to replace_conditional_candidate, + replace_unconditional_candidate, and replace_uncond_cands_and_profitable_phis. + (replace_one_candidate): Add sdce_worklist argument, mark + the orig_rhs1/orig_rhs2 for maybe dceing. + (replace_profitable_candidates): Add sdce_worklist argument, + update call to replace_one_candidate and replace_profitable_candidates. + (analyze_candidates_and_replace): Call simple_dce_from_worklist and + update calls to replace_profitable_candidates, and + replace_uncond_cands_and_profitable_phis. + +2024-08-31 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-features.cc (timode_scalar_to_vector_candidate_p): + Support the first operand of AND, IOR and XOR being MEM_P, i.e. a + read-modify-write insn. + +2024-08-31 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-passes.cc (avr_pass_fuse_add) <clone>: Override. + * config/avr/avr-passes.def (avr_pass_fuse_add): Run again + after pass_cprop_hardreg. + +2024-08-31 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-protos.h (avr_split_tiny_move): Rename to + avr_split_fake_addressing_move. + * config/avr/avr-passes.def: Same. + * config/avr/avr-passes.cc: Same. + (avr_pass_data_fuse_add) <tv_id>: Set to TV_MACH_DEP. + * config/avr/avr.md (split-lpmx): Remove a define_split. Such + splits are performed by avr_split_fake_addressing_move. + +2024-08-31 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.cc (pa_emit_move_sequence): Remove symbolic + memory work arounds for TARGET_ELF32. + (pa_legitimate_address_p): Likewise. Allow symbolic + operands. Adjust comment. + * config/pa/pa.md: Replace reg_or_0_or_nonsymb_mem_operand + with reg_or_0_or_mem_operand predicate in various unnamed + move insns. + * config/pa/predicates.md (floating_point_store_memory_operand): + Update comment. Remove symbolic memory work arounds for + TARGET_ELF32. + (nonsymb_mem_operand): Rename to mem_operand. Allow + symbolic memory operands. + (reg_or_0_or_nonsymb_mem_operand): Rename to + reg_or_0_or_mem_operand. Allow symbolic memory operands. + +2024-08-31 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116098 + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Ignore + nops, labels and predicts for heuristic for conversion with a constant. + +2024-08-31 Jakub Jelinek <jakub@redhat.com> + + PR c/116130 + * doc/extend.texi (unsequenced, reproducible): Document new function + type attributes. + * calls.cc (flags_from_decl_or_type): Handle "unsequenced noptr" and + "reproducible noptr" attributes. + +2024-08-31 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc: Follow the convention to not add a space + after comma when printing instructions. + +2024-08-31 Alexandre Oliva <oliva@adacore.com> + + * expr.cc (categorize_ctor_elements_1): Change p_complete to + int, to distinguish complete initialization in presence or + absence of uninitialized padding bits. + (categorize_ctor_elements): Likewise. Adjust all callers... + * expr.h (categorize_ctor_elements): ... and declaration. + (type_has_padding_at_level_p): New. + * gimple-fold.cc (type_has_padding_at_level_p): New. + * fold-const.cc (native_encode_constructor): New. + (native_encode_expr): Call it. + * gimplify.cc (gimplify_init_constructor): Clear small + non-addressable non-volatile objects with padding or + other uninitialized fields as an optimization. + +2024-08-30 Alex Coplan <alex.coplan@arm.com> + + * gdbhooks.py (VEC_KIND_EMBED): New. + (VEC_KIND_PTR): New. + (get_vec_kind): New. + (VecPrinter.children): Also handle vectors with vl_ptr layout. + +2024-08-30 Andrew Pinski <quic_apinski@quicinc.com> + + PR driver/104707 + PR driver/97304 + * gcc.cc (is_directory): Don't not include /usr/lib and /lib + for library directory pathes. Remove library argument. + (add_to_obstack): Update call to is_directory. + (driver_handle_option): Likewise. + (spec_path): Likewise. + +2024-08-30 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116537 + * tree-core.h (enum tree_index): Remove TI_INTEGER_THREE + * tree-ssa-loop-prefetch.cc (issue_prefetch_ref): Call build_int_cst + instead of using integer_three_node. + * tree.cc (build_common_tree_nodes): Remove initialization + of integer_three_node. + * tree.h (integer_three_node): Delete. + +2024-08-30 Andrew Pinski <quic_apinski@quicinc.com> + + * builtins.cc (expand_builtin_prefetch): Rewrite expansion of the optional + arguments to not expand known constants. + +2024-08-30 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): Check + known_ne (remain, 0u) before doing constant_multiple_p. + (vectorizable_load): Likewise. + +2024-08-30 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_2): Disable SLP + reassociation for single-lane. + +2024-08-30 liuhongt <hongtao.liu@intel.com> + + PR target/116512 + * config/i386/i386.cc (ix86_check_avx_upper_register): Iterate + subrtx to scan for avx upper register. + (ix86_check_avx_upper_stores): Inline old + ix86_check_avx_upper_register. + (ix86_avx_u128_mode_needed): Ditto, and replace + FOR_EACH_SUBRTX with call to new + ix86_check_avx_upper_register. + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + PR other/116419 + * diagnostic-event-id.h (diagnostic_event_id_t::zero_based): New. + * diagnostic-format-sarif.cc: Include "pretty-print-format-impl.h" + and "pretty-print-urlifier.h". + (sarif_result::sarif_result): Add param "idx_within_parent". + (sarif_result::get_index_within_parent): New accessor. + (sarif_result::m_idx_within_parent): New field. + (sarif_code_flow::sarif_code_flow): New ctor. + (sarif_code_flow::get_parent): New accessor. + (sarif_code_flow::get_index_within_parent): New accessor. + (sarif_code_flow::m_parent): New field. + (sarif_code_flow::m_thread_id_map): New field. + (sarif_code_flow::m_thread_flows_arr): New field. + (sarif_code_flow::m_all_tfl_objs): New field. + (sarif_thread_flow::sarif_thread_flow): Add "parent" and + "idx_within_parent" params. + (sarif_thread_flow::get_parent): New accessor. + (sarif_thread_flow::get_index_within_parent): New accessor. + (sarif_thread_flow::m_parent): New field. + (sarif_thread_flow::m_idx_within_parent): New field. + (sarif_thread_flow_location::sarif_thread_flow_location): New + ctor. + (sarif_thread_flow_location::get_parent): New accessor. + (sarif_thread_flow_location::get_index_within_parent): New + accessor. + (sarif_thread_flow_location::m_parent): New field. + (sarif_thread_flow_location::m_idx_within_parent): New field. + (sarif_builder::get_code_flow_for_event_ids): New accessor. + (class sarif_builder::sarif_token_printer): New. + (sarif_builder::m_token_printer): New member. + (sarif_builder::m_next_result_idx): New field. + (sarif_builder::m_current_code_flow): New field. + (sarif_code_flow::get_or_append_thread_flow): New. + (sarif_code_flow::get_thread_flow): New. + (sarif_code_flow::add_location): New. + (sarif_code_flow::get_thread_flow_loc_obj): New. + (sarif_thread_flow::add_location): Create the new + sarif_thread_flow_location internally, rather than passing + it in as a parm so that we can keep track of its index in + the array. Return a reference to it. + (sarif_builder::sarif_builder): Initialize m_token_printer, + m_next_result_idx, and m_current_code_flow. + (sarif_builder::on_report_diagnostic): Pass index to + make_result_object. + (sarif_builder::make_result_object): Add "idx_within_parent" param + and pass to sarif_result ctor. Pass code flow index to call to + make_code_flow_object. + (make_sarif_url_for_event): New. + (sarif_builder::make_code_flow_object): Add "idx_within_parent" + param and pass it to sarif_code_flow ctor. Reimplement walking + of events so that we first create threadFlow objects for each + thread, then populate them with threadFlowLocation objects, so + that the IDs work. Set m_current_code_flow whilst creating the + latter, so that we can create correct URIs for "%@". + (sarif_builder::make_thread_flow_location_object): Replace with... + (sarif_builder::populate_thread_flow_location_object): ...this. + (sarif_output_format::get_builder): New accessor. + (sarif_begin_embedded_link): New. + (sarif_end_embedded_link): New. + (sarif_builder::sarif_token_printer::print_tokens): New. + (diagnostic_output_format_init_sarif): Add "fmt" param; use it to + set the token printer and output format for the context. + (diagnostic_output_format_init_sarif_stderr): Move responsibility + for setting the context's output format to within + diagnostic_output_format_init_sarif. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + (test_sarif_diagnostic_context::test_sarif_diagnostic_context): + Likewise. + (selftest::test_make_location_object): Provide an idx for the + result. + (selftest::get_result_from_log): New. + (selftest::get_message_from_log): New. + (selftest::test_message_with_embedded_link): New test. + (selftest::diagnostic_format_sarif_cc_tests): Call it. + * pretty-print-format-impl.h: Include "diagnostic-event-id.h". + (pp_token::kind): Add "event_id". + (struct pp_token_event_id): New. + (is_a_helper <pp_token_event_id *>::test): New. + (is_a_helper <const pp_token_event_id *>::test): New. + * pretty-print.cc (pp_token::dump): Handle kind::event_id. + (pretty_printer::format): Update handling of "%@" in phase 2 + so that we add a pp_token_event_id, rather that the text "(N)". + (default_token_printer): Handle pp_token::kind::event_id by + printing the text "(N)". + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_context::report_diagnostic): Don't + pass m_urlifier to pp_format, as urlification now happens in + phase 3. + * dump-context.h (class dump_pretty_printer): Update leading + comment. + (dump_pretty_printer::emit_items): Drop decl. + (dump_pretty_printer::set_optinfo): New. + (class dump_pretty_printer::stashed_item): Delete class. + (class dump_pretty_printer::custom_token_printer): New class. + (dump_pretty_printer::format_decoder_cb): Convert param from + const char ** to pp_token_list &. + (dump_pretty_printer::decode_format): Likewise. + (dump_pretty_printer::stash_item): Likewise. + (dump_pretty_printer::emit_any_pending_textual_chunks): Drop decl. + (dump_pretty_printer::m_stashed_items): Delete field. + (dump_pretty_printer::m_token_printer): New member data. + * dumpfile.cc (struct wrapped_optinfo_item): New. + (dump_pretty_printer::dump_pretty_printer): Update for dropping + of field m_stashed_items and new field m_token_printer. + (dump_pretty_printer::emit_items): Delete; we now use + pp_output_formatted_text.. + (dump_pretty_printer::emit_any_pending_textual_chunks): Delete. + (dump_pretty_printer::stash_item): Convert param from + const char ** to pp_token_list &. + (dump_pretty_printer::format_decoder_cb): Likewise. + (dump_pretty_printer::decode_format): Likewise. + (dump_pretty_printer::custom_token_printer::print_tokens): New. + (dump_pretty_printer::custom_token_printer::emit_any_pending_textual_chunks): + New. + (dump_context::dump_printf_va): Call set_optinfo on the + dump_pretty_printer. Replace call to emit_items with a call to + pp_output_formatted_text. + * opt-problem.cc (opt_problem::opt_problem): Replace call to + emit_items with call to set_optinfo and call to + pp_output_formatted_text. + * pretty-print-format-impl.h (struct pp_token): New. + (struct pp_token_text): New. + (is_a_helper <pp_token_text *>::test): New. + (is_a_helper <const pp_token_text *>::test): New. + (struct pp_token_begin_color): New. + (is_a_helper <pp_token_begin_color *>::test): New. + (is_a_helper <const pp_token_begin_color *>::test): New. + (struct pp_token_end_color): New. + (struct pp_token_begin_quote): New. + (struct pp_token_end_quote): New. + (struct pp_token_begin_url): New. + (is_a_helper <pp_token_begin_url*>::test): New. + (is_a_helper <const pp_token_begin_url*>::test): New. + (struct pp_token_end_url): New. + (struct pp_token_custom_data): New. + (is_a_helper <pp_token_custom_data *>::test): New. + (is_a_helper <const pp_token_custom_data *>::test): New. + (class pp_token_list): New. + (chunk_info::get_args): Drop. + (chunk_info::get_quoting_info): Drop. + (chunk_info::get_token_lists): New accessor. + (chunk_info::append_formatted_chunk): Add obstack & param. + (chunk_info::dump): New decls. + (chunk_info::m_args): Convert element type from const char * to + pp_token_list *. Rewrite/update comment. + (chunk_info::m_quotes): Drop field. + * pretty-print-markup.h (class pp_token_list): New forward decl. + (pp_markup::context::context): Drop urlifier param; add + formatted_token_list param. + (pp_markup::context::push_back_any_text): New decl. + (pp_markup::context::m_urlifier): Drop field. + (pp_markup::context::m_formatted_token_list): New field. + * pretty-print-urlifier.h: Update comment. + * pretty-print.cc: Define INCLUDE_MEMORY. Include + "make-unique.h". + (default_token_printer): New forward decl. + (obstack_append_string): Delete. + (urlify_quoted_string): Delete. + (pp_token::pp_token): New. + (pp_token::dump): New. + (allocate_object): New. + (class quoting_info): Delete. + (pp_token::operator new): New. + (pp_token::operator delete): New. + (pp_token_list::operator new): New. + (pp_token_list::operator delete): New. + (pp_token_list::pp_token_list): New. + (pp_token_list::~pp_token_list): New. + (pp_token_list::push_back_text): New. + (pp_token_list::push_back): New. + (pp_token_list::push_back_list): New. + (pp_token_list::pop_front): New. + (pp_token_list::remove_token): New. + (pp_token_list::insert_after): New. + (pp_token_list::replace_custom_tokens): New. + (pp_token_list::merge_consecutive_text_tokens): New. + (pp_token_list::apply_urlifier): New. + (pp_token_list::dump): New. + (chunk_info::append_formatted_chunk): Add obstack & param and use + it to reimplement in terms of token lists. + (chunk_info::pop_from_output_buffer): Drop m_quotes. + (chunk_info::on_begin_quote): Delete. + (chunk_info::dump): New. + (chunk_info::on_end_quote): Delete. + (push_back_any_text): New. + (pretty_printer::format): Drop "urlifier" param and quoting_info + logic. Convert "formatters" and "args" from const ** to + pp_token_list **. Reimplement so that rather than just + accumulating a text buffer in the chunk_obstack for each arg, + instead also accumulate a pp_token_list and pp_tokens for each + arg. + (auto_obstack::operator obstack &): New. + (quoting_info::handle_phase_3): Delete. + (pp_output_formatted_text): Reimplement in terms of manipulations + of pp_token_lists, rather than char buffers. Call + default_token_printer, or m_token_printer's print_tokens vfunc. + (default_token_printer): New. + (pretty_printer::pretty_printer): Initialize m_token_printer in + both ctors. + (pp_markup::context::begin_quote): Reimplement to use token list. + (pp_markup::context::end_quote): Likewise. + (pp_markup::context::begin_highlight_color): Likewise. + (pp_markup::context::end_highlight_color): Likewise. + (pp_markup::context::push_back_any_text): New. + (selftest::test_merge_consecutive_text_tokens): New. + (selftest::test_custom_tokens_1): New. + (selftest::test_custom_tokens_2): New. + (selftest::pp_printf_with_urlifier): Drop "urlifier" param from + call to pp_format. + (selftest::test_urlification): Add test of the example from + pretty-print-format-impl.h. + (selftest::pretty_print_cc_tests): Call the new selftest + functions. + * pretty-print.h (class quoting_info): Drop forward decl. + (class pp_token_list): New forward decl. + (printer_fn): Convert final param from const char ** to + pp_token_list &. + (class token_printer): New. + (class pretty_printer): Add pp_output_formatted_text as friend. + (pretty_printer::set_token_printer): New. + (pretty_printer::format): Drop urlifier param as this now happens + in phase 3. + (pretty_printer::m_format_decoder): Update comment. + (pretty_printer::m_token_printer): New field. + (pp_format): Drop urlifier param. + * tree-diagnostic.cc (default_tree_printer): Convert final param + from const char ** to pp_token_list &. + * tree-diagnostic.h: Likewise for decl. + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + * dumpfile.cc: Include "pretty-print-format-impl.h". + * pretty-print-format-impl.h: New file, based on material from + pretty-print.h. + * pretty-print.cc: Include "pretty-print-format-impl.h". + * pretty-print.h (chunk_info): Replace full declaration with + a forward decl, moving full decl to pretty-print-format-impl.h. + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + * config/aarch64/aarch64.cc: Define INCLUDE_MEMORY. + * config/arm/arm.cc: Likewise. + * config/i386/i386.cc: Likewise. + * config/loongarch/loongarch.cc: Likewise. + * config/riscv/riscv-vector-costs.cc: Likewise. + * config/riscv/riscv.cc: Likewise. + * config/rs6000/rs6000.cc: Likewise. + * dump-context.h (dump_context::emit_item): Convert "item" param + from * to const &. + (dump_pretty_printer::stash_item): Convert "item" param from + optinfo_ * to std::unique_ptr<optinfo_item>. + (dump_pretty_printer::emit_item): Likewise. + * dumpfile.cc: Include "make-unique.h". + (make_item_for_dump_gimple_stmt): Replace uses of optinfo_item * + with std::unique_ptr<optinfo_item>. + (dump_context::dump_gimple_stmt): Likewise. + (make_item_for_dump_gimple_expr): Likewise. + (dump_context::dump_gimple_expr): Likewise. + (make_item_for_dump_generic_expr): Likewise. + (dump_context::dump_generic_expr): Likewise. + (make_item_for_dump_symtab_node): Likewise. + (dump_pretty_printer::emit_items): Likewise. + (dump_pretty_printer::emit_any_pending_textual_chunks): Likewise. + (dump_pretty_printer::emit_item): Likewise. + (dump_pretty_printer::stash_item): Likewise. + (dump_pretty_printer::decode_format): Likewise. + (dump_context::dump_printf_va): Fix overlong line. + (make_item_for_dump_dec): Replace uses of optinfo_item * with + std::unique_ptr<optinfo_item>. + (dump_context::dump_dec): Likewise. + (dump_context::dump_symtab_node): Likewise. + (dump_context::begin_scope): Likewise. + (dump_context::emit_item): Likewise. + * gimple-loop-interchange.cc: Define INCLUDE_MEMORY. + * gimple-loop-jam.cc: Likewise. + * gimple-loop-versioning.cc: Likewise. + * graphite-dependences.cc: Likewise. + * graphite-isl-ast-to-gimple.cc: Likewise. + * graphite-optimize-isl.cc: Likewise. + * graphite-poly.cc: Likewise. + * graphite-scop-detection.cc: Likewise. + * graphite-sese-to-poly.cc: Likewise. + * graphite.cc: Likewise. + * opt-problem.cc: Likewise. + * optinfo.cc (optinfo::add_item): Convert "item" param from + optinfo_ * to std::unique_ptr<optinfo_item>. + (optinfo::emit_for_opt_problem): Update for change to + dump_context::emit_item. + * optinfo.h: Add #error to fail immediately if INCLUDE_MEMORY + wasn't defined, rather than fail to find std::unique_ptr. + (optinfo::add_item): Convert "item" param from optinfo_ * to + std::unique_ptr<optinfo_item>. + * sese.cc: Define INCLUDE_MEMORY. + * targhooks.cc: Likewise. + * tree-data-ref.cc: Likewise. + * tree-if-conv.cc: Likewise. + * tree-loop-distribution.cc: Likewise. + * tree-parloops.cc: Likewise. + * tree-predcom.cc: Likewise. + * tree-ssa-live.cc: Likewise. + * tree-ssa-loop-ivcanon.cc: Likewise. + * tree-ssa-loop-ivopts.cc: Likewise. + * tree-ssa-loop-prefetch.cc: Likewise. + * tree-ssa-loop-unswitch.cc: Likewise. + * tree-ssa-phiopt.cc: Likewise. + * tree-ssa-threadbackward.cc: Likewise. + * tree-ssa-threadupdate.cc: Likewise. + * tree-vect-data-refs.cc: Likewise. + * tree-vect-generic.cc: Likewise. + * tree-vect-loop-manip.cc: Likewise. + * tree-vect-loop.cc: Likewise. + * tree-vect-patterns.cc: Likewise. + * tree-vect-slp-patterns.cc: Likewise. + * tree-vect-slp.cc: Likewise. + * tree-vect-stmts.cc: Likewise. + * tree-vectorizer.cc: Likewise. + +2024-08-29 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.cc (load_reg): Don't generate load with + unscaled index address when !TARGET_NO_SPACE_REGS. + (pa_legitimate_address_p): Only allow unscaled index + addresses when TARGET_NO_SPACE_REGS. + +2024-08-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116508 + * internal-fn.cc (expand_POPCOUNT): Use OPTAB_WIDEN for PLUS and + XOR/AND expansion. + +2024-08-29 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/116516 + * rtlanal.cc (strip_address_mutations): Allow subregs around + constant displacements. + +2024-08-29 Richard Sandiford <richard.sandiford@arm.com> + + * dse.cc (find_shift_sequence): Allow smallest_int_mode_for_size + to failure. + * optabs.cc (expand_twoval_binop_libfunc): Likewise. + +2024-08-29 Georg-Johann Lay <avr@gjlay.de> + + PR target/115830 + * config/avr/avr-modes.def (CCN, CCZN): New CC_MODEs. + * config/avr/avr-protos.h (avr_cond_branch): New from + ret_cond_branch. + (avr_out_plus_set_N, avr_op8_ZN_operator, avr_cmp0_code) + (avr_out_op8_set_ZN, avr_len_op8_set_ZN): New protos. + (ccn_reg_rtx, cczn_reg_rtx): New declarations. + * config/avr/avr.cc (avr_cond_branch): New from ret_cond_branch. + (avr_cond_string): Add bool cc_overflow_unusable argument. + (avr_print_operand) ['L']: Like 'j' but overflow unusable. + ['K']: Like 'k' but overflow unusable. + (avr_out_plus_set_ZN): Remove handling of QImode. + (avr_out_plus_set_N, avr_op8_ZN_operator, avr_cmp0_code) + (avr_out_op8_set_ZN, avr_len_op8_set_ZN): New functions. + (avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_N]: Hande case. + (avr_class_max_nregs): All MODE_CCs occupy one hard reg. + (avr_hard_regno_nregs): Same. + (avr_hard_regno_mode_ok) [REG_CC]: Allow all MODE_CC. + (pass_manager.h, context.h, tree-pass.h): Include them. + (ccn_reg_rtx, cczn_reg_rtx): New GTY variables. + (avr_init_expanders): Initialize them. + (avr_option_override): Run peephole2 a second time. + * config/avr/avr.md (adjust_len) [add_set_N]: New attr value. + (ALLCC, HI_SI): New mode iterators. + (CCname): New mode attribute. + (eqnegtle, cmp_signed, op8_ZN): New code iterators. + (swap, SWAP): New code attributes. + (branch): Handle CCNmode and CCZNmode. Assimilate... + (difficult_branch): ...this insn. + (p1m1): Remove. + (gen_add_for_<code>_<mode>): Adjust to CCNmode and CCZNmode. Use + HISI as mode iterator. Extend peephole2s that produce them. + (*add.for.eqne.<mode>): Extend to *add.for.cc[z]n.<mode>. + (*ashift.for.ccn.<mode>): New insn and peephole2 to make them. + (*sub.for.cczn.<mode>, *sub-extend<mode>.for.cczn.<mode>): + New insns and peephole2s to make them. + (*op8.for.cczn.<code>): New insn and peephole2 to make them. + * config/avr/predicates.md (const_1_to_3_operand) + (abs1_abs2_operand, signed_comparison_operator) + (op8_ZN_operator): New predicates. + +2024-08-29 Arsen Arsenović <arsen@aarsen.me> + + PR c++/105104 + * coroutine-passes.cc (execute_early_expand_coro_ifns): Don't + remove any labels. + +2024-08-29 Georg-Johann Lay <avr@gjlay.de> + + * config.gcc (extra_objs) [target=avr]: Add avr-passes.o. + * config/avr/t-avr (avr-passes.o): New rule to make it. + * config/avr/avr.cc (#define INCLUDE_VECTOR): Remove. + (cfganal.h, cfgrtl.h, context.h, tree-pass.h, print-rtl.h): Don't + include them. + (avr_strict_signed_p, avr_strict_unsigned_p, avr_2comparisons_rhs) + (make_avr_pass_recompute_notes, make_avr_pass_casesi) + (make_avr_pass_ifelse, make_avr_pass_pre_proep, avr_split_tiny_move) + (emit_move_ccc, emit_move_ccc_after, reg_seen_between_p) + (avr_maybe_adjust_cfa, avr_redundant_compare_regs) + (avr_parallel_insn_from_insns, avr_is_casesi_sequence) + (avr_optimize_casesi, avr_redundant_compare, make_avr_pass_fuse_add) + (avr_optimize_2ifelse, avr_rest_of_handle_ifelse) + (avr_casei_sequence_check_operands) + Move functions... + (avr_pass_data_fuse_add, avr_pass_data_ifelse) + (avr_pass_data_casesi, avr_pass_data_recompute_notes) + (avr_pass_data_pre_proep): Move objects... + (avr_pass_fuse_add, avr_pass_pre_proep, avr_pass_recompute_notes) + (avr_pass_ifelse, avr_pass_casesi, AVR_LdSt_Props): Move classes... + * config/avr/avr-passes.cc: ... to this new C++ module. + (struct Ranges): Move to... + * config/avr/ranges.h: ...this new file. + * config/avr/avr-protos.h: Adjust comments. + +2024-08-29 Robin Dapp <rdapp@ventanamicro.com> + + PR target/116086 + * config/riscv/autovec.md (vec_extract<mode><v_half>): Add + vector-vector extract for VLS modes. + * config/riscv/riscv.cc (riscv_can_change_mode_class): Forbid + VLS modes larger than one vector. + * config/riscv/vector-iterators.md: Add vector-vector extract + iterators. + +2024-08-29 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-features.cc (timode_immed_const_gain): New + function to determine the gain/cost on a CONST_WIDE_INT. + (timode_scalar_chain::compute_convert_gain): Fix whitespace. + <case CONST_WIDE_INT>: Provide more accurate estimates using + timode_immed_const_gain. + <case AND>: Handle CONSTANT_SCALAR_INT_P (src). + +2024-08-29 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_leaf_type): Add LF_MFUNC_ID. + (write_lf_mfunc_id): New function. + (add_lf_func_id): New function. + (add_lf_mfunc_id): New function. + (add_function): Call add_lf_func_id or add_lf_mfunc_id. + +2024-08-29 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_leaf_type): Add LF_MFUNCTION, + LF_METHODLIST, LF_METHOD, and LF_ONEMETHOD. + (struct codeview_subtype): Add lf_onemethod and lf_method to union. + (struct lf_methodlist_entry): New type. + (struct codeview_custom_type): Add lf_mfunc_id, lf_mfunction, and + lf_methodlist to union. + (struct codeview_method): New type. + (struct method_hasher): New type. + (get_type_num_subroutine_type): Add forward declaration. + (write_lf_fieldlist): Handle LF_ONEMETHOD and LF_METHOD. + (write_lf_mfunction): New function. + (write_lf_methodlist): New function. + (write_custom_types): Handle LF_MFUNCTION and LF_METHODLIST. + (add_struct_function): New function. + (get_mfunction_type): New function. + (is_templated_func): New function. + (get_type_num_struct): Handle DW_TAG_subprogram child DIEs. + (get_type_num_subroutine_type): Add containing_class_type, this_type, + and this_adjustment params, and handle creating LF_MFUNCTION types as + well as LF_PROCEDURE. + (get_type_num): New params for get_type_num_subroutine_type. + (add_function): New params for get_type_num_subroutine_type. + * dwarf2codeview.h (CV_METHOD_VANILLA, CV_METHOD_VIRTUAL): Define. + (CV_METHOD_STATIC, CV_METHOD_FRIEND, CV_METHOD_INTRO): Likewise. + (CV_METHOD_PUREVIRT, CV_METHOD_PUREINTRO): Likewise. + +2024-08-29 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_leaf_type): Add LF_STMEMBER. + (struct codeview_subtype): Add lf_static_member to union. + (write_lf_fieldlist): Handle LF_STMEMBER. + (add_struct_member): New function. + (add_struct_static_member): New function. + (get_accessibility): New function. + (get_type_num_struct): Split out into add_struct_member and + get_accessibility, and handle static members. + +2024-08-29 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cf_leaf_type): Add LF_STRING_ID. + (struct codeview_custom_type): Add lf_string_id to union. + (struct string_id_hasher): New type. + (string_id_htab): New global variable. + (write_lf_string_id): New function. + (write_custom_types): Call write_lf_string_id. + (codeview_debug_finish): Free string_id_htab. + (add_string_id): New function. + (get_scope_string_id): New function. + (add_function): Call get_scope_string_id and set scope. + +2024-08-29 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (get_name): New function. + (add_enum_forward_def): Call get_name. + (get_type_num_enumeration_type): Call get_name. + (add_struct_forward_def): Call get_name. + (get_type_num_struct): Call get_name. + (add_variable): Call get_name. + (add function): Call get_name. + * dwarf2out.cc (get_die_parent): Rename to dw_get_die_parent and make + non-static. + (generate_type_signature): Handle renamed get_die_parent. + * dwarf2out.h (dw_get_die_parent): Add declaration. + +2024-08-28 Andrew Pinski <quic_apinski@quicinc.com> + + * internal-fn.cc (expand_POPCOUNT): Dump the costs for + the two choices. + +2024-08-28 Jonathan Wakely <jwakely@redhat.com> + + * doc/contrib.texi (Contributors): Add Dhruv Matani. + +2024-08-28 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (INCLUDE_VECTOR): Define it. + (cfganal.h): Include it. + (Ranges): New struct. + (avr_2comparisons_rhs, avr_redundant_compare_regs) + (avr_strict_signed_p, avr_strict_unsigned_p): New static functions. + (avr_redundant_compare): Overhaul: Allow more cases. + (avr_optimize_2ifelse): New static function, outsourced from... + (avr_rest_of_handle_ifelse): ...this method. + +2024-08-28 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/tuning_models/generic.h (generic_sve_vector_cost): + Set gather_load_x32_init_cost and gather_load_x64_init_cost to 0. + +2024-08-28 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_detect_vector_stmt_subtype) + (aarch64_vector_costs::add_stmt_cost): Use the x64 cost rather + than x32 cost for all VNx2 modes. + +2024-08-28 Richard Sandiford <richard.sandiford@arm.com> + + * tree.h (ASM_INPUT_P): Fix documentation. + +2024-08-28 Filip Kastl <fkastl@suse.cz> + + PR tree-optimization/116355 + * tree-switch-conversion.cc (can_log2): Add capability to + suggest converting the operand to a different type. + (gen_log2): Add capability to generate a conversion in case the + operand is of a type incompatible with the logarithm operation. + (can_pow2p): New function. + (gen_pow2p): Rewrite to use __builtin_popcount instead of + manually inserting an internal fn call or bitmagic. Also add + capability to generate a conversion. + (switch_conversion::is_exp_index_transform_viable): Call + can_pow2p. Store types suggested by can_log2 and gen_log2. + (switch_conversion::exp_index_transform): Params of gen_pow2p + and gen_log2 changed so update their calls. + * tree-switch-conversion.h: Add m_exp_index_transform_log2_type + and m_exp_index_transform_pow2p_type to switch_conversion class + to track type conversions needed to generate the "is power of 2" + and logarithm operations. + +2024-08-28 Alex Coplan <alex.coplan@arm.com> + + PR libstdc++/116140 + * doc/sourcebuild.texi: Document ltrans-rtl value of kind for + scan-<kind>-dump*. + +2024-08-28 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (debug): Add overload for slp_instance. + +2024-08-28 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_store_interleaving): + Fix reference counting. + (vect_build_slp_instance): Release rhs_nodes. + +2024-08-28 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_store_interleaving): Split + out from ... + (vect_build_slp_instance): Here. + +2024-08-28 Pan Li <pan2.li@intel.com> + + * tree-vect-patterns.cc (vect_recog_sat_add_pattern): Add fold + convert for const_int to the type of operand 0. + +2024-08-28 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/vector.md (mode_idx): Add vrol and vror. + +2024-08-28 Pan Li <pan2.li@intel.com> + + * match.pd: Add the matching for signed .SAT_ADD. + * tree-ssa-math-opts.cc (gimple_signed_integer_sat_add): Add new + matching func decl. + (match_unsigned_saturation_add): Try signed .SAT_ADD and rename + to ... + (match_saturation_add): ... here. + (math_opts_dom_walker::after_dom_children): Update the above renamed + func from caller. + +2024-08-27 Andreas Schwab <schwab@linux-m68k.org> + + PR target/116413 + * config/m68k/m68k.cc (m68k_decompose_index): Accept ASHIFT like + MULT. + (m68k_rtx_costs) [PLUS]: Likewise. + (m68k_legitimize_address): Likewise. + +2024-08-27 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-v.cc (expand_vector_init_insert_elems): Relocate. + (expand_vector_init_trailing_same_elem): Ditto. + +2024-08-27 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-v.cc (expand_const_vector): Allow non-duplicate + to fall through other patterns before asserting. + +2024-08-27 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-v.h (valid_vec_immediate_p): Add new helper. + * config/riscv/riscv-v.cc (valid_vec_immediate_p): Ditto. + (expand_const_vector): Use new helper. + * config/riscv/riscv.cc (riscv_const_insns): Handle 0.0 floating-point + case. + +2024-08-27 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-v.cc (class rvv_builder): Move to riscv-v.h. + * config/riscv/riscv.cc (riscv_const_insns): Emit placeholder costs for + bool/stepped const vectors. + * config/riscv/riscv-v.h: New file. + +2024-08-27 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-v.cc (expand_const_vector): Use tmp register if + needed. + +2024-08-27 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv.cc (riscv_const_insns): Relocate. + +2024-08-27 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-v.cc (expand_const_vector): Fix STEP size in + expander. + +2024-08-27 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/vfp.md (movdi_vfp, thumb2_movdf_vfp): Handle MVE + case. + +2024-08-27 H.J. Lu <hjl.tools@gmail.com> + + * doc/sourcebuild.texi (check-function-bodies): Add an optional + argument for matched output lines. + +2024-08-27 Michael Matz <matz@suse.de> + + PR target/116429 + * lra.cc (setup_sp_offset): Start with sp_offset from + before the new sequence, not from after. + +2024-08-27 Michael Matz <matz@suse.de> + + PR target/116374 + * lra-eliminations.cc (init_elim_table): Use -1 as initializer. + (update_reg_eliminate): Accept -1 as not-yet-used marker. + (eliminate_regs_in_insn): Use previous_sp_offset only when + not first_p. + +2024-08-27 Michael Matz <matz@suse.de> + + PR target/116413 + * final.cc (walk_alter_subreg): Recurse on AHIFT. + +2024-08-27 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/116413 + * rtl.h (address_info): Update commentary. + * rtlanal.cc (valid_base_or_index_term_p): New function, split + out from... + (get_base_term, get_index_term): ...here. Handle elimination PLUSes. + +2024-08-27 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/116321 + * lra-constraints.cc (get_hard_regno): Only apply eliminations + to existing hard registers. + (get_reg_class): Likewise. + +2024-08-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116460 + * tree-ssa-forwprop.cc (pass_forwprop::execute): First do + simple_dce_from_worklist and then remove stmts in to_remove. + Track defs to be removed in to_remove_defs. + +2024-08-27 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_expand_ussub): Gen xmode for the + second operand, aka y in parameter. + * config/riscv/riscv.md (ussub<mode>3): Allow const_int for operand 2. + +2024-08-26 Hans-Peter Nilsson <hp@axis.com> + + PR middle-end/115883 + * combine.cc (make_more_copies): Copy attributes from the original + pseudo to the new copy. + +2024-08-26 Arsen Arsenović <arsen@aarsen.me> + + * coroutine-passes.cc (execute_early_expand_coro_ifns): Emit a + sorry if a statement is an alloca call. + +2024-08-26 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS-libcommon): Add diagnostic-format-text.o. + * diagnostic-format-json.cc: Include "diagnostic-format.h". + * diagnostic-format-sarif.cc: Likewise. + * diagnostic-format-text.cc: New file, using material from + diagnostics.cc. + * diagnostic-global-context.cc: Include + "diagnostic-format.h". + * diagnostic-format-text.h: New file, using material from + diagnostics.h. + * diagnostic-format.h: New file, using material from + diagnostics.h. + * diagnostic.cc: Include "diagnostic-format.h" and + "diagnostic-format-text.h". + (diagnostic_text_output_format::~diagnostic_text_output_format): + Move to diagnostic-format-text.cc. + (diagnostic_text_output_format::on_report_diagnostic): Likewise. + (diagnostic_text_output_format::on_diagram): Likewise. + (diagnostic_text_output_format::print_any_cwe): Likewise. + (diagnostic_text_output_format::print_any_rules): Likewise. + (diagnostic_text_output_format::print_option_information): + Likewise. + * diagnostic.h (class diagnostic_output_format): Move to + diagnostic-format.h. + (class diagnostic_text_output_format): Move to + diagnostic-format-text.h. + (diagnostic_output_format_init): Move to + diagnostic-format.h. + (diagnostic_output_format_init_json_stderr): Likewise. + (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. + * gcc.cc: Include "diagnostic-format.h". + * opts.cc: Include "diagnostic-format.h". + +2024-08-26 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc + (json_output_format::on_begin_diagnostic): Delete. + (json_output_format::on_end_diagnostic): Rename to... + (json_output_format::on_report_diagnostic): ...this and add call + to pp_output_formatted_text. + (diagnostic_output_format_init_json): Drop unnecessary calls + to disable textual printing of CWEs, rules, and options. + * diagnostic-format-sarif.cc (sarif_builder::end_diagnostic): + Rename to... + (sarif_builder::on_report_diagnostic): ...this and add call to + pp_output_formatted_text. + (sarif_output_format::on_begin_diagnostic): Delete. + (sarif_output_format::on_end_diagnostic): Rename to... + (sarif_output_format::on_report_diagnostic): ...this and update + call to m_builder accordingly. + (diagnostic_output_format_init_sarif): Drop unnecessary calls + to disable textual printing of CWEs, rules, and options. + * diagnostic.cc (diagnostic_context::print_any_cwe): Convert to... + (diagnostic_text_output_format::print_any_cwe): ...this. + (diagnostic_context::print_any_rules): Convert to... + (diagnostic_text_output_format::print_any_rules): ...this. + (diagnostic_context::print_option_information): Convert to... + (diagnostic_text_output_format::print_option_information): + ...this. + (diagnostic_context::report_diagnostic): Replace calls to the + output format's on_begin_diagnostic, to pp_output_formatted_text, + printing CWE, rules, option info, and the call to the format's + on_end_diagnostic with a call to the format's + on_report_diagnostic. + (diagnostic_text_output_format::on_begin_diagnostic): Delete. + (diagnostic_text_output_format::on_end_diagnostic): Delete. + (diagnostic_text_output_format::on_report_diagnostic): New vfunc, + which effectively does the on_begin_diagnostic, the call to + pp_output_formatted_text, the calls for printing CWE, rules, + option info, and the call to the diagnostic_finalizer. + * diagnostic.h (diagnostic_output_format::on_begin_diagnostic): + Delete. + (diagnostic_output_format::on_end_diagnostic): Delete. + (diagnostic_output_format::on_report_diagnostic): New. + (diagnostic_text_output_format::on_begin_diagnostic): Delete. + (diagnostic_text_output_format::on_end_diagnostic): Delete. + (diagnostic_text_output_format::on_report_diagnostic): New. + (class diagnostic_context): Add friend class + diagnostic_text_output_format. + (diagnostic_context::get_urlifier): New accessor. + (diagnostic_context::print_any_cwe): Move decl... + (diagnostic_text_output_format::print_any_cwe): ...to here. + (diagnostic_context::print_any_rules): Move decl... + (diagnostic_text_output_format::print_any_rules): ...to here. + (diagnostic_context::print_option_information): Move decl... + (diagnostic_text_output_format::print_option_information): ...to + here. + +2024-08-26 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc: Add comments noting that we don't + yet capture any diagnostic_metadata::rules associated with a + diagnostic. + +2024-08-26 David Malcolm <dmalcolm@redhat.com> + + * pretty-print.cc (selftest::test_urls): Make static. + (selftest::test_urls_from_braces): New. + (selftest::test_null_urls): Make static. + (selftest::test_urlification): Likewise. + (selftest::pretty_print_cc_tests): Call test_urls_from_braces. + +2024-08-26 David Malcolm <dmalcolm@redhat.com> + + * json.h: Fix typo in comment about missing INCLUDE_MEMORY. + +2024-08-26 Andi Kleen <ak@gcc.gnu.org> + + * tree-if-conv.cc: Remove unneeded include from last change. + +2024-08-26 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR debug/116470 + * configure.ac: Add the "nop" instruction for cpu type ft32. + * configure: Regenerate. + * dwarf2out.cc (dwarf2out_set_ignored_loc): Use the correct + line info section. + +2024-08-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116460 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Do not + process blocks in unreachable natural loops. + +2024-08-26 Richard Biener <rguenther@suse.de> + + * tree-ssa-forwprop.cc (simplify_gimple_switch_label_vec): + Delay removing edges and releasing dominator info, instead + record into edges_to_remove vector. + (simplify_gimple_switch): Pass through vector of to remove + edges. + (pass_forwprop::execute): Likewise. Remove queued edges. + +2024-08-26 Xi Ruoyao <xry111@xry111.site> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/116348 + * tree-vect-stmts.cc (supportable_widening_operation): Use + STMT_VINFO_REDUC_DEF (x) instead of + STMT_VINFO_DEF_TYPE (x) == vect_reduction_def. + +2024-08-26 Pan Li <pan2.li@intel.com> + + * match.pd: Add int_fits_type_p check for .SAT_ADD imm operand. + +2024-08-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116480 + * internal-fn.cc (expand_POPCOUNT): Use the correct mode + for store flags. + +2024-08-26 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/avx10_2-512convertintrin.h + (_mm512_cvtpbf8_ph): New. + (_mm512_mask_cvtpbf8_ph): Ditto. + (_mm512_maskz_cvtpbf8_ph): Ditto. + * config/i386/avx10_2convertintrin.h + (_mm_cvtpbf8_ph): Ditto. + (_mm_mask_cvtpbf8_ph): Ditto. + (_mm_maskz_cvtpbf8_ph): Ditto. + (_mm256_cvtpbf8_ph): Ditto. + (_mm256_mask_cvtpbf8_ph): Ditto. + (_mm256_maskz_cvtpbf8_ph): Ditto. + +2024-08-26 Zhang, Jun <jun.zhang@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + Hongtao Liu <hongtao.liu@intel.com> + + * config/i386/i386-expand.cc + (ix86_ssecom_setcc): Mention behavior change on flags. + (ix86_expand_sse_comi): Handle AVX10.2 behavior. + (ix86_expand_sse_comi_round): Ditto. + (ix86_expand_round_builtin): Ditto. + (ix86_expand_builtin): Change function call. + * config/i386/i386.md (UNSPEC_COMX): New unspec. + * config/i386/sse.md + (avx10_2_v<unord>comx<ssemodesuffix><round_saeonly_name>): New. + (<sse>_<unord>comi<round_saeonly_name>): Add HFmode. + +2024-08-26 Zhang, Jun <jun.zhang@intel.com> + + * config.gcc: Add avx10_2copyintrin.h. + * config/i386/i386.md (avx10_2): New isa attribute. + * config/i386/immintrin.h: Include avx10_2copyintrin.h. + * config/i386/sse.md + (sse_movss_<mode>): Add new constraints to handle AVX10.2. + (vec_set<mode>_0): Ditto. + (@vec_set<mode>_0): Ditto. + (vec_set<mode>_0): Ditto. + (avx512fp16_mov<mode>): Ditto. + (*vec_set<mode>_0_1): New split. + * config/i386/avx10_2copyintrin.h: New file. + +2024-08-26 Mo, Zewei <zewei.mo@intel.com> + Hu, Lin1 <lin1.hu@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * config.gcc: Add avx10_2-512minmaxintrin.h and + avx10_2minmaxintrin.h. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (V8BF, V8BF, V8BF, INT, V8BF, UQI), + (V16BF, V16BF, V16BF, INT, V16BF, UHI), + (V32BF, V32BF, V32BF, INT, V32BF, USI), + (V8HF, V8HF, V8HF, INT, V8HF, UQI), + (V8DF, V8DF, V8DF, INT, V8DF, UQI, INT), + (V32HF, V32HF, V32HF, INT, V32HF, USI, INT), + (V16HF, V16HF, V16HF, INT, V16HF, UHI, INT), + (V16SF, V16SF, V16SF, INT, V16SF, UHI, INT). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc + (ix86_expand_args_builtin): Handle V8BF_FTYPE_V8BF_V8BF_INT_V8BF_UQI, + V16BF_FTYPE_V16BF_V16BF_INT_V16BF_UHI, + V32BF_FTYPE_V32BF_V32BF_INT_V32BF_USI, + V8HF_FTYPE_V8HF_V8HF_INT_V8HF_UQI, + (ix86_expand_round_builtin): Handle V8DF_FTYPE_V8DF_V8DF_INT_V8DF_UQI_INT, + V32HF_FTYPE_V32HF_V32HF_INT_V32HF_USI_INT, + V16HF_FTYPE_V16HF_V16HF_INT_V16HF_UHI_INT. + V16SF_FTYPE_V16SF_V16SF_INT_V16SF_UHI_INT. + * config/i386/immintrin.h: Include avx10_2-512mixmaxintrin.h and + avx10_2minmaxintrin.h. + * config/i386/sse.md (VFH_AVX10_2): New. + (avx10_2_vminmaxnepbf16_<mode><mask_name>): New define_insn. + (avx10_2_minmaxp<mode><mask_name><round_saeonly_name>): Ditto. + (avx10_2_minmaxs<mode><mask_scalar_name><round_saeonly_scalar_name>): Ditto. + * config/i386/avx10_2-512minmaxintrin.h: New file. + * config/i386/avx10_2minmaxintrin.h: Ditto. + +2024-08-26 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2-512satcvtintrin.h: Add new intrin. + * config/i386/avx10_2satcvtintrin.h: Ditto. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md (VF1_VF2_AVX10_2): New iterator. + (VF2_AVX10_2): Ditto. + (VI8_AVX10_2): Ditto. + (sat_cvt_sign_prefix): Add new UNSPEC. + (UNSPEC_SAT_CVT_DS_SIGN_ITER): New iterator. + (pd2dqssuff): Ditto. + (avx10_2_vcvtt<castmode>2<sat_cvt_sign_prefix>dqs<mode><mask_name><round_saeonly_name>): + New. + (avx10_2_vcvttpd2<sat_cvt_sign_prefix>qqs<mode><mask_name><round_saeonly_name>): + Ditto. + (avx10_2_vcvttps2<sat_cvt_sign_prefix>qqs<mode><mask_name><round_saeonly_name>): + Ditto. + (avx10_2_vcvttsd2<sat_cvt_sign_prefix>sis<mode><round_saeonly_name>): + Ditto. + (avx10_2_vcvttss2<sat_cvt_sign_prefix>sis<mode><round_saeonly_name>): + Ditto. + +2024-08-26 Hu, Lin1 <lin1.hu@intel.com> + + * config.gcc: Add avx10_2satcvtintrin.h and + avx10_2-512satcvtintrin.h. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (V8HI, V8BF, V8HI, UQI), + (V16HI, V16BF, V16HI, UHI), (V32HI, V32BF, V32HI, USI), + (V16SI, V16SF, V16SI, UHI, INT), (V16HI, V16BF, V16HI, UHI, INT), + (V32HI, V32BF, V32HI, USI, INT). + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle + V32HI_FTYPE_V32BF_V32HI_USI, V16HI_FTYPE_V16BF_V16HI_UHI, + V8HI_FTYPE_V8BF_V8HI_UQI. + (ix86_expand_round_builtin): Handle V32HI_FTYPE_V32BF_V32HI_USI_INT, + V16SI_FTYPE_V16SF_V16SI_UHI_INT, V16HI_FTYPE_V16BF_V16HI_UHI_INT. + * config/i386/immintrin.h: Include avx10_2satcvtintrin.h and + avx10_2-512savcvtintrin.h. + * config/i386/sse.md: + (UNSPEC_CVTNE_BF16_IBS_ITER): New iterator. + (sat_cvt_sign_prefix): Ditto. + (sat_cvt_trunc_prefix): Ditto. + (UNSPEC_CVT_PH_IBS_ITER): Ditto. + (UNSPEC_CVTT_PH_IBS_ITER): Ditto. + (UNSPEC_CVT_PS_IBS_ITER): Ditto. + (UNSPEC_CVTT_PS_IBS_ITER): Ditto. + (avx10_2_cvt<sat_cvt_trunc_prefix>nebf162i<sat_cvt_sign_prefix>bs<mode><mask_name>): + New define_insn. + (avx10_2_cvtph2i<sat_cvt_sign_prefix>bs<mode><mask_name><round_name>): + Ditto. + (avx10_2_cvttph2i<sat_cvt_sign_prefix>bs<mode><mask_name><round_saeonly_name>): + Ditto. + (avx10_2_cvtps2i<sat_cvt_sign_prefix>bs<mode><mask_name><round_name>): + Ditto. + (avx10_2_cvttps2i<sat_cvt_sign_prefix>bs<mode><mask_name><round_saeonly_name>): + Ditto. + * config/i386/avx10_2-512satcvtintrin.h: New file. + * config/i386/avx10_2satcvtintrin.h: Ditto. + +2024-08-26 konglin1 <lingling.kong@intel.com> + Levy Hsu <admin@levyhsu.com> + + * config/i386/avx10_2-512bf16intrin.h: Add new intrinsics. + * config/i386/avx10_2bf16intrin.h: Diito. + * config/i386/i386-builtin-types.def : Add new DEF_FUNCTION_TYPE + for new type. + * config/i386/i386-builtin.def (BDESC): Add new buildin. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): + Handle new type. + * config/i386/sse.md (vecmemsuffix): Add vector BF mode. + (avx10_2_rsqrtpbf16_<mode><mask_name>): New define_insn. + (avx10_2_sqrtnepbf16_<mode><mask_name>): Ditto. + (avx10_2_rcppbf16_<mode><mask_name>): Ditto. + (avx10_2_getexppbf16_<mode><mask_name>): Ditto. + (BF16IMMOP): New iterator. + (bf16immop): Ditto. + (avx10_2_<bf16immop>pbf16_<mode><mask_name>): New define_insn. + (avx10_2_fpclasspbf16_<mode><mask_scalar_merge_name>): Ditto. + (avx10_2_cmppbf16_<mode><mask_scalar_merge_name>): Ditto. + (avx10_2_comsbf16_v8bf): Ditto. + +2024-08-26 konglin1 <lingling.kong@intel.com> + Levy Hsu <admin@levyhsu.com> + + * config.gcc: Add avx10_2-512bf16intrin.h and avx10_2bf16intrin.h. + * config/i386/i386-builtin-types.def : Add new + DEF_FUNCTION_TYPE for V32BF_FTYPE_V32BF_V32BF, + V16BF_FTYPE_V16BF_V16BF, V8BF_FTYPE_V8BF_V8BF, + V8BF_FTYPE_V8BF_V8BF_UQI, V16BF_FTYPE_V16BF_V16BF_UHI, + V32BF_FTYPE_V32BF_V32BF_USI, V32BF_FTYPE_V32BF_V32BF_V32BF_USI, + V8BF_FTYPE_V8BF_V8BF_V8BF_UQI and V16BF_FTYPE_V16BF_V16BF_V16BF_UHI. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): + Handle new DEF_FUNCTION_TYPE. + * config/i386/immintrin.h: Include avx10_2-512bf16intrin.h and + avx10_2bf16intrin.h. + * config/i386/sse.md + (VBF_AVX10_2): New iterator. + (avx10_2_scalefpbf16_<mode><mask_name>): New define_insn. + (avx10_2_<code>nepbf16_<mode><mask_name>): Ditto. + (avx10_2_<insn>nepbf16_<mode><mask_name>): Ditto. + (avx10_2_fmaddnepbf16_<mode>_maskz): New expander. + (avx10_2_fnmaddnepbf16_<mode>_maskz): Ditto. + (avx10_2_fmsubnepbf16_<mode>_maskz): Ditto. + (avx10_2_fnmsubnepbf16_<mode>_maskz): Ditto. + (avx10_2_fmaddnepbf16_<mode><sd_maskz_name>): New define_insn. + (avx10_2_fmaddnepbf16_<mode>_mask): Ditto. + (avx10_2_fmaddnepbf16_<mode>_mask3): Ditto. + (avx10_2_fnmaddnepbf16_<mode><sd_maskz_name>): Ditto. + (avx10_2_fnmaddnepbf16_<mode>_mask): Ditto. + (avx10_2_fnmaddnepbf16_<mode>_mask3): Ditto. + (avx10_2_fmsubnepbf16_<mode><sd_maskz_name>): Ditto. + (avx10_2_fmsubnepbf16_<mode>_mask): Ditto. + (avx10_2_fmsubnepbf16_<mode>_mask3): Ditto. + (avx10_2_fnmsubnepbf16_<mode><sd_maskz_name>): Ditto. + (avx10_2_fnmsubnepbf16_<mode>_mask): Ditto. + (avx10_2_fnmsubnepbf16_<mode>_mask3): Ditto. + * config/i386/avx10_2-512bf16intrin.h: New file. + * config/i386/avx10_2bf16intrin.h: Ditto. + +2024-08-26 Levy Hsu <admin@levyhsu.com> + Kong Lingling <lingling.kong@intel.com> + + * config.gcc: Add avx10_2-512convertintrin.h and + avx10_2convertintrin.h. + * config/i386/i386-builtin-types.def: Add new DEF_POINTER_TYPE + and DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_args_builtin): + Handle AVX10.2. + (ix86_expand_round_builtin): Ditto. + * config/i386/immintrin.h: Include avx10_2-512convertintrin.h, + avx10_2convertintrin.h. + * config/i386/sse.md (VHF_AVX10_2): New iterator. + (bf16_ph): Add 512 bit mode. + (avx10_2_cvt2ps2phx_<mode><mask_name<round_name>): New define_insn. + (ssebvecmode): New iterator. + (UNSPEC_NECONVERTFP8_PACK): Ditto. + (neconvertfp8_pack): Ditto. + (vcvt<neconvertfp8_pack><mode><mask_name>): New define_insn. + (ssebvecmode_2): New iterator. + (UNSPEC_VCVTBIASPH2FP8_PACK): Ditto. + (biasph2fp8_pack): Ditto. + (vcvt<biasph2fp8_pack>v8hf): New expander. + (vcvt<biasph2fp8_pack>v8hf_mask): Ditto. + (*vcvt<biasph2bf8_pack>v8hf): New define_insn. + (*vcvt<biasph2fp8_pack>v8hf_mask): Ditto. + (VHF_AVX10_2_2): New iterator. + (vcvt<biasph2fp8_pack><mode><mask_name>): New define_insn. + (VHF_256_512): New iterator. + (ph2fp8suff): Ditto. + (UNSPEC_NECONVERTPH2FP8_PACK): Ditto. + (neconvertph2fp8): Ditto. + (vcvt<neconvertph2fp8>v8hf_mask): New expander. + (*vcvt<neconvertph2fp8>v8hf): New define_insn. + (*vcvt<neconvertph2fp8>v8hf_mask): Ditto. + (vcvt<neconvertph2fp8><mode><mask_name>): Ditto. + (vcvthf82ph<mode><mask_name>): Ditto. + * config/i386/avx10_2-512convertintrin.h: New file. + * config/i386/avx10_2convertintrin.h: Ditto. + +2024-08-26 Haochen Jiang <haochen.jiang@intel.com> + Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/avx10_2-512mediaintrin.h: Add new intrins. + * config/i386/avx10_2mediaintrin.h: Ditto. + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/i386-builtins.cc (def_builtin): Handle shared + builtins between AVXVNNIINT16 and AVX10.2. + * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): + Ditto. + * config/i386/sse.md (unspec): Add UNSPEC_VDPPHPS. + (avx10_2_mpsadbw<mask_name>): New define_insn. + (<mask_codefor><sse4_1_avx2>_mpsadbw<mask_name>): Ditto. + (vpdp<vpdpwprodtype>_<mode>): Add AVX10_2_256. + (vpdp<vpdpwprodtype>_v16si): New defin_insn. + (vpdp<vpdpwprodtype>_<mode>_mask): Ditto. + (*vpdp<vpdpwprodtype>_<mode>_maskz): Ditto. + (vpdp<vpdpwprodtype>_<mode>_maskz): New expander. + (vdpphps_<mode>): New define_insn. + (vdpphps_<mode>_mask): Ditto. + (*vdpphps_<mode>_maskz): Ditto. + (vdpphps_<mode>_maskz): New expander. + +2024-08-26 Hongyu Wang <hongyu.wang@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * config.gcc: Add avx10_2mediaintrin.h and + avx10_2-512mediaintrin.h. + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/i386-builtins.cc (def_builtin): Handle shared + builtins between AVXVNNIINT8 and AVX10.2. + * config/i386/i386-expand.cc (ix86_check_builtin_isa_match): + Ditto. + * config/i386/immintrin.h: Include avx10_2mediaintrin.h and + avx10_2-512mediaintrin.h + * config/i386/sse.md: (VI4_AVX10_2): New. + (vpdp<vpdotprodtype>_<mode>): Add AVX10_2_256. + (vpdp<vpdotprodtype>_v16si): New define_insn. + (vpdp<vpdotprodtype>_<mode>_mask): Ditto. + (*vpdp<vpdotprodtype>_<mode>_maskz): Ditto. + (vpdp<vpdotprodtype>_<mode>_maskz): New expander. + * config/i386/avx10_2-512mediaintrin.h: New file. + * config/i386/avx10_2mediaintrin.h: Ditto. + +2024-08-26 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_gen_unsigned_xmode_reg): Add new + func impl to gen xmode rtx reg from operand rtx. + (riscv_expand_ussub): Gen xmode reg for operand 1. + * config/riscv/riscv.md: Allow const_int for operand 1. + +2024-08-25 demin.han <demin.han@starfivetech.com> + + * config/riscv/vector.md: Add !FLOAT_MODE_P constraint. + +2024-08-25 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * lower-subreg.cc (resolve_simple_move): Re-add calling emit_clobber + immediately before moving a multi-word register by parts. + +2024-08-25 Andi Kleen <ak@gcc.gnu.org> + + PR tree-optimization/115866 + * tree-if-conv.cc (if_convertible_switch_p): New function. + (if_convertible_stmt_p): Check for switch. + (get_loop_body_in_if_conv_order): Handle switch. + (predicate_bbs): Likewise. + (predicate_statements): Likewise. + (remove_conditions_and_labels): Likewise. + (ifcvt_split_critical_edges): Likewise. + (ifcvt_local_dce): Likewise. + +2024-08-25 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (write_optimized_static_local_vars): New function. + (write_function): Call write_optimized_static_local_vars. + +2024-08-25 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_sym_type): Add S_FRAMEPROC. + (write_s_frameproc): New function. + (write_function): Call write_s_frameproc. + +2024-08-25 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_sym_type): Add S_DEFRANGE_REGISTER_REL. + (write_defrange_register_rel): New function. + (write_optimized_local_variable_loc): Add fbloc param, and call + write_defrange_register_rel. + (write_optimized_local_variable): Add fbloc param. + (write_optimized_function_vars): Add fbloc param. + +2024-08-25 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_sym_type): Add S_LOCAL and + S_DEFRANGE_REGISTER. + (write_s_local): New function. + (write_defrange_register): New function. + (write_optimized_local_variable_loc): New function. + (write_optimized_local_variable): New function. + (write_optimized_function_vars): New function. + (write_function): Call write_optimized_function_vars if variable + tracking enabled. + * dwarf2out.cc (typedef var_loc_view): Move to dwarf2out.h. + (struct dw_loc_list_struct): Likewise. + * dwarf2out.h (typedef var_loc_view): Move from dwarf2out.h. + (struct dw_loc_list_struct): Likewise. + * opts.cc (finish_options): Enable variable tracking for CodeView. + +2024-08-25 Roger Sayle <roger@nextmovesoftware.com> + Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386-features.cc (compute_convert_gain) + <case ASHIFTRT>: Update to match ix86_expand_v1ti_ashiftrt. + +2024-08-23 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-v.cc (rvv_builder::can_duplicate_repeating_sequence_p): + Use encoded_nelts when calling repeating_sequence_p. + (rvv_builder::is_repeating_sequence): Ditto. + (rvv_builder::repeating_sequence_use_merge_profitable_p): Ditto. + +2024-08-23 Manolis Tsamis <manolis.tsamis@vrull.eu> + + PR rtl-optimization/116372 + PR rtl-optimization/116405 + * ifcvt.cc (noce_convert_multiple_sets): Iterate backwards and track + target registers. + +2024-08-23 Manolis Tsamis <manolis.tsamis@vrull.eu> + + PR middle-end/116358 + * ifcvt.cc (noce_convert_multiple_sets): Disallow call insns. + +2024-08-23 Peter Bergner <bergner@linux.ibm.com> + + PR target/116415 + * config/rs6000/rs6000.h (TI_OR_PTI_MODE): New define. + * config/rs6000/rs6000-p8swap.cc (rs6000_analyze_swaps): Use it to + handle PTImode identically to TImode. + +2024-08-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116463 + * tree-complex.cc: Include tree-ssa-dce.h. + (dce_worklist): New global. + (update_complex_assignment): Add SSA def to the DCE worklist. + (tree_lower_complex): Perform DCE. + +2024-08-23 Pan Li <pan2.li@intel.com> + + * match.pd: Add form 4 for unsigned .SAT_TRUNC matching. + +2024-08-23 Robin Dapp <rdapp@ventanamicro.com> + + PR middle-end/115495 + * cfgexpand.cc (expand_debug_expr): Require mode. + * combine.cc (make_extraction): Ditto. + * config/aarch64/aarch64.cc (aarch64_expand_cpymem): Ditto. + (aarch64_expand_setmem): Ditto. + * config/arc/arc.cc (arc_expand_cpymem): Ditto. + * config/arm/arm.cc (arm_expand_divmod_libfunc): Ditto. + * config/i386/i386.cc (ix86_get_mask_mode): Ditto. + * config/rs6000/predicates.md: Ditto. + * config/rs6000/rs6000.cc (vspltis_constant): Ditto. + * config/s390/s390.cc (s390_expand_insv): Ditto. + * config/sparc/sparc.cc (assign_int_registers): Ditto. + * coverage.cc (get_gcov_type): Ditto. + (get_gcov_unsigned_t): Ditto. + * dse.cc (find_shift_sequence): Ditto. + * expmed.cc (store_integral_bit_field): Ditto. + * expr.cc (convert_mode_scalar): Ditto. + (op_by_pieces_d::smallest_fixed_size_mode_for_size): Ditto. + (emit_block_move_via_oriented_loop): Ditto. + (copy_blkmode_to_reg): Ditto. + (store_field): Ditto. + * internal-fn.cc (expand_arith_overflow): Ditto. + * machmode.h (HAVE_MACHINE_MODES): Ditto. + (smallest_mode_for_size): Use opt_machine_mode. + (smallest_int_mode_for_size): Use opt_scalar_int_mode. + * optabs-query.cc (get_best_extraction_insn): Require mode. + * optabs.cc (expand_twoval_binop_libfunc): Ditto. + * stor-layout.cc (smallest_mode_for_size): Return + opt_machine_mode. + (layout_type): Require mode. + (initialize_sizetypes): Ditto. + * tree-ssa-loop-manip.cc (canonicalize_loop_ivs): Ditto. + +2024-08-23 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec.md (abs<mode>2): Expand via max (a, -a). + +2024-08-23 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (License): Specifically link to GPL v3.0 + +2024-08-22 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116420 + * ext-dce.cc (ext_dce_init): Fix loop iteration when setting up the + interesting block for DF to analyze. + +2024-08-22 Prathamesh Kulkarni <prathameshk@nvidia.com> + + * lto-streamer-in.cc: (lto_read_tree_1): Set DECL_MODE (expr) to + TREE_TYPE (TYPE_MODE (expr)) if TREE_TYPE (expr) is aggregate type and + offloading is enabled. + * stor-layout.cc (layout_type): Move computation of mode for + ARRAY_TYPE from ... + (compute_array_mode): ... to here. + * stor-layout.h (compute_array_mode): Declare. + * tree-streamer-in.cc: Include stor-layout.h. + (unpack_ts_common_value_fields): Call compute_array_mode if offloading + is enabled. + * tree-streamer-out.cc (pack_ts_fixed_cst_value_fields): Stream out + VOIDmode if decl has aggregate type and offloading is enabled. + (pack_ts_type_common_value_fields): Stream out VOIDmode for aggregate + type if offloading is enabled. + +2024-08-22 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): Add + epilogue code for stack-clash and fix prologue cfi note. + +2024-08-22 Andrew Pinski <quic_apinski@quicinc.com> + Richard Biener <rguenther@suse.de> + + PR middle-end/116454 + * fold-const.cc (fold_binary_loc): Fix `a * +-1i` + by wrapping arg0 with save_expr when it is not COMPLEX_EXPR. + +2024-08-22 Jennifer Schmitz <jschmitz@nvidia.com> + + PR target/116365 + * config/aarch64/aarch64-opts.h + (enum aarch64_autovec_preference_enum): New enum. + * config/aarch64/aarch64.cc (aarch64_cmp_autovec_modes): + Change numerical to enum values. + (aarch64_autovectorize_vector_modes): Change numerical to enum + values. + (aarch64_vector_costs::record_potential_advsimd_unrolling): + Change numerical to enum values. + * config/aarch64/aarch64.opt: Change param type to enum. + * doc/invoke.texi: Update documentation. + +2024-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> + + * dwarf2out.cc (dwarf2out_maybe_output_loclist_view_pair, + output_loc_list): Correct handling of -gno-as-loc-support, + use ZERO_VIEW_P to output view number as zero value. + * toplev.cc (process_options): Do not automatically disable + -gvariable-location-views when -gno-as-loc-support or + -gno-as-locview-support is used, instead do automatically + disable -gas-locview-support if -gno-as-loc-support is used. + +2024-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR debug/87440 + * dwarf2out.cc (gen_inlined_subroutine_die): Handle the case + of multiple subranges correctly. + +2024-08-22 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/101390 + * tree-vect-patterns.cc (vect_recog_mod_var_pattern): Add new pattern. + +2024-08-22 Alexandre Oliva <oliva@adacore.com> + + * toplev.cc (dump_final_alias_vcg): New. + (dump_final_node_vcg): Dump aliases along with node. + +2024-08-22 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-options.cc (ix86_option_override_internal): + set ix86_{move_max,store_max} to PVW_AVX256 when TARGET_AVX + instead of PVW_AVX128. + +2024-08-21 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116437 + * ext-dce.cc (ext_dce_try_optimize_insn): Handle SUBREG and + ZERO_EXTRACT destinations. + +2024-08-21 Richard Sandiford <richard.sandiford@arm.com> + + PR testsuite/116238 + * config/aarch64/aarch64.cc (aarch64_hard_regno_caller_save_mode): + Only return SImode if we can convert to and from it. + +2024-08-21 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113042 + * config/aarch64/aarch64.md (popcountti2): New define_expand. + +2024-08-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116406 + * tree-ssa-sccvn.cc (vn_reference_eq): Never equate + float and int when the float mode cannot transfer bits. + Do not try to anticipate which is the mode we actually load + from. + +2024-08-21 Martin Jambor <mjambor@suse.cz> + + PR target/58416 + * tree-sra.cc (types_risk_mangled_binary_repr_p): New function. + (sort_and_splice_var_accesses): Use it. + (propagate_subaccesses_from_rhs): Likewise. + +2024-08-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116380 + * tree-loop-distribution.cc (copy_loop_before): Handle + out-of-loop defs appropriately. + +2024-08-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/vsx.md (define_insn *vsx_le_perm_store_{<VSX_D:mode>, + <VSX_W:mode>,v8hi,v16qi,<VSX_LE_128:mode>}): Remove constraint modifier + "+" from operand 1. + +2024-08-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/vsx.md (*vsx_le_perm_store_{<VSX_D:mode>,<VSX_W:mode>, + v8hi,v16qi,<VSX_LE_128:mode>} !reload_completed splitters): Assert + can_create_pseudo_p and always generate one new pseudo for operand 1. + +2024-08-21 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md (mov<mode>): Align predicates for + operands[1] between mov<mode> and *mov<mode>_internal. + * config/i386/mmx.md (mov<mode>): Ditto. + +2024-08-21 Andrew Pinski <quic_apinski@quicinc.com> + + * builtins.cc (fold_builtin_bit_query): Don't expand double + `unsigned long long` typess if there is an optab entry for that + type. + +2024-08-21 Andrew Pinski <quic_apinski@quicinc.com> + + PR sanitizer/115205 + * asan.cc (asan_instrument): Call initialize_sanitizer_builtins + for hwasan. + (hwasan_finish_file): Likewise. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116412 + * gimple-match-exports.cc (gimple_extract): Return false if op0 + was not a SSA name nor a min invariant for REALPART_EXPR/IMAGPART_EXPR/VCE + and BIT_FIELD_REF. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116409 + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Move + maybe_push_res_to_seq before creating the phi node and the debug dump. + Return false if maybe_push_res_to_seq fails. + +2024-08-20 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/install.texi (Specific) <c6x-*-*>: Normalize reference to + binutils. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/103660 + * match.pd (`(a ? b : 0) | (a ? 0 : c)`): New pattern. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/103660 + * match.pd (`((a CMP b) ? c : 0) | ((a CMP' b) ? d : 0)`): Extend to support + XOR and PLUS. + +2024-08-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116274 + * tree-vect-slp.cc (vect_bb_slp_scalar_cost): Cost scalar loads + and stores as simple scalar stmts when they access a non-global, + not address-taken variable that doesn't have BLKmode assigned. + +2024-08-20 Prathamesh Kulkarni <prathameshk@nvidia.com> + + * optc-save-gen.awk: New array var_target_opt. Use it to generate + if (!lto_stream_offload_p) check in cl_optimization_stream_out, + and generate a diagnostic with #error if accelerator backend uses + Optimization for target-specifc options in cl_optimization_stream_in. + +2024-08-19 Andreas Schwab <schwab@linux-m68k.org> + + PR target/113939 + * config/m68k/m68k.opt (mlra): New target option. + * config/m68k/m68k.cc (m68k_use_lra_p): New function. + (TARGET_LRA_P): Use it. + * config/m68k/m68k.opt.urls: Regenerate. + +2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> + + PR target/112108 + * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): Remove + feature check at initialisation. + (aarch64_general_check_builtin_call): Check ls64 intrinsics. + * config/aarch64/arm_acle.h: (data512_t) Make always available. + +2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> + + PR target/112108 + * config/aarch64/aarch64-builtins.cc (aarch64_init_memtag_builtins): + Define intrinsic names directly. + (aarch64_general_init_builtins): Move memtag intialisation... + (handle_arm_acle_h): ...to here, and remove feature check. + (aarch64_general_check_builtin_call): Check memtag intrinsics. + * config/aarch64/arm_acle.h (__arm_mte_create_random_tag) + (__arm_mte_exclude_tag, __arm_mte_ptrdiff) + (__arm_mte_increment_tag, __arm_mte_set_tag, __arm_mte_get_tag): + Remove. + +2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> + + PR target/112108 + * config/aarch64/aarch64-builtins.cc (aarch64_init_tme_builtins): + Define intrinsic names directly. + (aarch64_general_init_builtins): Move tme initialisation... + (handle_arm_acle_h): ...to here, and remove feature check. + (aarch64_general_check_builtin_call): Check tme intrinsics. + * config/aarch64/arm_acle.h (__tstart, __tcommit, __tcancel) + (__ttest): Remove. + (_TMFAILURE_*): Define unconditionally. + +2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-sve-builtins.cc (check_builtin_call) + (expand_builtin): Update calls to the below. + (report_missing_extension, report_missing_registers) + (check_required_extensions): Move out of aarch64_sve namespace, + rename, and move into... + * config/aarch64/aarch64-builtins.cc (aarch64_report_missing_extension) + (aarch64_report_missing_registers) + (aarch64_check_required_extensions) ...here. + * config/aarch64/aarch64-protos.h (aarch64_check_required_extensions): + Add prototype. + +2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-sve-builtins.cc + (check_required_registers): Remove target check and rename to... + (report_missing_registers): ...this. + (check_required_extensions): Refactor. + +2024-08-19 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/tuning_models/neoversev2.h (fp_reassoc_width): + Set to 4. + (tune_flags): Add AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA. + +2024-08-19 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * read-rtl.cc (rtx_reader::rtx_alloc_for_name): Allow all attribute + types to produce code 'values'. + (check_code_attribute): Rename ... + (check_attribute_codes): ... to this. And change comments to refer to + * doc/md.texi: Add paragraph to document that you can use int and mode + attributes to produce codes. + +2024-08-19 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/aarch64/aarch64-simd.md (mov<mode> for VSTRUCT_QD): + Expand 16-byte vector mode const0 store by TImode. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/sse.md: + (<avx512>_scalef<mode><mask_name><round_name>): Add condition check. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<mask_codefor>reducep<mode><mask_name><round_saeonly_name>): + Add condition check. + (<avx512>_rndscale<mode><mask_name><round_saeonly_name>): Ditto. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): + Handle V8SF_FTYPE_V8SF_V8SF_INT_V8SF_UQI_INT, + V4DF_FTYPE_V4DF_V4DF_INT_V4DF_UQI_INT. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V8SF_FTYPE_V8SF_V8SF_UQI_INT, V4DF_FTYPE_V4DF_V4DF_UQI_INT, + V16HF_FTYPE_V16HF_V16HF_UHI_INT, V16HF_FTYPE_V16HF_INT_V16HF_UHI_INT, + V4DF_FTYPE_V4DF_INT_V4DF_UQI_INT, V8SF_FTYPE_V8SF_INT_V8SF_UQI_INT. + * config/i386/sse.md: + (<avx512>_getexp<mode><mask_name><round_saeonly_name>): + Add condition check. + (<avx512>_getmant<mode><mask_name><round_saeonly_name>): + Ditto. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<avx512>_fnmsub_<mode>_mask3<round_name>): Add condition check. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<avx512>_fmsub_<mode>_mask<round_name>): Add condition check. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<avx512>_fmaddsub_<mode>_mask<round_name>): Add condition check. + (<avx512>_fmaddsub_<mode>_mask3<round_name>): Ditto. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<avx512>_fmadd_<mode>_mask3<round_name>): Add condition check. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V16HF_FTYPE_V16HF_V16HF_INT, V16HF_FTYPE_V16HF_V16HF_V16HF_INT, + V16HF_FTYPE_V16HF_V16HF_V16HF_UQI_INT, + V4DF_FTYPE_V4DF_V4DF_V4DI_INT_UQI_INT, + V8SF_FTYPE_V8SF_V8SF_V8SI_INT_UQI_INT. + * config/i386/sse.md: + (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): + Add condition check. + (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Ditto. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V16HF_FTYPE_V16HI_V16HF_UHI_INT. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md + (unspec_fix_truncv8sfv8si2<mask_name>): Extend rounding control. + (<mask_codefor>fixuns_trunc<mode><sseintvecmodelower>2<mask_name>): + Ditto. + (<mask_codefor>floatuns<sseintvecmodelower><mode>2<mask_name><round_name>): + Add condition check. + (fix<fixunssuffix>_trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>): + Remove round_saeonly_name. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name>): + Extend round control for 256bit. + (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<mask_name>): + Ditto. + (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name><round_saeonly_name>): + Add condition check. + * config/i386/subst.md + (round_saeonly_mode_condition): Add V16HI check for 256bit. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V4DF_FTYPE_V4DI_V4DF_UQI_INT, V4SF_FTYPE_V4DI_V4SF_UQI_INT, + V8HF_FTYPE_V4DI_V8HF_UQI_INT. + * config/i386/sse.md: + (avx512fp16_vcvt<floatsuffix>qq2ph_v4di_mask_round): New expand. + (*avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>_mask): + Extend round control and add "_1" suffix. + (float<floatunssuffix><sseintvecmodelower><mode>2<mask_name><round_name>): + Add condition check. + (float<floatunssuffix><sselongvecmodelower><mode>2<mask_name><round_name>): + Ditto. + (float<floatunssuffix><mode><ssePSmode2lower>2<mask_name><round_name>): + Limit suffix output. + (unspec_fix_truncv4dfv4si2<mask_name>): Extend round control. + (unspec_fixuns_truncv4dfv4si2<mask_name>): Ditto. + * config/i386/subst.md (round_qq2pssuff): New iterator. + (round_saeonly_suff): Ditto. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V8SI_FTYPE_V8SF_V8SI_UQI_INT, V4DI_FTYPE_V4SF_V4DI_UQI_INT. + * config/i386/sse.md + (<sse2_avx_avx512f>_fix_notrunc<sf2simodelower><mode><mask_name>): + Extend to round. + (<mask_codefor><avx512>_fixuns_notrunc<sf2simodelower><mode><mask_name><round_name>): + Add round condition check. + * config/i386/subst.md (round_constraint4): New. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V16HI_FTYPE_V16HF_V16HI_UHI_INT, V4DF_FTYPE_V4SF_V4DF_UQI_INT + V8HF_FTYPE_V8SF_V8HF_UQI_INT. + * config/i386/sse.md + (avx512fp16_vcvt<castmode>2ph_<mode><mask_name><round_name>): + Add round condition check. + * config/i386/subst.md (round_mode_condition): Add V16HI check for + 256bit. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V8SF_FTYPE_V8HF_V8SF_UQI_INT, V8SI_FTYPE_V8HF_V8SI_UQI_INT, + V4DF_FTYPE_V8HF_V4DF_UQI_INT, V4DI_FTYPE_V8HF_V4DI_UQI_INT. + * config/i386/sse.md: + (avx512fp16_float_extend_ph<mode>2<mask_name><round_saeonly_name>): + Add condition check. + (avx512fp16_vcvtph2<sseintconvertsignprefix><sseintconvert>_<mode> + <mask_name><round_name>): + Ditto. + (avx512fp16_float_extend_ph<mode>2<mask_name>): Extend round saeonly. + (vcvtph2ps256<mask_name>): Ditto. + * config/i386/subst.md + (round_saeonly_applied): New condition. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: Add new intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V4DI_FTYPE_V4DF_V4DI_UQI_INT, V4SI_FTYPE_V4DF_V4SI_UQI_INT. + * config/i386/sse.md: + (avx_cvtpd2dq256<mask_name>): Change name to + avx_cvtpd2dq256<mask_name><round_name> and extend pattern to + generate 256bit insns. + (fixuns_notrunc<mode><si2dfmodelower>2<mask_name><round_name>): + Add round_mode_condition. + * config/i386/subst.md (round_pd2udqsuff): New iterator. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: Add new intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V8SF_FTYPE_V8SI_V8SF_UQI_INT, V4SF_FTYPE_V4DF_V4SF_UQI_INT, + V8HF_FTYPE_V8SI_V8HF_UQI_INT, V8HF_FTYPE_V4DF_V8HF_UQI_INT. + * config/i386/sse.md: + (avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode><mask_name><round_name>): + Add condition check. + (avx512fp16_vcvtpd2ph_v4df_mask_round): New expand. + (*avx512fp16_vcvt<castmode>2ph_<mode>_mask): Change name to + avx512fp16_vcvt<castmode>2ph_<mode>_mask<round_name>_1 + and extend pattern to generate 256bit insns. + (avx_cvtpd2ps256<mask_name>): Change name to + avx_cvtpd2ps256<mask_name><round_name> and extend pattern to + generate 256bit insns. + * config/i386/subst.md (round_applied): New condition. + (round_suff): New iterator. + (round_mode_condition): Add V32HI check for 512bit. + (round_saeonly_mode_condition): Ditto. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config.gcc: Add avx10_2roundingintrin.h. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V4DF_FTYPE_V4DF_V4DF_V4DF_UQI_INT, V8SF_FTYPE_V8SF_V8SF_V8SF_UQI_INT, + V16HF_FTYPE_V16HF_V16HF_V16HF_UHI_INT, UQI_FTYPE_V4DF_V4DF_INT_UQI_INT, + UHI_FTYPE_V16HF_V16HF_INT_UHI_INT, UQI_FTYPE_V8SF_V8SF_INT_UQI_INT. + * config/i386/immintrin.h: Include avx10_2roundingintrin.h. + * config/i386/sse.md: Change subst_attr name due to renaming. + * config/i386/subst.md: + (<round_mode512bit_condition>): Add condition check for avx10.2 + rounding control 256bit intrins and renamed to ... + (<round_mode_condition>): ...this. + (round_saeonly_mode512bit_condition): Add condition check for + avx10.2 rounding control 256 bit intris and renamed to ... + (round_saeonly_mode_condition): ...this. + * config/i386/avx10_2roundingintrin.h: New file. + +2024-08-18 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/115876 + * ext-dce.cc (ext_dce_process_sets): Replace hardcoded 63/64 instances + with HOST_BITS_PER_WIDE_INT based values. + (carry_backpropagate): Handle modes with more bits than + HOST_BITS_PER_WIDE_INT gracefully, avoiding undefined behavior. + (ext_dce_process_uses): Handle subreg offsets which would result + in ubsan shifts gracefully, avoiding undefined behavior. + +2024-08-18 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (Contributing): Tweak gm2 mailing list address. + +2024-08-18 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-match-exports.cc (gimple_match_op::operands_occurs_in_abnormal_phi): + New function. + * gimple-match.h (gimple_match_op): Add operands_occurs_in_abnormal_phi. + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Use gimple_match_op + instead of manually extracting from/creating the gimple. + +2024-08-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (*add<mode>3_split) [!reload_completed]: + Add a scratch:QI to 16-bit additions with constant. + +2024-08-18 Georg-Johann Lay <avr@gjlay.de> + + PR target/116407 + * config/avr/avr.md (*dec-and-branchhi!=-1.l.clobber): + Increase the additional jump offset to 2 words. + +2024-08-18 Georg-Johann Lay <avr@gjlay.de> + + PR target/116407 + * config/avr/avr-protos.h (avr_jump_mode): Add an int argument. + * config/avr/avr.cc (avr_jump_mode): Add an int argument to increase + the computed jump offset of backwards branches. + * config/avr/avr.md (*dec-and-branchhi!=-1, *dec-and-branchsi!=-1): + Increase the jump offset used by avr_jump_mode() as needed. + +2024-08-18 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-fold.cc (mark_lhs_in_seq_for_dce): New function. + (replace_stmt_with_simplification): Call mark_lhs_in_seq_for_dce + right before inserting the sequence. + (fold_stmt_1): Add dce_worklist argument, update call to + replace_stmt_with_simplification. + (fold_stmt): Add dce_worklist argument, update call to fold_stmt_1. + (fold_stmt_inplace): Update call to fold_stmt_1. + * gimple-fold.h (fold_stmt): Add bitmap argument. + * tree-ssa-forwprop.cc (pass_forwprop::execute): Update call to fold_stmt. + +2024-08-18 Pan Li <pan2.li@intel.com> + + * config/riscv/iterators.md (ANYI_QUAD_TRUNC): New iterator for + quad truncation. + (ANYI_OCT_TRUNC): New iterator for oct truncation. + (ANYI_QUAD_TRUNCATED): New attr for truncated quad modes. + (ANYI_OCT_TRUNCATED): New attr for truncated oct modes. + (anyi_quad_truncated): Ditto but for lower case. + (anyi_oct_truncated): Ditto but for lower case. + * config/riscv/riscv.md (ustrunc<mode><anyi_quad_truncated>2): + Add new pattern for quad truncation. + (ustrunc<mode><anyi_oct_truncated>2): Ditto but for oct. + +2024-08-18 Pan Li <pan2.li@intel.com> + + PR target/116278 + * config/riscv/riscv.cc (riscv_gen_zero_extend_rtx): Add new + func impl to zero extend rtx. + (riscv_expand_usadd): Leverage above func to cleanup operands 0 + and remove the special handing for SImode in RV64. + +2024-08-17 Jeff Law <jlaw@ventanamicro.com> + + * ext-dce.cc (carry_backpropagate): Cast mask to HOST_WIDE_INT before + shifting. + +2024-08-17 Kevin Kirspel <Kevin-Kirspel@idexx.com> + + * config/riscv/t-rtems: Add ilp32f multilib. + +2024-08-17 Jeff Law <jlaw@ventanamicro.com> + + * config/v850/v850.md (rotlsi3): Allow more cases for V850E3V5+. + +2024-08-17 Jin Ma <jinma@linux.alibaba.com> + + * config/riscv/vector.md: Allow scalar operand to be 0. + +2024-08-17 Jeff Law <jlaw@ventanamicro.com> + + PR target/116282 + * config/riscv/riscv-protos.h (riscv_const_insns): Add new argument. + * config/riscv/riscv.cc (riscv_build_integer): Add new argument + ALLOW_NEW_PSEUDOS. Pass it down to recursive calls and check it + before using synthesis which allows new registers to be created. + (riscv_split_integer_cost): Pass new argument to riscv_build_integer. + (riscv_integer_cost): Add ALLOW_NEW_PSEUDOS argument, pass it down to + riscv_build_integer. + (riscv_legitimate_constant_p): Pass new argument to riscv_const_insns. + (riscv_const_insns): New argment ALLOW_NEW_PSEUDOS. Pass it down to + riscv_integer_cost and riscv_const_insns. + (riscv_split_const_insns): Pass new argument to riscv_const_insns. + (riscv_move_integer, riscv_rtx_costs): Similarly. + * config/riscv/riscv.md (shadd with costly constant): Pass new argument + to riscv_const_insns. + * config/riscv/bitmanip.md (and with costly constant): Pass new argument + to riscv_const_insns. + +2024-08-17 Jin Ma <jinma@linux.alibaba.com> + + * config/riscv/riscv-protos.h (riscv_vector_float_type_p): New. + * config/riscv/riscv-vector-builtins.cc (function_instance::any_type_float_p): + Use riscv_vector_float_type_p instead of FLOAT_MODE_P for judgment. + * config/riscv/riscv.cc (riscv_vector_int_type_p): Change static to extern. + +2024-08-17 Pan Li <pan2.li@intel.com> + + PR target/116280 + * config/riscv/autovec-opt.md: Add quad truncation to + align the mode requirement for vwsll. + +2024-08-17 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/autovec.md (v<bitmanip_optab><mode>3): + Add new define_expand pattern for vector rotate shift. + +2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (What is GNU Modula-2): Tweak PIM4 link. + +2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (Community): Tweak link to gm2 list archive. + +2024-08-17 Georg-Johann Lay <avr@gjlay.de> + + PR target/116390 + * config/avr/avr.cc (avr_out_movsi_mr_r_reg_disp_tiny): Fix + output templates for the reg_base == reg_src and + reg_src == reg_base - 2 cases. + +2024-08-17 曾治金 <zhijin.zeng@spacemit.com> + + PR target/116305 + * config/riscv/riscv.cc (riscv_dwarf_poly_indeterminate_value): Take + BYTES_PER_RISCV_VECTOR for *factor instead of riscv_bytes_per_vector_chunk. + +2024-08-16 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_sym_type): Add S_REGREL32. + (write_fbreg_variable): New function. + (write_unoptimized_local_variable): Add fblock parameter, and handle + DW_OP_fbreg locations. + (write_unoptimized_function_vars): Add fbloc parameter. + (write_function): Extract frame base from DWARF. + * dwarf2out.cc (convert_cfa_to_fb_loc_list): Output simplified frame + base information for CodeView. + +2024-08-16 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_sym_type): Add S_REGISTER. + (enum cv_x86_register): New type. + (enum cv_amd64_register): New type. + (dwarf_reg_to_cv): New function. + (write_s_register): New function. + (write_unoptimized_local_variable): Handle parameters and DW_OP_reg* + location types. + +2024-08-16 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_sym_type): Add S_END and S_BLOCK32. + (write_local_s_ldata32): New function. + (write_unoptimized_local_variable): New function. + (write_s_block32): New function. + (write_s_end): New function. + (write_unoptimized_function_vars): New function. + (write_function): Call write_unoptimized_function_vars. + +2024-08-16 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (get_type_num_enumeration_type): Initialize last_type + to 0. + (get_type_num_struct): Likewise. + +2024-08-16 Georg-Johann Lay <avr@gjlay.de> + + Backported from master: + 2024-08-16 Georg-Johann Lay <avr@gjlay.de> + + PR target/85624 + * config/avr/avr.md (*clrmemqi*): Use HImode for alignment operand. + +2024-08-16 Lingling Kong <lingling.kong@intel.com> + + * config/i386/sse.md (vpmadd52<vpmadd52type><mode>): + Prohibit egpr for vex version. + (vpdpbusd_<mode>): Ditto. + (vpdpbusds_<mode>): Ditto. + (vpdpwssd_<mode>): Ditto. + (vpdpwssds_<mode>): Ditto. + (*vcvtneps2bf16_v4sf): Ditto. + (*vcvtneps2bf16_v8sf): Ditto. + (vpdp<vpdotprodtype>_<mode>): Ditto. + (vbcstnebf162ps_<mode>): Ditto. + (vbcstnesh2ps_<mode>): Ditto. + (vcvtnee<bf16_ph>2ps_<mode>): Ditto. + (vcvtneo<bf16_ph>2ps_<mode>): Ditto. + (vpdp<vpdpwprodtype>_<mode>): Ditto. + +2024-08-16 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113042 + * config/aarch64/aarch64.md (popcount<mode>2): Update pattern + to support ALLI modes. + +2024-08-16 Andrew Pinski <pinskia@gmail.com> + + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Update + comment. + +2024-08-15 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv.md: define_insn for fclass insn. + define_expand for isfinite, isnormal, isinf. + +2024-08-15 Roger Sayle <roger@nextmovesoftware.com> + Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (*extendv2di2_highpart_stv_noavx512vl): Split + to an improved implementation on !TARGET_XOP. On TARGET_XOP, use + a new pseudo for the intermediate to simplify register allocation. + +2024-08-15 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/116236 + * rtlanal.cc (decompose_normal_address): Try to distinguish + bases and indices based on mode, before resorting to "baseness". + +2024-08-15 Richard Sandiford <richard.sandiford@arm.com> + + PR testsuite/116343 + * recog.h (insn_propagation::apply_to_note): Declare. + * recog.cc (insn_propagation::apply_to_note): New function. + * late-combine.cc (insn_combination::substitute_note): Use + apply_to_note instead of apply_to_rvalue. + * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Improve + dumping of costs for noop moves. + +2024-08-15 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (extendsidi2): Add ("=r", "f") + alternative and use movfr2gr.s for it. The spec clearly states + movfr2gr.s sign extends the value to GRLEN. + (fclass_<fmt>): Make the result SImode instead of a floating + mode. The fclass results are really not FP values. + (FCLASS_MASK): New define_int_iterator. + (fclass_optab): New define_int_attr. + (<FCLASS_MASK:fclass_optab><ANYF:mode>): New define_expand + template. + +2024-08-15 liuhongt <hongtao.liu@intel.com> + + PR target/116274 + * config/i386/i386-expand.cc (ix86_expand_vector_move): + Restrict special case TImode to 128-bit vector conversions via + V2DI under ix86_pre_reload_split (). + * config/i386/i386.cc (inline_secondary_memory_needed): + Movement between GENERAL_REGS and SSE_REGS for TImode doesn't + need secondary reload. + * config/i386/i386.md (*extendsidi2_rex64): Add a + define_peephole2 after it. + +2024-08-15 Richard Sandiford <richard.sandiford@arm.com> + + PR target/116371 + * config/aarch64/aarch64-sve-builtins-sve2.h (svpext): Rename to... + (svpext_lane): ...this. + * config/aarch64/aarch64-sve-builtins-sve2.cc (svpext_impl): Rename + to... + (svpext_lane_impl): ...this and update instantiation accordingly. + * config/aarch64/aarch64-sve-builtins-sve2.def (svpext): Rename to... + (svpext_lane): ...this. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/rs6000.md (floatti<mode>2, floatunsti<mode>2, + fix_trunc<mode>ti2): Add guard TARGET_FLOAT128_HW. + * config/rs6000/vsx.md (xsxexpqp_<IEEE128:mode>_<V2DI_DI:mode>, + xsxsigqp_<IEEE128:mode>_<VEC_TI:mode>, xsiexpqpf_<mode>, + xsiexpqp_<IEEE128:mode>_<V2DI_DI:mode>, xscmpexpqp_<code>_<mode>, + *xscmpexpqp, xststdcnegqp_<mode>): Replace guard TARGET_P9_VECTOR + with TARGET_FLOAT128_HW. + (xststdc_<mode>, *xststdc_<mode>, isinf<mode>2): Add guard + TARGET_FLOAT128_HW for the IEEE128 modes. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/97786 + * config/rs6000/vsx.md (isnormal<mode>2): New expand. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/97786 + * config/rs6000/vsx.md (isfinite<mode>2): New expand. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/97786 + * config/rs6000/rs6000.md (constant VSX_TEST_DATA_CLASS_NAN, + VSX_TEST_DATA_CLASS_POS_INF, VSX_TEST_DATA_CLASS_NEG_INF, + VSX_TEST_DATA_CLASS_POS_ZERO, VSX_TEST_DATA_CLASS_NEG_ZERO, + VSX_TEST_DATA_CLASS_POS_DENORMAL, VSX_TEST_DATA_CLASS_NEG_DENORMAL): + Define. + (mode_attr sdq, vsx_altivec, wa_v, x): Define. + (mode_iterator IEEE_FP): Define. + * config/rs6000/vsx.md (isinf<mode>2): New expand. + (expand xststdcqp_<mode>, xststdc<sd>p): Combine into... + (expand xststdc_<mode>): ...this. + (insn *xststdcqp_<mode>, *xststdc<sd>p): Combine into... + (insn *xststdc_<mode>): ...this. + * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Rename + CODE_FOR_xststdcqp_kf as CODE_FOR_xststdc_kf, + CODE_FOR_xststdcqp_tf as CODE_FOR_xststdc_tf. + * config/rs6000/rs6000-builtins.def: Rename xststdcdp as xststdc_df, + xststdcsp as xststdc_sf, xststdcqp_kf as xststdc_kf. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + * gimple-range-op.cc (class cfn_isfinite): New. + (op_cfn_finite): New variables. + (gimple_range_op_handler::maybe_builtin_call): Handle + CFN_BUILT_IN_ISFINITE. + * value-range.h (class frange): Declear known_isnormal and + known_isdenormal_or_zero. + (frange::known_isnormal): Define. + (frange::known_isdenormal_or_zero): Define. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + * gimple-range-op.cc (class cfn_isfinite): New. + (op_cfn_finite): New variables. + (gimple_range_op_handler::maybe_builtin_call): Handle + CFN_BUILT_IN_ISFINITE. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/114678 + * gimple-range-op.cc (class cfn_isinf): New. + (op_cfn_isinf): New variables. + (gimple_range_op_handler::maybe_builtin_call): Handle + CASE_FLT_FN (BUILT_IN_ISINF). + +2024-08-14 Marek Polacek <polacek@redhat.com> + + PR c++/116015 + * gimplify.cc (gimplify_arg): Do not strip a TARGET_EXPR whose + initializer is a CONSTRUCTOR. + +2024-08-14 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/vecintrin.h (vec_vstbrh): Remove. + (vec_vstbrf): Remove. + (vec_vstbrg): Remove. + (vec_vstbrq): Remove. + (vec_vstbrf_flt): Remove. + (vec_vstbrg_dbl): Remove. + (vec_vsterb): Remove. + (vec_vsterh): Remove. + (vec_vsterf): Remove. + (vec_vsterg): Remove. + (vec_vsterf_flt): Remove. + (vec_vsterg_dbl): Remove. + +2024-08-14 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/s390-builtin-types.def (BT_FN_UV16QI_UV2DI_UV2DI): + New. + (BT_FN_UV16QI_UV2DI_UV2DI_UV16QI): New. + * config/s390/s390-builtins.def (s390_vgfmg_128): New. + (s390_vgfmag_128): New. + * config/s390/vecintrin.h (vec_gfmsum_128): Use s390_vgfmg_128. + (vec_gfmsum_accum_128): Use s390_vgfmag_128. + +2024-08-14 Lingling Kong <lingling.kong@intel.com> + + PR target/113729 + * config/i386/i386.md (*ashlqi3_1_zext<mode><nf_name>): + New define_insn. + (*ashlhi3_1_zext<mode><nf_name>): Ditto. + (*<insn>qi3_1_zext<mode><nf_name>): Ditto. + (*<insn>hi3_1_zext<mode><nf_name>): Ditto. + +2024-08-14 Lingling Kong <lingling.kong@intel.com> + + PR target/113729 + * config/i386/i386.md (*andqi_1_zext<mode><nf_name>): New + define_insn. + (*andhi_1_zext<mode><nf_name>): Ditto. + (*<code>qi_1_zext<mode><nf_name>): Ditto. + (*<code>hi_1_zext<mode><nf_name>): Ditto. + (*negqi_1_zext<mode><nf_name>): Ditto. + (*neghi_1_zext<mode><nf_name>): Ditto. + (*one_cmplqi2_1_zext<mode>): Ditto. + (*one_cmplhi2_1_zext<mode>): Ditto. + +2024-08-14 Lingling Kong <lingling.kong@intel.com> + + PR target/113729 + * config/i386/i386.md (*subqi_1_zext<mode><nf_name>): New + define_insn. + (*subhi_1_zext<mode><nf_name>): Ditto. + (*addqi3_carry_zext<mode>): Ditto. + (*addhi3_carry_zext<mode>): Ditto. + (*addqi3_carry_zext<mode>_0): Ditto. + (*addhi3_carry_zext<mode>_0): Ditto. + (*addqi3_carry_zext<mode>_0r): Ditto. + (*addhi3_carry_zext<mode>_0r): Ditto. + (*subqi3_carry_zext<mode>): Ditto. + (*subhi3_carry_zext<mode>): Ditto. + (*subqi3_carry_zext<mode>_0): Ditto. + (*subhi3_carry_zext<mode>_0): Ditto. + (*subqi3_carry_zext<mode>_0r): Ditto. + (*subhi3_carry_zext<mode>_0r): Ditto. + +2024-08-14 Lingling Kong <lingling.kong@intel.com> + + PR target/113729 + * config/i386/i386.md (*addqi_1_zext<mode><nf_name>): New + define. + (*addhi_1_zext<mode><nf_name>): Ditto. + +2024-08-14 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * genoutput.cc (struct operand_data): Add member 'eq_next' to + point to the next member with the same hash value in the + hash table. + (compare_operands): Move the comparison of the mode to the very + beginning to accelerate the comparison of the two operands. + (struct operand_data_hasher): New, a class that takes into account + the necessary elements for comparing the equality of two operands + in its hash value. + (operand_data_hasher::hash): New. + (operand_data_hasher::equal): New. + (operand_datas): New, hash table of konwn pattern operands. + (place_operands): Use a hash table instead of traversing the array + to find the same operand. + (main): Add initialization of the hash table 'operand_datas'. + +2024-08-14 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-08-12 Jeff Law <jlaw@ventanamicro.com> + + * rtlanal.cc (subreg_regno): Update comment. + * final.cc (alter_subrg): Always use REGNO (SUBREG_REG ()) to get + the base regsiter for paradoxical subregs. + +2024-08-14 liuhongt <hongtao.liu@intel.com> + + PR target/116174 + * config/i386/i386.cc (ix86_align_loops): Move this to .. + * config/i386/i386-features.cc (ix86_align_loops): .. here. + (class pass_align_tight_loops): New class. + (make_pass_align_tight_loops): New function. + * config/i386/i386-passes.def: Insert pass_align_tight_loops + after pass_insert_endbr_and_patchable_area. + * config/i386/i386-protos.h (make_pass_align_tight_loops): New + declare. + +2024-08-13 Manolis Tsamis <manolis.tsamis@vrull.eu> + + PR tree-optimization/116353 + * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Check + noce_can_force_operand. + +2024-08-13 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-v.cc (legitimize_move): extrac -> extract. + (expand_vec_cmp_float): Remove duplicate vmnor.mm. + * config/riscv/riscv-vector-builtins.cc: ins -> insns. + * config/riscv/riscv.cc (riscv_init_machine_status): mwrvv -> mrvv. + * config/riscv/vector-iterators.md: RVVM8QImde -> RVVM8QImode + * config/riscv/vector.md: Replaced non-existant vsetivl with vsetivli. + +2024-08-13 Pan Li <pan2.li@intel.com> + + PR target/116103 + * internal-fn.cc (type_strictly_matches_mode_p): Add handling + for vector bool type. + +2024-08-13 Kewen Lin <linkw@linux.ibm.com> + + PR rtl-optimization/116170 + * lra-constraints.cc (curr_insn_transform): Don't emit move back to + old operand if it's CONSTANT_P. + +2024-08-13 Mark Wielaard <mark@klomp.org> + + * config/avr/avr.opt.urls: Regenerate. + +2024-08-12 Peter Bergner <bergner@linux.ibm.com> + + PR target/114759 + * config/rs6000/rs6000.cc (rs6000_override_options_after_change): Move + the disabling of shrink-wrapping from here.... + * config/rs6000/rs6000-logue.cc (rs6000_emit_prologue): ...to here. + +2024-08-12 Jeff Law <jlaw@ventanamicro.com> + + * rtlanal.cc (subreg_regno): Update comment. + * final.cc (alter_subrg): Always use REGNO (SUBREG_REG ()) to get + the base regsiter for paradoxical subregs. + +2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> + + * ifcvt.cc (need_cmov_or_rewire): Renamed init_noce_multiple_sets_info. + (init_noce_multiple_sets_info): Initialize noce_multiple_sets_info. + (noce_convert_multiple_sets_1): Use noce_multiple_sets_info and handle + rewiring of multiple registers. + (noce_convert_multiple_sets): Updated to use noce_multiple_sets_info. + * ifcvt.h (struct noce_multiple_sets_info): Introduce new struct + noce_multiple_sets_info to store info for noce_convert_multiple_sets. + +2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> + + * ifcvt.cc (try_emit_cmove_seq): Modify comments. + (noce_convert_multiple_sets_1): Modify comments. + (bb_ok_for_noce_convert_multiple_sets): Allow more operations. + +2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> + + * ifcvt.cc (check_for_cc_cmp_clobbers): Use modified_in_p instead. + (noce_convert_multiple_sets_1): Don't use seq2 if it clobbers cc_cmp. + Punt if seq clobbers cond. Refactor the code that sets read_comparison. + +2024-08-12 Georg-Johann Lay <avr@gjlay.de> + + PR target/85624 + * config/avr/avr.md (setmemhi): Set alignment to 0. + +2024-08-12 Joern Rennecke <joern.rennecke@riscy-ip.com> + + * except.cc (sjlj_emit_function_enter): + Set fn_begin_outside_block again if encountering a jump instruction. + +2024-08-12 Richard Sandiford <richard.sandiford@arm.com> + + PR other/30920 + * splay-tree-utils.h (rooted_splay_tree::insert_relative) + (rooted_splay_tree::lookup_le): New functions. + (rooted_splay_tree::remove_root_and_splay_next): Likewise. + * splay-tree-utils.tcc (rooted_splay_tree::insert_relative): New + function, extracted from... + (rooted_splay_tree::insert): ...here. + (rooted_splay_tree::lookup_le): New function. + (rooted_splay_tree::remove_root_and_splay_next): Likewise. + * tree-ssa-sccvn.cc (pd_range::m_children): New member variable. + (vn_walk_cb_data::vn_walk_cb_data): Initialize first_range. + (vn_walk_cb_data::known_ranges): Use a default_splay_tree. + (vn_walk_cb_data::~vn_walk_cb_data): Remove freeing of known_ranges. + (pd_range_compare, pd_range_alloc, pd_range_dealloc): Delete. + (vn_walk_cb_data::push_partial_def): Rewrite splay tree operations + to use splay-tree-utils.h. + * rtl-ssa/accesses.cc (function_info::add_use): Use insert_relative. + +2024-08-12 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/aarch64-simd.md + (aarch64_simd_imm_shl<mode><vczle><vczbe>): Rewrite to new + syntax. Add =w,w,vs1 alternative. + * config/aarch64/constraints.md (vs1): New constraint. + +2024-08-12 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): Handle + avx10.2. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVX10_2_256_SET): New. + (OPTION_MASK_ISA2_AVX10_2_512_SET): Ditto. + (OPTION_MASK_ISA2_AVX10_1_256_UNSET): + Add OPTION_MASK_ISA2_AVX10_2_256_UNSET. + (OPTION_MASK_ISA2_AVX10_1_512_UNSET): + Add OPTION_MASK_ISA2_AVX10_2_512_UNSET. + (OPTION_MASK_ISA2_AVX10_2_256_UNSET): New. + (OPTION_MASK_ISA2_AVX10_2_512_UNSET): Ditto. + (ix86_handle_option): Handle avx10.2-256 and avx10.2-512. + * common/config/i386/i386-cpuinfo.h (enum processor_features): + Add FEATURE_AVX10_2_256 and FEATURE_AVX10_2_512. + * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY for + avx10.2-256 and avx10.2-512. + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __AVX10_2_256__ and __AVX10_2_512__. + * config/i386/i386-isa.def (AVX10_2): Add DEF_PTA(AVX10_2_256) + and DEF_PTA(AVX10_2_512). + * config/i386/i386-options.cc (isa2_opts): Add -mavx10.2-256 and + -mavx10.2-512. + (ix86_valid_target_attribute_inner_p): Handle avx10.2-256 and + avx10.2-512. + * config/i386/i386.opt: Add option -mavx10.2, -mavx10.2-256 and + -mavx10.2-512. + * config/i386/i386.opt.urls: Regenerated. + * doc/extend.texi: Document avx10.2, avx10.2-256 and avx10.2-512. + * doc/invoke.texi: Document -mavx10.2, -mavx10.2-256 and + -mavx10.2-512. + * doc/sourcebuild.texi: Document target avx10.2, avx10.2-256, + avx10.2-512. + +2024-08-12 Roger Sayle <roger@nextmovesoftware.com> + + PR target/116275 + * config/i386/i386.md (*extendv2di2_highpart_stv_noavx512vl): New + define_insn_and_split to handle the STV conversion of the DImode + pattern *extendsi2_doubleword_highpart. + +2024-08-12 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.md (insn): Added rotatert rotr pairs. + * config/loongarch/simd.md (rotr<mode>3): Remove to ... + (<optab><mode>3): This. + +2024-08-12 Lulu Cheng <chenglulu@loongson.cn> + + PR target/114189 + * config/loongarch/lasx.md (vcondu<LASX:mode><ILASX:mode>): Delete. + (vcond<LASX:mode><LASX_2:mode>): Likewise. + * config/loongarch/lsx.md (vcondu<LSX:mode><ILSX:mode>): Likewise. + (vcond<LSX:mode><LSX_2:mode>): Likewise. + +2024-08-12 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/lasx.md (xvandn<mode>3): Rename to ... + (andn<mode>3): This. + (xvorn<mode>3): Rename to ... + (iorn<mode>3): This. + * config/loongarch/loongarch-builtins.cc + (CODE_FOR_lsx_vandn_v): Defined as the modified name. + (CODE_FOR_lsx_vorn_v): Likewise. + (CODE_FOR_lasx_xvandn_v): Likewise. + (CODE_FOR_lasx_xvorn_v): Likewise. + (loongarch_expand_builtin_insn): When the builtin function to be + called is __builtin_lasx_xvandn or __builtin_lsx_vandn, swap the + two operands. + * config/loongarch/loongarch.md (<optab>n<mode>): Rename to ... + (<optab>n<mode>3): This. + * config/loongarch/lsx.md (vandn<mode>3): Rename to ... + (andn<mode>3): This. + (vorn<mode>3): Rename to ... + (iorn<mode>3): This. + +2024-08-11 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.opt (mlra): Set Undocumented flag. + +2024-08-11 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (ra_in_progress): New static function. + (avr_legitimate_address_p, avr_addr_space_legitimate_address_p) + (extra_constraint_Q): Use it with -mlog=. + +2024-08-10 Andi Kleen <ak@gcc.gnu.org> + + * doc/cfg.texi: Fix references to dom_walker. + +2024-08-10 Georg-Johann Lay <avr@gjlay.de> + + PR target/113934 + * config/avr/avr.opt (-mlra): New target option. + * config/avr/avr.cc (avr_use_lra_p): New function. + (TARGET_LRA_P): Use it. + (avr_hard_regno_mode_ok) [lra]: Don't disallow 4-byte modes for X. + +2024-08-09 Jeff Law <jlaw@ventanamicro.com> + + PR target/116283 + * config/riscv/bitmanip.md (Zbs combiner patterns/splitters): Mask the + bit position in the split code appropriately. + +2024-08-09 Kyrylo Tkachov <ktkachov@nvidia.com> + + Revert: + 2024-08-08 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/116028 + * lra-constraints.cc (split_reg): Spill register before call + insn. + (latest_call_insn): New variable. + (inherit_in_ebb): Track the latest call insn. + +2024-08-09 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/114855 + * gimple-range-gori.cc (gori_compute::gori_compute): Adjust + ranger_recompute_depth limit based on the number of BBs. + (gori_compute::may_recompute_p): Use previosuly calculated value. + * gimple-range-gori.h (gori_compute::m_recompute_depth): New. + +2024-08-09 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/114855 + * gimple-range-cache.cc (ranger_cache::fill_block_cache): Do not + process equivalencies if the number of blocks is too high. + +2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_compute_frame_info): Update + outgoing args size. + (riscv_stack_clash_protection_alloca_probe_range): New. + (TARGET_STACK_CLASH_PROTECTION_ALLOCA_PROBE_RANGE): New. + * config/riscv/riscv.h + (STACK_CLASH_MIN_BYTES_OUTGOING_ARGS): New. + (STACK_DYNAMIC_OFFSET): New. + +2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc + (riscv_allocate_and_probe_stack_loop): New function. + (riscv_v_adjust_scalable_frame): Add stack-clash protection + support. + (riscv_allocate_and_probe_stack_space): Move the probe loop + implementation to riscv_allocate_and_probe_stack_loop. + * config/riscv/riscv.h: Define RISCV_STACK_CLASH_VECTOR_CFA_REGNUM. + +2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc + (riscv_option_override): Enforce that interval is the same size as + guard size. + (riscv_allocate_and_probe_stack_space): New function. + (riscv_expand_prologue): Call riscv_allocate_and_probe_stack_space + to the final allocation of the stack and add stack-clash dump + information. + * config/riscv/riscv.h: Define STACK_CLASH_CALLER_GUARD and + STACK_CLASH_MAX_UNROLL_PAGES. + +2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): Move + closer to riscv_expand_prologue. + +2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_emit_stack_tie): Pass the + register to be tied to the stack pointer as argument. + * config/riscv/riscv.md (stack_tie<mode>): Don't match equal + operands. + +2024-08-09 Jakub Jelinek <jakub@redhat.com> + + PR target/116287 + * config/i386/i386.cc (ix86_fold_builtin) <case IX86_BUILTIN_BEXTR32>: + When folding into zero without checking whether first argument is + constant, use omit_one_operand. + (ix86_fold_builtin) <case IX86_BUILTIN_BZHI32>: Likewise. + +2024-08-09 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn.cc (gcn_asm_trampoline_template): Add .align. + * config/gcn/gcn.h (TRAMPOLINE_SIZE): Increase to 40. + +2024-08-09 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (*load_<mode>_libgcc, *xload_<mode>_libgcc): + Tidy up code. + +2024-08-09 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/constraints.md (Dm): Match CONSTM1_RTX rather + CONST1_RTX. + +2024-08-08 Tamar Christina <tamar.christina@arm.com> + + PR target/116229 + * config/aarch64/aarch64-simd.md (aarch64_fnegv2di2<vczle><vczbe>): New. + * config/aarch64/aarch64.cc (aarch64_maybe_generate_simd_constant): + Update call to gen_aarch64_fnegv2di2. + * config/aarch64/iterators.md: New UNSPEC_FNEG. + +2024-08-08 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (Mem_Insn::Mem_Insn): Don't consider MEMs + that are avr_mem_memx_p or avr_load_libgcc_p. + +2024-08-08 Georg-Johann Lay <avr@gjlay.de> + + * doc/extend.texi (AVR Built-in Functions) <mask1>: Fix a typo. + +2024-08-08 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_insn_has_reg_unused_note_p): New function. + (_reg_unused_after): Use it to recognize more cases. + (avr_out_lpm_no_lpmx) [POST_INC]: Use reg_unused_after. + +2024-08-08 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn.cc (gcn_conditional_register_usage): Fix registers + remaining after maximum allocation using TARGET_VGPR_GRANULARITY. + +2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/constraints.md (th_m_noi): New constraint. + * config/riscv/riscv.md: Adjust movdf_hardfloat_rv32 for + XTheadMemIdx. + +2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/116131 + * config/riscv/thead.cc (th_memidx_classify_address_index): + Recognize all possible XTheadMemIdx memory operand structures. + (th_fmemidx_output_index): Do strict classification. + * config/riscv/thead.md (*th_memidx_operand): Remove. + (TARGET_XTHEADMEMIDX): Likewise. + (TARGET_HARD_FLOAT && TARGET_XTHEADFMEMIDX): Likewise. + (!TARGET_64BIT && TARGET_XTHEADMEMIDX): Likewise. + (*th_memidx_I_a): Likewise. + (*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. + (*th_fmemidx_movsf_hardfloat): Likewise. + (*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. + +2024-08-08 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-vect-patterns.cc (NUM_PATTERNS): Delete. + (vect_pattern_recog_1): Constify and change + recog_func to a reference. + (vect_pattern_recog): Use range-based loop over + vect_vect_recog_func_ptrs. + +2024-08-08 Jin Ma <jinma@linux.alibaba.com> + + * config/riscv/riscv.h (RISCV_DWARF_VLENB): Delete. + +2024-08-08 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn.cc (gcn_trampoline_init): Re-enable trampolines. + +2024-08-08 Jeff Law <jlaw@ventanamicro.com> + + PR target/116240 + * config/riscv/riscv.cc (riscv_rtx_costs): Ensure object is a + comparison before looking at its arguments. + +2024-08-08 Manolis Tsamis <manolis.tsamis@vrull.eu> + + PR tree-optimization/98138 + * tree-vect-slp.cc: Avoid duplicates in two_operators nodes. + +2024-08-08 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.cc (ix86_mode_can_transfer_bits): Use E_?Fmode + enumeration constants in switch statement. + +2024-08-08 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/116028 + * lra-constraints.cc (split_reg): Spill register before call + insn. + (latest_call_insn): New variable. + (inherit_in_ebb): Track the latest call insn. + +2024-08-08 Jiawei <jiawei@iscas.ac.cn> + + * common/config/riscv/riscv-common.cc: New extension. + * config/riscv/riscv.opt: New mask. + +2024-08-07 Iain Sandoe <iain@sandoe.co.uk> + + PR target/116237 + * config/darwin.h (SUBTARGET_DRIVER_SELF_SPECS): Add a spec for + weak_framework. + * config/darwin.opt: Handle weak_framework driver option. + +2024-08-07 Prathamesh Kulkarni <prathameshk@nvidia.com> + + PR ipa/96265 + PR ipa/111937 + * data-streamer-in.cc (streamer_read_poly_uint64): Remove code for + streaming, and call poly_int_read_common instead. + (streamer_read_poly_int64): Likewise. + * data-streamer.cc (host_num_poly_int_coeffs): Conditionally define + new variable if ACCEL_COMPILER is defined. + * data-streamer.h (host_num_poly_int_coeffs): Declare. + (poly_int_read_common): New function template. + (bp_unpack_poly_value): Remove code for streaming and call + poly_int_read_common instead. + * lto-streamer-in.cc (lto_input_mode_table): Stream-in host + NUM_POLY_INT_COEFFS into host_num_poly_int_coeffs if ACCEL_COMPILER + is defined. + * lto-streamer-out.cc (lto_write_mode_table): Stream out + NUM_POLY_INT_COEFFS if offloading is enabled. + * poly-int.h (MAX_NUM_POLY_INT_COEFFS_BITS): New macro. + * tree-streamer-in.cc (lto_input_ts_poly_tree_pointers): Adjust + streaming-in of poly_int. + +2024-08-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/116219 + * gimple-expr.cc (remove_suffix): Formatting fixes. + (create_tmp_var_name): Don't call clean_symbol_name. + * gimplify.cc (gimplify_init_constructor): When promoting automatic + DECL_NAMELESS vars to static, don't preserve their DECL_NAME. + +2024-08-07 Julian Brown <julian@codesourcery.com> + Tobias Burnus <tobias@baylibre.com> + + * builtins.def (DEF_GOMP_BUILTIN_COMPILER): Define + DEF_GOMP_BUILTIN_COMPILER to handle the non-prefix version. + * gimple-fold.cc (gimple_fold_builtin_omp_is_initial_device): New. + (gimple_fold_builtin): Call it. + * omp-builtins.def (BUILT_IN_OMP_IS_INITIAL_DEVICE): Define. + * tree.cc (get_file_function_name): Support names for on-target + constructor/destructor functions. + +2024-08-07 Carl Love <cel@linux.ibm.com> + + * config/rs6000/altivec.md (vs<SLDB_lr>db_<mode>): Change + define_insn iterator to VEC_IC. + * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsldoi_v1ti, + __builtin_vsx_xxsldwi_v1ti, __builtin_altivec_vsldb_v1ti, + __builtin_altivec_vsrdb_v1ti): New builtin definitions. + * config/rs6000/rs6000-overload.def (vec_sld, vec_sldb, vec_sldw, + vec_sll, vec_slo, vec_srdb, vec_srl, vec_sro): New overloaded + definitions. + * doc/extend.texi (vec_sld, vec_sldb, vec_sldw, vec_sll, vec_slo, + vec_srdb, vec_srl, vec_sro): Add documentation for new overloaded + built-ins. + +2024-08-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116258 + * tree-vect-generic.cc (expand_vector_operations_1): Do not + lower PAREN_EXPR. + +2024-08-07 Xi Ruoyao <xry111@xry111.site> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/116142 + * tree-vect-stmts.cc (supportable_widening_operation): Remove an + redundant and incorrect vect_reduction_def check, and fix the + operand of another vect_reduction_def check. + +2024-08-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116166 + * tree-ssa-threadedge.h (jump_threader::thread_around_empty_blocks): + Add limit parameter. + (jump_threader::thread_through_normal_block): Likewise. + * tree-ssa-threadedge.cc (jump_threader::thread_around_empty_blocks): + Honor and decrement limit parameter. + (jump_threader::thread_through_normal_block): Likewise. + (jump_threader::thread_across_edge): Initialize limit from + param_max_jump_thread_paths and pass it down to workers. + +2024-08-07 Pan Li <pan2.li@intel.com> + + PR target/116202 + * tree-vect-patterns.cc (vect_recog_sat_trunc_pattern): Add the + type_has_mode_precision_p check for the lhs type. + +2024-08-07 Patrick Palka <ppalka@redhat.com> + + PR c++/116064 + * diagnostic.cc (diagnostic_context::initialize): Set + m_adjust_diagnostic_info. + (diagnostic_context::report_diagnostic): Call + m_adjust_diagnostic_info. + * diagnostic.h (diagnostic_context::m_adjust_diagnostic_info): + New data member. + * doc/invoke.texi (-Wno-template-body): Document. + (-fpermissive): Mention -Wtemplate-body. + +2024-08-06 David Malcolm <dmalcolm@redhat.com> + + PR other/116177 + * diagnostic-format-sarif.cc (sarif_invocation::prepare_to_flush): + If the diagnostics would lead to us exiting with a failure code, + then emit "executionSuccessful": False (SARIF v2.1.0 section + §3.20.14). + * diagnostic.cc (diagnostic_context::execution_failed_p): New. + * diagnostic.h (diagnostic_context::execution_failed_p): New decl. + * toplev.cc (toplev::main): Use it for determining returned value. + +2024-08-06 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-protos.h (struct sve_vec_cost): Add + gather_load_x32_init_cost and gather_load_x64_init_cost. + * config/aarch64/aarch64.cc (aarch64_vector_costs): Add + m_sve_gather_scatter_init_cost. + (aarch64_vector_costs::add_stmt_cost): Use them. + (aarch64_vector_costs::finish_cost): Likewise. + * config/aarch64/tuning_models/a64fx.h: Update. + * config/aarch64/tuning_models/cortexx925.h: Update. + * config/aarch64/tuning_models/generic.h: Update. + * config/aarch64/tuning_models/generic_armv8_a.h: Update. + * config/aarch64/tuning_models/generic_armv9_a.h: Update. + * config/aarch64/tuning_models/neoverse512tvb.h: Update. + * config/aarch64/tuning_models/neoversen2.h: Update. + * config/aarch64/tuning_models/neoversen3.h: Update. + * config/aarch64/tuning_models/neoversev1.h: Update. + * config/aarch64/tuning_models/neoversev2.h: Update. + * config/aarch64/tuning_models/neoversev3.h: Update. + * config/aarch64/tuning_models/neoversev3ae.h: Update. + +2024-08-06 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (Limitations): Rephrase. Remove invalid link. + +2024-08-06 John David Anglin <danglin@gcc.gnu.org> + + PR target/113384 + * config/pa/pa.cc (hppa_legitimize_address): Add check to + ensure constant is an integral multiple of shift the value. + +2024-08-06 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/riscv-target-attr.cc (num_occurences_in_str): Rename... + (num_occurrences_in_str): here. + (riscv_process_target_attr): Update num_occurences_in_str callsite. + * config/riscv/riscv-v.cc (emit_vec_widden_cvt_x_f): widden -> widen. + (emit_vec_widen_cvt_x_f): Ditto. + (emit_vec_widden_cvt_f_f): Ditto. + (emit_vec_widen_cvt_f_f): Ditto. + (emit_vec_rounding_to_integer): Update *widden* callsites. + * config/riscv/riscv-vector-builtins.cc (expand_builtin): Update + required_ext_to_isa_name callsite and fix xtheadvector typo. + * config/riscv/riscv-vector-builtins.h (reqired_ext_to_isa_name): Rename... + (required_ext_to_isa_name): here. + * config/riscv/riscv_th_vector.h: Fix endif label. + * config/riscv/vector-crypto.md: boardcast_scalar -> broadcast_scalar. + * config/riscv/vector.md: Ditto. + +2024-08-06 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/arch-canonicalize: Fix typos in comments. + * config/riscv/autovec.md: Ditto. + * config/riscv/riscv-avlprop.cc (avl_can_be_propagated_p): Ditto. + (pass_avlprop::get_vlmax_ta_preferred_avl): Ditto. + * config/riscv/riscv-modes.def (ADJUST_FLOAT_FORMAT): Ditto. + (VLS_MODES): Ditto. + * config/riscv/riscv-opts.h (TARGET_ZICOND_LIKE): Ditto. + (enum rvv_vector_bits_enum): Ditto. + * config/riscv/riscv-protos.h (enum insn_flags): Ditto. + (enum insn_type): Ditto. + * config/riscv/riscv-sr.cc (riscv_sr_match_epilogue): Ditto. + * config/riscv/riscv-string.cc (expand_block_move): Ditto. + * config/riscv/riscv-v.cc (rvv_builder::is_repeating_sequence): Ditto. + (rvv_builder::single_step_npatterns_p): Ditto. + (calculate_ratio): Ditto. + (expand_const_vector): Ditto. + (shuffle_merge_patterns): Ditto. + (shuffle_compress_patterns): Ditto. + (expand_select_vl): Ditto. + * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): Ditto. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins.cc (function_builder::add_function): Ditto. + (resolve_overloaded_builtin): Ditto. + * config/riscv/riscv-vector-builtins.def (vbool1_t): Ditto. + (vuint8m8_t): Ditto. + (vuint16m8_t): Ditto. + (vfloat16m8_t): Ditto. + (unsigned_vector): Ditto. + * config/riscv/riscv-vector-builtins.h (enum required_ext): Ditto. + * config/riscv/riscv-vector-costs.cc (get_store_value): Ditto. + (costs::analyze_loop_vinfo): Ditto. + (costs::add_stmt_cost): Ditto. + * config/riscv/riscv.cc (riscv_build_integer): Ditto. + (riscv_vector_type_p): Ditto. + * config/riscv/thead.cc (th_mempair_output_move): Ditto. + * config/riscv/thead.md: Ditto. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + * config/riscv/zc.md: Ditto. + +2024-08-06 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-expand.cc (ix86_expand_v2di_ashiftrt): New + function refactored from define_expand ashrv2di3. + * config/i386/i386-features.cc (general_scalar_to_vector_candidate_p) + <case ASHIFTRT>: Handle like other shifts and rotates. + * config/i386/i386-protos.h (ix86_expand_v2di_ashiftrt): Prototype. + * config/i386/sse.md (ashrv2di3): Call ix86_expand_v2di_ashiftrt. + (*ashrv2di3): New define_insn_and_split to enable creation by stv2 + pass, and splitting during split1 reusing ix86_expand_v2di_ashiftrt. + +2024-08-06 Patrick O'Neill <patrick@rivosinc.com> + Jakub Jelinek <jakub@redhat.com> + + PR target/116152 + * config/riscv/riscv.cc (riscv_option_override): Fix url + formatting. + +2024-08-06 Filip Kastl <fkastl@suse.cz> + + * gimple-ssa-sccopy.cc (class scc_copy_prop): New class. + (replace_scc_by_value): Put into... + (scc_copy_prop::replace_scc_by_value): ...scc_copy_prop. + (sccopy_visit_op): Put into... + (scc_copy_prop::visit_op): ...scc_copy_prop. + (sccopy_propagate): Put into... + (scc_copy_prop::propagate): ...scc_copy_prop. + (init_sccopy): Replace by... + (scc_copy_prop::scc_copy_prop): ...the construtor. + (finalize_sccopy): Replace by... + (scc_copy_prop::~scc_copy_prop): ...the destructor. + (pass_sccopy::execute): Use scc_copy_prop. + +2024-08-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116241 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Handle + non-COND_EXPR nodes in SLP reduction chain following. + +2024-08-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/116224 + * wide-int.cc (wi::mul_internal): If prec isn't multiple of + HOST_BITS_PER_WIDE_INT, for need_overflow checking only look at + the least significant prec bits starting with r[half_blocks_needed]. + +2024-08-06 Richard Biener <rguenther@suse.de> + + PR middle-end/111821 + * expmed.cc (store_integral_bit_field): Terminate the + word-wise copy loop when we get out of the destination + and do a forward copy. Skip the word if it would be + outside of the destination in case of a backward copy. + +2024-08-06 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/predicates.md (any_operand): Add const_vector. + +2024-08-06 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/115228 + * tree-vect-data-refs.cc (vect_get_smallest_scalar_type): Add + missed opcodes that involve widening operation. + +2024-08-06 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/115707 + * tree-vect-patterns.cc (vect_look_through_possible_promotion): Allow + unsigned-to-signed promotion. + +2024-08-06 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/116189 + * config/sh/sh.cc (sh_recog_treg_set_expr): Don't call make_insn_raw, + make the insn with a fake uid. + +2024-08-05 Patrick O'Neill <patrick@rivosinc.com> + + PR target/116152 + * config/riscv/riscv.cc (riscv_option_override): Add deprecation + warning. + +2024-08-05 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (get_type_num_const_type): Handle missing + DW_AT_type attribute. + (get_type_num_volatile_type): Likewise. + +2024-08-05 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/bpf/atomic.md ("atomic_add<AMO:mode>"): Remove insn. + ("atomic_and<AMO:mode>"): Likewise + ("atomic_or<AMO:mode>"): Likewise. + ("atomic_xor<AMO:mode>"): Likewise. + +2024-08-05 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64.md (*and<mode>_compare0): Change attribute. + +2024-08-05 Filip Kastl <fkastl@suse.cz> + + * gimple-ssa-sccopy.cc: Move a misplaced comment. + +2024-08-05 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR tree-optimization/116139 + * tree-ssa-reassoc.cc (get_reassociation_width): Move width_mult + <= width comparison to if condition rather than assert. + +2024-08-05 Richard Sandiford <richard.sandiford@arm.com> + + Revert: + 2024-08-02 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/116145 + * rtlanal.cc (may_trap_p_1): Trust MEM_NOTRAP_P even for code + movement if MEM_READONLY_P is also true. + +2024-08-05 Alex Coplan <alex.coplan@arm.com> + + * gdbhooks.py: Add attempted call to "on-gcc-hooks-load" once + we've finished loading the hooks. + +2024-08-05 Alex Coplan <alex.coplan@arm.com> + + * gdbhooks.py (GCCDotCmd): New. + (gcc_dot_cmd): New. Use it ... + (DotFn.invoke): ... here. + +2024-08-05 Andrew Pinski <quic_apinski@quicinc.com> + + PR rtl-optimization/116179 + * ira.cc (split_live_ranges_for_shrink_wrap): For the uses loop, + only look at non-debug insns. + +2024-08-04 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116199 + * reload.cc (operands_match_p): Verify subreg is expressable before + trying to simplify and match it to another operand. + +2024-08-02 Marek Polacek <polacek@redhat.com> + + * doc/invoke.texi: Document that -Wdangling-reference is + enabled by -Wextra. + +2024-08-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116058 + * genemit.cc (struct clobber_pat): Change pattern to be rtvec. + Add code field. + (gen_insn): Look through an explicit parallel if there was one. + Update store to new clobber_pat. + (output_add_clobbers): Update call to gen_exp for the changed + clobber_pat. + +2024-08-02 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/sync-rvwmo.md: Add conditional length attributes. + * config/riscv/sync-ztso.md: Ditto. + * config/riscv/sync.md: Fix incorrect insn length attributes and + reformat existing conditional checks. + +2024-08-02 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement + fusion logic. + * config/aarch64/aarch64-fusion-pairs.def (cmp+csel): New entry. + (cmp+cset): Likewise. + * config/aarch64/tuning_models/neoversev2.h: Enable logic in + field fusible_ops. + +2024-08-02 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/116145 + * rtlanal.cc (may_trap_p_1): Trust MEM_NOTRAP_P even for code + movement if MEM_READONLY_P is also true. + +2024-08-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116156 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Don't add + uses if the statement was a debug statement. + +2024-08-02 Lingling Kong <lingling.kong@intel.com> + + * config/i386/constraints.md: Fixed the comment/naming for je/jM/jO. + * config/i386/predicates.md (apx_ndd_memory_operand): Renamed and + fixed the comment. + (apx_evex_memory_operand): New name. + (apx_ndd_add_memory_operand): Ditto. + (apx_evex_add_memory_operand): Ditto. + +2024-08-02 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (nf_mem_constraint): Fixed the constraint + for the define_subst_attr. + (nf_mem_constraint): Added new define_subst_attr. + (*add<mode>_1<nf_name>): Fixed the constraint. + +2024-08-02 Yang Yujie <yangyujie@loongson.cn> + + * config/loongarch/genopts/gen-evolution.awk: Do not use + "length()" to compute the size of an array. + +2024-08-02 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113860 + * config/aarch64/aarch64-simd.md (popcount<mode>2): Add TARGET_SVE + support. + * config/aarch64/aarch64-sve.md (@aarch64_pred_<optab><mode>): Use new + iterator SVE_VDQ_I. + * config/aarch64/iterators.md (SVE_VDQ_I): New mode iterator. + (VPRED): Add V8QI, V16QI, V4HI, V8HI and V2SI. + +2024-08-01 Robin Dapp <rdapp@ventanamicro.com> + + PR target/116149 + * config/riscv/vector.md: Fix mode_idx attribute of scalar + widen add/sub variants. + +2024-08-01 Patrick O'Neill <patrick@rivosinc.com> + + PR target/116111 + * config/riscv/riscv.cc (riscv_option_override): Add error. + +2024-08-01 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-cores.def (cortex-x925): New. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/tuning_models/cortexx925.h: New file. + * config/aarch64/aarch64.cc: Use it. + * doc/invoke.texi: Document it. + +2024-08-01 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/tuning_models/neoversen2.h: Update costs. + +2024-08-01 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/tuning_models/generic_armv9_a.h: Update costs. + +2024-08-01 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-cores.def (neoverse-n3, cortex-a725): New. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/tuning_models/neoversen3.h: New file. + * config/aarch64/aarch64.cc: Use it. + * doc/invoke.texi: Document it. + +2024-08-01 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-cores.def (neoverse-v3ae): New. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/tuning_models/neoversev3ae.h: New file. + * config/aarch64/aarch64.cc: Use it. + * doc/invoke.texi: Document it. + +2024-08-01 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-cores.def (cortex-x4): Update. + (neoverse-v3): New. + * config/aarch64/aarch64-tune.md: Regenerate. + * config/aarch64/tuning_models/neoversev3.h: New file. + * config/aarch64/aarch64.cc: Use it. + * doc/invoke.texi: Document it. + +2024-08-01 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-cores.def (cortex-x3): Use Neoverse-V2 costs. + * config/aarch64/tuning_models/neoversev2.h: Update costs. + +2024-08-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116120 + * match.pd (`(a ? x : y) eq/ne (b ? x : y)`): Add test for `x != y` + in result. + (`(a ? x : y) eq/ne (b ? y : x)`): Add test for `x == y` in result. + +2024-08-01 liuhongt <hongtao.liu@intel.com> + + PR target/116096 + * config/i386/constraints.md (Wc): New constraint for integer + 1 or -1. + * config/i386/i386.md (ashl<mode>3_doubleword): Refine + constraint with Wc. + +2024-08-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114659 + * tree-ssa-sccvn.cc (visit_reference_op_load): Do not + prevent punning from modes with padding here, but ... + (vn_reference_eq): ... ensure this here, also honoring + types with modes that cannot act as bit container. + +2024-08-01 Richard Biener <rguenther@suse.de> + + * config/i386/i386.cc (TARGET_MODE_CAN_TRANSFER_BITS): Define. + (ix86_mode_can_transfer_bits): New function. + +2024-08-01 Richard Biener <rguenther@suse.de> + + * target.def (mode_can_transfer_bits): New target hook. + * target.h (mode_can_transfer_bits): New function wrapping the + hook and providing default behavior. + * doc/tm.texi.in: Update. + * doc/tm.texi: Re-generate. + +2024-08-01 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (cbranch<mode>4_insn): Split to a test of the + high part against 0 if possible. + +2024-08-01 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/constraints.md (YMM): New constraint. + * config/avr/avr.md (cmp<mode>3, *cmp<mode>3) + (cbranch<mode>4_insn): Allow YMM where M is allowed. + +2024-08-01 Jakub Jelinek <jakub@redhat.com> + + PR target/115981 + * config/i386/sse.md + (*<extract_type>_vinsert<shuffletype><extract_suf>_0): Swap the + first two VEC_MERGE operands, renumber match_operands and test + for 0xF or 0x3 rather than 0xFFF0 or 0xFC immediate. + +2024-08-01 Tobias Burnus <tburnus@baylibre.com> + Richard Biener <rguenther@suse.de + + PR middle-end/115637 + * gimplify.cc (gimplify_body): Fix macro name in the comment. + * omp-offload.cc (find_link_var_op): Rename to ... + (process_link_var_op): ... this. Replace value expr. + (pass_omp_target_link::execute): Update walk_gimple_stmt call. + +2024-08-01 Lingling Kong <lingling.kong@intel.com> + Hu, Lin1 <lin1.hu@intel.com> + + PR target/113744 + * config/i386/i386.md (*add<mode>_4): Remove ndd support. + (*adddi_4): Ditto. + +2024-08-01 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (get_type_num_struct): Fix NULL pointer dereference. + +2024-08-01 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-path.cc + (thread_event_printer::print_swimlane_for_event_range): Gracefully + handle logical_location::get_name_for_path_output returning null. + +2024-08-01 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc + (sarif_location_manager::worklist_item::unlabelled_secondary_location): + New enum value. + (sarif_location_manager::m_unlabelled_secondary_locations): New + field. + (sarif_location_manager::process_worklist_item): Handle unlabelled + secondary locations. + (sarif_builder::make_location_object): Generalize code to handle + ranges within a rich_location so as well as using annotations for + those with labels, we now add related locations for those without + labels. + +2024-08-01 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc (sarif_builder::sarif_builder): Assert + that m_line_maps is nonnull. + (diagnostic_output_format_init_sarif_stderr): Add "line_maps" + param and pass to format ctor. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + * diagnostic.cc (diagnostic_output_format_init): Pass "line_table" + as line_maps param to the above. + * diagnostic.h (diagnostic_output_format_init_sarif_stderr): Add + "line_maps" param. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + +2024-08-01 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc: Tweak ASCII art in comment + to show edges for both directions in the digraph. + +2024-07-31 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116134 + * match.pd (`(a ? x : y) eq/ne (b ? x : y)`): Check that + a and b types match. + (`(a ? x : y) eq/ne (b ? y : x)`): Likewise. + +2024-07-31 Jeff Law <jlaw@ventanamicro.com> + + * ext-dce.cc (carry_backpropagate): Change more guards of [U]INTVAL to + test CONST_INT_P rather than CONSTANT_P, fixing rtl-checking failures. + +2024-07-31 Dimitar Dimitrov <dimitar@dinux.eu> + + * common/config/pru/pru-common.cc + (TARGET_OPTION_OPTIMIZATION_TABLE): New definition. + * config/pru/pru.cc (TARGET_MIN_ANCHOR_OFFSET): Set minimal + anchor offset. + (TARGET_MAX_ANCHOR_OFFSET): Set maximum anchor offset. + +2024-07-31 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116136 + * simplify-rtx.cc (simplify_context::simplify_subreg): Check + that we're working with the lowpart offset rather than byte 0. + +2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config.gcc (extra_headers): Install arm_private_fp8.h. + * config/aarch64/arm_neon.h: Include arm_private_fp8.h. + * config/aarch64/arm_sve.h: Likewise. + * config/aarch64/arm_private_fp8.h: New file + (fpm_t): New type representing fpmr values. + (enum __ARM_FPM_FORMAT): New enum representing valid fp8 formats. + (enum __ARM_FPM_OVERFLOW): New enum representing how some fp8 + calculations work. + (__arm_fpm_init): New. + (__arm_set_fpm_src1_format): Likewise. + (__arm_set_fpm_src2_format): Likewise. + (__arm_set_fpm_dst_format): Likewise. + (__arm_set_fpm_overflow_cvt): Likewise. + (__arm_set_fpm_overflow_mul): Likewise. + (__arm_set_fpm_lscale): Likewise. + (__arm_set_fpm_lscale2): Likewise. + (__arm_set_fpm_nscale): Likewise. + +2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64.cc (aarch64_hard_regno_nregs): Add + support for MOVEABLE_SYSREGS class. + (aarch64_hard_regno_mode_ok): Allow reads and writes to fpmr. + (aarch64_regno_regclass): Support MOVEABLE_SYSREGS class. + (aarch64_class_max_nregs): Likewise. + * config/aarch64/aarch64.h (FIXED_REGISTERS): add fpmr. + (CALL_REALLY_USED_REGISTERS): Likewise. + (REGISTER_NAMES): Likewise. + (enum reg_class): Add MOVEABLE_SYSREGS class. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Update class bitmaps to deal with fpmr, + the new MOVEABLE_REGS class and renumbering of registers. + * config/aarch64/aarch64.md: (FPM_REGNUM): added new register + number, reusing old value. + (FFR_REGNUM): Renumber. + (FFRT_REGNUM): Likewise. + (LOWERING_REGNUM): Likewise. + (TPIDR2_BLOCK_REGNUM): Likewise. + (SME_STATE_REGNUM): Likewise. + (TPIDR2_SETUP_REGNUM): Likewise. + (ZA_FREE_REGNUM): Likewise. + (ZA_SAVED_REGNUM): Likewise. + (ZA_REGNUM): Likewise. + (ZT0_REGNUM): Likewise. + (*mov<mode>_aarch64): Add support for moveable sysregs. + (*movsi_aarch64): Likewise. + (*movdi_aarch64): Likewise. + * config/aarch64/constraints.md (MOVEABLE_SYSREGS): New constraint. + +2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * config/aarch64/aarch64-option-extensions.def (fp8): New. + * config/aarch64/aarch64.h (TARGET_FP8): Likewise. + * doc/invoke.texi (AArch64 Options): Document new -march flags + and extensions. + +2024-07-31 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (UNSPEC_REVB_2H, UNSPEC_REVB_4H, + UNSPEC_REVH_D): Remove UNSPECs. + (revb_4h, revh_d): Remove define_insn. + (revb_2h): Define as (rotatert:SI (bswap:SI x) 16) instead of + an UNSPEC. + (revb_2h_extend, revb_2w, *bswapsi2, bswapdi2): New define_insn. + (bswapsi2): Change to define_expand. Only expand to revb.2h + + rotri.w if !TARGET_64BIT. + (bswapdi2): Change to define_insn of which the output is just a + revb.d instruction. + +2024-07-31 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/predicates.md (ins_zero_bitmask_operand): + Cover more cases that bstrins can benefit. + (high_bitmask_operand): Remove. + * config/loongarch/constraints.md (Yy): Remove. + * config/loongarch/loongarch.md (and<mode>3_align): Remove. + +2024-07-31 Richard Biener <rguenther@suse.de> + + PR middle-end/101478 + * gimplify.cc (gimplify_addr_expr): Check we still have an + ADDR_EXPR before calling recompute_tree_invariant_for_addr_expr. + +2024-07-31 Hongyu Wang <hongyu.wang@intel.com> + + PR target/116065 + * config/i386/i386.opt (munroll-only-small-loops): Mark as + Optimization instead of Save. + +2024-07-31 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115881 + * recog.cc: Include rtl-iter.h. + (insn_propagation::apply_to_rvalue_1): Check that the result + of simplify_subreg does not include nested subregs. + +2024-07-31 Kewen Lin <linkw@linux.ibm.com> + + PR target/105359 + * config/rs6000/rs6000.md (@extenddf<FLOAT128:mode>2): Don't check + TARGET_LONG_DOUBLE_128 for FLOAT128_IEEE_P modes. + (extendsf<FLOAT128:mode>2): Likewise. + (trunc<FLOAT128:mode>df2): Likewise. + (trunc<FLOAT128:mode>sf2): Likewise. + (floatsi<FLOAT128:mode>2): Likewise. + (fix_trunc<FLOAT128:mode>si2): Likewise. + +2024-07-31 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/altivec.md (p9_vadu<mode>3): Rename to ... + (uabd<mode>3): ... this. Update RTL pattern with umin and umax rather + than UNSPEC_VADU. + (vadu<mode>3): Remove. + (UNSPEC_VADU): Remove. + (usadv16qi): Replace gen_p9_vaduv16qi3 with gen_uabdv16qi3. + (usadv8hi): Replace gen_p9_vaduv8hi3 with gen_uabdv8hi3. + * config/rs6000/rs6000-builtins.def (__builtin_altivec_vadub): Replace + expander with uabdv16qi3. + (__builtin_altivec_vaduh): Adjust expander with uabdv8hi3. + (__builtin_altivec_vaduw): Adjust expander with uabdv4si3. + +2024-07-31 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (optab): Add (rotatert "rotr"). + (<optab:any_shift><mode>3, <optab:any_div><mode>3, + sub<mode>3, rotr<mode>3, mul<mode>3): Add a "*" to the insn name + so we can redefine the names with define_expand. + (*<optab:any_shift>si3_extend): Remove "*" so we can use them + in expanders. + (*subsi3_extended, *mulsi3_extended): Likewise, also remove the + trailing "ed" for consistency. + (*<optab:any_div>si3_extended): Add mode for sign_extend to + prevent an ICE using it in expanders. + (shift_w, arith_w): New define_code_iterator. + (<optab:any_w><mode>3): New define_expand. Expand with + <optab:any_w>si3_extend for SImode if TARGET_64BIT. + (<optab:arith_w><mode>3): Likewise. + (mul<mode>3): Expand to mulsi3_extended for SImode if + TARGET_64BIT and ISA_HAS_DIV32. + (<optab:any_div><mode>3): Expand to <optab:any_div>si3_extended + for SImode if TARGET_64BIT. + (rotl<mode>3): Expand to rotrsi3_extend for SImode if + TARGET_64BIT. + (bytepick_w_<bytepick_imm>): Add mode for lshiftrt and ashift. + (bitsize, bytepick_imm, bytepick_w_ashift_amount): New + define_mode_attr. + (bytepick_w_<bytepick_imm>_extend): Adjust for the RTL change + caused by 32-bit shift expanding. Now bytepick_imm only covers + 2 and 3, separate one remaining case to ... + (bytepick_w_1_extend): ... here, new define_insn. + +2024-07-30 Edwin Lu <ewlu@rivosinc.com> + + * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string): + Skip b in march string + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Add B assembler check + +2024-07-30 Filip Kastl <fkastl@suse.cz> + + * tree-switch-conversion.cc (can_log2): New static function to + check if gen_log2 can be used on current target. + (gen_log2): New static function to generate efficient GIMPLE + code for taking an exact base 2 log. + (gen_pow2p): New static function to generate efficient GIMPLE + code for checking if a value is a power of 2. + (switch_conversion::switch_conversion): Track if the + transformation happened. + (switch_conversion::is_exp_index_transform_viable): New function + to decide whether the transformation should be applied. + (switch_conversion::exp_index_transform): New function to + execute the transformation. + (switch_conversion::gen_inbound_check): Don't remove the default + BB if the transformation happened. + (switch_conversion::expand): Execute the transform if it is + viable. Skip the "sufficiently small case range" test if the + transformation is going to be executed. + * tree-switch-conversion.h: Add is_exp_index_transform_viable + and exp_index_transform. + +2024-07-30 Gianluca Guida <gianluca@rivosinc.com> + Patrick O'Neill <patrick@rivosinc.com> + + * common/config/riscv/riscv-common.cc: Add zacas extension. + * config/riscv/arch-canonicalize: Make zacas imply zaamo. + * config/riscv/riscv.opt: Add zacas. + * config/riscv/sync.md (zacas_atomic_cas_value<mode>): New pattern. + (atomic_compare_and_swap<mode>): Use new pattern for compare-and-swap ops. + (zalrsc_atomic_cas_value_strong<mode>): Rename atomic_cas_value_strong. + * doc/sourcebuild.texi: Add Zacas documentation. + +2024-07-30 Patrick O'Neill <patrick@rivosinc.com> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::to_string): Remove zabha configure check + handling and clarify zaamo/zalrsc comment. + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Remove zabha configure check. + +2024-07-30 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold): + Implement strength reduction. + +2024-07-30 Georg-Johann Lay <avr@gjlay.de> + + * doc/extend.texi (AVR Function Attributes): Propose to use + attribute signal(n) via AVR-LibC's ISR_N from avr/interrupt.h + +2024-07-30 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_expand_ussub): Promote to Xmode + instead of Pmode. + +2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_insn_cost): + Add a case statement for TYPE_FARITH. + +2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (movsf_internal): + Reorder alternative that corresponds to L32R machine instruction, + and prefix alternatives that correspond to LSI/SSI instructions + with the constraint character '^' so that they are disparaged by + reload/LRA. + +2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h (xtensa_expand_call): + Remove the third argument. + * config/xtensa/xtensa.cc (xtensa_expand_call): + Remove the third argument and the code that uses it. + * config/xtensa/xtensa.md (call, call_value, sibcall, sibcall_value): + Remove each Boolean constant specified in the third argument of + xtensa_expand_call. + (sibcall_epilogue): Add emitting '(use A0_REG)' after calling + xtensa_expand_epilogue. + +2024-07-30 liuhongt <hongtao.liu@intel.com> + + PR target/116043 + * config/i386/constraints.md (Bk): Refine to + define_special_memory_constraint. + +2024-07-30 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/prfchiintrin.h + (_m_prefetchit0): Add macro for non-optimized option. + (_m_prefetchit1): Ditto. + +2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/predicates.md + (fix_scaling_operand, float_scaling_operand): New predicates. + * config/xtensa/xtensa.md + (any_fix/m_fix/s_fix, any_float/m_float/s_float): + New code iterators and their attributes. + (fix<s_fix>_truncsfsi2): Change from "fix_truncsfsi2". + (*fix<s_fix>_truncsfsi2_2x, *fix<s_fix>_truncsfsi2_scaled): + New insn definitions. + (float<s_float>sisf2): Change from "floatsisf2". + (*float<s_float>sisf2_scaled): New insn definition. + +2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc + (gen_int_relational, gen_float_relational): Replace tempvar-based + value-swapping codes with std::swap. + * config/xtensa/xtensa.md (movdi_internal, movdf_internal): + Ditto. + +2024-07-29 Jeff Law <jlaw@ventanamicro.com> + + PR target/116104 + * ext-dce.cc (carry_backpropagate): Fix test guarding UINTVAL + extraction of shift count. + +2024-07-29 Jonathan Wakely <jwakely@redhat.com> + + * doc/invoke.texi (Diagnostic Message Formatting Options): + Replace hyphen with a new sentence. Replace "the former" with + the actual value. + +2024-07-29 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/xtensa.cc (xtensa_option_override_after_change): + New function. + (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define as + xtensa_option_override_after_change. + (xtensa_option_override): Call + xtensa_option_override_after_change. + +2024-07-29 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_set_current_function): Fix typo in + error message. + +2024-07-29 Carl Love <cel@linux.ibm.com> + + * config/rs6000/vector.md: Add comment for the VEC_IC + define_mode_iterator. + +2024-07-29 Pan Li <pan2.li@intel.com> + + * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): + Try .SAT_SUB for PLUS_EXPR case. + +2024-07-29 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/116055 + * ipa-modref.cc (analyze_function): Do not ICE when flags regress. + +2024-07-29 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Only call + single_imm_use if statement is not generated from pattern recognition. + +2024-07-29 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/avx512dqintrin.h + (_mm_mask_fpclass_ss_mask): Correct operand order. + (_mm_mask_fpclass_sd_mask): Ditto. + (_mm256_maskz_reduce_round_ss): Use __builtin_ia32_reducess_mask_round + instead of __builtin_ia32_reducesd_mask_round. + (_mm_reduce_round_sd): Use -1 as mask since it is non-mask. + (_mm_reduce_round_ss): Ditto. + * config/i386/avx512vlbwintrin.h + (_mm256_mask_alignr_epi8): Correct operand usage. + (_mm_mask_alignr_epi8): Ditto. + * config/i386/avx512vlintrin.h (_mm_mask_alignr_epi64): Ditto. + +2024-07-28 Jonathan Wakely <jwakely@redhat.com> + + * exec-tool.in: Exit with an error if $original is empty. + +2024-07-28 Georg-Johann Lay <avr@gjlay.de> + + PR target/116056 + * config/avr/avr.h (machine_function) <is_noblock>: New field. + * config/avr/avr-c.cc (avr_cpu_cpp_builtins) <__HAVE_SIGNAL_N__>: New + built-in macro. + * config/avr/avr.cc (avr_declare_function_name): New function. + (avr_attribute_table) <noblock>: New function attribute>. + <signal, interrupt>: Allow any number of args. + (avr_insert_attributes): Check validity of "signal" and "interrupt" + arguments. + (avr_foreach_function_attribute, avr_interrupt_signal_function) + (avr_isr_number, avr_asm_isr_alias, avr_handle_isr_attribute) + (avr_noblock_function_p): New static functions. + (avr_interrupt_function): New from avr_interrupt_function_p. + Adjust callers. + (avr_signal_function): New from avr_signal_function_p. + Adjust callers. + (avr_set_current_function): Only diagnose non-__vector ISR names + when "signal" or "interrupt" attribute has no args. Set + cfun->machine->is_noblock. Warn about "noblock" in non-ISR functions. + (struct avr_fun_cookie): New. + (avr_expand_prologue, avr_asm_function_end_prologue): Handle "noblock". + * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): New define. + * config/avr/avr-protos.h (avr_declare_function_name): New proto. + * doc/extend.texi (AVR Function Attributes): Document + signal(num) and interrupt(num). + * doc/invoke.texi (AVR Built-in Macros) <__HAVE_SIGNAL_N__>: Document. + +2024-07-27 Roger Sayle <roger@nextmovesoftware.com> + Andrew Pinski <quic_apinski@quicinc.com> + + * match.pd (ctz (-X) => ctz (X)): New simplification. + (ctz (abs (X)) => ctz (X)): Likewise. + +2024-07-27 Pan Li <pan2.li@intel.com> + + * match.pd: Add case 9 and case 10 for .SAT_SUB when one + of the op is IMM. + +2024-07-27 David Malcolm <dmalcolm@redhat.com> + + PR middle-end/107941 + * diagnostic-format-sarif.cc: Define INCLUDE_LIST and INCLUDE_MAP. + (enum class location_relationship_kind): New. + (diagnostic_artifact_role::scanned_file): New value. + (class sarif_location_manager): New. + (class sarif_result): Derive from sarif_location_manager rather + than directly from sarif_object. + (sarif_result::add_related_location): Convert to vfunc + implementation. + (sarif_location::m_relationships_map): New field. + (class sarif_location_relationship): New. + (class sarif_ice_notification): Derive from sarif_location_manager + rather than directly from sarif_object. + (sarif_builder::take_current_result): New. + (sarif_builder::m_line_maps): New field. + (sarif_builder::m_cur_group_result): Convert to std::unique_ptr. + (sarif_artifact::add_role): Skip scanned_file. + (get_artifact_role_string): Handle scanned_file. + (sarif_location_manager::add_relationship_to_worklist): New. + (sarif_location_manager::process_worklist): New. + (sarif_location_manager::process_worklist_item): New. + (sarif_result::on_nested_diagnostic): Pass *this to + make_location_object. + (sarif_location::lazily_add_id): New. + (sarif_location::get_id): New. + (get_string_for_location_relationship_kind): New. + (sarif_location::lazily_add_relationship): New. + (sarif_location::lazily_add_relationship_object): New. + (sarif_location::lazily_add_relationships_array): New. + (sarif_ice_notification::sarif_ice_notification): Fix overlong line. + Pass *this to make_locations_arr. + (sarif_ice_notification::add_related_location): New. + (sarif_location_relationship::sarif_location_relationship): New. + (sarif_location_relationship::get_target_id): New. + (sarif_location_relationship::lazily_add_kind): New. + (sarif_builder::sarif_builder): Add "line_maps" param and use it + to initialize m_line_maps. + (sarif_builder::end_diagnostic): Update for m_cur_group_result + becoming a std::unique_ptr. Don't append to m_results_array yet. + (sarif_builder::end_group): Append m_cur_group_result to + m_results_array here, rather than in end_diagnostic. + (sarif_builder::make_result_object): Pass result_obj to + make_locations_arr and to make_code_flow_object. + (sarif_builder::make_locations_arr): Add "loc_mgr" param and pass + it to make_location_object. + (sarif_builder::make_location_object): For two overloads, add + "loc_mgr" param and call add_any_include_chain on the location. + (sarif_builder::add_any_include_chain): New. + (sarif_builder::make_location_object): New overload. + (sarif_builder::make_code_flow_object): Add "result" param and + pass it to make_thread_flow_location_object. + (sarif_builder::make_thread_flow_location_object): Add "result" + param and pass it to make_location_object. + (sarif_builder::get_or_create_artifact): Handle scanned_file. + (sarif_output_format::~sarif_output_format): Assert that there + isn't a pending result. + (sarif_output_format::sarif_output_format): Add "line_maps" param + and pass it to m_builder's ctor. + (sarif_stream_output_format::sarif_stream_output_format): Add + "line_maps" param and pass it to base class ctor. + (sarif_file_output_format::sarif_file_output_format): Likewise. + (diagnostic_output_format_init_sarif_stderr): Pass "line_table" + global to format. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + (test_sarif_diagnostic_context::test_sarif_diagnostic_context): + Likewise. + (buffered_output_format::buffered_output_format): Likewise. + (selftest::test_make_location_object): Likewise. + (selftest::test_make_location_object): Create a sarif_result for + use when calling make_location_object. + * diagnostic.cc (diagnostic_context::finish): End any active + diagnostic groups. + (diagnostic_context::report_diagnostic): Assert that we're within + a diagnostic group. + * diagnostic.h (diagnostic_report_diagnostic): Add + begin_group/end_group pair around call to + diagnostic_context::report_diagnostic. + * selftest-diagnostic.cc (test_diagnostic_context::report): Add + begin_group/end_group pair around diagnostic_impl call. + +2024-07-26 Jeff Law <jlaw@ventanamicro.com> + + PR target/116085 + * config/riscv/bitmanip.md (minmax extension avoidance splitter): + Rewrite as a simpler define_split. Adjust the opcode appropriately. + Avoid emitting sign extension if it's clearly not needed. + * config/riscv/iterators.md (minmax_optab): Rename to uminmax_optab + and map everything to unsigned variants. + +2024-07-26 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * gimple-ssa-sprintf.cc (format_string): Fix type in range check + for UNLIKELY for wide chars. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-sve-builtins-base.cc (svbic_impl::expand): Update + to use andn optab instead of using code_for_aarch64_bic. + * config/aarch64/aarch64-sve.md (@aarch64_bic<mode>): Rename to ... + (andn<mode>3): This. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmpl<mode>3): Rename to ... + (<NLOGICAL:optab>n<mode>3): This. + (*<NLOGICAL:optab>_one_cmplsidi3_ze): Rename to ... + (*<NLOGICAL:optab>nsidi3_ze): This. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-simd.md + (bic<mode>3<vczle><vczbe>): Rename to ... + (andn<mode>3<vczle><vczbe>): This. Also swap operands. + (orn<mode>3<vczle><vczbe>): Rename to ... + (iorn<mode>3<vczle><vczbe>): This. Also swap operands. + (vec_cmp<mode><v_int_equiv>): Update orn call to iorn + and swap the last two arguments. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/116065 + * config/aarch64/aarch64.opt (mearly-ra=): Mark as Optimization rather + than Save. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116101 + * gimple-isel.cc (maybe_duplicate_comparison): Don't + do anything for -O0 or -fno-tree-ter. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-isel.cc (duplicate_comparison): Rename to ... + (maybe_duplicate_comparison): This. Add check for use here + rather than in its caller. + (pass_gimple_isel::execute): Don't check how many uses the + comparison had and call maybe_duplicate_comparison instead of + duplicate_comparison. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-isel.cc (pass_gimple_isel::execute): Factor out + duplicate comparisons out to ... + (duplicate_comparison): New function. + +2024-07-26 Andi Kleen <ak@gcc.gnu.org> + + PR c++/116019 + * tree-tailcall.cc (find_tail_calls): Change tail call + error message. + +2024-07-26 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_override_options_internal): + Reword error string without apostrophe. + +2024-07-26 Tamar Christina <tamar.christina@arm.com> + + PR target/116074 + * tree-vect-patterns.cc (vect_recog_cond_store_pattern): Check vector mode. + +2024-07-26 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/i386-expand.cc (ix86_expand_builtin): Change + from XImode to BLKmode. + * config/i386/i386.md (ldtilecfg): Change XI to BLK. + (sttilecfg): Ditto. + +2024-07-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115757 + * tree.h (put_warning_spec_at): Declare new function. + (has_warning_spec): Likewise. + (get_warning_spec): Likewise. + (put_warning_spec): Likewise. + * diagnostic-spec.h (nowarn_spec_t::from_bits): New function. + * diagnostic-spec.cc (put_warning_spec_at): New function. + * warning-control.cc (has_warning_spec): New function. + (get_warning_spec): New function. + (put_warning_spec): New function. + +2024-07-25 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtin.cc (get_element_number, + altivec_expand_vec_set_builtin): Remove functions. + (rs6000_expand_builtin): Remove the if statement to call + altivec_expand_vec_set_builtin. + * config/rs6000/rs6000-builtins.def (__builtin_vsx_set_1ti, + __builtin_vsx_set_2df, __builtin_vsx_set_2di): Remove the + built-in definitions. + * config/rs6000/rs6000-gen-builtins.cc (struct attrinfo): + Remove the isset variable from the structure. + (parse_bif_attrs): Remove the uses of the isset variable. + +2024-07-25 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vec_set_v1ti, + __builtin_vec_set_v2df, __builtin_vec_set_v2di): Remove built-in + definitions. + * config/rs6000/rs6000-c.cc (resolve_vec_insert): Remove the + handling for constant vec_insert position with + VECTOR_UNIT_VSX_P V1TImode, V2DFmode and V2DImode modes. + +2024-07-25 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcmpeqsp, + __builtin_vsx_xvcmpgesp, __builtin_vsx_xvcmpgtsp): Remove + definitions. + +2024-07-25 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116039 + * ext-dce.cc (ext_dce_process_uses): Add some comments about concerns + with current code. Mark additional bit groups as live when we have + an extension of a suitably promoted subreg. + +2024-07-25 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/116033 + * config/riscv/thead.cc (th_memidx_classify_address_modify): + Fix mode test. + +2024-07-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116083 + * tree-vect-slp.cc (vect_build_slp_tree): Do not allocate + a discovery fail node when we reached the discovery limit. + (vect_build_slp_instance): Terminate early when the + discovery limit is reached. + +2024-07-25 Richard Sandiford <richard.sandiford@arm.com> + + * doc/rtl.texi: Document the need to define INCLUDE_ARRAY before + including rtl-ssa.h. + * rtl-ssa.h: Likewise (in comment). + * config/aarch64/aarch64-cc-fusion.cc: Add INCLUDE_ARRAY. + * config/aarch64/aarch64-early-ra.cc: Likewise. + * config/riscv/riscv-avlprop.cc: Likewise. + * config/riscv/riscv-vsetvl.cc: Likewise. + * fwprop.cc: Likewise. + * late-combine.cc: Likewise. + * pair-fusion.cc: Likewise. + * rtl-ssa/accesses.cc: Likewise. + * rtl-ssa/blocks.cc: Likewise. + * rtl-ssa/changes.cc: Likewise. + * rtl-ssa/functions.cc: Likewise. + * rtl-ssa/insns.cc: Likewise. + * rtl-ssa/movement.cc: Likewise. + +2024-07-25 Sam James <sam@gentoo.org> + + PR middle-end/114855 + * doc/invoke.texi (Optimize options): Mention machine-generated + code for -O1. + +2024-07-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116081 + * tree-vect-loop.cc (get_initial_defs_for_reduction): + Use operand_equal_p for comparing the element with the + neutral op. + +2024-07-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116079 + * tree-ssa-loop-im.cc (hoist_memory_references): Clear + VDEF of elided clobbers. + +2024-07-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116081 + * tree-vect-stmts.cc (vect_get_vector_types_for_stmt): + Properly compare types. + +2024-07-25 Robin Dapp <rdapp@ventanamicro.com> + + PR target/116036 + * config/riscv/riscv.cc (riscv_override_options_internal): Error + with TARGET_VECTOR && !TARGET_MUL. + +2024-07-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_legitimize_move): Fix poly_int dest generation. + +2024-07-25 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/116044 + * rtl-ssa/functions.h (function_info::split_clobber_group): Return + an array of two clobber_groups. + * rtl-ssa/accesses.cc (function_info::split_clobber_group): Return + the new clobber groups. Don't modify the splay tree here. + (function_info::add_def): Update call accordingly. Generalize + the splay tree insertion code so that the new definition can be + inserted as a child of any existing node, not just the root. + Fix the insertion used after calling split_clobber_group. + +2024-07-25 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve-builtins.cc + (gimple_folder::redirect_call): Update return type. + * config/aarch64/aarch64-sve-builtins.h: Likewise. + * config/aarch64/aarch64-sve-builtins-sve2.cc (svqshl_impl::fold): + Remove cast to gcall. + (svrshl_impl::fold): Likewise. + +2024-07-25 Richard Biener <rguenther@suse.de> + + * tree-ssa-structalias.cc (constraint_equal): Take const + reference to constraints. + (constraint_vec_find): Similar. + (solve_graph): Keep constraint vector sorted and verify + sorting with checking. + +2024-07-25 Lingling Kong <lingling.kong@intel.com> + + PR target/115749 + * config/i386/x86-tune-costs.h (struct processor_costs): + Adjust rtx_cost of imulq and imulw for COST_N_INSNS (4) + to COST_N_INSNS (3). + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc (sarif_builder::make_locations_arr): + Don't add entirely empty location objects, such as for + UNKNOWN_LOCATION. + (test_sarif_diagnostic_context::test_sarif_diagnostic_context): + Add param "main_input_filename". + (selftest::test_simple_log): Provide above param. Verify that + "locations" is empty. + (selftest::test_simple_log_2): New. + (selftest::diagnostic_format_sarif_cc_tests): Call it. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc (sarif_builder::flush_to_object): + New, using code moved from... + (sarif_builder::end_group): ...here. + (class selftest::test_sarif_diagnostic_context): New. + (selftest::test_simple_log): New. + (selftest::diagnostic_format_sarif_cc_tests): Call it. + * json.h (json::object::is_empty): New. + * selftest-diagnostic.cc (test_diagnostic_context::report): New. + * selftest-diagnostic.h (test_diagnostic_context::report): New + decl. + * selftest-json.cc (selftest::assert_json_string_eq): New. + (selftest::expect_json_object_with_string_property): New. + (selftest::assert_json_string_property_eq): New. + * selftest-json.h (selftest::assert_json_string_eq): New decl. + (ASSERT_JSON_STRING_EQ): New macro. + (selftest::expect_json_object_with_string_property): New decl. + (EXPECT_JSON_OBJECT_WITH_STRING_PROPERTY): New macro. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc + (sarif_builder::make_location_object): Add "annotations" property if + there are any labelled ranges (§3.28.6). + (selftest::test_make_location_object): Verify annotations are added + to location_obj. + * json.h (json::array::size): New. + (json::array::operator[]): New. + * selftest-json.cc + (selftest::expect_json_object_with_array_property): New. + * selftest-json.h + (selftest::expect_json_object_with_array_property): New decl. + (EXPECT_JSON_OBJECT_WITH_ARRAY_PROPERTY): New macro. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc + (make_date_time_string_for_current_time): New. + (sarif_invocation::sarif_invocation): Set "startTimeUtc" + property (§3.20.7). + (sarif_invocation::prepare_to_flush): Set "endTimeUtc" + property (§3.20.8). + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc (sarif_invocation::sarif_invocation): + Add "original_argv" param and use it to populate "arguments" + property (§3.20.2). + (sarif_builder::sarif_builder): Pass argv to m_invocation_obj's + ctor. + * diagnostic.cc (diagnostic_context::initialize): Initialize + m_original_argv. + (diagnostic_context::finish): Clean up m_original_argv. + (diagnostic_context::set_original_argv): New. + * diagnostic.h: Include "unique-argv.h". + (diagnostic_context::set_original_argv): New decl. + (diagnostic_context::get_original_argv): New decl. + (diagnostic_context::m_original_argv): New field. + * toplev.cc: Include "unique-argv.h". + (general_init): Add "original_argv" param and move it to global_dc. + (toplev::main): Stash a copy of the original argv before expansion, + and pass it to general_init for use by SARIF output. + * unique-argv.h: New file. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc + (sarif_builder::make_artifact_location_object): Make public. + (sarif_invocation::sarif_invocation): Add param "builder". + Use it to potentially populate the "workingDirectory" property + with the result of pwd (§3.20.19). + (sarif_builder::sarif_builder): Pass *this to m_invocation_obj's + ctor. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * text-range-label.h: New file, taking class text_range_label from + gcc-rich-location.h. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS-libcommon): Add selftest-json.o. + * diagnostic-format-sarif.cc: Include "selftest.h", + "selftest-diagnostic.h", "selftest-diagnostic-show-locus.h", + "selftest-json.h", and "text-range-label.h". + (class content_renderer): New. + (sarif_builder::m_rules_arr): Convert to std::unique_ptr. + (sarif_builder::make_location_object): Add class + escape_nonascii_renderer. If rich_loc.escape_on_output_p (), + pass a nonnull escape_nonascii_renderer to + maybe_make_physical_location_object as its snippet_renderer, and + add a property bag property "gcc/escapeNonAscii" to the SARIF + location object. For other overloads of make_location_object, + pass nullptr for the snippet_renderer. + (sarif_builder::maybe_make_region_object_for_context): Add + "snippet_renderer" param and pass it to + maybe_make_artifact_content_object. + (sarif_builder::make_tool_object): Drop "const". + (sarif_builder::make_driver_tool_component_object): Likewise. + Use typesafe unique_ptr variant of object::set for setting "rules" + property on driver_obj. + (sarif_builder::maybe_make_artifact_content_object): Add param "r" + and use it to potentially set the "rendered" property (§3.3.4). + (selftest::test_make_location_object): New. + (selftest::diagnostic_format_sarif_cc_tests): New. + * diagnostic-show-locus.cc: Include "text-range-label.h" and + "selftest-diagnostic-show-locus.h". + (selftests::diagnostic_show_locus_fixture::diagnostic_show_locus_fixture): + New. + (selftests::test_layout_x_offset_display_utf8): Use + diagnostic_show_locus_fixture to simplify and consolidate setup + code. + (selftests::test_diagnostic_show_locus_one_liner): Likewise. + (selftests::test_one_liner_colorized_utf8): Likewise. + (selftests::test_diagnostic_show_locus_one_liner_utf8): Likewise. + * gcc-rich-location.h (class text_range_label): Move to new file + text-range-label.h. + * selftest-diagnostic-show-locus.h: New file, based on material in + diagnostic-show-locus.cc. + * selftest-json.cc: New file. + * selftest-json.h: New file. + * selftest-run-tests.cc (selftest::run_tests): Call + selftest::diagnostic_format_sarif_cc_tests. + * selftest.h (selftest::diagnostic_format_sarif_cc_tests): New decl. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc: Include "make-unique.h". + (json_output_format::m_toplevel_array): Convert to + std::unique_ptr. + (json_output_format::json_output_format): Update accordingly. + (json_output_format::~json_output_format): Remove manual + "delete" of field. + (json_from_expanded_location): Convert return type to + std::unique_ptr. + (json_from_location_range): Likewise. Use nullptr rather than + NULL. + (json_from_fixit_hint): Convert return type to std::unique_ptr. + (json_from_metadata): Likewise. + (make_json_for_path): Likewise. + (json_output_format::on_end_diagnostic): Use std::unique_ptr + throughout. + (json_file_output_format::~json_file_output_format): Use nullptr. + (selftest::test_unknown_location): Update to use std::unique_ptr. + (selftest::test_bad_endpoints): Likewise. Replace NULL with + nullptr. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc: Include "make-unique.h". Convert + raw pointers to std::unique_ptr throughout to indicate ownership, + adding comments in the few places where pointers are borrowed. + Use typesafe unique_ptr variants of json::object::set and + json::array::append throughout to make types of properties more + explicit, whilst using "auto" to reduce typing. + Use "nullptr" rather than "NULL" throughout. + * diagnostic-format-sarif.h (make_sarif_logical_location_object): + Use std::unique_ptr for return type. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc: Define INCLUDE_MEMORY. + * diagnostic-format-sarif.cc: Likewise. + * dumpfile.cc: Likewise. + * gcov.cc: Likewise. + * json.cc: Likewise. Include "make-unique.h". + (selftest::test_formatting): Exercise overloads of + array::append and object::set that use unique_ptr. + * json.h: Require INCLUDE_MEMORY to have been defined. + (json::object::set): Add a template to add a family of overloads + taking a std::unique_ptr<JsonType> + (json::array::append): Likewise. + * optinfo-emit-json.cc: Define INCLUDE_MEMORY. + * optinfo.cc: Likewise. + * timevar.cc: Likewise. + * toplev.cc: Likewise. + * tree-diagnostic-client-data-hooks.cc: Likewise. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc (json_from_expanded_location): Make + "static". Pass param "context" by reference, as it cannot be null. + (json_from_location_range): Likewise for param "context". + (json_from_fixit_hint): Likewise. + (make_json_for_path): Likewise. + (json_output_format::on_end_diagnostic): Update for above changes. + (diagnostic_output_format_init_json::diagnostic_output_format_init_json): + Pass param "context" by reference, as it cannot be null. + (diagnostic_output_format_init_json_stderr): Likewise. + (diagnostic_output_format_init_json_file): Likewise. + (selftest::test_unknown_location): Update for above changes. + (selftest::test_bad_endpoints): Likewise. + * diagnostic-format-sarif.cc (sarif_builder::m_context): Convert + from pointer to reference. + (sarif_invocation::add_notification_for_ice): Convert both params + from pointers to references. + (sarif_invocation::prepare_to_flush): Likewise for "context". + (sarif_result::on_nested_diagnostic): Likewise for "context" and + "builder". + (sarif_result::on_diagram): Likewise. + (sarif_ice_notification::sarif_ice_notification): Likewise. + (sarif_builder::sarif_builder): Likewise for "context". + (sarif_builder::end_diagnostic): Likewise. + (sarif_builder::emit_diagram): Likewise. + (sarif_builder::make_result_object): Likewise. + (make_reporting_descriptor_object_for_warning): Likewise. + (sarif_builder::make_locations_arr): Update for change to m_context. + (sarif_builder::get_sarif_column): Likewise. + (sarif_builder::make_message_object_for_diagram): Convert "context" + from pointer to reference. + (sarif_builder::make_tool_object): Likewise for "m_context". + (sarif_builder::make_driver_tool_component_object): Likewise. + (sarif_builder::get_or_create_artifact): Likewise. + (sarif_builder::maybe_make_artifact_content_object): Likewise. + (sarif_builder::get_source_lines): Likewise. + (sarif_output_format::on_end_diagnostic): Update for above changes. + (sarif_output_format::on_diagram): Likewise. + (sarif_output_format::sarif_output_format): Likewise. + (diagnostic_output_format_init_sarif): Convert param "context" + from pointer to reference. + (diagnostic_output_format_init_sarif_stderr): Likewise. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + * diagnostic.cc (diagnostic_output_format_init): Likewise. + * diagnostic.h (diagnostic_output_format_init): Likewise. + (diagnostic_output_format_init_json_stderr): Likewise. + (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. + (json_from_expanded_location): Delete decl. + * gcc.cc (driver_handle_option): Update for change to + diagnostic_output_format_init. + * opts.cc (common_handle_option): Likewise. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc: Introduce subclasses of sarif_object + for all aspects of the spec that we're using. Replace almost all + usage of json::object with uses of these subclasses, the only + remaining use of json::object being for originalUriBaseIds, as per + SARIF 2.1.0 §3.14.14. This stronger typing makes it considerably + easier to maintain validity against the schema. + * diagnostic-format-sarif.h (class sarif_logical_location): New. + (make_sarif_logical_location_object): Convert return type from + json::object * to sarif_logical_location *. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * gcov.cc (output_intermediate_json_line): Use + json::object::set_integer to avoid naked "new". + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc (sarif_artifact::populate_roles): + Avoid naked "new" by using json::array::append_string. + (sarif_builder::maybe_make_kinds_array): Likewise. + * json.cc (json::array::append_string): New. + (selftest::test_writing_arrays): Use it. + * json.h (json::array::append_string): New decl. + * optinfo-emit-json.cc (optrecord_json_writer::pass_to_json): + Avoid naked "new" by using json::array::append_string. + (optrecord_json_writer::optinfo_to_json): Likewise. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * json.cc (value::dump): New overload, taking no params. + * json.h (value::dump): New decl. + +2024-07-24 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116037 + * ext-dce.cc (ext_dce_process_sets): Note if we ever skip a dest + and return that info explicitly. + (ext_dce_process_uses): If a set was skipped, then consider all bits + in every input as live. Do not try to optimize away an extension if + we skipped processing a destination in the same insn. Restore code + to make shift/rotate count fully live. + (ext_dce_process_bb): Handle API changes for ext_dce_process_sets. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * common/config/aarch64/aarch64-common.cc + (aarch64_set_asm_isa_flags): Store a second uint64_t value. + * config/aarch64/aarch64-opts.h + (aarch64_feature_flags): Switch typedef to bbitmap<2>. + * config/aarch64/aarch64.cc + (aarch64_set_current_function): Extract isa mode from val[0]. + * config/aarch64/aarch64.h + (aarch64_get_asm_isa_flags): Load a second uint64_t value. + (aarch64_get_isa_flags): Ditto. + (aarch64_asm_isa_flags): Ditto. + (aarch64_isa_flags): Ditto. + (HANDLE): Use bbitmap<2>::from_index to initialise flags. + (AARCH64_FL_ISA_MODES): Do arithmetic on integer type. + (AARCH64_ISA_MODE): Extract value from bbitmap<2> array. + * config/aarch64/aarch64.opt + (aarch64_asm_isa_flags_1): New variable. + (aarch64_isa_flags_1): Ditto. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * bbitmap.h: New file. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-feature-deps.h + (get_flags_off): Construct aarch64_feature_flags (0) explicitly. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-c.cc + (aarch64_define_unconditional_macros): Use TARGET_V8R macro. + (aarch64_update_cpp_builtins): Use TARGET_* macros. + * config/aarch64/aarch64.h (AARCH64_HAVE_ISA): New macro. + (AARCH64_ISA_SM_OFF, AARCH64_ISA_SM_ON, AARCH64_ISA_ZA_ON) + (AARCH64_ISA_V8A, AARCH64_ISA_V8_1A, AARCH64_ISA_CRC) + (AARCH64_ISA_FP, AARCH64_ISA_SIMD, AARCH64_ISA_LSE) + (AARCH64_ISA_RDMA, AARCH64_ISA_V8_2A, AARCH64_ISA_F16) + (AARCH64_ISA_SVE, AARCH64_ISA_SVE2, AARCH64_ISA_SVE2_AES) + (AARCH64_ISA_SVE2_BITPERM, AARCH64_ISA_SVE2_SHA3) + (AARCH64_ISA_SVE2_SM4, AARCH64_ISA_SME, AARCH64_ISA_SME_I16I64) + (AARCH64_ISA_SME_F64F64, AARCH64_ISA_SME2, AARCH64_ISA_V8_3A) + (AARCH64_ISA_DOTPROD, AARCH64_ISA_AES, AARCH64_ISA_SHA2) + (AARCH64_ISA_V8_4A, AARCH64_ISA_SM4, AARCH64_ISA_SHA3) + (AARCH64_ISA_F16FML, AARCH64_ISA_RCPC, AARCH64_ISA_RCPC8_4) + (AARCH64_ISA_RNG, AARCH64_ISA_V8_5A, AARCH64_ISA_TME) + (AARCH64_ISA_MEMTAG, AARCH64_ISA_V8_6A, AARCH64_ISA_I8MM) + (AARCH64_ISA_F32MM, AARCH64_ISA_F64MM, AARCH64_ISA_BF16) + (AARCH64_ISA_SB, AARCH64_ISA_RCPC3, AARCH64_ISA_V8R) + (AARCH64_ISA_PAUTH, AARCH64_ISA_V8_7A, AARCH64_ISA_V8_8A) + (AARCH64_ISA_V8_9A, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A) + (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A, AARCH64_ISA_V9_4A) + (AARCH64_ISA_MOPS, AARCH64_ISA_LS64, AARCH64_ISA_CSSC) + (AARCH64_ISA_D128, AARCH64_ISA_THE, AARCH64_ISA_GCS): Remove. + (TARGET_BASE_SIMD, TARGET_SIMD, TARGET_FLOAT) + (TARGET_NON_STREAMING, TARGET_STREAMING, TARGET_ZA, TARGET_SHA2) + (TARGET_SHA3, TARGET_AES, TARGET_SM4, TARGET_F16FML) + (TARGET_CRC32, TARGET_LSE, TARGET_FP_F16INST) + (TARGET_SIMD_F16INST, TARGET_DOTPROD, TARGET_SVE, TARGET_SVE2) + (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3) + (TARGET_SVE2_SM4, TARGET_SME, TARGET_SME_I16I64) + (TARGET_SME_F64F64, TARGET_SME2, TARGET_ARMV8_3, TARGET_JSCVT) + (TARGET_FRINT, TARGET_TME, TARGET_RNG, TARGET_MEMTAG) + (TARGET_I8MM, TARGET_SVE_I8MM, TARGET_SVE_F32MM) + (TARGET_SVE_F64MM, TARGET_BF16_FP, TARGET_BF16_SIMD) + (TARGET_SVE_BF16, TARGET_PAUTH, TARGET_BTI, TARGET_MOPS) + (TARGET_LS64, TARGET_CSSC, TARGET_SB, TARGET_RCPC, TARGET_RCPC2) + (TARGET_RCPC3, TARGET_SIMD_RDMA, TARGET_ARMV9_4, TARGET_D128) + (TARGET_THE, TARGET_GCS): Redefine using AARCH64_HAVE_ISA. + (TARGET_V8R, TARGET_V9A): New. + * config/aarch64/aarch64.md (arch_enabled): Use TARGET_RCPC2. + * config/aarch64/iterators.md (GPI_I16): Use TARGET_FP_F16INST. + (GPF_F16): Ditto. + * config/aarch64/predicates.md + (aarch64_rcpc_memory_operand): Use TARGET_RCPC2. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64.cc + (aarch64_valid_sysreg_name_p): Add bool cast. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * common/config/aarch64/aarch64-common.cc + (aarch64_set_asm_isa_flags): Reorder, and add suffix to names. + * config/aarch64/aarch64.h + (aarch64_get_asm_isa_flags): Add "_0" suffix. + (aarch64_get_isa_flags): Ditto. + (aarch64_asm_isa_flags): Redefine using renamed uint64_t value. + (aarch64_isa_flags): Ditto. + * config/aarch64/aarch64.opt: + (aarch64_asm_isa_flags): Rename to... + (aarch64_asm_isa_flags_0): ...this, and change to uint64_t. + (aarch64_isa_flags): Rename to... + (aarch64_isa_flags_0): ...this, and change to uint64_t. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * common/config/aarch64/aarch64-common.cc + (aarch64_handle_option): Use new macro. + * config/aarch64/aarch64.cc + (aarch64_override_options_internal): Ditto. + (aarch64_option_print): Ditto. + (aarch64_set_current_function): Ditto. + (aarch64_can_inline_p): Ditto. + (aarch64_declare_function_name): Ditto. + (aarch64_start_file): Ditto. + * config/aarch64/aarch64.h (aarch64_get_asm_isa_flags): New + (aarch64_get_isa_flags): New. + (aarch64_asm_isa_flags): Use new macro. + (aarch64_isa_flags): Ditto. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-opts.h: Add aarch64_isa_mode typedef. + * config/aarch64/aarch64-protos.h + (aarch64_gen_callee_cookie): Use aarch64_isa_mode parameter. + (aarch64_sme_vq_immediate): Ditto. + * config/aarch64/aarch64.cc + (aarch64_fntype_pstate_sm): Use aarch64_isa_mode values. + (aarch64_fntype_pstate_za): Ditto. + (aarch64_fndecl_pstate_sm): Ditto. + (aarch64_fndecl_pstate_za): Ditto. + (aarch64_fndecl_isa_mode): Ditto. + (aarch64_cfun_incoming_pstate_sm): Ditto. + (aarch64_cfun_enables_pstate_sm): Ditto. + (aarch64_call_switches_pstate_sm): Ditto. + (aarch64_gen_callee_cookie): Ditto. + (aarch64_callee_isa_mode): Ditto. + (aarch64_insn_callee_abi): Ditto. + (aarch64_sme_vq_immediate): Ditto. + (aarch64_add_offset_temporaries): Ditto. + (aarch64_add_offset): Ditto. + (aarch64_add_sp): Ditto. + (aarch64_sub_sp): Ditto. + (aarch64_guard_switch_pstate_sm): Ditto. + (aarch64_switch_pstate_sm): Ditto. + (aarch64_init_cumulative_args): Ditto. + (aarch64_allocate_and_probe_stack_space): Ditto. + (aarch64_expand_prologue): Ditto. + (aarch64_expand_epilogue): Ditto. + (aarch64_start_call_args): Ditto. + (aarch64_expand_call): Ditto. + (aarch64_end_call_args): Ditto. + (aarch64_set_current_function): Ditto, with added conversions. + (aarch64_handle_attr_arch): Avoid macro with changed type. + (aarch64_handle_attr_cpu): Ditto. + (aarch64_handle_attr_isa_flags): Ditto. + (aarch64_switch_pstate_sm_for_landing_pad): + Use arch64_isa_mode values. + (aarch64_switch_pstate_sm_for_jump): Ditto. + (pass_switch_pstate_sm::gate): Ditto. + * config/aarch64/aarch64.h + (AARCH64_ISA_MODE_{SM_ON|SM_OFF|ZA_ON}): New macros. + (AARCH64_FL_SM_STATE): Mark as possibly unused. + (AARCH64_ISA_MODE_SM_STATE): New aarch64_isa_mode mask. + (AARCH64_DEFAULT_ISA_MODE): New aarch64_isa_mode value. + (AARCH64_FL_DEFAULT_ISA_MODE): Define using above value. + (AARCH64_ISA_MODE): Change type to aarch64_isa_mode. + (arm_pcs): Use aarch64_isa_mode value. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64.cc + (aarch64_override_options): Remove temporary variable. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64.h (DEF_AARCH64_ISA_MODE): Move to... + * config/aarch64/aarch64-opts.h (DEF_AARCH64_ISA_MODE): ...here. + +2024-07-24 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64.cc + (aarch64_tune_flags): Remove unused global variable. + (aarch64_override_options_internal): Remove dead assignment. + +2024-07-24 Andrew Pinski <quic_apinski@quicinc.com> + + * config/rs6000/rs6000-builtins.def: s/iorc/iorn/. s/andc/andn/ + for the code. + * config/rs6000/rs6000-string.cc (expand_cmp_vec_sequence): Update + to iorn. + * config/rs6000/rs6000.md (andc<mode>3): Rename to ... + (andn<mode>3): This. + (iorc<mode>3): Rename to ... + (iorn<mode>3): This. + * doc/md.texi: Update documentation for the rename. + * internal-fn.def (BIT_ANDC): Rename to ... + (BIT_ANDN): This. + (BIT_IORC): Rename to ... + (BIT_IORN): This. + * optabs.def (andc_optab): Rename to ... + (andn_optab): This. + (iorc_optab): Rename to ... + (iorn_optab): This. + * gimple-isel.cc (gimple_expand_vec_cond_expr): Update for the + renamed internal functions, ANDC/IORC to ANDN/IORN. + +2024-07-24 Gaius Mulley <gaiusmod2@gmail.com> + + * doc/install.texi (GM2-prerequisite): Add GNU flex. + +2024-07-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116057 + * tree-ssa-ccp.cc (likely_value): Also walk CTORs in stmt + operands to look for constants. + +2024-07-24 Kyrylo Tkachov <ktkachov@nvidia.com> + + Revert: + 2024-07-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement + fusion logic. + * config/aarch64/aarch64-fusion-pairs.def (cmp+csel): New entry. + (cmp+cset): Likewise. + * config/aarch64/tuning_models/neoversev2.h: Enable logic in + field fusible_ops. + +2024-07-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement + fusion logic. + * config/aarch64/aarch64-fusion-pairs.def (cmp+csel): New entry. + (cmp+cset): Likewise. + * config/aarch64/tuning_models/neoversev2.h: Enable logic in + field fusible_ops. + +2024-07-24 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/116035 + * config/riscv/bitmanip.md: Disable zero_extendsidi2_bitmanip + for XTheadMemIdx. + +2024-07-24 Lingling Kong <lingling.kong@intel.com> + + PR target/115978 + * config/i386/driver-i386.cc (host_detect_local_cpu): Enable + APX_F only for 64-bit codegen. + * config/i386/i386-options.cc (DEF_PTA): Skip PTA_APX_F if + not in 64-bit mode. + +2024-07-24 Pan Li <pan2.li@intel.com> + + PR target/115961 + * internal-fn.cc (type_strictly_matches_mode_p): Add new func + impl to check type strictly matches mode or not. + (type_pair_strictly_matches_mode_p): Ditto but for tree type + pair. + (direct_internal_fn_supported_p): Add above check for the tree + type pair. + +2024-07-23 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (get_type_num_reference_type): Handle rvalue refs. + (get_type_num_array_type): Add DW_TAG_rvalue_reference_type to switch. + (get_type_num): Handle DW_TAG_rvalue_reference_type DIEs. + * dwarf2codeview.h (CV_PTR_MODE_RVREF): Define. + +2024-07-23 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (get_type_num_reference_type): New function. + (get_type_num_array_type): Add DW_TAG_reference_type to switch. + (get_type_num): Handle DW_TAG_reference_type DIEs. + * dwarf2codeview.h (CV_PTR_MODE_LVREF): Define. + +2024-07-23 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/bitmanip.md: Fix splitter. + +2024-07-23 Marek Polacek <polacek@redhat.com> + + * doc/extend.texi: Add missing @option. + +2024-07-23 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * doc/extend.texi: Document [[musttail]] + +2024-07-23 Tobias Burnus <tburnus@baylibre.com> + + * doc/install.texi (amdgcn-x-amdhsa): Suggest newer git version + for newlib. + +2024-07-23 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/96866 + * config/rs6000/rs6000.cc (print_operand_address): Emit message for + unsupported operand. + +2024-07-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116002 + * tree-ssa-structalias.cc (topo_visit): Also consider + SCALAR = SCALAR complex constraints as edges. + +2024-07-23 Jakub Jelinek <jakub@redhat.com> + Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116034 + * tree-ssa.cc (maybe_rewrite_mem_ref_base): Only use IMAGPART_EXPR + if MEM_REF offset is equal to element type size. + +2024-07-23 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/116002 + * cselib.cc (cselib_hash_rtx): Use inchash to get proper mixing. + Consistently avoid a zero return value when hashing successfully. + Consistently treat a zero hash value from recursing as fatal. + Use hashval_t where appropriate. + (cselib_hash_plus_const_int): Likewise. + (new_cselib_val): Use hashval_t. + (cselib_lookup_1): Likewise. + +2024-07-23 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386.cc (ix86_hardreg_mov_ok): Relax mov subreg + to hard register after split1. + +2024-07-23 Kewen Lin <linkw@linux.ibm.com> + + PR target/115713 + * config/rs6000/rs6000.cc (rs6000_inner_target_options): Update option + set information for rs6000_opt_vars. + +2024-07-23 Kewen Lin <linkw@linux.ibm.com> + + PR target/115713 + * config/rs6000/rs6000.cc (rs6000_inner_target_options): Avoid to + enable altivec or disable avoid-indexed-addresses automatically + when they get specified explicitly. + +2024-07-23 Kewen Lin <linkw@linux.ibm.com> + + PR target/115713 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Emit error + messages when explicit VSX encounters explicit soft-float, no-altivec + or avoid-indexed-addresses. + +2024-07-23 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/i386.md (prefetchi): Change to %a. + +2024-07-23 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/115877 + * ext-dce.cc (ext_dce_process_sets): Reasonably handle input/output + operands. + (ext_dce_rd_transfer_n): Drop bogus assertion. + +2024-07-23 Pan Li <pan2.li@intel.com> + + * config/riscv/iterators.md (ANYI_DOUBLE_TRUNC): Add new iterator + for int double truncation. + (ANYI_DOUBLE_TRUNCATED): Add new attr for int double truncation. + (anyi_double_truncated): Ditto but for lowercase. + * config/riscv/riscv-protos.h (riscv_expand_ustrunc): Add new + func decl for expanding ustrunc + * config/riscv/riscv.cc (riscv_expand_ustrunc): Add new func + impl to expand ustrunc. + * config/riscv/riscv.md (ustrunc<mode><anyi_double_truncated>2): Impl + the new pattern ustrunc<m><n>2 for int. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/109985 + * ipa-modref.cc (modref_summary::useful_p): Fix handling of ECF_NOVOPS. + (modref_access_analysis::process_fnspec): Likevise. + (modref_access_analysis::analyze_call): Likevise. + (propagate_unknown_call): Likevise. + (modref_propagate_in_scc): Likevise. + (modref_propagate_flags_in_scc): Likewise. + (ipa_merge_modref_summary_after_inlining): Likewise. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/111613 + * ipa-modref.cc (analyze_parms): Do not preserve EAF_NO_DIRECT_READ and + EAF_NO_INDIRECT_READ from past flags. + +2024-07-22 Michael Meissner <meissner@linux.ibm.com> + + * config.gcc (powerpc*-*-*): Add support for power11. + * config/rs6000/aix71.h (ASM_CPU_SPEC): Add support for -mcpu=power11. + * config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise. + * config/rs6000/aix73.h (ASM_CPU_SPEC): Likewise. + * config/rs6000/driver-rs6000.cc (asm_names): Likewise. + * config/rs6000/ppc-auxv.h (PPC_PLATFORM_POWER11): New define. + * config/rs6000/rs6000-builtin.cc (cpu_is_info): Add power11. + * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define + _ARCH_PWR11 if -mcpu=power11. + * config/rs6000/rs6000-cpus.def (POWER11_MASKS_SERVER): New define. + (POWERPC_MASKS): Add power11. + (power11 cpu): Add power11 definition. + * config/rs6000/rs6000-opts.h (PROCESSOR_POWER11): Add power11 processor. + * config/rs6000/rs6000-string.cc (expand_compare_loop): Likewise. + * config/rs6000/rs6000-tables.opt: Regenerate. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Add power11 + support. + (rs6000_machine_from_flags): Likewise. + (rs6000_reassociation_width): Likewise. + (rs6000_adjust_cost): Likewise. + (rs6000_issue_rate): Likewise. + (rs6000_sched_reorder): Likewise. + (rs6000_sched_reorder2): Likewise. + (rs6000_register_move_cost): Likewise. + (rs6000_opt_masks): Likewise. + * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise. + * config/rs6000/rs6000.md (cpu attribute): Add power11. + * config/rs6000/rs6000.opt (-mpower11): Add internal power11 flag. + * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=power11. + * config/rs6000/power10.md (all reservations): Add power11 support. + +2024-07-22 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/115877 + * ext-dce.cc (ext_dce_process_sets): More correctly handle SUBREG + destinations. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/115033 + * ipa-modref.cc (modref_eaf_analysis::analyze_ssa_name): Fix checking of + EAF flags when analysing values dereferenced as function parameters. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/114207 + * ipa-prop.cc (unadjusted_ptr_and_unit_offset): Fix accounting of offsets in ADDR_EXPR. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/115277 + * ipa-icf-gimple.cc (func_checker::compare_loops): compare loop + bounds. + +2024-07-22 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/116009 + * rtl-ssa/accesses.cc (function_info::add_def): Set the root + local variable after removing the old clobber group. + +2024-07-22 Richard Sandiford <richard.sandiford@arm.com> + + * rtl-ssa/accesses.h (rtl_ssa::pp_def_splay_tree): Declare. + (dump, debug): Add overloads for def_splay_tree. + * rtl-ssa/accesses.cc (rtl_ssa::pp_def_splay_tree): New function. + (dump, debug): Add overloads for def_splay_tree. + +2024-07-22 Richard Sandiford <richard.sandiford@arm.com> + + PR target/115969 + * config/aarch64/aarch64.cc (aarch64_simd_mem_operand_p): Require + the operand to be a legitimate memory_operand. + +2024-07-22 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/115877 + * ext-dce.cc (group_limit): New function. + (mark_reg_live): Likewise. + (ext_dce_process_sets): Use new functions. + (ext_dce_process_uses): Likewise. + (ext_dce_init): Likewise. + +2024-07-22 Richard Biener <rguenther@suse.de> + + * fold-const.cc (operand_compare::hash_operand): Fix hash + of WIDEN_*_EXPR. + +2024-07-22 Richard Biener <rguenther@suse.de> + + * inchash.h (inchash::end): Make const. + (inchash::merge): Take const reference hash argument. + (inchash::add_commutative): Likewise. + +2024-07-22 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/115531 + * config/aarch64/aarch64.cc + (aarch64_conditional_operation_is_expensive): New. + (TARGET_VECTORIZE_CONDITIONAL_OPERATION_IS_EXPENSIVE): New. + +2024-07-22 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/115531 + * tree-vect-patterns.cc (vect_cond_store_pattern_same_ref): New. + (vect_recog_cond_store_pattern): New. + (vect_vect_recog_func_ptrs): Use it. + * target.def (conditional_operation_is_expensive): New. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Document it. + * targhooks.cc (default_conditional_operation_is_expensive): New. + * targhooks.h (default_conditional_operation_is_expensive): New. + +2024-07-21 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/115877 + * ext-dce.cc (safe_for_live_propagation): Handle RTX_CONST_OBJ. + +2024-07-21 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/115877 + * ext-dce.cc (ext_dce_process_uses): Restore the value of DST_MASK + for reach operand. + +2024-07-21 Sam James <sam@gentoo.org> + + * Makefile.in (NOCOMMON_FLAG): Delete. + (GCC_WARN_CFLAGS): Drop NOCOMMON_FLAG. + (GCC_WARN_CXXFLAGS): Drop NOCOMMON_FLAG. + * configure.ac: Ditto. + * configure: Regenerate. + +2024-07-21 Oleg Endo <olegendo@gcc.gnu.org> + + * config/sh/sh.md (mov_neg_si_t): Allow insn and split after + register allocation. + (*treg_noop_move): New insn. + +2024-07-20 Andi Kleen <ak@gcc.gnu.org> + + Revert: + 2024-07-20 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * doc/extend.texi: Document [[musttail]] + +2024-07-20 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_sym_type): Add new values. + (struct codeview_symbol): Add function to union. + (struct codeview_custom_type): Add lf_func_id to union. + (write_function): New function. + (write_codeview_symbols): Call write_function. + (write_lf_func_id): New function. + (write_custom_types): Call write_lf_func_id. + (add_function): New function. + (codeview_debug_early_finish): Call add_function. + +2024-07-20 André Maroneze <andre.maroneze@cea.fr> + + * doc/invoke.texi (Spec Files): Remove documentation of obsolete + spec strings "predefines" and "signed_char". + +2024-07-20 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * opt-suggestions.cc + (option_proposer::build_option_suggestions): Pull OPTB + definition out of the innermost loop. + +2024-07-20 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * doc/extend.texi: Document [[musttail]] + +2024-07-20 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch-protos.h + (loongarch_split_128bit_move): Delete. + (loongarch_split_128bit_move_p): Delete. + (loongarch_split_256bit_move): Delete. + (loongarch_split_256bit_move_p): Delete. + (loongarch_split_vector_move): Add a function declaration. + * config/loongarch/loongarch.cc + (loongarch_vector_costs::finish_cost): Adjust the code + formatting. + (loongarch_split_vector_move_p): Merge + loongarch_split_128bit_move_p and loongarch_split_256bit_move_p. + (loongarch_split_move_p): Merge code. + (loongarch_split_move): Likewise. + (loongarch_split_128bit_move_p): Delete. + (loongarch_split_256bit_move_p): Delete. + (loongarch_split_128bit_move): Delete. + (loongarch_split_vector_move): Merge loongarch_split_128bit_move + and loongarch_split_256bit_move. + (loongarch_split_256bit_move): Delete. + (loongarch_global_init): Remove the extra semicolon at the + end of the function. + * config/loongarch/loongarch.md (*movdf_softfloat): Added a new + condition TARGET_64BIT. + +2024-07-19 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/116003 + * value-relation.cc (equiv_oracle::register_initial_def): Check + if SSA_NAME is in the IL before registering. + +2024-07-19 Thomas Schwinge <tschwinge@baylibre.com> + + * passes.def: Rewrite usage comment at the top. + +2024-07-19 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/115406 + * fold-const.cc (native_encode_vector_part): For vector booleans, + check whether an element is nonzero and, if so, set all of the + correspending bits in the target image. + * simplify-rtx.cc (native_encode_rtx): Likewise. + +2024-07-19 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/builtins.def (MASK1): New DEF_BUILTIN. + * config/avr/avr.cc (avr_rtx_costs_1): Handle rtx costs for + expressions like __builtin_avr_mask1. + (avr_init_builtins) <uintQI_ftype_uintQI_uintQI>: New tree type. + (avr_expand_builtin) [AVR_BUILTIN_MASK1]: Diagnose unexpected forms. + (avr_fold_builtin) [AVR_BUILTIN_MASK1]: Handle case. + * config/avr/avr.md (gen_mask1): New expand helper. + (mask1_0x01_split, mask1_0x80_split, mask1_0xfe_split): New + insn-and-split. + (*mask1_0x01, *mask1_0x80, *mask1_0xfe): New insns. + * doc/extend.texi (AVR Built-in Functions) <__builtin_avr_mask1>: + Document new built-in function. + +2024-07-19 Cupertino Miranda <cupertino.miranda@oracle.com> + + * config/bpf/atomic.md (atomic_compare_and_swap, + atomic_exchange): Add operand modifier %M to the first + operand. + * config/bpf/bpf.cc (no_parentheses_mem_operand): Create + variable. + (bpf_print_operand): Set no_parentheses_mem_operand variable if + %M operand is used. + (bpf_print_operand_address): Conditionally output parentheses. + +2024-07-19 Pan Li <pan2.li@intel.com> + + PR target/115863 + * match.pd: Add single_use check for .SAT_TRUNC form 2. + +2024-07-18 René Rebe <rene@exactcode.de> + Peter Bergner <bergner@linux.ibm.com> + + PR target/97367 + * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Do not consider + OPTION_MASK_ALTIVEC. + (emit_asm_machine): For Altivec compiles, emit a ".machine altivec". + +2024-07-18 Marek Polacek <polacek@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + PR c++/115865 + * tree-eh.cc (get_eh_else): Check that the result of + gimple_seq_first_stmt is non-null. + +2024-07-18 LIU Hao <lh_mouse@126.com> + + PR rtl-optimization/115049 + * varasm.cc (decl_binds_to_current_def_p): Add a check for COMDAT + declarations too, like weak ones. + +2024-07-18 Richard Biener <rguenther@suse.de> + + PR middle-end/115641 + * fold-const.cc (decode_field_reference): If the inner + reference isn't something we can take the address of, fail. + +2024-07-18 Pan Li <pan2.li@intel.com> + + * doc/md.texi: Add Standard-Names ustrunc and sstrunc. + +2024-07-18 Rubin Gerritsen <rubin.gerritsen@gmail.com> + + * gimple-fold.cc (dump_transformation): Moved definition. + (replace_call_with_call_and_fold): Calls dump_transformation. + (gimple_fold_builtin_stxcpy_chk): Removes call to + dump_transformation, now in replace_call_with_call_and_fold. + (gimple_fold_builtin_stxncpy_chk): Removes call to + dump_transformation, now in replace_call_with_call_and_fold. + +2024-07-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104515 + * tree-ssa-loop-im.cc (execute_sm_exit): Add clobbers_to_prune + parameter and handle re-materializing of clobbers. + (sm_seq_valid_bb): end-of-storage/object clobbers are OK inside + an ordered sequence of stores. + (sm_seq_push_down): Refuse to push down clobbers. + (hoist_memory_references): Prune clobbers from the loop body + we re-materialized on an exit. + +2024-07-18 Roger Sayle <roger@nextmovesoftware.com> + + * match.pd ((FTYPE) N CMP CST): Only worry about exceptions with + flag_trapping_math, and about signaling NaNs with HONOR_SNANS. + +2024-07-18 Kyrylo Tkachov <ktkachov@nvidia.com> + + * doc/invoke.texi (AArch64 Options): Document rewriting of + -march=native to -mcpu=native. + +2024-07-18 liuhongt <hongtao.liu@intel.com> + + PR target/115843 + * config/i386/predicates.md (const0_or_m1_operand): New + predicate. + * config/i386/sse.md (*<avx512>_store<mode>_mask_1): New + pre_reload define_insn_and_split. + (V): Add V32BF,V16BF,V8BF. + (V4SF_V8BF): Rename to .. + (V24F_128): .. this. + (*vec_concat<mode>): Adjust with V24F_128. + (*vec_concat<mode>_0): Ditto. + +2024-07-18 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * calls.cc (initialize_argument_information): Mark messages + for translation. + (can_implement_as_sibling_call_p): Dito. + (expand_call): Dito. + +2024-07-18 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * tree-tailcall.cc (maybe_error_musttail): New function. + (suitable_for_tail_opt_p): Report error reason. + (suitable_for_tail_call_opt_p): Report error reason. + (find_tail_calls): Accept basic blocks with abnormal edges. + Delay reporting of errors until the call is discovered. + Move top level suitability checks to here. + (tree_optimize_tail_calls_1): Remove top level checks. + +2024-07-18 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * function.h (struct function): Add has_musttail. + * lto-streamer-in.cc (input_struct_function_base): Stream + has_musttail. + * lto-streamer-out.cc (output_struct_function_base): Dito. + * passes.def (pass_musttail): Add. + * tree-cfg.cc (notice_special_calls): Record has_musttail. + (clear_special_calls): Clear has_musttail. + * tree-pass.h (make_pass_musttail): Add. + * tree-tailcall.cc (find_tail_calls): Handle only_musttail + argument. + (tree_optimize_tail_calls_1): Pass on only_musttail. + (execute_tail_calls): Pass only_musttail as false. + (class pass_musttail): Add. + (make_pass_musttail): Add. + +2024-07-18 Andi Kleen <ak@linux.intel.com> + + PR target/115255 + * function.cc (thread_prologue_and_epilogue_insns): Check + cfun->tail_call_marked for sibcalls too. + (rest_of_handle_thread_prologue_and_epilogue): Dito. + +2024-07-18 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * calls.cc (maybe_complain_about_tail_call): Clear must tail + flag on error. + (expand_call): Give error messages for all musttail failures. + +2024-07-17 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115929 + * rtl-ssa/movement.h (canonicalize_move_range): Check for null prev + and next insns and create an invalid move range for them. + +2024-07-17 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115928 + * rtl-ssa/accesses.h (clobber_group): Add a new constructor that + takes the first, last and root clobbers. + * rtl-ssa/internals.inl (clobber_group::clobber_group): Define it. + * rtl-ssa/accesses.cc (function_info::split_clobber_group): Use it. + Allocate a new group for both sides and invalidate the previous group. + (function_info::add_def): After calling split_clobber_group, + remove the old group from the splay tree. + +2024-07-17 Richard Sandiford <richard.sandiford@arm.com> + + * genattrtab.cc (attr_desc::cxx_type): New field. + (write_attr_get, write_attr_value): Use it. + (gen_attr, find_attr, make_internal_attr): Initialize it, + dropping enum tags. + +2024-07-17 Eikansh Gupta <quic_eikagupt@quicinc.com> + + PR tree-optimization/111150 + * match.pd (`(a ? x : y) eq/ne (b ? x : y)`): New pattern. + (`(a ? x : y) eq/ne (b ? y : x)`): New pattern. + +2024-07-17 Andrew Pinski <quic_apinski@quicinc.com> + + * dbgcnt.def (ext_dce): New debug counter. + * ext-dce.cc (ext_dce_try_optimize_insn): Reject the insn + if the debug counter says so. + (ext_dce): Rename to ... + (ext_dce_execute): This. + (pass_ext_dce::execute): Update for the name of ext_dce. + +2024-07-17 Uros Bizjak <ubizjak@gmail.com> + + PR target/115526 + * config/alpha/alpha.md (movdi_er_high_g): Add cannot_copy attribute. + (movdi_er_tlsgd): Ditto. + (movdi_er_tlsldm): Ditto. + (call_value_osf_<tls>): Ditto. + +2024-07-17 Georg-Johann Lay <avr@gjlay.de> + + PR target/90616 + * config/avr/predicates.md (const_0mod256_operand): New predicate. + * config/avr/constraints.md (Cp8): New constraint. + * config/avr/avr.md (*aligned_add_symbol): New insn. + * config/avr/avr.cc (avr_out_plus_symbol) [HImode]: + When op2 is a multiple of 256, there is no need to add / subtract + the lo8 part. + (avr_rtx_costs_1) [PLUS && HImode]: Return expected costs for + new insn *aligned_add_symbol as it applies. + +2024-07-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/115887 + * gimple-lower-bitint.cc (gimple_lower_bitint): Use gsi_insert_on_edge + instead of gsi_insert_on_edge_immediate and set edge_insertions to + true. + +2024-07-17 Jakub Jelinek <jakub@redhat.com> + + * varasm.cc (default_elf_asm_output_ascii): Use ASM_OUTPUT_SKIP instead + of 2 or more default_elf_asm_output_limited_string (f, "") calls and + adjust base64 heuristics correspondingly. + +2024-07-17 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/115936 + * tree-scalar-evolution.cc (simple_iv_with_niters): Use sizetype for + pointers. + +2024-07-17 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/114440 + * tree-vectorizer.h (struct _stmt_vec_info): Add a new field + reduc_result_pos. + * tree-vect-loop.cc (vect_transform_reduction): Generate lane-reducing + statements in an optimized order. + +2024-07-17 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/114440 + * tree-vectorizer.h (vectorizable_lane_reducing): New function + declaration. + * tree-vect-stmts.cc (vect_analyze_stmt): Call new function + vectorizable_lane_reducing to analyze lane-reducing operation. + * tree-vect-loop.cc (vect_model_reduction_cost): Remove cost computation + code related to emulated_mixed_dot_prod. + (vectorizable_lane_reducing): New function. + (vectorizable_reduction): Allow multiple lane-reducing operations in + loop reduction. Move some original lane-reducing related code to + vectorizable_lane_reducing. + (vect_transform_reduction): Adjust comments with updated example. + +2024-07-17 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (vect_reduction_update_partial_vector_usage): + Calculate effective vector stmts number with generic + vect_get_num_copies. + (vect_transform_reduction): Insert copies for lane-reducing so as to + fix over-estimated vector stmts number. + (vect_transform_cycle_phi): Calculate vector PHI number only based on + output vectype. + * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): Remove + adjustment on vector stmts number specific to slp reduction. + +2024-07-17 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vectorizer.h (vect_get_num_copies): New overload function. + * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): Calculate + number of vector stmts for slp node with vect_get_num_copies. + (vect_slp_analyze_node_operations): Calculate number of vector elements + for constant/external slp node with vect_get_num_copies. + +2024-07-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115959 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): + Get at the REDUC_IDX child in a safer way for COND_EXPR + nodes. + +2024-07-17 Jakub Jelinek <jakub@redhat.com> + + PR other/115958 + * varasm.cc (default_elf_asm_output_ascii): Cast t - s to unsigned + to avoid -Wsign-compare warnings. + +2024-07-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/115527 + * gimple-fold.cc (clear_padding_flush): Introduce endsize + variable and use it instead of wordsize when comparing it against + nonzero_last. + (clear_padding_type): Increment off by sz. + +2024-07-17 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/rs6000.md (mov<mode>cc, *mov<mode>cc_p10, + *mov<mode>cc_invert_p10, *fpmask<mode>, *xxsel<mode>, + @ieee_128bit_vsx_abs<mode>2, *ieee_128bit_vsx_nabs<mode>2, + add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2, + copysign<mode>3, copysign<mode>3_hard, copysign<mode>3_soft, + @neg<mode>2_hw, @abs<mode>2_hw, *nabs<mode>2_hw, fma<mode>4_hw, + *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw, + extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw, + trunc<mode>sf2_hw, fix<uns>_<IEEE128:mode><SDI:mode>2_hw, + fix<uns>_trunc<IEEE128:mode><QHI:mode>2, + *fix<uns>_trunc<IEEE128:mode><QHSI:mode>2_mem, + float_<mode>di2_hw, float_<mode>si2_hw, + float<QHI:mode><IEEE128:mode>2, floatuns_<mode>di2_hw, + floatuns_<mode>si2_hw, floatuns<QHI:mode><IEEE128:mode>2, + floor<mode>2, ceil<mode>2, btrunc<mode>2, round<mode>2, + add<mode>3_odd, sub<mode>3_odd, mul<mode>3_odd, div<mode>3_odd, + sqrt<mode>2_odd, fma<mode>4_odd, *fms<mode>4_odd, *nfma<mode>4_odd, + *nfms<mode>4_odd, trunc<mode>df2_odd, *cmp<mode>_hw for IEEE128): + Remove guard FLOAT128_IEEE_P. + (@extenddf<mode>2_fprs, @extenddf<mode>2_vsx, + trunc<mode>df2_internal1, trunc<mode>df2_internal2, + fix_trunc_helper<mode>, neg<mode>2, *cmp<mode>_internal1, + *cmp<IBM128:mode>_internal2 for IBM128): Remove guard FLOAT128_IBM_P. + +2024-07-17 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (init_float128_ieee): Use trunc_optab rather + than sext_optab for converting FLOAT128_IBM_P mode to FLOAT128_IEEE_P + mode, and use sext_optab rather than trunc_optab for converting + FLOAT128_IEEE_P mode to FLOAT128_IBM_P mode. + (rs6000_expand_float128_convert): Likewise. + +2024-07-17 Kewen Lin <linkw@linux.ibm.com> + + PR target/112993 + * tree.cc (build_common_tree_nodes): Drop the workaround for rs6000 + KFmode precision adjustment. + +2024-07-17 Kewen Lin <linkw@linux.ibm.com> + + PR target/112993 + * value-range.h (range_compatible_p): Remove the workaround on + different type precision between _Float128 and long double. + +2024-07-17 Kewen Lin <linkw@linux.ibm.com> + + PR target/112993 + * config/rs6000/rs6000-modes.def (IFmode, KFmode, TFmode): Define + with FLOAT_MODE instead of FRACTIONAL_FLOAT_MODE, don't use special + precisions any more. + (rs6000-modes.h): Remove include. + * config/rs6000/rs6000-modes.h: Remove. + * config/rs6000/rs6000.h (rs6000-modes.h): Remove include. + * config/rs6000/t-rs6000: Remove rs6000-modes.h include. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace + all uses of FLOAT_PRECISION_TFmode with 128. + (rs6000_c_mode_for_floating_type): Likewise. + * config/rs6000/rs6000.md (define_expand extendiftf2): Remove. + (define_expand extendifkf2): Remove. + (define_expand extendtfkf2): Remove. + (define_expand trunckftf2): Remove. + (define_expand trunctfif2): Remove. + (define_expand extendtfif2): Add new assertion. + (define_expand expandkftf2): New. + (define_expand trunciftf2): Add new assertion. + (define_expand trunctfkf2): New. + (define_expand truncifkf2): Change with gcc_unreachable. + (define_expand expandkfif2): New. + (define_insn_and_split extendkftf2): Rename to ... + (define_insn_and_split *extendkftf2): ... this. + (define_insn_and_split trunctfkf2): Rename to ... + (define_insn_and_split *extendtfkf2): ... this. + +2024-07-17 Kewen Lin <linkw@linux.ibm.com> + + PR target/112993 + * expr.cc (convert_mode_scalar): Allow same precision conversion + between scalar floating point modes if whose underlying format is + ibm_extended_format or ieee_quad_format, and refactor assertion + with new lambda function acceptable_same_precision_modes. Use + trunc_optab rather than sext_optab for ibm128 to ieee128 conversion. + * optabs-libfuncs.cc (gen_trunc_conv_libfunc): Use trunc_optab rather + than sext_optab for ibm128 to ieee128 conversion. + +2024-07-17 Peter Bergner <bergner@linux.ibm.com> + + PR target/114759 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disallow + CPUs and ABIs that do no support the ROP protection insns. + * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Remove now + unneeded tests. + (rs6000_emit_prologue): Likewise. + Remove unneeded gcc_assert. + (rs6000_emit_epilogue): Likewise. + * config/rs6000/rs6000.md: Likewise. + +2024-07-17 Peter Bergner <bergner@linux.ibm.com> + + PR target/114759 + * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Use TARGET_POWER8. + (rs6000_emit_prologue): Likewise. + * config/rs6000/rs6000.md (hashchk): Likewise. + (hashst): Likewise. + Fix whitespace. + +2024-07-16 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/115951 + * range-op-ptr.cc (operator_equal::fold_range): Return a boolean + range with the requested type. + (operator_not_equal::fold_range): Likewise. + (operator_lt::fold_range): Likewise. + (operator_le::fold_range): Likewise. + (operator_gt::fold_range): Likewise. + (operator_ge::fold_range): Likewise. + +2024-07-16 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/115434 + PR c++/110871 + PR c++/110872 + * gimplify.cc (struct gimplify_ctx): Add a flag to show we are + expending a handler. + (gimplify_expr): When we are expanding a handler, and the body + transforms might have re-written DECL_RESULT into a gimple var, + ensure that hander references to DECL_RESULT are also re-written + to refer to the gimple var. When we are processing an EH_ELSE + expression, then add it if either of the cleanup slots is in + use. + +2024-07-16 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115929 + * rtl-ssa/insns.cc (function_info::remove_insn): Remove an + order_node from the instruction as well as from the splay tree. + +2024-07-16 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115901 + * recog.cc (insn_propagation::apply_to_rvalue_1): Restrict + paradoxical mode punning to cases where "to" is constant. + +2024-07-16 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115891 + * rtl-ssa/changes.cc (find_clobbered_access): New function. + (recog_level2): Use it to check for overlap between input + registers and hard-coded clobbers. Conditionally reset + recog_data.insn after changing the insn code. + +2024-07-16 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_out_minus): Assimilate into... + (avr_out_plus_ext): ...this new function. + (avr_adjust_insn_length) [ADJUST_LEN_PLUS_EXT]: Handle case. + (avr_rtx_costs_1) [PLUS, MINUS]: Adjust RTX costs. + * config/avr/avr.md (adjust_len) <plus_ext>: Add new attribute value. + (*addpsi3_zero_extend.hi_split): Assimilate... + (*addpsi3_zero_extend.qi_split): Assimilate... + (*addsi3_zero_extend_split): Assimilate... + (*addsi3_zero_extend.hi_split): Assimilate... + (*addpsi3_sign_extend.hi_split): Assimilate... + (*addhi3.sign_extend1_split): Assimilate... + (*add<PSISI:mode>3.<code>.<QIPSI:mode>_split): ...into this + new insn-and-split. + (*addpsi3_zero_extend.hi): Assimilate... + (*addpsi3_zero_extend.qi): Assimilate... + (*addsi3_zero_extend): Assimilate... + (*addsi3_zero_extend.hi): Assimilate... + (*addpsi3_sign_extend.hi): Assimilate... + (*addhi3.sign_extend1): Assimilate... + (*add<PSISI:mode>3.<code>.<QIPSI:mode>): ...into this new insn. + (*subpsi3_sign_extend.hi_split): Assimilate... + (*subhi3.sign_extend2_split): Assimilate... + (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>_split): Assimilate... + (*sub<HISI:mode>3.<code><QIPSI:mode>_split): ...into this new + insn-and-split. + (*subpsi3_sign_extend.hi): Assimilate... + (*subhi3.sign_extend2): Assimilate... + (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>): Assimilate... + (*sub<HISI:mode>3.<code>.<QIPSI:mode>): ...into this new insn. + (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>): Use avr_out_plus_ext + for asm out. + * config/avr/avr-protos.h (avr_out_minus): Remove. + (avr_out_plus_ext): New proto. + +2024-07-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115841 + * tree-vect-loop.cc (vect_transform_cycle_phi): Correctly + place the partial vector reduction for the accumulator + re-use when the main loop cannot be skipped but the + epilogue can. + +2024-07-16 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-protos.h (avr_emit_xior_with_shift): New proto. + * config/avr/avr.cc (avr_emit_xior_with_shift): New function. + * config/avr/avr.md (any_lshift): New code iterator. + (*<xior:code><mode>.<any_lshift:code>): New insn-and-split. + (<code><HISI:mode><QIPSI:mode>.0): Replaces... + (*<code_stdname><mode>qi.byte0): ...this one. + (*<xior:code><HISI:mode><QIPSI:mode>.<any_lshift:code>): Replaces... + (*<code_stdname><mode>qi.byte1-3): ...this one. + +2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/3931.md (vlbr, vstbr): Remove. + * config/s390/s390.md (xdee): Add FPRX2 mapping. + * config/s390/vector.md (bhfgq): Add TF mapping. + +2024-07-16 Richard Biener <rguenther@suse.de> + + * config/i386/x86-tune-costs.h (znver5_cost): Update unaligned + load and store cost from the aligned costs. + +2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + PR target/114189 + * config/s390/vector.md (V_HW2): Remove. + (vcond<V_HW:mode><V_HW2:mode>): Remove. + (vcondu<V_HW:mode><V_HW2:mode>): Remove. + +2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/vector.md: Enable vcond_mask for 128-bit ops. + +2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/vector.md (V_HW): Enable V1TI unconditionally and + add TI. + (vec_cmpu<VIT_HW:mode><VIT_HW:mode>): Add 128-bit integer + variants. + (*vec_cmpeq<mode><mode>_nocc_emu): Emulate operation. + (*vec_cmpgt<mode><mode>_nocc_emu): Emulate operation. + (*vec_cmpgtu<mode><mode>_nocc_emu): Emulate operation. + +2024-07-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115843 + * tree-vect-loop-manip.cc + (vect_set_loop_condition_partial_vectors_avx512): Properly + bias the shift of the initial mask for alignment peeling. + +2024-07-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115843 + * config/i386/x86-tune-costs.h (znver4_cost): Update unaligned + load and store cost from the aligned costs. + +2024-07-16 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/114661 + * match.pd ((X*C1)|(X*C2) to X*(C1+C2)): Allow optional useless + type conversions around multiplications, such as those inserted + by this transformation. + +2024-07-16 Hu, Lin1 <lin1.hu@intel.com> + + PR target/107432 + * config/i386/sse.md + (PMOV_SRC_MODE_3_AVX2): Add TARGET_AVX2 for V4DI and V8SI. + (PMOV_SRC_MODE_4): Add TARGET_AVX2 for V4DI. + (trunc<mode><pmov_dst_3_lower>2): Change constraint from TARGET_AVX2 to + TARGET_SSSE3. + (trunc<mode><pmov_dst_4_lower>2): Ditto. + (truncv2div2si2): Change constraint from TARGET_AVX2 to TARGET_SSE. + +2024-07-16 Jeff Law <jlaw@ventanamicro.com> + + * ext-dce.cc (ext_dce_process_uses): Simplify control flow and fix + liveness computation for shift/rotate counts. + +2024-07-15 Jeff Law <jlaw@ventanamicro.com> + + * ext-dce.cc (carry_backpropagate): Make return type unsigned as well. + Cast to signed for right shift to preserve sign bit. + +2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> + + Revert: + 2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): + Replace new + std::unique_ptr by alloca(). + (riscv_process_one_target_attr): Likewise. + (riscv_process_target_attr): Likewise. + +2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * common/config/riscv/riscv-common.cc (riscv_subset_list::add): + Allow adding enabled extension if m_allow_adding_dup is set. + * config/riscv/riscv-subset.h: Add m_allow_adding_dup and setter. + * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): + Allow adding enabled extensions. + +2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/115554 + PR target/115562 + * common/config/riscv/riscv-common.cc (struct riscv_func_target_info): + Remove. + (struct riscv_func_target_hasher): Likewise. + (riscv_func_decl_hash): Likewise. + (riscv_func_target_hasher::hash): Likewise. + (riscv_func_target_hasher::equal): Likewise. + (riscv_current_subset_list): Likewise. + (riscv_cmdline_subset_list): Remove obsolete space. + (riscv_func_target_table_lazy_init): Remove. + (riscv_func_target_get): Likewise. + (riscv_func_target_put): Likewise. + (riscv_func_target_remove_and_destory): Likewise. + (riscv_arch_str): Generate from cmdline_subset_list. + (riscv_set_arch_by_subset_list): Don't set current_subset_list. + (riscv_parse_arch_string): Remove current_subset_list. + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): + Get subset list via riscv_cmdline_subset_list(). + * config/riscv/riscv-subset.h (riscv_current_subset_list): + Remove prototype. + (riscv_func_target_get): Likewise. + (riscv_func_target_put): Likewise. + (riscv_func_target_remove_and_destory): Likewise. + * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): + Build base arch string from existing target options, if any. + (riscv_target_attr_parser::update_settings): Store new arch + string in target options. + (riscv_process_one_target_attr): Whitespace fix. + (riscv_process_target_attr): Drop opts argument. + (riscv_option_valid_attribute_p): Properly save, change and restore + target options. + * config/riscv/riscv.cc (get_arch_str): New function. + (riscv_declare_function_name): Get arch string for option-arch + directive from function's target options. + * config/riscv/riscv.opt: Add riscv_arch_string variable to + march option. + +2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): + Replace new + std::unique_ptr by alloca(). + (riscv_process_one_target_attr): Likewise. + (riscv_process_target_attr): Likewise. + +2024-07-15 Alexandre Oliva <oliva@adacore.com> + + PR target/113719 + * config/i386/i386-options.cc (ix86_option_override_internal): + Move flag_omit_frame_pointer final overrider... + (ix86_recompute_optlev_based_flags): ... here. + +2024-07-15 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md: Simplify mode usage. + (GET_MODE_SIZE (<MODE>mode)): Use <SIZE> instead. + (GET_MODE_BITSIZE (<MODE>mode) - 1): Use <MSB> instead. + (GET_MODE_MASK (QImode)): Use 0xff instead. + * config/avr/avr-fixed.md: Same. + +2024-07-15 Jakub Jelinek <jakub@redhat.com> + + * configure.ac (HAVE_GAS_BASE64): New check. + * config/elfos.h (BASE64_ASM_OP): Define if HAVE_GAS_BASE64 is + defined. + * varasm.cc (assemble_string): Bump maximum from 2000 to 16384 if + BASE64_ASM_OP is defined. + (default_elf_asm_output_limited_string): Emit opening '"' together + with STRING_ASM_OP. + (default_elf_asm_output_ascii): Use BASE64_ASM_OP if defined and + beneficial. Remove UB when last_null is NULL. + * configure: Regenerate. + * config.in: Regenerate. + +2024-07-15 liuhongt <hongtao.liu@intel.com> + + PR target/115872 + * tree-ssa-ccp.cc (convert_atomic_bit_not): Remove use_stmt after use_nop_stmt is removed. + (optimize_atomic_bit_test_and): Ditto. + +2024-07-15 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386.md (has_nf): New define_attr, add to all + nf related patterns. + * config/i386/i386-features.cc (apx_nf_convert): New function + to convert Non-NF insns to their NF counterparts. + (class pass_apx_nf_convert): New pass class. + (make_pass_apx_nf_convert): New. + * config/i386/i386-passes.def: Add pass_apx_nf_convert after + rtl_ifcvt. + * config/i386/i386-protos.h (make_pass_apx_nf_convert): Declare. + +2024-07-15 Monk Chiang <monk.chiang@sifive.com> + + * config/riscv/riscv.cc (riscv_print_operand): Add 'L' letter + to print zihintntl instructions string. + * config/riscv/riscv.md (prefetch): Add zihintntl instructions. + +2024-07-15 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/generic-vector-ooo.md: Add def_insn_reservation for vector BFloat16. + * config/riscv/riscv.md: Add new insn name for vector BFloat16. + * config/riscv/vector-iterators.md: Add some iterators for vector BFloat16. + * config/riscv/vector.md: Add some attribute for vector BFloat16. + * config/riscv/vector-bfloat16.md: New file. Add insn pattern vector BFloat16. + +2024-07-15 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/riscv-vector-builtins-bases.cc (class vfncvtbf16_f): + Add 'Zvfbfmin' intrinsic in bases. + (class vfwcvtbf16_f): Ditto. + (class vfwmaccbf16): Add 'Zvfbfwma' intrinsic in bases. + (BASE): Add BASE macro for 'Zvfbfmin' and 'Zvfbfwma'. + * config/riscv/riscv-vector-builtins-bases.h: Add declaration for 'Zvfbfmin' and 'Zvfbfwma'. + * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): + Add builtins def for 'Zvfbfmin' and 'Zvfbfwma'. + (vfncvtbf16_f): Ditto. + (vfncvtbf16_f_frm): Ditto. + (vfwcvtbf16_f): Ditto. + (vfwmaccbf16): Ditto. + (vfwmaccbf16_frm): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (supports_vectype_p): + Add vector intrinsic build judgment for BFloat16. + (build_all): Ditto. + (BASE_NAME_MAX_LEN): Adjust max length. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_F32_OPS): + Add new operand type for BFloat16. + (vfloat32mf2_t): Ditto. + (vfloat32m1_t): Ditto. + (vfloat32m2_t): Ditto. + (vfloat32m4_t): Ditto. + (vfloat32m8_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_F32_OPS): Ditto. + (validate_instance_type_required_extensions): + Add required_ext checking for 'Zvfbfmin' and 'Zvfbfwma'. + * config/riscv/riscv-vector-builtins.h (enum required_ext): + Add required_ext declaration for 'Zvfbfmin' and 'Zvfbfwma'. + (reqired_ext_to_isa_name): Ditto. + (required_extensions_specified): Ditto. + (struct function_group_info): Add match case for 'Zvfbfmin' and 'Zvfbfwma'. + * config/riscv/riscv.cc (riscv_validate_vector_type): + Add required_ext checking for 'Zvfbfmin' and 'Zvfbfwma'. + +2024-07-15 Hongyu Wang <hongyu.wang@intel.com> + + PR target/115889 + * config/i386/predicates.md (vcvtne2ps2bf_parallel): Remove. + * config/i386/sse.md (hi_cvt_bf): Remove. + (HI_CVT_BF): Likewise. + (vpermt2_sepcial_bf16_shuffle_<mode>):Likewise. + +2024-07-15 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/genrvv-type-indexer.cc (bfloat16_type): + Generate bf16 vector_type and scalar_type in DEF_RVV_TYPE_INDEX. + (bfloat16_wide_type): Ditto. + (same_ratio_eew_bf16_type): Ditto. + (main): Ditto. + * config/riscv/riscv-modes.def (ADJUST_BYTESIZE): + Add vector type for BFloat16. + (RVV_WHOLE_MODES): Add vector type for BFloat16. + (RVV_FRACT_MODE): Ditto. + (RVV_NF4_MODES): Ditto. + (RVV_NF8_MODES): Ditto. + (RVV_NF2_MODES): Ditto. + * config/riscv/riscv-vector-builtins-types.def (vbfloat16mf4_t): + Add builtin vector type for BFloat16. + (vbfloat16mf2_t): Add builtin vector type for BFloat16. + (vbfloat16m1_t): Ditto. + (vbfloat16m2_t): Ditto. + (vbfloat16m4_t): Ditto. + (vbfloat16m8_t): Ditto. + (vbfloat16mf4x2_t): Ditto. + (vbfloat16mf4x3_t): Ditto. + (vbfloat16mf4x4_t): Ditto. + (vbfloat16mf4x5_t): Ditto. + (vbfloat16mf4x6_t): Ditto. + (vbfloat16mf4x7_t): Ditto. + (vbfloat16mf4x8_t): Ditto. + (vbfloat16mf2x2_t): Ditto. + (vbfloat16mf2x3_t): Ditto. + (vbfloat16mf2x4_t): Ditto. + (vbfloat16mf2x5_t): Ditto. + (vbfloat16mf2x6_t): Ditto. + (vbfloat16mf2x7_t): Ditto. + (vbfloat16mf2x8_t): Ditto. + (vbfloat16m1x2_t): Ditto. + (vbfloat16m1x3_t): Ditto. + (vbfloat16m1x4_t): Ditto. + (vbfloat16m1x5_t): Ditto. + (vbfloat16m1x6_t): Ditto. + (vbfloat16m1x7_t): Ditto. + (vbfloat16m1x8_t): Ditto. + (vbfloat16m2x2_t): Ditto. + (vbfloat16m2x3_t): Ditto. + (vbfloat16m2x4_t): Ditto. + (vbfloat16m4x2_t): Ditto. + * config/riscv/riscv-vector-builtins.cc (check_required_extensions): + Add required_ext checking for BFloat16. + * config/riscv/riscv-vector-builtins.def (vbfloat16mf4_t): + Add vector_type for BFloat16 in builtins.def. + (vbfloat16mf4x2_t): Ditto. + (vbfloat16mf4x3_t): Ditto. + (vbfloat16mf4x4_t): Ditto. + (vbfloat16mf4x5_t): Ditto. + (vbfloat16mf4x6_t): Ditto. + (vbfloat16mf4x7_t): Ditto. + (vbfloat16mf4x8_t): Ditto. + (vbfloat16mf2_t): Ditto. + (vbfloat16mf2x2_t): Ditto. + (vbfloat16mf2x3_t): Ditto. + (vbfloat16mf2x4_t): Ditto. + (vbfloat16mf2x5_t): Ditto. + (vbfloat16mf2x6_t): Ditto. + (vbfloat16mf2x7_t): Ditto. + (vbfloat16mf2x8_t): Ditto. + (vbfloat16m1_t): Ditto. + (vbfloat16m1x2_t): Ditto. + (vbfloat16m1x3_t): Ditto. + (vbfloat16m1x4_t): Ditto. + (vbfloat16m1x5_t): Ditto. + (vbfloat16m1x6_t): Ditto. + (vbfloat16m1x7_t): Ditto. + (vbfloat16m1x8_t): Ditto. + (vbfloat16m2_t): Ditto. + (vbfloat16m2x2_t): Ditto. + (vbfloat16m2x3_t): Ditto. + (vbfloat16m2x4_t): Ditto. + (vbfloat16m4_t): Ditto. + (vbfloat16m4x2_t): Ditto. + (vbfloat16m8_t): Ditto. + (double_trunc_bfloat_scalar): Add scalar_type def for BFloat16. + (double_trunc_bfloat_vector): Add vector_type def for BFloat16. + * config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_ELEN_BF_16): + Add required defination of BFloat16 ext. + * config/riscv/riscv-vector-switch.def (ENTRY): + Add vector_type information for BFloat16. + (TUPLE_ENTRY): Add tuple vector_type information for BFloat16. + +2024-07-14 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-expand.cc (ix86_expand_fp_absneg_operator): + Use E_?Fmode enumeration constants in switch statement. + (ix86_expand_copysign): Likewise. + (ix86_expand_xorsign): Likewise. + +2024-07-14 Alejandro Colomar <alx@kernel.org> + + PR c/115185 + * doc/invoke.texi: Document the new + -Wunterminated-string-initialization. + +2024-07-14 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.cc (cris_option_override_after_change): Fix up + comment regarding disabling late_combine. + +2024-07-14 Hans-Peter Nilsson <hp@axis.com> + + * config/cris/cris.cc (cris_option_override_after_change): New + function. Disable late-combine by default. + (cris_option_override): Call the new function. + +2024-07-13 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (write_lf_modifier): Expand upon comment. + +2024-07-13 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (write_data_symbol): Add alignment directive. + +2024-07-13 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_leaf_type): Add padding constants. + (write_cv_padding): Use names for padding constants. + +2024-07-13 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (S_LDATA32, S_GDATA32, S_COMPILE3): Undefine. + (enum cv_sym_type): Define. + (struct codeview_symbol): Use enum cv_sym_type. + (write_codeview_symbols): Add default to switch. + +2024-07-13 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (enum cv_leaf_type): Define. + (struct codeview_subtype): Use enum cv_leaf_type. + (struct codeview_custom_type): Use enum cv_leaf_type. + (write_lf_fieldlist): Add default to switch. + (write_custom_types): Add default to switch. + * dwarf2codeview.h (LF_MODIFIER, LF_POINTER): Undefine. + (LF_PROCEDURE, LF_ARGLIST, LF_FIELDLIST, LF_BITFIELD): Likewise. + (LF_INDEX, LF_ENUMERATE, LF_ARRAY, LF_CLASS): Likewise. + (LF_STRUCTURE, LF_UNION, LF_ENUM, LF_MEMBER, LF_CHAR): Likewise. + (LF_SHORT, LF_USHORT, LF_LONG, LF_ULONG, LF_QUADWORD): Likewise. + (LF_UQUADWORD): Likewise. + +2024-07-13 David Malcolm <dmalcolm@redhat.com> + + * common.opt (fdiagnostics-show-highlight-colors): New option. + * common.opt.urls: Regenerate. + * coretypes.h (pp_markup::element): New forward decl. + (pp_element): New typedef. + * diagnostic-color.cc (gcc_color_defaults): Add "highlight-a" + and "highlight-b". + * diagnostic-format-json.cc (diagnostic_output_format_init_json): + Disable highlight colors. + * diagnostic-format-sarif.cc (diagnostic_output_format_init_sarif): + Likewise. + * diagnostic-highlight-colors.h: New file. + * diagnostic-path.cc (struct event_range): Pass nullptr for + highlight color of m_rich_loc. + * diagnostic-show-locus.cc (colorizer::set_range): Handle ranges + with m_highlight_color. + (colorizer::STATE_NAMED_COLOR): New. + (colorizer::m_richloc): New field. + (colorizer::colorizer): Add richloc param for initializing + m_richloc. + (colorizer::set_named_color): New. + (colorizer::begin_state): Add case STATE_NAMED_COLOR. + (layout::layout): Pass richloc to m_colorizer's ctor. + (selftest::test_one_liner_labels): Pass nullptr for new param of + gcc_rich_location ctor for labels. + (selftest::test_one_liner_labels_utf8): Likewise. + * diagnostic.h (diagnostic_context::set_show_highlight_colors): + New. + * doc/invoke.texi: Add option -fdiagnostics-show-highlight-colors + and highlight-a and highlight-b color caps. + * doc/ux.texi + (Use color consistently when highlighting mismatches): New + subsection. + * gcc-rich-location.cc (gcc_rich_location::add_expr): Add + "highlight_color" param. + (gcc_rich_location::maybe_add_expr): Likewise. + * gcc-rich-location.h (gcc_rich_location::gcc_rich_location): + Split out into a pair of ctors, where if a range_label is supplied + the caller must also supply a highlight color. + (gcc_rich_location::add_expr): Add "highlight_color" param. + (gcc_rich_location::maybe_add_expr): Likewise. + * gcc.cc (driver_handle_option): Handle + OPT_fdiagnostics_show_highlight_colors. + * lto-wrapper.cc (merge_and_complain): Likewise. + (append_compiler_options): Likewise. + (append_diag_options): Likewise. + (run_gcc): Likewise. + * opts-common.cc (decode_cmdline_options_to_array): Add comment + about -fno-diagnostics-show-highlight-colors. + * opts-global.cc (init_options_once): Preserve + pp_show_highlight_colors in case the global_dc's printer is + recreated. + * opts.cc (common_handle_option): Handle + OPT_fdiagnostics_show_highlight_colors. + (gen_command_line_string): Likewise. + * pretty-print-markup.h: New file. + * pretty-print.cc: Include "pretty-print-markup.h" and + "diagnostic-highlight-colors.h". + (pretty_printer::format): Handle %e. + (pretty_printer::pretty_printer): Handle new field + m_show_highlight_colors. + (pp_string_n): New. + (pp_markup::context::begin_quote): New. + (pp_markup::context::end_quote): New. + (pp_markup::context::begin_color): New. + (pp_markup::context::end_color): New. + (highlight_colors::expected): New. + (highlight_colors::actual): New. + (highlight_colors::lhs): New. + (highlight_colors::rhs): New. + (class selftest::test_element): New. + (selftest::test_pp_format): Add tests of %e. + (selftest::test_urlification): Likewise. + * pretty-print.h (pp_markup::context): New forward decl. + (class chunk_info): Add friend class pp_markup::context. + (class pretty_printer): Add friend pp_show_highlight_colors. + (pretty_printer::m_show_highlight_colors): New field. + (pp_show_highlight_colors): New inline function. + (pp_string_n): New decl. + * substring-locations.cc: Include "diagnostic-highlight-colors.h". + (format_string_diagnostic_t::highlight_color_format_string): New. + (format_string_diagnostic_t::highlight_color_param): New. + (format_string_diagnostic_t::emit_warning_n_va): Use highlight + colors. + * substring-locations.h + (format_string_diagnostic_t::highlight_color_format_string): New. + (format_string_diagnostic_t::highlight_color_param): New. + * toplev.cc (general_init): Initialize global_dc's + show_highlight_colors. + * tree-pretty-print-markup.h: New file. + +2024-07-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115868 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Correctly + compute the number of mask copies required for vect_record_loop_mask. + +2024-07-12 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (Community): Update lists.nongnu.org and + lists.gnu.org links. + +2024-07-12 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/115876 + * ext-dce.cc (carry_backpropagate): Make mask and mmask unsigned. + +2024-07-12 Marek Polacek <polacek@redhat.com> + + * doc/invoke.texi: Remove @opindex and @itemx for -fconcepts-ts. + +2024-07-12 Daniel Bertalan <dani@danielbertalan.dev> + + * value-pointer-equiv.cc: Change NULL to nullptr. + +2024-07-12 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115785 + * rtl-ssa/insns.h (insn_info::prev_insn_or_last_debug_insn) + (insn_info::next_nondebug_or_debug_insn): Remove typedefs. + (insn_info::m_prev_insn_or_last_debug_insn): Rename to... + (insn_info::m_prev_sametype_or_last_debug_insn): ...this. + * rtl-ssa/internals.inl (insn_info::insn_info): Update after + above renaming. + (insn_info::copy_prev_from): Likewise. + (insn_info::set_prev_sametype_insn): Likewise. + (insn_info::set_last_debug_insn): Likewise. + (insn_info::clear_insn_links): Likewise. + (insn_info::has_insn_links): Likewise. + * rtl-ssa/member-fns.inl (insn_info::prev_nondebug_insn): Likewise. + (insn_info::prev_any_insn): Fix moves from non-debug to debug insns. + +2024-07-12 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv-string.cc (emit_memcmp_scalar_load_and_compare): + Set RESULT directly rather than using a temporary. + (emit_memcmp_scalar_result_calculation): Similarly. + (riscv_expand_block_compare_scalar): Use CONST0_RTX rather than + generating new RTL. + * config/riscv/riscv.md (cmpmemsi): Pass an X mode temporary to the + expansion routines. If necessary extract low part of the word to store + in final result location. + +2024-07-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/2964.md: Remove extended mnemonics for vgm. + * config/s390/3906.md: Remove extended mnemonics for vgm. + * config/s390/3931.md: Remove extended mnemonics for vgm. + * config/s390/8561.md: Remove extended mnemonics for vgm. + * config/s390/constraints.md (jKK): Remove constraint. + (jzz): Add constraint. + * config/s390/s390-protos.h (s390_contiguous_bitmask_vector_p): + Add prototype. + (s390_constant_via_vgm_p): Add prototype. + (s390_constant_via_vrepi_p): Add prototype. + * config/s390/s390.cc (s390_contiguous_bitmask_vector_p): New + function. + (s390_constant_via_vgm_vrepi_helper): New function. + (s390_constant_via_vgm_p): New function. + (s390_constant_via_vgbm_p): For the sake of symmetry rename + s390_bytemask_vector_p into s390_constant_via_vgbm_p. + (s390_bytemask_vector_p): Deal with non-integer and partial + vectors. + (s390_constant_via_vrepi_p): New function. + (s390_legitimate_constant_p): Allow partial vectors. + (legitimate_reload_constant_p): Fix indentation. + (legitimate_reload_vector_constant_p): Restrict to constraints + j00, jm1, jxx, jyy, jzz only, i.e., allow partial vectors. + (s390_expand_vec_init): Also make use of vrepi if possible. + (print_operand): Add q,p,r for vgm,vrepi,vgbm, respectively. + Remove e,s,t for constant vectors. + * config/s390/s390.md (movti): Add variants utilizing + vgbm,vgm,vrepi. + * config/s390/vector.md (mov<mode><tf_vr>): Adapt variants + for vgbm,vgm,vrepi for the new scheme. + (mov<mode>): Adapt variants for vgbm,vgm for the new + scheme and add vrepi variant for modes V_8,V_16,V_32,V_64. + +2024-07-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/vector.md (mov<mode>): Fix output template for + movv1qi. + +2024-07-12 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + * config/i386/i386-expand.cc (ix86_broadcast_from_constant): + Use CONST_VECTOR_P instead of comparison against GET_CODE. + (ix86_gen_bcst_mem): Likewise. + (ix86_ternlog_leaf_p): Likewise. + (ix86_ternlog_operand_p): ix86_ternlog_leaf_p is always true for + vector_all_ones_operand. + (ix86_expand_ternlog_bin_op): Use CONST_VECTOR_P instead of + equality comparison against GET_CODE. Replace call to force_reg + with gen_reg_rtx and emit_move_insn (for VEC_DUPLICATE broadcast). + Check for !register_operand instead of memory_operand. + Support CONST_VECTORs by calling force_const_mem. + (ix86_expand_ternlog): Fix indentation whitespace. + Allow ix86_ternlog_leaf_p as ix86_expand_ternlog_andnot's second + operand. Use CONST_VECTOR_P instead of equality against GET_CODE. + Use gen_reg_rtx and emit_move_insn for ~a, ~b and ~c cases. + +2024-07-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/s390.md (*icjump_64): Allow raw CC comparisons, + i.e., any constant integer between 0 and 15 for CC comparisons. + +2024-07-12 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_process_one_target_attr) + (aarch64_process_target_attr): Avoid alloca. + +2024-07-12 Alexandre Oliva <oliva@adacore.com> + + PR target/115459 + * config/alpha/alpha.cc (alpha_expand_block_move): Adjust + MEMs to match inferred alignment. + +2024-07-12 YunQiang Su <yunqiang@isrc.iscas.ac.cn> + + PR target/115840 + * config/riscv/riscv.cc(riscv_preferred_else_value): Mark + tmp_var as NO_WARNING. + +2024-07-12 xuli <xuli1@eswincomputing.com> + + PR target/115862 + * config/riscv/riscv.cc (riscv_slow_unaligned_access): Disable vector misalign. + +2024-07-12 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc (riscv_implied_info): Add xsfvcp. + (riscv_ext_version_table): Add xsfvcp, xsfcease. + (riscv_ext_flag_table): Ditto. + * config/riscv/riscv.opt (riscv_sifive_subext): New. + (XSFVCP): New. + (XSFCEASE): New. + +2024-07-12 Kewen Lin <linkw@linux.ibm.com> + + PR target/115659 + * config/rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): Remove. + * config/rs6000/rs6000.cc (rs6000_emit_vector_cond_expr): Add static + qualifier as it is only called by rs6000_emit_swsqrt now. + * config/rs6000/vector.md (vcond<VEC_F:mode><VEC_F:mode>): Remove. + (vcond<VEC_I:mode><VEC_I:mode>): Remove. + (vcondv4sfv4si): Likewise. + (vcondv4siv4sf): Likewise. + (vcondv2dfv2di): Likewise. + (vcondv2div2df): Likewise. + (vcondu<VEC_I:mode><VEC_I:mode>): Likewise. + (vconduv4sfv4si): Likewise. + (vconduv2dfv2di): Likewise. + +2024-07-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115867 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Properly + guess the number of mask elements for integer mode masks. + +2024-07-12 Jeff Law <jlaw@ventanamicro.com> + + * config/m68k/m68k.md (extendsidi2): Add missing early clobbers. + +2024-07-12 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc + (loongarch_split_move): Delete. + (loongarch_hard_regno_mode_ok_uncached): Likewise. + * config/loongarch/loongarch.md + (move_doubleword_fpr<mode>): Likewise. + (load_low<mode>): Likewise. + (load_high<mode>): Likewise. + (store_word<mode>): Likewise. + (movgr2frh<mode>): Likewise. + (movfrh2gr<mode>): Likewise. + +2024-07-12 Lulu Cheng <chenglulu@loongson.cn> + + PR target/115752 + * config/loongarch/loongarch.cc + (loongarch_hard_regno_mode_ok_uncached): Replace + UNITS_PER_FPVALUE with UNITS_PER_HWFPVALUE. + * config/loongarch/loongarch.h (UNITS_PER_FPVALUE): Delete. + +2024-07-11 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv-string.cc + (emit_strcmp_scalar_compare_byte): Set RESULT directly rather + than using a new temporary. + (emit_strcmp_scalar_result_calculation_nonul): Likewise. + (emit_strcmp_scalar_result_calculation): Likewise. + (riscv_expand_strcmp_scalar): Use CONST0_RTX rather than + generating a new node. + (expand_strcmp): Copy directly from SUB to RESULT. + * config/riscv/riscv.md (cmpstrnsi, cmpstrsi): Pass an X + mode temporary to the expansion routines. If necessary + extract low part of the word to store in final result location. + +2024-07-11 Andrew Pinski <quic_apinski@quicinc.com> + + * value-range.h (class int_range): Mark as final. + (class prange): Likewise. + (class frange): Likewise. + +2024-07-11 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/115611 + * config/arm/mve.md (mve_vec_setv2di_internal): Fix printing of input + scalar register pair when lane = 1. + +2024-07-11 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115782 + * recog.cc (validate_change_1): Suppress early exit for no-op + changes that are part of a group. + +2024-07-11 Eric Botcazou <ebotcazou@adacore.com> + + * gimplify.cc (gimplify_scalar_mode_aggregate_compare): Add support + for ordering comparisons. + (gimplify_expr) <default>: Call gimplify_scalar_mode_aggregate_compare + only for integral scalar modes. + +2024-07-11 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-protos.h (avr_out_minus): New prototype. + * config/avr/avr.cc (avr_out_minus): New function. + * config/avr/avr.md (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>) + (*sub<HISI:mode>3.zero_extend.<QIPSI:mode>_split): New insns. + (*subpsi3_zero_extend.qi_split): Remove isns_and_split. + (*subpsi3_zero_extend.hi_split): Remove insn_and_split. + (*subhi3_zero_extend1_split): Remove insn_and_split. + (*subsi3_zero_extend_split): Remove insn_and_split. + (*subsi3_zero_extend.hi_split): Remove insn_and_split. + (*subpsi3_zero_extend.qi): Remove insn. + (*subpsi3_zero_extend.hi): Remove insn. + (*subhi3_zero_extend1): Remove insn. + (*subsi3_zero_extend): Remove insn. + (*subsi3_zero_extend.hi): Remove insn. + +2024-07-11 Jørgen Kvalsvik <j@lambda.is> + + * doc/gcov.texi: Add --include, --exclude, --match-on-demangled + documentation. + * gcov.cc (struct fnfilter): New. + (print_usage): Add --include, --exclude, -M, + --match-on-demangled. + (process_args): Likewise. + (release_structures): Release filters. + (read_graph_file): Only add function_infos matching filters. + (output_lines): Likewise. + +2024-07-11 Jørgen Kvalsvik <j@lambda.is> + + * gcov.cc (process_all_functions): Ensure fn.end_line is + included source[fn].lines. + +2024-07-11 Fei Gao <gaofei@eswincomputing.com> + + * common/config/riscv/riscv-common.cc: + c implies zca, and conditionally zcf & zcd. + +2024-07-10 Pan Li <pan2.li@intel.com> + + * tree-vect-patterns.cc (vect_recog_sat_sub_pattern_transform): + Add new func impl to perform the truncation distribution. + (vect_recog_sat_sub_pattern): Perform above optimize before + generate .SAT_SUB call. + +2024-07-10 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (ustruncdi<mode>2): Swap compare operands. + (ustruncsi<mode>2): Ditto. + (ustrunchiqi2): Ditto. + +2024-07-10 Marek Polacek <polacek@redhat.com> + + * doc/invoke.texi: Mention that -fconcepts-ts was removed. + +2024-07-10 Edwin Lu <ewlu@rivosinc.com> + + * common/config/riscv/riscv-common.cc: Add imply rules for B extension + * config/riscv/arch-canonicalize: Ditto + +2024-07-10 Richard Sandiford <richard.sandiford@arm.com> + + * internal-fn.cc (create_call_lhs_operand, assign_call_lhs): New + functions, split out from... + (expand_fn_using_insn): ...here. + (expand_load_lanes_optab_fn): Use them. + (expand_GOMP_SIMT_ENTER_ALLOC): Likewise. + (expand_GOMP_SIMT_LAST_LANE): Likewise. + (expand_GOMP_SIMT_ORDERED_PRED): Likewise. + (expand_GOMP_SIMT_VOTE_ANY): Likewise. + (expand_GOMP_SIMT_XCHG_BFLY): Likewise. + (expand_GOMP_SIMT_XCHG_IDX): Likewise. + (expand_partial_load_optab_fn): Likewise. + (expand_vec_cond_optab_fn): Likewise. + (expand_vec_cond_mask_optab_fn): Likewise. + (expand_RAWMEMCHR): Likewise. + (expand_gather_load_optab_fn): Likewise. + (expand_while_optab_fn): Likewise. + (expand_SPACESHIP): Likewise. + +2024-07-10 Richard Sandiford <richard.sandiford@arm.com> + + * recog.cc (insn_propagation::apply_to_rvalue_1): Handle simple + cases of hardreg propagation in which the register is set and + used in different modes. + +2024-07-10 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115785 + * rtl-ssa/functions.h (function_info::replace_nondebug_insn): Declare. + * rtl-ssa/insns.h (insn_info::order_node::set_uid): New function. + (insn_info::remove_note): Declare. + * rtl-ssa/insns.cc (insn_info::remove_note): New function. + (function_info::replace_nondebug_insn): Likewise. + * rtl-ssa/changes.cc (function_info::change_insns): Use + replace_nondebug_insn instead of remove_insn + add_insn. + +2024-07-10 Uros Bizjak <ubizjak@gmail.com> + + PR middle-end/115836 + * expmed.cc (emit_store_flag_1): Move calculation of + scode just before its only usage site. + +2024-07-10 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/arm-protos.h (arm_dllexport_name_p): Remove prototype. + (arm_dllimport_name_p): Likewise. + (arm_pe_unique_section): Likewise. + (arm_pe_encode_section_info): Likewise. + (arm_dllexport_p): Likewise. + (arm_dllimport_p): Likewise. + (arm_mark_dllexport): Likewise. + (arm_mark_dllimport): Likewise. + (arm_change_mode_p): Likewise. + * config/arm/arm.cc (arm_gnu_attributes): Remove attributes for ARM_PE. + (TARGET_ENCODE_SECTION_INFO): Remove setting for ARM_PE. + (is_called_in_ARM_mode): Remove ARM_PE conditional code. + (thumb1_output_interwork): Remove obsolete ARM_PE code. + (arm_encode_section_info): Remove surrounding #ifndef. + +2024-07-10 Prathamesh Kulkarni <prathameshk@nvidia.com> + + PR lto/115394 + * lto-streamer.h: Remove streamer_debugging definition. + * lto-streamer-out.cc (stream_write_tree_ref): Remove use of streamer_debugging. + (lto_output_tree): Likewise. + * tree-streamer-in.cc (streamer_read_tree_bitfields): Likewise. + (streamer_get_pickled_tree): Likewise. + * tree-streamer-out.cc (pack_ts_base_value_fields): Likewise. + +2024-07-10 Pan Li <pan2.li@intel.com> + + * match.pd: Add form 2 for .SAT_TRUNC. + * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): + Add new case NOP_EXPR, and try to match SAT_TRUNC. + +2024-07-10 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115721 + * tree-complex.cc (expand_complex_comparison): Remove + support for GIMPLE_RETURN. + +2024-07-10 Fei Gao <gaofei@eswincomputing.com> + + PR target/113715 + * config/riscv/riscv.cc (riscv_zcmp_can_use_popretz): Removed. + (riscv_gen_multi_pop_insn): Remove generation of cm.popretz. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtin.cc (altivec_expand_vec_init_builtin): + Remove the function. + (rs6000_expand_builtin): Remove the if bif_is_int check to call + the altivec_expand_vec_init_builtin function. + * config/rs6000/rs6000-builtins.def: Remove the attribute string + comment for init. + (__builtin_vec_init_v16qi, + __builtin_vec_init_v4sf, __builtin_vec_init_v4si, + __builtin_vec_init_v8hi, __builtin_vec_init_v1ti, + __builtin_vec_init_v2df, __builtin_vec_init_v2di, + __builtin_vec_set_v16qi, __builtin_vec_set_v4sf, + __builtin_vec_set_v4si, __builtin_vec_set_v8hi): Remove + built-in definitions. + * config/rs6000/rs6000-gen-builtins.cc: Remove comment for init + attribute string. + (struct attrinfo): Remove isinit entry. + (parse_bif_attrs): Remove the if statement to check for attribute + init. + (ifdef DEBUG): Remove print for init attribute string. + (write_decls): Remove print for define bif_init_bit and + define for bif_is_init. + (write_bif_static_init): Remove if bifp->attrs.isinit statement. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcmpeqsp_p): + Remove built-in definition. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-overload.def (vec_xxpermdi): Add new + overloaded built-in instances of vector signed and unsigned + int128. + * doc/extend.texi: Add documentation for built-in instances of + vector signed and unsigned int128. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvnegdp, + __builtin_vsx_xvnegsp): Remove built-in definitions. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_vperm_16qi_uns, + __builtin_vsx_vperm_1ti, __builtin_vsx_vperm_1ti_uns, + __builtin_vsx_vperm_2df, __builtin_vsx_vperm_2di, + __builtin_vsx_vperm_2di_uns, __builtin_vsx_vperm_4sf, + __builtin_vsx_vperm_4si, __builtin_vsx_vperm_4si_uns): Remove + built-in definitions and comments. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxsel_16qi, + __builtin_vsx_xxsel_16qi_uns, __builtin_vsx_xxsel_2df, + __builtin_vsx_xxsel_2di, __builtin_vsx_xxsel_2di_uns, + __builtin_vsx_xxsel_4sf, __builtin_vsx_xxsel_4si, + __builtin_vsx_xxsel_4si_uns, __builtin_vsx_xxsel_8hi, + __builtin_vsx_xxsel_8hi_uns): Remove built-in definitions. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxsel_1ti, + __builtin_vsx_xxsel_1ti_uns): Remove built-in definitions. + * config/rs6000/rs6000-overload.def (vec_sel): Add new + overloaded vector signed, unsigned and bool 128-bit definitions. + * doc/extend.texi (vec_sel): Add documentation for new instances + with signed, unsigned and bool 129-bit bool arguments. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxmrghw, + __builtin_vsx_xxmrghw_4si, __builtin_vsx_xxmrglw, + __builtin_vsx_xxmrglw_4si, __builtin_vsx_xxsel_16qi): Remove + built-in definition. + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): + remove case entries RS6000_BIF_XXMRGLW_4SI, + RS6000_BIF_XXMRGLW_4SF, RS6000_BIF_XXMRGHW_4SI, + RS6000_BIF_XXMRGHW_4SF. + * config/rs6000/vsx.md (vsx_xxmrghw_<mode>, vsx_xxmrglw_<mode>): + Remove unused define_expands. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcvspdp, + __builtin_vsx_xvcvdpsp, __builtin_vsx_xvcvsxwdp, + __builtin_vsx_xvcvuxddp_uns): Remove. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcvspsxds, + __builtin_vsx_xvcvspuxds): Rename to __builtin_vsignede_v4sf, + __builtin_vunsignede_v4sf respectively. + (XVCVSPSXDS, XVCVSPUXDS): Rename to VEC_VSIGNEDE_V4SF, + VEC_VUNSIGNEDE_V4SF respectively. + (__builtin_vsignedo_v4sf, __builtin_vunsignedo_v4sf): New + built-in definitions. + * config/rs6000/rs6000-overload.def (vec_signede, vec_signedo, + vec_unsignede, vec_unsignedo): Add new overloaded specifications. + * config/rs6000/vsx.md (vsignede_v4sf, vsignedo_v4sf, + vunsignede_v4sf, vunsignedo_v4sf): New define_expands. + * doc/extend.texi (vec_signedo, vec_signede, vec_unsignedo, + vec_unsignede): Add documentation for new overloaded built-ins to + convert vector float to vector {un,}signed long long. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_vunsigned_v2df, + __builtin_vsx_vunsigned_v4sf, __builtin_vsx_vunsignede_v2df, + __builtin_vsx_vunsignedo_v2df): Change the result type to unsigned. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcvspsxws, + __builtin_vsx_xvcvdpuxds_uns, __builtin_vsx_xvcvspuxws, + __builtin_vsx_xvcvdpsxws, __builtin_vsx_xvcvdpuxws): Remove + built-in definitions. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * config/rs6000/rs6000-builtin.cc (RS6000_BIF_CMPLE_16QI, + RS6000_BIF_CMPLE_U16QI, RS6000_BIF_CMPLE_8HI, + RS6000_BIF_CMPLE_U8HI, RS6000_BIF_CMPLE_4SI, RS6000_BIF_CMPLE_U4SI, + RS6000_BIF_CMPLE_2DI, RS6000_BIF_CMPLE_U2DI, RS6000_BIF_CMPLE_1TI, + RS6000_BIF_CMPLE_U1TI): Remove case statements. + * config/rs6000/rs6000-builtins.def (__builtin_vsx_cmple_16qi, + __builtin_vsx_cmple_2di, __builtin_vsx_cmple_4si, + __builtin_vsx_cmple_8hi, __builtin_vsx_cmple_u16qi, + __builtin_vsx_cmple_u2di, __builtin_vsx_cmple_u4si, + __builtin_vsx_cmple_u8hi): Remove buit-in definitions. + +2024-07-09 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (@cmp<mode>_1): Use SWI mode iterator. + (ustruncdi<mode>2): New expander. + (ustruncsi<mode>2): Ditto. + (ustrunchiqi2): Ditto. + +2024-07-09 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-path.cc: Replace "const diagnostic_path *" with + "const diagnostic_path &" throughout, and "diagnostic_context *" + with "diagnostic context &". + * diagnostic.cc (diagnostic_context::show_any_path): Pass + reference in call to print_path. + * diagnostic.h (diagnostic_context::print_path): Convert param + to a reference. + +2024-07-09 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/arm.cc (fp_consts_initited): Delete variable. + (value_fp0): Likewise. + (init_fp_table): Delete function. + (fp_const_from_val): Likewise. + (arm_const_double_rtx): Rework to avoid converting to REAL_VALUE_TYPE. + (arm_print_operand, case 'N'): Make use of this case an error. + +2024-07-09 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-target-attr.cc (riscv_process_target_attr): + Fix comments and variable names. + +2024-07-09 Christoph Müllner <christoph.muellner@vrull.eu> + + * common/config/riscv/riscv-common.cc (riscv_set_arch_by_subset_list): + Fix overlong line. + (riscv_parse_arch_string): Replace duplicated code by a call to + riscv_set_arch_by_subset_list. + +2024-07-09 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h (get_available_features): Correct + AVX10 CPUID emulation to specify ecx value. + +2024-07-09 liuhongt <hongtao.liu@intel.com> + + PR target/115796 + * config/i386/emmintrin.h (__float_u): Rename to .. + (__x86_float_u): .. this. + (_mm_load_sd): Ditto. + (_mm_store_sd): Ditto. + (_mm_loadh_pd): Ditto. + (_mm_loadl_pd): Ditto. + * config/i386/xmmintrin.h (__double_u): Rename to .. + (__x86_double_u): .. this. + (_mm_load_ss): Ditto. + (_mm_store_ss): Ditto. + +2024-07-08 Jeff Law <jlaw@ventanamicro.com> + + * Makefile.in (OBJS): Add ext-dce.o + * common.opt (ext-dce): Document new option. + * df-scan.cc (df_get_ext_block_use_set): Delete prototype and + make extern. + * df.h (df_get_exit_block_use_set): Prototype. + * ext-dce.cc: New file/pass. + * opts.cc (default_options_table): Handle ext-dce at -O2 or higher. + * passes.def: Add ext-dce before combine. + * tree-pass.h (make_pass_ext_dce): Prototype. + +2024-07-08 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg splitter to SImode): + New splitter. + (NEG and NOT splitter to SImode): Remove optimize_insn_for_size_p + predicate from insn condition. + +2024-07-08 Patrick O'Neill <patrick@rivosinc.com> + + * doc/invoke.texi: Remove trailing whitespace. + +2024-07-08 Levy Hsu <admin@levyhsu.com> + + * config/i386/i386-expand.cc (ix86_expand_fp_absneg_operator): Add VBF modes. + (ix86_expand_copysign): Ditto. + (ix86_expand_xorsign): Ditto. + * config/i386/i386.cc (ix86_build_const_vector): Ditto. + (ix86_build_signbit_mask): Ditto. + * config/i386/sse.md: Ditto. + +2024-07-08 Jeevitha Palanisamy <jeevitha@linux.ibm.com> + + PR target/110040 + * config/rs6000/vsx.md (split pattern for V1TI to DI move): New define. + +2024-07-08 Pan Li <pan2.li@intel.com> + + * config/riscv/autovec.md (ustrunc<mode><v_double_trunc>2): Add + new pattern for double truncation. + (ustrunc<mode><v_quad_trunc>2): Ditto but for quad truncation. + (ustrunc<mode><v_oct_trunc>2): Ditto but for oct truncation. + * config/riscv/riscv-protos.h (expand_vec_double_ustrunc): Add + new func decl to expand double vec ustrunc. + (expand_vec_quad_ustrunc): Ditto but for quad. + (expand_vec_oct_ustrunc): Ditto but for oct. + * config/riscv/riscv-v.cc (expand_vec_double_ustrunc): Add new + func impl to expand vector double ustrunc. + (expand_vec_quad_ustrunc): Ditto but for quad. + (expand_vec_oct_ustrunc): Ditto but for oct. + +2024-07-08 Fei Gao <gaofei@eswincomputing.com> + + * common/config/riscv/riscv-common.cc (riscv_subset_list::riscv_subset_list): + init m_subset_num to 0. + (riscv_subset_list::add): increase m_subset_num once a subset added. + (riscv_subset_list::finalize): call handle_implied_ext repeatly + until no change in m_subset_num. + * config/riscv/riscv-subset.h: add m_subset_num member. + +2024-07-08 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/115659 + * config/rs6000/rs6000-builtins.def: Update some bif expanders by + replacing orc<mode>3 with iorc<mode>3. + * config/rs6000/rs6000-string.cc (expand_cmp_vec_sequence): Update gen + function by replacing orc<mode>3 with iorc<mode>3. + * config/rs6000/rs6000.md (orc<mode>3): Rename to ... + (iorc<mode>3): ... this. + +2024-07-08 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/115659 + * doc/md.texi: Document andcm3 and iorcm3. + * gimple-isel.cc (gimple_expand_vec_cond_expr): Add more foldings for + patterns x CMP y ? 0 : z and x CMP y ? z : -1. + * internal-fn.def (BIT_ANDC): New internal function. + (BIT_IORC): Likewise. + * optabs.def (andc, iorc): New optab. + +2024-07-08 Kewen Lin <linkw@linux.ibm.com> + + PR target/115688 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Consider + explicit VSX when masking off ALTIVEC. + +2024-07-08 H.J. Lu <hjl.tools@gmail.com> + + * config/i386/i386.cc (ix86_print_operand): Always generate + branch hint for conditional branches. + * config/i386/i386.h (TARGET_BRANCH_PREDICTION_HINTS): Split + into .. + (TARGET_BRANCH_PREDICTION_HINTS_TAKEN): .. this, and .. + (TARGET_BRANCH_PREDICTION_HINTS_NOT_TAKEN): .. this. + * config/i386/x86-tune.def (X86_TUNE_BRANCH_PREDICTION_HINTS): + Split into .. + (X86_TUNE_BRANCH_PREDICTION_HINTS_TAKEN): .. this, and .. + (X86_TUNE_BRANCH_PREDICTION_HINTS_NOT_TAKEN): .. this. + +2024-07-07 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/bugreport.texi (Bug Criteria): Remove dubious example. + +2024-07-06 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md (bset splitters): Turn into define_and_splits. + Don't depend on combine splitting the "andn with constant" form. + (bset, binv, bclr with masked bit position): New patterns. + +2024-07-06 Jeff Law <jlaw@ventanamicro.com> + + * config/sh/sh.md (adddi3): Only allow matching when we can + still create new pseudos. + (subdi3, *rotcl, *rotcr, *rotcr_neg_t, negdi2): Likewise. + (abs<mode>2, negabs<mode>2, negdi_cond): Likewise. + (*swapbisi2_and_shl8, *swapbhisi2, *movsi_index_disp_load): Likewise. + (*movhi_index_disp_load, *mov<mode>index_disp_store): Likewise. + (*mov_t_msb_neg, *negt_msb, clipu_one): Likewise. + +2024-07-06 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md: Also split with avr_split_tiny_move() + for non-AVR_TINY. + * config/avr/avr.cc (avr_split_tiny_move): Don't change memory + references with base regs that can do PLUS addressing. + (avr_out_lpm_no_lpmx) [POST_INC]: Don't output final ADIW when the + address register is unused after. + +2024-07-06 Eric Botcazou <ebotcazou@adacore.com> + + PR target/115591 + * config/riscv/riscv.cc (riscv_valid_lo_sum_p): Add missing test on + tree_fits_uhwi_p before calling tree_to_uhwi. + +2024-07-06 Roger Sayle <roger@nextmovesoftware.com> + + PR target/115751 + * config/i386/i386-expand.cc (ix86_expand_ternlog): Avoid use of + force_reg to "reload" non-register operands, as these may contain + vec_duplicate (broadcast) operands that aren't supported by + force_reg. Use (safer) gen_reg_rtx and emit_move instead. + +2024-07-05 Iain Sandoe <iain@sandoe.co.uk> + + * config/i386/i386.cc (ix86_cannot_copy_insn_p): New. + (TARGET_CANNOT_COPY_INSN_P): New. + +2024-07-05 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/115153 + * config/arm/arm.cc (arm_legitimate_index_p): Move LDRD case before + NEON. + (thumb2_legitimate_index_p): Update comments. + (output_move_neon): Use DFmode for vldr/vstr and non-checking + adjust_address. + +2024-07-05 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec.md: Add TU policy. + * config/riscv/riscv-protos.h (enum insn_type): Define + SCALAR_MOVE_MERGED_OP_TU. + +2024-07-05 Georg-Johann Lay <avr@gjlay.de> + + PR target/87376 + * config/avr/avr-dimode.md: Use "nop_general_operand" instead + of "general_operand" as predicate for all input operands. + +2024-07-05 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64.cc (struct expand_vec_perm_d): Add zero_op0_p + and zero_op_p1. + (aarch64_evpc_tbl): Implement register value remapping. + (aarch64_vectorize_vec_perm_const): Detect if operand is a zero dup + before it's forced to a reg. + +2024-07-05 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-simd.md + (aarch64_simd_vec_unpack<su>_lo_<mode>): Remove. + (vec_unpack<su>_lo_<mode): Simplify. + * config/aarch64/aarch64.cc (aarch64_gen_shareable_zero): Update + comment. + +2024-07-05 Alex Coplan <alex.coplan@arm.com> + + * dominance.cc (dot_dominance_tree): New. + +2024-07-05 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/sse.md (ssedoublemode): Remove mappings to twice + the number of same-sized elements. Add mappings to the same + number of double-sized elements. + (define_split for vec_concat_minus_plus): Change mode_attr from + ssedoublemode to ssedoublevecmode. + (define_split for vec_concat_plus_minus): Ditto. + (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>): + Ditto. + (avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ditto. + (avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ditto. + (avx512f_shuf_<shuffletype>32x4_1<mask_name>): Ditto. + +2024-07-05 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips-protos.h: New function mips_msa_shf_i8. + * config/mips/mips-msa.md(MSA_WHB_W): Not used anymore; + (msa_shf_<msafmt_f>): Use mips_msa_shf_i8. + * config/mips/mips.cc(mips_const_vector_shuffle_set_p): + Support more cases try to use alien mode instruction; + (mips_msa_shf_i8): New function to get the correct MSA SHF + instruction and IMM. + +2024-07-05 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_instance): Special case + three input permute with the same number of lanes in store + permute lowering. + +2024-07-04 Siarhei Volkau <lis8215@gmail.com> + + * config/arm/arm.cc (thumb_load_double_from_address): Emit ldmia + when address reg rewritten by load. + * config/arm/thumb1.md (peephole2 to rewrite DI/DF load): New. + (peephole2 to rewrite DI/DF store): New. + * config/arm/iterators.md (DIDF): New. + +2024-07-04 Alfie Richards <alfie.richards@arm.com> + + PR target/114890 + * config/aarch64/aarch64-simd.md: Remove bigendian operand swap. + +2024-07-04 Richard Biener <rguenther@suse.de> + + PR middle-end/115426 + * gimplify.cc (gimplify_asm_expr): Handle "rm" output + constraint gimplified to a register (operation). + +2024-07-04 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (bswaphisi2_lowpart peephole2): New + peephole2 variant to eliminate register shuffling. + +2024-07-04 Jeff Law <jlaw@ventanamicro.com> + + * config/rx/rx.cc (rx_expand_prologue): Mark the copy from FP to SP + as frame related. + (rx_expand_epilogue): Mark the stack pointer adjustment as frame + related. + +2024-07-04 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386.cc (ix86_expand_prologue): Set apx_ppx_used + flag in m.fs with TARGET_APX_PPX && !crtl->calls_eh_return. + (ix86_emit_save_regs): Emit ppx is available only when + TARGET_APX_PPX && !crtl->calls_eh_return. + (ix86_expand_epilogue): Don't restore reg using mov when + apx_ppx_used flag is true. + * config/i386/i386.h (struct machine_frame_state): + Add apx_ppx_used flag. + +2024-07-04 Hu, Lin1 <lin1.hu@intel.com> + + PR tree-optimization/115753 + * tree-vect-stmts.cc (supportable_indirect_convert_operation): Add + TYPE_CODE check before SSA_NAME_RANGE_INFO. + +2024-07-03 Jeff Law <jlaw@ventanamicro.com> + + * reorg.cc (relax_delay_slots): Do not optimize a conditional + jump around an unconditional jump/return in the presence of + a text section switch. + +2024-07-03 John David Anglin <danglin@gcc.gnu.org> + + Revert: + 2023-10-05 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa32-linux.h (MALLOC_ABI_ALIGNMENT): Delete. + +2024-07-03 Palmer Dabbelt <palmer@rivosinc.com> + + * doc/invoke.texi: Describe -march behavior for dependent extensions on + RISC-V. + +2024-07-03 Gianluca Guida <gianluca@rivosinc.com> + Patrick O'Neill <patrick@rivosinc.com> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::to_string): Skip zabha when not supported by + the assembler. + * config.in: Regenerate. + * config/riscv/arch-canonicalize: Make zabha imply zaamo. + * config/riscv/iterators.md (amobh): Add iterator for amo + byte/halfword. + * config/riscv/riscv.opt: Add zabha. + * config/riscv/sync.md (atomic_<atomic_optab><mode>): Add + subword atomic op pattern. + (zabha_atomic_fetch_<atomic_optab><mode>): Add subword + atomic_fetch op pattern. + (lrsc_atomic_fetch_<atomic_optab><mode>): Prefer zabha over lrsc + for subword atomic ops. + (zabha_atomic_exchange<mode>): Add subword atomic exchange + pattern. + (lrsc_atomic_exchange<mode>): Prefer zabha over lrsc for subword + atomic exchange ops. + * configure: Regenerate. + * configure.ac: Add zabha assembler check. + * doc/sourcebuild.texi: Add zabha documentation. + +2024-07-03 Pan Li <pan2.li@intel.com> + + PR target/115763 + * config/riscv/vector.md (*pred_broadcast<mode>): Split into + zvfh and zvfhmin part. + (*pred_broadcast<mode>_zvfh): New define_insn for zvfh part. + (*pred_broadcast<mode>_zvfhmin): Ditto but for zvfhmin. + +2024-07-03 Pan Li <pan2.li@intel.com> + + * match.pd: Allow any otype is less than itype truncation. + +2024-07-03 Pan Li <pan2.li@intel.com> + + * tree-vect-patterns.cc (gimple_unsigned_integer_sat_trunc): Add + new decl generated by match. + (vect_recog_sat_trunc_pattern): Add new func impl to recog the + .SAT_TRUNC pattern. + +2024-07-03 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vectorizable_slp_permutation_1): Remove + redundant dump. + +2024-07-03 Jennifer Schmitz <jschmitz@nvidia.com> + + * match.pd: Fold x/sqrt(x) to sqrt(x). + +2024-07-03 Alexandre Oliva <oliva@adacore.com> + + * dwarf2out.cc (modified_type_die): Follow name's debug type. + +2024-07-03 Alexandre Oliva <oliva@adacore.com> + + PR target/113719 + * config/i386/i386-options.cc + (ix86_override_options_after_change_1): Add opts and opts_set + parms, operate on them, after factoring out of... + (ix86_override_options_after_change): ... this. Restore calls + of ix86_default_align and ix86_recompute_optlev_based_flags. + (ix86_option_override_internal): Call the factored-out bits. + +2024-07-03 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/115475 + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Define __ARM_FEATURE_SVE_BF16 for TARGET_SVE_BF16. + +2024-07-03 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/115457 + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Define __ARM_FEATURE_BF16 for TARGET_BF16_FP. + +2024-07-03 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (bst_traits::hash): Handle NULL elements + in SLP_TREE_SCALAR_STMTS. + (vect_print_slp_tree): Likewise. + (vect_mark_slp_stmts): Likewise. + (vect_mark_slp_stmts_relevant): Likewise. + (vect_find_last_scalar_stmt_in_slp): Likewise. + (vect_bb_slp_mark_live_stmts): Likewise. + (vect_slp_prune_covered_roots): Likewise. + (vect_bb_partition_graph_r): Likewise. + (vect_remove_slp_scalar_calls): Likewise. + (vect_slp_gather_vectorized_scalar_stmts): Likewise. + (vect_bb_slp_scalar_cost): Likewise. + (vect_contains_pattern_stmt_p): Likewise. + (vect_slp_convert_to_external): Likewise. + (vect_find_first_scalar_stmt_in_slp): Likewise. + (vect_optimize_slp_pass::remove_redundant_permutations): Likewise. + (vect_slp_analyze_node_operations_1): Likewise. + (vect_schedule_slp_node): Likewise. + * tree-vect-stmts.cc (can_vectorize_live_stmts): Likewise. + (vectorizable_shift): Likewise. + * tree-vect-data-refs.cc (vect_slp_analyze_load_dependences): + Handle NULL elements in SLP_TREE_SCALAR_STMTS. + +2024-07-03 Georg-Johann Lay <avr@gjlay.de> + + PR target/98762 + * config/avr/avr.cc (avr_out_movqi_r_mr_reg_disp_tiny): Properly + restore the base register when it is partially clobbered. + +2024-07-03 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114932 + * tree-ssa-loop-ivopts.cc (constant_multiple_of): Use + aff_combination_constant_multiple_p instead. + +2024-07-03 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114932 + * tree-affine.cc (wide_int_constant_multiple_p): Support 0 and 0 being + multiples. + +2024-07-03 Richard Sandiford <richard.sandiford@arm.com> + + * df.h (DF_LR_DCE): New df_problem_id. + (df_lr_dce): New macro. + * df-core.cc (rest_of_handle_df_finish): Check for a null free_fun. + * df-problems.cc (df_lr_finalize): Split out fast DCE handling to... + (df_lr_dce_finalize): ...this new function. + (problem_LR_DCE): New df_problem. + (df_lr_add_problem): Register LR_DCE rather than LR itself. + * dce.cc (fast_dce): Clear df_lr_dce->solutions_dirty. + +2024-07-02 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113859 + * config/aarch64/aarch64-simd.md (aarch64_<su>addlp<mode>): Rename to... + (@aarch64_<su>addlp<mode>): ... This. + (popcount<mode>2): New define_expand. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + * passes.def (expand_pow): Renamed from expand_powcabs. + * timevar.def (TV_TREE_POWCABS): Remove. + (TV_TREE_POW): Add + * tree-pass.h (make_pass_expand_powcabs): Rename to ... + (make_pass_expand_pow): This. + * tree-ssa-math-opts.cc (class pass_expand_powcabs): Rename to ... + (class pass_expand_pow): This. + (pass_expand_powcabs::execute): Rename to ... + (pass_expand_pow::execute): This. + (make_pass_expand_powcabs): Rename to ... + (make_pass_expand_pow): This. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-complex.cc (gimple_expand_builtin_cabs): Add + `cabs(a+ai)`, `cabs(x+0i)` and `cabs(0+xi)` optimizations. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115710 + * tree-complex.cc (init_dont_simulate_again): Handle CABS. + (gimple_expand_builtin_cabs): New function, moved mostly + from tree-ssa-math-opts.cc. + (expand_complex_operations_1): Call gimple_expand_builtin_cabs. + * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Remove. + (build_and_insert_binop): Remove. + (pass_data_expand_powcabs): Update comment. + (pass_expand_powcabs::execute): Don't handle CABS. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-complex.cc (expand_complex_addition): If both + operands have the same real and imag parts, only + add the addition once. + +2024-07-02 David Faust <david.faust@oracle.com> + + * common.opt.urls: Regenerate. + +2024-07-02 David Faust <david.faust@oracle.com> + Cupertino Miranda <cupertino.miranda@oracle.com> + + * btfout.cc (btf_mark_type_used): New. + * ctfc.h (btf_mark_type_used): Declare it here. + * config/bpf/bpf.cc (bpf_option_override): Enable -gprune-btf + by default if -gbtf is enabled. + * config/bpf/core-builtins.cc (extra_fn): New typedef. + (compute_field_expr): Add callback parameter, and call it if supplied. + Fix computation for MEM_REF. + (mark_component_type_as_used): New. + (bpf_mark_types_as_used): Likewise. + (bpf_expand_core_builtin): Call here. + * doc/invoke.texi (Debugging Options): Note that -gprune-btf is + enabled by default for BPF target when generating BTF. + +2024-07-02 David Faust <david.faust@oracle.com> + + * btfout.cc (btf_used_types): New hash set. + (struct btf_fixup): New. + (fixups, forwards): New vecs. + (btf_output): Calculate num_types depending on debug_prune_btf. + (btf_early_finsih): New initialization for debug_prune_btf. + (btf_add_used_type): New function. + (btf_used_type_list_cb): Likewise. + (btf_collect_pruned_types): Likewise. + (btf_add_vars): Handle special case for variables in ".maps" section + when generating BTF for BPF CO-RE target. + (btf_late_finish): Use btf_collect_pruned_types when debug_prune_btf + is in effect. Move some initialization to btf_early_finish. + (btf_finalize): Additional deallocation for debug_prune_btf. + * common.opt (gprune-btf): New flag. + * ctfc.cc (init_ctf_strtable): Make non-static. + * ctfc.h (init_ctf_strtable, ctfc_delete_strtab): Make extern. + * doc/invoke.texi (Debugging Options): Document -gprune-btf. + +2024-07-02 David Faust <david.faust@oracle.com> + + * btfout.cc (struct btf_datasec_entry): New. + (struct btf_datasec): Add `id' member. Change `entries' to use + new struct btf_datasec_entry. + (func_map): New hash_map. + (max_translated_id): New. + (btf_var_ids, btf_id_map, holes, voids, num_vars_added) + (num_types_added, num_types_created): Delete. + (btf_absolute_var_id, btf_relative_var_id, btf_absolute_func_id) + (btf_relative_func_id, btf_absolute_datasec_id, init_btf_id_map) + (get_btf_id, set_btf_id, btf_emit_id_p): Delete. + (btf_removed_type_p): Delete. + (btf_dtd_kind, btf_emit_type_p): New helpers. + (btf_fwd_to_enum_p, btf_calc_num_vbytes): Use them. + (btf_collect_datasec): Delete. + (btf_dtd_postprocess_cb, btf_dvd_emit_preprocess_cb) + (btf_dtd_emit_preprocess_cb, btf_emit_preprocess): Delete. + (btf_dmd_representable_bitfield_p): Adapt to type reference changes + and delete now-unused ctfc argument. + (btf_asm_datasec_type_ref): Delete. + (btf_asm_type_ref): Adapt to type reference changes, simplify. + (btf_asm_type): Likewise. Mark struct/union types with bitfield + members. + (btf_asm_array): Adapt to data structure changes. + (btf_asm_varent): Likewise. + (btf_asm_sou_member): Likewise. Ensure non-bitfield members are + correctly re-encoded if struct or union contains any bitfield. + (btf_asm_func_arg, btf_asm_func_type, btf_asm_datasec_entry) + (btf_asm_datasec_type): Adapt to data structure changes. + (output_btf_header): Adapt to other changes, simplify type + length calculation, add info to assembler comments. + (output_btf_vars): Adapt to other changes. + (output_btf_strs): Fix overlong lines. + (output_asm_btf_sou_fields, output_asm_btf_enum_list) + (output_asm_btf_func_args_list, output_asm_btf_vlen_bytes) + (output_asm_btf_type, output_btf_types, output_btf_func_types) + (output_btf_datasec_types): Adapt to other changes. + (btf_init_postprocess): Delete. + (btf_output): Change to only perform output. + (btf_add_const_void, btf_add_func_records): New. + (btf_early_finish): Use them here. New. + (btf_datasec_push_entry): Adapt to data structure changes. + (btf_datasec_add_func, btf_datasec_add_var): New. + (btf_add_func_datasec_entries): New. + (btf_emit_variable_p): New helper. + (btf_add_vars): Use it here. New. + (btf_type_list_cb, btf_collect_translated_types): New. + (btf_assign_func_ids, btf_late_assign_var_ids) + (btf_assign_datasec_ids): New. + (btf_finish): Remove unused argument. Call new btf_late* + functions and btf_output. + (btf_finalize): Adapt to data structure changes. + * ctfc.h (struct ctf_dtdef): Convert existing boolean flags to + BOOL_BITFIELD and reorder. + (struct ctf_dvdef): Add dvd_id member. + (btf_finish): Remove argument from prototype. + (get_btf_id): Delete prototype. + (funcs_traverse_callback, traverse_btf_func_types): Add an + explanatory comment. + * dwarf2ctf.cc (ctf_debug_finish): Remove unused argument. + * dwarf2ctf.h: Analogous change. + * dwarf2out.cc: Likewise. + +2024-07-02 David Faust <david.faust@oracle.com> + + * btfout.cc (BTF_VOID_TYPEID, BTF_INIT_TYPEID): Move defines to + include/btf.h. + (btf_dvd_emit_preprocess_cb, btf_emit_preprocess) + (btf_dmd_representable_bitfield_p, btf_asm_array, btf_asm_varent) + (btf_asm_sou_member, btf_asm_func_arg, btf_init_postprocess): + Adapt to structural changes in ctf_* structs. + * ctfc.h (struct ctf_dtdef): Add forward declaration. + (ctf_dtdef_t, ctf_dtdef_ref): Move typedefs earlier. + (struct ctf_arinfo, struct ctf_funcinfo, struct ctf_sliceinfo) + (struct ctf_itype, struct ctf_dmdef, struct ctf_func_arg) + (struct ctf_dvdef): Use pointers instead of type IDs for + references to other types and use typedefs where appropriate. + (struct ctf_dtdef): Add ref_type member. + (ctf_type_exists): Use pointer instead of type ID. + (ctf_add_reftype, ctf_add_enum, ctf_add_slice, ctf_add_float) + (ctf_add_integer, ctf_add_unknown, ctf_add_pointer) + (ctf_add_array, ctf_add_forward, ctf_add_typedef) + (ctf_add_function, ctf_add_sou, ctf_add_enumerator) + (ctf_add_variable): Likewise. Return pointer instead of ID. + (ctf_lookup_tree_type): Return pointer to type instead of ID. + * ctfc.cc: Analogous changes. + * ctfout.cc (ctf_asm_type, ctf_asm_slice, ctf_asm_varent) + (ctf_asm_sou_lmember, ctf_asm_sou_member, ctf_asm_func_arg) + (output_ctf_objt_info): Adapt to changes. + * dwarf2ctf.cc (gen_ctf_type, gen_ctf_void_type) + (gen_ctf_unknown_type, gen_ctf_base_type, gen_ctf_pointer_type) + (gen_ctf_subrange_type, gen_ctf_array_type, gen_ctf_typedef) + (gen_ctf_modifier_type, gen_ctf_sou_type, gen_ctf_function_type) + (gen_ctf_enumeration_type, gen_ctf_variable, gen_ctf_function) + (gen_ctf_type, ctf_do_die): Likewise. + * config/bpf/btfext-out.cc (struct btf_ext_core_reloc): Use + pointer instead of type ID. + (bpf_core_reloc_add, bpf_core_get_sou_member_index) + (output_btfext_core_sections): Adapt to above changes. + * config/bpf/core-builtins.cc (process_type): Likewise. + +2024-07-02 David Faust <david.faust@oracle.com> + + * btfout.cc (btf_init_postprocess): Rename to... + (btf_early_finish): ...this. + (btf_output): Rename to... + (btf_finish): ...this. + * ctfc.h: Analogous changes. + * dwarf2ctf.cc (ctf_debug_early_finish): Conditionally call + btf_early_finish, or ctf_finalize as appropriate. Emit BTF + here for LTO builds. + (ctf_debug_finish): Always call btf_finish here if generating + BTF info in non-LTO builds. + (ctf_debug_finalize, ctf_debug_init_postprocess): Delete. + * dwarf2out.cc (dwarf2out_early_finish): Remove call to + ctf_debug_init_postprocess. + +2024-07-02 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/115188 + * config/arm/arm.md (unaligned_loadsi): Use 'Uw' constraint and + 'mem_and_no_t1_wback_op'. + (unaligned_loadhiu): Likewise. + (unaligned_storesi): Likewise. + (unaligned_storehi): Likewise. + * config/arm/predicates.md (mem_and_no_t1_wback_op): Add new predicate. + * config/arm/sync.md (arm_atomic_load<mode>): Use 'Uw' constraint. + (arm_atomic_store<mode>): Likewise. + +2024-07-02 Matthew Malcomson <matthew.malcomson@arm.com> + + * doc/tm.texi: Regenerated. + * target.def (function_attribute_inlinable_p, + unspec_may_trap_p): Update documentation. + +2024-07-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115741 + * tree-vect-stmts.cc (get_group_load_store_type): Also + handle VMAT_CONTIGUOUS_REVERSE when determining overrun. + +2024-07-02 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn-opts.h (TARGET_GLOBAL_ADDRSPACE): New. + (TARGET_AVGPRS): New. + (TARGET_AVGPR_MEMOPS): New. + (TARGET_AVGPR_COMBINED): New. + (TARGET_FLAT_OFFSETS): New. + (TARGET_11BIT_GLOBAL_OFFSET): New. + (TARGET_CDNA2_MEM_COSTS): New. + (TARGET_WAVE64_COMPAT): New. + (TARGET_DPP_FULL): New. + (TARGET_DPP16): New. + (TARGET_DPP8): New. + (TARGET_AVGPR_CDNA1_NOPS): New. + (TARGET_VGPR_GRANULARITY): New. + (TARGET_ARCHITECTED_FLAT_SCRATCH): New. + (TARGET_EXPLICIT_CARRY): New. + (TARGET_MULTIPLY_IMMEDIATE): New. + (TARGET_SDWA): New. + (TARGET_WBINVL1_CACHE): New. + (TARGET_GLn_CACHE): New. + * config/gcn/gcn-valu.md (throughout): Change TARGET_GCN*, + TARGET_CDNA* and TARGET_RDNA* to use TARGET_<feature> instead. + * config/gcn/gcn.cc (throughout): Likewise. + * config/gcn/gcn.md (throughout): Likewise. + +2024-07-02 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (*imulhi<mode>zu): Added APX + NF support. + (*imulhi<mode>zu<nf_name>): New define_insn. + (*mulsi3_1_zext<nf_name>): Ditto. + (*mul<mode><dwi>3_1<nf_name>): Ditto. + (*<u>mulqihi3_1<nf_name>): Ditto. + (*mul<mode>3_1<nf_name>): Added APX NDD support. + (*mulv<mode>4): Ditto. + (*mulvhi4): Ditto. + +2024-07-02 Kewen Lin <linkw@linux.ibm.com> + + PR target/115739 + * config/sparc/vxworks.h (SPARC_LONG_DOUBLE_TYPE_SIZE): New define. + +2024-07-02 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_insn_cost): + New function. + (TARGET_INSN_COST): New macro. + +2024-07-02 Kewen Lin <linkw@linux.ibm.com> + + PR tree-optimization/115659 + * gimple-isel.cc (gimple_expand_vec_cond_expr): Add more foldings for + patterns x CMP y ? -1 : z and x CMP y ? z : 0. + +2024-07-01 Richard Biener <rguenther@suse.de> + + * tree-ssa-forwprop.cc (fwprop_set_lattice_val): Preserve + SSA info. + * tree-ssa-propagate.cc + (substitute_and_fold_dom_walker::before_dom_children): Likewise. + +2024-07-01 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (peephole2): Transform two consecutive + additions into a 3-component lea if !TARGET_AVOID_LEA_FOR_ADDR. + +2024-07-01 Georg-Johann Lay <avr@gjlay.de> + + PR target/88236 + PR target/115726 + * config/avr/avr.md (mov<mode>) [avr_mem_memx_p]: Expand in such a + way that the destination does not overlap with any hard register + clobbered / used by xload8qi_A resp. xload<mode>_A. + * config/avr/avr.cc (avr_out_xload): Avoid early-clobber + situation for Z by executing just one load when the output register + overlaps with Z. + +2024-07-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115723 + * tree-vect-loop.cc (check_reduction_path): For a .COND_ADD + verify the else value also refers to the reduction chain op. + +2024-07-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115694 + * tree-ssa-forwprop.cc (pass_forwprop::execute): Check the + store is complex before rewriting it. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115517 + * config/i386/mmx.md (vcond<mode>v2sf): Removed. + (vcond<MMXMODE124:mode><MMXMODEI:mode>): Ditto. + (vcond<mode><mode>): Ditto. + (vcondu<MMXMODE124:mode><MMXMODEI:mode>): Ditto. + (vcondu<mode><mode>): Ditto. + * config/i386/sse.md (vcond<V_512:mode><VF_512:mode>): Ditto. + (vcond<V_256:mode><VF_256:mode>): Ditto. + (vcond<V_128:mode><VF_128:mode>): Ditto. + (vcond<VI2HFBF_AVX512VL:mode><VHF_AVX512VL:mode>): Ditto. + (vcond<V_512:mode><VI_AVX512BW:mode>): Ditto. + (vcond<V_256:mode><VI_256:mode>): Ditto. + (vcond<V_128:mode><VI124_128:mode>): Ditto. + (vcond<VI8F_128:mode>v2di): Ditto. + (vcondu<V_512:mode><VI_AVX512BW:mode>): Ditto. + (vcondu<V_256:mode><VI_256:mode>): Ditto. + (vcondu<V_128:mode><VI124_128:mode>): Ditto. + (vcondu<VI8F_128:mode>v2di): Ditto. + (vcondeq<VI8F_128:mode>v2di): Ditto. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115517 + * config/i386/sse.md ("*ashr<mode>3_1"): New + define_insn_and_split. + (*avx512_ashr<mode>3_1): Ditto. + (*avx2_lshr<mode>3_1): Ditto. + (*avx2_lshr<mode>3_2): Ditto and add 2 combine splitter after + it. + * config/i386/mmx.md (mmxscalarsize): New mode attribute. + (*mmw_ashr<mode>3_1): New define_insn_and_split. + ("mmx_<insn><mode>3): Add a combine spiltter after it. + (*mmx_ashrv2hi3_1): New define_insn_and_plit, also add a + combine splitter after it. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115517 + * config/i386/sse.md + (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_lt_avx512): New + define_insn_and_split. + (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext_lt_avx512): + Ditto. + (*<sse2_avx2>_pmovmskb_lt_avx512): Ditto. + (*<sse2_avx2>_pmovmskb_zext_lt_avx512): Ditto. + (*sse2_pmovmskb_ext_lt_avx512): Ditto. + (*pmovsk_kmask_v16qi_avx512): Ditto. + (*pmovsk_mask_v32qi_avx512): Ditto. + (*pmovsk_mask_cmp_<mode>_avx512): Ditto. + (*pmovsk_ptest_<mode>_avx512): Ditto. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115517 + * config/i386/sse.md (*minmax<mode>3_1): New pre_reload + define_insn_and_split. + (*minmax<mode>3_2): Ditto. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115517 + * config/i386/sse.md + (*<avx512>_cvtmask2<ssemodesuffix><mode>_not): New pre_reload + splitter. + (*<avx512>_cvtmask2<ssemodesuffix><mode>_not): Ditto. + (*avx2_pcmp<mode>3_6): Ditto. + (*avx2_pcmp<mode>3_7): Ditto. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115517 + * config/i386/sse.md + (*<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>_gt): New + define_insn_and_split. + (*<sse4_1>_blendv<ssefltmodesuffix><avxsizesuffix>_gtint): + Ditto. + (*<sse4_1>_blendv<ssefltmodesuffix><avxsizesuffix>_not_gtint): + Ditto. + (*<sse4_1_avx2>_pblendvb_gt): Ditto. + (*<sse4_1_avx2>_pblendvb_gt_subreg_not): Ditto. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-features.cc (ix86_rpad_gate): New function. + * config/i386/i386-options.cc (ix86_override_options_after_change): + Don't disable flate_combine. + * config/i386/i386-passes.def: Move pass_stv2 and pass_rpad + after pre_reload pas_late_combine. + * config/i386/i386-protos.h (ix86_rpad_gate): New declare. + * config/i386/i386.cc (ix86_insn_cost): New function. + (TARGET_INSN_COST): Define. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115610 + * config/i386/i386.md (<*insnsi3_zext): Add alternative ?k, + enable it only for lshiftrt and under avx512bw. + * config/i386/sse.md (*klshrsi3_1_zext): New define_insn, and + add corresponding define_split after it. + +2024-06-30 John David Anglin <danglin@gcc.gnu.org> + + PR target/115691 + * config/pa/pa.md: Remove incorrect xmpyu patterns. + +2024-06-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115701 + * tree-ssanames.cc (maybe_duplicate_ssa_info_at_copy): + Only copy info from within the same BB. + +2024-06-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115701 + * tree-ssanames.h (maybe_duplicate_ssa_info_at_copy): Declare. + * tree-ssanames.cc (maybe_duplicate_ssa_info_at_copy): New + function, split out from ... + * tree-ssa-copy.cc (fini_copy_prop): ... here. + * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): ... + and here. + +2024-06-30 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_1): Compare + STMT_VINFO_REDUC_IDX. + (vect_build_slp_tree_2): Prevent operand swapping for + all stmts participating in a reduction. + +2024-06-30 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (vectorizable_reduction): Determine input vectype + during traversal of reduction statements. + +2024-06-30 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-stmts.cc (vectorizable_shift): Allow shift-by-induction + for single-lane slp node. + +2024-06-29 Maciej W. Rozycki <macro@orcam.me.uk> + + PR rtl-optimization/115565 + * cse.cc (record_jump_cond): Use INT_MIN rather than -1 for + `comparison_qty' if !REG_P. + +2024-06-29 Sergei Lewis <slewis@rivosinc.com> + + * config/riscv/riscv.md (movmem<mode>): New expander. + +2024-06-29 Pan Li <pan2.li@intel.com> + + * match.pd: Add imm form for .SAT_ADD matching. + * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): + Add .SAT_ADD matching under PLUS_EXPR. + +2024-06-29 Jeff Law <jlaw@ventanamicro.com> + + * config/mcore/mcore.md (zero_extendqihi2): Clobber CC in expander + and matching insn. + (zero_extendqisi2): Likewise. + +2024-06-28 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ssa_lazy_cache::ssa_lazy_cache): Relocate here. + Check for provided obstack. + (ssa_lazy_cache::~ssa_lazy_cache): Relocate here. Free bitmap or obstack. + * gimple-range-cache.h (ssa_lazy_cache::ssa_lazy_cache): Move. + (ssa_lazy_cache::~ssa_lazy_cache): Move. + (ssa_lazy_cache::m_ob): New. + * gimple-range.cc (dom_ranger::dom_ranger): Iniitialize obstack. + (dom_ranger::~dom_ranger): Release obstack. + (dom_ranger::pre_bb): Create ssa_lazy_cache using obstack. + * gimple-range.h (m_bitmaps): New. + +2024-06-28 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386-expand.cc (ix86_expand_move): Remove extra + assignment to tmp variable, reuse tmp variable instead of + declaring new temporary variable and remove tmp variable shadowing. + +2024-06-28 Jørgen Kvalsvik <j@lambda.is> + + * tree-profile.cc (find_conditions): Use auto_vec without + embedded storage. + +2024-06-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115652 + * tree-vect-slp.cc (vect_schedule_slp_node): Handle the case + where the outer loop header block is empty. + +2024-06-28 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + PR bootstrap/115635 + PR target/115643 + PR target/115661 + * config/aarch64/cygming.h + (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Rename to + PE_COFF_LEGITIMIZE_EXTERN_DECL. + (PE_COFF_LEGITIMIZE_EXTERN_DECL): Likewise. + * config/i386/cygming.h (GOT_ALIAS_SET): Remove the diffinition to + reuse it from i386.h. + (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Rename to + PE_COFF_LEGITIMIZE_EXTERN_DECL. + (PE_COFF_LEGITIMIZE_EXTERN_DECL): Likewise. + * config/i386/i386-expand.cc (ix86_expand_move): Return + ix86_GOT_alias_set. + * config/i386/i386-expand.h (ix86_GOT_alias_set): Likewise. + * config/i386/i386.cc (ix86_GOT_alias_set): Likewise. + * config/i386/i386.h (GOT_ALIAS_SET): Likewise. + * config/mingw/winnt-dll.cc (get_dllimport_decl): Use + GOT_ALIAS_SET. + (legitimize_pe_coff_symbol): Rename to + PE_COFF_LEGITIMIZE_EXTERN_DECL. + * config/mingw/winnt-dll.h (ix86_GOT_alias_set): Declare + ix86_GOT_alias_set. + +2024-06-28 Aldy Hernandez <aldyh@redhat.com> + + * range-op-ptr.cc (class hybrid_and_operator): Remove. + (class hybrid_or_operator): Same. + (class hybrid_min_operator): Same. + (class hybrid_max_operator): Same. + +2024-06-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115640 + * tree-vect-stmts.cc (vectorizable_load): With an inner + loop SLP access to not apply a gap adjustment. + +2024-06-28 Andrew Stubbs <ams@baylibre.com> + + PR target/115640 + * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Modify RDNA checks. + +2024-06-28 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.md (*concat<mode><dwi>3_3): Change zero_extend + to any_extend in first operand to left shift by mode precision. + (*concat<mode><dwi>3_4): Likewise. + (*concat<mode><dwi>3_6): Likewise. + +2024-06-28 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-expand.cc (ix86_ternlog_idx) <case VEC_DUPLICATE>: + Add a "goto do_mem_operand" as this need not match memory_operand. + <case CONST_VECTOR>: Only args[2] may be volatile memory operand. + Allow MEM/VEC_DUPLICATE/CONST_VECTOR as args[0] and args[1]. + +2024-06-27 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115677 + * late-combine.cc (pass_late_combine::gate): New function. + +2024-06-27 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + PR target/115634 + * config/s390/s390.cc (s390_decompose_addrstyle_without_index): + Check for ADDR_REGS in s390_decompose_addrstyle_without_index. + +2024-06-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115669 + * tree-vect-slp.cc (vect_build_slp_tree_2): Do not reassociate + chains that participate in a reduction. + +2024-06-27 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (update_list::update_list): Add m_bitmaps. + (update_list::~update_list): Initialize m_bitmaps. + * gimple-range-cache.h (ssa_lazy_cache): Add m_bitmaps. + * gimple-range.cc (enable_ranger): Remove global bitmap + initialization. + (disable_ranger): Remove global bitmap release. + +2024-06-27 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/sse.md + (float<floatunssuffix><sselongvecmodelower><mode>2<mask_name> + <round_name>): Refactor the pattern. + (unspec_fix<vcvtt_uns_suffix>_trunc<mode><sselongvecmodelower>2 + <mask_name><round_saeonly_name>): Ditto. + (fix<fixunssuffix>_trunc<mode><sselongvecmodelower>2<mask_name> + <round_saeonly_name>): Ditto. + * config/i386/subst.md (round_modev8sf_condition): Remove. + (round_saeonly_modev8sf_condition): Ditto. + +2024-06-27 Hu, Lin1 <lin1.hu@intel.com> + + PR target/107432 + * config/i386/i386-expand.cc (ix86_expand_trunc_with_avx2_noavx512f): + New function for generate a series of suitable insn. + * config/i386/i386-protos.h (ix86_expand_trunc_with_avx2_noavx512f): + Define new function. + * config/i386/sse.md: Extend trunc<mode><mode>2 for x86-64-v3. + (ssebytemode) Add V8HI. + (PMOV_DST_MODE_2_AVX2): New mode iterator. + (PMOV_SRC_MODE_3_AVX2): Ditto. + * config/i386/mmx.md + (trunc<mode><mmxhalfmodelower>2): Ditto. + (avx512vl_trunc<mode><mmxhalfmodelower>2): Ditto. + (truncv2si<mode>2): Ditto. + (avx512vl_truncv2si<mode>2): Ditto. + (mmxbytemode): New mode attr. + +2024-06-27 Hu, Lin1 <lin1.hu@intel.com> + + PR target/107432 + * config/i386/mmx.md + (VI2_32_64): New mode iterator. + (mmxhalfmode): New mode atter. + (mmxhalfmodelower): Ditto. + (truncv2hiv2qi2): Extend mode v4hi and change name from + truncv2hiv2qi to trunc<mode><mmxhalfmodelower>2. + +2024-06-27 Hu, Lin1 <lin1.hu@intel.com> + + PR target/107432 + * tree-vect-generic.cc + (expand_vector_conversion): Support convert for int -> int, + float -> float and int <-> float. + * tree-vect-stmts.cc (vectorizable_conversion): Wrap the + indirect convert part. + (supportable_indirect_convert_operation): New function. + * tree-vectorizer.h (supportable_indirect_convert_operation): + Define the new function. + +2024-06-27 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc (loongarch_print_operand_reloc): + Dedup and sort the comment describing modifiers. + +2024-06-27 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc: + (loongarch_use_bstrins_for_ior_with_mask): Split the main logic + into ... + (loongarch_use_bstrins_for_ior_with_mask_1): ... here. + (loongarch_rtx_costs): Special case for IOR those can be + implemented with bstrins. + +2024-06-27 liuhongt <hongtao.liu@intel.com> + + PR target/115462 + * config/i386/i386.cc (ix86_rtx_costs): Make cost of MEM (reg + + disp) just a little bit more than MEM (reg). + +2024-06-27 Pan Li <pan2.li@intel.com> + + * internal-fn.def (SAT_TRUNC): Add new signed IFN sat_trunc as + unary_convert. + * match.pd: Add new matching pattern for unsigned int sat_trunc. + * optabs.def (OPTAB_CL): Add unsigned and signed optab. + * tree-ssa-math-opts.cc (gimple_unsigend_integer_sat_trunc): Add + new decl for the matching pattern generated func. + (match_unsigned_saturation_trunc): Add new func impl to match + the .SAT_TRUNC. + (math_opts_dom_walker::after_dom_children): Add .SAT_TRUNC match + function under BIT_IOR_EXPR case. + +2024-06-27 Pan Li <pan2.li@intel.com> + + * match.pd: Add convert description for minus and capture. + * tree-vect-patterns.cc (vect_recog_build_binary_gimple_call): Add + new logic to handle in_type is incompatibile with out_type, as + well as rename from. + (vect_recog_build_binary_gimple_stmt): Rename to. + (vect_recog_sat_add_pattern): Leverage above renamed func. + (vect_recog_sat_sub_pattern): Ditto. + +2024-06-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115652 + * tree-vect-slp.cc (vect_schedule_slp_node): Only insert + at the start of the block if that strictly dominates + the discovered dependent stmt. + +2024-06-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115493 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Use + first scalar result. + +2024-06-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115629 + * tree-ssa-tail-merge.cc (gimple_equal_p): Handle + memory references better. + (deps_ok_for_redirect): Handle the case not both blocks + are considered a valid prevailing block. + +2024-06-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115652 + * tree-vect-slp.cc (vect_schedule_slp_node): Advance the + iterator based on last_stmt only for vector defs. + +2024-06-26 Jørgen Kvalsvik <j@lambda.is> + + * gcov-io.h (GCOV_ARC_TRUE): New. + (GCOV_ARC_FALSE): New. + * gcov.cc (struct arc_info): Add true_value, false_value. + (read_graph_file): Read true_value, false_value. + * profile.cc (branch_prob): Write GCOV_ARC_TRUE, GCOV_ARC_FALSE. + +2024-06-26 Jørgen Kvalsvik <j@lambda.is> + + * gcov.cc (print_usage): Reference masking MC/DC. + +2024-06-26 Jørgen Kvalsvik <j@lambda.is> + + * doc/gcov.texi: Add MC/DC section. + +2024-06-26 Jørgen Kvalsvik <j@lambda.is> + + * tree-profile.cc (find_conditions): Use auto_vec. + +2024-06-26 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/arm/arm.cc (arm_predict_doloop_p): Reject loops with function + calls that are not builtins. + +2024-06-26 Kyrylo Tkachov <ktkachov@nvidia.com> + + * config/aarch64/aarch64-cores.def (grace): New entry. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi (AArch64 Options): Document the above. + +2024-06-26 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + * config/i386/i386.cc (legitimize_dllimport_symbol): Remove unused + functions. + (legitimize_pe_coff_extern_decl): Likewise. + +2024-06-26 Kewen Lin <linkw@linux.ibm.com> + Xionghu Luo <xionghuluo@tencent.com> + + PR target/106069 + PR target/115355 + * config/rs6000/altivec.md (altivec_vmrghh_direct): Rename to ... + (altivec_vmrghh_direct_be): ... this. Add condition BYTES_BIG_ENDIAN. + (altivec_vmrghh_direct_le): New define_insn. + (altivec_vmrglh_direct): Rename to ... + (altivec_vmrglh_direct_be): ... this. Add condition BYTES_BIG_ENDIAN. + (altivec_vmrglh_direct_le): New define_insn. + (altivec_vmrghh): Adjust by calling gen_altivec_vmrghh_direct_be + for BE and gen_altivec_vmrglh_direct_le for LE. + (altivec_vmrglh): Adjust by calling gen_altivec_vmrglh_direct_be + for BE and gen_altivec_vmrghh_direct_le for LE. + (vec_widen_umult_hi_v16qi): Adjust the call to + gen_altivec_vmrghh_direct by gen_altivec_vmrghh for BE + and by gen_altivec_vmrglh for LE. + (vec_widen_smult_hi_v16qi): Likewise. + (vec_widen_umult_lo_v16qi): Adjust the call to + gen_altivec_vmrglh_direct by gen_altivec_vmrglh for BE + and by gen_altivec_vmrghh for LE. + (vec_widen_smult_lo_v16qi): Likewise. + * config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace + CODE_FOR_altivec_vmrghh_direct by + CODE_FOR_altivec_vmrghh_direct_be for BE and + CODE_FOR_altivec_vmrghh_direct_le for LE. And replace + CODE_FOR_altivec_vmrglh_direct by + CODE_FOR_altivec_vmrglh_direct_be for BE and + CODE_FOR_altivec_vmrglh_direct_le for LE. + +2024-06-26 Kewen Lin <linkw@linux.ibm.com> + Xionghu Luo <xionghuluo@tencent.com> + + PR target/106069 + PR target/115355 + * config/rs6000/altivec.md (altivec_vmrghb_direct): Rename to ... + (altivec_vmrghb_direct_be): ... this. Add condition BYTES_BIG_ENDIAN. + (altivec_vmrghb_direct_le): New define_insn. + (altivec_vmrglb_direct): Rename to ... + (altivec_vmrglb_direct_be): ... this. Add condition BYTES_BIG_ENDIAN. + (altivec_vmrglb_direct_le): New define_insn. + (altivec_vmrghb): Adjust by calling gen_altivec_vmrghb_direct_be + for BE and gen_altivec_vmrglb_direct_le for LE. + (altivec_vmrglb): Adjust by calling gen_altivec_vmrglb_direct_be + for BE and gen_altivec_vmrghb_direct_le for LE. + * config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace + CODE_FOR_altivec_vmrghb_direct by + CODE_FOR_altivec_vmrghb_direct_be for BE and + CODE_FOR_altivec_vmrghb_direct_le for LE. And replace + CODE_FOR_altivec_vmrglb_direct by + CODE_FOR_altivec_vmrglb_direct_be for BE and + CODE_FOR_altivec_vmrglb_direct_le for LE. + +2024-06-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115646 + * tree-call-cdce.cc (check_pow): Check for bit_sz values + as allowed by transform. + +2024-06-26 Haochen Gui <guihaoc@gcc.gnu.org> + + * builtins.cc (interclass_mathfn_icode): Set optab to isnormal_optab + for isnormal builtin. + * optabs.def (isnormal_optab): New. + * doc/md.texi (isnormal): Document. + +2024-06-26 Haochen Gui <guihaoc@gcc.gnu.org> + + * builtins.cc (interclass_mathfn_icode): Set optab to isfinite_optab + for isfinite builtin. + * optabs.def (isfinite_optab): New. + * doc/md.texi (isfinite): Document. + +2024-06-26 liuhongt <hongtao.liu@intel.com> + + PR target/114189 + * match.pd: Simplify a < 0 ? -1 : 0 to (signed) >> 31 and a < + 0 ? 1 : 0 to (unsigned) a >> 31 for vector integer type. + +2024-06-26 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (struct codeview_custom_type): Add lf_procedure + and lf_arglist to union. + (write_lf_procedure, write_lf_arglist): New functions. + (write_custom_types): Call write_lf_procedure and write_lf_arglist. + (get_type_num_subroutine_type): New function. + (get_type_num): Handle DW_TAG_subroutine_type DIEs. + * dwarf2codeview.h (LF_PROCEDURE, LF_ARGLIST): Define. + +2024-06-26 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (struct codeview_custom_type): Add lf_bitfield to + union. + (write_lf_bitfield): New function. + (write_custom_types): Call write_lf_bitfield. + (create_bitfield): New function. + (get_type_num_struct): Handle bitfields. + * dwarf2codeview.h (LF_BITFIELD): Define. + +2024-06-26 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS-libcommon): Add diagnostic-global-context.o. + * diagnostic-global-context.cc: New file, taken from material in + diagnostic.cc. + * diagnostic.cc (global_diagnostic_context): Move to + diagnostic-global-context.cc. + (global_dc): Likewise. + (verbatim): Likewise. + (emit_diagnostic): Likewise. + (emit_diagnostic_valist): Likewise. + (emit_diagnostic_valist_meta): Likewise. + (inform): Likewise. + (inform_n): Likewise. + (warning): Likewise. + (warning_at): Likewise. + (warning_meta): Likewise. + (warning_n): Likewise. + (pedwarn): Likewise. + (permerror): Likewise. + (permerror_opt): Likewise. + (error): Likewise. + (error_n): Likewise. + (error_at): Likewise. + (error_meta): Likewise. + (sorry): Likewise. + (sorry_at): Likewise. + (seen_error): Likewise. + (fatal_error): Likewise. + (internal_error): Likewise. + (internal_error_no_backtrace): Likewise. + (fnotice): Likewise. + (auto_diagnostic_group::auto_diagnostic_group): Likewise. + (auto_diagnostic_group::~auto_diagnostic_group): Likewise. + +2024-06-26 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-path.cc (class path_label): Add m_path field, + and use it to replace all uses of global_dc. + (event_range::event_range): Add "ctxt" param and use it to + construct m_path_label. + (event_range::maybe_add_event): Add "ctxt" param and pass it to + gcc_rich_location::add_location_if_nearby. + (path_summary::path_summary): Add "ctxt" param and pass it to + event_range::maybe_add_event. + (diagnostic_context::print_path): Pass *this to path_summary ctor. + (selftest::test_empty_path): Use "dc" when constructing + path_summary rather than implicitly using global_dc. + (selftest::test_intraprocedural_path): Likewise. + (selftest::test_interprocedural_path_1): Likewise. + (selftest::test_interprocedural_path_2): Likewise. + (selftest::test_recursion): Likewise. + (selftest::test_control_flow_1): Likewise. + (selftest::test_control_flow_2): Likewise. + (selftest::test_control_flow_3): Likewise. + (selftest::assert_cfg_edge_path_streq): Likewise. + (selftest::test_control_flow_5): Likewise. + (selftest::test_control_flow_6): Likewise. + (selftest::diagnostic_path_cc_tests): Eliminate use of global_dc. + * diagnostic-show-locus.cc + (gcc_rich_location::add_location_if_nearby): Add "ctxt" param and + use it instead of implicitly using global_dc. + (selftest::test_add_location_if_nearby): Use + test_diagnostic_context rather than implicitly using global_dc. + * diagnostic.cc (pedantic_warning_kind): Delete macro. + (permissive_error_kind): Delete macro. + (permissive_error_option): Delete macro. + (diagnostic_context::diagnostic_enabled): Remove use of + permissive_error_option. + (diagnostic_context::report_diagnostic): Remove use of + pedantic_warning_kind. + (diagnostic_impl): Convert to... + (diagnostic_context::diagnostic_impl): ...this. + (diagnostic_n_impl): Convert to... + (diagnostic_context::diagnostic_n_impl): ...this. + (emit_diagnostic): Explicitly use global_dc for method call. + (emit_diagnostic_valist): Likewise. + (emit_diagnostic_valist_meta): Likewise. + (inform): Likewise. + (inform_n): Likewise. + (warning): Likewise. + (warning_at): Likewise. + (warning_meta): Likewise. + (warning_n): Likewise. + (pedwarn): Likewise. + (permerror): Likewise. + (permerror_opt): Likewise. + (error): Likewise. + (error_n): Likewise. + (error_at): Likewise. + (error_meta): Likewise. + (sorry): Likewise. + (sorry_at): Likewise. + (fatal_error): Likewise. + (internal_error): Likewise. + (internal_error_no_backtrace): Likewise. + * diagnostic.h (diagnostic_context::diagnostic_impl): New decl. + (diagnostic_context::diagnostic_n_impl): New decl. + * gcc-rich-location.h (gcc_rich_location::add_location_if_nearby): + Add "ctxt" param. + +2024-06-26 David Malcolm <dmalcolm@redhat.com> + + PR testsuite/109360 + * doc/install.texi (Python3 modules): Update SARIF validation + requirement to use check-jsonschema rather than jsonschema. + +2024-06-25 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (struct codeview_custom_type): Add lf_array to + union. + (write_lf_array): New function. + (write_custom_types): Call write_lf_array. + (get_type_num_array_type): New function. + (get_type_num): Handle DW_TAG_array_type DIEs. + * dwarf2codeview.h (LF_ARRAY): Define. + +2024-06-25 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (write_lf_union): New function. + (write_custom_types): Call write_lf_union. + (add_struct_forward_def): Handle DW_TAG_union_type DIEs. + (get_type_num_struct): Handle unions. + (get_type_num): Handle DW_TAG_union_type DIEs. + * dwarf2codeview.h (LF_UNION): Define. + +2024-06-25 Sergei Lewis <slewis@rivosinc.com> + + * config/riscv/riscv-protos.h (riscv_vector::expand_vec_cmpmem): New + function declaration. + * config/riscv/riscv-string.cc (riscv_vector::expand_vec_cmpmem): New + function. + * config/riscv/riscv.md (cmpmemsi): Try riscv_vector::expand_vec_cmpmem + for constant lengths. + +2024-06-25 Andrew MacLeod <amacleod@redhat.com> + + * doc/invoke.texi (vrp-block-limit): Document. + * params.opt (param=vrp-block-limit): New. + * tree-vrp.cc (fvrp_folder::execute): Invoke fast_vrp if block + count exceeds limit. + +2024-06-25 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/111673 + * ira-color.cc (assign_hard_reg): Scale save/restore costs of + callee save registers with block frequency. + +2024-06-25 Jeff Law <jlaw@ventanamicro.com> + + * config/fr30/constraints.md (Q): Remove unused constraint. + * config/fr30/predicates.md (call_operand): Remove unused predicate. + * config/fr30/fr30.md (call, vall_value): Turn into expanders and + force the call address into a register. + (*call, *call_value): Adjust to only allow indirect calls. Adjust + output template accordingly. + +2024-06-25 Richard Sandiford <richard.sandiford@arm.com> + + * late-combine.cc (insn_combination::substitute_nondebug_use): + Reject second and subsequent uses if targetm.cannot_copy_insn_p + disallows copying. + +2024-06-25 Richard Biener <rguenther@suse.de> + + * gimple-range-gori.cc (gori_compute::may_recompute_p): + Call is_export_p with NULL bb. + +2024-06-25 Xi Ruoyao <xry111@xry111.site> + + * doc/rtl.texi (jump_table_data): Fix typos. + +2024-06-25 Richard Sandiford <richard.sandiford@arm.com> + + * dbgcnt.def (late_combine): New debug counter. + * late-combine.cc (insn_combination::run): Use it. + +2024-06-25 Eric Botcazou <ebotcazou@adacore.com> + + PR target/115608 + * config/sparc/linux64.h (CC1_SPEC): Pass -m32 for -mv8plus. + +2024-06-25 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/106594 + PR target/115622 + PR target/115633 + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move + default-disable of late-combine passes from here... + (rs6000_override_options_after_change): ... to here. + +2024-06-25 Richard Sandiford <richard.sandiford@arm.com> + + * expmed.cc (store_bit_field_using_insv): Revert earlier change + to use force_subreg instead of simplify_gen_subreg. + +2024-06-25 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.cc(mips_expand_vec_cond_expr): Add extra + argument to info that opernads[3] is cmp_res already. + * config/mips/mips-protos.h(mips_expand_vec_cond_expr): Ditto. + * config/mips/mips-msa.md(vcond_mask): Define new expand. + (vcondu): Use mips_expand_vec_cond_expr with 4th argument. + (vcond): Ditto. + +2024-06-25 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.md(conditional_trap_reg): Output $0 instead + of 0 if !ISA_HAS_COND_TRAPI. + +2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + * config.gcc: Add winnt-dll.o, which contains the DLL + import/export implementation. + * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): + Add dllimport implementation. + (aarch64_expand_call): Likewise. + (aarch64_legitimize_address): Likewise. + * config/aarch64/cygming.h (SYMBOL_FLAG_DLLIMPORT): Modify MinGW + environment to support DLL import/export. + (SYMBOL_FLAG_DLLEXPORT): Likewise. + (SYMBOL_REF_DLLIMPORT_P): Likewise. + (SYMBOL_FLAG_STUBVAR): Likewise. + (SYMBOL_REF_STUBVAR_P): Likewise. + (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Likewise. + (TARGET_ASM_FILE_END): Likewise. + (SUB_TARGET_RECORD_STUB): Likewise. + (GOT_ALIAS_SET): Likewise. + (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Likewise. + (HAVE_64BIT_POINTERS): Likewise. + +2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + * config/i386/cygming.h + (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Declare whether an + external declaration should be legitimized. + (HAVE_64BIT_POINTERS): Define whether the target supports 64-bit + pointers. + * config/mingw/mingw32.h (defined): Use the correct + DllMainCRTStartup entry function. + * config/mingw/winnt-dll.cc (defined): Exclude ix86-related code. + +2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + * config/aarch64/aarch64.cc: Extend the aarch64 attributes list. + * config/aarch64/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Define the + selectany attribute. + +2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + * config/i386/cygming.h (mingw_pe_record_stub): Rename functions + in mingw folder which will be reused for aarch64. + (TARGET_ASM_FILE_END): Update to new target-independent name. + (SUBTARGET_ATTRIBUTE_TABLE): Likewise. + (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Likewise. + (SUB_TARGET_RECORD_STUB): Likewise. + * config/i386/i386-protos.h (ix86_handle_selectany_attribute): + Likewise. + (mingw_handle_selectany_attribute): Likewise. + (i386_pe_valid_dllimport_attribute_p): Likewise. + (mingw_pe_valid_dllimport_attribute_p): Likewise. + (i386_pe_file_end): Likewise. + (mingw_pe_file_end): Likewise. + (i386_pe_record_stub): Likewise. + (mingw_pe_record_stub): Likewise. + * config/mingw/winnt.cc (ix86_handle_selectany_attribute): + Likewise. + (mingw_handle_selectany_attribute): Likewise. + (i386_pe_valid_dllimport_attribute_p): Likewise. + (mingw_pe_valid_dllimport_attribute_p): Likewise. + (i386_pe_record_stub): Likewise. + (mingw_pe_record_stub): Likewise. + (i386_pe_file_end): Likewise. + (mingw_pe_file_end): Likewise. + * config/mingw/winnt.h (mingw_handle_selectany_attribute): Declate + functionality that will be reused by multiple targets. + (mingw_pe_file_end): Likewise. + (mingw_pe_record_stub): Likewise. + (mingw_pe_valid_dllimport_attribute_p): Likewise. + +2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + * config.gcc: Add winnt-dll.o, which contains the DLL + import/export implementation. + * config/i386/cygming.h (SUB_TARGET_RECORD_STUB): Remove the + old implementation. Rename the required function to MinGW. + Use MinGW implementation for COFF and nothing otherwise. + (GOT_ALIAS_SET): Likewise. + * config/i386/i386-expand.cc (ix86_expand_move): Likewise. + * config/i386/i386-expand.h (ix86_GOT_alias_set): Likewise. + (legitimize_pe_coff_symbol): Likewise. + * config/i386/i386-protos.h (i386_pe_record_stub): Likewise. + * config/i386/i386.cc (is_imported_p): Likewise. + (legitimate_pic_address_disp_p): Likewise. + (ix86_GOT_alias_set): Likewise. + (legitimize_pic_address): Likewise. + (legitimize_tls_address): Likewise. + (struct dllimport_hasher): Likewise. + (GTY): Likewise. + (get_dllimport_decl): Likewise. + (legitimize_pe_coff_extern_decl): Likewise. + (legitimize_dllimport_symbol): Likewise. + (legitimize_pe_coff_symbol): Likewise. + (ix86_legitimize_address): Likewise. + * config/i386/i386.h (GOT_ALIAS_SET): Likewise. + * config/mingw/winnt.cc (i386_pe_record_stub): Likewise. + (mingw_pe_record_stub): Likewise. + * config/mingw/winnt.h (mingw_pe_record_stub): Likewise. + * config/mingw/t-cygming: Add the winnt-dll.o compilation. + * config/mingw/winnt-dll.cc: New file. + * config/mingw/winnt-dll.h: New file. + +2024-06-25 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + * config.gcc: Move mingw_* declations to mingw. + * config/aarch64/aarch64-protos.h + (mingw_pe_maybe_record_exported_symbol): Likewise. + (mingw_pe_section_type_flags): Likewise. + (mingw_pe_unique_section): Likewise. + (mingw_pe_encode_section_info): Likewise. + * config/aarch64/cygming.h + (mingw_pe_asm_named_section): Likewise. + (mingw_pe_declare_function_type): Likewise. + * config/i386/i386-protos.h + (mingw_pe_unique_section): Likewise. + (mingw_pe_declare_function_type): Likewise. + (mingw_pe_maybe_record_exported_symbol): Likewise. + (mingw_pe_encode_section_info): Likewise. + (mingw_pe_section_type_flags): Likewise. + (mingw_pe_asm_named_section): Likewise. + * config/mingw/winnt.h: New file. + +2024-06-25 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (struct codeview_type): Add is_fwd_ref member. + (struct codeview_subtype): Add lf_member to union. + (struct codeview_custom_type): Add lf_structure to union. + (struct codeview_deferred_type): New structure. + (deferred_types, last_deferred_type): New variables. + (get_type_num): Add new args to prototype. + (write_lf_fieldlist): Handle LF_MEMBER subtypes. + (write_lf_structure): New function. + (write_custom_types): Call write_lf_structure. + (get_type_num_pointer_type): Add in_struct argument. + (get_type_num_const_type): Likewise. + (get_type_num_volatile_type): Likewise. + (add_enum_forward_def): Fix get_type_num call. + (get_type_num_enumeration_type): Add in-struct argument. + (add_deferred_type, flush_deferred_types): New functions. + (add_struct_forward_def, get_type_num_struct): Likewise. + (get_type_num): Handle self-referential structs. + (add_variable): Fix get_type_num call. + (codeview_debug_early_finish): Call flush_deferred_types. + * dwarf2codeview.h (LF_CLASS, LF_STRUCTURE, LF_MEMBER): Define. + +2024-06-25 Kewen Lin <linkw@linux.ibm.com> + + * coretypes.h (enum tree_index): Forward declaration. + * defaults.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * doc/rtl.texi: Update document by replacing {FLOAT,DOUBLE}_TYPE_SIZE + with C type {float,double}. + * doc/tm.texi.in: Document new hook mode_for_floating_type, remove + document entries for {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE and + update document for WIDEST_HARDWARE_FP_SIZE. + * doc/tm.texi: Regenerate. + * emit-rtl.cc (init_emit_once): Replace DOUBLE_TYPE_SIZE by + calling targetm.c.mode_for_floating_type with TI_DOUBLE_TYPE. + * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use TYPE_PRECISION of + long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. + * system.h (FLOAT_TYPE_SIZE): Poison. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * target.def (mode_for_floating_type): New hook. + * targhooks.cc (default_mode_for_floating_type): New function. + (default_scalar_mode_supported_p): Update macros + {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE by calling + targetm.c.mode_for_floating_type with + TI_{FLOAT,DOUBLE,LONG_DOUBLE}_TYPE. + * targhooks.h (default_mode_for_floating_type): New declaration. + * tree-core.h (enum tree_index): Specify underlying type unsigned + to sync with forward declaration in coretypes.h. + (NUM_FLOATN_TYPES): Explicitly convert to int. + (NUM_FLOATNX_TYPES): Likewise. + (NUM_FLOATN_NX_TYPES): Likewise. + * tree.cc (build_common_tree_nodes): Update macros + {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE by calling + targetm.c.mode_for_floating_type with + TI_{FLOAT,DOUBLE,LONG_DOUBLE}_TYPE and set type mode accordingly. + * config/arc/arc.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/bpf/bpf.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/epiphany/epiphany.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/fr30/fr30.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/frv/frv.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/ft32/ft32.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/gcn/gcn.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/iq2000/iq2000.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/lm32/lm32.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/m32c/m32c.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/m32r/m32r.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/microblaze/microblaze.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/mmix/mmix.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/moxie/moxie.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/msp430/msp430.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/nds32/nds32.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/nios2/nios2.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/nvptx/nvptx.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/or1k/or1k.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/pdp11/pdp11.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/pru/pru.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/stormy16/stormy16.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/visium/visium.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/xtensa/xtensa.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/rs6000/rs6000.cc (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + (rs6000_c_mode_for_floating_type): New function. + * config/rs6000/rs6000.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/aarch64/aarch64.cc (aarch64_c_mode_for_floating_type): + New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/aarch64/aarch64.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/alpha/alpha.cc (alpha_c_mode_for_floating_type): New + function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/alpha/alpha.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/avr/avr.cc (avr_c_mode_for_floating_type): New + function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/avr/avr.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/i386/i386.cc (ix86_c_mode_for_floating_type): New + function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/i386/i386.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/ia64/ia64.cc (ia64_c_mode_for_floating_type): New + function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/ia64/ia64.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/riscv/riscv.cc (riscv_c_mode_for_floating_type): New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/riscv/riscv.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/rl78/rl78.cc (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + (rl78_c_mode_for_floating_type): New function. + * config/rl78/rl78.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/rx/rx.cc (rx_c_mode_for_floating_type): New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/rx/rx.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/s390/s390.cc (s390_c_mode_for_floating_type): New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/s390/s390.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/sh/sh.cc (sh_c_mode_for_floating_type): New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Remove. + * config/h8300/h8300.cc (h8300_c_mode_for_floating_type): New + function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/h8300/h8300.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Remove. + (LONG_DOUBLE_TYPE_SIZE): Remove. + (DOUBLE_TYPE_MODE): New macro. + * config/h8300/linux.h (DOUBLE_TYPE_SIZE): Remove. + (DOUBLE_TYPE_MODE): New macro. + * config/loongarch/loongarch.cc (loongarch_c_mode_for_floating_type): + New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/loongarch/loongarch.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Remove. + (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (LA_LONG_DOUBLE_TYPE_SIZE): ... this. + (UNITS_PER_FPVALUE): Replace LONG_DOUBLE_TYPE_SIZE with + LA_LONG_DOUBLE_TYPE_SIZE. + (MAX_FIXED_MODE_SIZE): Likewise. + (STRUCTURE_SIZE_BOUNDARY): Likewise. + (BIGGEST_ALIGNMENT): Likewise. + * config/m68k/m68k.cc (m68k_c_mode_for_floating_type): New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Remove. + (LONG_DOUBLE_TYPE_MODE): New macro. + * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Remove. + (LONG_DOUBLE_TYPE_MODE): New macro. + * config/mips/mips.cc (mips_c_mode_for_floating_type): New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + * config/mips/mips.h (UNITS_PER_FPVALUE): Replace LONG_DOUBLE_TYPE_SIZE + with MIPS_LONG_DOUBLE_TYPE_SIZE. + (MAX_FIXED_MODE_SIZE): Likewise. + (STRUCTURE_SIZE_BOUNDARY): Likewise. + (BIGGEST_ALIGNMENT): Likewise. + (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Remove. + (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (MIPS_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/mips/n32-elf.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (MIPS_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/pa/pa.cc (pa_c_mode_for_floating_type): New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + (pa_scalar_mode_supported_p): Rename FLOAT_TYPE_SIZE to + PA_FLOAT_TYPE_SIZE, rename DOUBLE_TYPE_SIZE to PA_DOUBLE_TYPE_SIZE + and rename LONG_DOUBLE_TYPE_SIZE to PA_LONG_DOUBLE_TYPE_SIZE. + * config/pa/pa.h (PA_FLOAT_TYPE_SIZE): New macro. + (PA_DOUBLE_TYPE_SIZE): Likewise. + (PA_LONG_DOUBLE_TYPE_SIZE): Likewise. + * config/pa/pa-64.h (FLOAT_TYPE_SIZE): Rename to ... + (PA_FLOAT_TYPE_SIZE): ... this. + (DOUBLE_TYPE_SIZE): Rename to ... + (PA_DOUBLE_TYPE_SIZE): ... this. + (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (PA_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/pa/pa-hpux.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (PA_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/sparc/sparc.cc (sparc_c_mode_for_floating_type): New function. + (TARGET_C_MODE_FOR_FLOATING_TYPE): New macro. + (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Likewise. + (LONG_DOUBLE_TYPE_SIZE): Likewise. + (sparc_type_code): Replace FLOAT_TYPE_SIZE with TYPE_PRECISION of + float_type_node. + * config/sparc/sparc.h (FLOAT_TYPE_SIZE): Remove. + (DOUBLE_TYPE_SIZE): Remove. + * config/sparc/freebsd.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/sparc/linux.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/sparc/linux64.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/sparc/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/sparc/openbsd64.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/sparc/sol2.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/sparc/sp-elf.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/sparc/sp64-elf.h (LONG_DOUBLE_TYPE_SIZE): Rename to ... + (SPARC_LONG_DOUBLE_TYPE_SIZE): ... this. + * config/bfin/bfin.h (FLOAT_TYPE_SIZE): Rename to ... + (BFIN_FLOAT_TYPE_SIZE): ... this. + (DOUBLE_TYPE_SIZE): Rename to ... + (BFIN_DOUBLE_TYPE_SIZE): ... this. + (LONG_DOUBLE_TYPE_SIZE): Remove. + (UNITS_PER_FLOAT): Replace FLOAT_TYPE_SIZE with BFIN_FLOAT_TYPE_SIZE. + (UNITS_PER_DOUBLE): Replace DOUBLE_TYPE_SIZE with + BFIN_DOUBLE_TYPE_SIZE. + +2024-06-25 Kewen Lin <linkw@linux.ibm.com> + + * config/vms/vms.cc (vms_patch_builtins): Use TYPE_PRECISION of + long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. + +2024-06-25 Andrew MacLeod <amacleod@redhat.com> + + * tree-vrp.cc (execute_fast_vrp): Do not use transitive relations. + * value-query.cc (range_query::create_relation_oracle): Add + parameter to enable transitive relations. + * value-query.h (range_query::create_relation_oracle): Likewise. + * value-relation.h (dom_oracle::dom_oracle): Likewise. + * value-relation.cc (dom_oracle::dom_oracle): Likewise. + (dom_oracle::register_transitives): Check transitive flag. + +2024-06-24 Sergei Lewis <slewis@rivosinc.com> + + * config/riscv/riscv-protos.h (riscv_vector::expand_vec_setmem): New + function declaration. + * config/riscv/riscv-string.cc (riscv_vector::expand_vec_setmem): New + function: this generates an inline vectorised memory set, if and only if + we know the entire operation can be performed in a single vector store. + * config/riscv/riscv.md (setmem<mode>): Try riscv_vector::expand_vec_setmem + for constant lengths. Do not require operand 2 to be a constant. + +2024-06-24 Patrick O'Neill <patrick@rivosinc.com> + + * doc/sourcebuild.texi (dg-remove-option): Add documentation. + (dg-add-option): Add documentation for riscv_{a,zaamo,zalrsc,ztso} + +2024-06-24 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/113673 + * gimple-ssa-store-merging.cc (find_bswap_or_nop_load): Make static. + (find_bswap_or_nop_1): Avoid transformations (load merging) when + stmt_can_throw_internal indicates that a statement can trap. + +2024-06-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115602 + * tree-vect-slp.cc (vect_cse_slp_nodes): Delay populating the + bst-map to avoid cycles. + +2024-06-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115528 + * tree-vect-data-refs.cc (vect_compute_data_ref_alignment): + Make sure to look at both the inner and outer loop step + behavior. + +2024-06-24 Pali Rohár <pali@kernel.org> + + * config/i386/mingw-w64.h (CPP_SPEC): Add missing -mcrtdll= + cases: msvcr40*, msvcrtd*. + * config/mingw/mingw32.h (CPP_SPEC): Add missing -mcrtdll= + cases: msvcr40*, msvcrtd*. + * doc/invoke.texi: Add missing -mcrtdll= cases: msvcr40*, + msvcrtd*, msvcr71*. Express wildcards with *. Document _UCRT. + +2024-06-24 Richard Sandiford <richard.sandiford@arm.com> + + * common.opt.urls: Regenerate. + +2024-06-24 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/106594 + PR rtl-optimization/114515 + PR rtl-optimization/114575 + PR rtl-optimization/114996 + PR rtl-optimization/115104 + * Makefile.in (OBJS): Add late-combine.o. + * common.opt (flate-combine-instructions): New option. + * doc/invoke.texi: Document it. + * opts.cc (default_options_table): Enable it by default at -O2 + and above. + * tree-pass.h (make_pass_late_combine): Declare. + * late-combine.cc: New file. + * passes.def: Add two instances of late_combine. + * doc/passes.texi: Document the new passes. + * config/i386/i386-options.cc (ix86_override_options_after_change): + Disable late-combine by default. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise. + * config/xtensa/xtensa.cc (xtensa_option_override): Likewise. + +2024-06-24 Richard Sandiford <richard.sandiford@arm.com> + + * rtl-ssa.h: Include predicates.h. + * rtl-ssa/predicates.h: New file. + * rtl-ssa/access-utils.h (prev_call_clobbers_ignoring): Rename to... + (prev_call_clobbers): ...this and treat the ignore parameter as an + object with the same interface as ignore_nothing. + (next_call_clobbers_ignoring): Rename to... + (next_call_clobbers): ...this and treat the ignore parameter as an + object with the same interface as ignore_nothing. + (first_nondebug_insn_use_ignoring): Rename to... + (first_nondebug_insn_use): ...this and treat the ignore parameter as + an object with the same interface as ignore_nothing. + (last_nondebug_insn_use_ignoring): Rename to... + (last_nondebug_insn_use): ...this and treat the ignore parameter as + an object with the same interface as ignore_nothing. + (last_access_ignoring): Rename to... + (last_access): ...this and treat the ignore parameter as an object + with the same interface as ignore_nothing. Conditionally skip + definitions. + (prev_access_ignoring): Rename to... + (prev_access): ...this and treat the ignore parameter as an object + with the same interface as ignore_nothing. + (first_def_ignoring): Replace with... + (first_access): ...this new function. + (next_access_ignoring): Rename to... + (next_access): ...this and treat the ignore parameter as an object + with the same interface as ignore_nothing. Conditionally skip + definitions. + * rtl-ssa/change-utils.h (insn_is_changing): Delete. + (restrict_movement_ignoring): Rename to... + (restrict_movement): ...this and treat the ignore parameter as an + object with the same interface as ignore_nothing. + (recog_ignoring): Rename to... + (recog): ...this and treat the ignore parameter as an object with + the same interface as ignore_nothing. + * rtl-ssa/changes.h (insn_is_changing_closure): Delete. + * rtl-ssa/functions.h (function_info::add_regno_clobber): Treat + the ignore parameter as an object with the same interface as + ignore_nothing. + * rtl-ssa/insn-utils.h (insn_is): Delete. + * rtl-ssa/insns.h (insn_is_closure): Delete. + * rtl-ssa/member-fns.inl + (insn_is_changing_closure::insn_is_changing_closure): Delete. + (insn_is_changing_closure::operator()): Likewise. + (function_info::add_regno_clobber): Treat the ignore parameter + as an object with the same interface as ignore_nothing. + (ignore_changing_insns::ignore_changing_insns): New function. + (ignore_changing_insns::should_ignore_insn): Likewise. + * rtl-ssa/movement.h (restrict_movement_for_dead_range): Treat + the ignore parameter as an object with the same interface as + ignore_nothing. + (restrict_movement_for_defs_ignoring): Rename to... + (restrict_movement_for_defs): ...this and treat the ignore parameter + as an object with the same interface as ignore_nothing. + (restrict_movement_for_uses_ignoring): Rename to... + (restrict_movement_for_uses): ...this and treat the ignore parameter + as an object with the same interface as ignore_nothing. Conditionally + skip definitions. + * doc/rtl.texi: Update for above name changes. Use + ignore_changing_insns instead of insn_is_changing. + * config/aarch64/aarch64-cc-fusion.cc (cc_fusion::parallelize_insns): + Likewise. + * pair-fusion.cc (no_ignore): Delete. + (latest_hazard_before, first_hazard_after): Update for above name + changes. Use ignore_nothing instead of no_ignore. + (pair_fusion_bb_info::fuse_pair): Update for above name changes. + Use ignore_changing_insns instead of insn_is_changing. + (pair_fusion::try_promote_writeback): Likewise. + +2024-06-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115599 + * tree-ssa-reassoc.cc (compare_repeat_factors): Use explicit + compares to avoid truncations. + +2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/113325 + * config/rs6000/vsx.md (vsx_stxvd2x4_le_const_<mode>): New. + +2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org> + + * fwprop.cc (try_fwprop_subst_pattern): Invoke change_is_worthwhile + to judge if a replacement is worthwhile. Remove single_set check + and add is_debug_insn check. + * recog.cc (swap_change): Invalidate recog_data when the cached INSN + is swapped out. + * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Check if the + insn cost of new rtl is unknown and fail the replacement. + +2024-06-24 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (MAX_FIELDLIST_SIZE): Define. + (struct codeview_integer): New structure. + (struct codeview_subtype): Likewise + (struct codeview_custom_type): Add lf_fieldlist and lf_enum to union. + (write_cv_integer, cv_integer_len): New functions. + (write_lf_fieldlist, write_lf_enum): Likewise. + (write_custom_types): Call write_lf_fieldlist and write_lf_enum. + (add_enum_forward_def): New function. + (get_type_num_enumeration_type): Likewise. + (get_type_num): Handle DW_TAG_enumeration_type DIEs. + * dwarf2codeview.h (LF_FIELDLIST, LF_INDEX, LF_ENUMERATE): Define. + (LF_ENUM, LF_CHAR, LF_SHORT, LF_USHORT, LF_LONG): Likewise. + (LF_ULONG, LF_QUADWORD, LF_UQUADWORD): Likewise. + (CV_ACCESS_PRIVATE, CV_ACCESS_PROTECTED): Likewise. + (CV_ACCESS_PUBLIC, CV_PROP_FWDREF): Likewise. + +2024-06-24 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc + (struct codeview_custom_type): Add lf_modifier to union. + (write_cv_padding, write_lf_modifier): New functions. + (write_custom_types): Call write_lf_modifier. + (get_type_num_const_type): New function. + (get_type_num_volatile_type): Likewise. + (get_type_num): Handle DW_TAG_const_type and DW_TAG_volatile_type DIEs. + * dwarf2codeview.h (MOD_const, MOD_volatile): Define. + (LF_MODIFIER): Likewise. + +2024-06-24 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (FIRST_TYPE): Define. + (struct codeview_custom_type): New structure. + (custom_types, last_custom_type): New variables. + (get_type_num): Prototype. + (write_lf_pointer, write_custom_types): New functions. + (codeview_debug_finish): Call write_custom_types. + (add_custom_type, get_type_num_pointer_type): New functions. + (get_type_num): Handle DW_TAG_pointer_type DIEs. + * dwarf2codeview.h (T_VOID): Define. + (CV_POINTER_32, CV_POINTER_64): Likewise. + (T_32PVOID, T_64PVOID): Likewise. + (CV_PTR_NEAR32, CV_PTR64, LF_POINTER): Likewise. + +2024-06-24 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (get_type_num): Handle typedefs. + +2024-06-24 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (struct codeview_type): New structure. + (struct die_hasher): Likewise. + (types_htab): New variable. + (codeview_debug_finish): Free types_htab if allocated. + (get_type_num_base_type, get_type_num): New function. + (add_variable): Call get_type_num. + * dwarf2codeview.h (T_CHAR, T_SHORT, T_LONG, T_QUAD): Define. + (T_UCHAR, T_USHORT, T_ULONG, T_UQUAD, T_BOOL08): Likewise. + (T_REAL32, T_REAL64, T_REAL80, T_REAL128, T_RCHAR): Likewise. + (T_WCHAR, T_INT4, T_UINT4, T_CHAR16, T_CHAR32, T_CHAR8): Likewise. + +2024-06-23 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (S_LDATA32, S_GDATA32): Define. + (struct codeview_symbol): New structure. + (sym, last_sym): New variables. + (write_data_symbol): New function. + (write_codeview_symbols): Call write_data_symbol. + (add_variable, codeview_debug_early_finish): New functions. + * dwarf2codeview.h (codeview_debug_early_finish): Prototype. + * dwarf2out.cc + (dwarf2out_early_finish): Call codeview_debug_early_finish. + +2024-06-23 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + * config/riscv/riscv.cc (riscv_expand_conditional_move): Add a + CONST0_RTX check. + +2024-06-23 Jeff Law <jlaw@ventanamicro.com> + + PR target/114139 + * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Verify object + is a CONST_INT before looking at INTVAL. + +2024-06-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115597 + * tree-vect-slp.cc (vect_cse_slp_nodes): Allow to CSE + VEC_PERM nodes. + +2024-06-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115579 + * tree-ssa-loop-im.cc (execute_sm): Return the auxiliary data + created. + (hoist_memory_references): Record the flag var that's eventually + created and re-use it when all stores are in the same BB. + +2024-06-23 Collin Funk <collin.funk1@gmail.com> + + PR target/115409 + * config/i386/avx512fp16intrin.h (_mm512_conj_pch): Make the + constant unsigned before shifting. + * config/i386/avx512fp16vlintrin.h (_mm256_conj_pch): Likewise. + (_mm_conj_pch): Likewise. + +2024-06-23 demin.han <demin.han@starfivetech.com> + + * config/riscv/predicates.md (comparison_except_eqge_operator): Only + exclude ge. + (comparison_except_ge_operator): Ditto. + * config/riscv/riscv-string.cc (expand_rawmemchr): Use cmp pattern. + (expand_strcmp): Ditto. + * config/riscv/riscv-vector-builtins-bases.cc: Remove eqne cond. + * config/riscv/vector.md (@pred_eqne<mode>_scalar): Remove eqne + patterns. + (*pred_eqne<mode>_scalar_merge_tie_mask): Ditto. + (*pred_eqne<mode>_scalar): Ditto. + (*pred_eqne<mode>_scalar_narrow): Ditto. + (*pred_eqne<mode>_extended_scalar_merge_tie_mask): Ditto. + (*pred_eqne<mode>_extended_scalar): Ditto. + (*pred_eqne<mode>_extended_scalar_narrow): Ditto. + +2024-06-21 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc + (json_output_format::on_end_diagnostic): Use + get_diagnostic_kind_text rather than embedding a duplicate copy of + the table. + * diagnostic-format-sarif.cc + (make_rule_id_for_diagnostic_kind): Likewise. + * diagnostic.cc (get_diagnostic_kind_text): New. + * diagnostic.h (get_diagnostic_kind_text): New decl. + +2024-06-21 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-path.cc (diagnostic_event::meaning::dump_to_pp): Move + here from diagnostic.cc. + (diagnostic_event::meaning::maybe_get_verb_str): Likewise. + (diagnostic_event::meaning::maybe_get_noun_str): Likewise. + (diagnostic_event::meaning::maybe_get_property_str): Likewise. + (diagnostic_path::get_first_event_in_a_function): Likewise. + (diagnostic_path::interprocedural_p): Likewise. + (debug): Likewise for diagnostic_path * overload. + * diagnostic.cc (diagnostic_event::meaning::dump_to_pp): Move from + here to diagnostic-path.cc. + (diagnostic_event::meaning::maybe_get_verb_str): Likewise. + (diagnostic_event::meaning::maybe_get_noun_str): Likewise. + (diagnostic_event::meaning::maybe_get_property_str): Likewise. + (diagnostic_path::get_first_event_in_a_function): Likewise. + (diagnostic_path::interprocedural_p): Likewise. + (debug): Likewise for diagnostic_path * overload. + +2024-06-21 Jeff Law <jlaw@ventanamicro.com> + + * config/stormy16/stormy16.md (swpn_zext): New pattern. + +2024-06-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/stormy16/predicates.md (xs_hi_nonmemory_operand): Handle + symbol_ref and label_ref. + +2024-06-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/iq2000/iq2000.cc (iq2000_print_operand): Make %p handle 1<<31. + * config/iq2000/iq2000.md: Remove "I" constraints on + power_of_2_operands. + +2024-06-21 Richard Sandiford <richard.sandiford@arm.com> + + * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Don't + cost no-op moves. + * rtl-ssa/insns.cc (insn_info::calculate_cost): Likewise. + +2024-06-21 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (gimple_ranger::register_inferred_ranges): Do not + dump global range info after set_range_info. + (gimple_ranger::register_transitive_inferred_ranges): Likewise. + (dom_ranger::range_of_stmt): Likewise. + * tree-ssanames.cc (set_range_info): If global range info + changes, maybe print new range to dump_file. + * tree-vrp.cc (remove_unreachable::handle_early): Do not + dump global range info after set_range_info. + (remove_unreachable::remove): Likewise. + (remove_unreachable::remove_and_update_globals): Likewise. + (pass_assumptions::execute): Likewise. + +2024-06-21 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (dom_ranger::dom_ranger): Create a block + vector. + (dom_ranger::~dom_ranger): Dispose of the block vector. + (dom_ranger::edge_range): Delete. + (dom_ranger::range_on_edge): Combine range in src BB with any + range gori_nme_on_edge returns. + (dom_ranger::range_in_bb): Combine global range with any active + contextual range for an ssa-name. + (dom_ranger::range_of_stmt): Fix non-ssa LHS case, use + fur_depend for folding so relations can be registered. + (dom_ranger::maybe_push_edge): Delete. + (dom_ranger::pre_bb): Create incoming contextual range vector. + (dom_ranger::post_bb): Free contextual range vector. + * gimple-range.h (dom_ranger::edge_range): Delete. + (dom_ranger::m_e0): Delete. + (dom_ranger::m_e1): Delete. + (dom_ranger::m_bb): New. + (dom_ranger::m_pop_list): Delete. + * tree-vrp.cc (execute_fast_vrp): Enable relation oracle. + +2024-06-21 Andrew MacLeod <amacleod@redhat.com> + + * tree-vrp.cc (remove_unreachable::remove): Export global range + if builtin_unreachable dominates all uses. + (remove_unreachable::remove_and_update_globals): Do not reset SCEV. + (execute_ranger_vrp): Reset SCEV here instead. + (fvrp_folder::fvrp_folder): Take final pass flag + and create a remove_unreachable object when specified. + (fvrp_folder::pre_fold_stmt): Register GIMPLE_CONDs with + the remove_unreachcable object. + (fvrp_folder::m_unreachable): New. + (execute_fast_vrp): Process remove_unreachable object. + (pass_vrp::execute): Add final_p flag to execute_fast_vrp. + +2024-06-21 David Malcolm <dmalcolm@redhat.com> + + PR testsuite/109360 + * doc/install.texi: Mention optional usage of "jsonschema" tool. + +2024-06-21 David Malcolm <dmalcolm@redhat.com> + + PR testsuite/109360 + * diagnostic-format-sarif.cc + (sarif_builder::make_location_object): Pass any column override + from rich_loc to maybe_make_physical_location_object. + (sarif_builder::maybe_make_physical_location_object): Add + "column_override" param and pass it to maybe_make_region_object. + (sarif_builder::maybe_make_region_object): Add "column_override" + param and use it when the location has 0 for a column. Don't + add "startLine", "startColumn", "endLine", or "endColumn" if + the values aren't positive. + (sarif_builder::maybe_make_region_object_for_context): Don't + add "startLine" or "endLine" if the values aren't positive. + +2024-06-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/sh/sh.md (*minus_plus_one): Add constraints. + +2024-06-21 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/68855 + * tree-complex.cc (init_dont_simulate_again): Handle PAREN_EXPR + like NEGATE_EXPR. + (complex_propagate::visit_stmt): Likewise. + (expand_complex_move): Don't handle PAREN_EXPR. + (expand_complex_paren): New function. + (expand_complex_operations_1): Handle PAREN_EXPR like + NEGATE_EXPR. And call expand_complex_paren for PAREN_EXPR. + +2024-06-21 Richard Biener <rguenther@suse.de> + + * doc/passes.texi: Remove references to no longer existing + passes. + +2024-06-21 YunQiang Su <syq@gcc.gnu.org> + + * configure.ac: Set gcc_cv_as_mips_explicit_relocs if + gcc_cv_as_mips_explicit_relocs_pcrel. + * configure: Regenerate. + +2024-06-21 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.cc(mips_rtx_costs): Set condmove cost. + * config/mips/mips.md(mov<GPR:mode>_on_<MOVECC:mode>, + mov<GPR:mode>_on_<MOVECC:mode>_mips16e2, + mov<GPR:mode>_on_<GPR2:mode>_ne + mov<GPR:mode>_on_<GPR2:mode>_ne_mips16e2): Define name by + remove starting *, so that we can use CODE_FOR_. + +2024-06-21 Kewen Lin <linkw@linux.ibm.com> + Xionghu Luo <xionghuluo@tencent.com> + + PR target/106069 + PR target/115355 + * config/rs6000/altivec.md (altivec_vmrghw_direct_<VSX_W:mode>): Rename + to ... + (altivec_vmrghw_direct_<VSX_W:mode>_be): ... this. Add the condition + BYTES_BIG_ENDIAN. + (altivec_vmrghw_direct_<VSX_W:mode>_le): New define_insn. + (altivec_vmrglw_direct_<VSX_W:mode>): Rename to ... + (altivec_vmrglw_direct_<VSX_W:mode>_be): ... this. Add the condition + BYTES_BIG_ENDIAN. + (altivec_vmrglw_direct_<VSX_W:mode>_le): New define_insn. + (altivec_vmrghw): Adjust by calling gen_altivec_vmrghw_direct_v4si_be + for BE and gen_altivec_vmrglw_direct_v4si_le for LE. + (altivec_vmrglw): Adjust by calling gen_altivec_vmrglw_direct_v4si_be + for BE and gen_altivec_vmrghw_direct_v4si_le for LE. + (vec_widen_umult_hi_v8hi): Adjust the call to + gen_altivec_vmrghw_direct_v4si by gen_altivec_vmrghw for BE + and by gen_altivec_vmrglw for LE. + (vec_widen_smult_hi_v8hi): Likewise. + (vec_widen_umult_lo_v8hi): Adjust the call to + gen_altivec_vmrglw_direct_v4si by gen_altivec_vmrglw for BE + and by gen_altivec_vmrghw for LE + (vec_widen_smult_lo_v8hi): Likewise. + * config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace + CODE_FOR_altivec_vmrghw_direct_v4si by + CODE_FOR_altivec_vmrghw_direct_v4si_be for BE and + CODE_FOR_altivec_vmrghw_direct_v4si_le for LE. And replace + CODE_FOR_altivec_vmrglw_direct_v4si by + CODE_FOR_altivec_vmrglw_direct_v4si_be for BE and + CODE_FOR_altivec_vmrglw_direct_v4si_le for LE. + * config/rs6000/vsx.md (vsx_xxmrghw_<VSX_W:mode>): Adjust by calling + gen_altivec_vmrghw_direct_v4si_be for BE and + gen_altivec_vmrglw_direct_v4si_le for LE. + (vsx_xxmrglw_<VSX_W:mode>): Adjust by calling + gen_altivec_vmrglw_direct_v4si_be for BE and + gen_altivec_vmrghw_direct_v4si_le for LE. + +2024-06-20 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-expand.cc (ix86_ternlog_idx): Allow any SUBREG + that matches register_operand. Use rtx_equal_p to compare REG + or SUBREG "leaf" operands. + +2024-06-20 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md (<bit_optab><mode>): New unified + pattern for bset/binv using a code iterator. + (<bit_optab>i<mode>): Likewise. + (<bit_optab><mode>_mask): Likewise. Support XOR via any_or. + (<bit_optab>isidi): Likewise. + * config/riscv/iterators.md (bit_optab): New iterator. + +2024-06-20 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386-options.cc (ix86_option_override_internal): + Use TARGET_*_P (opts->x_ix86_isa_flags*) instead of TARGET_* + for UINTR, LAM and APX_F. + +2024-06-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114413 + * tree-vect-slp.cc (release_scalar_stmts_to_slp_tree_map): + New function, split out from ... + (vect_analyze_slp): ... here. Call it. + (vect_cse_slp_nodes): New function. + (vect_optimize_slp): Call it. + +2024-06-20 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (vect_transform_reduction): Change assertion to + cover all lane-reducing ops. + +2024-06-20 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (vect_transform_reduction): Replace vec_oprnds0/1/2 + with one new array variable vec_oprnds[3]. + +2024-06-20 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (vectorizable_reduction): Remove v_reduc_type, and + replace it to another local variable reduction_type. + +2024-06-20 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (vectorizable_reduction): Remove the duplicated + check. + +2024-06-20 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vectorizer.h (lane_reducing_stmt_p): New function. + * tree-vect-slp.cc (vect_analyze_slp): Use new function + lane_reducing_stmt_p to check statement. + +2024-06-19 YunQiang Su <syq@gcc.gnu.org> + + Revert: + 2024-06-19 Collin Funk <collin.funk1@gmail.com> + + * configure.ac: Add missing quotation of variable + gcc_cv_as_mips_explicit_relocs. + * configure: Regenerate. + +2024-06-19 demin.han <demin.han@starfivetech.com> + + * config/riscv/riscv-vector-builtins-bases.cc: Remove eqne cond + * config/riscv/vector.md (@pred_eqne<mode>_scalar): Remove patterns + (*pred_eqne<mode>_scalar_merge_tie_mask): Ditto + (*pred_eqne<mode>_scalar): Ditto + (*pred_eqne<mode>_scalar_narrow): Ditto + +2024-06-19 Patrick O'Neill <patrick@rivosinc.com> + + * common/config/riscv/riscv-common.cc: Add 'a' extension to + riscv_combine_info. + +2024-06-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/115544 + * gimple-lower-bitint.cc (gimple_lower_bitint): Disable optimizing + loads used by COMPLEX_EXPR operands. + +2024-06-19 mayshao <mayshao-oc@zhaoxin.com> + + * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Recognize shijidadao. + * common/config/i386/i386-common.cc: Add shijidadao. + * common/config/i386/i386-cpuinfo.h (enum processor_subtypes): + Add ZHAOXIN_FAM7H_SHIJIDADAO. + * config.gcc: Add shijidadao. + * config/i386/driver-i386.cc (host_detect_local_cpu): + Let -march=native recognize shijidadao processors. + * config/i386/i386-c.cc (ix86_target_macros_internal): Add shijidadao. + * config/i386/i386-options.cc (m_ZHAOXIN): Add m_SHIJIDADAO. + (m_SHIJIDADAO): New definition. + * config/i386/i386.h (enum processor_type): Add PROCESSOR_SHIJIDADAO. + * config/i386/x86-tune-costs.h (struct processor_costs): + Add shijidadao_cost. + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add shijidadao. + (ix86_adjust_cost): Ditto. + * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Add m_SHIJIDADAO. + (X86_TUNE_USE_GATHER_4PARTS): Ditto. + (X86_TUNE_USE_GATHER_8PARTS): Ditto. + (X86_TUNE_AVOID_128FMA_CHAINS): Ditto. + * doc/extend.texi: Add details about shijidadao. + * doc/invoke.texi: Ditto. + +2024-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (print_operand): + When outputting MEMW before the instruction, check if the previous + instruction is already that. + +2024-06-19 Andre Vieira <andre.simoesdiasvieira@arm.com> + Stam Markianos-Wright <stam.markianos-wright@arm.com> + + * config/arm/arm-protos.h (arm_target_bb_ok_for_lob): Change + declaration to pass basic_block. + (arm_attempt_dlstp_transform): New declaration. + * config/arm/arm.cc (TARGET_LOOP_UNROLL_ADJUST): Define targethook. + (TARGET_PREDICT_DOLOOP_P): Likewise. + (arm_target_bb_ok_for_lob): Adapt condition. + (arm_mve_get_vctp_lanes): New function. + (arm_dl_usage_type): New internal enum. + (arm_get_required_vpr_reg): New function. + (arm_get_required_vpr_reg_param): New function. + (arm_get_required_vpr_reg_ret_val): New function. + (arm_mve_get_loop_vctp): New function. + (arm_mve_insn_predicated_by): New function. + (arm_mve_across_lane_insn_p): New function. + (arm_mve_load_store_insn_p): New function. + (arm_mve_impl_pred_on_outputs_p): New function. + (arm_mve_impl_pred_on_inputs_p): New function. + (arm_last_vect_def_insn): New function. + (arm_mve_impl_predicated_p): New function. + (arm_mve_check_reg_origin_is_num_elems): New function. + (arm_mve_dlstp_check_inc_counter): New function. + (arm_mve_dlstp_check_dec_counter): New function. + (arm_mve_loop_valid_for_dlstp): New function. + (arm_predict_doloop_p): New function. + (arm_loop_unroll_adjust): New function. + (arm_emit_mve_unpredicated_insn_to_seq): New function. + (arm_attempt_dlstp_transform): New function. + * config/arm/arm.opt (mdlstp): New option. + * config/arm/iterators.md (dlstp_elemsize, letp_num_lanes, + letp_num_lanes_neg, letp_num_lanes_minus_1): New attributes. + (DLSTP, LETP): New iterators. + * config/arm/mve.md (predicated_doloop_end_internal<letp_num_lanes>, + dlstp<dlstp_elemsize>_insn): New insn patterns. + * config/arm/thumb2.md (doloop_end): Adapt to support tail-predicated + loops. + (doloop_begin): Likewise. + * config/arm/types.md (mve_misc): New mve type to represent + predicated_loop_end insn sequences. + * config/arm/unspecs.md: + (DLSTP8, DLSTP16, DLSTP32, DSLTP64, + LETP8, LETP16, LETP32, LETP64): New unspecs for DLSTP and LETP. + +2024-06-19 Andre Vieira <andre.simoesdiasvieira@arm.com> + Stam Markianos-Wright <stam.markianos-wright@arm.com> + + * df-core.cc (df_bb_regno_only_def_find): New helper function. + * df.h (df_bb_regno_only_def_find): Declare new function. + * loop-doloop.cc (doloop_condition_get): Add support for detecting + predicated vectorized hardware loops. + (doloop_modify): Add support for GTU condition checks. + (doloop_optimize): Update costing computation to support alterations to + desc->niter_expr by the backend. + +2024-06-19 Collin Funk <collin.funk1@gmail.com> + + * configure.ac: Add missing quotation of variable + gcc_cv_as_mips_explicit_relocs. + * configure: Regenerate. + +2024-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h (xtensa_constantsynth): + Change the second argument from HOST_WIDE_INT to rtx. + * config/xtensa/xtensa.cc (#include): + Add "context.h" and "pass_manager.h". + (machine_function): Add a new hash_map field "litpool_usage". + (xtensa_constantsynth): Make "src" (the second operand) accept + RTX literal instead of its value, and treat both bare and pooled + SI/SFmode literals equally by bit-exact canonicalization into + CONST_INT RTX internally. And then, make avoid synthesis if + such multiple identical canonicalized literals are found in same + function when optimizing for size. Finally, for literals where + synthesis is not possible or has been avoided, re-emit "move" + RTXes with canonicalized ones to increase the chances of sharing + literal pool entries. + * config/xtensa/xtensa.md (split patterns for constant synthesis): + Change to simply invoke xtensa_constantsynth() as mentioned above, + and add new patterns for when TARGET_AUTO_LITPOOLS is enabled. + +2024-06-18 Edwin Lu <ewlu@rivosinc.com> + Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-v.cc: Move assert out of conditional block + +2024-06-18 Edwin Lu <ewlu@rivosinc.com> + Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec-opt.md: Fix mode mismatch + +2024-06-18 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-cores.def: Add comment + saying thunderxt81/t83 are aliases of octeontx81/83. + +2024-06-18 Andrew Pinski <quic_apinski@quicinc.com> + + * config/aarch64/aarch64-cores.def (thunderxt88p1): Make an alias of thunderxt88 and + move below thunderxt88. + * config/aarch64/aarch64-tune.md: Regenerate. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS): Move selftest-diagnostic-path.o, + selftest-logical-location.o, and tree-diagnostic-path.o to... + (OBJS-libcommon): ...here, renaming tree-diagnostic-path.o to + diagnostic-path.o. + * tree-diagnostic-path.cc: Rename to... + * diagnostic-path.cc: ...this. Drop include of "tree.h". + (tree_diagnostic_path_cc_tests): Rename to... + (diagnostic_path_cc_tests): ...this. + * selftest-run-tests.cc (selftest::run_tests): Update for above + renaming. + * selftest.h (tree_diagnostic_path_cc_tests): Rename decl to... + (diagnostic_path_cc_tests): ...this. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc (diagnostic_output_format_init_json): + Replace clearing of diagnostic_context::m_print_path callback with + setting the path format to DPF_NONE. + * diagnostic-format-sarif.cc + (diagnostic_output_format_init_sarif): Likewise. + * diagnostic.cc (diagnostic_context::show_any_path): Replace call + to diagnostic_context::m_print_path callback with a direct call to + diagnostic_context::print_path. + * diagnostic.h (diagnostic_context::print_path): New decl. + (diagnostic_context::m_print_path): Delete callback. + * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer): + Convert to... + (diagnostic_context::print_path): ...this. + * tree-diagnostic.cc (tree_diagnostics_defaults): Delete + initialization of m_print_path. + * tree-diagnostic.h (default_tree_diagnostic_path_printer): Delete + decl. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-macro-unwinding.cc: New file, with material taken + from tree-diagnostic.cc. + * diagnostic-macro-unwinding.h: New file, with material taken + from tree-diagnostic.h. + * tree-diagnostic-path.cc: Repalce include of "tree-diagnostic.h" + with "diagnostic-macro-unwinding.h". + * tree-diagnostic.cc (struct loc_map_pair): Move to + diagnostic-macro-unwinding.cc. + (maybe_unwind_expanded_macro_loc): Likewise. + (virt_loc_aware_diagnostic_finalizer): Likewise. + * tree-diagnostic.h (virt_loc_aware_diagnostic_finalizer): Move + decl to diagnostic-macro-unwinding.h. + (maybe_unwind_expanded_macro_loc): Likewise. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS): Add diagnostic-macro-unwinding.o. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-json.cc: Include "diagnostic-path.h" and + "logical-location.h". + (make_json_for_path): Move tree-diagnostic-path.cc's + default_tree_make_json_for_path here, renaming it and making it + static. + (json_output_format::on_end_diagnostic): Replace call of + m_context's m_make_json_for_path callback with a direct call to + make_json_for_path. + * diagnostic.h (diagnostic_context::m_make_json_for_path): Drop + field. + * tree-diagnostic-path.cc: Drop include of "json.h". + (default_tree_make_json_for_path): Rename to make_json_for_path + and move to diagnostic-format-json.cc. + * tree-diagnostic.cc (tree_diagnostics_defaults): Drop + initialization of m_make_json_for_path. + * tree-diagnostic.h (default_tree_make_json_for): Delete decl. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS): Add selftest-diagnostic-path.o and + selftest-logical-location.o. + * logical-location.h: Include "label-text.h". + (class logical_location): Update leading comment. + * selftest-diagnostic-path.cc: New file, adapted from + simple-diagnostic-path.cc and from material in + tree-diagnostic-path.cc. + * selftest-diagnostic-path.h: New file, adapted from + simple-diagnostic-path.h and from material in + tree-diagnostic-path.cc. + * selftest-logical-location.cc: New file. + * selftest-logical-location.h: New file. + * tree-diagnostic-path.cc: Remove includes of "tree-pretty-print.h", + "langhooks.h", and "simple-diagnostic-path.h". Add include of + "selftest-diagnostic-path.h". + (class test_diagnostic_path): Delete, in favor of new + implementation in selftest-diagnostic-path.{h,cc}, which is + directly derived from diagnostic_path, rather than from + simple_diagnostic_path. + (selftest::test_intraprocedural_path): Eliminate tree usage, + via change to test_diagnostic_path, using strings rather than + function_decls for identifying functions in the test. + (selftest::test_interprocedural_path_1): Likewise. + (selftest::test_interprocedural_path_2): Likewise. + (selftest::test_recursion): Likewise. + (selftest::test_control_flow_1): Likewise. + (selftest::test_control_flow_2): Likewise. + (selftest::test_control_flow_3): Likewise. + (selftest::assert_cfg_edge_path_streq): Likewise. + (selftest::test_control_flow_5): Likewise. + (selftest::test_control_flow_6): Likewise. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc: Include "logical-location.h". + (diagnostic_path::get_first_event_in_a_function): Fix typo in + leading comment. Rewrite to use logical_location rather than + tree. Drop test on stack depth. + (diagnostic_path::interprocedural_p): Rewrite to use + logical_location rather than tree. + (logical_location::function_p): New. + * diagnostic-path.h (diagnostic_event::get_fndecl): Eliminate + vfunc. + (diagnostic_path::same_function_p): New pure virtual func. + * logical-location.h (logical_location::get_name_for_path_output): + New pure virtual func. + * simple-diagnostic-path.cc + (simple_diagnostic_path::same_function_p): New. + (simple_diagnostic_event::simple_diagnostic_event): Initialize + m_logical_loc. + * simple-diagnostic-path.h: Include "tree-logical-location.h". + (simple_diagnostic_event::get_fndecl): Convert from a vfunc + implementation to an accessor. + (simple_diagnostic_event::get_logical_location): Use + m_logical_loc. + (simple_diagnostic_event::m_logical_loc): New field. + (simple_diagnostic_path::same_function_p): New decl. + * tree-diagnostic-path.cc: Move pragma disabling -Wformat-diag to + cover the whole file. + (can_consolidate_events): Add params "path", "ev1_idx", and + "ev2_idx". Rewrite to use diagnostic_path::same_function_p rather + than tree. + (per_thread_summary::per_thread_summary): Add "path" param + (per_thread_summary::m_path): New field. + (event_range::event_range): Update for conversion of m_fndecl to + m_logical_loc. + (event_range::maybe_add_event): Rename param "idx" to + "new_ev_idx". Update call to can_consolidate_events to pass in + "m_path", "m_start_idx", and "new_ev_idx". + (event_range::m_fndecl): Replace with... + (event_range::m_logical_loc): ...this. + (path_summary::get_or_create_events_for_thread_id): Pass "path" to + per_thread_summary ctor. + (per_thread_summary::interprocedural_p): Rewrite to use + diagnostic_path::same_function_p rather than tree. + (print_fndecl): Delete. + (thread_event_printer::print_swimlane_for_event_range): Update for + conversion from tree to logical_location. + (default_tree_diagnostic_path_printer): Likewise. + (default_tree_make_json_for_path): Likewise. + * tree-logical-location.cc: Include "intl.h". + (compiler_logical_location::get_name_for_tree_for_path_output): + New. + (tree_logical_location::get_name_for_path_output): New. + (current_fndecl_logical_location::get_name_for_path_output): New. + * tree-logical-location.h + (compiler_logical_location::get_name_for_tree_for_path_output): + New decl. + (tree_logical_location::get_name_for_path_output): New decl. + (current_fndecl_logical_location::get_name_for_path_output): New + decl. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS): Add simple-diagnostic-path.o. + * diagnostic-path.h (class simple_diagnostic_event): Move to + simple-diagnostic-path.h. + (class simple_diagnostic_thread): Likewise. + (class simple_diagnostic_path): Likewise. + * diagnostic.cc (simple_diagnostic_path::simple_diagnostic_path): + Move to simple-diagnostic-path.cc. + (simple_diagnostic_path::num_events): Likewise. + (simple_diagnostic_path::get_event): Likewise. + (simple_diagnostic_path::num_threads): Likewise. + (simple_diagnostic_path::get_thread): Likewise. + (simple_diagnostic_path::add_thread): Likewise. + (simple_diagnostic_path::add_event): Likewise. + (simple_diagnostic_path::add_thread_event): Likewise. + (simple_diagnostic_path::connect_to_next_event): Likewise. + (simple_diagnostic_event::simple_diagnostic_event): Likewise. + (simple_diagnostic_event::~simple_diagnostic_event): Likewise. + * selftest-run-tests.cc (selftest::run_tests): Call + selftest::simple_diagnostic_path_cc_tests. + * selftest.h (selftest::simple_diagnostic_path_cc_tests): New + decl. + * simple-diagnostic-path.cc: New file, from the above material. + * simple-diagnostic-path.h: New file, from the above material + from diagnostic-path.h. + * tree-diagnostic-path.cc: Include "simple-diagnostic-path.h". + +2024-06-18 Pan Li <pan2.li@intel.com> + + * match.pd: Add form 7 and 8 for the unsigned .SAT_ADD match. + +2024-06-18 Pan Li <pan2.li@intel.com> + + * match.pd: Add form 11 match pattern for .SAT_SUB. + +2024-06-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115537 + * tree-vect-loop.cc (vectorizable_reduction): Also reject + SLP condition reductions of EXTRACT_LAST kind when multiple + statement copies are involved. + +2024-06-18 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md (bset splitters): New patterns for + generating bset when bit position is limited. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_addti_scratch_regs): Use + force_highpart_subreg instead of gen_highpart and simplify_gen_subreg. + (aarch64_subvti_scratch_regs): Likewise. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + * explow.h (force_highpart_subreg): Declare. + * explow.cc (force_highpart_subreg): New function. + * builtins.cc (expand_builtin_issignaling): Use it. + * expmed.cc (emit_store_flag_1): Likewise. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + * builtins.cc (expand_builtin_issignaling): Use force_lowpart_subreg + instead of simplify_gen_subreg and lowpart_subreg. + * expr.cc (convert_mode_scalar, expand_expr_real_2): Likewise. + * optabs.cc (expand_doubleword_mod): Likewise. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + PR target/115464 + * config/aarch64/aarch64-builtins.cc (aarch64_expand_fcmla_builtin) + (aarch64_expand_rwsr_builtin): Use force_lowpart_subreg instead of + simplify_gen_subreg and lowpart_subreg. + * config/aarch64/aarch64-sve-builtins-base.cc + (svset_neonq_impl::expand): Likewise. + * config/aarch64/aarch64-sve-builtins-sme.cc + (add_load_store_slice_operand): Likewise. + * config/aarch64/aarch64.cc (aarch64_sve_reinterpret): Likewise. + (aarch64_addti_scratch_regs, aarch64_subvti_scratch_regs): Likewise. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + * explow.h (force_lowpart_subreg): Declare. + * explow.cc (force_lowpart_subreg): New function. + * optabs.cc (lowpart_subreg_maybe_copy): Delete. + (expand_absneg_bit): Use force_lowpart_subreg instead of + lowpart_subreg_maybe_copy. + (expand_copysign_bit): Likewise. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + * expmed.cc (store_bit_field_using_insv): Use force_subreg + instead of simplify_gen_subreg. + (store_bit_field_1): Likewise. + (extract_bit_field_as_subreg): Likewise. + (extract_integral_bit_field): Likewise. + (emit_store_flag_1): Likewise. + * expr.cc (convert_move): Likewise. + (convert_modes): Likewise. + (emit_group_load_1): Likewise. + (emit_group_store): Likewise. + (expand_assignment): Likewise. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-builtins.cc (aarch64_expand_fcmla_builtin): + Use force_subreg instead of simplify_gen_subreg. + * config/aarch64/aarch64-simd.md (ctz<mode>2): Likewise. + * config/aarch64/aarch64-sve-builtins-base.cc + (svget_impl::expand): Likewise. + (svget_neonq_impl::expand): Likewise. + * config/aarch64/aarch64-sve-builtins-functions.h + (multireg_permute::expand): Likewise. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + * explow.cc (force_subreg): Emit no instructions on failure. + +2024-06-18 Jakub Jelinek <jakub@redhat.com> + + PR target/115324 + * config/rs6000/rs6000-gen-builtins.cc (write_decls): Change + declaration of rs6000_init_generated_builtins from no arguments + to 4 pointer arguments. + (write_init_bif_table): Change rs6000_builtin_info_fntype to + builtin_info_fntype and rs6000_builtin_decls to builtin_decls. + (write_init_ovld_table): Change rs6000_instance_info_fntype to + instance_info_fntype, rs6000_builtin_decls to builtin_decls and + rs6000_overload_info to overload_info. + (write_init_file): Add __noipa__ attribute to + rs6000_init_generated_builtins for GCC 8.1+ and change the function + from no arguments to 4 pointer arguments. Change rs6000_builtin_decls + to builtin_decls. + * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Adjust + rs6000_init_generated_builtins caller. + +2024-06-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115493 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Use + the first scalar result. + +2024-06-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/111793 + * tree-ssa-alias.h (ref_can_have_store_data_races): Declare. + * tree-ssa-alias.cc (ref_can_have_store_data_races): New + function. + * tree-if-conv.cc (ifcvt_memrefs_wont_trap): Use + ref_can_have_store_data_races to allow more unconditional + stores. + * tree-ssa-loop-im.cc (execute_sm): Likewise. + * tree-ssa-phiopt.cc (cond_store_replacement): Likewise. + +2024-06-18 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avxintrin.h: Move cmp[p|s][s|d] to [e|x]mmintrin.h, + and move macros to xmmintrin.h + * config/i386/emmintrin.h: Add cmp[p|s]s intrins. + * config/i386/i386-builtin.def: Modify __builtin_ia32_cmp[p|s][s|d]. + * config/i386/i386-expand.cc + (ix86_expand_args_builtin): Raise error when imm is in range of + [8, 32] without avx. + * config/i386/predicates.md (cmpps_imm_operand): New predicate. + * config/i386/sse.md (avx_cmp<mode>3): Modefy define_insn. + (avx_vmcmp<mode>3): Ditto. + * config/i386/xmmintrin.h (_CMP_EQ_OQ): New macro for sse/sse2. + (_CMP_LT_OS): Ditto + (_CMP_LE_OS): Ditto + (_CMP_UNORD_Q): Ditto + (_CMP_NEQ_UQ): Ditto + (_CMP_NLT_US): Ditto + (_CMP_NLE_US): Ditto + (_CMP_ORD_Q): Ditto + (_mm_cmp_ps): Move intrin from avxintrin.h to xmmintrin.h + (_mm_cmp_ss): Ditto. + +2024-06-17 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md (bsetclr_zero_extract): New pattern. + +2024-06-17 Jakub Jelinek <jakub@redhat.com> + + PR driver/115440 + * opts-common.cc (add_misspelling_candidates): If opt1 is non-NULL, + add a space and opt1 to the alternative suggestion text. + +2024-06-17 Patrick O'Neill <patrick@rivosinc.com> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::to_string): Skip zaamo/zalrsc when not + supported by the assembler. + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Add zaamo/zalrsc assmeber check. + +2024-06-17 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/install.texi (Configuration): Mark up __cxa_atexit as @code. + +2024-06-17 Peter Bergner <bergner@linux.ibm.com> + + PR target/115389 + * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Compute + rop_hash_save_offset for non-Altivec compiles. + +2024-06-17 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md (bsetdi_2): New pattern. + +2024-06-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115508 + * tree-vect-slp.cc (vect_schedule_slp_node): Guard check on + representative. + +2024-06-17 Richard Biener <rguenther@suse.de> + + Revert: + 2024-05-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100923 + * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Valueize + base SSA_NAME. + (vn_reference_lookup_3): Adjust vn_context_bb around calls + to ao_ref_init_from_vn_reference. + (vn_reference_lookup_pieces): Revert original PR100923 fix. + (vn_reference_lookup): Likewise. + +2024-06-17 Aldy Hernandez <aldyh@redhat.com> + + * data-streamer-in.cc (streamer_read_value_range): Rename + Value_Range to value_range. + * data-streamer.h (streamer_read_value_range): Same. + * gimple-pretty-print.cc (dump_ssaname_info): Same. + * gimple-range-cache.cc (ssa_block_ranges::dump): Same. + (ssa_lazy_cache::merge): Same. + (block_range_cache::dump): Same. + (ssa_cache::merge_range): Same. + (ssa_cache::dump): Same. + (ranger_cache::edge_range): Same. + (ranger_cache::propagate_cache): Same. + (ranger_cache::fill_block_cache): Same. + (ranger_cache::resolve_dom): Same. + (ranger_cache::range_from_dom): Same. + (ranger_cache::register_inferred_value): Same. + * gimple-range-fold.cc (op1_range): Same. + (op2_range): Same. + (fold_relations): Same. + (fold_using_range::range_of_range_op): Same. + (fold_using_range::range_of_phi): Same. + (fold_using_range::range_of_call): Same. + (fold_using_range::condexpr_adjust): Same. + (fold_using_range::range_of_cond_expr): Same. + (fur_source::register_outgoing_edges): Same. + * gimple-range-fold.h (gimple_range_type): Same. + (gimple_range_ssa_p): Same. + * gimple-range-gori.cc (gori_compute::compute_operand_range): Same. + (gori_compute::logical_combine): Same. + (gori_compute::refine_using_relation): Same. + (gori_compute::compute_operand1_range): Same. + (gori_compute::compute_operand2_range): Same. + (gori_compute::compute_operand1_and_operand2_range): Same. + (gori_calc_operands): Same. + (gori_name_helper): Same. + * gimple-range-infer.cc (gimple_infer_range::check_assume_func): Same. + (gimple_infer_range::gimple_infer_range): Same. + (infer_range_manager::maybe_adjust_range): Same. + (infer_range_manager::add_range): Same. + * gimple-range-infer.h: Same. + * gimple-range-op.cc + (gimple_range_op_handler::gimple_range_op_handler): Same. + (gimple_range_op_handler::calc_op1): Same. + (gimple_range_op_handler::calc_op2): Same. + (gimple_range_op_handler::maybe_builtin_call): Same. + * gimple-range-path.cc (path_range_query::internal_range_of_expr): Same. + (path_range_query::ssa_range_in_phi): Same. + (path_range_query::compute_ranges_in_phis): Same. + (path_range_query::compute_ranges_in_block): Same. + (path_range_query::add_to_exit_dependencies): Same. + * gimple-range-trace.cc (debug_seed_ranger): Same. + * gimple-range.cc (gimple_ranger::range_of_expr): Same. + (gimple_ranger::range_on_entry): Same. + (gimple_ranger::range_on_edge): Same. + (gimple_ranger::range_of_stmt): Same. + (gimple_ranger::prefill_stmt_dependencies): Same. + (gimple_ranger::register_inferred_ranges): Same. + (gimple_ranger::register_transitive_inferred_ranges): Same. + (gimple_ranger::export_global_ranges): Same. + (gimple_ranger::dump_bb): Same. + (assume_query::calculate_op): Same. + (assume_query::calculate_phi): Same. + (assume_query::dump): Same. + (dom_ranger::range_of_stmt): Same. + * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Same. + (ipa_vr_operation_and_type_effects): Same. + (ipa_value_range_from_jfunc): Same. + (propagate_bits_across_jump_function): Same. + (propagate_vr_across_jump_function): Same. + (ipcp_store_vr_results): Same. + * ipa-cp.h: Same. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Same. + (evaluate_properties_for_edge): Same. + * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same. + (ipa_vr::get_vrange): Same. + (ipa_vr::streamer_read): Same. + (ipa_vr::streamer_write): Same. + (ipa_vr::dump): Same. + (ipa_set_jfunc_vr): Same. + (ipa_compute_jump_functions_for_edge): Same. + (ipcp_get_parm_bits): Same. + (ipcp_update_vr): Same. + (ipa_record_return_value_range): Same. + (ipa_return_value_range): Same. + * ipa-prop.h (ipa_return_value_range): Same. + (ipa_record_return_value_range): Same. + * range-op.h (range_cast): Same. + * tree-ssa-dom.cc + (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same. + (cprop_operand): Same. + * tree-ssa-loop-ch.cc (loop_static_stmt_p): Same. + * tree-ssa-loop-niter.cc (record_nonwrapping_iv): Same. + * tree-ssa-loop-split.cc (split_at_bb_p): Same. + * tree-ssa-phiopt.cc (value_replacement): Same. + * tree-ssa-strlen.cc (get_range): Same. + * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same. + (hybrid_jt_simplifier::compute_exit_dependencies): Same. + * tree-ssanames.cc (set_range_info): Same. + (duplicate_ssa_name_range_info): Same. + * tree-vrp.cc (remove_unreachable::handle_early): Same. + (remove_unreachable::remove_and_update_globals): Same. + (execute_ranger_vrp): Same. + * value-query.cc (range_query::value_of_expr): Same. + (range_query::value_on_edge): Same. + (range_query::value_of_stmt): Same. + (range_query::value_on_entry): Same. + (range_query::value_on_exit): Same. + (range_query::get_tree_range): Same. + * value-range-storage.cc (vrange_storage::set_vrange): Same. + * value-range.cc (Value_Range::dump): Same. + (value_range::dump): Same. + (debug): Same. + * value-range.h (enum value_range_discriminator): Same. + (class vrange): Same. + (class Value_Range): Same. + (class value_range): Same. + (Value_Range::Value_Range): Same. + (value_range::value_range): Same. + (Value_Range::~Value_Range): Same. + (value_range::~value_range): Same. + (Value_Range::set_type): Same. + (value_range::set_type): Same. + (Value_Range::init): Same. + (value_range::init): Same. + (Value_Range::operator=): Same. + (value_range::operator=): Same. + (Value_Range::operator==): Same. + (value_range::operator==): Same. + (Value_Range::operator!=): Same. + (value_range::operator!=): Same. + (Value_Range::supports_type_p): Same. + (value_range::supports_type_p): Same. + * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Same. + (simplify_using_ranges::legacy_fold_cond): Same. + +2024-06-17 Hu, Lin1 <lin1.hu@intel.com> + + PR target/115161 + * config/i386/i386-builtin.def: Change CODE_FOR_* for cvtt*'s builtins. + * config/i386/sse.md: + (unspec_avx512fp16_fix<vcvtt_uns_suffix> + _trunc<mode>2<mask_name><round_saeonly_name>): + Use UNSPEC instead of FIX/UNSIGNED_FIX. + (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<mask_name>): + Ditto. + (unspec_avx512fp16_fix<vcvtt_uns_suffix>_truncv2di2<mask_name>): Ditto. + (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<round_saeonly_name>): + Ditto. + (unspec_sse_cvttps2pi): Ditto. + (unspec_sse_cvttss2si<rex64namesuffix><round_saeonly_name>): Ditto. + (unspec_fix<vcvtt_uns_suffix>_truncv16sfv16si2<mask_name><round_saeonly_name>): + Ditto. + (unspec_fix_truncv8sfv8si2<mask_name>): Ditto. + (unspec_fix_truncv4sfv4si2<mask_name>): Ditto. + (unspec_sse2_cvttpd2pi): Ditto. + (unspec_fixuns_truncv2dfv2si2): Ditto. + (unspec_avx512f_vcvttss2usi<rex64namesuffix><round_saeonly_name>): + Ditto. + (unspec_avx512f_vcvttsd2usi<rex64namesuffix><round_saeonly_name>): + Ditto. + (unspec_sse2_cvttsd2si<rex64namesuffix><round_saeonly_name>): Ditto. + (unspec_fix<vcvtt_uns_suffix>_truncv8dfv8si2<mask_name><round_saeonly_name>): + Ditto. + (*unspec_fixuns_truncv2dfv2si2): Ditto. + (unspec_fixuns_truncv2dfv2si2_mask): Ditto. + (unspec_fix_truncv4dfv4si2<mask_name>): Ditto. + (unspec_fixuns_truncv4dfv4si2<mask_name>): Ditto. + (unspec_fix<vcvtt_uns_suffix> + _trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>): + Ditto. + (unspec_fix<vcvtt_uns_suffix> + _trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>): + Ditto. + (unspec_avx512dq_fix<vcvtt_uns_suffix>_truncv2sfv2di2<mask_name>): + Ditto. + (<mask_codefor>unspec_fixuns_trunc<mode><sseintvecmodelower>2<mask_name>): + Ditto. + (unspec_sse2_cvttpd2dq<mask_name>): Ditto. + +2024-06-17 Levy Hsu <admin@levyhsu.com> + + * config/i386/i386-expand.cc + (ix86_vectorize_vec_perm_const): Convert BF to HI using subreg. + * config/i386/predicates.md + (vcvtne2ps2bf_parallel): New define_insn_and_split. + * config/i386/sse.md + (vpermt2_sepcial_bf16_shuffle_<mode>): New predicates matches odd increasing perm. + +2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * config/s390/vector.md (*vmrhf_half<mode>): New. + (extendv2sfv2df2): New. + +2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + PR target/115261 + * config/s390/s390.md (any_extend,extend_insn,zero_extend): + New code attributes and code iterator. + * config/s390/vector.md (V_EXTEND): New mode iterator. + (<extend_insn><V_EXTEND:mode><vec_2x_wide>2): New insn. + +2024-06-16 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/100211 + * config/aarch64/aarch64.h (machine_function): Fix the size + of reg_is_wrapped_separately. + +2024-06-16 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md ((1 << N) | C): New splitter for IOR/XOR + of a single bit an a DImode object. + +2024-06-16 Jeff Law <jlaw@ventanamicro.com> + + * config/sh/sh.md (neg_zero_extract_4b): New pattern. + +2024-06-16 Peter Damianov <peter0x44@disroot.org> + + * pretty-print.cc (mingw_ansi_fputs): Don't translate escape sequences if + the console has ENABLE_VIRTUAL_TERMINAL_PROCESSING. + +2024-06-16 Peter Damianov <peter0x44@disroot.org> + + * diagnostic-color.cc (auto_enable_urls): Don't hardcode to return + false on mingw hosts. + (auto_enable_urls): Return true if console + supports ansi escape sequences. + +2024-06-16 Peter Damianov <peter0x44@disroot.org> + + * diagnostic-color.cc (should_colorize): Enable processing of VT100 + escape sequences on windows consoles + +2024-06-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): + Fix allocation size of buffer. + (riscv_process_one_target_attr): Likewise. + (riscv_process_target_attr): Likewise. + +2024-06-15 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific): Remove pointer to old versions + of binutils. + +2024-06-14 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-gori.cc (gori_calc_operands): Do not continue nor + add the range when VARYING is produced for an operand. + +2024-06-14 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ssa_lazy_cache::merge): New. + * gimple-range-cache.h (ssa_lazy_cache::merge): New prototype. + +2024-06-14 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (fold_using_range::range_of_call): Ensure + LHS is an SSA_NAME before invoking gimple_range_global. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * match.pd: Add more match for unsigned sat_sub. + * tree-ssa-math-opts.cc (match_unsigned_saturation_sub): Add new + func impl to match phi node for .SAT_SUB. + (math_opts_dom_walker::after_dom_children): Try match .SAT_SUB + for the phi node, MULT_EXPR, BIT_XOR_EXPR and BIT_AND_EXPR. + +2024-06-14 Jan Beulich <jbeulich@suse.com> + + * configure.ac: Drop ${objdir}/ from NM and AR. Move setting of + ld_ver out of conditional. + * configure: Re-generate. + +2024-06-14 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vectorizable_reduction): Allow + single-def-use cycles with SLP. + (vect_transform_reduction): Handle SLP single def-use cycles. + (vect_transform_cycle_phi): Likewise. + +2024-06-14 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/invoke.texi (x86 Options): Consolidate duplicate MOVBE + listings for haswell, broadwell, skylake, skylake-avx512, + cannonlake, icelake-client, icelake-server, cascadelake, + cooperlake, tigerlake, sapphirerapids, rocketlake, graniterapids, + and graniterapids-d options to -march. + +2024-06-14 Pan Li <pan2.li@intel.com> + + PR target/115456 + * config/riscv/vector-iterators.md: Leverage V_ZVFH instead of V + which contains the VF_ZVFHMIN for alignment. + +2024-06-14 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific): Remove stale reference to Interix. + +2024-06-14 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): Do not + re-use poly-int remain but re-compute with non-poly values. + Verify the shortened load is good enough to be covered with + a single scalar gap iteration before accepting it. + +2024-06-14 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386.cc (ix86_rtx_costs): Adjust rtx_cost for + pternlog_operand under AVX512, also adjust VEC_DUPLICATE + according since vec_dup:mem can't be that cheap. + +2024-06-14 liuhongt <hongtao.liu@intel.com> + + * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Remove + latest Intel processors. + Co-authored by: Lingling Kong <lingling.kong@intel.com> + +2024-06-14 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386-expand.cc (ix86_expand_ternlog): Try performing + logic operation in a different vector mode if that enables use of + a 32-bit or 64-bit broadcast addressing mode. + +2024-06-14 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/113212 + * expr.h (const_seqpops): New typedef. + (expand_expr_real_2): Constify the first argument. + * optabs.cc (expand_widen_pattern_expr): Likewise. + * optabs.h (expand_widen_pattern_expr): Likewise. + * expr.cc (expand_expr_real_2): Likewise + (do_store_flag): Likewise. Remove incorrect store to ops->code. + +2024-06-13 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/sync-rvwmo.md: Add support for subword fenced + loads/stores. + * config/riscv/sync-ztso.md: Ditto. + * config/riscv/sync.md: Ditto. + +2024-06-13 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/extend.texi (AArch64 Function Attributes): Add + (AVR Variable Attributes): Ditto. + (Common Type Attributes): Ditto. + +2024-06-13 Hongyu Wang <hongyu.wang@intel.com> + + PR target/115370 + PR target/115463 + * target.def (have_ccmp): New target hook. + * targhooks.cc (default_have_ccmp): New function. + * targhooks.h (default_have_ccmp): New prototype. + * doc/tm.texi.in: Add TARGET_HAVE_CCMP. + * doc/tm.texi: Regenerate. + * cfgexpand.cc (expand_gimple_cond): Call targetm.have_ccmp + instead of checking if targetm.gen_ccmp_first exists. + * expr.cc (expand_expr_real_gassign): Likewise. + * config/i386/i386.cc (ix86_have_ccmp): New target hook to + check if APX_CCMP enabled. + (TARGET_HAVE_CCMP): Define. + +2024-06-13 Richard Sandiford <richard.sandiford@arm.com> + + PR target/115464 + * simplify-rtx.cc (simplify_context::simplify_subreg): Don't try + to fold two subregs together if their relationship isn't known + at compile time. + * explow.h (force_subreg): Declare. + * explow.cc (force_subreg): New function. + * config/aarch64/aarch64-sve-builtins-base.cc + (svset_neonq_impl::expand): Use it instead of simplify_gen_subreg. + +2024-06-13 Pan Li <pan2.li@intel.com> + + PR target/115456 + * config/riscv/autovec.md: Take ZVFH mode iterator instead of + the ZVFHMIN for the alignment. + * config/riscv/vector-iterators.md: Add 2 new iterator + V_VLS_ZVFH and VLS_ZVFH. + +2024-06-13 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386.md (@ccmp<mode>): Add new alternative + <r>,C and adjust output templates. Also adjust UNSPEC mode + to CCmode. + +2024-06-13 Gerald Pfeifer <gerald@pfeifer.com> + + PR other/69374 + * doc/install.texi (Prerequisites): Simplify note on the C++ + compiler required. Drop requirements for versions of GCC prior + to 3.4. Fix grammar. + +2024-06-13 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (get_group_load_store_type): Consistently + use VMAT_STRIDED_SLP for strided SLP accesses and not + VMAT_ELEMENTWISE. + (vectorizable_store): Adjust VMAT_STRIDED_SLP handling to + allow not only half-size but also smaller accesses. + (vectorizable_load): Likewise. + +2024-06-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115385 + * tree-vect-stmts.cc (get_group_load_store_type): Peeling + of a single scalar iteration is sufficient if we can narrow + the access to the next power of two of the bits in the last + access. + (vectorizable_load): Ensure that the last access is narrowed. + +2024-06-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114107 + PR tree-optimization/110445 + * tree-vect-stmts.cc (get_group_load_store_type): Refactor + contiguous access case. Make sure peeling for gap constraints + are always tested and consistently relax when we know we can + avoid touching excess elements during code generation. But + rewrite the check poly-int aware. + +2024-06-13 Andi Kleen <ak@linux.intel.com> + + * doc/extend.texi: Use std::string_view in asm constexpr + example. + +2024-06-13 liuhongt <hongtao.liu@intel.com> + + PR target/115452 + * config/i386/i386-features.cc (scalar_chain::convert_op): Use + reg_or_subregno instead of REGNO to avoid ICE. + +2024-06-13 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips-cpus.def: Use PROCESSOR_24KF1_1 for mips32; + Use PROCESSOR_5KF for mips64/mips64r2/mips64r3/mips64r5. + +2024-06-13 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips-modes.def: New CC_MODE CCE. + * config/mips/mips-protos.h(mips_output_compare): New function. + * config/mips/mips.cc(mips_allocate_fcc): Set CCEmode count=1. + (mips_emit_compare): Use CCEmode for LTGT/LT/LE for pre-R6. + (mips_output_compare): New function. Convert lt/le to slt/sle + for R6; convert ueq to ngl for CCEmode. + (mips_hard_regno_mode_ok_uncached): Mention CCEmode. + * config/mips/mips.h: Mention CCEmode for LOAD_EXTEND_OP. + * config/mips/mips.md(FPCC): Add CCE. + (define_mode_iterator MOVECC): Mention CCE. + (define_mode_attr reg): Add CCE with "z". + (define_mode_attr fpcmp): Add CCE with "c". + (define_code_attr fcond): ltgt should use sne instead of ne. + (s<code>_<SCALARF:mode>_using_<FPCC:mode>): call mips_output_compare. + +2024-06-13 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386-opts.h (enum apx_features): Add apx_zu. + * config/i386/i386.h (TARGET_APX_ZU): Define. + * config/i386/i386.md (*imulhi<mode>zu): New define_insn. + (*setcc_<mode>_zu): Ditto. + * config/i386/i386.opt: Add enum value for zu. + +2024-06-12 David Malcolm <dmalcolm@redhat.com> + + PR bootstrap/115465 + * config/aarch64/aarch64-early-ra.cc (early_ra::process_block): + Update for fields of pretty_printer becoming private in + r15-1209-gc5e3be456888aa. + +2024-06-12 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/115176 + * config/aarch64/aarch64-simd.md (aarch64_rbit<mode><vczle><vczbe>): Use + bitreverse instead of unspec. + * config/aarch64/aarch64-sve-builtins-base.cc (svrbit): Convert over to using + rtx_code_function instead of unspec_based_function. + * config/aarch64/aarch64-sve.md: Update comment where RBIT is included. + * config/aarch64/aarch64.cc (aarch64_rtx_costs): Handle BITREVERSE like BSWAP. + Remove UNSPEC_RBIT support. + * config/aarch64/aarch64.md (unspec): Remove UNSPEC_RBIT. + (aarch64_rbit<mode>): Use bitreverse instead of unspec. + * config/aarch64/iterators.md (SVE_INT_UNARY): Add bitreverse. + (optab): Likewise. + (sve_int_op): Likewise. + (SVE_INT_UNARY): Remove UNSPEC_RBIT. + (optab): Likewise. + (sve_int_op): Likewise. + (min_elem_bits): Likewise. + +2024-06-12 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115449 + * gimple-match-head.cc (gimple_maybe_truncate): New declaration. + (gimple_bitwise_equal_p): Match truncations that differ only + in types with the same precision. + (gimple_bitwise_inverted_equal_p): For matching after bit_not_with_nop + call gimple_bitwise_equal_p. + * match.pd (maybe_truncate): New match pattern. + +2024-06-12 Victor Do Nascimento <victor.donascimento@arm.com> + + PR tree-optimization/114061 + * tree-data-ref.cc (get_references_in_stmt): set + `clobbers_memory' to false for __builtin_prefetch. + * tree-vect-loop.cc (vect_transform_loop): Drop all + __builtin_prefetch calls from loops. + +2024-06-12 David Malcolm <dmalcolm@redhat.com> + + * dumpfile.cc (dump_pretty_printer::emit_items): Update for + changes to chunk_info. + * pretty-print.cc (chunk_info::append_formatted_chunk): New, based + on code in cp/error.cc's append_formatted_chunk. + (chunk_info::pop_from_output_buffer): New, based on code in + pp_output_formatted_text and dump_pretty_printer::emit_items. + (on_begin_quote): Convert to... + (chunk_info::on_begin_quote): ...this. + (on_end_quote): Convert to... + (chunk_info::on_end_quote): ...this. + (pretty_printer::format): Update for chunk_info becoming a class + and its fields gaining "m_" prefixes. Update for on_begin_quote + and on_end_quote moving to chunk_info. + (quoting_info::handle_phase_3): Update for changes to chunk_info. + (pp_output_formatted_text): Likewise. Move cleanup code to + chunk_info::pop_from_output_buffer. + * pretty-print.h (class output_buffer): New forward decl. + (class urlifier): New forward decl. + (struct chunk_info): Convert to... + (class chunk_info): ...this. Add friend class pretty_printer. + (chunk_info::get_args): New accessor. + (chunk_info::get_quoting_info): New accessor. + (chunk_info::append_formatted_chunk): New decl. + (chunk_info::pop_from_output_buffer): New decl. + (chunk_info::on_begin_quote): New decl. + (chunk_info::on_end_quote): New decl. + (chunk_info::prev): Rename to... + (chunk_info::m_prev): ...this. + (chunk_info::args): Rename to... + (chunk_info::m_args): ...this. + (output_buffer::cur_chunk_array): Drop "struct" from decl. + +2024-06-12 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_context::urls_init): Update for fields + of pretty_printer becoming private. + (diagnostic_context::print_any_cwe): Likewise. + (diagnostic_context::print_any_rules): Likewise. + (diagnostic_context::print_option_information): Likewise. + * diagnostic.h (diagnostic_format_decoder): Likewise. + (diagnostic_prefixing_rule): Likewise, fixing typo. + * digraph.cc (test_dump_to_dot): Likewise. + * digraph.h (digraph<GraphTraits>::dump_dot_to_file): Likewise. + * dumpfile.cc + (dump_pretty_printer::emit_any_pending_textual_chunks): Likewise. + * gimple-pretty-print.cc (print_gimple_stmt): Likewise. + (print_gimple_expr): Likewise. + (print_gimple_seq): Likewise. + (dump_ssaname_info_to_file): Likewise. + (gimple_dump_bb): Likewise. + * graph.cc (print_graph_cfg): Likewise. + (start_graph_dump): Likewise. + * langhooks.cc (lhd_print_error_function): Likewise. + * lto-wrapper.cc (print_lto_docs_link): Likewise. + * pretty-print.cc (pp_set_real_maximum_length): Convert to... + (pretty_printer::set_real_maximum_length): ...this. + (pp_clear_state): Convert to... + (pretty_printer::clear_state): ...this. + (pp_wrap_text): Update for pp_remaining_character_count_for_line + becoming a member function. + (urlify_quoted_string): Update for fields of pretty_printer becoming + private. + (pp_format): Convert to... + (pretty_printer::format): ...this. Reduce the scope of local + variables "old_line_length" and "old_wrapping_mode" and make + const. Reduce the scope of locals "args", "new_chunk_array", + "curarg", "any_unnumbered", and "any_numbered". + (pp_output_formatted_text): Update for fields of pretty_printer + becoming private. + (pp_flush): Likewise. + (pp_really_flush): Likewise. + (pp_set_line_maximum_length): Likewise. + (pp_set_prefix): Convert to... + (pretty_printer::set_prefix): ...this. + (pp_take_prefix): Update for fields of pretty_printer gaining + "m_" prefixes. + (pp_destroy_prefix): Likewise. + (pp_emit_prefix): Convert to... + (pretty_printer::emit_prefix): ...this. + (pretty_printer::pretty_printer): Update both ctors for fields + gaining "m_" prefixes. + (pretty_printer::~pretty_printer): Likewise for dtor. + (pp_append_text): Update for pp_emit_prefix becoming + pretty_printer::emit_prefix. + (pp_remaining_character_count_for_line): Convert to... + (pretty_printer::remaining_character_count_for_line): ...this. + (pp_character): Update for above change. + (pp_maybe_space): Convert to... + (pretty_printer::maybe_space): ...this. + (pp_begin_url): Convert to... + (pretty_printer::begin_url): ...this. + (get_end_url_string): Update for fields of pretty_printer + becoming private. + (pp_end_url): Convert to... + (pretty_printer::end_url): ...this. + (selftest::test_pretty_printer::test_pretty_printer): Update for + fields of pretty_printer becoming private. + (selftest::test_urls): Likewise. + (selftest::test_null_urls): Likewise. + (selftest::test_urlification): Likewise. + * pretty-print.h (pp_line_cutoff): Convert from macro to inline + function. + (pp_prefixing_rule): Likewise. + (pp_wrapping_mode): Likewise. + (pp_format_decoder): Likewise. + (pp_needs_newline): Likewise. + (pp_indentation): Likewise. + (pp_translate_identifiers): Likewise. + (pp_show_color): Likewise. + (pp_buffer): Likewise. + (pp_get_prefix): Add forward decl to allow friend decl. + (pp_take_prefix): Likewise. + (pp_destroy_prefix): Likewise. + (class pretty_printer): Fix typo in leading comment. Add + "friend" decls for the various new accessor functions that were + formerly macros and for pp_get_prefix, pp_take_prefix, and + pp_destroy_prefix. Make all fields private. + (pretty_printer::set_output_stream): New. + (pretty_printer::set_prefix): New decl. + (pretty_printer::emit_prefix): New decl. + (pretty_printer::format): New decl. + (pretty_printer::maybe_space): New decl. + (pretty_printer::supports_urls_p): New. + (pretty_printer::get_url_format): New. + (pretty_printer::set_url_format): New. + (pretty_printer::begin_url): New decl. + (pretty_printer::end_url): New decl. + (pretty_printer::set_verbatim_wrapping): New. + (pretty_printer::set_padding): New. + (pretty_printer::get_padding): New. + (pretty_printer::clear_state): New decl. + (pretty_printer::set_real_maximum_length): New decl. + (pretty_printer::remaining_character_count_for_line): New decl. + (pretty_printer::buffer): Rename to... + (pretty_printer::m_buffer): ...this. + (pretty_printer::prefix): Rename to... + (pretty_printer::m_prefix): ...this; + (pretty_printer::padding): Rename to... + (pretty_printer::m_padding): ...this; + (pretty_printer::maximum_length): Rename to... + (pretty_printer::m_maximum_length): ...this; + (pretty_printer::indent_skip): Rename to... + (pretty_printer::m_indent_skip): ...this; + (pretty_printer::wrapping): Rename to... + (pretty_printer::m_wrapping): ...this; + (pretty_printer::format_decoder): Rename to... + (pretty_printer::m_format_decoder): ...this; + (pretty_printer::emitted_prefix): Rename to... + (pretty_printer::m_emitted_prefix): ...this; + (pretty_printer::need_newline): Rename to... + (pretty_printer::m_need_newline): ...this; + (pretty_printer::translate_identifiers): Rename to... + (pretty_printer::m_translate_identifiers): ...this; + (pretty_printer::show_color): Rename to... + (pretty_printer::m_show_color): ...this; + (pretty_printer::url_format): Rename to... + (pretty_printer::m_url_format): ...this; + (pp_get_prefix): Reformat. + (pp_format_postprocessor): New inline function. + (pp_take_prefix): Move decl to before class pretty_printer. + (pp_destroy_prefix): Likewise. + (pp_set_prefix): Convert to inline function. + (pp_emit_prefix): Convert to inline function. + (pp_format): Convert to inline function. + (pp_maybe_space): Convert to inline function. + (pp_begin_url): Convert to inline function. + (pp_end_url): Convert to inline function. + (pp_set_verbatim_wrapping): Convert from macro to inline + function, renaming... + (pp_set_verbatim_wrapping_): ...this. + * print-rtl.cc (dump_value_slim): Update for fields of + pretty_printer becoming private. + (dump_insn_slim): Likewise. + (dump_rtl_slim): Likewise. + * print-tree.cc (print_node): Likewise. + * sched-rgn.cc (dump_rgn_dependencies_dot): Likewise. + * text-art/canvas.cc (canvas::print_to_pp): Likewise. + (canvas::debug): Likewise. + (selftest::test_canvas_urls): Likewise. + * text-art/dump.h (dump_to_file): Likewise. + * text-art/selftests.cc (selftest::assert_canvas_streq): Likewise. + * text-art/style.cc (style::print_changes): Likewise. + * text-art/styled-string.cc (styled_string::from_fmt_va): + Likewise. + * tree-diagnostic-path.cc (control_flow_tests): Update for + pp_show_color becoming an inline function. + * tree-loop-distribution.cc (dot_rdg_1): Update for fields of + pretty_printer becoming private. + * tree-pretty-print.cc (maybe_init_pretty_print): Likewise. + * value-range.cc (vrange::dump): Likewise. + (irange_bitmask::dump): Likewise. + +2024-06-12 David Malcolm <dmalcolm@redhat.com> + + * gimple-pretty-print.cc: Rename pretty_printer "buffer" to "pp" + throughout. + * print-tree.cc (print_node): Likewise. + * tree-loop-distribution.cc (dot_rdg_1): Likewise. + * tree-pretty-print.h (dump_location): Likewise. + * value-range.cc (vrange::dump): Likewise. + (irange_bitmask::dump): Likewise. + +2024-06-12 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/predicates.md (high_bitmask_operand): New + predicate. + * config/loongarch/constraints.md (Yy): New constriant. + * config/loongarch/loongarch.md (and<mode>3_align): New + define_insn_and_split. + +2024-06-12 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc + (loongarch_expand_conditional_move): Compare mode size with + UNITS_PER_WORD instead of word_mode. + +2024-06-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + PR target/115253 + * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear): + Sign extend for Thumb1. + (thumb1_expand_prologue): Add zero/sign extend. + +2024-06-12 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <*-*-cygwin>: Update web link. + +2024-06-12 Pan Li <pan2.li@intel.com> + + * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): + Leverage gsi_after_labels instead of gsi_start_bb to skip the + leading labels of bb. + +2024-06-12 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <*-*-linux-gnu>: Do not list + glibc 2.1 and binutils 2.12 as minimum dependencies. + +2024-06-12 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/113681 + * tree-profile.cc (pass_ipa_tree_profile::gate): Skip if + seen_errors. + +2024-06-12 liuhongt <hongtao.liu@intel.com> + + PR target/115384 + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): + Only do the simplification of (AND (ASHIFTRT A imm) mask) + to (LSHIFTRT A imm) when the component of const_vector is + CONST_INT_P. + +2024-06-11 Joseph Myers <josmyers@redhat.com> + + * doc/cpp.texi (__STDC_VERSION__): Document C2Y handling. + * doc/invoke.texi (-Wc23-c2y-compat, -std=c2y, -std=gnu2y): + Document options. + (-std=gnu23): Update documentation. + * doc/standards.texi (C Language): Document C2Y. Update C23 + description. + * config/rl78/rl78.cc (rl78_option_override): Handle "GNU C2Y" + language name. + * dwarf2out.cc (highest_c_language, gen_compile_unit_die): + Likewise. + +2024-06-11 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <x86_64-*-solaris2*>: Remove + redundant introduction of x86-64. + +2024-06-11 Robin Dapp <rdapp@ventanamicro.com> + + PR tree-optimization/115382 + * tree-vect-loop.cc (vectorize_fold_left_reduction): Use + prepare_vec_mask. + * tree-vect-stmts.cc (check_load_store_for_partial_vectors): + Remove static of prepare_vec_mask. + * tree-vectorizer.h (prepare_vec_mask): Export. + +2024-06-11 Patrick O'Neill <patrick@rivosinc.com> + + * config/riscv/sync.md (atomic_<atomic_optab><mode>): New expand pattern. + (amo_atomic_<atomic_optab><mode>): Rename amo pattern. + (atomic_fetch_<atomic_optab><mode>): New lrsc sequence pattern. + (lrsc_atomic_<atomic_optab><mode>): New expand pattern. + (amo_atomic_fetch_<atomic_optab><mode>): Rename amo pattern. + (lrsc_atomic_fetch_<atomic_optab><mode>): New lrsc sequence pattern. + (atomic_exchange<mode>): New expand pattern. + (amo_atomic_exchange<mode>): Rename amo pattern. + (lrsc_atomic_exchange<mode>): New lrsc sequence pattern. + +2024-06-11 Patrick O'Neill <patrick@rivosinc.com> + + * doc/sourcebuild.texi: Add docs for atomic extension testsuite infra. + +2024-06-11 Edwin Lu <ewlu@rivosinc.com> + Patrick O'Neill <patrick@rivosinc.com> + + * common/config/riscv/riscv-common.cc: Add Zaamo and Zalrsc. + * config/riscv/arch-canonicalize: Make A imply Zaamo and Zalrsc. + * config/riscv/riscv.opt: Add Zaamo and Zalrsc + * config/riscv/sync.md: Convert TARGET_ATOMIC to TARGET_ZAAMO and + TARGET_ZALRSC. + +2024-06-11 Uros Bizjak <ubizjak@gmail.com> + + PR target/112600 + * config/i386/i386.md (usadd<mode>3): Emit insn sequence + involving conditional move for TARGET_CMOVE targets. + (ussub<mode>3): Ditto. + +2024-06-11 Pengxuan Zheng <quic_pzheng@quicinc.com> + + * config/aarch64/aarch64-builtins.cc (VAR1): Remap float_truncate_lo_ + builtin codes to standard optab ones. + * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_<mode><vczle><vczbe>): + Rename to... + (trunc<Vwide><mode>2<vczle><vczbe>): ... This. + +2024-06-11 Andi Kleen <ak@linux.intel.com> + + * doc/extend.texi: Document constexpr asm. + +2024-06-11 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-fold.cc (range_of_ssa_name_with_loop_info): Issue a + message if SCEV is not invoked due to a mismatch. + +2024-06-11 Roger Sayle <roger@nextmovesoftware.com> + + PR target/115397 + * config/i386/i386-expand.cc (ix86_expand_ternlog): Move call to + ix86_broadcast_from_constant before call to validize_mem, but after + call to force_const_mem. + +2024-06-11 Pan Li <pan2.li@intel.com> + + * config/riscv/autovec.md (ussub<mode>3): Add new pattern impl + for the unsigned vector modes. + * config/riscv/riscv-protos.h (expand_vec_ussub): Add new func + decl to expand .SAT_SUB for vector mode. + * config/riscv/riscv-v.cc (emit_vec_saddu): Add new func impl + to expand .SAT_SUB for vector mode. + (emit_vec_binary_alu): Add new helper func to emit binary alu. + (expand_vec_ussub): Leverage above helper func. + +2024-06-10 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (Documentation): Fix typos, grammar, and a link. + +2024-06-10 Andrew MacLeod <amacleod@redhat.com> + + * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker): + Always use current range_query. + (pass_data_array_bounds): New. + (pass_array_bounds): New. + (make_pass_array_bounds): New. + * gimple-array-bounds.h (array_bounds_checker): Adjust prototype. + * passes.def (pass_array_bounds): New. Add after VRP1. + * timevar.def (TV_TREE_ARRAY_BOUNDS): New timevar. + * tree-pass.h (make_pass_array_bounds): Add prototype. + * tree-vrp.cc (execute_ranger_vrp): Remove warning param and do + not invoke array bounds warning pass. + (pass_vrp::pass_vrp): Adjust params. + (pass_vrp::close): Adjust parameters. + (pass_vrp::warn_array_bounds_p): Remove. + (make_pass_vrp): Remove warning param. + (make_pass_early_vrp): Remove warning param. + (make_pass_fast_vrp): Remove warning param. + +2024-06-10 Raphael Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/bitmanip.md (*bextdisi): New pattern. + +2024-06-10 Pan Li <pan2.li@intel.com> + + PR target/115387 + * tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children): Take + the gsi of start_bb instead of last_bb. + +2024-06-10 Raphael Zinsly <rzinsly@ventanamicro.com> + + * config/riscv/bitmanip.md (*bextdisi): New pattern. + +2024-06-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115388 + * tree-ssa-dse.cc (dse_classify_store): Handle irreducible + regions. + (pass_dse::execute): Make sure to mark backedges. + +2024-06-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115395 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): + Handle STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT also for SLP + reductions of group_size one. + +2024-06-10 Andreas Krebbel <krebbel@linux.ibm.com> + + * config/s390/s390.cc (expand_perm_as_replicate): Handle memory + operands. + * config/s390/vx-builtins.md (vec_splats<mode>): Turn into parameterized expander. + (@vec_splats<mode>): New expander. + +2024-06-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115383 + * tree-vect-stmts.cc (vectorizable_condition): Handle + generating a chain of .FOLD_EXTRACT_LAST. + +2024-06-09 Andreas Tobler <andreast@gcc.gnu.org> + + * config/freebsd-spec.h: Change fbsd-lib-spec for FreeBSD > 13, + do not link against profiled system libraries if -pg is invoked. + Add a define to note about this change. + * config/aarch64/aarch64-freebsd.h: Use the note to inform if + -pg is invoked on FreeBSD > 13. + * config/arm/freebsd.h: Likewise. + * config/i386/freebsd.h: Likewise. + * config/i386/freebsd64.h: Likewise. + * config/riscv/freebsd.h: Likewise. + * config/rs6000/freebsd64.h: Likewise. + * config/rs6000/sysv4.h: Likeise. + +2024-06-09 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_move_integer): Initialize "x". + +2024-06-09 Uros Bizjak <ubizjak@gmail.com> + + PR target/112600 + * config/i386/i386.md (ussub<mode>3): New expander. + (sub<mode>_3): Ditto. + +2024-06-09 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/install.texi (avr): Remove link to www.amelek.gda.pl/avr/. + +2024-06-09 Roger Sayle <roger@nextmovesoftware.com> + + * expmed.cc (expand_shift_1): Use add_optab instead of ior_optab + to generate PLUS instead or IOR when unioning disjoint bitfields. + * optabs.cc (expand_subword_shift): Likewise. + (expand_binop): Likewise for double-word rotate. + +2024-06-08 Peter Bergner <bergner@linux.ibm.com> + + * config/rs6000/rs6000-logue.cc (rs6000_stack_info): Update comment. + +2024-06-08 Uros Bizjak <ubizjak@gmail.com> + + PR target/112600 + * config/i386/i386.md (usadd<mode>3): New expander. + (x86_mov<mode>cc_0_m1_neg): Use SWI mode iterator. + +2024-06-08 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-protos.h (riscv_expand_ussub): Add new func + decl for ussub expanding. + * config/riscv/riscv.cc (riscv_expand_ussub): Ditto but for impl. + * config/riscv/riscv.md (ussub<mode>3): Add new pattern ussub + for scalar modes. + +2024-06-07 David Malcolm <dmalcolm@redhat.com> + + * doc/invoke.texi: Add -Wanalyzer-undefined-behavior-ptrdiff. + +2024-06-07 Jason Merrill <jason@redhat.com> + + * doc/invoke.texi (C++ Modules): Mention -include. + +2024-06-07 Roger Sayle <roger@nextmovesoftware.com> + + PR target/115351 + * config/i386/i386.cc (ix86_rtx_costs): Provide estimates for + the *concatditi3 and *insvti_highpart patterns, about two insns. + +2024-06-07 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + * config/i386/i386-expand.cc (ix86_expand_args_builtin): Call + fixup_modeless_constant before testing predicates. Only call + copy_to_mode_reg on memory operands (after the first one). + (ix86_gen_bcst_mem): Helper function to convert a CONST_VECTOR + into a VEC_DUPLICATE if possible. + (ix86_ternlog_idx): Convert an RTX expression into a ternlog + index between 0 and 255, recording the operands in ARGS, if + possible or return -1 if this is not possible/valid. + (ix86_ternlog_leaf_p): Helper function to identify "leaves" + of a ternlog expression, e.g. REG_P, MEM_P, CONST_VECTOR, etc. + (ix86_ternlog_operand_p): Test whether a expression is suitable + for and prefered as an UNSPEC_TERNLOG. + (ix86_expand_ternlog_binop): Helper function to construct the + binary operation corresponding to a sufficiently simple ternlog. + (ix86_expand_ternlog_andnot): Helper function to construct a + ANDN operation corresponding to a sufficiently simple ternlog. + (ix86_expand_ternlog): Expand a 3-operand ternary logic + expression, constructing either an UNSPEC_TERNLOG or simpler + rtx expression. Called from builtin expanders and pre-reload + splitters. + * config/i386/i386-protos.h (ix86_ternlog_idx): Prototype here. + (ix86_ternlog_operand_p): Likewise. + (ix86_expand_ternlog): Likewise. + * config/i386/predicates.md (ternlog_operand): New predicate + that calls xi86_ternlog_operand_p. + * config/i386/sse.md (<avx512>_vpternlog<mode>_0): New + define_insn_and_split that recognizes a SET_SRC of ternlog_operand + and expands it via ix86_expand_ternlog pre-reload. + (<avx512>_vternlog<mode>_mask): Convert from define_insn to + define_expand. Use ix86_expand_ternlog if the mask operand is + ~0 (or 255 or -1). + (*<avx512>_vternlog<mode>_mask): define_insn renamed from above. + +2024-06-07 Michal Jires <mjires@suse.cz> + + * common.opt: Add cache partitioning. + * flag-types.h (enum lto_partition_model): Likewise. + +2024-06-07 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vectorize_fold_left_reduction): Fix + mask vector operand indexing. + +2024-06-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/115352 + * gimple-lower-bitint.cc (lower_addsub_overflow): Don't disable + single_comparison if cmp_code is GE_EXPR. + +2024-06-07 Alexandre Oliva <oliva@adacore.com> + + * target.def (call_offset_return_label): New hook. + * doc/tm.texi.in (TARGET_CALL_OFFSET_RETURN_LABEL): Add + placeholder. + * doc/tm.texi: Rebuild. + * dwarf2out.cc (struct call_arg_loc_node): Record call_insn + instead of call_arg_loc_note. + (add_AT_lbl_id): Add optional offset argument. + (gen_call_site_die): Compute and pass on a return pc offset. + (gen_subprogram_die): Move call_arg_loc_note computation... + (dwarf2out_var_location): ... from here. Set call_insn. + +2024-06-06 Pan Li <pan2.li@intel.com> + + * doc/match-and-simplify.texi: Add doc for the matching flag '^'. + * genmatch.cc (cmp_operand): Add match_phi comparation. + (dt_node::gen_kids_1): Add cond_expr bool flag for phi match. + (dt_operand::gen_phi_on_cond): Add new func to gen phi matching + on cond_expr. + (parser::parse_expr): Add handling for the expr flag '^'. + * match.pd: Add more form for unsigned .SAT_ADD. + * tree-ssa-math-opts.cc (build_saturation_binary_arith_call): Add + new func impl to build call for phi gimple. + (match_unsigned_saturation_add): Add new func impl to match the + .SAT_ADD for phi gimple. + (math_opts_dom_walker::after_dom_children): Add phi matching + try for all gimple phi stmt. + +2024-06-06 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113880 + PR target/113869 + * config/aarch64/aarch64-builtins.cc (VAR1): Remap float_extend_lo_ + builtin codes to standard optab ones. + * config/aarch64/aarch64-simd.md (aarch64_float_extend_lo_<Vwide>): Rename + to... + (extend<mode><Vwide>2): ... This. + +2024-06-06 Andrew Pinski <quic_apinski@quicinc.com> + + PR plugins/115288 + * Makefile.in (CPPLIB_H): Add label-text.h. + +2024-06-06 Richard Ball <richard.ball@arm.com> + + * config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): + Add missing __ARM_NEON_SVE_BRIDGE. + +2024-06-06 Richard Ball <richard.ball@arm.com> + + PR target/115353 + * config/arm/arm.h (enum arm_auto_incmodes): + Correct CASE_VECTOR_SHORTEN_MODE query. + +2024-06-06 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-sve.md (@aarch64_pred_cmp<cmp_op><mode>, + *cmp<cmp_op><mode>_cc, *cmp<cmp_op><mode>_ptest, + @aarch64_pred_cmp<cmp_op><mode>_wide, + *aarch64_pred_cmp<cmp_op><mode>_wide_cc, + *aarch64_pred_cmp<cmp_op><mode>_wide_ptest): Fix Upl tie alternative. + * config/aarch64/aarch64-sve2.md (@aarch64_pred_<sve_int_op><mode>): Fix + Upl tie alternative. + +2024-06-06 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx.md (nvptx_uniform_warp_check): Make fit for + non-full-warp execution, via 'vote.all.pred'. + +2024-06-06 Pan Li <pan2.li@intel.com> + + * match.pd: Add new form for vector mode recog. + * tree-vect-patterns.cc (gimple_unsigned_integer_sat_sub): Add + new match func decl; + (vect_recog_build_binary_gimple_call): Extract helper func to + build gcall with given internal_fn. + (vect_recog_sat_sub_pattern): Add new func impl to recog .SAT_SUB. + +2024-06-06 Michal Jires <mjires@suse.cz> + + * lto-streamer.cc (lto_get_section_name): Remove suffixes after WPA. + +2024-06-06 Michal Jires <mjires@suse.cz> + + * lto-opts.cc (lto_write_options): Skip OPT_fltrans_output_list_. + +2024-06-06 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv.opt.urls: Regenerate. + +2024-06-06 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386-expand.cc (ix86_gen_ccmp_first): + Add fp compare and check the allowed fp compare type. + (ix86_gen_ccmp_next): Adjust compare_code input to ccmp for + fp compare. + +2024-06-06 Hongyu Wang <hongyu.wang@intel.com> + + * ccmp.cc (expand_ccmp_expr_1): Check ret and ret2 of + expand_ccmp_next, returns the valid one first instead of + comparing cost. + +2024-06-06 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386-expand.cc (ix86_gen_ccmp_first): New function + that test if the first compare can be generated. + (ix86_gen_ccmp_next): New function to emit a simgle compare and ccmp + sequence. + * config/i386/i386-opts.h (enum apx_features): Add apx_ccmp. + * config/i386/i386-protos.h (ix86_gen_ccmp_first): New proto + declare. + (ix86_gen_ccmp_next): Likewise. + (ix86_get_flags_cc): Likewise. + * config/i386/i386.cc (ix86_flags_cc): New enum. + (ix86_ccmp_dfv_mapping): New string array to map conditional + code to dfv. + (ix86_print_operand): Handle special dfv flag for CCMP. + (ix86_get_flags_cc): New function to return x86 CC enum. + (TARGET_GEN_CCMP_FIRST): Define. + (TARGET_GEN_CCMP_NEXT): Likewise. + * config/i386/i386.h (TARGET_APX_CCMP): Define. + * config/i386/i386.md (@ccmp<mode>): New define_insn to support + ccmp. + (UNSPEC_APX_DFV): New unspec for ccmp dfv. + (ALL_CC): New mode iterator. + (cstorecc4): Change to ... + (cstore<mode>4) ... this, use ALL_CC to loop through all + available CCmodes. + * config/i386/i386.opt (apx_ccmp): Add enum value for ccmp. + +2024-06-06 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vectorizable_reduction): Allow + single-lane SLP in-order reductions. + (vectorize_fold_left_reduction): Handle SLP reduction with + conditional reduction op. + +2024-06-06 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vect_analyze_scalar_cycles_1): Queue + double reductions in LOOP_VINFO_REDUCTIONS. + (vect_create_epilog_for_reduction): Remove asserts disabling + SLP for double reductions. + (vectorizable_reduction): Analyze SLP double reductions + only once and start off the correct places. + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Allow + vect_double_reduction_def. + (vect_build_slp_tree_2): Fix condition for the ignored + reduction initial values. + * tree-vect-stmts.cc (vect_analyze_stmt): Allow + vect_double_reduction_def. + +2024-06-06 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vect_create_epilog_for_reduction): + Adjust for single-lane COND_REDUCTION SLP vectorization. + (vectorizable_reduction): Likewise. + (vect_transform_cycle_phi): Likewise. + +2024-06-06 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vectorizable_condition): Allow + single-lane SLP, but not when we need to swap then and + else clause. + +2024-06-06 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.cc(mips_insn_cost): Add missing COSTS_N_INSNS + to count. + +2024-06-06 liuhongt <hongtao.liu@intel.com> + + PR target/114428 + * config/i386/i386.cc (ix86_rtx_costs): Adjust cost for + CONST_VECTOR_DUPLICATE_P in constant_pool. + * config/i386/i386-expand.cc (ix86_broadcast_from_constant): + Remove static. + * config/i386/i386-protos.h (ix86_broadcast_from_constant): + Declare. + +2024-06-06 liuhongt <hongtao.liu@intel.com> + + PR target/114428 + * simplify-rtx.cc + (simplify_context::simplify_binary_operation_1): + Simplify (AND (ASHIFTRT A imm) mask) to (LSHIFTRT A imm) for + specific mask. + +2024-06-05 Robin Dapp <rdapp.gcc@gmail.com> + + * config/riscv/riscv-opts.h (TARGET_VECTOR_MISALIGN_SUPPORTED): + Move from here... + * config/riscv/riscv.h (TARGET_VECTOR_MISALIGN_SUPPORTED): + ...to here and map to riscv_vector_unaligned_access_p. + * config/riscv/riscv.opt: Add -mvector-strict-align. + * config/riscv/riscv.cc (struct riscv_tune_param): Add + vector_unaligned_access. + (riscv_override_options_internal): Set + riscv_vector_unaligned_access_p. + * doc/invoke.texi: Document -mvector-strict-align. + +2024-06-05 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/tuning_models/neoversen2.h (neoversen2_tunings): Add + AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. + * config/aarch64/tuning_models/neoversev1.h (neoversev1_tunings): Add + AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. + * config/aarch64/tuning_models/neoversev2.h (neoversev2_tunings): Add + AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. + +2024-06-05 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-sve.md (and<mode>3, + @aarch64_pred_<optab><mode>_z, *<optab><mode>3_cc, + *<optab><mode>3_ptest, aarch64_pred_<nlogical><mode>_z, + *<nlogical><mode>3_cc, *<nlogical><mode>3_ptest, + aarch64_pred_<logical_nn><mode>_z, *<logical_nn><mode>3_cc, + *<logical_nn><mode>3_ptest, @aarch64_pred_cmp<cmp_op><mode>, + *cmp<cmp_op><mode>_cc, *cmp<cmp_op><mode>_ptest, + @aarch64_pred_cmp<cmp_op><mode>_wide, + *aarch64_pred_cmp<cmp_op><mode>_wide_cc, + *aarch64_pred_cmp<cmp_op><mode>_wide_ptest, @aarch64_brk<brk_op>, + *aarch64_brk<brk_op>_cc, *aarch64_brk<brk_op>_ptest, + @aarch64_brk<brk_op>, *aarch64_brk<brk_op>_cc, + *aarch64_brk<brk_op>_ptest, aarch64_rdffr_z, *aarch64_rdffr_z_ptest, + *aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, *aarch64_rdffr_cc): Add + new early clobber + alternative. + * config/aarch64/aarch64-sve2.md + (@aarch64_pred_<sve_int_op><mode>): Likewise. + +2024-06-05 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-tuning-flags.def + (AVOID_PRED_RMW): New. + * config/aarch64/aarch64.h (TARGET_SVE_PRED_CLOBBER): New. + * config/aarch64/aarch64.md (pred_clobber): New. + (arch_enabled): Use it. + +2024-06-05 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-sve.md (and<mode>3, + @aarch64_pred_<optab><mode>_z, *<optab><mode>3_cc, + *<optab><mode>3_ptest, aarch64_pred_<nlogical><mode>_z, + *<nlogical><mode>3_cc, *<nlogical><mode>3_ptest, + aarch64_pred_<logical_nn><mode>_z, *<logical_nn><mode>3_cc, + *<logical_nn><mode>3_ptest, *cmp<cmp_op><mode>_ptest, + @aarch64_pred_cmp<cmp_op><mode>_wide, + *aarch64_pred_cmp<cmp_op><mode>_wide_cc, + *aarch64_pred_cmp<cmp_op><mode>_wide_ptest, *aarch64_brk<brk_op>_cc, + *aarch64_brk<brk_op>_ptest, @aarch64_brk<brk_op>, + *aarch64_brk<brk_op>_cc, *aarch64_brk<brk_op>_ptest, aarch64_rdffr_z, + *aarch64_rdffr_z_ptest, *aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, + *aarch64_rdffr_cc): Convert to compact syntax. + * config/aarch64/aarch64-sve2.md + (@aarch64_pred_<sve_int_op><mode>): Likewise. + +2024-06-05 Jakub Jelinek <jakub@redhat.com> + Frederik Harwath <frederik@codesourcery.com> + Sandra Loosemore <sandra@codesourcery.com> + + * tree.def (OMP_TILE, OMP_UNROLL): New tree codes. + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_PARTIAL, + OMP_CLAUSE_FULL and OMP_CLAUSE_SIZES. + * tree.h (OMP_LOOPXFORM_CHECK): Define. + (OMP_LOOPXFORM_LOWERED): Define. + (OMP_CLAUSE_PARTIAL_EXPR): Define. + (OMP_CLAUSE_SIZES_LIST): Define. + * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add entries + for OMP_CLAUSE_{PARTIAL,FULL,SIZES}. + * tree-pretty-print.cc (dump_omp_clause): Handle + OMP_CLAUSE_{PARTIAL,FULL,SIZES}. + (dump_generic_node): Handle OMP_TILE and OMP_UNROLL. Skip printing + loops with NULL OMP_FOR_INIT (node) vector element. + * gimplify.cc (is_gimple_stmt): Handle OMP_TILE and OMP_UNROLL. + (gimplify_omp_taskloop_expr): For SAVE_EXPR use gimplify_save_expr. + (gimplify_omp_loop_xform): New function. + (gimplify_omp_for): Call omp_maybe_apply_loop_xforms and if that + reshuffles what the passed pointer points to, retry or return GS_OK. + Handle OMP_TILE and OMP_UNROLL. + (gimplify_omp_loop): Call omp_maybe_apply_loop_xforms and if that + reshuffles what the passed pointer points to, return GS_OK. + (gimplify_expr): Handle OMP_TILE and OMP_UNROLL. + * omp-general.h (omp_loop_number_of_iterations, + omp_maybe_apply_loop_xforms): Declare. + * omp-general.cc (omp_adjust_for_condition): For LE_EXPR and GE_EXPR + with pointers, don't add/subtract one, but the size of what the + pointer points to. + (omp_loop_number_of_iterations, omp_apply_tile, + find_nested_loop_xform, omp_maybe_apply_loop_xforms): New functions. + +2024-06-05 Kewen Lin <linkw@linux.ibm.com> + + * config/darwin.cc (darwin_patch_builtins): Use TYPE_PRECISION of + long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. + +2024-06-05 Pan Li <pan2.li@intel.com> + + PR target/51492 + PR target/112600 + * internal-fn.def (SAT_SUB): Add new IFN define for SAT_SUB. + * match.pd: Add new match for SAT_SUB. + * optabs.def (OPTAB_NL): Remove fixed-point for ussub/ssub. + * tree-ssa-math-opts.cc (gimple_unsigned_integer_sat_sub): Add + new decl for generated in match.pd. + (build_saturation_binary_arith_call): Add new helper function + to build the gimple call to binary SAT alu. + (match_saturation_arith): Rename from. + (match_unsigned_saturation_add): Rename to. + (match_unsigned_saturation_sub): Add new func to match the + unsigned sat sub. + (math_opts_dom_walker::after_dom_children): Add SAT_SUB matching + try when COND_EXPR. + +2024-06-05 Gerald Pfeifer <gerald@pfeifer.com> + + PR other/69374 + * doc/install.texi (Prerequisites): Drop reference to GNU awk + version 3.1.5. Remove fluff. + +2024-06-05 liuhongt <hongtao.liu@intel.com> + + PR rtl-optimization/100927 + PR rtl-optimization/115161 + PR rtl-optimization/115115 + * simplify-rtx.cc (simplify_const_unary_operation): Prevent + simplication of FIX/UNSIGNED_FIX for NAN/INF/out-of-range + constant when flag_trapping_math. + * fold-const.cc (fold_convert_const_int_from_real): Don't fold + for overflow value when_trapping_math. + +2024-06-05 Xiao Zeng <zengxiao@eswincomputing.com> + + * config/riscv/iterators.md: Add mode_iterator between + floating-point modes and BFmode. + * config/riscv/riscv.cc (riscv_output_move): Handle BFmode move + for zfbfmin. + * config/riscv/riscv.md (trunc<mode>bf2): New pattern for BFmode. + (extendbfsf2): Dotto. + (*movhf_hardfloat): Add BFmode. + (*mov<mode>_hardfloat): Dotto. + +2024-06-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/115337 + * gimple-range-op.cc (cfn_clz::fold_range): For + m_gimple_call_internal_p handle as a special case also second argument + of -1 next to prec. + +2024-06-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/115337 + * fold-const.cc (tree_call_nonnegative_warnv_p): Handle + CASE_CFN_CTZ like CASE_CFN_CLZ. + +2024-06-04 Jakub Jelinek <jakub@redhat.com> + + * fold-const.cc (tree_call_nonnegative_warnv_p): Formatting fixes. + (tree_invalid_nonnegative_warnv_p): Likewise. + * gimple-fold.cc (gimple_call_nonnegative_warnv_p): Likewise. + +2024-06-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/115337 + * fold-const.cc (tree_call_nonnegative_warnv_p) <CASE_CFN_CLZ>: + If arg1 is non-NULL, RECURSE on it, otherwise return true. + +2024-06-04 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/108789 + * builtins.cc (fold_builtin_arith_overflow): For ovf_only, + don't call save_expr and don't build REALPART_EXPR, otherwise + set TREE_SIDE_EFFECTS on call before calling save_expr. + (fold_builtin_addc_subc): Set TREE_SIDE_EFFECTS on call before + calling save_expr. + +2024-06-04 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (lujiazui): Clarify that while the CPUs do support + AVX and F16C, -march=lujiazui actually doesn't enable those. + +2024-06-04 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_tree_2): Only multi-lane + discoveries are reduction chains and need special backedge + treatment. + (vect_analyze_slp): Fall back to single-lane SLP discovery + for reductions. Make sure to try single-lane SLP reduction + for all reductions as fallback. + (vectorizable_load): Avoid outer loop SLP vectorization with + multi-copy vector stmts in the inner loop. + (vectorizable_store): Likewise. + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Allow + direct opcode and shift reduction also for SLP reductions + with a single lane. + * tree-vect-stmts.cc (get_group_load_store_type): For SLP also + check for the PR65518 single-element interleaving case as done in + vect_grouped_load_supported. + +2024-06-04 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_schedule_slp_node): For mask/len + loops make sure to not advance the insertion iterator + beyond a GIMPLE_COND. + +2024-06-03 Jakub Jelinek <jakub@redhat.com> + + PR target/115324 + * config/rs6000/rs6000-gen-builtins.cc (write_decls): Remove + GTY markup from struct bifdata and struct ovlddata and remove their + fntype members. Change next member in struct ovlddata and + first_instance member of struct ovldrecord to have int type rather + than struct ovlddata *. Remove GTY markup from rs6000_builtin_info + and rs6000_instance_info arrays, declare new + rs6000_builtin_info_fntype and rs6000_instance_info_fntype arrays, + which have GTY markup. + (write_bif_static_init): Adjust for the above changes. + (write_ovld_static_init): Likewise. + (write_init_bif_table): Likewise. + (write_init_ovld_table): Likewise. + * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Likewise. + * config/rs6000/rs6000-c.cc (find_instance): Likewise. Make static. + (altivec_resolve_overloaded_builtin): Adjust for the above changes. + +2024-06-03 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc: Include "ordered-hash-map.h" and + "sbitmap.h". + (enum class diagnostic_artifact_role): New. + (class sarif_artifact): New. + (sarif_builder::maybe_make_artifact_content_object): Make public. + (sarif_builder::m_filenames): Replace with... + (sarif_builder::m_filename_to_artifact_map): ...this. + (sarif_artifact::add_role): New. + (sarif_artifact::populate_contents): New. + (get_artifact_role_string): New. + (sarif_artifact::populate_roles): New. + (sarif_result::on_nested_diagnostic): Pass role to + make_location_object. + (sarif_ice_notification::sarif_ice_notification): Likewise. + (sarif_builder::sarif_builder): Add "main_input_filename_" param. + Mark it as the artifact that the tool was instructed to scan. + (sarif_builder::make_result_object): Pass role to + make_locations_arr. + (sarif_builder::make_locations_arr): Add "role" param and pass it + to make_location_object. + (sarif_builder::make_location_object): Add "role" param and pass + it to maybe_make_physical_location_object. + (sarif_builder::maybe_make_physical_location_object): Add "role" + param and pass it to call to get_or_create_artifact, rather than + adding to now-removed "m_filenames". Flag the artifact for its + contents to be embedded. + (sarif_builder::make_thread_flow_location_object): Pass role to + make_location_object. + (sarif_builder::make_run_object): Update for change from + m_filename to m_filename_to_artifact_map. Call populate_contents + and populate_roles on each artifact_obj. + (sarif_builder::make_artifact_object): Convert to... + (sarif_builder::get_or_create_artifact): ...this, moving addition + of contents to make_run_object, and conditionalizing setting of + sourceLanguage on "role". + (sarif_output_format::sarif_output_format): Add + "main_input_filename_" param and pass to m_builder's ctor. + (sarif_stream_output_format::sarif_stream_output_format): + Likewise. + (sarif_file_output_format::sarif_file_output_format): Likewise. + (diagnostic_output_format_init_sarif_stderr): Add + "main_input_filename_" param and pass to ctor. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + * diagnostic.cc (diagnostic_output_format_init): Add + "main_input_filename_" param and pass to the + diagnostic_output_format_init_sarif_* calls. + * diagnostic.h (diagnostic_output_format_init): Add + main_input_filename_" param to decl. + (diagnostic_output_format_init_sarif_stderr): Likewise. + (diagnostic_output_format_init_sarif_file): Likewise. + (diagnostic_output_format_init_sarif_stream): Likewise. + * gcc.cc (driver_handle_option): Pass main input filename to + diagnostic_output_format_init. + * opts.cc (common_handle_option): Likewise. + +2024-06-03 Eric Botcazou <ebotcazou@adacore.com> + + * dwarf2out.cc (loc_list_from_tree_1) <CEIL_DIV_EXPR>; Add const. + <do_comp_binop>: Use a signed comparison for small unsigned types. + Implement wrap-around arithmetics for small integer types. + +2024-06-03 Uros Bizjak <ubizjak@gmail.com> + + PR target/115321 + * config/i386/i386.md (bswapsi2): Force operand 1 + to a register also for !TARGET_BSWAP. + +2024-06-03 Aldy Hernandez <aldyh@redhat.com> + + * builtins.cc (expand_builtin_strnlen): Replace value_range use + with int_range_max or irange when appropriate. + (determine_block_size): Same. + * fold-const.cc (minmax_from_comparison): Same. + * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Same. + (array_bounds_checker::check_array_ref): Same. + * gimple-fold.cc (size_must_be_zero_p): Same. + * gimple-predicate-analysis.cc (find_var_cmp_const): Same. + * gimple-ssa-sprintf.cc (get_int_range): Same. + (format_integer): Same. + (try_substitute_return_value): Same. + (handle_printf_call): Same. + * gimple-ssa-warn-restrict.cc + (builtin_memref::extend_offset_range): Same. + * graphite-sese-to-poly.cc (add_param_constraints): Same. + * internal-fn.cc (get_min_precision): Same. + * match.pd: Same. + * pointer-query.cc (get_size_range): Same. + * range-op.cc (get_shift_range): Same. + (operator_trunc_mod::op1_range): Same. + (operator_trunc_mod::op2_range): Same. + * range.cc (range_negatives): Same. + * range.h (range_positives): Same. + (range_negatives): Same. + * tree-affine.cc (expr_to_aff_combination): Same. + * tree-data-ref.cc (compute_distributive_range): Same. + (nop_conversion_for_offset_p): Same. + (split_constant_offset): Same. + (split_constant_offset_1): Same. + (dr_step_indicator): Same. + * tree-dfa.cc (get_ref_base_and_extent): Same. + * tree-scalar-evolution.cc (iv_can_overflow_p): Same. + * tree-ssa-math-opts.cc (optimize_spaceship): 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. + (dump_strlen_info): Same. + (get_range_strlen_dynamic): Same. + (set_strlen_range): Same. + (maybe_diag_stxncpy_trunc): Same. + (strlen_pass::get_len_or_size): Same. + (strlen_pass::handle_builtin_string_cmp): Same. + (strlen_pass::count_nonzero_bytes_addr): Same. + (strlen_pass::handle_integral_assign): Same. + * tree-switch-conversion.cc (bit_test_cluster::emit): Same. + * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Same. + (vect_do_peeling): Same. + * tree-vect-patterns.cc (vect_get_range_info): Same. + (vect_recog_divmod_pattern): Same. + * tree.cc (get_range_pos_neg): Same. + * value-range.cc (debug): Remove value_range variants. + * value-range.h (value_range): Remove typedef. + * vr-values.cc + (simplify_using_ranges::op_with_boolean_value_range_p): Replace + value_range use with int_range_max or irange when appropriate. + (check_for_binary_op_overflow): Same. + (simplify_using_ranges::legacy_fold_cond_overflow): Same. + (find_case_label_ranges): Same. + (simplify_using_ranges::simplify_abs_using_ranges): Same. + (test_for_singularity): Same. + (simplify_using_ranges::simplify_compare_using_ranges_1): Same. + (simplify_using_ranges::simplify_casted_compare): Same. + (simplify_using_ranges::simplify_switch_using_ranges): Same. + (simplify_conversion_using_ranges): Same. + (simplify_using_ranges::two_valued_val_range_p): Same. + +2024-06-03 Tobias Burnus <tburnus@baylibre.com> + + * doc/install.texi (gcn): Fix date of recommended newlib version. + +2024-06-03 Marc Poulhiès <poulhies@adacore.com> + + * config/aarch64/aarch64-ldp-fusion.cc (struct aarch64_pair_fusion): + Use new type name. + +2024-06-03 Marc Poulhiès <poulhies@adacore.com> + + * pair-fusion.h (enum class writeback): Rename to... + (enum class writeback_type): ...this. + (struct pair_fusion): Adjust type name after renaming. + * pair-fusion.cc (pair_fusion_bb_info::track_access): Likewise. + (pair_fusion_bb_info::fuse_pair): Likewise. + (pair_fusion::process_block): Likewise. + +2024-06-03 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vect_analyze_loop_1): Avoid extra space + before 'failed'. + +2024-06-03 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (get_initial_defs_for_reduction): + Always convert neutral_op. + +2024-06-03 liuhongt <hongtao.liu@intel.com> + + PR target/115299 + * config/i386/i386.cc (ix86_noce_conversion_profitable_p): Add + some preference for floating point ifcvt when SSE4.1 is not + available. + +2024-06-03 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/i386-common.cc: Change Granite Rapids + series CPU type to P_PROC_AVX10_1_512. + * common/config/i386/i386-cpuinfo.h (enum feature_priority): + Revise comment part. Add P_AVX10_1_256, P_AVX10_1_512, + P_PROC_AVX10_1_512. + * common/config/i386/i386-isas.h: Link to avx10.1-256, avx10.1-512. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (clz<mode>2_lzcnt_nf): New define_insn. + (*clz<mode>2_lzcnt_falsedep_nf): Ditto. + (<lt_zcnt>_<mode>_nf): Ditto. + (*<lt_zcnt>_<mode>_falsedep_nf): Ditto. + (<lt_zcnt>_hi<nf_name>): Ditto. + (popcount<mode>2_nf): Ditto. + (*popcount<mode>2_falsedep_nf): Ditto. + (popcounthi2<nf_name>): Ditto. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (*mul<mode>3_1<nf_name>): New define_insn. + (*mulqi3_1<nf_name>): Ditto. + (*<u>divmod<mode>4_noext_nf): Ditto. + (<u>divmodhiqi3<nf_name>): Ditto. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (x86_64_shld): New define_insn. + (x86_64_shld<nf_name>): Ditto. + (x86_64_shld_ndd<nf_name>): Ditto. + (x86_64_shld_1<nf_name>): Ditto. + (x86_64_shld_ndd_1<nf_name>): Ditto. + (*x86_64_shld_shrd_1_nozext_nf): Ditto. + (x86_shld<nf_name>): Ditto. + (x86_shld_ndd<nf_name>): Ditto. + (x86_shld_1<nf_name>): Ditto. + (x86_shld_ndd_1<nf_name>): Ditto. + (*x86_shld_shrd_1_nozext_nf): Ditto. + (<insn><dwi>3_doubleword_lowpart_nf): Ditto. + (x86_64_shrd<nf_name>): Ditto. + (x86_64_shrd_ndd<nf_name>): Ditto. + (x86_64_shrd_1<nf_name>): Ditto. + (x86_64_shrd_ndd_1<nf_name>): Ditto. + (*x86_64_shrd_shld_1_nozext_nf): Ditto. + (x86_shrd<nf_name>): Ditto. + (x86_shrd_ndd<nf_name>): Ditto. + (x86_shrd_1<nf_name>): Ditto. + (x86_shrd_ndd_1<nf_name>): Ditto. + (*x86_shrd_shld_1_nozext_nf): Ditto. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (ashr<mode>3_cvt<nf_name>): New + define_insn. + (*<insn><mode>3_1<nf_name>): Ditto. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (*ashr<mode>3_1<nf_name>): New + define_insn. + (*lshr<mode>3_1<nf_name>): Ditto. + (*lshrqi3_1<nf_name>): Ditto. + (*lshrhi3_1<nf_name>): Ditto. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (*ashl<mode>3_1<nf_name>): New + define_insn. + (*ashlhi3_1<nf_name>): Ditto. + (*ashlqi3_1<nf_name>): Ditto. + * config/i386/sse.md: New define_split. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * config/i386/i386.md (nf_nonf_attr): New subst_attr. + (nf_nonf_x64_attr): Ditto. + (*sub<mode>_1<nf_name>): New define_insn. + (*anddi_1<nf_name>): Ditto. + (*and<mode>_1<nf_name>): Ditto. + (*andqi_1<nf_name>): Ditto. + (*<code><mode>_1<nf_name>): Ditto. + (*<code>qi_1<nf_name>): Ditto. + (*neg<mode>_1<nf_name>): Ditto. + * config/i386/sse.md: New define_split. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + Hongyu Wong <hongyu.wang@intel.com> + + * config/i386/i386-opts.h (enum apx_features): Add nf + enumeration. + * config/i386/i386.h (TARGET_APX_NF): New. + * config/i386/i386.md (nf_name): New subst_att. + (nf_prefix): Ditto. + (nf_condition): Ditto. + (nf_mem_constraint): Ditto. + (nf_applied): Ditto. + (nf_subst): Add new define_subst. + (*add<mode>_1<nf_name>): New define_insn. + (*addhi_1<nf_name>): Ditto. + (*addqi_1<nf_name>): Diito. + * config/i386/i386.opt: Add apx_nf enumeration. + +2024-06-03 Hu, Lin1 <lin1.hu@intel.com> + + PR target/113609 + * config/i386/sse.md + (*kortest_cmp<mode>_setcc): New define_insn_and_split. + (*kortest_cmp<mode>_jcc): Ditto. + +2024-06-01 Georg-Johann Lay <avr@gjlay.de> + + PR tree-optimization/115307 + * config/avr/avr.md (SFDF): New mode iterator. + (isinf<mode>2) [sf, df]: New expanders. + +2024-06-01 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_integer_op): Add new field. + (riscv_build_integer_1): Initialize the new field. + (riscv_built_integer): Recognize more cases where Zbkb's + pack instruction is profitable. + (riscv_move_integer): Loop over all the codes. If requested, + save the current constant into a temporary. Generate pack + for more cases using the saved constant. + +2024-06-01 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): Remove parameter + loop_vinfo. Get input vectype from stmt_info instead of reduction PHI. + (vect_model_reduction_cost): Remove loop_vinfo argument of call to + vect_is_emulated_mixed_dot_prod. + (vect_transform_reduction): Likewise. + (vectorizable_reduction): Likewise, and bind input vectype to + lane-reducing operation. + +2024-06-01 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (vect_reduction_update_partial_vector_usage): New + function. + (vectorizable_reduction): Move partial vectorization checking code to + vect_reduction_update_partial_vector_usage. + +2024-06-01 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vectorizer.h (lane_reducing_op_p): New function. + * tree-vect-slp.cc (vect_analyze_slp): Use new function + lane_reducing_op_p to check statement code. + * tree-vect-loop.cc (vect_transform_reduction): Likewise. + (vectorizable_reduction): Likewise, and change name of a local + variable that holds the result flag. + +2024-05-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h (xtensa_expand_call): + Add the third argument as boolean. + (xtensa_expand_epilogue): Remove the first argument. + * config/xtensa/xtensa.cc (xtensa_expand_call): + Add the third argument "sibcall_p", and modify in order to prepend + "(use A0_REG)" to CALL_INSN_FUNCTION_USAGE if the argument is true. + (xtensa_expand_epilogue): Remove the first argument "sibcall_p" and + its conditional clause. + * config/xtensa/xtensa.md (call, call_value, sibcall, sibcall_value): + Append a boolean value to the argument of xtensa_expand_call() + indicating whether it is sibling call or not. + (epilogue): Remove the boolean argument from xtensa_expand_epilogue(), + and then append emitting "(return)". + (sibcall_epilogue): Remove the boolean argument from + xtensa_expand_epilogue(). + +2024-05-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/predicates.md + (subreg_HQI_lowpart_operator, xtensa_sminmax_operator): + New operator predicates. + * config/xtensa/xtensa-protos.h (xtensa_match_CLAMPS_imms_p): + Remove. + * config/xtensa/xtensa.cc (xtensa_match_CLAMPS_imms_p): Ditto. + * config/xtensa/xtensa.md + (*addsubx, *extzvsi-1bit_ashlsi3, *extzvsi-1bit_addsubx): + Revise the output statements by conditional ternary operator rather + than switch-case clause in order to avoid using gcc_unreachable(). + (xtensa_clamps): Reduce to a single pattern definition using the + predicate added above. + (Some split patterns to assist *masktrue_const_bitcmpl): Ditto. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-v.cc (expand_const_vector): Document. + (shuffle_extract_and_slide1up_patterns): Remove. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec.md (ctz<mode>2): New expander. + (clz<mode>2): Ditto. + * config/riscv/generic-vector-ooo.md: Add bitmanip ops to insn + reservation. + * config/riscv/vector-crypto.md: Add VLS modes to insns. + * config/riscv/vector.md: Add bitmanip ops to mode_idx and other + attributes. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec-opt.md (*vandn_<mode>): New pattern. + * config/riscv/vector.md: Add vandn to mode_idx. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-v.cc (expand_gather_scatter): Use vwsll if + applicable. + * config/riscv/vector-crypto.md: Remove mode from vwsll shift + count operator. + * config/riscv/vector.md: Add vwsll to mode iterator. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec-opt.md (*vwsll_zext1_<mode>): New + pattern. + (*vwsll_zext2_<mode>): Ditto. + (*vwsll_zext1_scalar_<mode>): Ditto. + (*vwsll_zext1_trunc_<mode>): Ditto. + (*vwsll_zext2_trunc_<mode>): Ditto. + (*vwsll_zext1_trunc_scalar_<mode>): Ditto. + * config/riscv/vector-crypto.md: Make pattern similar to other + narrowing/widening patterns. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/vector.md: Split vwadd.wx/vwsub.wx pattern and + add extended_scalar patterns. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + PR target/115068 + * config/riscv/vector.md: Split vfw<insn>.wf pattern. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * tree-object-size.cc (access_with_size_object_size): Use the type + of the 6th argument for the type of the element. + * internal-fn.cc (expand_ACCESS_WITH_SIZE): Update the comment with + the 6th argument. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * tree-object-size.cc (access_with_size_object_size): New function. + (call_object_size): Call the new function. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * internal-fn.cc (expand_ACCESS_WITH_SIZE): New function. + * internal-fn.def (ACCESS_WITH_SIZE): New internal function. + * tree.cc (is_access_with_size_p): New function. + (get_ref_from_access_with_size): New function. + * tree.h (is_access_with_size_p): New prototype. + (get_ref_from_access_with_size): New prototype. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * doc/extend.texi: Document attribute counted_by. + +2024-05-31 Uros Bizjak <ubizjak@gmail.com> + + PR target/115297 + * config/alpha/alpha.md (<any_divmod:code>si3): Wrap DImode + operands 3 and 4 with truncate:SI RTX. + (*divmodsi_internal_er): Ditto for operands 1 and 2. + (*divmodsi_internal_er_1): Ditto. + (*divmodsi_internal): Ditto. + * config/alpha/constraints.md ("b"): Correct register + number in the description. + +2024-05-31 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx.h: Configure global constructor, destructor + support. + +2024-05-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115278 + * tree-if-conv.cc (ifcvt_local_dce): Do not DSE volatile stores. + +2024-05-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config.gcc: Move ${target_min} from obsolete to unsupported + message. + +2024-05-31 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/115022 + * doc/invoke.texi (fstrub=disable): Fix opindex. + (minline-memops-threshold): Fix opindex. + (mcmodel=): Add opindex and fix them. + * common.opt.urls: Regenerate. + * config/aarch64/aarch64.opt.urls: Regenerate. + * config/bpf/bpf.opt.urls: Regenerate. + * config/i386/i386.opt.urls: Regenerate. + * config/loongarch/loongarch.opt.urls: Regenerate. + * config/nds32/nds32-elf.opt.urls: Regenerate. + * config/nds32/nds32-linux.opt.urls: Regenerate. + * config/or1k/or1k.opt.urls: Regenerate. + * config/riscv/riscv.opt.urls: Regenerate. + * config/rs6000/aix64.opt.urls: Regenerate. + * config/rs6000/linux64.opt.urls: Regenerate. + * config/sparc/sparc.opt.urls: Regenerate. + +2024-05-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa-protos.h + (xtensa_use_return_instruction_p): Remove. + * config/xtensa/xtensa.cc + (machine_function): Remove "epilogue_done" field. + (xtensa_expand_epilogue): Remove "cfun->machine->epilogue_done" usage. + (xtensa_use_return_instruction_p): Remove. + * config/xtensa/xtensa.md ("return"): + Replace calling "xtensa_use_return_instruction_p()" with inline code. + +2024-05-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.cc (xtensa_valid_move, constantpool_address_p, + xtensa_tls_symbol_p, gen_int_relational, xtensa_emit_move_sequence, + xtensa_copy_incoming_a7, xtensa_expand_block_move, + xtensa_expand_nonlocal_goto, xtensa_emit_call, + xtensa_legitimate_address_p, xtensa_legitimize_address, + xtensa_tls_referenced_p, print_operand, print_operand_address, + xtensa_output_literal): + Replace RTX code comparisons with their predicate macros such as + REG_P(). + * config/xtensa/xtensa.h (CONSTANT_ADDRESS_P, + LEGITIMATE_PIC_OPERAND_P): Ditto. + * config/xtensa/xtensa.md (reload<mode>_literal, indirect_jump): + Ditto. + +2024-05-31 Martin Uecker <uecker@tugraz.at> + + PR tree-optimization/115157 + PR tree-optimization/115177 + * godump.cc (go_output_typedef): Use TYPE_MAIN_VARIANT instead + of TYPE_CANONICAL. + +2024-05-31 liuhongt <hongtao.liu@intel.com> + + * config/i386/emmintrin.h (__double_u): Rename from double_u. + (_mm_load_sd): Replace double_u with __double_u. + (_mm_store_sd): Ditto. + (_mm_loadh_pd): Ditto. + (_mm_loadl_pd): Ditto. + * config/i386/xmmintrin.h (__float_u): Rename from float_u. + (_mm_load_ss): Ditto. + (_mm_store_ss): Ditto. + +2024-05-30 Uros Bizjak <ubizjak@gmail.com> + + PR target/115102 + * config/i386/i386.md (bswaphi2): Also enable for !TARGET_MOVBE. + (*bswaphi2): New insn pattern. + (bswaphisi2_lowpart): Rename from bswaphi_lowpart. Rewrite + insn RTX to match the expected form of the combine pass. + Remove rol{w} alternative and corresponding attributes. + (bswsaphisi2_lowpart peephole2): New peephole2 pattern to + conditionally convert bswaphisi2_lowpart to rotlhi3_1_slp. + (bswapsi2): Update expander for rename. + (rotlhi3_1_slp splitter): Conditionally split to bswaphi2. + +2024-05-30 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115281 + * ira-conflicts.cc (go_through_subreg): Use the natural size of + the inner mode rather than the outer mode. + +2024-05-30 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> + + * pair-fusion.h: Generic header code for load store pair fusion + that can be shared across different architectures. + * pair-fusion.cc: Generic source code implementation for + load store pair fusion that can be shared across different architectures. + * Makefile.in: Add new object file pair-fusion.o. + * config/aarch64/aarch64-ldp-fusion.cc: Delete generic code and move it + to pair-fusion.cc in the middle-end. + * config/aarch64/t-aarch64: Add header file dependency on pair-fusion.h. + Remove unnecessary header file dependency. + +2024-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR c++/115031 + * config/sparc/sol2.h (GGC_QUIRE_SIZE): Define as 510. + +2024-05-30 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OBJS-libcommon): Add text-art/tree-widget.o. + * doc/analyzer.texi: Rewrite discussion of dumping state to + cover the text_art::tree_widget-based dumps, with a more + interesting example. + * text-art/dump-widget-info.h: New file. + * text-art/dump.h: New file. + * text-art/selftests.cc (selftest::text_art_tests): Call + text_art_tree_widget_cc_tests. + * text-art/selftests.h (selftest::text_art_tree_widget_cc_tests): + New decl. + * text-art/theme.cc (ascii_theme::get_cppchar): Handle the various + cell_kind::TREE_*. + (unicode_theme::get_cppchar): Likewise. + * text-art/theme.h (enum class theme::cell_kind): Add + TREE_CHILD_NON_FINAL, TREE_CHILD_FINAL, TREE_X_CONNECTOR, and + TREE_Y_CONNECTOR. + * text-art/tree-widget.cc: New file. + * text-art/tree-widget.h: New file. + +2024-05-30 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md (vcond_mask_<mode><mode>): New expander. + +2024-05-30 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/112325 + * tree-ssa-loop-ivcanon.cc (estimated_unrolled_size): Move the + 2 / 3 loop body size reduction to .. + (try_unroll_loop_completely): .. here, add it for the check of + body size shrink, and the check of comparison against + param_max_completely_peeled_insns when + (!cunrolli ||loop->inner). + (canonicalize_loop_induction_variables): Add new parameter + cunrolli and pass down. + (tree_unroll_loops_completely_1): Ditto. + (canonicalize_induction_variables): Pass cunrolli as false to + canonicalize_loop_induction_variables. + (tree_unroll_loops_completely): Set cunrolli to true at + beginning and set it to false after CHANGED is true. + +2024-05-30 Alexandre Oliva <oliva@adacore.com> + + * doc/sourcebuild.texi (dg-additional-sources): Document + newly-added support for target selectors, and implicit discard + on non-linking tests that name the compiler output explicitly. + +2024-05-30 Jiawei <jiawei@iscas.ac.cn> + + * tree-ssa-pre.cc (create_component_ref_by_pieces_1): New conditions. + +2024-05-30 Hans-Peter Nilsson <hp@axis.com> + + Revert: + 2024-05-28 Hans-Peter Nilsson <hp@axis.com> + + * resource.cc: Include cfgrtl.h. Use BLOCK_FOR_INSN (insn)->index + instead of calling find_basic_block (insn). Assert for not -1. + (find_basic_block): Remove function. + (init_resource_info): Call compute_bb_for_insn. + (free_resource_info): Call free_bb_for_insn. + +2024-05-30 Hans-Peter Nilsson <hp@axis.com> + + Revert: + 2024-05-28 Hans-Peter Nilsson <hp@axis.com> + + * resource.cc (mark_target_live_regs): Remove redundant check for b + being -1, after gcc_assert. + +2024-05-30 Hans-Peter Nilsson <hp@axis.com> + + Revert: + 2024-05-28 Hans-Peter Nilsson <hp@axis.com> + + * resource.cc (free_resource_info, clear_hashed_info_for_insn): Don't + check for non-null target_hash_table and bb_ticks. + (mark_target_live_regs): Ditto. Replace check for non-NULL result from + BLOCK_FOR_INSN with a call to gcc_assert. Fold code conditioned on + tinfo != NULL. + +2024-05-29 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.cc(mips16_gp_pseudo_reg): Mark + MIPS16_PIC_TEMP and MIPS_PROLOGUE_TEMP clobbered. + (mips_emit_call_insn): Mark MIPS16_PIC_TEMP and + MIPS_PROLOGUE_TEMP clobbered if MIPS16 and CALL_CLOBBERED_GP. + +2024-05-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115224 + * generic-match-head.cc (bitwise_inverted_equal_p): Add `a ^ CST` + case. + * gimple-match-head.cc (gimple_bit_xor_cst): New declaration. + (gimple_bitwise_inverted_equal_p): Add `a ^ CST` case. + * match.pd (bit_xor_cst): New match. + (maybe_bit_not): Add bit_xor_cst case. + +2024-05-29 Andrew Pinski <quic_apinski@quicinc.com> + + * match.pd (bit_not_with_nop): Unconditionalize. + (maybe_cmp): Likewise. + (maybe_bit_not): New match pattern. + (`~X & X`): Use maybe_bit_not and add `:c` back. + (`~x ^ x`/`~x | x`): Likewise. + +2024-05-29 Richard Sandiford <richard.sandiford@arm.com> + + PR target/115258 + * config/aarch64/aarch64-simd.md (aarch64_combinev16qi): Allow + the split before reload. + * config/aarch64/aarch64.cc (aarch64_split_combinev16qi): Generalize + into a form that handles pseudo registers. + +2024-05-29 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.c : Removed. + +2024-05-29 Feng Xue <fxue@os.amperecomputing.com> + + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Move + initialization of bbs to explicit construction code. Adjust the + definition of nbbs. + (update_epilogue_loop_vinfo): Update nbbs for epilog vinfo. + * tree-vect-patterns.cc (vect_determine_precisions): Make + loop_vec_info and bb_vec_info share same code. + (vect_pattern_recog): Remove duplicated vect_pattern_recog_1 loop. + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Access to bbs[0] + via base vec_info class. + (_bb_vec_info::_bb_vec_info): Initialize bbs and nbbs using data + fields of input auto_vec<> bbs. + (vect_slp_region): Use access to nbbs to replace original + bbs.length(). + (vect_schedule_slp_node): Access to bbs[0] via base vec_info class. + * tree-vectorizer.cc (vec_info::vec_info): Add initialization of + bbs and nbbs. + (vec_info::insert_seq_on_entry): Access to bbs[0] via base vec_info + class. + * tree-vectorizer.h (vec_info): Add new fields bbs and nbbs. + (LOOP_VINFO_NBBS): New macro. + (BB_VINFO_BBS): Rename BB_VINFO_BB to BB_VINFO_BBS. + (BB_VINFO_NBBS): New macro. + (_loop_vec_info): Remove field bbs. + (_bb_vec_info): Rename field bbs. + * tree-vect-loop.c: New file. + +2024-05-29 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/crypto.md (riscv_xpack_<X:mode>_<HX:mode>_2): Remove '*' + allow it to be used via the gen_* interface. + * config/riscv/riscv.cc (riscv_build_integer): Identify when Zbkb + can be used to profitably synthesize repeating constants. + (riscv_move_integer): Codegen changes to generate those Zbkb sequences. + +2024-05-29 Jason Merrill <jason@redhat.com> + + * doc/invoke.texi: Update module extension docs. + +2024-05-29 Tobias Burnus <tburnus@baylibre.com> + + * config/gcn/gcn-hsa.h (gcn_local_sym_hash): Fix typo. + +2024-05-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115252 + * tree-vect-stmts.cc (get_group_load_store_type): Enhance + detecting the number of cases where we can avoid accessing a gap + during code generation. + (vectorizable_load): Remove old half-vector peeling for gap + avoidance which is now redundant. Add gap-aligned case where + it's OK to access the gap. Add assert that we have peeling for + gaps enabled when we access a gap. + +2024-05-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114435 + * tree-predcom.cc (tree_predictive_commoning): Queue + the next scalar cleanup sub-pipeline to be run when we + did something. + +2024-05-29 Hongyu Wang <hongyu.wang@intel.com> + + PR target/113719 + * config/i386/i386-options.cc (ix86_override_options_after_change): + Remove call to ix86_default_align and + ix86_recompute_optlev_based_flags. + (ix86_option_override_internal): Call ix86_default_align and + ix86_recompute_optlev_based_flags. + +2024-05-29 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386.cc (ix86_avoid_jump_mispredicts): Change + gen_pad to gen_max_skip_align. + (ix86_align_loops): New function. + (ix86_reorg): Call ix86_align_loops. + * config/i386/i386.md (pad): Rename to .. + (max_skip_align): .. this, and accept 2 operands for align and + skip. + +2024-05-29 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/x86-tune-costs.h (generic_cost): Change from + 16:11:8 to 16. + +2024-05-29 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-gori.cc (gori_on_edge): Always use static ranges + from the specified range_query. + * gimple-range-gori.h (gori_on_edge): Change prototype. + * gimple-range.cc (dom_ranger::maybe_push_edge): Change arguments + to call. + +2024-05-29 Kewen Lin <linkw@linux.ibm.com> + + PR target/114846 + * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): As + EPILOGUE_TYPE_EH_RETURN would be passed as epilogue_type directly + now, adjust the relevant handlings on it. + * config/rs6000/rs6000.md (eh_return expander): Append by calling + gen_eh_return_internal and emit_barrier. + (eh_return_internal): New define_insn_and_split, call function + rs6000_emit_epilogue with epilogue type EPILOGUE_TYPE_EH_RETURN. + +2024-05-28 liuhongt <hongtao.liu@intel.com> + + PR target/67325 + * config/i386/i386.cc (ix86_rtx_costs): Reduce cost of MEM (A + + imm) to "cost of MEM (A)" + 1. + +2024-05-28 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (dom_ranger::dom_ranger): Do not initialize m_out. + (dom_ranger::maybe_push_edge): Use gori () rather than m_out. + * gimple-range.h (dom_ranger::m_out): Remove. + * tree-vrp.cc (remove_unreachable::remove_unreachable): Use a + range-query ranther than a gimple_ranger. + (remove_unreachable::remove): New. + (remove_unreachable::m_ranger): Change to a range_query. + (remove_unreachable::handle_early): If there is no dependency + information, do nothing. + (remove_unreachable::remove_and_update_globals): Do not update + globals if there is no dependecy info to use. + +2024-05-28 Hans-Peter Nilsson <hp@axis.com> + + * resource.cc (free_resource_info, clear_hashed_info_for_insn): Don't + check for non-null target_hash_table and bb_ticks. + (mark_target_live_regs): Ditto. Replace check for non-NULL result from + BLOCK_FOR_INSN with a call to gcc_assert. Fold code conditioned on + tinfo != NULL. + +2024-05-28 Hans-Peter Nilsson <hp@axis.com> + + * resource.cc (mark_target_live_regs): Remove redundant check for b + being -1, after gcc_assert. + +2024-05-28 Hans-Peter Nilsson <hp@axis.com> + + * resource.cc: Include cfgrtl.h. Use BLOCK_FOR_INSN (insn)->index + instead of calling find_basic_block (insn). Assert for not -1. + (find_basic_block): Remove function. + (init_resource_info): Call compute_bb_for_insn. + (free_resource_info): Call free_bb_for_insn. + +2024-05-28 Hans-Peter Nilsson <hp@axis.com> + + PR rtl-optimization/115182 + * resource.cc (mark_target_live_regs): Don't look for + unconditional branches after the target to improve on the + register liveness. + (find_dead_or_set_registers): Remove unused function. + +2024-05-28 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/sync.md (atomic_loaddi_fpu): Use movd/pextrd + to move DImode value from XMM to GPR for TARGET_SSE4_1. + (atomic_storedi_fpu): Use movd/pinsrd to move DImode value + from GPR to XMM for TARGET_SSE4_1. + +2024-05-28 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-color.cc: Define INCLUDE_VECTOR. + Include "label-text.h" and "selftest.h". + (struct color_cap): Replace with... + (struct color_default): ...this, adding "m_" prefixes to fields + and dropping "name_len" and "free_val" field. + (color_dict): Convert to... + (gcc_color_defaults): ...this, making const, dropping the trailing + strlen and "false" from each entry. + (class diagnostic_color_dict): New. + (g_color_dict): New. + (colorize_start): Reimplement in terms of g_color_dict. + (diagnostic_color_dict::get_entry_by_name): New, based on + colorize_start. + (diagnostic_color_dict::get_start_by_name): Likewise. + (diagnostic_color_dict::diagnostic_color_dict): New. + (parse_gcc_colors): Reimplement, moving body... + (diagnostic_color_dict::parse_envvar_value): ...here. + (colorize_init): Lazily create g_color_dict. + (selftest::test_empty_color_dict): New. + (selftest::test_default_color_dict): New. + (selftest::test_color_dict_envvar_parsing): New. + (selftest::diagnostic_color_cc_tests): New. + * selftest-run-tests.cc (selftest::run_tests): Call + selftest::diagnostic_color_cc_tests. + * selftest.h (selftest::diagnostic_color_cc_tests): New decl. + +2024-05-28 David Malcolm <dmalcolm@redhat.com> + + * function-tests.cc: Include "selftest-tree.h". + * selftest-tree.h: New file. + * selftest.h (make_fndecl): Move to selftest-tree.h. + +2024-05-28 David Malcolm <dmalcolm@redhat.com> + + * config/v850/v850.opt.urls: Regenerate, with fix. + * config/vax/vax.opt.urls: Likewise. + * regenerate-opt-urls.py (TARGET_SPECIFIC_PAGES): Fix transposed + values for "vax" and "v850". + +2024-05-28 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/115221 + * gimple-range-fold.cc (range_of_ssa_name_with_loop_info): Do + not invoke SCEV is range_query's do not match. + +2024-05-28 Andrew MacLeod <amacleod@redhat.com> + + * tree-ssa-strlen.cc (strlen_pass::strlen_pass): Add function + pointer and initialize ptr_qry with current range_query. + (strlen_pass::m_ranger): Remove. + (printf_strlen_execute): Enable and disable ranger. + +2024-05-28 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/115203 + * diagnostic-path.h + (simple_diagnostic_path::disable_event_localization): New. + (simple_diagnostic_path::m_localize_events): New field. + * diagnostic.cc + (simple_diagnostic_path::simple_diagnostic_path): Initialize + m_localize_events. + (simple_diagnostic_path::add_event): Only localize fmt if + m_localize_events is true. + * tree-diagnostic-path.cc + (test_diagnostic_path::test_diagnostic_path): Call + disable_event_localization. + +2024-05-28 David Malcolm <dmalcolm@redhat.com> + + PR bootstrap/115167 + * Makefile.in (C_COMMON_OBJS): Add c-family/c-type-mismatch.o. + * gcc-rich-location.cc + (maybe_range_label_for_tree_type_mismatch::get_text): Move to + c-family/c-type-mismatch.cc. + (binary_op_rich_location::binary_op_rich_location): Likewise. + (binary_op_rich_location::use_operator_loc_p): Likewise. + * gcc-rich-location.h (class range_label_for_type_mismatch): + Likewise. + (class maybe_range_label_for_tree_type_mismatch): Likewise. + (class op_location_t): Likewise for forward decl. + (class binary_op_rich_location): Likewise. + +2024-05-28 Lyut Nersisyan <lyut.nersisyan@gmail.com> + + * config/riscv/crypto.md: Add new combiner patterns to generate + pack, packh, packw instrutions. + * config/riscv/iterators.md (HX): New iterator for half X mode. + * config/riscv/riscv.md (<optab>_shift_reverse<X:mode>): Tighten + cases to avoid. Do not lose bits for XOR/IOR. + +2024-05-28 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/115060 + * tree-vect-patterns.cc (vect_get_internal_def): Return statement for + vectorization. + (vect_widened_op_tree): Call vect_get_internal_def instead of look_def + to get statement information. + (vect_recog_widen_abd_pattern): No need to call vect_stmt_to_vectorize. + +2024-05-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115236 + * tree-ssa-structalias.cc (build_pred_graph): Properly + handle *ANYTHING = X. + (build_succ_graph): Likewise. Do not elide direct nodes + from receiving from STOREDANYTHING. + +2024-05-28 Richard Biener <rguenther@suse.de> + + * tree-ssa-structalias.cc (find_func_aliases): Use + get_constraint_for_address_of to build escape constraints + for asm inputs and outputs. + +2024-05-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115254 + * tree-vect-slp.cc (vect_build_slp_tree): Only account + multi-lane SLP to limit. + +2024-05-28 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (get_initial_defs_for_reduction): Convert + neutral op to the vector component type. + +2024-05-28 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md + (<avx512>_<complexopname>_<mode>_mask<round_name>): Align + operands' predicate with corresponding expander. + (<avx512>_<complexopname>_<mode><maskc_name><round_name>): + Ditto. + +2024-05-28 Xi Ruoyao <xry111@xry111.site> + + PR target/115169 + * config/loongarch/loongarch.cc + (loongarch_expand_conditional_move): Guard REGNO with REG_P. + +2024-05-27 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115238 + * generic-match-head.cc (bitwise_inverted_equal_p): Use + uniform_integer_cst_p instead of checking INTEGER_CST. + * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): Likewise. + +2024-05-27 Gaius Mulley <gaiusmod2@gmail.com> + + * doc/gm2.texi: Replace all occurrences of xref + {foo, , , gm2} with xref {foo}. + +2024-05-27 Richard Biener <rguenther@suse.de> + + * tree-ssa-structalias.cc (scc_visit): Mark the node we + collapse to as being in a component. + +2024-05-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115220 + PR tree-optimization/115226 + * tree-ssa-sink.cc (statement_sink_location): When ignoring + paths to kills when sinking stores make sure the final + sink location is still post-dominated by the original one. + Otherwise we'd need to insert a PHI node to merge virtual operands. + +2024-05-27 TheShermanTanker <tanksherman27@gmail.com> + + * config/mingw/mingw32.h: Add new define for POSIX + threads. + +2024-05-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115232 + * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle + failure to demangle gracefully. + +2024-05-27 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/gm2.texi (What is GNU Modula-2): Move gcc.gnu.org links to + https. + (Other languages): Ditto. And fix casing of GCC. + +2024-05-27 Liao Shihua <shihua@iscas.ac.cn> + + * config/riscv/riscv.cc (riscv_rtx_costs): Add TARGET_ZMMUL. + +2024-05-27 Maciej W. Rozycki <macro@orcam.me.uk> + + * doc/invoke.texi (Option Summary): Add `-md', `-md-float', and + `-mg-float' options. Reorder, matching VAX Options. + (VAX Options): Reword the description of `-mg' option. Add + `-md', `-md-float', and `-mg-float' options. + +2024-05-27 Abe Skolnik <abe_skolnik@yahoo.com> + + PR target/79646 + * config/vax/vax.opt (md, md-float, mg, mg-float): Correct + descriptions. + +2024-05-27 Lyut Nersisyan <lyut.nersisyan@gmail.com> + + * config/riscv/riscv.md (<optab>_shift_reverse<X:mode>): New pattern. + +2024-05-27 Levy Hsu <admin@levyhsu.com> + H.J. Lu <hjl.tools@gmail.com> + + PR target/115146 + * config/i386/i386-expand.cc (expand_vec_perm_psrlw_psllw_por): Replace arithmatic shift + gen_ashrv4hi3 with logic shift gen_lshrv4hi3. + Replace gen_vlshrv8hi3 with gen_lshrv8hi3 and gen_vashlv8hi3 with gen_ashlv8hi3. + +2024-05-27 Pan Li <pan2.li@intel.com> + + * genmatch.cc (dt_node::gen_kids_1): Fix indenet mis-aligned. + +2024-05-26 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_build_integer_one): Verify there + are no bits left to set in the constant when generating bseti. + (riscv_built_integer): Synthesize ~value and if it's cheap use it + with a trailing xori with -1. + +2024-05-26 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/extend.texi (Attribute Syntax): Use @samp{=} instead of @code{=}. + (Extended Asm): Ditto. + +2024-05-26 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_build_integer_1): Try generating + a nearby simpler constant, then using a final addi to set low + bits properly. + +2024-05-26 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/115208 + * value-query.cc (range_query::create_gori): Confirm gori_map is NULL. + (range_query::destroy_gori): Free gori_map if one was allocated. + +2024-05-25 Jeff Law <jlaw@ventanamicro.com> + + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Handle + more logical simplifications. + +2024-05-24 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/predicates.md (arith_operand_or_mode_mask): Renamed to.. + (arith_or_mode_mask_or_zbs_operand): New predicate. + * config/riscv/riscv.md (and<mode>3): Update predicate for operand 2. + * config/riscv/riscv.cc (riscv_build_integer_1): Use bclri to clear + bits, particularly bits 31..63 when profitable to do so. + +2024-05-24 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/115192 + * tree-data-ref.cc (create_intersect_range_checks): Take the + alignment of the access sizes into account. + +2024-05-24 Gaius Mulley <gaiusmod2@gmail.com> + + * doc/gm2.texi: Replace all occurrences of xref {, , , gm2} + with xref {, , , m2}. + +2024-05-24 Manolis Tsamis <manolis.tsamis@vrull.eu> + + * match.pd: Allow no-op view_convert between permutes. + +2024-05-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115144 + * tree-ssa-sink.cc (do_not_sink): New function, split out + from ... + (select_best_block): Here. First pick valid block to + sink to. From that search for the best valid block, + avoiding sinking across conditions to exceptional code. + (sink_code_in_bb): When updating vuses of stores in + paths we do not sink a store to make sure we didn't + pick a dominating sink location. + +2024-05-24 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiprop.cc (phiprop_insert_phi): Add + dce_ssa_names argument. Add the phi's result to it. + (propagate_with_phi): Add dce_ssa_names argument. + Update call to phiprop_insert_phi. + (pass_phiprop::execute): Update call to propagate_with_phi. + Call simple_dce_from_worklist if there was a change. + +2024-05-24 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_build_slp_instance): Do not split + store dataref groups on loop SLP discovery failure but create + a single SLP instance for the stores but branch to SLP sub-trees + and merge with a series of VEC_PERM nodes. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-edge.h (range_query::condexpr_adjust): Delete. + * gimple-range-fold.cc (fold_using_range::range_of_range_op): Use + gori_ssa routine. + (fold_using_range::range_of_address): Likewise. + (fold_using_range::range_of_phi): Likewise. + (fold_using_range::condexpr_adjust): Relocated from gori_compute. + (fold_using_range::range_of_cond_expr): Use local condexpr_adjust. + (fur_source::register_outgoing_edges): Use gori_ssa routine. + * gimple-range-fold.h (gori_ssa): Rename from gori_bb. + (fold_using_range::condexpr_adjust): Add prototype. + * gimple-range-gori.cc (gori_compute::condexpr_adjust): Relocate. + * gimple-range-gori.h (gori_compute::condexpr_adjust): Delete. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::ranger_cache): Use gori_ssa. + (ranger_cache::dump): Likewise. + (ranger_cache::get_global_range): Likewise. + (ranger_cache::set_global_range): Likewise. + (ranger_cache::register_inferred_value): Likewise. + * gimple-range-edge.h (gimple_outgoing_range::map): Remove. + * gimple-range-fold.cc (fold_using_range::range_of_range_op): Use + gori_ssa. + (fold_using_range::range_of_address): Likewise. + (fold_using_range::range_of_phi): Likewise. + (fur_source::register_outgoing_edges): Likewise. + * gimple-range-fold.h (fur_source::query): Make const. + (gori_ssa): New. + * gimple-range-gori.cc (gori_map::dump): Use 'this' pointer. + (gori_compute::gori_compute): Construct with a gori_map. + * gimple-range-gori.h (gori_compute:gori_compute): Change + prototype. + (gori_compute::map): Delete. + (gori_compute::m_map): Change to a reference. + (FOR_EACH_GORI_IMPORT_NAME): Change parameter gori to gorimap. + (FOR_EACH_GORI_EXPORT_NAME): Likewise. + * gimple-range-path.cc (path_range_query::compute_ranges_in_block): + Use gori_ssa method. + (path_range_query::compute_exit_dependencies): Likewise. + * gimple-range.cc (gimple_ranger::range_of_stmt): Likewise. + (gimple_ranger::register_transitive_inferred_ranges): Likewise. + * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): + Likewise. + * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise. + * tree-vrp.cc (remove_unreachable::handle_early): Likewise. + (remove_unreachable::remove_and_update_globals): Likewise. + * value-query.cc (range_query::create_gori): Create gori map. + (range_query::share_query): Copy gori map member. + (range_query::range_query): Initiialize gori_map member. + * value-query.h (range_query::gori_ssa): New. + (range_query::m_map): New. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::ranger_cache): Create + GORi via the range_query instead of a local member. + (ranger_cache::dump_bb): Use gori via from the range_query parent. + (ranger_cache::get_global_range): Likewise. + (ranger_cache::set_global_range): Likewise. + (ranger_cache::edge_range): Likewise. + (anger_cache::block_range): Likewise. + (ranger_cache::fill_block_cache): Likewise. + (ranger_cache::range_from_dom): Likewise. + (ranger_cache::register_inferred_value): Likewise. + * gimple-range-cache.h (ranger_cache::m_gori): Delete. + * gimple-range-fold.cc (fur_source::fur_source): Set m_depend_p. + (fur_depend::fur_depend): Remove gori parameter. + * gimple-range-fold.h (fur_source::gori): Adjust. + (fur_source::m_gori): Delete. + (fur_source::m_depend): New. + (fur_depend::fur_depend): Adjust prototype. + * gimple-range-path.cc (path_range_query::path_range_query): Share + ranger oracles. + (path_range_query::range_defined_in_block): Use oracle directly. + (path_range_query::compute_ranges_in_block): Use new gori() method. + (path_range_query::adjust_for_non_null_uses): Use oracle directly. + (path_range_query::compute_exit_dependencies): Likewise. + (jt_fur_source::jt_fur_source): No gori in the parameters. + (path_range_query::range_of_stmt): Likewise. + (path_range_query::compute_outgoing_relations): Likewise. + * gimple-range.cc (gimple_ranger::fold_range_internal): Likewise. + (gimple_ranger::range_of_stmt): Access gori via gori () method. + (assume_query::range_of_expr): Create a gori object. + (assume_query::~assume_query): Destroy a gori object. + (assume_query::calculate_op): Remove old gori() accessor. + * gimple-range.h (gimple_ranger::gori): Delete. + (assume_query::~assume_query): New. + (assume_query::m_gori): Delete. + * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): use + gori () method. + * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise. + * value-query.cc (default_gori): New. + (range_query::create_gori): New. + (range_query::destroy_gori): New. + (range_query::share_oracles): Set m_gori. + (range_query::range_query): Set m_gori to default. + (range_query::~range_query): call destroy gori. + * value-query.h (range_query): Adjust prototypes + (range_query::m_gori): New. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust + m_gori constructor. + (ranger_cache::edge_range): Use renamed edge_range_p name. + (ranger_cache::range_from_dom): Likewise. + * gimple-range-edge.h (gimple_outgoing_range::condexpr_adjust): New. + (gimple_outgoing_range::has_edge_range_p): New. + (gimple_outgoing_range::dump): New. + (gimple_outgoing_range::compute_operand_range): New. + (gimple_outgoing_range::map): New. + * gimple-range-fold.cc (fur_source::register_outgoing_edges ): Use + renamed edge_range_p routine + * gimple-range-gori.cc (gori_compute::gori_compute): Adjust + constructor. + (gori_compute::~gori_compute): New. + (gori_compute::edge_range_p): Rename from outgoing_edge_range_p + and use inherited routine instead of member method. + * gimple-range-gori.h (class gori_compute): Inherit from + gimple_outgoing_range, adjust protoypes. + (gori_compute::outgpoing): Delete. + * gimple-range-path.cc (path_range_query::compute_ranges_in_block): Use + renamed edge_range_p routine. + * tree-ssa-loop-unswitch.cc (evaluate_control_stmt_using_entry_checks): + Likewise. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::ranger_cache): Access + gori_map via member call. + (ranger_cache::dump_bb): Likewise. + (ranger_cache::get_global_range): Likewise. + (ranger_cache::set_global_range): Likewise. + (ranger_cache::register_inferred_value): Likewise. + * gimple-range-fold.cc (fold_using_range::range_of_range_op): Likewise. + (fold_using_range::range_of_address): Likewise. + (fold_using_range::range_of_phi): Likewise. + * gimple-range-gori.cc (gori_compute::compute_operand_range_switch): + likewise. + (gori_compute::compute_operand_range): Likewise. + (gori_compute::compute_logical_operands): Likewise. + (gori_compute::refine_using_relation): Likewise. + (gori_compute::compute_operand1_and_operand2_range): Likewise. + (gori_compute::may_recompute_p): Likewise. + (gori_compute::has_edge_range_p): Likewise. + (gori_compute::outgoing_edge_range_p): Likewise. + (gori_compute::condexpr_adjust): Likewise. + * gimple-range-gori.h (class gori_compute): Do not inherit from + gori_map. + (gori_compute::m_map): New. + * gimple-range-path.cc (gimple-range-path.cc): Use gori_map member. + (path_range_query::compute_exit_dependencies): Likewise. + * gimple-range.cc (gimple_ranger::range_of_stmt): Likewise. + (gimple_ranger::register_transitive_inferred_ranges): Likewise. + * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): Likewise. + * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise. + * tree-vrp.cc (remove_unreachable::handle_early): Likewise. + (remove_unreachable::remove_and_update_globals): Likewise. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-edge.cc (gimple_outgoing_range::gimple_outgoing_range): + Do not allocate a range allocator at construction time. + (gimple_outgoing_range::~gimple_outgoing_range): Delete allocator + if one was allocated. + (gimple_outgoing_range::set_switch_limit): New. + (gimple_outgoing_range::switch_edge_range): Create an allocator if one + does not exist. + (gimple_outgoing_range::edge_range_p): Check for zero edges. + * gimple-range-edge.h (class gimple_outgoing_range): Adjust prototypes. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/113879 + * gimple-range-fold.cc (op1_range): New. + (op2_range): New. + * gimple-range-fold.h (op1_range): New prototypes. + (op2_range): New prototypes. + * gimple-range-infer.cc (gimple_infer_range::add_range): Do not + add an inferred range if it is VARYING. + (gimple_infer_range::gimple_infer_range): Add inferred ranges + for any range-op statements if requested. + * gimple-range-infer.h (gimple_infer_range): Add parameter. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::ranger_cache): Create an infer + oracle instead of a local member. + (ranger_cache::~ranger_cache): Destroy the oracle. + (ranger_cache::edge_range): Use oracle. + (ranger_cache::fill_block_cache): Likewise. + (ranger_cache::range_from_dom): Likewise. + (ranger_cache::apply_inferred_ranges): Likewise. + * gimple-range-cache.h (ranger_cache::m_exit): Delete. + * gimple-range-infer.cc (infer_oracle): New static object; + (class infer_oracle): New. + (non_null_wrapper::non_null_wrapper): New. + (non_null_wrapper::add_nonzero): New. + (non_null_wrapper::add_range): New. + (non_null_loadstore): Use nonnull_wrapper. + (gimple_infer_range::gimple_infer_range): New alternate constructor. + (exit_range::stmt): New. + (infer_range_manager::has_range_p): Combine seperate methods. + (infer_range_manager::maybe_adjust_range): Adjust has_range_p call. + (infer_range_manager::add_ranges): New. + (infer_range_manager::add_range): Take stmt rather than BB. + (infer_range_manager::add_nonzero): Adjust from BB to stmt. + * gimple-range-infer.h (class gimple_infer_range): Adjust methods. + (infer_range_oracle): New. + (class infer_range_manager): Inherit from infer_range_oracle. + Adjust methods. + * gimple-range-path.cc (path_range_query::range_defined_in_block): Use + oracle. + (path_range_query::adjust_for_non_null_uses): Likewise. + * gimple-range.cc (gimple_ranger::range_on_edge): Likewise + (gimple_ranger::register_transitive_inferred_ranges): Likewise. + * value-query.cc (default_infer_oracle): New. + (range_query::create_infer_oracle): New. + (range_query::destroy_infer_oracle): New. + (range_query::share_query): Copy infer pointer. + (range_query::range_query): Initialize infer pointer. + (range_query::~range_query): destroy infer object. + * value-query.h (range_query::infer_oracle): New. + (range_query::create_infer_oracle): New prototype. + (range_query::destroy_infer_oracle): New prototype. + (range_query::m_infer): New. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (gimple_ranger::gimple_ranger): Share the + components from ranger_cache. + (gimple_ranger::~gimple_ranger): Don't clear pointer. + * value-query.cc (range_query::share_query): New. + (range_query::range_query): Clear shared component flag. + (range_query::~range_query): Don't free shared component copies. + * value-query.h (share_query): New prototype. + (m_shared_copy_p): New member. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::dump_bb): Use m_relation. + (ranger_cache::fill_block_cache): Likewise + * gimple-range-fold.cc (fur_stmt::get_phi_operand): Use new names. + (fur_depend::register_relation): Likewise. + (fold_using_range::range_of_phi): Likewise. + * gimple-range-path.cc (path_range_query::path_range_query): Likewise. + (path_range_query::~path_range_query): Likewise. + (ath_range_query::compute_ranges): Likewise. + (jt_fur_source::register_relation): Likewise. + (jt_fur_source::query_relation): Likewise. + (path_range_query::maybe_register_phi_relation): Likewise. + * gimple-range-path.h (get_path_oracle): Likewise. + * gimple-range.cc (gimple_ranger::gimple_ranger): Likewise. + (gimple_ranger::~gimple_ranger): Likewise. + * value-query.cc (range_query::create_relation_oracle): Likewise. + (range_query::destroy_relation_oracle): Likewise. + (range_query::share_oracles): Likewise. + (range_query::range_query): Likewise. + * value-query.h (value_query::relation): Rename from oracle. + (m_relation): Rename from m_oracle. + * value-relation.cc (relation_oracle::query): Rename from + query_relation. + (equiv_oracle::query): Likewise. + (equiv_oracle::record): Rename from register_relation. + (relation_oracle::record): Likewise. + (dom_oracle::record): Likewise. + (dom_oracle::query): Rename from query_relation. + (path_oracle::record): Rename from register_relation. + (path_oracle::query): Rename from query_relation. + * value-relation.h (*::record): Rename from register_relation. + (*::query): Rename from query_relation. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::dump_bb): Remove check for + NULL oracle pointer. + (ranger_cache::fill_block_cache): Likewise. + * gimple-range-fold.cc (fur_stmt::get_phi_operand): Likewise. + (fur_depend::fur_depend): Likewise. + (fur_depend::register_relation): Likewise, use qury_relation. + (fold_using_range::range_of_phi): Likewise. + (fold_using_range::relation_fold_and_or): Likewise. + * gimple-range-fold.h (fur_source::m_oracle): Delete. Oracle + can be accessed dirctly via m_query now. + * gimple-range-path.cc (path_range_query::path_range_query): + Adjust for oracle reference pointer. + (path_range_query::compute_ranges): Likewise. + (jt_fur_source::jt_fur_source): Adjust for no m_oracle member. + (jt_fur_source::register_relation): Do not check for NULL + pointer. + (jt_fur_source::query_relation): Likewise. + * gimple-range.cc (gimple_ranger::gimple_ranger): Adjust for + reference pointer. + * value-query.cc (default_relation_oracle): New. + (range_query::create_relation_oracle): Relocate from header. + Ensure not being added to global query. + (range_query::destroy_relation_oracle): Relocate from header. + (range_query::range_query): Initailize to default oracle. + (ange_query::~range_query): Call destroy_relation_oracle. + * value-query.h (class range_query): Adjust prototypes. + (range_query::create_relation_oracle): Move to source file. + (range_query::destroy_relation_oracle): Move to source file. + * value-relation.cc (relation_oracle::validate_relation): Delete. + (relation_oracle::register_stmt): Rename to register_relation. + (relation_oracle::register_edge): Likewise. + * value-relation.h (register_stmt): Rename to register_relation and + provide default function in base class. + (register_edge): Likewise. + (relation_oracle::validate_relation): Delete. + (relation_oracle::query_relation): Provide default in base class. + (relation_oracle::dump): Likewise. + (relation_oracle::equiv_set): Likewise. + (default_relation_oracle): New extenal reference. + (partial_equiv_set, add_partial_equiv): Move to protected. + +2024-05-23 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::ranger_cache): Call + create_relation_oracle. + (ranger_cache::~ranger_cache): Call destroy_relation_oracle. + * gimple-range-fold.cc (fur_stmt::get_phi_operand): Check for + relation oracle bnefore calling query_relation. + (fold_using_range::range_of_phi): Likewise. + * gimple-range-path.cc (path_range_query::~path_range_query): Set + relation oracle pointer to NULL when done. + * gimple-range.cc (gimple_ranger::~gimple_ranger): Likewise. + * value-query.cc (range_query::~range_query): Ensure any + relation oracle is destroyed. + (range_query::query_relation): relocate to relation_oracle object. + * value-query.h (class range_query): Adjust method proototypes. + (range_query::create_relation_oracle): New. + (range_query::destroy_relation_oracle): New. + * value-relation.cc (relation_oracle::query_relation): Relocate + from range query class. + * value-relation.h (Call relation_oracle): New prototypes. + +2024-05-23 Pan Li <pan2.li@intel.com> + + * generic-match-head.cc (types_match): Add overloaded types_match + for 3 types. + * gimple-match-head.cc (types_match): Ditto. + * match.pd: Leverage overloaded types_match. + +2024-05-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115197 + * tree-loop-distribution.cc (copy_loop_before): Constant PHI + args remain the same. + +2024-05-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115199 + * tree-ssa-structalias.cc (process_constraint): Also + record &ANYTHING = X as *ANYTING = X in the end. + +2024-05-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115138 + * tree-ssa-alias.cc (ptrs_compare_unequal): Make sure + pt.vars_contains_nonlocal differs since we do not represent + FUNCTION_DECLs or LABEL_DECLs in vars explicitly. + +2024-05-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + PR target/109549 + * config/s390/s390.cc (TARGET_NOCE_CONVERSION_PROFITABLE_P): + Define. + (s390_noce_conversion_profitable_p): Implement. + +2024-05-23 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/115191 + * tree-ssa-phiopt.cc (value_replacement): Use Value_Range instead + of int_range_max. + +2024-05-23 Andrew Pinski <quic_apinski@quicinc.com> + Joel Jones <quic_joeljone@quicinc.com> + Wei Zhao <quic_wezhao@quicinc.com> + + * config/aarch64/aarch64-cores.def (oryon-1): New entry. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi (AArch64 Options): Document oryon-1. + +2024-05-22 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/102171 + * config/aarch64/aarch64-builtins.cc (AARCH64_SIMD_VGET_HIGH_BUILTINS): + New macro to create definitions for all vget_high intrinsics. + (VGET_HIGH_BUILTIN): Likewise. + (enum aarch64_builtins): Add vget_high function codes. + (AARCH64_SIMD_VGET_LOW_BUILTINS): Delete duplicate macro. + (aarch64_general_fold_builtin): Fold vget_high calls. + * config/aarch64/aarch64-simd-builtins.def: Delete vget_high builtins. + * config/aarch64/aarch64-simd.md (aarch64_get_high<mode>): Delete. + (aarch64_vget_hi_halfv8bf): Likewise. + * config/aarch64/arm_neon.h (__attribute__): Delete. + (vget_high_f16): Likewise. + (vget_high_f32): Likewise. + (vget_high_f64): Likewise. + (vget_high_p8): Likewise. + (vget_high_p16): Likewise. + (vget_high_p64): Likewise. + (vget_high_s8): Likewise. + (vget_high_s16): Likewise. + (vget_high_s32): Likewise. + (vget_high_s64): Likewise. + (vget_high_u8): Likewise. + (vget_high_u16): Likewise. + (vget_high_u32): Likewise. + (vget_high_u64): Likewise. + (vget_high_bf16): Likewise. + +2024-05-22 Eric Botcazou <ebotcazou@adacore.com> + + PR rtl-optimization/115038 + * fold-mem-offsets.cc (fold_offsets): Return 0 if the defining + instruction of the register is frame related. + +2024-05-22 Roger Sayle <roger@nextmovesoftware.com> + + * config/i386/i386.cc (ix86_rtx_costs) <case CONST_INT>: + A CONST_INT that isn't x86_64_immediate_operand requires an extra + (expensive) movabsq insn to load, so return COSTS_N_INSNS (1) + 1. + +2024-05-22 Roger Sayle <roger@nextmovesoftware.com> + + * except.cc (output_function_exception_table): Move call to + get_personality_function after targetm_common.except_unwind_info + check, to avoid ICE on targets that don't support exceptions. + +2024-05-22 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (change_vec_perm_layout): Ignore an + input partition of -1. + +2024-05-22 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_schedule_slp_node): Avoid looking + at SLP_REPRESENTATIVE for VEC_PERM nodes. + +2024-05-22 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vect_check_store_rhs): Look at *rhs + only when it's a vec_constant_def. + (vect_is_simple_use): When we have no representative for + an internal node, fill in *op with error_mark_node. + +2024-05-22 Richard Biener <rguenther@suse.de> + + * doc/invoke.texi (C++ Modules): Fix typo. + +2024-05-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/115152 + * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes_addr): If + !si->full_string_p, clear *nulterm and set maxlen to nbytes. + +2024-05-22 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/115172 + * ubsan.cc (instrument_bool_enum_load): If rhs is not in generic + address space, use qualified version of utype with the right + address space. Formatting fix. + +2024-05-22 Haochen Jiang <haochen.jiang@intel.com> + + PR target/115069 + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi2): + Do not enable the optimization when AVX512BW is not enabled. + +2024-05-21 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv.cc (riscv_expand_epilogue): Handle offset + being sum of two S12. + +2024-05-21 Vineet Gupta <vineetg@rivosinc.com> + + PR target/105733 + * config/riscv/riscv.h: New macros for with aligned offsets. + * config/riscv/riscv.cc (riscv_split_sum_of_two_s12): New + function to split a sum of two s12 values into constituents. + (riscv_expand_prologue): Handle offset being sum of two S12. + (riscv_expand_epilogue): Ditto. + * config/riscv/riscv-protos.h (riscv_split_sum_of_two_s12): New. + +2024-05-21 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115154 + * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)): Disable + for 1bit signed types. + +2024-05-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115137 + * tree-ssa-structalias.cc (pt_solution_includes_const_pool): NONLOCAL + also includes constant pool entries. + +2024-05-21 Richard Sandiford <richard.sandiford@arm.com> + + * hard-reg-set.h (target_hard_regs::x_eh_return_data_regs): New field. + (eh_return_data_regs): New macro. + * reginfo.cc (init_reg_sets_1): Initialize x_eh_return_data_regs. + * df-scan.cc (df_get_exit_block_use_set): Use it. + * ira-lives.cc (process_out_of_region_eh_regs): Likewise. + +2024-05-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115149 + * tree-ssa-live.cc (virtual_operand_live::get_live_in): + Explicitly track the first processed edge. + +2024-05-21 liuhongt <hongtao.liu@intel.com> + + PR target/114427 + * config/i386/i386-expand.cc (expand_vec_perm_even_odd_pack): + Use pblendw instead of pand to clear upper bits. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.md (@ieee_128bit_vsx_neg<IEEE128>2): Remove + the use of operands[3]. + (@ieee_128bit_vsx_neg<IEEE128>2): Likewise. + (*ieee_128bit_vsx_nabs<mode>2): Likewise. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.md (mode attribute rreg): Remove useless + entries with modes TF, TD, V4SF and V2DF. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/vector.md (define_expand vector_load_<mode>): Remove. + (vector_store_<mode>): Likewise. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000-call.cc (rs6000_darwin64_record_arg_recurse): + Clean up TFmode and TDmode check with FLOAT128_2REG_P. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove + useless check on TARGET_P8_VECTOR && !TARGET_ALTIVEC and add an + assertion on !TARGET_VSX if !TARGET_ALTIVEC. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + PR target/114402 + * config/rs6000/rs6000.cc (rs6000_generate_compare): Make IEEE128 + handling without vsx go with libcall. + +2024-05-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115143 + * tree-ssa-phiopt.cc (minmax_replacement): Check for empty + phi nodes for middle bbs for the case where middle bb is not empty. + +2024-05-20 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/102171 + * config/aarch64/aarch64-builtins.cc (AARCH64_SIMD_VGET_LOW_BUILTINS): + New macro to create definitions for all vget_low intrinsics. + (VGET_LOW_BUILTIN): Likewise. + (enum aarch64_builtins): Add vget_low function codes. + (aarch64_general_fold_builtin): Fold vget_low calls. + * config/aarch64/aarch64-simd-builtins.def: Delete vget_low builtins. + * config/aarch64/aarch64-simd.md (aarch64_get_low<mode>): Delete. + (aarch64_vget_lo_halfv8bf): Likewise. + * config/aarch64/arm_neon.h (__attribute__): Delete. + (vget_low_f16): Likewise. + (vget_low_f32): Likewise. + (vget_low_f64): Likewise. + (vget_low_p8): Likewise. + (vget_low_p16): Likewise. + (vget_low_p64): Likewise. + (vget_low_s8): Likewise. + (vget_low_s16): Likewise. + (vget_low_s32): Likewise. + (vget_low_s64): Likewise. + (vget_low_u8): Likewise. + (vget_low_u16): Likewise. + (vget_low_u32): Likewise. + (vget_low_u64): Likewise. + (vget_low_bf16): Likewise. + +2024-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.cc (aarch64_rtx_costs): Improve CTZ costing. + +2024-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.md (movsi_aarch64): Use '\;' to force + newline in 2-instruction pattern. + (movdi_aarch64): Likewise. + +2024-05-20 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> + + * config/aarch64/aarch64-ldp-fusion.cc: Rename generic parts of code + to avoid "ldp" and "stp". + +2024-05-20 Mark Wielaard <mark@klomp.org> + + * config/riscv/riscv.opt.urls: Regenerate. + * config/i386/i386.opt.urls: Likewise. + +2024-05-20 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> + + * config/aarch64/aarch64-ldp-fusion.cc: Factor out a + target-independent interface and move it to the head of the file + +2024-05-20 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.cc(mips_option_override): + Drop mips_lra_flag variable; + (mips_lra_p): Removed. + (TARGET_LRA_P): Remove definition here to use the default one. + * config/mips/mips.md(*mul_acc_si, *mul_acc_si_r3900, *mul_sub_si): + Drop mips_lra_flag variable. + * config/mips/mips.opt(-mlra): Removed. + * config/mips/mips.opt.urls(mlra): Removed. + +2024-05-20 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h + (get_intel_cpu): Remove Xeon Phi cpus. + (get_available_features): Remove Xeon Phi ISAs. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA_AVX512PF_SET): Removed. + (OPTION_MASK_ISA_AVX512ER_SET): Ditto. + (OPTION_MASK_ISA2_AVX5124FMAPS_SET): Ditto. + (OPTION_MASK_ISA2_AVX5124VNNIW_SET): Ditto. + (OPTION_MASK_ISA_PREFETCHWT1_SET): Ditto. + (OPTION_MASK_ISA_AVX512F_UNSET): Remove AVX512PF and AVX512ER. + (OPTION_MASK_ISA_AVX512PF_UNSET): Removed. + (OPTION_MASK_ISA_AVX512ER_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX5124FMAPS_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX5124VNNIW_UNSET): Ditto. + (OPTION_MASK_ISA_PREFETCHWT1_UNSET): Ditto. + (OPTION_MASK_ISA2_AVX512F_UNSET): Remove AVX5124FMAPS and + AVX5125VNNIW. + (ix86_handle_option): Remove Xeon Phi options. + (processor_names): Remove Xeon Phi cpus. + (processor_alias_table): Ditto. + * common/config/i386/i386-cpuinfo.h + (enum processor_types): Ditto. + (enum processor_features): Remove Xeon Phi ISAs. + * common/config/i386/i386-isas.h: Ditto. + * config.gcc: Remove Xeon Phi cpus and ISAs. + * config/i386/avx5124fmapsintrin.h: Remove intrin support. + * config/i386/avx5124vnniwintrin.h: Ditto. + * config/i386/avx512erintrin.h: Ditto. + * config/i386/avx512pfintrin.h: Ditto. + * config/i386/cpuid.h (bit_AVX512PF): Removed. + (bit_AVX512ER): Ditto. + (bit_PREFETCHWT1): Ditto. + (bit_AVX5124VNNIW): Ditto. + (bit_AVX5124FMAPS): Ditto. + * config/i386/driver-i386.cc + (host_detect_local_cpu): Remove Xeon Phi. + * config/i386/i386-builtin-types.def: Remove unused types. + * config/i386/i386-builtin.def (BDESC): Remove builtins. + * config/i386/i386-builtins.cc (ix86_init_mmx_sse_builtins): Ditto. + * config/i386/i386-c.cc (ix86_target_macros_internal): Remove Xeon + Phi cpus and ISAs. + * config/i386/i386-expand.cc (ix86_expand_builtin): Remove Xeon Phi + related handlers. + (ix86_emit_swdivsf): Ditto. + (ix86_emit_swsqrtsf): Ditto. + * config/i386/i386-isa.def: Remove Xeon Phi ISAs. + * config/i386/i386-options.cc (m_KNL): Removed. + (m_KNM): Ditto. + (isa2_opts): Remove Xeon Phi ISAs. + (isa_opts): Ditto. + (processor_cost_table): Remove Xeon Phi cpus. + (ix86_valid_target_attribute_inner_p): Remove Xeon Phi ISAs. + (ix86_option_override_internal): Remove Xeon Phi related handlers. + * config/i386/i386-rust.cc (ix86_rust_target_cpu_info): Remove Xeon + Phi ISAs. + * config/i386/i386.cc (ix86_hard_regno_mode_ok): Remove Xeon Phi + related handler. + * config/i386/i386.h (TARGET_EMIT_VZEROUPPER): Removed. + (enum processor_type): Remove Xeon Phi cpus. + * config/i386/i386.md (prefetch): Remove PREFETCHWT1. + (*prefetch_3dnow): Ditto. + (*prefetch_prefetchwt1): Removed. + * config/i386/i386.opt: Remove Xeon Phi ISAs. + * config/i386/immintrin.h: Ditto. + * config/i386/sse.md (VF1_AVX512ER_128_256): Removed. + (rsqrt<mode>2): Change iterator from VF1_AVX512ER_128_256 to + VF1_128_256. + (GATHER_SCATTER_SF_MEM_MODE): Removed. + (avx512pf_gatherpf<mode>sf): Ditto. + (*avx512pf_gatherpf<VI48_512:mode>sf_mask): Ditto. + (avx512pf_gatherpf<mode>df): Ditto. + (*avx512pf_gatherpf<VI4_256_8_512:mode>df_mask): Ditto. + (avx512pf_scatterpf<mode>sf): Ditto. + (*avx512pf_scatterpf<VI48_512:mode>sf_mask): Ditto. + (avx512pf_scatterpf<mode>df): Ditto. + (*avx512pf_scatterpf<VI4_256_8_512:mode>df_mask): Ditto. + (exp2<mode>2): Ditto. + (avx512er_exp2<mode><mask_name><round_saeonly_name>): Ditto. + (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): + Ditto. + (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Ditto. + (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): + Ditto. + (avx512er_vmrsqrt28<mode><mask_name><round_saeonly_name>): Ditto. + (IMOD4): Ditto. + (imod4_narrow): Ditto. + (mov<mode>): Ditto. + (*mov<mode>_internal): Ditto. + (avx5124fmaddps_4fmaddps): Ditto. + (avx5124fmaddps_4fmaddps_mask): Ditto. + (avx5124fmaddps_4fmaddps_maskz): Ditto. + (avx5124fmaddps_4fmaddss): Ditto. + (avx5124fmaddps_4fmaddss_mask): Ditto. + (avx5124fmaddps_4fmaddss_maskz): Ditto. + (avx5124fmaddps_4fnmaddps): Ditto. + (avx5124fmaddps_4fnmaddps_mask): Ditto. + (avx5124fmaddps_4fnmaddps_maskz): Ditto. + (avx5124fmaddps_4fnmaddss): Ditto. + (avx5124fmaddps_4fnmaddss_mask): Ditto. + (avx5124fmaddps_4fnmaddss_maskz): Ditto. + (avx5124vnniw_vp4dpwssd): Ditto. + (avx5124vnniw_vp4dpwssd_mask): Ditto. + (avx5124vnniw_vp4dpwssd_maskz): Ditto. + (avx5124vnniw_vp4dpwssds): Ditto. + (avx5124vnniw_vp4dpwssds_mask): Ditto. + (avx5124vnniw_vp4dpwssds_maskz): Ditto. + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Remove Xeon Phi cpus. + (ix86_adjust_cost): Ditto. + * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Ditto. + (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_MOVX): Ditto. + (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. + (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto. + (X86_TUNE_FOUR_JUMP_LIMIT): Ditto. + (X86_TUNE_USE_INCDEC): Ditto. + (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. + (X86_TUNE_OPT_AGU): Ditto. + (X86_TUNE_AVOID_LEA_FOR_ADDR): Ditto. + (X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE): Ditto. + (X86_TUNE_USE_SAHF): Ditto. + (X86_TUNE_USE_CLTD): Ditto. + (X86_TUNE_USE_BT): Ditto. + (X86_TUNE_ONE_IF_CONV_INSN): Ditto. + (X86_TUNE_EXPAND_ABS): Ditto. + (X86_TUNE_USE_SIMODE_FIOP): Ditto. + (X86_TUNE_EXT_80387_CONSTANTS): Ditto. + (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto. + (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. + (X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS): Ditto. + (X86_TUNE_SLOW_PSHUFB): Ditto. + (X86_TUNE_EMIT_VZEROUPPER): Removed. + * config/i386/xmmintrin.h (enum _mm_hint): Remove _MM_HINT_ET1. + * doc/extend.texi: Remove Xeon Phi. + * doc/invoke.texi: Ditto. + +2024-05-20 Pan Li <pan2.li@intel.com> + + * dse.cc (get_stored_val): Make sure read_mode/write_mode + is valid subreg before gen_lowpart. + +2024-05-19 Jeff Law <jlaw@ventanamicro.com> + + PR target/115142 + * config/riscv/riscv.cc (mem_shadd_or_shadd_rtx_p): Make sure + shifted argument is a register. + +2024-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * optabs-query.cc (can_mult_highpart_p): Test for the existence of + a wider mode instead of requiring it. + +2024-05-19 Roger Sayle <roger@nextmovesoftware.com> + + * config/nvptx/nvptx.md (popcount<mode>2): Split into... + (popcountsi2): define_insn handling SImode popcount. + (popcountdi2): define_insn handling DImode popcount, with an + explicit truncate:SI to produce an SImode result. + +2024-05-18 Palmer Dabbelt <palmer@rivosinc.com> + + * config/riscv/riscv.opt: Add -mno-fence-tso. + * config/riscv/sync-rvwmo.md (mem_thread_fence_rvwmo): Respect + -mno-fence-tso. + * doc/invoke.texi (RISC-V): Document -mno-fence-tso. + +2024-05-18 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.md: Add new patterns to allow selection + between (x << C1) + C2 vs (x + C2') << C1 depending on the + cost C2 vs C2'. + +2024-05-18 Xiao Zeng <zengxiao@eswincomputing.com> + + * config/riscv/riscv.cc (riscv_legitimize_move): Optimize movbf + with Nan-boxing value. + * config/riscv/riscv.md (*movhf_softfloat_boxing): Expand movbf + with Nan-boxing value. + (*mov<HFBF:mode>_softfloat_boxing): Ditto. + with Nan-boxing value. + (*movbf_softfloat_boxing): Delete abandon pattern. + +2024-05-18 Xiao Zeng <zengxiao@eswincomputing.com> + + * config/riscv/riscv-builtins.cc (riscv_init_builtin_types): + Modify _Bfloat16 to __bf16. + * config/riscv/riscv.cc (riscv_mangle_type): Ditto. + +2024-05-18 Pan Li <pan2.li@intel.com> + + PR target/51492 + PR target/112600 + * config/riscv/autovec.md (usadd<mode>3): New pattern expand for + the unsigned SAT_ADD in vector mode. + * config/riscv/riscv-protos.h (riscv_expand_usadd): New func decl + to expand usadd<mode>3 pattern. + (expand_vec_usadd): Ditto but for vector. + * config/riscv/riscv-v.cc (emit_vec_saddu): New func impl to emit + the vsadd insn. + (expand_vec_usadd): New func impl to expand usadd<mode>3 for vector. + * config/riscv/riscv.cc (riscv_expand_usadd): New func impl to + expand usadd<mode>3 for scalar. + * config/riscv/riscv.md (usadd<mode>3): New pattern expand for + the unsigned SAT_ADD in scalar mode. + * config/riscv/vector.md: Allow VLS mode for vsaddu. + +2024-05-17 David Malcolm <dmalcolm@redhat.com> + + * common.opt.urls: Regenerate to add + fdiagnostics-show-event-links. + +2024-05-17 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-protos.h (struct common_vector_cost): Add + segment_permute cost. + * config/riscv/riscv-vector-costs.cc (costs::adjust_stmt_cost): + Handle segment loads/stores. + * config/riscv/riscv.cc: Initialize segment_permute_[2-8] to 1. + +2024-05-17 Robin Dapp <rdapp@ventanamicro.com> + + PR middle-end/113474 + * internal-fn.cc (expand_vec_cond_mask_optab_fn): Remove + force_regs. + +2024-05-17 Tom Tromey <tromey@adacore.com> + + * dwarf2out.cc (gen_namespace_die): Use DW_TAG_module for Ada. + +2024-05-17 David Malcolm <dmalcolm@redhat.com> + + * common.opt (fdiagnostics-show-event-links): New option. + * diagnostic-label-effects.h: New file. + * diagnostic-path.h (diagnostic_event::connect_to_next_event_p): + New pure virtual function. + (simple_diagnostic_event::connect_to_next_event_p): Implement it. + (simple_diagnostic_event::connect_to_next_event): New. + (simple_diagnostic_event::m_connected_to_next_event): New field. + (simple_diagnostic_path::connect_to_next_event): New decl. + * diagnostic-show-locus.cc: Include "text-art/theme.h" and + "diagnostic-label-effects.h". + (colorizer::set_cfg_edge): New. + (layout::m_fallback_theme): New field. + (layout::m_theme): New field. + (layout::m_effect_info): New field. + (layout::m_link_lhs_state): New enum and field. + (layout::m_link_rhs_column): New field. + (layout_range::has_in_edge): New. + (layout_range::has_out_edge): New. + (layout::layout): Add "effect_info" optional param. Initialize + m_theme, m_link_lhs_state, and m_link_rhs_column. + (layout::maybe_add_location_range): Remove stray "FIXME" from + leading comment. + (layout::print_source_line): Replace space after margin with a + call to print_leftmost_column. + (layout::print_leftmost_column): New. + (layout::start_annotation_line): Make non-const. Gain + responsibility for printing the leftmost column after the margin. + (layout::print_annotation_line): Drop pp_space, as this is now + added by start_annotation_line. + (line_label::line_label): Add "has_in_edge" and "has_out_edge" + params and initialize... + (line_label::m_has_in_edge): New field. + (line_label::m_has_out_edge): New field. + (layout::print_any_labels): Pass edge information to line_label + ctor. Keep track of in-edges and out-edges, adding visualizations + of these links between labels. + (layout::print_leading_fixits): Drop pp_character, as this is now + added by start_annotation_line. + (layout::print_trailing_fixits): Fix off-by-one errors in column + calculation. + (layout::move_to_column): Add comment about debugging. + (layout::show_ruler): Make non-const. Drop pp_space calls, as + this is now added by start_annotation_line. + (layout::print_line): Call print_any_right_to_left_edge_lines. + (layout::print_any_right_to_left_edge_lines): New. + (layout::update_any_effects): New. + (gcc_rich_location::add_location_if_nearby): Initialize + loc_range.m_label. + (diagnostic_context::maybe_show_locus): Add "effects" param and + pass it to diagnostic_context::show_locus. + (diagnostic_context::show_locus): Add "effects" param, passing it + to layout's ctor. Call update_any_effects on the layout after + printing the lines. + (selftest::test_layout_x_offset_display_utf8): Update expected + result for eliminated trailing newline. + (selftest::test_layout_x_offset_display_utf8): Likewise. + (selftest::test_layout_x_offset_display_tab): Likewise. + * diagnostic.cc (diagnostic_context::initialize): Initialize + m_source_printing.show_event_links_p. + (simple_diagnostic_path::connect_to_next_event): New. + (simple_diagnostic_event::simple_diagnostic_event): Initialize + m_connected_to_next_event. + * diagnostic.h (class diagnostic_source_effect_info): New forward + decl. + (diagnostic_source_printing_options::show_event_links_p): New + field. + (diagnostic_context::maybe_show_locus): Add optional "effect_info" + param. + (diagnostic_context::show_locus): Add "effect_info" param. + (diagnostic_show_locus): Add optional "effect_info" param. + * doc/invoke.texi: Add -fno-diagnostics-show-event-links. + * lto-wrapper.cc (merge_and_complain): Add + OPT_fdiagnostics_show_event_links to switch. + (append_compiler_options): Likewise. + (append_diag_options): Likewise. + * opts-common.cc (decode_cmdline_options_to_array): Add + "-fno-diagnostics-show-event-links" to -fdiagnostics-plain-output. + * opts.cc (common_handle_option): Add case for + OPT_fdiagnostics_show_event_links. + * text-art/theme.cc (ascii_theme::get_cppchar): Handle + cell_kind::CFG_*. + (unicode_theme::get_cppchar): Likewise. + * text-art/theme.h (theme::cell_kind): Add CFG_*. + * toplev.cc (general_init): Initialize + global_dc->m_source_printing.show_event_links_p. + * tree-diagnostic-path.cc: Define INCLUDE_ALGORITHM, + INCLUDE_MEMORY, and INCLUDE_STRING. Include + "diagnostic-label-effects.h". + (path_label::path_label): Initialize m_effects. + (path_label::get_effects): New. + (class path_label::path_label_effects): New. + (path_label::m_effects): New field. + (class per_thread_summary): Add "friend struct event_range;". + (per_thread_summary::per_thread_summary): Initialize m_last_event. + (per_thread_summary::m_last_event): New field. + (struct event_range::per_source_line_info): New. + (event_range::event_range): Make "t" non-const. Add + "show_event_links" param and use it to initialize + m_show_event_links. Add info for initial event. + (event_range::get_per_source_line_info): New. + (event_range::maybe_add_event): Verify compatibility of the new + label and existing labels with respect to the link-printing code. + Update per-source-line info when an event is added. + (event_range::print): Add"effect_info" param and pass to + diagnostic_show_locus. + (event_range::m_per_thread_summary): Make non-const. + (event_range::m_source_line_info_map): New field. + (event_range::m_show_event_links): New field. + (path_summary::path_summary): Add "show_event_links" optional + param, passing it to event_range ctor calls. Update + pts.m_last_event. + (thread_event_printer::print_swimlane_for_event_range): Add + "effect_info" param and pass it to range->print. + (print_path_summary_as_text): Keep track of the column for any + out-edges at the end of printing each event_range and use as + the leading in-edge for the next event_range. + (default_tree_diagnostic_path_printer): Pass in show_event_links_p + to path_summary ctor. + (selftest::path_events_have_column_data_p): New. + (class selftest::control_flow_test): New. + (selftest::test_control_flow_1): New. + (selftest::test_control_flow_2): New. + (selftest::test_control_flow_3): New. + (selftest::assert_cfg_edge_path_streq): New. + (ASSERT_CFG_EDGE_PATH_STREQ): New macro. + (selftest::test_control_flow_4): New. + (selftest::test_control_flow_5): New. + (selftest::test_control_flow_6): New. + (selftest::control_flow_tests): New. + (selftest::tree_diagnostic_path_cc_tests): Disable colorization on + global_dc's printer. Convert event_pp to a std::unique_ptr. Call + control_flow_tests via for_each_line_table_case. + (gen_command_line_string): Likewise. + +2024-05-17 Uros Bizjak <ubizjak@gmail.com> + + PR middle-end/112600 + * config/i386/mmx.md (<insn><mode>3): New expander. + * config/i386/sse.md + (<sse2_avx2>_<sat_plusminus:insn><mode>3<mask_name>): + Rename expander to <sat_plusminus:insn><mode>3<mask_name>. + (<umaxmin:code><mode>3): Update for rename. + * config/i386/i386-builtin.def: Update for rename. + +2024-05-17 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/115131 + * value-range.cc (prange::intersect): Set VARYING if intersection + of bitmasks made the range span the entire domain. + (range_tests_misc): New test. + +2024-05-17 Alexander Monakov <amonakov@ispras.ru> + + PR c++/114480 + * tree-into-ssa.cc (prune_unused_phi_nodes): Add dfs_out entries + to the 'defs' array in the reverse order. + +2024-05-17 Aldy Hernandez <aldyh@redhat.com> + + PR middle-end/115128 + * ipa-cp.cc (ipa_value_range_from_jfunc): Check for undefined_p + before looking at type. + (propagate_vr_across_jump_function): Same. + +2024-05-17 Richard Biener <rguenther@suse.de> + + PR middle-end/115110 + * tree-ssa-alias.cc (view_converted_memref_p): Fix. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * expmed.h (expmed_mult_highpart_optab): Declare. + * expmed.cc (expmed_mult_highpart_optab): Remove static keyword. + Do not assume that OP1 is a constant integer. Fix pasto. + (expmed_mult_highpart): Pass OP1 narrowed to MODE in all the calls + to expmed_mult_highpart_optab. + * optabs-query.cc (can_mult_highpart_p): Use 2 for integer widening + and shift subsequent values accordingly. + * optabs.cc (expand_mult_highpart): Call expmed_mult_highpart_optab + when can_mult_highpart_p returns 2 and adjust to above change. + +2024-05-17 Richard Biener <rguenther@suse.de> + + * tree-ssa-alias.h (pt_solution_includes_const_pool): Declare. + * tree-ssa-alias.cc (ptrs_compare_unequal): Use + pt_solution_includes_const_pool. + * tree-ssa-structalias.cc (pt_solution_includes_const_pool): New. + +2024-05-17 Alexandre Oliva <oliva@adacore.com> + + * common.opt (freg-struct-return): Make it explicitly + fpcc-struct-return's NegativeAlias. Copy Optimization... + (freg-struct-return): ... here. + +2024-05-17 Pan Li <pan2.li@intel.com> + + * config/riscv/.riscv.cc.swo: Removed. + * config/riscv/j: Removed. + +2024-05-16 Pan Li <pan2.li@intel.com> + + * config/riscv/autovec-opt.md(*vcond_mask_len_popcount_<VB_VLS:mode><P:mode>): + New pattern of vcond_mask_len_popcount for vector bool mode. + * config/riscv/autovec.md (vcond_mask_len_<mode>): New pattern of + vcond_mask_len for vector bool mode. + (cbranch<mode>4): New pattern for vector bool mode. + * config/riscv/vector-iterators.md: Add new unspec UNSPEC_SELECT_MASK. + * config/riscv/vector.md (@pred_popcount<VB:mode><P:mode>): Add VLS mode + to popcount pattern. + (@pred_popcount<VB_VLS:mode><P:mode>): Ditto. + +2024-05-16 Jan Hubicka <jh@suse.cz> + + PR ipa/113787 + * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p): Do not + look into TARGET_MEM_REFS with constant opreand 0. + +2024-05-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/13962 + PR tree-optimization/96564 + * tree-ssa-alias.h (pt_solution::const_pool): New flag. + * tree-ssa-alias.cc (ptrs_compare_unequal): Handle pointer-pointer + compares. + (dump_points_to_solution): Dump the const_pool flag, fix guard + of flag dumping. + * gimple-pretty-print.cc (pp_points_to_solution): Likewise. + * tree-ssa-structalias.cc (find_what_var_points_to): Set + the const_pool flag for STRING. + (pt_solution_ior_into): Handle the const_pool flag. + (ipa_escaped_pt): Initialize it. + +2024-05-16 Richard Biener <rguenther@suse.de> + + * tree-ssa-structalias.cc (get_constraint_for_1): For + volatile referenced or decls use ANYTHING. + +2024-05-16 Pan Li <pan2.li@intel.com> + + * tree-vect-loop.cc (vect_gen_loop_len_mask): New func to gen + the loop len mask. + * tree-vect-stmts.cc (vectorizable_early_exit): Invoke the + vect_gen_loop_len_mask for 1 or more stmt(s). + * tree-vectorizer.h (vect_gen_loop_len_mask): New func decl + for vect_gen_loop_len_mask. + +2024-05-16 Pan Li <pan2.li@intel.com> + + PR target/51492 + PR target/112600 + * tree-vect-patterns.cc (gimple_unsigned_integer_sat_add): New + func decl generated by match.pd match. + (vect_recog_sat_add_pattern): New func impl to recog the pattern + for unsigned SAT_ADD. + +2024-05-16 Pan Li <pan2.li@intel.com> + + PR target/51492 + PR target/112600 + * internal-fn.cc (commutative_binary_fn_p): Add type IFN_SAT_ADD + to the return true switch case(s). + * internal-fn.def (SAT_ADD): Add new signed optab SAT_ADD. + * match.pd: Add unsigned SAT_ADD match(es). + * optabs.def (OPTAB_NL): Remove fixed-point limitation for + us/ssadd. + * tree-ssa-math-opts.cc (gimple_unsigned_integer_sat_add): New + extern func decl generated in match.pd match. + (match_saturation_arith): New func impl to match the saturation arith. + (math_opts_dom_walker::after_dom_children): Try match saturation + arith when IOR expr. + +2024-05-16 Aldy Hernandez <aldyh@redhat.com> + + Revert: + 2024-05-10 Aldy Hernandez <aldyh@redhat.com> + + Revert: + 2024-05-08 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (sbr_sparse_bitmap::sbr_sparse_bitmap): + Change irange to prange. + * gimple-range-fold.cc (fold_using_range::fold_stmt): Same. + (fold_using_range::range_of_address): Same. + * gimple-range-fold.h (range_of_address): Same. + * gimple-range-infer.cc (gimple_infer_range::add_nonzero): Same. + * gimple-range-op.cc (class cfn_strlen): Same. + * gimple-range-path.cc + (path_range_query::adjust_for_non_null_uses): Same. + * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Same. + * tree-ssa-structalias.cc (find_what_p_points_to): Same. + * range-op-ptr.cc (range_op_table::initialize_pointer_ops): Remove + hybrid entries in table. + * range-op.cc (range_op_table::range_op_table): Add pointer + entries for bitwise and/or and min/max. + * value-range.cc (irange::verify_range): Add assert. + * value-range.h (irange::varying_compatible_p): Remove check for + error_mark_node. + (irange::supports_p): Remove pointer support. + * ipa-cp.h (ipa_supports_p): Add prange support. + +2024-05-16 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/114985 + * gimple-range-op.cc: Remove pointers_handled_p. + * ipa-cp.cc (ipa_value_range_from_jfunc): Skip range folding if + operands don't match. + (propagate_vr_across_jump_function): Same. + * range-op-mixed.h: Remove pointers_handled_p and tweak + operand_check_p. + * range-op-ptr.cc (range_operator::pointers_handled_p): Remove. + (pointer_plus_operator::pointers_handled_p): Remove. + (class operator_pointer_diff): Remove pointers_handled_p. + (operator_pointer_diff::pointers_handled_p): Remove. + (operator_identity::pointers_handled_p): Remove. + (operator_cst::pointers_handled_p): Remove. + (operator_cast::pointers_handled_p): Remove. + (operator_min::pointers_handled_p): Remove. + (operator_max::pointers_handled_p): Remove. + (operator_addr_expr::pointers_handled_p): Remove. + (operator_bitwise_and::pointers_handled_p): Remove. + (operator_bitwise_or::pointers_handled_p): Remove. + (operator_equal::pointers_handled_p): Remove. + (operator_not_equal::pointers_handled_p): Remove. + (operator_lt::pointers_handled_p): Remove. + (operator_le::pointers_handled_p): Remove. + (operator_gt::pointers_handled_p): Remove. + (operator_ge::pointers_handled_p): Remove. + * range-op.cc (TRAP_ON_UNHANDLED_POINTER_OPERATORS): Remove. + (range_op_handler::lhs_op1_relation): Remove pointers_handled_p checks. + (range_op_handler::lhs_op2_relation): Same. + (range_op_handler::op1_op2_relation): Same. + * range-op.h: Remove RO_* declarations. + +2024-05-16 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/114985 + * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Use + boolean type when folding conditionals. + +2024-05-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/79958 + PR tree-optimization/109087 + PR tree-optimization/100314 + PR tree-optimization/114774 + * tree-ssa-dse.cc (dse_classify_store): New forwarder. + (dse_classify_store): Add arguments cnt and visited, recurse + to track multiple paths when we end up with multiple defs. + +2024-05-16 David Malcolm <dmalcolm@redhat.com> + + * text-art/theme.cc (ascii_theme::get_cppchar): Add + cell_kind::INTERPROCEDURAL_*. + (unicode_theme::get_cppchar): Likewise. + * text-art/theme.h (theme::cell_kind): Likewise. + * tree-diagnostic-path.cc: + (thread_event_printer::print_swimlane_for_event_range): Use the + above to get characters for indicating interprocedural stack + depth activity, falling back to ascii. + (selftest::test_interprocedural_path_1): Test with both ascii + and unicode themes. + (selftest::test_interprocedural_path_2): Likewise. + (selftest::test_recursion): Likewise. + +2024-05-16 David Malcolm <dmalcolm@redhat.com> + + * tree-diagnostic-path.cc: Include "text-art/theme.h". + (path_label::get_text): If the event has + diagnostic_event::VERB_danger, and the theme enables emojis, then + add a warning emoji between the event number and the event text. + +2024-05-16 David Malcolm <dmalcolm@redhat.com> + + * tree-diagnostic-path.cc (per_thread_summary::interprocedural_p): + New. + (thread_event_printer::print_swimlane_for_event_range): Don't + indent and print the stack depth line if this thread's events are + purely intraprocedural. + (selftest::test_intraprocedural_path): Update expected output. + +2024-05-16 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-path.h: Update leading comment to reflect + intraprocedural cases. Fix typo in comment. + * doc/invoke.texi: Update intraprocedural example. + +2024-05-16 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-show-locus.cc: Define INCLUDE_VECTOR and include + "text-art/types.h". + (line_label::line_label): Drop "policy" argument. Use + styled_string::calc_canvas_width when computing m_display_width, + as this skips SGR codes. + (layout::print_any_labels): Update for line_label ctor change. + (selftest::test_one_liner_labels_utf8): Update expected text to + reflect that the labels can fit on one line if we don't get + confused by SGR colorization codes. + +2024-05-16 Xiao Zeng <zengxiao@eswincomputing.com> + + * common/config/riscv/riscv-common.cc: + (riscv_implied_info): Add zvfbfwma item. + (riscv_ext_version_table): Ditto. + (riscv_ext_flag_table): Ditto. + * config/riscv/riscv.opt: + (MASK_ZVFBFWMA): New macro. + (TARGET_ZVFBFWMA): Ditto. + +2024-05-16 liuhongt <hongtao.liu@intel.com> + + PR target/114514 + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial): + Set d.one_operand_p to true when TARGET_SSSE3. + +2024-05-16 liuhongt <hongtao.liu@intel.com> + + PR target/114514 + * config/i386/i386-expand.cc + (ix86_expand_vec_shift_qihi_constant): Optimize ashift >> 7 to + vpcmpgtb. + (ix86_expand_vecop_qihi_partial): Ditto. + +2024-05-15 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv-string.cc: Add missing hunk from last change. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-string.cc (emit_strcmp_scalar_load_and_compare): + Use adjust_address() to calculate MEM-PLUS pattern. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-protos.h (riscv_expand_block_compare): New + prototype. + * config/riscv/riscv-string.cc (GEN_EMIT_HELPER2): New helper + for zero_extendhi. + (do_load_from_addr): Add support for HI and SI/64 modes. + (do_load): Add helper for zero-extended loads. + (emit_memcmp_scalar_load_and_compare): New helper to emit memcmp. + (emit_memcmp_scalar_result_calculation): Likewise. + (riscv_expand_block_compare_scalar): Likewise. + (riscv_expand_block_compare): New RISC-V expander for memory compare. + * config/riscv/riscv.md (cmpmemsi): New cmpmem expansion. + +2024-05-15 Marek Polacek <polacek@redhat.com> + + DR 1693 + PR c++/113760 + DR 569 + * doc/invoke.texi: Update -Wextra-semi documentation. + +2024-05-15 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114902 + PR rtl-optimization/115092 + * combine.cc (simplify_compare_const): Don't optimize + GE op0 SIGNED_MIN or LT op0 SIGNED_MIN into NE op0 const0_rtx or + EQ op0 const0_rtx. + +2024-05-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114589 + * tree-ssa-sink.cc (select_best_block): Remove profile-based + heuristics. Instead reject sink locations that sink + to post-dominators. Move empty latch check here from + statement_sink_location. Also consider early_bb for the + loop depth check. + (statement_sink_location): Remove superfluous check. Remove + empty latch check. + (pass_sink_code::execute): Compute/release post-dominators. + +2024-05-15 Richard Biener <rguenther@suse.de> + + PR middle-end/111422 + * cfgexpand.cc (add_scope_conflicts_2): Handle PHIs + by recursing to their arguments. + +2024-05-15 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64-simd.md (aarch64_combine_internal<mode>): + Use UZP1 instead of INS. + (aarch64_combine_internal_be<mode>): Likewise. + +2024-05-15 Jan Hubicka <jh@suse.cz> + + * alias.cc (reference_alias_ptr_type_1): Use view_converted_memref_p. + * alias.h (view_converted_memref_p): Declare. + * tree-ssa-alias.cc (view_converted_memref_p): Export. + (ao_compare::compare_ao_refs): Use same_type_for_tbaa. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-string.cc (riscv_block_move_straight): + Hand over up to 2xXLEN bytes to move_by_pieces(). + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-string.cc (riscv_block_move_straight): Add + parameter align. + (riscv_adjust_block_mem): Replace parameter length by align. + (riscv_block_move_loop): Add parameter align. + (riscv_expand_block_move_scalar): Set alignment properly if the + target has fast unaligned access. + +2024-05-15 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/114995 + * range-op-ptr.cc (range_operator::pointers_handled_p): Default to true. + +2024-05-15 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/114301 + * tree-cfg.cc (gimple_can_duplicate_bb_p): Check returns_twice + only on the last call statement rather than all. + +2024-05-15 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv-string.cc + (riscv_expand_block_clear_zicboz_zic64b): Handle rv32 correctly. + +2024-05-15 Levy Hsu <admin@levyhsu.com> + + PR target/107563 + * config/i386/i386-expand.cc (expand_vec_perm_psrlw_psllw_por): New + subroutine. + (ix86_expand_vec_perm_const_1): Call expand_vec_perm_psrlw_psllw_por. + +2024-05-15 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.md: Add pattern for sign extended shift-add + sequence with a masked input. + +2024-05-14 Dimitar Dimitrov <dimitar@dinux.eu> + + PR rtl-optimization/115013 + * config/pru/pru.cc (pru_class_likely_spilled_p): Implement + to mark classes containing one SImode register as likely + spilled. + (TARGET_CLASS_LIKELY_SPILLED_P): Define. + +2024-05-14 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv.h: New macros to check for sum of two S12 + range. + * config/riscv/constraints.md: New constraint. + * config/riscv/predicates.md: New Predicate. + * config/riscv/riscv.md: New splitter. + * config/riscv/riscv.cc (riscv_reg_frame_related): New helper. + * config/riscv/riscv-protos.h: New helper prototype. + +2024-05-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/99954 + * tree-data-ref.cc (dr_may_alias_p): For bases that are + not completely analyzed fall back to TBAA and points-to. + * tree-loop-distribution.cc + (loop_distribution::classify_builtin_ldst): When there + is no dependence again classify as memcpy. + * tree-ssa-alias.cc (ptr_deref_may_alias_decl_p): Verify + the pointer is an SSA name. + +2024-05-14 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-protos.h (riscv_expand_block_clear): New prototype. + * config/riscv/riscv-string.cc (riscv_expand_block_clear_zicboz_zic64b): + New function to expand a block-clear with cbo.zero. + (riscv_expand_block_clear): New RISC-V block-clear expansion function. + * config/riscv/riscv.md (setmem<mode>): New setmem expansion. + +2024-05-14 Christoph Müllner <christoph.muellner@vrull.eu> + + * expr.cc (clear_by_pieces): Remove static from clear_by_pieces. + * expr.h (clear_by_pieces): Add prototype for clear_by_pieces. + +2024-05-14 Tom de Vries <tdevries@suse.de> + + PR debug/115066 + * dwarf2out.cc (output_macinfo_op): Fix DW_MACRO_define_strx/strp + choice for v4 .debug_macro.dwo. Add asserts to check that choice. + +2024-05-14 Jan Hubicka <jh@suse.cz> + + PR ipa/113291 + * ipa-inline.cc (enum can_inline_edge_by_limits_flags): New enum. + (can_inline_edge_by_limits_p): Take flags instead of multiple bools; add flag + for forcing inlinie limits. + (can_early_inline_edge_p): Update. + (want_inline_self_recursive_call_p): Update; use FORCE_LIMITS mode. + (check_callers): Update. + (update_caller_keys): Update. + (update_callee_keys): Update. + (recursive_inlining): Update. + (add_new_edges_to_heap): Update. + (speculation_useful_p): Update. + (inline_small_functions): Clear DECL_DISREGARD_INLINE_LIMITS on self recursion. + (flatten_function): Update. + (inline_to_all_callers_1): Update. + +2024-05-14 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/rs6000.cc (TARGET_OVERLAP_OP_BY_PIECES_P): Define. + +2024-05-14 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-05-13 Sergei Lewis <slewis@rivosinc.com> + + * config/riscv/riscv.md (movmem<mode>): Use riscv_vector::expand_block_move, + if and only if we know the entire operation can be performed using one vector + load followed by one vector store + +2024-05-14 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-vector-builtins.cc + (validate_instance_type_required_extensions): Remove the + operator from the trailing and put it to new line. + +2024-05-13 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md: Add new splitter for AND with + a constant that masks off bits 32..63 and needs synthesis. + +2024-05-13 Sergei Lewis <slewis@rivosinc.com> + + * config/riscv/riscv.md (movmem<mode>): Use riscv_vector::expand_block_move, + if and only if we know the entire operation can be performed using one vector + load followed by one vector store + +2024-05-13 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/115013 + * lra-constraints.cc (process_alt_operands): Update all_used_nregs + only for winreg. Ignore reg starvation for small reg classes. + +2024-05-13 Pan Li <pan2.li@intel.com> + + PR target/114988 + * config/riscv/riscv-vector-builtins.cc + (validate_instance_type_required_extensions): New func impl to + validate the intrinisc func type ops. + (expand_builtin): Validate instance type before expand. + +2024-05-13 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md (bextseqzdisi): New patterns. + * config/riscv/.riscv.cc.swo: New file. + * config/riscv/j: New file. + +2024-05-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/60276 + * tree-vect-stmts.cc (vectorizable_load): Do not exempt + pure_slp grouped loads from the STMT_VINFO_MIN_NEG_DIST + restriction. + +2024-05-13 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_analyze_slp_instance): Remove + slp_inst_kind_reduc_group handling. + (vect_analyze_slp): Add the meat here. + +2024-05-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113982 + * tree-ssa-math-opts.cc (arith_overflow_check_p): Also return 1 + for RSHIFT_EXPR by precision of maxval if shift result is only + used in a cast or comparison against zero. + (match_arith_overflow): Handle the RSHIFT_EXPR use case. + +2024-05-13 YunQiang Su <syq@debian.org> + + Revert: + 2024-05-09 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/constraints.md: Add new constraint 'w'. + +2024-05-12 Roger Sayle <roger@nextmovesoftware.com> + Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> + + * config/arm/arm.md (*arm_zeroextractsi2_8_8, *arm_signextractsi2_8_8, + *arm_zeroextractsi2_8_16, *arm_signextractsi2_8_16, + *arm_zeroextractsi2_16_8, *arm_signextractsi2_16_8): New. + +2024-05-12 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_build_integer_1): Use slli.uw more. + +2024-05-12 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_build_integer_1): Fix thinko in testing + when lui can be used to set several bits in bseti path. + +2024-05-12 Mark Wielaard <mark@klomp.org> + + * config/mingw/cygming.opt.urls: Regenerate. + * config/mingw/mingw.opt.urls: Likewise. + +2024-05-11 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (DEBUG_S_SYMBOLS): Define. + (S_COMPILE3, CV_CFL_80386, CV_CFL_X64): Likewise. + (CV_CFL_C, CV_CFL_CXX): Likewise. + (SYMBOL_START_LABEL, SYMBOL_END_LABEL): Likewise. + (start_processor, language_constant): New functions. + (write_compile3_symbol, write_codeview_symbols): Likewise. + (codeview_debug_finish): Call write_codeview_symbols. + +2024-05-11 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (DEBUG_S_LINES, LINE_LABEL): Define. + (END_FUNC_LABEL): Likewise. + (struct codeview_line, codeview_line_block): New structures. + (codeview_function): Likewise. + (line_label_num, func_label_num, funcs, last_func): New variables. + (last_filename, last_file_id): Likewise. + (codeview_source_line, write_line_numbers): New functions. + (codeview_switch_text_section, codeview_end_epilogue): Likewise. + (codeview_debug_finish): Call write_line_numbers. + * dwarf2codeview.h (codeview_source_line): Prototype. + (codeview_switch_text_secction, codeview_end_epilogue): Likewise. + * dwarf2out.cc (dwarf2_end_epilogue): Add codeview support. + (dwarf2out_switch_text_section): Likewise. + (dwarf2out_source_line): Likewise. + * opts.cc (finish_options): Handle codeview debugging symbols. + +2024-05-11 Mark Harmstone <mark@harmstone.com> + + * dwarf2codeview.cc (DEBUG_S_STRINGTABLE): Define. + (DEBUG_S_FILECHKSMS, CHKSUM_TYPE_MD5, HASH_SIZE): Likewise. + (codeview_string, codeview_source_file): New structures. + (struct string_hasher): New class for codeview_string hashing. + (files, last_file, num_files, string_offset): New variables. + (strings_hstab, strings, last_string): Likewise. + (add_string, codevie_start_source_file): New functions. + (write_strings_tabe, write_soruce_files): Likewise. + (codeview_debug_finish): Call new functions. + * dwarf2codeview.h (codeview_start_source_file): Prototype. + * dwarf2out.cc (dwarf2out_start_source_file): Handle codeview. + +2024-05-11 Mark Harmstone <mark@harmstone.com> + + * Makefile.in (OBJS): Add dwarf2codeview.o. + (GTFILES): Add dwarf2codeview.cc + * config/i386/cygming.h (CODEVIEW_DEBUGGING_INFO): Define. + * dwarf2codeview.cc: New file. + * dwarf2codeview.h: New file. + * dwarf2out.cc: Include dwarf2codeview.h. + (dwarf2out_finish): Call codeview_debug_finish as needed. + * flag-types.h (DINFO_TYPE_CODEVIEW): Add enum member. + (CODEVIEW_DEBUG): Define. + * flags.h (codeview_debuginfo_p): Proottype. + * opts.cc (debug_type_names): Add codeview. + (debug_type_masks): Add CODEVIEW_DEBUG. + (df_set_names): Add codeview. + (codeview_debuginfo_p): New function. + (dwarf_based_debuginfo_p): Add CODEVIEW clause. + (set_debug_level): Handle CODEVIEW_DEBUG. + * toplev.cc (process_options): Handle codeview. + +2024-05-11 dzhao.ampere <di.zhao@amperecomputing.com> + + PR tree-optimization/114760 + * tree-ssa-loop-niter.cc (is_lshift_by_1): New function + to check if STMT is equivalent to x << 1. + (is_rshift_by_1): New function to check if STMT is + equivalent to x >> 1. + (number_of_iterations_cltz): Enhance the identification + of logical shift by one. + (number_of_iterations_cltz_complement): Enhance the + identification of logical shift by one. + +2024-05-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op-ptr.cc (range_operator::fold_range): Return false. + +2024-05-11 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (TRAP_ON_UNHANDLED_POINTER_OPERATORS): New + (range_op_handler::fold_range): Use it. + (range_op_handler::op1_range): Same. + (range_op_handler::op2_range): Same. + (range_op_handler::lhs_op1_relation): Same. + (range_op_handler::lhs_op2_relation): Same. + (range_op_handler::op1_op2_relation): Same. + +2024-05-10 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_build_integer_1): Recognize cases where + we can use shNadd to improve constant synthesis. + (riscv_move_integer): Handle code generation for shNadd. + +2024-05-10 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + * config/i386/i386-expand.cc (ix86_expand_vecop_qihi_partial): + Don't attempt ix86_expand_vec_shift_qihi_constant on SSE4.1. + +2024-05-10 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/predicates.md (pru_mulsrc0_operand): Use register + class instead of register number for the check. + (pru_mulsrc1_operand): Ditto. + +2024-05-10 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/114942 + * lra-constraints.cc (struct input_reload): Add new member early_clobber_p. + (get_reload_reg): Add new arg early_clobber_p, don't reuse input + reload with true early_clobber_p member value, use the arg for new + element of curr_insn_input_reloads. + (match_reload): Assign false to early_clobber_p member. + (process_addr_reg, simplify_operand_subreg, curr_insn_transform): + Adjust get_reload_reg calls. + +2024-05-10 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/115026 + * value-range.cc (prange::update_bitmask): Use operand bitmask. + +2024-05-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114998 + * tree-loop-distribution.cc (free_rdg): Take loop argument. + Reset UIDs of stmts still in the IL rather than all stmts + referenced from the RDG. + (loop_distribution::build_rdg): Pass loop to free_rdg. + (loop_distribution::distribute_loop): Likewise. + (loop_distribution::transform_reduction_loop): Likewise. + +2024-05-10 Richard Biener <rguenther@suse.de> + + * tree-vect-patterns.cc (vect_pattern_recog_1): Do not + remove reductions involving patterns. + * tree-vect-loop.cc (vectorizable_reduction): Reject SLP + reduction groups with multiple lane-reducing reductions. + * tree-vect-slp.cc (vect_analyze_slp_instance): When discovering + SLP reduction groups avoid including lane-reducing ones. + +2024-05-10 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/bpf/bpf.cc (bpf_print_operand_address): Include + surrounding parenthesis around mem operands in pseudoc asm + dialect. + * config/bpf/bpf.md (*mov<MM:mode>): Adapt accordingly. + (zero_extendhidi2): Likewise. + (zero_extendqidi2): Likewise. + (*extendsidi2): Likewise. + (*extendsidi2): Likewise. + (extendhidi2): Likewise. + (extendqidi2): Likewise. + (extendhisi2): Likewise. + * config/bpf/atomic.md (atomic_add<AMO:mode>): Likewise. + (atomic_and<AMO:mode>): Likewise. + (atomic_or<AMO:mode>): Likewise. + (atomic_xor<AMO:mode>): Likewise. + (atomic_fetch_add<AMO:mode>): Likewise. + (atomic_fetch_and<AMO:mode>): Likewise. + (atomic_fetch_or<AMO:mode>): Likewise. + (atomic_fetch_xor<AMO:mode>): Likewise. + +2024-05-10 Jakub Jelinek <jakub@redhat.com> + + PR target/114968 + * target.def (use_atexit_for_cxa_atexit): Remove spurious space + from comment. + (adjust_cdtor_callabi_fntype): New cxx target hook. + * targhooks.h (default_cxx_adjust_cdtor_callabi_fntype): Declare. + * targhooks.cc (default_cxx_adjust_cdtor_callabi_fntype): New + function. + * doc/tm.texi.in (TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE): Add. + * doc/tm.texi: Regenerate. + * config/i386/i386.cc (ix86_cxx_adjust_cdtor_callabi_fntype): New + function. + (TARGET_CXX_ADJUST_CDTOR_CALLABI_FNTYPE): Redefine. + +2024-05-10 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/115009 + * value-range-storage.cc (prange_storage::alloc): Do not assume + all pointers are the same size. + (prange_storage::prange_storage): Same. + (prange_storage::fits_p): Same. + +2024-05-10 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv-vsetvl.cc: Fix typos in comments. + (get_all_predecessors): Ditto. + (pre_vsetvl::m_unknow_info): Rename to... + (pre_vsetvl::m_unknown_info): this. + (pre_vsetvl::compute_vsetvl_def_data): Rename m_unknow_info to + m_unknown_info. + (pre_vsetvl::cleaup): Rename to... + (pre_vsetvl::cleanup): this. + (pre_vsetvl::compute_vsetvl_def_data): Fix typos. + (pass_vsetvl::lazy_vsetvl): Update function name and fix typos. + * config/riscv/riscv.cc: Fix typos in comments. + (struct machine_function): Fix typo in comments. + (riscv_valid_lo_sum_p): Ditto. + (riscv_force_address): Ditto. + (riscv_immediate_operand_p): Ditto. + (riscv_in_small_data_p): Ditto. + (riscv_first_stack_step): Ditto. + (riscv_expand_prologue): Ditto. + (riscv_convert_vector_chunks): Ditto. + (riscv_override_options_internal): Ditto. + (get_common_costs): Ditto. + +2024-05-10 Xi Ruoyao <xry111@xry111.site> + + PR driver/114980 + * opts-common.cc (prune_options): Move -fdiagnostics-urls= + early like -fdiagnostics-color=. + +2024-05-10 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md: Add splitter for shadd feeding another + add instruction. + +2024-05-10 Aldy Hernandez <aldyh@redhat.com> + + Revert: + 2024-05-08 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (sbr_sparse_bitmap::sbr_sparse_bitmap): + Change irange to prange. + * gimple-range-fold.cc (fold_using_range::fold_stmt): Same. + (fold_using_range::range_of_address): Same. + * gimple-range-fold.h (range_of_address): Same. + * gimple-range-infer.cc (gimple_infer_range::add_nonzero): Same. + * gimple-range-op.cc (class cfn_strlen): Same. + * gimple-range-path.cc + (path_range_query::adjust_for_non_null_uses): Same. + * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Same. + * tree-ssa-structalias.cc (find_what_p_points_to): Same. + * range-op-ptr.cc (range_op_table::initialize_pointer_ops): Remove + hybrid entries in table. + * range-op.cc (range_op_table::range_op_table): Add pointer + entries for bitwise and/or and min/max. + * value-range.cc (irange::verify_range): Add assert. + * value-range.h (irange::varying_compatible_p): Remove check for + error_mark_node. + (irange::supports_p): Remove pointer support. + * ipa-cp.h (ipa_supports_p): Add prange support. + +2024-05-09 Roger Sayle <roger@nextmovesoftware.com> + + * simplify-rtx.cc (simplify_const_binary_operation): Constant + fold binary operations where the LHS is CONST_VECTOR and the + RHS is CONST_INT (or CONST_DOUBLE) such as vector shifts. + +2024-05-09 Martin Jambor <mjambor@suse.cz> + + * tree-sra.cc (sra_modify_assign): Remove the original statement + also when dealing with a store to a fully covered aggregate from a + non-candidate. + +2024-05-09 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/constraints.md: Add new constraint 'w'. + +2024-05-09 Hu, Lin1 <lin1.hu@intel.com> + + PR target/84508 + * config/i386/emmintrin.h + (_mm_load_sd): Remove alignment requirement. + (_mm_store_sd): Ditto. + (_mm_loadh_pd): Ditto. + (_mm_loadl_pd): Ditto. + (_mm_storel_pd): Add alignment requirement. + * config/i386/xmmintrin.h + (_mm_loadh_pi): Remove alignment requirement. + (_mm_loadl_pi): Ditto. + (_mm_load_ss): Ditto. + (_mm_store_ss): Ditto. + +2024-05-09 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/114912 + * value-range.h (class Value_Range): Use a union. + +2024-05-09 Aldy Hernandez <aldyh@redhat.com> + + * range-op.cc (range_op_handler::discriminator_fail): Reword error + message. + +2024-05-09 konglin1 <lingling.kong@intel.com> + + * config/i386/i386.cc (ix86_hardreg_mov_ok): Relax + hard reg mov restriction when lra in progress. + +2024-05-08 Xiao Zeng <zengxiao@eswincomputing.com> + + * config/riscv/riscv.cc (riscv_legitimize_move): Expand movbf + with Nan-boxing value. + * config/riscv/riscv.md (*movbf_softfloat_boxing): New pattern. + +2024-05-08 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_build_integer_1): Fix incorrect + if-then-else nesting of Zbs code. + +2024-05-08 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/114810 + * lra-constraints.cc (process_alt_operands): Calculate union reg + class for the alternative, peak matched regs and required reload + regs. Recognize alternatives with lack of available registers and + make them costly. Add debug print about this case. + +2024-05-08 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/112392 + * match.pd (`x CMP nonnegative ? x : ABS<x>`): New pattern; + where CMP is ==, > and >=. + (`x CMP nonnegative@y ? y : ABS<x>`): New pattern. + +2024-05-08 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> + + PR tree-optimization/81953 + * tree-ssa-sink.cc (statement_sink_location):Sink statements at + the begining of the basic block after labels. + +2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/iterators.md (ashiftrt): New code attribute + 'extract_shift' and adding extractions to optab. + * config/riscv/riscv.md (*lshr<GPR:mode>3_zero_extend_4): Rename to... + (*<any_extract:optab><GPR:mode>3):...this and add support for + sign-extensions. + +2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/111501 + * config/riscv/riscv.md (*lshr<GPR:mode>3_zero_extend_4): New + pattern for zero-extraction. + +2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/iterators.md (sraiw): New code iterator 'any_extract'. + New code attribute 'extract_sidi_shift'. + * config/riscv/riscv.md (*lshrsi3_zero_extend_2): Rename to... + (*lshrsi3_extend_2):...this and add support for sign-extensions. + +2024-05-08 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (get_initial_defs_for_reduction): Convert + initial value to the vector component type. + +2024-05-08 Richard Biener <rguenther@suse.de> + + * tree-vect-data-refs.cc (vect_enhance_data_refs_alignment): + Properly guard DR_GROUP_SIZE access with STMT_VINFO_GROUPED_ACCESS. + +2024-05-08 Alex Coplan <alex.coplan@arm.com> + + PR target/114936 + * config/aarch64/aarch64-ldp-fusion.cc (combine_reg_notes): + Ensure insn iN has its REG_FRAME_RELATED_EXPR (if any) stored in + FR_EXPR[N-1], thus matching the correspondence expected by the + copy_rtx calls. + +2024-05-08 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * tree-ssa-loop-prefetch.cc (determine_unroll_factor): Honour + -fno-unroll-loops. + +2024-05-08 Georg-Johann Lay <avr@gjlay.de> + + PR target/114975 + * config/avr/avr.md: Add combine pattern for + 8-bit parity detection. + +2024-05-08 Georg-Johann Lay <avr@gjlay.de> + + PR target/114975 + * config/avr/avr.md: Add combine pattern for + 8-bit popcount detection. + +2024-05-08 Richard Biener <rguenther@suse.de> + + * tree-into-ssa.cc (insert_updated_phi_nodes_for): Skip + pruning when the nearest common dominator is the successor + of ENTRY_BLOCK. Do not copy IDF but prune it directly. + +2024-05-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114965 + * tree-ssa-reassoc.cc (optimize_range_tests_to_bit_test): Don't try to + optimize away exp - lowi subtraction from shift count unless entry + test is emitted or unless r.upper_bound () is smaller than prec. + +2024-05-08 Eric Botcazou <ebotcazou@adacore.com> + + * expmed.h (choose_multiplier): Tweak description and remove last + parameter. + * expmed.cc (choose_multiplier): Likewise. Add assertion for the + third parameter and adds details to various comments. + (invert_mod2n): Tweak description and add assertion for the first + parameter. + (expand_divmod): Adjust calls to choose_multiplier. + * tree-vect-generic.cc (expand_vector_divmod): Likewise. + * tree-vect-patterns.cc (vect_recog_divmod_pattern): Likewise. + +2024-05-08 konglin1 <lingling.kong@intel.com> + + PR target/109549 + * config/i386/i386.cc (ix86_rtx_costs): The XEXP (x, 0) for cmov + is an operator do not need to compute cost. + +2024-05-08 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-cache.cc (sbr_sparse_bitmap::sbr_sparse_bitmap): + Change irange to prange. + * gimple-range-fold.cc (fold_using_range::fold_stmt): Same. + (fold_using_range::range_of_address): Same. + * gimple-range-fold.h (range_of_address): Same. + * gimple-range-infer.cc (gimple_infer_range::add_nonzero): Same. + * gimple-range-op.cc (class cfn_strlen): Same. + * gimple-range-path.cc + (path_range_query::adjust_for_non_null_uses): Same. + * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Same. + * tree-ssa-structalias.cc (find_what_p_points_to): Same. + * range-op-ptr.cc (range_op_table::initialize_pointer_ops): Remove + hybrid entries in table. + * range-op.cc (range_op_table::range_op_table): Add pointer + entries for bitwise and/or and min/max. + * value-range.cc (irange::verify_range): Add assert. + * value-range.h (irange::varying_compatible_p): Remove check for + error_mark_node. + (irange::supports_p): Remove pointer support. + * ipa-cp.h (ipa_supports_p): Add prange support. + +2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/19661 + * tree-ssa-dce.cc (is_cxa_atexit): New function. + (is_removable_cxa_atexit_call): New function. + (mark_stmt_if_obviously_necessary): Don't mark removable + cxa_at_exit calls. + (mark_all_reaching_defs_necessary_1): Likewise. + (propagate_necessity): Likewise. + +2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/114894 + * match.pd (`a != 0 ? a / b : 0`): New pattern. + (`a != 0 ? a * b : 0`): New pattern. + (`a != 0 ? a & b : 0`): New pattern. + +2024-05-07 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (generic_ooo_tune_info): Turn on + overlap_op_by_pieces. + +2024-05-07 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv.cc (struct riscv_tune_param): Add new + "overlap_op_by_pieces" field. + (rocket_tune_info, sifive_7_tune_info): Set it. + (sifive_p400_tune_info, sifive_p600_tune_info): Likewise. + (thead_c906_tune_info, xiangshan_nanhu_tune_info): Likewise. + (generic_ooo_tune_info, optimize_size_tune_info): Likewise. + (riscv_overlap_op_by_pieces): New function. + (TARGET_OVERLAP_OP_BY_PIECES_P): define. + +2024-05-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114907 + * expr.cc (convert_mode_scalar): Use trunc_optab rather than + sext_optab for HF->BF conversions. + * optabs-libfuncs.cc (gen_trunc_conv_libfunc): Likewise. + +2024-05-07 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/114956 + * tree-inline.cc: Include asan.h. + (copy_bb): Remove also .ASAN_MARK calls if id->dst_fn has asan/hwasan + sanitization disabled. + +2024-05-07 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv-string.cc (riscv_expand_strcmp): Do not inline + strncmp with zero size. + (emit_strcmp_scalar_compare_subword): Adjust rotation for rv32 vs rv64. + * config/riscv/riscv.opt (var_inline_strcmp): Enable by default. + (vriscv_inline_strncmp, riscv_inline_strlen): Likewise. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config.gcc: Build and add objects for Cygwin and MinGW. Add Cygwin + and MinGW options to the target. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config/i386/mingw-w64.opt.urls: Rename options' name and + regenerate option URLs. + * config/lynx.opt.urls: Likewise. + * config/mingw/cygming.opt.urls: Likewise. + * config/mingw/mingw.opt.urls: Likewise. + * doc/invoke.texi: Likewise. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config/aarch64/aarch64.h (struct seh_frame_state): Declare SEH + structure in machine_function. + (GTY): Add SEH field. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config.gcc: Add Cygwin and MinGW difinitions. + * config/aarch64/aarch64-protos.h + (mingw_pe_maybe_record_exported_symbol): Declare functions + which are used in Cygwin and MinGW environment. + (mingw_pe_section_type_flags): Likewise. + (mingw_pe_unique_section): Likewise. + (mingw_pe_encode_section_info): Likewise. + * config/aarch64/cygming.h: New file. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config.gcc: Define TARGET_AARCH64_MS_ABI. + * config/mingw/mingw-stdint.h (INTPTR_TYPE): Use + TARGET_AARCH64_MS_ABI to adjust MinGW headers for + AArch64 MS ABI. + (UINTPTR_TYPE): Likewise. + (defined): Likewise. + * config/mingw/mingw32.h (DEFAULT_ABI): Likewise. + (defined): Likewise. + * config/mingw/winnt.cc (defined): Use TARGET_ARM64_MS_ABI to + exclude ix86_get_callcvt. + (i386_pe_maybe_mangle_decl_assembler_name): Likewise. + (i386_pe_mangle_decl_assembler_name): Likewise. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): + Rename functions in mingw folder which will be reused for + aarch64. + (TARGET_ASM_UNIQUE_SECTION): Likewise. + (TARGET_ASM_NAMED_SECTION): Likewise. + (TARGET_SECTION_TYPE_FLAGS): Likewise. + (ASM_DECLARE_COLD_FUNCTION_NAME): Likewise. + (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. + * config/i386/i386-protos.h (i386_pe_unique_section): + Rename into ... + (mingw_pe_unique_section): ... this. + (i386_pe_declare_function_type): Rename into ... + (mingw_pe_declare_function_type): ... this. + (i386_pe_encode_section_info): Rename into ... + (mingw_pe_encode_section_info): ... this. + (i386_pe_maybe_record_exported_symbol): Rename into ... + (mingw_pe_maybe_record_exported_symbol): ... this. + (i386_pe_section_type_flags): Rename into ... + (mingw_pe_section_type_flags): ... this. + (i386_pe_asm_named_section): Rename into ... + (mingw_pe_asm_named_section): ... this. + * config/mingw/winnt.cc (i386_pe_encode_section_info): + Rename into ... + (mingw_pe_encode_section_info): ... this. + (i386_pe_unique_section): Rename into ... + (mingw_pe_unique_section): ... this. + (i386_pe_section_type_flags): Rename into ... + (mingw_pe_section_type_flags): ... this. + (i386_pe_asm_named_section): Rename into ... + (mingw_pe_asm_named_section): ... this. + (i386_pe_asm_output_aligned_decl_common): Likewise. + (i386_pe_declare_function_type): Rename into ... + (mingw_pe_declare_function_type): ... this. + (i386_pe_maybe_record_exported_symbol): Rename into ... + (mingw_pe_maybe_record_exported_symbol): ... this. + (i386_pe_start_function): Likewise. + * varasm.cc (switch_to_comdat_section): Likewise. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config.gcc: Adjust targets after moving MinGW related files + from i386 to mingw folder. + * config/i386/cygming.opt: Move to... + * config/mingw/cygming.opt: ...here. + * config/i386/cygming.opt.urls: Move to... + * config/mingw/cygming.opt.urls: ...here. + * config/i386/cygwin-d.cc: Move to... + * config/mingw/cygwin-d.cc: ...here. + * config/i386/mingw-stdint.h: Move to... + * config/mingw/mingw-stdint.h: ...here. + * config/i386/mingw.opt: Move to... + * config/mingw/mingw.opt: ...here. + * config/i386/mingw.opt.urls: Move to... + * config/mingw/mingw.opt.urls: ...here. + * config/i386/mingw32.h: Move to... + * config/mingw/mingw32.h: ...here. + * config/i386/msformat-c.cc: Move to... + * config/mingw/msformat-c.cc: ...here. + * config/i386/t-cygming: Move to... + * config/mingw/t-cygming: ...here and updated. + * config/i386/winnt-cxx.cc: Move to... + * config/mingw/winnt-cxx.cc: ...here. + * config/i386/winnt-d.cc: Move to... + * config/mingw/winnt-d.cc: ...here. + * config/i386/winnt-stubs.cc: Move to... + * config/mingw/winnt-stubs.cc: ...here. + * config/i386/winnt.cc: Move to... + * config/mingw/winnt.cc: ...here. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config.gcc: Add COFF format support definitions. + * config/aarch64/aarch64-coff.h: New file. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config.gcc: Define TARGET_AARCH64_MS_ABI when + AArch64 MS ABI is used. + * config/aarch64/aarch64.h (FIXED_X18): Adjust + FIXED_REGISTERS, CALL_REALLY_USED_REGISTERS and + STATIC_CHAIN_REGNUM for AArch64 MS ABI. + (CALL_USED_X18): Likewise. + (FIXED_REGISTERS): Likewise. + * config/aarch64/aarch64-abi-ms.h: New file. + +2024-05-07 Zac Walker <zacwalker@microsoft.com> + + * config.gcc: Add aarch64-w64-mingw32 target. + +2024-05-07 Alex Coplan <alex.coplan@arm.com> + + PR target/114674 + * config/aarch64/aarch64-ldp-fusion.cc (ldp_bb_info::fuse_pair): + Use replace_equiv_address_nv on a change of base instead of + adjust_address_nv on the other access. + +2024-05-07 Richard Biener <rguenther@suse.de> + + * tree-into-ssa.cc (insert_updated_phi_nodes_for): Fix block + index check. + +2024-05-07 Richard Biener <rguenther@suse.de> + + * tree-ssa-live.cc (init_var_map): Pre-allocate vec_bbs vector + to the correct size and use quick_push. + +2024-05-07 Richard Biener <rguenther@suse.de> + + PR middle-end/27800 + * gimplify.cc (gimplify_modify_expr_rhs): For a COND_EXPR + avoid a temporary from gimplify_cond_expr when the LHS is + a register by pushing the assignment into the COND_EXPR arms. + +2024-05-07 Richard Biener <rguenther@suse.de> + + * gimplify.cc (gimplify_hasher::equal): Remove redundant + checking. + +2024-05-07 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + PR tree-optimization/110490 + * tree-scalar-evolution.cc (expression_expensive_p): Also + consider mode widening for popcount, clz, and ctz. + +2024-05-07 Richard Biener <rguenther@suse.de> + + * cfgexpand.cc (stack_var::representative): Use 'unsigned' + for stack var indexes instead of 'size_t'. + (stack_var::next): Likewise. + (EOC): Likewise. + (stack_vars_alloc): Likewise. + (stack_vars_num): Likewise. + (decl_to_stack_part): Likewise. + (stack_vars_sorted): Likewise. + (add_stack_var): Likewise. + (add_stack_var_conflict): Likewise. + (stack_var_conflict_p): Likewise. + (visit_op): Likewise. + (visit_conflict): Likewise. + (add_scope_conflicts_1): Likewise. + (stack_var_cmp): Likewise. + (part_hashmap): Likewise. + (update_alias_info_with_stack_vars): Likewise. + (union_stack_vars): Likewise. + (partition_stack_vars): Likewise. + (dump_stack_var_partition): Likewise. + (expand_stack_vars): Likewise. + (account_stack_vars): Likewise. + (stack_protect_decl_phase_1): Likewise. + (stack_protect_decl_phase_2): Likewise. + (asan_decl_phase_3): Likewise. + (init_vars_expansion): Likewise. + (estimated_stack_frame_size): Likewise. + +2024-05-07 Richard Biener <rguenther@suse.de> + + PR middle-end/114931 + * tree.cc (type_hash_canon_hash): Hash TYPE_STRUCTURAL_EQUALITY_P. + (type_cache_hasher::equal): Compare TYPE_STRUCTURAL_EQUALITY_P. + (build_array_type_1): Set TYPE_STRUCTURAL_EQUALITY_P before + probing with type_hash_canon. + (build_function_type): Likewise. + (build_method_type_directly): Likewise. + (build_offset_type): Likewise. + (build_complex_type): Likewise. + * attribs.cc (build_type_attribute_qual_variant): Likewise. + +2024-05-07 Aldy Hernandez <aldyh@redhat.com> + + * ipa-cp.cc (ipa_vr_operation_and_type_effects): Use ipa_supports_p. + (ipa_value_range_from_jfunc): Change Value_Range type. + (propagate_vr_across_jump_function): Same. + * ipa-cp.h (ipa_supports_p): New. + * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Change Value_Range type. + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Use ipa_supports_p. + (ipcp_get_parm_bits): Same. + +2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config.gcc: Move *-*-solaris2.11.[0-3]* to unsupported list. + <*-*-solaris2*> (default_use_cxa_atexit): Set unconditionally. + * configure.ac (AX_LIB_SOCKET_NSL): Don't call. + (NETLIBS): Remove. + (gcc_cv_ld_aligned_shf_merge): Remove. + (hidden_linkonce) <i?86-*-solaris2* | x86_64-*-solaris2*>: Remove. + (gcc_cv_target_dl_iterate_phdr) <*-*-solaris2*>: Always set to yes. + * Makefile.in (NETLIBS): Remove. + * configure, config.in, aclocal.m4: Regenerate. + * config/sol2.h: Don't check HAVE_SOLARIS_CRTS. + (STARTFILE_SPEC): Remove !HAVE_SOLARIS_CRTS case. + [USE_GLD] (LINK_EH_SPEC): Remove TARGET_DL_ITERATE_PHDR guard. + * config/i386/i386.cc (USE_HIDDEN_LINKONCE): Remove guard. + * varasm.cc (mergeable_string_section): Remove + HAVE_LD_ALIGNED_SHF_MERGE handling. + (mergeable_constant_section): Likewise. + * doc/install.texi (Specific,i?86-*-solaris2*): Reference Solaris + 11.4 only. + (Specific, *-*-solaris2*): Document Solaris 11.3 removal. Remove + 11.3 references and caveats. Update for 11.4. + +2024-05-07 Richard Biener <rguenther@suse.de> + + Revert: + 2024-04-10 Richard Biener <rguenther@suse.de> + + Revert: + 2024-03-27 Segher Boessenkool <segher@kernel.crashing.org> + + PR rtl-optimization/101523 + * combine.cc (try_combine): Don't do a 2-insn combination if + it does not in fact change I2. + +2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/97263 + * doc/invoke.texi(fmath-errno): Document it is turned on + with -Ofast. + (funsafe-math-optimizations): Likewise. + (ffinite-math-only): Likewise. + (fno-trapping-math): Likewise and use less strong language. + +2024-05-07 liuhongt <hongtao.liu@intel.com> + + * config/i386/sse.md (usdot_prodv*qi): Extend to VI1_AVX512 + with vpmaddwd when avxvnni/avx512vnni is not available. + +2024-05-07 liuhongt <hongtao.liu@intel.com> + + PR target/113079 + * config/i386/mmx.md (usdot_prodv8qi): New expander. + (sdot_prodv8qi): Ditto. + (udot_prodv8qi): Ditto. + (usdot_prodv4hi): Ditto. + (udot_prodv4hi): Ditto. + (sdot_prodv4hi): Ditto. + +2024-05-07 liuhongt <hongtao.liu@intel.com> + + PR target/113090 + * config/i386/i386-expand.cc + (expand_vec_perm_punpckldq_pshuf): New function. + (ix86_expand_vec_perm_const_1): Try + expand_vec_perm_punpckldq_pshuf for sequence of 2 + instructions. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru-passes.cc (class pass_pru_minrt_check): New + pass. + (pass_pru_minrt_check::execute): New method. + (make_pru_minrt_check): New function. + * config/pru/pru-passes.def (INSERT_PASS_AFTER): Register the + minrt check pass. + * config/pru/pru-protos.h (make_pru_minrt_check): Add + declaration. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru-passes.cc (class pass_tiabi_check): Rename to + add "pru_" prefix. + (class pass_pru_tiabi_check): Ditto. + (pass_tiabi_check::execute): Ditto. + (pass_pru_tiabi_check::execute): Ditto. + (make_pru_tiabi_check): Ditto. + (pru_register_abicheck_pass): Remove. + * config/pru/pru-protos.h (pru_register_abicheck_pass): Remove. + (make_pru_tiabi_check): Add declaration. + * config/pru/pru.cc (pru_option_override): Remove explicit pass + registration. + * config/pru/t-pru: Register PRU passes definition file. + * config/pru/pru-passes.def: New file. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.md (lshrdi3): Use HOST_WIDE_INT_1U macro. + (ashldi3): Ditto. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru-passes.cc: Drop ATTRIBUTE_UNUSED and remove + argument's name. + * config/pru/pru-pragma.cc (pru_pragma_ctable_entry): Ditto. + * config/pru/pru.cc (pru_function_profiler): Ditto. + (pru_can_eliminate): Ditto. + (pru_rtx_costs): Ditto. + (pru_insert_attributes): Ditto. + (pru_function_value): Ditto. + (pru_libcall_value): Ditto. + (pru_return_in_memory): Ditto. + (pru_builtin_decl): Ditto. + (pru_expand_builtin): Ditto. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.cc (prologue_saved_reg_p): Skip saving + if function will not return. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/alu-zext.md (_noz0): New subst attribute. + (<code>_impl): Allow zero-extending the destination. + (<shift_op>): Remove unified pattern + (ashl_impl): New distinct pattern. + (lshr_impl): Ditto. + (alu3_zext_op0_subst): New subst iterator to zero-extend the + destination register. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.md (extzv<mode>): Make it an expand pattern, + handle efficiently zero-positioned bit-fields. + (insv<mode>): New expand pattern. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.md: New pattern alternative for zero-filling + 64-bit registers. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * config/pru/pru.cc (pru_address_cost): Implement address cost + calculation. + (TARGET_ADDRESS_COST): Define for PRU. + +2024-05-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114921 + * tree-vect-stmts.cc (vectorizable_assignment): Use + tree_nop_conversion_p to identify converts we can vectorize + with a simple assignment. + +2024-05-07 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + PR target/106060 + * config/i386/i386-expand.cc (enum ix86_vec_bcast_alg): New. + (struct ix86_vec_bcast_map_simode_t): New type for table below. + (ix86_vec_bcast_map_simode): Table of SImode constants that may + be efficiently synthesized by a ix86_vec_bcast_alg method. + (ix86_vec_bcast_map_simode_cmp): New comparator for bsearch. + (ix86_vector_duplicate_simode_const): Efficiently synthesize + V4SImode and V8SImode constants that duplicate special constants. + (ix86_vector_duplicate_value): Attempt to synthesize "special" + vector constants using ix86_vector_duplicate_simode_const. + * config/i386/i386.cc (ix86_rtx_costs) <case ABS>: ABS of a + vector integer mode costs with a single SSE instruction. + +2024-05-06 Xiao Zeng <zengxiao@eswincomputing.com> + + * common/config/riscv/riscv-common.cc (riscv_implied_info): zfbfmin + implies zfhmin. + (riscv_ext_version_table, riscv_ext_flag_table): Add zfbfmin. + * config/riscv/riscv.opt (ZFBFMIN): Add optoion. + +2024-05-06 Xiao Zeng <zengxiao@eswincomputing.com> + Jin Ma <jinma@linux.alibaba.com> + + * config/riscv/iterators.md: New mode iterator HFBF. + * config/riscv/riscv-builtins.cc (riscv_init_builtin_types): + Initialize data type _Bfloat16. + * config/riscv/riscv-modes.def (FLOAT_MODE): New. + (ADJUST_FLOAT_FORMAT): New. + * config/riscv/riscv.cc (riscv_mangle_type): Support for BFmode. + (riscv_scalar_mode_supported_p): Ditto. + (riscv_libgcc_floating_mode_supported_p): Ditto. + (riscv_init_libfuncs): Set the conversion method for BFmode and + HFmode. + (riscv_block_arith_comp_libfuncs_for_mode): Set the arithmetic + and comparison libfuncs for the mode. + * config/riscv/riscv.md (mode" ): Add BF. + (movhf): Support for BFmode. + (mov<mode>): Ditto. + (*movhf_softfloat): Ditto. + (*mov<mode>_softfloat): Ditto. + +2024-05-06 Palmer Dabbelt <palmer@rivosinc.com> + + * doc/invoke.texi (RISC-V): Add -mcmodel=large. + +2024-05-06 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_integer_op): Add field tracking if we + want to use a "uw" instruction variant. + (riscv_build_integer_1): Initialize the new field in various places. + Use lui+slli.uw for some constants. + (riscv_move_integer): Handle slli.uw. + +2024-05-06 Qing Zhao <qing.zhao@oracle.com> + + PR c/53548 + * stor-layout.cc (place_union_field): Use zero sizes for flexible array + member fields. + +2024-05-06 Qing Zhao <qing.zhao@oracle.com> + + PR c/53548 + * doc/extend.texi: Add documentation for Flexible Array Members in + Unions and Flexible Array Members alone in Structures. + +2024-05-06 Georg-Johann Lay <avr@gjlay.de> + + PR ipa/92606 + * config/avr/avr.cc (avr_option_override): Set + flag_ipa_icf_variables = 0. + +2024-05-06 Sandra Loosemore <sloosemore@baylibre.com> + + * tree-nested.cc (convert_tramp_reference_stmt): Use the correct + accessor for GIMPLE_OMP_TARGET clauses. + +2024-05-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/100923 + * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Valueize + base SSA_NAME. + (vn_reference_lookup_3): Adjust vn_context_bb around calls + to ao_ref_init_from_vn_reference. + (vn_reference_lookup_pieces): Revert original PR100923 fix. + (vn_reference_lookup): Likewise. + +2024-05-06 Richard Biener <rguenther@suse.de> + + * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Add + TARGET_MEM_REF support. Handle more bases. + +2024-05-06 YunQiang Su <syq@gcc.gnu.org> + + PR target/113179 + * expmed.cc(store_bit_field_using_insv): TRUNCATE value1 if + needed. + +2024-05-05 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple-loop-versioning.cc (loop_versioning): Remove m_nloops field. + (loop_versioning::loop_versioning): Remove initialization of + m_nloops field and move it to be a local variable. + (loop_versioning::analyze_blocks): Fix formating. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-op.cc (class cfn_pass_through_arg1): Add overloads + for prange operations. + (cfn_strlen): Same. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_ge::fold_range): New. + (operator_ge::op1_range): New. + (operator_ge::op2_range): New. + (operator_ge::op1_op2_relation): New. + (operator_ge::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_gt::fold_range): New. + (operator_gt::op1_range): New. + (operator_gt::op2_range): New. + (operator_gt::op1_op2_relation): New. + (operator_gt::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_le::fold_range): New. + (operator_le::op1_range): New. + (operator_le::op2_range): New. + (operator_le::op1_op2_relation): New. + (operator_le::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (max_limit): New. + (min_limit): New. + (build_lt): New. + (build_le): New. + (build_gt): New. + (build_ge): New. + (operator_lt::fold_range): New. + (operator_lt::op1_range): New. + (operator_lt::op2_range): New. + (operator_lt::op1_op2_relation): New. + (operator_lt::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_equal::fold_range): New. + (operator_equal::op1_range): New. + (operator_equal::op2_range): New. + (operator_equal::op1_op2_relation): New. + (operator_equal::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_not_equal::fold_range): New. + (operator_not_equal::op1_range): New. + (operator_not_equal::op2_range): New. + (operator_not_equal::op1_op2_relation): New. + (operator_not_equal::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_bitwise_or::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_bitwise_and::fold_range): New. + (operator_bitwise_and::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-ptr.cc + (operator_pointer_diff::op1_op2_relation_effect): New. + (operator_pointer_diff::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-ptr.cc (class pointer_plus_operator): Add overloaded declarations + for pointer variants. + (pointer_plus_operator::fold_range): New. + (pointer_plus_operator::op2_range): New. + (pointer_plus_operator::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_addr_expr::op1_range): New. + (operator_addr_expr::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_min::fold_range): New. + (operator_min::pointers_handled_p): New. + (operator_max::fold_range): New. + (operator_max::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_cast::fold_range): New. + (operator_cast::op1_range): New. + (operator_cast::lhs_op1_relation): New. + (operator_cast::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for pointer variants. + * range-op-ptr.cc (operator_cst::fold_range): New. + (operator_cst::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add overloaded declarations for fold_range, op1_range, + lhs_op1_relation, pointers_handled_p. + * range-op-ptr.cc (operator_identity::fold_range): New. + (operator_identity::lhs_op1_relation): New. + (operator_identity::op1_range): New. + (operator_identity::pointers_handled_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * range-op-mixed.h: Add using declarator for all classes. + * range-op-ptr.cc (range_operator::pointers_handled_p): New. + (range_operator::fold_range): New. + (range_operator::op1_op2_relation_effect): New. + (range_operator::op1_range): New. + (range_operator::op2_range): New. + (range_operator::op1_op2_relation): New. + (range_operator::lhs_op1_relation): New. + (range_operator::update_bitmask): New. + (class pointer_plus_operator): New. + (class operator_pointer_diff): New. + (class hybrid_min_operator): New. + (class hybrid_max_operator): New. + * range-op.cc: Add RO_PPP, RO_PPI, RO_IPP, RO_IPI, RO_PIP, RO_PII. + (range_op_handler::discriminator_fail): New. + (has_pointer_operand_p): New. + (range_op_handler::fold_range): Add pointer support. + (range_op_handler::op1_range): Same. + (range_op_handler::op2_range): Same. + (range_op_handler::lhs_op1_relation): Same. + (range_op_handler::lhs_op2_relation): Same. + (range_op_handler::op1_op2_relation): Same. + (class operator_div): Add using. + (class operator_lshift): Add using. + (class operator_rshift):Add using. + (class operator_trunc_mod):Add using. + (class operator_absu):Add using. + * range-op.h (enum range_op_dispatch_type): New. + Add extern definitions for RO_*. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (get_legacy_range): New version for prange. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (add_vrange): Add prange support. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range-storage.cc (vrange_allocator::clone_varying): Add + prange support. + (vrange_allocator::clone_undefined): Same. + (vrange_storage::alloc): Same. + (vrange_storage::set_vrange): Same. + (vrange_storage::get_vrange): Same. + (vrange_storage::fits_p): Same. + (vrange_storage::equal_p): Same. + (prange_storage::alloc): New. + (prange_storage::prange_storage): New. + (prange_storage::set_prange): New. + (prange_storage::get_prange): New. + (prange_storage::equal_p): New. + (prange_storage::fits_p): New. + * value-range-storage.h (class prange_storage): Add prange support. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * data-streamer-in.cc (streamer_read_value_range): Add prange support. + * data-streamer-out.cc (streamer_write_vrange): Same. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range-pretty-print.cc (vrange_printer::visit): New. + * value-range-pretty-print.h: Declare prange visit() method. + * value-range.cc (vrange::operator=): Add prange support. + (vrange::operator==): Same. + (prange::accept): New. + (prange::set_nonnegative): New. + (prange::set): New. + (prange::contains_p): New. + (prange::singleton_p): New. + (prange::lbound): New. + (prange::ubound): New. + (prange::union_): New. + (prange::intersect): New. + (prange::operator=): New. + (prange::operator==): New. + (prange::invert): New. + (prange::verify_range): New. + (prange::update_bitmask): New. + (range_tests_misc): Use prange. + * value-range.h (enum value_range_discriminator): Add VR_PRANGE. + (class prange): New. + (Value_Range::init): Add prange support. + (Value_Range::operator=): Same. + (Value_Range::supports_type_p): Same. + (prange::prange): New. + (prange::supports_p): New. + (prange::supports_type_p): New. + (prange::set_undefined): New. + (prange::set_varying): New. + (prange::set_nonzero): New. + (prange::set_zero): New. + (prange::contains_p): New. + (prange::zero_p): New. + (prange::nonzero_p): New. + (prange::type): New. + (prange::lower_bound): New. + (prange::upper_bound): New. + (prange::varying_compatible_p): New. + (prange::get_bitmask): New. + (prange::fits_p): New. + +2024-05-04 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (class prange): New. + +2024-05-03 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/23872 + * tree-pretty-print.cc (dump_generic_node <case COMPOUND_EXPR>): Fix + calls to dump_generic_node and also remove unreachable code that is testing + `flags & TDF_SLIM`. + +2024-05-03 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv.cc: Comment updates. + * config/riscv/riscv.h: Ditto. + +2024-05-03 Vineet Gupta <vineetg@rivosinc.com> + + * doc/rtl.texi: Add entry for GET_MODE_INNER. + +2024-05-03 Richard Biener <rguenther@suse.de> + + * bitmap.cc (bitmap_alloc): When using the global bitmap obstack + assert that is initialized. + +2024-05-03 Richard Biener <rguenther@suse.de> + + PR middle-end/114931 + * tree.cc (build_array_type_1): Return early when type_hash_canon + returned an older existing type. + (build_function_type): Likewise. + (build_method_type_directly): Likewise. + (build_offset_type): Likewise. + +2024-05-03 Alex Coplan <alex.coplan@arm.com> + + PR rtl-optimization/114924 + * cfgrtl.cc (duplicate_insn_chain): When updating MEM_EXPRs, + don't strip (e.g.) ARRAY_REFs from the final MEM_EXPR. + +2024-05-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113596 + * tree-inline.cc (expand_call_inline): Emit __builtin_stack_save + and __builtin_stack_restore calls around inlined functions which + call alloca. + +2024-05-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114921 + * tree-vect-stmts.cc (vectorizable_assignment): Require + same vector component modes for input and output for + CONVERT_EXPR_CODE_P. + +2024-05-02 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.md (<round_pattern><ANYF:mode>2): Adjust + condition to match what can be properly implemented. Fix various + formatting issues. + (l<round_pattern><ANYF:mode>si2_sext): Fix formatting + +2024-05-02 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/predicates.md (arith_or_zbs_operand): New predicate. + * config/riscv/riscv.cc (riscv_build_integer_one): Use bseti to set + single bits when profitable. + * config/riscv/riscv.md (*<optab><mode>3): Renamed with '*' prefix. + (<optab><mode>3): New expander for IOR/XOR. + +2024-05-02 Richard Biener <rguenther@suse.de> + + * tree-vect-slp.cc (vect_print_slp_tree): Mark live lanes. + (dot_slp_tree): New overload for multiple entries. + +2024-05-02 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/113836 + * doc/gm2.texi (Compiler options): Add -fm2-debug-trace=, + -fm2-dump, -fm2-dump-decl=, -fm2-dump-gimple=, -fm2-dump-quad= + and -fm2-dump-filter=. + +2024-05-02 Marc Poulhiès <poulhies@adacore.com> + + * value-range.h: fix static_assert to use 2 arguments. + +2024-05-02 Peter Damianov <peter0x44@disroot.org> + + PR lto/110710 + * lto-wrapper.cc (run_gcc): Instead of truncating a processed + ltrans input from the Makefile use the new -truncate option + to accomplish the same. + +2024-05-02 Peter Damianov <peter0x44@disroot.org> + + PR lto/110710 + * common.opt (truncate): New internal option. + * gcc.cc (totruncate_file): New global. + (driver_handle_option): Handle -truncate <file>. + (driver::final_actions): Truncate the file indicated. + +2024-05-02 Richard Biener <rguenther@suse.de> + + * graphds.cc (dump_graph): Dump in graphviz format. + +2024-05-02 Richard Biener <rguenther@suse.de> + + * tree-ssa-live.h (tree_live_info_d::global): Remove. + (partition_is_global): Likewise. + (make_live_on_entry): Do not set bit in global. + * tree-ssa-live.cc (new_tree_live_info): Do not allocate + global bitmap. + (delete_tree_live_info): Do not release it. + (set_var_live_on_entry): Do not set bits in it. + +2024-05-02 Richard Biener <rguenther@suse.de> + + PR middle-end/114579 + * cfgexpand.cc (add_scope_conflicts_1): Record all-to-all + conflicts only when there's a CFG merge but for all CFG merges. + +2024-05-01 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + PR target/112959 + * doc/install.texi (Specific) <*-*-freebsd*>: The Ada and D + run-time libraries are broken on i386 which also can affect + 64-bit builds. Go is broken. + +2024-05-01 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/bitmanip.md (splitter to use w-form division): Remove + explicit subregs. + (zero extended bitfield extraction): Similarly. + * config/riscv/thead.md (*th_memidx_operand): Similarly. + +2024-05-01 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Break out + tests for easier debugging in store pair fusion case. Fix offset + check in same. + +2024-05-01 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + PR target/112959 + * doc/install.texi (Specific) <*-*-freebsd*>: No longer refer + to GCC or binutils in base. Recommend bootstrap using binutils. + +2024-05-01 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + * doc/install.texi (Specific) <ia64-*-hpux*>: Remove details + on libunwind for GCC 3.4 and earlier. + +2024-05-01 Aldy Hernandez <aldyh@redhat.com> + + * ipa-fnsummary.cc (evaluate_properties_for_edge): Initialize Value_Range's. + * value-range.h (class Value_Range): Add a buffer and remove + m_irange and m_frange. + (Value_Range::Value_Range): Call init. + (Value_Range::set_type): Same. + (Value_Range::init): Use in place new to initialize buffer. + (Value_Range::operator=): Tidy. + +2024-05-01 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (unsupported_range::union_): Cast vrange to + unsupported_range. + (unsupported_range::intersect): Same. + (unsupported_range::operator=): Make argument an unsupported_range. + * value-range.h: New constructor. + +2024-04-30 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Don't + assert that here are less than 3 operands. + (gimple_range_op_handler::maybe_builtin_call): Simply return if + there is no type for the function call. + +2024-04-30 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (gimple_ranger::range_on_entry): Adjust for new + API and support non-SSA expressions. + (gimple_ranger::range_on_exit): Ditto. + * gimple-range.h (range_on_entry, range_on_exit): Adjust API. + * value-query.cc (range_query::range_on_entry): New. + (range_query::range_on_exit): New. + (range_query::value_on_entry): New. + (range_query::value_on_exit): New. + (range_query::invoke_range_of_expr): New. + (range_query::get_tree_range): Allow stmt, on_entry or on_exit + range queries. + SSA_NAMES should invoke range_of_expr if possible. + * value-query.h (class range_query): Adjust prototypes. + +2024-04-30 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range.cc (gimple_ranger::range_of_expr): Call range_of_stmt + when there is no context stmt. + +2024-04-30 Andrew MacLeod <amacleod@redhat.com> + + * gimple-range-cache.cc (ranger_cache::get_global_range): Do not + pre-evaluate PHI nodes from the cache. + (ranger_cache::fill_block_cache): Make re-entrant. + +2024-04-30 Andrew MacLeod <amacleod@redhat.com> + + * value-query.cc (get_range_global): Rename to gimple_range_global. + (gimple_range_global): Remove wrapper function. + (global_range_query::range_of_expr): Call gimple_range_global. + +2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-cfg.cc (verify_gimple_assign): Remove quote + mark to shut up the warning. + +2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (value_replacement): Reject undef variables + so they don't become unconditional used. + +2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (value_replacement): Move check for + NE/EQ earlier. + +2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> + + * tree-ssa-phiopt.cc (single_non_singleton_phi_for_edges): + Remove the special case of gimple_seq_singleton_p. + +2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/112976 + * cfgexpand.cc (expand_gimple_stmt_1): Remove + support for expanding nontemporal "moves" with + ssa names on the LHS. + +2024-04-30 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/112976 + * tree-cfg.cc (verify_gimple_assign): Verify that + nontmporal moves are stores. + * gimple.h (struct gimple): Note that only + nontemporal stores are supported. + +2024-04-30 Jivan Hakobyan <jivanhakobyan9@gmail.com> + + * config/riscv/iterators.md (fix_ops, fix_uns): New iterators. + (RINT, rint_pattern, rint_rm): Remove unused iterators. + * config/riscv/riscv-protos.h (get_fp_rounding_coefficient): Prototype. + * config/riscv/riscv-v.cc (get_fp_rounding_coefficient): Externalize. + external linkage. + * config/riscv/riscv.md (UNSPEC_LROUND): Remove. + (fix_trunc<ANYF:mode><GPR:mode>2): Replace with ... + (<fix_uns>_trunc<ANYF:mode>si2): New expander & associated insn. + (<fix_uns>_trunc<ANYF:mode>si2_ext): New insn. + (<fix_uns>_trunc<ANYF:mode>di2): Likewise. + (l<rint_pattern><ANYF:mode><GPR:mode>2): Replace with ... + (lrint<ANYF:mode>si2): New expander and associated insn. + (lrint<ANYF:mode>si2_ext, lrint<ANYF:mode>di2): New insns. + (<round_pattern><ANYF:mode>2): Replace with.... + (l<round_pattern><ANYF:mode>si2): New expander and associated insn. + (l<round_pattern><ANYF:mode>si2_sext): New insn. + (l<round_pattern><ANYF:mode>di2): Likewise. + (<round_pattern><ANYF:mode>2): New expander. + +2024-04-30 Aldy Hernandez <aldyh@redhat.com> + + * gimple-ssa-warn-access.cc (check_nul_terminated_array): Change + int_range<2> to int_range_max. + (memmodel_to_uhwi): Same. + * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same. + (determine_value_range): Same. + (infer_loop_bounds_from_signedness): Same. + (scev_var_range_cant_overflow): Same. + +2024-04-30 Richard Biener <rguenther@suse.de> + + PR middle-end/13421 + * optabs-tree.cc (optab_for_tree_code): Do not consider + {add,sub}v or {us,ss}{add,sub} optabs for POINTER_DIFF_EXPR + or POINTER_PLUS_EXPR. + +2024-04-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114876 + * gimple-ssa-sprintf.cc (format_character): For min == 0 && max == 0, + set max, likely and unlikely members to 1 rather than 0. Remove + useless res.knownrange = true;. Formatting fixes. + +2024-04-30 Jakub Jelinek <jakub@redhat.com> + Hongtao Liu <hongtao.liu@intel.com> + + PR tree-optimization/114883 + * tree-vect-loop.cc (vect_transform_reduction): Allow IFN_COND_MIN and + IFN_COND_MAX in the assert. + +2024-04-30 Jakub Jelinek <jakub@redhat.com> + + * doc/cpp.texi (__STDC_VERSION__): Document 202311L value + for -std=c23/-std=gnu23. + +2024-04-30 Richard Biener <rguenther@suse.de> + + PR middle-end/114734 + * internal-fn.cc (expand_call_mem_ref): Use + get_gimple_for_ssa_name to get at the def stmt of the address + argument to honor SSA coalescing constraints. + +2024-04-29 demin.han <demin.han@starfivetech.com> + + PR target/114506 + * config/riscv/riscv-vector-costs.cc (non_contiguous_memory_access_p): Rename + (need_additional_vector_vars_p): Rename and refine condition + +2024-04-29 Pan Li <pan2.li@intel.com> + + PR target/114885 + * config/riscv/riscv.cc (riscv_legitimize_subreg_const_poly_move): New + func impl to take care of (const_int_poly:TI 8). + (riscv_legitimize_move): Handle subreg is const_int_poly, + +2024-04-29 Christoph Müllner <christoph.muellner@vrull.eu> + + * common/config/riscv/riscv-common.cc: Move ziccamoa, ziccif, + zicclsm, and ziccrse into riscv_zi_subext. + * config/riscv/riscv.opt: Define MASK_ZIC64B for + riscv_ziccmo_subext. + +2024-04-29 Jie Mei <jie.mei@oss.cipunited.com> + + * config/mips/i6400.md (i6400_fpu_minmax): New + define_insn_reservation. + * config/mips/mips.h (ISA_HAS_FMIN_FMAX): Define new macro. + * config/mips/mips.md (UNSPEC_FMIN): New unspec. + (UNSPEC_FMAX): Same as above. + (type): Add fminmax. + (smin<mode>3): Generates MIN.fmt instructions. + (smax<mode>3): Generates MAX.fmt instructions. + (fmin<mode>3): Generates MIN.fmt instructions. + (fmax<mode>3): Generates MAX.fmt instructions. + * config/mips/p6600.md (p6600_fpu_fabs): Include fminmax + type. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * tree-ssa-ccp.cc (ccp_finalize): Normalize before calling + set_bitmask. + * value-range.cc (irange::intersect_bitmask): Calculate changed + irange_bitmask bits on our own. + (irange::union_bitmask): Same. + (irange_bitmask::verify_mask): Verify that bits are normalized. + * value-range.h (irange_bitmask::union_): Do not normalize. + Remove return value. + (irange_bitmask::intersect): Same. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * range-op-ptr.cc (pointer_plus_operator::wi_fold): Use method + range setters instead of out of line functions. + (pointer_min_max_operator::wi_fold): Same. + (pointer_and_operator::wi_fold): Same. + (pointer_or_operator::wi_fold): Same. + * range-op.cc (operator_negate::fold_range): Same. + (operator_addr_expr::fold_range): Same. + (range_op_cast_tests): Same. + * range.cc (range_zero): Remove. + (range_nonzero): Remove. + * range.h (range_zero): Remove. + (range_nonzero): Remove. + * value-range.cc (range_tests_misc): Use method instead of out of + line function. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range-pretty-print.cc (print_int_bound): New. + (print_irange_bitmasks): New. + (vrange_printer::print_irange_bound): Remove. + (vrange_printer::print_irange_bitmasks): Remove. + * value-range-pretty-print.h: Remove print_irange_bitmasks and + print_irange_bound + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (range_includes_zero_p): Accept vrange. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * tree-ssa-loop-split.cc (split_at_bb_p): Make int_range a Value_Range. + * tree-ssa-strlen.cc (get_range): Same. + * value-query.cc (range_query::get_tree_range): Handle both + integers and pointers. + * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Make + r0 and r1 Value_Range's. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (get_bitmask_from_range): Move out of irange class. + (irange::get_bitmask): Call function instead of internal method. + * value-range.h (class irange): Remove get_bitmask_from_range. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (get_legacy_range): Make static and add another + version of get_legacy_range that takes a vrange. + * value-range.h (class irange): Remove unnecessary friendship with + get_legacy_range. + (get_legacy_range): Accept a vrange. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range-storage.cc (irange_storage::set_irange): Move + verification code from here... + (vrange_storage::set_vrange): ...to here. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-op.cc (cfn_clz::fold_range): Change + range_includes_zero_p argument to a reference. + (cfn_ctz::fold_range): Same. + * range-op.cc (operator_plus::lhs_op1_relation): Same. + * value-range.h (range_includes_zero_p): Same. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Remove + type from range_true and range_false. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range-storage.h: Remove friends. + * value-range.cc (gt_ggc_mx): Remove. + (gt_pch_nx): Remove. + * value-range.h (class vrange): Remove GTY markers. + (class irange): Same. + (class int_range): Same. + (class frange): Same. + (gt_ggc_mx): Remove. + (gt_pch_nx): Remove. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * ipa-cp.cc (propagate_bits_across_jump_function): Access bitmask + through base class. + (ipcp_store_vr_results): Same. + * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Same. + (ipcp_get_parm_bits): Same. + (ipcp_update_vr): Same. + * range-op-mixed.h (update_known_bitmask): Change argument to vrange. + * range-op.cc (update_known_bitmask): Same. + * value-range.cc (vrange::update_bitmask): New. + (irange::set_nonzero_bits): Move to vrange class. + (irange::get_nonzero_bits): Same. + * value-range.h (class vrange): Add update_bitmask, get_bitmask, + get_nonzero_bits, and set_nonzero_bits. + (class irange): Make bitmask methods virtual overrides. + (class Value_Range): Add get_bitmask and update_bitmask. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Convert + bound to wide_int. + * value-range.cc (Value_Range::lower_bound): Remove. + (Value_Range::upper_bound): Remove. + (unsupported_range::lbound): New. + (unsupported_range::ubound): New. + (frange::lbound): New. + (frange::ubound): New. + (irange::lbound): New. + (irange::ubound): New. + * value-range.h (class vrange): Add lbound() and ubound(). + (class irange): Same. + (class frange): Same. + (class unsupported_range): Same. + (class Value_Range): Rename lower_bound and upper_bound to lbound + and ubound respectively. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * gimple-ssa-warn-access.cc (check_nul_terminated_array): Make Value_Range an int_range. + (memmodel_to_uhwi): Same + * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same. + (determine_value_range): Same. + (infer_loop_bounds_from_signedness): Same. + (scev_var_range_cant_overflow): Same. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (vrange::~vrange): New. + (int_range::~int_range): Make final override. + +2024-04-28 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (unsupported_range::accept): Move down. + (vrange::contains_p): Rename to... + (unsupported_range::contains_p): ...this. + (vrange::singleton_p): Rename to... + (unsupported_range::singleton_p): ...this. + (vrange::set): Rename to... + (unsupported_range::set): ...this. + (vrange::type): Rename to... + (unsupported_range::type): ...this. + (vrange::supports_type_p): Rename to... + (unsupported_range::supports_type_p): ...this. + (vrange::set_undefined): Rename to... + (unsupported_range::set_undefined): ...this. + (vrange::set_varying): Rename to... + (unsupported_range::set_varying): ...this. + (vrange::union_): Rename to... + (unsupported_range::union_): ...this. + (vrange::intersect): Rename to... + (unsupported_range::intersect): ...this. + (vrange::zero_p): Rename to... + (unsupported_range::zero_p): ...this. + (vrange::nonzero_p): Rename to... + (unsupported_range::nonzero_p): ...this. + (vrange::set_nonzero): Rename to... + (unsupported_range::set_nonzero): ...this. + (vrange::set_zero): Rename to... + (unsupported_range::set_zero): ...this. + (vrange::set_nonnegative): Rename to... + (unsupported_range::set_nonnegative): ...this. + (vrange::fits_p): Rename to... + (unsupported_range::fits_p): ...this. + (unsupported_range::operator=): New. + (frange::fits_p): New. + * value-range.h (class vrange): Make an abstract class. + (class unsupported_range): Declare override methods. + +2024-04-28 Gerald Pfeifer <gerald@pfeifer.com> + + PR target/69374 + PR target/112959 + * doc/install.texi (Specific) <*-*-freebsd*>: Remove references to + FreeBSD 7 and older. + +2024-04-28 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/contrib.texi: Update David Binderman's entry. + +2024-04-28 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386.md: (zero_extendsidi2): Adjust + alternative *k to ?k. + (zero_extend<mode>di2): Ditto. + (*zero_extend<mode>si2): Ditto. + (*zero_extendqihi2): Ditto. + +2024-04-28 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/95782 + * config/s390/s390-c.cc (s390_macro_to_expand): Avoid empty identifier. + +2024-04-28 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113822 + * config/aarch64/aarch64.cc (aarch64_evpc_reencode): Use + vec_perm_indices::new_shrunk_vector instead of manually + going through the indices. + +2024-04-27 Xi Ruoyao <xry111@xry111.site> + + PR target/114861 + * config/loongarch/loongarch.md (bstrins_<mode>_for_mask): Add + constraints for operands. + (bstrins_<mode>_for_ior_mask): Likewise. + +2024-04-27 Fangrui Song <maskray@gcc.gnu.org> + + * config/riscv/elf.h (LINK_SPEC): Add -X. + * config/riscv/freebsd.h (LINK_SPEC): Add -X. + * config/riscv/linux.h (LINK_SPEC): Add -X. + +2024-04-26 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.cc (MAX_SET_SIZE): New define. + (aarch64_progress_pointer): Remove function. + (aarch64_set_one_block_and_progress_pointer): Simplify and clean up. + (aarch64_expand_setmem): Clean up implementation, use byte offsets, + simplify size calculation. + +2024-04-26 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64.cc (aarch64_mode_valid_for_sched_fusion_p): + Remove check for AARCH64_EXTRA_TUNE_NO_LDP_STP_QREGS. + (aarch64_advsimd_ldp_stp_p): Likewise. + (aarch64_stp_sequence_cost): Likewise. + (aarch64_expand_cpymem): Likewise. + (aarch64_expand_setmem): Likewise. + * config/aarch64/aarch64-ldp-fusion.cc (ldp_operand_mode_ok_p): + Likewise. + * config/aarch64/aarch64-ldpstp.md: Likewise. + * config/aarch64/aarch64-tuning-flags.def: Remove NO_LDP_STP_QREGS. + * config/aarch64/tuning_models/emag.h: Likewise. + * config/aarch64/tuning_models/xgene1.h: Likewise. + +2024-04-26 Frederik Harwath <frederik@harwath.name> + + * config.gcc: Add gfx90c. + * config/gcn/gcn-hsa.h (NO_SRAM_ECC): Likewise. + * config/gcn/gcn-opts.h (enum processor_type): Likewise. + (TARGET_GFX90c): New macro. + * config/gcn/gcn.cc (gcn_option_override): Handle gfx90c. + (gcn_omp_device_kind_arch_isa): Likewise. + (output_file_start): Likewise. + * config/gcn/gcn.h: Add gfx90c. + * config/gcn/gcn.opt: Likewise. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90c): New macro. + (get_arch): Handle gfx90c. + (main): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c + * config/gcn/t-omp-device: Add gfx90c. + * doc/install.texi: Likewise. + * doc/invoke.texi: Likewise. + +2024-04-25 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.h (PREFERRED_DEBUGGING_TYPE): Set to BTF_DEBUG. + +2024-04-25 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.cc (bpf_option_override): Improve handling of CO-RE + options to avoid issues with -gtoggle. + +2024-04-25 Jakub Jelinek <jakub@redhat.com> + + PR fortran/114825 + * tree-nested.cc (get_debug_decl): New function. + (get_nonlocal_debug_decl): Use it. + (get_local_debug_decl): Likewise. + +2024-04-25 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/bpf/bpf.opt: Use ASM_PSEUDOC for the default value of + -masm. + * config/bpf/bpf.h (ASM_SPEC): Adapt accordingly. + * doc/invoke.texi (eBPF Options): Update. + +2024-04-25 Richard Ball <richard.ball@arm.com> + + PR target/114837 + * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear): + Add zero/sign extend. + (arm_expand_prologue): Add zero/sign extend. + +2024-04-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114792 + * tree-ssa-loop-ch.cc (ch_order_loops): New function. + (ch_base::copy_headers): Sort loops to unloop inner-to-outer. + +2024-04-25 Eric Botcazou <ebotcazou@adacore.com> + + PR target/114416 + * config/sparc/sparc.h (SUN_V9_ABI_COMPATIBILITY): New macro. + * config/sparc/sol2.h (SUN_V9_ABI_COMPATIBILITY): Redefine it. + * config/sparc/sparc.cc (fp_type_for_abi): New predicate. + (traverse_record_type): Use it to spot floating-point types. + (compute_fp_layout): Also deal with array types. + +2024-04-25 Pan Li <pan2.li@intel.com> + + * config/riscv/vector-crypto.md: Add early clobber to the + dest operand of vwsll. + +2024-04-25 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/altivec.md (*bcdinvalid_<mode>): Replace bcdadd + with bcdsub. + (bcdinvalid_<mode>): Likewise. + +2024-04-24 Jakub Jelinek <jakub@redhat.com> + + PR other/114738 + * opts.cc (get_option_url): Revert 2024-04-17 changes. + * gcc-urlifier.cc: Don't include diagnostic-core.h. + (gcc_urlifier::make_doc_url): Revert 2024-04-17 changes. + * configure.ac (documentation-root-url): On release branches + append gcc-MAJOR.MINOR.0/ to the default DOCUMENTATION_ROOT_URL. + * doc/install.texi (--with-documentation-root-url=): Document + the change of the default. + * configure: Regenerate. + +2024-04-24 Pan Li <pan2.li@intel.com> + + Revert: + 2023-11-29 Juzhe-Zhong <juzhe.zhong@rivai.ai> + kito-cheng <kito.cheng@sifive.com> + kito-cheng <kito.cheng@gmail.com> + + 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. + +2024-04-24 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config.gcc: Add bpf-c.o as a target object for C and C++. + * config/bpf/bpf.cc (bpf_target_macros): Move to bpf-c.cc. + * config/bpf/bpf-c.cc: New file. + (bpf_target_macros): Move from bpf.cc and define BPF CPU + feature macros. + * config/bpf/t-bpf: Add rules to build bpf-c.o. + +2024-04-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114787 + * tree-cfg.cc (remove_edge_and_dominated_blocks): When + removing a loop backedge clear niter info and when removing + the last backedge of a loop mark that loop for removal. + +2024-04-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114832 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Fix dominance check. + +2024-04-24 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/i386-options.cc (ix86_valid_target_attribute_tree): + Check whether AVX512F is explicitly enabled. + +2024-04-24 Pan Li <pan2.li@intel.com> + + Revert: + 2023-11-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/vector.md: Support highpart overlap for vext.vf2 + +2024-04-23 Jakub Jelinek <jakub@redhat.com> + + PR target/114810 + * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Split the =&r,r,ro + alternative into =&r,r,r enabled only for x64 and =&r,r,o. + +2024-04-23 Jan Hubicka <jh@suse.cz> + + * doc/invoke.texi (-ftree-loop-distribute-patterns): Remove duplicated + sentence about optimization flags implying this. + +2024-04-23 Jakub Jelinek <jakub@redhat.com> + + * config/darwin.opt (init): Spelling fix: initialiser -> initializer. + +2024-04-23 Jakub Jelinek <jakub@redhat.com> + + * config/epiphany/epiphany.opt (may-round-for-trunc): Spelling fix: + floatig -> floating. + * config/riscv/riscv.opt (mcsr-check): Spelling fix: CRS -> CSR. + * params.opt (-param=ipa-cp-profile-count-base=): Spelling fix: + frequncy -> frequency. + +2024-04-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114799 + * tree-vect-slp.cc (vect_get_and_check_slp_defs): Properly + update ->any_pattern when swapping operands. + +2024-04-23 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/114676 + * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Use a + MEM_REF with an addend of type ptr_type_node. + +2024-04-23 Yang Yujie <yangyujie@loongson.cn> + + * config.gcc: Add loongarch-evolution.o. + * config/loongarch/genopts/genstr.sh: Enable generation of + loongarch-evolution.[cc,h]. + * config/loongarch/t-loongarch: Likewise. + * config/loongarch/genopts/gen-evolution.awk: New file. + * config/loongarch/genopts/isa-evolution.in: Mark ISA version + of introduction for each ISA evolution feature. + * config/loongarch/loongarch-c.cc (loongarch_cpu_cpp_builtins): + Define builtin macros for enabled ISA evolutions and the ISA + version. + * config/loongarch/loongarch-cpu.cc: Use loongarch-evolution.h. + * config/loongarch/loongarch.h: Likewise. + * config/loongarch/loongarch-cpucfg-map.h: Delete. + * config/loongarch/loongarch-evolution.cc: New file. + * config/loongarch/loongarch-evolution.h: New file. + * config/loongarch/loongarch-opts.h (ISA_HAS_FRECIPE): Define. + (ISA_HAS_DIV32): Likewise. + (ISA_HAS_LAM_BH): Likewise. + (ISA_HAS_LAMCAS): Likewise. + (ISA_HAS_LD_SEQ_SA): Likewise. + +2024-04-23 Yang Yujie <yangyujie@loongson.cn> + + * config.gcc: Make la64v1.0 the default ISA preset of the lp64d ABI. + * config/loongarch/genopts/loongarch-strings: Define la64v1.0, la64v1.1. + * config/loongarch/genopts/loongarch.opt.in: Likewise. + * config/loongarch/loongarch-c.cc (LARCH_CPP_SET_PROCESSOR): Likewise. + (loongarch_cpu_cpp_builtins): Likewise. + * config/loongarch/loongarch-cpu.cc (get_native_prid): Likewise. + (fill_native_cpu_config): Likewise. + * config/loongarch/loongarch-def.cc (array_tune): Likewise. + * config/loongarch/loongarch-def.h: Likewise. + * config/loongarch/loongarch-driver.cc (driver_set_m_parm): Likewise. + (driver_get_normalized_m_opts): Likewise. + * config/loongarch/loongarch-opts.cc (default_tune_for_arch): Likewise. + (TUNE_FOR_ARCH): Likewise. + (arch_str): Likewise. + (loongarch_target_option_override): Likewise. + * config/loongarch/loongarch-opts.h (TARGET_uARCH_LA464): Likewise. + (TARGET_uARCH_LA664): Likewise. + * config/loongarch/loongarch-str.h (STR_CPU_ABI_DEFAULT): Likewise. + (STR_ARCH_ABI_DEFAULT): Likewise. + (STR_TUNE_GENERIC): Likewise. + (STR_ARCH_LA64V1_0): Likewise. + (STR_ARCH_LA64V1_1): Likewise. + * config/loongarch/loongarch.cc (loongarch_cpu_sched_reassociation_width): Likewise. + (loongarch_asm_code_end): Likewise. + * config/loongarch/loongarch.opt: Likewise. + * doc/invoke.texi: Likewise. + +2024-04-22 Pan Li <pan2.li@intel.com> + + * config/riscv/vector-crypto.md: + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2023-11-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * 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. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2023-12-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.md: Rostify the constraints. + +2024-04-22 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/i386-common.cc (processor_alias_table): + Let Sierra Forest map to CPU_TYPE enum. + +2024-04-22 Andreas Krebbel <krebbel@linux.ibm.com> + + * config/s390/s390.cc (s390_option_override_internal): Check zarch + flag before enabling -mvx. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2023-11-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * config/riscv/vector.md: Add widenning overlap. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2023-12-01 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * config/riscv/vector.md: Support highpart overlap for indexed load. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2023-12-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * config/riscv/vector.md: Add highest-number overlap support. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2023-11-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * config/riscv/vector.md: Add widening overlap of vf2/vf4. + +2024-04-21 Pan Li <pan2.li@intel.com> + + Revert: + 2023-12-01 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * config/riscv/vector.md: Support highpart overlap for vx/vf. + +2024-04-20 Pan Li <pan2.li@intel.com> + + Revert: + 2023-12-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * config/riscv/vector.md: Fix incorrect overlap in v0. + +2024-04-20 Pan Li <pan2.li@intel.com> + + Revert: + 2023-12-11 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * config/riscv/vector.md: Support highest overlap for wv instructions. + +2024-04-20 Pan Li <pan2.li@intel.com> + + Revert: + 2023-12-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + 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. + +2024-04-19 Jakub Jelinek <jakub@redhat.com> + + PR target/114783 + * config/i386/sse.md (*avx2_eq<mode>3): Change last operand's + constraint from "jm" to "xjm". + +2024-04-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114753 + * internal-fn.cc (expand_arith_overflow): Add one missing restore + of flag_trapv before return. + +2024-04-19 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114769 + * tree-vect-patterns.cc: + (vect_recog_absolute_difference): Have only one success condition. + (vect_recog_abd_pattern): Handle further checks if + vect_recog_absolute_difference fails. + +2024-04-19 Cupertino Miranda <cupertino.miranda@oracle.com> + + * config/bpf/core-builtins.cc (get_index_for_enum_value): Create + function. + (pack_enum_value): Check for enumerator and error out. + (process_enum_value): Correct string allocation. + +2024-04-19 Cupertino Miranda <cupertino.miranda@oracle.com> + + * config/bpf/bpf-protos.h (bpf_add_core_reloc): Renamed function + to bpf_output_move. + * config/bpf/bpf.cc (bpf_legitimate_address_p): Allow + UNSPEC_CORE_RELOC to match an address. + (bpf_insn_cost): Make UNSPEC_CORE_RELOC immediate moves + expensive to prioritize loads and stores. + (TARGET_INSN_COST): Add hook. + (bpf_output_move): Wrapper to call bpf_output_core_reloc. + (bpf_print_operand): Add support to print immediate operands + specified with the UNSPEC_CORE_RELOC. + (bpf_print_operand_address): Likewise, but to support + UNSPEC_CORE_RELOC in addresses. + (bpf_init_builtins): Flag BPF_BUILTIN_CORE_RELOC as NOTHROW. + * config/bpf/bpf.md: Wrap patterns for MOV, LD and ST + instruction with bpf_output_move call. + (mov_reloc_core<MM:mode>): Remove now spurious define_insn. + * config/bpf/constraints.md: Added "c" and "C" constraints to + match immediates represented with UNSPEC_CORE_RELOC. + * config/bpf/core-builtins.cc (bpf_add_core_reloc): Remove + (bpf_output_core_reloc): Add function to create the CO-RE + relocations based on new matching rules. + * config/bpf/core-builtins.h (bpf_output_core_reloc): Add + prototype. + * config/bpf/predicates.md (core_imm_operand) Add predicate. + (mov_src_operand): Add match for core_imm_operand. + +2024-04-19 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114768 + * rtlanal.cc (set_noop_p): Don't return true for MEM <- MEM + sets if src has side-effects or for stores into ZERO_EXTRACT + if ZERO_EXTRACT operand has side-effects. + +2024-04-19 Alexandre Oliva <oliva@adacore.com> + + * config/t-vxworks (vxw-glimits.h): Don't mangle c23-required + __STDC_VERSION_LIMITS_H__ define. + +2024-04-18 Sandra Loosemore <sloosemore@baylibre.com> + + * config.gcc: Add nios2*-*-* to the list of obsoleted targets. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * doc/sourcebuild.texi (strndup): Add effective target. + +2024-04-18 Tamar Christina <tamar.christina@arm.com> + + PR target/114741 + * config/aarch64/aarch64.md (<optab><mode>3): Remove ^ from alt 2. + (copysign<GPF:mode>3): Use SIMD version of IOR directly. + +2024-04-18 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114753 + * internal-fn.cc (expand_mul_overflow): Save flag_trapv and + temporarily clear it for the duration of the function, then + restore previous value. + (expand_vector_ubsan_overflow): Likewise. + (expand_arith_overflow): Likewise. + +2024-04-17 Jakub Jelinek <jakub@redhat.com> + + PR other/114738 + * opts.cc (get_option_url): On release branches append + gcc-MAJOR.MINOR.0/ after DOCUMENTATION_ROOT_URL. + * gcc-urlifier.cc (gcc_urlifier::make_doc_url): Likewise. + +2024-04-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114749 + * tree-vect-loop.cc (vect_analyze_loop_2): Reset + LOOP_VINFO_USING_PARTIAL_VECTORS_P when re-trying without SLP. + +2024-04-17 Georg-Johann Lay <avr@gjlay.de> + + PR target/114752 + * config/avr/avr.cc (avr_print_operand) [CONST_DOUBLE_P]: Handle DFmode. + +2024-04-17 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/114743 + * asan.cc (maybe_instrument_call): Don't instrument calls to + .ABNORMAL_DISPATCHER. + +2024-04-16 Andrew Pinski <quic_apinski@quicinc.com> + + PR c/92880 + * doc/extend.texi (Using Vector Instructions): Add that + the base_types could be a typedef of them. + +2024-04-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114736 + * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge): + Do not consider VEC_PERM_EXPRs as PHI use. + +2024-04-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114733 + * tree-vect-loop.cc (vectorizable_nonlinear_induction): Reject + neg induction vectorization of single element vectors. + +2024-04-16 Jakub Jelinek <jakub@redhat.com> + + * tree.cc (array_type_nelts): Ensure 2 spaces after . in comment + instead of just one. + (build_variant_type_copy): Likewise. + (tree_check_failed): Likewise. + (build_atomic_base): Likewise. + * ipa-free-lang-data.cc (fld_incomplete_type_of): Use an indefinite + article rather than a. + +2024-04-16 Fei Gao <gaofei@eswincomputing.com> + + * config/riscv/riscv.cc (riscv_expand_conditional_move): + replace or with add when expanding zicond if possible. + +2024-04-16 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/112938 + * ipa-strub.cc (pass_ipa_strub::execute): Drop volatility from + indirected parm. + (maybe_make_indirect): Restore volatility in dereferences. + +2024-04-16 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.opt.urls: Regenerate. + * config/mn10300/mn10300.opt.urls: Likewise. + * config/msp430/msp430.opt.urls: Likewise. + * config/nds32/nds32-elf.opt.urls: Likewise. + * config/nds32/nds32-linux.opt.urls: Likewise. + * config/nds32/nds32.opt.urls: Likewise. + * config/pru/pru.opt.urls: Likewise. + * config/riscv/riscv.opt.urls: Likewise. + * config/rx/rx.opt.urls: Likewise. + * config/sh/sh.opt.urls: Likewise. + * config/sparc/sparc.opt.urls: Likewise. + * doc/invoke.texi: Add indexes for some compilation options. + +2024-04-15 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-mcus.def: Add: avr16du14, avr16du20, avr16du28, + avr16du32, avr32du14, avr32du20, avr32du28, avr32du32. + * doc/avr-mmcu.texi: Rebuild. + +2024-04-15 Robin Dapp <rdapp@ventanamicro.com> + + PR target/114668 + * config/riscv/autovec.md: Add VLS. + +2024-04-15 Richard Biener <rguenther@suse.de> + + PR gcov-profile/114715 + * gimplify.cc (gimplify_switch_expr): Set the location of the + GIMPLE switch. + +2024-04-15 H.J. Lu <hjl.tools@gmail.com> + + PR target/114696 + * config/i386/i386.md (isa): Add apx_ndd_64. + (enabled): Likewise. + (*add<dwi>3_doubleword): Change rjO to r,ro,jO with 8-bit + signed integer constant and enable jO only for apx_ndd_64. + (*add<dwi>3_doubleword_cc_overflow_1): Likewise. + (*and<dwi>3_doubleword): Likewise. + (*<code><dwi>3_doubleword): Likewise. + +2024-04-15 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114403 + * tree-vect-loop.cc (vect_transform_loop): Adjust upper bounds for when + peeling for gaps and early break. + +2024-04-15 Jakub Jelinek <jakub@redhat.com> + + PR c++/114634 + * attribs.cc (diag_attr_exclusions): Set attrs[1] to NULL_TREE for + decls with NULL TREE_TYPE. + +2024-04-12 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-option-extensions.def: Add RCPC to + RCPC3 dependencies. + * config/aarch64/aarch64.h (AARCH64_ISA_RCPC8_4): Add test for + RCPC3 bit + +2024-04-12 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-arches.def: Add CSSC to V8_9A + dependencies. + +2024-04-12 Will Schmidt <will_schmidt@linux.ibm.com> + Peter Bergner <bergner@linux.ibm.com> + + PR target/101865 + * config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported): Use + TARGET_POWER8. + * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use + OPTION_MASK_POWER8. + * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_POWER8. + (ISA_2_7_MASKS_SERVER): Likewise. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Update + comment. Use OPTION_MASK_POWER8 and TARGET_POWER8. + * config/rs6000/rs6000.h (TARGET_SYNC_HI_QI): Use TARGET_POWER8. + * config/rs6000/rs6000.md (define_attr "isa"): Add p8. + (define_attr "enabled"): Handle it. + (define_insn "prefetch"): Use TARGET_POWER8. + * config/rs6000/rs6000.opt (mpower8-internal): New. + +2024-04-12 Jason Merrill <jason@redhat.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/113141 + * doc/invoke.texi: Document -Wcast-user-defined. + +2024-04-12 Tatsuyuki Ishi <ishitatsuyuki@gmail.com> + + * config/riscv/riscv.opt.urls: Regenerated. + +2024-04-12 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/114666 + * match.pd (`!a?b:c`): Reject signed types for the condition. + (`a?~t:t`): Likewise. + +2024-04-12 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_output_sme_zero_za): Require + all tiles to have the same suffix. + +2024-04-12 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_vector_float_type_p): Take int + as the return value instead of unsigned. + (riscv_vector_element_bitsize): Ditto. + (riscv_vector_required_min_vlen): Ditto. + (riscv_validate_vector_type): Take int type for local variable(s). + +2024-04-12 Jakub Jelinek <jakub@redhat.com> + + * tree-cfg.cc (gimple_verify_flow_info): Make the misplaced + returns_twice diagnostics translatable. + +2024-04-12 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/114687 + * gimple-iterator.cc (gsi_safe_insert_before): Only use + edge_before_returns_twice_call if bb_has_abnormal_pred. + (gsi_safe_insert_seq_before): Likewise. + * gimple-lower-bitint.cc (bitint_large_huge::lower_call): Only + push to m_returns_twice_calls if bb_has_abnormal_pred. + +2024-04-12 Pan Li <pan2.li@intel.com> + + PR target/114639 + * config/riscv/riscv.cc (riscv_function_value_regno_p): Add + TARGET_VECTOR predicate for V_RETURN regno. + +2024-04-11 David Faust <david.faust@oracle.com> + + * btfout.cc (btf_asm_type_ref): Convert IDs to BTF internally and + fix potentially looking up wrong type for asm debug comment info. + Split into... + (btf_asm_datasec_type_ref): ... This. New. + (btf_asm_datasec_entry): Call it here, instead of btf_asm_type_ref. + (btf_asm_type, btf_asm_array, btf_asm_varent, btf_asm_sou_member) + (btf_asm_func_arg, btf_asm_func_type): Adapt btf_asm_type_ref call. + +2024-04-11 David Faust <david.faust@oracle.com> + + * btfout.cc (btf_asm_sou_member): Always emit non-representable + bitfield members as having 'void' type. Refactor slightly. + +2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-option-extensions.def: + Remove "memtag", "memtag2", "ssbs", "ssbs2", "ls64", "ls64_v" + and "ls64_accdata" FMV features. + +2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-option-extensions.def: + Remove "flagm2", "sha1", "pmull", "dit", "dpb", "dpb2", "jscvt", + "fcma", "rcpc2", "frintts", "dgh", "ebf16", "sve-bf16", + "sve-ebf16", "sve-i8mm", "sve2-pmull128", "memtag3", "bti" and + "wfxt" entries. + +2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-option-extensions.def: + Fix "rmd"->"rdm", and add FMV to "rdma". + * config/aarch64/aarch64.cc (FEAT_RDMA): Define as FEAT_RDM. + +2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64.cc (compare_feature_masks): + Use ARRAY_SIZE and >=0 for iteration bounds. + (aarch64_mangle_decl_assembler_name): Use ARRAY_SIZE. + +2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64-option-extensions.def: Reorder FMV entries. + +2024-04-11 Gaius Mulley <gaiusmod2@gmail.com> + + * doc/standards.texi (Language Standards Supported by GCC): + Add Modula-2 language section. + +2024-04-11 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/110027 + * asan.cc (asan_emit_stack_protection): Assert offsets[0] is + zero if there is no stack protect guard, otherwise + -ASAN_RED_ZONE_SIZE. If alignb > ASAN_RED_ZONE_SIZE and there is + stack pointer guard, take the ASAN_RED_ZONE_SIZE bytes allocated at + the top of the stack into account when computing base_align_bias. + Recompute use_after_return_class from asan_frame_size + base_align_bias + and set to -1 if that would overflow to 11. + +2024-04-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/109596 + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Propagate + debug stmts to nonexit->dest rather than exit->dest. + +2024-04-11 Richard Biener <rguenther@suse.de> + + PR middle-end/114681 + * tree-inline.cc (copy_bb): Key on the remapped stmt + to identify gconds to have condition coverage data remapped. + +2024-04-11 Pan Li <pan2.li@intel.com> + + PR target/114639 + * config/riscv/riscv.cc (riscv_function_value_regno_p): New func + impl for hook TARGET_FUNCTION_VALUE_REGNO_P. + (riscv_get_raw_result_mode): New func imple for hook + TARGET_GET_RAW_RESULT_MODE. + (TARGET_FUNCTION_VALUE_REGNO_P): Impl the hook. + (TARGET_GET_RAW_RESULT_MODE): Ditto. + * config/riscv/riscv.h (V_RETURN): New macro for vector return. + (GP_RETURN_FIRST): New macro for the first GPR in return. + (GP_RETURN_LAST): New macro for the last GPR in return. + (FP_RETURN_FIRST): Diito but for FPR. + (FP_RETURN_LAST): Ditto. + (FUNCTION_VALUE_REGNO_P): Remove as deprecated and replace by + TARGET_FUNCTION_VALUE_REGNO_P. + +2024-04-11 Indu Bhagat <indu.bhagat@oracle.com> + + * btfout.cc (btf_asm_type): Do not skip emitting members of + unknown type. + +2024-04-11 Indu Bhagat <indu.bhagat@oracle.com> + + PR debug/112878 + * dwarf2ctf.cc (gen_ctf_sou_type): Check for conditions before + call to ctf_add_slice. Use CTF_K_UNKNOWN type if fail. + +2024-04-10 Marek Polacek <polacek@redhat.com> + + PR target/114606 + * config/i386/i386-options.cc (ix86_option_override_internal): Use + opts_set rather than checking == CF_NONE. + +2024-04-10 David Malcolm <dmalcolm@redhat.com> + + * doc/analyzer.texi: Various tweaks. + +2024-04-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114672 + * tree-ssa-math-opts.cc (convert_plusminus_to_widen): Only + allow mode-precision results. + +2024-04-10 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.cc (TARGET_C_BITINT_TYPE_INFO): Declare MACRO. + (aarch64_bitint_type_info): New function. + (aarch64_return_in_memory_1): Return large _BitInt's in memory. + (aarch64_function_arg_alignment): Adapt to correctly return the ABI + mandated alignment of _BitInt(N) where N > 128 as the alignment of + TImode. + (aarch64_composite_type_p): Return true for _BitInt(N), where N > 128. + +2024-04-10 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.cc (bitint_or_aggr_of_bitint_p): New function. + (aarch64_layout_arg): Don't emit diagnostics for types involving + _BitInt(N). + +2024-04-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/114462 + * tree-core.h (enum annot_expr_kind): Add + annot_expr_maybe_infinite_kind enumerator. + * gimplify.cc (gimple_boolify): Handle annot_expr_maybe_infinite_kind. + * tree-cfg.cc (replace_loop_annotate_in_block): Likewise. + (replace_loop_annotate): Likewise. Move loop->finite_p initialization + before the replace_loop_annotate_in_block calls. + * tree-pretty-print.cc (dump_generic_node): Handle + annot_expr_maybe_infinite_kind. + +2024-04-10 Richard Biener <rguenther@suse.de> + + Revert: + 2024-03-27 Segher Boessenkool <segher@kernel.crashing.org> + + PR rtl-optimization/101523 + * combine.cc (try_combine): Don't do a 2-insn combination if + it does not in fact change I2. + +2024-04-10 Peter Bergner <bergner@linux.ibm.com> + + PR target/101865 + * config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace + OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete redundant + OPTION_MASK_DIRECT_MOVE usage. Delete TARGET_DIRECT_MOVE dead code. + (rs6000_opt_masks): Neuter the "direct-move" option. + * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Replace + OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete useless + comment. + * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete + OPTION_MASK_DIRECT_MOVE. + (OTHER_VSX_VECTOR_MASKS): Likewise. + (POWERPC_MASKS): Likewise. + * config/rs6000/rs6000.opt (mdirect-move): Remove Mask and Var. + +2024-04-10 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/sse.md (sha1msg1): Use "ja" instead of "Bm" for + memory constraint. + (sha1msg2): Likewise. + (sha1nexte): Likewise. + (sha1rnds4): Likewise. + (sha256msg1): Likewise. + (sha256msg2): Likewise. + (sha256rnds2): Likewise. + (aes<aesklvariant>u8): Use "jm" instead of "m" for memory + constraint. + (*aes<aeswideklvariant>u8): Likewise. + (*encodekey128u32): Use "jr" instead of "r" for register + constraints. + (*encodekey256u32): Likewise. + +2024-04-09 Juergen Christ <jchrist@linux.ibm.com> + + * config/s390/s390.cc (expand_perm_as_replicate): Implement. + (vectorize_vec_perm_const_1): Call new function. + * config/s390/vx-builtins.md (vec_splat<mode>): Change to... + (@vec_splat<mode>): ...this. + +2024-04-09 David Faust <david.faust@oracle.com> + + PR debug/114608 + * btfout.cc (btf_asm_datasec_entry): Only emit a symbol reference when + generating BTF for BPF CO-RE target. + +2024-04-09 Richard Ball <richard.ball@arm.com> + + * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): + Add functions_nulls parameter to pragma_handlers. + * config/aarch64/aarch64-protos.h: Likewise. + * config/aarch64/aarch64-sve-builtins.h + (enum handle_pragma_index): Add enum to count + number of pragmas to be handled. + * config/aarch64/aarch64-sve-builtins.cc + (GTY): Add global variable for initial indexes + and change overload_names to an array. + (function_builder::function_builder): + Add pragma handler information. + (function_builder::add_function): + Add code for overwriting previous + registered_functions entries. + (add_unique_function): + Use an array to register overload_names + for both pragma handler modes. + (add_overloaded_function): Likewise. + (init_builtins): + Add functions_nulls parameter to pragma_handlers. + (handle_arm_sve_h): + Initialize pragma handler information. + (handle_arm_neon_sve_bridge_h): Likewise. + (handle_arm_sme_h): Likewise. + +2024-04-09 Richard Biener <rguenther@suse.de> + + PR lto/114655 + * lto-wrapper.cc (merge_flto_options): Add force argument. + (merge_and_complain): Do not force here. + (run_gcc): But here to make the link-time -flto option override + any compile-time one. + +2024-04-09 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config/rs6000/rtems.h (OS_MISSING_POWERPC64): Define. + +2024-04-09 Jørgen Kvalsvik <j@lambda.is> + + PR gcov-profile/114601 + * tree-profile.cc (condition_uid): Guard fn->cond_uids access. + +2024-04-09 Jakub Jelinek <jakub@redhat.com> + + PR target/114576 + * config/i386/i386.md (isa): Remove aes, add vaes_avx512vl. + (enabled): Remove aes isa check, add vaes_avx512vl. + * config/i386/sse.md (aesenc, aesenclast, aesdec, aesdeclast): Use + jm instead of m for second alternative and emit {evex} prefix + for it if !TARGET_AES. Use noavx,avx,vaes_avx512vl isa attribute. + (vaesdec_<mode>, vaesdeclast_<mode>, vaesenc_<mode>, + vaesenclast_<mode>): Add second alternative with x instead of v + and jm instead of m. + +2024-04-09 Gaius Mulley <gaiusmod2@gmail.com> + + * doc/gm2.texi (Compiler options): Remove -fdebug-trace-quad. + Remove -fdebug-trace-api. + Add -fm2-debug-trace=. + +2024-04-09 Yang Yujie <yangyujie@loongson.cn> + + PR target/113233 + * config/loongarch/loongarch.cc (loongarch_reg_init): + Reinitialize the loongarch_regno_mode_ok cache. + (loongarch_option_override): Same. + (loongarch_save_restore_target_globals): Restore target globals. + (loongarch_set_current_function): Restore the target contexts + for functions. + (TARGET_SET_CURRENT_FUNCTION): Define. + * config/loongarch/loongarch.h (SWITCHABLE_TARGET): Enable + switchable target context. + * config/loongarch/loongarch-builtins.cc (loongarch_init_builtins): + Initialize all builtin functions at startup. + (loongarch_expand_builtin): Turn assertion of builtin availability + into a test. + +2024-04-09 Jørgen Kvalsvik <j@lambda.is> + + PR middle-end/114627 + * tree-profile.cc (instrument_decisions): Generate constant + at the start of loop. + +2024-04-09 Jørgen Kvalsvik <j@lambda.is> + + PR middle-end/114599 + * tree-inline.cc (copy_bb): Copy cond_uids into callee. + (prepend_lexical_block): Remove outdated comment. + (add_local_variables): Remove bad cond_uids copy. + +2024-04-09 Jakub Jelinek <jakub@redhat.com> + + * expr.cc (convert_mode_scalar): Fix duplicated words in comment; + into into -> it into. + * function.h (function::cond_uids): Fix duplicated words in comment; + same same -> same. + * config/riscv/riscv-vector-costs.cc + (costs::adjust_vect_cost_per_loop): Fix duplicated words in comment; + model model -> model. + * config/riscv/riscv-vector-builtins-shapes.cc (build_base): Fix + duplicated words in comment; for for -> for. + * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Fix + duplicated words in comment; more more -> more. + * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): Fix + duplicated words in comment; be be -> be. + * tree-profile.cc (masking_vectors): Fix duplicated words in comment; + has has -> has, the the -> the. + * value-range.cc (irange::set_range_from_bitmask): Fix duplicated + words in comment; the the -> the. + * gcov.cc (add_condition_counts): Fix duplicated words in comment; + to to -> to. + * vr-values.cc (get_scev_info): Fix duplicated words in comment; + the the -> to the. + * tree-vrp.cc (fully_replaceable): Fix duplicated words in comment; + by by -> by. + * mode-switching.cc (single_succ_confluence_n): Fix duplicated words + in comment; the the -> the. + * tree-ssa-phiopt.cc (value_replacement): Fix duplicated words in + comment; can can -> we can. + * gimple-range-phi.cc (phi_analyzer::process_phi): Fix duplicated words + in comment; it it -> it is. + * tree-ssa-sccvn.cc (visit_phi): Fix duplicated words in comment; + to to -> to. + * rtl-ssa/accesses.h (use_info::next_debug_insn_use): Fix duplicated + words in comment; if if -> if. + * doc/options.texi (InverseMask): Fix duplicated words; and and -> and. + Change take to takes. + * doc/invoke.texi (fanalyzer-undo-inlining): Fix duplicated words; + be be -> be. + (-minline-memops-threshold): Likewise. + +2024-04-09 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114628 + * gimple-lower-bitint.cc (gimple_lower_bitint): Keep debug stmts + before returns_twice calls as is, don't push them into arg_stmts + vector/move to edges. + +2024-04-09 Sergey Bugaev <bugaevc@gmail.com> + + * config.gcc: Recognize aarch64*-*-gnu* targets. + * config/aarch64/aarch64-gnu.h: New file. + +2024-04-09 Sergey Bugaev <bugaevc@gmail.com> + + * config/i386/gnu.h: Move GNU/Hurd STARTFILE_SPEC from here... + * config/gnu.h: ...to here. + +2024-04-09 Richard Biener <rguenther@suse.de> + + PR middle-end/114604 + * gimple-range.cc (enable_ranger): Initialize the global + bitmap obstack. + (disable_ranger): Release it. + +2024-04-09 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config.gcc (aarch64-*-rtems*): Add target makefile fragment + t-aarch64-rtems. + * config/aarch64/t-aarch64-rtems: New file. + +2024-04-09 H.J. Lu <hjl.tools@gmail.com> + + PR target/114587 + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __APX_INLINE_ASM_USE_GPR32__ for -mapx-inline-asm-use-gpr32. + +2024-04-09 Kewen Lin <linkw@linux.ibm.com> + Andrew Pinski <quic_apinski@quicinc.com> + + PR target/88309 + * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Fix + wrong align passed to function build_aligned_type. + * tree-ssa-loop-prefetch.cc (is_miss_rate_acceptable): Add an + assertion to ensure align_unit should be positive. + * tree.cc (build_qualified_type): Update function comments. + +2024-04-08 Uros Bizjak <ubizjak@gmail.com> + + PR rtl-optimization/112560 + * combine.cc (try_combine): Replace cc_use_loc with the entire + new RTX only in case cc_use_loc satisfies COMPARISON_P predicate. + Otherwise scan the entire cc_use_loc RTX for CC reg to be updated + with a new mode. + * config/i386/i386.md (@pushf<mode>2): Allow all CC modes for + operand 1. + +2024-04-08 Thomas Schwinge <tschwinge@baylibre.com> + + * config/gcn/gcn.opt (--param=gcn-preferred-vectorization-factor): + New. + * config/gcn/gcn.cc (gcn_vectorize_preferred_simd_mode) Use it. + * doc/invoke.texi (Optimize Options): Document it. + +2024-04-08 Thomas Schwinge <tschwinge@baylibre.com> + + * doc/sourcebuild.texi (Effective-Target Keywords): Document + 'asm_goto_with_outputs'. Add comment to 'lra'. + +2024-04-08 Martin Jambor <mjambor@suse.cz> + + PR ipa/113359 + * ipa-icf-gimple.h (func_checker): New members + safe_for_total_scalarization_p, m_total_scalarization_limit_known_p + and m_total_scalarization_limit. + (func_checker::func_checker): Initialize new member variables. + * ipa-icf-gimple.cc: Include tree-sra.h. + (func_checker::func_checker): Initialize new member variables. + (func_checker::safe_for_total_scalarization_p): New function. + (func_checker::compare_operand): Use the new function. + * tree-sra.h (sra_get_max_scalarization_size): Declare. + (sra_total_scalarization_would_copy_same_data_p): Likewise. + * tree-sra.cc (prepare_iteration_over_array_elts): New function. + (class sra_padding_collecting): New. + (sra_padding_collecting::record_padding): Likewise. + (scalarizable_type_p): Rename to totally_scalarizable_type_p. Add + ability to record padding when requested. + (totally_scalarize_subtree): Split out gathering information necessary + to iterate over array elements to prepare_iteration_over_array_elts. + Fix errornous early exit. + (analyze_all_variable_accesses): Adjust the call to + totally_scalarizable_type_p. Move determining of total scalariation + size limit... + (sra_get_max_scalarization_size): ...here. + (check_ts_and_push_padding_to_vec): New function. + (sra_total_scalarization_would_copy_same_data_p): Likewise. + +2024-04-08 Martin Jambor <mjambor@suse.cz> + + PR ipa/113907 + * ipa-prop.h (class ipa_vr): Declare new overload of a member function + equal_p. + (ipa_jump_functions_equivalent_p): Declare. + * ipa-prop.cc (ipa_vr::equal_p): New function. + (ipa_agg_pass_through_jf_equivalent_p): Likewise. + (ipa_agg_jump_functions_equivalent_p): Likewise. + (ipa_jump_functions_equivalent_p): Likewise. + * ipa-cp.h (values_equal_for_ipcp_p): Declare. + * ipa-cp.cc (values_equal_for_ipcp_p): Make function public. + * ipa-icf-gimple.cc: Include alloc-pool.h, symbol-summary.h, sreal.h, + ipa-cp.h and ipa-prop.h. + (func_checker::compare_gimple_call): Comapre jump functions. + +2024-04-08 Richard Sandiford <richard.sandiford@arm.com> + + PR target/114607 + * config/aarch64/aarch64-sve-builtins-base.cc + (svusdot_impl::expand): Fix botched attempt to swap the operands + for svsudot. + +2024-04-08 Tatsuyuki Ishi <ishitatsuyuki@gmail.com> + + * config/riscv/riscv.opt: Add -mtls-dialect to configure TLS flavor. + * config.gcc: Add --with-tls configuration option to change the + default TLS flavor. + * config/riscv/riscv.h: Add TARGET_TLSDESC determined from + -mtls-dialect and with_tls defaults. + * config/riscv/riscv-opts.h: Define enum riscv_tls_type for the + two TLS flavors. + * config/riscv/riscv-protos.h: Define SYMBOL_TLSDESC symbol type. + * config/riscv/riscv.md: Add instruction sequence for TLSDESC. + * config/riscv/riscv.cc (riscv_symbol_insns): Add instruction + sequence length data for TLSDESC. + (riscv_legitimize_tls_address): Add lowering of TLSDESC. + * doc/install.texi: Document --with-tls for RISC-V. + * doc/invoke.texi: Document -mtls-dialect for RISC-V. + +2024-04-08 Jakub Jelinek <jakub@redhat.com> + + PR target/114605 + * config/s390/s390.cc (s390_const_int_pool_entry_p): Punt + if mem doesn't have MODE_INT mode, or pool constant doesn't + have MODE_INT mode, or if pool constant mode is smaller than + mem mode. If mem mode is different from pool constant mode, + try to simplify subreg. If that doesn't work, punt, if it + does, use the simplified constant instead of the constant pool + constant. + * config/s390/s390.md (movdi from const pool peephole): If + either low or high 32-bit part is zero, just emit move insn + instead of move + ior. + +2024-04-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114624 + * tree-scalar-evolution.cc (final_value_replacement_loop): + Get at the PHI arg location before releasing the PHI node. + +2024-04-08 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Pass + required_ext arg when invoke add function. + (build_th_loadstore): Ditto. + (struct vcreate_def): Ditto. + (struct read_vl_def): Ditto. + (struct vlenb_def): Ditto. + * config/riscv/riscv-vector-builtins.cc (function_builder::add_function): + Introduce new arg required_ext to fill in the register func. + (function_builder::add_unique_function): Ditto. + (function_builder::add_overloaded_function): Ditto. + (expand_builtin): Leverage required_extensions_specified to + check if the required extension is provided. + * config/riscv/riscv-vector-builtins.h (reqired_ext_to_isa_name): New + func impl to convert the required_ext enum to the extension name. + (required_extensions_specified): New func impl to predicate if + the required extension is well feeded. + +2024-04-08 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.h (LINK_COMMAND_SPEC_A): Update coverage + specs. + +2024-04-08 demin.han <demin.han@starfivetech.com> + + * config/riscv/riscv-vector-costs.cc: Use length() + +2024-04-08 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-c.cc (struct pragma_intrinsic_flags): New + struct to hold all intrinisc related flags. + (riscv_pragma_intrinsic_flags_pollute): New func to pollute + the intrinsic flags and backup original flags. + (riscv_pragma_intrinsic_flags_restore): New func to restore + the flags from the backup intrinsic flags. + (riscv_pragma_intrinsic): Pollute the flags and register all + possible builtin types and functions, then restore and reinit. + * config/riscv/riscv-protos.h (reinit_builtins): New func + decl to reinit after flags pollution. + (riscv_option_override): New extern func decl. + * config/riscv/riscv-vector-builtins.cc (register_builtin_types_on_null): + New func to register builtin types if null. + (DEF_RVV_TYPE): Ditto. + (DEF_RVV_TUPLE_TYPE): Ditto. + (reinit_builtins): New func impl to reinit after flags pollution. + (expand_builtin): Return + target rtx after error_at. + * config/riscv/riscv.cc (riscv_vector_int_type_p): New predicate + func to tell one tree type is integer or not. + (riscv_vector_float_type_p): New predicate func to tell one tree + type is float or not. + (riscv_vector_element_bitsize): New func to get the element bitsize + of a vector tree type. + (riscv_vector_required_min_vlen): New func to get the required min vlen + of a vector tree type. + (riscv_validate_vector_type): New func to validate the tree type + is valid on flags. + (riscv_return_value_is_vector_type_p): Leverage the func + riscv_validate_vector_type to do the tree type validation. + (riscv_arguments_is_vector_type_p): Ditto. + (riscv_override_options_internal): Ditto. + +2024-04-08 Lulu Cheng <chenglulu@loongson.cn> + + PR target/112919 + * config/loongarch/loongarch-def.cc (la664_align): Newly defined + function that sets alignment rules under the LA664 microarchitecture. + * config/loongarch/loongarch-opts.cc + (loongarch_target_option_override): If not optimizing for size, set + the default alignment to what the target wants. + * config/loongarch/loongarch-tune.h (struct loongarch_align): Add + new member variables jump and loop. + +2024-04-06 H.J. Lu <hjl.tools@gmail.com> + + PR target/114590 + * config/i386/i386.md (x86_64_shld): Use explicit shift count in + AT&T syntax. + (x86_64_shld_ndd): Likewise. + (x86_shld): Likewise. + (x86_shld_ndd): Likewise. + (x86_64_shrd): Likewise. + (x86_64_shrd_ndd): Likewise. + (x86_shrd): Likewise. + (x86_shrd_ndd): Likewise. + +2024-04-06 Jørgen Kvalsvik <j@lambda.is> + + PR middle-end/114599 + * tree-inline.cc (add_local_variables): Copy cond_uids mappings. + +2024-04-05 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/114588 + * diagnostic-color.cc (color_dict): Add "valid" and "invalid" as + color capability names. + * doc/invoke.texi: Document them in description of GCC_COLORS. + * text-art/style.cc: Include "diagnostic-color.h". + (text_art::get_style_from_color_cap_name): New. + * text-art/types.h (get_style_from_color_cap_name): New decl. + +2024-04-05 Alex Coplan <alex.coplan@arm.com> + + * config/aarch64/aarch64-ldp-fusion.cc (struct alias_walker): + Fix double space after const qualifier on valid (). + +2024-04-05 Martin Jambor <mjambor@suse.cz> + + PR ipa/113964 + * ipa-param-manipulation.cc (ipa_param_adjustments::modify_call): + Force values obtined through pass-through maps to the expected + split type. + +2024-04-05 Mark Wielaard <mark@klomp.org> + + * common.opt.urls: Regenerate. + +2024-04-05 Richard Sandiford <richard.sandiford@arm.com> + + PR target/114603 + * config/aarch64/aarch64-sve.md (@aarch64_pred_cnot<mode>): Replace + with... + (@aarch64_ptrue_cnot<mode>): ...this, requiring operand 1 to be + a ptrue. + (*cnot<mode>): Require operand 1 to be a ptrue. + * config/aarch64/aarch64-sve-builtins-base.cc (svcnot_impl::expand): + Use aarch64_ptrue_cnot<mode> for _x operations that are predicated + with a ptrue. Represent other _x operations as fully-defined _m + operations. + +2024-04-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114566 + * tree-vect-loop.cc (update_epilogue_loop_vinfo): Don't clear + base_misaligned. + +2024-04-05 Richard Biener <rguenther@suse.de> + + PR middle-end/114599 + PR gcov-profile/114115 + * symtab.cc (ifunc_ref_map): Do not use auto_bitmap. + (is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit + pair. + (symtab_node::check_ifunc_callee_symtab_nodes): Properly + allocate ifunc_ref_map here. + +2024-04-04 Martin Jambor <mjambor@suse.cz> + + PR ipa/111571 + * ipa-param-manipulation.cc + (ipa_param_body_adjustments::common_initialization): Avoid creating + duplicate replacement entries. + +2024-04-04 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/114415 + * sched-deps.cc (add_insn_mem_dependence): Add memory check for mem argument. + (sched_analyze_1): Treat stack pointer modification as memory read. + (sched_analyze_2, sched_analyze_insn): Add memory guard for processing pending_read_mems. + * sched-int.h (deps_desc): Add comment to pending_read_mems. + +2024-04-04 Tobias Burnus <tburnus@baylibre.com> + + * config/nvptx/mkoffload.cc (main): Call + gcc_init_libintl and diagnostic_color_init. + +2024-04-04 H.J. Lu <hjl.tools@gmail.com> + + PR target/114587 + * config/i386/i386-c.cc (ix86_target_macros_internal): Define + __APX_F__ when APX is enabled. + +2024-04-04 Jørgen Kvalsvik <j@lambda.is> + + * builtins.cc (expand_builtin_fork_or_exec): Check + condition_coverage_flag. + * collect2.cc (main): Add -fno-condition-coverage to OBSTACK. + * common.opt: Add new options -fcondition-coverage and + -Wcoverage-too-many-conditions. + * doc/gcov.texi: Add --conditions documentation. + * doc/invoke.texi: Add -fcondition-coverage documentation. + * function.cc (free_after_compilation): Free cond_uids. + * function.h (struct function): Add cond_uids. + * gcc.cc: Link gcov on -fcondition-coverage. + * gcov-counter.def (GCOV_COUNTER_CONDS): New. + * gcov-dump.cc (tag_conditions): New. + * gcov-io.h (GCOV_TAG_CONDS): New. + (GCOV_TAG_CONDS_LENGTH): New. + (GCOV_TAG_CONDS_NUM): New. + * gcov.cc (class condition_info): New. + (condition_info::condition_info): New. + (condition_info::popcount): New. + (struct coverage_info): New. + (add_condition_counts): New. + (output_conditions): New. + (print_usage): Add -g, --conditions. + (process_args): Likewise. + (output_intermediate_json_line): Output conditions. + (read_graph_file): Read condition counters. + (read_count_file): Likewise. + (file_summary): Print conditions. + (accumulate_line_info): Accumulate conditions. + (output_line_details): Print conditions. + * gimplify.cc (next_cond_uid): New. + (reset_cond_uid): New. + (shortcut_cond_r): Set condition discriminator. + (tag_shortcut_cond): New. + (gimple_associate_condition_with_expr): New. + (shortcut_cond_expr): Set condition discriminator. + (gimplify_cond_expr): Likewise. + (gimplify_function_tree): Call reset_cond_uid. + * ipa-inline.cc (can_early_inline_edge_p): Check + condition_coverage_flag. + * ipa-split.cc (pass_split_functions::gate): Likewise. + * passes.cc (finish_optimization_passes): Likewise. + * profile.cc (struct condcov): New declaration. + (cov_length): Likewise. + (cov_blocks): Likewise. + (cov_masks): Likewise. + (cov_maps): Likewise. + (cov_free): Likewise. + (instrument_decisions): New. + (read_thunk_profile): Control output to file. + (branch_prob): Call find_conditions, instrument_decisions. + (init_branch_prob): Add total_num_conds. + (end_branch_prob): Likewise. + * tree-core.h (struct tree_exp): Add condition_uid. + * tree-profile.cc (struct conds_ctx): New. + (CONDITIONS_MAX_TERMS): New. + (EDGE_CONDITION): New. + (topological_cmp): New. + (index_of): New. + (single_p): New. + (single_edge): New. + (contract_edge_up): New. + (struct outcomes): New. + (conditional_succs): New. + (condition_index): New. + (condition_uid): New. + (masking_vectors): New. + (emit_assign): New. + (emit_bitwise_op): New. + (make_top_index_visit): New. + (make_top_index): New. + (paths_between): New. + (struct condcov): New. + (cov_length): New. + (cov_blocks): New. + (cov_masks): New. + (cov_maps): New. + (cov_free): New. + (find_conditions): New. + (struct counters): New. + (find_counters): New. + (resolve_counter): New. + (resolve_counters): New. + (instrument_decisions): New. + (tree_profiling): Check condition_coverage_flag. + (pass_ipa_tree_profile::gate): Likewise. + * tree.h (SET_EXPR_UID): New. + (EXPR_COND_UID): New. + +2024-04-04 Richard Sandiford <richard.sandiford@arm.com> + + PR target/114577 + * config/aarch64/aarch64-sve-builtins.h (aarch64_sve::lookup_fndecl): + Declare. + * config/aarch64/aarch64-sve-builtins.cc (aarch64_sve::lookup_fndecl): + New function. + * config/aarch64/aarch64-sve-builtins-base.cc (is_undef): Likewise. + (svset_neonq_impl::expand): Optimise expansions whose first argument + is undefined. + +2024-04-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114485 + * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): + vect_step_op_neg isn't OK for partial vectors but only + for unknown niter. + +2024-04-04 Jakub Jelinek <jakub@redhat.com> + + PR c++/114537 + * fold-const.cc (native_encode_initializer): Look through + NON_LVALUE_EXPR if val is INTEGER_CST. + +2024-04-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114555 + * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): For + m_bitfld_load and save_cast_conditional add any needed PHIs + and adjust t4 accordingly. + +2024-04-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114551 + * tree-ssa-loop-split.cc (split_loop): If the guard is + only conditionally evaluated rewrite computations with + possibly undefined overflow to unsigned arithmetic. + +2024-04-04 Eugene Rozenfeld <erozen@microsoft.com> + + PR gcov-profile/113765 + * auto-profile.cc (afdo_annotate_cfg): Don't set full_profile to true + +2024-04-03 Mark Wielaard <mark@klomp.org> + + * config/i386/i386.opt.urls: Regenerate. + +2024-04-03 H.J. Lu <hjl.tools@gmail.com> + + PR tree-optimization/114115 + * cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes. + (cgraph_node): Add called_by_ifunc_resolver. + * cgraphunit.cc (symbol_table::compile): Call + symtab_node::check_ifunc_callee_symtab_nodes. + * symtab.cc (check_ifunc_resolver): New. + (ifunc_ref_map): Likewise. + (is_caller_ifunc_resolver): Likewise. + (symtab_node::check_ifunc_callee_symtab_nodes): Likewise. + * tree-profile.cc (gimple_gen_ic_func_profiler): Disable indirect + call profiling for IFUNC resolvers and their callees. + +2024-04-03 Tobias Burnus <tburnus@baylibre.com> + + * lto-wrapper.cc (compile_offload_image): Prefix 'offload_args' + suffix by the target name. + +2024-04-03 Tobias Burnus <tburnus@baylibre.com> + + * doc/install.texi (amdgcn-*-amdhsa): Update Newlib recommendation + and update wording for LLVM 18 release. + +2024-04-03 Tobias Burnus <tburnus@baylibre.com> + + PR other/111966 + * config/gcn/mkoffload.cc (get_arch): New; moved -march= flag + handling from ... + (main): ... here; call it to handle --with-arch config option + and -march= commandline. + +2024-04-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114552 + * expr.cc (emit_push_insn): Only use store_constructor for + immediate_const_ctor_p if int_expr_size matches size. + +2024-04-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114557 + PR tree-optimization/114480 + * tree-phinodes.cc (release_phi_node): Return PHIs from + allocation buckets not covered by free_phinodes to GC. + (remove_phi_node): Release the PHI LHS before freeing the + PHI node. + * tree-vect-loop.cc (vectorizable_live_operation): Get PHI lhs + before releasing it. + +2024-04-03 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/lasx.md: Remove unused code. + * config/loongarch/loongarch-protos.h + (loongarch_split_lsx_copy_d): Remove. + (loongarch_split_lsx_insert_d): Ditto. + (loongarch_split_lsx_fill_d): Ditto. + * config/loongarch/loongarch.cc + (loongarch_split_lsx_copy_d): Ditto. + (loongarch_split_lsx_insert_d): Ditto. + (loongarch_split_lsx_fill_d): Ditto. + * config/loongarch/lsx.md (lsx_vpickve2gr_du): Remove splitter. + (lsx_vpickve2gr_<lsxfmt_f>): Ditto. + (abs<mode>2): Remove expander. + (vabs<mode>2): Rename 2 abs<mode>2. + +2024-04-02 Christophe Lyon <christophe.lyon@linaro.org> + + * config/aarch64/aarch64-option-extensions.def: Fix comment. + +2024-04-02 Tom Tromey <tromey@adacore.com> + + * dwarf2out.cc (print_dw_val) <dw_val_class_loc>: Don't + print newline when not recursing. + +2024-04-02 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.cc (darwin_override_options): Update the + clang major version value in the dsymutil check. + +2024-04-02 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.cc (darwin_override_options): Reduce the debug + level to 2 if dsymutil cannot handle .macinfo sections. + +2024-04-02 Yang Yujie <yangyujie@loongson.cn> + + * config/loongarch/t-loongarch: Add loongarch-def-arrays.h + to OPTION_H_EXTRA. + +2024-04-02 mengqinggang <mengqinggang@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + Xi Ruoyao <xry111@xry111.site> + + * config.gcc: Add --with-tls option to change TLS flavor. + * config/loongarch/genopts/loongarch.opt.in: Add -mtls-dialect to + configure TLS flavor. + * config/loongarch/loongarch-def.h (struct loongarch_target): Add + tls_dialect. + * config/loongarch/loongarch-driver.cc (la_driver_init): Add tls + flavor. + * config/loongarch/loongarch-opts.cc (loongarch_init_target): Add + tls_dialect. + (loongarch_config_target): Ditto. + (loongarch_update_gcc_opt_status): Ditto. + * config/loongarch/loongarch-opts.h (loongarch_init_target): Ditto. + (TARGET_TLS_DESC): New define. + * config/loongarch/loongarch.cc (loongarch_symbol_insns): Add TLS + DESC instructions sequence length. + (loongarch_legitimize_tls_address): New TLS DESC instruction sequence. + (loongarch_option_override_internal): Add la_opt_tls_dialect. + (loongarch_option_restore): Add la_target.tls_dialect. + * config/loongarch/loongarch.md (@got_load_tls_desc<mode>): Normal + code model for TLS DESC. + (got_load_tls_desc_off64): Extreme cmode model for TLS DESC. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch.opt.urls: Ditto. + * doc/invoke.texi: Add a description of the compilation option + '-mtls-dialect={trad,desc}'. + +2024-04-02 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.opt.urls: Regenerate. + +2024-04-01 Yang Yujie <yangyujie@loongson.cn> + + * config/loongarch/genopts/loongarch.opt.in: Mark -m[no-]recip as + aliases to -mrecip={all,none}, respectively. + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch-def.h (ABI_FPU_64): Rename to... + (ABI_FPU64_P): ...this. + (ABI_FPU_32): Rename to... + (ABI_FPU32_P): ...this. + (ABI_FPU_NONE): Rename to... + (ABI_NOFPU_P): ...this. + (ABI_LP64_P): Define. + * config/loongarch/loongarch.cc (loongarch_init_print_operand_punct): + Merged into loongarch_global_init. + (loongarch_cpu_option_override): Renamed to + loongarch_target_option_override. + (loongarch_option_override_internal): Move the work after + loongarch_config_target into loongarch_target_option_override. + (loongarch_global_init): Define. + (INIT_TARGET_FLAG): Move to loongarch-opts.cc. + (loongarch_option_override): Call loongarch_global_init + separately. + * config/loongarch/loongarch-opts.cc (loongarch_parse_mrecip_scheme): + Split the parsing of -mrecip=<string> from + loongarch_option_override_internal. + (loongarch_generate_mrecip_scheme): Define. Split from + loongarch_option_override_internal. + (loongarch_target_option_override): Define. Renamed from + loongarch_cpu_option_override. + (loongarch_init_misc_options): Define. Split from + loongarch_option_override_internal. + (INIT_TARGET_FLAG): Move from loongarch.cc. + * config/loongarch/loongarch-opts.h (loongarch_target_option_override): + New prototype. + (loongarch_parse_mrecip_scheme): New prototype. + (loongarch_init_misc_options): New prototype. + (TARGET_ABI_LP64): Simplify with ABI_LP64_P. + * config/loongarch/loongarch.h (TARGET_RECIP_DIV): Simplify. + Do not reference specific CPU architecture (LA664). + (TARGET_RECIP_SQRT): Same. + (TARGET_RECIP_RSQRT): Same. + (TARGET_RECIP_VEC_DIV): Same. + (TARGET_RECIP_VEC_SQRT): Same. + (TARGET_RECIP_VEC_RSQRT): Same. + +2024-04-01 Lulu Cheng <chenglulu@loongson.cn> + + * doc/invoke.texi: Add descriptions for the compilation + options. + +2024-03-31 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/xiangshan.md (xiangshan_jump): Add branch, jalr, ret + and sfb_alu. + +2024-03-31 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-vector-builtins.cc (expand_builtin): Take + the term built-in over builtin. + +2024-03-31 Pan Li <pan2.li@intel.com> + + * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): + Remove unused var decl. + +2024-03-30 Xi Ruoyao <xry111@xry111.site> + + PR target/114175 + * config/mips/mips.cc (mips_setup_incoming_varargs): Only skip + mips_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P + functions if arg.type is NULL. + +2024-03-29 Andrew Pinski <quic_apinski@quicinc.com> + + * lto-compress.cc (lto_end_uncompression): Use + fatal_error instead of internal_error when ZSTD + is not enabled. + +2024-03-28 Jeff Law <jlaw@ventanamicro.com> + + * config/h8300/extensions.md (zero_extendqihi*): Add output + template for reg->reg case where the regs don't match. + +2024-03-28 Gaius Mulley <(no_default)> + + PR modula2/114517 + * doc/gm2.texi: Mention gm2 treats a # in the first column + as a preprocessor directive unless -fno-cpp is supplied. + +2024-03-28 Jakub Jelinek <jakub@redhat.com> + + * predict.cc (estimate_bb_frequencies): Fix comment typo, + scalling -> scaling. + +2024-03-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/112303 + * profile-count.h (profile_count::operator+): Perform + addition in uint64_t variable and set m_val to MIN of that + val and max_count. + (profile_count::operator+=): Likewise. + (profile_count::operator-=): Formatting fix. + (profile_count::apply_probability): Use safe_scale_64bit + even in the int overload. + +2024-03-28 Jan Hubicka <jh@suse.cz> + + PR middle-end/113907 + * ipa-icf.cc (sem_function::init): Hash PHI operands + (sem_function::compare_phi_node): Add argument about preserving order + +2024-03-28 Richard Biener <rguenther@suse.de> + + PR middle-end/114480 + * cfganal.cc (compute_idf): Use simpler bitmap iteration, + touch work_set only when phi_insertion_points changed. + +2024-03-28 Palmer Dabbelt <palmer@rivosinc.com> + + * config/riscv/riscv.h (REGISTER_NAMES): Add vxsat. + +2024-03-27 Segher Boessenkool <segher@kernel.crashing.org> + + PR rtl-optimization/101523 + * combine.cc (try_combine): Don't do a 2-insn combination if + it does not in fact change I2. + +2024-03-27 Jakub Jelinek <jakub@redhat.com> + + * doc/invoke.texi (Spec Files): Use @var{S} instead of S, + @var{X} instead of X etc. for other placeholders. + +2024-03-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114057 + * tree-vect-slp.cc (vect_bb_slp_mark_live_stmts): Mark + BB reduction remain defs as scalar uses. + +2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/aarch64/aarch64-option-extensions.def (rcpc3): + Fix FEATURE_STRING field to "lrcpc3". + +2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/aarch64/aarch64-option-extensions.def: Add LSE128 + AARCH64_OPT_EXTENSION, adding it as a dependency for the D128 + feature. + * doc/invoke.texi (AArch64 Options): Document +lse128. + +2024-03-26 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-feature-deps.h: Use constexpr for + out-of-line statics. + +2024-03-26 Cupertino Miranda <cupertino.miranda@oracle.com> + + PR target/114431 + * btfout.cc (get_name_for_datasec_entry): Add function. + (btf_asm_datasec_entry): Print label when possible. + +2024-03-26 Richard Ball <richard.ball@arm.com> + + PR target/114272 + * config/aarch64/aarch64-cores.def (AARCH64_CORE): + Change SCHEDULER_IDENT from cortexa55 to cortexa53 + for Cortex-A510 and Cortex-A520. + +2024-03-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/111151 + * fold-const.cc (extract_muldiv_1) <case MAX_EXPR>: Punt for + MULT_EXPR altogether, or for MAX_EXPR if c is -1. + +2024-03-26 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/111736 + * tsan.cc (instrument_expr): Punt on non-generic address space + accesses. + +2024-03-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114471 + * tree-vect-stmts.cc (vectorizable_operation): Verify operand + types are compatible with the result type. + +2024-03-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114464 + * tree-vect-loop.cc (vectorizable_recurr): Verify the latch + vector type is compatible with what we chose for the recurrence. + +2024-03-26 Jakub Jelinek <jakub@redhat.com> + + * cfgloopmanip.cc (update_loop_exit_probability_scale_dom_bbs): + Fix comment typo - multple -> multiple. + * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): + Likewise. + +2024-03-26 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Predefine + __mips_strict_alignment if STRICT_ALIGNMENT. + +2024-03-25 Richard Biener <rguenther@suse.de> + + * config.gcc (amdgcn): Add gfx1036 entries. + * config/gcn/gcn-hsa.h (NO_XNACK): Likewise. + (gcn_local_sym_hash): Likewise. + * config/gcn/gcn-opts.h (enum processor_type): Likewise. + (TARGET_GFX1036): New macro. + * config/gcn/gcn.cc (gcn_option_override): Handle gfx1036. + (gcn_omp_device_kind_arch_isa): Likewise. + (output_file_start): Likewise. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __gfx1036__. + (TARGET_CPU_CPP_BUILTINS): Rename __gfx1030 to __gfx1030__. + * config/gcn/gcn.opt: Add gfx1036. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1036): New. + (main): Handle gfx1036. + * config/gcn/t-omp-device: Add gfx1036 isa. + * doc/install.texi (amdgcn): Add gfx1036. + * doc/invoke.texi (-march): Likewise. + +2024-03-25 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): Remove error + when V is disabled and init the RVV types and intrinic APIs. + * config/riscv/riscv-vector-builtins.cc (expand_builtin): Report + error if V ext is disabled. + * config/riscv/riscv.cc (riscv_return_value_is_vector_type_p): + Ditto. + (riscv_arguments_is_vector_type_p): Ditto. + (riscv_vector_cc_function_p): Ditto. + * config/riscv/riscv_vector.h: Remove error if V is disable. + +2024-03-23 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.cc (pa_output_global_address): Handle + UNSPEC_DLTIND14R addresses. + * config/pa/pa.h (PRINT_OPERAND_ADDRESS): Output "RT'" for + UNSPEC_DLTIND14R address. + +2024-03-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114433 + * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): For + m_bitfld_load check save_first rather than m_first. + +2024-03-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114425 + * gimple-lower-bitint.cc (build_bitint_stmt_ssa_conflicts): Handle + _Complex large/huge _BitInt types like the large/huge _BitInt types. + +2024-03-23 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/111683 + * tree-predcom.cc (pcom_worker::suitable_component_p): If has_write + and comp_step is RS_NONZERO, return false if any reference in the + component doesn't have DR_STEP a multiple of access size. + +2024-03-23 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md: Add new split pattern described above. + +2024-03-22 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_set_current_function): Adjust diagnostic + for deprecated SIGNAL and INTERRUPT usage without respective header. + +2024-03-22 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn.md (*memory_barrier): Split into RDNA and !RDNA. + (atomic_load<mode>): Adjust RDNA cache settings. + (atomic_store<mode>): Likewise. + (atomic_exchange<mode>): Likewise. + +2024-03-22 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn.cc (gcn_vectorize_preferred_simd_mode): Prefer V32 on + RDNA devices. + +2024-03-22 Andrew Stubbs <ams@baylibre.com> + + * config.gcc (amdgcn): Add gfx1103 entries. + * config/gcn/gcn-hsa.h (NO_XNACK): Likewise. + (gcn_local_sym_hash): Likewise. + * config/gcn/gcn-opts.h (enum processor_type): Likewise. + (TARGET_GFX1103): New macro. + * config/gcn/gcn.cc (gcn_option_override): Handle gfx1103. + (gcn_omp_device_kind_arch_isa): Likewise. + (output_file_start): Likewise. + (gcn_hsa_declare_function_name): Use TARGET_RDNA3, not just gfx1100. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __gfx1103__. + * config/gcn/gcn.opt: Add gfx1103. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1103): New. + (main): Handle gfx1103. + * config/gcn/t-omp-device: Add gfx1103 isa. + * doc/install.texi (amdgcn): Add gfx1103. + * doc/invoke.texi (-march): Likewise. + +2024-03-22 Andrew Stubbs <ams@baylibre.com> + + * dojump.cc (do_compare_rtx_and_jump): Clear excess bits in vector + bitmasks. + (do_compare_and_jump): Remove now-redundant similar code. + * internal-fn.cc (expand_fn_using_insn): Clear excess bits in vector + bitmasks. + (add_mask_and_len_args): Likewise. + +2024-03-22 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Add pre-define + macro __riscv_v_fixed_vlen when zvl. + * config/riscv/riscv.cc (riscv_handle_rvv_vector_bits_attribute): + New static func to take care of the RVV types decorated by + the attributes. + +2024-03-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR c/109619 + * builtins.cc (fold_builtin_1): Use error_operand_p + instead of checking against ERROR_MARK. + (fold_builtin_2): Likewise. + (fold_builtin_3): Likewise. + +2024-03-22 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/111736 + * ubsan.cc (ubsan_expand_null_ifn, instrument_mem_ref): Avoid + SANITIZE_NULL instrumentation for non-generic address spaces + for which targetm.addr_space.zero_address_valid (as) is true. + +2024-03-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114405 + * gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt): + Set rprec to limb_prec rather than 0 if tprec is divisible by + limb_prec. In the last bf_cur handling, set rprec to (tprec + bo_bit) + % limb_prec rather than tprec % limb_prec and use just rprec instead + of rprec + bo_bit. For build_bit_field_ref offset, divide + (tprec + bo_bit) by limb_prec rather than just tprec. + +2024-03-22 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/114194 + * config/riscv/vector-iterators.md: Split VI into VI_FRAC and VI_NOFRAC. + Only include VI_NOFRAC in V_VLS without TARGET_XTHEADVECTOR. + +2024-03-22 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_expand_prologue): Add missing stack + tie for scalable and final stack adjustment if needed. + Co-authored-by: Raphael Zinsly <rzinsly@ventanamicro.com> + +2024-03-22 Pan Li <pan2.li@intel.com> + + PR target/114352 + * common/config/riscv/riscv-common.cc (struct riscv_func_target_info): + New struct for func decl and target name. + (struct riscv_func_target_hasher): New hasher for hash table mapping + from the fn_decl to fn_target_name. + (riscv_func_decl_hash): New func to compute the hash for fn_decl. + (riscv_func_target_hasher::hash): New func to impl hash interface. + (riscv_func_target_hasher::equal): New func to impl equal interface. + (riscv_cmdline_subset_list): New static var for cmdline subset list. + (riscv_func_target_table_lazy_init): New func to lazy init the func + target hash table. + (riscv_func_target_get): New func to get target name from hash table. + (riscv_func_target_put): New func to put target name into hash table. + (riscv_func_target_remove_and_destory): New func to remove target + info from the hash table and destory it. + (riscv_parse_arch_string): Set the static var cmdline_subset_list. + * config/riscv/riscv-subset.h (riscv_cmdline_subset_list): New static + var for cmdline subset list. + (riscv_func_target_get): New func decl. + (riscv_func_target_put): Ditto. + (riscv_func_target_remove_and_destory): Ditto. + * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): + Take cmdline_subset_list instead of current_subset_list when clone. + (riscv_process_target_attr): Record the func target info to hash table. + (riscv_option_valid_attribute_p): Add new arg tree fndel. + * config/riscv/riscv.cc (riscv_declare_function_name): Consume the + func target info and print the arch message. + +2024-03-22 Pan Li <pan2.li@intel.com> + + PR target/114352 + * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): + Replace implied, combine and check to func finalize. + (riscv_subset_list::finalize): New func impl to take care of + implied, combine ext and related checks. + * config/riscv/riscv-subset.h: Add func decl for finalize. + * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): + Finalize the ext before return succeed. + * config/riscv/riscv.cc (riscv_set_current_function): Reinit the + machine mode before when set cur function. + +2024-03-21 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn.cc (gcn_expand_builtin_1): Comment correction. + +2024-03-21 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn-hsa.h (ASM_SPEC): Pass -mattr=+cumode. + +2024-03-21 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn-run.cc (main): Add an hsa_memory_free calls for each + device_malloc call. + +2024-03-21 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/114396 + * tree-vect-loop.cc (vect_peel_nonlinear_iv_init): Pass utype + and true to wi::from_mpz. + +2024-03-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/111736 + * asan.cc (instrument_derefs): Do not instrument accesses + to non-generic address-spaces. + +2024-03-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113727 + * tree-sra.cc (analyze_access_subtree): Do not allow + replacements in subtrees when grp_partial_lhs. + +2024-03-21 liuhongt <hongtao.liu@intel.com> + + PR middle-end/114347 + * doc/invoke.texi: Document -fexcess-precision=16. + +2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> + + * config/bpf/core-builtins.cc (bpf_core_get_index): Check if + field contains a DECL_NAME. + +2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> + + * config/bpf/btfext-out.cc (cpf_core_reloc_add): Correct for new code. + Add assert to validate the string is set. + * config/bpf/core-builtins.cc (cr_final): Make string struct + field as const. + (process_enum_value): Correct for field type change. + (process_type): Set access string to "0". + +2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> + + * config/bpf/core-builtins.cc (core_field_info): Add + support for POINTER_PLUS_EXPR in the root of the field expression. + (bpf_core_get_index): Likewise. + (pack_field_expr): Make the BTF type to point to the structure + related node, instead of its pointer type. + (make_core_safe_access_index): Correct to new code. + +2024-03-20 Xi Ruoyao <xry111@xry111.site> + + PR target/114407 + * config/loongarch/loongarch-opts.cc (loongarch_config_target): + Fix typo in diagnostic message, enabing -> enabling. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/visium/visium.cc (visium_setup_incoming_varargs): Only skip + TARGET_FUNCTION_ARG_ADVANCE for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Only skip + nios2_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Only skip + function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Only skip + function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Only skip + function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs): Only + skip function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/csky/csky.cc (csky_setup_incoming_varargs): Only skip + csky_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-20 Yury Khrustalev <yury.khrustalev@arm.com> + + * config/aarch64/aarch64-sys-regs.def: Copy from Binutils. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114365 + * gimple-lower-bitint.cc (bitint_large_huge::handle_load): When adding + a PHI node, set iv2 to its result afterwards. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + * tree-ssa-loop-ch.cc (update_profile_after_ch): Fix comment typo: + probabbility -> probability. + (ch_base::copy_headers): Fix comment typo: itrations -> iterations. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/114369 + * system.h (vec_step): Define to vec_step_ when compiling + with clang on PowerPC. + +2024-03-20 demin.han <demin.han@starfivetech.com> + + PR target/112651 + * config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Rename + (enum rvv_max_lmul_enum): Ditto + (TARGET_MAX_LMUL): Ditto + * config/riscv/riscv-v.cc (preferred_simd_mode): Ditto + * config/riscv/riscv-vector-costs.cc (costs::record_potential_unexpected_spills): Ditto + (costs::better_main_loop_than_p): Ditto + * config/riscv/riscv.opt: Replace -param=riscv-autovec-lmul with -mrvv-max-lmul + +2024-03-20 Richard Biener <rguenther@suse.de> + + PR middle-end/113396 + * tree-dfa.cc (get_ref_base_and_extent): Use index range + bounds only if they fit within the address-range constraints + of offset_int. + +2024-03-20 Chenghui Pan <panchenghui@loongson.cn> + + * config/loongarch/loongarch.cc + (loongarch_hard_regno_mode_ok_uncached): Combine UNITS_PER_FP_REG and + UNITS_PER_FPREG macros. + (loongarch_hard_regno_nregs): Ditto. + (loongarch_class_max_nregs): Ditto. + (loongarch_get_separate_components): Ditto. + (loongarch_process_components): Ditto. + * config/loongarch/loongarch.h (UNITS_PER_FPREG): Ditto. + (UNITS_PER_HWFPVALUE): Ditto. + (UNITS_PER_FPVALUE): Ditto. + +2024-03-20 Chenghui Pan <panchenghui@loongson.cn> + + * config/loongarch/lasx.md (vec_cmp<mode><mode256_i>): Remove checking + of loongarch_expand_vec_cmp()'s return value. + (vec_cmpu<ILASX:mode><mode256_i>): Ditto. + * config/loongarch/lsx.md (vec_cmp<mode><mode_i>): Ditto. + (vec_cmpu<ILSX:mode><mode_i>): Ditto. + * config/loongarch/loongarch-protos.h + (loongarch_expand_vec_cmp): Change loongarch_expand_vec_cmp()'s return + type from bool to void. + * config/loongarch/loongarch.cc (loongarch_expand_vec_cmp): Ditto. + +2024-03-20 Chenghui Pan <panchenghui@loongson.cn> + + * config/loongarch/loongarch-protos.h + (loongarch_cfun_has_cprestore_slot_p): Delete. + (loongarch_adjust_insn_length): Delete. + (current_section_name): Delete. + (loongarch_split_symbol_type): Delete. + * config/loongarch/loongarch.cc + (loongarch_case_values_threshold): Delete. + (loongarch_spill_class): Delete. + (TARGET_OPTAB_SUPPORTED_P): Delete. + (TARGET_CASE_VALUES_THRESHOLD): Delete. + (TARGET_SPILL_CLASS): Delete. + +2024-03-20 Lewis Hyatt <lhyatt@gmail.com> + + PR c++/111918 + * diagnostic-core.h (enum diagnostic_t): Add DK_ANY special flag. + * diagnostic.cc (diagnostic_option_classifier::classify_diagnostic): + Make use of DK_ANY to indicate a diagnostic was initially enabled. + (diagnostic_context::diagnostic_enabled): Do not change the type of + a diagnostic if the saved classification is type DK_ANY. + +2024-03-19 Martin Jambor <mjambor@suse.cz> + + PR ipa/108802 + PR ipa/114254 + * ipa-prop.cc (ipa_get_stmt_member_ptr_load_param): Fix case looking + at COMPONENT_REFs directly from a PARM_DECL, also recognize loads from + a pointer parameter. + (ipa_analyze_indirect_call_uses): Also recognize loads from a pointer + parameter, also recognize the case when pfn pointer is loaded in its + own BB. + +2024-03-19 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/99829 + * lra-constraints.cc (lra_constraints): Prevent removing insn + with reverse equivalence to memory if the memory was reloaded. + +2024-03-19 David Malcolm <dmalcolm@redhat.com> + + PR middle-end/114348 + * diagnostic-format-json.cc + (json_stderr_output_format::machine_readable_stderr_p): New. + (json_file_output_format::machine_readable_stderr_p): New. + * diagnostic-format-sarif.cc + (sarif_stream_output_format::machine_readable_stderr_p): New. + (sarif_file_output_format::machine_readable_stderr_p): New. + * diagnostic.cc (diagnostic_context::action_after_output): Move + "fnotice" to before "finish" call, so that we still have the + diagnostic_context. + (fnotice): Bail out if the user requested one of the + machine-readable diagnostic output formats on stderr. + * diagnostic.h + (diagnostic_output_format::machine_readable_stderr_p): New pure + virtual function. + (diagnostic_text_output_format::machine_readable_stderr_p): New. + (diagnostic_context::get_output_format): New accessor. + +2024-03-19 Edwin Lu <ewlu@rivosinc.com> + + PR target/114175 + * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Only skip + riscv_funciton_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL + +2024-03-19 Jonathan Wakely <jwakely@redhat.com> + + * doc/install.texi (Prerequisites): Document use of autogen for + libstdc++. + +2024-03-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114151 + PR tree-optimization/114269 + PR tree-optimization/114322 + PR tree-optimization/114074 + * tree-chrec.cc (chrec_fold_multiply): Restrict the use of + unsigned arithmetic when actual overflow on constant operands + is observed. + +2024-03-19 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/arc/arc.cc (arc_setup_incoming_varargs): Only skip + arc_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-19 Xi Ruoyao <xry111@xry111.site> + + PR target/114175 + * config/loongarch/loongarch.cc + (loongarch_setup_incoming_varargs): Only skip + loongarch_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P + functions if arg.type is NULL. + +2024-03-19 Christophe Lyon <christophe.lyon@linaro.org> + + PR target/114323 + * config/arm/arm-mve-builtins.cc + (function_instance::reads_global_state_p): Take CP_READ_MEMORY + into account. + +2024-03-19 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Only skip + function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-19 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Only skip + rs6000_function_arg_advance_1 for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114375 + * tree-vect-slp.cc (vect_build_slp_tree_2): Compute the + load permutation for masked loads but reject it when any + such is necessary. + * tree-vect-stmts.cc (vectorizable_load): Reject masked + VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not + supported. + +2024-03-19 Mary Bennett <mary.bennett@embecosm.com> + + * common/config/riscv/riscv-common.cc: Create XCVbi extension + support. + * config/riscv/riscv.opt: Likewise. + * config/riscv/corev.md: Implement cv_branch<mode> pattern + for cv.beqimm and cv.bneimm. + * config/riscv/riscv.md: Add CORE-V branch immediate to RISC-V + branch instruction pattern. + * config/riscv/constraints.md: Implement constraints + cv_bi_s5 - signed 5-bit immediate. + * config/riscv/predicates.md: Implement predicate + const_int5s_operand - signed 5 bit immediate. + * doc/sourcebuild.texi: Add XCVbi documentation. + +2024-03-19 Chen Jiawei <jiawei@iscas.ac.cn> + + * config/riscv/riscv-cores.def (RISCV_TUNE): New def. + (RISCV_CORE): Ditto. + * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): New + option. + * config/riscv/riscv.cc: New def. + * config/riscv/riscv.md: New include. + * config/riscv/xiangshan.md: New file. + +2024-03-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/110902 + PR analyzer/110928 + PR analyzer/111305 + PR analyzer/111441 + * selftest.h (ASSERT_NE_AT): New macro. + +2024-03-18 Uros Bizjak <ubizjak@gmail.com> + + PR target/111822 + * config/i386/i386-features.cc (smode_convert_cst): New function + to handle SImode, DImode and TImode immediates, generalized from + timode_convert_cst. + (timode_convert_cst): Remove. + (scalar_chain::convert_op): Unify from + general_scalar_chain::convert_op and timode_scalar_chain::convert_op. + (general_scalar_chain::convert_op): Remove. + (timode_scalar_chain::convert_op): Remove. + (timode_scalar_chain::convert_insn): Update the call to + renamed timode_convert_cst. + * config/i386/i386-features.h (class scalar_chain): + Redeclare convert_op as protected class member. + (class general_calar_chain): Remove convert_op. + (class timode_scalar_chain): Ditto. + +2024-03-18 Jan Hubicka <jh@suse.cz> + + * config/i386/zn4zn5.md: Add file missed in the previous commit. + +2024-03-18 Jan Hubicka <jh@suse.cz> + Karthiban Anbazhagan <Karthiban.Anbazhagan@amd.com> + + * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver5. + * common/config/i386/i386-common.cc (processor_names): Add znver5. + (processor_alias_table): Likewise. + * common/config/i386/i386-cpuinfo.h (processor_types): Add new zen + family. + (processor_subtypes): Add znver5. + * config.gcc (x86_64-*-* |...): Likewise. + * config/i386/driver-i386.cc (host_detect_local_cpu): Let + march=native detect znver5 cpu's. + * config/i386/i386-c.cc (ix86_target_macros_internal): Add + znver5. + * config/i386/i386-options.cc (m_ZNVER5): New definition + (processor_cost_table): Add znver5. + * config/i386/i386.cc (ix86_reassociation_width): Likewise. + * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER5 + (PTA_ZNVER5): New definition. + * config/i386/i386.md (define_attr "cpu"): Add znver5. + (Scheduling descriptions) Add znver5.md. + * config/i386/x86-tune-costs.h (znver5_cost): New definition. + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver5. + (ix86_adjust_cost): Likewise. + * config/i386/x86-tune.def (avx512_move_by_pieces): Add m_ZNVER5. + (avx512_store_by_pieces): Add m_ZNVER5. + * doc/extend.texi: Add znver5. + * doc/invoke.texi: Likewise. + * config/i386/znver4.md: Rename to zn4zn5.md; combine znver4 and znver5 Scheduler. + +2024-03-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/constraints.md (CX2, CX3, CX4): New constraints. + * config/avr/avr-protos.h (avr_xor_noclobber_dconst): New proto. + * config/avr/avr.cc (avr_xor_noclobber_dconst): New function. + * config/avr/avr.md (xorhi3, *xorhi3): Add "d,0,CX2,X" alternative. + (xorpsi3, *xorpsi3): Add "d,0,CX3,X" alternative. + (xorsi3, *xorsi3): Add "d,0,CX4,X" alternative. + +2024-03-18 liuhongt <hongtao.liu@intel.com> + + PR target/114334 + * config/i386/i386.md (mode): Add new number V8BF,V16BF,V32BF. + (MODEF248): New mode iterator. + (ssevecmodesuffix): Hanlde BF and HF. + * config/i386/sse.md (andnot<mode>3): Extend to HF/BF. + (<code><mode>3): Ditto. + +2024-03-18 John David Anglin <danglin@gcc.gnu.org> + + PR rtl-optimization/112415 + * config/pa/pa.cc (pa_emit_move_sequence): Revise condition + for symbolic memory operands. + (pa_legitimate_address_p): Revise LO_SUM condition. + * config/pa/pa.h (INT14_OK_STRICT): Revise define. Move + comment about GNU linker to predicates.md. + * config/pa/predicates.md (floating_point_store_memory_operand): + Revise condition for symbolic memory operands. Update + comment. + +2024-03-17 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.cc (pa_delegitimize_address): Delegitimize UNSPEC_TP. + +2024-03-16 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * config/i386/i386.cc (ix86_setup_incoming_varargs): Only skip + ix86_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions + if arg.type is NULL. + +2024-03-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114329 + * gimple-lower-bitint.cc (struct bitint_large_huge): Declare + build_bit_field_ref method. + (bitint_large_huge::build_bit_field_ref): New method. + (bitint_large_huge::lower_mergeable_stmt): Use it. + +2024-03-15 YunQiang Su <syq@gcc.gnu.org> + + * config/riscv/riscv.opt.urls: Regenerated. + * config/rs6000/sysv4.opt.urls: Likewise. + * config/xtensa/xtensa.opt.urls: Likewise. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + * lower-subreg.cc (resolve_simple_move): Fix comment typo, + betwee -> between. + * edit-context.cc (class line_event): Fix comment typo, + betweeen -> between. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + PR target/114339 + * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp) <case LE>: Fix + a pasto, compare code against LE rather than GE. + +2024-03-15 Joe Ramsay <Joe.Ramsay@arm.com> + + * match.pd: Fix truncation pattern for -fno-signed-zeroes + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114332 + * expr.cc (expand_expr_real_1): EXTEND_BITINT also CALL_EXPR results. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113466 + * gimple-lower-bitint.cc (bitint_large_huge): Add m_returns_twice_calls + member. + (bitint_large_huge::bitint_large_huge): Initialize it. + (bitint_large_huge::~bitint_large_huge): Release it. + (bitint_large_huge::lower_call): Remember ECF_RETURNS_TWICE call stmts + before which at least one statement has been inserted. + (gimple_lower_bitint): Move argument loads before ECF_RETURNS_TWICE + calls to a different block and add corresponding PHIs. + +2024-03-15 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.opt: Support -mstrict-align, and use + TARGET_STRICT_ALIGN as the flag; keep -m(no-)unaligned-access + as alias. + * config/mips/mips.h: Use TARGET_STRICT_ALIGN. + * config/mips/mips.opt.urls: Regenerate. + * doc/invoke.texi: Document -m(no-)strict-algin for MIPSr6. + +2024-03-15 Tejas Belagod <tejas.belagod@arm.com> + + PR middle-end/114108 + * tree-vect-patterns.cc (vect_recog_abd_pattern): Call + vect_convert_output with the correct vecitype. + +2024-03-15 Chenghui Pan <panchenghui@loongson.cn> + + * config/loongarch/lasx.md (lasx_xvpermi_q_<LASX:mode>): + Remove masking of operand 3. + +2024-03-14 Jason Merrill <jason@redhat.com> + + * tree-core.h (enum clobber_kind): Clarify CLOBBER_OBJECT_* + comments. + +2024-03-14 John David Anglin <danglin@gcc.gnu.org> + + PR target/114288 + * config/pa/pa.cc (pa_legitimate_address_p): Don't allow + 14-bit displacements before reload for modes that may use + a floating-point load or store. + +2024-03-14 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.h (INT8_TYPE): Change to signed char. + +2024-03-14 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/xtensa.md (movsi_internal): Move l32i and s32i + patterns ahead of the l32i.n and s32i.n. + +2024-03-14 Jakub Jelinek <jakub@redhat.com> + + * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): Fix comment typo. + +2024-03-14 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113907 + * ipa-icf.cc (sem_item_optimizer::merge_classes): Reset + SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged + functions. + +2024-03-14 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (any_ge): Remove. + (sge<u>_<X:mode><GPR:mode>): Remove. + +2024-03-14 Jakub Jelinek <jakub@redhat.com> + + PR target/114310 + * config/aarch64/aarch64.cc (aarch64_expand_compare_and_swap): For + TImode force newval into a register. + +2024-03-14 Chung-Lin Tang <cltang@baylibre.com> + + * tree.h (OMP_CLAUSE_MAP_READONLY): New macro. + (OMP_CLAUSE__CACHE__READONLY): New macro. + * tree-core.h (struct GTY(()) tree_base): Adjust comments for new + uses of readonly_flag bit in OMP_CLAUSE_MAP_READONLY and + OMP_CLAUSE__CACHE__READONLY. + * tree-pretty-print.cc (dump_omp_clause): Add support for printing + OMP_CLAUSE_MAP_READONLY and OMP_CLAUSE__CACHE__READONLY. + +2024-03-14 Andreas Krebbel <krebbel@linux.ibm.com> + + * config/s390/s390.cc (s390_encode_section_info): Adjust the check + for misaligned symbols. + * config/s390/s390.opt: Improve documentation. + +2024-03-14 Jakub Jelinek <jakub@redhat.com> + + * gimple-iterator.cc (edge_before_returns_twice_call): Copy all + flags and probability from ad_edge to e edge. If CDI_DOMINATORS + are computed, recompute immediate dominator of other_edge->src + and other_edge->dest. + (gsi_safe_insert_before, gsi_safe_insert_seq_before): Update *iter + for the returns_twice call case to the gsi_for_stmt (stmt) to deal + with update it for bb splitting. + +2024-03-14 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-features.cc + (general_scalar_chain::convert_op): Handle REG_EH_REGION note. + (convert_scalars_to_vector): Ditto. + * config/i386/i386-features.h (class scalar_chain): New + memeber control_flow_insns. + +2024-03-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114319 + * gimple-ssa-store-merging.cc + (imm_store_chain_info::try_coalesce_bswap): For 32-bit targets + allow matching __builtin_bswap64 if there is bswapsi2 optab. + +2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * config/s390/s390.cc (s390_secondary_reload): Guard + SYMBOL_FLAG_NOTALIGN2_P. + +2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * config/s390/s390-builtin-types.def: Update to reflect latest + changes. + * config/s390/s390-builtins.def: Streamline vector builtins with + LLVM. + +2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * config/s390/s390-builtins.def (vec_permi): Deprecate. + (vec_ctd): Deprecate. + (vec_ctd_s64): Deprecate. + (vec_ctd_u64): Deprecate. + (vec_ctsl): Deprecate. + (vec_ctul): Deprecate. + (vec_ld2f): Deprecate. + (vec_st2f): Deprecate. + (vec_insert): Deprecate overloads with bool vectors. + +2024-03-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114313 + * gimple-lower-bitint.cc (bitint_large_huge::limb_access): Use + TYPE_SIZE of TREE_TYPE (var) rather than TYPE_SIZE of type. + (bitint_large_huge::handle_load): Pass NULL_TREE rather than + rhs_type to limb_access for the bitfield load cases. + (bitint_large_huge::lower_mergeable_stmt): Pass NULL_TREE rather than + lhs_type to limb_access if nlhs is non-NULL. + +2024-03-13 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/112709 + * asan.cc (maybe_create_ssa_name, maybe_cast_to_ptrmode, + build_check_stmt, maybe_instrument_call, asan_expand_mark_ifn): Use + gsi_safe_insert_before instead of gsi_insert_before. + +2024-03-13 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/112709 + * gimple-iterator.h (gsi_safe_insert_before, + gsi_safe_insert_seq_before): Declare. + * gimple-iterator.cc: Include gimplify.h. + (edge_before_returns_twice_call, adjust_before_returns_twice_call, + gsi_safe_insert_before, gsi_safe_insert_seq_before): New functions. + * ubsan.cc (instrument_mem_ref, instrument_pointer_overflow, + instrument_nonnull_arg, instrument_nonnull_return): Use + gsi_safe_insert_before instead of gsi_insert_before. + (maybe_instrument_pointer_overflow): Use force_gimple_operand, + gimple_seq_add_seq_without_update and gsi_safe_insert_seq_before + instead of force_gimple_operand_gsi. + (instrument_object_size): Likewise. Use gsi_safe_insert_before + instead of gsi_insert_before. + +2024-03-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114121 + * tree-chrec.cc (chrec_fold_plus_1): Guard recursion with + converted operand properly. + (chrec_fold_multiply): Likewise. Handle missed recursion. + +2024-03-12 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/112709 + * asan.cc (has_stmt_been_instrumented_p): Don't instrument call + stores on the caller side unless it is a call to a builtin or + internal function or function doesn't return by hidden reference. + (maybe_instrument_call): Likewise. + (instrument_derefs): Instrument stores to RESULT_DECL if + returning by hidden reference. + +2024-03-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114293 + * tree-ssa-strlen.cc (strlen_pass::handle_builtin_strlen): If + max is smaller than min, set max to ~(size_t)0. + +2024-03-12 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-c.cc (riscv_ext_version_value): Fix + code style greater than 80 chars. + (riscv_cpu_cpp_builtins): Fix useless empty line, indent + with 3 space(s) and argument unalignment. + +2024-03-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114297 + * tree-vect-loop.cc (vectorizable_live_operation): Pass in the + live stmts SLP node to vect_create_epilog_for_reduction. + +2024-03-12 Andrew Pinski <quic_apinski@quicinc.com> + + PR driver/114314 + * common.opt (fmultiflags): Add RejectNegative. + +2024-03-11 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/aarch64/aarch64.md: Rename aarch_ to aarch64_. + * config/aarch64/aarch64.opt: Likewise. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Likewise. + * config/aarch64/aarch64.cc (aarch64_expand_prologue): Likewise. + (aarch64_expand_epilogue): Likewise. + (aarch64_post_cfi_startproc): Likewise. + (aarch64_handle_no_branch_protection): Copy and rename. + (aarch64_handle_standard_branch_protection): Likewise. + (aarch64_handle_pac_ret_protection): Likewise. + (aarch64_handle_pac_ret_leaf): Likewise. + (aarch64_handle_pac_ret_b_key): Likewise. + (aarch64_handle_bti_protection): Likewise. + (aarch64_override_options): Update branch protection validation. + (aarch64_handle_attr_branch_protection): Likewise. + * config/arm/aarch-common-protos.h (aarch_validate_mbranch_protection): + Pass branch protection type description as argument. + (struct aarch_branch_protect_type): Move from aarch-common.h. + * config/arm/aarch-common.cc (aarch_handle_no_branch_protection): + Remove. + (aarch_handle_standard_branch_protection): Remove. + (aarch_handle_pac_ret_protection): Remove. + (aarch_handle_pac_ret_leaf): Remove. + (aarch_handle_pac_ret_b_key): Remove. + (aarch_handle_bti_protection): Remove. + (aarch_validate_mbranch_protection): Pass branch protection type + description as argument. + * config/arm/aarch-common.h (enum aarch_key_type): Remove. + (struct aarch_branch_protect_type): Remove. + * config/arm/arm-c.cc (arm_cpu_builtins): Remove aarch_ra_sign_key. + * config/arm/arm.cc (arm_handle_no_branch_protection): Copy and rename. + (arm_handle_standard_branch_protection): Likewise. + (arm_handle_pac_ret_protection): Likewise. + (arm_handle_pac_ret_leaf): Likewise. + (arm_handle_bti_protection): Likewise. + (arm_configure_build_target): Update branch protection validation. + * config/arm/arm.opt: Remove aarch_ra_sign_key. + +2024-03-11 Richard Biener <rguenther@suse.de> + + PR middle-end/114299 + * gimplify.cc (internal_get_tmp_var): When gimplification + of VAL failed, return a decl. + +2024-03-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114278 + * tree-ssa.cc (maybe_optimize_var): If large/huge _BitInt vars are no + longer addressable, set DECL_NOT_GIMPLE_REG_P on them. + +2024-03-11 Eric Botcazou <ebotcazou@adacore.com> + + PR debug/113519 + PR debug/113777 + * dwarf2out.cc (gen_enumeration_type_die): In the reverse case, + generate the DIE with the same parent as in the regular case. + +2024-03-11 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/95351 + * fold-const.cc (merge_truthop_with_opposite_arm): Use + the type of the operands of the comparison and not the type + of the comparison. + +2024-03-10 jlaw <jeffreyalaw@gmail.com> + + PR tree-optimization/110199 + * tree-ssa-scopedtables.cc + (avail_exprs_stack::simplify_binary_operation): Generalize handling + of MIN_EXPR/MAX_EXPR to allow additional simplifications. Canonicalize + comparison operands for other cases. + +2024-03-10 Pan Li <pan2.li@intel.com> + + * tree-vect-stmts.cc (vectorizable_store): Enable the assert + during transform process. + (vectorizable_load): Ditto. + +2024-03-10 jlaw <jeffreyalaw@gmail.com> + + PR target/102250 + * doc/install.texi: Document need for python when building + RISC-V compilers. + +2024-03-10 jlaw <jeffreyalaw@gmail.com> + + PR target/111362 + * mode-switching.cc (optimize_mode_switching): Only process + NONDEBUG insns. + +2024-03-09 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md: Fix typos in comment, indentation glitches + and some other nits. + +2024-03-09 Jakub Jelinek <jakub@redhat.com> + + PR target/114284 + * fwprop.cc (try_fwprop_subst_pattern): Don't propagate + src containing MEMs unless prop.likely_profitable_p (). + +2024-03-09 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc (loongarch_print_operand_reloc): + Support 'Q' for R_LARCH_RELAX for TLS IE. + (loongarch_output_move): Use 'Q' to print R_LARCH_RELAX for TLS + IE. + * config/loongarch/loongarch.md (ld_from_got<mode>): Likewise. + +2024-03-09 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_rtx_costs_1) [PLUS]: Determine cost for + usum_widenqihi and add_zero_extend1. + [MINUS]: Determine costs for udiff_widenqihi, sub+zero_extend, + sub+sign_extend. + * config/avr/avr.md (*addhi3.sign_extend1, *subhi3.sign_extend2): + Compute exact insn lengths. + (*usum_widenqihi3): Allow input operands to commute. + +2024-03-09 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386.opt.urls: Regenerate. + +2024-03-09 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/sync.md (atomic_cas_value_strong<mode>): + In loongarch64, a sign extension operation is added when + operands[2] is a register operand and the mode is SImode. + +2024-03-08 Martin Jambor <mjambor@suse.cz> + + PR ipa/113757 + * tree-inline.cc (redirect_all_calls): Remove code adding SSAs to + id->killed_new_ssa_names. + +2024-03-08 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/113790 + * lra-assigns.cc (assign_by_spills): Set up all_spilled_pseudos + for non-reload pseudo too. + +2024-03-08 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.cc (bpf_expand_cpymem, bpf_expand_setmem): Do + not attempt inline expansion if size is above threshold. + * config/bpf/bpf.opt (-minline-memops-threshold): New option. + * doc/invoke.texi (eBPF Options) <-minline-memops-threshold>: + Document. + +2024-03-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114269 + PR tree-optimization/114074 + * tree-chrec.cc (chrec_fold_plus_1): Handle sign-conversions + in the third CASE_CONVERT case as well. + (chrec_fold_multiply): Handle sign-conversions from unsigned + by performing the operation in the unsigned type. + +2024-03-08 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (*addhi3_zero_extend.ashift1): New pattern. + * config/avr/avr.cc (avr_rtx_costs_1) [PLUS]: Compute its cost. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + * bb-reorder.cc (fix_up_fall_thru_edges): Fix up checking assert, + asm_noperands < 0 means it is not asm goto too. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + PR target/38534 + * config/i386/i386.opt (mnoreturn-no-callee-saved-registers): New + option. + * config/i386/i386-options.cc (ix86_set_func_type): Don't use + TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP unless + ix86_noreturn_no_callee_saved_registers is enabled. + * doc/invoke.texi (-mnoreturn-no-callee-saved-registers): Document. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + PR debug/113918 + * dwarf2out.cc (gen_field_die): Emit DW_AT_export_symbols + on anonymous unions or structs for -gdwarf-5 or -gno-strict-dwarf. + +2024-03-08 demin.han <demin.han@starfivetech.com> + + PR target/114264 + * config/riscv/riscv-vector-costs.cc: Fix ICE + +2024-03-08 Haochen Gui <guihaoc@gcc.gnu.org> + + * fwprop.cc (forward_propagate_into): Return false for volatile set + source rtx. + +2024-03-07 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/113618 + * config/aarch64/aarch64.cc (aarch64_copy_one_block): Remove. + (aarch64_expand_cpymem): Emit single load/store only. + (aarch64_set_one_block): Emit single stores only. + +2024-03-07 Robin Dapp <rdapp@ventanamicro.com> + + PR middle-end/114196 + * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): Merge + vectorization guards. + +2024-03-07 Jonathan Wakely <jwakely@redhat.com> + + * doc/cppopts.texi: Remove incorrect claim about -dD not + outputting predefined macros. + +2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com> + + PR target/113950 + * config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to operand1 + and simplify else if with else. + +2024-03-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * system.h: Include safe-ctype.h after C++ standard headers. + +2024-03-07 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/110079 + * bb-reorder.cc (fix_crossing_unconditional_branches): Don't adjust + asm goto. + +2024-03-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105533 + * expmed.cc (choose_mult_variant): Only try the val - 1 variant + if val is not HOST_WIDE_INT_MIN or if mode has exactly + HOST_BITS_PER_WIDE_INT precision. Avoid triggering UB while computing + val - 1. + +2024-03-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105533 + * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference) <case ARRAY_REF>: + Multiple op->off by BITS_PER_UNIT instead of shifting it left by + LOG2_BITS_PER_UNIT. + +2024-03-07 Yang Yujie <yangyujie@loongson.cn> + + * config.gcc: Add a case for loongarch*-*-linux-musl*. + * config/loongarch/linux.h: Disable the multilib-compatible + treatment for *musl* targets. + * config/loongarch/musl.h: New file. + +2024-03-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114009 + * genmatch.cc (decision_tree::gen): Emit ARG_UNUSED for captures + argument even for GENERIC, not just for GIMPLE. + * match.pd (a * !a -> 0): New simplifications. + +2024-03-07 demin.han <demin.han@starfivetech.com> + + * config/riscv/riscv-protos.h (expand_vec_cmp): Change proto + * config/riscv/riscv-v.cc (expand_vec_cmp): Use default arguments + (expand_vec_cmp_float): Adapt arguments + +2024-03-06 Uros Bizjak <ubizjak@gmail.com> + + PR target/114232 + * config/i386/mmx.md (negv2qi2): Enable for optimize_size instead + of optimize_function_for_size_p. Explictily enable for TARGET_SSE2. + (negv2qi SSE reg splitter): Enable for TARGET_SSE2 only. + (<plusminus:insn>v2qi3): Enable for optimize_size instead + of optimize_function_for_size_p. Explictily enable for TARGET_SSE2. + (<plusminus:insn>v2qi SSE reg splitter): Enable for TARGET_SSE2 only. + (<any_shift:insn>v2qi3): Enable for optimize_size instead + of optimize_function_for_size_p. + +2024-03-06 Robin Dapp <rdapp@ventanamicro.com> + + PR target/114200 + PR target/114202 + * config/riscv/vector.md: Use vmv[1248]r.v instead of vmv.v.v. + +2024-03-06 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-vector-costs.cc (adjust_stmt_cost): Move... + (costs::adjust_stmt_cost): ... to here and add vec_load/vec_store + offset handling. + (costs::add_stmt_cost): Also adjust cost for statements without + stmt_info. + * config/riscv/riscv-vector-costs.h: Define zero constant. + +2024-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/113915 + * config/arm/arm.md (NOCOND): Improve comment. + (arm_rev*) Add predicable. + * config/arm/arm.cc (arm_final_prescan_insn): Add check for + PREDICABLE_YES. + +2024-03-06 Jeff Law <jlaw@ventanamicro.com> + + PR target/113001 + PR target/112871 + * config/riscv/riscv.cc (expand_conditional_move): Do not swap + operands when the comparison operand is the same as the false + arm for a NE test. + +2024-03-06 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386-expand.cc (ix86_expand_move) [TARGET_MACHO]: + Eliminate common code and use generic code instead. + +2024-03-06 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_rtx_costs_1) [PLUS+ZERO_EXTEND]: Adjust + rtx cost. + +2024-03-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114239 + * tree-vect-loop.cc (vect_get_vect_def): Remove. + (vect_create_epilog_for_reduction): The passed in stmt_info + should now be the live stmt that produces the scalar reduction + result. Revert PR114192 fix. Base reduction info off + info_for_reduction. Remove special handling of + early-break/peeled, restore original vector def gathering. + Make sure to pick the correct exit PHIs. + (vectorizable_live_operation): Pass in the proper stmt_info + for early break exits. + +2024-03-06 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-feature-deps.h (feature_deps::info): Add + out-of-class definitions of static constants. + +2024-03-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114249 + * tree-vect-slp.cc (vect_build_slp_instance): Move making + a BB reduction lane number even ... + (vect_slp_check_for_roots): ... here to avoid leaking + pattern defs. + +2024-03-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114246 + * tree-ssa-dse.cc (increment_start_addr): Strip useless + type conversions from the adjusted address. + +2024-03-06 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114190 + * config/i386/i386-features.cc (rest_of_handle_insert_vzeroupper): + Call df_remove_problem for df_note before calling df_analyze. + +2024-03-05 Cupertino Miranda <cupertino.miranda@oracle.com> + Indu Bhagat <indu.bhagat@oracle.com> + + PR debug/114186 + * dwarf2ctf.cc (gen_ctf_array_type): Invoke the ctf_add_array () + in the correct order of the dimensions. + (gen_ctf_subrange_type): Refactor out handling of + DW_TAG_subrange_type DIE to here. + +2024-03-05 Richard Sandiford <richard.sandiford@arm.com> + + PR sanitizer/97696 + * asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int. + +2024-03-05 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.md (stride_type): Remove luti_consecutive + and luti_strided. + * config/aarch64/aarch64-sme.md + (@aarch64_sme_lut<LUTI_BITS><mode>): Remove stride_type attribute. + (@aarch64_sme_lut<LUTI_BITS><mode>_strided2): Delete. + (@aarch64_sme_lut<LUTI_BITS><mode>_strided4): Likewise. + * config/aarch64/aarch64-early-ra.cc (is_stride_candidate) + (early_ra::maybe_convert_to_strided_access): Remove support for + strided LUTI2 and LUTI4. + +2024-03-05 Richard Earnshaw <rearnsha@arm.com> + + PR target/113510 + * config/arm/thumb1.md (peephole2 to fuse mov imm/add SP): Use + low_register_operand. + +2024-03-05 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md: Add two RTL peepholes for PLUS, IOR and AND + in HI, PSI, SI that swap operation order from "X = CST, X o= Y" + to "X = Y, X o= CST". + +2024-03-05 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.h (ADDITIONAL_REGISTER_NAMES): Add + s9 as an alias of r22. + +2024-03-05 Roger Sayle <roger@nextmovesoftware.com> + + * config/avr/avr-protos.h (avr_out_insv): New proto. + * config/avr/avr.cc (avr_out_insv): New function. + (avr_adjust_insn_length) [ADJUST_LEN_INSV]: Handle case. + (avr_cbranch_cost) [ZERO_EXTRACT]: Adjust rtx costs. + * config/avr/avr.md (define_attr "adjust_len") Add insv. + (andhi3, *andhi3, andpsi3, *andpsi3, andsi3, *andsi3): + Add constraint alternative where the 3rd operand is a power + of 2, and the source register may differ from the destination. + (*insv.any_shift.<mode>_split): Call avr_out_insv to output + instructions. Set attr "length" to "insv". + * config/avr/constraints.md (Cb2, Cb3, Cb4): New constraints. + +2024-03-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114231 + * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when + processing a BB SLP root. + +2024-03-05 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114211 + * lower-subreg.cc (resolve_simple_move): For double-word + rotates by BITS_PER_WORD if there is overlap between source + and destination use a temporary. + +2024-03-05 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114157 + * gimple-lower-bitint.cc: Include stor-layout.h. + (mergeable_op): Return true for BIT_FIELD_REF. + (struct bitint_large_huge): Declare handle_bit_field_ref method. + (bitint_large_huge::handle_bit_field_ref): New method. + (bitint_large_huge::handle_stmt): Use it for BIT_FIELD_REF. + +2024-03-05 Jakub Jelinek <jakub@redhat.com> + + PR target/114116 + * config/i386/i386.h (enum call_saved_registers_type): Add + TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP enumerator. + * config/i386/i386-options.cc (ix86_set_func_type): Remove + has_no_callee_saved_registers variable, add no_callee_saved_registers + instead, initialize it depending on whether it is + no_callee_saved_registers function or not. Don't set it if + no_caller_saved_registers attribute is present. Adjust users. + * config/i386/i386.cc (ix86_function_ok_for_sibcall): Handle + TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP like + TYPE_NO_CALLEE_SAVED_REGISTERS. + (ix86_save_reg): Handle TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP. + +2024-03-05 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_v_adjust_bytesize): Cleanup unused + mode_size related code. + +2024-03-05 Patrick Palka <ppalka@redhat.com> + + * doc/invoke.texi (-Wno-global-module): Document. + +2024-03-04 David Faust <david.faust@oracle.com> + + * config/bpf/bpf-protos.h (bpf_expand_setmem): New prototype. + * config/bpf/bpf.cc (bpf_expand_setmem): New. + * config/bpf/bpf.md (setmemdi): New define_expand. + +2024-03-04 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/113010 + * combine.cc (simplify_comparison): Guard the + WORD_REGISTER_OPERATIONS check on scalar_int_mode of SUBREG_REG + and initialize inner_mode. + +2024-03-04 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/arm/iterators.md (supf): Remove VMLALDAVXQ_U, VMLALDAVXQ_P_U, + VMLALDAVAXQ_U cases. + (VMLALDAVXQ): Remove iterator. + (VMLALDAVXQ_P): Likewise. + (VMLALDAVAXQ): Likewise. + * config/arm/mve.md (mve_vstrwq_p_fv4sf): Replace use of <MVE_VPRED> + mode iterator attribute with V4BI mode. + * config/arm/unspecs.md (VMLALDAVXQ_U, VMLALDAVXQ_P_U, + VMLALDAVAXQ_U): Remove unused unspecs. + +2024-03-04 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/arm/arm.md (mve_safe_imp_xlane_pred): New attribute. + * config/arm/iterators.md (mve_vmaxmin_safe_imp): New iterator + attribute. + * config/arm/mve.md (vaddvq_s, vaddvq_u, vaddlvq_s, vaddlvq_u, + vaddvaq_s, vaddvaq_u, vmaxavq_s, vmaxvq_u, vmladavq_s, vmladavq_u, + vmladavxq_s, vmlsdavq_s, vmlsdavxq_s, vaddlvaq_s, vaddlvaq_u, + vmlaldavq_u, vmlaldavq_s, vmlaldavq_u, vmlaldavxq_s, vmlsldavq_s, + vmlsldavxq_s, vrmlaldavhq_u, vrmlaldavhq_s, vrmlaldavhxq_s, + vrmlsldavhq_s, vrmlsldavhxq_s, vrmlaldavhaq_s, vrmlaldavhaq_u, + vrmlaldavhaxq_s, vrmlsldavhaq_s, vrmlsldavhaxq_s, vabavq_s, vabavq_u, + vmladavaq_u, vmladavaq_s, vmladavaxq_s, vmlsdavaq_s, vmlsdavaxq_s, + vmlaldavaq_s, vmlaldavaq_u, vmlaldavaxq_s, vmlsldavaq_s, + vmlsldavaxq_s): Added mve_safe_imp_xlane_pred. + +2024-03-04 Stam Markianos-Wright <stam.markianos-wright@arm.com> + + * config/arm/arm.md (mve_unpredicated_insn): New attribute. + * config/arm/arm.h (MVE_VPT_PREDICATED_INSN_P): New define. + (MVE_VPT_UNPREDICATED_INSN_P): Likewise. + (MVE_VPT_PREDICABLE_INSN_P): Likewise. + * config/arm/vec-common.md (mve_vshlq_<supf><mode>): Add attribute. + * config/arm/mve.md (arm_vcx1q<a>_p_v16qi): Add attribute. + (arm_vcx1q<a>v16qi): Likewise. + (arm_vcx1qav16qi): Likewise. + (arm_vcx1qv16qi): Likewise. + (arm_vcx2q<a>_p_v16qi): Likewise. + (arm_vcx2q<a>v16qi): Likewise. + (arm_vcx2qav16qi): Likewise. + (arm_vcx2qv16qi): Likewise. + (arm_vcx3q<a>_p_v16qi): Likewise. + (arm_vcx3q<a>v16qi): Likewise. + (arm_vcx3qav16qi): Likewise. + (arm_vcx3qv16qi): Likewise. + (@mve_<mve_insn>q_<supf><mode>): Likewise. + (@mve_<mve_insn>q_int_<supf><mode>): Likewise. + (@mve_<mve_insn>q_<supf>v4si): Likewise. + (@mve_<mve_insn>q_n_<supf><mode>): Likewise. + (@mve_<mve_insn>q_r_<supf><mode>): Likewise. + (@mve_<mve_insn>q_f<mode>): Likewise. + (@mve_<mve_insn>q_m_<supf><mode>): Likewise. + (@mve_<mve_insn>q_m_n_<supf><mode>): Likewise. + (@mve_<mve_insn>q_m_r_<supf><mode>): Likewise. + (@mve_<mve_insn>q_m_f<mode>): Likewise. + (@mve_<mve_insn>q_int_m_<supf><mode>): Likewise. + (@mve_<mve_insn>q_p_<supf>v4si): Likewise. + (@mve_<mve_insn>q_p_<supf><mode>): Likewise. + (@mve_<mve_insn>q<mve_rot>_<supf><mode>): Likewise. + (@mve_<mve_insn>q<mve_rot>_f<mode>): Likewise. + (@mve_<mve_insn>q<mve_rot>_m_<supf><mode>): Likewise. + (@mve_<mve_insn>q<mve_rot>_m_f<mode>): Likewise. + (mve_v<absneg_str>q_f<mode>): Likewise. + (mve_<mve_addsubmul>q<mode>): Likewise. + (mve_<mve_addsubmul>q_f<mode>): Likewise. + (mve_vadciq_<supf>v4si): Likewise. + (mve_vadciq_m_<supf>v4si): Likewise. + (mve_vadcq_<supf>v4si): Likewise. + (mve_vadcq_m_<supf>v4si): Likewise. + (mve_vandq_<supf><mode>): Likewise. + (mve_vandq_f<mode>): Likewise. + (mve_vandq_m_<supf><mode>): Likewise. + (mve_vandq_m_f<mode>): Likewise. + (mve_vandq_s<mode>): Likewise. + (mve_vandq_u<mode>): Likewise. + (mve_vbicq_<supf><mode>): Likewise. + (mve_vbicq_f<mode>): Likewise. + (mve_vbicq_m_<supf><mode>): Likewise. + (mve_vbicq_m_f<mode>): Likewise. + (mve_vbicq_m_n_<supf><mode>): Likewise. + (mve_vbicq_n_<supf><mode>): Likewise. + (mve_vbicq_s<mode>): Likewise. + (mve_vbicq_u<mode>): Likewise. + (@mve_vclzq_s<mode>): Likewise. + (mve_vclzq_u<mode>): Likewise. + (@mve_vcmp_<mve_cmp_op>q_<mode>): Likewise. + (@mve_vcmp_<mve_cmp_op>q_n_<mode>): Likewise. + (@mve_vcmp_<mve_cmp_op>q_f<mode>): Likewise. + (@mve_vcmp_<mve_cmp_op>q_n_f<mode>): Likewise. + (@mve_vcmp_<mve_cmp_op1>q_m_f<mode>): Likewise. + (@mve_vcmp_<mve_cmp_op1>q_m_n_<supf><mode>): Likewise. + (@mve_vcmp_<mve_cmp_op1>q_m_<supf><mode>): Likewise. + (@mve_vcmp_<mve_cmp_op1>q_m_n_f<mode>): Likewise. + (mve_vctp<MVE_vctp>q<MVE_vpred>): Likewise. + (mve_vctp<MVE_vctp>q_m<MVE_vpred>): Likewise. + (mve_vcvtaq_<supf><mode>): Likewise. + (mve_vcvtaq_m_<supf><mode>): Likewise. + (mve_vcvtbq_f16_f32v8hf): Likewise. + (mve_vcvtbq_f32_f16v4sf): Likewise. + (mve_vcvtbq_m_f16_f32v8hf): Likewise. + (mve_vcvtbq_m_f32_f16v4sf): Likewise. + (mve_vcvtmq_<supf><mode>): Likewise. + (mve_vcvtmq_m_<supf><mode>): Likewise. + (mve_vcvtnq_<supf><mode>): Likewise. + (mve_vcvtnq_m_<supf><mode>): Likewise. + (mve_vcvtpq_<supf><mode>): Likewise. + (mve_vcvtpq_m_<supf><mode>): Likewise. + (mve_vcvtq_from_f_<supf><mode>): Likewise. + (mve_vcvtq_m_from_f_<supf><mode>): Likewise. + (mve_vcvtq_m_n_from_f_<supf><mode>): Likewise. + (mve_vcvtq_m_n_to_f_<supf><mode>): Likewise. + (mve_vcvtq_m_to_f_<supf><mode>): Likewise. + (mve_vcvtq_n_from_f_<supf><mode>): Likewise. + (mve_vcvtq_n_to_f_<supf><mode>): Likewise. + (mve_vcvtq_to_f_<supf><mode>): Likewise. + (mve_vcvttq_f16_f32v8hf): Likewise. + (mve_vcvttq_f32_f16v4sf): Likewise. + (mve_vcvttq_m_f16_f32v8hf): Likewise. + (mve_vcvttq_m_f32_f16v4sf): Likewise. + (mve_vdwdupq_m_wb_u<mode>_insn): Likewise. + (mve_vdwdupq_wb_u<mode>_insn): Likewise. + (mve_veorq_s><mode>): Likewise. + (mve_veorq_u><mode>): Likewise. + (mve_veorq_f<mode>): Likewise. + (mve_vidupq_m_wb_u<mode>_insn): Likewise. + (mve_vidupq_u<mode>_insn): Likewise. + (mve_viwdupq_m_wb_u<mode>_insn): Likewise. + (mve_viwdupq_wb_u<mode>_insn): Likewise. + (mve_vldrbq_<supf><mode>): Likewise. + (mve_vldrbq_gather_offset_<supf><mode>): Likewise. + (mve_vldrbq_gather_offset_z_<supf><mode>): Likewise. + (mve_vldrbq_z_<supf><mode>): Likewise. + (mve_vldrdq_gather_base_<supf>v2di): Likewise. + (mve_vldrdq_gather_base_wb_<supf>v2di_insn): Likewise. + (mve_vldrdq_gather_base_wb_z_<supf>v2di_insn): Likewise. + (mve_vldrdq_gather_base_z_<supf>v2di): Likewise. + (mve_vldrdq_gather_offset_<supf>v2di): Likewise. + (mve_vldrdq_gather_offset_z_<supf>v2di): Likewise. + (mve_vldrdq_gather_shifted_offset_<supf>v2di): Likewise. + (mve_vldrdq_gather_shifted_offset_z_<supf>v2di): Likewise. + (mve_vldrhq_<supf><mode>): Likewise. + (mve_vldrhq_fv8hf): Likewise. + (mve_vldrhq_gather_offset_<supf><mode>): Likewise. + (mve_vldrhq_gather_offset_fv8hf): Likewise. + (mve_vldrhq_gather_offset_z_<supf><mode>): Likewise. + (mve_vldrhq_gather_offset_z_fv8hf): Likewise. + (mve_vldrhq_gather_shifted_offset_<supf><mode>): Likewise. + (mve_vldrhq_gather_shifted_offset_fv8hf): Likewise. + (mve_vldrhq_gather_shifted_offset_z_<supf><mode>): Likewise. + (mve_vldrhq_gather_shifted_offset_z_fv8hf): Likewise. + (mve_vldrhq_z_<supf><mode>): Likewise. + (mve_vldrhq_z_fv8hf): Likewise. + (mve_vldrwq_<supf>v4si): Likewise. + (mve_vldrwq_fv4sf): Likewise. + (mve_vldrwq_gather_base_<supf>v4si): Likewise. + (mve_vldrwq_gather_base_fv4sf): Likewise. + (mve_vldrwq_gather_base_wb_<supf>v4si_insn): Likewise. + (mve_vldrwq_gather_base_wb_fv4sf_insn): Likewise. + (mve_vldrwq_gather_base_wb_z_<supf>v4si_insn): Likewise. + (mve_vldrwq_gather_base_wb_z_fv4sf_insn): Likewise. + (mve_vldrwq_gather_base_z_<supf>v4si): Likewise. + (mve_vldrwq_gather_base_z_fv4sf): Likewise. + (mve_vldrwq_gather_offset_<supf>v4si): Likewise. + (mve_vldrwq_gather_offset_fv4sf): Likewise. + (mve_vldrwq_gather_offset_z_<supf>v4si): Likewise. + (mve_vldrwq_gather_offset_z_fv4sf): Likewise. + (mve_vldrwq_gather_shifted_offset_<supf>v4si): Likewise. + (mve_vldrwq_gather_shifted_offset_fv4sf): Likewise. + (mve_vldrwq_gather_shifted_offset_z_<supf>v4si): Likewise. + (mve_vldrwq_gather_shifted_offset_z_fv4sf): Likewise. + (mve_vldrwq_z_<supf>v4si): Likewise. + (mve_vldrwq_z_fv4sf): Likewise. + (mve_vmvnq_s<mode>): Likewise. + (mve_vmvnq_u<mode>): Likewise. + (mve_vornq_<supf><mode>): Likewise. + (mve_vornq_f<mode>): Likewise. + (mve_vornq_m_<supf><mode>): Likewise. + (mve_vornq_m_f<mode>): Likewise. + (mve_vornq_s<mode>): Likewise. + (mve_vornq_u<mode>): Likewise. + (mve_vorrq_<supf><mode>): Likewise. + (mve_vorrq_f<mode>): Likewise. + (mve_vorrq_m_<supf><mode>): Likewise. + (mve_vorrq_m_f<mode>): Likewise. + (mve_vorrq_m_n_<supf><mode>): Likewise. + (mve_vorrq_n_<supf><mode>): Likewise. + (mve_vorrq_s<mode>): Likewise. + (mve_vorrq_s<mode>): Likewise. + (mve_vsbciq_<supf>v4si): Likewise. + (mve_vsbciq_m_<supf>v4si): Likewise. + (mve_vsbcq_<supf>v4si): Likewise. + (mve_vsbcq_m_<supf>v4si): Likewise. + (mve_vshlcq_<supf><mode>): Likewise. + (mve_vshlcq_m_<supf><mode>): Likewise. + (mve_vshrq_m_n_<supf><mode>): Likewise. + (mve_vshrq_n_<supf><mode>): Likewise. + (mve_vstrbq_<supf><mode>): Likewise. + (mve_vstrbq_p_<supf><mode>): Likewise. + (mve_vstrbq_scatter_offset_<supf><mode>_insn): Likewise. + (mve_vstrbq_scatter_offset_p_<supf><mode>_insn): Likewise. + (mve_vstrdq_scatter_base_<supf>v2di): Likewise. + (mve_vstrdq_scatter_base_p_<supf>v2di): Likewise. + (mve_vstrdq_scatter_base_wb_<supf>v2di): Likewise. + (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Likewise. + (mve_vstrdq_scatter_offset_<supf>v2di_insn): Likewise. + (mve_vstrdq_scatter_offset_p_<supf>v2di_insn): Likewise. + (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn): Likewise. + (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn): Likewise. + (mve_vstrhq_<supf><mode>): Likewise. + (mve_vstrhq_fv8hf): Likewise. + (mve_vstrhq_p_<supf><mode>): Likewise. + (mve_vstrhq_p_fv8hf): Likewise. + (mve_vstrhq_scatter_offset_<supf><mode>_insn): Likewise. + (mve_vstrhq_scatter_offset_fv8hf_insn): Likewise. + (mve_vstrhq_scatter_offset_p_<supf><mode>_insn): Likewise. + (mve_vstrhq_scatter_offset_p_fv8hf_insn): Likewise. + (mve_vstrhq_scatter_shifted_offset_<supf><mode>_insn): Likewise. + (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Likewise. + (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>_insn): Likewise. + (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Likewise. + (mve_vstrwq_<supf>v4si): Likewise. + (mve_vstrwq_fv4sf): Likewise. + (mve_vstrwq_p_<supf>v4si): Likewise. + (mve_vstrwq_p_fv4sf): Likewise. + (mve_vstrwq_scatter_base_<supf>v4si): Likewise. + (mve_vstrwq_scatter_base_fv4sf): Likewise. + (mve_vstrwq_scatter_base_p_<supf>v4si): Likewise. + (mve_vstrwq_scatter_base_p_fv4sf): Likewise. + (mve_vstrwq_scatter_base_wb_<supf>v4si): Likewise. + (mve_vstrwq_scatter_base_wb_fv4sf): Likewise. + (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Likewise. + (mve_vstrwq_scatter_base_wb_p_fv4sf): Likewise. + (mve_vstrwq_scatter_offset_<supf>v4si_insn): Likewise. + (mve_vstrwq_scatter_offset_fv4sf_insn): Likewise. + (mve_vstrwq_scatter_offset_p_<supf>v4si_insn): Likewise. + (mve_vstrwq_scatter_offset_p_fv4sf_insn): Likewise. + (mve_vstrwq_scatter_shifted_offset_<supf>v4si_insn): Likewise. + (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Likewise. + (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si_insn): Likewise. + (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Likewise. + +2024-03-04 Marek Polacek <polacek@redhat.com> + + * doc/extend.texi: Update [[gnu::no_dangling]]. + +2024-03-04 Andrew Stubbs <ams@baylibre.com> + + * dojump.cc (do_compare_and_jump): Use full-width integers for shifts. + * expr.cc (store_constructor): Likewise. + (do_store_flag): Likewise. + +2024-03-04 Mark Wielaard <mark@klomp.org> + + * common.opt.urls: Regenerate. + * config/avr/avr.opt.urls: Likewise. + * config/i386/i386.opt.urls: Likewise. + * config/pru/pru.opt.urls: Likewise. + * config/riscv/riscv.opt.urls: Likewise. + * config/rs6000/rs6000.opt.urls: Likewise. + +2024-03-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114197 + * tree-if-conv.cc (bitfields_to_lower_p): Do not lower if + there are volatile bitfield accesses. + (pass_if_conversion::execute): Throw away result if the + if-converted and original loops are not nested as expected. + +2024-03-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114164 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Fail if + the code generated for mask argument setup is not supported. + +2024-03-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114203 + * tree-ssa-loop-niter.cc (build_cltz_expr): Apply CTZ->CLZ + adjustment before making the result defined at zero. + +2024-03-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114192 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Use the + appropriate def for the live out stmt in case of an alternate + exit. + +2024-03-04 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114209 + * gimple-lower-bitint.cc (bitint_large_huge::limb_access): Call + unshare_expr when creating a MEM_REF from MEM_REF. + (bitint_large_huge::lower_stmt): Call unshare_expr. + +2024-03-04 Jakub Jelinek <jakub@redhat.com> + + PR target/114184 + * config/i386/i386-expand.cc (ix86_expand_move): If XFmode op1 + is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or + register. + +2024-03-04 Roger Sayle <roger@nextmovesoftware.com> + + PR target/114187 + * simplify-rtx.cc (simplify_context::simplify_subreg): Call + lowpart_subreg to perform type conversion, to avoid confusion + over the offset to use in the call to simplify_reg_subreg. + +2024-03-03 Greg McGary <gkm@rivosinc.com> + + PR rtl-optimization/113010 + * combine.cc (simplify_comparison): Simplify a SUBREG on + WORD_REGISTER_OPERATIONS targets only if it is a zero-extending + MEM load. + +2024-03-03 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc: Resolve ATTRIBUTE_UNUSED. + Use bool in place of int for boolean logic (if possible). + Move declarations to definitions (if possible). + * config/avr/avr.md: Use C++ comments. Fix some indentation glitches. + * config/avr/avr-dimode.md: Same. + * config/avr/constraints.md: Same. + * config/avr/predicates.md: Same. + +2024-03-03 Uros Bizjak <ubizjak@gmail.com> + + PR target/113720 + * config/alpha/alpha.md (umuldi3_highpart): Remove expander. + (*umuldi3_highpart_reg): Rename to umuldi3_highpart and + simplify insn RTX using UMUL_HIGHPART rtx_code. + (*umuldi3_highpart_const): Remove. + +2024-03-03 Georg-Johann Lay <avr@gjlay.de> + + PR target/114100 + * config/avr/avr-protos.h (_reg_unused_after): Remove proto. + * config/avr/avr.cc (_reg_unused_after): Make static. And + add 3rd argument to skip the current insn. + (reg_unused_after): Adjust call of reg_unused_after. + (avr_out_plus_1) [AVR_TINY && -mfuse-add >= 2]: Don't output + unneeded frame pointer adjustments. + +2024-03-03 Georg-Johann Lay <avr@gjlay.de> + + PR target/92729 + * config/avr/avr.md (define_attr "cc"): Remove. + * config/avr/avr-protos.h (avr_out_plus): Remove pcc argument + from prototype. + * config/avr/avr.cc (avr_out_plus_1): Remove pcc argument and + its uses. Add insn argument. + (avr_out_plus_symbol): Remove pcc argument and its uses. + (avr_out_plus): Remove pcc argument and its uses. + Adjust calls of avr_out_plus_symbol and avr_out_plus_1. + (avr_out_round): Adjust call of avr_out_plus. + +2024-03-03 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_init_cumulative_args): Fix a typo + from r14-9273. + +2024-03-03 Oleg Endo <olegendo@gcc.gnu.org> + + PR target/101737 + * config/sh/sh.cc (sh_is_nott_insn): Handle case where the input + is not an insn, but e.g. a code label. + +2024-03-02 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.md (REG_0, ... REG_36): New define_constants. + * config/avr/avr.cc: Use them instead of magic numbers when it + means a register number. + +2024-03-02 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc: Adjust some comments. + +2024-03-02 Georg-Johann Lay <avr@gjlay.de> + + PR target/114100 + * config/avr/avr.cc (avr_out_plus_1) [-mtiny-stack]: Only adjust + the low part of the frame pointer with 8-bit stack pointer. + +2024-03-01 Patrick Palka <ppalka@redhat.com> + + PR c++/104919 + PR c++/106009 + * tree-inline.cc (remap_decl): Handle copy_decl returning the + original decl. + (remap_decls): Handle remap_decl returning the original decl. + (copy_fn): Adjust copy_decl callback to skip TYPE_DECL and + CONST_DECL. + +2024-03-01 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.md (zero_extendqi<SUPERQI:mode>2_internal): Fix + type attribute. + (extendsidi2_internal, movhf_hardfloat, movhf_softfloat): Likewise. + (movdi_32bit, movdi_64bit, movsi_internal): Likewise. + (movhi_internal, movqi_internal): Likewise. + (movsf_softfloat, movsf_hardfloat): Likewise. + (movdf_hardfloat_rv32, movdf_hardfloat_rv64): Likewise. + (movdf_softfloat): Likewise. + +2024-03-01 Marek Polacek <polacek@redhat.com> + + PR c++/110358 + PR c++/109642 + * doc/extend.texi: Document gnu::no_dangling. + * doc/invoke.texi: Mention that gnu::no_dangling disables + -Wdangling-reference. + +2024-03-01 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.opt: Overhaul help screen. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + Tobias Burnus <tburnus@baylibre.com> + + PR c++/110347 + * gimplify.cc (omp_notice_variable): Fix 'shared' arg to + lang_hooks.decls.omp_disregard_value_expr for + (first)private in target regions. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114136 + * calls.cc (expand_call): For TYPE_NO_NAMED_ARGS_STDARG_P set + n_named_args initially before INIT_CUMULATIVE_ARGS to + structure_value_addr_parm rather than 0, after it don't modify + it if strict_argument_naming and clear only if + !pretend_outgoing_varargs_named. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + + PR debug/114015 + * dwarf2out.cc (should_move_die_to_comdat): Return false for + aggregates without DW_AT_byte_size attribute or with non-constant + DW_AT_byte_size. + +2024-03-01 Georg-Johann Lay <avr@gjlay.de> + + * doc/invoke.texi (AVR Options) <-mfuse-add=level>: Document + valid values for level. + +2024-03-01 Richard Biener <rguenther@suse.de> + + PR middle-end/114070 + * match.pd ((c ? a : b) op d --> c ? (a op d) : (b op d)): + Allow the folding if before lowering and the current IL + isn't supported with vcond_mask. + +2024-03-01 xuli <xuli1@eswincomputing.com> + + * config/riscv/riscv.cc (TARGET_GNU_ATTRIBUTES): Add riscv_vector_cc + attribute to riscv_attribute_table. + (riscv_vector_cc_function_p): Return true if FUNC is a riscv_vector_cc function. + (riscv_fntype_abi): Add riscv_vector_cc attribute check. + * doc/extend.texi: Add riscv_vector_cc attribute description. + +2024-03-01 Pan Li <pan2.li@intel.com> + + PR target/112817 + * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Replace + RVV_FIXED_VLMAX to RVV_VECTOR_BITS_ZVL. + * config/riscv/riscv-opts.h (enum riscv_autovec_preference_enum): Remove. + (enum rvv_vector_bits_enum): New enum for different RVV vector bits. + * config/riscv/riscv-selftests.cc (riscv_run_selftests): Update + comments for option replacement. + * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Replace enum of + riscv_autovec_preference to rvv_vector_bits. + (vls_mode_valid_p): Ditto. + (estimated_poly_value): Ditto. + * config/riscv/riscv.cc (riscv_convert_vector_chunks): Rename to + vector chunks and honor new option mrvv-vector-bits. + (riscv_override_options_internal): Update comments and rename the + vector chunks. + * config/riscv/riscv.opt: Add option mrvv-vector-bits and remove + internal option param=riscv-autovec-preference. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + + * function.cc (assign_parms): Only call assign_parms_setup_varargs + early for TYPE_NO_NAMED_ARGS_STDARG_P functions if fnargs is empty. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114156 + * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Allow + rhs1 of a VCE to have no underlying variable if it is a load and + handle that case. + +2024-02-29 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/114159 + * function.cc (function_name): Make param const. + * function.h (function_name): Likewise. + +2024-02-29 Georg-Johann Lay <avr@gjlay.de> + + PR target/114100 + * doc/invoke.texi (AVR Options) <-mfuse-add>: Document. + * config/avr/avr.opt (-mfuse-add=): New target option. + * common/config/avr/avr-common.cc (avr_option_optimization_table) + [OPT_LEVELS_1_PLUS]: Set -mfuse-add=1. + [OPT_LEVELS_2_PLUS]: Set -mfuse-add=2. + * config/avr/avr-passes.def (avr_pass_fuse_add): Insert new pass. + * config/avr/avr-protos.h (avr_split_tiny_move) + (make_avr_pass_fuse_add): New protos. + * config/avr/avr.md [AVR_TINY]: New post-reload splitter uses + avr_split_tiny_move to split indirect memory accesses. + (gen_move_clobbercc): New define_expand helper. + * config/avr/avr.cc (avr_pass_data_fuse_add): New pass data. + (avr_pass_fuse_add): New class from rtl_opt_pass. + (make_avr_pass_fuse_add, avr_split_tiny_move): New functions. + (reg_seen_between_p, emit_move_ccc, emit_move_ccc_after): New functions. + (avr_legitimate_address_p) [AVR_TINY]: Don't restrict offsets + of PLUS addressing for AVR_TINY. + (avr_regno_mode_code_ok_for_base_p) [AVR_TINY]: Ignore -mstrict-X. + (avr_out_plus_1) [AVR_TINY]: Tweak ++Y and --Y. + (avr_mode_code_base_reg_class) [AVR_TINY]: Always return POINTER_REGS. + +2024-02-29 Georg-Johann Lay <avr@gjlay.de> + + PR target/114132 + * config/avr/avr.h (CUMULATIVE_ARGS) <has_stack_args>: New field. + * config/avr/avr.cc (avr_init_cumulative_args): Initialize it. + (avr_function_arg): Set it. + (avr_frame_pointer_required_p): Use it instead of .nregs. + +2024-02-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/108174 + * config/aarch64/aarch64-builtins.cc (aarch64_memtag_builtin_data): Make + static and mark with GTY. + +2024-02-29 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md + (loongarch_<crc>_w_<size>_w_extended): New define_insn. + +2024-02-29 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (CRC): New define_int_iterator. + (crc): New define_int_attr. + (loongarch_crc_w_<size>_w, loongarch_crcc_w_<size>_w): Unify + into ... + (loongarch_<crc>_w_<size>_w): ... here. + +2024-02-29 Kito Cheng <kito.cheng@sifive.com> + + PR target/114130 + * config/riscv/sync.md (atomic_compare_and_swap<mode>): Sign + extend the expected value if needed. + +2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> + + * config.gcc (target_gtfiles): Change coreout to btfext-out. + (extra_objs): Change coreout to btfext-out. + * config/bpf/coreout.cc: Rename to btfext-out.cc. + * config/bpf/btfext-out.cc: Add. + * config/bpf/coreout.h: Rename to btfext-out.h. + * config/bpf/btfext-out.h: Add. + * config/bpf/core-builtins.cc: Change include. + * config/bpf/core-builtins.h: Change include. + * config/bpf/t-bpf: Accomodate renamed files. + +2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> + + PR target/113453 + * config/bpf/bpf.cc (bpf_function_prologue): Define target + hook. + * config/bpf/coreout.cc (brf_ext_info_section) + (btf_ext_info): Move from coreout.h + (btf_ext_funcinfo, btf_ext_lineinfo): Add struct. + (bpf_core_reloc): Rename to btf_ext_core_reloc. + (btf_ext): Add static variable. + (btfext_info_sec_find_or_add, SEARCH_NODE_AND_RETURN) + (bpf_create_or_find_funcinfo, bpt_create_core_reloc) + (btf_ext_add_string, btf_funcinfo_type_callback) + (btf_add_func_info_for, btf_validate_funcinfo) + (btf_ext_info_len, output_btfext_func_info): Add function. + (output_btfext_header, bpf_core_reloc_add) + (output_btfext_core_relocs, btf_ext_init, btf_ext_output): + Change to support new structs. + * config/bpf/coreout.h (btf_ext_funcinfo, btf_ext_lineinfo): + Move and change in coreout.cc. + (btf_add_func_info_for, btf_ext_add_string): Add prototypes. + +2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> + + * config/bpf/bpf.cc (bpf_option_override): Make .BTF.ext + enabled by default for BPF. + (bpf_file_end): Call BTF deallocation. + (bpf_asm_init_sections): Correct condition. + * dwarf2ctf.cc (ctf_debug_finalize): Conditionally execute BTF + deallocation. + (ctf_debuf_finish): Correct condition for calling + ctf_debug_finalize. + +2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> + + * btfout.cc (output_btf_func_types): Use FOR_EACH_VEC_ELT. + (traverse_btf_func_types): Define function. + * ctfc.h (funcs_traverse_callback): Typedef for function + prototype. + (traverse_btf_func_types): Add prototype. + +2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> + + * btfout.cc (btf_collect_dataset): Corrects BTF type id. + +2024-02-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113831 + PR tree-optimization/108355 + * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Revert + PR113831 fix. + +2024-02-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114121 + * tree-ssa-sccvn.h (vn_reference_s::offset, + vn_reference_s::max_size): New fields. + (vn_reference_insert_pieces): Adjust prototype. + * tree-ssa-pre.cc (phi_translate_1): Preserve offset/max_size. + * tree-ssa-sccvn.cc (vn_reference_eq): Compare offset and + size, allow using "don't know" state. + (vn_walk_cb_data::finish): Pass along offset/max_size. + (vn_reference_lookup_or_insert_for_pieces): Take offset and + max_size as argument and use it. + (vn_reference_lookup_3): Properly adjust offset and max_size + according to the adjusted ao_ref. + (vn_reference_lookup_pieces): Initialize offset and max_size. + (vn_reference_lookup): Likewise. + (vn_reference_lookup_call): Likewise. + (vn_reference_insert): Likewise. + (visit_reference_op_call): Likewise. + (vn_reference_insert_pieces): Take offset and max_size + as argument and use it. + +2024-02-28 Juergen Christ <jchrist@linux.ibm.com> + + PR tree-optimization/114075 + * tree-vect-stmts.cc (vectorizable_operation): Don't emulate floating + point vectors + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114041 + * graphite-sese-to-poly.cc (add_conditions_to_domain): Check for + INTEGRAL_TYPE_P check rather than INTEGER_TYPE. + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113988 + * stor-layout.h (bitwise_mode_for_size): Declare. + * stor-layout.cc (bitwise_mode_for_size): New function. + * gimple-fold.cc (gimple_fold_builtin_memory_op): Use it. + Use bitwise_type_for_mode instead of build_nonstandard_integer_type. + Use BITS_PER_UNIT instead of 8. + +2024-02-27 Uros Bizjak <ubizjak@gmail.com> + + PR target/113871 + * config/i386/mmx.md (V248FI): Add V2BF mode. + (V24FI_32): Ditto. + +2024-02-27 Eric Botcazou <ebotcazou@adacore.com> + + * tree-ssa-dse.cc (compute_trims): Fix description. Return early + if either ref->offset is not byte aligned or ref->size is not known + to be equal to ref->max_size. + (maybe_trim_complex_store): Fix description. + (maybe_trim_constructor_store): Likewise. + (maybe_trim_partially_dead_store): Likewise. + +2024-02-27 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/mmintrin.h: Warn if this header is included without + defining __ENABLE_DEPRECATED_IWMMXT. + +2024-02-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114074 + * tree-chrec.h (chrec_convert_rhs): Default at_stmt arg to NULL. + * tree-chrec.cc (chrec_fold_multiply): Canonicalize inputs. + Handle poly vs. non-poly multiplication correctly with respect + to undefined behavior on overflow. + +2024-02-27 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114044 + * internal-fn.def (CLRSB, CLZ, CTZ, FFS, PARITY): Use + DEF_INTERNAL_INT_EXT_FN macro rather than DEF_INTERNAL_INT_FN. + * internal-fn.h (expand_CLRSB, expand_CLZ, expand_CTZ, expand_FFS, + expand_PARITY): Declare. + * internal-fn.cc (expand_bitquery, expand_CLRSB, expand_CLZ, + expand_CTZ, expand_FFS, expand_PARITY): New functions. + (expand_POPCOUNT): Use expand_bitquery. + +2024-02-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114081 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Perform manual dominator update for prologue peeling. + (vect_do_peeling): Properly update dominators after adding the + prologue-around guard. + +2024-02-26 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.opt (mcall-prologues, mrelax, maccumulate-args) + (mstrict-X): Tag as "Optimization". + +2024-02-26 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_out_compare) [AVR_TINY]: Remove code in + an "if avr_adiw_reg_p()" block that's dead for AVR_TINY. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + H.J. Lu <hjl.tools@gmail.com> + + PR rtl-optimization/113617 + * varasm.cc (default_elf_select_rtx_section): For + references to private symbols in comdat sections + use .data.relro.local.pool.<comdat>, .data.relro.pool.<comdat> + or .rodata.<comdat> comdat sections. + +2024-02-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114099 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Create and fill in a needed virtual LC PHI for the alternate + exits. Remove code dealing with that missing. + +2024-02-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114068 + * tree-vect-loop-manip.cc (get_live_virtual_operand_on_edge): + New function. + (slpeel_tree_duplicate_loop_to_edge_cfg): Add a virtual LC PHI + on the main exit if needed. Remove band-aid for the case + it was missing. + +2024-02-26 H.J. Lu <hjl.tools@gmail.com> + + PR target/114097 + * config/i386/i386-options.cc (ix86_set_func_type): Check + interrupt instead of noreturn attribute. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386.cc (ix86_bitint_type_info): Add support for + !TARGET_64BIT. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114090 + * match.pd ((x >= 0 ? x : 0) + (x <= 0 ? -x : 0) -> abs x): + Restrict pattern to ANY_INTEGRAL_TYPE_P and TYPE_OVERFLOW_UNDEFINED + types. + ((x <= 0 ? -x : 0) -> max(-x, 0)): Likewise. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114084 + * fold-const.cc (fold_binary_loc): Avoid the final associate_trees + if all subtrees of var0 come from one of the op0 or op1 operands + and all subtrees of con0 come from the other one. Don't clear + variables which are never used afterwards. + +2024-02-26 Richard Biener <rguenther@suse.de> + + PR middle-end/114070 + * genmatch.cc (parser::parse_c_expr): Do not record operand + lists but only mark operators used. + * match.pd ((c ? a : b) op (c ? d : e) --> c ? (a op d) : (b op e)): + Properly guard the case of tcc_comparison changing the VEC_COND + value operand type. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + + PR target/114094 + * config/i386/i386.cc (x86_function_profiler): Add missing new-line + to printed instruction. + +2024-02-26 H.J. Lu <hjl.tools@gmail.com> + + PR target/114098 + * config/i386/amxtileintrin.h (_tile_loadconfig): Use + __builtin_ia32_ldtilecfg. + (_tile_storeconfig): Use __builtin_ia32_sttilecfg. + * config/i386/i386-builtin.def (BDESC): Add + __builtin_ia32_ldtilecfg and __builtin_ia32_sttilecfg. + * config/i386/i386-expand.cc (ix86_expand_builtin): Handle + IX86_BUILTIN_LDTILECFG and IX86_BUILTIN_STTILECFG. + * config/i386/i386.md (ldtilecfg): New pattern. + (sttilecfg): Likewise. + +2024-02-24 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/113205 + * tree-vect-slp.cc (vect_optimize_slp_pass::forward_cost): Reject + the proposed layout if it does not allow a source partition with + layout 2 to keep that layout. + +2024-02-24 Jakub Jelinek <jakub@redhat.com> + + * builtins.cc (fold_builtin_isascii): Use HOST_WIDE_INT_UC macro. + * combine.cc (make_field_assignment): Use HOST_WIDE_INT_1U macro. + * double-int.cc (double_int::mask): Use HOST_WIDE_INT_UC macros. + * genattrtab.cc (attr_alt_complement): Use HOST_WIDE_INT_1 macro. + (mk_attr_alt): Use HOST_WIDE_INT_0 macro. + * genautomata.cc (bitmap_set_bit, CLEAR_BIT): Use HOST_WIDE_INT_1 + macros. + * ipa-strub.cc (can_strub_internally_p): Use HOST_WIDE_INT_1 macro. + * loop-iv.cc (implies_p): Use HOST_WIDE_INT_1U macro. + * pretty-print.cc (test_pp_format): Use HOST_WIDE_INT_C and + HOST_WIDE_INT_UC macros. + * rtlanal.cc (nonzero_bits1): Use HOST_WIDE_INT_UC macro. + * tree.cc (build_replicated_int_cst): Use HOST_WIDE_INT_1U macro. + * tree.h (DECL_OFFSET_ALIGN): Use HOST_WIDE_INT_1U macro. + * tree-ssa-structalias.cc (dump_varinfo): Use ~HOST_WIDE_INT_0U + macros. + * wide-int.cc (divmod_internal_2): Use HOST_WIDE_INT_1U macro. + * config/i386/constraints.md (define_constraint "L"): Use + HOST_WIDE_INT_C macro. + * config/i386/i386.md (movabsq split peephole2): Use HOST_WIDE_INT_C + macro. + (movl + movb peephole2): Likewise. + * config/i386/predicates.md (x86_64_zext_immediate_operand): Likewise. + (const_32bit_mask): Likewise. + +2024-02-24 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114073 + * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Handle + VIEW_CONVERT_EXPRs between large/huge _BitInt and non-integer/pointer + types like vector or complex types. + (gimple_lower_bitint): Don't merge VIEW_CONVERT_EXPRs to non-integral + types. Fix up VIEW_CONVERT_EXPR handling. Allow merging + VIEW_CONVERT_EXPR from non-integral/pointer types with a store. + +2024-02-23 Robin Dapp <rdapp@ventanamicro.com> + + PR target/114028 + * config/riscv/riscv-v.cc (rvv_builder::can_duplicate_repeating_sequence_p): + Return false if inner mode is already Pmode. + (rvv_builder::is_all_same_sequence): New function. + (expand_vec_init): Emit broadcast if sequence is all same. + +2024-02-23 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113613 + * config/aarch64/aarch64-early-ra.cc + (early_ra::m_current_region): New member variable. + (early_ra::m_fpr_recency): Likewise. + (early_ra::start_new_region): Bump m_current_region. + (early_ra::allocate_colors): Prefer less recently used registers + in the event of a tie. Add a comment to explain why we prefer(ed) + higher-numbered registers. + (early_ra::find_oldest_color): Prefer less recently used registers + here too. + (early_ra::finalize_allocation): Update recency information for + allocated registers. + (early_ra::process_blocks): Initialize m_current_region and + m_fpr_recency. + +2024-02-23 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113295 + * config/aarch64/aarch64-early-ra.cc + (early_ra::test_strictness): New enum. + (early_ra::is_chain_candidate): Add a strictness parameter to + control whether only correctness matters, or whether both correctness + and heuristics should be used. Handle multiple levels of equivalence. + (early_ra::find_related_start): Update call accordingly. + (early_ra::strided_polarity_pref): Likewise. + (early_ra::form_chains): Likewise. + (early_ra::try_to_chain_allocnos): Use is_chain_candidate in + correctness mode rather than trying to inline the test. + +2024-02-23 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113295 + * config/aarch64/aarch64-early-ra.cc + (early_ra::find_related_start): Account for definitions by shared + registers when testing for a single register definition. + (early_ra::accumulate_defs): New function. + (early_ra::record_copy): If A shares B's register, fold A's + definition information into B's. Fold A's use information into B's. + +2024-02-23 H.J. Lu <hjl.tools@gmail.com> + + * configure.ac (HAVE_AS_R_X86_64_CODE_6_GOTTPOFF): Defined as 1 + if R_X86_64_CODE_6_GOTTPOFF is supported. + * config.in: Regenerated. + * configure: Likewise. + * config/i386/predicates.md (apx_ndd_add_memory_operand): Allow + UNSPEC_GOTNTPOFF if R_X86_64_CODE_6_GOTTPOFF is supported. + +2024-02-23 Richard Earnshaw <rearnsha@arm.com> + + PR target/108120 + * config/arm/neon.md (div<VCVTF:mode>3): Rename from div<mode>3. + Gate with ARM_HAVE_NEON_<MODE>_ARITH. + +2024-02-23 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114054 + * expr.cc (expand_expr_real_2) <case MULT_EXPR>: Use + temp variable instead of target parameter for result. + +2024-02-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114040 + * gimple-lower-bitint.cc (bitint_large_huge::lower_addsub_overflow): + Use EQ_EXPR rather than LT_EXPR for g2 condition and change its + probability from likely to unlikely. When handling the true true + store, first cast to limb_access_type and then to l's type. + +2024-02-23 Richard Biener <rguenther@suse.de> + + PR target/90785 + * config.gcc: Add ia64*-*-* to the list of obsoleted targets. + +2024-02-23 Palmer Dabbelt <palmer@rivosinc.com> + + PR other/109668 + * config/riscv/arch-canonicalize: Move to python3 + * config/riscv/multilib-generator: Likewise + +2024-02-23 Palmer Dabbelt <palmer@rivosinc.com> + + * doc/invoke.texi: Document -mcpu. + +2024-02-23 Lulu Cheng <chenglulu@loongson.cn> + + * configure: Regenerate. + * configure.ac: Add parameter "--fatal-warnings" to assemble + when checking whether the assemble support conditional branch + relaxation. + +2024-02-22 Jakub Jelinek <jakub@redhat.com> + + PR c/114007 + * doc/extend.texi: (__extension__): Remove comments about scope + tokens vs. two colons. + +2024-02-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/109804 + * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle + DEMANGLE_COMPONENT_UNNAMED_TYPE. + +2024-02-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114048 + * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): MEM_REF + can also produce -1 off. + +2024-02-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114027 + * tree-vect-loop.cc (vecctorizable_reduction): Use optimized + condition reduction classification only for single-element + chains. + +2024-02-22 Jakub Jelinek <jakub@redhat.com> + + PR ipa/111960 + * profile-count.h (profile_count::dump): Remove overload with + char * first argument. + * profile-count.cc (profile_count::dump): Change overload with char * + first argument which uses sprintf into the overfload with FILE * + first argument and use fprintf instead. Remove overload which wrapped + it. + +2024-02-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113993 + * tree-call-cdce.cc (get_no_error_domain): Handle + BUILT_IN_{COSH,SINH,EXP{,M1,2}}{F32X,F64X}. Handle + BUILT_IN_{COSH,SINH,EXP{,M1,2}}L for + REAL_MODE_FORMAT (TYPE_MODE (long_double_type_node))->emax == 16384 + the as the F128 suffixed cases, otherwise as non-suffixed ones. + Handle BUILT_IN_{EXP,POW}10L for + REAL_MODE_FORMAT (TYPE_MODE (long_double_type_node))->emax == 16384 + as (-inf, 4932). + +2024-02-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114038 + * gimple-lower-bitint.cc (bitint_large_huge::lower_mul_overflow): Fix + loop exit condition if end is divisible by limb_prec. + +2024-02-22 YunQiang Su <syq@gcc.gnu.org> + + * doc/invoke.texi(MIPS Options): Fix skipping UrlSuffix + problem of mabi=, mno-flush-func, mexplicit-relocs; + add missing leading - of mbranch-cost option. + * config/mips/mips.opt.urls: Regenerate. + +2024-02-22 Kewen Lin <linkw@linux.ibm.com> + + PR target/109987 + * config/rs6000/constraints.md (we): Update internal doc without + referring to option -mpower9-vector. + * config/rs6000/driver-rs6000.cc (asm_names): Remove mpower9-vector + special handlings. + * config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS, + OTHER_P8_VECTOR_MASKS): Merge to ... + (OTHER_VSX_VECTOR_MASKS): ... here. + * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove + some error message handlings and explicit option mask adjustments on + explicit option power{8,9}-vector conflicting with other options. + (rs6000_print_isa_options): Update comments. + (rs6000_disable_incompatible_switches): Remove power{8,9}-vector + related array items and handlings. + * config/rs6000/rs6000.h (ASM_CPU_SPEC): Remove mpower9-vector + special handlings. + * config/rs6000/rs6000.opt: Make option power{8,9}-vector as + WarnRemoved. + * doc/extend.texi: Remove documentation referring to option + -mpower8-vector. + * doc/invoke.texi: Remove documentation for option + -mpower{8,9}-vector and adjust some documentation referring to them. + * doc/md.texi: Update documentation for constraint we. + * doc/sourcebuild.texi: Remove documentation for powerpc_p8vector_ok. + +2024-02-22 Pan Li <pan2.li@intel.com> + + PR target/114017 + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Upgrade + the version to 0.12. + +2024-02-21 Edwin Lu <ewlu@rivosinc.com> + + * config/riscv/riscv.cc (riscv_sched_variable_issue): Enable assert + +2024-02-21 Edwin Lu <ewlu@rivosinc.com> + Robin Dapp <rdapp.gcc@gmail.com> + + * config/riscv/generic-ooo.md (generic_ooo): Move reservation + (generic_ooo_vec_load): Ditto + (generic_ooo_vec_store): Ditto + (generic_ooo_vec_loadstore_seg): Ditto + (generic_ooo_vec_alu): Ditto + (generic_ooo_vec_fcmp): Ditto + (generic_ooo_vec_imul): Ditto + (generic_ooo_vec_fadd): Ditto + (generic_ooo_vec_fmul): Ditto + (generic_ooo_crypto): Ditto + (generic_ooo_perm): Ditto + (generic_ooo_vec_reduction): Ditto + (generic_ooo_vec_ordered_reduction): Ditto + (generic_ooo_vec_idiv): Ditto + (generic_ooo_vec_float_divsqrt): Ditto + (generic_ooo_vec_mask): Ditto + (generic_ooo_vec_vesetvl): Ditto + (generic_ooo_vec_setrm): Ditto + (generic_ooo_vec_readlen): Ditto + * config/riscv/riscv.md: Include generic-vector-ooo + * config/riscv/generic-vector-ooo.md: New file. To here + +2024-02-21 Edwin Lu <ewlu@rivosinc.com> + + * config/riscv/generic-ooo.md (generic_ooo_sfb_alu): Add reservation + (generic_ooo_branch): Ditto + * config/riscv/generic.md (generic_sfb_alu): Ditto + (generic_fmul_half): Ditto + * config/riscv/riscv.md: Remove cbo, pushpop, and rdfrm types + * config/riscv/sifive-7.md (sifive_7_hfma): Add reservation + (sifive_7_popcount): Ditto + * config/riscv/sifive-p400.md (sifive_p400_clmul): Ditto + * config/riscv/sifive-p600.md (sifive_p600_clmul): Ditto + * config/riscv/vector.md: Change rdfrm to fmove + * config/riscv/zc.md: Change pushpop to load/store + +2024-02-21 Jonathan Wakely <jwakely@redhat.com> + + * doc/invoke.texi (Warning Options): Fix typos. + +2024-02-21 David Faust <david.faust@oracle.com> + + * config/bpf/bpf-protos.h (bpf_expand_cpymem): New. + * config/bpf/bpf.cc: (emit_move_loop, bpf_expand_cpymem): New. + * config/bpf/bpf.md: (cpymemdi, movmemdi): New define_expands. + +2024-02-21 Martin Jambor <mjambor@suse.cz> + + PR ipa/113476 + * ipa-prop.h (ipa_node_params): Convert lattices to a vector, adjust + initializers in the contructor. + (ipa_node_params::~ipa_node_params): Release lattices as a vector. + * ipa-cp.h: New file. + * ipa-cp.cc: Include sreal.h and ipa-cp.h. + (ipcp_value_source): Move to ipa-cp.h. + (ipcp_value_base): Likewise. + (ipcp_value): Likewise. + (ipcp_lattice): Likewise. + (ipcp_agg_lattice): Likewise. + (ipcp_bits_lattice): Likewise. + (ipcp_vr_lattice): Likewise. + (ipcp_param_lattices): Likewise. + (ipa_get_parm_lattices): Remove assert latticess is non-NULL. + (ipa_value_from_jfunc): Adjust a check for empty lattices. + (ipa_context_from_jfunc): Likewise. + (ipa_agg_value_from_jfunc): Likewise. + (merge_agg_lats_step): Do not memset new aggregate lattices to zero. + (ipcp_propagate_stage): Allocate lattices in a vector as opposed to + just in contiguous memory. + (ipcp_store_vr_results): Adjust a check for empty lattices. + * auto-profile.cc: Include sreal.h and ipa-cp.h. + * cgraph.cc: Likewise. + * cgraphclones.cc: Likewise. + * cgraphunit.cc: Likewise. + * config/aarch64/aarch64.cc: Likewise. + * config/i386/i386-builtins.cc: Likewise. + * config/i386/i386-expand.cc: Likewise. + * config/i386/i386-features.cc: Likewise. + * config/i386/i386-options.cc: Likewise. + * config/i386/i386.cc: Likewise. + * config/rs6000/rs6000.cc: Likewise. + * config/s390/s390.cc: Likewise. + * gengtype.cc (open_base_files): Added sreal.h and ipa-cp.h to the + files to be included in gtype-desc.cc. + * gimple-range-fold.cc: Include sreal.h and ipa-cp.h. + * ipa-devirt.cc: Likewise. + * ipa-fnsummary.cc: Likewise. + * ipa-icf.cc: Likewise. + * ipa-inline-analysis.cc: Likewise. + * ipa-inline-transform.cc: Likewise. + * ipa-inline.cc: Include ipa-cp.h, move inclusion of sreal.h higher. + * ipa-modref.cc: Include sreal.h and ipa-cp.h. + * ipa-param-manipulation.cc: Likewise. + * ipa-predicate.cc: Likewise. + * ipa-profile.cc: Likewise. + * ipa-prop.cc: Likewise. + (ipa_node_params_t::duplicate): Assert new lattices remain empty + instead of setting them to NULL. + * ipa-pure-const.cc: Include sreal.h and ipa-cp.h. + * ipa-split.cc: Likewise. + * ipa-sra.cc: Likewise. + * ipa-strub.cc: Likewise. + * ipa-utils.cc: Likewise. + * ipa.cc: Likewise. + * toplev.cc: Likewise. + * tree-ssa-ccp.cc: Likewise. + * tree-ssa-sccvn.cc: Likewise. + * tree-vrp.cc: Likewise. + +2024-02-21 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-arches.def (AARCH64_ARCH): Remove LS64 from + Armv8.7-a. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_mode_emit_local_sme_state): + Use aarch64_gen_compare_zero_and_branch rather than emitting + a CBZ directly. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_option_valid_attribute_p): + Remove duplicated call. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_function_ok_for_sibcall): + Check that each individual piece of state is shared in the same + way, rather than using an aggregate check for PSTATE.ZA. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64.cc (aarch64_mode_emit_local_sme_state): + In the code that commits a lazy save, only zero ZA if the function + has ZA state. Similarly zero ZT0 if the function has ZT0 state. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/aarch64/aarch64-sme.md (aarch64_commit_lazy_save): Remove, + directly inserting the associated sequence + * config/aarch64/aarch64.cc (aarch64_mode_emit_local_sme_state): + ...here instead. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113995 + * config/aarch64/aarch64.cc (aarch64_expand_prologue): Don't + fold the SVE allocation into the initial allocation if the + initial allocation includes a VG save. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113220 + * cfgrtl.cc (commit_one_edge_insertion): Handle sequences that + contain jumps even if called after initial RTL expansion. + * mode-switching.cc: Include cfgbuild.h. + (optimize_mode_switching): Allow the sequence returned by the + emit hook to contain internal jumps. Record which blocks + contain such jumps and split the blocks at the end. + * config/aarch64/aarch64.cc (aarch64_mode_emit): Check for + non-debug insns when scanning the sequence. + +2024-02-21 Tobias Burnus <tburnus@baylibre.com> + + * config/nvptx/gen-omp-device-properties.sh: Add 'nvptx64' to arch. + * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Likewise. + +2024-02-21 Dimitar Dimitrov <dimitar@dinux.eu> + + * doc/invoke.texi (-mmcu): Add information about MCU specs. + +2024-02-21 Dimitar Dimitrov <dimitar@dinux.eu> + + * doc/invoke.texi (-minrt): Clarify that main + must take no arguments. + +2024-02-20 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/builtins.def: Use function prototypes of given size + and signedness. + * config/avr/avr.cc (avr_init_builtins): Adjust types required + by builtins.def. + * doc/extend.texi (AVR Built-in Functions): Adjust accordingly. + +2024-02-20 Georg-Johann Lay <avr@gjlay.de> + + * doc/extend.texi (AVR Built-in Functions): Use @defbuiltin + instead of @table. + +2024-02-20 Will Hawkins <hawkinsw@obs.cr> + + * config/bpf/bpf.opt: Add help information for -mcpu. + +2024-02-20 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113805 + * config/aarch64/aarch64-passes.def (pass_late_track_speculation): + New pass. + * config/aarch64/aarch64-protos.h (make_pass_late_track_speculation): + Declare. + * config/aarch64/aarch64.md (is_call): New attribute. + (*and<mode>3nr_compare0): Rename to... + (@aarch64_and<mode>3nr_compare0): ...this. + * config/aarch64/aarch64-sme.md (aarch64_get_sme_state) + (aarch64_tpidr2_save, aarch64_tpidr2_restore): Add is_call attributes. + * config/aarch64/aarch64-speculation.cc: Update file comment to + describe the new late pass. + (aarch64_do_track_speculation): Handle is_call insns like other calls. + (pass_track_speculation): Add an is_late member variable. + (pass_track_speculation::gate): Run the late pass for streaming- + compatible functions and the early pass for other functions. + (make_pass_track_speculation): Update accordingly. + (make_pass_late_track_speculation): New function. + * config/aarch64/aarch64.cc (aarch64_gen_test_and_branch): New + function. + (aarch64_guard_switch_pstate_sm): Use it. + +2024-02-19 Iain Sandoe <iain@sandoe.co.uk> + + * config/aarch64/aarch64-builtins.cc (aarch64_init_rng_builtins): + Register these builtins with a pointer to uint64_t rather than unsigned + DI mode. + +2024-02-19 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/113615 + * config/gcn/gcn-valu.md (define_expand "reduc_<fexpander>_scal_<mode>"): + Conditionalize on '!TARGET_RDNA2_PLUS'. + * config/gcn/gcn.cc (gcn_expand_dpp_shr_insn) + (gcn_expand_reduc_scalar): + 'gcc_checking_assert (!TARGET_RDNA2_PLUS);'. + +2024-02-19 Thomas Schwinge <tschwinge@baylibre.com> + + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Restore lost + '__gfx90a__' target CPU definition. Add some safeguards for the future. + +2024-02-19 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/54052 + * rtl-ssa/blocks.cc (function_info::place_phis): Filter + local defs by LR_OUT. + +2024-02-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113967 + * match.pd (bit_insert @0 (BIT_FIELD_REF @1 ..) ..): Require + in condition that @rpos is multiple of vector element size. + +2024-02-19 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113696 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::earliest_fuse_vsetvl_info): + Suppress vsetvl fusion. + +2024-02-18 H.J. Lu <hjl.tools@gmail.com> + + PR target/113912 + * config/i386/i386.cc (ix86_can_use_push2pop2): New. + (ix86_pro_and_epilogue_can_use_push2pop2): Use it. + (ix86_emit_save_regs): Don't generate push2 if + ix86_can_use_push2pop2 return false. + (ix86_expand_epilogue): Don't generate pop2 if + ix86_can_use_push2pop2 return false. + +2024-02-18 Georg-Johann Lay <avr@gjlay.de> + + * doc/invoke.texi (AVR Options) <-mmcu>: Remove "Atmel". + Note on complete device support. + +2024-02-18 Georg-Johann Lay <avr@gjlay.de> + + * doc/extend.texi (AVR Function Attributes): Fuse description + of "signal" and "interrupt" attribute. Link pseudo instruction. + +2024-02-18 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/larchintrin.h (__movgr2fcsr): Remove redundant + symbol type conversions. + (__cacop_d): Likewise. + (__cpucfg): Likewise. + (__asrtle_d): Likewise. + (__asrtgt_d): Likewise. + (__lddir_d): Likewise. + (__ldpte_d): Likewise. + (__crc_w_b_w): Likewise. + (__crc_w_h_w): Likewise. + (__crc_w_w_w): Likewise. + (__crc_w_d_w): Likewise. + (__crcc_w_b_w): Likewise. + (__crcc_w_h_w): Likewise. + (__crcc_w_w_w): Likewise. + (__crcc_w_d_w): Likewise. + (__csrrd_w): Likewise. + (__csrwr_w): Likewise. + (__csrxchg_w): Likewise. + (__csrrd_d): Likewise. + (__csrwr_d): Likewise. + (__csrxchg_d): Likewise. + (__iocsrrd_b): Likewise. + (__iocsrrd_h): Likewise. + (__iocsrrd_w): Likewise. + (__iocsrrd_d): Likewise. + (__iocsrwr_b): Likewise. + (__iocsrwr_h): Likewise. + (__iocsrwr_w): Likewise. + (__iocsrwr_d): Likewise. + (__frecipe_s): Likewise. + (__frecipe_d): Likewise. + (__frsqrte_s): Likewise. + (__frsqrte_d): Likewise. + +2024-02-18 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/larchintrin.h (__iocsrrd_h): Modify the + function return value type to unsigned short. + +2024-02-16 Edwin Lu <ewlu@rivosinc.com> + + * doc/sourcebuild.texi: add scan-assembler-bound + +2024-02-16 Jason Merrill <jason@redhat.com> + + * gdbhooks.py: Fix regex syntax. + +2024-02-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113895 + * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Disable + consistency checking when there are out-of-bound array + accesses. Allow -1 off when from an array reference with + constant index. + +2024-02-16 Kito Cheng <kito.cheng@sifive.com> + + PR target/106543 + * config/riscv/riscv.md (*sge<u>_<X:mode><GPR:mode>): Fix asm + pattern. + +2024-02-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * doc/sourcebuild.texi (Effective-Target Keywords, Other + attribugs): Document linker_plugin. + (Require Support): Document dg-require-linker-plugin. + +2024-02-16 Kito Cheng <kito.cheng@sifive.com> + + PR target/109349 + * common/config/riscv/riscv-common.cc (riscv_arch_help): New. + * config/riscv/riscv-protos.h (RISCV_MAJOR_VERSION_BASE): New. + (RISCV_MINOR_VERSION_BASE): Ditto. + (RISCV_REVISION_VERSION_BASE): Ditto. + * config/riscv/riscv-c.cc (riscv_ext_version_value): Use enum + rather than magic number. + * config/riscv/riscv.h (riscv_arch_help): New. + (EXTRA_SPEC_FUNCTIONS): Add riscv_arch_help. + (DRIVER_SELF_SPECS): Handle -march=help, -print-supported-extensions and + --print-supported-extensions. + * config/riscv/riscv.opt (march=help): New. + (print-supported-extensions): New. + (-print-supported-extensions): New. + * doc/invoke.texi (RISC-V Options): Document -march=help. + +2024-02-16 Tejas Belagod <tejas.belagod@arm.com> + + PR target/113780 + * config/arm/arm.cc (arm_function_ok_for_sibcall): Don't allow tailcalls + for indirect calls with 4 or more arguments in pac-enabled functions. + +2024-02-15 David Faust <david.faust@oracle.com> + + * config/bpf/bpf.md (zero_extendqidi2): Correct asm template to + use ldxb instead of ldxh. + +2024-02-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113921 + * cfgrtl.h (prepend_insn_to_edge): New declaration. + * cfgrtl.cc (insert_insn_on_edge): Clarify behavior in function + comment. + (prepend_insn_to_edge): New function. + * cfgexpand.cc (expand_asm_stmt): Use prepend_insn_to_edge instead of + insert_insn_on_edge. + +2024-02-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/111156 + * tree-vect-loop.cc (vect_dissolve_slp_only_groups): Look + at the pattern stmt if any. + +2024-02-15 Georg-Johann Lay <avr@gjlay.de> + + PR target/113927 + * config/avr/avr.h (AVR_HAVE_ADIW): New macro. + * config/avr/avr-protos.h (avr_adiw_reg_p): New proto. + * config/avr/avr.cc (avr_adiw_reg_p): New function. + (avr_conditional_register_usage) [AVR_TINY]: Don't clear ADDW_REGS. + Replace test_hard_reg_class (ADDW_REGS, ...) with calls to + * config/avr/avr.md: Same. + (attr "isa") <tiny, no_tiny>: Remove. + <adiw, no_adiw>: Add. + (define_insn, define_insn_and_split): When an alternative has + constraint "w", then set attribute "isa" to "adiw". + * config/avr/avr-c.cc (avr_cpu_cpp_builtins) [AVR_HAVE_ADIW]: + Built-in define __AVR_HAVE_ADIW__. + * doc/invoke.texi (AVR Options): Document it. + +2024-02-15 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn-valu.md + (vec_extract<V_MOV:mode><V_MOV_ALT:mode>): Add conditions for RDNA. + * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Check permutation + details are supported on RDNA devices. + +2024-02-15 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/113508 + * doc/md.texi (sdot_prod@var{m}, udot_prod@var{m}, + usdot_prod@var{m}, ssad@var{m}, usad@var{m}, widen_usum@var{m}3, + smulhs@var{m}3, umulhs@var{m}3, smulhrs@var{m}3, umulhrs@var{m}3): + Add sentence about what the mode m is. + +2024-02-15 Andrew Pinski <quic_apinski@quicinc.com> + + * doc/md.texi (widen_ssum, widen_usum, smulhs, umulhs, + smulhrs, umulhrs, sdiv_pow2): Move the 3 outside of the + var. + +2024-02-15 Richard Biener <rguenther@suse.de> + + * tree-ssa-tail-merge.cc (same_succ_hash): Skip debug + stmts. + +2024-02-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113567 + * gimple-lower-bitint.cc (gimple_lower_bitint): For large/huge + _BitInt multiplication, division or modulo with + SSA_NAME_OCCURS_IN_ABNORMAL_PHI lhs and at least one of rhs1 and rhs2 + force the affected inputs into a new SSA_NAME. + +2024-02-14 Uros Bizjak <ubizjak@gmail.com> + + PR target/113871 + * config/i386/mmx.md (V248FI): New mode iterator. + (V24FI_32): DItto. + (vec_shl_<V248FI:mode>): New expander. + (vec_shl_<V24FI_32:mode>): Ditto. + (vec_shr_<V248FI:mode>): Ditto. + (vec_shr_<V24FI_32:mode>): Ditto. + * config/i386/sse.md (vec_shl_<V_128:mode>): Simplify expander. + (vec_shr_<V248FI:mode>): Ditto. + +2024-02-14 Jan Hubicka <jh@suse.cz> + + PR tree-optimization/111054 + * tree-ssa-loop-split.cc (split_loop): Check for profile being present. + +2024-02-14 Tamar Christina <tamar.christina@arm.com> + + * tree-cfg.cc (replace_loop_annotate): Inspect loop edges for annotations. + +2024-02-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113910 + * bitmap.cc (bitmap_hash): Mix the full element "hash" to + the hashval_t hash. + +2024-02-14 Jakub Jelinek <jakub@redhat.com> + + * pretty-print.cc (PTRDIFF_MAX): Define if not yet defined. + (pp_integer_with_precision): For unsigned ptrdiff_t printing + with u, o or x print ptrdiff_t argument converted to + unsigned long long and masked with 2ULL * PTRDIFF_MAX + 1. + +2024-02-14 Richard Biener <rguenther@suse.de> + + PR middle-end/113576 + * expr.cc (do_store_flag): For vector bool compares of vectors + with padding zero that. + * dojump.cc (do_compare_and_jump): Likewise. + +2024-02-14 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/install.texi (Prerequisites): Update gettext link. + +2024-02-13 H.J. Lu <hjl.tools@gmail.com> + + PR target/113876 + * config/i386/i386.cc (ix86_pro_and_epilogue_can_use_push2pop2): + Return false if the incoming stack isn't 16-byte aligned. + +2024-02-13 Tobias Burnus <tburnus@baylibre.com> + + PR middle-end/113904 + * omp-general.cc (struct omp_ts_info): Update for splitting of + OMP_TRAIT_PROPERTY_EXPR into OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. + * omp-selectors.h (enum omp_tp_type): Replace + OMP_TRAIT_PROPERTY_EXPR by OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. + +2024-02-13 Monk Chiang <monk.chiang@sifive.com> + + PR target/113742 + * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Fix + recognizes UNSPEC_AUIPC for RISCV_FUSE_LUI_ADDI. + +2024-02-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113895 + * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Track + offset to discover constant array indices in bits, handle + COMPONENT_REF to bitfields. + +2024-02-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113831 + * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Fix + typo in comment. + +2024-02-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113902 + * tree-vect-loop.cc (move_early_exit_stmts): Track + last_seen_vuse for VUSE updating. + +2024-02-13 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113734 + * tree-vect-loop.cc (vect_transform_loop): Treat the final iteration of + an early break loop as partial. + +2024-02-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113898 + * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Add + missing accumulated off adjustment. + +2024-02-13 Jakub Jelinek <jakub@redhat.com> + + * hwint.h (GCC_PRISZ, fmt_size_t): Fix preprocessor conditions, + instead of comparing SIZE_MAX against INT_MAX and LONG_MAX compare + it against UINT_MAX and ULONG_MAX. + +2024-02-13 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-core.h (emit_diagnostic_valist): Rename overload + to... + (emit_diagnostic_valist_meta): ...this. + * diagnostic.cc (emit_diagnostic_valist): Likewise, to... + (emit_diagnostic_valist_meta): ...this. + +2024-02-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113849 + * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): Don't use + fast path for widening casts where !m_upwards_2limb and lhs_type + has precision which is a multiple of limb_prec. + +2024-02-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/113674 + * attribs.cc (extract_attribute_substring): Remove. + (lookup_scoped_attribute_spec): Don't call it. + +2024-02-12 Jakub Jelinek <jakub@redhat.com> + + * gengtype.cc (adjust_field_rtx_def): Use HOST_SIZE_T_PRINT_UNSIGNED + and cast to fmt_size_t instead of %lu and cast to unsigned long. + +2024-02-12 Christophe Lyon <christophe.lyon@linaro.org> + + * Makefile.in: Add no-info dependency. + * configure.ac: Set BUILD_INFO=no-info if makeinfo is not + available. + * configure: Regenerate. + +2024-02-12 Iain Sandoe <iain@sandoe.co.uk> + + PR target/113855 + * config/i386/darwin.h (DARWIN_HEAP_T_LIB): Moved to be + available to all sub-targets. + * config/i386/darwin32-biarch.h (DARWIN_HEAP_T_LIB): Delete. + * config/i386/darwin64-biarch.h (DARWIN_HEAP_T_LIB): Delete. + +2024-02-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113831 + PR tree-optimization/108355 + * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): When + we see variable array indices and get_ref_base_and_extent + can resolve those to constants fix up the ops to constants + as well. + (ao_ref_init_from_vn_reference): Use 'off' member for + ARRAY_REF and ARRAY_RANGE_REF instead of recomputing it. + (valueize_refs_1): Also fixup 'off' of ARRAY_RANGE_REF. + +2024-02-12 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv-vector-builtins.cc (resolve_overloaded_builtin): + Replace args to arguments for misspelled term. + +2024-02-12 Georg-Johann Lay <avr@gjlay.de> + + PR target/112944 + * config/avr/gen-avr-mmcu-specs.cc (print_mcu) [have_flmap]: + <*link_rodata_in_ram>: Spec undefs symbol __do_flmap_init + when not linked with -mrodata-in-ram. + +2024-02-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113863 + * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): + Record crossed virtual PHIs. + * tree-vect-loop.cc (move_early_exit_stmts): Elide crossed + virtual PHIs. + +2024-02-10 Marek Polacek <polacek@redhat.com> + + DR 2237 + PR c++/107126 + PR c++/97202 + * doc/invoke.texi: Document -Wtemplate-id-cdtor. + +2024-02-10 Jakub Jelinek <jakub@redhat.com> + + * gimple-lower-bitint.cc (itint_large_huge::lower_addsub_overflow): Fix + computation of idx for i == 4 of bitint_prec_huge. + +2024-02-10 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/110754 + * gimple-low.cc (assumption_copy_decl): For TREE_THIS_VOLATILE + decls create PARM_DECL with pointer to original type, set + TREE_READONLY and keep TREE_THIS_VOLATILE, TREE_ADDRESSABLE, + DECL_NOT_GIMPLE_REG_P and DECL_BY_REFERENCE cleared. + (adjust_assumption_stmt_op): For remapped TREE_THIS_VOLATILE decls + wrap PARM_DECL into a simple TREE_THIS_NO_TRAP MEM_REF. + (lower_assumption): For TREE_THIS_VOLATILE vars pass ADDR_EXPR + of the var as argument. + +2024-02-10 Jakub Jelinek <jakub@redhat.com> + + * pretty-print.cc (pp_integer_with_precision): Handle precision 3 for + size_t and precision 4 for ptrdiff_t. Formatting fix. + (pp_format): Document %{t,z}{d,i,u,o,x}. Implement t and z modifiers. + Formatting fixes. + (test_pp_format): Test t and z modifiers. + * gcc.cc (read_specs): Use %td instead of %ld and casts to long. + +2024-02-10 Jakub Jelinek <jakub@redhat.com> + + * ipa-icf.cc (sem_item_optimizer::process_cong_reduction, + sem_item_optimizer::dump_cong_classes): Use HOST_SIZE_T_PRINT_UNSIGNED + and casts to fmt_size_t instead of "%lu" and casts to unsigned long. + * tree.cc (print_debug_expr_statistics): Use HOST_SIZE_T_PRINT_DEC + and casts to fmt_size_t instead of "%ld" and casts to long. + (print_value_expr_statistics, print_type_hash_statistics): Likewise. + * dwarf2out.cc (output_macinfo_op): Use HOST_WIDE_INT_PRINT_UNSIGNED + instead of "%lu" and casts to unsigned long. + * gcov-dump.cc (dump_gcov_file): Use %u instead of %lu and casts to + unsigned long. + * tree-ssa-dom.cc (htab_statistics): Use HOST_SIZE_T_PRINT_DEC + and casts to fmt_size_t instead of "%ld" and casts to long. + * cfgexpand.cc (dump_stack_var_partition): Use + HOST_SIZE_T_PRINT_UNSIGNED and casts to fmt_size_t instead of "%lu" + and casts to unsigned long. + * gengtype.cc (adjust_field_rtx_def): Likewise. + * tree-into-ssa.cc (htab_statistics): Use HOST_SIZE_T_PRINT_DEC + and casts to fmt_size_t instead of "%ld" and casts to long. + * postreload-gcse.cc (dump_hash_table): Likewise. + * ggc-page.cc (alloc_page): Use HOST_SIZE_T_PRINT_UNSIGNED + and casts to fmt_size_t instead of "%lu" and casts to unsigned long. + (ggc_internal_alloc, ggc_free): Likewise. + * genpreds.cc (write_lookup_constraint_1): Likewise. + (write_insn_constraint_len): Likewise. + * tree-dfa.cc (dump_dfa_stats): Use HOST_SIZE_T_PRINT_DEC + and casts to fmt_size_t instead of "%ld" and casts to long. + * varasm.cc (output_constant_pool_contents): Use + HOST_WIDE_INT_PRINT_DEC instead of "%ld" and casts to long. + * var-tracking.cc (dump_var): Likewise. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113783 + * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Look + through VIEW_CONVERT_EXPR for final cast checks. Handle + VIEW_CONVERT_EXPRs from large/huge _BitInt to > MAX_FIXED_MODE_SIZE + INTEGER_TYPEs. + (gimple_lower_bitint): Don't merge mergeable operations or other + casts with VIEW_CONVERT_EXPRs to > MAX_FIXED_MODE_SIZE INTEGER_TYPEs. + * expr.cc (expand_expr_real_1): Don't use convert_modes if either + mode is BLKmode. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + * hwint.h (GCC_PRISZ, fmt_size_t, HOST_SIZE_T_PRINT_DEC, + HOST_SIZE_T_PRINT_UNSIGNED, HOST_SIZE_T_PRINT_HEX, + HOST_SIZE_T_PRINT_HEX_PURE): Define. + * ira-conflicts.cc (build_conflict_bit_table): Use it. Formatting + fixes. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113415 + * cfgexpand.cc (expand_asm_stmt): For asm goto, use + duplicate_insn_chain to duplicate after_rtl_seq sequence instead + of hand written loop with emit_insn of copy_insn and emit original + after_rtl_seq on the last edge. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113818 + * gimple-lower-bitint.cc (add_eh_edge): New function. + (bitint_large_huge::handle_load, + bitint_large_huge::lower_mergeable_stmt, + bitint_large_huge::lower_muldiv_stmt): Use it. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113774 + * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): Don't + emit any comparison if m_first and low + 1 is equal to + m_upwards_2limb, simplify condition for that. If not + single_comparison, not m_first and we can prove that the idx <= low + comparison will be always true, emit instead of idx <= low + comparison low <= low such that cfg cleanup will optimize it at + the end of the pass. + +2024-02-08 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/113735 + * value-relation.cc (equiv_oracle::add_equiv_to_block): Call + limit_check(). + +2024-02-08 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/gen-avr-mmcu-specs.cc (struct McuInfo): New. + (main, print_mcu, diagnose_mrodata_in_ram): Pass it down. + +2024-02-08 H.J. Lu <hjl.tools@gmail.com> + + PR target/113711 + PR target/113733 + * config/i386/constraints.md: List all constraints with j prefix. + (j>): Change auto-dec to auto-inc in documentation. + (je): Changed to a memory constraint with APX NDD TLS operand + check. + (jM): New memory constraint for APX NDD instructions. + (jO): Likewise. + * config/i386/i386-protos.h (x86_poff_operand_p): Removed. + * config/i386/i386.cc (x86_poff_operand_p): Likewise. + * config/i386/i386.md (*add<dwi>3_doubleword): Use rjO. + (*add<mode>_1[SWI48]): Use je and jM. + (addsi_1_zext): Use jM. + (*addv<dwi>4_doubleword_1[DWI]): Likewise. + (*sub<mode>_1[SWI]): Use jM. + (@add<mode>3_cc_overflow_1[SWI]): Likewise. + (*add<dwi>3_doubleword_cc_overflow_1): Use rjO. + (*and<dwi>3_doubleword): Likewise. + (*anddi_1): Use jM. + (*andsi_1_zext): Likewise. + (*and<mode>_1[SWI24]): Likewise. + (*<code><dwi>3_doubleword[any_or]): Use rjO + (*code<mode>_1[any_or SWI248]): Use jM. + (*<code>si_1_zext[zero_extend + any_or]): Likewise. + * config/i386/predicates.md (apx_ndd_memory_operand): New. + (apx_ndd_add_memory_operand): Likewise. + +2024-02-08 Georg-Johann Lay <avr@gjlay.de> + + PR target/113824 + * config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4. + * doc/avr-mmcu.texi: Rebuild. + +2024-02-08 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113808 + * tree-vect-loop.cc (vectorizable_live_operation): Don't cache the + value cross iterations. + +2024-02-08 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/gen-avr-mmcu-specs.cc (print_mcu) <*cpp_mcu>: Spec always + defines __AVR_PM_BASE_ADDRESS__ if the core has it. + +2024-02-08 Richard Biener <rguenther@suse.de> + + * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): + Revert last change to dr_may_alias_p. + +2024-02-08 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/gen-avr-mmcu-specs.cc: Rename spec cc1_misc to + cc1_rodata_in_ram. Rename spec link_misc to link_rodata_in_ram. + Remove spec asm_misc. + * config/avr/specs.h: Same. + +2024-02-08 Pan Li <pan2.li@intel.com> + + PR target/113766 + * config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Make + sure the c.arg_num is >= 2 before checking. + (struct build_frm_base): Ditto. + (struct narrow_alu_def): Ditto. + +2024-02-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113796 + * tree-if-conv.cc (combine_blocks): Wipe range-info before + replacing PHIs and inserting predicates. + +2024-02-07 Roger Sayle <roger@nextmovesoftware.com> + Uros Bizjak <ubizjak@gmail.com> + + PR target/113690 + * config/i386/i386-features.cc (timode_convert_cst): New helper + function to convert a TImode CONST_SCALAR_INT_P to a V1TImode + CONST_VECTOR. + (timode_scalar_chain::convert_op): Use timode_convert_cst. + (timode_scalar_chain::convert_insn): Delete REG_EQUAL notes. + Use timode_convert_cst. + +2024-02-07 Victor Do Nascimento <victor.donascimento@arm.com> + + * config/aarch64/aarch64-sys-regs.def: Copy from Binutils. + * config/aarch64/aarch64.h (AARCH64_FL_AIE): New. + (AARCH64_FL_DEBUGv8p9): Likewise. + (AARCH64_FL_FGT2): Likewise.Likewise. + (AARCH64_FL_ITE): Likewise. + (AARCH64_FL_PFAR): Likewise. + (AARCH64_FL_PMUv3_ICNTR): Likewise. + (AARCH64_FL_PMUv3_SS): Likewise. + (AARCH64_FL_PMUv3p9): Likewise. + (AARCH64_FL_RASv2): Likewise. + (AARCH64_FL_S1PIE): Likewise. + (AARCH64_FL_S1POE): Likewise. + (AARCH64_FL_S2PIE): Likewise. + (AARCH64_FL_S2POE): Likewise. + (AARCH64_FL_SCTLR2): Likewise. + (AARCH64_FL_SEBEP): Likewise. + (AARCH64_FL_SPE_FDS): Likewise. + (AARCH64_FL_TCR2): Likewise. + +2024-02-07 Richard Biener <rguenther@suse.de> + + * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): + Only check whether reads are in-bound in places that are not safe. + Fix dependence check. Add missing newline. Clarify comments. + +2024-02-07 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113750 + * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): Check + for single predecessor when doing early break vect. + * tree-vect-loop.cc (move_early_exit_stmts): Get gsi at the start but + after labels. + +2024-02-07 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113731 + * gimple-iterator.cc (gsi_move_before): Take new parameter for update + method. + * gimple-iterator.h (gsi_move_before): Default new param to + GSI_SAME_STMT. + * tree-vect-loop.cc (move_early_exit_stmts): Call gsi_move_before with + GSI_NEW_STMT. + +2024-02-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113756 + * range-op.cc (update_known_bitmask): For GIMPLE_UNARY_RHS, + use TYPE_SIGN (lh.type ()) instead of sign for widest_int::from + of lh_bits value and mask. + +2024-02-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113753 + * wide-int.cc (wi::mul_internal): Unpack op1val and op2val with + UNSIGNED rather than SIGNED. If high or needs_overflow and prec is + not a multiple of HOST_BITS_PER_WIDE_INT, shift left bits above prec + so that they start with r[half_blocks_needed] lowest bit. Fix up + computation of top mask for SIGNED. + +2024-02-07 Pan Li <pan2.li@intel.com> + + PR target/113766 + * config/riscv/riscv-protos.h (resolve_overloaded_builtin): Adjust + the signature of func. + * config/riscv/riscv-c.cc (riscv_resolve_overloaded_builtin): Ditto. + * config/riscv/riscv-vector-builtins.cc (resolve_overloaded_builtin): Make + overloaded func with empty args error. + +2024-02-06 H.J. Lu <hjl.tools@gmail.com> + + PR target/113689 + * config/i386/i386.cc (x86_64_select_profile_regnum): Return + R10_REG after sorry. + +2024-02-06 Andrew Carlotti <andrew.carlotti@arm.com> + + * config/aarch64/aarch64.cc (aarch64_mangle_decl_assembler_name): + Move before new caller, and add ".default" suffix. + (get_suffixed_assembler_name): New. + (make_resolver_func): Use get_suffixed_assembler_name. + (aarch64_generate_version_dispatcher_body): Redo name mangling. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR target/113763 + * config/aarch64/aarch64.cc (aarch64_output_sme_zero_za): Change tiles + element from std::pair<unsigned int, char> to an unnamed struct. + Adjust uses of tile range variable. + +2024-02-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::emit_vsetvl): Fix inifinite compilation. + (pre_vsetvl::remove_vsetvl_pre_insns): Ditto. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/110676 + * gimple-fold.cc (gimple_fold_builtin_strlen): For -fsanitize=address + reset maxlen to sizetype maximum. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113736 + * gimple-lower-bitint.cc (bitint_large_huge::limb_access): Use + var's address space for MEM_REF or VIEW_CONVERT_EXPRs. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113759 + * tree-ssa-math-opts.cc (convert_mult_to_widen): If actual_precision + or from_unsignedN differs from properties of typeN, update typeN + to build_nonstandard_integer_type. If TREE_TYPE (rhsN) is not + uselessly convertible to typeN, convert it using fold_convert or + build_and_insert_cast depending on if rhsN is INTEGER_CST or not. + (convert_plusminus_to_widen): Likewise. + +2024-02-06 Tejas Belagod <tejas.belagod@arm.com> + + PR target/112577 + * config/aarch64/aarch64.cc (aarch64_class_max_nregs): Handle 64-bit + vector structure modes correctly. + +2024-02-05 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/thead.cc (th_print_operand_address): Fix compiler + warning. + +2024-02-05 H.J. Lu <hjl.tools@gmail.com> + + PR target/113689 + * config/i386/i386.cc (x86_64_select_profile_regnum): New. + (x86_function_profiler): Call x86_64_select_profile_regnum to + get a scratch register for large model profiling. + +2024-02-05 Richard Ball <richard.ball@arm.com> + + * config/arm/arm.cc (arm_output_mi_thunk): Emit + insn for bti_c when bti is enabled. + +2024-02-05 Xi Ruoyao <xry111@xry111.site> + + * config/mips/mips-msa.md (neg<mode:MSA>2): Add missing mode for + neg. + +2024-02-05 Xi Ruoyao <xry111@xry111.site> + + * config/mips/mips-msa.md (elmsgnbit): New define_mode_attr. + (neg<mode>2): Change the mode iterator from MSA to IMSA because + in FP arithmetic we cannot use (0 - x) for -x. + (neg<mode>2): New define_insn to implement FP vector negation, + using a bnegi instruction to negate the sign bit. + +2024-02-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113707 + * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): After + checking the avail set treat out-of-region defines as + available. + +2024-02-05 Richard Biener <rguenther@suse.de> + + * tree-vect-data-refs.cc (vect_create_data_ref_ptr): Use + the default mode when building a pointer. + +2024-02-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113737 + * gimple-lower-bitint.cc (gimple_lower_bitint): If GIMPLE_SWITCH + has just a single label, remove it and make single successor edge + EDGE_FALLTHRU. + +2024-02-05 Jakub Jelinek <jakub@redhat.com> + + PR target/113059 + * config/i386/i386-features.cc (rest_of_handle_insert_vzeroupper): + Remove REG_DEAD/REG_UNUSED notes at the end of the pass before + df_analyze call. + +2024-02-05 Richard Biener <rguenther@suse.de> + + PR target/113255 + * config/i386/i386-expand.cc + (expand_set_or_cpymem_prologue_epilogue_by_misaligned_moves): + Use a new pseudo for the skipped number of bytes. + +2024-02-05 Monk Chiang <monk.chiang@sifive.com> + + * config/riscv/riscv-cores.def: Add sifive-p450, sifive-p670. + * doc/invoke.texi (RISC-V Options): Add sifive-p450, + sifive-p670. + +2024-02-05 Monk Chiang <monk.chiang@sifive.com> + + * config/riscv/riscv.md: Include sifive-p400.md. + * config/riscv/sifive-p400.md: New file. + * config/riscv/riscv-cores.def (RISCV_TUNE): Add parameter. + * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): + Add sifive_p400. + * config/riscv/riscv.cc (sifive_p400_tune_info): New. + * config/riscv/riscv.h (TARGET_SFB_ALU): Update. + * doc/invoke.texi (RISC-V Options): Add sifive-p400-series + +2024-02-04 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (*eqne_zero_masked_bits): + Add missing ":SI" to the match_operator. + +2024-02-04 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/xtensa.md (SHI): New mode iterator. + (2 split patterns related to constsynth): + Change to also accept HImode operands. + +2024-02-04 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_rtx_costs): Handle SUBREG and REG + similarly. + +2024-02-04 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/lsx.md (neg<mode:FLSX>2): Remove the + incorrect expand. + * config/loongarch/simd.md (simdfmt_as_i): New define_mode_attr. + (elmsgnbit): Likewise. + (neg<mode:FVEC>2): New define_insn. + * config/loongarch/lasx.md (negv4df2, negv8sf2): Remove as they + are now instantiated in simd.md. + +2024-02-04 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc (loongarch_symbol_insns): Do not + use LSX_SUPPORTED_MODE_P or LASX_SUPPORTED_MODE_P if mode is + MAX_MACHINE_MODE. + +2024-02-04 Li Wei <liwei@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_expand_vselect): Adjust. + (loongarch_expand_vselect_vconcat): Ditto. + (loongarch_try_expand_lsx_vshuf_const): New, use vshuf to implement + all 128-bit constant permutation situations. + (loongarch_expand_lsx_shuffle): Adjust and rename function name. + (loongarch_is_imm_set_shuffle): Renamed function name. + (loongarch_expand_vec_perm_even_odd): Function forward declaration. + (loongarch_expand_vec_perm_even_odd_1): Add implement for 128-bit + extract-even and extract-odd permutations. + (loongarch_is_odd_extraction): Delete. + (loongarch_is_even_extraction): Ditto. + (loongarch_expand_vec_perm_const): Adjust. + +2024-02-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113722 + * wide-int.cc (wi::bswap_large): Rename third argument from + len to xlen and adjust use in safe_uhwi. Add len variable, set + it to BLOCKS_NEEDED (precision) and use it for clearing of val + and as canonize argument. Clear val using memset instead of + a loop. + +2024-02-03 Jakub Jelinek <jakub@redhat.com> + + * ggc-common.cc (gt_pch_save): Allow addr to be equal to + mmi.preferred_base + mmi.size - sizeof (void *). + +2024-02-03 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch-def.h (abi_minimal_isa): Declare. + * config/loongarch/loongarch-opts.cc (abi_minimal_isa): Remove + the ODR-violating locale declaration. + +2024-02-02 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113588 + PR tree-optimization/113467 + * tree-vect-data-refs.cc + (vect_analyze_data_ref_dependence): Choose correct dest and fix checks. + (vect_analyze_early_break_dependences): Update comments. + +2024-02-02 John David Anglin <danglin@gcc.gnu.org> + + PR target/59778 + * config/pa/pa.cc (enum pa_builtins): Add PA_BUILTIN_GET_FPSR + and PA_BUILTIN_SET_FPSR builtins. + * (pa_builtins_icode): Declare. + * (def_builtin, pa_fpu_init_builtins): New. + * (pa_init_builtins): Initialize FPU builtins. + * (pa_builtin_decl, pa_expand_builtin_1): New. + * (pa_expand_builtin): Handle PA_BUILTIN_GET_FPSR and + PA_BUILTIN_SET_FPSR builtins. + * (pa_atomic_assign_expand_fenv): New. + * config/pa/pa.md (UNSPECV_GET_FPSR, UNSPECV_SET_FPSR): New + UNSPECV constants. + (get_fpsr, put_fpsr): New expanders. + (get_fpsr_32, get_fpsr_64, set_fpsr_32, set_fpsr_64): New + insn patterns. + +2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113697 + * config/riscv/riscv-v.cc (expand_reduction): Pass VLMAX avl to scalar move. + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + * doc/extend.texi (Common Type Attributes): Fix typo in + description of hardbool. + +2024-02-02 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113692 + * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Handle casts + from large/huge BITINT_TYPEs to POINTER_TYPE/REFERENCE_TYPE as + final_cast_p. + +2024-02-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113699 + * gimple-lower-bitint.cc (bitint_large_huge::lower_asm): Handle + uninitialized large/huge _BitInt SSA_NAME inputs. + +2024-02-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113705 + * tree-ssa-math-opts.cc (is_widening_mult_rhs_p): Use wide_int_from + around wi::to_wide in order to compare value in prec precision. + +2024-02-02 Lehua Ding <lehua.ding@rivai.ai> + + Revert: + 2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_legitimize_move): Fix poly_int dest generation. + +2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_legitimize_move): Fix poly_int dest generation. + +2024-02-02 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_get_arg_info): Cleanup comments. + (riscv_pass_by_reference): Ditto. + (riscv_fntype_abi): Ditto. + +2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc (vsetvl_pre_insn_p): New function. + (pre_vsetvl::cleaup): Remove vsetvl_pre. + (pre_vsetvl::remove_vsetvl_pre_insns): New function. + +2024-02-02 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/larchintrin.h + (__frecipe_s): Update function return type. + (__frecipe_d): Ditto. + (__frsqrte_s): Ditto. + (__frsqrte_d): Ditto. + +2024-02-02 Li Wei <liwei@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_multiply_add_p): New. + (loongarch_vector_costs::add_stmt_cost): Adjust. + +2024-02-02 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (unspec): Add + UNSPEC_LA_PCREL_64_PART1 and UNSPEC_LA_PCREL_64_PART2. + (la_pcrel64_two_parts): New define_insn. + * config/loongarch/loongarch.cc (loongarch_tls_symbol): Fix a + typo in the comment. + (loongarch_call_tls_get_addr): If -mcmodel=extreme + -mexplicit-relocs={always,auto}, use la_pcrel64_two_parts for + addressing the TLS symbol and __tls_get_addr. Emit an REG_EQUAL + note to allow CSE addressing __tls_get_addr. + (loongarch_legitimize_tls_address): If -mcmodel=extreme + -mexplicit-relocs={always,auto}, address TLS IE symbols with + la_pcrel64_two_parts. + (loongarch_split_symbol): If -mcmodel=extreme + -mexplicit-relocs={always,auto}, address symbols with + la_pcrel64_two_parts. + (loongarch_output_mi_thunk): Clean up unreachable code. If + -mcmodel=extreme -mexplicit-relocs={always,auto}, address the MI + thunks with la_pcrel64_two_parts. + +2024-02-02 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): + Add support for call36. + +2024-02-02 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): + When the code model of the symbol is extreme and -mexplicit-relocs=auto, + the macro instruction loading symbol address is not applicable. + (loongarch_call_tls_get_addr): Adjust code. + (loongarch_legitimize_tls_address): Likewise. + +2024-02-02 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch-protos.h (loongarch_symbol_extreme_p): + Add function declaration. + * config/loongarch/loongarch.cc (loongarch_symbolic_constant_p): + For SYMBOL_PCREL64, non-zero addend of "la.local $rd,$rt,sym+addend" + is not allowed + (loongarch_load_tls): Added macro support in extreme mode. + (loongarch_call_tls_get_addr): Likewise. + (loongarch_legitimize_tls_address): Likewise. + (loongarch_force_address): Likewise. + (loongarch_legitimize_move): Likewise. + (loongarch_output_mi_thunk): Likewise. + (loongarch_option_override_internal): Remove the code that detects + explicit relocs status. + (loongarch_handle_model_attribute): Likewise. + * config/loongarch/loongarch.md (movdi_symbolic_off64): New template. + * config/loongarch/predicates.md (symbolic_off64_operand): New predicate. + (symbolic_off64_or_reg_operand): Likewise. + +2024-02-02 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_load_tls): + Load all types of tls symbols through one function. + (loongarch_got_load_tls_gd): Delete. + (loongarch_got_load_tls_ld): Delete. + (loongarch_got_load_tls_ie): Delete. + (loongarch_got_load_tls_le): Delete. + (loongarch_call_tls_get_addr): Modify the called function name. + (loongarch_legitimize_tls_address): Likewise. + * config/loongarch/loongarch.md (@got_load_tls_gd<mode>): Delete. + (@load_tls<mode>): New template. + (@got_load_tls_ld<mode>): Delete. + (@got_load_tls_le<mode>): Delete. + (@got_load_tls_ie<mode>): Delete. + +2024-02-02 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (mem_shadd_or_shadd_rtx_p): New function. + (loongarch_legitimize_address): Add logical transformation code. + +2024-02-01 Marek Polacek <polacek@redhat.com> + + * doc/invoke.texi: Update -Wdangling-reference documentation. + +2024-02-01 Uros Bizjak <ubizjak@gmail.com> + + PR target/113701 + * config/i386/i386.md (*cmp<dwi>_doubleword): + Do not force SUBREG pieces to pseudos. + +2024-02-01 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa.md (atomic_storedi_1): Fix bug in + alternative 1. + +2024-02-01 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc: Tabify. + +2024-02-01 Richard Ball <richard.ball@arm.com> + + PR tree-optimization/111268 + * tree-vect-slp.cc (vectorizable_slp_permutation_1): + Add variable-length check for vector input arguments + to a function. + +2024-02-01 Thomas Schwinge <tschwinge@baylibre.com> + + * config/gcn/gcn.cc (gcn_hsa_declare_function_name): Don't + hard-code number of SGPR/VGPR/AVGPR registers. + * config/gcn/gcn.h: Add a 'STATIC_ASSERT's for number of + SGPR/VGPR/AVGPR registers. + +2024-02-01 Monk Chiang <monk.chiang@sifive.com> + + * config/riscv/riscv.md: Add "fcvt_i2f", "fcvt_f2i" type + attribute, and include sifive-p600.md. + * config/riscv/generic-ooo.md: Update type attribute. + * config/riscv/generic.md: Update type attribute. + * config/riscv/sifive-7.md: Update type attribute. + * config/riscv/sifive-p600.md: New file. + * config/riscv/riscv-cores.def (RISCV_TUNE): Add parameter. + * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): + Add sifive_p600. + * config/riscv/riscv.cc (sifive_p600_tune_info): New. + * config/riscv/riscv.h (TARGET_SFB_ALU): Update. + * doc/invoke.texi (RISC-V Options): Add sifive-p600-series + +2024-02-01 Monk Chiang <monk.chiang@sifive.com> + + * common/config/riscv/riscv-common.cc: Add Za64rs, Za128rs, + Ziccif, Ziccrse, Ziccamoa, Zicclsm, Zic64b items. + * config/riscv/riscv.opt: New macro for 7 new unprivileged + extensions. + * doc/invoke.texi (RISC-V Options): Add Za64rs, Za128rs, + Ziccif, Ziccrse, Ziccamoa, Zicclsm, Zic64b extensions. + +2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/sol2.h (LIBASAN_EARLY_SPEC): Add -z now unless + -static-libasan. Add missing whitespace. + +2024-02-01 Thomas Schwinge <tschwinge@baylibre.com> + + * config/gcn/gcn.md (FIRST_SGPR_REG, LAST_SGPR_REG) + (FIRST_VGPR_REG, LAST_VGPR_REG, FIRST_AVGPR_REG, LAST_AVGPR_REG): + Don't 'define_constants'. + +2024-02-01 Thomas Schwinge <tschwinge@baylibre.com> + + * config/gcn/gcn.h (SGPR_OR_VGPR_REGNO_P): Remove. + +2024-02-01 Thomas Schwinge <tschwinge@baylibre.com> + + * config/gcn/gcn.md (sync_compare_and_swap<mode>_lds_insn) + [TARGET_RDNA3]: Adjust. + +2024-02-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113693 + * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): Honor avail + data when available. + +2024-02-01 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/113531 + * gimple-low.cc (lower_stmt): Remove .ASAN_MARK calls + on variables which were promoted to TREE_STATIC. + +2024-02-01 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR target/113560 + * tree-ssa-math-opts.cc (is_widening_mult_rhs_p): Use range + information via tree_non_zero_bits to check if this operand + is suitably extended for a widening (or highpart) multiplication. + (convert_mult_to_widen): Insert explicit casts if the RHS or LHS + isn't already of the claimed type. + +2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + Revert: + 2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + * config/riscv/generic-ooo.md (generic_ooo_sfb_alu): Add reservation + (generic_ooo_branch): ditto + * config/riscv/generic.md (generic_sfb_alu): ditto + (generic_fmul_half): ditto + * config/riscv/riscv.md: Remove cbo, pushpop, and rdfrm types + * config/riscv/sifive-7.md (sifive_7_hfma):Add reservation + (sifive_7_popcount): ditto + * config/riscv/vector.md: change rdfrm to fmove + * config/riscv/zc.md: change pushpop to load/store + +2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + Revert: + 2024-02-01 Edwin Lu <ewlu@rivosinc.com> + Robin Dapp <rdapp.gcc@gmail.com> + + * config/riscv/generic-ooo.md (generic_ooo): Move reservation + (generic_ooo_vec_load): ditto + (generic_ooo_vec_store): ditto + (generic_ooo_vec_loadstore_seg): ditto + (generic_ooo_vec_alu): ditto + (generic_ooo_vec_fcmp): ditto + (generic_ooo_vec_imul): ditto + (generic_ooo_vec_fadd): ditto + (generic_ooo_vec_fmul): ditto + (generic_ooo_crypto): ditto + (generic_ooo_perm): ditto + (generic_ooo_vec_reduction): ditto + (generic_ooo_vec_ordered_reduction): ditto + (generic_ooo_vec_idiv): ditto + (generic_ooo_vec_float_divsqrt): ditto + (generic_ooo_vec_mask): ditto + (generic_ooo_vec_vesetvl): ditto + (generic_ooo_vec_setrm): ditto + (generic_ooo_vec_readlen): ditto + * config/riscv/riscv.md: include generic-vector-ooo + * config/riscv/generic-vector-ooo.md: New file. to here + +2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + Revert: + 2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + * config/riscv/riscv.cc (riscv_sched_variable_issue): enable assert + +2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + * config/riscv/riscv.cc (riscv_sched_variable_issue): enable assert + +2024-02-01 Edwin Lu <ewlu@rivosinc.com> + Robin Dapp <rdapp.gcc@gmail.com> + + * config/riscv/generic-ooo.md (generic_ooo): Move reservation + (generic_ooo_vec_load): ditto + (generic_ooo_vec_store): ditto + (generic_ooo_vec_loadstore_seg): ditto + (generic_ooo_vec_alu): ditto + (generic_ooo_vec_fcmp): ditto + (generic_ooo_vec_imul): ditto + (generic_ooo_vec_fadd): ditto + (generic_ooo_vec_fmul): ditto + (generic_ooo_crypto): ditto + (generic_ooo_perm): ditto + (generic_ooo_vec_reduction): ditto + (generic_ooo_vec_ordered_reduction): ditto + (generic_ooo_vec_idiv): ditto + (generic_ooo_vec_float_divsqrt): ditto + (generic_ooo_vec_mask): ditto + (generic_ooo_vec_vesetvl): ditto + (generic_ooo_vec_setrm): ditto + (generic_ooo_vec_readlen): ditto + * config/riscv/riscv.md: include generic-vector-ooo + * config/riscv/generic-vector-ooo.md: New file. to here + +2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + * config/riscv/generic-ooo.md (generic_ooo_sfb_alu): Add reservation + (generic_ooo_branch): ditto + * config/riscv/generic.md (generic_sfb_alu): ditto + (generic_fmul_half): ditto + * config/riscv/riscv.md: Remove cbo, pushpop, and rdfrm types + * config/riscv/sifive-7.md (sifive_7_hfma):Add reservation + (sifive_7_popcount): ditto + * config/riscv/vector.md: change rdfrm to fmove + * config/riscv/zc.md: change pushpop to load/store + +2024-02-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113657 + * config/aarch64/aarch64-simd.md (split for movv8di): + For strict aligned mode, use DImode instead of TImode. + +2024-01-31 Robin Dapp <rdapp@ventanamicro.com> + + PR middle-end/113607 + * match.pd: Make sure else values match when folding a + vec_cond into a conditional operation. + +2024-01-31 Marek Polacek <polacek@redhat.com> + + * doc/invoke.texi: Mention that -fconcepts-ts was deprecated in GCC 14. + +2024-01-31 Tamar Christina <tamar.christina@arm.com> + Matthew Malcomson <matthew.malcomson@arm.com> + + PR sanitizer/112644 + * asan.h (asan_intercepted_p): Incercept memset, memmove, memcpy and + memcmp. + * builtins.cc (expand_builtin): Include HWASAN when checking for + builtin inlining. + +2024-01-31 Richard Biener <rguenther@suse.de> + + PR middle-end/110176 + * match.pd (zext (bool) <= (int) 4294967295u): Make sure + to match INTEGER_CST only without outstanding conversion. + +2024-01-31 Alex Coplan <alex.coplan@arm.com> + + PR target/111677 + * config/aarch64/aarch64.cc (aarch64_reg_save_mode): Use + V16QImode for the full 16-byte FPR saves in the vector PCS case. + +2024-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/111444 + * tree-ssa-sccvn.cc (vn_reference_lookup_3): Do not use + vn_reference_lookup_2 when optimistically skipping may-defs. + +2024-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113630 + * tree-ssa-pre.cc (compute_avail): Avoid registering a + reference with a representation with not matching base + access size. + +2024-01-31 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/113656 + * simplify-rtx.cc (simplify_context::simplify_unary_operation_1) + <case FLOAT_TRUNCATE>: Fix up last argument to simplify_gen_unary. + +2024-01-31 Jakub Jelinek <jakub@redhat.com> + + PR debug/113637 + * dwarf2out.cc (loc_list_from_tree_1): Assume integral types + with BLKmode are larger than DWARF2_ADDR_SIZE. + +2024-01-31 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113639 + * gimple-lower-bitint.cc (bitint_large_huge::handle_operand_addr): + For VIEW_CONVERT_EXPR set rhs1 to its operand. + +2024-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113670 + * tree-vect-data-refs.cc (vect_check_gather_scatter): + Make sure we can take the address of the reference base. + +2024-01-31 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-mcus.def: Add AVR64DU28, AVR64DU32, ATA5787, + ATA5835, ATtiny64AUTO, ATA5700M322. + * doc/avr-mmcu.texi: Rebuild. + +2024-01-31 Alexandre Oliva <oliva@adacore.com> + + PR debug/113394 + * ipa-strub.cc (build_ref_type_for): Drop nonaliased. Adjust + caller. + +2024-01-31 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/112917 + PR middle-end/113100 + * builtins.cc (expand_builtin_stack_address): Use + STACK_ADDRESS_OFFSET. + * doc/extend.texi (__builtin_stack_address): Adjust. + * config/sparc/sparc.h (STACK_ADDRESS_OFFSET): Define. + * doc/tm.texi.in (STACK_ADDRESS_OFFSET): Document. + * doc/tm.texi: Rebuilt. + +2024-01-31 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113495 + * config/riscv/riscv-vsetvl.cc (extract_single_source): Remove. + (pre_vsetvl::compute_vsetvl_def_data): Fix compile time issue. + (pre_vsetvl::compute_transparent): New function. + (pre_vsetvl::compute_lcm_local_properties): Fix compile time time issue. + +2024-01-30 Fangrui Song <maskray@google.com> + + PR target/105576 + * config/i386/constraints.md: Define constraint "Ws". + * doc/md.texi: Document it. + +2024-01-30 Marek Polacek <polacek@redhat.com> + + PR c++/110358 + PR c++/109640 + * doc/invoke.texi: Update -Wdangling-reference description. + +2024-01-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> + + * config/xtensa/constraints.md (R, T, U): + Change define_constraint to define_memory_constraint. + * config/xtensa/predicates.md (move_operand): Don't check that a + constant pool operand size is a multiple of UNITS_PER_WORD. + * config/xtensa/xtensa.cc + (xtensa_lra_p, TARGET_LRA_P): Remove. + (xtensa_emit_move_sequence): Remove "if (reload_in_progress)" + clause as it can no longer be true. + (fixup_subreg_mem): Drop function. + (xtensa_output_integer_literal_parts): Consider 16-bit wide + constants. + (xtensa_legitimate_constant_p): Add short-circuit path for + integer load instructions. Don't check that mode size is + at least UNITS_PER_WORD. + * config/xtensa/xtensa.md (movsf): Use can_create_pseudo_p() + rather reload_in_progress and reload_completed. + (doloop_end): Drop operand 2. + (movhi_internal): Add alternative loading constant from a + literal pool. + (define_split for DI register_operand): Don't limit to + !TARGET_AUTO_LITPOOLS. + * config/xtensa/xtensa.opt (mlra): Change to no effect. + +2024-01-30 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_v_vls_mode_aggregate_gpr_count): New function to + calculate the gpr count required by vls mode. + (riscv_v_vls_to_gpr_mode): New function convert vls mode to gpr mode. + (riscv_pass_vls_aggregate_in_gpr): New function to return the rtx of gpr + for vls mode. + (riscv_get_arg_info): Add vls mode handling. + (riscv_pass_by_reference): Return false if arg info has no zero gpr count. + +2024-01-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113659 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Handle main exit without virtual use. + +2024-01-30 Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv.md: Move UNSPEC_XTHEADFMV* to unspec enum. + +2024-01-30 Iain Sandoe <iain@sandoe.co.uk> + + PR libgcc/113403 + * config/darwin.h (DARWIN_SHARED_WEAK_ADDS, DARWIN_WEAK_CRTS): New. + (REAL_LIBGCC_SPEC): Move weak CRT handling to separate spec. + * config/i386/darwin.h (DARWIN_HEAP_T_LIB): New. + * config/i386/darwin32-biarch.h (DARWIN_HEAP_T_LIB): New. + * config/i386/darwin64-biarch.h (DARWIN_HEAP_T_LIB): New. + * config/rs6000/darwin.h (DARWIN_HEAP_T_LIB): New. + +2024-01-30 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113623 + * config/aarch64/aarch64-early-ra.cc (early_ra::preprocess_insns): + Mark all registers that occur in addresses as needing a GPR. + +2024-01-30 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113636 + * config/aarch64/aarch64-early-ra.cc (early_ra::replace_regs): Take + the containing insn as an extra parameter. Reset debug instructions + if they reference a register that is no longer used by real insns. + (early_ra::apply_allocation): Update calls accordingly. + +2024-01-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113603 + * tree-ssa-strlen.cc (strlen_pass::handle_store): After + count_nonzero_bytes call refetch si using get_strinfo in case it + has been unshared in the meantime. + +2024-01-30 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/101195 + * except.cc (expand_builtin_eh_return_data_regno): If which doesn't + fit into unsigned HOST_WIDE_INT, return constm1_rtx. + +2024-01-30 Jin Ma <jinma@linux.alibaba.com> + + * config/riscv/thead.cc (th_print_operand_address): Change %ld + to %lld. + +2024-01-29 Manos Anagnostakis <manos.anagnostakis@vrull.eu> + Manolis Tsamis <manolis.tsamis@vrull.eu> + Philipp Tomsich <philipp.tomsich@vrull.eu> + + * config/aarch64/aarch64-ldpstp.md: Remove unused mode. + * config/aarch64/aarch64-protos.h (aarch64_operands_ok_for_ldpstp): + Likewise. + * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): + Call on framework moved later. + +2024-01-29 Jose E. Marchesi <jose.marchesi@oracle.com> + + * config/bpf/bpf.cc (bpf_expand_epilogue): Do not emit a return + instruction in naked function epilogues. + +2024-01-29 YunQiang Su <syq@gcc.gnu.org> + + PR target/113655 + * configure.ac: Fix typo gcc_cv_as_mips_explicit should be + gcc_cv_as_mips_explicit_relocs. + * configure: Regnerated. + +2024-01-29 Matthieu Longo <matthieu.longo@arm.com> + + PR target/108933 + * config/arm/arm.md (arm_rev16si2): Convert to define_insn. + Correct generated RTL. + (arm_rev16si2_alt1): Correctly handle conditional execution. + (arm_rev16si2_alt2): Likewise. + +2024-01-29 Richard Biener <rguenther@suse.de> + + PR middle-end/113622 + * expr.cc (expand_assignment): Spill hard registers if + we index them with a variable offset. + +2024-01-29 Richard Biener <rguenther@suse.de> + + PR middle-end/113622 + * gimple-isel.cc (gimple_expand_vec_set_extract_expr): + Also allow DECL_HARD_REGISTER variables. + +2024-01-29 Alex Coplan <alex.coplan@arm.com> + + PR target/113616 + * config/aarch64/aarch64-ldp-fusion.cc (fixup_debug_uses_trailing_add): + Use iterate_safely when iterating over debug uses. + (fixup_debug_uses): Likewise. + (ldp_bb_info::cleanup_tombstones): Use iterate_safely to iterate + over nondebug insns instead of manually maintaining the next insn. + * iterator-utils.h (class safe_iterator): New. + (iterate_safely): New. + +2024-01-29 H.J. Lu <hjl.tools@gmail.com> + + PR target/38534 + * config/i386/i386-options.cc (ix86_set_func_type): Save + callee-saved registers in noreturn functions for -O0/-Og. + +2024-01-29 Tobias Burnus <tburnus@baylibre.com> + + PR target/113615 + * config/gcn/gcn-valu.md (fold_left_plus_<mode>): Only + define for !TARGET_RDNA2_PLUS. + +2024-01-29 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113281 + * tree-vect-patterns.cc (vect_recog_over_widening_pattern): Remove + workaround for right shifts. + (vect_truncatable_operation_p): Handle NEGATE_EXPR and BIT_NOT_EXPR. + (vect_determine_precisions_from_range): Be more selective about + which codes can be narrowed based on their input and output ranges. + For shifts, require at least one more bit of precision than the + maximum shift amount. + +2024-01-29 Tobias Burnus <tburnus@baylibre.com> + + * config/nvptx/nvptx.opt (march-map=): Add sm_89 and sm_90a. + +2024-01-29 Tobias Burnus <tburnus@baylibre.com> + + * doc/install.texi (amdgcn): Recommend LLVM 15+ and newlib 4.4+, + but keep requiring only newlib 4.3+ and, if gfx1100 is disabled, + LLVM 13.0.1+. + +2024-01-29 Tobias Burnus <tburnus@baylibre.com> + + PR other/111966 + * config/gcn/mkoffload.cc (SET_XNACK_UNSET, TEST_SRAM_ECC_UNSET): New. + (SET_SRAM_ECC_UNSUPPORTED): Renamed to ... + (SET_SRAM_ECC_UNSET): ... this. + (copy_early_debug_info): Remove gfx900 special case, now handled as + part of the generic handling. + (main): Update SRAM_ECC and XNACK for the -march as done in gcn-hsa.h. + +2024-01-29 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/110603 + * tree-ssa-strlen.cc (get_range_strlen_dynamic): Remove incorrect + setting of pdata->maxlen to vr.upper_bound (which is unconditionally + overwritten anyway). Avoid creating invalid range with minlen + larger than maxlen. Formatting fix. + +2024-01-29 Richard Biener <rguenther@suse.de> + + PR debug/103047 + * tree-inline.cc (initialize_inlined_parameters): Reverse + the decl chain of inlined parameters. + +2024-01-28 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.cc (darwin_build_constant_cfstring): Prevent over- + alignment of CFString constants by setting DECL_USER_ALIGN. + +2024-01-28 Iain Sandoe <iain@sandoe.co.uk> + Jakub Jelinek <jakub@redhat.com> + + PR libgcc/113402 + * builtins.cc (expand_builtin): Handle BUILT_IN_GCC_NESTED_PTR_CREATED + and BUILT_IN_GCC_NESTED_PTR_DELETED. + * builtins.def (BUILT_IN_GCC_NESTED_PTR_CREATED, + BUILT_IN_GCC_NESTED_PTR_DELETED): Make these builtins LIB-EXT and + rename the library fallbacks to __gcc_nested_func_ptr_created and + __gcc_nested_func_ptr_deleted. + * doc/invoke.texi: Rename these to __gcc_nested_func_ptr_created + and __gcc_nested_func_ptr_deleted. + * tree-nested.cc (finalize_nesting_tree_1): Use builtin_explicit for + BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED. + * tree.cc (build_common_builtin_nodes): Build the + BUILT_IN_GCC_NESTED_PTR_CREATED and BUILT_IN_GCC_NESTED_PTR_DELETED local + builtins only for non-explicit. + +2024-01-28 YunQiang Su <syq@gcc.gnu.org> + + * doc/invoke.texi: Remove duplicate MIPS explicit-relocs option. + +2024-01-27 H.J. Lu <hjl.tools@gmail.com> + + PR target/38534 + * config/i386/i386-options.cc (ix86_set_func_type): Don't + save and restore callee saved registers for a noreturn function + with nothrow or compiled with -fno-exceptions. + +2024-01-27 H.J. Lu <hjl.tools@gmail.com> + + PR target/103503 + PR target/113312 + * config/i386/i386-expand.cc (ix86_expand_call): Replace + no_caller_saved_registers check with call_saved_registers check. + Clobber all registers that are not used by the callee with + no_callee_saved_registers attribute. + * config/i386/i386-options.cc (ix86_set_func_type): Set + call_saved_registers to TYPE_NO_CALLEE_SAVED_REGISTERS for + noreturn function. Disallow no_callee_saved_registers with + interrupt or no_caller_saved_registers attributes together. + (ix86_set_current_function): Replace no_caller_saved_registers + check with call_saved_registers check. + (ix86_handle_no_caller_saved_registers_attribute): Renamed to ... + (ix86_handle_call_saved_registers_attribute): This. + (ix86_gnu_attributes): Add + ix86_handle_call_saved_registers_attribute. + * config/i386/i386.cc (ix86_conditional_register_usage): Replace + no_caller_saved_registers check with call_saved_registers check. + (ix86_function_ok_for_sibcall): Don't allow callee with + no_callee_saved_registers attribute when the calling function + has callee-saved registers. + (ix86_comp_type_attributes): Also check + no_callee_saved_registers. + (ix86_epilogue_uses): Replace no_caller_saved_registers check + with call_saved_registers check. + (ix86_hard_regno_scratch_ok): Likewise. + (ix86_save_reg): Replace no_caller_saved_registers check with + call_saved_registers check. Don't save any registers for + TYPE_NO_CALLEE_SAVED_REGISTERS. Save all registers with + TYPE_DEFAULT_CALL_SAVED_REGISTERS if function with + no_callee_saved_registers attribute is called. + (find_drap_reg): Replace no_caller_saved_registers check with + call_saved_registers check. + * config/i386/i386.h (call_saved_registers_type): New enum. + (machine_function): Replace no_caller_saved_registers with + call_saved_registers. + * doc/extend.texi: Document no_callee_saved_registers attribute. + +2024-01-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113614 + * gimple-lower-bitint.cc (gimple_lower_bitint): Don't merge + widening casts from signed to unsigned types with TRUNC_DIV_EXPR, + TRUNC_MOD_EXPR or FLOAT_EXPR uses. + +2024-01-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113568 + * gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt): + For VIEW_CONVERT_EXPR use first operand of rhs1 instead of rhs1 + in the widening extension checks. + +2024-01-27 Jakub Jelinek <jakub@redhat.com> + + * gimple-lower-bitint.cc (gimple_lower_bitint): For + TDF_DETAILS dump mapping of SSA_NAMEs to decls. + +2024-01-26 Hans-Peter Nilsson <hp@axis.com> + + * cgraphunit.cc (process_function_and_variable_attributes): Tweak + the warning for an attribute-always_inline without inline declaration. + +2024-01-26 Robin Dapp <rdapp@ventanamicro.com> + + PR other/113575 + * genopinit.cc (main): Split init_all_optabs into functions + of 1000 patterns each. + +2024-01-26 Tobias Burnus <tburnus@baylibre.com> + + * config.gcc (amdgcn-*-*): Add gfx1030 and gfx1100 to + TM_MULTILIB_CONFIG. + * doc/install.texi (Configuration amdgcn-*-*): Mention gfx1030/gfx1100. + * doc/invoke.texi (AMD GCN Options): Add gfx1030 and gfx1100 to + -march/-mtune. + +2024-01-26 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn-opts.h (TARGET_PACKED_WORK_ITEMS): Add TARGET_RDNA3. + * config/gcn/gcn-valu.md (all_convert): New iterator. + (<convop><V_INT_1REG_ALT:mode><V_INT_1REG:mode>2<exec>): New + define_expand, and rename the old one to ... + (*<convop><V_INT_1REG_ALT:mode><V_INT_1REG:mode>_sdwa<exec>): ... this. + (extend<V_INT_1REG_ALT:mode><V_INT_1REG:mode>2<exec>): Likewise, to ... + (extend<V_INT_1REG_ALT:mode><V_INT_1REG:mode>_sdwa<exec>): .. this. + (*<convop><V_INT_1REG_ALT:mode><V_INT_1REG:mode>_shift<exec>): New. + * config/gcn/gcn.cc (gcn_global_address_p): Use "offsetbits" correctly. + (gcn_hsa_declare_function_name): Update the vgpr counting for gfx1100. + * config/gcn/gcn.md (<u>mulhisi3): Disable on RDNA3. + (<u>mulqihi3_scalar): Likewise. + +2024-01-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113602 + * tree-data-ref.cc (dr_analyze_innermost): Fail when + the base object isn't addressable. + +2024-01-26 Tobias Burnus <tburnus@baylibre.com> + + * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): New; creates the + "--amdhsa-code-object-version=" argument. + (ASM_SPEC): Use it; replace previous version of it. + +2024-01-26 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::earliest_fuse_vsetvl_info): Refine some codes. + (pre_vsetvl::emit_vsetvl): Ditto. + +2024-01-26 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/lasx.md (vec_extract<mode>_0): + New define_insn_and_split patten. + +2024-01-26 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/loongarch.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define. + +2024-01-26 Li Wei <liwei@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_emit_swdivsf): Adjust. + +2024-01-26 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113469 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_lcm_local_properties): Fix bug. + +2024-01-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/100212 + * config/aarch64/aarch64.cc (aarch64_classify_index): Avoid + undefined shift after the call to exact_log2. + +2024-01-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/100204 + * config/aarch64/constraints.md (J): Cast to `unsigned HOST_WIDE_INT` + before taking the negative of it. + +2024-01-25 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/113526 + * lra-constraints.cc (curr_insn_transform): Change class even for + spilled pseudo successfully matched with with NO_REGS. + +2024-01-25 Georg-Johann Lay <avr@gjlay.de> + + PR target/113601 + * config/avr/avr-mcus.def (atmega3208, atmega3209): Fix data_section_start. + +2024-01-25 Szabolcs Nagy <szabolcs.nagy@arm.com> + + PR target/112987 + * config/aarch64/aarch64.cc (aarch64_gen_compare_zero_and_branch): New. + (aarch64_expand_epilogue): Use the new function. + (aarch64_split_compare_and_swap): Likewise. + (aarch64_split_atomic_op): Likewise. + +2024-01-25 Robin Dapp <rdapp.gcc@gmail.com> + + PR middle-end/112971 + * fold-const.cc (simplify_const_binop): New function for binop + simplification of two constant vectors when element-wise + handling is not necessary. + (const_binop): Call new function. + +2024-01-25 Mary Bennett <mary.bennett@embecosm.com> + + * common/config/riscv/riscv-common.cc: Add XCVbitmanip. + * config/riscv/constraints.md: Likewise. + * config/riscv/corev.def: Likewise. + * config/riscv/corev.md: Likewise. + * config/riscv/predicates.md: Likewise. + * config/riscv/riscv-builtins.cc (AVAIL): Likewise. + * config/riscv/riscv-ftypes.def: Likewise. + * config/riscv/riscv.opt: Likewise. + * config/riscv/riscv.cc (riscv_print_operand): Add new operand 'Y'. + * doc/extend.texi: Add XCVbitmanip builtin documentation. + * doc/sourcebuild.texi: Likewise. + +2024-01-25 Tobias Burnus <tburnus@baylibre.com> + + * config/gcn/gcn-hsa.h (ASM_SPEC): Add space after -mxnack= argument. + +2024-01-25 Yanzhang Wang <yanzhang.wang@intel.com> + + PR target/113538 + * config/riscv/riscv.cc (riscv_get_arg_info): Remove the flag. + (riscv_fntype_abi): Ditto. + * config/riscv/riscv.opt: Ditto. + +2024-01-25 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113574 + * convert.cc (convert_to_integer_1) <case LSHIFT_EXPR>: Compare shift + count against TYPE_PRECISION rather than TYPE_SIZE. + +2024-01-25 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113572 + * config/aarch64/aarch64-sve-builtins.cc (vector_cst_all_same): + Check VECTOR_CST_ELT instead of VECTOR_CST_ENCODED_ELT + +2024-01-25 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113550 + * config/aarch64/aarch64-simd.md: In the movv8di splitter, check + whether each split instruction is a load that clobbers the source + address. Emit that instruction last if so. + +2024-01-25 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113485 + * config/aarch64/aarch64-simd.md (aarch64_zip1<mode>_low): New + pattern. + (<optab><Vnarrowq><mode>2): Use it instead of generating a + paradoxical subreg for the input. + +2024-01-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc (get_all_predecessors): New function. + (pre_vsetvl::pre_global_vsetvl_info): Add LCM delete block all + predecessors dump information. + +2024-01-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_vsetvl_def_data): Remove + redundant full available computation. + (pre_vsetvl::pre_global_vsetvl_info): Ditto. + +2024-01-25 Jakub Jelinek <jakub@redhat.com> + + * doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns. + * doc/rtl.texi (CONST_VECTOR): Likewise. + +2024-01-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-opts.h (enum vsetvl_strategy_enum): Add optim-no-fusion option. + * config/riscv/riscv-vsetvl.cc (pass_vsetvl::lazy_vsetvl): Ditto. + (pass_vsetvl::execute): Ditto. + * config/riscv/riscv.opt: Ditto. + +2024-01-25 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/lasx.md (@vec_concatz<mode>): Remove this define_insn pattern. + * config/loongarch/loongarch.cc (loongarch_expand_vector_group_init): Use vec_concat<mode>. + +2024-01-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113576 + * tree-vect-loop.cc (vec_init_loop_exit_info): Only allow + exits with may_be_zero niters when its the last one. + +2024-01-25 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_symbolic_constant_p): + For symbols of type tls, non-zero Offset is not generated. + +2024-01-25 Haochen Gui <guihaoc@gcc.gnu.org> + + * config/rs6000/rs6000-string.cc (expand_block_compare): Enable + P9 with m32 and mpowerpc64. + +2024-01-25 liuhongt <hongtao.liu@intel.com> + + * config/i386/i386-options.cc (ix86_option_override_internal): + Enable -mlam=u57 by default when compiled with + -fsanitize=hwaddress. + +2024-01-25 Palmer Dabbelt <palmer@rivosinc.com> + + * common/config/riscv/riscv-common.cc (riscv_implied_info): + Remove {"ztso", "a"}. + +2024-01-24 Martin Jambor <mjambor@suse.cz> + + PR ipa/108007 + PR ipa/112616 + * 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. + (ipa_release_ssas_in_hash): Declare. + * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New + parameter killed_ssas, pass it to padjs->modify_call. + * ipa-param-manipulation.cc (purge_all_uses): New function. + (ipa_param_adjustments::modify_call): New parameter killed_ssas. + Instead of substituting uses, invoke purge_all_uses. If + hash of killed SSAs has not been provided, create a temporary one + and release SSAs that have been added to it. + (compare_ssa_versions): New function. + (ipa_release_ssas_in_hash): Likewise. + * 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. + +2024-01-24 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113486 + * config/aarch64/aarch64.cc (aarch64_get_reg_raw_mode): For + TARGET_GENERAL_REGS_ONLY, return VOIDmode for non-GP_REGNUM_P regno. + +2024-01-24 Monk Chiang <monk.chiang@sifive.com> + + PR target/113095 + * config/riscv/sfb.md: New splitters to rewrite single bit + sign extension as the condition to SFB instructions. + +2024-01-24 Jan Hubicka <jh@suse.cz> + + PR middle-end/88345 + * common.opt: (flimit-function-alignment): Reorder alphabeticaly + (fmin-function-alignment): New parameter. + * doc/invoke.texi: (-fmin-function-alignment): Document. + (-falign-functions,-falign-loops,-falign-labels): Mention that + aglinments are ignored in cold code. + * varasm.cc (assemble_start_function): Handle min-function-alignment. + +2024-01-24 Tamar Christina <tamar.christina@arm.com> + + PR target/109636 + * config/aarch64/aarch64-simd.md (<su_optab>div<mode>3, + mulv2di3): Remove. + * config/aarch64/iterators.md (VQDIV): Remove. + (SVE_FULL_SDI_SIMD, SVE_FULL_HSDI_SIMD_DI, + SVE_I_SIMD_DI): New. + (VPRED, sve_lane_con): Add V4SI and V2DI. + * config/aarch64/aarch64-sve.md (<optab><mode>3, + @aarch64_pred_<optab><mode>): Support Advanced SIMD types. + (mul<mode>3): New, split from <optab><mode>3. + (@aarch64_pred_<optab><mode>, *post_ra_<optab><mode>3): New. + * config/aarch64/aarch64-sve2.md (@aarch64_mul_lane_<mode>, + *aarch64_mul_unpredicated_<mode>): Change SVE_FULL_HSDI to + SVE_FULL_HSDI_SIMD_DI. + +2024-01-24 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113552 + * config/aarch64/aarch64.cc + (aarch64_simd_clone_compute_vecsize_and_simdlen): Block simdlen 1. + +2024-01-24 Martin Jambor <mjambor@suse.cz> + + PR ipa/113490 + * ipa-cp.cc (ipcp_lattice<valtype>::add_value): Bail out if value + count is equal or greater than the limit. Use the limit from the + callee. + +2024-01-24 YunQiang Su <syq@gcc.gnu.org> + + * configure.ac: Detect the explicit relocs support for + mips, and define C macro MIPS_EXPLICIT_RELOCS. + * config.in: Regenerated. + * configure: Regenerated. + * doc/invoke.texi(MIPS Options): Add -mexplicit-relocs. + * config/mips/mips-opts.h: Define enum mips_explicit_relocs. + * config/mips/mips.cc(mips_set_compression_mode): Sorry if + !TARGET_EXPLICIT_RELOCS instead of just set it. + * config/mips/mips.h: Define TARGET_EXPLICIT_RELOCS and + TARGET_EXPLICIT_RELOCS_PCREL with mips_opt_explicit_relocs. + * config/mips/mips.opt: Introduce -mexplicit-relocs= option + and define -m(no-)explicit-relocs as aliases. + +2024-01-24 Alex Coplan <alex.coplan@arm.com> + + * config/aarch64/aarch64.opt (-mearly-ldp-fusion): Set default + to 1. + (-mlate-ldp-fusion): Likewise. + +2024-01-24 Tamar Christina <tamar.christina@arm.com> + + * tree-vect-loop.cc (vect_get_vect_def, + vect_create_epilog_for_reduction): Rename main_exit_p to + last_val_reduc_p. + +2024-01-24 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113364 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): If all exits all + early exits then we must reduce from the first offset for all of them. + +2024-01-24 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113495 + * config/riscv/riscv-vsetvl.cc (get_expr_id): Remove. + (get_regno): Ditto. + (get_bb_index): Ditto. + (pre_vsetvl::compute_avl_def_data): Ditto. + (pre_vsetvl::earliest_fuse_vsetvl_info): Fix large memory usage. + (pre_vsetvl::pre_global_vsetvl_info): Ditto. + +2024-01-23 Andrew Pinski <quic_apinski@quicinc.com> + Richard Sandiford <richard.sandiford@arm.com> + + PR target/100942 + * ccmp.cc (ccmp_candidate_p): Add outer argument. + Allow if the outer is true and the lhs is used more + than once. + (expand_ccmp_expr): Update call to ccmp_candidate_p. + * expr.h (expand_expr_real_gassign): Declare. + * expr.cc (expand_expr_real_gassign): New function, split out from... + (expand_expr_real_1): ...here. + * cfgexpand.cc (expand_gimple_stmt_1): Use expand_expr_real_gassign. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113089 + * config/aarch64/aarch64-ldp-fusion.cc (reset_debug_use): New. + (fixup_debug_use): New. + (fixup_debug_uses_trailing_add): New. + (fixup_debug_uses): New. Use it ... + (ldp_bb_info::fuse_pair): ... here. + (try_promote_writeback): Call fixup_debug_uses_trailing_add to + fix up debug uses of the base register that are affected by + folding in the trailing add insn. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113089 + * config/aarch64/aarch64-ldp-fusion.cc (ldp_bb_info::fuse_pair): + Update trailing nondebug uses of the base register in the case + of cancelling writeback. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113089 + * rtl-ssa/accesses.h (use_info::next_debug_insn_use): New. + (debug_insn_use_iterator): New. + (set_info::first_debug_insn_use): New. + (set_info::debug_insn_uses): New. + * rtl-ssa/member-fns.inl (use_info::next_debug_insn_use): New. + (set_info::first_debug_insn_use): New. + (set_info::debug_insn_uses): New. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113356 + * config/aarch64/aarch64-ldp-fusion.cc (ldp_bb_info::try_fuse_pair): + Don't record hazards against the opposite insn in the pair. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113070 + * config/aarch64/aarch64-ldp-fusion.cc + (struct stp_change_builder): New. + (decide_stp_strategy): Reanme to ... + (try_repurpose_store): ... this. + (ldp_bb_info::fuse_pair): Refactor to use stp_change_builder to + construct stp changes. Fix up uses when inserting new stp insns. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113070 + * rtl-ssa.h: Include hash-set.h. + * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Add + new_sets parameter and use it to keep track of new user-created sets. + (function_info::apply_changes_to_insn): Also call add_def on new sets. + (function_info::change_insns): Add hash_set to keep track of new + user-created defs. Plumb it through. + * rtl-ssa/functions.h: Add hash_set parameter to finalize_new_accesses and + apply_changes_to_insn. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113070 + * rtl-ssa/accesses.cc (function_info::create_use): New. + * rtl-ssa/changes.cc (function_info::finalize_new_accesses): + Ensure new uses end up referring to permanent defs. + * rtl-ssa/functions.h (function_info::create_use): Declare. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113070 + * rtl-ssa/changes.cc (function_info::change_insns): Split out the call + to finalize_new_accesses from the backwards placement loop, run it + forwards in a separate loop. + +2024-01-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113552 + * tree-vect-stmts.cc (vectorizable_simd_clone_call): Use + floor_log2 instead of exact_log2 on the number of calls. + +2024-01-23 Jeff Law <jlaw@ventanamicro.com> + Jakub Jelinek <jakub@redhat.com> + + * config/ia64/ia64.cc (ia64_start_function): Add ATTRIBUTE_UNUSED to + decl. + +2024-01-23 Richard Biener <rguenther@suse.de> + + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Separate single and multi-exit case when creating PHIs between + the main and epilogue. + +2024-01-23 Richard Sandiford <richard.sandiford@arm.com> + + PR target/112989 + * config/aarch64/aarch64-sve-builtins-shapes.cc (build_one): Skip + MODE_single variants of functions that don't take tuple arguments. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113114 + * config/aarch64/aarch64-ldp-fusion.cc (try_promote_writeback): + Don't assert recog success, just punt if the writeback pair + isn't recognized. + +2024-01-23 Jakub Jelinek <jakub@redhat.com> + + * config/gcn/gcn.cc (gcn_hsa_declare_function_name): Add + ATTRIBUTE_UNUSED to decl. + +2024-01-23 Richard Biener <rguenther@suse.de> + + PR debug/107058 + * dwarf2out.cc (dwarf2out_die_ref_for_decl): Gracefully + handle unexpected but bogus DIE contexts when not checking + enabled. + +2024-01-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113462 + * fold-const.cc (native_interpret_int): Don't punt if total_bytes + is larger than HOST_BITS_PER_DOUBLE_INT / BITS_PER_UNIT. + (fold_view_convert_expr): Use XALLOCAVEC buffers for types with + sizes between 129 and 8192 bytes. + +2024-01-23 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.cc (loongarch_explicit_relocs_p): + If la_opt_explicit_relocs is EXPLICIT_RELOCS_AUTO, return false + for SYMBOL_TLS_LDM and SYMBOL_TLS_GD. + (loongarch_call_tls_get_addr): Do not split symbols of + SYMBOL_TLS_LDM or SYMBOL_TLS_GD if la_opt_explicit_relocs is + EXPLICIT_RELOCS_AUTO. + +2024-01-23 Richard Biener <rguenther@suse.de> + + * alias.cc (known_base_value_p): Remove. + (find_base_value): Remove PLUS/MINUS handling + when both operands are not CONST_INT_P. + +2024-01-23 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/113255 + * alias.cc (find_base_term): Remove PLUS/MINUS handling + when both operands are not CONST_INT_P. + +2024-01-23 Richard Biener <rguenther@suse.de> + + PR debug/112718 + * dwarf2out.cc (dwarf2out_finish): Reset all type units + for the fat part of an LTO compile. + +2024-01-23 chenxiaolong <chenxiaolong@loongson.cn> + + * doc/sourcebuild.texi: Add attributes for keywords. + +2024-01-23 Sandra Loosemore <sandra@codesourcery.com> + + PR c++/90463 + * doc/invoke.texi (Warning Options): Correct lists of options + enabled by -Wall and -Wextra by checking against common.opt + and c-family/c.opt. + +2024-01-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113030 + * config/arm/parsecpu.awk (check_cpu): Use cpu_opt_alias + instead of cpu_optaliases. + (check_arch): Use arch_opt_alias instead of arch_optaliases. + +2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-protos.h (splat_to_scalar_move_p): New function. + * config/riscv/riscv-v.cc (splat_to_scalar_move_p): Ditto. + * config/riscv/vector.md: Simplify vmv.v.x. into vmv.s.x. + +2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/109092 + * config/riscv/riscv.md: Use reg instead of subreg. + +2024-01-22 Tobias Burnus <tburnus@baylibre.com> + + PR other/111966 + * config/gcn/mkoffload.cc (elf_arch): Change default to gfx900 + to match the compiler default. + (simple_object_copy_lto_debug_sections): Never unlink the outfile + on error as the caller does so. + (maybe_unlink, compile_native): Use %<...%> and %qs in fatal_error. + (main): Likewise. Fix 'mkoffload.dbg.o' cleanup. + +2024-01-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113373 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Create LC PHIs in the exit blocks where necessary. + * tree-vect-loop.cc (vectorizable_live_operation): Do not try + to handle missing LC PHIs. + (find_connected_edge): Remove. + (vect_create_epilog_for_reduction): Cleanup use of auto_vec. + +2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/vector.md: Fix vfirst/vmsbf/vmsof ratio attributes. + +2024-01-22 xuli <xuli1@eswincomputing.com> + + PR target/113420 + * config/riscv/riscv-vector-builtins.cc (has_vxrm_or_frm_p):remove. + (registered_function::overloaded_hash):refactor. + (resolve_overloaded_builtin):avoid internal ICE. + +2024-01-21 Mikael Pettersson <mikpelinux@gmail.com> + + PR target/82420 + PR target/111279 + * calls.cc (emit_library_call_value_1): Pass valid TYPE + to emit_push_insn. + * expr.cc (emit_push_insn): Likewise. + +2024-01-21 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_init_cumulative_args): Install + correcction version of last change. + +2024-01-21 Jeff Law <jlaw@ventanamicro.com> + + * config/riscv/riscv.cc (riscv_init_cumulative_args): Update and + fix bugs in signature. + +2024-01-21 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR rtl-optimization/111267 + * fwprop.cc (fwprop_propagation::profitabe_p): Rename + profitable_p method to likely_profitable_p. + (try_fwprop_subst_node): Update call to likely_profitable_p. + Only bail-out early when !prop.likely_profitable_p for instructions + that are not single sets. When comparing costs, bail-out if the + cost is unchanged and !prop.likely_profitable_p. + +2024-01-21 Sandra Loosemore <sandra@codesourcery.com> + + PR c++/90464 + * doc/invoke.texi (Warning Options): Document that -Wunused-parameter + isn't enabled by -Wunused unless -Wextra is provided, and that + -Wunused does enable -Wunused-const-variable=1 for C. Clarify that + -Wunused doesn't enable -Wunused-* options documented as behaving + otherwise, and list them explicitly. + +2024-01-21 Sandra Loosemore <sandra@codesourcery.com> + + PR c/109708 + * doc/invoke.texi (Warning Options): Fix broken example and + clean up/reorganize the others. Also describe what the short-form + options mean. + +2024-01-20 Sandra Loosemore <sandra@codesourcery.com> + + PR c/102998 + * doc/invoke.texi (Option Summary): Add -Warray-parameter. + (Warning Options): Correct/edit discussion of -Warray-parameter + to make the first example less confusing, and fill in missing info. + +2024-01-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113462 + * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): + Handle rhs1 INTEGER_CST like SSA_NAME. + +2024-01-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113491 + * tree-switch-conversion.cc (switch_conversion::build_constructors): + If elt.index has precision higher than sizetype, fold_convert it to + sizetype. + (switch_conversion::array_value_type): Return type if type is + BITINT_TYPE with precision above MAX_FIXED_MODE_SIZE or with BLKmode. + (switch_conversion::build_arrays): Use unsigned_type_for rather than + lang_hooks.types.type_for_mode if utype is BITINT_TYPE with precision + above MAX_FIXED_MODE_SIZE or with BLKmode. If utype has precision + higher than sizetype, use sizetype as tidx type and fold_convert the + subtraction to sizetype. + +2024-01-20 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (riscv_init_cumulative_args): Suppress warning. + (riscv_vector_mode_supported_any_target_p): Ditto. + +2024-01-19 Mikael Pettersson <mikpelinux@gmail.com> + + PR target/110934 + * config/m68k/m68k.cc (m68k_zero_call_used_regs): New function. + (TARGET_ZERO_CALL_USED_REGS): Define. + +2024-01-19 Mikael Pettersson <mikpelinux@gmail.com> + + PR target/108640 + * config/m68k/m68k.cc (output_andsi3): Use QImode for + address adjusted for 1-byte RMW access. + (output_iorsi3): Likewise. + (output_xorsi3): Likewise. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * doc/invoke.texi (RISC-V Options): Add list of supported + extensions. + +2024-01-19 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113495 + * config/riscv/riscv-protos.h (RVV_VLMAX): Change to regno_reg_rtx[X0_REGNUM]. + (RVV_VUNDEF): Ditto. + * config/riscv/riscv-vsetvl.cc: Add timevar. + +2024-01-19 Richard Biener <rguenther@suse.de> + + PR debug/113488 + * lto-streamer-in.cc (lto_read_tree_1): When there isn't + an early DIE but there should be, do not pretend there is. + +2024-01-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113494 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Handle endless loop on exit. Handle re-allocated PHI. + +2024-01-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113464 + * gimple-lower-bitint.cc (gimple_lower_bitint): Don't try to + optimize loads into GIMPLE_ASM stmts. + +2024-01-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113463 + * gimple-ssa-warn-restrict.cc (builtin_memref::extend_offset_range): + Only look through NOP_EXPRs if rhs1 doesn't have wider type than + lhs. + +2024-01-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113459 + * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def): Use + TREE_INT_CST_LOW of TYPE_SIZE_UNIT rather than GET_MODE_SIZE + of SCALAR_INT_TYPE_MODE if type has BLKmode. + (vn_reference_lookup_3): Likewise. Formatting fix. + +2024-01-19 Jakub Jelinek <jakub@redhat.com> + Richard Biener <rguenther@suse.de> + + * cfgexpand.cc (discover_nonconstant_array_refs_r): Force non-BLKmode + VAR_DECLs referenced in BLKmode VIEW_CONVERT_EXPRs into memory. + * expr.cc (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Do nothing + but adjust_address also for BLKmode mode and MEM op0. + +2024-01-19 Palmer Dabbelt <palmer@rivosinc.com> + + * common/config/riscv/riscv-common.cc: Add Zihpm and Zicnttr + extensions. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * doc/invoke.texi (RISC-V Options): Document the syntax of -march. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::parse_std_ext): Remove. + (riscv_subset_list::parse_multiletter_ext): Remove. + * config/riscv/riscv-subset.h + (riscv_subset_list::parse_std_ext): Remove. + (riscv_subset_list::parse_multiletter_ext): Remove. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::parse_single_std_ext): New parameter. + (riscv_subset_list::parse_single_multiletter_ext): Ditto. + (riscv_subset_list::parse_single_ext): Ditto. + (riscv_subset_list::parse): Relax the order for the input of ISA + string. + * config/riscv/riscv-subset.h + (riscv_subset_list::parse_single_std_ext): New parameter. + (riscv_subset_list::parse_single_multiletter_ext): Ditto. + (riscv_subset_list::parse_single_ext): Ditto. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::parse_base_ext): New. + (riscv_subset_list::parse): Extract part of logic into + riscv_subset_list::parse_base_ext. + * config/riscv/riscv-subset.h (riscv_subset_list::parse_base_ext): + New. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv.cc (riscv_override_options_internal): Tweak + sorry message. + +2024-01-19 Kuan-Lin Chen <rufus@andestech.com> + + * config/riscv/vector-crypto.md (UNSPEC_CLMUL): Rename to + UNSPEC_CLMUL_VC. + +2024-01-19 Sandra Loosemore <sandra@codesourcery.com> + + PR c/110029 + * doc/extend.texi (Common Variable Attributes): Explain what + happens when multiple variables with cleanups are in the same scope. + +2024-01-18 Sandra Loosemore <sandra@codesourcery.com> + + PR ipa/108470 + * doc/extend.texi (Common Function Attributes): Document that + noinline also disables some interprocedural optimizations and + improve flow to the part about using inline asm instead to + disable calls from being optimized away completely. Remove the + sentence that says noipa is mainly for internal compiler testing. + +2024-01-18 John David Anglin <danglin@gcc.gnu.org> + + PR tree-optimization/69807 + * config/pa/pa.cc (pa_option_override): Set flag_pie on TARGET_64BIT. + +2024-01-18 Brian Inglis <Brian.Inglis@Shaw.ca> + + PR target/108521 + * doc/invoke.texi (Option Summary): Remove -mcygwin and -mno-cygwin + from x86 Windows Options. + +2024-01-18 Sandra Loosemore <sandra@codesourcery.com> + + PR c/107942 + * doc/extend.texi (C Extensions): Add new section to menu. + (Function Attributes): Move dangling index entries to.... + (Const and Volatile Functions): New section. + +2024-01-18 David Malcolm <dmalcolm@redhat.com> + + PR middle-end/112684 + * toplev.cc (toplev::main): Don't ICE in + -fdiagnostics-generate-patch when exiting after options, + since no edit context will have been created. + +2024-01-18 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vectorizable_store): Do not pre-allocate + operands vector. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * Makefile.in: Emit ENABLE_DARWIN_AT_RPATH into site.exp + when ENABLE_DARWIN_AT_RPATH_TRUE is not '#'. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/thead.cc + (th_asm_output_opcode): Rewrite some instructions. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv.md (none,thv,rvv): New attribute. + (no,yes): Add an attribute to disable alternative + for xtheadvector or RVV1.0. + * config/riscv/vector.md: + Disable alternatives that destination register overlaps + source register group for xtheadvector. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-vector-builtins-bases.cc + (class th_loadstore_width): Define new builtin bases. + (class th_extract): Define new builtin bases. + (BASE): Define new builtin bases. + * config/riscv/riscv-vector-builtins-bases.h: + Define new builtin class. + * config/riscv/riscv-vector-builtins-shapes.cc + (struct th_loadstore_width_def): Define new builtin shapes. + (struct th_indexed_loadstore_width_def): + Define new builtin shapes. + (struct th_extract_def): Define new builtin shapes. + (SHAPE): Define new builtin shapes. + * config/riscv/riscv-vector-builtins-shapes.h: + Define new builtin shapes. + * config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): + Redefine DEF_RVV_FUNCTION for XTheadVector special intrinsics. + * config/riscv/riscv-vector-builtins.h + (enum required_ext): Add new XTheadVector member. + (struct function_group_info): Likewise. + * config/riscv/t-riscv: + Add thead-vector-builtins-functions.def + * config/riscv/thead-vector.md + (@pred_mov_width<vlmem_op_attr><mode>): Add new patterns. + (*pred_mov_width<vlmem_op_attr><mode>): Likewise. + (@pred_store_width<vlmem_op_attr><mode>): Likewise. + (@pred_strided_load_width<vlmem_op_attr><mode>): Likewise. + (@pred_strided_store_width<vlmem_op_attr><mode>): Likewise. + (@pred_indexed_load_width<vlmem_op_attr><mode>): Likewise. + (@pred_th_extract<mode>): Likewise. + (*pred_th_extract<mode>): Likewise. + * config/riscv/thead-vector-builtins-functions.def: New file. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * config.gcc: Add files for XTheadVector intrinsics. + * config/riscv/autovec.md: Guard XTheadVector. + * config/riscv/predicates.md: Disable immediate vl + for XTheadVector. + * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): + Add pragma for XTheadVector. + * config/riscv/riscv-string.cc (riscv_expand_block_move): + Guard XTheadVector. + * config/riscv/riscv-v.cc (vls_mode_valid_p): + Avoid autovec. + * config/riscv/riscv-vector-builtins-bases.cc: + Do not normalize vsetvl instructions for XTheadVector. + * config/riscv/riscv-vector-builtins-shapes.cc (check_type): + New check type function. + (build_one): Adjust for XTheadVector. + * config/riscv/riscv-vector-switch.def (ENTRY): + Disable fractional mode for the XTheadVector extension. + (TUPLE_ENTRY): Likewise. + * config/riscv/riscv.cc (riscv_v_adjust_bytesize): + Guard XTheadVector. + (riscv_preferred_simd_mode): Likewsie. + (riscv_autovectorize_vector_modes): Likewise. + (riscv_vector_mode_supported_any_target_p): Likewise. + (TARGET_VECTOR_MODE_SUPPORTED_ANY_TARGET_P): Likewise. + * config/riscv/thead.cc (th_asm_output_opcode): + Rewrite vsetvl instructions. + * config/riscv/vector.md: + Include thead-vector.md and change fractional LMUL + into 1 for vbool. + * config/riscv/riscv_th_vector.h: New file. + * config/riscv/thead-vector.md: New file. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/riscv-protos.h (riscv_asm_output_opcode): + Add new function to add assembler insn code prefix/suffix. + (th_asm_output_opcode): + Add Thead function to add assembler insn code prefix/suffix. + * config/riscv/riscv.cc (riscv_asm_output_opcode): + Implement function to add assembler insn code prefix/suffix. + * config/riscv/riscv.h (ASM_OUTPUT_OPCODE): + Add new function to add assembler insn code prefix/suffix. + * config/riscv/thead.cc (th_asm_output_opcode): + Implement Thead function to add assembler insn code + prefix/suffix. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * common/config/riscv/riscv-common.cc + (riscv_subset_list::parse): Add new vendor extension. + * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): + Add test marco. + * config/riscv/riscv.opt: Add new mask. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.h (DARWIN_RPATH_SPEC): Arrange for the %P spec + to be conditional on macosx-version-min. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.cc (darwin_objc1_section): Use the correct + meta-data version for constant strings. + (machopic_select_section): Assert if we fail to handle CFString + sections as Obejctive-C meta-data or drectly. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * lto-section-names.h (OFFLOAD_SECTION_NAME_PREFIX, + OFFLOAD_VAR_TABLE_SECTION_NAME, OFFLOAD_FUNC_TABLE_SECTION_NAME, + OFFLOAD_IND_FUNC_TABLE_SECTION_NAME): Provide Mach-O syntax + versions when the object format is Mach-O. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + PR target/105522 + * config/darwin.cc (machopic_select_section): Handle C and C++ + CFStrings. + (darwin_rename_builtins): Move this out of the CFString code. + (darwin_libc_has_function): Likewise. + (darwin_build_constant_cfstring): Create an anonymous var to + hold each CFString. + * config/darwin.h (ASM_OUTPUT_LABELREF): Handle constant + CFstrings. + +2024-01-18 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> + + PR bootstrap/113445 + * haifa-sched.cc (dep_list_size): Make global. + * sched-deps.cc (find_inc): Use instead of sd_lists_size(). + * sched-int.h (dep_list_size): Declare. + +2024-01-18 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/110422 + * tree-sra.cc (scan_function): Disqualify bases of operands of asm + gotos. + +2024-01-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113475 + * gimple-range-phi.h (phi_analyzer::m_phi_groups): New. + * gimple-range-phi.cc (phi_analyzer::phi_analyzer): Initialize. + (phi_analyzer::~phi_analyzer): Deallocate and free collected + phi_grous. + (phi_analyzer::process_phi): Record allocated phi_groups. + +2024-01-18 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vectorizable_store): Do not allocate + storage for gvec_oprnds elements. + +2024-01-18 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.cc (vec_init_loop_exit_info): Adjust comment, + prefer all later exits we can handle. + (vect_analyze_loop_form): Free the allocated loop body. + Adjust comments. + +2024-01-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-log.cc: Tabify. + +2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/autovec.md: Support vi variant. + +2024-01-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-devices.cc: Tabify. + +2024-01-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-c.cc: Tabify. + +2024-01-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/driver-avr.cc: Tabify. + +2024-01-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/gen-avr-mmcu-texi.cc: Tabify. + +2024-01-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/gen-avr-mmcu-specs.cc: Tabify. + +2024-01-18 Jakub Jelinek <jakub@redhat.com> + + * config/riscv/riscv.opt (mshorten-memrefs, mrelax, mcsr-check, + minline-strcmp, minline-strncmp, minline-strlen, + -param=riscv-vector-abi): Remove Bool keywords. + +2024-01-18 Jakub Jelinek <jakub@redhat.com> + + PR target/113122 + * config/i386/i386.cc (x86_function_profiler): Add -masm=intel + support. Add missing space after , in emitted assembly in some + cases. Formatting fixes. + +2024-01-18 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/loongarch.md (movsi_internal): Remove + constraint z. + +2024-01-18 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/gen-avr-mmcu-specs.cc (diagnose_rodata_in_ram): Fix typo + in the diagnostic, and capitalize the device name. + (print_mcu): Generate specs such that: + <*check_rodata_in_ram>: New. + <*cc1_misc>: Use check_rodata_in_ram instead of cc1_rodata_in_ram. + <*link_misc>: Use check_rodata_in_ram instead of link_rodata_in_ram. + <*cc1_rodata_in_ram, *link_rodata_in_ram>: Remove. + +2024-01-18 Jakub Jelinek <jakub@redhat.com> + + PR other/113399 + * common.opt (ffold-mem-offsets): Remove Target and Bool keywords, add + Common and Optimization. + +2024-01-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113431 + * tree-vect-data-refs.cc (vect_preserves_scalar_order_p): + When there is an invariant load we might not preserve + scalar order. + +2024-01-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113374 + * tree-ssa-operands.h (SET_PHI_ARG_DEF_ON_EDGE): New. + * tree-vect-loop.cc (move_early_exit_stmts): Update + virtual LC PHIs. + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Refactor. Preserve virtual LC PHIs on all exits. + +2024-01-18 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_split_symbol): + Assign the '/u' attribute to the mem. + +2024-01-18 Sandra Loosemore <sandra@codesourcery.com> + + PR middle-end/110847 + * doc/invoke.texi (Option Summary): Document negative forms of + -Wtsan and -Wxor-used-as-pow. + (Warning Options): Likewise. + +2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113429 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::earliest_fuse_vsetvl_info): Fix bug. + +2024-01-18 Sandra Loosemore <sandra@codesourcery.com> + + * doc/extend.texi (Common Function Attributes): Re-alphabetize + the table. + (Common Variable Attributes): Likewise. + (Common Type Attributes): Likewise. + +2024-01-17 Sandra Loosemore <sandra@codesourcery.com> + + PR middle-end/111659 + * doc/extend.texi (Common Variable Attributes): Fix long lines + in documentation of strict_flex_array + other minor copy-editing. + Add a cross-reference to -Wstrict-flex-arrays. + * doc/invoke.texi (Option Summary): Fix whitespace in tables + before -fstrict-flex-arrays and -Wstrict-flex-arrays. + (C Dialect Options): Combine the docs for the two + -fstrict-flex-arrays forms into a single entry. Note this option + is for C/C++ only. Add a cross-reference to -Wstrict-flex-arrays. + (Warning Options): Note -Wstrict-flex-arrays is for C/C++ only. + Minor copy-editing. Add cross references to the strict_flex_array + attribute and -fstrict-flex-arrays option. Add note that this + option depends on -ftree-vrp. + +2024-01-17 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113221 + * config/aarch64/predicates.md (aarch64_ldp_reg_operand): For subreg, + only allow REG operands instead of allowing all. + +2024-01-17 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv-vsetvl.cc (earliest_fuse_vsetvl_info): + Remove redundant checks in else condition for readablity. + (earliest_fuse_vsetvl_info) Print iteration count in debug + prints. + (earliest_fuse_vsetvl_info) Fix misleading vsetvl info + dump details in certain cases. + +2024-01-17 Vineet Gupta <vineetg@rivosinc.com> + + * config/riscv/riscv.opt: New -param=vsetvl-strategy. + * config/riscv/riscv-opts.h: New enum vsetvl_strategy_enum. + * config/riscv/riscv-vsetvl.cc + (pre_vsetvl::pre_global_vsetvl_info): Use vsetvl_strategy. + (pass_vsetvl::execute): Use vsetvl_strategy. + +2024-01-17 Jan Hubicka <jh@suse.cz> + + * ipa-polymorphic-call.cc (ipa_polymorphic_call_context::set_by_invariant): Remove + accidental hack reseting offset. + +2024-01-17 Jan Hubicka <jh@suse.cz> + + * config/i386/i386-options.cc (ix86_option_override_internal): Fix + handling of X86_TUNE_AVOID_512FMA_CHAINS. + +2024-01-17 Jan Hubicka <jh@suse.cz> + Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/110852 + * predict.cc (expr_expected_value_1): Fix profile merging of PHI and + binary operations + (get_predictor_value): Handle PRED_COMBINED_VALUE_PREDICTIONS and + PRED_COMBINED_VALUE_PREDICTIONS_PHI + * predict.def (PRED_COMBINED_VALUE_PREDICTIONS): New predictor. + (PRED_COMBINED_VALUE_PREDICTIONS_PHI): New predictor. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113421 + * gimple-lower-bitint.cc (stmt_needs_operand_addr): Adjust function + comment. + (bitint_dom_walker::before_dom_children): Add g temporary to simplify + formatting. Start at vop rather than cvop even if stmt is a store + and needs_operand_addr. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113410 + * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes): + If access_nelts is integral with larger precision than sizetype, + fold_convert it to sizetype. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113408 + * gimple-lower-bitint.cc (bitint_large_huge::handle_stmt): For + VIEW_CONVERT_EXPR, pass TREE_OPERAND (rhs1, 0) rather than rhs1 + to handle_cast. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113406 + * ipa-strub.cc (pass_ipa_strub::execute): Check aggregate_value_p + regardless of whether is_gimple_reg_type (restype) or not. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + * tree-into-ssa.cc (pass_build_ssa::gate): Fix comment typo, + funcions -> functions, and use were instead of was. + * gengtype.cc (dump_typekind): Fix comment typos, funcion -> function + and guaranteee -> guarantee. + * attribs.h (struct attr_access): Fix comment typo funcion -> function. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113409 + * omp-general.cc (omp_adjust_for_condition): Handle BITINT_TYPE like + INTEGER_TYPE. + (omp_extract_for_data): Use build_bitint_type rather than + build_nonstandard_integer_type if either iter_type or loop->v type + is BITINT_TYPE. + * omp-expand.cc (expand_omp_for_generic, + expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): Handle + BITINT_TYPE like INTEGER_TYPE. + +2024-01-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113371 + * tree-vect-data-refs.cc (vect_enhance_data_refs_alignment): + Do not peel when LOOP_VINFO_EARLY_BREAKS_VECT_PEELED. + * tree-vect-loop-manip.cc (vect_do_peeling): Assert we do + not perform prologue peeling when LOOP_VINFO_EARLY_BREAKS_VECT_PEELED. + +2024-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> + + PR rtl-optimization/96388 + PR rtl-optimization/111554 + * sched-deps.cc (find_inc): Avoid exponential behavior. + +2024-01-17 Sandra Loosemore <sandra@codesourcery.com> + + PR c/111693 + * doc/invoke.texi (Option Summary): Move -Wuseless-cast + from C++ Language Options to Warning Options. Add entry for + -Wuse-after-free. + (C++ Dialect Options): Move -Wuse-after-free and -Wuseless-cast + from here.... + (Warning Options): ...to here. Minor copy-editing to fix typo + and grammar. + +2024-01-17 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.cc (mips_compute_frame_info): If another + register is used as global_pointer, mark $GP live false. + +2024-01-17 Sandra Loosemore <sandra@codesourcery.com> + + PR target/112973 + * doc/extend.texi (BPF Built-in Functions): Wrap long lines and + give the section a light copy-editing pass. + +2024-01-16 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add 'cobalt-100' CPU. + * config/aarch64/aarch64-tune.md: Regenerated. + * doc/invoke.texi (-mcpu): Add cobalt-100 core. + +2024-01-16 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/112573 + * config/aarch64/aarch64.cc (aarch64_legitimize_address): Reassociate + badly formed CONST expressions. + +2024-01-16 Daniel Cederman <cederman@gaisler.com> + + * config/sparc/sparc.cc (next_active_non_empty_insn): Length 0 treated as empty + +2024-01-16 Daniel Cederman <cederman@gaisler.com> + + * config/sparc/sparc.cc (atomic_insn_for_leon3_p): Treat membar_storeload as atomic + * config/sparc/sync.md (membar_storeload): Turn into named insn + and add GR712RC errata workaround. + (membar_v8): Add GR712RC errata workaround. + +2024-01-16 Andreas Larsson <andreas@gaisler.com> + + * config/sparc/sync.md (*membar_storeload_leon3): Remove + (*membar_storeload): Enable for LEON + +2024-01-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113372 + PR middle-end/90348 + PR middle-end/110115 + PR middle-end/111422 + * cfgexpand.cc (add_scope_conflicts_2): New function. + (add_scope_conflicts_1): Use it. + +2024-01-16 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-mcus.def (avr16eb14, avr16eb20, avr16eb28, avr16eb32) + (avr16ea28, avr16ea32, avr16ea48, avr32ea28, avr32ea32, avr32ea48): Add. + * doc/avr-mmcu.texi: Regenerate. + +2024-01-16 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/113091 + * tree-vect-slp.cc (vect_slp_has_scalar_use): New function. + (vect_bb_slp_mark_live_stmts): New parameter scalar_use_map, check + scalar use with new function. + (vect_bb_slp_mark_live_stmts): New function as entry to existing + overriden functions with same name. + (vect_slp_analyze_operations): Call new entry function to mark + live statements. + +2024-01-16 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113404 + * config/riscv/riscv.cc (riscv_override_options_internal): Report sorry + for RVV in big-endian mode. + +2024-01-16 Yanzhang Wang <yanzhang.wang@intel.com> + + * config/riscv/riscv.cc (riscv_arg_has_vector): Delete. + (riscv_pass_in_vector_p): Delete. + (riscv_init_cumulative_args): Delete the checking. + (riscv_get_arg_info): Delete the checking. + (riscv_function_value): Delete the checking. + * config/riscv/riscv.h: Delete the member for checking. + +2024-01-15 Georg-Johann Lay <avr@gjlay.de> + + * doc/invoke.texi (AVR Options) [-mskip-bug]: Add documentation. + +2024-01-15 Liao Shihua <shihua@iscas.ac.cn> + + * config.gcc: Include riscv_bitmanip.h. + * config/riscv/bitmanip.md: Changed mode form X to GPR in orcb and clmul pattern. + * config/riscv/crypto.md: Changed mode form X to GPR in brev8 pattern. + * config/riscv/riscv-builtins.cc (AVAIL): Adding new bitmanip builtins. + (RISCV_BUILTIN_NO_PREFIX): New helper macro. + * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Add '_32'/'_64' postfix to builtins. + * config/riscv/riscv-ftypes.def (2): New ftypes. + * config/riscv/riscv-scalar-crypto.def (RISCV_BUILTIN): New builtins. + (RISCV_BUILTIN_NO_PREFIX): Likewise. + * config/riscv/riscv_bitmanip.h: New file. + +2024-01-15 Liao Shihua <shihua@iscas.ac.cn> + + * config.gcc: Include riscv_crypto.h. + * config/riscv/riscv_crypto.h: New file. + +2024-01-15 Vladimir N. Makarov <vmakarov@redhat.com> + + PR middle-end/113354 + * lra-constraints.cc (curr_insn_transform): Spill pseudo only used + in the insn if the corresponding operand does not require hard + register anymore. + +2024-01-15 Georg-Johann Lay <avr@gjlay.de> + + PR target/107201 + * config/avr/avr.h (EXTRA_SPEC_FUNCTIONS): Add no-devlib, avr_no_devlib. + * config/avr/driver-avr.cc (avr_no_devlib): New function. + (avr_devicespecs_file): Use it to remove -nodevicelib from the + options for cores only. + * config/avr/avr-arch.h (avr_get_parch): New prototype. + * config/avr/avr-devices.cc (avr_get_parch): New function. + +2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113247 + * config/riscv/riscv-protos.h (struct regmove_vector_cost): Add vector to scalar regmove. + * config/riscv/riscv-vector-costs.cc (adjust_stmt_cost): Ditto. + * config/riscv/riscv.cc (riscv_builtin_vectorization_cost): Adjust vec_construct cost. + +2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113281 + * config/riscv/riscv-vector-costs.cc (costs::adjust_vect_cost_per_loop): New function. + (costs::finish_cost): Adjust cost for LOOP LEN with NITERS < VF. + * config/riscv/riscv-vector-costs.h: New function. + +2024-01-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113385 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + First redirect, then split the exit edge. + +2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (costs::analyze_loop_vinfo): + Remove m_num_vector_iterations. + * config/riscv/riscv-vector-costs.h: Ditto. + +2024-01-15 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113156 + * config/avr/avr.opt (-mdouble, -mlong-double): Add "Save" flag. + (-mbranch-cost): Set "Optimization" flag. + +2024-01-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113370 + * gimple-lower-bitint.cc (bitint_large_huge::handle_operand): Only + set rem to prec % (2 * limb_prec) if m_upwards_2limb, otherwise + set it to just prec % limb_prec. + +2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113393 + * config/riscv/vector.md: Fix ternary attributes. + +2024-01-14 Georg-Johann Lay <avr@gjlay.de> + + PR target/112944 + * configure.ac [target=avr]: Check availability of emulations + avrxmega2_flmap and avrxmega4_flmap, resulting in new config vars + HAVE_LD_AVR_AVRXMEGA2_FLMAP and HAVE_LD_AVR_AVRXMEGA4_FLMAP. + * configure: Regenerate. + * config.in: Regenerate. + * doc/invoke.texi (AVR Options): Document -mflmap, -mrodata-in-ram, + __AVR_HAVE_FLMAP__, __AVR_RODATA_IN_RAM__. + * config/avr/avr.opt (-mflmap, -mrodata-in-ram): New options. + * config/avr/avr-arch.h (enum avr_device_specific_features): + Add AVR_ISA_FLMAP. + * config/avr/avr-mcus.def (AVR_MCU) [avr64*, avr128*]: Set isa flag + AVR_ISA_FLMAP. + * config/avr/avr.cc (avr_arch_index, avr_has_rodata_p): New vars. + (avr_set_core_architecture): Set avr_arch_index. + (have_avrxmega2_flmap, have_avrxmega4_flmap) + (have_avrxmega3_rodata_in_flash): Set new static const bool according + to configure results. + (avr_rodata_in_flash_p): New function using them. + (avr_asm_init_sections): Let readonly_data_section->unnamed.callback + track avr_need_copy_data_p only if not avr_rodata_in_flash_p(). + (avr_asm_named_section): Track avr_has_rodata_p. + (avr_file_end): Emit __do_copy_data also when avr_has_rodata_p + and not avr_rodata_in_flash_p (). + * config/avr/specs.h (CC1_SPEC): Add %(cc1_rodata_in_ram). + (LINK_SPEC): Add %(link_rodata_in_ram). + (LINK_ARCH_SPEC): Remove. + * config/avr/gen-avr-mmcu-specs.cc (have_avrxmega3_rodata_in_flash) + (have_avrxmega2_flmap, have_avrxmega4_flmap): Set new static + const bool according to configure results. + (diagnose_mrodata_in_ram): New function. + (print_mcu): Generate specs with the following changes: + <*cc1_misc, *asm_misc, *link_misc>: New specs so that we don't + need to extend avr/specs.h each time we add a new bell or whistle. + <*cc1_rodata_in_ram, *link_rodata_in_ram>: New specs to diagnose + -m[no-]rodata-in-ram. + <*cpp_rodata_in_ram>: New. Does -D__AVR_RODATA_IN_RAM__=0/1. + <*cpp_mcu>: Add -D__AVR_AVR_FLMAP__ if it applies. + <*cpp>: Add %(cpp_rodata_in_ram). + <*link_arch>: Use emulation avrxmega2_flmap, avrxmega4_flmap as + requested. + <*self_spec>: Add -mflmap or %<mflmap as needed. + +2024-01-14 Jeff Law <jlaw@ventanamicro.com> + + * config/mips/mips.md (ior<mode>3_mips16_asmacro): Use SImode, + not the GPR iterator. Adjust pattern name and mode attribute + accordingly. + +2024-01-13 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113361 + * gimple-lower-bitint.cc (bitint_large_huge::handle_operand_addr): + Fix up determination of the type for > limb_prec constants. + +2024-01-12 Georg-Johann Lay <avr@gjlay.de> + + * doc/extend.texi (AVR Named Address Spaces, Limitations and Caveats): + Add web-link to the avr-gcc wiki. + +2024-01-12 Georg-Johann Lay <avr@gjlay.de> + + * doc/extend.texi (AVR Variable Attributes) [address]: Remove + documentation for a version without argument, which is not supported. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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_x4 + * config/arm/neon.md + (neon_vld1q_x4<mode>): Updated from neon_vld1_x4<mode>. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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<mode>): Updated from neon_vld1_x3<mode>. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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<VMEMX2_q>_x2<VDQX:mode>): Updated from + neon_vld1_x2<mode>. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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<mode>): New. + (neon_vst1x4qa<mode>, neon_vst1x4qb<mode>): New. + * config/arm/unspecs.md + (UNSPEC_VST1X4A, UNSPEC_VST1X4B): New. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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<mode>): New. + (neon_vld1x3qa<mode>, neon_vst1x3qb<mode>): New. + * config/arm/unspecs.md + (UNSPEC_VST1X3A, UNSPEC_VST1X3B): New. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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 (vst1<_x2): New entries. + * config/arm/neon.md + (neon_vst1<VMEMX2_q>_x2<VDQX:mode>): Updated from + neon_vst1_x2<mode>. + * config/arm/iterators.md + (VMEMX2): New mode iterator. + (VMEMX2_q): New mode attribute. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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<mode>): New. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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<mode>): New. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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<mode>): New. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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 + (neon_vld1_x4<mode>): New. + (neon_vld1x4qa<mode>, neon_vld1x4qb<mode>): New + * config/arm/unspecs.md + (UNSPEC_VLD1X4A, UNSPEC_VLD1X4B): New. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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 + (neon_vld1_x3<mode>): New. + (neon_vld1x3qa<mode>, neon_vld1x3qb<mode>): New. + * config/arm/unspecs.md + (UNSPEC_VLD1X3A, UNSPEC_VLD1X3B): New. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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<mode>): New. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113287 + * doc/sourcebuild.texi (check_effective_target_bitint65535): New. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + * tree-vect-loop-manip.cc (vect_loop_versioning): Replace single_exit. + * tree-vect-loop.cc (vect_transform_loop): Likewise. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113178 + * tree-vect-loop.cc (vect_create_epilog_for_reduction): Fill in all + alternate exits. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113237 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): Use + existing LCSSA variable for exit when all exits are early break. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113137 + PR tree-optimization/113136 + PR tree-optimization/113172 + PR tree-optimization/113178 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Maintain PHIs on inverted loops. + (vect_do_peeling): Maintain virtual PHIs on inverted loops. + * tree-vect-loop.cc (vec_init_loop_exit_info): Pick exit closes to + latch. + (vect_create_loop_vinfo): Record all conds instead of only alt ones. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113135 + * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): Rework + dependency analysis. + +2024-01-12 Iain Sandoe <iain@sandoe.co.uk> + + * config/rs6000/host-darwin.cc (segv_handler): Use the revised + diagnostics class member name for abort of error. + +2024-01-12 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_handle_addr_attribute): Move "..." from + format string to %s argument. + +2024-01-12 John David Anglin <danglin@gcc.gnu.org> + Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113182 + * varasm.cc (process_pending_assemble_externals, + assemble_external_libcall): Use targetm.strip_name_encoding + before calling get_identifier. + +2024-01-12 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113196 + * config/aarch64/aarch64.h (machine_function::advsimd_zero_insn): + New member variable. + * config/aarch64/aarch64-protos.h (aarch64_split_simd_shift_p): + Declare. + * config/aarch64/iterators.md (Vnarrowq2): New mode attribute. + * config/aarch64/aarch64-simd.md + (vec_unpacku_hi_<mode>, vec_unpacks_hi_<mode>): Recombine into... + (vec_unpack<su>_hi_<mode>): ...this. Move the generation of + zip2 for zero-extends to... + (aarch64_simd_vec_unpack<su>_hi_<mode>): ...a split of this + instruction. Fix big-endian handling. + (vec_unpacku_lo_<mode>, vec_unpacks_lo_<mode>): Recombine into... + (vec_unpack<su>_lo_<mode>): ...this. Move the generation of + zip1 for zero-extends to... + (<optab><Vnarrowq><mode>2): ...a split of this instruction. + Fix big-endian handling. + (*aarch64_zip1_uxtl): New pattern. + (aarch64_usubw<mode>_lo_zip, aarch64_uaddw<mode>_lo_zip): Delete + (aarch64_usubw<mode>_hi_zip, aarch64_uaddw<mode>_hi_zip): Likewise. + * config/aarch64/aarch64.cc (aarch64_get_shareable_reg): New function. + (aarch64_gen_shareable_zero): Use it. + (aarch64_split_simd_shift_p): New function. + +2024-01-12 Richard Sandiford <richard.sandiford@arm.com> + + * emit-rtl.h (rtl_data::x_function_beg_note): New member variable. + (function_beg_insn): New macro. + * function.cc (expand_function_start): Initialize function_beg_insn. + +2024-01-12 Richard Sandiford <richard.sandiford@arm.com> + + PR target/112989 + * config/aarch64/aarch64-sve-builtins.h + (function_builder::m_overload_names): Replace with... + * config/aarch64/aarch64-sve-builtins.cc (overload_names): ...this + new global. + (add_overloaded_function): Update accordingly, using get_identifier + to get a GGC-friendly record of the name. + +2024-01-12 Richard Sandiford <richard.sandiford@arm.com> + + PR target/112989 + * config/aarch64/aarch64-sve-builtins.def: Don't include + aarch64-sve-builtins-sme.def. + (DEF_SME_ZA_FUNCTION_GS, DEF_SME_ZA_FUNCTION): Move to... + * config/aarch64/aarch64-sve-builtins-sme.def: ...here. + (DEF_SME_FUNCTION): New macro. Use it and DEF_SME_FUNCTION_GS + instead of DEF_SVE_*. Add AARCH64_FL_SME to anything that + requires AARCH64_FL_SME2. + * config/aarch64/aarch64-sve-builtins-sve2.def: Make same + AARCH64_FL_SME adjustment here. + * config/aarch64/aarch64-sve-builtins.cc (function_groups): Don't + include SME intrinsics. + (sme_function_groups): New array. + (handle_arm_sve_h): Remove check for AARCH64_FL_SME. + (handle_arm_sme_h): Use sme_function_groups instead of function_groups. + +2024-01-12 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113281 + * config/riscv/riscv-protos.h (struct regmove_vector_cost): New struct. + (struct cpu_vector_cost): Add regmove struct. + (get_vector_costs): Export as global. + * config/riscv/riscv-vector-costs.cc (adjust_stmt_cost): Adjust scalar_to_vec cost. + (costs::add_stmt_cost): Ditto. + * config/riscv/riscv.cc (get_common_costs): Export global function. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113334 + * gimple-lower-bitint.cc (bitint_large_huge::handle_operand): Use + wi::neg_p (wi::to_wide (op)) instead of tree_int_cst_sgn (op) < 0 + to determine if number should be extended by all ones rather than zero + extended. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113330 + * tree-sra.cc (create_access): Punt for BITINT_TYPE accesses with + too large size. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113323 + * gimple-lower-bitint.cc (bitint_dom_walker::before_dom_children): Fix + check for lhs being large/huge _BitInt not in m_names. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113316 + * gimple-lower-bitint.cc (bitint_large_huge::lower_call): Handle + uninitialized large/huge _BitInt arguments to calls. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + * gimple-lower-bitint.cc (mergeable_op): Instead of comparing + TYPE_SIZE (t) of large/huge BITINT_TYPEs, compare + CEIL (TYPE_PRECISION (t), limb_prec). + (bitint_large_huge::handle_cast): Likewise. + +2024-01-12 Ilya Leoshkevich <iii@linux.ibm.com> + + PR sanitizer/113284 + * config/rs6000/rs6000.cc (rs6000_elf_declare_function_name): + Use assemble_function_label_final () for Power ELF V1 ABI. + * output.h (assemble_function_label_final): New function. + * varasm.cc (assemble_function_label_raw): Use + assemble_function_label_final (). + (assemble_function_label_final): New function. + +2024-01-12 Richard Biener <rguenther@suse.de> + + PR middle-end/113344 + * match.pd ((double)float CMP (double)float -> float CMP float): + Perform result type check only for vectors. + * fold-const.cc (fold_binary_loc): Likewise. + +2024-01-12 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/sse.md (sdot_prod<mode>): Remove redundant SET. + (usdot_prod<mode>): Ditto. + (sdot_prod<mode>): Ditto. + (udot_prod<mode>): Ditto. + +2024-01-12 Haochen Jiang <haochen.jiang@intel.com> + + PR target/113288 + * config/i386/i386-c.cc (ix86_target_macros_internal): + Add __AVX10_1__, __AVX10_1_256__ and __AVX10_1_512__. + +2024-01-12 Richard Biener <rguenther@suse.de> + + PR target/112280 + * config/s390/s390.cc (expand_perm_as_a_vlbr_vstbr_candidate): + Do not generate code when d.testing_p. + +2024-01-12 liuhongt <hongtao.liu@intel.com> + + PR target/113039 + * doc/invoke.texi (fcf-protection=): Update documents. + +2024-01-12 Pan Li <pan2.li@intel.com> + + * config/riscv/riscv.cc (riscv_v_ext_mode_p): Update the + comments of predicate func riscv_v_ext_mode_p. + +2024-01-12 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/riscv-vector-builtins.def (vfloat16m8_t): + Modify ABI-name length of vfloat16m8_t + +2024-01-12 Li Wei <liwei@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_expand_conditional_move): + Adjust. + +2024-01-12 Li Wei <liwei@loongson.cn> + + * config/loongarch/loongarch.md (add<mode>3): Removed. + (*addsi3): New. + (addsi3): Ditto. + (adddi3): Ditto. + (*addsi3_extended): Removed. + (addsi3_extended): New. + +2024-01-11 Jin Ma <jinma@linux.alibaba.com> + + * config/riscv/thead.md: Add limits for splits. + +2024-01-11 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/113322 + * expr.cc (do_store_flag): Don't try single bit tests with + comparison on vector types. + +2024-01-11 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/113301 + * match.pd (`1/x`): Delay signed case until late. + +2024-01-11 Georg-Johann Lay <avr@gjlay.de> + + * doc/invoke.texi (AVR Options): Move -mrmw, -mn-flash, -mshort-calls + and -msp8 to... + (AVR Internal Options): ...this new @subsubsection. + +2024-01-11 Vladimir N. Makarov <vmakarov@redhat.com> + + 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): Try to match operand without and with + narrowing reg class. Discourage narrowing the class. Finish insn + matching only if there is no class narrowing. + (curr_insn_transform): Pass true to in_class_p for reg operand win. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/112505 + * tree-vect-loop.cc (vectorizable_induction): Reject + bit-precision induction. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113126 + * match.pd ((double)float CMP (double)float -> float CMP float): + Make sure the boolean type is the same. + * fold-const.cc (fold_binary_loc): Likewise. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/112636 + * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call + estimate_numbers_of_iterations before querying + get_max_loop_iterations_int. + (pass_ch::execute): Initialize SCEV and loops appropriately. + +2024-01-11 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-devices.cc (avr_texinfo): Adjust documentation for + Reduced Tiny. + * config/avr/gen-avr-mmcu-texi.cc (main): Add @anchor for each core. + * doc/extend.texi (AVR Variable Attributes): Improve documentation + of io, io_low and address attributes. + * doc/invoke.texi (AVR Options): Add some anchors for external refs. + * doc/avr-mmcu.texi: Rebuild. + +2024-01-11 Yang Yujie <yangyujie@loongson.cn> + + PR target/113233 + * config/loongarch/genopts/loongarch.opt.in: Mark options with + the "Save" property. + * config/loongarch/loongarch.opt: Same. + * config/loongarch/loongarch-opts.cc: Refresh -mcmodel= state + according to la_target. + * config/loongarch/loongarch.cc: Implement TARGET_OPTION_{SAVE, + RESTORE} for the la_target structure; Rename option conditions + to have the same "la_" prefix. + * config/loongarch/loongarch.h: Same. + +2024-01-11 Pan Li <pan2.li@intel.com> + + * loop-unroll.cc (insert_var_expansion_initialization): Leverage + MODE_HAS_SIGNED_ZEROS for expansion variable initialization. + +2024-01-11 Alex Coplan <alex.coplan@arm.com> + + PR target/113077 + * config/aarch64/aarch64-ldp-fusion.cc (filter_notes): Add + fr_expr param to extract REG_FRAME_RELATED_EXPR notes. + (combine_reg_notes): Handle REG_FRAME_RELATED_EXPR notes, and + synthesize these if needed. Update caller ... + (ldp_bb_info::fuse_pair): ... here. + (ldp_bb_info::try_fuse_pair): Punt if either insn has writeback + and either insn is frame-related. + (find_trailing_add): Punt on frame-related insns. + * config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use + REG_FRAME_RELATED_EXPR instead of REG_CFA_OFFSET. + +2024-01-11 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.cc (mips_start_function_definition): + Add ATTRIBUTE_UNUSED. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR middle-end/112740 + * expr.cc (store_constructor): Check the integer vector + mask has a single bit per element before using sign-extension + to expand an uniform vector. + +2024-01-11 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (costs::better_main_loop_than_p): VLA + preempt VLS on unknown NITERS loop. + +2024-01-11 Haochen Jiang <haochen.jiang@intel.com> + + * doc/invoke.texi: Add -mevex512. + +2024-01-11 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/loongarch.md (one_cmpl<mode>2): Replace GPR with X. + (*nor<mode>3): Likewise. + (nor<mode>3): Likewise. + (*negsi2_extended): New template. + (*<optab>si3_internal): Likewise. + (*one_cmplsi2_internal): Likewise. + (*norsi3_internal): Likewise. + (*<optab>nsi_internal): Likewise. + (bytepick_w_<bytepick_imm>_extend): Modify this template according to the + modified bit operation to make the optimization work. + +2024-01-11 liuhongt <hongtao.liu@intel.com> + + PR target/104401 + * match.pd (VEC_COND_EXPR: A < B ? A : B -> MIN_EXPR): New patten match. + +2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv.cc (get_common_costs): Switch RVV cost model. + (get_vector_costs): Ditto. + (riscv_builtin_vectorization_cost): Ditto. + +2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (costs::better_main_loop_than_p): Minior tweak. + +2024-01-10 Antoni Boucher <bouanto@zoho.com> + + PR jit/111396 + * ipa-fnsummary.cc (ipa_fnsummary_cc_finalize): Call + ipa_free_size_summary. + * ipa-icf.cc (ipa_icf_cc_finalize): New function. + * ipa-profile.cc (ipa_profile_cc_finalize): New function. + * ipa-prop.cc (ipa_prop_cc_finalize): New function. + * ipa-prop.h (ipa_prop_cc_finalize): New function. + * ipa-sra.cc (ipa_sra_cc_finalize): New function. + * ipa-utils.h (ipa_profile_cc_finalize, ipa_icf_cc_finalize, + ipa_sra_cc_finalize): New functions. + * toplev.cc (toplev::finalize): Call ipa_icf_cc_finalize, + ipa_prop_cc_finalize, ipa_profile_cc_finalize and + ipa_sra_cc_finalize + Include ipa-utils.h. + +2024-01-10 Jin Ma <jinma@linux.alibaba.com> + + * config/riscv/riscv-protos.h (th_int_get_mask): New prototype. + (th_int_get_save_adjustment): Likewise. + (th_int_adjust_cfi_prologue): Likewise. + * config/riscv/riscv.cc (BITSET_P): Moved away from here. + (TH_INT_INTERRUPT): New macro. + (riscv_expand_prologue): Add the processing of XTheadInt. + (riscv_expand_epilogue): Likewise. + * config/riscv/riscv.h (BITSET_P): Moved to here. + * config/riscv/riscv.md: New unspec. + * config/riscv/thead.cc (th_int_get_mask): New function. + (th_int_get_save_adjustment): Likewise. + (th_int_adjust_cfi_prologue): Likewise. + * config/riscv/thead.md (th_int_push): New pattern. + (th_int_pop): new pattern. + +2024-01-10 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/112468 + * doc/sourcebuild.texi: Document ifn_copysign. + * match.pd: Only apply transformation if target supports the IFN. + +2024-01-10 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/112581 + * gimple-if-to-switch.cc (pass_if_to_switch::execute): Call + mark_ssa_maybe_undefs. + * tree-ssa-reassoc.cc (can_reassociate_op_p): Uninitialized + variables can not be reassociated. + (init_range_entry): Check for uninitialized variables too. + (init_reassoc): Call mark_ssa_maybe_undefs. + +2024-01-10 Maciej W. Rozycki <macro@embecosm.com> + + * config/riscv/riscv.cc (riscv_noce_conversion_profitable_p): + Also handle sign extension. + +2024-01-10 Alex Coplan <alex.coplan@arm.com> + + * config/aarch64/aarch64.opt (-mearly-ldp-fusion): Set default + to 0. + (-mlate-ldp-fusion): Likewise. + +2024-01-10 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113287 + * tree-vect-stmts.cc (vectorizable_early_exit): Check the flags on edge + instead of using BRANCH_EDGE to determine true edge. + +2024-01-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113078 + * tree-vect-loop.cc (check_reduction_path): Canonicalize + .COND_SUB to .COND_ADD. + +2024-01-10 David Malcolm <dmalcolm@redhat.com> + + * gcc-urlifier.cc (gcc_urlifier::get_url_suffix_for_option): + Handle prefix mappings before calling find_opt. + (selftest::gcc_urlifier_cc_tests): Add example of urlifying a + "-fno-"-prefixed command-line option. + * opts-common.cc (get_option_prefix_remapping): New. + * opts.h (get_option_prefix_remapping): New decl. + +2024-01-10 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.cc (diagnostic_context::report_diagnostic): Pass + m_urlifier to pp_output_formatted_text. + * pretty-print.cc: Add #define of INCLUDE_VECTOR. + (obstack_append_string): New overload, taking a length. + (urlify_quoted_string): Pass in an obstack ptr, rather than using + that of the pp's buffer. Generalize to handle trailing text in + the buffer beyond the run of quoted text. + (class quoting_info): New. + (on_begin_quote): New. + (on_end_quote): New. + (pp_format): Refactor phase 1 and phase 2 quoting support, moving + it to calls to on_begin_quote and on_end_quote. + (struct auto_obstack): New. + (quoting_info::handle_phase_3): New. + (pp_output_formatted_text): Add urlifier param. Use it if there + is deferred urlification. Delete m_quotes. + (selftest::pp_printf_with_urlifier): Pass urlifier to + pp_output_formatted_text. + (selftest::test_urlification): Update results for the existing + case of quoted text stradding chunks; add more such test cases. + * pretty-print.h (class quoting_info): New forward decl. + (chunk_info::m_quotes): New field. + (pp_output_formatted_text): Add optional urlifier param. + +2024-01-10 David Malcolm <dmalcolm@redhat.com> + + * pretty-print.cc (selftest::test_pp_format): Add selftest + coverage for numbered args. + +2024-01-10 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113144 + PR tree-optimization/113145 + * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg): + Update all BB that the original exits dominated. + +2024-01-10 Eric Botcazou <ebotcazou@adacore.com> + + * dwarf2out.cc (modified_type_die): Extend the support of reverse + storage order to enumeration types if -gstrict-dwarf is not passed. + (gen_enumeration_type_die): Add REVERSE parameter and generate the + DIE immediately after the existing one if it is true. + (gen_tagged_type_die): Add REVERSE parameter and pass it in the + call to gen_enumeration_type_die. + (gen_type_die_with_usage): Add REVERSE parameter and pass it in the + first recursive call as well as the call to gen_tagged_type_die. + (gen_type_die): Add REVERSE parameter and pass it in the call to + gen_type_die_with_usage. + +2024-01-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113120 + * tree-sra.cc (analyze_access_subtree): For BITINT_TYPE + with root->size TYPE_PRECISION don't build anything new. + Otherwise, if root->type is a BITINT_TYPE, use build_bitint_type + rather than build_nonstandard_integer_type. + +2024-01-10 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386.opt: Adjust document. + * doc/invoke.texi: Add description for + -mapx-inline-asm-use-gpr32. + +2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/autovec.md (<u>avg<v_double_trunc>3_floor): Remove. + (avg<v_double_trunc>3_floor): New pattern. + (<u>avg<v_double_trunc>3_ceil): Remove. + (avg<v_double_trunc>3_ceil): New pattern. + (uavg<mode>3_floor): Ditto. + (uavg<mode>3_ceil): Ditto. + * config/riscv/riscv-protos.h (enum insn_flags): Add for average addition. + (enum insn_type): Ditto. + * config/riscv/riscv-v.cc: Ditto. + * config/riscv/vector-iterators.md (ashiftrt): Remove. + (ASHIFTRT): Ditto. + * config/riscv/vector.md: Add VLS modes. + +2024-01-10 Kewen Lin <linkw@linux.ibm.com> + + PR target/111480 + * config/rs6000/vsx.md (VCZLSBB): New int iterator. + (vczlsbb_char): New int attribute. + (vclzlsbb_<mode>, vctzlsbb_<mode>): Merge to ... + (vc<vczlsbb_char>zlsbb_<mode>): ... this. + (*vctzlsbb_zext_<mode>): Rename to ... + (*vc<vczlsbb_char>zlsbb_zext_<mode>): ... this, and extend it to + cover vclzlsbb. + +2024-01-10 Kewen Lin <linkw@linux.ibm.com> + + PR target/112606 + * config/rs6000/rs6000.md (copysign<mode>3 IEEE128): Change predicate + of the last argument from altivec_register_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 altivec_register_operand, force it to + REG using copy_to_mode_reg. + +2024-01-10 Kewen Lin <linkw@linux.ibm.com> + + PR middle-end/113100 + * builtins.cc (expand_builtin_stack_address): Guard stack point + adjustment with SPARC_STACK_BOUNDARY_HACK. + +2024-01-10 Yang Yujie <yangyujie@loongson.cn> + + * config/loongarch/genopts/loongarch-strings: Remove explicit-reloc + argument string definitions. + * config/loongarch/loongarch-str.h: Same. + * config/loongarch/genopts/loongarch.opt.in: Mark -m[no-]explicit-relocs + as aliases to -mexplicit-relocs={always,none} + * config/loongarch/loongarch.opt: Regenerate. + * config/loongarch/loongarch.cc: Same. + +2024-01-10 Yang Yujie <yangyujie@loongson.cn> + + * config/loongarch/loongarch-def.h: Define constants with + enums instead of Macros. + +2024-01-10 Yang Yujie <yangyujie@loongson.cn> + + * config/loongarch/genopts/loongarch-strings: Rename. + * config/loongarch/genopts/loongarch.opt.in: Same. + * config/loongarch/loongarch-cpu.cc: Same. + * config/loongarch/loongarch-def.cc: Same. + * config/loongarch/loongarch-def.h: Same. + * config/loongarch/loongarch-opts.cc: Same. + * config/loongarch/loongarch-opts.h: Same. + * config/loongarch/loongarch-str.h: Same. + * config/loongarch/loongarch.opt: Same. + +2024-01-10 Yang Yujie <yangyujie@loongson.cn> + + * config/loongarch/genopts/genstr.sh: Prepend the isa_evolution + variable with the common la_ prefix. + * config/loongarch/genopts/loongarch.opt.in: Mark ISA evolution + flags as saved using TargetVariable. + * config/loongarch/loongarch.opt: Same. + * config/loongarch/loongarch-def.h: Define evolution_set to + mark changes to the -march default. + * config/loongarch/loongarch-driver.cc: Same. + * config/loongarch/loongarch-opts.cc: Same. + * config/loongarch/loongarch-opts.h: Define and use ISA evolution + conditions around the la_target structure. + * config/loongarch/loongarch.cc: Same. + * config/loongarch/loongarch.md: Same. + * config/loongarch/loongarch-builtins.cc: Same. + * config/loongarch/loongarch-c.cc: Same. + * config/loongarch/lasx.md: Same. + * config/loongarch/lsx.md: Same. + * config/loongarch/sync.md: Same. + +2024-01-09 Jeff Law <jlaw@ventanamicro.com> + + * config/epiphany/constraints.md (Car): Allow -1024..1023, no more, + no less. + +2024-01-09 Richard Sandiford <richard.sandiford@arm.com> + + * config/mn10300/mn10300.md (subdi3_degenerate): Add isa attribute. + +2024-01-09 Tamar Christina <tamar.christina@arm.com> + + * tree-vect-loop.cc (vectorizable_live_operation_1): Drop unused + restart_loop. + (vectorizable_live_operation): Likewise. + +2024-01-09 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113199 + * tree-vect-loop.cc (vectorizable_live_operation_1): Use + BIT_FIELD_REF. + +2024-01-09 Jakub Jelinek <jakub@redhat.com> + + PR target/113270 + * config.gcc (aarch64*-*-*): Add aarch64-builtins.h to target_gtfiles. + * config/aarch64/aarch64-builtins.cc (aarch64_simd_types): Add extern + GTY(()) declaration before the definition, drop GTY(()) drom the + definition. + +2024-01-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113026 + * tree-vect-loop-manip.cc (vect_do_peeling): Remove + redundant and wrong niter bound setting. Move niter + bound adjustment down. + +2024-01-09 Tamar Christina <tamar.christina@arm.com> + + PR middle-end/113163 + * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): + Reject non-linear inductions that aren't supported. + +2024-01-09 Roger Sayle <roger@nextmovesoftware.com> + + * config/arc/arc.cc (arc_shift_alg): New enumerated type for + left shift implementation strategies. + (arc_shift_info): Type for each entry of the shift strategy table. + (arc_shift_context_idx): Return a integer value for each code + generation context, used as an index + (arc_ashl_alg): Table indexed by context and shifted bit count. + (arc_split_ashl): Use the arc_ashl_alg table to select SImode + left shift implementation. + (arc_rtx_costs) <case ASHIFT>: Use the arc_ashl_alg table to + provide accurate costs, when optimizing for speed or size. + +2024-01-09 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (loop_invariant_op_p): Fix loop invariant check. + +2024-01-09 Julian Brown <julian@codesourcery.com> + + * gimplify.cc (gimplify_expr): Ensure OMP_ARRAY_SECTION has been + processed out before gimplification. + * tree-pretty-print.cc (dump_generic_node): Support OMP_ARRAY_SECTION. + * tree.def (OMP_ARRAY_SECTION): New tree code. + +2024-01-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113210 + * tree-vect-loop.cc (vect_get_loop_niters): If non-INTEGER_CST + value in *number_of_iterationsm1 PLUS_EXPR 1 is folded into + INTEGER_CST, recompute *number_of_iterationsm1 as the INTEGER_CST + minus 1. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + PR rtl-optimization/113140 + * reorg.cc (fill_slots_from_thread): If we are to branch after the + last instruction of the function, create an end label. + +2024-01-09 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + PR target/112992 + * config/i386/i386-expand.cc + (ix86_convert_const_wide_int_to_broadcast): Allow call to + ix86_expand_vector_init_duplicate to fail, and return NULL_RTX. + (ix86_broadcast_from_constant): Revert recent change; Return a + suitable MEMREF independently of mode/target combinations. + (ix86_expand_vector_move): Allow ix86_expand_vector_init_duplicate + to decide whether expansion is possible/preferrable. Only try + forcing DImode constants to memory (and trying again) if calling + ix86_expand_vector_init_duplicate fails with an DImode immediate + constant. + (ix86_expand_vector_init_duplicate) <case E_V2DImode>: Try using + V4SImode for suitable immediate constants. + <case E_V4DImode>: Try using V8SImode for suitable constants. + <case E_V4HImode>: Fail for CONST_INT_P, i.e. use constant pool. + <case E_V2HImode>: Likewise. + <case E_V8HImode>: For CONST_INT_P try using V4SImode via widen. + <case E_V16QImode>: For CONT_INT_P try using V8HImode via widen. + <label widen>: Handle CONT_INTs via simplify_binary_operation. + Allow recursive calls to ix86_expand_vector_init_duplicate to fail. + <case E_V16HImode>: For CONST_INT_P try V8SImode via widen. + <case E_V32QImode>: For CONST_INT_P try V16HImode via widen. + (ix86_expand_vector_init): Move try using a broadcast for all_same + with ix86_expand_vector_init_duplicate before using constant pool. + +2024-01-09 Chung-Ju Wu <jasonwucj@gmail.com> + + * doc/invoke.texi (Arm Options): Document Cortex-M52 options. + +2024-01-09 Chung-Ju Wu <jasonwucj@gmail.com> + + * config/arm/arm-cpus.in (cortex-m52): New cpu. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm-tune.md: Regenerate. + +2024-01-09 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/lasx.md (vec_initv32qiv16qi): Rename to .. + (vec_init<mode><lasxhalf>): .. this, and extend to mode. + (@vec_concatz<mode>): New insn pattern. + * config/loongarch/loongarch.cc (loongarch_expand_vector_group_init): + Handle VALS containing two vectors. + +2024-01-09 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-builtins-functions.def (vleff): Move comments. + (vundefined): Ditto. + +2024-01-09 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/riscv-vector-builtins-bases.cc (class vandn): + Add new function_base for crypto vector. + (class bitmanip): Ditto. + (class b_reverse):Ditto. + (class vwsll): Ditto. + (class clmul): Ditto. + (class vg_nhab): Ditto. + (class crypto_vv):Ditto. + (class crypto_vi):Ditto. + (class vaeskf2_vsm3c):Ditto. + (class vsm3me): Ditto. + (BASE): Add BASE declaration for crypto vector. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): + Add crypto vector intrinsic definition. + (vbrev): Ditto. + (vclz): Ditto. + (vctz): Ditto. + (vwsll): Ditto. + (vandn): Ditto. + (vbrev8): Ditto. + (vrev8): Ditto. + (vrol): Ditto. + (vror): Ditto. + (vclmul): Ditto. + (vclmulh): Ditto. + (vghsh): Ditto. + (vgmul): Ditto. + (vaesef): Ditto. + (vaesem): Ditto. + (vaesdf): Ditto. + (vaesdm): Ditto. + (vaesz): Ditto. + (vaeskf1): Ditto. + (vaeskf2): Ditto. + (vsha2ms): Ditto. + (vsha2ch): Ditto. + (vsha2cl): Ditto. + (vsm4k): Ditto. + (vsm4r): Ditto. + (vsm3me): Ditto. + (vsm3c): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct crypto_vv_def): + Add new function_shape for crypto vector. + (struct crypto_vi_def): Ditto. + (struct crypto_vv_no_op_type_def): Ditto. + (SHAPE): Add SHAPE declaration of crypto vector. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_CRYPTO_SEW32_OPS): + Add new data type for crypto vector. + (DEF_RVV_CRYPTO_SEW64_OPS): 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_CRYPTO_SEW32_OPS): + Add new data struct for crypto vector. + (DEF_RVV_CRYPTO_SEW64_OPS): Ditto. + (registered_function::overloaded_hash): Processing size_t uimm for C overloaded func. + * config/riscv/riscv-vector-builtins.def (vi): Add vi OP_TYPE. + +2024-01-08 Ilya Leoshkevich <iii@linux.ibm.com> + + PR sanitizer/113251 + * varasm.cc (assemble_function_label_raw): Do not call + asan_function_start () without the current function. + +2024-01-08 Cupertino Miranda <cupertino.miranda@oracle.com> + + PR target/113225 + * btfout.cc (btf_collect_datasec): Skip creating BTF info for + extern and kernel_helper attributed function decls. + +2024-01-08 Cupertino Miranda <cupertino.miranda@oracle.com> + + * btfout.cc (output_btf_strs): Changed. + +2024-01-08 Tobias Burnus <tobias@codesourcery.com> + + * config/gcn/mkoffload.cc (main): Handle gfx1100 + when setting the default XNACK. + +2024-01-08 Tobias Burnus <tobias@codesourcery.com> + + * config.gcc (amdgcn-*-amdhsa): Accept --with-arch=gfx1100. + * config/gcn/gcn-hsa.h (NO_XNACK): Add gfx1100: + (ASM_SPEC): Handle gfx1100. + * config/gcn/gcn-opts.h (enum processor_type): Add PROCESSOR_GFX1100. + (enum gcn_isa): Add ISA_RDNA3. + (TARGET_GFX1100, TARGET_RDNA2_PLUS, TARGET_RDNA3): Define. + * config/gcn/gcn-valu.md: Change TARGET_RDNA2 to TARGET_RDNA2_PLUS. + * config/gcn/gcn.cc (gcn_option_override, + gcn_omp_device_kind_arch_isa, output_file_start): Handle gfx1100. + (gcn_global_address_p, gcn_addr_space_legitimate_address_p): Change + TARGET_RDNA2 to TARGET_RDNA2_PLUS. + (gcn_hsa_declare_function_name): Don't use '.amdhsa_reserve_flat_scratch' + with gfx1100. + * config/gcn/gcn.h (ASSEMBLER_DIALECT): Likewise. + (TARGET_CPU_CPP_BUILTINS): Define __RDNA3__, __gfx1030__ and + __gfx1100__. + * config/gcn/gcn.md: Change TARGET_RDNA2 to TARGET_RDNA2_PLUS. + * config/gcn/gcn.opt (Enum gpu_type): Add gfx1100. + * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1100): Define. + (isa_has_combined_avgprs, main): Handle gfx1100. + * config/gcn/t-omp-device (isa): Add gfx1100. + +2024-01-08 Richard Biener <rguenther@suse.de> + + * doc/invoke.texi (-mmovbe): Clarify. + +2024-01-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113026 + * tree-vect-loop.cc (vect_need_peeling_or_partial_vectors_p): + Avoid an epilog in more cases. + * tree-vect-loop-manip.cc (vect_do_peeling): Adjust the + epilogues niter upper bounds and estimates. + +2024-01-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113228 + * gimplify.cc (recalculate_side_effects): Do nothing for SSA_NAMEs. + +2024-01-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113120 + * gimple-lower-bitint.cc (gimple_lower_bitint): Fix handling of very + large _BitInt zero INTEGER_CST PHI argument. + +2024-01-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113119 + * gimple-lower-bitint.cc (optimizable_arith_overflow): Punt if + both REALPART_EXPR and cast from IMAGPART_EXPR appear, but cast + is before REALPART_EXPR. + +2024-01-08 Georg-Johann Lay <avr@gjlay.de> + + PR target/112952 + * config/avr/avr.cc (avr_handle_addr_attribute): Also print valid + range when diagnosing attribute "io" and "io_low" are out of range. + (avr_eval_addr_attrib): Don't ICE on empty address at that place. + (avr_insert_attributes): Reject if attribute "address", "io" or "io_low" + in contexts other than static storage. + (avr_asm_output_aligned_decl_common): Move output of decls with + attribute "address", "io", and "io_low" to... + (avr_output_addr_attrib): ...this new function. + (avr_asm_asm_output_aligned_bss): Remove output for decls with + attribute "address", "io", and "io_low". + (avr_encode_section_info): Rectify handling of decls with attribute + "address", "io", and "io_low". + +2024-01-08 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/mkoffload.cc (TEST_XNACK_UNSET): New. + (elf_flags): Remove XNACK from the default value. + (main): Set a default XNACK according to the arch. + +2024-01-08 Andrew Stubbs <ams@codesourcery.com> + + * config/gcn/mkoffload.cc (isa_has_combined_avgprs): Delete. + (process_asm): Don't count avgprs. + +2024-01-08 Hongyu Wang <hongyu.wang@intel.com> + + * config/i386/i386.opt: Add supported sub-features. + * doc/extend.texi: Add description for target attribute. + +2024-01-08 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/vector.md: Modify avl_type operand index of zvbc ins. + +2024-01-07 Roger Sayle <roger@nextmovesoftware.com> + Uros Bizjak <ubizjak@gmail.com> + + PR target/113231 + * config/i386/i386-features.cc (compute_convert_gain): Include + the overhead of explicit load and store (movd) instructions when + converting non-store scalar operations with memory destinations. + Various indentation whitespace fixes. + +2024-01-07 Tamar Christina <tamar.christina@arm.com> + + * config/arm/neon.md (cbranch<mode>4): New. + +2024-01-07 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vsetvl.cc: replace std::max by MAX. + +2024-01-06 Jiahao Xu <xujiahao@loongson.cn> + + * config/loongarch/lasx.md: Set the unused bits in operand[3] to 0. + +2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113248 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::fuse_local_vsetvl_info): + Update the MAX_SEW. + +2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (loop_invariant_op_p): New function. + (variable_vectorized_p): Teach loop invariant. + (has_unexpected_spills_p): Ditto. + +2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-protos.h (whole_reg_to_reg_move_p): New function. + * config/riscv/riscv-v.cc (whole_reg_to_reg_move_p): Ditto. + * config/riscv/vector.md: Allow non-vlmax with len = NUNITS simplification. + +2024-01-05 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113104 + * doc/invoke.texi (aarch64-sve-compare-costs): Replace with... + (aarch64-vect-compare-costs): ...this. + * config/aarch64/aarch64.opt (-param=aarch64-sve-compare-costs=): + Replace with... + (-param=aarch64-vect-compare-costs=): ...this new param. + * config/aarch64/aarch64.cc (aarch64_override_options_internal): + Don't disable it when vectorizing for Advanced SIMD only. + (aarch64_autovectorize_vector_modes): Apply VECT_COMPARE_COSTS + whenever aarch64_vect_compare_costs is true. + +2024-01-05 Lulu Cheng <chenglulu@loongson.cn> + + * config/loongarch/lasx.md (lasx_mxld_<lasxfmt_f>): + Modify the method of determining the memory offset of [x]vld/[x]vst. + (lasx_mxst_<lasxfmt_f>): Likewise. + * config/loongarch/loongarch.cc (loongarch_valid_offset_p): Delete. + (loongarch_address_insns): Likewise. + * config/loongarch/lsx.md (lsx_ld_<lsxfmt_f>): Likewise. + (lsx_st_<lsxfmt_f>): Likewise. + * config/loongarch/predicates.md (aq10b_operand): Likewise. + (aq10h_operand): Likewise. + (aq10w_operand): Likewise. + (aq10d_operand): Likewise. + +2024-01-05 Alex Coplan <alex.coplan@arm.com> + + PR target/113217 + * config/aarch64/aarch64-ldp-fusion.cc + (ldp_bb_info::try_fuse_pair): If the second access can throw, + narrow the move range to exactly that insn. + +2024-01-05 Ilya Leoshkevich <iii@linux.ibm.com> + + * asan.cc (asan_function_start): Drop switch_to_section (). + (asan_emit_stack_protection): Set .LASANPC alignment. + * config/i386/i386.cc: Use assemble_function_label_raw () + instead of ASM_OUTPUT_LABEL (). + * config/s390/s390.cc (s390_asm_output_function_label): + Likewise. + * defaults.h (ASM_OUTPUT_FUNCTION_LABEL): Likewise. + * final.cc (final_start_function_1): Drop + asan_function_start (). + * output.h (assemble_function_label_raw): New function. + * varasm.cc (assemble_function_label_raw): Likewise. + +2024-01-05 Ilya Leoshkevich <iii@linux.ibm.com> + + * config/aarch64/aarch64.cc (aarch64_declare_function_name): + Use ASM_OUTPUT_FUNCTION_LABEL (). + * config/alpha/alpha.cc (alpha_start_function): Likewise. + * config/arm/aout.h (ASM_DECLARE_FUNCTION_NAME): Likewise. + * config/arm/arm.cc (arm_asm_declare_function_name): Likewise. + * config/bfin/bfin.h (ASM_DECLARE_FUNCTION_NAME): Likewise. + * config/c6x/c6x.h (ASM_DECLARE_FUNCTION_NAME): Likewise. + * config/gcn/gcn.cc (gcn_hsa_declare_function_name): Likewise. + * config/h8300/h8300.h (ASM_DECLARE_FUNCTION_NAME): Likewise. + * config/ia64/ia64.cc (ia64_start_function): Likewise. + * config/mcore/mcore-elf.h (ASM_DECLARE_FUNCTION_NAME): + Likewise. + * config/microblaze/microblaze.cc (microblaze_function_prologue): + Likewise. + * config/mips/mips.cc (mips_start_unique_function): Return the + tree. + (mips_start_function_definition): Use + ASM_OUTPUT_FUNCTION_LABEL (). + (mips_finish_stub): Pass the tree to + mips_start_function_definition (). + (mips16_build_function_stub): Likewise. + (mips16_build_call_stub): Likewise. + (mips_output_function_prologue): Likewise. + * config/pa/pa.cc (pa_output_function_label): Use + ASM_OUTPUT_FUNCTION_LABEL (). + * config/riscv/riscv.cc (riscv_declare_function_name): Likewise. + * config/rs6000/rs6000.cc (rs6000_elf_declare_function_name): + Likewise. + (rs6000_xcoff_declare_function_name): Likewise. + +2024-01-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113201 + * tree-scalar-evolution.cc (final_value_replacement_loop): Don't call + replace_uses_by on SSA_NAME_OCCURS_IN_ABNORMAL_PHI rslt. + +2024-01-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/90693 + * tree-ssa-math-opts.cc (match_single_bit_test): If + tree_expr_nonzero_p (arg), remember it in the second argument to + IFN_POPCOUNT or lower it as arg & (arg - 1) == 0 rather than + arg ^ (arg - 1) > arg - 1. + * internal-fn.cc (expand_POPCOUNT): If second argument to + IFN_POPCOUNT suggests arg is non-zero, try to expand it as + arg & (arg - 1) == 0 rather than arg ^ (arg - 1) > arg - 1. + +2024-01-05 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv-v.cc (expand_load_store): + Remove `value`. + (expand_cond_len_op): Ditto. + (expand_gather_scatter): Ditto. + (expand_lanes_load_store): Ditto. + (expand_fold_extract_last): Ditto. + +2024-01-05 Pan Li <pan2.li@intel.com> + + Revert: + 2024-01-05 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/riscv-vector-builtins-bases.cc (class vandn): + Add new function_base for crypto vector. + (class bitmanip): Ditto. + (class b_reverse):Ditto. + (class vwsll): Ditto. + (class clmul): Ditto. + (class vg_nhab): Ditto. + (class crypto_vv):Ditto. + (class crypto_vi):Ditto. + (class vaeskf2_vsm3c):Ditto. + (class vsm3me): Ditto. + (BASE): Add BASE declaration for crypto vector. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): + Add crypto vector intrinsic definition. + (vbrev): Ditto. + (vclz): Ditto. + (vctz): Ditto. + (vwsll): Ditto. + (vandn): Ditto. + (vbrev8): Ditto. + (vrev8): Ditto. + (vrol): Ditto. + (vror): Ditto. + (vclmul): Ditto. + (vclmulh): Ditto. + (vghsh): Ditto. + (vgmul): Ditto. + (vaesef): Ditto. + (vaesem): Ditto. + (vaesdf): Ditto. + (vaesdm): Ditto. + (vaesz): Ditto. + (vaeskf1): Ditto. + (vaeskf2): Ditto. + (vsha2ms): Ditto. + (vsha2ch): Ditto. + (vsha2cl): Ditto. + (vsm4k): Ditto. + (vsm4r): Ditto. + (vsm3me): Ditto. + (vsm3c): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct crypto_vv_def): + Add new function_shape for crypto vector. + (struct crypto_vi_def): Ditto. + (struct crypto_vv_no_op_type_def): Ditto. + (SHAPE): Add SHAPE declaration of crypto vector. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_CRYPTO_SEW32_OPS): + Add new data type for crypto vector. + (DEF_RVV_CRYPTO_SEW64_OPS): 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_CRYPTO_SEW32_OPS): + Add new data struct for crypto vector. + (DEF_RVV_CRYPTO_SEW64_OPS): Ditto. + (registered_function::overloaded_hash): Processing size_t uimm for C overloaded func. + * config/riscv/riscv-vector-builtins.def (vi): Add vi OP_TYPE. + +2024-01-05 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/riscv-vector-builtins-bases.cc (class vandn): + Add new function_base for crypto vector. + (class bitmanip): Ditto. + (class b_reverse):Ditto. + (class vwsll): Ditto. + (class clmul): Ditto. + (class vg_nhab): Ditto. + (class crypto_vv):Ditto. + (class crypto_vi):Ditto. + (class vaeskf2_vsm3c):Ditto. + (class vsm3me): Ditto. + (BASE): Add BASE declaration for crypto vector. + * config/riscv/riscv-vector-builtins-bases.h: Ditto. + * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): + Add crypto vector intrinsic definition. + (vbrev): Ditto. + (vclz): Ditto. + (vctz): Ditto. + (vwsll): Ditto. + (vandn): Ditto. + (vbrev8): Ditto. + (vrev8): Ditto. + (vrol): Ditto. + (vror): Ditto. + (vclmul): Ditto. + (vclmulh): Ditto. + (vghsh): Ditto. + (vgmul): Ditto. + (vaesef): Ditto. + (vaesem): Ditto. + (vaesdf): Ditto. + (vaesdm): Ditto. + (vaesz): Ditto. + (vaeskf1): Ditto. + (vaeskf2): Ditto. + (vsha2ms): Ditto. + (vsha2ch): Ditto. + (vsha2cl): Ditto. + (vsm4k): Ditto. + (vsm4r): Ditto. + (vsm3me): Ditto. + (vsm3c): Ditto. + * config/riscv/riscv-vector-builtins-shapes.cc (struct crypto_vv_def): + Add new function_shape for crypto vector. + (struct crypto_vi_def): Ditto. + (struct crypto_vv_no_op_type_def): Ditto. + (SHAPE): Add SHAPE declaration of crypto vector. + * config/riscv/riscv-vector-builtins-shapes.h: Ditto. + * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_CRYPTO_SEW32_OPS): + Add new data type for crypto vector. + (DEF_RVV_CRYPTO_SEW64_OPS): 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_CRYPTO_SEW32_OPS): + Add new data struct for crypto vector. + (DEF_RVV_CRYPTO_SEW64_OPS): Ditto. + (registered_function::overloaded_hash): Processing size_t uimm for C overloaded func. + * config/riscv/riscv-vector-builtins.def (vi): Add vi OP_TYPE. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant. + +2024-01-04 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/113186 + * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): + Match `^` with the `==` for 1bit integral types. + * match.pd (maybe_cmp): Allow for bit_xor for 1bit + integral types. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * toplev.cc (general_init): Pass lang_mask to urlifier. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * diagnostic.h (diagnostic_make_option_url_cb): Add lang_mask + param. + (diagnostic_context::make_option_url): Update for lang_mask param. + * gcc-urlifier.cc: Include "opts.h" and "options.h". + (gcc_urlifier::gcc_urlifier): Add lang_mask param. + (gcc_urlifier::m_lang_mask): New field. + (doc_urls): Make static. + (gcc_urlifier::get_url_for_quoted_text): Use label_text. + (gcc_urlifier::get_url_suffix_for_quoted_text): Use label_text. + Look for an option by name before trying a binary search in + doc_urls. + (gcc_urlifier::get_url_suffix_for_quoted_text): Use label_text. + (gcc_urlifier::get_url_suffix_for_option): New. + (make_gcc_urlifier): Add lang_mask param. + (selftest::gcc_urlifier_cc_tests): Update for above changes. + Verify that a URL is found for "-fpack-struct". + * gcc-urlifier.def: Drop options "--version" and "-fpack-struct". + * gcc-urlifier.h (make_gcc_urlifier): Add lang_mask param. + * gcc.cc (driver::global_initializations): Pass 0 for lang_mask + to make_gcc_urlifier. + * opts-diagnostic.h (get_option_url): Add lang_mask param. + * opts.cc (get_option_html_page): Remove special-casing for + analyzer and LTO. + (get_option_url_suffix): New. + (get_option_url): Reimplement. + (selftest::test_get_option_html_page): Rename to... + (selftest::test_get_option_url_suffix): ...this and update for + above changes. + (selftest::opts_cc_tests): Update for renaming. + * opts.h: Include "rich-location.h". + (get_option_url_suffix): New decl. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (ALL_OPT_URL_FILES): New. + (GCC_OBJS): Add options-urls.o. + (OBJS): Likewise. + (OBJS-libcommon): Likewise. + (s-options): Depend on $(ALL_OPT_URL_FILES), and add this to + inputs to opt-gather.awk. + (options-urls.cc): New Makefile target. + * opt-functions.awk (url_suffix): New function. + (lang_url_suffix): New function. + * options-urls-cc-gen.awk: New file. + * opts.h (get_opt_url_suffix): New decl. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * params.opt.urls: New file, autogenerated by + regenerate-opt-urls.py. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * common.opt.urls: New file, autogenerated by + regenerate-opt-urls.py. + * config/aarch64/aarch64.opt.urls: Likewise. + * config/alpha/alpha.opt.urls: Likewise. + * config/alpha/elf.opt.urls: Likewise. + * config/arc/arc-tables.opt.urls: Likewise. + * config/arc/arc.opt.urls: Likewise. + * config/arm/arm-tables.opt.urls: Likewise. + * config/arm/arm.opt.urls: Likewise. + * config/arm/vxworks.opt.urls: Likewise. + * config/avr/avr.opt.urls: Likewise. + * config/bpf/bpf.opt.urls: Likewise. + * config/c6x/c6x-tables.opt.urls: Likewise. + * config/c6x/c6x.opt.urls: Likewise. + * config/cris/cris.opt.urls: Likewise. + * config/cris/elf.opt.urls: Likewise. + * config/csky/csky.opt.urls: Likewise. + * config/csky/csky_tables.opt.urls: Likewise. + * config/darwin.opt.urls: Likewise. + * config/dragonfly.opt.urls: Likewise. + * config/epiphany/epiphany.opt.urls: Likewise. + * config/fr30/fr30.opt.urls: Likewise. + * config/freebsd.opt.urls: Likewise. + * config/frv/frv.opt.urls: Likewise. + * config/ft32/ft32.opt.urls: Likewise. + * config/fused-madd.opt.urls: Likewise. + * config/g.opt.urls: Likewise. + * config/gcn/gcn.opt.urls: Likewise. + * config/gnu-user.opt.urls: Likewise. + * config/h8300/h8300.opt.urls: Likewise. + * config/hpux11.opt.urls: Likewise. + * config/i386/cygming.opt.urls: Likewise. + * config/i386/cygwin.opt.urls: Likewise. + * config/i386/djgpp.opt.urls: Likewise. + * config/i386/i386.opt.urls: Likewise. + * config/i386/mingw-w64.opt.urls: Likewise. + * config/i386/mingw.opt.urls: Likewise. + * config/i386/nto.opt.urls: Likewise. + * config/ia64/ia64.opt.urls: Likewise. + * config/ia64/ilp32.opt.urls: Likewise. + * config/ia64/vms.opt.urls: Likewise. + * config/iq2000/iq2000.opt.urls: Likewise. + * config/linux-android.opt.urls: Likewise. + * config/linux.opt.urls: Likewise. + * config/lm32/lm32.opt.urls: Likewise. + * config/loongarch/loongarch.opt.urls: Likewise. + * config/lynx.opt.urls: Likewise. + * config/m32c/m32c.opt.urls: Likewise. + * config/m32r/m32r.opt.urls: Likewise. + * config/m68k/ieee.opt.urls: Likewise. + * config/m68k/m68k-tables.opt.urls: Likewise. + * config/m68k/m68k.opt.urls: Likewise. + * config/m68k/uclinux.opt.urls: Likewise. + * config/mcore/mcore.opt.urls: Likewise. + * config/microblaze/microblaze.opt.urls: Likewise. + * config/mips/mips-tables.opt.urls: Likewise. + * config/mips/mips.opt.urls: Likewise. + * config/mips/sde.opt.urls: Likewise. + * config/mmix/mmix.opt.urls: Likewise. + * config/mn10300/mn10300.opt.urls: Likewise. + * config/moxie/moxie.opt.urls: Likewise. + * config/msp430/msp430.opt.urls: Likewise. + * config/nds32/nds32-elf.opt.urls: Likewise. + * config/nds32/nds32-linux.opt.urls: Likewise. + * config/nds32/nds32.opt.urls: Likewise. + * config/netbsd-elf.opt.urls: Likewise. + * config/netbsd.opt.urls: Likewise. + * config/nios2/elf.opt.urls: Likewise. + * config/nios2/nios2.opt.urls: Likewise. + * config/nvptx/nvptx-gen.opt.urls: Likewise. + * config/nvptx/nvptx.opt.urls: Likewise. + * config/openbsd.opt.urls: Likewise. + * config/or1k/elf.opt.urls: Likewise. + * config/or1k/or1k.opt.urls: Likewise. + * config/pa/pa-hpux.opt.urls: Likewise. + * config/pa/pa-hpux1010.opt.urls: Likewise. + * config/pa/pa-hpux1111.opt.urls: Likewise. + * config/pa/pa-hpux1131.opt.urls: Likewise. + * config/pa/pa.opt.urls: Likewise. + * config/pa/pa64-hpux.opt.urls: Likewise. + * config/pdp11/pdp11.opt.urls: Likewise. + * config/pru/pru.opt.urls: Likewise. + * config/riscv/riscv.opt.urls: Likewise. + * config/rl78/rl78.opt.urls: Likewise. + * config/rpath.opt.urls: Likewise. + * config/rs6000/476.opt.urls: Likewise. + * config/rs6000/aix64.opt.urls: Likewise. + * config/rs6000/darwin.opt.urls: Likewise. + * config/rs6000/linux64.opt.urls: Likewise. + * config/rs6000/rs6000-tables.opt.urls: Likewise. + * config/rs6000/rs6000.opt.urls: Likewise. + * config/rs6000/sysv4.opt.urls: Likewise. + * config/rtems.opt.urls: Likewise. + * config/rx/elf.opt.urls: Likewise. + * config/rx/rx.opt.urls: Likewise. + * config/s390/s390.opt.urls: Likewise. + * config/s390/tpf.opt.urls: Likewise. + * config/sh/sh.opt.urls: Likewise. + * config/sh/superh.opt.urls: Likewise. + * config/sol2.opt.urls: Likewise. + * config/sparc/long-double-switch.opt.urls: Likewise. + * config/sparc/sparc.opt.urls: Likewise. + * config/stormy16/stormy16.opt.urls: Likewise. + * config/v850/v850.opt.urls: Likewise. + * config/vax/elf.opt.urls: Likewise. + * config/vax/vax.opt.urls: Likewise. + * config/visium/visium.opt.urls: Likewise. + * config/vms/vms.opt.urls: Likewise. + * config/vxworks-smp.opt.urls: Likewise. + * config/vxworks.opt.urls: Likewise. + * config/xtensa/elf.opt.urls: Likewise. + * config/xtensa/uclinux.opt.urls: Likewise. + * config/xtensa/xtensa.opt.urls: Likewise. + * config/bfin/bfin.opt.urls: New file. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * Makefile.in (OPT_URLS_HTML_DEPS): New. + (regenerate-opt-urls): New target. + (regenerate-opt-urls-unit-test): New target. + * doc/options.texi (Option properties): Add UrlSuffix and + description of regenerate-opt-urls.py. Add LangUrlSuffix_*. + * doc/sourcebuild.texi (Anatomy of a Language Front End): Add + reference to regenerate-opt-urls.py's PER_LANGUAGE_OPTION_INDEXES + and Makefile.in's OPT_URLS_HTML_DEPS. + (Anatomy of a Target Back End): Add + reference to regenerate-opt-urls.py's TARGET_SPECIFIC_PAGES. + * regenerate-opt-urls.py: New file. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * diagnostic-format-sarif.cc + (sarif_builder::make_logical_location_object): Convert to... + (make_sarif_logical_location_object): ...this. + (sarif_builder::set_any_logical_locs_arr): Update for above + change. + (sarif_builder::make_thread_flow_location_object): Call + maybe_add_sarif_properties on each diagnostic_event. + * diagnostic-format-sarif.h (class logical_location): New forward + decl. + (make_sarif_logical_location_object): New decl. + * diagnostic-path.h (class sarif_object): New forward decl. + (diagnostic_event::maybe_add_sarif_properties): New vfunc. + +2024-01-04 Kuan-Lin Chen <rufus@andestech.com> + Patrick Lin <patrick@andestech.com> + Rufus Chen <rufus@andestech.com> + Monk Chiang <monk.chiang@sifive.com> + + * config/riscv/riscv.cc (riscv_legitimize_move): Expand movfh + with Nan-boxing value. + * config/riscv/riscv.md (*movhf_softfloat_unspec): New pattern. + +2024-01-04 Roger Sayle <roger@nextmovesoftware.com> + Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/104914 + * expr.cc (expand_assignment): When target is SUBREG_PROMOTED_VAR_P + a sign or zero extension is only required if the modified field + overlaps the SUBREG's most significant bit. On MODE_REP_EXTENDED + targets, don't refer to the temporarily incorrectly extended value + using a SUBREG, but instead generate an explicit TRUNCATE rtx. + +2024-01-04 Pan Li <pan2.li@intel.com> + + Revert: + 2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): Teach vi variant. + +2024-01-04 Kito Cheng <kito.cheng@sifive.com> + + * config/riscv/riscv.cc (riscv_for_each_saved_reg): Adjust the + offset of fcsr. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc (variable_vectorized_p): New function. + (compute_nregs_for_mode): Refine LMUL. + (max_number_of_live_regs): Ditto. + (compute_estimated_lmul): Ditto. + (has_unexpected_spills_p): Ditto. + +2024-01-04 Li Wei <liwei@loongson.cn> + + * config/loongarch/loongarch.cc (loongarch_is_odd_extraction): + Remove useless forward declaration. + (loongarch_is_even_extraction): Remove useless forward declaration. + (loongarch_try_expand_lsx_vshuf_const): Removed. + (loongarch_expand_vec_perm_const_1): Merged. + (loongarch_is_double_duplicate): Removed. + (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_extract): 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_expand_vec_perm_const_2): Merged. + (loongarch_expand_vec_perm_const): New. + (loongarch_vectorize_vec_perm_const): Adjust. + +2024-01-04 Sandra Loosemore <sandra@codesourcery.com> + + * omp-general.cc: Fix comment typos and misplaced/confusing + comments. Delete redundant include of omp-general.h. + +2024-01-04 YunQiang Su <syq@gcc.gnu.org> + + PR rtl-optimization/104914 + * config/mips/mips.md (insqisi_extended): New patterns. + (inshisi_extended): Ditto. + +2024-01-04 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.cc (mips_insn_cost): New function. + +2024-01-04 YunQiang Su <syq@gcc.gnu.org> + + * config/mips/mips.md (perf_ratio): New attribute. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113206 + PR target/113209 + * config/riscv/riscv-vsetvl.cc (invalid_opt_bb_p): New function. + (pre_vsetvl::compute_lcm_local_properties): Disable earliest fusion on + blocks belong to infinite loop. + (pre_vsetvl::emit_vsetvl): Remove fake edges. + * config/riscv/t-riscv: Add a new include file. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/vector.md: Fix indent. + +2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com> + + * tree-core.h (enum omp_clause_code): Move OMP_CLAUSE_INDIRECT to before + OMP_CLAUSE__SIMDUID_. + * tree.cc (omp_clause_num_ops): Update position of entry for + OMP_CLAUSE_INDIRECT to correspond with omp_clause_code. + (omp_clause_code_name): Likewise. + +2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com> + + * config/nvptx/nvptx.cc (nvptx_record_offload_symbol): Restucture + printing of FUNC_MAP/IND_FUNC_MAP labels. + +2024-01-03 Jakub Jelinek <jakub@redhat.com> + + * 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. + +2024-01-03 Xi Ruoyao <xry111@xry111.site> + + * config/loongarch/simd.md (fmax<mode>3): New define_insn. + (fmin<mode>3): Likewise. + (reduc_fmax_scal_<mode>3): New define_expand. + (reduc_fmin_scal_<mode>3): Likewise. + +2024-01-03 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113112 + * config/riscv/riscv-vector-costs.cc (compute_nregs_for_mode): Add rgroup info. + (max_number_of_live_regs): Ditto. + (has_unexpected_spills_p): Ditto. + +2024-01-02 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * config/riscv/vector.md: + Use vector_length_operand for vsetvl patterns. + +2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-v.cc (is_vlmax_len_p): Remove satisfies_constraint_K. + (expand_cond_len_op): Add simplification of dummy len and dummy mask. + +2024-01-02 Di Zhao <dizhao@os.amperecomputing.com> + + * config/aarch64/aarch64-tuning-flags.def + (AARCH64_EXTRA_TUNING_OPTION): New tuning option + AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA. + * config/aarch64/aarch64.cc + (aarch64_override_options_internal): Set + param_fully_pipelined_fma according to tuning option. + * config/aarch64/tuning_models/ampere1.h: Add + AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA to tune_flags. + * config/aarch64/tuning_models/ampere1a.h: Likewise. + * config/aarch64/tuning_models/ampere1b.h: Likewise. + +2024-01-02 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/vector-crypto.md: Modify copyright year. + +2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * config/riscv/riscv-vector-costs.cc: Move STMT_VINFO_TYPE (...) to local. + +2024-01-02 Lulu Cheng <chenglulu@loongson.cn> + + * config.in: Regenerate. + * config/loongarch/loongarch-opts.h (HAVE_AS_TLS_LE_RELAXATION): Define. + * config/loongarch/loongarch.cc (loongarch_legitimize_tls_address): + Added TLS Le Relax support. + (loongarch_print_operand_reloc): Add the output string of TLS Le Relax. + * config/loongarch/loongarch.md (@add_tls_le_relax<mode>): New template. + * configure: Regenerate. + * configure.ac: Check if binutils supports TLS le relax. + +2024-01-02 Feng Wang <wangfeng@eswincomputing.com> + + * config/riscv/iterators.md: Add rotate insn name. + * config/riscv/riscv.md: Add new insns name for crypto vector. + * config/riscv/vector-iterators.md: Add new iterators for crypto vector. + * config/riscv/vector.md: Add the corresponding attr for crypto vector. + * config/riscv/vector-crypto.md: New file.The machine descriptions for crypto vector. + +2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113112 + * config/riscv/riscv-vector-costs.cc (compute_nregs_for_mode): Fix + pointer type liveness count. + +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 +notice and this notice are preserved. diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f6b3b11ba537..501b0062a9c4 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,8301 +1,5 @@ -2024-12-22 Samuel Thibault <samuel.thibault@ens-lyon.org> - - * libgnat/system-gnu.ads: Set Max_Priority to 60. - -2024-12-22 Samuel Thibault <samuel.thibault@ens-lyon.org> - - * s-oscons-tmplt.c [__GNU__] (_XOPEN_SOURCE, _BSD_SOURCE): Define. - [__GNU__]: Include <pthread.h> and <signal.h> - [__GNU__]: Set MSG_Forced_Flags to "MSG_NOSIGNAL". - [__GNU__]: Define SIZEOF_sigset. - [__GNU__]: Define PTHREAD_*SIZE - -2024-12-18 Simon Wright <simon@pushface.org> - - PR target/117538 - * libgnat/s-trasym.adb (Symbolic_Traceback): Prepend the load - address of the executable if it is not null. - -2024-12-14 Jakub Jelinek <jakub@redhat.com> - - PR c/118011 - * gcc-interface/misc.cc (gnat_post_options): Test - !OPTION_SET_P (flag_short_enums) rather than flag_short_enums == 2. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.cc (compare_elmt_bitpos): Deal specially with - 0-sized components when the bit position is the same. - -2024-12-13 Tom Tromey <tromey@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Pass artificial_p to - create_type_decl. - -2024-12-13 Javier Miranda <miranda@adacore.com> - - * sem.ads (Inside_Preanalysis_Without_Freezing): Removed. - * sem.adb (Semantics): Remove Inside_Preanalysis_Without_Freezing. - * sem_ch6.adb (Preanalyze_Formal_Expression): Removed. - * sem_ch3.ads (Preanalyze_Assert_Expression): Add documentation. - (Preanalyze_Spec_Expression): Add documentation. - * sem_ch3.adb (Preanalyze_Assert_Expression) Code cleanup. - (Preanalyze_Default_Expression): Code cleanup. - * sem_res.ads (Preanalyze_With_Freezing_And_Resolve): Removed. - * sem_res.adb (Preanalyze_With_Freezing_And_Resolve): Removed. - (Preanalyze_And_Resolve): Code cleanup. - * freeze.adb (Freeze_Entity): No freeze under strict preanalysis. - (Freeze_Expression): Code cleanup. - (Freeze_Expr_Types): Replace call to Preanalyze_Spec_Expression by - strict preanalysis during preanalysis of a duplicate of the - expression performed to have available the minimum decoration - to locate referenced unfrozen types. - * sem_aggr.adb (Resolve_Array_Aggregate): Minor code cleanup. - * sem_attr.adb (Resolve_Attribute): Add documentation. - * sem_ch13.adb (Resolve_Aspect_Expressions[Aspect_Default_Value]): - Replace call to Preanalyze_Spec_Expression by Preanalyze_And_Resolve. - (Resolve_Aspect_Expressions[Aspect_Default_Component_Value]): Ditto. - * sem_ch8.adb (Set_Entity_Or_Discriminal): Code cleaup. - * sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): Replace - call to Preanalyze_Assert_Expression by call to Preanalyze_And_Resolve. - (Analyze_Pre_Post_Condition): Replace call to Preanayze_Spec_Expression - by call to Preanalyze_Assert_Expression. - * sem_util.ads (In_Pragma_Expression): Adding a formal to extend the - functionality of this subprogram. - (Within_Static_Expression): New subprogram. - * sem_util.adb (In_Pragma_Expression): Ditto. - (Within_Static_Expression): Ditto. - * checks.adb (Install_Null_Excluding_Check): No check during preanalysis. - (Install_Primitive_Elaboration_Check): Ditto. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.ads (Is_Delayed_Conditional_Expression): Move to... - * exp_aggr.adb (Is_Delayed_Conditional_Expression): Move to... - (Convert_To_Assignments): Use Delay_Conditional_Expressions_Between. - * exp_ch3.adb (Expand_N_Object_Declaration): Reset the Analyzed flag - by means of Unanalyze_Delayed_Conditional_Expression. - * exp_ch4.adb (Expand_N_Case_Expression): Likewise. Delay expanding - the expression if it is in the context of a simple return statement. - (Expand_N_If_Expression): Likewise. - (Expand_N_Qualified_Expression): Fold identical operand. Distribute - the expression into an operand that is a conditional expression with - expansion delayed. - (Process_Transient_In_Expression): Also test the parent node for the - presence of a simple return statement. - * exp_ch6.adb (Expand_Ctrl_Function_Call): Test the unconditional - parent node for the presence of a simple return statement. - * exp_util.ads (Delayed Expansion): New description. - (Delay_Conditional_Expressions_Between): New procedure. - (Is_Delayed_Conditional_Expression): ...here. - (Unanalyze_Delayed_Conditional_Expression): New procedure. - (Unconditional_Parent): New function. - * exp_util.adb (Find_Hook_Context): Take into account conditional - statements coming from conditional expressions. - (Within_Conditional_Expression): Likewise. - (Delay_Conditional_Expressions_Between): New procedure. - (Is_Delayed_Conditional_Expression): ...here. - (Unanalyze_Delayed_Conditional_Expression): New procedure. - (Unconditional_Parent): New function. - * sinfo.ads (Expansion_Delayed): Adjust description. - -2024-12-13 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Case_Bounds): Fix indentation. - * sem_case.adb (Choice_Bounds): Likewise. - * libgnat/s-dourea.ads (Duuble_T): Likewise. - * libgnat/s-excmac__arm.ads (Cleanup_Cache_Type): Likewise. - -2024-12-13 Piotr Trojanek <trojanek@adacore.com> - - * atree.adb, diagnostics-pretty_emitter.adb, - diagnostics-utils.adb, einfo-utils.adb, errout.adb, exp_aggr.adb, - exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_imgv.adb, - exp_pakd.adb, exp_prag.adb, exp_unst.adb, exp_util.adb, gnatchop.adb, - gnatlink.adb, inline.adb, itypes.adb, osint.adb, rtsfind.adb, - sem_aggr.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, - sem_ch4.adb, sem_dim.adb, sem_elab.adb, sem_prag.adb, sem_util.adb, - sprint.adb, switch-m.adb, table.adb: Fix code indentation. - -2024-12-13 Marc Poulhiès <poulhies@adacore.com> - - * libgnat/a-tifiio.adb (OK_Get_32): Use 'Base. - (OK_Put_32, OK_Get_64, OK_Put_64): Likewise. - * libgnat/a-tifiio__128.adb (OK_Get_32, OK_Put_32, OK_Get_64) - (OK_Put_64, OK_Get_128, OK_Put_128): Likewise. - * libgnat/a-wtfiio.adb (OK_Get_32): Likewise. - (OK_Put_32, OK_Get_64, OK_Put_64): Likewise. - * libgnat/a-wtfiio__128.adb (OK_Get_32, OK_Put_32, OK_Get_64) - (OK_Put_64, OK_Get_128, OK_Put_128): Likewise. - * libgnat/a-ztfiio.adb (OK_Get_32): Likewise. - (OK_Put_32, OK_Get_64, OK_Put_64): Likewise. - * libgnat/a-ztfiio__128.adb (OK_Get_32, OK_Put_32, OK_Get_64) - (OK_Put_64, OK_Get_128, OK_Put_128): Likewise. - -2024-12-13 Javier Miranda <miranda@adacore.com> - - * sem_res.adb (Report_Ambiguous_Argument): Code cleanup. - (Resolve): Code cleanup. - -2024-12-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Is_Effectively_Volatile, - Is_Effectively_Volatile_For_Reading): Implement new rule for - record types. - * sem_util.ads (Is_Effectively_Volatile, - Is_Effectively_Volatile_For_Reading): Adjust comments. - -2024-12-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Is_Effectively_Volatile, - Is_Effectively_Volatile_For_Reading): Remove Ignore_Protected - parameter. - (Is_Effectively_Volatile_Object, - Is_Effectively_Volatile_Object_For_Reading): Remove - single-parameter wrappers that are needed to instantiate - generic subprogram. - * sem_util.ads (Is_Effectively_Volatile, - Is_Effectively_Volatile_For_Reading): Remove parameter; adjust - comment. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_Allocator_Expression): Do not preventively - call Remove_Side_Effects on the expression in the nonlimited - by-reference case. Always call Build_Allocate_Deallocate_Proc - in the default case. - * exp_ch6.adb (Expand_Ctrl_Function_Call): Bail out if the call - is the qualified expression of an allocator. - * exp_util.adb (Build_Allocate_Deallocate_Proc): Replace all the - calls to Relocate_Node by calls to Duplicate_Subexpr_No_Checks. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Do not call again - Preanalyze_And_Resolve on the expression. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * sem_aggr.adb (Resolve_Aggr_Expr): Always perform a full analysis - of the expression in SPARK mode. - -2024-12-13 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Fix typo. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Expand_Call_Helper): Also create a temporary in the - case of a noncontrolled user-defined indexing. - -2024-12-13 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_rm/standard_library_routines.rst: Fix documentation. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-12-13 Ronan Desplanques <desplanques@adacore.com> - - * gnat2.gpr: Add library units to coverage exclusion list. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Build_Array_Aggr_Code): Remove obsolete comment. - (Convert_To_Positional): Remove Ctyp local variable. - (Is_Static_Element): Remove Dims parameter and do not preanalyze the - expression there. - (Expand_Array_Aggregate): Make Ctyp a constant. - (Compute_Others_Present): Do not preanalyze the expression there. - * sem_aggr.adb (Resolve_Array_Aggregate): New Ctyp constant. Use it - throughout the procedure to denote the component type. - (Resolve_Aggr_Expr): Always preanalyze a copy of the expression in - an iteration context. Preanalyze it directly when the expander is - active and the choice may cover multiple components. Otherwise, - fully analyze it. - Do not reanalyze an iterated component association with an others - choice either when there are positional components. - (Resolve_Iterated_Component_Association): Do not remove references - from the expression after invoking Resolve_Aggr_Expr on it. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-imager.adb (Set_Image_Real): In the case where a double - integer is needed, do not implicit assume that it can contain up to - 'Digits of the floating-point type. - -2024-12-13 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-imager.adb (Maxscaling): Change to Natural constant and - add Maxdigs to value. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/117996 - * libgnat/a-ngrear.adb (Jacobi): Remove default value for - Compute_Vectors formal parameter. - (Sort_Eigensystem): Add Compute_Vectors formal parameter. Do not - modify the Vectors if Compute_Vectors is False. - (Eigensystem): Pass True as Compute_Vectors to Sort_Eigensystem. - (Eigenvalues): Pass False as Compute_Vectors to Sort_Eigensystem. - -2024-12-12 Piotr Trojanek <trojanek@adacore.com> - - * par-ch5.adb (Test_Statement_Required): Fix comment. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Clear the component - referenced on the right-hand side of the first assignment generated - for a bit-packed array, if any. - (Expand_Array_Aggregate): Do not exclude aggregates of bit-packed - array types in object declarations from in-place expansion. - * sem_eval.adb (Eval_Indexed_Component): Do not attempt a constant - evaluation for a bit-packed array type. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * sem_ch3.adb (Access_Subprogram_Declaration): Replace assertion with - more defensive code. - -2024-12-12 Viljar Indus <indus@adacore.com> - - * errout.adb (Write_JSON_Location): Avoid going through - symbolic links when printing the full name. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * libgnat/s-imager.adb (Image_Floating_Point): Tweak display of - invalid floating point values. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * sem_ch3.adb (Access_Definition): Remove test for task entry context. - * sem_ch6.adb (Process_Formals): Add improved test for task entry - context. - -2024-12-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Move call - to Comes_From_Source to the outer if-statement. - -2024-12-12 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Only set - flag Is_Null_Loop when loop parameter specification comes from - a loop and not from a quantified expression. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Expand_Array_Aggregate): Do not exclude aggregates - of bit-packed array types in allocators from in-place expansion. - -2024-12-12 Sebastian Poeplau <poeplau@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move - the LLVM chapter one level up. - * gnat_ugn.texi: Regenerate. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * sem_eval.ads (Is_OK_Static_Expression_Of_Type): New function. - * sem_eval.adb (Is_OK_Static_Expression_Of_Type): Likewise. - * sem_ch13.adb (Check_Expr_Is_OK_Static_Expression): Use new function. - * sem_prag.adb (Check_Expr_Is_OK_Static_Expression): Likewise. - * sem_ch3.adb (Apply_External_Initialization): Accept static strings - for the parameter. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * libgnat/a-tifiio.adb: Fix comment. - * libgnat/a-tifiio__128.adb: Likewise. - * libgnat/s-imaged.ads (Image_Decimal): Likewise. - * libgnat/s-imagef.ads (Image_Fixed): Likewise. - * libgnat/s-imager.ads (Image_Fixed_Point): Likewise. - * libgnat/s-imde32.ads (Image_Decimal32): Likewise. - * libgnat/s-imfi64.ads (Image_Fixed64): Likewise. - * libgnat/s-imgcha.adb (Image_Character): Likewise. - * libgnat/s-valuer.adb (Scan_Raw_Real): Likewise. - * sem_attr.adb (Eval_Attribute): Likewise. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * sem_attr.adb (Eval_Attribute): Treat the various size attributes - like Component_Size for nonstatic array types. - -2024-12-12 Javier Miranda <miranda@adacore.com> - - * sem_res.adb (Is_Ambiguous_Operand): Add missing decoration of - the operand when it is labeled overloaded but has just one - interpretation. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Add Target formal - parameter and check that it is not a bit-aligned component or slice. - Return False in CodePeer mode as well. - (Build_Array_Aggr_Code): Remove redundant tests done in conjunction - with a call to Aggr_Assignment_OK_For_Backend. - (Expand_Array_Aggregate): Likewise. Add a couple of comments and - improve formatting. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference): Fix computation of type - category. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * aspects.ads (Is_Representation_Aspect): True for External_Name. - (Aspect_Delay): Use Rep_Aspect for External_Name, Link_Name and - Linker_Section. - * einfo.ads (Initialization_Statements): Document extended usage. - * exp_util.adb (Needs_Initialization_Statements): Return True for - all delayed aspects. - * freeze.adb (Check_Address_Clause): Do not move the initialization - expression here... - (Freeze_Object_Declaration): ...but here instead, as well as for all - delayed aspects. Remove test for pragma Linker_Section. - * sem_ch13.adb (Analyze_One_Aspect): Do not delay in the Rep_Aspect - case if the expression is a string literal. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * libgnat/s-valuti.ads (Scan_Sign): Fix documentation comment. - -2024-12-12 Bob Duff <duff@adacore.com> - - * exp_util.adb (Build_Task_Image_Decls): - Deal properly with the case of an expanded name. - Minor cleanup: use a case statement instead of if/elsif chain. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Traverse_Proc_For_Aggregate): New generic procedure. - (Replace_Discriminants): Instantiate it instead of Traverse_Proc. - (Replace_Self_Reference): Likewise. - (Convert_To_Assignments): Remove limitation for nested aggregates - that contain self-references. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_N_Case_Expression): Remove obsolete comment - about C code generation. Do not create a useless target type if - the parent statement is rewritten instead of the expression. Use - a nonnull accesss type for the expansion done for composite types. - (Expand_N_If_Expression): Simplify the expansion when the condition - is known at compile time. Apply the expansion done for by-reference - types to indefinite types and remove the obsolete special case for - unconstrained array types Use a nonnull access type in this case. - Rename New_If local variable to If_Stmt for the sake of consistency. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Make_Address_For_Finalize): Look at the underlying - subtype to detect the unconstrained array type case. - * sprint.adb (Write_Itype) <E_Private_Subtype>: New case. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Update - External_Initialization section. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * fname.adb (Is_Predefined_File_Name): Tweak test. - -2024-12-12 Ronan Desplanques <desplanques@adacore.com> - - * sem_ch3.adb (Apply_External_Initialization): Restrict File lookup. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Initialization_Statements): Document usage precisely. - * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Do not create a - compound statement in most cases, do it only if necessary. - * exp_ch3.adb (Expand_N_Object_Declaration): Remove a couple of - useless statements. - * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): - Use the Initialization_Statements mechanism if necessary. - * exp_ch7.adb: Remove clauses for Aspects package. - (Insert_Actions_In_Scope_Around): Use the support code of Exp_Util - for the Initialization_Statements mechanism. - * exp_prag.adb (Undo_Initialization): Remove obsolete code. - * exp_util.ads (Move_To_Initialization_Statements): New procedure. - (Needs_Initialization_Statements): New function. - * exp_util.adb (Move_To_Initialization_Statements): New procedure. - (Needs_Initialization_Statements): New predicate. - -2024-12-12 Viljar Indus <indus@adacore.com> - - * exp_ch6.adb (Expand_Ctrl_Function_Call): Avoid expansion - of controlled types when the LHS is a function call. - -2024-12-12 Daniel King <dmking@adacore.com> - - * init.c (__gnat_error_handler): Handle SIGPROT - (__gnat_install_handler): Install SIGPROT handler - -2024-12-12 Daniel King <dmking@adacore.com> - - * libgnat/i-cheri-exceptions.ads: Export CHERI exception IDs. - -2024-12-12 Johannes Kliemann <kliemann@adacore.com> - - * exp_ch9.adb (Expand_N_Task_Type_Declaration): Take - Minimum_Stack_Size into account when preallocating task stacks. - * rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Minimum_Stack_Size. - -2024-12-11 Samuel Thibault <samuel.thibault@ens-lyon.org> - - * Makefile.rtl: Add x86_64-pc-gnu section. - -2024-12-11 Samuel Thibault <samuel.thibault@ens-lyon.org> - - * libgnat/system-gnu.ads: New file. - * Makefile.rtl (x86-gnuhurd): Use libgnat/system-gnu.ads instead of - libgnat/system-freebsd.ads. - -2024-12-11 Samuel Thibault <samuel.thibault@ens-lyon.org> - - * libgnarl/a-intnam__freebsd.ads: Rename to... - * libgnarl/a-intnam__bsd.ads: ... new file. - * libgnarl/a-intnam__dragonfly.ads: Remove file. - * Makefile.rtl (x86-kfreebsd, x86-gnuhurd, x86_64-kfreebsd, - aarch64-freebsd, x86-freebsd, x86_64-freebsd): Use - libgnarl/a-intnam__bsd.ads instead of libgnarl/a-intnam__freebsd.ads. - (x86_64-dragonfly): Use libgnarl/a-intnam__bsd.ads instead of - libgnarl/a-intnam__dragonfly.ads. - -2024-11-26 Eric Botcazou <ebotcazou@adacore.come> - - * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Access>: Do not - pass ATTR_ADDR_EXPR to build_unary_op for 'Unrestricted_Access. - -2024-11-26 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Do not insert the tag - assignment there if the object has the Address aspect. - * exp_ch7.adb: Add clauses for Aspect package. - (Build_Finalizer.Process_Object_Declaration): Deal with an object - with delayed freezing. - (Insert_Actions_In_Scope_Around): If the target is the declaration - of an object with address clause or aspect, move all the statements - that have been inserted after it into the Initialization_Statements - list of the object. - * freeze.adb (Check_Address_Clause): Do not reassign the tag here, - instead set the appropriate flag on the assignment statement. - -2024-11-26 Eric Botcazou <ebotcazou@adacore.com> - - * sem_res.adb (Valid_Conversion): Do not initialize Opnd_Type before - calling Get_Corresponding_Mutably_Tagged_Type_If_Present. - -2024-11-26 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch13.adb (Analyze_Aspect_Export_Import): Add explicit mention - of the declaration in the error message for the Import. - * sem_prag.adb (Process_Extended_Import_Export_Object_Pragma): Also - test Has_Init_Expression on the declaration node for Import_Object - and use the same wording as that of Import. - (Process_Import_Or_Interface): Also test Has_Init_Expression on the - declaration node for Import. - -2024-11-26 Javier Miranda <miranda@adacore.com> - - * sem_ch2.adb (Check_Ambiguous_Call): Replace code factorized - code by call to the new subprogram Is_Ambiguous_Operand. - * sem_res.ads (Is_Ambiguous_Operand): New subprogram that - factorizes previous code in Check_Ambiguous_Call and - Valid_Conversion. - * sem_res.adb (Is_Ambiguous_Operand): New subprogram. - (Valid_Tagged_Conversion): Replace factorized code by call to - the new subprogram Is_Ambiguous_Operand. - (Report_Error_N): New subprogram. - (Report_Error_NE): New subprogram. - (Report_Interpretation): New subprogram. - (Conversion_Error_N): Removed; replaced by Report_Error_N. - (Conversion_Error_NE): Removed; replaced by Report_Error_NE. - (Valid_Conversion): Update Opnd_Type after the call to - Is_Ambiguous_Operand in the overloaded case. - -2024-11-26 Viljar Indus <indus@adacore.com> - - * errout.adb: Remove implmentation of Write_Error_Summary. - * erroutc.adb: Add implemenetation of Write_Error_Summary. - * erroutc.ads: Add spec of Write_Error_Summary. - * errutil.adb: Remove implementation for writing the error summary. - -2024-11-26 Viljar Indus <indus@adacore.com> - - * errout.adb: Remove implemntation of Set_Msg_Insertion_Column. - * erroutc.adb: Add implementation of Set_Msg_Insertion_Column. - * erroutc.ads: Add spec of Set_Msg_Insertion_Column. - * errutil.adb: Remove implementation of Set_Msg_Insertion_Column. - -2024-11-26 Viljar Indus <indus@adacore.com> - - * errout.adb: Set Warn_Err as true if Is_Runtime_Error was - set in the error message. - * erroutc.adb: Remove instances of Warn_Runtime_Raise. - * erroutc.ads: Likewise. - * errutil.adb: Likewise. - -2024-11-26 Viljar Indus <indus@adacore.com> - - * errout.adb: Use Is_Redundant_Error_Message. - * erroutc.adb: Move the common code for checking if a message - can be removed to Is_Redundant_Error_Message. - * erroutc.ads: Add definition of Is_Redundant_Error_Message. - * errutil.adb: Use Is_Redundant_Error_Message. - -2024-11-26 Viljar Indus <indus@adacore.com> - - * errout.ads: Remove Current_Node. - * errout.adb: Remove uses of Current_Node. - * par-ch6.adb: Same as above. - * par-ch7.adb: Same as above. - * par-ch9.adb: Same as above. - -2024-11-26 Viljar Indus <indus@adacore.com> - - * err_vars.ads: Remove Raise_Exception_On_Error and - Error_Msg_Exception. - * errout.ads: Same as above. - * errout.adb: Remove uses of Raise_Exception_On_Error and - Error_Msg_Exception. - * errutil.adb: Same as above. - -2024-11-26 Viljar Indus <indus@adacore.com> - - * diagnostics-converter.adb: Use new enum values instead - of the old attributes. - * diagnostics-switch_repository.adb: Same as above. - * diagnostics-utils.adb: Same as above. - * diagnostics.adb: Same as above. - * diagnostics.ads: Same as above. - * errout.adb: Same as above. - * erroutc.adb: Same as above. - * erroutc.ads: Remove old attriubtes and replace them - with Error_Msg_Kind. - * errutil.adb: Same as others. - -2024-11-26 Viljar Indus <indus@adacore.com> - - * errout.adb: Use Output_Msg_Location - * erroutc.adb: add common implementation for printing the - error message line. - * erroutc.ads: Add new method Output_Msg_Location - * errutil.adb: use Output_Msg_Location - -2024-11-26 Viljar Indus <indus@adacore.com> - - * diagnostics-converter.adb: Remove uses of Info_Warning type. Use - common constructors to simplify implementation. - * diagnostics-pretty_emitter.adb: Remove Info_Warning type. - * diagnostics-utils.adb: Remove uses of Info_Warning. - * diagnostics.adb: Simplify implementation of Primary_Location. - * diagnostics.ads: Remove Info_Warning type. - -2024-11-26 Jose Ruiz <ruiz@adacore.com> - - * doc/gnat_ugn/the_gnat_compilation_model.rst: The format of - the ali file is documented in lib-writ.ads. - * gnat_ugn.texi: Regenerate. - -2024-11-26 Ronan Desplanques <desplanques@adacore.com> - - * uname.ads (Is_Internal_Unit_Name, Is_Predefined_Unit_Name): Change - specifications to take a Unit_Name_Type as input. - (Encoded_Library_Unit_Name): New subprogram. - (Is_Predefined_Unit_Name): New overloaded subprogram. - (Get_External_Unit_Name_String): Make use of new - Encoded_Library_Unit_Name subprogram. - * uname.adb (Is_Internal_Unit_Name, Is_Predefined_Unit_Name): Adapt - bodies to specification changes. - * fname-uf.adb (Get_File_Name): Adapt to Uname interface changes. - -2024-11-26 Ronan Desplanques <desplanques@adacore.com> - - * fname-uf.adb (Get_File_Name): Use local name buffers. - -2024-11-26 Ronan Desplanques <desplanques@adacore.com> - - * sem_util.adb (Get_Library_Unit_Name): Improve use of Uname. - -2024-11-26 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb: Remove clauses for Exp_Ch3. - (Check_Address_Clause): Always reassign the tag for an object of a - tagged type if there is an initialization expression. - -2024-11-23 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc-interface/Make-lang.in (gnattools): Remove $(GCC_PARTS). - -2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR bootstrap/117737 - * gcc-interface/misc.cc (INCLUDE_MEMORY): Remove. - * gcc-interface/trans.cc (INCLUDE_MEMORY): Remove. - * gcc-interface/utils.cc (INCLUDE_MEMORY): Remove. - -2024-11-21 Jakub Jelinek <jakub@redhat.com> - - PR c/117024 - * gcc-interface/utils.cc (flag_isoc2y): New variable. - -2024-11-20 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/117538 - PR ada/117708 - * Makefile.rtl (GNU Hurd): Add $(TRASYM_DWARF_UNIX_PAIRS). - (x86-64 kfreebsd): Likewise. - (aarch64 FreeBSD): Likewise. - (x86-64 DragonFly): Likewise. - (S390 Linux): Likewise and add Linux version of s-tsmona.adb. - (Mips Linux): Likewise. - (SPARC Linux): Likewise. - (HP/PA Linux): Linux. - (M68K Linux): Likewise. - (SH4 Linux): Likewise. - (Alpha Linux): Likewise. - (RISC-V Linux): Likewise. - -2024-11-19 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/117538 - * Makefile.rtl (GNU Hurd): Add $(TRASYM_DWARF_UNIX_OBJS). - (x86-64 kfreebsd): Likewise. - (aarch64 FreeBSD): Likewise. - (x86-64 DragonFly): Likewise. - (S390 Linux): Likewise. - (Mips Linux): Likewise. - (SPARC Linux): Likewise. - (HP/PA Linux): Linux. - (M68K Linux): Likewise. - (SH4 Linux): Likewise. - (Alpha Linux): Likewise. - (RISC-V Linux): Likewise. - -2024-11-19 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.ads (Within_Case_Or_If_Expression): Rename into... - (Within_Conditional_Expression): ...this. - * exp_util.adb (Within_Case_Or_If_Expression): Rename into... - (Within_Conditional_Expression): ...this. - * checks.adb (Install_Null_Excluding_Check): Adjust for renaming. - -2024-11-19 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Build_Assignment_With_Temporary): Inline into... - (Build_Array_Aggr_Code): ...this. Set the Analyzed flag on the - relocated aggregate if it is to be handled by the back-end. - -2024-11-19 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb: Remove clauses for Expander. - (Expand_N_Object_Declaration): Remove special processing for delayed - aggregates of limited types as initialization expressions. - * freeze.adb (Warn_Overlay): Bail out if No_Initialization is set on - the declaration node of the entity. - * sem_ch3.adb (Delayed_Aspect_Present): Delete. - (Expand_N_Object_Declaration): Do not block the resolution of the - initialization expression that is an aggregate when the object has - an address clause or delayed aspects. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_N_Case_Expression): Remove the test on - enclosing predicate function for the return optimization. - Rewrite it in the general case to catch all nondynamic predicates. - (Expand_N_If_Expression): Remove the test on enclosing predicate - function for the return optimization. - -2024-11-18 Bob Duff <duff@adacore.com> - - * doc/gnat_rm/implementation_defined_characteristics.rst: - Remove Atomic_Synchronization. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Likewise. - * doc/gnat_rm/implementation_defined_pragmas.rst: DRY. - Consolidate documentation of Disable/Enable_Atomic_Synchronization. - * checks.adb: Comment fix. - * exp_util.ads: Likewise. - * targparm.ads: Likewise. - * types.ads: Likewise. - * gnat1drv.adb: Likewise. DRY. - * sem_prag.adb (Process_Disable_Enable_Atomic_Sync): - Change name of Atomic_Synchronization to start with - underscore. - (Process_Suppress_Unsuppress): No need to check Comes_From_Source for - Atomic_Synchronization anymore; _Atomic_Synchronization can never - come from source. (Anyway, it shouldn't be ignored; it should be - an error.) - * snames.ads-tmpl (Atomic_Synchronization): - Change name to start with underscore. - * switch-c.adb (Scan_Front_End_Switches): - Minor cleanup: Use 'in'. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * sem_eval.adb (Eval_Indexed_Component): Clear Do_Range_Check on - the expressions if Kill_Range_Check is set on the node. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.adb (Remove_Init_Call): Rewrite a compound statement in - the Initialization_Statements of the variable as a null statement - instead of removing it. - * freeze.adb (Explode_Initialization_Compound_Statement): Small - comment tweaks. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (UI_Are_In_Int_Range): New predicate. - (Aggr_Size_OK): Use it. - (Flatten): Likewise. - (Packed_Array_Aggregate_Handled): Likewise. - (Static_Array_Aggregate): Likewise. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.ads (Explode_Initialization_Compound_Statement): Adjust the - description. - * freeze.adb (Explode_Initialization_Compound_Statement): If the - entity has its freezing delayed, append the initialization actions - to its freeze actions. - (Freeze_Object_Declaration): Remove commented out code. - (Freeze_Entity): Remove bypass for object of anonymous array type. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_sel.ads (Build_Abort_Block): Remove second parameter and - rename the third. - (Build_Abort_Block_Handler): Fix description. - * exp_sel.adb (Build_Abort_Block): Remove second parameter, rename - the third and adjust accordingly. - * exp_ch9.adb (Expand_N_Asynchronous_Select): Fix the description - of the exception handler throughout. Remove Abort_Block_Ent and - Hdle local variables. Call Build_Abort_Block consistently to build - the abort block and adjust existing calls. - -2024-11-18 Steve Baird <baird@adacore.com> - - * exp_aggr.adb (Convert_To_Positional.Flatten): Avoid raising - Constraint_Error in UI_To_Int by testing UI_Is_In_Int_Range first. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Build_Array_Aggr_Code): Build the simple assignment - for the case of an aggregate that can be handled by the back end. - (Expand_Array_Aggregate): Adjust description of the processing. - Move handling of declaration case to STEP 4 and remove handling of - the case of an aggregate that can be processed by the back end. - (Late_Expansion): Likewise for the second part. - * exp_ch3.adb (Expand_N_Object_Declaration): Deal with a delayed - aggregate synthesized for the default initialization, if any. - * sem_eval.adb (Eval_Indexed_Component): Bail out for the name of - an assignment statement. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (In_Place_Assign_OK): Remove handling of allocators - and call Must_Slide instead of implementing the check manually. - (Convert_To_Assignments): Adjust outdated comment. - (Expand_Array_Aggregate): Move handling of allocator case to STEP 3 - and call Must_Slide directly for it. - (Must_Slide): Replace tests based on Is_OK_Static_Expression with - tests based on Compile_Time_Known_Value. - -2024-11-18 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Convert_Array_Aggr_In_Allocator): Delete. - (Convert_Aggr_In_Allocator): Do not call above procedure. - (Late_Expansion): Deal with a target that is the dereference of a - prefix with a Storage_Model. Remove an useless actual parameter - in the call to Build_Array_Aggr_Code. - -2024-11-18 Javier Miranda <miranda@adacore.com> - - * sem_res.adb (Resolve_Actuals): Add by default a null-exclusion - check on the prefix of the call when it is an access-type; it can - be disabled using -gnatd_P. - * debug.adb (gnatd_P): Update documentation. - -2024-11-18 squirek <squirek@adacore.com> - - * accessibility.adb (Accessibility_Level): Handle the Input attribute - case - -2024-11-18 Ronan Desplanques <desplanques@adacore.com> - - * frontend.adb (Frontend): tweak test for predefined main unit. - -2024-11-14 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (elaborate_expression_2): Do not divide and - multiply back if the alignment factor is already explicit. - -2024-11-14 Steve Baird <baird@adacore.com> - - * sem_aggr.adb (Resolve_Delta_Aggregate): The rule about - discriminant dependent component references in choices applies to - both array and record delta aggregates, so check for violations in - Resolve_Delta_Aggregate. Call a new procedure, - Check_For_Bad_Dd_Component_Choice, for each choice. - (Resolve_Delta_Record_Aggregate): Call a new procedure, - Check_For_Bad_Overlap, for each pair of choices. - -2024-11-14 Ronan Desplanques <desplanques@adacore.com> - - * bindgen.adb (Gen_Elab_Calls): Tweak test. - (Gen_Elab_Externals): Likewise. - -2024-11-14 Claire Dross <dross@adacore.com> - - * libgnat/a-strmap.adb: Add assert to regain proofs. - * libgnat/a-strsup.adb: Likewise. - * libgnat/s-aridou.adb: Add assertions to regain proofs. - * libgnat/s-arit32.adb: Use Exceptional_Cases to specify Raise. - * libgnat/s-arit64.adb: Use Round_Quatient from Impl instead of - redefining it. - * libgnat/s-arit64.ads: Likewise. - * libgnat/s-expmod.adb: Regain proof of lemma. - * libgnat/s-exponn.adb: Likewise. - * libgnat/s-expont.adb: Likewise. - * libgnat/s-imgboo.adb: Add local lemma to regain proof. - * libgnat/s-valuti.ads: Add Always_Terminates on Bad_Value. - -2024-11-14 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-imagef.ads (Image_Fixed): Adjust outdated sentence. - -2024-11-14 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch13.adb (Record_Hole_Check): Deal consistently with the base - type throughout the processing. Return if its declaration is not a - full type declaration. Assert that its record definition is either - a derived type definition or a record definition. If the type has a - private declaration that does not specify unknown discriminants, use - it as the source of discriminant specifications, if any. - (Check_Component_List): Process every N_Discriminant_Specification - but assert that its defining identifier is really a discriminant. - -2024-11-14 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-aridou.ads (Add_With_Ovflo_Check): Adjust description. - (Subtract_With_Ovflo_Check): Likewise. - (Multiply_With_Ovflo_Check): Likewise. - (Scaled_Divide): Likewise. - (Double_Divide): Likewise. - * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64): Likewise. - * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128): Likewise. - -2024-11-14 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/112524 - PR ada/113781 - * par-ch4.adb (P_Primary) <Tok_For>: Give an error about missing - parentheses in the (purported) iterated component case too. - (P_Unparen_Cond_Expr_Etc): Likewise. - * sem.adb (Analyze): Raise PE on N_Iterated_Component_Association. - * sem_util.ads (Diagnose_Iterated_Component_Association): Delete. - * sem_util.adb (Diagnose_Iterated_Component_Association): Likewise. - -2024-11-12 Marc Poulhiès <poulhies@adacore.com> - - * gcc-interface/Makefile.in: Remove extra 'with'. - -2024-11-12 squirek <squirek@adacore.com> - - * exp_ch3.adb (Build_Assignment): Add condition to fetch corresponding - record types for concurrent tagged types. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Use a type sized - from the index type to compute the length. Simplify and remove - useless calls to New_Copy_Tree for this computation. - -2024-11-12 Pat Bernardi <bernardi@adacore.com> - - * libgnarl/a-dynpri.ads: Add design annotations. - * libgnarl/a-reatim.ads: Likewise. - * libgnarl/a-synbar.ads: Likewise. - * libgnarl/a-taside.ads: Likewise. - * libgnarl/s-tarest.ads: Likewise. - * libgnarl/s-tasinf.ads: Likewise. - * libgnarl/s-taspri__posix.ads: Likewise. - * libgnarl/s-tpobmu.ads: Likewise. - * libgnat/a-assert.ads: Likewise. - * libgnat/a-comlin.ads: Likewise. - * libgnat/a-nbnbig.ads: Likewise. - * libgnat/a-nubinu.ads: Likewise. - * libgnat/a-numeri.ads: Likewise. - * libgnat/a-unccon.ads: Likewise. - * libgnat/a-uncdea.ads: Likewise. - * libgnat/ada.ads: Likewise. - * libgnat/g-debuti.ads: Likewise. - * libgnat/g-sestin.ads: Likewise. - * libgnat/g-souinf.ads: Likewise. - * libgnat/gnat.ads: Likewise. - * libgnat/i-cexten.ads: Likewise. - * libgnat/i-cexten__128.ads: Likewise. - * libgnat/i-cstrin.adb: Likewise. - * libgnat/i-cstrin.ads: Likewise. - * libgnat/interfac__2020.ads: Likewise. - * libgnat/machcode.ads: Likewise. - * libgnat/s-addope.ads: Likewise. - * libgnat/s-aridou.ads: Likewise. - * libgnat/s-arit32.ads: Likewise. - * libgnat/s-arit64.ads: Likewise. - * libgnat/s-assert.ads: Likewise. - * libgnat/s-atacco.ads: Likewise. - * libgnat/s-atocou.ads: Likewise. - * libgnat/s-atocou__builtin.adb: Likewise. - * libgnat/s-atopri.ads: Likewise. - * libgnat/s-bitops.ads: Likewise. - * libgnat/s-boarop.ads: Likewise. - * libgnat/s-bytswa.ads: Likewise. - * libgnat/s-carsi8.ads: Likewise. - * libgnat/s-carun8.ads: Likewise. - * libgnat/s-casi16.ads: Likewise. - * libgnat/s-casi32.ads: Likewise. - * libgnat/s-casi64.ads: Likewise. - * libgnat/s-caun16.ads: Likewise. - * libgnat/s-caun32.ads: Likewise. - * libgnat/s-caun64.ads: Likewise. - * libgnat/s-exnint.ads: Likewise. - * libgnat/s-exnllf.ads: Likewise. - * libgnat/s-exnlli.ads: Likewise. - * libgnat/s-expint.ads: Likewise. - * libgnat/s-explli.ads: Likewise. - * libgnat/s-expllu.ads: Likewise. - * libgnat/s-expmod.ads: Likewise. - * libgnat/s-exponn.ads: Likewise. - * libgnat/s-expont.ads: Likewise. - * libgnat/s-exponu.ads: Likewise. - * libgnat/s-expuns.ads: Likewise. - * libgnat/s-fatflt.ads: Likewise. - * libgnat/s-fatgen.ads: Likewise. - * libgnat/s-fatlfl.ads: Likewise. - * libgnat/s-fatllf.ads: Likewise. - * libgnat/s-flocon.ads: Likewise. - * libgnat/s-geveop.ads: Likewise. - * libgnat/s-imageb.ads: Likewise. - * libgnat/s-imaged.ads: Likewise. - * libgnat/s-imagef.ads: Likewise. - * libgnat/s-imagei.ads: Likewise. - * libgnat/s-imagen.ads: Likewise. - * libgnat/s-imageu.ads: Likewise. - * libgnat/s-imagew.ads: Likewise. - * libgnat/s-imde128.ads: Likewise. - * libgnat/s-imde32.ads: Likewise. - * libgnat/s-imde64.ads: Likewise. - * libgnat/s-imen16.ads: Likewise. - * libgnat/s-imen32.ads: Likewise. - * libgnat/s-imenu8.ads: Likewise. - * libgnat/s-imfi32.ads: Likewise. - * libgnat/s-imfi64.ads: Likewise. - * libgnat/s-imgbiu.ads: Likewise. - * libgnat/s-imgboo.ads: Likewise. - * libgnat/s-imgcha.ads: Likewise. - * libgnat/s-imgint.ads: Likewise. - * libgnat/s-imgllb.ads: Likewise. - * libgnat/s-imglli.ads: Likewise. - * libgnat/s-imgllu.ads: Likewise. - * libgnat/s-imgllw.ads: Likewise. - * libgnat/s-imgrea.ads: Likewise. - * libgnat/s-imguns.ads: Likewise. - * libgnat/s-imguti.ads: Likewise. - * libgnat/s-imgwiu.ads: Likewise. - * libgnat/s-maccod.ads: Likewise. - * libgnat/s-multip.ads: Likewise. - * libgnat/s-pack03.ads: Likewise. - * libgnat/s-pack05.ads: Likewise. - * libgnat/s-pack06.ads: Likewise. - * libgnat/s-pack07.ads: Likewise. - * libgnat/s-pack09.ads: Likewise. - * libgnat/s-pack10.ads: Likewise. - * libgnat/s-pack100.ads: Likewise. - * libgnat/s-pack101.ads: Likewise. - * libgnat/s-pack102.ads: Likewise. - * libgnat/s-pack103.ads: Likewise. - * libgnat/s-pack104.ads: Likewise. - * libgnat/s-pack105.ads: Likewise. - * libgnat/s-pack106.ads: Likewise. - * libgnat/s-pack107.ads: Likewise. - * libgnat/s-pack108.ads: Likewise. - * libgnat/s-pack109.ads: Likewise. - * libgnat/s-pack11.ads: Likewise. - * libgnat/s-pack110.ads: Likewise. - * libgnat/s-pack111.ads: Likewise. - * libgnat/s-pack112.ads: Likewise. - * libgnat/s-pack113.ads: Likewise. - * libgnat/s-pack114.ads: Likewise. - * libgnat/s-pack115.ads: Likewise. - * libgnat/s-pack116.ads: Likewise. - * libgnat/s-pack117.ads: Likewise. - * libgnat/s-pack118.ads: Likewise. - * libgnat/s-pack119.ads: Likewise. - * libgnat/s-pack12.ads: Likewise. - * libgnat/s-pack120.ads: Likewise. - * libgnat/s-pack121.ads: Likewise. - * libgnat/s-pack122.ads: Likewise. - * libgnat/s-pack123.ads: Likewise. - * libgnat/s-pack124.ads: Likewise. - * libgnat/s-pack125.ads: Likewise. - * libgnat/s-pack126.ads: Likewise. - * libgnat/s-pack127.ads: Likewise. - * libgnat/s-pack13.ads: Likewise. - * libgnat/s-pack14.ads: Likewise. - * libgnat/s-pack15.ads: Likewise. - * libgnat/s-pack17.ads: Likewise. - * libgnat/s-pack18.ads: Likewise. - * libgnat/s-pack19.ads: Likewise. - * libgnat/s-pack20.ads: Likewise. - * libgnat/s-pack21.ads: Likewise. - * libgnat/s-pack22.ads: Likewise. - * libgnat/s-pack23.ads: Likewise. - * libgnat/s-pack24.ads: Likewise. - * libgnat/s-pack25.ads: Likewise. - * libgnat/s-pack26.ads: Likewise. - * libgnat/s-pack27.ads: Likewise. - * libgnat/s-pack28.ads: Likewise. - * libgnat/s-pack29.ads: Likewise. - * libgnat/s-pack30.ads: Likewise. - * libgnat/s-pack31.ads: Likewise. - * libgnat/s-pack33.ads: Likewise. - * libgnat/s-pack34.ads: Likewise. - * libgnat/s-pack35.ads: Likewise. - * libgnat/s-pack36.ads: Likewise. - * libgnat/s-pack37.ads: Likewise. - * libgnat/s-pack38.ads: Likewise. - * libgnat/s-pack39.ads: Likewise. - * libgnat/s-pack40.ads: Likewise. - * libgnat/s-pack41.ads: Likewise. - * libgnat/s-pack42.ads: Likewise. - * libgnat/s-pack43.ads: Likewise. - * libgnat/s-pack44.ads: Likewise. - * libgnat/s-pack45.ads: Likewise. - * libgnat/s-pack46.ads: Likewise. - * libgnat/s-pack47.ads: Likewise. - * libgnat/s-pack48.ads: Likewise. - * libgnat/s-pack49.ads: Likewise. - * libgnat/s-pack50.ads: Likewise. - * libgnat/s-pack51.ads: Likewise. - * libgnat/s-pack52.ads: Likewise. - * libgnat/s-pack53.ads: Likewise. - * libgnat/s-pack54.ads: Likewise. - * libgnat/s-pack55.ads: Likewise. - * libgnat/s-pack56.ads: Likewise. - * libgnat/s-pack57.ads: Likewise. - * libgnat/s-pack58.ads: Likewise. - * libgnat/s-pack59.ads: Likewise. - * libgnat/s-pack60.ads: Likewise. - * libgnat/s-pack61.ads: Likewise. - * libgnat/s-pack62.ads: Likewise. - * libgnat/s-pack63.ads: Likewise. - * libgnat/s-pack65.ads: Likewise. - * libgnat/s-pack66.ads: Likewise. - * libgnat/s-pack67.ads: Likewise. - * libgnat/s-pack68.ads: Likewise. - * libgnat/s-pack69.ads: Likewise. - * libgnat/s-pack70.ads: Likewise. - * libgnat/s-pack71.ads: Likewise. - * libgnat/s-pack72.ads: Likewise. - * libgnat/s-pack73.ads: Likewise. - * libgnat/s-pack74.ads: Likewise. - * libgnat/s-pack75.ads: Likewise. - * libgnat/s-pack76.ads: Likewise. - * libgnat/s-pack77.ads: Likewise. - * libgnat/s-pack78.ads: Likewise. - * libgnat/s-pack79.ads: Likewise. - * libgnat/s-pack80.ads: Likewise. - * libgnat/s-pack81.ads: Likewise. - * libgnat/s-pack82.ads: Likewise. - * libgnat/s-pack83.ads: Likewise. - * libgnat/s-pack84.ads: Likewise. - * libgnat/s-pack85.ads: Likewise. - * libgnat/s-pack86.ads: Likewise. - * libgnat/s-pack87.ads: Likewise. - * libgnat/s-pack88.ads: Likewise. - * libgnat/s-pack89.ads: Likewise. - * libgnat/s-pack90.ads: Likewise. - * libgnat/s-pack91.ads: Likewise. - * libgnat/s-pack92.ads: Likewise. - * libgnat/s-pack93.ads: Likewise. - * libgnat/s-pack94.ads: Likewise. - * libgnat/s-pack95.ads: Likewise. - * libgnat/s-pack96.ads: Likewise. - * libgnat/s-pack97.ads: Likewise. - * libgnat/s-pack98.ads: Likewise. - * libgnat/s-pack99.ads: Likewise. - * libgnat/s-parame.ads: Likewise. - * libgnat/s-rident.ads: Likewise. - * libgnat/s-spark.ads: Likewise. - * libgnat/s-spcuop.ads: Likewise. - * libgnat/s-stoele.ads: Likewise. - * libgnat/s-traent.ads: Likewise. - * libgnat/s-unstyp.ads: Likewise. - * libgnat/s-vaispe.ads: Likewise. - * libgnat/s-valspe.ads: Likewise. - * libgnat/s-vauspe.ads: Likewise. - * libgnat/s-veboop.ads: Likewise. - * libgnat/s-vector.ads: Likewise. - * libgnat/s-vs_int.ads: Likewise. - * libgnat/s-vs_lli.ads: Likewise. - * libgnat/s-vs_llu.ads: Likewise. - * libgnat/s-vs_uns.ads: Likewise. - * libgnat/s-vsllli.ads: Likewise. - * libgnat/text_io.ads: Likewise. - * libgnat/unchconv.ads: Likewise. - * libgnat/unchdeal.ads: Likewise. - * s-pack.ads.tmpl: Likewise. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * s-pack.adb.tmpl: Add '7' suffix to all existing constructs and - add variants with suffixes ranging from '0' to '6'. - (Get_@@): Dereference the address as a record object whose accessed - component is always the last. - (GetU_@@): Likewise. - (Set_@@): Likewise. - (SetU_@@): Likewise. - * libgnat/s-pack03.adb: Regenerate. - * 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. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114127 - * sem_aggr.adb (Is_Null_Aggregate): Replace test on Ada_Version - with test on Nkind. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Do not call - Checks_Off on the newly built N_Indexed_Component node but instead - set Kill_Range_Check on it. - * exp_ch4.ads (Expand_N_Unchecked_Expression): Delete. - * exp_ch4.adb (Expand_N_Indexed_Component): Remove handling of - N_Unchecked_Expression. - (Expand_N_Unchecked_Expression): Delete. - (Expand_N_Unchecked_Type_Conversion): Propagate the Assignment_OK - flag and rewrite the node manually. - * exp_util.adb (Insert_Actions): Remove handling of - N_Unchecked_Expression. - (Side_Effect_Free): Likewise. - * expander.adb (Expand): Likewise. - * gen_il-gen-gen_nodes.adb (N_Indexed_Component): Add flag - Kill_Range_Check for the purpose of semantics. - (N_Unchecked_Expression): Delete. - * gen_il-internals.ads (Type_Frequency): Remove entry for - N_Unchecked_Expression. - * gen_il-types.ads (Opt_Type_Enum): Remove N_Unchecked_Expression. - * pprint.adb (Expression_Image): Remove handling of - N_Unchecked_Expression. - * sem.adb (Analyze): Likewise. - * sem_ch4.ads (Analyze_Unchecked_Expression): Delete. - * sem_ch4.adb (Analyze_Unchecked_Expression): Likewise. - * sem_res.adb (Resolve_Unchecked_Expression): Likewise. - (Resolve): Remove handling of N_Unchecked_Expression. - (Resolve_Indexed_Component): Do not call Apply_Scalar_Range_Check - on the expressions if Kill_Range_Check is set on the node. - * sem_util.adb (Is_Non_Preelaborable_Construct): Remove handling of - N_Unchecked_Expression. - * sinfo.ads (Kill_Range_Check): Document it for N_Indexed_Component. - (Unchecked Expression): Delete specification. - * sprint.adb (Sprint_Node_Actual): Remove handling of - N_Unchecked_Expression. - * tbuild.ads (Checks_Off): Delete. - * tbuild.adb (Checks_Off): Likewise. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/112979 - * sem_ch8.adb (Find_Selected_Component): Try to recognize the - object operation notation only if the selector is a subprogram. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/113037 - * sem_prag.adb (Analyze_Pragma) <Pragma_Invariant>: Reject types - that are derived from formal private types. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/112821 - * scans.ads (Token_Type): Remove Tok_Left_Bracket from Namext. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114300 - * exp_ch7.adb (Attach_Object_To_Master_Node): Propagate the - Is_Ignored_Ghost_Entity flag from the finalization procedure. - (Build_Finalizer.Process_Declarations): Move up the test on - Is_Ignored_Ghost_Entity. - * exp_util.adb (Requires_Cleanup_Actions): Likewise. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/55725 - * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Be - prepared for no collection if the access type is anonymous. - * exp_ch7.adb (Build_Anonymous_Collection): Return early for the - anonymous access result type of a library function. - -2024-11-12 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.adb (Make_Variant_Comparison): Accept new types in - expansion. - * rtsfind.adb (Get_Unit_Name): Support SPARK.Big_Integers. - * rtsfind.ads (RTU_Id, RE_Id, RE_Unit_Table): Support new type - and its enclosing unit. - * sem_prag.adb (Analyze_Pragma): Support new type in pragma - Loop_Variant. - (Analyze_Subprogram_Variant_In_Decl_Part): Support new type in - aspect Subprogram_Variant. - -2024-11-12 Viljar Indus <indus@adacore.com> - - * libgnarl/s-interr__vxworks.ads (new): A VXWorks specific - version of the file where Register_Interrupt_Handler is marked - with the Obsolescent pragma. - * libgnarl/s-interr__vxworks.adb: Remove pragma Obsoloescent - that had no effect. - * Makefile.rtl: Add entries for using the - libgnarl/s-interr__vxworks.ads file. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/113868 - * par-ch6.adb (P_Subprogram) <Scan_Body_Or_Expression_Function>: - Add delta aggregate alongside the other forms of aggregates. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * sem_aggr.adb (Resolve_Array_Aggregate): In the case of an others - choice with a box, do not call Resolve_Aggr_Exp and give the error - for a multidimensional array directly. - (Resolve_Aggr_Expr): Remove bypasses for above case. - -2024-11-12 Ronan Desplanques <desplanques@adacore.com> - - * frontend.adb (Frontend): Move call to Fmap.Initialize ... - * gnat1drv.adb (Gnat1drv): ... here. Look up Fmap when loading System. - * par-prag.adb (Prag): Allow pragma Source_File_Name for System when - it confirms an existing mapping. - -2024-11-12 Richard Kenner <kenner@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix minor - markup errors. - * doc/gnat_ugn/gnat_utility_programs.rst: Likewise. - * gnat_ugn.texi: Regenerate. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * s-pack.adb.tmpl: Add "with System.Address_To_Access_Conversions". - (Cluster_Ref): Delete. - (AAC): New instance of System.Address_To_Access_Conversions. - (Rev_Cluster_Ref): Delete. - (Rev_ACC): New instance of System.Address_To_Access_Conversions. - (ClusterU_Ref): Delete. - (AACU): New instance of System.Address_To_Access_Conversions. - (Rev_ClusterU_Ref): Delete. - (Rev_ACCU): New instance of System.Address_To_Access_Conversions. - (Get_@@): Use a direct address-to-access conversion. - (GetU_@@): Likewise. - (Set_@@): Likewise. - (SetU_@@): Likewise. - * libgnat/s-pack03.adb: Regenerate. - * 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. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * sinfo.ads (Assignment_OK): Remove obsolete ??? comment. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * checks.adb (Range_Checks_Suppressed): Remove test on the - Kill_Range_Checks flag. - * einfo.ads (Kill_Range_Checks): Delete. - * gen_il-fields.ads (Opt_Field_Enum): Remove Kill_Range_Checks. - * gen_il-gen-gen_entities.adb (Entity_Kind): Likewise. - * sem_ch3.adb (Record_Type_Declaration): Do not set the - Kill_Range_Checks flag. - * sem_util.adb (Denotes_Discriminant): In a default expression, - also return True for a discriminal. - -2024-11-12 Steve Baird <baird@adacore.com> - - * prep.adb (Expression): Improve error message text when an - implicitly-defined Boolean-valued symbol is used in a context that - requires an integer value. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Directly test - the node and remove dead code for extended return statements. - -2024-11-12 Johannes Kliemann <kliemann@adacore.com> - - * Makefile.rtl: Use libgnat/s-parame__aarch64-linux.adb for - s-parame.adb on aarch64-linux. - * libgnat/s-parame__aarch64-linux.adb: Add file. - -2024-11-12 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/the_implementation_of_standard_i_o.rst - (Shared Files): Add trailing period. - * libgnat/s-ficobl.ads (AFCB): Reflect new behavior in comment. - * libgnat/s-fileio.adb (Open): Detect inconsistent sharing, - just like we do in System.File_IO.Reset. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-11-12 squirek <squirek@adacore.com> - - * accessibility.adb (Type_Access_Level): Add handling for - subprogram aliases. - -2024-11-12 squirek <squirek@adacore.com> - - * exp_ch4.adb (Expand_N_Type_Conversion): Add special runtime check - generation for mutably tagged objects. - -2024-11-12 Douglas B Rupp <rupp@adacore.com> - - * libgnat/a-calcon.adb (To_Ada_Time) (To_Duration) - (To_Struct_Timespec) (To_Unix_Time): Mark as obsolescent. - (To_Ada_Time_64) (To_Duration_64) (To_Struct_Timespec_64) - (To_Unix_Time_64): New. - * libgnat/a-calcon.ads (To_Ada_Time) (To_Duration) - (To_Struct_Timespec) (To_Unix_Time): Mark as obsolescent. - (To_Ada_Time_64) (To_Duration_64) (To_Struct_Timespec_64) - (To_Unix_Time_64): New. - * libgnat/a-calend.adb (To_Ada_Time) (To_Duration) - (To_Struct_Timespec) (To_Unix_Time): Mark as obsolescent. - (To_Ada_Time_64) (To_Duration_64) (To_Struct_Timespec_64) - (To_Unix_Time_64): New. - * libgnat/a-calend.ads (To_Ada_Time) (To_Duration) - (To_Struct_Timespec) (To_Unix_Time): Mark as obsolescent. - (To_Ada_Time_64) (To_Duration_64) (To_Struct_Timespec_64) - (To_Unix_Time_64): New. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/117018 - * exp_aggr.adb (Build_Array_Aggr_Code): Do not expect the - Loop_Actions field to be already present on association nodes. - * exp_util.adb (Insert_Actions): For association nodes, insert - into the Loop_Actions field only if it is already present. - * sem_aggr.adb (Resolve_Array_Aggregate): Add Iterated parameter. - (Resolve_Aggregate): Adjust calls to Resolve_Array_Aggregate. - (Resolve_Aggr_Expr): Add Iterated_Elmt defaulted parameter and - a default for Single_Elmt. Adjust call to Resolve_Array_Aggregate. - Preanalyze a copy of the expression in an iteration context. - (Resolve_Iterated_Component_Association): Pass Iterated_Elmt as - True to Resolve_Aggr_Expr and remove processing of Loop_Actions. - Do not check incorrect use of dynamically tagged expression in - an iteration context. - (Resolve_Iterated_Association): Use Copy_Separate_Tree instead of - New_Copy_Tree and set the Parent field of the result. - (Resolve_Delta_Array_Aggregate): Likewise. Only preanalyze the - copy instead of analyzing it. - -2024-11-12 Richard Kenner <kenner@adacore.com> - - * doc/gnat_ugn/about_this_guide.rst: Add information about GNAT LLVM. - Be consistent about spelling of "back end". - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Likewise. - * doc/gnat_ugn/gnat_and_program_execution.rst: Be consistent about - spelling of "back end". - * doc/gnat_ugn/the_gnat_compilation_model.rst: Likewise. - * gnat_ugn.texi: Regenerate. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * mdll.adb (Build_Dynamic_Library): Fix indentation. - -2024-11-12 Pascal Obry <obry@adacore.com> - - * mdll.adb: Use the same procedure to create relocatable or non - relocatable DLL. The only difference is wether the base address is - passed to the final linker. If no base-address is given the DLL is - relocatable. - -2024-11-12 squirek <squirek@adacore.com> - - * inline.adb (In_Main_Unit_Or_Subunit): Use Other_Comp_Unit instead of - Spec_Or_Body_Lib_Unit. - (Must_Inline): Use Other_Comp_Unit instead of Spec_Or_Body_Lib_Unit. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Also return - True for functions returning on the secondary stack or returning - a by-reference type if the back end exposes its return slot. - (Expand_Array_Aggregate): Call Is_Build_In_Place_Aggregate_Return - to spot aggregates to be built in place. - * exp_ch3.adb (Make_Allocator_For_Return): Add missing condition - in assertion pragma deduced from Expand_Subtype_From_Expr. - * exp_ch6.adb (Expand_Simple_Function_Return): Rewrite the statement - as an extended return statement if the expression is an aggregate - whose expansion is delayed. Properly relocate the expression in - this case. - * sem_ch6.adb: Add clauses for Exp_Aggr. - (Analyze_Function_Return): Do not apply the predicate check to an - aggregate whose expansion is delayed. Extended the processing of - case expressions to all conditional expressions. - -2024-11-12 Ronan Desplanques <desplanques@adacore.com> - - * gnat2.gpr: New file. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Expand_Delta_Array_Aggregate): Move declaration. - (Expand_Delta_Record_Aggregate): Likewise. - (Expand_Container_Aggregate): Likewise. Move implementation to - Build_Container_Aggr_Code. Implement built-in-place expansion - for object declarations and allocators. - (Build_Container_Aggr_Code): New function containing most of the - code of the original Expand_Container_Aggregate. Do not build a - temporary for the size calculation. Minor formatting tweaks. - (Expand_N_Aggregate): Add comment. - * exp_ch4.adb (Expand_Allocator_Expression): Detect the case of - a container aggregate as qualified expression. Do not apply the - predicate check on entry in this case and rewrite the allocator. - * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): Deal - with Last_Aggregate_Assignment first to compute the attachment - point (as already done in Attach_Object_To_Master_Node). - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * sem_aux.ads (Has_Unconstrained_Elements): Delete. - * sem_aux.adb (Has_Unconstrained_Elements): Likewise. - * sem_ch3.adb (Analyze_Object_Declaration): Remove obsolete code. - -2024-11-12 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem.adb (Process_Bodies_In_Context): check that Spec's unit is - an N_Lib_Unit_Declaration_Id. - -2024-11-12 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch5.adb (Expand_Assign_Array): Make Act_Rhs a constant and - do not recompute it, as well as R_Type, when there is a change of - representation. Move comment about the RHS from here to... - (Expand_N_Assignment_Statement): ...here. - -2024-11-12 Marc Poulhiès <poulhies@adacore.com> - - * xspack.py: New - * s-pack.ads.tmpl: New. - * s-pack.adb.tmpl: New. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Recognize null - string literal subtypes and set their bounds to 1 .. 0. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove special - case for string literal subtypes. - -2024-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (process_decls): Remove tests on Nkind that - contain a typo and would be redundant if written correctly. - -2024-11-04 Bob Duff <duff@adacore.com> - - * sinfo.ads (Library_Unit): Rewrite documentation. Note that - the "??? not (always) true..." comment was not true; - the Subunit_Parent never points to the spec. - (N_Compilation_Unit): Improve documentation. The Aux_ node - was not created to solve the mentioned problems; it was - created because the size of nodes was limited. - Misc doc improvements. - * sinfo-utils.ads: Add new wrappers for Library_Unit field. - Use subtypes with predicates for the parameters. - (First_Real_Statement): Still used in codepeer. - * sinfo-utils.adb: Add new wrappers for Library_Unit field, - with suitable assertions. - * sem_prag.adb: Use new field wrapper names. - (Matching_Name): New name for Same_Name to avoid - potential confusion with the other function with the - same name (Sem_Util.Same_Name), which is also called - in this same file. - (Matching_Convention): Change Same_Convention to match - Matching_Name. - * sem_util.ads (Same_Name): Improve comments; the old comment - implied that it works for all names, which was not true. - * sem_util.adb: Use new field wrapper names. - * gen_il-gen.adb: Rename N_Unit_Body to be N_Lib_Unit_Body. - Plain "unit" is ambiguous in Ada (library unit, compilation - unit, program unit, etc). - Add new union types N_Lib_Unit_Declaration and - N_Lib_Unit_Renaming_Declaration. - * gen_il-gen-gen_nodes.adb (Compute_Ranges): Raise exception - earlier (it is already raised later, in Verify_Type_Table). - Add a comment explaining why it might be raised. - * gen_il-types.ads: Rename N_Unit_Body to be N_Lib_Unit_Body, and add - new N_Lib_Unit_Declaration and N_Lib_Unit_Renaming_Declaration. - * einfo.ads: Fix obsolete comment (was left over from before - the "variable-sized nodes"). - * exp_ch7.adb: Use new field wrapper names. - * exp_disp.adb: Use new field wrapper names. - * exp_unst.adb: Use new field wrapper names. - * exp_util.adb: Use new field wrapper names. - * fe.h: Add new field wrapper names. These are currently not - used in gigi, but this change prepares for using them in - gigi. - * inline.adb: Use new field wrapper names. - * lib.adb: Use new field wrapper names. - Comment improvements. - * lib-load.adb: Use new field wrapper names. - Minor cleanup. - * lib-writ.adb: Use new field wrapper names. - * live.adb: Use new field wrapper names. - * par-load.adb: Use new field wrapper names. - Comment improvements. Minor cleanup. - * rtsfind.adb: Use new field wrapper names. - * sem.adb: Use new field wrapper names. - * sem_ch10.adb: Use new field wrapper names. - Comment improvements. Minor cleanup. - * sem_ch12.adb: Use new field wrapper names. - * sem_ch7.adb: Use new field wrapper names. - * sem_ch8.adb: Use new field wrapper names. - * sem_elab.adb: Use new field wrapper names. - Comment improvements. - * errout.adb (Output_Source_Line): Fix blowup in some - obscure cases, where List_Pragmas is not fully set up. - -2024-11-04 Nicolas Roche <roche@adacore.com> - - * libgnat/a-stwiun__shared.adb: Restructure code to inline only - the most common cases. Remove whenever possible runtime checks. - * libgnat/a-stwiun__shared.ads: Add Inline => True to Append - variants and Element. - -2024-11-04 Nicolas Roche <roche@adacore.com> - - * libgnat/a-stzunb__shared.adb: Restructure code to inline only - the most common cases. Remove whenever possible runtime checks. - * libgnat/a-stzunb__shared.ads: Add Inline => True to Append - variants and Element. - -2024-11-04 Nicolas Roche <roche@adacore.com> - - * libgnat/a-strunb__shared.adb: Restructure code to inline only - the most common cases. Remove whenever possible runtime checks. - * libgnat/a-strunb__shared.ads: Add Inline => True to Append - variants and Element. - -2024-11-04 Steve Baird <baird@adacore.com> - - * aspects.ads: Add Aspect_Extended_Access to Aspect_Id - enumeration. - * par-prag.adb: Add Pragma_Extended_Access to list of pragmas that - get no interesting processing in the parser. - * sem_attr.adb: Relax legality checks on Access/Unchecked_Access - attribute references if access type is Extended_Access. - * sem_ch12.adb (Validate_Access_Type_Instance): For an instance of - a generic with a formal access type, check that formal and actual - agree with with respect to Extended_Access aspect. - * sem_prag.adb (Analyze_Pragma): Add analysis code for pragma - Extended_Access. Set Pragma_Extended_Access element in Sig_Flags - aggregate. - * sem_prag.ads: Set Pragma_Extended_Access element in - Aspect_Specifying_Pragma aggregate. - * sem_res.adb (Valid_Conversion): Disallow - extended-to-not-extended access conversion. - * sem_util.adb (Is_Extended_Access_Access_Type): Implement new - function. - (Is_Aliased_View): If (and only if) the new Boolean For_Extended - parameter is True, then a slice of an aliased non-bitpacked array - is aliased, a constrained nominal subtype does not force a result - of False, and a dereference of an extended access value is - aliased. The last point is somewhat subtle. This is how we prevent - covert fat-to-nonfat type conversions via things like - "Not_Extended_Type'(Extended_Ptr.all'Access)" or passing - Extended_Ptr.all as an actual parameter corresponding to an - explicitly aliased formal parameter. - * sem_util.ads (Is_Extended_Access_Type): Declare new function. - (Is_Aliased_View): Add new defaults-False parameter For_Extended. - * snames.ads-tmpl: Declare Name_Extended_Access Name_Id constant - and Pragma_Extended_Access Pragma_Id enumeration literal. - -2024-11-04 Viljar Indus <indus@adacore.com> - - * sem_warn.adb (Check_One_Unit): When a system extension is - present always check entities from that unit before marking - the unit unreferenced. - -2024-11-04 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/113036 - * freeze.adb (Freeze_Expression): Deal with freezing actions coming - from within nested internal loops present in spec expressions. - -2024-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * sem_aggr.adb (Resolve_Iterated_Component_Association): Change to - function returning Boolean and return the result of the call made - to Resolve_Aggr_Expr. - (Resolve_Array_Aggregate): Return failure status if the call to - Resolve_Iterated_Component_Association returns false. - -2024-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * sem_aggr.adb (Resolve_Iterated_Component_Association): Move up - declaration of Expr and remove dead code from older processing. - -2024-11-04 Viljar Indus <indus@adacore.com> - - * usage.adb: Update the wording for -gnatVa and -gnatVd. - -2024-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.ads (Is_Two_Pass_Aggregate): Beef up comment. - -2024-11-04 Ronan Desplanques <desplanques@adacore.com> - - * comperr.adb (Compiler_Abort): Display message in exception handler. - -2024-11-04 Javier Miranda <miranda@adacore.com> - - * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Use the - base type of the type imposed by the context for building the - interpolated string image; required to allow the expander adding - the missing runtime check when the target type is constrained. - (Apply_Static_Length_Check): New subprogram. - -2024-11-04 Daniel King <dmking@adacore.com> - - * Makefile.rtl: Use s-secsta__cheri.adb on Morello CheriBSD. - * libgnat/s-secsta__cheri.adb: New file. - -2024-11-04 Daniel King <dmking@adacore.com> - - * libgnarl/s-intman__cheribsd.adb: Add SIGPROT to interrupt list. - -2024-11-04 Viljar Indus <indus@adacore.com> - - * diagnostics-sarif_emitter.adb (Print_Runs): Add printing for - the invocation node that consists of a single invocations that - is composed of the commandLine and executionSuccessful attributes. - -2024-11-04 Viljar Indus <indus@adacore.com> - - * diagnostics-sarif_emitter.adb (Print_SARIF_Report): Add a - Schema field to the SARIF report. - -2024-11-04 Ronan Desplanques <desplanques@adacore.com> - - * libgnarl/s-mudido__affinity.adb (Unchecked_Set_Affinity): Set new - ATCB component. - * libgnarl/s-taprop__linux.adb (Create_Task): Only set CPU affinity - when required. - (Requires_Affinity_Change): New subprogram. - (Set_Task_Affinity): Likewise. - * libgnarl/s-tarest.adb (Create_Restricted_Task): Adapt to - Initialize_ATCB change. - * libgnarl/s-taskin.adb (Initialize_ATCB): Update parameter list. - Record whether aspects were explicitly specified. - * libgnarl/s-taskin.ads (Common_ATCB): Add component. - * libgnarl/s-tassta.adb (Create_Task): Update call to Initialize_ATCB. - * libgnarl/s-tporft.adb (Register_Foreign_Thread): Likewise. - -2024-11-04 Raphaël AMIARD <amiard@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Fix format for second line of - warning (should be a continuation line) - -2024-11-04 Daniel King <dmking@adacore.com> - - * Makefile.rtl: Build support for Morello CheriBSD. - * libgnarl/s-intman__cheribsd.adb: New file for CheriBSD. - * libgnarl/s-osinte__cheribsd.ads: New file for CheriBSD. - -2024-11-04 Daniel King <dmking@adacore.com> - - * libgnat/i-cheri.ads: Remove exception declarations. - * libgnat/i-cheri-exceptions.ads: New file. - -2024-11-04 Daniel King <dmking@adacore.com> - - * libgnat/s-oslock__posix.ads: Fix alignment of pthread_mutex_t - for CHERI targets. - -2024-11-04 Claire Dross <dross@adacore.com> - - * Makefile.rtl: Remove references to moved units. - * libgnat/a-chtgfk.adb: Removed. - * libgnat/a-chtgfk.ads: Removed. - * libgnat/a-chtgfo.adb: Removed. - * libgnat/a-chtgfo.ads: Removed. - * libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Removed. - -2024-11-04 Raphaël AMIARD <amiard@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Adjust documentation. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-11-04 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/117051 - * freeze.adb (Freeze_Entity): Call the layout procedure on subtypes - declared in a generic unit when they are static. - -2024-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * adaint.c: Replace initialize.c with rtinit.c in comment. - * sysdep.c (__gnat_set_mode): Fix reference in comment. - * libgnat/i-cstrea.ads (Content_Encoding): Adjust comment. - -2024-11-04 Bob Duff <duff@adacore.com> - - * sem_ch10.adb (Analyze_With_Clause): In the case of a - self-referential with clause, if there is a subsequent use clause - for the same package (which is necessarily useless), remove it from - the context clause. Reenable the warning. - -2024-11-04 Javier Miranda <miranda@adacore.com> - - * einfo.ads (Is_Dispatch_Table_Wrapper): Complete documentation. - * exp_ch6.adb (Install_Class_Preconditions_Check): Dispatch table - wrappers do not require installing the check since it is performed - by the caller. - (Class_Preconditions_Subprogram): Use new predicate Is_LSP_Wrapper. - * freeze.adb (Check_Inherited_Conditions): Rename Postcond_Wrappers to - Condition_Wrappers to handle implicitly inherited subprograms that - implement pre-/postconditions inherited from interface primitives. - Use new predicate Is_LSP_Wrapper. - * sem_disp.adb (Check_Dispatching_Operation): Complete assertion to - handle functions returning class-wide types. - * exp_util.ads (Is_LSP_Wrapper): New subprogram. - * exp_util.adb (Is_LSP_Wrapper): New subprogram. - * contracts.adb (Process_Spec_Postconditions): Use Is_LSP_Wrapper. - (Process_Inherited_Conditions): Use Is_LSP_Wrapper. - * sem_ch6.adb (New_Overloaded_Entity): Use Is_LSP_Wrapper. - * sem_util.adb (Nearest_Class_Condition_Subprogram): Use Is_LSP_Wrapper. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch7.adb (Uninstall_Declarations): Mark Taft amendment - types like we mark other types declared in private package - declarations. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb (Expand_N_Op_Multiply): Remove extra whitespace. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb (Expand_N_Op_Subtract): Replace numeric literal - with universal integer constant, just like it is done in - expansion of addition operator. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (In_Decl): Rename and move local variable where - it is used. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Type_In_P): Add non-null qualifier. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_Intrinsic_Operator) - (Resolve_Intrinsic_Unary_Operator): Replace traversals of - homonyms with a direct lookup. - -2024-11-04 Piotr Trojanek <trojanek@adacore.com> - - * sem_res.adb (Resolve_Intrinsic_Unary_Operator): Disable when - expansion is inactive. - -2024-10-29 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc-interface/misc.cc (internal_error_function): Update for - m_printer becoming reference printer. - -2024-10-29 Marc Poulhiès <poulhies@adacore.com> - - * types.h: fix static_assert. - -2024-10-26 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/62122 - * doc/gnat_rm/implementation_defined_attributes.rst - (Unrestricted_Access): Remove null exclusion. - * gnat_rm.texi: Regenerate. - -2024-10-25 Tom Tromey <tromey@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Use gnu_fat_type as the type - context for a XUB type. - -2024-10-25 Tom Tromey <tromey@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Update some calls to - create_type_decl. - * gcc-interface/gigi.h (create_type_decl): Add can_be_nameless parameter. - * gcc-interface/utils.cc (create_type_decl): Add can_be_nameless - parameter. Set DECL_NAMELESS on type decl. - -2024-10-25 Tom Tromey <tromey@adacore.com> - - * gcc-interface/utils.cc (record_builtin_type, create_type_stub_decl): - Set DECL_NAMELESS on type decls. - -2024-10-25 Tom Tromey <tromey@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Pass 'true' to - create_type_decl when creating XUA type. - -2024-10-25 Tom Tromey <tromey@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Set TYPE_NAMELESS on - XUB types. - -2024-10-25 Tom Tromey <tromey@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Pass artificial_p to - build_unc_object_type. - * gcc-interface/gigi.h (build_unc_object_type): Update. - * gcc-interface/utils.cc (build_unc_object_type) Add artificial_p - parameter. - (build_unc_object_type_from_ptr): Update. - -2024-10-25 Tom Tromey <tromey@adacore.com> - - * gcc-interface/decl.cc (is_artificial): New function. - (gnat_to_gnu_entity): Use it. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (Call_to_gnu): If the formal is passed by - reference and the actual is a type conversion but not addressable, - create the temporary in the target type of the conversion if this - is needed to enforce strict aliasing. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/116551 - * gcc-interface/trans.cc (node_is_atomic) <N_Identifier>: Return - false if the type of the entity is an unconstrained array type. - (node_is_volatile_full_access) <N_Identifier>: Likewise. - -2024-10-25 Bob Duff <duff@adacore.com> - - * sem_ch10.adb (Analyze_With_Clause): Temporarily disable warning. - -2024-10-25 Bob Duff <duff@adacore.com> - - * sem_ch10.adb: (Analyze_With_Clause): Check for self-referential - with clause. Give a warning, and set Is_Implicit_With, which we - are reusing in this obscure case even though it's not really - implicit. - (Analyze_Context): Remove check for self-referential with clause. - It wasn't correct -- it only triggered for Acts_As_Spec - subprograms. Corrected check is now in Analyze_With_Clause. - (Implicit_With): Rename to be Is_Implicit_With. Misc cleanup, - comment fixes. - (Process_Spec_Clauses): Remove default for Exit_On_Self parameter. - Use "exit when" instead of if statement. - * sinfo.ads (Implicit_With): Rename to be Is_Implicit_With. - Document new use for self-referential withs. - * ali.adb (Scan_ALI): Use an aggregate to initialize Withs entry. - * exp_put_image.adb (Preload_Root_Buffer_Type): Make this a - once-only procedure. - * sem_util.ads (Is_Ancestor_Package): Fix comment -- a libraryunit - is an ancestor of itself, but this doesn't return True in that - case. - * sem_util.adb (Is_Ancestor_Package): Better to initialize things - on their declaration. - * lib-load.adb: Minor comment fix. - * sem_prag.adb: Implicit_With --> Is_Implicit_With. Minor comment - fix. - * gen_il-fields.ads: Implicit_With --> Is_Implicit_With. - * gen_il-gen-gen_nodes.adb: Likewise - * lib.adb: Likewise - * lib-writ.adb: Likewise - * rtsfind.adb: Likewise - * sem_cat.adb: Likewise - * sem_ch12.adb: Likewise - * sem_ch8.adb: Likewise - * sem_elab.adb: Likewise - * sem_warn.adb: Likewise - * gcc-interface/trans.cc: (Implicit_With): Rename to be - Is_Implicit_With. - -2024-10-25 Tom Tromey <tromey@adacore.com> - - * gcc-interface/trans.cc (namespace_map): New global. - (Compilation_Unit_to_gnu): Also handle N_With_Clause and - N_Use_Package_Clause. - (get_or_create_namespace, get_namespace): New functions. - (gnat_to_gnu) <N_Package_Renaming_Declaration>: Call - get_namespace. - <N_Use_Package_Clause, N_With_Clause>: Likewise. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb (Freeze_Expression.In_Expanded_Body): Tweak comments. - -2024-10-25 Javier Miranda <miranda@adacore.com> - - * freeze.adb (Freeze_Entity): If the entity is an access-to-subprogram - type declaration that pre/postcondition contracts, build the - wrapper - (if not previously done as part of processing aspects). - * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Add missing support - for building the wrapper when the access type has pragmas - Pre_Class/Post_Class. - (Build_Access_Subprogram_Wrapper_Declaration): New subprogram. - * sem_ch3.ads (Build_Access_Subprogram_Wrapper): Spec moved to the - public part of the package. - * sem_prag.adb (Analyze_Pre_Post_Condition): Store in the tree copy of - class-wide pre/postcondition expression; required to merge it with - inherited conditions. - (Is_Valid_Assertion_Kind): Added Pre_Class and Post_Class. - -2024-10-25 Richard Kenner <kenner@adacore.com> - - * doc/gnat_ugn/about_this_guide.rst: Numerous changes to language - and style and add some LLVM-specific information. - * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Likewise. - * doc/gnat_ugn/example_of_binder_output.rst: Likewise. - * doc/gnat_ugn/getting_started_with_gnat.rst: Likewise. - * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise. - * doc/gnat_ugn/gnat_utility_programs.rst: Likewise. - * doc/gnat_ugn/inline_assembler.rst: Likewise. - * doc/gnat_ugn/platform_specific_information.rst: Likewise. - * doc/gnat_ugn/the_gnat_compilation_model.rst: Likewise. - * gnat_ugn.texi: Regenerate. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/43485 - * libgnarl/a-retide.adb: Add with clause for System.Soft_Links. - (Delay_Until): Defer and undefer abort around the call to the - Timed_Delay routine of System.Task_Primitives.Operations. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb (Freeze_Expression.In_Expanded_Body): Also return True - for the body of a helper/wrapper built for class-wide preconditions. - -2024-10-25 Javier Miranda <miranda@adacore.com> - - * sem_prag.adb (Analyze_Pre_Post_Condition): Allow the use of - pragma Pre_Class/Post_Class with abstract subprograms. - -2024-10-25 Javier Miranda <miranda@adacore.com> - - * sem_ch3.adb (Record_Type_Definition): For tagged types, add - the missing decoration to the First_Entity in the corresponding - class-wide type entity. - -2024-10-25 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Adjust documentation. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-10-25 Richard Kenner <kenner@adacore.com> - - * comperr.ads (Compiler_Error): Update documentation. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * uintp.ads (Type_Size_For): New function declaration. - * uintp.adb (Type_Size_For): New function body. - * exp_imgv.adb (Rewrite_Object_Image): Call Type_Size_For to get - the size of a narrower integer type. - -2024-10-25 Tonu Naks <naks@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: update - simpler accessibility model - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-10-25 Bob Duff <duff@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: - Minor wording improvments. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-10-25 squirek <squirek@adacore.com> - - * libgnarl/s-taprop__mingw.adb: Modify stack size and update - documentation. - -2024-10-25 Javier Miranda <miranda@adacore.com> - - * gen_il-fields.ads: New node field (Is_Expanded_Prefixed_Call). - * gen_il-gen-gen_nodes.adb: New semantic field for N_Function_Call - and N_Procedure_Call_Statement nodes. - * sem_ch4.adb (Complete_Object_Operation): Mark the rewritten node - with the Is_Expanded_Prefixed_Call flag. - * sem_res.adb (Check_Prefixed_Call): Code cleanup and addition of - documentation. - (Resolve_Actuals): Add a null-exclusion check on the - prefix of the call when it is an access-type. - * sinfo.ads: Adding new semantic flag (Is_Expanded_Prefixed_Call) - to N_Function_Call and N_Procedure_Call_Statement nodes. - * debug.adb: Adding documentation for switch d_P. - -2024-10-25 Raphaël AMIARD <amiard@adacore.com> - - * sem_ch13.adb (Analyze_One_Aspect): change the call to - `Error_Msg_GNAT_Extension` to allow this aspect in core - extensions. Put the code path in core extensions. - * exp_util.adb (Name_Of_Controlled_Prim_Op): Put the code path - in core extensions - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * sem_type.ads (Interp ): Add Opnd_Typ component and remove default - value for Abstract_Op component. - (Add_One_Interp): Rename Opnd_Type parameter to Opnd_Typ. - * sem_type.adb (Add_One_Interp): Likewise. - (Add_One_Interp.Add_Entry): Record the operand type as well. - (Collect_Interp): Record Empty for the operand type. - (Disambiguate.Is_Ambiguous_Boolean_Operator): New predicate. - (Disambiguate): Use it to detect recorded ambiguity cases. - * sem_ch4.adb (Find_Comparison_Equality_Types): Add commentary. - -2024-10-25 Javier Miranda <miranda@adacore.com> - - * sem_ch8.adb (Freeze_Actual_Profile): Do not report error - on incomplete types, since they do not cause freezing. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * namet.adb (Append_Decoded_With_Brackets): Fix condition for the - cheap test at the beginning of the loop. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115507 - * rtsfind.ads (RE_Id): Add RE_Enum_[Wide_]Wide_String_To_String. - (RE_Unit_Table): Add entries for the new values. - * exp_attr.adb (Is_User_Defined_Enumeration_Type): New predicate. - (Expand_N_Attribute_Reference) <Attribute_Wide_Value>: Build a call - to RE_Enum_Wide_String_To_String for user-defined enumeration types. - <Attribute_Wide_Wide_Value>: Likewise with - RE_Enum_Wide_Wide_String_To_String. - * exp_imgv.adb (Expand_Value_Attribute): Adjust to above. - * libgnat/s-wchwts.ads (Enum_Wide_String_To_String): New function. - (Enum_Wide_Wide_String_To_String): Likewise. - * libgnat/s-wchwts.adb: Add clauses for System.Case_Util. - (Normalize_String): New local procedure. - (Enum_Wide_String_To_String): New function body. - (Enum_Wide_Wide_String_To_String): Likewise. - -2024-10-25 Javier Miranda <miranda@adacore.com> - - * sem_res.adb (Resolve_Actuals): Add checks for incomplete - type actuals. - -2024-10-25 Raphaël AMIARD <amiard@adacore.com> - - * par-ch5.adb (P_Sequence_Of_Statements): Forbid repr clauses in - handled_statements. - -2024-10-25 Raphaël AMIARD <amiard@adacore.com> - - * sem_util.ads: Introduce Inspect_Deferred_Constant_Completion - on a single object declaration, to better factorize the code - * sem_util.adb: Introduce aforementioned overload - * sem_ch4.adb (Analyze_Expression_With_Actions): Check deferred - constant completions - * sem_ch5.adb (Analyze_Statements): Check deferred constant - completions - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Expand_Actuals.Is_Legal_Copy): Return True for an - initialization procedure with a full access formal parameter. - (Expand_Actuals.Requires_Atomic_Or_Volatile_Copy): Return True if - the formal parameter is of a full access unconstrained array type. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - Gaius Mulley <gaiusmod2@gmail.com> - - PR other/116613 - * gcc-interface/misc.cc: Add #define INCLUDE_MEMORY - * gcc-interface/trans.cc: Likewise. - * gcc-interface/utils.cc: Likewise. - -2024-10-11 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/116498 - PR ada/117087 - * gcc-interface/decl.cc (validate_size): Fix thinko. - -2024-10-09 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/117038 - * fe.h (struct c_array): Add 'const' to declaration of pointer. - (C_Source_Buffer): Use consistent formatting. - * par-ch3.adb (P_Component_Items): Properly set Aliased_Present on - access definition. - * sinput.ads: Remove clause for Interfaces.C. - (C_Array): Change type of Length to Integer and make both components - aliased. Remove Convention aspect. - (C_Source_Buffer): Remove all aspects. - * sinput.adb (C_Source_Buffer): Adjust to above change. - -2024-10-09 Eric Botcazou <ebotcazou@adacore.com> - - * Makefile.rtl: Remove HP-UX 10 section. - * libgnarl/s-osinte__hpux-dce.ads: Delete. - * libgnarl/s-osinte__hpux-dce.adb: Likewise. - * libgnarl/s-taprop__hpux-dce.adb: Likewise. - * libgnarl/s-taspri__hpux-dce.ads: Likewise. - * libgnat/s-oslock__hpux-dce.ads: Likewise. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/116498 - * gcc-interface/decl.cc (validate_size): Use the size of the default - pointer mode as the minimum size for access types and fat pointers. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (Raise_Error_to_gnu) <CE_Invalid_Data>: - Do not the generate range information if the value is a call to a - Rep_To_Pos function. - -2024-10-08 Olivier Hainque <hainque@adacore.com> - - * sigtramp-armdroid.c: Refactor into ... - * sigtramp-android.c, sigtramp-android-asm.h: New files. - * Makefile.rtl (arm/aarch64-android section): Add - sigtramp-android.o to EXTRA_LIBGNAT_OBJS unconditionally. Add - sigtramp.h and sigtramp-android-asm.h to EXTRA_LIBGNAT_SRCS. - * init.c (android section, __gnat_error_handler): Defer to - __gnat_sigramp unconditionally again. - * sigtramp.h: Adjust comments to allow neutral signal handling - relays, merely forwarding to the underlying handler without any - intermediate CFI magic. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115507 - * exp_imgv.adb (Expand_Valid_Value_Attribute): Add actual parameter - for Is_Wide formal in the call to Valid_Value_Enumeration_NN. - (Expand_Value_Attribute): Likewise. - * libgnat/s-vaen16.ads (Value_Enumeration_16): Add Is_Wide formal. - (Valid_Value_Enumeration_16): Likewise. - * libgnat/s-vaen32.ads (Value_Enumeration_32): Likewise. - (Valid_Value_Enumeration_32): Likewise. - * libgnat/s-vaenu8.ads (Value_Enumeration_8): Likewise. - (Valid_Value_Enumeration_8): Likewise. - * libgnat/s-valboo.adb (Value_Boolean): Pass True for To_Upper_Case - formal parameter in call to Normalize_String. - * libgnat/s-valcha.adb (Value_Character): Likewise. - * libgnat/s-valuen.ads (Value_Enumeration): Add Is_Wide formal. - (Valid_Value_Enumeration): Likewise. - * libgnat/s-valuen.adb (Value_Enumeration_Pos): Likewise and pass - its negation for To_Upper_Case formal in call to Normalize_String. - (Valid_Value_Enumeration): Add Is_Wide formal and forward it in - call to Value_Enumeration_Pos. - (Value_Enumeration): Likewise. - * libgnat/s-valuti.ads (Normalize_String): Add To_Upper_Case formal - parameter and adjust post-condition accordingly. - * libgnat/s-valuti.adb (Normalize_String): Add To_Upper_Case formal - parameter and adjust implementation accordingly. - * libgnat/s-valwch.adb (Value_Wide_Wide_Character): Pass False for - To_Upper_Case formal parameter in call to Normalize_String. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114636 - * sem_ch12.adb (Check_Formal_Package_Instance): For a defaulted - formal discrete type, skip the generated implicit base type. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115535 - * exp_put_image.adb (Build_Elementary_Put_Image_Call): Use the size - of the underlying type to find the support type. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114640 - * exp_util.adb (Find_Hook_Context): For a node present within a - conditional expression, do not return an N_Elsif_Part node. - -2024-10-08 Viljar Indus <indus@adacore.com> - - * diagnostics-constructors.adb - (Make_Mixed_Container_Aggregate_Error): New function for the error - message - (Record_Mixed_Container_Aggregate_Error): New function for the - error message. - * diagnostics-constructors.ads: Likewise. - * diagnostics-repository.ads: register new diagnostics id - * diagnostics.ads: add new diagnostics id - * errout.adb (First_And_Last_Node): Detect the span for component - associations. - * sem_aggr.adb (Resolve_Container_Aggregate): reject container - aggregates that have both named and positional elements. - -2024-10-08 Ronan Desplanques <desplanques@adacore.com> - - * snames.ads-tmpl: Add new pragma definition. - * par-prag.adb (Prag): Handle new pragma. - * sem_prag.adb (Analyze_Pragma): Implement new pragma. - -2024-10-08 Ronan Desplanques <desplanques@adacore.com> - - * snames.ads-tmpl: Tweak position of comment. - -2024-10-08 Tonu Naks <naks@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: replace - references to RFC's with appropriate text from the rfc - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-10-08 Ronan Desplanques <desplanques@adacore.com> - - * lib-writ.ads (Add_Preprocessing_Dependency): Update - documentation comment. - * sem_ch3.adb (Apply_External_Initialization): Add call to - Add_Preprocessing_Dependency. - -2024-10-08 Viljar Indus <indus@adacore.com> - - * exp_aggr.adb (Build_Siz_Exp): Support deriving the size of the - container aggregate with multi-dimensional arrays. Make the - function return an node of an expression instead of an integer. - Additionally calculate the size expression for - Component_Associations. - (To_Int) make this method available for more functions. - (Aggregate_Size) Relocate the calculation of - Componenet_Associations to Build_Siz_Exp. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - * exp_tss.ads (Is_Rep_To_Pos): New function declaration. - * exp_tss.adb (Is_Rep_To_Pos): New function body. - * fe.h (Is_Rep_To_Pos): New macro and extern declaration. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - * exp_imgv.adb (Rewrite_Object_Image): When the prefix is a type - conversion to Universal_Integer, use its expression directly. When - the prefix is an integer literal with Universal_Integer type, try - to compute a narrower type. - -2024-10-08 Raphaël AMIARD <amiard@adacore.com> - - * par-ch11.adb (P_Sequence_Of_Statements): Remove Handled - parameter. Always wrap the statements in a block when there are - declarations in it. - * par-ch5.adb: Adapt call to P_Sequence_Of_Statements Update - outdated comment, remove useless `Style_Checks` pragma. - (P_Sequence_Of_Statements): Don't emit an error in core extensions - mode. Emit an error when a non valid declaration is parsed in - sequence of statements. - * par.adb: Adapt P_Sequence_Of_Statements' signature - * doc/gnat_rm/gnat_language_extensions.rst: Adapt documentation - now. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-10-08 Ronan Desplanques <desplanques@adacore.com> - - * generate_minimal_reproducer.adb (Generate_Minimal_Reproducer): - Fix behavior on child subprograms without specs. - -2024-10-08 Steve Baird <baird@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Don't freeze here - if Has_Delayed_Freeze returns True. - * sem_type.adb (Valid_Equality_Arg): Treat an incomplete type like - a limited type because neither has an implicitly-defined equality - primitive. - (Covers): If either argument is an incomplete type - whose full view is available, then look through to the full view. - * sem_res.adb (Resolve_Actuals): If the actual parameter type is - complete and the formal parameter type is not, then update the - formal parameter type to use the complete view. - -2024-10-08 squirek <squirek@adacore.com> - - * sem_ch3.adb (Derived_Type_Declaration): Modify generation of - compile time check. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-trasym__dwarf.adb (LDAD_Header): New String constant. - (Symbolic_Traceback): Print the load address of the executable at - the beginning if it is not null. - -2024-10-08 Steve Baird <baird@adacore.com> - - * sem_ch6.adb (Check_Discriminant_Conformance): In testing whether - a default expression is permitted for an access discriminant, we - need to know whether the discriminated type is immutably limited. - Handle another part of this test that cannot easily be handled in - Sem_Aux.Is_Immutably_Limited. This involves declaring a new local - function, Is_Derived_From_Immutably_Limited_Type. - -2024-10-08 Steve Baird <baird@adacore.com> - - * sem_attr.adb (Resolve_Attribute): When setting the Etype of a - universal-integer-valued attribute reference to the subtype - determined by its context, use the basetype of that subtype - instead of the subtype itself if there is a possibility that the - attribute value will not satisfy the constraints of that subtype. - Otherwise the compiler is, in effect, assuming something that - might not be true. Except use the subtype in the case of a - not-from-source 'Pos attribute reference in order to avoid - breaking things. - -2024-10-08 Ronan Desplanques <desplanques@adacore.com> - - * comperr.adb (Compiler_Abort): Add call to - Generate_Minimal_Reproducer and replace call to Namet.Unlock with - call to Unlock_If_Locked. - * debug.adb: Document new purpose of -gnatd_m and -gnatd_M. - * fname-uf.adb (Instantiate_SFN_Pattern): New procedure. - (Get_Default_File_Name): New function. - (Get_File_Name): Replace inline code with call to - Instantiate_SFN_Pattern. - * fname-uf.ads (Get_Default_File_Name): New function. - * generate_minimal_reproducer.adb (Generate_Minimal_Reproducer): - New procedure. - * namet.adb (Unlock_If_Locked): New function. - * namet.ads (Unlock_If_Locked): Likewise. - * par-prag.adb (Prag): Add special behavior with -gnatd_M. - * set_targ.adb: Minor fixes to comments. - * gcc-interface/Make-lang.in: Update list of object files. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.ads (Is_Two_Pass_Aggregate): New function declaration. - * exp_aggr.adb (Is_Two_Pass_Aggregate): New function body. - (Expand_Array_Aggregate): Call Is_Two_Pass_Aggregate to detect the - aggregates that need the 2-pass expansion. - * exp_ch3.adb (Expand_Freeze_Array_Type): In the anonymous array - case, build the initialization procedure if the initial value in - the object declaration is a 2-pass aggregate. - -2024-10-08 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Fix - indentation. - -2024-10-08 Ronan Desplanques <desplanques@adacore.com> - - * aspects.ads: Add entities for External_Initialization. - * checks.adb (Selected_Length_Checks): Add support for - N_External_Initializer nodes. - * doc/gnat_rm/gnat_language_extensions.rst: Add section for the added - extension. - * exp_util.adb (Insert_Actions): Add support for N_External_Initializer - nodes. - * fe.h (C_Source_Buffer): New function. - * gen_il-fields.ads: Add new field. - * gen_il-gen-gen_nodes.adb: Add N_External_Initializer node kind. - * gen_il-gen.adb: Add new field type. - * gen_il-types.ads: Add new node kind and new field type. - * pprint.adb (Expr_Name): Handle new node kind. - * sem.adb (Analyze): Add support for N_External_Initializer nodes. - * sem_ch13.adb (Analyze_Aspect_Specifications, Check_Aspect_At_Freeze_Point): - Add support for External_Initialization aspect. - * sem_ch3.adb (Apply_External_Initialization): New subprogram. - (Analyze_Object_Declaration): Add support for External_Initialization aspect. - * sem_res.adb (Resolve_External_Initializer): New procedure. - (Resolve): Add support for N_External_Initializer nodes. - (Set_String_Literal_Subtype): Extend to handle N_External_Initializer nodes. - * sinfo-utils.adb (Is_In_Union_Id): Adapt to new field addition. - * sinfo.ads: Add documentation for new node kind and new field. - * sinput.adb, sinput.ads (C_Source_Buffer): Add new C interface function. - * snames.ads-tmpl: Add new aspect identifier. - * sprint.adb (Sprint_Node_Actual): Add nop handling of N_External_Initializer - nodes. - * types.ads: Modify type to allow for new C interface. - * gcc-interface/trans.cc (gnat_to_gnu): Handle new GNAT node type. - * gcc-interface/Make-lang.in: Update list of stage1 run-time library units. - * gnat-style.texi: Regenerate. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-10-08 Olivier Hainque <hainque@adacore.com> - - * Makefile.rtl (arm/aarch64-android): Associate a-nallfl.ads with - libgnat/a-nallfl__wraplf.ads. - -2024-10-08 Olivier Hainque <hainque@adacore.com> - - * libgnarl/s-linux__android-arm.ads: Define SIGSYS. - * libgnarl/s-linux__android-aarch64.ads: Define SIGSYS. - * libgnarl/s-osinte__android.ads: Expose SIGSYS value. - -2024-10-08 Olivier Hainque <hainque@adacore.com> - - * libgnarl/s-linux__android-arm.ads: New file, renaming of ... - * libgnarl/s-linux__android.ads: ... this file. - * libgnarl/s-linux__android-aarch64.ads: New file. Based on the - -arm variant, with sa_ field positions adjusted. - * Makefile.rtl (arm/aarch64-android pairs): Adjust accordingly. - * libgnarl/s-osinte__android.ads: Rather than making assumptions - on the actual type of the C sigset_t, use - Os_Constants.SIZEOF_sigset_t to define an Ada sigset_t type of the - proper size. Use C.int instead of unsigned_long for sa_flags. - -2024-10-08 Olivier Hainque <hainque@adacore.com> - - * init.c (__gnat_error_handler): Map signals straight to Ada - exceptions, without a local CFI trampoline. - (__gnat_adjust_context_for_raise): Guard arm specific code on __arm__ - compilation. Do nothing otherwise, relying on libgcc's signal - frame recognition for PC/RA adjustments. - -2024-10-08 Olivier Hainque <hainque@adacore.com> - - * Makefile.rtl: Extend arm-android section to aarch64, in a similar - fashion as other arm/arch64 configurations. Introduce pair - selection guards to prevent match of aarch64-linux-android on the - regular aarch64-linux% cross as well. - -2024-10-08 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Turn - Compile_Time pragmas into null nodes - -2024-10-05 Eric Botcazou <ebotcazou@adacore.com> - - PR middle-end/116933 - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Out_Parameter>: Add - the "uninitialized" attribute on Out parameters. - * gcc-interface/utils.cc (gnat_internal_attributes): Add entry for - the "uninitialized" attribute. - (handle_uninitialized_attribute): New function. - -2024-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR other/116801 - * gcc-interface/lang.opt.urls: Regenerate. - -2024-09-10 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/misc.cc: Include memmodel.h before tm_p.h. - -2024-09-10 Viljar Indus <indus@adacore.com> - - * gcc-interface/decl.cc: Use same warning characters in - continuation messages. - * gcc-interface/trans.cc: Likewise. - -2024-09-10 Javier Miranda <miranda@adacore.com> - - * sem_ch13.adb (Analyze_One_Aspect): Call - Error_Msg_GNAT_Extension() to report an error when the aspect - First_Controlling_Parameter is set to True and the sources are - compiled without Core_Extensions_ Allowed. - * sem_prag.adb (Pragma_First_Controlling_Parameter): Call - subprogram Error_Msg_GNAT_Extension() to report an error when the - aspect First_Controlling_Parameter is set to True and the sources - are compiled without Core_Extensions_Allowed. Report an error when - the aspect pragma does not confirm an inherited True value. - -2024-09-10 Viljar Indus <indus@adacore.com> - - * diagnostics-pretty_emitter.adb (Get_Last_Line_Char): New. Get - the last non line change character. Write_Span_Labels use the - adjusted line end pointer to calculate the length of the span. - -2024-09-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_intr.ads, exp_intr.adb (Expand_Source_Info): Move - declaration to package spec. - * sem_eval.adb (Eval_Intrinsic_Call): Evaluate calls to - GNAT.Source_Info where possible. - -2024-09-10 Piotr Trojanek <trojanek@adacore.com> - - * checks.adb (Remove_Checks): Combine CASE alternatives. - -2024-09-10 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/s-os_lib.ads: Remove extra whitespace. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc-interface/misc.cc (internal_error_function): Rename - diagnostic_context's "printer" field to "m_printer". - -2024-09-05 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (addressable_p) <COMPONENT_REF>: Add bypass - for internal fields on strict-alignment platforms. - -2024-09-05 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/gigi.h (default_field_alignment): New function. - * gcc-interface/misc.cc: Include tm_p header file. - (default_field_alignment): New function. - * gcc-interface/trans.cc (addressable_p) <COMPONENT_REF>: Replace - previous alignment klduge with call to default_field_alignment. - * gcc-interface/utils.cc (finish_record_type): Likewise for the - alignment based on which DECL_BIT_FIELD should be cleared. - -2024-09-05 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.ads, exp_util.adb (Duplicate_Subexpr_No_Checks): - Remove parameters, which are no longer used. - -2024-09-05 Viljar Indus <indus@adacore.com> - - * par-endh.adb: add call to new diagnostic for end loop errors. - * sem_ch13.adb: add call to new diagnostic for default iterator - error and record representation being too late. - * sem_ch4.adb: Add new diagnostic for wrong operands. - * sem_ch9.adb: Add new diagnostic for a Lock_Free warning. - * libgnat/g-lists.adb (Ensure_Unlocked): Make checks for tampering - conditional. - * libgnat/g-lists.ads: Add parameter Tampering_Checks to control - whether tampering checks should be executed. - * backend_utils.adb: Add new gcc switches - '-fdiagnostics-format=sarif-file' and - '-fdiagnostics-format=sarif-stderr'. - * debug.adb: document -gnatd_D switch. - * diagnostics-brief_emitter.adb: New package for displaying - diagnostic messages in a compact manner. - * diagnostics-brief_emitter.ads: Same as above. - * diagnostics-constructors.adb: New pacakge for providing simpler - constructor methods for new diagnostic objects. - * diagnostics-constructors.ads: Same as above. - * diagnostics-converter.adb: New package for converting old - Error_Msg_Object-s to Diagnostic_Types. - * diagnostics-converter.ads: Same as above. - * diagnostics-json_utils.adb: Package for utility methods related - to emitting JSON. - * diagnostics-json_utils.ads: Same as above. - * diagnostics-pretty_emitter.adb: New package for displaying - diagnostic messages in a more elaborate manner. - * diagnostics-pretty_emitter.ads: Same as above. - * diagnostics-repository.adb: New package for collecting all - created error messages. - * diagnostics-repository.ads: Same as above. - * diagnostics-sarif_emitter.adb: New pacakge for converting all of - the diagnostics into a report in the SARIF format. - * diagnostics-sarif_emitter.ads: Same as above. - * diagnostics-switch_repository.adb: New package containing the - definitions for all of the warninging switches. - * diagnostics-switch_repository.ads: Same as above. - * diagnostics-utils.adb: Contains various utility methods for the - diagnostic pacakges. - * diagnostics-utils.ads: Same as above. - * diagnostics.adb: Contains the definitions and common functions - for all the new diagnostics objects. - * diagnostics.ads: Same as above. - * errout.adb: Relocate the old implementations for brief and - pretty printing the diagnostic messages and the entrypoint to the - new implementation if a debug switch is used. - * errout.ads: Improve documentation. Make Set_Msg_Text publicly - available. - * opt.ads: Add the flag SARIF_File which controls whether the - diagnostic messages should be printed to a file in the SARIF - format. Add the flag SARIF_Output to control whether the - diagnostic messages should be printed to std-err in the SARIF - format. - * gcc-interface/Make-lang.in: Add new pacakages to the object - list. - * gcc-interface/Makefile.in: Add new pacakages to the object list. - -2024-09-05 Jose Ruiz <ruiz@adacore.com> - - * ali-util.adb (Get_File_Checksum): Force the parsing for - the checksum computation of runtime files to be done in - the corresponding recent Ada version. - -2024-09-05 Ronan Desplanques <desplanques@adacore.com> - - * inline.adb (Cannot_Inline): Remove assertion. - * inline.ads (Cannot_Inline): Add precondition. - -2024-09-03 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (addressable_p) <COMPONENT_REF>: Add kludge - to cope with ancient 32-bit ABIs. - -2024-09-03 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (create_temporary): Deal with types whose - size is self-referential by allocating the maximum size. - -2024-09-03 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (get_atomic_access): Deal specifically with - nodes that are both Atomic and Volatile_Full_Access in Ada 2012. - -2024-09-03 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (addressable_p) <COMPONENT_REF>: Take into - account the alignment of the field on all platforms. - -2024-09-03 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_field): Clear again gnu_size - after updating it if it is not constant. - -2024-09-03 Marc Poulhiès <poulhies@adacore.com> - - * exp_unst.adb (Check_Static_Type::Note_Uplevel_Bound): Refactor - to use the generic Traverse_Proc. - (Check_Static_Type): Adjust calls to Note_Uplevel_Bound as the - previous second parameter was unused, so removed. - -2024-09-03 Steve Baird <baird@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference): If it makes sense - to do so, then rewrite a Length attribute reference as an - equivalent conditional expression. - -2024-09-03 Eric Botcazou <ebotcazou@adacore.com> - - * sem_res.adb (Is_Atomic_Ref_With_Address): Rename into... - (Is_Atomic_Non_VFA_Ref_With_Address): ...this and adjust the - implementation to exclude Volatile_Full_Access objects. - (Resolve_Indexed_Component): Adjust to above renaming. - (Resolve_Selected_Component): Likewise. - -2024-09-03 Steve Baird <baird@adacore.com> - - * sem_aggr.adb (Resolve_Array_Aggregate): Implement the two new - legality rules of AI11-0106. Add code to avoid cascading error - messages. - -2024-09-03 Bob Duff <duff@adacore.com> - - * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): - Remove Finalize_Storage_Only from the code that checks whether to - pass null to the Collection parameter. Having done that, we don't - need to check for Is_Library_Level_Entity, because - No_Heap_Finalization requires that. And if we ever change - No_Heap_Finalization to allow nested access types, we will still - want to pass null. Note that the comment "Such a type lacks a - collection." is incorrect in the case of Finalize_Storage_Only; - such types have a collection. - -2024-09-02 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Cap the Esize of a - floating-point type to the size of the widest format supported in - hardware if it is explicity defined. - -2024-09-02 Viljar Indus <indus@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: update - documentation for the -gnatw_l switch. - * usage.adb: Add -gnatw_l entry. - * gnat_ugn.texi: Regenerate. - -2024-09-02 Ronan Desplanques <desplanques@adacore.com> - - * gnatcmd.adb (GNATCmd): Fix standard output stream. - -2024-09-02 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix - minor issues. - * gnat_ugn.texi: Regenerate. - -2024-09-02 Bob Duff <duff@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: I assume "extended set - of extensions" was a typo for "experimental set of extensions", - because "extended extensions" is repetitive and redundant. "in - addition" clarifies that the one subsumes the other. Add a - reminder at the start of each subsection about what switch/pragma - enables what extensions. Add new section about "Inference of - Dependent Types in Generic Instantiations". - * gnat_rm.texi: Regenerate. - -2024-09-02 Patrick Bernardi <bernardi@adacore.com> - - * s-oscons-tmplt.c: Define sizes of pthread data types on FreeBSD. - * tracebak.c: Use GCC unwinder and adjust PC appropriately on - aarch64-freebsd. - -2024-09-02 Marc Poulhiès <poulhies@adacore.com> - - * exp_ch9.adb (Reset_Scopes_To): Adjust comment. - (Reset_Scopes_To.Reset_Scope): Adjust the scope reset for object - declaration. In particular, visit the children nodes if any. Also - extend the handling of other declarations to - N_Implicit_Label_Declaration. - -2024-09-02 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Replace calls to Sloc - with uses of Loc; turn variable Prag into constant. - -2024-09-02 Piotr Trojanek <trojanek@adacore.com> - - * exp_imgv.adb (Expand_User_Defined_Enumeration_Image) - (Expand_Image_Attribute): Remove redundant guards. - -2024-08-29 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch8.adb (Has_Private_With): Add test on Is_Entity_Name. - -2024-08-29 Eric Botcazou <ebotcazou@adacore.com> - - * checks.adb (Selected_Length_Checks.Get_E_Length): For a - component of a record with discriminants and if the expression is - a selected component, try to build an actual subtype from its - prefix instead of from the discriminal. - -2024-08-29 Steve Baird <baird@adacore.com> - - * sem_ch6.adb (Check_Discriminant_Conformance): Immediately after - calling Is_Immutably_Limited_Type, perform an additional test that - one might reasonably imagine would instead have been part of - Is_Immutably_Limited_Type. The new test is a call to a new - function Has_Tagged_Limited_Partial_View whose implementation - includes a call to Incomplete_Or_Partial_View, which cannot be - easily be called from Is_Immutably_Limited_Type (because sem_aux, - which is in the closure of the binder, cannot easily "with" - sem_util). - * sem_aux.adb (Is_Immutably_Limited): Include - N_Derived_Type_Definition case when testing Limited_Present flag. - -2024-08-29 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Expand_Call_Helper): In the case of a function - call, look at the Etype of the call node to determine whether - finalization actions need to be performed. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * erroutc.adb (dmsg): Print Insertion_Sloc. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * exp_aggr.adb (Expand_Range_Component): Remove extra warning - character. Use same conditional warning char. - * freeze.adb (Warn_Overlay): Use named warning character. - * restrict.adb (Id_Case): Use named warning character. - * sem_prag.adb (Rewrite_Assertion_Kind): Use default warning - character. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * par-ch4.adb (P_Name): Use Error_Msg_Sloc for the location of the - continuation message. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * exp_prag.adb (Expand_Pragma_Inspection_Point): Improve sub - diagnostic generation. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * sem_ch12.adb (Abandon_Instantiation): Remove continuation - characters from the error message. - * sem_ch13.adb (Check_False_Aspect_For_Derived_Type): Remove - continuation characters from the error message. - * sem_ch6.adb (Assert_False): Avoid creating a continuation - message without a parent. If no primary message is created then - the message is considered as primary. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * erroutc.adb (Prescan_Message): Avoid not parsing all of the - message attributes. - * erroutc.ads: Update the documentation. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * freeze.adb: Remove warning insertion characters from a - continuation message. - * sem_util.adb: Remove warning insertion characters from a - continuation message. - * sem_warn.adb: Use same warning character as the main message. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * erroutc.ads: Add new method Output_Text_Within - * erroutc.adb: Move the line fitting code to a new method called - Output_Text_Within - -2024-08-29 Piotr Trojanek <trojanek@adacore.com> - - * checks.adb (Expr_Known_Valid): Use Validated_View, which strips - type derivation and privacy. - * exp_ch3.adb (Simple_Init_Private_Type): Kill checks inside - unchecked conversions, just like in Simple_Init_Scalar_Type. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * styleg.adb (Check_Line_Max_Length): Add the actual line length - to the diagnostic message. - -2024-08-29 Gary Dismukes <dismukes@adacore.com> - - * sem_aggr.adb (Resolve_Array_Aggregate): Add loop over associations to locate - N_Iterated_Component_Associations that do not have an Iterator_Specification, - and if their Discrete_Choices list consists of a single choice, analyze it and - if it's the name of an iterator object, then create an Iterator_Specification - and associate it with the iterated component association. - (Resolve_Iterated_Association): Replace test for function call with test of - Is_Object_Reference, to handle other forms of iterator objects in container - aggregates. - -2024-08-29 Javier Miranda <miranda@adacore.com> - - * usage.adb (Usage): Document switch -gnatw_j - * doc/gnat_rm/gnat_language_extensions.rst: Add documentation. - * gnat_rm.texi: Regenerate. - -2024-08-29 Justin Squirek <squirek@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Move conditional when - constructs out of the curated set. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-08-23 Robin Dapp <rdapp@ventanamicro.com> - - PR middle-end/115495 - * gcc-interface/utils2.cc (fast_modulo_reduction): Require mode. - (nonbinary_modular_operation): Ditto. - -2024-08-23 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/misc.cc (gnat_get_array_descr_info): Test the - BIT_PACKED_ARRAY_TYPE_P flag only once on the final debug type. In - the case of records containing a template, replay the entire - processing for the array type contained therein. - -2024-08-23 Javier Miranda <miranda@adacore.com> - - * scng.adb (Scan): Call Error_Msg_GNAT_Extension() to report an - error, when the sources are compiled without Core_Extensions_ - Allowed, and the scanner detects the beginning of an interpolated - string. - -2024-08-23 Sebastian Poeplau <poeplau@adacore.com> - - * libgnat/s-dwalin.adb (Symbolic_Address): Ignore symbol size in - address-to-symbol translation for PECOFF files. - -2024-08-23 Javier Miranda <miranda@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference: [Put_Image]): Add - support for custom string types. - * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Add a type - conversion to the result object declaration of custom string - types. - * exp_put_image.adb (Build_String_Put_Image_Call): Handle custom - string types. - -2024-08-23 Steve Baird <baird@adacore.com> - - * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Generate - error if an aspect specification specifies the - Implicit_Dereference aspect of a non-first subtype. - -2024-08-23 Steve Baird <baird@adacore.com> - - * checks.adb (Is_Signed_Integer_Arithmetic_Op): Return True in the - case of relational operator whose operands are of a signed integer - type. - -2024-08-23 Viljar Indus <indus@adacore.com> - - * libgnat/a-coinho__shared.ads: add limited keyword. - * libgnat/g-awk.adb: add limited keyword. - * libgnat/g-comlin.ads: add limited keyword. - * libgnat/s-excmac__arm.ads: add limited keyword. - * libgnat/s-excmac__gcc.ads: add limited keyword. - * libgnat/s-soflin.ads: add limited keyword. - -2024-08-23 Viljar Indus <indus@adacore.com> - - * sem_ch3.adb: Add method Check_Inherited_Limted_Record for - emitting the warning for an inherited limited type. - * warnsw.adb: Add processing for the -gnatw_l switch that - triggeres the inheritly limited type warning. - * warnsw.ads: same as above. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add - entry for -gnatw_l switch. - * gnat_ugn.texi: Regenerate. - -2024-08-23 Javier Miranda <miranda@adacore.com> - - * sem_ch6.adb (Check_Private_Overriding): Improve code detecting - error on private function with controlling result. Fixes the - regression of ACATS bde0003. - -2024-08-23 Piotr Trojanek <trojanek@adacore.com> - - * checks.ads, cstand.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, - exp_dbug.adb, exp_util.adb, gnatlink.adb, lib-util.adb, - libgnat/a-except.adb, libgnat/a-exexpr.adb, libgnat/a-ngcoar.adb, - libgnat/s-rannum.adb, libgnat/s-trasym__dwarf.adb, osint.adb, - rtsfind.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb, - sem_ch3.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb, - sem_util.adb: Fix style. - -2024-08-23 Piotr Trojanek <trojanek@adacore.com> - - * checks.adb (Ensure_Valid): Remove detection of boolean and - short-circuit operators. - (Expr_Known_Valid): Detect short-circuit operators; detection of - boolean operators was already done in this routine. - -2024-08-23 Piotr Trojanek <trojanek@adacore.com> - - * checks.adb (Ensure_Valid): Use Find_Actual. - -2024-08-23 Piotr Trojanek <trojanek@adacore.com> - - * checks.adb (Ensure_Valid): Use First_Actual/Next_Actual. - * exp_ch6.adb (Is_Direct_Deep_Call): Likewise. - * exp_util.adb (Type_Of_Formal): Likewise. - * sem_util.adb (Is_Container_Element): Likewise; cleanup - membership test by using a subtype. - -2024-08-23 Javier Miranda <miranda@adacore.com> - - * sem_ch13.adb (Analyze_One_Aspect): Temporarily remove reporting - an error when the new aspect is set to True and the extensions are - not enabled. - -2024-08-23 Javier Miranda <miranda@adacore.com> - - * exp_util.ads (Is_Expanded_Class_Wide_Interface_Object_Decl): New - subprogram. - * exp_util.adb (Is_Expanded_Class_Wide_Interface_Object_Decl): - ditto. - * sem_util.adb (Is_Aliased_View): Handle expanded class-wide type - object declaration. - * checks.adb (Is_Aliased_Unconstrained_Component): Protect the - frontend against calling Is_Aliased_View with Empty. Found working - on this issue. - -2024-08-23 Javier Miranda <miranda@adacore.com> - - * aspects.ads (Aspect_First_Controlling_Parameter): New aspect. - Defined as implementation defined aspect that has a static boolean - value and it is converted to pragma when the value is True. - * einfo.ads (Has_First_Controlling_Parameter): New attribute. - * exp_ch9.adb (Build_Corresponding_Record): Propagate the aspect - to the corresponding record type. - (Expand_N_Protected_Type_Declaration): Analyze the inherited - aspect to add the pragma. - (Expand_N_Task_Type_Declaration): ditto. - * freeze.adb (Warn_If_Implicitly_Inherited_Aspects): New - subprogram. - (Has_First_Ctrl_Param_Aspect): New subprogram. - (Freeze_Record_Type): Call Warn_If_Implicitly_Inherited_Aspects. - (Freeze_Subprogram): Check illegal subprograms of tagged types and - interface types that have this new aspect. - * gen_il-fields.ads (Has_First_Controlling_Parameter): New entity - field. - * gen_il-gen-gen_entities.adb (Has_First_Controlling_Parameter): - The new field is a semantic flag. - * gen_il-internals.adb (Image): Add - Has_First_Controlling_Parameter. - * par-prag.adb (Prag): No action for - Pragma_First_Controlling_Parameter since processing is handled - entirely in Sem_Prag. - * sem_ch12.adb (Validate_Private_Type_Instance): When the generic - formal has this new aspect, check that the actual type also has - this aspect. - * sem_ch13.adb (Analyze_One_Aspect): Check that the aspect is - applied to a tagged type or a concurrent type. - * sem_ch3.adb (Analyze_Full_Type_Declaration): Derived tagged - types inherit this new aspect, and also from their implemented - interface types. - (Process_Full_View): Propagate the aspect to the full view. - * sem_ch6.adb (Is_A_Primitive): New subprogram; used to factor - code and also clarify detection of primitives. - * sem_ch9.adb (Check_Interfaces): Propagate this new aspect to the - type implementing interface types. - * sem_disp.adb (Check_Controlling_Formals): Handle tagged type - that has the aspect and has subprograms overriding primitives of - tagged types that lack this aspect. - (Check_Dispatching_Operation): Warn on dispatching primitives - disallowed by this new aspect. - (Has_Predefined_Dispatching_Operation_Name): New subprogram. - (Find_Dispatching_Type): Handle dispatching functions of tagged - types that have the new aspect. - (Find_Primitive_Covering_Interface): For primitives of tagged - types that have the aspect and override a primitive of a parent - type that does not have the aspect, we must temporarily unset - attribute First_Controlling_ Parameter to properly check - conformance. - * sem_prag.ads (Aspect_Specifying_Pragma): Add new pragma. - * sem_prag.adb (Pragma_First_Controlling_Parameter): Handle new - pragma. - * snames.ads-tmpl (Name_First_Controlling_Parameter): New name. - * warnsw.ads (Warn_On_Non_Dispatching_Primitives): New warning. - * warnsw.adb (Warn_On_Non_Dispatching_Primitives): New warning; - not set by default when GNAT_Mode warnings are enabled, nor when - all warnings are enabled (-gnatwa). - -2024-08-19 Arsen Arsenović <arsen@aarsen.me> - - PR ada/115917 - * gnatvsn.ads: Add note about the duplication of this value in - version.c. - * version.c (VER_LEN_MAX): Define to the same value as - Gnatvsn.Ver_Len_Max. - (gnat_version_string): Use VER_LEN_MAX as bound. - -2024-08-08 Steve Baird <baird@adacore.com> - - * sem_ch6.adb (Check_Discriminant_Conformance): Perform check for - illegal access discriminant default values when the completion of - a limited private type is analyzed. - * sem_aux.adb (Is_Immutably_Limited): If passed the - not-yet-analyzed entity for the full view of a record type, test - the Limited_Present flag - (which is set by the parser). - -2024-08-08 Steve Baird <baird@adacore.com> - - * exp_ch4.adb (Build_Eq_Call): In the abstract callee case, copy - the Etype of the callee onto the Make_Raise_Program_Error result. - -2024-08-08 Gary Dismukes <dismukes@adacore.com> - - * exp_ch7.adb (Unnest_Block): Copy the At_End_Proc from the block - statement to the newly created subprogram body. - -2024-08-08 Justin Squirek <squirek@adacore.com> - - * exp_put_image.adb (Append_Component_Attr): Obtain the mutably - tagged type for the component type. - * mutably_tagged.adb (Make_Mutably_Tagged_Conversion): Add more - cases to avoid conversion generation. - * sem_attr.adb (Check_Put_Image_Attribute): Add mutably tagged - type conversion. - * sem_ch12.adb (Analyze_One_Association): Add rewrite for formal - type declarations which are mutably tagged type to their - equivalent type. - (Instantiate_Type): Add condition to obtain class wide equivalent - types. - (Validate_Private_Type_Instance): Add check for class wide - equivalent types which are considered "definite". - * sem_util.adb (Is_Variable): Add condition to handle selected - components of view conversions. Add missing check for selected - components. - (Is_View_Conversion): Add condition to handle class wide - equivalent types. - -2024-08-08 Justin Squirek <squirek@adacore.com> - - * stylesw.adb (Set_Style_Check_Options): Disable max nesting level - when unspecified - -2024-08-08 Javier Miranda <miranda@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference) <Finalization_Size>: - If the prefix is an interface type, generate code to obtain its - address and displace it to reference the base of the object. - -2024-08-08 Iain Sandoe <iain@sandoe.co.uk> - - * libgnarl/s-taprop__posix.adb (Stack_Guard): Use Interfaces.C.size_t - for the type of Page_Size. - -2024-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * libgnarl/s-taprop__solaris.adb (Set_Task_Affinity): Fully - quality int. - -2024-08-06 Yannick Moy <moy@adacore.com> - - * sem_ch4.adb (Analyze_Concatenation_Rest): Do not add a wrong - interpretation of the concatenation, using the type of the operand - already recognized as of the element type. - -2024-08-06 Bob Duff <duff@adacore.com> - - * sem_ch12.adb: Implement type inference for generic parameters. - (Maybe_Infer_One): Forbid inference of anonymous subtypes and - types. - (Inference_Reason): Fix comment. - * debug.adb: Document -gnatd_I switch. - * errout.ads: Document that Empty is not allowed for "&". - * errout.adb (Set_Msg_Insertion_Node): Minor: Do not allow - Error_Msg_Node_1 = Empty for "&". Use "in" instead of multiple - "=". Improve comment. - -2024-08-06 Gary Dismukes <dismukes@adacore.com> - - * sem_ch5.adb (Analyze_Loop_Statement.Wrap_Loop_Statement): Remove - the loop Entity_Id from its old scope and insert it in the new - block scope that wraps it. - -2024-08-06 Javier Miranda <miranda@adacore.com> - - * freeze.adb (Freeze_Entity): For scalar derived types that - inherit the aspect Default_Value, do not analyze and resolve the - inherited aspect, as the type of the aspect remains the parent - type. - -2024-08-06 Viljar Indus <indus@adacore.com> - - * libgnarl/s-interr__hwint.adb: Use fully qualified names to avoid - ambiguity. - * libgnarl/s-taprop__qnx.adb: Likewise. - -2024-08-06 Javier Miranda <miranda@adacore.com> - - * repinfo.adb (List_Record_Info): Handle private record types. - -2024-08-06 Viljar Indus <indus@adacore.com> - - * libgnarl/s-taprop__mingw.adb: Use fully qualified names - to avoid ambiguity. - * libgnarl/s-taprop__posix.adb: Likewise. - * libgnarl/s-taprop__qnx.adb: Likewise. - * libgnarl/s-taprop__rtems.adb: Likewise. - -2024-08-06 Yannick Moy <moy@adacore.com> - - * freeze.adb (Build_Renamed_Body): Propagate SPARK_Pragma to body - build from renaming, so that locally relevant value is taken into - account. - * sem_ch6.adb (Analyze_Expression_Function): Propagate - SPARK_Pragma to body built from expression function, so that - locally relevant value is taken into account. - -2024-08-06 Bob Duff <duff@adacore.com> - - * sem_ch8.adb (Find_Direct_Name): Disable the special-purpose code - when we are actually compiling the run-time library itself. - * libgnarl/a-exetim__posix.adb: Fix newly-found use-clause - conflicts. - * libgnat/a-direct.adb: Likewise. - * libgnat/a-nbnbin.adb: Likewise. - * libgnat/a-timoio__128.adb: Likewise. - * libgnat/a-timoio.adb: Likewise. - * libgnat/a-wtmoio__128.adb: Likewise. - * libgnat/a-wtmoio.adb: Likewise. - * libgnat/a-ztmoio__128.adb: Likewise. - * libgnat/a-ztmoio.adb: Likewise. - -2024-08-02 Yannick Moy <moy@adacore.com> - - * aspects.adb (Find_Aspect): Take into account the case of a node - of kind N_Defining_Program_Unit_Name. - * sem_ch10.adb (Analyze_Compilation_Unit): Copy the SPARK aspect - from the spec to the body. Delay semantic analysis after that - point to ensure that SPARK_Mode is properly analyzed. - -2024-08-02 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Add_Loop_Actions): Actions are now attached to - iterated component association just like they are attached to - ordinary component association. - (Build_Array_Aggr_Code): If resolution of the array aggregate - generated some actions, e.g. for run-time checks, then we must - keep them; same for the Other_Clause. - * sem_aggr.adb (Resolve_Iterated_Component_Association): Unset - references to iterator variable in loop actions (which might come - from run-time check), just these references are unset in the - expression itself. - -2024-08-02 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.adb (Insert_Actions): Remove null ELSE branch. - -2024-08-02 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Add_Loop_Actions): Change manipulation of list - to avoid unnecessary calls to Parent and Loop_Actions. - -2024-08-02 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.adb (Insert_Actions): Move negation in front of - complex conjunctions. - -2024-08-02 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.adb (Gen_Assign): Fix layout. - * sem_aggr.adb (Empty_Range): Reuse Choice_List. - -2024-08-02 Gary Dismukes <dismukes@adacore.com> - - * exp_aggr.adb - (Expand_Container_Aggregate.Expand_Iterated_Component): Set the - Reverse_Present flag when creating the loop's iteration_scheme. - * gen_il-gen-gen_nodes.adb: Add flag Reverse_Present to - N_Iterated_Component_Association nodes. - * par-ch3.adb (P_Constraint_Op): Remove testing for and ignoring - of Tok_In following a constraint. It's allowed for "in" to follow - a constraint of loop_parameter_subtype_indication of an - iterator_specification, so it shouldn't be ignored. - * par-ch4.adb (P_Iterated_Component_Association): Account for - "reverse" following the "in" in an iterated_component_association, - and set the Reverse_Present flag on the - N_Iterated_Component_Association node. Add handling for a ":" - following the identifier in an iterator_specification of an - iterated_element_association, sharing the code with the "of" case - (which backs up to the identifier at the beginning of the - iterator_specification). Fix incorrect trailing comment following - the call to Scan. - (Build_Iterated_Element_Association): Set the Reverse_Present flag - on an N_Loop_Parameter_Specification node of an - N_Iterated_Element_Association. - * par-ch5.adb (P_Iterator_Specification): Remove error-recovery - and error code that reports "subtype indication is only legal on - an element iterator", as that error can no longer be emitted (and - was formerly only reported on one fixedbugs test). - * sem_aggr.adb - (Resolve_Container_Aggregate.Resolve_Iterated_Association): When - creating an N_Iterator_Specification for an - N_Iterated_Component_Association, set the Reverse_Present flag of - the N_Iterated_Specification from the flag on the latter. - * sinfo.ads: Add comments for the Reverse_Present flag, which is - now allowed on nodes of kind N_Iterated_Component_Association. - -2024-08-02 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch12.adb (Analyze_Subprogram_Instantiation): Propagate the - No_Raise flag like the No_Return flag. - -2024-08-02 Ronan Desplanques <desplanques@adacore.com> - - * exp_aggr.adb (Expand_Container_Aggregate): Remove variables. - (To_Int): New function. - (Add_Range_Size): Use newly introduced function. - -2024-08-02 Yannick Moy <moy@adacore.com> - - * libgnat/a-strunb.adb (Sum, Saturated_Sum, Saturated_Mul): Adapt - function signatures to more precise types that allow proof. - (function "&"): Conditionally assign a slice to avoid possible - overflow which only occurs when the assignment is a noop (because - the slice is empty in that case). - (Append): Same. - (function "*"): Retype K to avoid a possible overflow. Add early - return on null length for proof. - (Delete): Fix implementation to return the correct result in all - cases allowed by the Ada standard. - (Insert): Same. Also avoid possible overflows. - (Length): Rewrite as expression function for proof. - (Overwrite): Avoid possible overflows. - (Slice): Same. - (To_String): Rewrite as expression function for proof. - * libgnat/a-strunb.ads: Extend Assertion_Policy to new contracts - used. Add complete functional contracts to all subprograms of the - public API except Count. - * libgnat/a-strunb__shared.adb (Sum): Adapt function signature to - more precise types that allow proof. - (function "&"): Conditionally assign a slice to avoid possible - overflow. - (function "*"): Retype K to avoid a possible overflow. - (Delete): Fix implementation to return the correct result in all - cases allowed by the Ada standard. - (Insert): Avoid possible overflows. - (Overwrite): Avoid possible overflows. - (Replace_Slice): Same. - (Slice): Same. - (To_String): Rewrite as expression function for proof. - * libgnat/a-strunb__shared.ads: Extend Assertion_Policy to new - contracts used. Add complete functional contracts to all - subprograms of the public API except Count. Mark public part of - spec as in SPARK. - -2024-08-02 Ronan Desplanques <desplanques@adacore.com> - - * scng.adb (Slit): Initialize object in uncommon path. - -2024-08-02 Richard Kenner <kenner@adacore.com> - - * exp_ch4.adb (Generate_Temporary): Remove unused procedure. - -2024-08-02 Richard Kenner <kenner@adacore.com> - - * einfo-utils.ads (Is_Finalizer): Delete. - * einfo-utils.adb (Is_Finalizer): Delete. - * einfo.ads: Adjust comment. - * gen_il-fields.ads, gen_il-gen-gen_entities.adb: Add Is_Finalizer - flag. - * exp_ch3.adb (Build_Init_Procedure): Set it. - * exp_ch7.adb (Create_Finalizer): Likewise. - * exp_util.adb (Try_Inline_Always): New function. - * exp_util.ads (Try_Inline_Always): New function. - * sem_elab.adb (Is_Finalizer_Proc): Replace with Is_Finalizer. - -2024-08-02 Tonu Naks <naks@adacore.com> - - * libgnat/a-calend.adb: Modify unix time handling. - -2024-08-02 Tonu Naks <naks@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst: Add examples. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-08-02 Javier Miranda <miranda@adacore.com> - - * gen_il-fields.ads (Is_Interpolated_String_Literal): New field. - * gen_il-gen-gen_nodes.adb (Is_Interpolated_String_Literal): The - new field is a flag handled by the parser (syntax flag). - * par-ch2.adb (P_Interpolated_String_Literal): Decorate the new - flag. - * sem_ch2.adb (Analyze_Interpolated_String_Literal): Improve code - detecting and reporting ambiguous function calls. - * sem_res.adb (Resolve_Interpolated_String_Literal): Restrict - resolution imposed by the context type to string literals that - have the new flag. - * sinfo.ads (Is_Interpolated_String_Literal): New field defined in - string literals. Fix documentation of the syntax rule of - interpolated string literal. - -2024-08-02 Steve Baird <baird@adacore.com> - - * sem_ch5.adb (Analyze_Assignment): Delete code that was - incorrectly implementing a preference rule. - -2024-08-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Relaxed Finalization): New paragraph in head - comment. - * sem_ch13.adb (Validate_Finalizable_Aspect): Give an error - message if strict finalization is required but not supported by - the runtime. - -2024-08-02 Viljar Indus <indus@adacore.com> - - * sem_util.adb (Set_Referenced_Modified): Set referenced as LHS - for the prefixes of array slices. - -2024-08-02 Steve Baird <baird@adacore.com> - - * sem_ch8.adb (Find_Type): If Is_Current_Instance returns True for - N (and Comes_From_Source (N) is also True) then flag an error. - Call Is_Current_Instance (twice) instead of duplicating (twice) - N_Access_Definition-related code in Is_Current_Instance. - * sem_util.adb (Is_Current_Instance): Implement - access-type-related clauses of the RM 8.6 current instance rule. - For pragmas Predicate and Predicate_Failure, distinguish between - the first and subsequent pragma arguments. - -2024-08-02 Steve Baird <baird@adacore.com> - - * sem_res.adb (Valid_Conversion): Test In_Instance instead of - In_Instance_Body. - -2024-08-02 Eric Botcazou <ebotcazou@adacore.com> - - * aspects.ads (Aspect_Id): Add Aspect_No_Raise identifier. - (Implementation_Defined_Aspect): Add True for Aspect_No_Raise. - (Is_Representation_Aspect): Add False for Aspect_No_Raise. - (Aspect_Names): Add Name_No_Raise for Aspect_No_Raise. - (Aspect_Delay): Add Always_Delay for Aspect_No_Raise. - * checks.ads (Raise_Checks_Suppressed): New function. - (Apply_Raise_Check): New procedure. - * checks.adb (Apply_Raise_Check): New procedure. - (Raise_Checks_Suppressed): New function. - * doc/gnat_rm/gnat_language_extensions.rst (Generalized - Finalization): Update. - * doc/gnat_rm/implementation_defined_aspects.rst (No_Raise): New. - * doc/gnat_rm/implementation_defined_characteristics.rst (Check - names): Document Raise_Check and alphabetize others. - * doc/gnat_rm/implementation_defined_pragmas.rst (No_Raise): New. - * einfo.ads (No_Raise): New flag defined in subprograms and - generic subprograms. - * exp_ch6.adb (Expand_N_Subprogram_Body): Call Apply_Raise_Check - at the end of the processing. - * exp_ch11.adb (Get_RT_Exception_Name): Add alternative for - PE_Raise_Check_Failed to case statement. - * gen_il-fields.ads (Opt_Field_Enum): Add No_Raise identifier. - * gen_il-gen-gen_entities.adb (Subprogram_Kind): Add No_Raise as - semantical flag. - (Generic_Subprogram_Kind): Likewise. - * par-prag.adb (Prag): Add alternative for Pragma_No_Raise to case - statement. - * sem_ch13.adb (Validate_Finalizable_Aspect): Set No_Raise on the - Adjust and Finalize primitives if Relaxed_Finalization is set. - * sem_prag.adb (Analyze_Pragma): Add alternative for - Pragma_No_Raise to case statement. - (Sig_Flag): Add 0 for Pragma_No_Raise. - * snames.ads-tmpl (Remaining pragma names): Add Name_No_Raise. - (Names of recognized checks): Add Name_Raise_Check. - (Pragma_Id): Add Pragma_No_Raise identifier. - * types.ads (Raise_Check): New named number. - (All_Checks): Adjust. - (RT_Exception_Code): Add PE_Raise_Check_Failed identifier. - (Rkind): Add PE_Reason for PE_Raise_Check_Failed and alphabetize. - * types.h (RT_Exception_Code): Add PE_Raise_Check_Failed as 38. - (LAST_REASON_CODE): Adjust. - * libgnat/a-except.adb (Rcheck_PE_Raise_Check): New procedure with - pragmas Export, No_Return and Machine_Attributes. - (Rmsg_38): New string constant. - * gnat_rm.texi: Regenerate. - -2024-08-02 Johannes Kliemann <kliemann@adacore.com> - - * doc/gnat_rm/standard_library_routines.rst: Add note to section - of Ada.Numerics.Discrete_Random and Ada.Numerics.Float_Random. - * doc/gnat_rm/the_gnat_library.rst: Add note to section about - GNAT.Random_Numbers. - * libgnat/a-nudira.ads: Add note about cryptographic properties. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-08-02 Ronan Desplanques <desplanques@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Fix layout of section. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-08-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.ads (Is_Conversion_Or_Reference_To_Formal): New - function declaration. - * exp_util.adb (Is_Conversion_Or_Reference_To_Formal): New - function body. - * exp_ch6.adb (Expand_Simple_Function_Return): Call the predicate - Is_Conversion_Or_Reference_To_Formal in order to decide whether a - tag check or reassignment is needed. - * freeze.adb (Should_Freeze_Type): Move declaration and body to - the appropriate places. Also return True for tagged results - subject to the expansion done in Expand_Simple_Function_Return - that is guarded by the predicate - Is_Conversion_Or_Reference_To_Formal. - -2024-08-02 Ronan Desplanques <desplanques@adacore.com> - - * sem_ch5.adb (Analyze_Loop_Statement): Fix loop pattern detection - code. Fix typo. - -2024-08-01 Yannick Moy <moy@adacore.com> - - * libgnat/a-strunb.adb (Realloc_For_Chunk): Fix computation of new - size. - -2024-08-01 Yannick Moy <moy@adacore.com> - - * libgnat/a-strbou.ads (To_String): Add a postcondition to state - the value of bounds of the returned string, which helps with proof - of callers. - * libgnat/a-strfix.adb (Delete): Fix implementation to produce - correct result in all cases. For example, returned string should - always have a lower bound of 1, which was not respected in one - case. This was not detected by proof, since this code was dead - according to the too strict precondition. - * libgnat/a-strfix.ads (Delete): State the correct precondition - from standard which allows a value of Through beyond the last - valid index, and also restricts values of From from below. Update - the Contract_Cases accordingly to allow new values of parameters. - -2024-08-01 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Don't check for duplicate - SPARK_Mode pragmas in configuration files. - -2024-08-01 Gary Dismukes <dismukes@adacore.com> - - * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Resolve - overloaded prefixes that denote objects of reference types, - determining whether to use the prefix object directly, or expand - it as an explicit dereference. - -2024-08-01 Eric Botcazou <ebotcazou@adacore.com> - - * sinfo.ads (N_Block_Statement): Move At_End_Proc to the end of - slot list and alphabetize flag list. - (N_Subprogram_Body): Add At_End_Proc. - (N_Package_Body): Move At_End_Proc to the end of slot list. - (N_Subprogram_Body_Stub): Remove At_End_Proc. - -2024-08-01 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): - Unconditionally set the type of loop parameter. - -2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com> - - * backend_utils.adb (Scan_Common_Back_End_Switch): Remove blank - line. - * errout.adb (Output_JSON_Message): Likewise. - * erroutc.adb (Set_Msg_Char): Likewise. - * exp_aggr.adb (Two_Dim_Packed_Array_Handled): Likewise. - * exp_pakd.adb (Expand_Packed_Address_Reference): Likewise. - (Expand_Packed_Bit_Reference): Likewise. - (Expand_Packed_Boolean_Operator): Likewise. - (Expand_Packed_Element_Reference): Likewise. - (Expand_Packed_Eq): Likewise. - (Expand_Packed_Not): Likewise. - * exp_prag.adb (Build_Dim3_Declaration): Likewise. - * exp_strm.adb (Build_Elementary_Input_Call): Likewise. - * freeze.adb (Find_Aspect_No_Parts): Likewise. - (Get_Aspect_No_Parts_Value): Likewise. - * gen_il-gen.adb (Compile): Likewise. - * gnat1drv.adb (Adjust_Global_Switches): Likewise. - * gnat_cuda.adb (Expand_CUDA_Package): Likewise. - * gnatchop.adb (Read_File): Likewise. - * gnatls.adb (Get_Runtime_Path): Likewise. - * make.adb (Binding_Phase): Likewise. - * par-ch11.adb (P_Exception_Choice): Likewise. - * par-ch5.adb (P_Loop_Parameter_Specification): Likewise. - * par-ch6.adb (Is_Extended): Likewise. - * sem_attr.adb (Check_Dereference): Likewise. - * sem_ch12.adb (Build_Subprogram_Decl_Wrapper): Likewise. - * sem_ch3.adb (Build_Itype_Reference): Likewise. - * sem_prag.adb (Validate_Compile_Time_Warning_Errors): Likewise. - * sem_res.adb (Resolve_Declare_Expression): Likewise. - * sem_util.adb (Build_Default_Subtype): Likewise. - * sprint.adb (Sprint_Paren_Comma_List): Likewise. - -2024-08-01 Javier Miranda <miranda@adacore.com> - - * par-ch2.adb (P_Interpolated_String_Literal): remove support of - multi-line string literals. - * doc/gnat_rm/gnat_language_extensions.rst: Update documentation. - * gnat_rm.texi: Regenerate. - -2024-08-01 Viljar Indus <indus@adacore.com> - - * sem_warn.adb (Output_Obsolescent_Entity_Warnings): use the ?j? - in warning messages. - -2024-08-01 Ronan Desplanques <desplanques@adacore.com> - - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Fix test for - expanded quantified expression context. - (Is_Expanded_Quantified_Expr): New function. - -2024-08-01 Bob Duff <duff@adacore.com> - - * sem_ch13.adb (Add_Predicate): Remove the premature "return;". - Ghost code needs to be processed by later code in this procedure - even when ignored; otherwise the second pass of name resolution - fails much later. However, protect Set_SCO_Pragma_Enabled and - Add_Condition with "if not Is_Ignored_Ghost_Pragma"; these parts - should not happen if the ghost code is Ignored. - * libgnat/interfac__2020.ads (Unsigned_8): Minor reformatting. - * libgnat/interfac.ads (IEEE_Extended_Float): Minor comment - improvement. - -2024-08-01 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (No_Return): Change description and adjust - accordingly. - * gen_il-gen-gen_entities.adb (Entity_Kind): Remove No_Return. - (Subprogram_Kind): Add No_Return. - (Generic_Subprogram_Kind): Likewise. - * sem_ch6.adb (Analyze_Return_Statement): Adjust No_Return test. - -2024-08-01 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst (Generalized - Finalization): Update status. - * einfo.ads (Has_Relaxed_Finalization): Add more details. - * exp_ch4.adb (Process_Transients_In_Expression): Invoke - Make_Finalize_Call_For_Node instead of building the call. - * exp_ch5.adb (Expand_N_Assignment_Statement): Do not set up an - exception handler around the assignment for a controlled type with - relaxed finalization semantics. Streamline the code implementing - the protection against aborts and do not use an At_End handler for - a controlled type with relaxed finalization semantics. - * exp_ch7.ads (Make_Finalize_Call_For_Node): New function. - * exp_ch7.adb (Finalize_Address_For_Node): New function renaming. - (Set_Finalize_Address_For_Node): New procedure renaming. - (Attach_Object_To_Master_Node): Also attach the Finalize_Address - primitive to the Master_Node statically. - (Build_Finalizer): Add Has_Strict_Ctrl_Objs local variable. Insert - back the body of the finalizer at the end of the statement list in - the non-package case and restore the associated support code to - that effect. When all the controlled objects have the relaxed - finalization semantics, do not create a Finalization_Master and - finalize the objects directly instead. - (Processing_Actions): Add Strict parameter and use it to set the - Has_Strict_Ctrl_Objs variable. - (Process_Declarations): Make main loop more robust and adjust - calls to Processing_Actions. - (Make_Finalize_Address_Body): Mark the primitive as inlined if the - type has relaxed finalization semantics. - (Make_Finalize_Call_For_Node): New function. - * sem_ch6.adb (Check_Statement_Sequence): Skip subprogram bodies. - * libgnat/s-finpri.ads (Finalize_Object): Add Finalize_Address - parameter. - (Master_Node): Remove superfluous qualification. - * libgnat/s-finpri.adb (Attach_Object_To_Node): Likewise. - (Finalize_Master): Adjust calls to Finalize_Object. - (Finalize_Object): Add Finalize_Address parameter and assert that - it is equal to the component of the node. Use the Object_Address - component as guard. - (Suppress_Object_Finalize_At_End): Clear Object_Address component. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-08-01 Arnaud Charlet <charlet@adacore.com> - - * bindgen.adb (Gen_Main): Put back support for -G - * bindusg.adb (Display): Put back line for -G - * opt.ads (CCG_Mode): Update doc - * switch-b.adb (Scan_Binder_Switches): Put back support for -G - -2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com> - - * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Disable expansion - in CodePeerMode. - (Expand_Packed_Address_Reference): Likewise. - (Expand_Packed_Bit_Reference): Likewise. - (Expand_Packed_Boolean_Operator): Likewise. - (Expand_Packed_Element_Reference): Likewise. - (Expand_Packed_Eq): Likewise. - (Expand_Packed_Not): Likewise. - -2024-08-01 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Check_Aspect_Too_Late): Move routine to top-level. - (Resolve_Aspect_Expressions): Check aspects Default_Value and - Default_Component_Value before resolving their expressions. - -2024-08-01 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Check_Aspect_Too_Late): Prevent freezing during - preanalysis. - -2024-08-01 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Resolve_Aspect_Expression): Don't set - Must_Not_Freeze before preanalyzing spec expressions. - -2024-08-01 Steve Baird <baird@adacore.com> - - * sem_disp.adb (Check_Dispatching_Operation): When calling - Error_Msg_NE to generate a "missing overriding indicator" message, - generate a warning message instead of an error message (and update - comment to describe this new behavior). - -2024-08-01 Javier Miranda <miranda@adacore.com> - - * sem_aggr.adb (Collect_Aggr_Bounds): Adjust previous patch to - store the bounds of inner null aggregates in the itype; required - generate the runtime check of ARM 4.3.3(30). - -2024-08-01 Arnaud Charlet <charlet@adacore.com> - - * osint-c.ads, osint-c.adb (Create_C_File, Close_C_File, - Delete_C_File): Put back, needed by LLVM based CCG. - * exp_unst.adb (Unnest_Subprogram): Complete previous change by - removing now dead code and corresponding ??? comment. - -2024-08-01 Gary Dismukes <dismukes@adacore.com> - - * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do the - component adjustment in the case of initialization by a container - aggregate. - -2024-08-01 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Convert_To_Assignments): Set Expansion_Delayed on - intermediate conditional expressions for BIP aggregate returns - too. - * exp_ch4.adb (Expand_N_Case_Expression): Also deal with delayed - expansion in the return case. - (Expand_N_If_Expression): Likewise. - -2024-08-01 Steve Baird <baird@adacore.com> - - * sem_ch4.adb (Is_Effectively_Visible_Opertor): Return True if - Checking_Potentially_Static_Expression is True. The accompanying - comment says True is returned "if there is a reason it is ok for - Is_Visible_Operator to return False"; if - Checking_Potentially_Static_Expression is true, that is such a - reason. - -2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com> - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Stop - ignoring Component_Size attribute in CodePeer_Mode. - -2024-08-01 Ronan Desplanques <desplanques@adacore.com> - - * sem_ch5.adb (Prepare_Param_Spec_Loop): Fix criterion for - wrapping loop statements into blocks. - -2024-08-01 Arnaud Charlet <charlet@adacore.com> - - * bindgen.adb, bindusg.adb, debug.adb, einfo.ads, - exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, - exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_dbug.adb, - exp_dbug.ads, exp_intr.adb, exp_unst.adb, exp_util.adb, - exp_util.ads, freeze.adb, gen_il-fields.ads, - gen_il-gen-gen_entities.adb, gnat1drv.adb, inline.adb, opt.ads, - osint-c.adb, osint-c.ads, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, - sem_ch4.adb, sem_ch6.adb, sem_elab.adb, sem_res.adb, sinfo.ads, - snames.ads-tmpl, switch-b.adb, switch-c.adb: Major - clean up to remove C code generation for bodies. - -2024-08-01 Ronan Desplanques <desplanques@adacore.com> - - * exp_aggr.adb (Flatten): Do not reject empty aggregates. Adjust - criterion for emitting warning about ineffective others clause. - * sem_aggr.adb (Array_Aggr_Subtype): Fix typo. Add handling of - aggregates that were converted to positional form. - (Resolve_Aggregate): Tweak criterion for transforming into a - string literal. - (Resolve_Array_Aggregate): Tweak criterion for reusing existing - bounds of aggregate. - (Retrieve_Aggregate_Bounds): New procedure. - * sem_util.adb (Has_Static_Empty_Array_Bounds): New function. - * sem_util.ads (Has_Static_Empty_Array_Bounds): Likewise. - -2024-08-01 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.ads (Build_Finalizer): Remove Top_Decls parameter. - * exp_ch7.adb (Build_Finalizer): Likewise. Rename Counter_Val into - Count, replace Has_Ctrl_Objs local variable by expression - function, remove Spec_Decls local variable and do not reset - Finalizer_Decls. - (Expand_Cleanup_Actions): Adjust call to Build_Finalizer. - (Expand_N_Package_Body): Likewise. - (Expand_N_Package_Declaration): Likewise. - * inline.adb (Cleanup_Scopes): Likewise. - -2024-08-01 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Make_Address_For_Finalize): Generate a direct call - to the "+" operator of System.Storage_Elements. - (Make_Finalize_Address_Stmts): Likewise. - * rtsfind.ads (RE_Id): Remove RE_Add_Offset_To_Address. - (RE_Unit_Table): Remove entry for RE_Add_Offset_To_Address. - * libgnat/s-finpri.ads (Add_Offset_To_Address): Delete. - * libgnat/s-finpri.adb (Add_Offset_To_Address): Likewise. - -2024-07-07 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc-interface/Make-lang.in (ada.all.cross): Move recipe to... - (GNATTOOLS_CROSS_MV): ... this new variable. - (cross-gnattools): Paste it here. - (gnattools-cross-mv): New target. - -2024-07-03 Alexandre Oliva <oliva@adacore.com> - - * gcc-interface/misc.cc (gnat_get_array_descr_info): Only follow - TYPE_DEBUG_TYPE if TYPE_CAN_HAVE_DEBUG_TYPE_P. - * gcc-interface/utils.cc (sized_type_hash): New struct. - (sized_type_hasher): New struct. - (sized_type_hash_table): New variable. - (init_gnat_utils): Allocate it. - (destroy_gnat_utils): Release it. - (sized_type_hasher::equal): New. - (hash_sized_type): New. - (canonicalize_sized_type): New. - (make_type_from_size): Use it to cache packed variants. Fix - type reuse by combining biased_p and for_biased earlier. Hold - the combination in for_biased, adjusting later uses. - -2024-07-03 Alexandre Oliva <oliva@adacore.com> - - * gcc-interface/cuintp.cc (UI_To_gnu): Add mode that selects a - wide enough unsigned type. Fail if the constant exceeds the - representable numbers. - * gcc-interface/decl.cc (gnat_to_gnu_entity): Use it for - numerator and denominator of fixed-point types. In case of - failure, fall back to an indeterminate fraction. - -2024-07-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_Concatenate): In the case where an operand - does not have both bounds known at compile time, use nevertheless - the low bound directly if it is known at compile time. - Fold the conditional expression giving the low bound of the result - in the general case if the low bound of all the operands are equal. - -2024-07-02 Ronan Desplanques <desplanques@adacore.com> - - * sem_ch12.adb (Save_And_Reset): Fix value of low bound used to - reset table. - -2024-07-02 Steve Baird <baird@adacore.com> - - * sem_attr.adb - (Analyze_Image_Attribute.Check_Image_Type): Check for - E_Access_Attribute_Type prefix type. - -2024-07-02 Steve Baird <baird@adacore.com> - - * exp_ch9.adb - (Expand_N_Protected_Body): Declare new procedure - Unanalyze_Use_Clauses and call it before analyzing the newly - constructed subprogram body. - -2024-07-02 Steve Baird <baird@adacore.com> - - * exp_put_image.adb - (Build_Record_Put_Image_Procedure): Declare new Boolean-valued - function Null_Record_Default_Implementation_OK; call it as part of - deciding whether to generate "(NULL RECORD)" text. - -2024-07-02 Justin Squirek <squirek@adacore.com> - - * sem_ch5.adb: - (Analyze_Assignment): Add special expansion for qualified expressions - in certain cases dealing with mutably tagged types. - -2024-07-02 Bob Duff <duff@adacore.com> - - * freeze.adb (Freeze_Type_Refs): If Node is in N_Has_Etype, - check that it has had its Etype set, because this can be - called early for expression functions that are completions. - -2024-07-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_Array_Comparison): Remove the obsolete byte - addressibility test. If Support_Composite_Compare_On_Target is true, - immediately return for a component size of 8, an unsigned component - type and aligned operands. Disable when Unnest_Subprogram_Mode is - true (for LLVM). - (Expand_N_Op_Eq): Adjust comment. - * targparm.ads (Support_Composite_Compare_On_Target): Replace bit by - byte in description and document support for ordering comparisons. - * gcc-interface/utils2.cc (compare_arrays): Rename into... - (compare_arrays_for_equality): ...this. Remove redundant lines. - (compare_arrays_for_ordering): New function. - (build_binary_op) <comparisons>: Call compare_arrays_for_ordering - to implement ordering comparisons for arrays. - -2024-07-02 Yannick Moy <moy@adacore.com> - - * contracts.adb (Analyze_Pragmas_In_Declarations): Analyze - pragmas in two iterations over the list of declarations in - order to analyze some pragmas before others. - * einfo-utils.ads (Get_Pragma): Fix comment. - * sem_prag.ads (Pragma_Significant_To_Subprograms): Fix. - (Pragma_Significant_To_Subprograms_Analyzed_First): Add new - global array to identify these pragmas which should be analyzed - first, which concerns only Extensions_Visible for now. - -2024-07-02 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Convert_View): Add third parameter Typ and use it if - the second parameter does not have an Etype. - (Make_Adjust_Call): Remove obsolete setting of Etype and pass Typ in - call to Convert_View. - (Make_Final_Call): Likewise. - (Make_Init_Call): Pass Typ in call to Convert_View. - -2024-07-02 Javier Miranda <miranda@adacore.com> - - * sem_aggr.adb (Cannot_Compute_High_Bound): New subprogram. - (Report_Null_Array_Constraint_Error): New subprogram. - (Collect_Aggr_Bounds): For null aggregates, build the bounds - of the inner dimensions. - (Has_Null_Aggregate_Raising_Constraint_Error): New subprogram. - (Subtract): New subprogram. - (Resolve_Array_Aggregate): Report a warning when the index of - null array aggregates is an enumeration type or a modular type - at we can statically determine that the program will raise CE - at runtime computing its high bound. - (Resolve_Null_Array_Aggregate): ditto. - -2024-07-02 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst - (No_Default_Initialization): Mention components alongside variables. - * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Check that the - restriction No_Default_Initialization is not in effect for default - initialized component. - (Build_Record_Aggr_Code): Likewise. - * gnat_rm.texi: Regenerate. - -2024-07-02 Eric Botcazou <ebotcazou@adacore.com> - - * debug.adb (dJ): Add back as unused. - -2024-06-27 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-carsi8.adb: Remove clauses for System.Address_Operations - and use only operations of System.Storage_Elements for addresses. - * libgnat/s-casi16.adb: Likewise. - * libgnat/s-casi32.adb: Likewise. - * libgnat/s-casi64.adb: Likewise. - * libgnat/s-casi128.adb: Likewise. - * libgnat/s-carun8.adb: Likewise. - * libgnat/s-caun16.adb: Likewise. - * libgnat/s-caun32.adb: Likewise. - * libgnat/s-caun64.adb: Likewise. - * libgnat/s-caun128.adb: Likewise. - * libgnat/s-geveop.adb: Likewise. - -2024-06-27 Javier Miranda <miranda@adacore.com> - - * sem_ch2.adb (Analyze_Interpolated_String_Literal): Report - interpretations of ambiguous parameterless function calls. - -2024-06-27 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch5.adb (Analyze_Target_Name): Call Analyze_Dimension on the - node once the Etype is set. - * sem_dim.adb (OK_For_Dimension): Set to True for N_Target_Name. - (Analyze_Dimension): Call Analyze_Dimension_Has_Etype for it. - -2024-06-27 Ronan Desplanques <desplanques@adacore.com> - - * mdll.adb (Build_Non_Reloc_DLL): Fix incorrect assignment - to array object. - (Ada_Build_Non_Reloc_DLL): Likewise. - -2024-06-27 Javier Miranda <miranda@adacore.com> - - * sem_res.adb (Has_Applicable_User_Defined_Literal): Add missing - support for interpolated strings. - -2024-06-27 Martin Clochard <clochard@adacore.com> - - * sem_ch6.adb (Check_Overriding_Indicator) Remove Comes_From_Source filter. - (New_Overloaded_Entity) Move up special case of LSP_Subprogram, - and remove Comes_From_Source filter. - -2024-06-27 Eric Botcazou <ebotcazou@adacore.com> - - * aspects.ads (Aspect_Id): Add Aspect_Finalizable. - (Implementation_Defined_Aspect): Add True for Aspect_Finalizable. - (Operational_Aspect): Add True for Aspect_Finalizable. - (Aspect_Argument): Add Expression for Aspect_Finalizable. - (Is_Representation_Aspect): Add False for Aspect_Finalizable. - (Aspect_Names): Add Name_Finalizable for Aspect_Finalizable. - (Aspect_Delay): Add Always_Delay for Aspect_Finalizable. - * checks.adb: Add with and use clauses for Sem_Elab. - (Install_Primitive_Elaboration_Check): Call Is_Controlled_Procedure. - * einfo.ads (Has_Relaxed_Finalization): Document new flag. - (Is_Controlled_Active): Update documentation. - * exp_aggr.adb (Generate_Finalization_Actions): Replace Find_Prim_Op - with Find_Controlled_Prim_Op for Name_Finalize. - * exp_attr.adb (Expand_N_Attribute_Reference) <Finalization_Size>: - Return 0 if the prefix type has relaxed finalization. - * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Return Empty if - the type needs finalization. - (Expand_Freeze_Record_Type): Call Find_Controlled_Prim_Op instead of - Find_Prim_Op for Name_{Adjust,Initialize,Finalize}. - Call Make_Finalize_Address_Body for all controlled types. - * exp_ch4.adb (Insert_Dereference_Action): Do not generate a call to - Adjust_Controlled_Dereference if the designated type has relaxed - finalization. - * exp_ch6.adb (Needs_BIP_Collection): Return false for an untagged - type that has relaxed finalization. - * exp_ch7.adb (Allows_Finalization_Collection): Return false if the - designated type has relaxed finalization. - (Check_Visibly_Controlled): Call Find_Controlled_Prim_Op instead of - Find_Prim_Op. - (Make_Adjust_Call): Likewise. - (Make_Deep_Record_Body): Likewise. - (Make_Final_Call): Likewise. - (Make_Init_Call): Likewise. - * exp_disp.adb (Set_All_DT_Position): Remove obsolete warning. - * exp_util.ads: Add with and use clauses for Snames. - (Find_Prim_Op): Add precondition. - (Find_Controlled_Prim_Op): New function declaration. - (Name_Of_Controlled_Prim_Op): Likewise. - * exp_util.adb: Remove with and use clauses for Snames. - (Build_Allocate_Deallocate_Proc): Do not build finalization actions - if the designated type has relaxed finalization. - (Find_Controlled_Prim_Op): New function. - (Find_Last_Init): Call Find_Controlled_Prim_Op instead of - Find_Prim_Op. - (Name_Of_Controlled_Prim_Op): New function. - * freeze.adb (Freeze_Entity.Freeze_Record_Type): Propagate the - Has_Relaxed_Finalization flag from components. - * gen_il-fields.ads (Opt_Field_Enum): Add Has_Relaxed_Finalization. - * gen_il-gen-gen_entities.adb (Entity_Kind): Likewise. - * sem_aux.adb (Is_By_Reference_Type): Return true for all controlled - types. - * sem_ch3.adb (Build_Derived_Record_Type): Do not special case types - declared in Ada.Finalization. - (Record_Type_Definition): Propagate the Has_Relaxed_Finalization - flag from components. - * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Also process the - Finalizable aspect. - (Analyze_Aspect_Specifications): Likewise. Call Flag_Non_Static_Expr - in more cases. - (Check_Aspect_At_Freeze_Point): Likewise. - (Inherit_Aspects_At_Freeze_Point): Likewise. - (Resolve_Aspect_Expressions): Likewise. - (Resolve_Finalizable_Argument): New procedure. - (Validate_Finalizable_Aspect): Likewise. - * sem_elab.ads: Add with and use clauses for Snames. - (Is_Controlled_Procedure): New function declaration. - * sem_elab.adb: Remove with and use clauses for Snames. - (Is_Controlled_Proc): Move to... - (Is_Controlled_Procedure): ...here and rename. - (Check_A_Call): Call Find_Controlled_Prim_Op instead of - Find_Prim_Op. - (Is_Finalization_Procedure): Likewise. - * sem_util.ads (Propagate_Controlled_Flags): Update documentation. - * sem_util.adb (Is_Fully_Initialized_Type): Replace call to - Find_Optional_Prim_Op with Find_Controlled_Prim_Op. - Call Has_Null_Extension only for derived tagged types. - (Propagate_Controlled_Flags): Propagate Has_Relaxed_Finalization. - * snames.ads-tmpl (Name_Finalizable): New name. - (Name_Relaxed_Finalization): Likewise. - * libgnat/s-finroo.ads (Root_Controlled): Add Finalizable aspect. - * doc/gnat_rm/gnat_language_extensions.rst: Document implementation - of Generalized Finalization. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Also return early - for a protected subprogram in -gnatc mode. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <discrete_type>: Set - the TYPE_JUSTIFIED_MODULAR_P flag earlier. - * gcc-interface/misc.cc (gnat_unit_size_without_reusable_padding): - New function. - (LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Redefine to above - function. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.cc (clear_decl_bit_field): New function. - (finish_record_type): Call clear_decl_bit_field instead of clearing - DECL_BIT_FIELD manually. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Mod>: Fix formatting. - * gcc-interface/utils2.cc: Include optabs-query.h. - (fast_modulo_reduction): Call can_mult_highpart_p on the TYPE_MODE - before generating a high-part multiply. Fix formatting. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/gigi.h (fast_modulo_reduction): Declare. - * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Mod>: In the unsigned - case, call fast_modulo_reduction for {FLOOR,TRUNC}_MOD_EXPR if the - RHS is a constant and not a power of two, and the precision is not - larger than the word size. - * gcc-interface/utils2.cc: Include expmed.h. - (fast_modulo_reduction): New function. - (nonbinary_modular_operation): Call fast_modulo_reduction for the - multiplication if the precision is not larger than the word size. - -2024-06-21 Javier Miranda <miranda@adacore.com> - - * sem_ch2.adb (Analyze_Interpolated_String_Literal): Reject - ambiguous function calls. - -2024-06-21 Ronan Desplanques <desplanques@adacore.com> - - * sem_util.adb (Examine_Array_Bounds): Add missing return - statements. Fix criterion for a string literal being empty. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * bcheck.adb (Check_Consistency_Of_Sdep): Guard against path to ALI - file not found. - -2024-06-21 Javier Miranda <miranda@adacore.com> - - * sem_ch13.adb (Analyze_One_Aspect): Fix code locating the entity - of the parent type. - -2024-06-21 Marc Poulhiès <poulhies@adacore.com> - - * make.adb (Scan_Make_Arg): Adjust error message. - * gnatls.adb (Search_RTS): Likewise. - * switch-b.adb (Scan_Debug_Switches): Likewise. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Direct_Primitive_Operations): Mention concurrent types - as well as GNAT extensions instead of implementation details. - (Primitive_Operations): Document that Direct_Primitive_Operations is - also used for concurrent types as a fallback. - * einfo-utils.adb (Primitive_Operations): Tweak formatting. - * exp_util.ads (Find_Prim_Op): Adjust description. - * exp_util.adb (Make_Subtype_From_Expr): In the private case with - unknown discriminants, always copy Direct_Primitive_Operations and - do not overwrite the Class_Wide_Type of the expression's base type. - * sem_ch3.adb (Analyze_Incomplete_Type_Decl): Tweak comment. - (Analyze_Subtype_Declaration): Remove older and now dead calls to - Set_Direct_Primitive_Operations. Tweak comment. - (Build_Derived_Private_Type): Likewise. - (Build_Derived_Record_Type): Likewise. - (Build_Discriminated_Subtype): Set Direct_Primitive_Operations in - all cases instead of just for tagged types. - (Complete_Private_Subtype): Likewise. - (Derived_Type_Declaration): Tweak comment. - * sem_ch4.ads (Try_Object_Operation): Adjust description. - -2024-06-21 Doug Rupp <rupp@adacore.com> - - * init.c [vxworks] (__gnat_install_handler): Revert to - installing signal handlers without regard to interrupt_state. - -2024-06-21 Javier Miranda <miranda@adacore.com> - - * sem_disp.adb (Find_Hidden_Overridden_Primitive): Check - public dispatching primitives of ancestors; previously, - only immediately-visible primitives were checked. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * checks.adb (Generate_Index_Checks): Add specific treatment for - index expressions that are N_Expression_With_Actions nodes. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch4.adb (Analyze_Selected_Component): Rename Name into Pref - and use Sel local variable consistently. - (Is_Simple_Indexed_Component): New predicate. - Call Is_Simple_Indexed_Component to determine whether to build an - actual subtype for the component. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb (Freeze_Array_Type): Decouple the handling of the - interaction between packing and aliased/atomic components from - that of the interaction between a component clause and aliased/ - atomic components, and retrofit the processing of the interaction - between the two characteristics and independent components into - the common processing. - -2024-06-21 Bob Duff <duff@adacore.com> - - * gen_il-gen-gen_nodes.adb - (N_Generic_Package_Declaration): Remove Activation_Chain_Entity. - * sinfo.ads: Comment improvements. Add missing doc. - Remove obsolete comment about Activation_Chain_Entity. - * einfo.ads: Comment improvements. Add missing doc. - * einfo-utils.adb (Base_Type): Add Assert (disabled for now). - (Next_Index): Minor cleanup. - * aspects.ads: Minor comment fix. - * exp_ch6.adb: Likewise. - * sem_ch3.adb: Likewise. - -2024-06-21 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch3.adb (Add_Interface_Tag_Components): Simplify with No. - -2024-06-21 Steve Baird <baird@adacore.com> - - * sem_ch4.adb (Is_Effectively_Visible_Operator): A new function. - (Check_Arithmetic_Pair): In paths where Add_One_Interp was - previously called unconditionally, instead call only if - Is_Effectively_Visible_Operator returns True. - (Check_Boolean_Pair): Likewise. - (Find_Unary_Types): Likewise. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * accessibility.adb (Accessibility_Level): Apply the processing to - Expr when its Original_Node is an unanalyzed identifier. - -2024-06-21 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (In_Aspect_Specification): Use the standard - condition that works correctly with declare expressions. - * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Replace - ordinary analysis with preanalysis of spec expressions. - -2024-06-21 Justin Squirek <squirek@adacore.com> - - * csets.ads (Identifier_Char): New function - replacing table. - * csets.adb (Identifier_Char): Rename and move table for static values. - (Initialize): Remove dynamic calculations. - (Identifier_Char): New function to calculate dynamic values. - * opt.adb (Set_Config_Switches): Remove setting of Identifier_Char. - -2024-06-20 Steve Baird <baird@adacore.com> - - * sem_attr.adb (Resolve_Attribute.Proper_Op): When resolving the - name of the reducer subprogram in a reduction expression, - Proper_Op treats references to operators defined in Standard - specially. Disable this special treatment if the type of the - reduction expression is not the right class of type for the - operator, or if a new Boolean parameter (named "Strict") is True. - (Resolve_Attribute): In the overloaded case, iterate over the - reducer subprogram candidates twice. First with Strict => True and - then, if no good intepretation is found, with Strict => False. - -2024-06-20 Yannick Moy <moy@adacore.com> - - * ghost.adb (Check_Ghost_Type): Fix checking. - -2024-06-20 Bob Duff <duff@adacore.com> - - * expander.ads: Minor comment fixes. - * nlists.ads: Misc comment improvements. - * sem_aux.ads (First_Discriminant): Improve comment. - * sem_ch12.adb: Misc cleanups. - (Associations): New package containing type Gen_Assocs_Rec - to represent matchings, and function Match_Assocs to create the - Gen_Assocs_Rec constant. - (Analyze_Associations): Call Match_Assocs, and other major - changes related to that. - * sem_ch12.ads: Minor comment fixes. - * sem_ch3.adb: Minor comment fixes. - -2024-06-20 Steve Baird <baird@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Update documentation. - * doc/gnat_rm/implementation_defined_pragmas.rst: Update - documentation. - * errout.adb - (Error_Msg_GNAT_Extension): Update error message text. - * par-prag.adb: Update pragma parsing. This includes changing the - the name of the Check_Arg_Is_On_Or_Off formal parameter All_OK_Too - to All_Extensions_OK_Too. - * sem_prag.adb (Analyze_Pragma): In analyzing an - Extensions_Allowed pragma, replace uses of Name_All with - Name_All_Extensions; update a comment to reflect this. - * snames.ads-tmpl: Add Name_All_Extensions declaration. - * gnat_rm.texi: Regenerate. - -2024-06-20 Gary Dismukes <dismukes@adacore.com> - - * sem_ch4.adb (Try_Selected_Component_In_Instance): Reverse if_statement - clauses so that the testing for the special case of extensions of private - types in instance bodies is done first, followed by the testing for the case - of a parent type that's a generic actual type. In the extension case, apply - Base_Type to the type actual in the test of Used_As_Generic_Actual, and add - a test of Present (Parent_Subtype (Typ)). - -2024-06-20 Yannick Moy <moy@adacore.com> - - * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): In the - case of formal with a fixed lower bounds, insert appropriate - conversion like in the case of a constrained type. - * tbuild.adb (Unchecked_Convert_To): Do not skip the conversion - when it may involve sliding due to a type with fixed lower bound. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch12.adb (Instantiate_Formal_Package): Accept renamings of a - generic parent that is a child unit for the abbreviated instance. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_Composite_Equality): In the untagged record - case, always look for a user-defined equality operator in Ada 2012. - -2024-06-20 Doug Rupp <rupp@adacore.com> - - * ali.ads (Interrupts_Default_To_System): New boolean. - (Interrupts_Default_To_System_Specified): New boolean. - * ali.adb (Interrupts_Default_To_System_Specified): Initialize. - (Interrupts_Default_To_System): Initialize. - (Scan_ALI): Processing for "ID". - * bindgen.adb: Coallesce comments on interrupt settings to ... - (Gen_Adainit): Import Interrupts_Default_To_System flag and set if - pragma specified. - (Gen_Output_File_Ada): Generate Local_Interrupt_States according - to pragma. - * init.c: ... here. - [vxworks] (__gnat_install_handler): Test for interrupt_state. - (__gl_interrupts_default_to_system): New global flag. - (__gnat_get_interrupt_State): return interrupt state according to - new global flag. - * lib-writ.ads: Document "ID". - * lib-writ.adb: Write out "ID". - * opt.ads (Interrupts_System_By_Default): New boolean, defaulted - to False. - * par-prag.adb (Pragma_Interrupts_System_By_Default): New. - * sem_prag.adb (Pragma_Interrupts_System_By_Default): Handle it. - (Pragma_Interrupts_System_By_Default): Default it. - * snames.ads-tmpl (Name_Interrupts_System_By_Default): New name. - (Pragma_Interrupts_System_By_Default): New - * libgnarl/s-intman__posix.adb (Initialize): Ensure the - Keep_Unmasked signal is sigset-able. - * doc/gnat_rm/implementation_defined_pragmas.rst: Document pragma - Interrupts_System_By_Default. - * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration - pragmas): Add Interrupts_System_By_Default. (Partition-Wide - Settings): Mention pragma Interrupts_System_By_Default. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_Array_Equality.Component_Equality): Copy the - Comes_From_Source flag from the original test to the new one, and - remove obsolete code dealing with unchecked unions. - * sem_util.adb (Has_Inferable_Discriminants): Return False for an - incomplete or private nominal subtype. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb (Freeze_Expression): Also attach pending freeze nodes - to the parent in the case of an internal block in a spec expression. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * debug.adb (d_l): Document new usage for the compiler. - * freeze.adb (Check_Strict_Alignment): Set the Strict_Alignment - flag on array types with aliased component, except if the - component size is equal to the storage unit or the -gnatd_l switch - is specified. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_rm/implementation_advice.rst (Representation Clauses): - Remove >> marker and add end of sentence after code-block directive. - (RM 13.5.3(7-8)): Update to Ada 2005 wording. - * doc/gnat_rm/implementation_defined_characteristics.rst - (RM 13.5.3(5)): Likewise. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-20 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_aspects.rst - (Aspect Subprogram_Variant): Refer to SPARK User's Guide. - * doc/gnat_rm/implementation_defined_pragmas.rst - (Pragma Subprogram_Variant): Document syntax to satisfy the - convention; refer to SPARK User's Guide for semantics. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb (Freeze_Array_Type): Call Propagate_Controlled_Flags - to propagate the controlled flags from the component to the array. - (Freeze_Record_Type): Propagate the Finalize_Storage_Only flag - from the components to the record. - * sem_ch3.adb (Analyze_Private_Extension_Declaration): Do not call - Propagate_Concurrent_Flags here but... - (Array_Type_Declaration): Tidy and call Propagate_Controlled_Flags - to propagate the controlled flags from the component to the array. - (Build_Derived_Private_Type): Do not propagate the controlled flags - manually here but... - (Build_Derived_Record_Type): ...call Propagate_Controlled_Flags to - propagate the controlled flags from parent to derived type. - (Build_Derived_Type): Likewise. - (Copy_Array_Base_Type_Attributes): Call Propagate_Controlled_Flags - to copy the controlled flags. - (Record_Type_Definition): Streamline the propagation of the - Finalize_Storage_Only flag from the components to the record. - * sem_ch7.adb (Preserve_Full_Attributes): Use Full_Base and call - Propagate_Controlled_Flags to copy the controlled flags. - * sem_ch9.adb (Analyze_Protected_Definition): Use canonical idiom - to compute Has_Controlled_Component. - (Analyze_Protected_Type_Declaration): Minor tweak. - * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Do not deal with - Finalize_Storage_Only here. - * sem_util.ads (Propagate_Controlled_Flags): New declaration. - * sem_util.adb (Propagate_Controlled_Flags): New procedure. - -2024-06-20 Piotr Trojanek <trojanek@adacore.com> - - * freeze.adb (Check_Current_Instance): This routine is only called - with parameter E being a type entity, so there is no need to check - for types just before the equality with E. - * sem_ch13.adb (Analyze_Aspect_Specifications): Regroup condition - to avoid unnecessary evaluation. - (Check_Aspect_At_End_Of_Declarations): If In_Instance is true, - then the routine exits early. - -2024-06-20 Piotr Trojanek <trojanek@adacore.com> - - * freeze.adb (Find_Aspect_No_Parts): Tune whitespace. - * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Fix style. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * aspects.ads (Aspect_Id): Remove Aspect_Max_Entry_Queue_Depth. - (global arrays): Remove entry for it. - * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Remove - reference to pragma Max_Entry_Queue_Depth in comment. - * par-prag.adb (Prag): Remove handling of - Pragma_Max_Entry_Queue_Depth. - * sem_ch13.adb (Analyze_Aspect_Specifications): Remove reference - to aspect Max_Entry_Queue_Depth in comment. - (Analyze_Aspect_Specifications): Remove processing of aspect - Max_Entry_Queue_Depth. - (Check_Aspect_At_Freeze_Point): Likewise. - * sem_prag.ads (Find_Related_Declaration_Or_Body): Remove - reference to pragma Max_Entry_Queue_Depth in comment. - * sem_prag.adb (Analyze_Pragma): Remove processing of pragma - Max_Entry_Queue_Depth. - (Sig_Flags): Remove entry for Pragma_Max_Entry_Queue_Depth. - * sem_util.adb (Get_Max_Queue_Length): Remove handling of pragma - Max_Entry_Queue_Depth. - (Has_Max_Queue_Length): Likewise. - * snames.ads-tmpl (Name_Max_Entry_Queue_Depth): Move back from - pragmas section to others section. - (Pragma_Id): Remove Pragma_Max_Entry_Queue_Depth. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst (Pragma Storage_Model): - Rename to Storage Model. - * doc/gnat_rm/implementation_defined_aspects.rst: Alphabetize. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-20 Ronan Desplanques <desplanques@adacore.com> - - * gnat1drv.adb (Gnat1drv): Add coverage instrumentation - annotations. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_Freeze_Array_Type): Do not propagate the - concurrent flags and the Has_Controlled_Component flag here. - (Expand_Freeze_Record_Type): Likewise. - * freeze.adb (Freeze_Array_Type): Propagate the concurrent flags. - (Freeze_Record_Type): Likewise. - * sem_util.adb (Has_Some_Controlled_Component): Adjust comment. - -2024-06-20 Eric Botcazou <ebotcazou@adacore.com> - - * mutably_tagged.ads: Fix minor issues in comments throughout. - -2024-06-20 Richard Kenner <kenner@adacore.com> - - * debug.adb: Add documentation for -gnatd_w. - -2024-06-20 Viljar Indus <indus@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update - documentation for -gnatw.v. - * sem_ch13.adb: Convert all -gnatw.v related messages to warnings. - * gnat_ugn.texi: Regenerate. - -2024-06-20 Viljar Indus <indus@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update - documentation for -gnatw.n switch. - * exp_util.adb: Convert info messages into warnings. - * gnat_ugn.texi: Regenerate. - -2024-06-20 Viljar Indus <indus@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add - entry for -gnatis. - * errout.adb (Error_Msg_Internal): Stop printing info messages if - -gnatis was used. - * opt.ads: Add Info_Suppressed flag to track whether info messages - should be suppressed. - * switch-c.adb: Add parsing for -gnatis. - * gnat_ugn.texi: Regenerate. - -2024-06-20 Viljar Indus <indus@adacore.com> - - * atree.ads: Remove Warning_Info_Messages. - * errout.adb: Remove various places where Warning_Info_Messages - was used. - * erroutc.adb: Remove various places where Warning_Info_Messages - was used. Create Error_Msg_Object objects with only an info - attribute if the message contained both info and warning insertion - characters. New method Has_Switch_Tag for detecting if a message - should have an error tag. - * errutil.adb: Create Error_Msg_Object objects with only an info - attribute if the message contained both info and warning insertion - characters. - -2024-06-20 Justin Squirek <squirek@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Add entry for 'Super. - * doc/gnat_rm/implementation_defined_attributes.rst: Remove entry - for 'Super. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-20 Steve Baird <baird@adacore.com> - - * gprep.adb (Process_Files.Process_One_File): When calling OS_Exit in an error - path, pass in a Status parameter of 1 instead of 0 (because 0 - indicates success). - * lib-load.adb (Load_Main_Source): Do not emit a message about a missing source file - if other error messages were generated by calling Load_Source_File; - the file isn't missing - it failed preprocessing. - -2024-06-20 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Attribute_22): Add Put_Image and Object_Size. - * sem_attr.ads (Attribute_Impl_Def): Remove Object_Size. - -2024-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/Makefile.in (tmake_file): Remove all references. - -2024-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc: Include function.h. - (gnat_to_gnu_param): Minor comment tweaks. - (gnat_to_gnu_subprog_type): Take into account the default for the - computation of the return mechanism. Give a warning if a by-copy - specified mechanism cannot be honored. - -2024-06-14 Yannick Moy <moy@adacore.com> - - * gcc-interface/trans.cc (elaborate_all_entities_for_package) - (process_freeze_entity): Skip entities of kind E_Subprogram_Body. - -2024-06-14 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/109817 - * gcc-interface/trans.cc (maybe_make_gnu_thunk): Create an alias - instead of a null thunk. - -2024-06-14 Marc Poulhiès <poulhies@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Typo fix. - (gnat_to_gnu_component_type): Indent fix. - * gcc-interface/gigi.h (build_call_alloc_dealloc): Typo fix. - * gcc-interface/utils.cc (make_dummy_type): Typo fix. - * gcc-interface/utils2.cc (gnat_protect_expr): Indent fix. - -2024-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * aspects.ads (Aspect_Id): Alphabetize, remove the GNAT tag from - Default_Initial_Condition and Object_Size, move No_Controlled_Parts - and No_Task_Parts to boolean subclass. - (Nonoverridable_Aspect_Id): Add missing Ada 2022 aspects. - (Implementation_Defined_Aspect): Add all missing aspects, remove - Max_Entry_Queue_Length and Object_Size - (Aspect_Argument): Remove specific entries for No_Controlled_Parts - and No_Task_Parts, list boolean aspects last. - (Is_Representation_Aspect ): Move boolean aspects last. - (Aspect_Names): Alphabetize. - * sem_ch13.adb (Analyze_Aspect_Disable_Controlled): Adjust. - (Analyze_Aspect_Specifications): Move around processing for - No_Controlled_Parts and No_Task_Parts. - (Check_Aspect_At_Freeze_Point): Remove specific entries for - No_Controlled_Parts and No_Task_Parts - -2024-06-14 Steve Baird <baird@adacore.com> - - * exp_attr.adb - (Expand_Loop_Entry_Attribute): - Ensure that Etype of the saved expression is set correctly. - -2024-06-14 Jerome Guitton <guitton@adacore.com> - - * sysdep.c (S_dosFsLib_FILE_NOT_FOUND, S_nfsLib_NFSERR_NOENT): - New macros, falback to ENOENT when not already defined. - (__gnat_is_file_not_found_error): Use these new macros to remove - tests against VxWorks flavors. - -2024-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * snames.ads-tmpl (Name_Present): Move to Repinfo section. - -2024-06-14 Justin Squirek <squirek@adacore.com> - - * doc/gnat_rm/gnat_language_extensions.rst: Add documentation for - mutably tagged type feature. - * aspects.ads: Add registration for 'Size'Class. - * einfo.ads: Add documentation for new components - Class_Wide_Equivalent_Type and Is_Mutably_Tagged_Type. - * exp_aggr.adb (Gen_Assign): Assume associated mutably tagged type - when class-wide equivalent type is encountered. - (Contains_Mutably_Tagged_Type): New subprogram. - (Convert_To_Positional): Assume associated mutably tagged type - when class-wide equivalent type is encountered. - (Is_Static_Element): Assume associated mutably tagged type when - class-wide equivalent type is encountered. - (Expand_Array_Aggregate): Assume associated mutably tagged type - when class-wide equivalent type is encountered. - (Expand_Record_Aggregate): Force mutably tagged records to be - expanded into assignments. - * exp_ch3.adb (Build_Array_Init_Proc): Assume associated mutably - tagged type when class-wide equivalent type is encountered. - (Simple_Initialization_OK): Disallow simple initialization for - class-wide equivalent types. - (Build_Init_Statements): Assume associated mutably tagged type - when class-wide equivalent type is encountered. - (Expand_Freeze_Array_Type): Ignore building of record init procs - for mutably tagged types. - (Expand_N_Full_Type_Declaration): Replace mutably tagged type - declarations with their associated class-wide equivalent types. - (Default_Initialize_Object): Add special handling for mutably - tagged types. - * exp_ch4.adb (Expand_N_Allocator): Add initialization for mutably - tagged types. - (Expand_Record_Equality): Generate mutably tagged unchecked - conversions. - * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a special - assignment case for class-wide equivalent types which does tag - assignments and ignores certain checks. - * exp_ch6.adb (Expand_Call_Helper): Propagate constrained extra - formal actuals for mutably tagged types. - * exp_ch7.adb (Make_Init_Call): Handle mutably tagged type - initialization. - * exp_util.adb (Make_CW_Equivalent_Type): Modify to handle mutably - tagged objects which contain no initialization expression. - (Make_Subtype_From_Expr): Modify call to Make_CW_Equivalent_Type. - * exp_util.ads (Make_CW_Equivalent_Type): Move declaration from - body to spec. - * freeze.adb (Size_Known): No longer return false automatically - when a class-wide type is encountered. - (Freeze_Entity): Ignore error messages about size not being known - for mutably tagged types. - * gen_il-fields.ads: Register new fields - Class_Wide_Equivalent_Type and Is_Mutably_Tagged_Type. - * gen_il-gen-gen_entities.adb: Register new fields - Class_Wide_Equivalent_Type and Is_Mutably_Tagged_Type for type - entities. - * mutably_tagged.adb, mutably_tagged.ads - (Corresponding_Mutably_Tagged_Type): New subprogram. - (Depends_On_Mutably_Tagged_Ext_Comp): New subprogram. - (Get_Corresponding_Mutably_Tagged_Type_If_Present): New - subprogram. - (Get_Corresponding_Tagged_Type_If_Present): New subprogram. - (Is_Mutably_Tagged_Conversion): New subprogram. - (Is_Mutably_Tagged_CW_Equivalent_Type): New subprogram. - (Make_Mutably_Tagged_Conversion): New subprogram. - (Make_CW_Size_Compile_Check): New subprogram. - (Make_Mutably_Tagged_CW_Check): New subprogram. - * sem_aggr.adb (Resolve_Array_Aggregate): Skip tag checks for - class-wide equivalent types. - (Resolve_Aggr_Expr): Assume associated mutably tagged type when - class-wide equivalent type is encountered. - * sem_attr.adb (Analyze_Attribute): Allow 'Tag on mutably tagged - types. - (Resolve_Attribute): Detect errors for dependence of mutably - tagged extension type component. - * sem_ch12.adb (Instantiate_Object): Detect errors for dependence - of mutably tagged extension type component. - * sem_ch13.adb (Analyze_One_Aspect): Propagate 'Size'Class to - class-wide type. - (Analyze_Attribute_Definition_Clause): Add handling of 'Size'Class - by generating class-wide equivalent types and checking for illegal - uses. - * sem_ch2.adb (Analyze_Identifier): Generate unchecked conversion - for class-wide equivalent types. - * sem_ch3.adb (Analyze_Component_Declaration): Avoid unconstrained - errors on mutably tagged types. - (Analyze_Object_Declaration): Rewrite declarations of mutably - tagged types to use class-wide equivalent types. - (Array_Type_Declaration): Modify arrays of mutably tagged types to - use their corresponding class-wide equivalent types. - (Derived_Type_Declaration): Add various checks for mutably tagged - derived types. - * sem_ch4.adb (Analyze_Allocator): Replace reference to mutably - tagged type with cooresponding tagged type. - (Process_Indexed_Component): Generate unchecked conversion for - class-wide equivalent type. - (Analyze_One_Call): Generate unchecked conversion for class-wide - equivalent types. - (Analyze_Selected_Component): Assume reference to class-wide - equivalent type is associated mutably tagged type. - (Analyze_Type_Conversion): Generate unchecked conversion for - class-wide equivalent type. - * sem_ch5.adb (Analyze_Assignment): Assume associated mutably - tagged type when class-wide equivalent type is encountered. - (Analyze_Iterator_Specification): Detect errors for dependence of - mutably tagged extension type component. - * sem_ch6.adb (Create_Extra_Formals): Add code to generate extra - formal for mutably tagged types to signal if they are constrained. - * sem_ch8.adb (Analyze_Object_Renaming): Detect error on renaming - of mutably tagged extension type component. - (Analyze_Renaming_Primitive_Operation): Detect error on renaming - of mutably tagged extension type component. - * sem_res.adb (Resolve_Actuals): Allow class-wide arguments on - class-wide equivalent types. - (Valid_Conversion): Assume associated mutably tagged type when - class-wide equivalent type is encountered. - * sem_util.adb (Is_Fully_Initialized_Type): Flag mutably tagged - types as fully initialized. - (Needs_Simple_Initalization): Flag class-wide equivalent types as - needing initialization. - * gnat_rm.texi: Regenerate. - * gcc-interface/Make-lang.in: Add entry for mutably_tagged.o. - -2024-06-14 Justin Squirek <squirek@adacore.com> - - * accessibility.adb: - (Accessibility_Level): Replace call Get_Full_View with call to - Full_View since Get_Full_View only works with incomplete types. - -2024-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * aspects.ads (Operational_Aspect): Alphabetize. - * sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Fix description. - * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point) <Aggregate>: Give - the error for array types here instead of... - (Analyze_Aspect_Specifications) <Aggregate>: Adjust comment. - (Check_Aspect_At_Freeze_Point) <Aggregate>: ...here. - -2024-06-14 Javier Miranda <miranda@adacore.com> - - * exp_aggr.adb (Must_Slide): Add missing support for - multidimensional arrays. - -2024-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb (Freeze_All): Call Check_Aspects_At_End_Of_Declarations - to perform the visibility check for aspects. - * sem_ch13.ads (Check_Aspects_At_End_Of_Declarations): Declare. - (Check_Aspect_At_Freeze_Point): Move to... - (Check_Aspect_At_End_Of_Declarations): Move to... - * sem_ch13.adb (Check_Aspect_At_Freeze_Point): ...here. - (Check_Aspect_At_End_Of_Declarations): ...here. - (Analyze_Aspect_Specifications): Remove peculiar processing for - Stable_Properties, Designated_Storage_Model, Storage_Model_Type - and Aggregate. Move that of Local_Restrictions around. Reset - Aitem at the beginning of the loop for each aspect. - (Check_Aspects_At_End_Of_Declarations): New procedure. - -2024-06-14 Justin Squirek <squirek@adacore.com> - - * sem_attr.adb: - (Analyze_Attribute): Add check for dereference. - -2024-06-14 Eric Botcazou <ebotcazou@adacore.com> - - * snames.ads-tmpl (Name_Storage_Model): Delete. - -2024-06-14 Alexandre Oliva <oliva@gnu.org> - - Revert: - 2024-06-12 Alexandre Oliva <oliva@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_field): Use unpacked type - as the debug type for packed fields. - -2024-06-13 Steve Baird <baird@adacore.com> - - * exp_util.adb - (Insert_Actions): Code was relying on an incorrect assumption that an - N_Itype_Reference cannot occur in declaration list or a statement - list. Fix the code to handle this case. - -2024-06-13 Viljar Indus <indus@adacore.com> - - * debug.adb: Remove mentions of -gnatdJ. - * errout.adb: Remove printing subprogram names to JSON. - * erroutc.adb: Remove printing subprogram names in messages. - * erroutc.ads: Remove Node and Subprogram_Name_Ptr used for -gnatdJ. - * errutil.adb: Remove Node used for -gnatdJ - * gnat1drv.adb: Remove references of -gnatdJ and - Include_Subprgram_In_Messages. - * opt.ads: Remove Include_Subprgram_In_Messages - * par-util.adb: Remove behavior related to - Include_Subprgram_In_Messages. - * sem_util.adb: Remove Subprogram_Name used for -gnatdJ - -2024-06-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Attach_Object_To_Master_Node): Fix formatting. - (Build_Finalizer.Process_Object_Declaration): Synthesize a local - Finalize_Address primitive if the object's subtype is an array - that has a constrained first subtype and is not this first subtype. - * exp_util.adb (Find_Last_Init): Get again to the base type in the - indirect case. - -2024-06-13 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_rm/implementation_defined_attributes.rst (Iterable): - Delete entry. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-13 Yannick Moy <moy@adacore.com> - - * sem_util.adb (Check_Ambiguous_Aggregate): Fix test. - -2024-06-13 Javier Miranda <miranda@adacore.com> - - * freeze.ads (Check_Condition_Entities): Complete documentation. - * freeze.adb (Check_Inherited_Conditions): Extend its functionality to - build two kind of wrappers: the existing LSP wrappers, and wrappers - required to handle postconditions of interface primitives implemented - by inherited primitives. - (Build_Inherited_Condition_Pragmas): Rename formal. - (Freeze_Record_Type): For derived tagged types, move call to - Check_Inherited_Conditions to subprogram Freeze_Entity_Checks; - done to improve the performance of Check_Inherited_Conditions since it - can rely on the internal entities that link interface primitives with - tagged type primitives that implement them. - (Check_Interface_Primitives_Strub_Mode): New subprogram. - * sem_ch13.adb (Freeze_Entity_Checks): Call Check_Inherited_Conditions. - Call Check_Inherited_Conditions with derived interface types to check - strub mode compatibility of their primitives. - * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion to accept - wrappers of interface primitives that have classwide postconditions. - * exp_disp.adb (Write_DT): Adding text to identify wrappers. - -2024-06-13 Viljar Indus <indus@adacore.com> - - * sem_res.adb (Resolve_Call): add warning insertion - character into the info message. - -2024-06-13 Steve Baird <baird@adacore.com> - - * sem_util.adb - (New_Copy_Tree.Visit_Entity): Delete code that prevented copying some entities. - -2024-06-13 Bob Duff <duff@adacore.com> - - * sem_ch12.adb (Check_Fixed_Point_Actual): Minor rewording; it seems - more proper to say "operator" rather than "operation". - (Matching_Actual): Give an error for <> in positional notation. - This is a syntax error. Disable this for now. - (Analyze_Associations): Copy the use clause in all cases. - The "mustn't recopy" comment seems wrong, because New_Copy_Tree - preserves Slocs. - * libgnat/a-ticoau.ads: Fix violation of new postion-box error. - * libgnat/a-wtcoau.ads: Likewise. - * libgnat/a-ztcoau.ads: Likewise. - -2024-06-13 Viljar Indus <indus@adacore.com> - - * par-labl.adb (Rewrite_As_Loop): Remove info message - -2024-06-13 Viljar Indus <indus@adacore.com> - - * par-ch7.adb: Remove warning characters from info message - * par-endh.adb: Remove warning characters from info message - * sem_res.adb: Remove warning characters from info message - -2024-06-13 Viljar Indus <indus@adacore.com> - - * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): change the - info message to a continuation message. - -2024-06-13 Viljar Indus <indus@adacore.com> - - * inline.adb (Cannot_Inline): Simplify string handling logic. - -2024-06-13 Yannick Moy <moy@adacore.com> - - * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Skip entities - of kind E_Subprogram_Body. - * repinfo.adb (List_Entities): Remove special case for subprogram - bodies. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): List subprogram - body entities in the enclosing scope. - -2024-06-13 Javier Miranda <miranda@adacore.com> - - * sem_ch4.adb (Traverse_Interfaces): Add missing support - for climbing to parents of interface types. - -2024-06-13 Steve Baird <baird@adacore.com> - - * doc/gnat_rm/implementation_defined_attributes.rst: - Update Super attribute documentation. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-13 Ronan Desplanques <desplanques@adacore.com> - - * exp_ch7.adb (Build_Cleanup_Statements): Adapt to changes - made to Build_Protected_Subprogram_Call_Cleanup. - * exp_ch9.adb (Make_Unlock_Statement, Wrap_Unprotected_Call): - New functions. - (Build_Protected_Subprogram_Body): Fix resource management in - generated code. - (Build_Protected_Subprogram_Call_Cleanup): Make use of newly - introduced Make_Unlock_Statement. - -2024-06-13 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114710 - * exp_util.adb (Find_Renamed_Object): Recurse for any renaming. - -2024-06-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): - Iterate over encapsulating abstract states. - -2024-06-13 Eric Botcazou <ebotcazou@adacore.com> - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imad32$(objext), - s-imad64$(objext) and s-imagea$(objext). - * exp_atag.ads (Build_Set_Size_Function): Replace Tag_Node parameter - with Typ parameter. - * exp_atag.adb: Add clauses for Sinfo.Utils. - (Build_Set_Size_Function): Retrieve the TSD object statically. - * exp_disp.adb: Add clauses for Ttypes. - (Make_DT): Call Address_Image{32,64] instead of Address_Image. - (Register_Primitive): Pass Tag_Typ to Build_Set_Size_Function. - * rtsfind.ads (RTU_Id): Remove System_Address_Image and add - System_Img_Address_{32;64}. - (RE_Id): Remove entry for RE_Address_Image and add entries for - RE_Address_Image{32,64}. - * rtsfind.adb (System_Descendant): Adjust to above changes. - * libgnat/a-tags.ads (Address_Array): Suppress initialization. - * libgnat/s-addima.adb (System.Address_Image): Call the appropriate - routine based on the address size. - * libgnat/s-imad32.ads: New file. - * libgnat/s-imad64.ads: Likewise. - * libgnat/s-imagea.ads: Likewise. - * libgnat/s-imagea.adb: Likewise. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS) [$(STAGE1)=False]: Add - ada/libgnat/s-imad32.o and ada/libgnat/s-imad64.o. - -2024-06-13 Yannick Moy <moy@adacore.com> - - * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline - when constant with address clause is found. - -2024-06-13 Ronan Desplanques <desplanques@adacore.com> - - * gnatlink.adb (Gnatlink): Fix incorrect lower bound assumption. - (Is_Prefix): New function. - -2024-06-13 Steve Baird <baird@adacore.com> - - * sem_ch7.adb - (Requires_Completion_In_Body): Modify the Comes_From_Source test so that - the implicit declaration of an inherited subprogram does not cause - an incorrect result of True. - -2024-06-13 Richard Kenner <kenner@adacore.com> - - * exp_ch6.adb (Expand_Ctrl_Function_Call): Inline if -gnatn in - CCG mode even if -O0. - -2024-06-13 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114710 - * exp_util.adb (Find_Renamed_Object): Recurse if the renamed object - is itself a renaming. - -2024-06-13 Javier Miranda <miranda@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Enhance support for - using 'Old with a prefix that references an overloaded - function that has no parameters; add missing support - for the use of 'Old within qualified expressions. - * sem_util.ads (Preanalyze_And_Resolve_Without_Errors): - New subprogram. - * sem_util.adb (Preanalyze_And_Resolve_Without_Errors): - New subprogram. - -2024-06-13 Piotr Trojanek <trojanek@adacore.com> - - * layout.adb (Layout_Type): Use high-level wrapper routine. - * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise. - * sem_ch3.adb (Analyze_Object_Declaration): Likewise. - -2024-06-13 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-tsmona__linux.adb (Get): Move down descriptive comment. - * libgnat/s-tsmona__mingw.adb: Add with clause and use clause for - System.Storage_Elements. - (Get): Pass GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT in the call - to GetModuleHandleEx and remove the subsequent call to FreeLibrary. - Upon success, set Load_Addr to the base address of the module. - * libgnat/s-win32.ads (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS): Use - shorter literal. - (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT): New constant. - -2024-06-13 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114710 - * exp_ch7.adb (Build_Finalizer.Process_Declarations): Remove dead - code dealing with renamings. - * exp_util.ads (Is_Finalizable_Transient): Rename Rel_Node to N. - * exp_util.adb (Is_Finalizable_Transient): Likewise. - (Is_Aliased): Remove obsolete code dealing wih EWA nodes and only - consider renamings present in N itself. - (Requires_Cleanup_Actions): Remove dead code dealing with renamings. - -2024-06-13 Javier Miranda <miranda@adacore.com> - - * sem_ch13.adb (Analyze_One_Aspect): Set the applicable policy - of a type declaration when its aspect Dynamic_Predicate is - analyzed. - * sem_prag.adb (Handle_Dynamic_Predicate_Check): New subprogram - that enables or ignores dynamic predicate checks depending on - whether dynamic checks are enabled in the context where the - associated type declaration is defined; used in the analysis - of pragma check. In addition, for pragma Predicate, do not - disable it when the aspect was internally build as part of - processing a dynamic predicate aspect. - -2024-06-12 Alexandre Oliva <oliva@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_field): Use unpacked type - as the debug type for packed fields. - -2024-06-10 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_Nonbinary_Modular_Op): Create an explicit Mod - for additive operations if No_Implicit_Conditionals is in effect. - (Expand_Modular_Addition): Likewise. - (Expand_Modular_Subtraction): Likewise. - (Expand_Modular_Op): Always use an unsigned type obtained by calling - Small_Integer_Type_For on the required size. - -2024-06-10 Javier Miranda <miranda@adacore.com> - - * sem_ch6.adb (Might_Need_BIP_Task_Actuals): Add support - for access-to-subprogram parameter types. - * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): - Add dummy BIP parameters to access-to-subprogram types - that may reference a function that has BIP parameters. - -2024-06-10 Gary Dismukes <dismukes@adacore.com> - - * sem_prag.adb (Set_Convention_From_Pragma): If the specified convention on - a record type is not C_Pass_By_Copy, then force the C_Pass_By_Copy flag to - False, to ensure that it's overridden. - -2024-06-10 Gary Dismukes <dismukes@adacore.com> - - * sem_aggr.adb (Resolve_Iterated_Association): Change "not Present" - to "No" in test of Add_Named_Subp. - -2024-06-10 Steve Baird <baird@adacore.com> - - * freeze.adb - (Should_Freeze_Type.Is_Dispatching_Call_Or_Aggregate): Treat an extension - aggregate or a delta aggregate like a regular aggregate. - -2024-06-10 Gary Dismukes <dismukes@adacore.com> - - * sem_aggr.adb (Resolve_Iterated_Association): In the case of - N_Iterated_Element_Associations that have a key expression, issue - an error if the aggregate type does not have an Add_Named - operation, and include a reference to RM22 4.3.5(24) in the error - message. In the case of an N_Component_Association with a - Defining_Identifer where the "choice" is given by a function call, - in the creation of the iterator_specification associate a copy of - Choice as its Name, and remove the call to - Analyze_Iterator_Specification, which was causing problems with - the reanalysis of function calls originally given in prefixed form - that were transformed into function calls in normal (infix) form. - The iterator_specification will be analyzed later in any case, so - that call should not be done here. Remove the with and use of - Sem_Ch5. - -2024-06-10 Justin Squirek <squirek@adacore.com> - - * ali.adb (Get_Nat): Remove unnecessary parentheses. - * exp_ch11.adb (Expand_Local_Exception_Handlers): Remove - unnecessary parentheses. - * freeze.adb (Freeze_Entity): Remove unnecessary parentheses. - * lib-list.adb (List): Remove unnecessary parentheses. - * par-ch5.adb (P_Condition): Add extra parentheses checks on - condition operands. - * sem_ch3.adb (Add_Interface_Tag_Components): Remove unnecessary - parentheses. - (Check_Delta_Expression): Remove unnecessary parenthesis. - (Check_Digits_Expression): Remove unnecessary parentheses. - * sem_ch12.adb (Validate_Array_Type_Instance): Remove unnecessary - parentheses. - -2024-06-10 Justin Squirek <squirek@adacore.com> - - * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Add - expansion of filter condition. - (Expand_Formal_Container_Loop): Add expansion of filter condition. - -2024-06-10 Justin Squirek <squirek@adacore.com> - - * accessibility.adb (Accessibility_Level): Use Get_Full_View to - avoid crashes when calculating scope. - -2024-06-10 Justin Squirek <squirek@adacore.com> - - * sem_warn.adb (Warn_On_Unreferenced_Entity): Add a condition to - ignore warnings on unreferenced abstract subprogram. - -2024-06-10 Justin Squirek <squirek@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Add check for interface parent - types. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * einfo.ads, exp_attr.adb, exp_ch4.adb, exp_ch7.adb, - lib-writ.adb, libgnat/a-stbuut.ads, sem_ch13.adb, sem_ch3.adb, - sem_ch7.adb: Use "RM" in comments. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb - (Immediate_Context_Implies_Is_Potentially_Unevaluated): Use - collective subtypes in membership tests. - (Is_Known_On_Entry): Require all alternatives in a case statement - to return; this change could prevent a recently fixed glitch, - where one of the alternatives relied on the return statement - afterwards (also, the new code is shorter). - * sem_util.ads (Is_Potentially_Unevaluated): Clarify that this - routine applies to Ada 2012. - -2024-06-10 Yannick Moy <moy@adacore.com> - - * libgnat/a-chtgfo.adb (Generic_Read, Generic_Write): Remove. - * libgnat/a-chtgfo.ads: Same. Remove dependency on Ada.Streams. - -2024-06-10 Ronan Desplanques <desplanques@adacore.com> - - * libgnarl/s-taprop__mingw.adb (Set_Task_Affinity): Fix usage of - SetThreadAffinityMask. - * libgnat/s-winext.ads (SetThreadAffinityMask): Fix binding - signature. - -2024-06-10 Ronan Desplanques <desplanques@adacore.com> - - * libgnarl/s-taprop__mingw.adb (Set_Task_Affinity): Fix usage - of SetThreadIdealProcessor. - -2024-06-10 Ronan Desplanques <desplanques@adacore.com> - - * libgnat/s-os_lib.adb (Normalize_Pathname): Remove incorrect - assert statement. - (Missed_Drive_Letter): Rename into... - (Drive_Letter_Omitted): This. - -2024-06-10 Ronan Desplanques <desplanques@adacore.com> - - * gnatlink.adb (Check_File_Name): Fix incorrect assumption. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference): Use constants - declared at the beginning of subprogram; tune layout. - * exp_ch3.adb (Predefined_Primitive_Bodies): Tune layout. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst - (No_Tagged_Streams): Move documentation. - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst - (No_Streams): Likewise. - * exp_disp.adb (Make_DT): Extend comment. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Use fully qualified name - without a NUL, so that it doesn't need to be skipped afterwards. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Stream_Operation_OK): Check restriction - No_Default_Stream_Attributes before call to - Type_Without_Stream_Operation. - * sem_util.adb (Type_Without_Stream_Operation): Remove static - condition from recursive routine - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Has_Single_Return_In_GNATprove_Mode): Remove. - (Process_Formals): When rewriting an occurrence of a formal - parameter, use location of the occurrence, not of the inlined - call. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * debug.adb (d_k): Use first available debug switch. - * gnat1drv.adb (Adjust_Global_Switches): If new debug switch is - active then don't expand assertion expressions by default. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch6.adb (Install_Class_Preconditions_Check): Refactor - common code for checking if precondition fails, since the - difference is only in raising an exception or calling the - Raise_Assert_Failure procedure. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch6.adb (Build_Dynamic_Check_Helper_Call): Remove unused - iteration over formal parameters. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Make - discriminants visible when analyzing aspect Interrupt_Priority. - (Freeze_Entity_Checks): Likewise. - (Resolve_Aspect_Expressions): Likewise for both aspects CPU and - Interrupt_Priority. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Report_Extra_Clauses): Remove redundant check - for empty list, because First works also for No_List. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Check_Dependency_Clause, Check_Output_States, - Report_Extra_Clauses): Remove multiple checks for being inside - an instance. - (Analyze_Refined_Depends_In_Decl_Part): Add single check for - being inside an instance. - -2024-06-10 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Check_In_Out_States, Check_Input_States, - Check_Output_States, Check_Proof_In_States, - Check_Refined_Global_List, Report_Extra_Constituents, - Report_Missing_Items): Remove multiple checks for being inside - an instance. - (Analyze_Refined_Global_In_Decl_Part): Add single check for - being inside an instance. - -2024-06-05 Kewen Lin <linkw@linux.ibm.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Use TYPE_PRECISION of - long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. - -2024-05-29 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115270 - * Makefile.rtl (PowerPC/Linux): Use libgnat/s-atopri__32.ads for - the 32-bit library. - (SPARC/Linux): Likewise. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115168 - * libgnarl/s-taprop__solaris.adb (Initialize): Fix pasto. - * libgnat/s-oslock__solaris.ads (Owner_Int): Delete. - (Owner_ID): Change the designated type to Integer. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.cc (nonbinary_modular_operation): Rewrite. - Do not create signed types for subtraction, do not create types with - partial precision, call fold_convert instead of convert throughout. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity): Use the Is_Base_Type - predicate and remove superfluous calls to Base_Type. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.cc (gnat_protect_expr): Deal specifically - with atomic loads. Document the relationship with gnat_save_expr. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: For a - packed type implemented specially, temporarily save the XUA type as - equivalent to the entity before processing the implementation type. - For this implementation type, if its component type is the same as - that of the original type, copy the alias set from the latter. - <types>: Resort to universal aliasing for all interface types. - * gcc-interface/trans.cc (Call_to_gnu): Add GNU_ACTUAL_TYPE local - variable and rename existing one to GNU_UNPADDED_ACTUAL_TYPE. - If the formal is passed by reference and the actual is a conversion, - call aliasable_p to detect aliasing violations, issue a warning upon - finding one and create the temporary in the target type. - Add an assertion that no such violation has been missed above. - (addressable_p): Revert latest changes. - (aliasable_p): New predicate. - * gcc-interface/utils2.cc (build_binary_op) <ARRAY_RANGE_REF>: When - creating a new array type on the fly, preserve the alias set of the - operation type. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>: - In the return-by-invisible-reference case, remove conversions before - looking for a dereference in the return values and building the test - protecting against a useless copy operation. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Set - TYPE_TYPELESS_STORAGE on the array types if Universal_Aliasing is - set on the type or its component type. - <E_Array_Subtype>: Likewise. - For other aggregate types, set TYPE_TYPELESS_STORAGE in this case. - (set_typeless_storage_on_aggregate_type): New function. - (set_universal_aliasing_on_type): Likewise. - * gcc-interface/trans.cc (Call_to_gnu): Add const to local variable. - Adjust comment. Pass GNAT_NAME in the call to addressable_p and add - a bypass for atomic types in case it returns false. - (addressable_p): Add GNAT_EXPR third parameter with default value - and add a default value to the existing second parameter. - <VIEW_CONVERT_EXPR:>: Return false if the expression comes from a - function call and if the alias sets of source and target types are - both distinct from zero and each other. - -2024-05-21 Ronan Desplanques <desplanques@adacore.com> - - * gcc-interface/utils2.cc (build_cond_expr): Also apply an - indirection when the result type is variable-sized. - -2024-05-21 Marc Poulhiès <poulhies@adacore.com> - - * gcc-interface/decl.cc: Fix typo in comment. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Add an - assertion that this is not a deallocation of the return or secondary - stack and remove subsequent unreachable code. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.cc (build_cond_expr): Use the indirect path - for all types containing a placeholder. - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * gcc-interface/Make-lang.in (GNATBIND_OBJS): Remove unused - dependencies. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Give a - warning for a statically allocated object whose size is constant, - valid but too large. - (allocatable_size_p): In the static case, return false for a size - that is constant, valid but too large. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: For an - array allocated with its bounds, make sure to have an array type - to build the template. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/trans.cc (access_attribute_p): New predicate. - (lvalue_required_for_attribute_p): Return again 1 for Size and add - the missing terminating call to gcc_unreachable. - (gnat_to_gnu): Return the result unmodified for a reference to an - unconstrained array only if it is the prefix of an access attribute. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils.cc (relate_alias_sets): Restore previous code - when the type uses structural equality. - -2024-05-21 Steve Baird <baird@adacore.com> - - * exp_util.adb (Remove_Side_Effects): Make_Reference assumes that - the referenced object satisfies the constraints of the designated - subtype of the access type. Ensure that this assumption holds by - introducing a qualified expression if needed (and then ensuring - that checking associated with evaluation of the qualified - expression is not suppressed). - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * aspects.ads (Nonoverridable_Aspect_Id): Fix layout. - -2024-05-21 Ronan Desplanques <desplanques@adacore.com> - - * frontend.adb (Frontend): Remove duplicate statement. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch13.adb (Validate_Unchecked_Conversion): Restrict forcing the - Can_Use_Internal_Rep flag to platforms that require unnesting. - -2024-05-21 Viljar Indus <indus@adacore.com> - - * sem_elab.adb: Add missing elaboration insertion - characters to info messages. - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Add_Scope_To_Clean): Use Append_Unique_Elmt. - (Analyze_Inlined_Bodies): Refine type of a local counter; - remove extra whitespace. - -2024-05-21 Ronan Desplanques <desplanques@adacore.com> - - * libgnarl/s-taenca.adb (Wait_For_Completion): Remove call to - Yield. - * libgnarl/s-tasren.adb (Timed_Selective_Wait, Wait_For_Call): - Remove calls to Yield. - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_of_ada_2012_features.rst: - Fix formatting. - * gnat_rm.texi: Regenerate. - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_of_ada_2012_features.rst: - Order list by AI number. - * gnat_rm.texi: Regenerate. - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_of_ada_2012_features.rst - (AI-0216): Fix index reference. - * gnat_rm.texi: Regenerate. - -2024-05-21 Viljar Indus <indus@adacore.com> - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Update the documentation of -gnatw.n and -gnatw.l - * gnat_ugn.texi: Regenerate. - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst - (No_Tagged_Streams): Document how to avoid exposing entity names - for the entire partition. - * exp_disp.adb (Make_DT): Make use of restriction No_Streams. - * exp_put_image.adb (Build_Record_Put_Image_Procedure): Respect - Discard_Names in the generated Put_Image procedure. - * gnat_rm.texi: Regenerate. - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * exp_put_image.adb (Build_Record_Put_Image_Procedure): Remove - useless conversions. - -2024-05-21 Piotr Trojanek <trojanek@adacore.com> - - * exp_put_image.adb (Build_Record_Put_Image_Procedure): Remove - trailing NUL from the fully qualified type name. - -2024-05-21 Eric Botcazou <ebotcazou@adacore.com> - - * err_vars.ads (Error_Msg_Sloc): Initialize to No_Location. - -2024-05-21 Justin Squirek <squirek@adacore.com> - - * doc/gnat_ugn/platform_specific_information.rst: Add note about - different priority level granularities under different policies in - Windows and move POSIX related info into new section. - * libgnarl/s-taprop.ads: Add note about Task_Dispatching_Policy. - * libgnarl/s-taprop__mingw.adb: - (Set_Priority): Add use of Non_FIFO_Underlying_Priorities. - * libgnat/system-mingw.ads: Add documentation for modifying - priority mappings and add alternative mapping - Non_FIFO_Underlying_Priorities. - * gnat_ugn.texi: Regenerate. - -2024-05-20 Bob Duff <duff@adacore.com> - - * sem_ch12.adb: Misc cleanups and comment fixes. - (Check_Overloaded_Formal_Subprogram): Remove the Others_Choice - error message. - (Others_Choice): Remove this variable; no longer needed. - * types.ads (Text_Ptr): Add a range constraint limiting the - subtype to values that are actually used. This has the advantage - that when the compiler is compiled with validity checks, - uninitialized values of subtypes Text_Ptr and Source_Ptr will be - caught. - * sinput.ads (Sloc_Adjust): Use the base subtype; this is used as - an offset, so we need to allow arbitrary negative values. - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.ads (Preload_Finalization_Collection): Delete. - * exp_ch7.adb (Allows_Finalization_Collection): Revert change. - (Preload_Finalization_Collection): Delete. - * opt.ads (Interface_Seen): Likewise. - * scng.adb (Scan): Revert latest change. - * sem_ch10.adb: Remove clause for Exp_Ch7. - (Analyze_Compilation_Unit): Revert latest change. - * libgnat/i-c.ads: Use a fully qualified name for the standard "+" - operator in the preconditons/postconditions of subprograms. - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Expand_Record_Aggregate.Component_OK_For_Backend): - Also return False for a delayed conditional expression. - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.ads (Check_Compile_Time_Size): Remove obsolete description - of usage for the Size_Known_At_Compile_Time flag. - * freeze.adb (Check_Compile_Time_Size.Size_Known): In the case where - a variant part is present, do not return False if Esize is known. - * sem_util.adb (Needs_Secondary_Stack.Caller_Known_Size_Record): Add - missing "Start of processing" comment. Return true if either a size - clause or an object size clause has been given for the first subtype - of the type. - -2024-05-20 Bob Duff <duff@adacore.com> - - * sinfo.ads: Misc comment corrections and clarifications. - The syntax for GENERIC_ASSOCIATION and FORMAL_PACKAGE_ACTUAL_PART - was wrong. - Emphasize that "others => <>" is not represented as an - N_Generic_Association (with or without Box_Present set), - and give examples illustrating the various possibilities. - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * einfo-utils.ads (Is_Base_Type): Move to Miscellaneous Subprograms - section and add description. - * fe.h (Is_Base_Type): Declare. - -2024-05-20 Gary Dismukes <dismukes@adacore.com> - - * sem_aggr.adb (Resolve_Aggregate): Move condition and call for - Resolve_Record_Aggregate in front of code related to calling - Resolve_Container_Aggregate (and add test that the aggregate is - not homogeneous), and remove special-case testing and call to - Resolve_Container_Aggregate for empty aggregates. Also, add error - check for an attempt to use "[]" for an aggregate of a record type - that does not specify an Aggregate aspect. - (Resolve_Record_Aggregate): Remove error check for record - aggregates with "[]" (now done by Resolve_Aggregate). - -2024-05-20 Gary Dismukes <dismukes@adacore.com> - - * sem_aggr.adb (Resolve_Aggregate): Move condition and call for - Resolve_Record_Aggregate in front of code related to calling - Resolve_Container_Aggregate (and add test that the aggregate - is not homogeneous), and remove special-case testing and call - to Resolve_Container_Aggregate for empty aggregates. - -2024-05-20 Justin Squirek <squirek@adacore.com> - - * accessibility.adb (Accessibility_Level): Add cases for 'First - and 'Last. - -2024-05-20 Justin Squirek <squirek@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Remove restriction on 'Super - for abstract types. - -2024-05-20 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.ads (Attribute_Impl_Def): Fix list of - implementation-defined attributes. - -2024-05-20 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Attribute_12): Add attributes Old, - Overlaps_Storage and Result. - -2024-05-20 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Move IF statement that - checks restriction No_Implementation_Attributes for Ada 2005, - 2012 and Ada 2022 attributes inside Comes_From_Source condition - that checks the same restriction for Ada 83 attributes. - -2024-05-20 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Attribute): Remove condition that is - already checked by an enclosing IF statement. - -2024-05-20 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.ads (Universal_Type_Attribute): Simplify using - array aggregate syntax with discrete choice list. - -2024-05-20 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.ads (Attribute_Impl_Def): Fix style in comment. - -2024-05-20 Ronan Desplanques <desplanques@adacore.com> - - * libgnarl/s-taprop__linux.adb (Enter_Task): Move setting - of thread ID out of Enter_Task. - (Initialize): Set thread ID for the environment task. - (Create_Task): Remove now unnecessary Unrestricted_Access - attribute and add justification for a memory write. - * libgnarl/s-taprop__posix.adb: Likewise. - * libgnarl/s-taprop__qnx.adb: Likewise. - * libgnarl/s-taprop__rtems.adb: Likewise. - * libgnarl/s-taprop__solaris.adb: Likewise. - * libgnarl/s-taspri__posix.ads: Remove pragma Atomic for - Private_Data.Thread, and update documentation comment. - * libgnarl/s-taspri__lynxos.ads: Likewise. - * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. - * libgnarl/s-taspri__solaris.ads: Likewise. - * libgnarl/s-tporft.adb (Register_Foreign_Thread): Adapt to - Enter_Task not setting the thread ID anymore. - * libgnarl/s-tassta.adb (Task_Wrapper): Update comment. - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.ads (Is_Delayed_Conditional_Expression): New predicate. - * exp_aggr.adb (Convert_To_Assignments.Known_Size): Likewise. - (Convert_To_Assignments): Climb the parent chain, looking through - qualified expressions and dependent expressions of conditional - expressions, to find out whether the expansion may be delayed. - Call Known_Size for this in the case of an object declaration. - If so, set Expansion_Delayed on the aggregate as well as all the - intermediate conditional expressions. - (Initialize_Component): Reset the Analyzed flag on an initialization - expression that is a conditional expression whose expansion has been - delayed. - (Is_Delayed_Conditional_Expression): New predicate. - * exp_ch3.adb (Expand_N_Object_Declaration): Handle initialization - expressions that are conditional expressions whose expansion has - been delayed. - * exp_ch4.adb (Build_Explicit_Assignment): New procedure. - (Expand_Allocator_Expression): Handle initialization expressions - that are conditional expressions whose expansion has been delayed. - (Expand_N_Case_Expression): Deal with expressions whose expansion - has been delayed by waiting for the rewriting of their parent as - an assignment statement and then optimizing the assignment. - (Expand_N_If_Expression): Likewise. - (Expand_N_Qualified_Expression): Do not apply a predicate check to - an operand that is a delayed aggregate or conditional expression. - * gen_il-gen-gen_nodes.adb (N_If_Expression): Add Expansion_Delayed - semantic flag. - (N_Case_Expression): Likewise. - * sinfo.ads (Expansion_Delayed): Document extended usage. - -2024-05-20 Gary Dismukes <dismukes@adacore.com> - - * exp_aggr.adb (Expand_Container_Aggregate): Add top-level - variables Choice_{Lo|Hi} and Int_Choice_{Lo|Hi} used for - determining the low and high bounds of component association - choices. Replace code for determining whether we have an indexed - aggregate with call to new function Sem_Aggr.Is_Indexed_Aggregate. - Remove test of whether Empty_Subp is a function, since it must be - a function. Move Default and Count_Type to be locals of a new - block enclosing the code that creates the object to hold the - aggregate length, and set them according to the default and type - of the Empty function's parameter when present (and to Empty and - Standard_Natural otherwise). Use Siz_Exp for the aggregate length - when set, and use Empty's default length when available, and use - zero for the length otherwise. In generating the call to the - New_Indexed function, use the determined lower and upper bounds if - determined earlier by Aggregate_Size, and otherwise compute those - from the index type's lower bound and the determined aggregate - length. In the case where a call to Empty is generated and the - function has a formal parameter, pass the value saved in Siz_Decl - (otherwise the parameter list is empty). Remove code specific to - making a parameterless call to the Empty function. Extend the code - for handling positional container aggregates to account for types - that define Assign_Indexed, rather than just Add_Unnamed, and in - the case of indexed aggregates, create a temporary object to hold - values of the aggregate's key index, and initialize and increment - that temporary for each call generated to the Assign_Indexed - procedure. For named container aggregates that have key choices - given by ranges, call Expand_Range_Component to generate a loop - that will call the appropriate insertion procedure for each value - of the range. For indexed aggregates with a Component_Associations - list, set and use the Assign_Indexed procedure for each component - association, whether or not there's an iterator specification. - (Add_Range_Size): Add code to determine the low and high bounds of - the range and capture those in up-level variables when their value - is less than or greater than (respectively) the current minimum - and maximum bounds values. - (Aggregate_Size): Separately handle the case where a single choice - is of a discrete type, and call Add_Range_Size to take its value - into consideration for determination of min and max bounds of the - aggregate. Add comments in a couple of places. - (Build_Siz_Exp): Remove the last sentence and "???" from the - comment that talks about accumulating nonstatic sizes, since that - sentence seems to be obsolete. Record the low and high bound - values in Choice_Lo and Choice_Hi in the case of a nonstatic - range. - (Expand_Iterated_Component): Set the Defining_Identifier of the - iterator specification to the Loop_Id in the - N_Iterated_Component_Association case. - (Expand_Range_Component): Procedure unnested from the block - handling indexed aggregates in Expand_Container_Aggregate, and - moved to top level of that procedure so it can also be called for - Add_Named cases. A formal parameter Insert_Op is added, and - existing calls to this procedure are changed to pass the - appropriate insertion procedure's Entity. - * sem_aggr.ads: Add with_clause for Sinfo.Nodes. - (Is_Indexed_Aggregate): New function for use by - Resolve_Container_Aggregate and Expand_Container_Aggregate. - * sem_aggr.adb: Add with_clause for Sem_Ch5. Move with_clause for - Sinfo.Nodes to sem_aggr.ads. - (Is_Indexed_Aggregate): New function to determine whether a - container aggregate is a container aggregate (replacing local - variable of the same name in Resolve_Container_Aggregate). - (Resolve_Iterated_Association): Remove part of comment saying that - a Key_Expression is always present. Set Parent field of the copy - of a component association with a loop parameter specification. On - the setting of Loop_Param_Id, account for a - Loop_Parameter_Specification being changed into an - Iterator_Specification as a result of being analyzed. Only call - Preanalyze_And_Resolve on Key_Expr when a key expression is - actually present. Remove loop for handling choices for the case of - an N_Component_Association with a Defining_Identifier (there - shouldn't be more than one choice in this case, and add an - assertion to ensure that). Also add code here to handle the case - where the choice is a function call, creating an - iterator_specification analyzing it, and call - Resolve_Iterated_Association recursively to process it. Add error - check to enforce RM22 4.3.5(27), which requires that the type of - the loop parameter must be the same as the key type when there is - no key expression and the aggregate is an indexed aggregate or has - an Add_Named op. - (Resolve_Container_Aggregate): In the Add_Unnamed case, call - Resolve_Iterated_Association for both - N_Iterated_Element_Association and N_Component_Association (rather - than just the latter). Remove error check for nonstatic choices in - component associations in Add_Named cases (multiple named - nonstatic associations are fine except in indexed aggregates). - Remove local variable Is_Indexed_Aggregate, replaced with new - library-level function of the same name, and add test of - Is_Indexed_Aggregate in the case where the aggregate type has an - Assign_Indexed operation, as a guard for doing error checks for - indexed aggregates. For indexed aggregate resolution, do not call - Analyze_And_Resolve on the expression of an - N_Component_Association in the "box association" case. Move error - checks for indexed aggregates with iterated associations that flag - cases where an association is a loop_parameter_specification with - an iterator filter or a key expression (violation of RM22 - 4.3.5(28/5)), from the loop that checks for contiguous and - nonoverlapping choices and into the preceding association loop - after the call to Resolve_Iterated_Association. The RM reference - is added to the error-message strings. - -2024-05-20 Ronan Desplanques <desplanques@adacore.com> - - * libgnarl/s-taprop__linux.adb (Set_Task_Affinity): Fix - decision about whether to call CPU_FREE. - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.ads (Convert_Aggr_In_Allocator): Remove Aggr parameter - and adjust description. - (Convert_Aggr_In_Object_Decl): Adjust description. - * exp_aggr.adb (Convert_Aggr_In_Allocator): Remove Aggr parameter - and add local variable of the same name instead. Adjust call to - Convert_Array_Aggr_In_Allocator. - (Convert_Aggr_In_Object_Decl): Add comment for early return and - remove useless inner block statement. - (Convert_Array_Aggr_In_Allocator): Remove Aggr parameter and add - local variable of the same name instead. - (In_Place_Assign_OK): Move down declarations of local variables. - (Convert_To_Assignments): Put all declarations of local variables - in the same place. Fix typo in comment. Replace T with Full_Typ. - * exp_ch4.adb (Expand_Allocator_Expression): Call Unqualify instead - of Expression on the qualified expression of the allocator for the - sake of consistency. Adjust call to Convert_Aggr_In_Allocator. - -2024-05-20 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Eval_Attribute): Handle enumeration type with - Discard_Names. - -2024-05-20 Piotr Trojanek <trojanek@adacore.com> - - * exp_imgv.adb (Expand_Width_Attribute): Fix for 'Width that - is computed at run time. - * sem_attr.adb (Eval_Attribute): Fix for 'Width that is computed - at compilation time. - -2024-05-20 Sebastian Poeplau <poeplau@adacore.com> - - * libgnat/s-pooglo.adb (Allocate): Use arithmetic on - System.Address to compute the aligned address. - -2024-05-20 Steve Baird <baird@adacore.com> - - * freeze.adb (Adjust_Esize_For_Alignment): Assert that a valid - Alignment specification cannot result in adjusting the given - type's Esize to be larger than System_Max_Integer_Size. - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In analyzing - an Alignment specification, enforce the rule that a specified - Alignment value for a discrete or fixed-point type shall not be - larger than System_Max_Integer_Size / 8 . - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/g-sothco.ads (In_Addr): Add aspect Universal_Aliasing. - -2024-05-20 Jose Ruiz <ruiz@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Exclude detection of duplicates - because they are detected elsewhere. - -2024-05-20 Jose Ruiz <ruiz@adacore.com> - - * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Clarify - comments. - * sem_prag.adb (Analyze_Pragma): Check for duplicates - Max_Entry_Queue_Length, Max_Entry_Queue_Depth and Max_Queue_Length - for the same protected entry. - * sem_util.adb (Get_Max_Queue_Length): Take into account all three - representation aspects that can be used to set this restriction. - (Has_Max_Queue_Length): Likewise. - * doc/gnat_rm/implementation_defined_pragmas.rst: - (pragma Max_Queue_Length): Fix pragma in example. - * gnat_rm.texi: Regenerate. - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-finpri.ads (Collection_Node): Move to private part. - (Collection_Node_Ptr): Likewise. - (Header_Alignment): Change to declaration and move completion to - private part. - (Header_Size): Likewise. - (Lock_Type): Delete. - (Finalization_Collection): Move Lock component and remove default - value for Finalization_Started component. - * libgnat/s-finpri.adb (Initialize): Reorder statements. - -2024-05-20 Eric Botcazou <ebotcazou@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst - (Universal_Aliasing): Remove reference to No_Strict_Aliasing. - * doc/gnat_ugn/gnat_and_program_execution.rst - (Optimization and Strict Aliasinng): Simplify first example and - make it more consistent with the second. Add description of the - effects of pragma Universal_Aliasing and document new warning - issued for unchecked conversions. Remove obsolete stuff. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115133 - * libgnarl/s-osinte__solaris.ads (mutex_t): Fix typo. - * libgnarl/s-taprop__solaris.adb (Record_Lock): Add conversion. - (Check_Sleep): Likewise. - (Record_Wakeup): Likewise. - (Check_Unlock): Likewise. - * libgnarl/s-tasini.adb (Initialize_RTS_Lock): Add pragma Import - on the overlaid variable. - (Finalize_RTS_Lock): Likewise. - (Acquire_RTS_Lock): Likewise. - (Release_RTS_Lock): Likewise. - * libgnarl/s-taspri__solaris.ads (To_RTS_Lock_Ptr): New instance - of Ada.Unchecked_Conversion. - * libgnat/s-oslock__solaris.ads: Add with clause for - Ada.Unchecked_Conversion. - (array_type_9): Add missing name qualification. - (record_type_3): Likewise. - (mutex_t): Fix formatting. - -2024-05-17 Viljar Indus <indus@adacore.com> - - * exp_aggr.adb (Expand_Container_Aggregate): - Derive the size for iterable aggregates in the case of - one-dimensional array objects. - -2024-05-17 Ronan Desplanques <desplanques@adacore.com> - - * exp_aggr.adb (Aggr_Size_OK): Remove workaround and extend - comment. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * bindgen.adb (Gen_Adainit): Generate declaration and call to the - imported procedure __gnat_tasking_runtime_initialize if need be. - * libgnat/s-soflin.ads (Locking Soft-Links): Add commentary. - * libgnarl/s-tasini.adb (Tasking_Runtime_Initialize): New procedure - exported as __gnat_tasking_runtime_initialize. Initialize RTS_Lock - manipulation routines here instead of... - (Init_RTS): ...here. - -2024-05-17 Steve Baird <baird@adacore.com> - - * scng.adb (scan): When checking for an unprocessed preprocessor - directive, take into account the preprocessor's rules about case - insensitivity and about white space between the '#' and the - keyword. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * libgnarl/s-taspri__mingw.ads: Add clause for System.OS_Interface. - (Private_Data): Change type of Thread component. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/g-alvevi.ads: Add pragma Universal_Aliasing for all the - view types. - * libgnat/s-stratt.ads: Likewise for Fat_Pointer type. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-oslock$(objext). - (LIBGNAT_TARGET_PAIRS): Use s-oslock__dummy.ads by default. - Set specific s-oslock.ads source file for all the platforms. - * exp_ch7.ads (Preload_Finalization_Collection): New procedure. - * exp_ch7.adb (Allows_Finalization_Collection): Return False if - System.Finalization_Primitives has not been preloaded. - (Preload_Finalization_Collection): New procedure. - * opt.ads (Interface_Seen): New boolean variable. - * s-oscons-tmplt.c: Use "N" string for pragma Style_Checks. - * scng.adb (Scan): Set Interface_Seen upon seeing "interface". - * sem_ch10.adb: Add clause for Exp_Ch7. - (Analyze_Compilation_Unit): Call Preload_Finalization_Collection - after the context of the unit is analyzed. - * libgnarl/a-rttiev.adb: Add with clause for System.OS_Locks and - alphabetize others. - (Event_Queue_Lock): Adjust qualified name of subtype. - * libgnarl/s-osinte__aix.ads: Add with clause for System.OS_Locks - and change pthread_mutex_t into a local subtype. - * libgnarl/s-osinte__android.ads: Likewise. - * libgnarl/s-osinte__darwin.ads: Likewise. - * libgnarl/s-osinte__dragonfly.ads: Likewise. - * libgnarl/s-osinte__freebsd.ads: Likewise. - * libgnarl/s-osinte__gnu.ads: Likewise. - * libgnarl/s-osinte__hpux-dce.ads: Likewise. - * libgnarl/s-osinte__hpux.ads: Add Likewise. - * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. - * libgnarl/s-osinte__linux.ads: Likewise. - * libgnarl/s-osinte__lynxos178e.ads: Likewise. - * libgnarl/s-osinte__qnx.ads: Likewise. - * libgnarl/s-osinte__rtems.ads: Likewise. - * libgnarl/s-osinte__mingw.ads: Add with clause for System.OS_Locks - and change CRITICAL_SECTION into a local subtype. Add declarations - for imported procedures dealing with CRITICAL_SECTION. - * libgnarl/s-osinte__solaris.ads: Add with clause for System.OS_Locks - and change mutex_t into a local subtype. - * libgnarl/s-osinte__vxworks.ads: Add missing blank line. - * libgnarl/s-taprop.ads: Alphabetize clauses and package renamings. - Use qualified name for RTS_Lock throughout. - * libgnarl/s-taprop__dummy.adb: Add use clause for System.OS_Locks - and alphabetize others. - * libgnarl/s-taprop__hpux-dce.adb: Likewise. - * libgnarl/s-taprop__linux.adb: Likewise. - * libgnarl/s-taprop__posix.adb: Likewise. - * libgnarl/s-taprop__qnx.adb: Likewise. - * libgnarl/s-taprop__rtems.adb: Likewise. - * libgnarl/s-taprop__solaris.adb: Likewise. - * libgnarl/s-taprop__vxworks.adb: Likewise. - * libgnarl/s-taprop__mingw.adb: Likewise. Remove declarations for - imported procedures dealing with CRITICAL_SECTION. - * libgnarl/s-tarest.adb: Add with clause for System.OS_Locks and - alphabetize others. - (Global_Task_Lock): Adjust qualified name of subtype. - * libgnarl/s-tasini.adb: Add clause for System.OS_Locks. - (Initialize_RTS_Lock): New procedure. - (Finalize_RTS_Lock): Likewise. - (Acquire_RTS_Lock): Likewise. - (Release_RTS_Lock): Likewise. - (Init_RTS): Add compile-time assertions for RTS_Lock types. - Set the soft links for the RTS lock manipulation routines. - * libgnarl/s-taspri__dummy.ads: Add with clause for System.OS_Locks. - (RTS_Lock): Delete and adjust throughout accordingly. - * libgnarl/s-taspri__hpux-dce.ads: Likewise. - * libgnarl/s-taspri__lynxos.ads: Likewise. - * libgnarl/s-taspri__mingw.ads: Likewise. - * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. - * libgnarl/s-taspri__posix.ads: Likewise. - * libgnarl/s-taspri__solaris.ads: Likewise. - * libgnarl/s-taspri__vxworks.ads: Likewise. - * libgnat/s-finpri.ads: Add clause for System.OS_Locks. - (Finalization_Collection): Change type of Lock. - * libgnat/s-finpri.adb (Initialize): Call Initialize_RTS_Lock. - (Lock_Collection): Call Acquire_RTS_Lock. - (Unlock_Collection): Call Release_RTS_Lock. - * libgnat/s-oslock__dummy.ads: New file. - * libgnat/s-oslock__hpux-dce.ads: Likewise. - * libgnat/s-oslock__mingw.ads: Likewise. - * libgnat/s-oslock__posix.ads: Likewise. - * libgnat/s-oslock__solaris.ads: Likewise. - * libgnat/s-oslock__vxworks.ads: Likewise. - * libgnat/s-soflin.ads (Null_Set_Address): New null procedure. - (Initialize_RTS_Lock): New soft link. - (Finalize_RTS_Lock): Likewise. - (Acquire_RTS_Lock): Likewise. - (Release_RTS_Lock): Likewise. - * exp_ch4.adb (Expand_N_Allocator): In the subtype indication case, - call Apply_Predicate_Check on the resulting access value if need be. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Materialize_Entity): Document secondary usage. - -2024-05-17 Steve Baird <baird@adacore.com> - - * local_restrict.adb (Active_Restriction): When traversing scopes, - do not skip over a subprogram body. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * libgnarl/s-taprop__dummy.adb (Initialize_Lock): Fix formatting. - * libgnarl/s-taprop__linux.adb (RTS_Lock_Ptr): Delete. - (Init_Mutex): Rename into... - (Initialize_Lock): ...this. - (Initialize_Lock [Lock]): Call above procedure. - (Initialize_Lock [RTS_Lock]): Likewise. - (Initialize_TCB): Likewise. - * libgnarl/s-taprop__posix.adb (Initialize_Lock): New procedure - factored out from the other two homonyms. - (Initialize_Lock [Lock]): Call above procedure. - (Initialize_Lock [RTS_Lock]): Likewise. - * libgnarl/s-taprop__qnx.adb (RTS_Lock_Ptr): Delete. - (Init_Mutex): Rename into... - (Initialize_Lock): ...this. - (Initialize_Lock [Lock]): Call above procedure. - (Initialize_Lock [RTS_Lock]): Likewise. - (Initialize_TCB): Likewise. - * libgnarl/s-taprop__rtems.adb (Initialize_Lock): New procedure - factored out from the other two homonyms. - (Initialize_Lock [Lock]): Call above procedure. - (Initialize_Lock [RTS_Lock]): Likewise. - -2024-05-17 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Is_Known_On_Entry): Handle constants introduced - by validity checks. - -2024-05-17 Steve Baird <baird@adacore.com> - - * libgnat/a-direct.adb (Start_Search_Internal): Do not call - Modification_Time for a special file; declare a Calendar.Time - constant No_Time and use that instead. - -2024-05-17 Steve Baird <baird@adacore.com> - - * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Add - Has_Predicates test for a scalar component to match what is - already done for other kinds of components. - -2024-05-17 Ronan Desplanques <desplanques@adacore.com> - - * sem_aggr.adb (Resolve_Array_Aggregate): Improve comments - and condition. - -2024-05-17 Ronan Desplanques <desplanques@adacore.com> - - * sem_aggr.adb (Resolve_Array_Aggregate): Fix location of error - message. - -2024-05-17 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Move to - Sem_Util, so it can be used from GNATprove. - * sem_util.ads (Is_Unconstrained_Or_Tagged_Item): Move from - Sem_Prag; spec. - * sem_util.adb (Is_Unconstrained_Or_Tagged_Item): Move from - Sem_Prag; body. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * exp_pakd.adb (Create_Packed_Array_Impl_Type): For non-bit-packed - array types, propagate the aliased property of the component. - (Install_PAT): Set fields on the implicit base type of an array. - * libgnat/a-stream.ads (private part): Add pragma Universal_Aliasing - for Stream_Element. - * libgnat/g-alleve.ads: Add pragma Universal_Aliasing for all the - vector types. - * libgnat/g-alleve__hard.ads: Likewise. - -2024-05-17 Bob Duff <duff@adacore.com> - - * bcheck.adb (Check_Consistency_Of_Sdep): Split out new procedure. - Add check for special case of subprogram spec that no longer - exists. - (Check_Consistency): Call Check_Consistency_Of_Sdep, except when - Reified_Child_Spec is True. No need for "goto Continue" or "exit - Sdep_Loop". - * ali.ads (Subunit_Name, Unit_Name): Change the type to - Unit_Name_Type. Add a comment pointing to the ALI file - documentation, because it's in a somewhat-surprising place. - * ali.adb (Scan_ALI): Subunit_Name and Unit_Name are now - Unit_Name_Type. Remove comment explaining why Name_Find is used; - Name_Find is the usual case. Do not remove the "%s" or "%b" from - the Unit_Name. We need to be able to distinguish specs and bodies. - This is also necessary to obey the invariant of Unit_Name_Type. - * binde.adb (Write_Closure): Subunit_Name is now Unit_Name_Type. - * clean.adb (Clean_Executables): Likewise. - -2024-05-17 Ronan Desplanques <desplanques@adacore.com> - - * sem_aggr.adb (Resolve_Null_Array_Aggregate): Update - documentation comments. - -2024-05-17 Steve Baird <baird@adacore.com> - - * sem_util.adb (Has_Some_Controlled_Component): Fix a bug which - causes (in some cases involving a Disable_Controlled aspect - specification) Needs_Finalization to return different answers for - one type depending on whether the function is called before or - after the type is frozen. - * libgnat/a-coorse.ads: Type Control_Reference_Type gets an Adjust - procedure. - * libgnat/a-cborse.ads: Likewise. - * libgnat/a-ciorse.ads: Likewise - * libgnat/a-coorse.adb: - (Finalize): Reclaim allocated Key_Type object. - (Adjust): New procedure; prevent sharing of non-null Key_Access - values by allocating a copy. - * libgnat/a-cborse.adb: Likewise. - * libgnat/a-ciorse.adb: Likewise. - -2024-05-17 Bob Duff <duff@adacore.com> - - * uname.adb (Get_Unit_Name_String): Move Asserts after - Buf is initialized. - -2024-05-17 Bob Duff <duff@adacore.com> - - * ali-util.adb (Read_Withed_ALIs): Minor reformatting. - * bindo-units.adb (Corresponding_Body): Add assert. - (Corresponding_Spec): Likewise. - * uname.adb: Clean up assertions, use available functions. - Get_Spec_Name/Get_Body_Name can assert that N obeys the - conventions for Unit_Name_Type (end in "%s" or "%b"). - -2024-05-17 Sebastian Poeplau <poeplau@adacore.com> - - * raise-gcc.c: Work around __builtin_code_address_from_pointer - if it is unavailable. - -2024-05-17 Marc Poulhiès <poulhies@adacore.com> - - * exp_aggr.adb (Build_Array_Aggr_Code) <Gen_Loop>: Copy the - initialization expression when unrolling the loop. - -2024-05-17 Bob Duff <duff@adacore.com> - - * sem_disp.adb (Check_Dispatching_Operation): Call - Create_Extra_Formals, so that the caller will have an extra - "constrained" parameter, which will be checked on assignment in - the callee, and will be passed in by the caller. - -2024-05-17 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Remove call - to Has_Discriminants; combine ELSIF branches. - -2024-05-17 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch7.adb (New_Private_Type): Simplify setting of - Is_Constrained flag. - * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Simplify - detection of private types with no discriminant. - -2024-05-17 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Allow objects - of private types with unknown discriminants. - -2024-05-17 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Tune repeated - testing of type kinds. - -2024-05-17 Marc Poulhiès <poulhies@adacore.com> - - * doc/gnat_rm/implementation_defined_attributes.rst: Fix - copy/paste. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-05-17 Viljar Indus <indus@adacore.com> - - * sem_ch3.adb (Analyze_Component_Declaration): - Apply range checks only for Scalar_Types to - ensure that they have the Scalar_Range attribute. - -2024-05-17 Viljar Indus <indus@adacore.com> - - * sem_ch3.adb (Analyze_Component_Declaration): - Add Range_Checks for Subtype_Indications - -2024-05-17 Ronan Desplanques <desplanques@adacore.com> - - * exp_ch4.adb (Expand_N_Case_Expression): Remove call to - Relocate_Node. - * sem_attr.adb (Analyze_Attribute): Likewise. - -2024-05-17 Ronan Desplanques <desplanques@adacore.com> - - * exp_aggr.adb (Flatten): Small cleanup. - -2024-05-17 Eric Botcazou <ebotcazou@adacore.com> - - * sem_attr.adb (Analyze_Attribute) <Attribute_Size>: Remove special - processing for pragma Compile_Time_{Warning,Error}. - (Eval_Attribute.Compile_Time_Known_Attribute): Set Is_Static on the - resulting value if In_Compile_Time_Warning_Or_Error is set. - (Eval_Attribute.Full_Type): New helper function. - (Eval_Attribute): Call Full_Type for type attributes. Add handling - of Object_Size and adjust that of Max_Size_In_Storage_Elements in - the non-static case. - -2024-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Attach_Object_To_Master_Node): Remove reference to a - transient object in comment. - -2024-05-16 Marc Poulhiès <poulhies@adacore.com> - - * exp_ch7.adb (Reset_Scopes_To_Block_Elab_Proc): also reset scope - for object declarations. - -2024-05-16 Steve Baird <baird@adacore.com> - - * checks.adb (Expr_Known_Valid): Return True for a static expression. - * exp_util.adb (Adjust_Condition): No validity check needed for a - condition if it is an expression for which a validity check has - already been generated. - -2024-05-16 Gary Dismukes <dismukes@adacore.com> - - * libgnat/a-coinve.ads (type Vector): In the Aggregate aspect for - this type, the Empty operation is changed to denote the Empty - function, rather than the Empty_Vector constant. - * exp_aggr.adb (Expand_Container_Aggregate): Remove code for - handling the case where the Empty_Subp denotes a constant object, - which should never happen (and add an assertion that Empty_Subp - must denote a function). - * sem_ch13.adb (Valid_Empty): No longer allow the entity to be an - E_Constant, and require the (optional) parameter of an Empty - function to be of a signed integer type (rather than any integer - type). - -2024-05-16 Justin Squirek <squirek@adacore.com> - - * doc/gnat_rm/implementation_defined_attributes.rst: Add entry for - Super attribute. - * accessibility.adb (Accessibility_Level): Add handling for Super. - * exp_attr.adb (Expand_N_Attribute_Reference): Add entry for - Super. - * sem_attr.adb (Analyze_Attribute): Create a case to handle the - semantic checking and expansion for Super. - (Eval_Attribute): Add entry for Super. - * sem_attr.ads: Add entry for Super. - * sem_util.adb (Is_Aliased_View, Is_Variable): Add case to handle - references to 'Super. - * snames.ads-tmpl: Register Name_Super and Attribute_Super. - * gnat_rm.texi: Regenerate. - -2024-05-16 Ronan Desplanques <desplanques@adacore.com> - - * sem_util.ads (Check_Function_Writable_Actuals): Fix comment. - -2024-05-16 Ronan Desplanques <desplanques@adacore.com> - - * sem_res.adb (Resolve_Case_Expression): Add length check - insertion. - * exp_ch4.adb (Expand_N_Case_Expression): Add handling of nodes - known to raise Constraint_Error. - -2024-05-16 Sebastian Poeplau <poeplau@adacore.com> - - * adaint.c: New defines for STANDALONE mode. - -2024-05-16 Viljar Indus <indus@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): - If the spec is not present for a subprogram body then - check if the body definiton was created for a protected - procedure. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * exp_cg.adb (Generate_CG_Output): Remove code for ignored ghost - entities that applied to subprogram calls. - (Register_CG_Node): Skip ignored ghost entities, both calls - and tagged types, when they are registered. - -2024-05-16 Ronan Desplanques <desplanques@adacore.com> - - * checks.adb (Apply_Selected_Length_Checks): Fix reason code. - -2024-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-finpri.adb (Raise_From_Controlled_Operation): New - declaration of imported procedure moved from... - (Finalize_Master): ...there. - (Finalize): Call Raise_From_Controlled_Operation instead of - Reraise_Occurrence to propagate the exception, if any. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch4.adb (Analyze_If_Expression): Add guard for - if_expression without an ELSE part. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch13.adb (Expand_N_Free_Statement): After analysis, the - new temporary has the type of its Object_Definition and the new - occurrence of this temporary has this type as well; simplify. - * sem_util.adb - (Indirect_Temp_Value): Remove redundant call to Set_Etype; - simplify. - (Is_Access_Type_For_Indirect_Temp): Add missing body header. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Is_Known_On_Entry): Check whether condition and - dependent expressions of an if_expression are known on entry. - -2024-05-16 Ronan Desplanques <desplanques@adacore.com> - - * checks.ads: Fix comments. - * checks.adb: Likewise. - -2024-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-finpri.ads: Add use type clause for Storage_Offset. - (Header_Alignment): Turn into an expression function. - (Header_Size): Likewise. - * libgnat/s-finpri.adb: Remove use type clause for Storage_Offset. - (Header_Alignment): Delete. - (Header_Size): Likewise. - -2024-05-16 Marc Poulhiès <poulhies@adacore.com> - - * exp_ch7.adb (Unnest_Loop::Fixup_Inner_Scopes): detect a new - problematic pattern and fixup the scope accordingly. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * gnat_cuda.adb (Remove_CUDA_Device_Entities): Fix typo. - -2024-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-finpri.ads (Header_Alignment): New function. - (Header_Size): Adjust description. - (Master_Node): Put Finalize_Address as first component. - (Collection_Node): Likewise. - * libgnat/s-finpri.adb (Header_Alignment): New function. - (Header_Size): Return the object size in storage units. - * libgnat/s-stposu.ads (Adjust_Controlled_Dereference): Replace - collection node with header in description. - * libgnat/s-stposu.adb (Adjust_Controlled_Dereference): Likewise. - (Allocate_Any_Controlled): Likewise. Pass the maximum of the - specified alignment and that of the header to the allocator. - (Deallocate_Any_Controlled): Likewise to the deallocator. - -2024-05-16 Viljar Indus <indus@adacore.com> - - * exp_aggr.adb (Two_Pass_Aggregate_Expansion): - Explicitly create new Defining_Iterators for both - of the loops. - -2024-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch6.adb (Check_Private_Overriding): Implement the second part - of RM 3.9.3(10) consistently in both cases. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * erroutc.adb (Set_Msg_Insertion_Reserved_Word): Fix casing for - CUDA appearing in error message strings. - (Set_Msg_Str): Likewise for CUDA being a part of a Name_Id. - -2024-05-16 Ronan Desplanques <desplanques@adacore.com> - - * exp_ch4.adb (Expand_Composite_Equality): Call Error_Msg_N - instead of Error_Msg. - -2024-05-16 Steve Baird <baird@adacore.com> - - * exp_attr.adb (Build_And_Insert_Type_Attr_Subp): Further tweaking - of the point where a compiler-generated Put_Image or streaming - subprogram is to be inserted in the tree. If one such subprogram - calls another (as is often the case with, for example, Put_Image - procedures for composite type and for a component type thereof), - then we want to avoid use-before-definition problems that can - result from inserting the caller ahead of the callee. - -2024-05-16 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-finpri.ads (Lock_Type): New modular type. - (Collection_Node): Add Enclosing_Collection component. - (Finalization_Collection): Add Lock component. - * libgnat/s-finpri.adb: Add clauses for System.Atomic_Primitives. - (Attach_Object_To_Collection): Lock and unlock the collection. - Save a pointer to the enclosing collection in the node. - (Detach_Object_From_Collection): Lock and unlock the collection. - (Finalize): Likewise. - (Initialize): Initialize the lock. - (Lock_Collection): New procedure. - (Unlock_Collection): Likewise. - -2024-05-16 Steve Baird <baird@adacore.com> - - * sem_attr.adb (Eval_Attribute): Expand existing checks for - generic formal types for which Is_Generic_Type returns False. In - that case, mark the attribute reference as nonstatic. - -2024-05-16 Steve Baird <baird@adacore.com> - - * sem_util.adb (Copy_Node_With_Replacement): Add call to - Copy_Dimensions so that any dimension information associated with - the copied node is also associated with the resulting copy. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * gen_il-gen-gen_nodes.adb (N_Procedure_Specification): Remove - Aspect_Specifications field. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Analyze_Aspect_Specification): Consistently - reuse existing constant where possible. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch13.adb (Analyze_Aspect_Specification): Consistently - reuse existing constant where possible. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * aspects.ads (Aspect_Id): Fix ordering. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Move case alternative to match - to alphabetic order. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * gnat_cuda.adb (Remove_CUDA_Device_Entities): Fix casing - (this primarily fixes a style, because the capitalization will - not be preserved by the error-reporting machinery anyway). - * sem_ch13.adb (Analyze_User_Aspect_Aspect_Specification): Fix - casing in error message. - -2024-05-16 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_pragmas.rst: Fix - documentation. - * sem_prag.adb: Fix comments. - * gnat_rm.texi: Regenerate. - -2024-05-14 Piotr Trojanek <trojanek@adacore.com> - - * aspects.ads (Aspect_Id, Boolean_Aspect): Change categorization - of Boolean-valued SPARK aspects. - * sem_ch13.adb (Analyze_Aspect_Specification): Adapt CASE - statements to new classification of Boolean-valued SPARK - aspects. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * sem_ch13.adb (Validate_Unchecked_Conversions): Add node - parameters to Error_Msg calls. - -2024-05-14 Marc Poulhiès <poulhies@adacore.com> - - * sem_util.adb: Typo fix in comment. - * exp_aggr.adb: Likewise. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Finalization Management): Add a short description of - the implementation of finalization chains. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_Allocator_Expression): Move the first call to - Build_Allocate_Deallocate_Proc up to before the accessibility check. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * errout.adb (Validate_Specific_Warnings): Adapt to record - definition change. - * erroutc.adb (Set_Specific_Warning_On, Set_Specific_Warning_Off, - Warning_Specifically_Suppressed): Likewise. - * erroutc.ads: Change record definition. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Build_Default_Initialization): Do not generate the - protection for finalization collections. - (Build_Heap_Or_Pool_Allocator): Set the No_Initialization flag on - the declaration of the temporary. - * exp_ch4.adb (Build_Aggregate_In_Place): Do not build an allocation - procedure here. - (Expand_Allocator_Expression): Build an allocation procedure, if it - is required, only just before rewriting the allocator. - (Expand_N_Allocator): Do not build an allocation procedure if the - No_Initialization flag is set on the allocator, except for those - generated for special return objects. In other cases, build an - allocation procedure, if it is required, only before rewriting - the allocator. - * exp_ch7.ads (Make_Address_For_Finalize): New function declaration. - * exp_ch7.adb (Finalization Management): Update description for - dynamically allocated objects. - (Make_Address_For_Finalize): Remove declaration. - (Find_Last_Init): Change to function and move to... - (Process_Object_Declaration): Adjust to above change. - * exp_util.ads (Build_Allocate_Deallocate_Proc): Add Mark parameter - with Empty default and document it. - (Find_Last_Init): New function declaration. - * exp_util.adb (Build_Allocate_Deallocate_Proc): Add Mark parameter - with Empty default and pass it in recursive call. Deal with type - conversions created for interface types. Adjust call sequence to - Allocate_Any_Controlled by changing Collection to In/Out parameter - and removing Finalize_Address parameter. For a controlled object, - generate a conditional call to Attach_Object_To_Collection for an - allocation and to Detach_Object_From_Collection for a deallocation. - (Find_Last_Init): ...here. Compute the initialization type for an - allocator whose designating type is class wide specifically and also - handle concurrent types. - * rtsfind.ads (RE_Id): Add RE_Attach_Object_To_Collection and - RE_Detach_Object_From_Collection. - (RE_Unit_Table): Add entries for RE_Attach_Object_To_Collection and - RE_Detach_Object_From_Collection. - * libgnat/s-finpri.ads (Finalization_Started): Delete. - (Attach_Node_To_Collection): Likewise. - (Detach_Node_From_Collection): Move to... - (Attach_Object_To_Collection): New procedure declaration. - (Detach_Object_From_Collection): Likewise. - (Finalization_Collection): Remove Atomic for Finalization_Started. - Add pragma Inline for Initialize. - * libgnat/s-finpri.adb: Add clause for Ada.Unchecked_Conversion. - (To_Collection_Node_Ptr): New instance of Ada.Unchecked_Conversion. - (Detach_Node_From_Collection): ...here. - (Attach_Object_To_Collection): New procedure. - (Detach_Object_From_Collection): Likewise. - (Finalization_Started): Delete. - (Finalize): Replace allocation with attachment in comments. - * libgnat/s-stposu.ads (Allocate_Any_Controlled): Rename parameter - Context_Subpool into Named_Subpool, parameter Context_Collection - into Collection and change it to In/Out, and remove Fin_Address. - * libgnat/s-stposu.adb: Remove clause for Ada.Unchecked_Conversion - and Finalization_Primitives. - (To_Collection_Node_Ptr): Delete. - (Allocate_Any_Controlled): Rename parameter Context_Subpool into - Named_Subpool, parameter Context_Collection into Collection and - change it to In/Out, and remove Fin_Address. Do not lock/unlock - and do not attach the object, instead only displace its address. - (Deallocate_Any_Controlled): Do not lock/unlock and do not detach - the object. - (Header_Size_With_Padding): Use qualified name for Header_Size. - -2024-05-14 Steve Baird <baird@adacore.com> - - * exp_attr.adb (Build_And_Insert_Type_Attr_Subp): If a subprogram - associated with a (library-level) type declared in another unit is - to be inserted somewhere in a list, then insert it at the head of - the list. - * sem_ch5.adb (Analyze_Assignment): Normally a limited-type - assignment is illegal. Relax this rule if Comes_From_Source is - False and the type is not immutably limited. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * errout.ads (Error_Msg): Add node parameter. - * errout.adb (Error_Msg): Add parameter and pass it to - the underlying call. - * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Pass - pragma node when emitting errors. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * styleg.ads (Check_Xtra_Parens_Precedence): Moved ... - * style.ads (Check_Xtra_Parens_Precedence): ... here. Also - replace corresponding renaming. - * styleg.adb (Check_Xtra_Parens_Precedence): Moved ... - * style.adb (Check_Xtra_Parens_Precedence): here. Also use - Errout.Error_Msg and pass it a node parameter. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.ads (Convert_Aggr_In_Allocator): Rename Alloc into N, - replace Decl with Temp and adjust description. - (Convert_Aggr_In_Object_Decl): Alphabetize. - (Is_Delayed_Aggregate): Likewise. - * exp_aggr.adb (Convert_Aggr_In_Allocator): Rename Alloc into N - and replace Decl with Temp. Allocate a list only when neeeded. - (Convert_Array_Aggr_In_Allocator): Replace N with Decl and insert - new code before it. - * exp_ch4.adb (Build_Aggregate_In_Place): New procedure nested in - Expand_Allocator_Expression. - (Expand_Allocator_Expression): Call it to build aggregates in place. - Remove second parameter in calls to Build_Allocate_Deallocate_Proc. - (Expand_N_Allocator): Likewise. - * exp_ch13.adb (Expand_N_Free_Statement): Likewise. - * exp_util.ads (Build_Allocate_Deallocate_Proc): Remove Is_Allocate - parameter. - * exp_util.adb (Build_Allocate_Deallocate_Proc): Remove Is_Allocate - parameter and replace it with local variable of same name. Delete - useless pattern matching. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * usage.adb (Usage): Fix enabled-by-default indicators. - -2024-05-14 Philippe Gil <gil@adacore.com> - - * libgnat/s-win32.ads (LocalFileTimeToFileTime): Swap parameters. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * restrict.adb (Violation_Of_No_Dependence): Tweak error - reporting calls. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Adapt call to new signature. - * erroutc.ads (Set_Specific_Warning_Off): change signature - and update documentation. - (Validate_Specific_Warnings): Move ... - * errout.adb: ... here and change signature. Also move body - of Validate_Specific_Warnings from erroutc.adb. - (Finalize): Adapt call. - * errout.ads (Set_Specific_Warning_Off): Adapt signature of - renaming. - * erroutc.adb (Set_Specific_Warning_Off): Adapt signature and - body. - (Validate_Specific_Warnings): Move to the body of Errout. - (Warning_Specifically_Suppressed): Adapt body. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Build_Array_Aggr_Code): Pass N in the call to - Build_Initialization_Call. - (Build_Record_Aggr_Code): Likewise. - (Convert_Aggr_In_Object_Decl): Likewise. - (Initialize_Discriminants): Likewise. - * exp_ch3.ads (Build_Initialization_Call): Replace Loc witn N. - * exp_ch3.adb (Build_Array_Init_Proc): Pass N in the call to - Build_Initialization_Call. - (Build_Default_Initialization): Likewise. - (Expand_N_Object_Declaration): Likewise. - (Build_Initialization_Call): Replace Loc witn N parameter and add - Loc local variable. Build a default subtype for an allocator of - a discriminated type with defaulted discriminants. - (Build_Record_Init_Proc): Pass the declaration of components in the - call to Build_Initialization_Call. - * exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator): Pass the - allocator in the call to Build_Initialization_Call. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix typo. - -2024-05-14 Gary Dismukes <dismukes@adacore.com> - - * exp_util.adb (Find_Hook_Context): Exclude N_*Aggregate Nkinds - of Parent (Par) from the early return in the second loop of the - In_Cond_Expr case, to prevent returning an aggregate from this - function rather than the enclosing declaration or statement. - -2024-05-14 Steve Baird <baird@adacore.com> - - * exp_attr.adb: Replace 6 "not Present" tests with equivalent calls to "No". - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): Examine the Expression - field after the call to Default_Initialize_Object in order to set - Is_Known_Null, as well as Is_Known_Non_Null, on an access object. - -2024-05-14 Steve Baird <baird@adacore.com> - - * exp_attr.adb: Change name of package Cached_Streaming_Ops to - reflect the fact that it is now also used for Put_Image - procedures. Similarly change other "Streaming_Op" names therein. - Add Validate_Cached_Candidate procedure to detect case where a - subprogram found in the cache cannot be reused. Add new generic - procedure Build_And_Insert_Type_Attr_Subp; the "Build" part is - handled by just calling a formal procedure; the bulk of this - (generic) procedure's code has to with deciding where in the tree - to insert the newly-constructed subprogram. Replace each later - "Build" call (and the following Insert_Action or - Compile_Stream_Body_In_Scope call) with a declare block that - instantiates and then calls this generic procedure. Delete the - now-unused procedure Compile_Stream_Body_In_Scope. A constructed - subprogram is entered in the appropriate cache if the - corresponding type is untagged; this replaces more complex tests. - A new function Interunit_Ref_OK is added to determine whether an - attribute reference occuring in one unit can safely refer to a - cached subprogram declared in another unit. - * exp_ch3.adb (Build_Predefined_Primitive_Bodies): A formal - parameter was deleted, so delete the corresponding actual in a - call. - * exp_put_image.adb (Build_Array_Put_Image_Procedure): Because the - procedure being built may be referenced more than once, the - generated procedure takes its source position info from the type - declaration instead of the (first) attribute reference. - (Build_Record_Put_Image_Procedure): Likewise. - * exp_put_image.ads (Build_Array_Put_Image_Procedure): Eliminate - now-unused Nod parameter. - (Build_Record_Put_Image_Procedure): Eliminate now-unused Loc parameter. - * sem_ch3.adb (Constrain_Discriminated_Type): For declaring a - subtype with a discriminant constraint, ignore privacy if - Comes_From_Source is false (as is already done if Is_Instance is - true). - * sem_res.adb (Resolve): When passed two type entities that have - the same underlying base type, Sem_Type.Covers may return False in - some cases because of privacy. [This can happen even if - Is_Private_Type returns False both for Etype (N) and for Typ; - Covers calls Base_Type, which can take a non-private argument and - yield a private result.] If Comes_From_Source (N) is False - (e.g., for a compiler-generated Put_Image or streaming subprogram), then - avoid that scenario by not calling Covers. Covers already has tests for - doing this sort of thing (see the calls therein to Full_View_Covers), - but the Comes_From_Source test is too coarse to apply there. So instead - we handle the problem here at the call site. - (Original_Implementation_Base_Type): A new function. Same as - Implementation_Base_Type except if the Original_Node attribute of - a non-derived type declaration indicates that it once was a derived - type declaration. Needed for looking through privacy. - (Valid Conversion): Ignore privacy when converting between different views - of the same type if Comes_From_Source is False for the conversion. - (Valid_Tagged_Conversion): An ancestor-to-descendant conversion is not an - illegal downward conversion if there is no type extension involved - (because the derivation was from an untagged view of the parent type). - -2024-05-14 Steve Baird <baird@adacore.com> - - * sem_ch5.adb (Analyze_Case_Statement): Emit a message and return - early in the case where general case statements are allowed but - the selector expression is of a private type. This is done to - avoid a bugbox. - -2024-05-14 Justin Squirek <squirek@adacore.com> - - * sem_util.adb (Set_Referenced_Modified): Use Original_Node to - avoid recursive calls on expanded / internal objects such that - source nodes get appropriately marked as referenced. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Stop ignoring - warning suppression settings. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_util.adb (Build_Allocate_Deallocate_Proc): Pass the alignment - parameter in the inner call for a secondary stack allocation too. - -2024-05-14 Javier Miranda <miranda@adacore.com> - - * sem_ch10.adb (Install_Inherited_Policy_Pragmas): New subprogram. - (Remove_Inherited_Policy_Pragmas): New subprogram. - (Analyze_Compilation_Unit): Call the new subprograms to - install and remove inherited assertion policy pragmas. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch4.adb (Expand_N_If_Expression): Set No_Initialization on the - declaration of the temporary in the by-reference case. - * exp_util.adb (Initialized_By_Access): Delete. - (Is_Allocated): Likewise. - (Initialized_By_Reference): New predicate. - (Is_Finalizable_Transient): If the transient object is of an access - type, do not return true unless it is initialized by a reference. - -2024-05-14 Steve Baird <baird@adacore.com> - - * exp_attr.adb: Move computation of Accum_Typ entirely into the - function Build_Stat. - -2024-05-14 Steve Baird <baird@adacore.com> - - * sem_ch12.ads: Declare new Instance_Context package, which - declares a private type Context with operations Save_And_Reset and - Restore. - * sem_ch12.adb: Provide body for new Instance_Context package. - * rtsfind.adb (Load_RTU): Wrap an Instance_Context Save/Restore - call pair around the call to Semantics. - * table.ads: Add initial value for Last_Val (because - Save_And_Reset expects Last_Val to be initialized). - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_aggr.adb (Build_Record_Aggr_Code): Replace reference to - Build_Task_Allocate_Block_With_Init_Stmts in comment with reference - to Build_Task_Allocate_Block. - (Convert_Aggr_In_Allocator): Likewise for the call in the code. - * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Likewise. - * exp_ch3.ads: Alphabetize clauses. - (Build_Default_Initialization): New function declaration. - (Build_Default_Simple_Initialization): Likewise. - (Build_Initialization_Call): Add Target_Ref parameter with default. - * exp_ch3.adb (Build_Default_Initialization): New function extracted - from... - (Build_Default_Simple_Initialization): Likewise. - (Build_Initialization_Call): Add Target_Ref parameter with default. - (Expand_N_Object_Declaration): ...here. - (Default_Initialize_Object): Call Build_Default_Initialization and - Build_Default_Simple_Initialization. - * exp_ch4.adb (Expand_Allocator_Expression): Minor comment tweaks. - (Expand_N_Allocator): Call Build_Default_Initialization and - Build_Default_Simple_Initialization to implement the default - initialization of the allocated object. - * exp_ch9.ads (Build_Task_Allocate_Block): Delete. - (Build_Task_Allocate_Block_With_Init_Stmts): Rename into... - (Build_Task_Allocate_Block): ...this. - * exp_ch9.adb: Remove clauses for Exp_Tss. - (Build_Task_Allocate_Block): Delete. - (Build_Task_Allocate_Block_With_Init_Stmts): Rename into... - (Build_Task_Allocate_Block): ...this. - * exp_util.adb (Build_Allocate_Deallocate_Proc): Remove unnecessary - initialization expression, adjust commentary and replace early exit - with assertion. - * sem_ch4.adb (Analyze_Allocator): In the null-exclusion case, call - Apply_Compile_Time_Constraint_Error to insert the raise. - -2024-05-14 Ronan Desplanques <desplanques@adacore.com> - - * styleg.ads (Check_Boolean_Operator): Moved ... - * style.ads (Check_Boolean_Operator): ... here. - * styleg.adb (Check_Boolean_Operator): Moved ... - * style.adb (Check_Boolean_Operator): ... here. Also add node - parameter to call to Errout.Error_Msg. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * sprint.adb (Sprint_Node_Actual) <N_Raise_Statement>: Be prepared - for an empty Name. - <N_Raise_When_Statement>: Likewise. - -2024-05-14 Yannick Moy <moy@adacore.com> - - * contracts.adb: Fix references to SPARK RM rules. - * freeze.adb: Same. - * ghost.adb: Fix references to SPARK RM rules. - (Check_Ghost_Context): Update checking of references to - ghost entities in assertion expressions. - * sem_ch6.adb: Fix references to SPARK RM rules. - * sem_prag.adb: Same. - -2024-05-14 Yannick Moy <moy@adacore.com> - - * ghost.adb (Mark_And_Set_Ghost_Instantiation): Fix the current - Ghost policy for the instantiation. - -2024-05-14 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Default_Initialize_Object): Return immediately when - either Has_Init_Expression or No_Initialization is set on the node. - Tidy up the rest of the code accordingly. - (Simple_Initialization_OK): Do not test Has_Init_Expression here. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * accessibility.adb: Remove clauses for Exp_Ch3. - * exp_ch3.ads (Init_Proc_Level_Formal): Move declaration to... - * exp_ch3.adb (Init_Proc_Level_Formal): Move body to... - * exp_util.ads (Init_Proc_Level_Formal): ...here. - (Inside_Init_Proc): Alphabetize. - * exp_util.adb (Init_Proc_Level_Formal): ...here. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Is_Potentially_Unevaluated): Remove code for - recovering the original structure of expressions with AND THEN. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Attribute_22): Remove Put_Image and Object_Size. - * sem_attr.ads (Attribute_Imp_Def): Restore Object_Size. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb: Adjust the description of finalization management. - (Build_Finalizer): Rename scope master into master throughout. - * rtsfind.ads (RE_Id): Replace RE_Finalization_Scope_Master with - RE_Finalization_Master. - (RE_Unit_Table): Replace entry for RE_Finalization_Scope_Master with - entry for RE_Finalization_Master. - * libgnat/s-finpri.ads (Finalization_Scope_Master): Rename into... - (Finalization_Master): ...this. - (Attach_Object_To_Master): Adjust to above renaming. - (Chain_Node_To_Master): Likewise. - (Finalize_Master): Likewise. - * libgnat/s-finpri.adb (Attach_Object_To_Master): Likewise. - (Chain_Node_To_Master): Likewise. - (Finalize_Master): Likewise. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-imaged.ads (System.Image_D): Add Uns formal parameter. - * libgnat/s-imaged.adb: Add with clauses for System.Image_I, - System.Value_I_Spec and System.Value_U_Spec. - (Uns_Spec): New instance of System.Value_U_Spec. - (Int_Spec): New instance of System.Value_I_Spec. - (Image_I): New instance of System.Image_I. - (Set_Image_Integer): New renaming. - (Set_Image_Decimal): Replace 'Image with call to Set_Image_Integer. - * libgnat/s-imde32.ads (Uns32): New subtype. - (Impl): Pass Uns32 as second actual paramter to Image_D. - * libgnat/s-imde64.ads (Uns64): New subtype. - (Impl): Pass Uns64 as second actual paramter to Image_D. - * libgnat/s-imde128.ads (Uns128): New subtype. - (Impl): Pass Uns128 as second actual paramter to Image_D. - * libgnat/s-imagef.adb (Set_Image_Fixed): Document bounds for the - A, D and AF local constants. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Attribute_22): Add Put_Image and Object_Size. - * sem_attr.ads (Attribute_Imp_Def): Remove Object_Size. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * aspects.adb (Copy_Aspects): Style fix. - * contracts.adb (Analyze_Contracts): Style fix. - (Save_Global_References_In_Contract): Remove extra guards. - * par_sco.adb (Traverse_Aspects): Move guard to the caller and - make it consistent with Save_Global_References_In_Contract. - * sem_ch12.adb (Has_Contracts): Remove extra guards. - * sem_ch3.adb (Delayed_Aspect_Present, Get_Partial_View_Aspect, - Check_Duplicate_Aspects): Likewise. - * sem_disp.adb (Check_Dispatching_Operation): Likewise. - -2024-05-13 Bob Duff <duff@adacore.com> - - * errout.adb (Output_Messages): Protect against the total going - negative. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * contracts.adb (Append_Enabled_Item): Remove use of Split_PPC; - simplify. - * gen_il-fields.ads (Opt_Field_Enum): Remove flag definition. - * gen_il-gen-gen_nodes.adb (N_Aspect_Specification, N_Pragma): - Remove Split_PPC flags. - * gen_il-internals.adb (Image): Remove use of Split_PPC. - * par_sco.adb (Traverse_Aspects): Likewise. - * sem_ch13.adb (Make_Aitem_Pragma): Likewise. - * sem_ch6.adb (List_Inherited_Pre_Post_Aspects): Likewise. - * sem_prag.adb (Analyze_Pre_Post_Condition, Analyze_Pragma, - Find_Related_Declaration_Or_Body): Likewise. - * sem_util.adb (Applied_On_Conjunct): Likewise. - * sinfo.ads: Remove flag documentation. - * treepr.adb (Image): Remove use of Split_PPC. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch6.adb (Append_Message): Build the location string from - scratch and not rely on the one produced while splitting the - aspect into pragmas. - * exp_prag.adb (Expand_Pragma_Check): Split pre/post checks in - expansion. - * sem_ch13.adb (Analyze_Aspect_Specification): Don't split - pre/post expressions into conjuncts; don't add message with - location to the corresponding pragma. - * sem_prag.adb (Build_Pragma_Check_Equivalent): Inherited - pragmas no longer have messages that would need to be updated. - * sinput.adb (Build_Location_String): Adjust to keep previous - messages while using with inherited pragmas. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * contracts.adb (Inherit_Subprogram_Contract): Fix style. - * sem_ch5.adb (Analyze_Iterator_Specification): Likewise. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Has_No_Output): Iteration with - First_Formal/Next_Formal involves Entity_Ids. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Pragma): When processing pragma - Lock_Free, check if restriction No_Implementation_Pragmas is - enabled. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * gen_il-fields.ads (Opt_Field_Enum): - Remove Is_Expanded_Contract from the list of flags. - * gen_il-gen-gen_nodes.adb (N_Contract): Remove - Is_Expanded_Contract from the list of N_Contract fields. - * sinfo.ads (Is_Expanded_Contract): Remove comments for the flag - and its single occurrence in N_Contract. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch9.adb (Build_Protected_Subprogram_Body, - Build_Protected_Subprogram_Call_Cleanup): Reuse refactored - routine. - * sem_util.adb - (Has_Enabled_Aspect): Refactored repeated code. - (Is_Static_Function): Reuse refactored routine. - * sem_util.ads (Has_Enabled_Aspect): - New query routine refactored from repeated code. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch9.adb (Build_Protected_Subprogram_Call_Cleanup): If - aspect Exclusive_Functions is present then the cleanup of a - protected function now services queued entries, just like the - cleanup of a protected procedure. - -2024-05-13 Bob Duff <duff@adacore.com> - - * sem_util.ads (Append_Entity_Name): Fix comment to reflect new - semantics. The comment said, "The qualification stops at an - enclosing scope has no source name (block or loop)." There seems - to be no reason for stopping; instead, we should SKIP things with - no source name. And the "loop" part was wrong. - * sem_util.adb (Append_Entity_Name): Do not stop the recursion; - skip to next-outer scope instead. Misc cleanup/simplification. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-finpri.adb (Finalize): Replace "master" by "collection" - in comments and add a comment about the form of the loop. - * libgnat/s-stposu.adb (Allocate_Any_Controlled): Tweak comment. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Remove s-finmas$(objext). - * einfo.ads (Anonymous_Masters): Rename into Anonymous_Collections. - (Finalization_Master): Rename into Finalization_Collection. - * gen_il-fields.ads (Opt_Field_Enum): Replace Anonymous_Masters - with Anonymous_Collections; and Finalization_Master with - Finalization_Collection. - * gen_il-gen-gen_entities.adb (Access_Kind): Likewise. - (E_Function): Likewise. - (E_Procedure): Likewise. - (E_Package): Likewise. - (E_Subprogram_Body): Likewise. - * exp_ch3.adb (Build_Heap_Or_Pool_Allocator): Adjust to renamings. - (Freeze_Type): Likewise. - (Stream_Operation_OK): Remove obsolete test. - * exp_ch4.adb (Expand_Allocator_Expression): Adjust to renamings. - (Expand_N_Allocator): Likewise. - * exp_ch6.ads (BIP_Formal_Kind): Replace BIP_Finalization_Master - with BIP_Collection. - (Needs_BIP_Finalization_Master): Rename into... - (Needs_BIP_Collection): ...this. - * exp_ch6.adb (BIP_Finalization_Master_Suffix): Delete. - (BIP_Collection_Suffix): New constant string. - (Add_Finalization_Master_Actual_To_Build_In_Place_Call): Rename to - (Add_Collection_Actual_To_Build_In_Place_Call): ...this and adjust. - (BIP_Formal_Suffix): Replace BIP_Finalization_Master alternative - with BIP_Collection alternative. - (BIP_Suffix_Kind): Replace test on BIP_Finalization_Master_Suffix - with test on BIP_Collection_Suffix. - (Is_Build_In_Place_Entity): Likewise. - (Make_Build_In_Place_Call_In_Allocator): Call Needs_BIP_Collection - and Add_Collection_Actual_To_Build_In_Place_Call. - (Make_Build_In_Place_Call_In_Anonymous_Context): Likewise. - (Make_Build_In_Place_Call_In_Assignment): Likewise. - (Make_Build_In_Place_Call_In_Object_Declaration): Likewise. - (Needs_BIP_Finalization_Master): Rename into... - (Needs_BIP_Collection): ...this. - (Needs_BIP_Alloc_Form): Call Needs_BIP_Collection. - * exp_ch7.ads (Build_Anonymous_Master): Rename into... - (Build_Anonymous_Collection): ...this. - (Build_Finalization_Master): Rename into... - (Build_Finalization_Collection): ...this. - * exp_ch7.adb (Allows_Finalization_Master): Rename into... - (Allows_Finalization_Collection): ...this. - (Build_BIP_Cleanup_Stmts): Adjust to renamings. - (Build_Anonymous_Master): Rename into... - (Build_Anonymous_Collection): ...this. Adjust to renamings. - (Build_Finalization_Master): Rename into... - (Build_Finalization_Collection): ...this. Adjust to renamings. - (Build_Finalizer): Adjust comment to renamings. - * exp_ch13.adb (Expand_N_Free_Statement): Adjust to renamings. - * exp_util.adb (Build_Allocate_Deallocate_Proc): Likewise. - (Requires_Cleanup_Actions): Adjust comment to renamings. - * freeze.adb (Freeze_All): Likewise. - * rtsfind.ads (RTU_Id): Remove System_Finalization_Masters. - (RE_Id): Remove RE_Finalization_Master & RE_Finalization_Master_Ptr - add RE_Finalization_Collection & RE_Finalization_Collection_Ptr. - Adjust RE_Add_Offset_To_Address and RE_Finalization_Scope_Master. - (RE_Unit_Table): Remove entries for RE_Finalization_Master & - RE_Finalization_Master_Ptr, add ones for RE_Finalization_Collection - & RE_Finalization_Collection_Ptr. Also adjust those of - RE_Add_Offset_To_Address and RE_Finalization_Scope_Master. - * sem_ch3.adb (Access_Type_Declaration): Adjust to renamings. - * sem_ch6.adb (Create_Extra_Formals): Likewise. - * sem_util.adb (Designated_Subtype_Mark): Likewise. - * libgnat/s-finpri.ads: Add clauses for Ada.Finalization and - System.Storage_Elements. - (Finalization_Collection): New limited controlled type. - (Finalization_Collection_Ptr): Likewise. - (Initialize): New overriding procedure. - (Finalize): Likewise. - (Finalization_Started): Likewise. - (Collection_Node): New type. - (Collection_Node_Ptr): Likewise. - (Attach_Node_To_Collection): New procedure. - (Detach_Node_From_Collection): Likewise. - (Header_Size): New function. - (Add_Offset_To_Address): Likewise. - * libgnat/s-finpri.adb (Add_Offset_To_Address): New function. - (Attach_Node_To_Collection): New procedure. - (Detach_Node_From_Collection): Likewise. - (Finalization_Started): Likewise. - (Finalize): New overriding procedure. - (Header_Size): New function. - (Initialize): New overriding procedure. - * libgnat/s-spsufi.ads (Finalize_And_Deallocate): Adjust comment. - * libgnat/s-spsufi.adb: Remove clause for Finalization_Masters and - add clause for Finalization_Primitives. - (Finalize_And_Deallocate): Finalize the Collection component. - * libgnat/s-stposu.ads: Remove clause for Finalization_Masters and - add clause for Finalization_Primitives. - (Root_Subpool): Replace Master component with Collection. - (Allocate_Any_Controlled): Replace Context_Master parameter with - Context_Collection parameter. - * libgnat/s-stposu.adb: Remove clauses for Finalization_Masters and - add clauses for Finalization_Primitives. - (Address_To_FM_Node_Ptr): Delete. - (To_Collection_Node_Ptr): New instance of Ada.Unchecked_Conversion. - (Adjust_Controlled_Dereference): Adjust comment to renamings. - (Allocate_Any_Controlled): Replace Context_Master parameter with - Context_Collection parameter. Adjust to renamings. - (Deallocate_Any_Controlled): Adjust to renamings. - (Print_Subpool): Likewise. - * libgnat/s-finmas.ads: Delete. - * libgnat/s-finmas.adb: Likewise. - -2024-05-13 Ashley Gay <gay@adacore.com> - - * Makefile.rtl: remove i-vxinco.* from the build - * doc/gnat_rm/the_gnat_library.rst: Remove i-vxinco.ads from - the units documentation. - * impunit.adb: Remove i-vxinco from the list of available units - in GNATstudio. - * libgnarl/i-vxinco.adb: Remove. - * libgnarl/i-vxinco.ads: Ditto. - * libgnarl/s-interr__vxworks.adb: enrich comment - * libgnarl/s-vxwext__kernel.ads: fix comment - * libgnat/i-vxwork.ads: Remove deprecated interrupt connections - API, as well as an example. - * libgnat/i-vxwork__x86.ads: Ditto and add the paragma - Obscolescent to Attach_Handler - * gnat_rm.texi: Regenerate. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Build_Heap_Or_Pool_Allocator): Use the BIPstoragepool - formal parameter to retrieve the pool in the presence of a master. - * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Always pass - a pool reference along with the master reference. - (Make_Build_In_Place_Call_In_Object_Declaration): Likewise. - * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use the BIPstoragepool - formal parameter to retrieve the pool in the presence of a master. - (Create_Anonymous_Master): Do not call Set_Base_Pool. - (Build_Finalization_Master): Likewise. - * rtsfind.ads (RE_Id): Remove RE_Base_Pool and RE_Set_Base_Pool. - (RE_Unit_Table): Remove associated entries. - * libgnat/s-finmas.ads: Remove clause for System.Storage_Pools. - (Any_Storage_Pool_Ptr): Delete. - (Finalization_Master): Remove Base_Pool component. - (Base_Pool): Delete. - (Set_Base_Pool): Likewise. - * libgnat/s-finmas.adb (Base_Pool): Likewise. - (Set_Base_Pool): Likewise. - (Print_Master): Do not print Base_Pool. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): - Rename Pool_Actual into Pool_Exp and use Empty as default value. - (Add_Finalization_Master_Actual_To_Build_In_Place_Call): Change the - names of the first two parameters and use a simpler code structure. - (Make_Build_In_Place_Call_In_Allocator): Rename the local variable - for the pool actual and set it to Empty if it is not used. - (Make_Build_In_Place_Call_In_Object_Declaration): Rename the local - variable for the master actual. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_N_Object_Declaration): In the case of a - return object of a BIP function that needs finalization, save - the assignment statement made to initialize it, if any. - * exp_ch6.ads (BIP_Formal_Kind): Adjust description. - * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Make a - couple of adjustments to the commentary. - (Needs_BIP_Alloc_Form): Also return true if the function needs - a BIP_Finalization_Master parameter. - * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Remove now always true - test on Needs_BIP_Alloc_Form. - (Attach_Object_To_Master_Node): Remove duplication in comment. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Get_Index_Bounds): Guard against missing Entity, - which happens on illegal constrained type declaration. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * sem_attr.adb (Eval_Attribute): Treat Alignment like Component_Size - for array types. - -2024-05-13 Steve Baird <baird@adacore.com> - - * sem_case.adb: Replace all tests of Core_Extensions_Allowed with - corresponding tests of All_Extensions_Allowed. - * sem_ch5.adb: Likewise. - * doc/gnat_rm/gnat_language_extensions.rst: update documentation. - * gnat_rm.texi: Regenerate. - -2024-05-13 Eric Botcazou <ebotcazou@adacore.com> - - * sem_ch13.adb (New_Put_Image_Subprogram): In the nondeferred case - coming from an aspect and for a type with delaying freezing, also - freeze the subprogram immediately. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/a-direct.adb (Start_Search_Internal): Combine subtype - and object declaration. - * libgnat/g-dirope.adb (Read): Replace convoluted unchecked - conversion with an overlay. - -2024-05-13 Piotr Trojanek <trojanek@adacore.com> - - * libgnat/g-dirope.adb (Read): Use null-excluding, - access-to-constant type; replace element-by-element copy with - array assignments. - -2024-05-13 Gary Dismukes <dismukes@adacore.com> - - * exp_aggr.adb (Expand_Container_Aggregate): Move determination of - whether the aggregate is an indexed aggregate earlier in the - procedure. Test Is_Indexed_Aggregate as a criterion for generating - a call to the container type's New_Indexed function, add proper - computation of bounds to pass in to the function, and remove later - code for generating such a call. Add and improve comments. - (Aggregate_Size): Remove special treatment of case where there is - exactly one component association, and instead loop over all - component associations to determine whether any of them have a - nonstatic length. If there is at least one such nonstatic - association, return -1. - (Build_Siz_Exp): Accumulate a sum of the sizes of each of the - component associations in Siz_Exp (which will only be used if - there any associations that are of Nkind - N_Iterated_Component_Association with a nonstatic range). - (Expand_Range_Component): Fix typos in the procedure's spec - comment and block comment. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_util.adb (Number_Of_Elements_In_Array): Fix counting of - elements in null arrays; remove redundant parenthesis; avoid - run-time conversion of 1 to universal integer. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * lib.ads, lib.adb (Primary_Stack_Count, Sec_Stack_Count, - Increment_Primary_Stack_Count, Increment_Sec_Stack_Count, - Unit_Record): Stack counts are never negative. - * ali.ads (Unit_Record): Likewise. - * bindgen.adb (Num_Primary_Stacks, Num_Sec_Stacks): Likewise. - * exp_ch3.adb (Count_Default_Sized_Task_Stacks): Likewise. - * sem_util.ads, sem_util.adb (Number_Of_Elements_In_Array): - Likewise. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch3.adb (Count_Default_Sized_Task_Stacks): Do not look for - tasks inside record discriminants; remove avoid repeated call to - Has_Task that happened for record components. - (Expand_N_Object_Declaration): Use high-level routine to detect - array types and subtypes; remove unused initial values. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_aggr.ads (Static_Array_Aggregate): Fix typo in comment. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Has_Single_Return): Remove redundant check for - empty list, because First works also for empty list. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * exp_ch4.adb (Useful): Remove redundant check for empty list, - because iteration with First works also for empty list; rename - local variable from L to Action. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Has_Formal_With_Per_Object_Constrained_Component): - Use flag Has_Per_Object_Constraint which is set by analysis; - rename for consistency. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Access_Attribute): Replace loop with - Current_Scope_No_Loops. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Access_Attribute): Move code to IF - branch where its result is used. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_attr.adb (Analyze_Access_Attribute): Prevent search from - going too far. - * sem_ch3.adb (Analyze_Component_Declaration): Remove - Contains_POC; reuse Has_Discriminant_Dependent_Constraint. - -2024-05-07 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Pending_Access_Types): Delete. - * exp_ch3.adb (Freeze_Type.Process_Pending_Access_Types): Likewise. - (Freeze_Type): Do not call Process_Pending_Access_Types. - * exp_ch7.ads (Make_Set_Finalize_Address_Call): Delete. - * exp_ch7.adb (Build_Finalization_Master.Add_Pending_Access_Type): - Delete. - (Build_Finalization_Master): Do not set Finalize_Address on the - master or call Add_Pending_Access_Type. - (Make_Set_Finalize_Address_Call): Delete. - * gen_il-fields.ads (Opt_Field_Enum): Remove Pending_Access_Types. - * gen_il-gen-gen_entities.adb (Type_Kind): Likewise. - * rtsfind.ads (RE_Id): Remove RE_Set_Finalize_Address. - (RE_Unit_Table): Likewise. - * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not deal with - pending access types. - * libgnat/s-finmas.ads (Attach_Unprotected): Add Finalize_Address - second parameter. - (Delete_Finalize_Address_Unprotected): Delete. - (Finalize_Address): Likewise. - (Finalize_Address_Unprotected): Likewise. - (Is_Homogeneous): Likewise. - (Set_Finalize_Address): Likewise. - (Set_Finalize_Address_Unprotected): Likewise. - (Set_Heterogeneous_Finalize_Address_Unprotected): Likewise. - (Set_Is_Heterogeneous): Likewise. - (FM_Node): Add Finalize_Address component. - (Finalization_Master): Remove Is_Homogeneous and Finalize_Address - components. - * libgnat/s-finmas.adb: Remove with & use clauses for System.HTable. - (Finalize_Address_Table): Delete. - (Attach_Unprotected): Add Finalize_Address second parameter and save - its value in the Finalize_Address field of the node. - (Delete_Finalize_Address_Unprotected): Delete. - (Finalize): Call Finalize_Address saved in the nodes. - (Finalize_Address): Delete. - (Finalize_Address_Unprotected): Likewise. - (Hash): Likewise. - (Is_Homogeneous): Likewise. - (Print_Master): Adjust. - (Set_Finalize_Address): Delete. - (Set_Finalize_Address_Unprotected): Likewise. - (Set_Heterogeneous_Finalize_Address_Unprotected): Likewise. - (Set_Is_Heterogeneous): Likewise. - * libgnat/s-stposu.adb (Finalize_Address_Table_In_Use): Likewise. - (Allocate_Any_Controlled): Pass Fin_Address to Attach_Unprotected - and remove obsolete processing. - (Deallocate_Any_Controlled): Remove obsolete processing. - (Set_Pool_Of_Subpool): Do not call Set_Is_Heterogeneous. - -2024-05-07 Joffrey Huguet <huguet@adacore.com> - - * libgnat/a-ngelfu.ads (Sqrt): Add Global contracts. - (Log): Likewise. - (Exp): Likewise. - ("**"): Likewise. - (Sin): Likewise. - (Cos): Likewise. - (Tan): Likewise. - (Cot): Likewise. - (Arcsin): Likewise. - (Arccos): Likewise. - (Arctan): Likewise. - (Arccot): Likewise. - (Sinh): Likewise. - (Cosh): Likewise. - (Tanh): Likewise. - (Coth): Likewise. - (Arcsinh): Likewise. - (Arccosh): Likewise. - (Arctanh): Likewise. - (Arccoth): Likewise. - -2024-05-07 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Postconditions_Proc): Delete. - * gen_il-fields.ads (Opt_Field_Enum): Remove Postconditions_Proc. - * gen_il-gen-gen_entities.adb (E_Function): Likewise. - (E_Procedure): Likewise. - (E_Entry): Likewise. - (E_Entry_Family): Likewise. - -2024-05-07 Ronan Desplanques <desplanques@adacore.com> - - * sinfo.ads: Fix typo. - -2024-05-07 Bob Duff <duff@adacore.com> - - * exp_attr.adb (Attribute_Old): The 'Old attribute we are - processing here is in a postcondition, which cannot be inside the - "Wrapped_Statements" of the subprogram with that postcondition. So - remove the loop labeled "Climb the parent chain looking for - subprogram _Wrapped_Statements". The only way this loop could find - a Subp is if we are nested inside a subprogram that also has a - postcondition, and in that case we would find the wrong (outer) - one. In any case, Subp is set to Empty after the loop, so all - subsequent tests for Present (Subp) are necessarily False; remove - them and the corresponding code. Set Ins_Node unconditionally (to - the right thing). Remove obsolete comments. - * sem_util.adb (Determining_Expressions): Fix assertion; - Pragma_Test_Case was missing. - (Eligible_For_Conditional_Evaluation): Fix assert that could fail - in case of errors. - * libgnat/s-valspe.ads: Remove pragma Unevaluated_Use_Of_Old; - there are no uses of 'Old in this package. - -2024-05-07 Yannick Moy <moy@adacore.com> - - * libgnat/a-strsea.adb (Index): Add assertions. - * libgnat/a-strsup.ads ("="): Remove useless precondition. - * libgnat/s-aridou.adb (Prove_Rounding_Case): Add assertions. - (Lemma_Shift_Right): Add call to lemma. - * libgnat/s-arit32.adb (Prove_Rounding_Case): Add assertion. - (Prove_ Signs): Add assertions. - (Scaled_Divide32): Add assertions. - -2024-05-07 Steve Baird <baird@adacore.com> - - * sem_prag.adb (Analyze_Pragma): Restructure the loop over - possible resolutions of a No_Return pragma's argument so that - functions (and generic functions) are not processed until after it - is known whether there is a non-function candidate resolution. For - a pre-2022 Ada version, terminate the iteration before processing - functions if a non-function resolution is found. - -2024-05-07 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/g-socthi.ads (C_Bind): Turn into inline function. - (C_Getpeername): Likewise. - (C_Getsockname): Likewise. - (C_Getsockopt): Likewise. - (C_Setsockopt): Likewise. - (Nonreentrant_Gethostbyaddr): Likewise. - * libgnat/g-socthi.adb (Syscall_Accept): Adjust profile. - (Syscall_Connect): Likewise. - (Syscall_Recvfrom): Likewise. - (Syscall_Sendto): Likewise. - (C_Bind): New function. - (C_Accept): Adjust to above change for profiles. - (C_Connect): Likewise. - (C_Getpeername): New function. - (C_Getsockname): Likewise. - (C_Getsockopt): Likewise. - (C_Recvfrom): Adjust to above change for profiles. - (C_Setsockopt): New function. - (Nonreentrant_Gethostbyaddr): Likewise. - -2024-05-07 Bob Duff <duff@adacore.com> - - * par-ch3.adb (P_Component_Items): Move P_Aspect_Specifications - into the loop, so aspects can be attached to multiple component - declarations. - (P_Type_Declaration, P_Subtype_Declaration) - (P_Known_Discriminant_Part_Opt): Remove default for Semicolon in - calls to P_Aspect_Specifications. - * gen_il-gen-gen_nodes.adb (N_Discriminant_Specification): Add - Aspect_Specifications field to N_Discriminant_Specification, which - was missing. - * aspects.adb (Has_Aspect_Specifications_Flag): Make it True for - N_Discriminant_Specification. - * par-ch13.adb: Remove default for Semicolon in calls to - P_Aspect_Specifications. - (Get_Aspect_Specifications): Misc cleanup. - (P_Aspect_Specifications): Remove comment. It's not clear what - "the flag" is referring to, but anyway the first part of the - comment is obvious, and the second part is apparently obsolete. - Misc cleanup. - * par.adb (P_Aspect_Specifications, Get_Aspect_Specifications): - Remove default for Semicolon; calls are more readable that way. - Improve comments. - * par-ch12.adb: Remove default for Semicolon in calls to - P_Aspect_Specifications. - * par-ch6.adb: Likewise. - * par-ch7.adb: Likewise. - * par-ch9.adb: Likewise. - * par-endh.adb: Likewise. - -2024-05-07 Justin Squirek <squirek@adacore.com> - - * sem_prag.adb (Defer_Compile_Time_Warning_Error_To_BE): Better - handle itypes such that the tree copy required for the expansion - of the pragma doesn't cause ordering problems with internal names. - -2024-05-07 Yannick Moy <moy@adacore.com> - - * sem_res.adb (Resolve_Actuals): Add range check flag. - -2024-05-07 Yannick Moy <moy@adacore.com> - - * sem_util.adb (Find_Placement_In_State_Space): Stop search for - placement when reaching the public state of a generic package. - -2024-05-07 Javier Miranda <miranda@adacore.com> - - * sem_ch3.adb (Check_Return_Subtype_Indication): Add missing check - on statically compatible subtypes. - * sem_eval.adb (Subtypes_Statically_Compatible): Ensure that both - types are either scalar types or access types to evaluate this - predicate. - -2024-05-07 Bob Duff <duff@adacore.com> - - * sem_ch13.adb (Resolve_Name): Clarify comment. - -2024-05-07 Bob Duff <duff@adacore.com> - - * sem_ch13.adb (Resolve_Name): This is called only for names in - aspect_specifications. If the name is an overloaded - selected_component, reset the Entity. Note that this was already - done for N_Identifier in the code just below. - -2024-05-07 Eric Botcazou <ebotcazou@adacore.com> - - * repinfo.adb (List_Record_Info.List_Structural_Record_Layout): Add - another guard for private types after retrieving the parent in the - extension case. - -2024-05-07 Yannick Moy <moy@adacore.com> - - * sem_util.adb (Is_Volatile_Function): Return True on functions - with side effects. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Analyze_Global_Item): Handle side-effect - functions like procedures. - -2024-05-07 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Collect_Global_Item): Update comment. - -2024-05-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Collect_Global_Item): Handle functions with - side-effects. - -2024-05-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Collect_Global_Item): Move code. - -2024-05-06 Piotr Trojanek <trojanek@adacore.com> - - * sem_prag.adb (Find_Role): Handle functions with side-effects - like procedures. - -2024-05-06 Gary Dismukes <dismukes@adacore.com> - - * exp_ch6.adb - (Make_Build_In_Place_Iface_Call_In_Object_Declaration): Set the - Is_Return_Object flag on the entity of the temp object created to - hold the BIP call result, from the flag on the passed-in object - declaration's entity. Update copyright notice to 2024. - -2024-05-06 Bob Duff <duff@adacore.com> - - * sem_ch10.adb (Expand_With_Clause): Misc cleanup. - (Install_Private_With_Clauses): Avoid installing a private - with_clause that comes from an instantiated generic - (it is marked as Implicit_With, but doesn't come from a parent - with). Fix typo in comment, and other minor cleanups. - -2024-05-06 Ronan Desplanques <desplanques@adacore.com> - - * sem_util.adb (Build_Default_Subtype): Tweak source location - information. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not call - Processing_Actions for simple protected objects if the profile is - restricted. - * exp_util.adb (Requires_Cleanup_Actions): Do not return True for - simple protected objects if the profile is restricted. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * fe.h: Remove unused declarations and add 'extern' to others. - -2024-05-06 Piotr Trojanek <trojanek@adacore.com> - - * einfo-utils.adb (Is_Relaxed_Initialization_State): Remove. - * einfo-utils.ads (Is_Relaxed_Initialization_State): Remove. - * einfo.ads: Remove description of removed aspect. - * fe.h (Is_Relaxed_Initialization_State): Remove. - * sem_prag.adb (Analyze_Abstract_State): Remove support for - Relaxed_Initialization. - * sem_util.adb (Has_Relaxed_Initialization): Likewise. - * sem_util.ads (Has_Relaxed_Initialization): Likewise. - -2024-05-06 Justin Squirek <squirek@adacore.com> - - * sem_warn.adb (Within_Postcondition): Add coverage for - Preconditions - -2024-05-06 Justin Squirek <squirek@adacore.com> - - * sem_warn.adb (Within_Postcondition): Add/modify comments to - document various cases. - -2024-05-06 Justin Squirek <squirek@adacore.com> - - * sem_warn.adb (Within_Postcondition): Renamed to - Within_Contract_Or_Predicate. - -2024-05-06 Justin Squirek <squirek@adacore.com> - - * sem_warn.adb (Within_Postcondition): Add case to ignore - references within generated predicate function calls. - -2024-05-06 Ronan Desplanques <desplanques@adacore.com> - - * hostparm.ads: Fix reference to RM clause. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-finpri.ads (Finalize_Master): Remove obsolete reference - in the description. - (Finalize_Object): Document the effects of repeated calls. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * einfo.ads (Finalization_Master_Node_Or_Object): Rename into... - (Finalization_Master_Node): ...this and adjust description. - * exp_ch4.adb (Process_Transient_In_Expression): Attach the object - to its master node here. - * exp_ch7.ads (Attach_Object_To_Master_Node): New declaration. - * exp_ch7.adb (Attach_Object_To_Master_Node): New procedure. - (Build_Finalizer.Process_Declarations): Examine the type of a - variable to spot master nodes. - (Build_Finalizer.Process_Object_Declaration): Look only at the - object and deal specifically with the case of a master node. - (Build_Finalizer.Build_BIP_Cleanup_Stmts): Move to child function - of Attach_Object_To_Master_Node. - (Build_Finalizer.Make_Address_For_Finalize): Move to... - (Insert_Actions_In_Scope_Around.Process_Transient_In_Scope): Attach - the object to its master node here. - (Make_Address_For_Finalize): ...here. - (Make_Master_Node_Declaration): Adjust to above renaming and set - Finalization_Master_Node only on the object. - (Make_Suppress_Object_Finalize_Call): Adjust to above renaming and - attach the object to its master node here. - * exp_util.adb (Requires_Cleanup_Actions): Examine the type of a - variable to spot master nodes. - * gen_il-fields.ads (Opt_Field_Enum): Adjust to above renaming. - * gen_il-gen-gen_entities.adb (Allocatable_Kind): Likewise. - * rtsfind.ads (RE_Id): Add RE_Chain_Node_To_Master. - (RE_Unit_Table): Add entry for RE_Chain_Node_To_Master. - * libgnat/s-finpri.ads (Chain_Node_To_Master): New declaration. - * libgnat/s-finpri.adb (Chain_Node_To_Master): New procedure. - (Attach_Object_To_Master): Call it. - (Finalize_Master): Do not raise Program_Error on null addresses. - (Finalize_Object): Add assertion that the address is not null. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * libgnarl/s-taprob.ads (Protection): Add cross-reference to the - counterpart in System.Tasking.Protected_Objects.Entries. - * libgnarl/s-taskin.ads (Locking Rules): Replace PO_Simple by - Protected_Objects. - * libgnarl/s-tpoben.ads (Protection_Entries): Likewise. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * exp_attr.adb (Expand_N_Attribute_Reference) <Finalization_Size>: - Return 0 if the prefix is a dereference of an access value subject - to the No_Heap_Finalization pragma. - -2024-05-06 Ronan Desplanques <desplanques@adacore.com> - - * exp_imgv.adb (Append_Table_To): Remove reference to removed - field. - * gen_il-fields.ads: Remove Is_Enum_Array_Aggregate field. - * gen_il-gen-gen_nodes.adb: Likewise. - * sem_aggr.adb: Tweak warning emission condition. - * sinfo.ads: Remove documentation for Is_Enum_Array_Aggregate. - -2024-05-06 Piotr Trojanek <trojanek@adacore.com> - - * make.adb (Scan_Make_Arg): Remove redundant condition. - * switch-b.adb (Scan_Debug_Switches): Likewise. - * switch-c.adb (Scan_Front_End_Switches): Likewise. - -2024-05-06 Yannick Moy <moy@adacore.com> - - * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add guard. - -2024-05-06 Piotr Trojanek <trojanek@adacore.com> - - * exp_pakd.adb (Create_Packed_Array_Impl_Type): Set associated - node for the packed array itype. - * exp_util.adb (Possible_Side_Effect_In_SPARK): Remove - workaround for a missing associated node. - -2024-05-06 Richard Kenner <kenner@adacore.com> - - * freeze.adb (Freeze_Entity): When changing the convention of - primitive to match that of the type, only do this for user-specified - primitives. - -2024-05-06 Bob Duff <duff@adacore.com> - - * exp_put_image.adb (Build_Image_Call): Call Set_Uses_Sec_Stack on - the current scope. We don't do this at all call sites, because - there are three; better to do it here. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * sem_attr.adb (Analyze_Attribute) <Attribute_Round>: Also accept it - for ordinary fixed point types. - * doc/gnat_rm/implementation_defined_attributes.rst (Round): New. - * gnat_rm.texi: Regenerate. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Use No instead of - not Present. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): Adjust - the Sloc of the master node declaration in the degenerate case. - -2024-05-06 Yannick Moy <moy@adacore.com> - - * inline.adb (Call_Can_Be_Inlined_In_GNATprove_Mode): - Add case to prevent inlining of call. - * inline.ads: Likewise. - * sem_res.adb (Resolve_Call): Update comment and message. - -2024-05-06 Eric Botcazou <ebotcazou@adacore.com> - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-finpri$(objext). - * contracts.adb (Add_Call_Helper): Append freeze actions to the - class-wide type rather than the specific tagged type. - * einfo.ads (Finalization_Master_Node_Or_Node): Document. - (Status_Flag_Or_Transient_Decl): Remove. - * exp_attr.adb (Expand_N_Attribute_Reference) <Address>: Do not - adjust a return object of a class-wide interface type. - * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add test that - Finalize_Address is not already present as a condition for calling - Make_Finalize_Address_Body. - (Expand_Freeze_Record_Type): Call Make_Finalize_Address_Body for - class-wide types of both regular tagged types and interface types. - * exp_ch4.adb (Process_Transients_In_Expression): Replace the use - of hooks with the use of master nodes. - * exp_ch6.adb (Build_Flag_For_Function): Delete. - (Expand_N_Extended_Return_Statement): Create a master node for the - return object if it does not exist. At the end of the statement, - generate a call to Suppress_Object_Finalize. - (Expand_Non_Function_Return): Likewise just before the return. - * exp_ch7.ads (Make_Master_Node_Declaration): Declare. - (Make_Suppress_Object_Finalize_Call): Likewise. - * exp_ch7.adb (Build_Finalization_Master): Defer generating the - call to Set_Finalize_Address until freezing if the Finalize_Address - procedure has not been analyzed yet. - (Build_Finalizer): Reimplement the expansion using a finalization - scope master per finalizer. - (Insert_Actions_In_Scope_Around): Replace finalization hooks by - master nodes and calls to the Finalize_Object. - (Make_Master_Node_Declaration): New procedure. - (Make_Suppress_Object_Finalize_Call): Likewise. - * exp_util.ads (Build_Transient_Object_Statements): Delete. - * exp_util.adb (Build_Transient_Object_Statements): Likewise. - (Requires_Cleanup_Actions): Remove obsolete code and return true - for master nodes. - * gen_il-fields.ads (Opt_Field_Enum): Add - Finalization_Master_Node_Or_Object and - remove Status_Flag_Or_Transient_Decl. - * gen_il-gen-gen_entities.adb (Allocatable_Kind): Likewise. - * rtsfind.ads (RTU_Id): Add System_Finalization_Primitives. - (RE_Id): Add entities of System_Finalization_Primitives. - (RE_Unit_Table): Add entries for them. - * sem_ch3.adb (Analyze_Object_Declaration): For an array whose type - has an unconstrained first subtype and a controlled component, set - the Is_Constr_Array_Subt_With_Bounds flag. - * libgnat/s-finpri.ads: New file. - * libgnat/s-finpri.adb: Likewise. - -2024-05-06 Yannick Moy <moy@adacore.com> - - * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Adapt checking. - -2024-04-26 Jakub Jelinek <jakub@redhat.com> - - * gnatvsn.ads: Bump Library_Version to 15. - -2024-04-15 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_aspects.rst - (Exceptional_Cases): Add description for aspect. - * doc/gnat_rm/implementation_defined_pragmas.rst - (Exceptional_Cases): Add description for pragma. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-03-07 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/113979 - * exp_ch4.adb (Expand_N_Allocator): In the subtype indication case, - call Apply_Predicate_Check on the resulting access value if needed. - -2024-02-26 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/113893 - * exp_ch7.adb (Build_Anonymous_Master): Do not build the master - for a local designated type. - * exp_util.adb (Build_Allocate_Deallocate_Proc): Force Needs_Fin - to false if no finalization master is attached to an access type - and assert that it is anonymous in this case. - * sem_res.adb (Resolve_Allocator): Mention that the object might - not be finalized at all in the warning given when the type is an - anonymous access-to-controlled type. - -2024-01-23 Ronan Desplanques <desplanques@adacore.com> - - * gnatvsn.ads: Update year. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use the - TYPE_CANONICAL of types when it comes to aliasing. - * gcc-interface/utils.cc (relate_alias_sets): Likewise. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use a - separate FLD local variable to hold the first field of the fat - pointer type being built. - * gcc-interface/gigi.h (relate_alias_sets): Remove GNU_ prefix on - the first two parameters. - * gcc-interface/utils.cc (relate_alias_sets): Likewise and adjust. - -2024-01-09 Viljar Indus <indus@adacore.com> - - * sem_attr.adb: avoid marking a use of the Address attribute - as a modification of its prefix. - -2024-01-09 Gary Dismukes <dismukes@adacore.com> - - * exp_aggr.adb (Expand_Container_Aggregate): Change "not Present" - tests to tests using "No" (in two places). - -2024-01-09 Bob Duff <duff@adacore.com> - - * sem_ch12.adb (Instantiate_Type): Make the relevant error message - conditional upon "Ekind (A_Gen_T) /= E_Incomplete_Type". Misc - cleanup. - -2024-01-09 Gary Dismukes <dismukes@adacore.com> - - * exp_aggr.adb (Expand_Container_Aggregate): Add code to determine - whether the aggregate is an indexed aggregate, setting a flag - (Is_Indexed_Aggregate), which is tested to have proper separation - of treatment for the Add_Unnamed - (for positional aggregates) and New_Indexed (for indexed - aggregates) cases. In the code generating associations for indexed - aggregates, remove the code for Expressions cases entirely, since - the code for indexed aggregates is governed by the presence of - Component_Associations, and add an assertion that Expressions must - be Empty. Also, exclude empty aggregates from entering that code. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * rtsfind.ads (RE_Id): Remove RE_Attach. - (RE_Unit_Table): Likewise. - * libgnat/s-finmas.ads (Attach): Delete. - * libgnat/s-finmas.adb (Attach): Likewise. - -2024-01-09 Tucker Taft <taft@adacore.com> - - * pprint.adb (List_Name): Check for "Box_Present" when displaying - a list, and emit "<>" if returns True. - * sem_scil.adb (Check_SCIL_Node): Handle case when the type of a - parameter is from a package that was mentioned in a limited with - clause, and make no further checks, since this check routine does - not have all the logic to check such a usage. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * freeze.adb (Freeze_Expression.Has_Decl_In_List): Deal specifically - with itypes that are class-wide subtypes. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * libgnat/s-atopri.ads (Atomic_Store): New generic procedure. - (Atomic_Store_8): New instantiated procedure. - (Atomic_Store_16): Likewise. - (Atomic_Store_32): Likewise. - (Atomic_Store_64): Likewise. - * libgnat/s-atopri__32.ads (Atomic_Store): New generic procedure. - (Atomic_Store_8): New instantiated procedure. - (Atomic_Store_16): Likewise. - (Atomic_Store_32): Likewise. - * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Implement the - support for __atomic_store_n and __sync_bool_compare_and_swap_n. - * gcc-interface/gigi.h (list_second): New inline function. - -2024-01-09 Javier Miranda <miranda@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Specification): Do not replace - the type of the formals with its corresponding record in - init-procs. - * sem_ch9.adb (Analyze_Requeue): Add missing support to requeue to - a procedure that denotes a renaming of an entry. - -2024-01-09 Piotr Trojanek <trojanek@adacore.com> - - * exp_util.adb (Possible_Side_Effect_In_SPARK): Refine handling of - itype declarations. - -2024-01-09 Piotr Trojanek <trojanek@adacore.com> - - * sem_ch6.adb (Analyze_Subprogram_Specification): Set Is_Inlined - flag by default in GNATprove mode. - * sem_res.adb (Resolve_Call): Only look at flag which is cleared - when inlined subprogram is detected to be recursive. - -2024-01-09 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): - Remove detection of recursive calls. - -2024-01-09 Piotr Trojanek <trojanek@adacore.com> - - * inline.adb (Cannot_Inline): Cleanup use of 'Length; remove - dead code. - -2024-01-09 Piotr Trojanek <trojanek@adacore.com> - - * sem_aggr.adb (Resolve_Container_Aggregate): Use "No". - * sem_ch8.adb (Find_Direct_Name): Likewise. - -2024-01-09 Steve Baird <baird@adacore.com> - - * sem_util.adb (Enclosing_Declaration): Instead of returning a - subprogram specification node, return its parent (which is - presumably a subprogram declaration). - * contracts.adb (Insert_Stable_Property_Check): Remove code - formerly needed to compensate for incorrect behavior of - Sem_Util.Enclosing_Declaration. - * exp_attr.adb (In_Available_Context): Remove code formerly needed - to compensate for incorrect behavior of - Sem_Util.Enclosing_Declaration. - * sem_ch8.adb (Is_Actual_Subp_Of_Inst): Remove code formerly - needed to compensate for incorrect behavior of - Sem_Util.Enclosing_Declaration. - -2024-01-09 Steve Baird <baird@adacore.com> - - * sem_ch8.adb (Check_Constrained_Object): Before updating the - subtype mark of an object renaming declaration by calling Rewrite, - first check whether the destination of the Rewrite call exists. - * atree.adb (Copy_Slots): Return without performing any updates if - Destination equals Empty or Error, or if Source equals Empty. Any - of those conditions indicates an error case. - * sem_ch12.adb (Analyze_Formal_Derived_Type): Avoid cascading - errors. - * sem_ch3.adb (Analyze_Number_Declaration): In an error case, do - not pass Error as destination in a call to Rewrite. - (Find_Type_Of_Subtype_Indic): In an error case, do not pass Error - or Empty as destination in a call to Rewrite. - -2024-01-09 Joffrey Huguet <huguet@adacore.com> - - * libgnat/i-cstrin.ads (Update): Fix precondition. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * sem_aggr.adb (Resolve_Extension_Aggregate): Remove the unreachable - call to Transform_BIP_Assignment as well as the procedure. - -2024-01-09 Bob Duff <duff@adacore.com> - - * lib-xref.adb (Generate_Reference): Do not count it as a read - reference if we're calling a TSS. - -2024-01-09 Piotr Trojanek <trojanek@adacore.com> - - * doc/gnat_rm/implementation_defined_aspects.rst, - doc/gnat_rm/implementation_defined_pragmas.rst: Add sections for - Always_Terminates. - * gnat-style.texi: Regenerate. - * gnat_rm.texi: Regenerate. - * gnat_ugn.texi: Regenerate. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/78207 - * libgnat/g-regexp.ads: Fix outdated comment. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/112781 - * exp_ch6.ads (Is_Build_In_Place_Function): Adjust description. - * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): Delete. - (Is_Function_Call_With_BIP_Formals): New predicate. - (Is_Build_In_Place_Function_Call): Restore original semantics. - (Expand_Call_Helper): Adjust conditions guarding the calls to - Add_Dummy_Build_In_Place_Actuals to above renaming. - (Expand_N_Extended_Return_Statement): Adjust to above renaming. - (Expand_Simple_Function_Return): Likewise. Move the assertion - to after the transformation into an extended return statement. - (Make_Build_In_Place_Call_In_Allocator): Remove unreachable code. - (Make_Build_In_Place_Call_In_Assignment): Likewise. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/112781 - * sem_ch12.adb (Instantiate_Type): Use Etype instead of Base_Type - consistently to retrieve the ancestor for a derived type. - * sem_ch4.adb (Analyze_Explicit_Dereference): Test Is_Access_Type - consistently before accessing Designated_Type. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Relax - assertion for regular pointer types. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * gcc-interface/lang.opt.urls: New file, autogenerated by - regenerate-opt-urls.py. - -2024-01-03 Jakub Jelinek <jakub@redhat.com> - - * gnat_ugn.texi: Bump @copying's copyright year. - * gnat_rm.texi: Likewise. - -Copyright (C) 2024 Free Software Foundation, Inc. +Copyright (C) 2025 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-2001 b/gcc/ada/ChangeLog-2001 index ffc40022b4c3..cd1742082c2d 100644 --- a/gcc/ada/ChangeLog-2001 +++ b/gcc/ada/ChangeLog-2001 @@ -2229,8 +2229,6 @@ Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2001-10-02 Geert Bosch <bosch@gnat.com> * misc.c (insert_default_attributes): Add dummy version. - - Copyright (C) 2001 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2002 b/gcc/ada/ChangeLog-2002 index 09580b3db9cf..f69f145050e9 100644 --- a/gcc/ada/ChangeLog-2002 +++ b/gcc/ada/ChangeLog-2002 @@ -976,8 +976,6 @@ * trans.c (tree_transform) [N_Loop_Statement]: Use expand_exit_loop_top_cond. - - Copyright (C) 2002 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2003 b/gcc/ada/ChangeLog-2003 index 6b950685e2cd..820378d817fe 100644 --- a/gcc/ada/ChangeLog-2003 +++ b/gcc/ada/ChangeLog-2003 @@ -3011,8 +3011,6 @@ ada.uninstall): Prepend $(DESTDIR) to the destination directory in all (un)installation commands. * Makefile.in (install-gnatlib, install-rts): Ditto. - - Copyright (C) 2003 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2004 b/gcc/ada/ChangeLog-2004 index aee7b460d12a..d17e869e98b9 100644 --- a/gcc/ada/ChangeLog-2004 +++ b/gcc/ada/ChangeLog-2004 @@ -8337,8 +8337,6 @@ * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ??? comment. - - Copyright (C) 2004 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2005 b/gcc/ada/ChangeLog-2005 index 19301f923609..11afb39d46d6 100644 --- a/gcc/ada/ChangeLog-2005 +++ b/gcc/ada/ChangeLog-2005 @@ -8004,8 +8004,6 @@ * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check whether the ancestor type is private, as may be the case with nested instantiations. - - Copyright (C) 2005 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2006 b/gcc/ada/ChangeLog-2006 index b43e0106f666..d5fe4a0eabb7 100644 --- a/gcc/ada/ChangeLog-2006 +++ b/gcc/ada/ChangeLog-2006 @@ -4452,8 +4452,6 @@ PR ada/24533 * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8. - - Copyright (C) 2006 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2008 b/gcc/ada/ChangeLog-2008 index 4e34213ea802..e5e4d2aadfb8 100644 --- a/gcc/ada/ChangeLog-2008 +++ b/gcc/ada/ChangeLog-2008 @@ -7454,8 +7454,6 @@ PR ada/10768 __gnat_init_float): Define for OpenBSD. * initialize.c (__gnat_initialize): Define for OpenBSD. - - Copyright (C) 2008 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2009 b/gcc/ada/ChangeLog-2009 index cf22b664e956..e82e9a46db47 100644 --- a/gcc/ada/ChangeLog-2009 +++ b/gcc/ada/ChangeLog-2009 @@ -12161,8 +12161,6 @@ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put the _Tag field before any discriminants in the field list. (components_to_record): Remove obsolete comment. - - Copyright (C) 2009 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2010 b/gcc/ada/ChangeLog-2010 index 8b372f5acda5..df33f0596135 100644 --- a/gcc/ada/ChangeLog-2010 +++ b/gcc/ada/ChangeLog-2010 @@ -10078,8 +10078,6 @@ PR ada/42626 * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing end-quote. - - Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2011 b/gcc/ada/ChangeLog-2011 index d6dd46a2e79a..2c7567b7c893 100644 --- a/gcc/ada/ChangeLog-2011 +++ b/gcc/ada/ChangeLog-2011 @@ -15251,8 +15251,6 @@ PR ada/47131 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make variables that are referenced in exception handlers volatile. - - Copyright (C) 2011 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2015 b/gcc/ada/ChangeLog-2015 index 7226214dec51..db7fe05bcbb3 100644 --- a/gcc/ada/ChangeLog-2015 +++ b/gcc/ada/ChangeLog-2015 @@ -10502,7 +10502,6 @@ * gcc-interface/misc.c (internal_error_function): Use xasprintf instead of unchecked asprintf. - Copyright (C) 2015 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2016 b/gcc/ada/ChangeLog-2016 index 0acae5761a0f..2ee7f1d3d7ac 100644 --- a/gcc/ada/ChangeLog-2016 +++ b/gcc/ada/ChangeLog-2016 @@ -5909,7 +5909,6 @@ 2016-01-02 Eric Botcazou <ebotcazou@adacore.com> * gnatvsn.ads: Bump copyright year. - Copyright (C) 2016 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2022 b/gcc/ada/ChangeLog-2022 index 19c0a4d5d424..5375fd2e335c 100644 --- a/gcc/ada/ChangeLog-2022 +++ b/gcc/ada/ChangeLog-2022 @@ -11059,7 +11059,6 @@ * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. - Copyright (C) 2022 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2023 b/gcc/ada/ChangeLog-2023 index d1a3b8048e4d..1b6973611054 100644 --- a/gcc/ada/ChangeLog-2023 +++ b/gcc/ada/ChangeLog-2023 @@ -6969,7 +6969,6 @@ * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. - Copyright (C) 2023 Free Software Foundation, Inc. diff --git a/gcc/ada/ChangeLog-2024 b/gcc/ada/ChangeLog-2024 new file mode 100644 index 000000000000..218e4b8c6b4f --- /dev/null +++ b/gcc/ada/ChangeLog-2024 @@ -0,0 +1,8301 @@ +2024-12-22 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * libgnat/system-gnu.ads: Set Max_Priority to 60. + +2024-12-22 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * s-oscons-tmplt.c [__GNU__] (_XOPEN_SOURCE, _BSD_SOURCE): Define. + [__GNU__]: Include <pthread.h> and <signal.h> + [__GNU__]: Set MSG_Forced_Flags to "MSG_NOSIGNAL". + [__GNU__]: Define SIZEOF_sigset. + [__GNU__]: Define PTHREAD_*SIZE + +2024-12-18 Simon Wright <simon@pushface.org> + + PR target/117538 + * libgnat/s-trasym.adb (Symbolic_Traceback): Prepend the load + address of the executable if it is not null. + +2024-12-14 Jakub Jelinek <jakub@redhat.com> + + PR c/118011 + * gcc-interface/misc.cc (gnat_post_options): Test + !OPTION_SET_P (flag_short_enums) rather than flag_short_enums == 2. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.cc (compare_elmt_bitpos): Deal specially with + 0-sized components when the bit position is the same. + +2024-12-13 Tom Tromey <tromey@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Pass artificial_p to + create_type_decl. + +2024-12-13 Javier Miranda <miranda@adacore.com> + + * sem.ads (Inside_Preanalysis_Without_Freezing): Removed. + * sem.adb (Semantics): Remove Inside_Preanalysis_Without_Freezing. + * sem_ch6.adb (Preanalyze_Formal_Expression): Removed. + * sem_ch3.ads (Preanalyze_Assert_Expression): Add documentation. + (Preanalyze_Spec_Expression): Add documentation. + * sem_ch3.adb (Preanalyze_Assert_Expression) Code cleanup. + (Preanalyze_Default_Expression): Code cleanup. + * sem_res.ads (Preanalyze_With_Freezing_And_Resolve): Removed. + * sem_res.adb (Preanalyze_With_Freezing_And_Resolve): Removed. + (Preanalyze_And_Resolve): Code cleanup. + * freeze.adb (Freeze_Entity): No freeze under strict preanalysis. + (Freeze_Expression): Code cleanup. + (Freeze_Expr_Types): Replace call to Preanalyze_Spec_Expression by + strict preanalysis during preanalysis of a duplicate of the + expression performed to have available the minimum decoration + to locate referenced unfrozen types. + * sem_aggr.adb (Resolve_Array_Aggregate): Minor code cleanup. + * sem_attr.adb (Resolve_Attribute): Add documentation. + * sem_ch13.adb (Resolve_Aspect_Expressions[Aspect_Default_Value]): + Replace call to Preanalyze_Spec_Expression by Preanalyze_And_Resolve. + (Resolve_Aspect_Expressions[Aspect_Default_Component_Value]): Ditto. + * sem_ch8.adb (Set_Entity_Or_Discriminal): Code cleaup. + * sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part): Replace + call to Preanalyze_Assert_Expression by call to Preanalyze_And_Resolve. + (Analyze_Pre_Post_Condition): Replace call to Preanayze_Spec_Expression + by call to Preanalyze_Assert_Expression. + * sem_util.ads (In_Pragma_Expression): Adding a formal to extend the + functionality of this subprogram. + (Within_Static_Expression): New subprogram. + * sem_util.adb (In_Pragma_Expression): Ditto. + (Within_Static_Expression): Ditto. + * checks.adb (Install_Null_Excluding_Check): No check during preanalysis. + (Install_Primitive_Elaboration_Check): Ditto. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.ads (Is_Delayed_Conditional_Expression): Move to... + * exp_aggr.adb (Is_Delayed_Conditional_Expression): Move to... + (Convert_To_Assignments): Use Delay_Conditional_Expressions_Between. + * exp_ch3.adb (Expand_N_Object_Declaration): Reset the Analyzed flag + by means of Unanalyze_Delayed_Conditional_Expression. + * exp_ch4.adb (Expand_N_Case_Expression): Likewise. Delay expanding + the expression if it is in the context of a simple return statement. + (Expand_N_If_Expression): Likewise. + (Expand_N_Qualified_Expression): Fold identical operand. Distribute + the expression into an operand that is a conditional expression with + expansion delayed. + (Process_Transient_In_Expression): Also test the parent node for the + presence of a simple return statement. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Test the unconditional + parent node for the presence of a simple return statement. + * exp_util.ads (Delayed Expansion): New description. + (Delay_Conditional_Expressions_Between): New procedure. + (Is_Delayed_Conditional_Expression): ...here. + (Unanalyze_Delayed_Conditional_Expression): New procedure. + (Unconditional_Parent): New function. + * exp_util.adb (Find_Hook_Context): Take into account conditional + statements coming from conditional expressions. + (Within_Conditional_Expression): Likewise. + (Delay_Conditional_Expressions_Between): New procedure. + (Is_Delayed_Conditional_Expression): ...here. + (Unanalyze_Delayed_Conditional_Expression): New procedure. + (Unconditional_Parent): New function. + * sinfo.ads (Expansion_Delayed): Adjust description. + +2024-12-13 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Case_Bounds): Fix indentation. + * sem_case.adb (Choice_Bounds): Likewise. + * libgnat/s-dourea.ads (Duuble_T): Likewise. + * libgnat/s-excmac__arm.ads (Cleanup_Cache_Type): Likewise. + +2024-12-13 Piotr Trojanek <trojanek@adacore.com> + + * atree.adb, diagnostics-pretty_emitter.adb, + diagnostics-utils.adb, einfo-utils.adb, errout.adb, exp_aggr.adb, + exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_imgv.adb, + exp_pakd.adb, exp_prag.adb, exp_unst.adb, exp_util.adb, gnatchop.adb, + gnatlink.adb, inline.adb, itypes.adb, osint.adb, rtsfind.adb, + sem_aggr.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, + sem_ch4.adb, sem_dim.adb, sem_elab.adb, sem_prag.adb, sem_util.adb, + sprint.adb, switch-m.adb, table.adb: Fix code indentation. + +2024-12-13 Marc Poulhiès <poulhies@adacore.com> + + * libgnat/a-tifiio.adb (OK_Get_32): Use 'Base. + (OK_Put_32, OK_Get_64, OK_Put_64): Likewise. + * libgnat/a-tifiio__128.adb (OK_Get_32, OK_Put_32, OK_Get_64) + (OK_Put_64, OK_Get_128, OK_Put_128): Likewise. + * libgnat/a-wtfiio.adb (OK_Get_32): Likewise. + (OK_Put_32, OK_Get_64, OK_Put_64): Likewise. + * libgnat/a-wtfiio__128.adb (OK_Get_32, OK_Put_32, OK_Get_64) + (OK_Put_64, OK_Get_128, OK_Put_128): Likewise. + * libgnat/a-ztfiio.adb (OK_Get_32): Likewise. + (OK_Put_32, OK_Get_64, OK_Put_64): Likewise. + * libgnat/a-ztfiio__128.adb (OK_Get_32, OK_Put_32, OK_Get_64) + (OK_Put_64, OK_Get_128, OK_Put_128): Likewise. + +2024-12-13 Javier Miranda <miranda@adacore.com> + + * sem_res.adb (Report_Ambiguous_Argument): Code cleanup. + (Resolve): Code cleanup. + +2024-12-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Is_Effectively_Volatile, + Is_Effectively_Volatile_For_Reading): Implement new rule for + record types. + * sem_util.ads (Is_Effectively_Volatile, + Is_Effectively_Volatile_For_Reading): Adjust comments. + +2024-12-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Is_Effectively_Volatile, + Is_Effectively_Volatile_For_Reading): Remove Ignore_Protected + parameter. + (Is_Effectively_Volatile_Object, + Is_Effectively_Volatile_Object_For_Reading): Remove + single-parameter wrappers that are needed to instantiate + generic subprogram. + * sem_util.ads (Is_Effectively_Volatile, + Is_Effectively_Volatile_For_Reading): Remove parameter; adjust + comment. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_Allocator_Expression): Do not preventively + call Remove_Side_Effects on the expression in the nonlimited + by-reference case. Always call Build_Allocate_Deallocate_Proc + in the default case. + * exp_ch6.adb (Expand_Ctrl_Function_Call): Bail out if the call + is the qualified expression of an allocator. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Replace all the + calls to Relocate_Node by calls to Duplicate_Subexpr_No_Checks. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Do not call again + Preanalyze_And_Resolve on the expression. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * sem_aggr.adb (Resolve_Aggr_Expr): Always perform a full analysis + of the expression in SPARK mode. + +2024-12-13 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Fix typo. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Expand_Call_Helper): Also create a temporary in the + case of a noncontrolled user-defined indexing. + +2024-12-13 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_rm/standard_library_routines.rst: Fix documentation. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-12-13 Ronan Desplanques <desplanques@adacore.com> + + * gnat2.gpr: Add library units to coverage exclusion list. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Build_Array_Aggr_Code): Remove obsolete comment. + (Convert_To_Positional): Remove Ctyp local variable. + (Is_Static_Element): Remove Dims parameter and do not preanalyze the + expression there. + (Expand_Array_Aggregate): Make Ctyp a constant. + (Compute_Others_Present): Do not preanalyze the expression there. + * sem_aggr.adb (Resolve_Array_Aggregate): New Ctyp constant. Use it + throughout the procedure to denote the component type. + (Resolve_Aggr_Expr): Always preanalyze a copy of the expression in + an iteration context. Preanalyze it directly when the expander is + active and the choice may cover multiple components. Otherwise, + fully analyze it. + Do not reanalyze an iterated component association with an others + choice either when there are positional components. + (Resolve_Iterated_Component_Association): Do not remove references + from the expression after invoking Resolve_Aggr_Expr on it. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-imager.adb (Set_Image_Real): In the case where a double + integer is needed, do not implicit assume that it can contain up to + 'Digits of the floating-point type. + +2024-12-13 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-imager.adb (Maxscaling): Change to Natural constant and + add Maxdigs to value. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/117996 + * libgnat/a-ngrear.adb (Jacobi): Remove default value for + Compute_Vectors formal parameter. + (Sort_Eigensystem): Add Compute_Vectors formal parameter. Do not + modify the Vectors if Compute_Vectors is False. + (Eigensystem): Pass True as Compute_Vectors to Sort_Eigensystem. + (Eigenvalues): Pass False as Compute_Vectors to Sort_Eigensystem. + +2024-12-12 Piotr Trojanek <trojanek@adacore.com> + + * par-ch5.adb (Test_Statement_Required): Fix comment. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Clear the component + referenced on the right-hand side of the first assignment generated + for a bit-packed array, if any. + (Expand_Array_Aggregate): Do not exclude aggregates of bit-packed + array types in object declarations from in-place expansion. + * sem_eval.adb (Eval_Indexed_Component): Do not attempt a constant + evaluation for a bit-packed array type. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * sem_ch3.adb (Access_Subprogram_Declaration): Replace assertion with + more defensive code. + +2024-12-12 Viljar Indus <indus@adacore.com> + + * errout.adb (Write_JSON_Location): Avoid going through + symbolic links when printing the full name. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * libgnat/s-imager.adb (Image_Floating_Point): Tweak display of + invalid floating point values. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * sem_ch3.adb (Access_Definition): Remove test for task entry context. + * sem_ch6.adb (Process_Formals): Add improved test for task entry + context. + +2024-12-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Move call + to Comes_From_Source to the outer if-statement. + +2024-12-12 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Only set + flag Is_Null_Loop when loop parameter specification comes from + a loop and not from a quantified expression. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Expand_Array_Aggregate): Do not exclude aggregates + of bit-packed array types in allocators from in-place expansion. + +2024-12-12 Sebastian Poeplau <poeplau@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move + the LLVM chapter one level up. + * gnat_ugn.texi: Regenerate. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * sem_eval.ads (Is_OK_Static_Expression_Of_Type): New function. + * sem_eval.adb (Is_OK_Static_Expression_Of_Type): Likewise. + * sem_ch13.adb (Check_Expr_Is_OK_Static_Expression): Use new function. + * sem_prag.adb (Check_Expr_Is_OK_Static_Expression): Likewise. + * sem_ch3.adb (Apply_External_Initialization): Accept static strings + for the parameter. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * libgnat/a-tifiio.adb: Fix comment. + * libgnat/a-tifiio__128.adb: Likewise. + * libgnat/s-imaged.ads (Image_Decimal): Likewise. + * libgnat/s-imagef.ads (Image_Fixed): Likewise. + * libgnat/s-imager.ads (Image_Fixed_Point): Likewise. + * libgnat/s-imde32.ads (Image_Decimal32): Likewise. + * libgnat/s-imfi64.ads (Image_Fixed64): Likewise. + * libgnat/s-imgcha.adb (Image_Character): Likewise. + * libgnat/s-valuer.adb (Scan_Raw_Real): Likewise. + * sem_attr.adb (Eval_Attribute): Likewise. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * sem_attr.adb (Eval_Attribute): Treat the various size attributes + like Component_Size for nonstatic array types. + +2024-12-12 Javier Miranda <miranda@adacore.com> + + * sem_res.adb (Is_Ambiguous_Operand): Add missing decoration of + the operand when it is labeled overloaded but has just one + interpretation. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Add Target formal + parameter and check that it is not a bit-aligned component or slice. + Return False in CodePeer mode as well. + (Build_Array_Aggr_Code): Remove redundant tests done in conjunction + with a call to Aggr_Assignment_OK_For_Backend. + (Expand_Array_Aggregate): Likewise. Add a couple of comments and + improve formatting. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference): Fix computation of type + category. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * aspects.ads (Is_Representation_Aspect): True for External_Name. + (Aspect_Delay): Use Rep_Aspect for External_Name, Link_Name and + Linker_Section. + * einfo.ads (Initialization_Statements): Document extended usage. + * exp_util.adb (Needs_Initialization_Statements): Return True for + all delayed aspects. + * freeze.adb (Check_Address_Clause): Do not move the initialization + expression here... + (Freeze_Object_Declaration): ...but here instead, as well as for all + delayed aspects. Remove test for pragma Linker_Section. + * sem_ch13.adb (Analyze_One_Aspect): Do not delay in the Rep_Aspect + case if the expression is a string literal. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * libgnat/s-valuti.ads (Scan_Sign): Fix documentation comment. + +2024-12-12 Bob Duff <duff@adacore.com> + + * exp_util.adb (Build_Task_Image_Decls): + Deal properly with the case of an expanded name. + Minor cleanup: use a case statement instead of if/elsif chain. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Traverse_Proc_For_Aggregate): New generic procedure. + (Replace_Discriminants): Instantiate it instead of Traverse_Proc. + (Replace_Self_Reference): Likewise. + (Convert_To_Assignments): Remove limitation for nested aggregates + that contain self-references. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_N_Case_Expression): Remove obsolete comment + about C code generation. Do not create a useless target type if + the parent statement is rewritten instead of the expression. Use + a nonnull accesss type for the expansion done for composite types. + (Expand_N_If_Expression): Simplify the expansion when the condition + is known at compile time. Apply the expansion done for by-reference + types to indefinite types and remove the obsolete special case for + unconstrained array types Use a nonnull access type in this case. + Rename New_If local variable to If_Stmt for the sake of consistency. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Make_Address_For_Finalize): Look at the underlying + subtype to detect the unconstrained array type case. + * sprint.adb (Write_Itype) <E_Private_Subtype>: New case. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Update + External_Initialization section. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * fname.adb (Is_Predefined_File_Name): Tweak test. + +2024-12-12 Ronan Desplanques <desplanques@adacore.com> + + * sem_ch3.adb (Apply_External_Initialization): Restrict File lookup. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Initialization_Statements): Document usage precisely. + * exp_aggr.adb (Convert_Aggr_In_Object_Decl): Do not create a + compound statement in most cases, do it only if necessary. + * exp_ch3.adb (Expand_N_Object_Declaration): Remove a couple of + useless statements. + * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): + Use the Initialization_Statements mechanism if necessary. + * exp_ch7.adb: Remove clauses for Aspects package. + (Insert_Actions_In_Scope_Around): Use the support code of Exp_Util + for the Initialization_Statements mechanism. + * exp_prag.adb (Undo_Initialization): Remove obsolete code. + * exp_util.ads (Move_To_Initialization_Statements): New procedure. + (Needs_Initialization_Statements): New function. + * exp_util.adb (Move_To_Initialization_Statements): New procedure. + (Needs_Initialization_Statements): New predicate. + +2024-12-12 Viljar Indus <indus@adacore.com> + + * exp_ch6.adb (Expand_Ctrl_Function_Call): Avoid expansion + of controlled types when the LHS is a function call. + +2024-12-12 Daniel King <dmking@adacore.com> + + * init.c (__gnat_error_handler): Handle SIGPROT + (__gnat_install_handler): Install SIGPROT handler + +2024-12-12 Daniel King <dmking@adacore.com> + + * libgnat/i-cheri-exceptions.ads: Export CHERI exception IDs. + +2024-12-12 Johannes Kliemann <kliemann@adacore.com> + + * exp_ch9.adb (Expand_N_Task_Type_Declaration): Take + Minimum_Stack_Size into account when preallocating task stacks. + * rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Minimum_Stack_Size. + +2024-12-11 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * Makefile.rtl: Add x86_64-pc-gnu section. + +2024-12-11 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * libgnat/system-gnu.ads: New file. + * Makefile.rtl (x86-gnuhurd): Use libgnat/system-gnu.ads instead of + libgnat/system-freebsd.ads. + +2024-12-11 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * libgnarl/a-intnam__freebsd.ads: Rename to... + * libgnarl/a-intnam__bsd.ads: ... new file. + * libgnarl/a-intnam__dragonfly.ads: Remove file. + * Makefile.rtl (x86-kfreebsd, x86-gnuhurd, x86_64-kfreebsd, + aarch64-freebsd, x86-freebsd, x86_64-freebsd): Use + libgnarl/a-intnam__bsd.ads instead of libgnarl/a-intnam__freebsd.ads. + (x86_64-dragonfly): Use libgnarl/a-intnam__bsd.ads instead of + libgnarl/a-intnam__dragonfly.ads. + +2024-11-26 Eric Botcazou <ebotcazou@adacore.come> + + * gcc-interface/trans.cc (Attribute_to_gnu) <Attr_Access>: Do not + pass ATTR_ADDR_EXPR to build_unary_op for 'Unrestricted_Access. + +2024-11-26 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Do not insert the tag + assignment there if the object has the Address aspect. + * exp_ch7.adb: Add clauses for Aspect package. + (Build_Finalizer.Process_Object_Declaration): Deal with an object + with delayed freezing. + (Insert_Actions_In_Scope_Around): If the target is the declaration + of an object with address clause or aspect, move all the statements + that have been inserted after it into the Initialization_Statements + list of the object. + * freeze.adb (Check_Address_Clause): Do not reassign the tag here, + instead set the appropriate flag on the assignment statement. + +2024-11-26 Eric Botcazou <ebotcazou@adacore.com> + + * sem_res.adb (Valid_Conversion): Do not initialize Opnd_Type before + calling Get_Corresponding_Mutably_Tagged_Type_If_Present. + +2024-11-26 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch13.adb (Analyze_Aspect_Export_Import): Add explicit mention + of the declaration in the error message for the Import. + * sem_prag.adb (Process_Extended_Import_Export_Object_Pragma): Also + test Has_Init_Expression on the declaration node for Import_Object + and use the same wording as that of Import. + (Process_Import_Or_Interface): Also test Has_Init_Expression on the + declaration node for Import. + +2024-11-26 Javier Miranda <miranda@adacore.com> + + * sem_ch2.adb (Check_Ambiguous_Call): Replace code factorized + code by call to the new subprogram Is_Ambiguous_Operand. + * sem_res.ads (Is_Ambiguous_Operand): New subprogram that + factorizes previous code in Check_Ambiguous_Call and + Valid_Conversion. + * sem_res.adb (Is_Ambiguous_Operand): New subprogram. + (Valid_Tagged_Conversion): Replace factorized code by call to + the new subprogram Is_Ambiguous_Operand. + (Report_Error_N): New subprogram. + (Report_Error_NE): New subprogram. + (Report_Interpretation): New subprogram. + (Conversion_Error_N): Removed; replaced by Report_Error_N. + (Conversion_Error_NE): Removed; replaced by Report_Error_NE. + (Valid_Conversion): Update Opnd_Type after the call to + Is_Ambiguous_Operand in the overloaded case. + +2024-11-26 Viljar Indus <indus@adacore.com> + + * errout.adb: Remove implmentation of Write_Error_Summary. + * erroutc.adb: Add implemenetation of Write_Error_Summary. + * erroutc.ads: Add spec of Write_Error_Summary. + * errutil.adb: Remove implementation for writing the error summary. + +2024-11-26 Viljar Indus <indus@adacore.com> + + * errout.adb: Remove implemntation of Set_Msg_Insertion_Column. + * erroutc.adb: Add implementation of Set_Msg_Insertion_Column. + * erroutc.ads: Add spec of Set_Msg_Insertion_Column. + * errutil.adb: Remove implementation of Set_Msg_Insertion_Column. + +2024-11-26 Viljar Indus <indus@adacore.com> + + * errout.adb: Set Warn_Err as true if Is_Runtime_Error was + set in the error message. + * erroutc.adb: Remove instances of Warn_Runtime_Raise. + * erroutc.ads: Likewise. + * errutil.adb: Likewise. + +2024-11-26 Viljar Indus <indus@adacore.com> + + * errout.adb: Use Is_Redundant_Error_Message. + * erroutc.adb: Move the common code for checking if a message + can be removed to Is_Redundant_Error_Message. + * erroutc.ads: Add definition of Is_Redundant_Error_Message. + * errutil.adb: Use Is_Redundant_Error_Message. + +2024-11-26 Viljar Indus <indus@adacore.com> + + * errout.ads: Remove Current_Node. + * errout.adb: Remove uses of Current_Node. + * par-ch6.adb: Same as above. + * par-ch7.adb: Same as above. + * par-ch9.adb: Same as above. + +2024-11-26 Viljar Indus <indus@adacore.com> + + * err_vars.ads: Remove Raise_Exception_On_Error and + Error_Msg_Exception. + * errout.ads: Same as above. + * errout.adb: Remove uses of Raise_Exception_On_Error and + Error_Msg_Exception. + * errutil.adb: Same as above. + +2024-11-26 Viljar Indus <indus@adacore.com> + + * diagnostics-converter.adb: Use new enum values instead + of the old attributes. + * diagnostics-switch_repository.adb: Same as above. + * diagnostics-utils.adb: Same as above. + * diagnostics.adb: Same as above. + * diagnostics.ads: Same as above. + * errout.adb: Same as above. + * erroutc.adb: Same as above. + * erroutc.ads: Remove old attriubtes and replace them + with Error_Msg_Kind. + * errutil.adb: Same as others. + +2024-11-26 Viljar Indus <indus@adacore.com> + + * errout.adb: Use Output_Msg_Location + * erroutc.adb: add common implementation for printing the + error message line. + * erroutc.ads: Add new method Output_Msg_Location + * errutil.adb: use Output_Msg_Location + +2024-11-26 Viljar Indus <indus@adacore.com> + + * diagnostics-converter.adb: Remove uses of Info_Warning type. Use + common constructors to simplify implementation. + * diagnostics-pretty_emitter.adb: Remove Info_Warning type. + * diagnostics-utils.adb: Remove uses of Info_Warning. + * diagnostics.adb: Simplify implementation of Primary_Location. + * diagnostics.ads: Remove Info_Warning type. + +2024-11-26 Jose Ruiz <ruiz@adacore.com> + + * doc/gnat_ugn/the_gnat_compilation_model.rst: The format of + the ali file is documented in lib-writ.ads. + * gnat_ugn.texi: Regenerate. + +2024-11-26 Ronan Desplanques <desplanques@adacore.com> + + * uname.ads (Is_Internal_Unit_Name, Is_Predefined_Unit_Name): Change + specifications to take a Unit_Name_Type as input. + (Encoded_Library_Unit_Name): New subprogram. + (Is_Predefined_Unit_Name): New overloaded subprogram. + (Get_External_Unit_Name_String): Make use of new + Encoded_Library_Unit_Name subprogram. + * uname.adb (Is_Internal_Unit_Name, Is_Predefined_Unit_Name): Adapt + bodies to specification changes. + * fname-uf.adb (Get_File_Name): Adapt to Uname interface changes. + +2024-11-26 Ronan Desplanques <desplanques@adacore.com> + + * fname-uf.adb (Get_File_Name): Use local name buffers. + +2024-11-26 Ronan Desplanques <desplanques@adacore.com> + + * sem_util.adb (Get_Library_Unit_Name): Improve use of Uname. + +2024-11-26 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb: Remove clauses for Exp_Ch3. + (Check_Address_Clause): Always reassign the tag for an object of a + tagged type if there is an initialization expression. + +2024-11-23 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc-interface/Make-lang.in (gnattools): Remove $(GCC_PARTS). + +2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR bootstrap/117737 + * gcc-interface/misc.cc (INCLUDE_MEMORY): Remove. + * gcc-interface/trans.cc (INCLUDE_MEMORY): Remove. + * gcc-interface/utils.cc (INCLUDE_MEMORY): Remove. + +2024-11-21 Jakub Jelinek <jakub@redhat.com> + + PR c/117024 + * gcc-interface/utils.cc (flag_isoc2y): New variable. + +2024-11-20 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/117538 + PR ada/117708 + * Makefile.rtl (GNU Hurd): Add $(TRASYM_DWARF_UNIX_PAIRS). + (x86-64 kfreebsd): Likewise. + (aarch64 FreeBSD): Likewise. + (x86-64 DragonFly): Likewise. + (S390 Linux): Likewise and add Linux version of s-tsmona.adb. + (Mips Linux): Likewise. + (SPARC Linux): Likewise. + (HP/PA Linux): Linux. + (M68K Linux): Likewise. + (SH4 Linux): Likewise. + (Alpha Linux): Likewise. + (RISC-V Linux): Likewise. + +2024-11-19 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/117538 + * Makefile.rtl (GNU Hurd): Add $(TRASYM_DWARF_UNIX_OBJS). + (x86-64 kfreebsd): Likewise. + (aarch64 FreeBSD): Likewise. + (x86-64 DragonFly): Likewise. + (S390 Linux): Likewise. + (Mips Linux): Likewise. + (SPARC Linux): Likewise. + (HP/PA Linux): Linux. + (M68K Linux): Likewise. + (SH4 Linux): Likewise. + (Alpha Linux): Likewise. + (RISC-V Linux): Likewise. + +2024-11-19 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.ads (Within_Case_Or_If_Expression): Rename into... + (Within_Conditional_Expression): ...this. + * exp_util.adb (Within_Case_Or_If_Expression): Rename into... + (Within_Conditional_Expression): ...this. + * checks.adb (Install_Null_Excluding_Check): Adjust for renaming. + +2024-11-19 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Build_Assignment_With_Temporary): Inline into... + (Build_Array_Aggr_Code): ...this. Set the Analyzed flag on the + relocated aggregate if it is to be handled by the back-end. + +2024-11-19 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb: Remove clauses for Expander. + (Expand_N_Object_Declaration): Remove special processing for delayed + aggregates of limited types as initialization expressions. + * freeze.adb (Warn_Overlay): Bail out if No_Initialization is set on + the declaration node of the entity. + * sem_ch3.adb (Delayed_Aspect_Present): Delete. + (Expand_N_Object_Declaration): Do not block the resolution of the + initialization expression that is an aggregate when the object has + an address clause or delayed aspects. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_N_Case_Expression): Remove the test on + enclosing predicate function for the return optimization. + Rewrite it in the general case to catch all nondynamic predicates. + (Expand_N_If_Expression): Remove the test on enclosing predicate + function for the return optimization. + +2024-11-18 Bob Duff <duff@adacore.com> + + * doc/gnat_rm/implementation_defined_characteristics.rst: + Remove Atomic_Synchronization. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Likewise. + * doc/gnat_rm/implementation_defined_pragmas.rst: DRY. + Consolidate documentation of Disable/Enable_Atomic_Synchronization. + * checks.adb: Comment fix. + * exp_util.ads: Likewise. + * targparm.ads: Likewise. + * types.ads: Likewise. + * gnat1drv.adb: Likewise. DRY. + * sem_prag.adb (Process_Disable_Enable_Atomic_Sync): + Change name of Atomic_Synchronization to start with + underscore. + (Process_Suppress_Unsuppress): No need to check Comes_From_Source for + Atomic_Synchronization anymore; _Atomic_Synchronization can never + come from source. (Anyway, it shouldn't be ignored; it should be + an error.) + * snames.ads-tmpl (Atomic_Synchronization): + Change name to start with underscore. + * switch-c.adb (Scan_Front_End_Switches): + Minor cleanup: Use 'in'. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * sem_eval.adb (Eval_Indexed_Component): Clear Do_Range_Check on + the expressions if Kill_Range_Check is set on the node. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.adb (Remove_Init_Call): Rewrite a compound statement in + the Initialization_Statements of the variable as a null statement + instead of removing it. + * freeze.adb (Explode_Initialization_Compound_Statement): Small + comment tweaks. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (UI_Are_In_Int_Range): New predicate. + (Aggr_Size_OK): Use it. + (Flatten): Likewise. + (Packed_Array_Aggregate_Handled): Likewise. + (Static_Array_Aggregate): Likewise. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.ads (Explode_Initialization_Compound_Statement): Adjust the + description. + * freeze.adb (Explode_Initialization_Compound_Statement): If the + entity has its freezing delayed, append the initialization actions + to its freeze actions. + (Freeze_Object_Declaration): Remove commented out code. + (Freeze_Entity): Remove bypass for object of anonymous array type. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_sel.ads (Build_Abort_Block): Remove second parameter and + rename the third. + (Build_Abort_Block_Handler): Fix description. + * exp_sel.adb (Build_Abort_Block): Remove second parameter, rename + the third and adjust accordingly. + * exp_ch9.adb (Expand_N_Asynchronous_Select): Fix the description + of the exception handler throughout. Remove Abort_Block_Ent and + Hdle local variables. Call Build_Abort_Block consistently to build + the abort block and adjust existing calls. + +2024-11-18 Steve Baird <baird@adacore.com> + + * exp_aggr.adb (Convert_To_Positional.Flatten): Avoid raising + Constraint_Error in UI_To_Int by testing UI_Is_In_Int_Range first. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Build_Array_Aggr_Code): Build the simple assignment + for the case of an aggregate that can be handled by the back end. + (Expand_Array_Aggregate): Adjust description of the processing. + Move handling of declaration case to STEP 4 and remove handling of + the case of an aggregate that can be processed by the back end. + (Late_Expansion): Likewise for the second part. + * exp_ch3.adb (Expand_N_Object_Declaration): Deal with a delayed + aggregate synthesized for the default initialization, if any. + * sem_eval.adb (Eval_Indexed_Component): Bail out for the name of + an assignment statement. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (In_Place_Assign_OK): Remove handling of allocators + and call Must_Slide instead of implementing the check manually. + (Convert_To_Assignments): Adjust outdated comment. + (Expand_Array_Aggregate): Move handling of allocator case to STEP 3 + and call Must_Slide directly for it. + (Must_Slide): Replace tests based on Is_OK_Static_Expression with + tests based on Compile_Time_Known_Value. + +2024-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Convert_Array_Aggr_In_Allocator): Delete. + (Convert_Aggr_In_Allocator): Do not call above procedure. + (Late_Expansion): Deal with a target that is the dereference of a + prefix with a Storage_Model. Remove an useless actual parameter + in the call to Build_Array_Aggr_Code. + +2024-11-18 Javier Miranda <miranda@adacore.com> + + * sem_res.adb (Resolve_Actuals): Add by default a null-exclusion + check on the prefix of the call when it is an access-type; it can + be disabled using -gnatd_P. + * debug.adb (gnatd_P): Update documentation. + +2024-11-18 squirek <squirek@adacore.com> + + * accessibility.adb (Accessibility_Level): Handle the Input attribute + case + +2024-11-18 Ronan Desplanques <desplanques@adacore.com> + + * frontend.adb (Frontend): tweak test for predefined main unit. + +2024-11-14 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (elaborate_expression_2): Do not divide and + multiply back if the alignment factor is already explicit. + +2024-11-14 Steve Baird <baird@adacore.com> + + * sem_aggr.adb (Resolve_Delta_Aggregate): The rule about + discriminant dependent component references in choices applies to + both array and record delta aggregates, so check for violations in + Resolve_Delta_Aggregate. Call a new procedure, + Check_For_Bad_Dd_Component_Choice, for each choice. + (Resolve_Delta_Record_Aggregate): Call a new procedure, + Check_For_Bad_Overlap, for each pair of choices. + +2024-11-14 Ronan Desplanques <desplanques@adacore.com> + + * bindgen.adb (Gen_Elab_Calls): Tweak test. + (Gen_Elab_Externals): Likewise. + +2024-11-14 Claire Dross <dross@adacore.com> + + * libgnat/a-strmap.adb: Add assert to regain proofs. + * libgnat/a-strsup.adb: Likewise. + * libgnat/s-aridou.adb: Add assertions to regain proofs. + * libgnat/s-arit32.adb: Use Exceptional_Cases to specify Raise. + * libgnat/s-arit64.adb: Use Round_Quatient from Impl instead of + redefining it. + * libgnat/s-arit64.ads: Likewise. + * libgnat/s-expmod.adb: Regain proof of lemma. + * libgnat/s-exponn.adb: Likewise. + * libgnat/s-expont.adb: Likewise. + * libgnat/s-imgboo.adb: Add local lemma to regain proof. + * libgnat/s-valuti.ads: Add Always_Terminates on Bad_Value. + +2024-11-14 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-imagef.ads (Image_Fixed): Adjust outdated sentence. + +2024-11-14 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch13.adb (Record_Hole_Check): Deal consistently with the base + type throughout the processing. Return if its declaration is not a + full type declaration. Assert that its record definition is either + a derived type definition or a record definition. If the type has a + private declaration that does not specify unknown discriminants, use + it as the source of discriminant specifications, if any. + (Check_Component_List): Process every N_Discriminant_Specification + but assert that its defining identifier is really a discriminant. + +2024-11-14 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-aridou.ads (Add_With_Ovflo_Check): Adjust description. + (Subtract_With_Ovflo_Check): Likewise. + (Multiply_With_Ovflo_Check): Likewise. + (Scaled_Divide): Likewise. + (Double_Divide): Likewise. + * libgnat/s-arit64.ads (Multiply_With_Ovflo_Check64): Likewise. + * libgnat/s-arit128.ads (Multiply_With_Ovflo_Check128): Likewise. + +2024-11-14 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/112524 + PR ada/113781 + * par-ch4.adb (P_Primary) <Tok_For>: Give an error about missing + parentheses in the (purported) iterated component case too. + (P_Unparen_Cond_Expr_Etc): Likewise. + * sem.adb (Analyze): Raise PE on N_Iterated_Component_Association. + * sem_util.ads (Diagnose_Iterated_Component_Association): Delete. + * sem_util.adb (Diagnose_Iterated_Component_Association): Likewise. + +2024-11-12 Marc Poulhiès <poulhies@adacore.com> + + * gcc-interface/Makefile.in: Remove extra 'with'. + +2024-11-12 squirek <squirek@adacore.com> + + * exp_ch3.adb (Build_Assignment): Add condition to fetch corresponding + record types for concurrent tagged types. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Use a type sized + from the index type to compute the length. Simplify and remove + useless calls to New_Copy_Tree for this computation. + +2024-11-12 Pat Bernardi <bernardi@adacore.com> + + * libgnarl/a-dynpri.ads: Add design annotations. + * libgnarl/a-reatim.ads: Likewise. + * libgnarl/a-synbar.ads: Likewise. + * libgnarl/a-taside.ads: Likewise. + * libgnarl/s-tarest.ads: Likewise. + * libgnarl/s-tasinf.ads: Likewise. + * libgnarl/s-taspri__posix.ads: Likewise. + * libgnarl/s-tpobmu.ads: Likewise. + * libgnat/a-assert.ads: Likewise. + * libgnat/a-comlin.ads: Likewise. + * libgnat/a-nbnbig.ads: Likewise. + * libgnat/a-nubinu.ads: Likewise. + * libgnat/a-numeri.ads: Likewise. + * libgnat/a-unccon.ads: Likewise. + * libgnat/a-uncdea.ads: Likewise. + * libgnat/ada.ads: Likewise. + * libgnat/g-debuti.ads: Likewise. + * libgnat/g-sestin.ads: Likewise. + * libgnat/g-souinf.ads: Likewise. + * libgnat/gnat.ads: Likewise. + * libgnat/i-cexten.ads: Likewise. + * libgnat/i-cexten__128.ads: Likewise. + * libgnat/i-cstrin.adb: Likewise. + * libgnat/i-cstrin.ads: Likewise. + * libgnat/interfac__2020.ads: Likewise. + * libgnat/machcode.ads: Likewise. + * libgnat/s-addope.ads: Likewise. + * libgnat/s-aridou.ads: Likewise. + * libgnat/s-arit32.ads: Likewise. + * libgnat/s-arit64.ads: Likewise. + * libgnat/s-assert.ads: Likewise. + * libgnat/s-atacco.ads: Likewise. + * libgnat/s-atocou.ads: Likewise. + * libgnat/s-atocou__builtin.adb: Likewise. + * libgnat/s-atopri.ads: Likewise. + * libgnat/s-bitops.ads: Likewise. + * libgnat/s-boarop.ads: Likewise. + * libgnat/s-bytswa.ads: Likewise. + * libgnat/s-carsi8.ads: Likewise. + * libgnat/s-carun8.ads: Likewise. + * libgnat/s-casi16.ads: Likewise. + * libgnat/s-casi32.ads: Likewise. + * libgnat/s-casi64.ads: Likewise. + * libgnat/s-caun16.ads: Likewise. + * libgnat/s-caun32.ads: Likewise. + * libgnat/s-caun64.ads: Likewise. + * libgnat/s-exnint.ads: Likewise. + * libgnat/s-exnllf.ads: Likewise. + * libgnat/s-exnlli.ads: Likewise. + * libgnat/s-expint.ads: Likewise. + * libgnat/s-explli.ads: Likewise. + * libgnat/s-expllu.ads: Likewise. + * libgnat/s-expmod.ads: Likewise. + * libgnat/s-exponn.ads: Likewise. + * libgnat/s-expont.ads: Likewise. + * libgnat/s-exponu.ads: Likewise. + * libgnat/s-expuns.ads: Likewise. + * libgnat/s-fatflt.ads: Likewise. + * libgnat/s-fatgen.ads: Likewise. + * libgnat/s-fatlfl.ads: Likewise. + * libgnat/s-fatllf.ads: Likewise. + * libgnat/s-flocon.ads: Likewise. + * libgnat/s-geveop.ads: Likewise. + * libgnat/s-imageb.ads: Likewise. + * libgnat/s-imaged.ads: Likewise. + * libgnat/s-imagef.ads: Likewise. + * libgnat/s-imagei.ads: Likewise. + * libgnat/s-imagen.ads: Likewise. + * libgnat/s-imageu.ads: Likewise. + * libgnat/s-imagew.ads: Likewise. + * libgnat/s-imde128.ads: Likewise. + * libgnat/s-imde32.ads: Likewise. + * libgnat/s-imde64.ads: Likewise. + * libgnat/s-imen16.ads: Likewise. + * libgnat/s-imen32.ads: Likewise. + * libgnat/s-imenu8.ads: Likewise. + * libgnat/s-imfi32.ads: Likewise. + * libgnat/s-imfi64.ads: Likewise. + * libgnat/s-imgbiu.ads: Likewise. + * libgnat/s-imgboo.ads: Likewise. + * libgnat/s-imgcha.ads: Likewise. + * libgnat/s-imgint.ads: Likewise. + * libgnat/s-imgllb.ads: Likewise. + * libgnat/s-imglli.ads: Likewise. + * libgnat/s-imgllu.ads: Likewise. + * libgnat/s-imgllw.ads: Likewise. + * libgnat/s-imgrea.ads: Likewise. + * libgnat/s-imguns.ads: Likewise. + * libgnat/s-imguti.ads: Likewise. + * libgnat/s-imgwiu.ads: Likewise. + * libgnat/s-maccod.ads: Likewise. + * libgnat/s-multip.ads: Likewise. + * libgnat/s-pack03.ads: Likewise. + * libgnat/s-pack05.ads: Likewise. + * libgnat/s-pack06.ads: Likewise. + * libgnat/s-pack07.ads: Likewise. + * libgnat/s-pack09.ads: Likewise. + * libgnat/s-pack10.ads: Likewise. + * libgnat/s-pack100.ads: Likewise. + * libgnat/s-pack101.ads: Likewise. + * libgnat/s-pack102.ads: Likewise. + * libgnat/s-pack103.ads: Likewise. + * libgnat/s-pack104.ads: Likewise. + * libgnat/s-pack105.ads: Likewise. + * libgnat/s-pack106.ads: Likewise. + * libgnat/s-pack107.ads: Likewise. + * libgnat/s-pack108.ads: Likewise. + * libgnat/s-pack109.ads: Likewise. + * libgnat/s-pack11.ads: Likewise. + * libgnat/s-pack110.ads: Likewise. + * libgnat/s-pack111.ads: Likewise. + * libgnat/s-pack112.ads: Likewise. + * libgnat/s-pack113.ads: Likewise. + * libgnat/s-pack114.ads: Likewise. + * libgnat/s-pack115.ads: Likewise. + * libgnat/s-pack116.ads: Likewise. + * libgnat/s-pack117.ads: Likewise. + * libgnat/s-pack118.ads: Likewise. + * libgnat/s-pack119.ads: Likewise. + * libgnat/s-pack12.ads: Likewise. + * libgnat/s-pack120.ads: Likewise. + * libgnat/s-pack121.ads: Likewise. + * libgnat/s-pack122.ads: Likewise. + * libgnat/s-pack123.ads: Likewise. + * libgnat/s-pack124.ads: Likewise. + * libgnat/s-pack125.ads: Likewise. + * libgnat/s-pack126.ads: Likewise. + * libgnat/s-pack127.ads: Likewise. + * libgnat/s-pack13.ads: Likewise. + * libgnat/s-pack14.ads: Likewise. + * libgnat/s-pack15.ads: Likewise. + * libgnat/s-pack17.ads: Likewise. + * libgnat/s-pack18.ads: Likewise. + * libgnat/s-pack19.ads: Likewise. + * libgnat/s-pack20.ads: Likewise. + * libgnat/s-pack21.ads: Likewise. + * libgnat/s-pack22.ads: Likewise. + * libgnat/s-pack23.ads: Likewise. + * libgnat/s-pack24.ads: Likewise. + * libgnat/s-pack25.ads: Likewise. + * libgnat/s-pack26.ads: Likewise. + * libgnat/s-pack27.ads: Likewise. + * libgnat/s-pack28.ads: Likewise. + * libgnat/s-pack29.ads: Likewise. + * libgnat/s-pack30.ads: Likewise. + * libgnat/s-pack31.ads: Likewise. + * libgnat/s-pack33.ads: Likewise. + * libgnat/s-pack34.ads: Likewise. + * libgnat/s-pack35.ads: Likewise. + * libgnat/s-pack36.ads: Likewise. + * libgnat/s-pack37.ads: Likewise. + * libgnat/s-pack38.ads: Likewise. + * libgnat/s-pack39.ads: Likewise. + * libgnat/s-pack40.ads: Likewise. + * libgnat/s-pack41.ads: Likewise. + * libgnat/s-pack42.ads: Likewise. + * libgnat/s-pack43.ads: Likewise. + * libgnat/s-pack44.ads: Likewise. + * libgnat/s-pack45.ads: Likewise. + * libgnat/s-pack46.ads: Likewise. + * libgnat/s-pack47.ads: Likewise. + * libgnat/s-pack48.ads: Likewise. + * libgnat/s-pack49.ads: Likewise. + * libgnat/s-pack50.ads: Likewise. + * libgnat/s-pack51.ads: Likewise. + * libgnat/s-pack52.ads: Likewise. + * libgnat/s-pack53.ads: Likewise. + * libgnat/s-pack54.ads: Likewise. + * libgnat/s-pack55.ads: Likewise. + * libgnat/s-pack56.ads: Likewise. + * libgnat/s-pack57.ads: Likewise. + * libgnat/s-pack58.ads: Likewise. + * libgnat/s-pack59.ads: Likewise. + * libgnat/s-pack60.ads: Likewise. + * libgnat/s-pack61.ads: Likewise. + * libgnat/s-pack62.ads: Likewise. + * libgnat/s-pack63.ads: Likewise. + * libgnat/s-pack65.ads: Likewise. + * libgnat/s-pack66.ads: Likewise. + * libgnat/s-pack67.ads: Likewise. + * libgnat/s-pack68.ads: Likewise. + * libgnat/s-pack69.ads: Likewise. + * libgnat/s-pack70.ads: Likewise. + * libgnat/s-pack71.ads: Likewise. + * libgnat/s-pack72.ads: Likewise. + * libgnat/s-pack73.ads: Likewise. + * libgnat/s-pack74.ads: Likewise. + * libgnat/s-pack75.ads: Likewise. + * libgnat/s-pack76.ads: Likewise. + * libgnat/s-pack77.ads: Likewise. + * libgnat/s-pack78.ads: Likewise. + * libgnat/s-pack79.ads: Likewise. + * libgnat/s-pack80.ads: Likewise. + * libgnat/s-pack81.ads: Likewise. + * libgnat/s-pack82.ads: Likewise. + * libgnat/s-pack83.ads: Likewise. + * libgnat/s-pack84.ads: Likewise. + * libgnat/s-pack85.ads: Likewise. + * libgnat/s-pack86.ads: Likewise. + * libgnat/s-pack87.ads: Likewise. + * libgnat/s-pack88.ads: Likewise. + * libgnat/s-pack89.ads: Likewise. + * libgnat/s-pack90.ads: Likewise. + * libgnat/s-pack91.ads: Likewise. + * libgnat/s-pack92.ads: Likewise. + * libgnat/s-pack93.ads: Likewise. + * libgnat/s-pack94.ads: Likewise. + * libgnat/s-pack95.ads: Likewise. + * libgnat/s-pack96.ads: Likewise. + * libgnat/s-pack97.ads: Likewise. + * libgnat/s-pack98.ads: Likewise. + * libgnat/s-pack99.ads: Likewise. + * libgnat/s-parame.ads: Likewise. + * libgnat/s-rident.ads: Likewise. + * libgnat/s-spark.ads: Likewise. + * libgnat/s-spcuop.ads: Likewise. + * libgnat/s-stoele.ads: Likewise. + * libgnat/s-traent.ads: Likewise. + * libgnat/s-unstyp.ads: Likewise. + * libgnat/s-vaispe.ads: Likewise. + * libgnat/s-valspe.ads: Likewise. + * libgnat/s-vauspe.ads: Likewise. + * libgnat/s-veboop.ads: Likewise. + * libgnat/s-vector.ads: Likewise. + * libgnat/s-vs_int.ads: Likewise. + * libgnat/s-vs_lli.ads: Likewise. + * libgnat/s-vs_llu.ads: Likewise. + * libgnat/s-vs_uns.ads: Likewise. + * libgnat/s-vsllli.ads: Likewise. + * libgnat/text_io.ads: Likewise. + * libgnat/unchconv.ads: Likewise. + * libgnat/unchdeal.ads: Likewise. + * s-pack.ads.tmpl: Likewise. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * s-pack.adb.tmpl: Add '7' suffix to all existing constructs and + add variants with suffixes ranging from '0' to '6'. + (Get_@@): Dereference the address as a record object whose accessed + component is always the last. + (GetU_@@): Likewise. + (Set_@@): Likewise. + (SetU_@@): Likewise. + * libgnat/s-pack03.adb: Regenerate. + * 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. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114127 + * sem_aggr.adb (Is_Null_Aggregate): Replace test on Ada_Version + with test on Nkind. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Do not call + Checks_Off on the newly built N_Indexed_Component node but instead + set Kill_Range_Check on it. + * exp_ch4.ads (Expand_N_Unchecked_Expression): Delete. + * exp_ch4.adb (Expand_N_Indexed_Component): Remove handling of + N_Unchecked_Expression. + (Expand_N_Unchecked_Expression): Delete. + (Expand_N_Unchecked_Type_Conversion): Propagate the Assignment_OK + flag and rewrite the node manually. + * exp_util.adb (Insert_Actions): Remove handling of + N_Unchecked_Expression. + (Side_Effect_Free): Likewise. + * expander.adb (Expand): Likewise. + * gen_il-gen-gen_nodes.adb (N_Indexed_Component): Add flag + Kill_Range_Check for the purpose of semantics. + (N_Unchecked_Expression): Delete. + * gen_il-internals.ads (Type_Frequency): Remove entry for + N_Unchecked_Expression. + * gen_il-types.ads (Opt_Type_Enum): Remove N_Unchecked_Expression. + * pprint.adb (Expression_Image): Remove handling of + N_Unchecked_Expression. + * sem.adb (Analyze): Likewise. + * sem_ch4.ads (Analyze_Unchecked_Expression): Delete. + * sem_ch4.adb (Analyze_Unchecked_Expression): Likewise. + * sem_res.adb (Resolve_Unchecked_Expression): Likewise. + (Resolve): Remove handling of N_Unchecked_Expression. + (Resolve_Indexed_Component): Do not call Apply_Scalar_Range_Check + on the expressions if Kill_Range_Check is set on the node. + * sem_util.adb (Is_Non_Preelaborable_Construct): Remove handling of + N_Unchecked_Expression. + * sinfo.ads (Kill_Range_Check): Document it for N_Indexed_Component. + (Unchecked Expression): Delete specification. + * sprint.adb (Sprint_Node_Actual): Remove handling of + N_Unchecked_Expression. + * tbuild.ads (Checks_Off): Delete. + * tbuild.adb (Checks_Off): Likewise. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/112979 + * sem_ch8.adb (Find_Selected_Component): Try to recognize the + object operation notation only if the selector is a subprogram. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/113037 + * sem_prag.adb (Analyze_Pragma) <Pragma_Invariant>: Reject types + that are derived from formal private types. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/112821 + * scans.ads (Token_Type): Remove Tok_Left_Bracket from Namext. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114300 + * exp_ch7.adb (Attach_Object_To_Master_Node): Propagate the + Is_Ignored_Ghost_Entity flag from the finalization procedure. + (Build_Finalizer.Process_Declarations): Move up the test on + Is_Ignored_Ghost_Entity. + * exp_util.adb (Requires_Cleanup_Actions): Likewise. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/55725 + * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Be + prepared for no collection if the access type is anonymous. + * exp_ch7.adb (Build_Anonymous_Collection): Return early for the + anonymous access result type of a library function. + +2024-11-12 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.adb (Make_Variant_Comparison): Accept new types in + expansion. + * rtsfind.adb (Get_Unit_Name): Support SPARK.Big_Integers. + * rtsfind.ads (RTU_Id, RE_Id, RE_Unit_Table): Support new type + and its enclosing unit. + * sem_prag.adb (Analyze_Pragma): Support new type in pragma + Loop_Variant. + (Analyze_Subprogram_Variant_In_Decl_Part): Support new type in + aspect Subprogram_Variant. + +2024-11-12 Viljar Indus <indus@adacore.com> + + * libgnarl/s-interr__vxworks.ads (new): A VXWorks specific + version of the file where Register_Interrupt_Handler is marked + with the Obsolescent pragma. + * libgnarl/s-interr__vxworks.adb: Remove pragma Obsoloescent + that had no effect. + * Makefile.rtl: Add entries for using the + libgnarl/s-interr__vxworks.ads file. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/113868 + * par-ch6.adb (P_Subprogram) <Scan_Body_Or_Expression_Function>: + Add delta aggregate alongside the other forms of aggregates. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * sem_aggr.adb (Resolve_Array_Aggregate): In the case of an others + choice with a box, do not call Resolve_Aggr_Exp and give the error + for a multidimensional array directly. + (Resolve_Aggr_Expr): Remove bypasses for above case. + +2024-11-12 Ronan Desplanques <desplanques@adacore.com> + + * frontend.adb (Frontend): Move call to Fmap.Initialize ... + * gnat1drv.adb (Gnat1drv): ... here. Look up Fmap when loading System. + * par-prag.adb (Prag): Allow pragma Source_File_Name for System when + it confirms an existing mapping. + +2024-11-12 Richard Kenner <kenner@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix minor + markup errors. + * doc/gnat_ugn/gnat_utility_programs.rst: Likewise. + * gnat_ugn.texi: Regenerate. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * s-pack.adb.tmpl: Add "with System.Address_To_Access_Conversions". + (Cluster_Ref): Delete. + (AAC): New instance of System.Address_To_Access_Conversions. + (Rev_Cluster_Ref): Delete. + (Rev_ACC): New instance of System.Address_To_Access_Conversions. + (ClusterU_Ref): Delete. + (AACU): New instance of System.Address_To_Access_Conversions. + (Rev_ClusterU_Ref): Delete. + (Rev_ACCU): New instance of System.Address_To_Access_Conversions. + (Get_@@): Use a direct address-to-access conversion. + (GetU_@@): Likewise. + (Set_@@): Likewise. + (SetU_@@): Likewise. + * libgnat/s-pack03.adb: Regenerate. + * 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. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * sinfo.ads (Assignment_OK): Remove obsolete ??? comment. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * checks.adb (Range_Checks_Suppressed): Remove test on the + Kill_Range_Checks flag. + * einfo.ads (Kill_Range_Checks): Delete. + * gen_il-fields.ads (Opt_Field_Enum): Remove Kill_Range_Checks. + * gen_il-gen-gen_entities.adb (Entity_Kind): Likewise. + * sem_ch3.adb (Record_Type_Declaration): Do not set the + Kill_Range_Checks flag. + * sem_util.adb (Denotes_Discriminant): In a default expression, + also return True for a discriminal. + +2024-11-12 Steve Baird <baird@adacore.com> + + * prep.adb (Expression): Improve error message text when an + implicitly-defined Boolean-valued symbol is used in a context that + requires an integer value. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Directly test + the node and remove dead code for extended return statements. + +2024-11-12 Johannes Kliemann <kliemann@adacore.com> + + * Makefile.rtl: Use libgnat/s-parame__aarch64-linux.adb for + s-parame.adb on aarch64-linux. + * libgnat/s-parame__aarch64-linux.adb: Add file. + +2024-11-12 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/the_implementation_of_standard_i_o.rst + (Shared Files): Add trailing period. + * libgnat/s-ficobl.ads (AFCB): Reflect new behavior in comment. + * libgnat/s-fileio.adb (Open): Detect inconsistent sharing, + just like we do in System.File_IO.Reset. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-11-12 squirek <squirek@adacore.com> + + * accessibility.adb (Type_Access_Level): Add handling for + subprogram aliases. + +2024-11-12 squirek <squirek@adacore.com> + + * exp_ch4.adb (Expand_N_Type_Conversion): Add special runtime check + generation for mutably tagged objects. + +2024-11-12 Douglas B Rupp <rupp@adacore.com> + + * libgnat/a-calcon.adb (To_Ada_Time) (To_Duration) + (To_Struct_Timespec) (To_Unix_Time): Mark as obsolescent. + (To_Ada_Time_64) (To_Duration_64) (To_Struct_Timespec_64) + (To_Unix_Time_64): New. + * libgnat/a-calcon.ads (To_Ada_Time) (To_Duration) + (To_Struct_Timespec) (To_Unix_Time): Mark as obsolescent. + (To_Ada_Time_64) (To_Duration_64) (To_Struct_Timespec_64) + (To_Unix_Time_64): New. + * libgnat/a-calend.adb (To_Ada_Time) (To_Duration) + (To_Struct_Timespec) (To_Unix_Time): Mark as obsolescent. + (To_Ada_Time_64) (To_Duration_64) (To_Struct_Timespec_64) + (To_Unix_Time_64): New. + * libgnat/a-calend.ads (To_Ada_Time) (To_Duration) + (To_Struct_Timespec) (To_Unix_Time): Mark as obsolescent. + (To_Ada_Time_64) (To_Duration_64) (To_Struct_Timespec_64) + (To_Unix_Time_64): New. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/117018 + * exp_aggr.adb (Build_Array_Aggr_Code): Do not expect the + Loop_Actions field to be already present on association nodes. + * exp_util.adb (Insert_Actions): For association nodes, insert + into the Loop_Actions field only if it is already present. + * sem_aggr.adb (Resolve_Array_Aggregate): Add Iterated parameter. + (Resolve_Aggregate): Adjust calls to Resolve_Array_Aggregate. + (Resolve_Aggr_Expr): Add Iterated_Elmt defaulted parameter and + a default for Single_Elmt. Adjust call to Resolve_Array_Aggregate. + Preanalyze a copy of the expression in an iteration context. + (Resolve_Iterated_Component_Association): Pass Iterated_Elmt as + True to Resolve_Aggr_Expr and remove processing of Loop_Actions. + Do not check incorrect use of dynamically tagged expression in + an iteration context. + (Resolve_Iterated_Association): Use Copy_Separate_Tree instead of + New_Copy_Tree and set the Parent field of the result. + (Resolve_Delta_Array_Aggregate): Likewise. Only preanalyze the + copy instead of analyzing it. + +2024-11-12 Richard Kenner <kenner@adacore.com> + + * doc/gnat_ugn/about_this_guide.rst: Add information about GNAT LLVM. + Be consistent about spelling of "back end". + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Likewise. + * doc/gnat_ugn/gnat_and_program_execution.rst: Be consistent about + spelling of "back end". + * doc/gnat_ugn/the_gnat_compilation_model.rst: Likewise. + * gnat_ugn.texi: Regenerate. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * mdll.adb (Build_Dynamic_Library): Fix indentation. + +2024-11-12 Pascal Obry <obry@adacore.com> + + * mdll.adb: Use the same procedure to create relocatable or non + relocatable DLL. The only difference is wether the base address is + passed to the final linker. If no base-address is given the DLL is + relocatable. + +2024-11-12 squirek <squirek@adacore.com> + + * inline.adb (In_Main_Unit_Or_Subunit): Use Other_Comp_Unit instead of + Spec_Or_Body_Lib_Unit. + (Must_Inline): Use Other_Comp_Unit instead of Spec_Or_Body_Lib_Unit. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Also return + True for functions returning on the secondary stack or returning + a by-reference type if the back end exposes its return slot. + (Expand_Array_Aggregate): Call Is_Build_In_Place_Aggregate_Return + to spot aggregates to be built in place. + * exp_ch3.adb (Make_Allocator_For_Return): Add missing condition + in assertion pragma deduced from Expand_Subtype_From_Expr. + * exp_ch6.adb (Expand_Simple_Function_Return): Rewrite the statement + as an extended return statement if the expression is an aggregate + whose expansion is delayed. Properly relocate the expression in + this case. + * sem_ch6.adb: Add clauses for Exp_Aggr. + (Analyze_Function_Return): Do not apply the predicate check to an + aggregate whose expansion is delayed. Extended the processing of + case expressions to all conditional expressions. + +2024-11-12 Ronan Desplanques <desplanques@adacore.com> + + * gnat2.gpr: New file. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Expand_Delta_Array_Aggregate): Move declaration. + (Expand_Delta_Record_Aggregate): Likewise. + (Expand_Container_Aggregate): Likewise. Move implementation to + Build_Container_Aggr_Code. Implement built-in-place expansion + for object declarations and allocators. + (Build_Container_Aggr_Code): New function containing most of the + code of the original Expand_Container_Aggregate. Do not build a + temporary for the size calculation. Minor formatting tweaks. + (Expand_N_Aggregate): Add comment. + * exp_ch4.adb (Expand_Allocator_Expression): Detect the case of + a container aggregate as qualified expression. Do not apply the + predicate check on entry in this case and rewrite the allocator. + * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): Deal + with Last_Aggregate_Assignment first to compute the attachment + point (as already done in Attach_Object_To_Master_Node). + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * sem_aux.ads (Has_Unconstrained_Elements): Delete. + * sem_aux.adb (Has_Unconstrained_Elements): Likewise. + * sem_ch3.adb (Analyze_Object_Declaration): Remove obsolete code. + +2024-11-12 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem.adb (Process_Bodies_In_Context): check that Spec's unit is + an N_Lib_Unit_Declaration_Id. + +2024-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch5.adb (Expand_Assign_Array): Make Act_Rhs a constant and + do not recompute it, as well as R_Type, when there is a change of + representation. Move comment about the RHS from here to... + (Expand_N_Assignment_Statement): ...here. + +2024-11-12 Marc Poulhiès <poulhies@adacore.com> + + * xspack.py: New + * s-pack.ads.tmpl: New. + * s-pack.adb.tmpl: New. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Recognize null + string literal subtypes and set their bounds to 1 .. 0. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove special + case for string literal subtypes. + +2024-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (process_decls): Remove tests on Nkind that + contain a typo and would be redundant if written correctly. + +2024-11-04 Bob Duff <duff@adacore.com> + + * sinfo.ads (Library_Unit): Rewrite documentation. Note that + the "??? not (always) true..." comment was not true; + the Subunit_Parent never points to the spec. + (N_Compilation_Unit): Improve documentation. The Aux_ node + was not created to solve the mentioned problems; it was + created because the size of nodes was limited. + Misc doc improvements. + * sinfo-utils.ads: Add new wrappers for Library_Unit field. + Use subtypes with predicates for the parameters. + (First_Real_Statement): Still used in codepeer. + * sinfo-utils.adb: Add new wrappers for Library_Unit field, + with suitable assertions. + * sem_prag.adb: Use new field wrapper names. + (Matching_Name): New name for Same_Name to avoid + potential confusion with the other function with the + same name (Sem_Util.Same_Name), which is also called + in this same file. + (Matching_Convention): Change Same_Convention to match + Matching_Name. + * sem_util.ads (Same_Name): Improve comments; the old comment + implied that it works for all names, which was not true. + * sem_util.adb: Use new field wrapper names. + * gen_il-gen.adb: Rename N_Unit_Body to be N_Lib_Unit_Body. + Plain "unit" is ambiguous in Ada (library unit, compilation + unit, program unit, etc). + Add new union types N_Lib_Unit_Declaration and + N_Lib_Unit_Renaming_Declaration. + * gen_il-gen-gen_nodes.adb (Compute_Ranges): Raise exception + earlier (it is already raised later, in Verify_Type_Table). + Add a comment explaining why it might be raised. + * gen_il-types.ads: Rename N_Unit_Body to be N_Lib_Unit_Body, and add + new N_Lib_Unit_Declaration and N_Lib_Unit_Renaming_Declaration. + * einfo.ads: Fix obsolete comment (was left over from before + the "variable-sized nodes"). + * exp_ch7.adb: Use new field wrapper names. + * exp_disp.adb: Use new field wrapper names. + * exp_unst.adb: Use new field wrapper names. + * exp_util.adb: Use new field wrapper names. + * fe.h: Add new field wrapper names. These are currently not + used in gigi, but this change prepares for using them in + gigi. + * inline.adb: Use new field wrapper names. + * lib.adb: Use new field wrapper names. + Comment improvements. + * lib-load.adb: Use new field wrapper names. + Minor cleanup. + * lib-writ.adb: Use new field wrapper names. + * live.adb: Use new field wrapper names. + * par-load.adb: Use new field wrapper names. + Comment improvements. Minor cleanup. + * rtsfind.adb: Use new field wrapper names. + * sem.adb: Use new field wrapper names. + * sem_ch10.adb: Use new field wrapper names. + Comment improvements. Minor cleanup. + * sem_ch12.adb: Use new field wrapper names. + * sem_ch7.adb: Use new field wrapper names. + * sem_ch8.adb: Use new field wrapper names. + * sem_elab.adb: Use new field wrapper names. + Comment improvements. + * errout.adb (Output_Source_Line): Fix blowup in some + obscure cases, where List_Pragmas is not fully set up. + +2024-11-04 Nicolas Roche <roche@adacore.com> + + * libgnat/a-stwiun__shared.adb: Restructure code to inline only + the most common cases. Remove whenever possible runtime checks. + * libgnat/a-stwiun__shared.ads: Add Inline => True to Append + variants and Element. + +2024-11-04 Nicolas Roche <roche@adacore.com> + + * libgnat/a-stzunb__shared.adb: Restructure code to inline only + the most common cases. Remove whenever possible runtime checks. + * libgnat/a-stzunb__shared.ads: Add Inline => True to Append + variants and Element. + +2024-11-04 Nicolas Roche <roche@adacore.com> + + * libgnat/a-strunb__shared.adb: Restructure code to inline only + the most common cases. Remove whenever possible runtime checks. + * libgnat/a-strunb__shared.ads: Add Inline => True to Append + variants and Element. + +2024-11-04 Steve Baird <baird@adacore.com> + + * aspects.ads: Add Aspect_Extended_Access to Aspect_Id + enumeration. + * par-prag.adb: Add Pragma_Extended_Access to list of pragmas that + get no interesting processing in the parser. + * sem_attr.adb: Relax legality checks on Access/Unchecked_Access + attribute references if access type is Extended_Access. + * sem_ch12.adb (Validate_Access_Type_Instance): For an instance of + a generic with a formal access type, check that formal and actual + agree with with respect to Extended_Access aspect. + * sem_prag.adb (Analyze_Pragma): Add analysis code for pragma + Extended_Access. Set Pragma_Extended_Access element in Sig_Flags + aggregate. + * sem_prag.ads: Set Pragma_Extended_Access element in + Aspect_Specifying_Pragma aggregate. + * sem_res.adb (Valid_Conversion): Disallow + extended-to-not-extended access conversion. + * sem_util.adb (Is_Extended_Access_Access_Type): Implement new + function. + (Is_Aliased_View): If (and only if) the new Boolean For_Extended + parameter is True, then a slice of an aliased non-bitpacked array + is aliased, a constrained nominal subtype does not force a result + of False, and a dereference of an extended access value is + aliased. The last point is somewhat subtle. This is how we prevent + covert fat-to-nonfat type conversions via things like + "Not_Extended_Type'(Extended_Ptr.all'Access)" or passing + Extended_Ptr.all as an actual parameter corresponding to an + explicitly aliased formal parameter. + * sem_util.ads (Is_Extended_Access_Type): Declare new function. + (Is_Aliased_View): Add new defaults-False parameter For_Extended. + * snames.ads-tmpl: Declare Name_Extended_Access Name_Id constant + and Pragma_Extended_Access Pragma_Id enumeration literal. + +2024-11-04 Viljar Indus <indus@adacore.com> + + * sem_warn.adb (Check_One_Unit): When a system extension is + present always check entities from that unit before marking + the unit unreferenced. + +2024-11-04 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/113036 + * freeze.adb (Freeze_Expression): Deal with freezing actions coming + from within nested internal loops present in spec expressions. + +2024-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * sem_aggr.adb (Resolve_Iterated_Component_Association): Change to + function returning Boolean and return the result of the call made + to Resolve_Aggr_Expr. + (Resolve_Array_Aggregate): Return failure status if the call to + Resolve_Iterated_Component_Association returns false. + +2024-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * sem_aggr.adb (Resolve_Iterated_Component_Association): Move up + declaration of Expr and remove dead code from older processing. + +2024-11-04 Viljar Indus <indus@adacore.com> + + * usage.adb: Update the wording for -gnatVa and -gnatVd. + +2024-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.ads (Is_Two_Pass_Aggregate): Beef up comment. + +2024-11-04 Ronan Desplanques <desplanques@adacore.com> + + * comperr.adb (Compiler_Abort): Display message in exception handler. + +2024-11-04 Javier Miranda <miranda@adacore.com> + + * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Use the + base type of the type imposed by the context for building the + interpolated string image; required to allow the expander adding + the missing runtime check when the target type is constrained. + (Apply_Static_Length_Check): New subprogram. + +2024-11-04 Daniel King <dmking@adacore.com> + + * Makefile.rtl: Use s-secsta__cheri.adb on Morello CheriBSD. + * libgnat/s-secsta__cheri.adb: New file. + +2024-11-04 Daniel King <dmking@adacore.com> + + * libgnarl/s-intman__cheribsd.adb: Add SIGPROT to interrupt list. + +2024-11-04 Viljar Indus <indus@adacore.com> + + * diagnostics-sarif_emitter.adb (Print_Runs): Add printing for + the invocation node that consists of a single invocations that + is composed of the commandLine and executionSuccessful attributes. + +2024-11-04 Viljar Indus <indus@adacore.com> + + * diagnostics-sarif_emitter.adb (Print_SARIF_Report): Add a + Schema field to the SARIF report. + +2024-11-04 Ronan Desplanques <desplanques@adacore.com> + + * libgnarl/s-mudido__affinity.adb (Unchecked_Set_Affinity): Set new + ATCB component. + * libgnarl/s-taprop__linux.adb (Create_Task): Only set CPU affinity + when required. + (Requires_Affinity_Change): New subprogram. + (Set_Task_Affinity): Likewise. + * libgnarl/s-tarest.adb (Create_Restricted_Task): Adapt to + Initialize_ATCB change. + * libgnarl/s-taskin.adb (Initialize_ATCB): Update parameter list. + Record whether aspects were explicitly specified. + * libgnarl/s-taskin.ads (Common_ATCB): Add component. + * libgnarl/s-tassta.adb (Create_Task): Update call to Initialize_ATCB. + * libgnarl/s-tporft.adb (Register_Foreign_Thread): Likewise. + +2024-11-04 Raphaël AMIARD <amiard@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Fix format for second line of + warning (should be a continuation line) + +2024-11-04 Daniel King <dmking@adacore.com> + + * Makefile.rtl: Build support for Morello CheriBSD. + * libgnarl/s-intman__cheribsd.adb: New file for CheriBSD. + * libgnarl/s-osinte__cheribsd.ads: New file for CheriBSD. + +2024-11-04 Daniel King <dmking@adacore.com> + + * libgnat/i-cheri.ads: Remove exception declarations. + * libgnat/i-cheri-exceptions.ads: New file. + +2024-11-04 Daniel King <dmking@adacore.com> + + * libgnat/s-oslock__posix.ads: Fix alignment of pthread_mutex_t + for CHERI targets. + +2024-11-04 Claire Dross <dross@adacore.com> + + * Makefile.rtl: Remove references to moved units. + * libgnat/a-chtgfk.adb: Removed. + * libgnat/a-chtgfk.ads: Removed. + * libgnat/a-chtgfo.adb: Removed. + * libgnat/a-chtgfo.ads: Removed. + * libgnat/a-cohata.ads (Generic_Formal_Hash_Table_Types): Removed. + +2024-11-04 Raphaël AMIARD <amiard@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Adjust documentation. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-11-04 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/117051 + * freeze.adb (Freeze_Entity): Call the layout procedure on subtypes + declared in a generic unit when they are static. + +2024-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * adaint.c: Replace initialize.c with rtinit.c in comment. + * sysdep.c (__gnat_set_mode): Fix reference in comment. + * libgnat/i-cstrea.ads (Content_Encoding): Adjust comment. + +2024-11-04 Bob Duff <duff@adacore.com> + + * sem_ch10.adb (Analyze_With_Clause): In the case of a + self-referential with clause, if there is a subsequent use clause + for the same package (which is necessarily useless), remove it from + the context clause. Reenable the warning. + +2024-11-04 Javier Miranda <miranda@adacore.com> + + * einfo.ads (Is_Dispatch_Table_Wrapper): Complete documentation. + * exp_ch6.adb (Install_Class_Preconditions_Check): Dispatch table + wrappers do not require installing the check since it is performed + by the caller. + (Class_Preconditions_Subprogram): Use new predicate Is_LSP_Wrapper. + * freeze.adb (Check_Inherited_Conditions): Rename Postcond_Wrappers to + Condition_Wrappers to handle implicitly inherited subprograms that + implement pre-/postconditions inherited from interface primitives. + Use new predicate Is_LSP_Wrapper. + * sem_disp.adb (Check_Dispatching_Operation): Complete assertion to + handle functions returning class-wide types. + * exp_util.ads (Is_LSP_Wrapper): New subprogram. + * exp_util.adb (Is_LSP_Wrapper): New subprogram. + * contracts.adb (Process_Spec_Postconditions): Use Is_LSP_Wrapper. + (Process_Inherited_Conditions): Use Is_LSP_Wrapper. + * sem_ch6.adb (New_Overloaded_Entity): Use Is_LSP_Wrapper. + * sem_util.adb (Nearest_Class_Condition_Subprogram): Use Is_LSP_Wrapper. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch7.adb (Uninstall_Declarations): Mark Taft amendment + types like we mark other types declared in private package + declarations. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb (Expand_N_Op_Multiply): Remove extra whitespace. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb (Expand_N_Op_Subtract): Replace numeric literal + with universal integer constant, just like it is done in + expansion of addition operator. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (In_Decl): Rename and move local variable where + it is used. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Type_In_P): Add non-null qualifier. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_Intrinsic_Operator) + (Resolve_Intrinsic_Unary_Operator): Replace traversals of + homonyms with a direct lookup. + +2024-11-04 Piotr Trojanek <trojanek@adacore.com> + + * sem_res.adb (Resolve_Intrinsic_Unary_Operator): Disable when + expansion is inactive. + +2024-10-29 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc-interface/misc.cc (internal_error_function): Update for + m_printer becoming reference printer. + +2024-10-29 Marc Poulhiès <poulhies@adacore.com> + + * types.h: fix static_assert. + +2024-10-26 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/62122 + * doc/gnat_rm/implementation_defined_attributes.rst + (Unrestricted_Access): Remove null exclusion. + * gnat_rm.texi: Regenerate. + +2024-10-25 Tom Tromey <tromey@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Use gnu_fat_type as the type + context for a XUB type. + +2024-10-25 Tom Tromey <tromey@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Update some calls to + create_type_decl. + * gcc-interface/gigi.h (create_type_decl): Add can_be_nameless parameter. + * gcc-interface/utils.cc (create_type_decl): Add can_be_nameless + parameter. Set DECL_NAMELESS on type decl. + +2024-10-25 Tom Tromey <tromey@adacore.com> + + * gcc-interface/utils.cc (record_builtin_type, create_type_stub_decl): + Set DECL_NAMELESS on type decls. + +2024-10-25 Tom Tromey <tromey@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Pass 'true' to + create_type_decl when creating XUA type. + +2024-10-25 Tom Tromey <tromey@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Set TYPE_NAMELESS on + XUB types. + +2024-10-25 Tom Tromey <tromey@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Pass artificial_p to + build_unc_object_type. + * gcc-interface/gigi.h (build_unc_object_type): Update. + * gcc-interface/utils.cc (build_unc_object_type) Add artificial_p + parameter. + (build_unc_object_type_from_ptr): Update. + +2024-10-25 Tom Tromey <tromey@adacore.com> + + * gcc-interface/decl.cc (is_artificial): New function. + (gnat_to_gnu_entity): Use it. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (Call_to_gnu): If the formal is passed by + reference and the actual is a type conversion but not addressable, + create the temporary in the target type of the conversion if this + is needed to enforce strict aliasing. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/116551 + * gcc-interface/trans.cc (node_is_atomic) <N_Identifier>: Return + false if the type of the entity is an unconstrained array type. + (node_is_volatile_full_access) <N_Identifier>: Likewise. + +2024-10-25 Bob Duff <duff@adacore.com> + + * sem_ch10.adb (Analyze_With_Clause): Temporarily disable warning. + +2024-10-25 Bob Duff <duff@adacore.com> + + * sem_ch10.adb: (Analyze_With_Clause): Check for self-referential + with clause. Give a warning, and set Is_Implicit_With, which we + are reusing in this obscure case even though it's not really + implicit. + (Analyze_Context): Remove check for self-referential with clause. + It wasn't correct -- it only triggered for Acts_As_Spec + subprograms. Corrected check is now in Analyze_With_Clause. + (Implicit_With): Rename to be Is_Implicit_With. Misc cleanup, + comment fixes. + (Process_Spec_Clauses): Remove default for Exit_On_Self parameter. + Use "exit when" instead of if statement. + * sinfo.ads (Implicit_With): Rename to be Is_Implicit_With. + Document new use for self-referential withs. + * ali.adb (Scan_ALI): Use an aggregate to initialize Withs entry. + * exp_put_image.adb (Preload_Root_Buffer_Type): Make this a + once-only procedure. + * sem_util.ads (Is_Ancestor_Package): Fix comment -- a libraryunit + is an ancestor of itself, but this doesn't return True in that + case. + * sem_util.adb (Is_Ancestor_Package): Better to initialize things + on their declaration. + * lib-load.adb: Minor comment fix. + * sem_prag.adb: Implicit_With --> Is_Implicit_With. Minor comment + fix. + * gen_il-fields.ads: Implicit_With --> Is_Implicit_With. + * gen_il-gen-gen_nodes.adb: Likewise + * lib.adb: Likewise + * lib-writ.adb: Likewise + * rtsfind.adb: Likewise + * sem_cat.adb: Likewise + * sem_ch12.adb: Likewise + * sem_ch8.adb: Likewise + * sem_elab.adb: Likewise + * sem_warn.adb: Likewise + * gcc-interface/trans.cc: (Implicit_With): Rename to be + Is_Implicit_With. + +2024-10-25 Tom Tromey <tromey@adacore.com> + + * gcc-interface/trans.cc (namespace_map): New global. + (Compilation_Unit_to_gnu): Also handle N_With_Clause and + N_Use_Package_Clause. + (get_or_create_namespace, get_namespace): New functions. + (gnat_to_gnu) <N_Package_Renaming_Declaration>: Call + get_namespace. + <N_Use_Package_Clause, N_With_Clause>: Likewise. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb (Freeze_Expression.In_Expanded_Body): Tweak comments. + +2024-10-25 Javier Miranda <miranda@adacore.com> + + * freeze.adb (Freeze_Entity): If the entity is an access-to-subprogram + type declaration that pre/postcondition contracts, build the + wrapper + (if not previously done as part of processing aspects). + * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Add missing support + for building the wrapper when the access type has pragmas + Pre_Class/Post_Class. + (Build_Access_Subprogram_Wrapper_Declaration): New subprogram. + * sem_ch3.ads (Build_Access_Subprogram_Wrapper): Spec moved to the + public part of the package. + * sem_prag.adb (Analyze_Pre_Post_Condition): Store in the tree copy of + class-wide pre/postcondition expression; required to merge it with + inherited conditions. + (Is_Valid_Assertion_Kind): Added Pre_Class and Post_Class. + +2024-10-25 Richard Kenner <kenner@adacore.com> + + * doc/gnat_ugn/about_this_guide.rst: Numerous changes to language + and style and add some LLVM-specific information. + * doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Likewise. + * doc/gnat_ugn/example_of_binder_output.rst: Likewise. + * doc/gnat_ugn/getting_started_with_gnat.rst: Likewise. + * doc/gnat_ugn/gnat_and_program_execution.rst: Likewise. + * doc/gnat_ugn/gnat_utility_programs.rst: Likewise. + * doc/gnat_ugn/inline_assembler.rst: Likewise. + * doc/gnat_ugn/platform_specific_information.rst: Likewise. + * doc/gnat_ugn/the_gnat_compilation_model.rst: Likewise. + * gnat_ugn.texi: Regenerate. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/43485 + * libgnarl/a-retide.adb: Add with clause for System.Soft_Links. + (Delay_Until): Defer and undefer abort around the call to the + Timed_Delay routine of System.Task_Primitives.Operations. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb (Freeze_Expression.In_Expanded_Body): Also return True + for the body of a helper/wrapper built for class-wide preconditions. + +2024-10-25 Javier Miranda <miranda@adacore.com> + + * sem_prag.adb (Analyze_Pre_Post_Condition): Allow the use of + pragma Pre_Class/Post_Class with abstract subprograms. + +2024-10-25 Javier Miranda <miranda@adacore.com> + + * sem_ch3.adb (Record_Type_Definition): For tagged types, add + the missing decoration to the First_Entity in the corresponding + class-wide type entity. + +2024-10-25 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Adjust documentation. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-10-25 Richard Kenner <kenner@adacore.com> + + * comperr.ads (Compiler_Error): Update documentation. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * uintp.ads (Type_Size_For): New function declaration. + * uintp.adb (Type_Size_For): New function body. + * exp_imgv.adb (Rewrite_Object_Image): Call Type_Size_For to get + the size of a narrower integer type. + +2024-10-25 Tonu Naks <naks@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: update + simpler accessibility model + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-10-25 Bob Duff <duff@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: + Minor wording improvments. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-10-25 squirek <squirek@adacore.com> + + * libgnarl/s-taprop__mingw.adb: Modify stack size and update + documentation. + +2024-10-25 Javier Miranda <miranda@adacore.com> + + * gen_il-fields.ads: New node field (Is_Expanded_Prefixed_Call). + * gen_il-gen-gen_nodes.adb: New semantic field for N_Function_Call + and N_Procedure_Call_Statement nodes. + * sem_ch4.adb (Complete_Object_Operation): Mark the rewritten node + with the Is_Expanded_Prefixed_Call flag. + * sem_res.adb (Check_Prefixed_Call): Code cleanup and addition of + documentation. + (Resolve_Actuals): Add a null-exclusion check on the + prefix of the call when it is an access-type. + * sinfo.ads: Adding new semantic flag (Is_Expanded_Prefixed_Call) + to N_Function_Call and N_Procedure_Call_Statement nodes. + * debug.adb: Adding documentation for switch d_P. + +2024-10-25 Raphaël AMIARD <amiard@adacore.com> + + * sem_ch13.adb (Analyze_One_Aspect): change the call to + `Error_Msg_GNAT_Extension` to allow this aspect in core + extensions. Put the code path in core extensions. + * exp_util.adb (Name_Of_Controlled_Prim_Op): Put the code path + in core extensions + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * sem_type.ads (Interp ): Add Opnd_Typ component and remove default + value for Abstract_Op component. + (Add_One_Interp): Rename Opnd_Type parameter to Opnd_Typ. + * sem_type.adb (Add_One_Interp): Likewise. + (Add_One_Interp.Add_Entry): Record the operand type as well. + (Collect_Interp): Record Empty for the operand type. + (Disambiguate.Is_Ambiguous_Boolean_Operator): New predicate. + (Disambiguate): Use it to detect recorded ambiguity cases. + * sem_ch4.adb (Find_Comparison_Equality_Types): Add commentary. + +2024-10-25 Javier Miranda <miranda@adacore.com> + + * sem_ch8.adb (Freeze_Actual_Profile): Do not report error + on incomplete types, since they do not cause freezing. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * namet.adb (Append_Decoded_With_Brackets): Fix condition for the + cheap test at the beginning of the loop. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115507 + * rtsfind.ads (RE_Id): Add RE_Enum_[Wide_]Wide_String_To_String. + (RE_Unit_Table): Add entries for the new values. + * exp_attr.adb (Is_User_Defined_Enumeration_Type): New predicate. + (Expand_N_Attribute_Reference) <Attribute_Wide_Value>: Build a call + to RE_Enum_Wide_String_To_String for user-defined enumeration types. + <Attribute_Wide_Wide_Value>: Likewise with + RE_Enum_Wide_Wide_String_To_String. + * exp_imgv.adb (Expand_Value_Attribute): Adjust to above. + * libgnat/s-wchwts.ads (Enum_Wide_String_To_String): New function. + (Enum_Wide_Wide_String_To_String): Likewise. + * libgnat/s-wchwts.adb: Add clauses for System.Case_Util. + (Normalize_String): New local procedure. + (Enum_Wide_String_To_String): New function body. + (Enum_Wide_Wide_String_To_String): Likewise. + +2024-10-25 Javier Miranda <miranda@adacore.com> + + * sem_res.adb (Resolve_Actuals): Add checks for incomplete + type actuals. + +2024-10-25 Raphaël AMIARD <amiard@adacore.com> + + * par-ch5.adb (P_Sequence_Of_Statements): Forbid repr clauses in + handled_statements. + +2024-10-25 Raphaël AMIARD <amiard@adacore.com> + + * sem_util.ads: Introduce Inspect_Deferred_Constant_Completion + on a single object declaration, to better factorize the code + * sem_util.adb: Introduce aforementioned overload + * sem_ch4.adb (Analyze_Expression_With_Actions): Check deferred + constant completions + * sem_ch5.adb (Analyze_Statements): Check deferred constant + completions + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Expand_Actuals.Is_Legal_Copy): Return True for an + initialization procedure with a full access formal parameter. + (Expand_Actuals.Requires_Atomic_Or_Volatile_Copy): Return True if + the formal parameter is of a full access unconstrained array type. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + Gaius Mulley <gaiusmod2@gmail.com> + + PR other/116613 + * gcc-interface/misc.cc: Add #define INCLUDE_MEMORY + * gcc-interface/trans.cc: Likewise. + * gcc-interface/utils.cc: Likewise. + +2024-10-11 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/116498 + PR ada/117087 + * gcc-interface/decl.cc (validate_size): Fix thinko. + +2024-10-09 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/117038 + * fe.h (struct c_array): Add 'const' to declaration of pointer. + (C_Source_Buffer): Use consistent formatting. + * par-ch3.adb (P_Component_Items): Properly set Aliased_Present on + access definition. + * sinput.ads: Remove clause for Interfaces.C. + (C_Array): Change type of Length to Integer and make both components + aliased. Remove Convention aspect. + (C_Source_Buffer): Remove all aspects. + * sinput.adb (C_Source_Buffer): Adjust to above change. + +2024-10-09 Eric Botcazou <ebotcazou@adacore.com> + + * Makefile.rtl: Remove HP-UX 10 section. + * libgnarl/s-osinte__hpux-dce.ads: Delete. + * libgnarl/s-osinte__hpux-dce.adb: Likewise. + * libgnarl/s-taprop__hpux-dce.adb: Likewise. + * libgnarl/s-taspri__hpux-dce.ads: Likewise. + * libgnat/s-oslock__hpux-dce.ads: Likewise. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/116498 + * gcc-interface/decl.cc (validate_size): Use the size of the default + pointer mode as the minimum size for access types and fat pointers. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (Raise_Error_to_gnu) <CE_Invalid_Data>: + Do not the generate range information if the value is a call to a + Rep_To_Pos function. + +2024-10-08 Olivier Hainque <hainque@adacore.com> + + * sigtramp-armdroid.c: Refactor into ... + * sigtramp-android.c, sigtramp-android-asm.h: New files. + * Makefile.rtl (arm/aarch64-android section): Add + sigtramp-android.o to EXTRA_LIBGNAT_OBJS unconditionally. Add + sigtramp.h and sigtramp-android-asm.h to EXTRA_LIBGNAT_SRCS. + * init.c (android section, __gnat_error_handler): Defer to + __gnat_sigramp unconditionally again. + * sigtramp.h: Adjust comments to allow neutral signal handling + relays, merely forwarding to the underlying handler without any + intermediate CFI magic. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115507 + * exp_imgv.adb (Expand_Valid_Value_Attribute): Add actual parameter + for Is_Wide formal in the call to Valid_Value_Enumeration_NN. + (Expand_Value_Attribute): Likewise. + * libgnat/s-vaen16.ads (Value_Enumeration_16): Add Is_Wide formal. + (Valid_Value_Enumeration_16): Likewise. + * libgnat/s-vaen32.ads (Value_Enumeration_32): Likewise. + (Valid_Value_Enumeration_32): Likewise. + * libgnat/s-vaenu8.ads (Value_Enumeration_8): Likewise. + (Valid_Value_Enumeration_8): Likewise. + * libgnat/s-valboo.adb (Value_Boolean): Pass True for To_Upper_Case + formal parameter in call to Normalize_String. + * libgnat/s-valcha.adb (Value_Character): Likewise. + * libgnat/s-valuen.ads (Value_Enumeration): Add Is_Wide formal. + (Valid_Value_Enumeration): Likewise. + * libgnat/s-valuen.adb (Value_Enumeration_Pos): Likewise and pass + its negation for To_Upper_Case formal in call to Normalize_String. + (Valid_Value_Enumeration): Add Is_Wide formal and forward it in + call to Value_Enumeration_Pos. + (Value_Enumeration): Likewise. + * libgnat/s-valuti.ads (Normalize_String): Add To_Upper_Case formal + parameter and adjust post-condition accordingly. + * libgnat/s-valuti.adb (Normalize_String): Add To_Upper_Case formal + parameter and adjust implementation accordingly. + * libgnat/s-valwch.adb (Value_Wide_Wide_Character): Pass False for + To_Upper_Case formal parameter in call to Normalize_String. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114636 + * sem_ch12.adb (Check_Formal_Package_Instance): For a defaulted + formal discrete type, skip the generated implicit base type. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115535 + * exp_put_image.adb (Build_Elementary_Put_Image_Call): Use the size + of the underlying type to find the support type. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114640 + * exp_util.adb (Find_Hook_Context): For a node present within a + conditional expression, do not return an N_Elsif_Part node. + +2024-10-08 Viljar Indus <indus@adacore.com> + + * diagnostics-constructors.adb + (Make_Mixed_Container_Aggregate_Error): New function for the error + message + (Record_Mixed_Container_Aggregate_Error): New function for the + error message. + * diagnostics-constructors.ads: Likewise. + * diagnostics-repository.ads: register new diagnostics id + * diagnostics.ads: add new diagnostics id + * errout.adb (First_And_Last_Node): Detect the span for component + associations. + * sem_aggr.adb (Resolve_Container_Aggregate): reject container + aggregates that have both named and positional elements. + +2024-10-08 Ronan Desplanques <desplanques@adacore.com> + + * snames.ads-tmpl: Add new pragma definition. + * par-prag.adb (Prag): Handle new pragma. + * sem_prag.adb (Analyze_Pragma): Implement new pragma. + +2024-10-08 Ronan Desplanques <desplanques@adacore.com> + + * snames.ads-tmpl: Tweak position of comment. + +2024-10-08 Tonu Naks <naks@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: replace + references to RFC's with appropriate text from the rfc + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-10-08 Ronan Desplanques <desplanques@adacore.com> + + * lib-writ.ads (Add_Preprocessing_Dependency): Update + documentation comment. + * sem_ch3.adb (Apply_External_Initialization): Add call to + Add_Preprocessing_Dependency. + +2024-10-08 Viljar Indus <indus@adacore.com> + + * exp_aggr.adb (Build_Siz_Exp): Support deriving the size of the + container aggregate with multi-dimensional arrays. Make the + function return an node of an expression instead of an integer. + Additionally calculate the size expression for + Component_Associations. + (To_Int) make this method available for more functions. + (Aggregate_Size) Relocate the calculation of + Componenet_Associations to Build_Siz_Exp. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + * exp_tss.ads (Is_Rep_To_Pos): New function declaration. + * exp_tss.adb (Is_Rep_To_Pos): New function body. + * fe.h (Is_Rep_To_Pos): New macro and extern declaration. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + * exp_imgv.adb (Rewrite_Object_Image): When the prefix is a type + conversion to Universal_Integer, use its expression directly. When + the prefix is an integer literal with Universal_Integer type, try + to compute a narrower type. + +2024-10-08 Raphaël AMIARD <amiard@adacore.com> + + * par-ch11.adb (P_Sequence_Of_Statements): Remove Handled + parameter. Always wrap the statements in a block when there are + declarations in it. + * par-ch5.adb: Adapt call to P_Sequence_Of_Statements Update + outdated comment, remove useless `Style_Checks` pragma. + (P_Sequence_Of_Statements): Don't emit an error in core extensions + mode. Emit an error when a non valid declaration is parsed in + sequence of statements. + * par.adb: Adapt P_Sequence_Of_Statements' signature + * doc/gnat_rm/gnat_language_extensions.rst: Adapt documentation + now. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-10-08 Ronan Desplanques <desplanques@adacore.com> + + * generate_minimal_reproducer.adb (Generate_Minimal_Reproducer): + Fix behavior on child subprograms without specs. + +2024-10-08 Steve Baird <baird@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Don't freeze here + if Has_Delayed_Freeze returns True. + * sem_type.adb (Valid_Equality_Arg): Treat an incomplete type like + a limited type because neither has an implicitly-defined equality + primitive. + (Covers): If either argument is an incomplete type + whose full view is available, then look through to the full view. + * sem_res.adb (Resolve_Actuals): If the actual parameter type is + complete and the formal parameter type is not, then update the + formal parameter type to use the complete view. + +2024-10-08 squirek <squirek@adacore.com> + + * sem_ch3.adb (Derived_Type_Declaration): Modify generation of + compile time check. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-trasym__dwarf.adb (LDAD_Header): New String constant. + (Symbolic_Traceback): Print the load address of the executable at + the beginning if it is not null. + +2024-10-08 Steve Baird <baird@adacore.com> + + * sem_ch6.adb (Check_Discriminant_Conformance): In testing whether + a default expression is permitted for an access discriminant, we + need to know whether the discriminated type is immutably limited. + Handle another part of this test that cannot easily be handled in + Sem_Aux.Is_Immutably_Limited. This involves declaring a new local + function, Is_Derived_From_Immutably_Limited_Type. + +2024-10-08 Steve Baird <baird@adacore.com> + + * sem_attr.adb (Resolve_Attribute): When setting the Etype of a + universal-integer-valued attribute reference to the subtype + determined by its context, use the basetype of that subtype + instead of the subtype itself if there is a possibility that the + attribute value will not satisfy the constraints of that subtype. + Otherwise the compiler is, in effect, assuming something that + might not be true. Except use the subtype in the case of a + not-from-source 'Pos attribute reference in order to avoid + breaking things. + +2024-10-08 Ronan Desplanques <desplanques@adacore.com> + + * comperr.adb (Compiler_Abort): Add call to + Generate_Minimal_Reproducer and replace call to Namet.Unlock with + call to Unlock_If_Locked. + * debug.adb: Document new purpose of -gnatd_m and -gnatd_M. + * fname-uf.adb (Instantiate_SFN_Pattern): New procedure. + (Get_Default_File_Name): New function. + (Get_File_Name): Replace inline code with call to + Instantiate_SFN_Pattern. + * fname-uf.ads (Get_Default_File_Name): New function. + * generate_minimal_reproducer.adb (Generate_Minimal_Reproducer): + New procedure. + * namet.adb (Unlock_If_Locked): New function. + * namet.ads (Unlock_If_Locked): Likewise. + * par-prag.adb (Prag): Add special behavior with -gnatd_M. + * set_targ.adb: Minor fixes to comments. + * gcc-interface/Make-lang.in: Update list of object files. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.ads (Is_Two_Pass_Aggregate): New function declaration. + * exp_aggr.adb (Is_Two_Pass_Aggregate): New function body. + (Expand_Array_Aggregate): Call Is_Two_Pass_Aggregate to detect the + aggregates that need the 2-pass expansion. + * exp_ch3.adb (Expand_Freeze_Array_Type): In the anonymous array + case, build the initialization procedure if the initial value in + the object declaration is a 2-pass aggregate. + +2024-10-08 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Fix + indentation. + +2024-10-08 Ronan Desplanques <desplanques@adacore.com> + + * aspects.ads: Add entities for External_Initialization. + * checks.adb (Selected_Length_Checks): Add support for + N_External_Initializer nodes. + * doc/gnat_rm/gnat_language_extensions.rst: Add section for the added + extension. + * exp_util.adb (Insert_Actions): Add support for N_External_Initializer + nodes. + * fe.h (C_Source_Buffer): New function. + * gen_il-fields.ads: Add new field. + * gen_il-gen-gen_nodes.adb: Add N_External_Initializer node kind. + * gen_il-gen.adb: Add new field type. + * gen_il-types.ads: Add new node kind and new field type. + * pprint.adb (Expr_Name): Handle new node kind. + * sem.adb (Analyze): Add support for N_External_Initializer nodes. + * sem_ch13.adb (Analyze_Aspect_Specifications, Check_Aspect_At_Freeze_Point): + Add support for External_Initialization aspect. + * sem_ch3.adb (Apply_External_Initialization): New subprogram. + (Analyze_Object_Declaration): Add support for External_Initialization aspect. + * sem_res.adb (Resolve_External_Initializer): New procedure. + (Resolve): Add support for N_External_Initializer nodes. + (Set_String_Literal_Subtype): Extend to handle N_External_Initializer nodes. + * sinfo-utils.adb (Is_In_Union_Id): Adapt to new field addition. + * sinfo.ads: Add documentation for new node kind and new field. + * sinput.adb, sinput.ads (C_Source_Buffer): Add new C interface function. + * snames.ads-tmpl: Add new aspect identifier. + * sprint.adb (Sprint_Node_Actual): Add nop handling of N_External_Initializer + nodes. + * types.ads: Modify type to allow for new C interface. + * gcc-interface/trans.cc (gnat_to_gnu): Handle new GNAT node type. + * gcc-interface/Make-lang.in: Update list of stage1 run-time library units. + * gnat-style.texi: Regenerate. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-10-08 Olivier Hainque <hainque@adacore.com> + + * Makefile.rtl (arm/aarch64-android): Associate a-nallfl.ads with + libgnat/a-nallfl__wraplf.ads. + +2024-10-08 Olivier Hainque <hainque@adacore.com> + + * libgnarl/s-linux__android-arm.ads: Define SIGSYS. + * libgnarl/s-linux__android-aarch64.ads: Define SIGSYS. + * libgnarl/s-osinte__android.ads: Expose SIGSYS value. + +2024-10-08 Olivier Hainque <hainque@adacore.com> + + * libgnarl/s-linux__android-arm.ads: New file, renaming of ... + * libgnarl/s-linux__android.ads: ... this file. + * libgnarl/s-linux__android-aarch64.ads: New file. Based on the + -arm variant, with sa_ field positions adjusted. + * Makefile.rtl (arm/aarch64-android pairs): Adjust accordingly. + * libgnarl/s-osinte__android.ads: Rather than making assumptions + on the actual type of the C sigset_t, use + Os_Constants.SIZEOF_sigset_t to define an Ada sigset_t type of the + proper size. Use C.int instead of unsigned_long for sa_flags. + +2024-10-08 Olivier Hainque <hainque@adacore.com> + + * init.c (__gnat_error_handler): Map signals straight to Ada + exceptions, without a local CFI trampoline. + (__gnat_adjust_context_for_raise): Guard arm specific code on __arm__ + compilation. Do nothing otherwise, relying on libgcc's signal + frame recognition for PC/RA adjustments. + +2024-10-08 Olivier Hainque <hainque@adacore.com> + + * Makefile.rtl: Extend arm-android section to aarch64, in a similar + fashion as other arm/arch64 configurations. Introduce pair + selection guards to prevent match of aarch64-linux-android on the + regular aarch64-linux% cross as well. + +2024-10-08 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Turn + Compile_Time pragmas into null nodes + +2024-10-05 Eric Botcazou <ebotcazou@adacore.com> + + PR middle-end/116933 + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Out_Parameter>: Add + the "uninitialized" attribute on Out parameters. + * gcc-interface/utils.cc (gnat_internal_attributes): Add entry for + the "uninitialized" attribute. + (handle_uninitialized_attribute): New function. + +2024-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR other/116801 + * gcc-interface/lang.opt.urls: Regenerate. + +2024-09-10 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/misc.cc: Include memmodel.h before tm_p.h. + +2024-09-10 Viljar Indus <indus@adacore.com> + + * gcc-interface/decl.cc: Use same warning characters in + continuation messages. + * gcc-interface/trans.cc: Likewise. + +2024-09-10 Javier Miranda <miranda@adacore.com> + + * sem_ch13.adb (Analyze_One_Aspect): Call + Error_Msg_GNAT_Extension() to report an error when the aspect + First_Controlling_Parameter is set to True and the sources are + compiled without Core_Extensions_ Allowed. + * sem_prag.adb (Pragma_First_Controlling_Parameter): Call + subprogram Error_Msg_GNAT_Extension() to report an error when the + aspect First_Controlling_Parameter is set to True and the sources + are compiled without Core_Extensions_Allowed. Report an error when + the aspect pragma does not confirm an inherited True value. + +2024-09-10 Viljar Indus <indus@adacore.com> + + * diagnostics-pretty_emitter.adb (Get_Last_Line_Char): New. Get + the last non line change character. Write_Span_Labels use the + adjusted line end pointer to calculate the length of the span. + +2024-09-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_intr.ads, exp_intr.adb (Expand_Source_Info): Move + declaration to package spec. + * sem_eval.adb (Eval_Intrinsic_Call): Evaluate calls to + GNAT.Source_Info where possible. + +2024-09-10 Piotr Trojanek <trojanek@adacore.com> + + * checks.adb (Remove_Checks): Combine CASE alternatives. + +2024-09-10 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/s-os_lib.ads: Remove extra whitespace. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc-interface/misc.cc (internal_error_function): Rename + diagnostic_context's "printer" field to "m_printer". + +2024-09-05 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (addressable_p) <COMPONENT_REF>: Add bypass + for internal fields on strict-alignment platforms. + +2024-09-05 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/gigi.h (default_field_alignment): New function. + * gcc-interface/misc.cc: Include tm_p header file. + (default_field_alignment): New function. + * gcc-interface/trans.cc (addressable_p) <COMPONENT_REF>: Replace + previous alignment klduge with call to default_field_alignment. + * gcc-interface/utils.cc (finish_record_type): Likewise for the + alignment based on which DECL_BIT_FIELD should be cleared. + +2024-09-05 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.ads, exp_util.adb (Duplicate_Subexpr_No_Checks): + Remove parameters, which are no longer used. + +2024-09-05 Viljar Indus <indus@adacore.com> + + * par-endh.adb: add call to new diagnostic for end loop errors. + * sem_ch13.adb: add call to new diagnostic for default iterator + error and record representation being too late. + * sem_ch4.adb: Add new diagnostic for wrong operands. + * sem_ch9.adb: Add new diagnostic for a Lock_Free warning. + * libgnat/g-lists.adb (Ensure_Unlocked): Make checks for tampering + conditional. + * libgnat/g-lists.ads: Add parameter Tampering_Checks to control + whether tampering checks should be executed. + * backend_utils.adb: Add new gcc switches + '-fdiagnostics-format=sarif-file' and + '-fdiagnostics-format=sarif-stderr'. + * debug.adb: document -gnatd_D switch. + * diagnostics-brief_emitter.adb: New package for displaying + diagnostic messages in a compact manner. + * diagnostics-brief_emitter.ads: Same as above. + * diagnostics-constructors.adb: New pacakge for providing simpler + constructor methods for new diagnostic objects. + * diagnostics-constructors.ads: Same as above. + * diagnostics-converter.adb: New package for converting old + Error_Msg_Object-s to Diagnostic_Types. + * diagnostics-converter.ads: Same as above. + * diagnostics-json_utils.adb: Package for utility methods related + to emitting JSON. + * diagnostics-json_utils.ads: Same as above. + * diagnostics-pretty_emitter.adb: New package for displaying + diagnostic messages in a more elaborate manner. + * diagnostics-pretty_emitter.ads: Same as above. + * diagnostics-repository.adb: New package for collecting all + created error messages. + * diagnostics-repository.ads: Same as above. + * diagnostics-sarif_emitter.adb: New pacakge for converting all of + the diagnostics into a report in the SARIF format. + * diagnostics-sarif_emitter.ads: Same as above. + * diagnostics-switch_repository.adb: New package containing the + definitions for all of the warninging switches. + * diagnostics-switch_repository.ads: Same as above. + * diagnostics-utils.adb: Contains various utility methods for the + diagnostic pacakges. + * diagnostics-utils.ads: Same as above. + * diagnostics.adb: Contains the definitions and common functions + for all the new diagnostics objects. + * diagnostics.ads: Same as above. + * errout.adb: Relocate the old implementations for brief and + pretty printing the diagnostic messages and the entrypoint to the + new implementation if a debug switch is used. + * errout.ads: Improve documentation. Make Set_Msg_Text publicly + available. + * opt.ads: Add the flag SARIF_File which controls whether the + diagnostic messages should be printed to a file in the SARIF + format. Add the flag SARIF_Output to control whether the + diagnostic messages should be printed to std-err in the SARIF + format. + * gcc-interface/Make-lang.in: Add new pacakages to the object + list. + * gcc-interface/Makefile.in: Add new pacakages to the object list. + +2024-09-05 Jose Ruiz <ruiz@adacore.com> + + * ali-util.adb (Get_File_Checksum): Force the parsing for + the checksum computation of runtime files to be done in + the corresponding recent Ada version. + +2024-09-05 Ronan Desplanques <desplanques@adacore.com> + + * inline.adb (Cannot_Inline): Remove assertion. + * inline.ads (Cannot_Inline): Add precondition. + +2024-09-03 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (addressable_p) <COMPONENT_REF>: Add kludge + to cope with ancient 32-bit ABIs. + +2024-09-03 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (create_temporary): Deal with types whose + size is self-referential by allocating the maximum size. + +2024-09-03 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (get_atomic_access): Deal specifically with + nodes that are both Atomic and Volatile_Full_Access in Ada 2012. + +2024-09-03 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (addressable_p) <COMPONENT_REF>: Take into + account the alignment of the field on all platforms. + +2024-09-03 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_field): Clear again gnu_size + after updating it if it is not constant. + +2024-09-03 Marc Poulhiès <poulhies@adacore.com> + + * exp_unst.adb (Check_Static_Type::Note_Uplevel_Bound): Refactor + to use the generic Traverse_Proc. + (Check_Static_Type): Adjust calls to Note_Uplevel_Bound as the + previous second parameter was unused, so removed. + +2024-09-03 Steve Baird <baird@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference): If it makes sense + to do so, then rewrite a Length attribute reference as an + equivalent conditional expression. + +2024-09-03 Eric Botcazou <ebotcazou@adacore.com> + + * sem_res.adb (Is_Atomic_Ref_With_Address): Rename into... + (Is_Atomic_Non_VFA_Ref_With_Address): ...this and adjust the + implementation to exclude Volatile_Full_Access objects. + (Resolve_Indexed_Component): Adjust to above renaming. + (Resolve_Selected_Component): Likewise. + +2024-09-03 Steve Baird <baird@adacore.com> + + * sem_aggr.adb (Resolve_Array_Aggregate): Implement the two new + legality rules of AI11-0106. Add code to avoid cascading error + messages. + +2024-09-03 Bob Duff <duff@adacore.com> + + * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): + Remove Finalize_Storage_Only from the code that checks whether to + pass null to the Collection parameter. Having done that, we don't + need to check for Is_Library_Level_Entity, because + No_Heap_Finalization requires that. And if we ever change + No_Heap_Finalization to allow nested access types, we will still + want to pass null. Note that the comment "Such a type lacks a + collection." is incorrect in the case of Finalize_Storage_Only; + such types have a collection. + +2024-09-02 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Cap the Esize of a + floating-point type to the size of the widest format supported in + hardware if it is explicity defined. + +2024-09-02 Viljar Indus <indus@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: update + documentation for the -gnatw_l switch. + * usage.adb: Add -gnatw_l entry. + * gnat_ugn.texi: Regenerate. + +2024-09-02 Ronan Desplanques <desplanques@adacore.com> + + * gnatcmd.adb (GNATCmd): Fix standard output stream. + +2024-09-02 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix + minor issues. + * gnat_ugn.texi: Regenerate. + +2024-09-02 Bob Duff <duff@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: I assume "extended set + of extensions" was a typo for "experimental set of extensions", + because "extended extensions" is repetitive and redundant. "in + addition" clarifies that the one subsumes the other. Add a + reminder at the start of each subsection about what switch/pragma + enables what extensions. Add new section about "Inference of + Dependent Types in Generic Instantiations". + * gnat_rm.texi: Regenerate. + +2024-09-02 Patrick Bernardi <bernardi@adacore.com> + + * s-oscons-tmplt.c: Define sizes of pthread data types on FreeBSD. + * tracebak.c: Use GCC unwinder and adjust PC appropriately on + aarch64-freebsd. + +2024-09-02 Marc Poulhiès <poulhies@adacore.com> + + * exp_ch9.adb (Reset_Scopes_To): Adjust comment. + (Reset_Scopes_To.Reset_Scope): Adjust the scope reset for object + declaration. In particular, visit the children nodes if any. Also + extend the handling of other declarations to + N_Implicit_Label_Declaration. + +2024-09-02 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Replace calls to Sloc + with uses of Loc; turn variable Prag into constant. + +2024-09-02 Piotr Trojanek <trojanek@adacore.com> + + * exp_imgv.adb (Expand_User_Defined_Enumeration_Image) + (Expand_Image_Attribute): Remove redundant guards. + +2024-08-29 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch8.adb (Has_Private_With): Add test on Is_Entity_Name. + +2024-08-29 Eric Botcazou <ebotcazou@adacore.com> + + * checks.adb (Selected_Length_Checks.Get_E_Length): For a + component of a record with discriminants and if the expression is + a selected component, try to build an actual subtype from its + prefix instead of from the discriminal. + +2024-08-29 Steve Baird <baird@adacore.com> + + * sem_ch6.adb (Check_Discriminant_Conformance): Immediately after + calling Is_Immutably_Limited_Type, perform an additional test that + one might reasonably imagine would instead have been part of + Is_Immutably_Limited_Type. The new test is a call to a new + function Has_Tagged_Limited_Partial_View whose implementation + includes a call to Incomplete_Or_Partial_View, which cannot be + easily be called from Is_Immutably_Limited_Type (because sem_aux, + which is in the closure of the binder, cannot easily "with" + sem_util). + * sem_aux.adb (Is_Immutably_Limited): Include + N_Derived_Type_Definition case when testing Limited_Present flag. + +2024-08-29 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Expand_Call_Helper): In the case of a function + call, look at the Etype of the call node to determine whether + finalization actions need to be performed. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * erroutc.adb (dmsg): Print Insertion_Sloc. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * exp_aggr.adb (Expand_Range_Component): Remove extra warning + character. Use same conditional warning char. + * freeze.adb (Warn_Overlay): Use named warning character. + * restrict.adb (Id_Case): Use named warning character. + * sem_prag.adb (Rewrite_Assertion_Kind): Use default warning + character. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * par-ch4.adb (P_Name): Use Error_Msg_Sloc for the location of the + continuation message. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * exp_prag.adb (Expand_Pragma_Inspection_Point): Improve sub + diagnostic generation. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * sem_ch12.adb (Abandon_Instantiation): Remove continuation + characters from the error message. + * sem_ch13.adb (Check_False_Aspect_For_Derived_Type): Remove + continuation characters from the error message. + * sem_ch6.adb (Assert_False): Avoid creating a continuation + message without a parent. If no primary message is created then + the message is considered as primary. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * erroutc.adb (Prescan_Message): Avoid not parsing all of the + message attributes. + * erroutc.ads: Update the documentation. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * freeze.adb: Remove warning insertion characters from a + continuation message. + * sem_util.adb: Remove warning insertion characters from a + continuation message. + * sem_warn.adb: Use same warning character as the main message. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * erroutc.ads: Add new method Output_Text_Within + * erroutc.adb: Move the line fitting code to a new method called + Output_Text_Within + +2024-08-29 Piotr Trojanek <trojanek@adacore.com> + + * checks.adb (Expr_Known_Valid): Use Validated_View, which strips + type derivation and privacy. + * exp_ch3.adb (Simple_Init_Private_Type): Kill checks inside + unchecked conversions, just like in Simple_Init_Scalar_Type. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * styleg.adb (Check_Line_Max_Length): Add the actual line length + to the diagnostic message. + +2024-08-29 Gary Dismukes <dismukes@adacore.com> + + * sem_aggr.adb (Resolve_Array_Aggregate): Add loop over associations to locate + N_Iterated_Component_Associations that do not have an Iterator_Specification, + and if their Discrete_Choices list consists of a single choice, analyze it and + if it's the name of an iterator object, then create an Iterator_Specification + and associate it with the iterated component association. + (Resolve_Iterated_Association): Replace test for function call with test of + Is_Object_Reference, to handle other forms of iterator objects in container + aggregates. + +2024-08-29 Javier Miranda <miranda@adacore.com> + + * usage.adb (Usage): Document switch -gnatw_j + * doc/gnat_rm/gnat_language_extensions.rst: Add documentation. + * gnat_rm.texi: Regenerate. + +2024-08-29 Justin Squirek <squirek@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Move conditional when + constructs out of the curated set. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-08-23 Robin Dapp <rdapp@ventanamicro.com> + + PR middle-end/115495 + * gcc-interface/utils2.cc (fast_modulo_reduction): Require mode. + (nonbinary_modular_operation): Ditto. + +2024-08-23 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/misc.cc (gnat_get_array_descr_info): Test the + BIT_PACKED_ARRAY_TYPE_P flag only once on the final debug type. In + the case of records containing a template, replay the entire + processing for the array type contained therein. + +2024-08-23 Javier Miranda <miranda@adacore.com> + + * scng.adb (Scan): Call Error_Msg_GNAT_Extension() to report an + error, when the sources are compiled without Core_Extensions_ + Allowed, and the scanner detects the beginning of an interpolated + string. + +2024-08-23 Sebastian Poeplau <poeplau@adacore.com> + + * libgnat/s-dwalin.adb (Symbolic_Address): Ignore symbol size in + address-to-symbol translation for PECOFF files. + +2024-08-23 Javier Miranda <miranda@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference: [Put_Image]): Add + support for custom string types. + * exp_ch2.adb (Expand_N_Interpolated_String_Literal): Add a type + conversion to the result object declaration of custom string + types. + * exp_put_image.adb (Build_String_Put_Image_Call): Handle custom + string types. + +2024-08-23 Steve Baird <baird@adacore.com> + + * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Generate + error if an aspect specification specifies the + Implicit_Dereference aspect of a non-first subtype. + +2024-08-23 Steve Baird <baird@adacore.com> + + * checks.adb (Is_Signed_Integer_Arithmetic_Op): Return True in the + case of relational operator whose operands are of a signed integer + type. + +2024-08-23 Viljar Indus <indus@adacore.com> + + * libgnat/a-coinho__shared.ads: add limited keyword. + * libgnat/g-awk.adb: add limited keyword. + * libgnat/g-comlin.ads: add limited keyword. + * libgnat/s-excmac__arm.ads: add limited keyword. + * libgnat/s-excmac__gcc.ads: add limited keyword. + * libgnat/s-soflin.ads: add limited keyword. + +2024-08-23 Viljar Indus <indus@adacore.com> + + * sem_ch3.adb: Add method Check_Inherited_Limted_Record for + emitting the warning for an inherited limited type. + * warnsw.adb: Add processing for the -gnatw_l switch that + triggeres the inheritly limited type warning. + * warnsw.ads: same as above. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add + entry for -gnatw_l switch. + * gnat_ugn.texi: Regenerate. + +2024-08-23 Javier Miranda <miranda@adacore.com> + + * sem_ch6.adb (Check_Private_Overriding): Improve code detecting + error on private function with controlling result. Fixes the + regression of ACATS bde0003. + +2024-08-23 Piotr Trojanek <trojanek@adacore.com> + + * checks.ads, cstand.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb, + exp_dbug.adb, exp_util.adb, gnatlink.adb, lib-util.adb, + libgnat/a-except.adb, libgnat/a-exexpr.adb, libgnat/a-ngcoar.adb, + libgnat/s-rannum.adb, libgnat/s-trasym__dwarf.adb, osint.adb, + rtsfind.adb, sem_case.adb, sem_ch12.adb, sem_ch13.adb, + sem_ch3.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb, + sem_util.adb: Fix style. + +2024-08-23 Piotr Trojanek <trojanek@adacore.com> + + * checks.adb (Ensure_Valid): Remove detection of boolean and + short-circuit operators. + (Expr_Known_Valid): Detect short-circuit operators; detection of + boolean operators was already done in this routine. + +2024-08-23 Piotr Trojanek <trojanek@adacore.com> + + * checks.adb (Ensure_Valid): Use Find_Actual. + +2024-08-23 Piotr Trojanek <trojanek@adacore.com> + + * checks.adb (Ensure_Valid): Use First_Actual/Next_Actual. + * exp_ch6.adb (Is_Direct_Deep_Call): Likewise. + * exp_util.adb (Type_Of_Formal): Likewise. + * sem_util.adb (Is_Container_Element): Likewise; cleanup + membership test by using a subtype. + +2024-08-23 Javier Miranda <miranda@adacore.com> + + * sem_ch13.adb (Analyze_One_Aspect): Temporarily remove reporting + an error when the new aspect is set to True and the extensions are + not enabled. + +2024-08-23 Javier Miranda <miranda@adacore.com> + + * exp_util.ads (Is_Expanded_Class_Wide_Interface_Object_Decl): New + subprogram. + * exp_util.adb (Is_Expanded_Class_Wide_Interface_Object_Decl): + ditto. + * sem_util.adb (Is_Aliased_View): Handle expanded class-wide type + object declaration. + * checks.adb (Is_Aliased_Unconstrained_Component): Protect the + frontend against calling Is_Aliased_View with Empty. Found working + on this issue. + +2024-08-23 Javier Miranda <miranda@adacore.com> + + * aspects.ads (Aspect_First_Controlling_Parameter): New aspect. + Defined as implementation defined aspect that has a static boolean + value and it is converted to pragma when the value is True. + * einfo.ads (Has_First_Controlling_Parameter): New attribute. + * exp_ch9.adb (Build_Corresponding_Record): Propagate the aspect + to the corresponding record type. + (Expand_N_Protected_Type_Declaration): Analyze the inherited + aspect to add the pragma. + (Expand_N_Task_Type_Declaration): ditto. + * freeze.adb (Warn_If_Implicitly_Inherited_Aspects): New + subprogram. + (Has_First_Ctrl_Param_Aspect): New subprogram. + (Freeze_Record_Type): Call Warn_If_Implicitly_Inherited_Aspects. + (Freeze_Subprogram): Check illegal subprograms of tagged types and + interface types that have this new aspect. + * gen_il-fields.ads (Has_First_Controlling_Parameter): New entity + field. + * gen_il-gen-gen_entities.adb (Has_First_Controlling_Parameter): + The new field is a semantic flag. + * gen_il-internals.adb (Image): Add + Has_First_Controlling_Parameter. + * par-prag.adb (Prag): No action for + Pragma_First_Controlling_Parameter since processing is handled + entirely in Sem_Prag. + * sem_ch12.adb (Validate_Private_Type_Instance): When the generic + formal has this new aspect, check that the actual type also has + this aspect. + * sem_ch13.adb (Analyze_One_Aspect): Check that the aspect is + applied to a tagged type or a concurrent type. + * sem_ch3.adb (Analyze_Full_Type_Declaration): Derived tagged + types inherit this new aspect, and also from their implemented + interface types. + (Process_Full_View): Propagate the aspect to the full view. + * sem_ch6.adb (Is_A_Primitive): New subprogram; used to factor + code and also clarify detection of primitives. + * sem_ch9.adb (Check_Interfaces): Propagate this new aspect to the + type implementing interface types. + * sem_disp.adb (Check_Controlling_Formals): Handle tagged type + that has the aspect and has subprograms overriding primitives of + tagged types that lack this aspect. + (Check_Dispatching_Operation): Warn on dispatching primitives + disallowed by this new aspect. + (Has_Predefined_Dispatching_Operation_Name): New subprogram. + (Find_Dispatching_Type): Handle dispatching functions of tagged + types that have the new aspect. + (Find_Primitive_Covering_Interface): For primitives of tagged + types that have the aspect and override a primitive of a parent + type that does not have the aspect, we must temporarily unset + attribute First_Controlling_ Parameter to properly check + conformance. + * sem_prag.ads (Aspect_Specifying_Pragma): Add new pragma. + * sem_prag.adb (Pragma_First_Controlling_Parameter): Handle new + pragma. + * snames.ads-tmpl (Name_First_Controlling_Parameter): New name. + * warnsw.ads (Warn_On_Non_Dispatching_Primitives): New warning. + * warnsw.adb (Warn_On_Non_Dispatching_Primitives): New warning; + not set by default when GNAT_Mode warnings are enabled, nor when + all warnings are enabled (-gnatwa). + +2024-08-19 Arsen Arsenović <arsen@aarsen.me> + + PR ada/115917 + * gnatvsn.ads: Add note about the duplication of this value in + version.c. + * version.c (VER_LEN_MAX): Define to the same value as + Gnatvsn.Ver_Len_Max. + (gnat_version_string): Use VER_LEN_MAX as bound. + +2024-08-08 Steve Baird <baird@adacore.com> + + * sem_ch6.adb (Check_Discriminant_Conformance): Perform check for + illegal access discriminant default values when the completion of + a limited private type is analyzed. + * sem_aux.adb (Is_Immutably_Limited): If passed the + not-yet-analyzed entity for the full view of a record type, test + the Limited_Present flag + (which is set by the parser). + +2024-08-08 Steve Baird <baird@adacore.com> + + * exp_ch4.adb (Build_Eq_Call): In the abstract callee case, copy + the Etype of the callee onto the Make_Raise_Program_Error result. + +2024-08-08 Gary Dismukes <dismukes@adacore.com> + + * exp_ch7.adb (Unnest_Block): Copy the At_End_Proc from the block + statement to the newly created subprogram body. + +2024-08-08 Justin Squirek <squirek@adacore.com> + + * exp_put_image.adb (Append_Component_Attr): Obtain the mutably + tagged type for the component type. + * mutably_tagged.adb (Make_Mutably_Tagged_Conversion): Add more + cases to avoid conversion generation. + * sem_attr.adb (Check_Put_Image_Attribute): Add mutably tagged + type conversion. + * sem_ch12.adb (Analyze_One_Association): Add rewrite for formal + type declarations which are mutably tagged type to their + equivalent type. + (Instantiate_Type): Add condition to obtain class wide equivalent + types. + (Validate_Private_Type_Instance): Add check for class wide + equivalent types which are considered "definite". + * sem_util.adb (Is_Variable): Add condition to handle selected + components of view conversions. Add missing check for selected + components. + (Is_View_Conversion): Add condition to handle class wide + equivalent types. + +2024-08-08 Justin Squirek <squirek@adacore.com> + + * stylesw.adb (Set_Style_Check_Options): Disable max nesting level + when unspecified + +2024-08-08 Javier Miranda <miranda@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference) <Finalization_Size>: + If the prefix is an interface type, generate code to obtain its + address and displace it to reference the base of the object. + +2024-08-08 Iain Sandoe <iain@sandoe.co.uk> + + * libgnarl/s-taprop__posix.adb (Stack_Guard): Use Interfaces.C.size_t + for the type of Page_Size. + +2024-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * libgnarl/s-taprop__solaris.adb (Set_Task_Affinity): Fully + quality int. + +2024-08-06 Yannick Moy <moy@adacore.com> + + * sem_ch4.adb (Analyze_Concatenation_Rest): Do not add a wrong + interpretation of the concatenation, using the type of the operand + already recognized as of the element type. + +2024-08-06 Bob Duff <duff@adacore.com> + + * sem_ch12.adb: Implement type inference for generic parameters. + (Maybe_Infer_One): Forbid inference of anonymous subtypes and + types. + (Inference_Reason): Fix comment. + * debug.adb: Document -gnatd_I switch. + * errout.ads: Document that Empty is not allowed for "&". + * errout.adb (Set_Msg_Insertion_Node): Minor: Do not allow + Error_Msg_Node_1 = Empty for "&". Use "in" instead of multiple + "=". Improve comment. + +2024-08-06 Gary Dismukes <dismukes@adacore.com> + + * sem_ch5.adb (Analyze_Loop_Statement.Wrap_Loop_Statement): Remove + the loop Entity_Id from its old scope and insert it in the new + block scope that wraps it. + +2024-08-06 Javier Miranda <miranda@adacore.com> + + * freeze.adb (Freeze_Entity): For scalar derived types that + inherit the aspect Default_Value, do not analyze and resolve the + inherited aspect, as the type of the aspect remains the parent + type. + +2024-08-06 Viljar Indus <indus@adacore.com> + + * libgnarl/s-interr__hwint.adb: Use fully qualified names to avoid + ambiguity. + * libgnarl/s-taprop__qnx.adb: Likewise. + +2024-08-06 Javier Miranda <miranda@adacore.com> + + * repinfo.adb (List_Record_Info): Handle private record types. + +2024-08-06 Viljar Indus <indus@adacore.com> + + * libgnarl/s-taprop__mingw.adb: Use fully qualified names + to avoid ambiguity. + * libgnarl/s-taprop__posix.adb: Likewise. + * libgnarl/s-taprop__qnx.adb: Likewise. + * libgnarl/s-taprop__rtems.adb: Likewise. + +2024-08-06 Yannick Moy <moy@adacore.com> + + * freeze.adb (Build_Renamed_Body): Propagate SPARK_Pragma to body + build from renaming, so that locally relevant value is taken into + account. + * sem_ch6.adb (Analyze_Expression_Function): Propagate + SPARK_Pragma to body built from expression function, so that + locally relevant value is taken into account. + +2024-08-06 Bob Duff <duff@adacore.com> + + * sem_ch8.adb (Find_Direct_Name): Disable the special-purpose code + when we are actually compiling the run-time library itself. + * libgnarl/a-exetim__posix.adb: Fix newly-found use-clause + conflicts. + * libgnat/a-direct.adb: Likewise. + * libgnat/a-nbnbin.adb: Likewise. + * libgnat/a-timoio__128.adb: Likewise. + * libgnat/a-timoio.adb: Likewise. + * libgnat/a-wtmoio__128.adb: Likewise. + * libgnat/a-wtmoio.adb: Likewise. + * libgnat/a-ztmoio__128.adb: Likewise. + * libgnat/a-ztmoio.adb: Likewise. + +2024-08-02 Yannick Moy <moy@adacore.com> + + * aspects.adb (Find_Aspect): Take into account the case of a node + of kind N_Defining_Program_Unit_Name. + * sem_ch10.adb (Analyze_Compilation_Unit): Copy the SPARK aspect + from the spec to the body. Delay semantic analysis after that + point to ensure that SPARK_Mode is properly analyzed. + +2024-08-02 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Add_Loop_Actions): Actions are now attached to + iterated component association just like they are attached to + ordinary component association. + (Build_Array_Aggr_Code): If resolution of the array aggregate + generated some actions, e.g. for run-time checks, then we must + keep them; same for the Other_Clause. + * sem_aggr.adb (Resolve_Iterated_Component_Association): Unset + references to iterator variable in loop actions (which might come + from run-time check), just these references are unset in the + expression itself. + +2024-08-02 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.adb (Insert_Actions): Remove null ELSE branch. + +2024-08-02 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Add_Loop_Actions): Change manipulation of list + to avoid unnecessary calls to Parent and Loop_Actions. + +2024-08-02 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.adb (Insert_Actions): Move negation in front of + complex conjunctions. + +2024-08-02 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.adb (Gen_Assign): Fix layout. + * sem_aggr.adb (Empty_Range): Reuse Choice_List. + +2024-08-02 Gary Dismukes <dismukes@adacore.com> + + * exp_aggr.adb + (Expand_Container_Aggregate.Expand_Iterated_Component): Set the + Reverse_Present flag when creating the loop's iteration_scheme. + * gen_il-gen-gen_nodes.adb: Add flag Reverse_Present to + N_Iterated_Component_Association nodes. + * par-ch3.adb (P_Constraint_Op): Remove testing for and ignoring + of Tok_In following a constraint. It's allowed for "in" to follow + a constraint of loop_parameter_subtype_indication of an + iterator_specification, so it shouldn't be ignored. + * par-ch4.adb (P_Iterated_Component_Association): Account for + "reverse" following the "in" in an iterated_component_association, + and set the Reverse_Present flag on the + N_Iterated_Component_Association node. Add handling for a ":" + following the identifier in an iterator_specification of an + iterated_element_association, sharing the code with the "of" case + (which backs up to the identifier at the beginning of the + iterator_specification). Fix incorrect trailing comment following + the call to Scan. + (Build_Iterated_Element_Association): Set the Reverse_Present flag + on an N_Loop_Parameter_Specification node of an + N_Iterated_Element_Association. + * par-ch5.adb (P_Iterator_Specification): Remove error-recovery + and error code that reports "subtype indication is only legal on + an element iterator", as that error can no longer be emitted (and + was formerly only reported on one fixedbugs test). + * sem_aggr.adb + (Resolve_Container_Aggregate.Resolve_Iterated_Association): When + creating an N_Iterator_Specification for an + N_Iterated_Component_Association, set the Reverse_Present flag of + the N_Iterated_Specification from the flag on the latter. + * sinfo.ads: Add comments for the Reverse_Present flag, which is + now allowed on nodes of kind N_Iterated_Component_Association. + +2024-08-02 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch12.adb (Analyze_Subprogram_Instantiation): Propagate the + No_Raise flag like the No_Return flag. + +2024-08-02 Ronan Desplanques <desplanques@adacore.com> + + * exp_aggr.adb (Expand_Container_Aggregate): Remove variables. + (To_Int): New function. + (Add_Range_Size): Use newly introduced function. + +2024-08-02 Yannick Moy <moy@adacore.com> + + * libgnat/a-strunb.adb (Sum, Saturated_Sum, Saturated_Mul): Adapt + function signatures to more precise types that allow proof. + (function "&"): Conditionally assign a slice to avoid possible + overflow which only occurs when the assignment is a noop (because + the slice is empty in that case). + (Append): Same. + (function "*"): Retype K to avoid a possible overflow. Add early + return on null length for proof. + (Delete): Fix implementation to return the correct result in all + cases allowed by the Ada standard. + (Insert): Same. Also avoid possible overflows. + (Length): Rewrite as expression function for proof. + (Overwrite): Avoid possible overflows. + (Slice): Same. + (To_String): Rewrite as expression function for proof. + * libgnat/a-strunb.ads: Extend Assertion_Policy to new contracts + used. Add complete functional contracts to all subprograms of the + public API except Count. + * libgnat/a-strunb__shared.adb (Sum): Adapt function signature to + more precise types that allow proof. + (function "&"): Conditionally assign a slice to avoid possible + overflow. + (function "*"): Retype K to avoid a possible overflow. + (Delete): Fix implementation to return the correct result in all + cases allowed by the Ada standard. + (Insert): Avoid possible overflows. + (Overwrite): Avoid possible overflows. + (Replace_Slice): Same. + (Slice): Same. + (To_String): Rewrite as expression function for proof. + * libgnat/a-strunb__shared.ads: Extend Assertion_Policy to new + contracts used. Add complete functional contracts to all + subprograms of the public API except Count. Mark public part of + spec as in SPARK. + +2024-08-02 Ronan Desplanques <desplanques@adacore.com> + + * scng.adb (Slit): Initialize object in uncommon path. + +2024-08-02 Richard Kenner <kenner@adacore.com> + + * exp_ch4.adb (Generate_Temporary): Remove unused procedure. + +2024-08-02 Richard Kenner <kenner@adacore.com> + + * einfo-utils.ads (Is_Finalizer): Delete. + * einfo-utils.adb (Is_Finalizer): Delete. + * einfo.ads: Adjust comment. + * gen_il-fields.ads, gen_il-gen-gen_entities.adb: Add Is_Finalizer + flag. + * exp_ch3.adb (Build_Init_Procedure): Set it. + * exp_ch7.adb (Create_Finalizer): Likewise. + * exp_util.adb (Try_Inline_Always): New function. + * exp_util.ads (Try_Inline_Always): New function. + * sem_elab.adb (Is_Finalizer_Proc): Replace with Is_Finalizer. + +2024-08-02 Tonu Naks <naks@adacore.com> + + * libgnat/a-calend.adb: Modify unix time handling. + +2024-08-02 Tonu Naks <naks@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst: Add examples. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-08-02 Javier Miranda <miranda@adacore.com> + + * gen_il-fields.ads (Is_Interpolated_String_Literal): New field. + * gen_il-gen-gen_nodes.adb (Is_Interpolated_String_Literal): The + new field is a flag handled by the parser (syntax flag). + * par-ch2.adb (P_Interpolated_String_Literal): Decorate the new + flag. + * sem_ch2.adb (Analyze_Interpolated_String_Literal): Improve code + detecting and reporting ambiguous function calls. + * sem_res.adb (Resolve_Interpolated_String_Literal): Restrict + resolution imposed by the context type to string literals that + have the new flag. + * sinfo.ads (Is_Interpolated_String_Literal): New field defined in + string literals. Fix documentation of the syntax rule of + interpolated string literal. + +2024-08-02 Steve Baird <baird@adacore.com> + + * sem_ch5.adb (Analyze_Assignment): Delete code that was + incorrectly implementing a preference rule. + +2024-08-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Relaxed Finalization): New paragraph in head + comment. + * sem_ch13.adb (Validate_Finalizable_Aspect): Give an error + message if strict finalization is required but not supported by + the runtime. + +2024-08-02 Viljar Indus <indus@adacore.com> + + * sem_util.adb (Set_Referenced_Modified): Set referenced as LHS + for the prefixes of array slices. + +2024-08-02 Steve Baird <baird@adacore.com> + + * sem_ch8.adb (Find_Type): If Is_Current_Instance returns True for + N (and Comes_From_Source (N) is also True) then flag an error. + Call Is_Current_Instance (twice) instead of duplicating (twice) + N_Access_Definition-related code in Is_Current_Instance. + * sem_util.adb (Is_Current_Instance): Implement + access-type-related clauses of the RM 8.6 current instance rule. + For pragmas Predicate and Predicate_Failure, distinguish between + the first and subsequent pragma arguments. + +2024-08-02 Steve Baird <baird@adacore.com> + + * sem_res.adb (Valid_Conversion): Test In_Instance instead of + In_Instance_Body. + +2024-08-02 Eric Botcazou <ebotcazou@adacore.com> + + * aspects.ads (Aspect_Id): Add Aspect_No_Raise identifier. + (Implementation_Defined_Aspect): Add True for Aspect_No_Raise. + (Is_Representation_Aspect): Add False for Aspect_No_Raise. + (Aspect_Names): Add Name_No_Raise for Aspect_No_Raise. + (Aspect_Delay): Add Always_Delay for Aspect_No_Raise. + * checks.ads (Raise_Checks_Suppressed): New function. + (Apply_Raise_Check): New procedure. + * checks.adb (Apply_Raise_Check): New procedure. + (Raise_Checks_Suppressed): New function. + * doc/gnat_rm/gnat_language_extensions.rst (Generalized + Finalization): Update. + * doc/gnat_rm/implementation_defined_aspects.rst (No_Raise): New. + * doc/gnat_rm/implementation_defined_characteristics.rst (Check + names): Document Raise_Check and alphabetize others. + * doc/gnat_rm/implementation_defined_pragmas.rst (No_Raise): New. + * einfo.ads (No_Raise): New flag defined in subprograms and + generic subprograms. + * exp_ch6.adb (Expand_N_Subprogram_Body): Call Apply_Raise_Check + at the end of the processing. + * exp_ch11.adb (Get_RT_Exception_Name): Add alternative for + PE_Raise_Check_Failed to case statement. + * gen_il-fields.ads (Opt_Field_Enum): Add No_Raise identifier. + * gen_il-gen-gen_entities.adb (Subprogram_Kind): Add No_Raise as + semantical flag. + (Generic_Subprogram_Kind): Likewise. + * par-prag.adb (Prag): Add alternative for Pragma_No_Raise to case + statement. + * sem_ch13.adb (Validate_Finalizable_Aspect): Set No_Raise on the + Adjust and Finalize primitives if Relaxed_Finalization is set. + * sem_prag.adb (Analyze_Pragma): Add alternative for + Pragma_No_Raise to case statement. + (Sig_Flag): Add 0 for Pragma_No_Raise. + * snames.ads-tmpl (Remaining pragma names): Add Name_No_Raise. + (Names of recognized checks): Add Name_Raise_Check. + (Pragma_Id): Add Pragma_No_Raise identifier. + * types.ads (Raise_Check): New named number. + (All_Checks): Adjust. + (RT_Exception_Code): Add PE_Raise_Check_Failed identifier. + (Rkind): Add PE_Reason for PE_Raise_Check_Failed and alphabetize. + * types.h (RT_Exception_Code): Add PE_Raise_Check_Failed as 38. + (LAST_REASON_CODE): Adjust. + * libgnat/a-except.adb (Rcheck_PE_Raise_Check): New procedure with + pragmas Export, No_Return and Machine_Attributes. + (Rmsg_38): New string constant. + * gnat_rm.texi: Regenerate. + +2024-08-02 Johannes Kliemann <kliemann@adacore.com> + + * doc/gnat_rm/standard_library_routines.rst: Add note to section + of Ada.Numerics.Discrete_Random and Ada.Numerics.Float_Random. + * doc/gnat_rm/the_gnat_library.rst: Add note to section about + GNAT.Random_Numbers. + * libgnat/a-nudira.ads: Add note about cryptographic properties. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-08-02 Ronan Desplanques <desplanques@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Fix layout of section. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-08-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.ads (Is_Conversion_Or_Reference_To_Formal): New + function declaration. + * exp_util.adb (Is_Conversion_Or_Reference_To_Formal): New + function body. + * exp_ch6.adb (Expand_Simple_Function_Return): Call the predicate + Is_Conversion_Or_Reference_To_Formal in order to decide whether a + tag check or reassignment is needed. + * freeze.adb (Should_Freeze_Type): Move declaration and body to + the appropriate places. Also return True for tagged results + subject to the expansion done in Expand_Simple_Function_Return + that is guarded by the predicate + Is_Conversion_Or_Reference_To_Formal. + +2024-08-02 Ronan Desplanques <desplanques@adacore.com> + + * sem_ch5.adb (Analyze_Loop_Statement): Fix loop pattern detection + code. Fix typo. + +2024-08-01 Yannick Moy <moy@adacore.com> + + * libgnat/a-strunb.adb (Realloc_For_Chunk): Fix computation of new + size. + +2024-08-01 Yannick Moy <moy@adacore.com> + + * libgnat/a-strbou.ads (To_String): Add a postcondition to state + the value of bounds of the returned string, which helps with proof + of callers. + * libgnat/a-strfix.adb (Delete): Fix implementation to produce + correct result in all cases. For example, returned string should + always have a lower bound of 1, which was not respected in one + case. This was not detected by proof, since this code was dead + according to the too strict precondition. + * libgnat/a-strfix.ads (Delete): State the correct precondition + from standard which allows a value of Through beyond the last + valid index, and also restricts values of From from below. Update + the Contract_Cases accordingly to allow new values of parameters. + +2024-08-01 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Don't check for duplicate + SPARK_Mode pragmas in configuration files. + +2024-08-01 Gary Dismukes <dismukes@adacore.com> + + * sem_attr.adb (Resolve_Attribute, Attribute_*Access): Resolve + overloaded prefixes that denote objects of reference types, + determining whether to use the prefix object directly, or expand + it as an explicit dereference. + +2024-08-01 Eric Botcazou <ebotcazou@adacore.com> + + * sinfo.ads (N_Block_Statement): Move At_End_Proc to the end of + slot list and alphabetize flag list. + (N_Subprogram_Body): Add At_End_Proc. + (N_Package_Body): Move At_End_Proc to the end of slot list. + (N_Subprogram_Body_Stub): Remove At_End_Proc. + +2024-08-01 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch5.adb (Analyze_Loop_Parameter_Specification): + Unconditionally set the type of loop parameter. + +2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * backend_utils.adb (Scan_Common_Back_End_Switch): Remove blank + line. + * errout.adb (Output_JSON_Message): Likewise. + * erroutc.adb (Set_Msg_Char): Likewise. + * exp_aggr.adb (Two_Dim_Packed_Array_Handled): Likewise. + * exp_pakd.adb (Expand_Packed_Address_Reference): Likewise. + (Expand_Packed_Bit_Reference): Likewise. + (Expand_Packed_Boolean_Operator): Likewise. + (Expand_Packed_Element_Reference): Likewise. + (Expand_Packed_Eq): Likewise. + (Expand_Packed_Not): Likewise. + * exp_prag.adb (Build_Dim3_Declaration): Likewise. + * exp_strm.adb (Build_Elementary_Input_Call): Likewise. + * freeze.adb (Find_Aspect_No_Parts): Likewise. + (Get_Aspect_No_Parts_Value): Likewise. + * gen_il-gen.adb (Compile): Likewise. + * gnat1drv.adb (Adjust_Global_Switches): Likewise. + * gnat_cuda.adb (Expand_CUDA_Package): Likewise. + * gnatchop.adb (Read_File): Likewise. + * gnatls.adb (Get_Runtime_Path): Likewise. + * make.adb (Binding_Phase): Likewise. + * par-ch11.adb (P_Exception_Choice): Likewise. + * par-ch5.adb (P_Loop_Parameter_Specification): Likewise. + * par-ch6.adb (Is_Extended): Likewise. + * sem_attr.adb (Check_Dereference): Likewise. + * sem_ch12.adb (Build_Subprogram_Decl_Wrapper): Likewise. + * sem_ch3.adb (Build_Itype_Reference): Likewise. + * sem_prag.adb (Validate_Compile_Time_Warning_Errors): Likewise. + * sem_res.adb (Resolve_Declare_Expression): Likewise. + * sem_util.adb (Build_Default_Subtype): Likewise. + * sprint.adb (Sprint_Paren_Comma_List): Likewise. + +2024-08-01 Javier Miranda <miranda@adacore.com> + + * par-ch2.adb (P_Interpolated_String_Literal): remove support of + multi-line string literals. + * doc/gnat_rm/gnat_language_extensions.rst: Update documentation. + * gnat_rm.texi: Regenerate. + +2024-08-01 Viljar Indus <indus@adacore.com> + + * sem_warn.adb (Output_Obsolescent_Entity_Warnings): use the ?j? + in warning messages. + +2024-08-01 Ronan Desplanques <desplanques@adacore.com> + + * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Fix test for + expanded quantified expression context. + (Is_Expanded_Quantified_Expr): New function. + +2024-08-01 Bob Duff <duff@adacore.com> + + * sem_ch13.adb (Add_Predicate): Remove the premature "return;". + Ghost code needs to be processed by later code in this procedure + even when ignored; otherwise the second pass of name resolution + fails much later. However, protect Set_SCO_Pragma_Enabled and + Add_Condition with "if not Is_Ignored_Ghost_Pragma"; these parts + should not happen if the ghost code is Ignored. + * libgnat/interfac__2020.ads (Unsigned_8): Minor reformatting. + * libgnat/interfac.ads (IEEE_Extended_Float): Minor comment + improvement. + +2024-08-01 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (No_Return): Change description and adjust + accordingly. + * gen_il-gen-gen_entities.adb (Entity_Kind): Remove No_Return. + (Subprogram_Kind): Add No_Return. + (Generic_Subprogram_Kind): Likewise. + * sem_ch6.adb (Analyze_Return_Statement): Adjust No_Return test. + +2024-08-01 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst (Generalized + Finalization): Update status. + * einfo.ads (Has_Relaxed_Finalization): Add more details. + * exp_ch4.adb (Process_Transients_In_Expression): Invoke + Make_Finalize_Call_For_Node instead of building the call. + * exp_ch5.adb (Expand_N_Assignment_Statement): Do not set up an + exception handler around the assignment for a controlled type with + relaxed finalization semantics. Streamline the code implementing + the protection against aborts and do not use an At_End handler for + a controlled type with relaxed finalization semantics. + * exp_ch7.ads (Make_Finalize_Call_For_Node): New function. + * exp_ch7.adb (Finalize_Address_For_Node): New function renaming. + (Set_Finalize_Address_For_Node): New procedure renaming. + (Attach_Object_To_Master_Node): Also attach the Finalize_Address + primitive to the Master_Node statically. + (Build_Finalizer): Add Has_Strict_Ctrl_Objs local variable. Insert + back the body of the finalizer at the end of the statement list in + the non-package case and restore the associated support code to + that effect. When all the controlled objects have the relaxed + finalization semantics, do not create a Finalization_Master and + finalize the objects directly instead. + (Processing_Actions): Add Strict parameter and use it to set the + Has_Strict_Ctrl_Objs variable. + (Process_Declarations): Make main loop more robust and adjust + calls to Processing_Actions. + (Make_Finalize_Address_Body): Mark the primitive as inlined if the + type has relaxed finalization semantics. + (Make_Finalize_Call_For_Node): New function. + * sem_ch6.adb (Check_Statement_Sequence): Skip subprogram bodies. + * libgnat/s-finpri.ads (Finalize_Object): Add Finalize_Address + parameter. + (Master_Node): Remove superfluous qualification. + * libgnat/s-finpri.adb (Attach_Object_To_Node): Likewise. + (Finalize_Master): Adjust calls to Finalize_Object. + (Finalize_Object): Add Finalize_Address parameter and assert that + it is equal to the component of the node. Use the Object_Address + component as guard. + (Suppress_Object_Finalize_At_End): Clear Object_Address component. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-08-01 Arnaud Charlet <charlet@adacore.com> + + * bindgen.adb (Gen_Main): Put back support for -G + * bindusg.adb (Display): Put back line for -G + * opt.ads (CCG_Mode): Update doc + * switch-b.adb (Scan_Binder_Switches): Put back support for -G + +2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Disable expansion + in CodePeerMode. + (Expand_Packed_Address_Reference): Likewise. + (Expand_Packed_Bit_Reference): Likewise. + (Expand_Packed_Boolean_Operator): Likewise. + (Expand_Packed_Element_Reference): Likewise. + (Expand_Packed_Eq): Likewise. + (Expand_Packed_Not): Likewise. + +2024-08-01 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Check_Aspect_Too_Late): Move routine to top-level. + (Resolve_Aspect_Expressions): Check aspects Default_Value and + Default_Component_Value before resolving their expressions. + +2024-08-01 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Check_Aspect_Too_Late): Prevent freezing during + preanalysis. + +2024-08-01 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Resolve_Aspect_Expression): Don't set + Must_Not_Freeze before preanalyzing spec expressions. + +2024-08-01 Steve Baird <baird@adacore.com> + + * sem_disp.adb (Check_Dispatching_Operation): When calling + Error_Msg_NE to generate a "missing overriding indicator" message, + generate a warning message instead of an error message (and update + comment to describe this new behavior). + +2024-08-01 Javier Miranda <miranda@adacore.com> + + * sem_aggr.adb (Collect_Aggr_Bounds): Adjust previous patch to + store the bounds of inner null aggregates in the itype; required + generate the runtime check of ARM 4.3.3(30). + +2024-08-01 Arnaud Charlet <charlet@adacore.com> + + * osint-c.ads, osint-c.adb (Create_C_File, Close_C_File, + Delete_C_File): Put back, needed by LLVM based CCG. + * exp_unst.adb (Unnest_Subprogram): Complete previous change by + removing now dead code and corresponding ??? comment. + +2024-08-01 Gary Dismukes <dismukes@adacore.com> + + * exp_ch3.adb (Build_Record_Init_Proc.Build_Assignment): Do the + component adjustment in the case of initialization by a container + aggregate. + +2024-08-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Convert_To_Assignments): Set Expansion_Delayed on + intermediate conditional expressions for BIP aggregate returns + too. + * exp_ch4.adb (Expand_N_Case_Expression): Also deal with delayed + expansion in the return case. + (Expand_N_If_Expression): Likewise. + +2024-08-01 Steve Baird <baird@adacore.com> + + * sem_ch4.adb (Is_Effectively_Visible_Opertor): Return True if + Checking_Potentially_Static_Expression is True. The accompanying + comment says True is returned "if there is a reason it is ok for + Is_Visible_Operator to return False"; if + Checking_Potentially_Static_Expression is true, that is such a + reason. + +2024-08-01 Ghjuvan Lacambre <lacambre@adacore.com> + + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Stop + ignoring Component_Size attribute in CodePeer_Mode. + +2024-08-01 Ronan Desplanques <desplanques@adacore.com> + + * sem_ch5.adb (Prepare_Param_Spec_Loop): Fix criterion for + wrapping loop statements into blocks. + +2024-08-01 Arnaud Charlet <charlet@adacore.com> + + * bindgen.adb, bindusg.adb, debug.adb, einfo.ads, + exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, + exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch8.adb, exp_dbug.adb, + exp_dbug.ads, exp_intr.adb, exp_unst.adb, exp_util.adb, + exp_util.ads, freeze.adb, gen_il-fields.ads, + gen_il-gen-gen_entities.adb, gnat1drv.adb, inline.adb, opt.ads, + osint-c.adb, osint-c.ads, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, + sem_ch4.adb, sem_ch6.adb, sem_elab.adb, sem_res.adb, sinfo.ads, + snames.ads-tmpl, switch-b.adb, switch-c.adb: Major + clean up to remove C code generation for bodies. + +2024-08-01 Ronan Desplanques <desplanques@adacore.com> + + * exp_aggr.adb (Flatten): Do not reject empty aggregates. Adjust + criterion for emitting warning about ineffective others clause. + * sem_aggr.adb (Array_Aggr_Subtype): Fix typo. Add handling of + aggregates that were converted to positional form. + (Resolve_Aggregate): Tweak criterion for transforming into a + string literal. + (Resolve_Array_Aggregate): Tweak criterion for reusing existing + bounds of aggregate. + (Retrieve_Aggregate_Bounds): New procedure. + * sem_util.adb (Has_Static_Empty_Array_Bounds): New function. + * sem_util.ads (Has_Static_Empty_Array_Bounds): Likewise. + +2024-08-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.ads (Build_Finalizer): Remove Top_Decls parameter. + * exp_ch7.adb (Build_Finalizer): Likewise. Rename Counter_Val into + Count, replace Has_Ctrl_Objs local variable by expression + function, remove Spec_Decls local variable and do not reset + Finalizer_Decls. + (Expand_Cleanup_Actions): Adjust call to Build_Finalizer. + (Expand_N_Package_Body): Likewise. + (Expand_N_Package_Declaration): Likewise. + * inline.adb (Cleanup_Scopes): Likewise. + +2024-08-01 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Make_Address_For_Finalize): Generate a direct call + to the "+" operator of System.Storage_Elements. + (Make_Finalize_Address_Stmts): Likewise. + * rtsfind.ads (RE_Id): Remove RE_Add_Offset_To_Address. + (RE_Unit_Table): Remove entry for RE_Add_Offset_To_Address. + * libgnat/s-finpri.ads (Add_Offset_To_Address): Delete. + * libgnat/s-finpri.adb (Add_Offset_To_Address): Likewise. + +2024-07-07 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc-interface/Make-lang.in (ada.all.cross): Move recipe to... + (GNATTOOLS_CROSS_MV): ... this new variable. + (cross-gnattools): Paste it here. + (gnattools-cross-mv): New target. + +2024-07-03 Alexandre Oliva <oliva@adacore.com> + + * gcc-interface/misc.cc (gnat_get_array_descr_info): Only follow + TYPE_DEBUG_TYPE if TYPE_CAN_HAVE_DEBUG_TYPE_P. + * gcc-interface/utils.cc (sized_type_hash): New struct. + (sized_type_hasher): New struct. + (sized_type_hash_table): New variable. + (init_gnat_utils): Allocate it. + (destroy_gnat_utils): Release it. + (sized_type_hasher::equal): New. + (hash_sized_type): New. + (canonicalize_sized_type): New. + (make_type_from_size): Use it to cache packed variants. Fix + type reuse by combining biased_p and for_biased earlier. Hold + the combination in for_biased, adjusting later uses. + +2024-07-03 Alexandre Oliva <oliva@adacore.com> + + * gcc-interface/cuintp.cc (UI_To_gnu): Add mode that selects a + wide enough unsigned type. Fail if the constant exceeds the + representable numbers. + * gcc-interface/decl.cc (gnat_to_gnu_entity): Use it for + numerator and denominator of fixed-point types. In case of + failure, fall back to an indeterminate fraction. + +2024-07-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_Concatenate): In the case where an operand + does not have both bounds known at compile time, use nevertheless + the low bound directly if it is known at compile time. + Fold the conditional expression giving the low bound of the result + in the general case if the low bound of all the operands are equal. + +2024-07-02 Ronan Desplanques <desplanques@adacore.com> + + * sem_ch12.adb (Save_And_Reset): Fix value of low bound used to + reset table. + +2024-07-02 Steve Baird <baird@adacore.com> + + * sem_attr.adb + (Analyze_Image_Attribute.Check_Image_Type): Check for + E_Access_Attribute_Type prefix type. + +2024-07-02 Steve Baird <baird@adacore.com> + + * exp_ch9.adb + (Expand_N_Protected_Body): Declare new procedure + Unanalyze_Use_Clauses and call it before analyzing the newly + constructed subprogram body. + +2024-07-02 Steve Baird <baird@adacore.com> + + * exp_put_image.adb + (Build_Record_Put_Image_Procedure): Declare new Boolean-valued + function Null_Record_Default_Implementation_OK; call it as part of + deciding whether to generate "(NULL RECORD)" text. + +2024-07-02 Justin Squirek <squirek@adacore.com> + + * sem_ch5.adb: + (Analyze_Assignment): Add special expansion for qualified expressions + in certain cases dealing with mutably tagged types. + +2024-07-02 Bob Duff <duff@adacore.com> + + * freeze.adb (Freeze_Type_Refs): If Node is in N_Has_Etype, + check that it has had its Etype set, because this can be + called early for expression functions that are completions. + +2024-07-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_Array_Comparison): Remove the obsolete byte + addressibility test. If Support_Composite_Compare_On_Target is true, + immediately return for a component size of 8, an unsigned component + type and aligned operands. Disable when Unnest_Subprogram_Mode is + true (for LLVM). + (Expand_N_Op_Eq): Adjust comment. + * targparm.ads (Support_Composite_Compare_On_Target): Replace bit by + byte in description and document support for ordering comparisons. + * gcc-interface/utils2.cc (compare_arrays): Rename into... + (compare_arrays_for_equality): ...this. Remove redundant lines. + (compare_arrays_for_ordering): New function. + (build_binary_op) <comparisons>: Call compare_arrays_for_ordering + to implement ordering comparisons for arrays. + +2024-07-02 Yannick Moy <moy@adacore.com> + + * contracts.adb (Analyze_Pragmas_In_Declarations): Analyze + pragmas in two iterations over the list of declarations in + order to analyze some pragmas before others. + * einfo-utils.ads (Get_Pragma): Fix comment. + * sem_prag.ads (Pragma_Significant_To_Subprograms): Fix. + (Pragma_Significant_To_Subprograms_Analyzed_First): Add new + global array to identify these pragmas which should be analyzed + first, which concerns only Extensions_Visible for now. + +2024-07-02 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Convert_View): Add third parameter Typ and use it if + the second parameter does not have an Etype. + (Make_Adjust_Call): Remove obsolete setting of Etype and pass Typ in + call to Convert_View. + (Make_Final_Call): Likewise. + (Make_Init_Call): Pass Typ in call to Convert_View. + +2024-07-02 Javier Miranda <miranda@adacore.com> + + * sem_aggr.adb (Cannot_Compute_High_Bound): New subprogram. + (Report_Null_Array_Constraint_Error): New subprogram. + (Collect_Aggr_Bounds): For null aggregates, build the bounds + of the inner dimensions. + (Has_Null_Aggregate_Raising_Constraint_Error): New subprogram. + (Subtract): New subprogram. + (Resolve_Array_Aggregate): Report a warning when the index of + null array aggregates is an enumeration type or a modular type + at we can statically determine that the program will raise CE + at runtime computing its high bound. + (Resolve_Null_Array_Aggregate): ditto. + +2024-07-02 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst + (No_Default_Initialization): Mention components alongside variables. + * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Check that the + restriction No_Default_Initialization is not in effect for default + initialized component. + (Build_Record_Aggr_Code): Likewise. + * gnat_rm.texi: Regenerate. + +2024-07-02 Eric Botcazou <ebotcazou@adacore.com> + + * debug.adb (dJ): Add back as unused. + +2024-06-27 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-carsi8.adb: Remove clauses for System.Address_Operations + and use only operations of System.Storage_Elements for addresses. + * libgnat/s-casi16.adb: Likewise. + * libgnat/s-casi32.adb: Likewise. + * libgnat/s-casi64.adb: Likewise. + * libgnat/s-casi128.adb: Likewise. + * libgnat/s-carun8.adb: Likewise. + * libgnat/s-caun16.adb: Likewise. + * libgnat/s-caun32.adb: Likewise. + * libgnat/s-caun64.adb: Likewise. + * libgnat/s-caun128.adb: Likewise. + * libgnat/s-geveop.adb: Likewise. + +2024-06-27 Javier Miranda <miranda@adacore.com> + + * sem_ch2.adb (Analyze_Interpolated_String_Literal): Report + interpretations of ambiguous parameterless function calls. + +2024-06-27 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch5.adb (Analyze_Target_Name): Call Analyze_Dimension on the + node once the Etype is set. + * sem_dim.adb (OK_For_Dimension): Set to True for N_Target_Name. + (Analyze_Dimension): Call Analyze_Dimension_Has_Etype for it. + +2024-06-27 Ronan Desplanques <desplanques@adacore.com> + + * mdll.adb (Build_Non_Reloc_DLL): Fix incorrect assignment + to array object. + (Ada_Build_Non_Reloc_DLL): Likewise. + +2024-06-27 Javier Miranda <miranda@adacore.com> + + * sem_res.adb (Has_Applicable_User_Defined_Literal): Add missing + support for interpolated strings. + +2024-06-27 Martin Clochard <clochard@adacore.com> + + * sem_ch6.adb (Check_Overriding_Indicator) Remove Comes_From_Source filter. + (New_Overloaded_Entity) Move up special case of LSP_Subprogram, + and remove Comes_From_Source filter. + +2024-06-27 Eric Botcazou <ebotcazou@adacore.com> + + * aspects.ads (Aspect_Id): Add Aspect_Finalizable. + (Implementation_Defined_Aspect): Add True for Aspect_Finalizable. + (Operational_Aspect): Add True for Aspect_Finalizable. + (Aspect_Argument): Add Expression for Aspect_Finalizable. + (Is_Representation_Aspect): Add False for Aspect_Finalizable. + (Aspect_Names): Add Name_Finalizable for Aspect_Finalizable. + (Aspect_Delay): Add Always_Delay for Aspect_Finalizable. + * checks.adb: Add with and use clauses for Sem_Elab. + (Install_Primitive_Elaboration_Check): Call Is_Controlled_Procedure. + * einfo.ads (Has_Relaxed_Finalization): Document new flag. + (Is_Controlled_Active): Update documentation. + * exp_aggr.adb (Generate_Finalization_Actions): Replace Find_Prim_Op + with Find_Controlled_Prim_Op for Name_Finalize. + * exp_attr.adb (Expand_N_Attribute_Reference) <Finalization_Size>: + Return 0 if the prefix type has relaxed finalization. + * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Return Empty if + the type needs finalization. + (Expand_Freeze_Record_Type): Call Find_Controlled_Prim_Op instead of + Find_Prim_Op for Name_{Adjust,Initialize,Finalize}. + Call Make_Finalize_Address_Body for all controlled types. + * exp_ch4.adb (Insert_Dereference_Action): Do not generate a call to + Adjust_Controlled_Dereference if the designated type has relaxed + finalization. + * exp_ch6.adb (Needs_BIP_Collection): Return false for an untagged + type that has relaxed finalization. + * exp_ch7.adb (Allows_Finalization_Collection): Return false if the + designated type has relaxed finalization. + (Check_Visibly_Controlled): Call Find_Controlled_Prim_Op instead of + Find_Prim_Op. + (Make_Adjust_Call): Likewise. + (Make_Deep_Record_Body): Likewise. + (Make_Final_Call): Likewise. + (Make_Init_Call): Likewise. + * exp_disp.adb (Set_All_DT_Position): Remove obsolete warning. + * exp_util.ads: Add with and use clauses for Snames. + (Find_Prim_Op): Add precondition. + (Find_Controlled_Prim_Op): New function declaration. + (Name_Of_Controlled_Prim_Op): Likewise. + * exp_util.adb: Remove with and use clauses for Snames. + (Build_Allocate_Deallocate_Proc): Do not build finalization actions + if the designated type has relaxed finalization. + (Find_Controlled_Prim_Op): New function. + (Find_Last_Init): Call Find_Controlled_Prim_Op instead of + Find_Prim_Op. + (Name_Of_Controlled_Prim_Op): New function. + * freeze.adb (Freeze_Entity.Freeze_Record_Type): Propagate the + Has_Relaxed_Finalization flag from components. + * gen_il-fields.ads (Opt_Field_Enum): Add Has_Relaxed_Finalization. + * gen_il-gen-gen_entities.adb (Entity_Kind): Likewise. + * sem_aux.adb (Is_By_Reference_Type): Return true for all controlled + types. + * sem_ch3.adb (Build_Derived_Record_Type): Do not special case types + declared in Ada.Finalization. + (Record_Type_Definition): Propagate the Has_Relaxed_Finalization + flag from components. + * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Also process the + Finalizable aspect. + (Analyze_Aspect_Specifications): Likewise. Call Flag_Non_Static_Expr + in more cases. + (Check_Aspect_At_Freeze_Point): Likewise. + (Inherit_Aspects_At_Freeze_Point): Likewise. + (Resolve_Aspect_Expressions): Likewise. + (Resolve_Finalizable_Argument): New procedure. + (Validate_Finalizable_Aspect): Likewise. + * sem_elab.ads: Add with and use clauses for Snames. + (Is_Controlled_Procedure): New function declaration. + * sem_elab.adb: Remove with and use clauses for Snames. + (Is_Controlled_Proc): Move to... + (Is_Controlled_Procedure): ...here and rename. + (Check_A_Call): Call Find_Controlled_Prim_Op instead of + Find_Prim_Op. + (Is_Finalization_Procedure): Likewise. + * sem_util.ads (Propagate_Controlled_Flags): Update documentation. + * sem_util.adb (Is_Fully_Initialized_Type): Replace call to + Find_Optional_Prim_Op with Find_Controlled_Prim_Op. + Call Has_Null_Extension only for derived tagged types. + (Propagate_Controlled_Flags): Propagate Has_Relaxed_Finalization. + * snames.ads-tmpl (Name_Finalizable): New name. + (Name_Relaxed_Finalization): Likewise. + * libgnat/s-finroo.ads (Root_Controlled): Add Finalizable aspect. + * doc/gnat_rm/gnat_language_extensions.rst: Document implementation + of Generalized Finalization. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Also return early + for a protected subprogram in -gnatc mode. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <discrete_type>: Set + the TYPE_JUSTIFIED_MODULAR_P flag earlier. + * gcc-interface/misc.cc (gnat_unit_size_without_reusable_padding): + New function. + (LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING): Redefine to above + function. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.cc (clear_decl_bit_field): New function. + (finish_record_type): Call clear_decl_bit_field instead of clearing + DECL_BIT_FIELD manually. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Mod>: Fix formatting. + * gcc-interface/utils2.cc: Include optabs-query.h. + (fast_modulo_reduction): Call can_mult_highpart_p on the TYPE_MODE + before generating a high-part multiply. Fix formatting. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/gigi.h (fast_modulo_reduction): Declare. + * gcc-interface/trans.cc (gnat_to_gnu) <N_Op_Mod>: In the unsigned + case, call fast_modulo_reduction for {FLOOR,TRUNC}_MOD_EXPR if the + RHS is a constant and not a power of two, and the precision is not + larger than the word size. + * gcc-interface/utils2.cc: Include expmed.h. + (fast_modulo_reduction): New function. + (nonbinary_modular_operation): Call fast_modulo_reduction for the + multiplication if the precision is not larger than the word size. + +2024-06-21 Javier Miranda <miranda@adacore.com> + + * sem_ch2.adb (Analyze_Interpolated_String_Literal): Reject + ambiguous function calls. + +2024-06-21 Ronan Desplanques <desplanques@adacore.com> + + * sem_util.adb (Examine_Array_Bounds): Add missing return + statements. Fix criterion for a string literal being empty. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * bcheck.adb (Check_Consistency_Of_Sdep): Guard against path to ALI + file not found. + +2024-06-21 Javier Miranda <miranda@adacore.com> + + * sem_ch13.adb (Analyze_One_Aspect): Fix code locating the entity + of the parent type. + +2024-06-21 Marc Poulhiès <poulhies@adacore.com> + + * make.adb (Scan_Make_Arg): Adjust error message. + * gnatls.adb (Search_RTS): Likewise. + * switch-b.adb (Scan_Debug_Switches): Likewise. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Direct_Primitive_Operations): Mention concurrent types + as well as GNAT extensions instead of implementation details. + (Primitive_Operations): Document that Direct_Primitive_Operations is + also used for concurrent types as a fallback. + * einfo-utils.adb (Primitive_Operations): Tweak formatting. + * exp_util.ads (Find_Prim_Op): Adjust description. + * exp_util.adb (Make_Subtype_From_Expr): In the private case with + unknown discriminants, always copy Direct_Primitive_Operations and + do not overwrite the Class_Wide_Type of the expression's base type. + * sem_ch3.adb (Analyze_Incomplete_Type_Decl): Tweak comment. + (Analyze_Subtype_Declaration): Remove older and now dead calls to + Set_Direct_Primitive_Operations. Tweak comment. + (Build_Derived_Private_Type): Likewise. + (Build_Derived_Record_Type): Likewise. + (Build_Discriminated_Subtype): Set Direct_Primitive_Operations in + all cases instead of just for tagged types. + (Complete_Private_Subtype): Likewise. + (Derived_Type_Declaration): Tweak comment. + * sem_ch4.ads (Try_Object_Operation): Adjust description. + +2024-06-21 Doug Rupp <rupp@adacore.com> + + * init.c [vxworks] (__gnat_install_handler): Revert to + installing signal handlers without regard to interrupt_state. + +2024-06-21 Javier Miranda <miranda@adacore.com> + + * sem_disp.adb (Find_Hidden_Overridden_Primitive): Check + public dispatching primitives of ancestors; previously, + only immediately-visible primitives were checked. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * checks.adb (Generate_Index_Checks): Add specific treatment for + index expressions that are N_Expression_With_Actions nodes. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch4.adb (Analyze_Selected_Component): Rename Name into Pref + and use Sel local variable consistently. + (Is_Simple_Indexed_Component): New predicate. + Call Is_Simple_Indexed_Component to determine whether to build an + actual subtype for the component. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb (Freeze_Array_Type): Decouple the handling of the + interaction between packing and aliased/atomic components from + that of the interaction between a component clause and aliased/ + atomic components, and retrofit the processing of the interaction + between the two characteristics and independent components into + the common processing. + +2024-06-21 Bob Duff <duff@adacore.com> + + * gen_il-gen-gen_nodes.adb + (N_Generic_Package_Declaration): Remove Activation_Chain_Entity. + * sinfo.ads: Comment improvements. Add missing doc. + Remove obsolete comment about Activation_Chain_Entity. + * einfo.ads: Comment improvements. Add missing doc. + * einfo-utils.adb (Base_Type): Add Assert (disabled for now). + (Next_Index): Minor cleanup. + * aspects.ads: Minor comment fix. + * exp_ch6.adb: Likewise. + * sem_ch3.adb: Likewise. + +2024-06-21 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch3.adb (Add_Interface_Tag_Components): Simplify with No. + +2024-06-21 Steve Baird <baird@adacore.com> + + * sem_ch4.adb (Is_Effectively_Visible_Operator): A new function. + (Check_Arithmetic_Pair): In paths where Add_One_Interp was + previously called unconditionally, instead call only if + Is_Effectively_Visible_Operator returns True. + (Check_Boolean_Pair): Likewise. + (Find_Unary_Types): Likewise. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * accessibility.adb (Accessibility_Level): Apply the processing to + Expr when its Original_Node is an unanalyzed identifier. + +2024-06-21 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (In_Aspect_Specification): Use the standard + condition that works correctly with declare expressions. + * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Replace + ordinary analysis with preanalysis of spec expressions. + +2024-06-21 Justin Squirek <squirek@adacore.com> + + * csets.ads (Identifier_Char): New function - replacing table. + * csets.adb (Identifier_Char): Rename and move table for static values. + (Initialize): Remove dynamic calculations. + (Identifier_Char): New function to calculate dynamic values. + * opt.adb (Set_Config_Switches): Remove setting of Identifier_Char. + +2024-06-20 Steve Baird <baird@adacore.com> + + * sem_attr.adb (Resolve_Attribute.Proper_Op): When resolving the + name of the reducer subprogram in a reduction expression, + Proper_Op treats references to operators defined in Standard + specially. Disable this special treatment if the type of the + reduction expression is not the right class of type for the + operator, or if a new Boolean parameter (named "Strict") is True. + (Resolve_Attribute): In the overloaded case, iterate over the + reducer subprogram candidates twice. First with Strict => True and + then, if no good intepretation is found, with Strict => False. + +2024-06-20 Yannick Moy <moy@adacore.com> + + * ghost.adb (Check_Ghost_Type): Fix checking. + +2024-06-20 Bob Duff <duff@adacore.com> + + * expander.ads: Minor comment fixes. + * nlists.ads: Misc comment improvements. + * sem_aux.ads (First_Discriminant): Improve comment. + * sem_ch12.adb: Misc cleanups. + (Associations): New package containing type Gen_Assocs_Rec + to represent matchings, and function Match_Assocs to create the + Gen_Assocs_Rec constant. + (Analyze_Associations): Call Match_Assocs, and other major + changes related to that. + * sem_ch12.ads: Minor comment fixes. + * sem_ch3.adb: Minor comment fixes. + +2024-06-20 Steve Baird <baird@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Update documentation. + * doc/gnat_rm/implementation_defined_pragmas.rst: Update + documentation. + * errout.adb + (Error_Msg_GNAT_Extension): Update error message text. + * par-prag.adb: Update pragma parsing. This includes changing the + the name of the Check_Arg_Is_On_Or_Off formal parameter All_OK_Too + to All_Extensions_OK_Too. + * sem_prag.adb (Analyze_Pragma): In analyzing an + Extensions_Allowed pragma, replace uses of Name_All with + Name_All_Extensions; update a comment to reflect this. + * snames.ads-tmpl: Add Name_All_Extensions declaration. + * gnat_rm.texi: Regenerate. + +2024-06-20 Gary Dismukes <dismukes@adacore.com> + + * sem_ch4.adb (Try_Selected_Component_In_Instance): Reverse if_statement + clauses so that the testing for the special case of extensions of private + types in instance bodies is done first, followed by the testing for the case + of a parent type that's a generic actual type. In the extension case, apply + Base_Type to the type actual in the test of Used_As_Generic_Actual, and add + a test of Present (Parent_Subtype (Typ)). + +2024-06-20 Yannick Moy <moy@adacore.com> + + * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): In the + case of formal with a fixed lower bounds, insert appropriate + conversion like in the case of a constrained type. + * tbuild.adb (Unchecked_Convert_To): Do not skip the conversion + when it may involve sliding due to a type with fixed lower bound. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch12.adb (Instantiate_Formal_Package): Accept renamings of a + generic parent that is a child unit for the abbreviated instance. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_Composite_Equality): In the untagged record + case, always look for a user-defined equality operator in Ada 2012. + +2024-06-20 Doug Rupp <rupp@adacore.com> + + * ali.ads (Interrupts_Default_To_System): New boolean. + (Interrupts_Default_To_System_Specified): New boolean. + * ali.adb (Interrupts_Default_To_System_Specified): Initialize. + (Interrupts_Default_To_System): Initialize. + (Scan_ALI): Processing for "ID". + * bindgen.adb: Coallesce comments on interrupt settings to ... + (Gen_Adainit): Import Interrupts_Default_To_System flag and set if + pragma specified. + (Gen_Output_File_Ada): Generate Local_Interrupt_States according + to pragma. + * init.c: ... here. + [vxworks] (__gnat_install_handler): Test for interrupt_state. + (__gl_interrupts_default_to_system): New global flag. + (__gnat_get_interrupt_State): return interrupt state according to + new global flag. + * lib-writ.ads: Document "ID". + * lib-writ.adb: Write out "ID". + * opt.ads (Interrupts_System_By_Default): New boolean, defaulted + to False. + * par-prag.adb (Pragma_Interrupts_System_By_Default): New. + * sem_prag.adb (Pragma_Interrupts_System_By_Default): Handle it. + (Pragma_Interrupts_System_By_Default): Default it. + * snames.ads-tmpl (Name_Interrupts_System_By_Default): New name. + (Pragma_Interrupts_System_By_Default): New + * libgnarl/s-intman__posix.adb (Initialize): Ensure the + Keep_Unmasked signal is sigset-able. + * doc/gnat_rm/implementation_defined_pragmas.rst: Document pragma + Interrupts_System_By_Default. + * doc/gnat_ugn/the_gnat_compilation_model.rst (Configuration + pragmas): Add Interrupts_System_By_Default. (Partition-Wide + Settings): Mention pragma Interrupts_System_By_Default. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_Array_Equality.Component_Equality): Copy the + Comes_From_Source flag from the original test to the new one, and + remove obsolete code dealing with unchecked unions. + * sem_util.adb (Has_Inferable_Discriminants): Return False for an + incomplete or private nominal subtype. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb (Freeze_Expression): Also attach pending freeze nodes + to the parent in the case of an internal block in a spec expression. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * debug.adb (d_l): Document new usage for the compiler. + * freeze.adb (Check_Strict_Alignment): Set the Strict_Alignment + flag on array types with aliased component, except if the + component size is equal to the storage unit or the -gnatd_l switch + is specified. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_rm/implementation_advice.rst (Representation Clauses): + Remove >> marker and add end of sentence after code-block directive. + (RM 13.5.3(7-8)): Update to Ada 2005 wording. + * doc/gnat_rm/implementation_defined_characteristics.rst + (RM 13.5.3(5)): Likewise. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-20 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_aspects.rst + (Aspect Subprogram_Variant): Refer to SPARK User's Guide. + * doc/gnat_rm/implementation_defined_pragmas.rst + (Pragma Subprogram_Variant): Document syntax to satisfy the + convention; refer to SPARK User's Guide for semantics. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb (Freeze_Array_Type): Call Propagate_Controlled_Flags + to propagate the controlled flags from the component to the array. + (Freeze_Record_Type): Propagate the Finalize_Storage_Only flag + from the components to the record. + * sem_ch3.adb (Analyze_Private_Extension_Declaration): Do not call + Propagate_Concurrent_Flags here but... + (Array_Type_Declaration): Tidy and call Propagate_Controlled_Flags + to propagate the controlled flags from the component to the array. + (Build_Derived_Private_Type): Do not propagate the controlled flags + manually here but... + (Build_Derived_Record_Type): ...call Propagate_Controlled_Flags to + propagate the controlled flags from parent to derived type. + (Build_Derived_Type): Likewise. + (Copy_Array_Base_Type_Attributes): Call Propagate_Controlled_Flags + to copy the controlled flags. + (Record_Type_Definition): Streamline the propagation of the + Finalize_Storage_Only flag from the components to the record. + * sem_ch7.adb (Preserve_Full_Attributes): Use Full_Base and call + Propagate_Controlled_Flags to copy the controlled flags. + * sem_ch9.adb (Analyze_Protected_Definition): Use canonical idiom + to compute Has_Controlled_Component. + (Analyze_Protected_Type_Declaration): Minor tweak. + * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Do not deal with + Finalize_Storage_Only here. + * sem_util.ads (Propagate_Controlled_Flags): New declaration. + * sem_util.adb (Propagate_Controlled_Flags): New procedure. + +2024-06-20 Piotr Trojanek <trojanek@adacore.com> + + * freeze.adb (Check_Current_Instance): This routine is only called + with parameter E being a type entity, so there is no need to check + for types just before the equality with E. + * sem_ch13.adb (Analyze_Aspect_Specifications): Regroup condition + to avoid unnecessary evaluation. + (Check_Aspect_At_End_Of_Declarations): If In_Instance is true, + then the routine exits early. + +2024-06-20 Piotr Trojanek <trojanek@adacore.com> + + * freeze.adb (Find_Aspect_No_Parts): Tune whitespace. + * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Fix style. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * aspects.ads (Aspect_Id): Remove Aspect_Max_Entry_Queue_Depth. + (global arrays): Remove entry for it. + * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Remove + reference to pragma Max_Entry_Queue_Depth in comment. + * par-prag.adb (Prag): Remove handling of + Pragma_Max_Entry_Queue_Depth. + * sem_ch13.adb (Analyze_Aspect_Specifications): Remove reference + to aspect Max_Entry_Queue_Depth in comment. + (Analyze_Aspect_Specifications): Remove processing of aspect + Max_Entry_Queue_Depth. + (Check_Aspect_At_Freeze_Point): Likewise. + * sem_prag.ads (Find_Related_Declaration_Or_Body): Remove + reference to pragma Max_Entry_Queue_Depth in comment. + * sem_prag.adb (Analyze_Pragma): Remove processing of pragma + Max_Entry_Queue_Depth. + (Sig_Flags): Remove entry for Pragma_Max_Entry_Queue_Depth. + * sem_util.adb (Get_Max_Queue_Length): Remove handling of pragma + Max_Entry_Queue_Depth. + (Has_Max_Queue_Length): Likewise. + * snames.ads-tmpl (Name_Max_Entry_Queue_Depth): Move back from + pragmas section to others section. + (Pragma_Id): Remove Pragma_Max_Entry_Queue_Depth. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst (Pragma Storage_Model): + Rename to Storage Model. + * doc/gnat_rm/implementation_defined_aspects.rst: Alphabetize. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-20 Ronan Desplanques <desplanques@adacore.com> + + * gnat1drv.adb (Gnat1drv): Add coverage instrumentation + annotations. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_Freeze_Array_Type): Do not propagate the + concurrent flags and the Has_Controlled_Component flag here. + (Expand_Freeze_Record_Type): Likewise. + * freeze.adb (Freeze_Array_Type): Propagate the concurrent flags. + (Freeze_Record_Type): Likewise. + * sem_util.adb (Has_Some_Controlled_Component): Adjust comment. + +2024-06-20 Eric Botcazou <ebotcazou@adacore.com> + + * mutably_tagged.ads: Fix minor issues in comments throughout. + +2024-06-20 Richard Kenner <kenner@adacore.com> + + * debug.adb: Add documentation for -gnatd_w. + +2024-06-20 Viljar Indus <indus@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update + documentation for -gnatw.v. + * sem_ch13.adb: Convert all -gnatw.v related messages to warnings. + * gnat_ugn.texi: Regenerate. + +2024-06-20 Viljar Indus <indus@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Update + documentation for -gnatw.n switch. + * exp_util.adb: Convert info messages into warnings. + * gnat_ugn.texi: Regenerate. + +2024-06-20 Viljar Indus <indus@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Add + entry for -gnatis. + * errout.adb (Error_Msg_Internal): Stop printing info messages if + -gnatis was used. + * opt.ads: Add Info_Suppressed flag to track whether info messages + should be suppressed. + * switch-c.adb: Add parsing for -gnatis. + * gnat_ugn.texi: Regenerate. + +2024-06-20 Viljar Indus <indus@adacore.com> + + * atree.ads: Remove Warning_Info_Messages. + * errout.adb: Remove various places where Warning_Info_Messages + was used. + * erroutc.adb: Remove various places where Warning_Info_Messages + was used. Create Error_Msg_Object objects with only an info + attribute if the message contained both info and warning insertion + characters. New method Has_Switch_Tag for detecting if a message + should have an error tag. + * errutil.adb: Create Error_Msg_Object objects with only an info + attribute if the message contained both info and warning insertion + characters. + +2024-06-20 Justin Squirek <squirek@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Add entry for 'Super. + * doc/gnat_rm/implementation_defined_attributes.rst: Remove entry + for 'Super. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-20 Steve Baird <baird@adacore.com> + + * gprep.adb (Process_Files.Process_One_File): When calling OS_Exit in an error + path, pass in a Status parameter of 1 instead of 0 (because 0 + indicates success). + * lib-load.adb (Load_Main_Source): Do not emit a message about a missing source file + if other error messages were generated by calling Load_Source_File; + the file isn't missing - it failed preprocessing. + +2024-06-20 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Attribute_22): Add Put_Image and Object_Size. + * sem_attr.ads (Attribute_Impl_Def): Remove Object_Size. + +2024-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/Makefile.in (tmake_file): Remove all references. + +2024-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc: Include function.h. + (gnat_to_gnu_param): Minor comment tweaks. + (gnat_to_gnu_subprog_type): Take into account the default for the + computation of the return mechanism. Give a warning if a by-copy + specified mechanism cannot be honored. + +2024-06-14 Yannick Moy <moy@adacore.com> + + * gcc-interface/trans.cc (elaborate_all_entities_for_package) + (process_freeze_entity): Skip entities of kind E_Subprogram_Body. + +2024-06-14 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/109817 + * gcc-interface/trans.cc (maybe_make_gnu_thunk): Create an alias + instead of a null thunk. + +2024-06-14 Marc Poulhiès <poulhies@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Typo fix. + (gnat_to_gnu_component_type): Indent fix. + * gcc-interface/gigi.h (build_call_alloc_dealloc): Typo fix. + * gcc-interface/utils.cc (make_dummy_type): Typo fix. + * gcc-interface/utils2.cc (gnat_protect_expr): Indent fix. + +2024-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * aspects.ads (Aspect_Id): Alphabetize, remove the GNAT tag from + Default_Initial_Condition and Object_Size, move No_Controlled_Parts + and No_Task_Parts to boolean subclass. + (Nonoverridable_Aspect_Id): Add missing Ada 2022 aspects. + (Implementation_Defined_Aspect): Add all missing aspects, remove + Max_Entry_Queue_Length and Object_Size + (Aspect_Argument): Remove specific entries for No_Controlled_Parts + and No_Task_Parts, list boolean aspects last. + (Is_Representation_Aspect ): Move boolean aspects last. + (Aspect_Names): Alphabetize. + * sem_ch13.adb (Analyze_Aspect_Disable_Controlled): Adjust. + (Analyze_Aspect_Specifications): Move around processing for + No_Controlled_Parts and No_Task_Parts. + (Check_Aspect_At_Freeze_Point): Remove specific entries for + No_Controlled_Parts and No_Task_Parts + +2024-06-14 Steve Baird <baird@adacore.com> + + * exp_attr.adb + (Expand_Loop_Entry_Attribute): + Ensure that Etype of the saved expression is set correctly. + +2024-06-14 Jerome Guitton <guitton@adacore.com> + + * sysdep.c (S_dosFsLib_FILE_NOT_FOUND, S_nfsLib_NFSERR_NOENT): + New macros, falback to ENOENT when not already defined. + (__gnat_is_file_not_found_error): Use these new macros to remove + tests against VxWorks flavors. + +2024-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * snames.ads-tmpl (Name_Present): Move to Repinfo section. + +2024-06-14 Justin Squirek <squirek@adacore.com> + + * doc/gnat_rm/gnat_language_extensions.rst: Add documentation for + mutably tagged type feature. + * aspects.ads: Add registration for 'Size'Class. + * einfo.ads: Add documentation for new components + Class_Wide_Equivalent_Type and Is_Mutably_Tagged_Type. + * exp_aggr.adb (Gen_Assign): Assume associated mutably tagged type + when class-wide equivalent type is encountered. + (Contains_Mutably_Tagged_Type): New subprogram. + (Convert_To_Positional): Assume associated mutably tagged type + when class-wide equivalent type is encountered. + (Is_Static_Element): Assume associated mutably tagged type when + class-wide equivalent type is encountered. + (Expand_Array_Aggregate): Assume associated mutably tagged type + when class-wide equivalent type is encountered. + (Expand_Record_Aggregate): Force mutably tagged records to be + expanded into assignments. + * exp_ch3.adb (Build_Array_Init_Proc): Assume associated mutably + tagged type when class-wide equivalent type is encountered. + (Simple_Initialization_OK): Disallow simple initialization for + class-wide equivalent types. + (Build_Init_Statements): Assume associated mutably tagged type + when class-wide equivalent type is encountered. + (Expand_Freeze_Array_Type): Ignore building of record init procs + for mutably tagged types. + (Expand_N_Full_Type_Declaration): Replace mutably tagged type + declarations with their associated class-wide equivalent types. + (Default_Initialize_Object): Add special handling for mutably + tagged types. + * exp_ch4.adb (Expand_N_Allocator): Add initialization for mutably + tagged types. + (Expand_Record_Equality): Generate mutably tagged unchecked + conversions. + * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a special + assignment case for class-wide equivalent types which does tag + assignments and ignores certain checks. + * exp_ch6.adb (Expand_Call_Helper): Propagate constrained extra + formal actuals for mutably tagged types. + * exp_ch7.adb (Make_Init_Call): Handle mutably tagged type + initialization. + * exp_util.adb (Make_CW_Equivalent_Type): Modify to handle mutably + tagged objects which contain no initialization expression. + (Make_Subtype_From_Expr): Modify call to Make_CW_Equivalent_Type. + * exp_util.ads (Make_CW_Equivalent_Type): Move declaration from + body to spec. + * freeze.adb (Size_Known): No longer return false automatically + when a class-wide type is encountered. + (Freeze_Entity): Ignore error messages about size not being known + for mutably tagged types. + * gen_il-fields.ads: Register new fields + Class_Wide_Equivalent_Type and Is_Mutably_Tagged_Type. + * gen_il-gen-gen_entities.adb: Register new fields + Class_Wide_Equivalent_Type and Is_Mutably_Tagged_Type for type + entities. + * mutably_tagged.adb, mutably_tagged.ads + (Corresponding_Mutably_Tagged_Type): New subprogram. + (Depends_On_Mutably_Tagged_Ext_Comp): New subprogram. + (Get_Corresponding_Mutably_Tagged_Type_If_Present): New + subprogram. + (Get_Corresponding_Tagged_Type_If_Present): New subprogram. + (Is_Mutably_Tagged_Conversion): New subprogram. + (Is_Mutably_Tagged_CW_Equivalent_Type): New subprogram. + (Make_Mutably_Tagged_Conversion): New subprogram. + (Make_CW_Size_Compile_Check): New subprogram. + (Make_Mutably_Tagged_CW_Check): New subprogram. + * sem_aggr.adb (Resolve_Array_Aggregate): Skip tag checks for + class-wide equivalent types. + (Resolve_Aggr_Expr): Assume associated mutably tagged type when + class-wide equivalent type is encountered. + * sem_attr.adb (Analyze_Attribute): Allow 'Tag on mutably tagged + types. + (Resolve_Attribute): Detect errors for dependence of mutably + tagged extension type component. + * sem_ch12.adb (Instantiate_Object): Detect errors for dependence + of mutably tagged extension type component. + * sem_ch13.adb (Analyze_One_Aspect): Propagate 'Size'Class to + class-wide type. + (Analyze_Attribute_Definition_Clause): Add handling of 'Size'Class + by generating class-wide equivalent types and checking for illegal + uses. + * sem_ch2.adb (Analyze_Identifier): Generate unchecked conversion + for class-wide equivalent types. + * sem_ch3.adb (Analyze_Component_Declaration): Avoid unconstrained + errors on mutably tagged types. + (Analyze_Object_Declaration): Rewrite declarations of mutably + tagged types to use class-wide equivalent types. + (Array_Type_Declaration): Modify arrays of mutably tagged types to + use their corresponding class-wide equivalent types. + (Derived_Type_Declaration): Add various checks for mutably tagged + derived types. + * sem_ch4.adb (Analyze_Allocator): Replace reference to mutably + tagged type with cooresponding tagged type. + (Process_Indexed_Component): Generate unchecked conversion for + class-wide equivalent type. + (Analyze_One_Call): Generate unchecked conversion for class-wide + equivalent types. + (Analyze_Selected_Component): Assume reference to class-wide + equivalent type is associated mutably tagged type. + (Analyze_Type_Conversion): Generate unchecked conversion for + class-wide equivalent type. + * sem_ch5.adb (Analyze_Assignment): Assume associated mutably + tagged type when class-wide equivalent type is encountered. + (Analyze_Iterator_Specification): Detect errors for dependence of + mutably tagged extension type component. + * sem_ch6.adb (Create_Extra_Formals): Add code to generate extra + formal for mutably tagged types to signal if they are constrained. + * sem_ch8.adb (Analyze_Object_Renaming): Detect error on renaming + of mutably tagged extension type component. + (Analyze_Renaming_Primitive_Operation): Detect error on renaming + of mutably tagged extension type component. + * sem_res.adb (Resolve_Actuals): Allow class-wide arguments on + class-wide equivalent types. + (Valid_Conversion): Assume associated mutably tagged type when + class-wide equivalent type is encountered. + * sem_util.adb (Is_Fully_Initialized_Type): Flag mutably tagged + types as fully initialized. + (Needs_Simple_Initalization): Flag class-wide equivalent types as + needing initialization. + * gnat_rm.texi: Regenerate. + * gcc-interface/Make-lang.in: Add entry for mutably_tagged.o. + +2024-06-14 Justin Squirek <squirek@adacore.com> + + * accessibility.adb: + (Accessibility_Level): Replace call Get_Full_View with call to + Full_View since Get_Full_View only works with incomplete types. + +2024-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * aspects.ads (Operational_Aspect): Alphabetize. + * sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Fix description. + * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point) <Aggregate>: Give + the error for array types here instead of... + (Analyze_Aspect_Specifications) <Aggregate>: Adjust comment. + (Check_Aspect_At_Freeze_Point) <Aggregate>: ...here. + +2024-06-14 Javier Miranda <miranda@adacore.com> + + * exp_aggr.adb (Must_Slide): Add missing support for + multidimensional arrays. + +2024-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb (Freeze_All): Call Check_Aspects_At_End_Of_Declarations + to perform the visibility check for aspects. + * sem_ch13.ads (Check_Aspects_At_End_Of_Declarations): Declare. + (Check_Aspect_At_Freeze_Point): Move to... + (Check_Aspect_At_End_Of_Declarations): Move to... + * sem_ch13.adb (Check_Aspect_At_Freeze_Point): ...here. + (Check_Aspect_At_End_Of_Declarations): ...here. + (Analyze_Aspect_Specifications): Remove peculiar processing for + Stable_Properties, Designated_Storage_Model, Storage_Model_Type + and Aggregate. Move that of Local_Restrictions around. Reset + Aitem at the beginning of the loop for each aspect. + (Check_Aspects_At_End_Of_Declarations): New procedure. + +2024-06-14 Justin Squirek <squirek@adacore.com> + + * sem_attr.adb: + (Analyze_Attribute): Add check for dereference. + +2024-06-14 Eric Botcazou <ebotcazou@adacore.com> + + * snames.ads-tmpl (Name_Storage_Model): Delete. + +2024-06-14 Alexandre Oliva <oliva@gnu.org> + + Revert: + 2024-06-12 Alexandre Oliva <oliva@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_field): Use unpacked type + as the debug type for packed fields. + +2024-06-13 Steve Baird <baird@adacore.com> + + * exp_util.adb + (Insert_Actions): Code was relying on an incorrect assumption that an + N_Itype_Reference cannot occur in declaration list or a statement + list. Fix the code to handle this case. + +2024-06-13 Viljar Indus <indus@adacore.com> + + * debug.adb: Remove mentions of -gnatdJ. + * errout.adb: Remove printing subprogram names to JSON. + * erroutc.adb: Remove printing subprogram names in messages. + * erroutc.ads: Remove Node and Subprogram_Name_Ptr used for -gnatdJ. + * errutil.adb: Remove Node used for -gnatdJ + * gnat1drv.adb: Remove references of -gnatdJ and + Include_Subprgram_In_Messages. + * opt.ads: Remove Include_Subprgram_In_Messages + * par-util.adb: Remove behavior related to + Include_Subprgram_In_Messages. + * sem_util.adb: Remove Subprogram_Name used for -gnatdJ + +2024-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Attach_Object_To_Master_Node): Fix formatting. + (Build_Finalizer.Process_Object_Declaration): Synthesize a local + Finalize_Address primitive if the object's subtype is an array + that has a constrained first subtype and is not this first subtype. + * exp_util.adb (Find_Last_Init): Get again to the base type in the + indirect case. + +2024-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_rm/implementation_defined_attributes.rst (Iterable): + Delete entry. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-13 Yannick Moy <moy@adacore.com> + + * sem_util.adb (Check_Ambiguous_Aggregate): Fix test. + +2024-06-13 Javier Miranda <miranda@adacore.com> + + * freeze.ads (Check_Condition_Entities): Complete documentation. + * freeze.adb (Check_Inherited_Conditions): Extend its functionality to + build two kind of wrappers: the existing LSP wrappers, and wrappers + required to handle postconditions of interface primitives implemented + by inherited primitives. + (Build_Inherited_Condition_Pragmas): Rename formal. + (Freeze_Record_Type): For derived tagged types, move call to + Check_Inherited_Conditions to subprogram Freeze_Entity_Checks; + done to improve the performance of Check_Inherited_Conditions since it + can rely on the internal entities that link interface primitives with + tagged type primitives that implement them. + (Check_Interface_Primitives_Strub_Mode): New subprogram. + * sem_ch13.adb (Freeze_Entity_Checks): Call Check_Inherited_Conditions. + Call Check_Inherited_Conditions with derived interface types to check + strub mode compatibility of their primitives. + * sem_disp.adb (Check_Dispatching_Operation): Adjust assertion to accept + wrappers of interface primitives that have classwide postconditions. + * exp_disp.adb (Write_DT): Adding text to identify wrappers. + +2024-06-13 Viljar Indus <indus@adacore.com> + + * sem_res.adb (Resolve_Call): add warning insertion + character into the info message. + +2024-06-13 Steve Baird <baird@adacore.com> + + * sem_util.adb + (New_Copy_Tree.Visit_Entity): Delete code that prevented copying some entities. + +2024-06-13 Bob Duff <duff@adacore.com> + + * sem_ch12.adb (Check_Fixed_Point_Actual): Minor rewording; it seems + more proper to say "operator" rather than "operation". + (Matching_Actual): Give an error for <> in positional notation. + This is a syntax error. Disable this for now. + (Analyze_Associations): Copy the use clause in all cases. + The "mustn't recopy" comment seems wrong, because New_Copy_Tree + preserves Slocs. + * libgnat/a-ticoau.ads: Fix violation of new postion-box error. + * libgnat/a-wtcoau.ads: Likewise. + * libgnat/a-ztcoau.ads: Likewise. + +2024-06-13 Viljar Indus <indus@adacore.com> + + * par-labl.adb (Rewrite_As_Loop): Remove info message + +2024-06-13 Viljar Indus <indus@adacore.com> + + * par-ch7.adb: Remove warning characters from info message + * par-endh.adb: Remove warning characters from info message + * sem_res.adb: Remove warning characters from info message + +2024-06-13 Viljar Indus <indus@adacore.com> + + * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): change the + info message to a continuation message. + +2024-06-13 Viljar Indus <indus@adacore.com> + + * inline.adb (Cannot_Inline): Simplify string handling logic. + +2024-06-13 Yannick Moy <moy@adacore.com> + + * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Skip entities + of kind E_Subprogram_Body. + * repinfo.adb (List_Entities): Remove special case for subprogram + bodies. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): List subprogram + body entities in the enclosing scope. + +2024-06-13 Javier Miranda <miranda@adacore.com> + + * sem_ch4.adb (Traverse_Interfaces): Add missing support + for climbing to parents of interface types. + +2024-06-13 Steve Baird <baird@adacore.com> + + * doc/gnat_rm/implementation_defined_attributes.rst: + Update Super attribute documentation. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-13 Ronan Desplanques <desplanques@adacore.com> + + * exp_ch7.adb (Build_Cleanup_Statements): Adapt to changes + made to Build_Protected_Subprogram_Call_Cleanup. + * exp_ch9.adb (Make_Unlock_Statement, Wrap_Unprotected_Call): + New functions. + (Build_Protected_Subprogram_Body): Fix resource management in + generated code. + (Build_Protected_Subprogram_Call_Cleanup): Make use of newly + introduced Make_Unlock_Statement. + +2024-06-13 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114710 + * exp_util.adb (Find_Renamed_Object): Recurse for any renaming. + +2024-06-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): + Iterate over encapsulating abstract states. + +2024-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-imad32$(objext), + s-imad64$(objext) and s-imagea$(objext). + * exp_atag.ads (Build_Set_Size_Function): Replace Tag_Node parameter + with Typ parameter. + * exp_atag.adb: Add clauses for Sinfo.Utils. + (Build_Set_Size_Function): Retrieve the TSD object statically. + * exp_disp.adb: Add clauses for Ttypes. + (Make_DT): Call Address_Image{32,64] instead of Address_Image. + (Register_Primitive): Pass Tag_Typ to Build_Set_Size_Function. + * rtsfind.ads (RTU_Id): Remove System_Address_Image and add + System_Img_Address_{32;64}. + (RE_Id): Remove entry for RE_Address_Image and add entries for + RE_Address_Image{32,64}. + * rtsfind.adb (System_Descendant): Adjust to above changes. + * libgnat/a-tags.ads (Address_Array): Suppress initialization. + * libgnat/s-addima.adb (System.Address_Image): Call the appropriate + routine based on the address size. + * libgnat/s-imad32.ads: New file. + * libgnat/s-imad64.ads: Likewise. + * libgnat/s-imagea.ads: Likewise. + * libgnat/s-imagea.adb: Likewise. + * gcc-interface/Make-lang.in (GNAT_ADA_OBJS) [$(STAGE1)=False]: Add + ada/libgnat/s-imad32.o and ada/libgnat/s-imad64.o. + +2024-06-13 Yannick Moy <moy@adacore.com> + + * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline + when constant with address clause is found. + +2024-06-13 Ronan Desplanques <desplanques@adacore.com> + + * gnatlink.adb (Gnatlink): Fix incorrect lower bound assumption. + (Is_Prefix): New function. + +2024-06-13 Steve Baird <baird@adacore.com> + + * sem_ch7.adb + (Requires_Completion_In_Body): Modify the Comes_From_Source test so that + the implicit declaration of an inherited subprogram does not cause + an incorrect result of True. + +2024-06-13 Richard Kenner <kenner@adacore.com> + + * exp_ch6.adb (Expand_Ctrl_Function_Call): Inline if -gnatn in + CCG mode even if -O0. + +2024-06-13 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114710 + * exp_util.adb (Find_Renamed_Object): Recurse if the renamed object + is itself a renaming. + +2024-06-13 Javier Miranda <miranda@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Enhance support for + using 'Old with a prefix that references an overloaded + function that has no parameters; add missing support + for the use of 'Old within qualified expressions. + * sem_util.ads (Preanalyze_And_Resolve_Without_Errors): + New subprogram. + * sem_util.adb (Preanalyze_And_Resolve_Without_Errors): + New subprogram. + +2024-06-13 Piotr Trojanek <trojanek@adacore.com> + + * layout.adb (Layout_Type): Use high-level wrapper routine. + * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise. + * sem_ch3.adb (Analyze_Object_Declaration): Likewise. + +2024-06-13 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-tsmona__linux.adb (Get): Move down descriptive comment. + * libgnat/s-tsmona__mingw.adb: Add with clause and use clause for + System.Storage_Elements. + (Get): Pass GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT in the call + to GetModuleHandleEx and remove the subsequent call to FreeLibrary. + Upon success, set Load_Addr to the base address of the module. + * libgnat/s-win32.ads (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS): Use + shorter literal. + (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT): New constant. + +2024-06-13 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114710 + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Remove dead + code dealing with renamings. + * exp_util.ads (Is_Finalizable_Transient): Rename Rel_Node to N. + * exp_util.adb (Is_Finalizable_Transient): Likewise. + (Is_Aliased): Remove obsolete code dealing wih EWA nodes and only + consider renamings present in N itself. + (Requires_Cleanup_Actions): Remove dead code dealing with renamings. + +2024-06-13 Javier Miranda <miranda@adacore.com> + + * sem_ch13.adb (Analyze_One_Aspect): Set the applicable policy + of a type declaration when its aspect Dynamic_Predicate is + analyzed. + * sem_prag.adb (Handle_Dynamic_Predicate_Check): New subprogram + that enables or ignores dynamic predicate checks depending on + whether dynamic checks are enabled in the context where the + associated type declaration is defined; used in the analysis + of pragma check. In addition, for pragma Predicate, do not + disable it when the aspect was internally build as part of + processing a dynamic predicate aspect. + +2024-06-12 Alexandre Oliva <oliva@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_field): Use unpacked type + as the debug type for packed fields. + +2024-06-10 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_Nonbinary_Modular_Op): Create an explicit Mod + for additive operations if No_Implicit_Conditionals is in effect. + (Expand_Modular_Addition): Likewise. + (Expand_Modular_Subtraction): Likewise. + (Expand_Modular_Op): Always use an unsigned type obtained by calling + Small_Integer_Type_For on the required size. + +2024-06-10 Javier Miranda <miranda@adacore.com> + + * sem_ch6.adb (Might_Need_BIP_Task_Actuals): Add support + for access-to-subprogram parameter types. + * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): + Add dummy BIP parameters to access-to-subprogram types + that may reference a function that has BIP parameters. + +2024-06-10 Gary Dismukes <dismukes@adacore.com> + + * sem_prag.adb (Set_Convention_From_Pragma): If the specified convention on + a record type is not C_Pass_By_Copy, then force the C_Pass_By_Copy flag to + False, to ensure that it's overridden. + +2024-06-10 Gary Dismukes <dismukes@adacore.com> + + * sem_aggr.adb (Resolve_Iterated_Association): Change "not Present" + to "No" in test of Add_Named_Subp. + +2024-06-10 Steve Baird <baird@adacore.com> + + * freeze.adb + (Should_Freeze_Type.Is_Dispatching_Call_Or_Aggregate): Treat an extension + aggregate or a delta aggregate like a regular aggregate. + +2024-06-10 Gary Dismukes <dismukes@adacore.com> + + * sem_aggr.adb (Resolve_Iterated_Association): In the case of + N_Iterated_Element_Associations that have a key expression, issue + an error if the aggregate type does not have an Add_Named + operation, and include a reference to RM22 4.3.5(24) in the error + message. In the case of an N_Component_Association with a + Defining_Identifer where the "choice" is given by a function call, + in the creation of the iterator_specification associate a copy of + Choice as its Name, and remove the call to + Analyze_Iterator_Specification, which was causing problems with + the reanalysis of function calls originally given in prefixed form + that were transformed into function calls in normal (infix) form. + The iterator_specification will be analyzed later in any case, so + that call should not be done here. Remove the with and use of + Sem_Ch5. + +2024-06-10 Justin Squirek <squirek@adacore.com> + + * ali.adb (Get_Nat): Remove unnecessary parentheses. + * exp_ch11.adb (Expand_Local_Exception_Handlers): Remove + unnecessary parentheses. + * freeze.adb (Freeze_Entity): Remove unnecessary parentheses. + * lib-list.adb (List): Remove unnecessary parentheses. + * par-ch5.adb (P_Condition): Add extra parentheses checks on + condition operands. + * sem_ch3.adb (Add_Interface_Tag_Components): Remove unnecessary + parentheses. + (Check_Delta_Expression): Remove unnecessary parenthesis. + (Check_Digits_Expression): Remove unnecessary parentheses. + * sem_ch12.adb (Validate_Array_Type_Instance): Remove unnecessary + parentheses. + +2024-06-10 Justin Squirek <squirek@adacore.com> + + * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Add + expansion of filter condition. + (Expand_Formal_Container_Loop): Add expansion of filter condition. + +2024-06-10 Justin Squirek <squirek@adacore.com> + + * accessibility.adb (Accessibility_Level): Use Get_Full_View to + avoid crashes when calculating scope. + +2024-06-10 Justin Squirek <squirek@adacore.com> + + * sem_warn.adb (Warn_On_Unreferenced_Entity): Add a condition to + ignore warnings on unreferenced abstract subprogram. + +2024-06-10 Justin Squirek <squirek@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Add check for interface parent + types. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * einfo.ads, exp_attr.adb, exp_ch4.adb, exp_ch7.adb, + lib-writ.adb, libgnat/a-stbuut.ads, sem_ch13.adb, sem_ch3.adb, + sem_ch7.adb: Use "RM" in comments. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb + (Immediate_Context_Implies_Is_Potentially_Unevaluated): Use + collective subtypes in membership tests. + (Is_Known_On_Entry): Require all alternatives in a case statement + to return; this change could prevent a recently fixed glitch, + where one of the alternatives relied on the return statement + afterwards (also, the new code is shorter). + * sem_util.ads (Is_Potentially_Unevaluated): Clarify that this + routine applies to Ada 2012. + +2024-06-10 Yannick Moy <moy@adacore.com> + + * libgnat/a-chtgfo.adb (Generic_Read, Generic_Write): Remove. + * libgnat/a-chtgfo.ads: Same. Remove dependency on Ada.Streams. + +2024-06-10 Ronan Desplanques <desplanques@adacore.com> + + * libgnarl/s-taprop__mingw.adb (Set_Task_Affinity): Fix usage of + SetThreadAffinityMask. + * libgnat/s-winext.ads (SetThreadAffinityMask): Fix binding + signature. + +2024-06-10 Ronan Desplanques <desplanques@adacore.com> + + * libgnarl/s-taprop__mingw.adb (Set_Task_Affinity): Fix usage + of SetThreadIdealProcessor. + +2024-06-10 Ronan Desplanques <desplanques@adacore.com> + + * libgnat/s-os_lib.adb (Normalize_Pathname): Remove incorrect + assert statement. + (Missed_Drive_Letter): Rename into... + (Drive_Letter_Omitted): This. + +2024-06-10 Ronan Desplanques <desplanques@adacore.com> + + * gnatlink.adb (Check_File_Name): Fix incorrect assumption. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference): Use constants + declared at the beginning of subprogram; tune layout. + * exp_ch3.adb (Predefined_Primitive_Bodies): Tune layout. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst + (No_Tagged_Streams): Move documentation. + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst + (No_Streams): Likewise. + * exp_disp.adb (Make_DT): Extend comment. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Use fully qualified name + without a NUL, so that it doesn't need to be skipped afterwards. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Stream_Operation_OK): Check restriction + No_Default_Stream_Attributes before call to + Type_Without_Stream_Operation. + * sem_util.adb (Type_Without_Stream_Operation): Remove static + condition from recursive routine + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Has_Single_Return_In_GNATprove_Mode): Remove. + (Process_Formals): When rewriting an occurrence of a formal + parameter, use location of the occurrence, not of the inlined + call. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * debug.adb (d_k): Use first available debug switch. + * gnat1drv.adb (Adjust_Global_Switches): If new debug switch is + active then don't expand assertion expressions by default. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch6.adb (Install_Class_Preconditions_Check): Refactor + common code for checking if precondition fails, since the + difference is only in raising an exception or calling the + Raise_Assert_Failure procedure. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch6.adb (Build_Dynamic_Check_Helper_Call): Remove unused + iteration over formal parameters. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Make + discriminants visible when analyzing aspect Interrupt_Priority. + (Freeze_Entity_Checks): Likewise. + (Resolve_Aspect_Expressions): Likewise for both aspects CPU and + Interrupt_Priority. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Report_Extra_Clauses): Remove redundant check + for empty list, because First works also for No_List. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Check_Dependency_Clause, Check_Output_States, + Report_Extra_Clauses): Remove multiple checks for being inside + an instance. + (Analyze_Refined_Depends_In_Decl_Part): Add single check for + being inside an instance. + +2024-06-10 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Check_In_Out_States, Check_Input_States, + Check_Output_States, Check_Proof_In_States, + Check_Refined_Global_List, Report_Extra_Constituents, + Report_Missing_Items): Remove multiple checks for being inside + an instance. + (Analyze_Refined_Global_In_Decl_Part): Add single check for + being inside an instance. + +2024-06-05 Kewen Lin <linkw@linux.ibm.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Use TYPE_PRECISION of + long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. + +2024-05-29 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115270 + * Makefile.rtl (PowerPC/Linux): Use libgnat/s-atopri__32.ads for + the 32-bit library. + (SPARC/Linux): Likewise. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115168 + * libgnarl/s-taprop__solaris.adb (Initialize): Fix pasto. + * libgnat/s-oslock__solaris.ads (Owner_Int): Delete. + (Owner_ID): Change the designated type to Integer. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.cc (nonbinary_modular_operation): Rewrite. + Do not create signed types for subtraction, do not create types with + partial precision, call fold_convert instead of convert throughout. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Use the Is_Base_Type + predicate and remove superfluous calls to Base_Type. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.cc (gnat_protect_expr): Deal specifically + with atomic loads. Document the relationship with gnat_save_expr. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: For a + packed type implemented specially, temporarily save the XUA type as + equivalent to the entity before processing the implementation type. + For this implementation type, if its component type is the same as + that of the original type, copy the alias set from the latter. + <types>: Resort to universal aliasing for all interface types. + * gcc-interface/trans.cc (Call_to_gnu): Add GNU_ACTUAL_TYPE local + variable and rename existing one to GNU_UNPADDED_ACTUAL_TYPE. + If the formal is passed by reference and the actual is a conversion, + call aliasable_p to detect aliasing violations, issue a warning upon + finding one and create the temporary in the target type. + Add an assertion that no such violation has been missed above. + (addressable_p): Revert latest changes. + (aliasable_p): New predicate. + * gcc-interface/utils2.cc (build_binary_op) <ARRAY_RANGE_REF>: When + creating a new array type on the fly, preserve the alias set of the + operation type. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (gnat_to_gnu) <N_Simple_Return_Statement>: + In the return-by-invisible-reference case, remove conversions before + looking for a dereference in the return values and building the test + protecting against a useless copy operation. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Set + TYPE_TYPELESS_STORAGE on the array types if Universal_Aliasing is + set on the type or its component type. + <E_Array_Subtype>: Likewise. + For other aggregate types, set TYPE_TYPELESS_STORAGE in this case. + (set_typeless_storage_on_aggregate_type): New function. + (set_universal_aliasing_on_type): Likewise. + * gcc-interface/trans.cc (Call_to_gnu): Add const to local variable. + Adjust comment. Pass GNAT_NAME in the call to addressable_p and add + a bypass for atomic types in case it returns false. + (addressable_p): Add GNAT_EXPR third parameter with default value + and add a default value to the existing second parameter. + <VIEW_CONVERT_EXPR:>: Return false if the expression comes from a + function call and if the alias sets of source and target types are + both distinct from zero and each other. + +2024-05-21 Ronan Desplanques <desplanques@adacore.com> + + * gcc-interface/utils2.cc (build_cond_expr): Also apply an + indirection when the result type is variable-sized. + +2024-05-21 Marc Poulhiès <poulhies@adacore.com> + + * gcc-interface/decl.cc: Fix typo in comment. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Add an + assertion that this is not a deallocation of the return or secondary + stack and remove subsequent unreachable code. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.cc (build_cond_expr): Use the indirect path + for all types containing a placeholder. + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * gcc-interface/Make-lang.in (GNATBIND_OBJS): Remove unused + dependencies. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: Give a + warning for a statically allocated object whose size is constant, + valid but too large. + (allocatable_size_p): In the static case, return false for a size + that is constant, valid but too large. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Variable>: For an + array allocated with its bounds, make sure to have an array type + to build the template. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.cc (access_attribute_p): New predicate. + (lvalue_required_for_attribute_p): Return again 1 for Size and add + the missing terminating call to gcc_unreachable. + (gnat_to_gnu): Return the result unmodified for a reference to an + unconstrained array only if it is the prefix of an access attribute. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.cc (relate_alias_sets): Restore previous code + when the type uses structural equality. + +2024-05-21 Steve Baird <baird@adacore.com> + + * exp_util.adb (Remove_Side_Effects): Make_Reference assumes that + the referenced object satisfies the constraints of the designated + subtype of the access type. Ensure that this assumption holds by + introducing a qualified expression if needed (and then ensuring + that checking associated with evaluation of the qualified + expression is not suppressed). + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * aspects.ads (Nonoverridable_Aspect_Id): Fix layout. + +2024-05-21 Ronan Desplanques <desplanques@adacore.com> + + * frontend.adb (Frontend): Remove duplicate statement. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch13.adb (Validate_Unchecked_Conversion): Restrict forcing the + Can_Use_Internal_Rep flag to platforms that require unnesting. + +2024-05-21 Viljar Indus <indus@adacore.com> + + * sem_elab.adb: Add missing elaboration insertion + characters to info messages. + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Add_Scope_To_Clean): Use Append_Unique_Elmt. + (Analyze_Inlined_Bodies): Refine type of a local counter; + remove extra whitespace. + +2024-05-21 Ronan Desplanques <desplanques@adacore.com> + + * libgnarl/s-taenca.adb (Wait_For_Completion): Remove call to + Yield. + * libgnarl/s-tasren.adb (Timed_Selective_Wait, Wait_For_Call): + Remove calls to Yield. + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_of_ada_2012_features.rst: + Fix formatting. + * gnat_rm.texi: Regenerate. + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_of_ada_2012_features.rst: + Order list by AI number. + * gnat_rm.texi: Regenerate. + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_of_ada_2012_features.rst + (AI-0216): Fix index reference. + * gnat_rm.texi: Regenerate. + +2024-05-21 Viljar Indus <indus@adacore.com> + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Update the documentation of -gnatw.n and -gnatw.l + * gnat_ugn.texi: Regenerate. + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst + (No_Tagged_Streams): Document how to avoid exposing entity names + for the entire partition. + * exp_disp.adb (Make_DT): Make use of restriction No_Streams. + * exp_put_image.adb (Build_Record_Put_Image_Procedure): Respect + Discard_Names in the generated Put_Image procedure. + * gnat_rm.texi: Regenerate. + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * exp_put_image.adb (Build_Record_Put_Image_Procedure): Remove + useless conversions. + +2024-05-21 Piotr Trojanek <trojanek@adacore.com> + + * exp_put_image.adb (Build_Record_Put_Image_Procedure): Remove + trailing NUL from the fully qualified type name. + +2024-05-21 Eric Botcazou <ebotcazou@adacore.com> + + * err_vars.ads (Error_Msg_Sloc): Initialize to No_Location. + +2024-05-21 Justin Squirek <squirek@adacore.com> + + * doc/gnat_ugn/platform_specific_information.rst: Add note about + different priority level granularities under different policies in + Windows and move POSIX related info into new section. + * libgnarl/s-taprop.ads: Add note about Task_Dispatching_Policy. + * libgnarl/s-taprop__mingw.adb: + (Set_Priority): Add use of Non_FIFO_Underlying_Priorities. + * libgnat/system-mingw.ads: Add documentation for modifying + priority mappings and add alternative mapping + Non_FIFO_Underlying_Priorities. + * gnat_ugn.texi: Regenerate. + +2024-05-20 Bob Duff <duff@adacore.com> + + * sem_ch12.adb: Misc cleanups and comment fixes. + (Check_Overloaded_Formal_Subprogram): Remove the Others_Choice + error message. + (Others_Choice): Remove this variable; no longer needed. + * types.ads (Text_Ptr): Add a range constraint limiting the + subtype to values that are actually used. This has the advantage + that when the compiler is compiled with validity checks, + uninitialized values of subtypes Text_Ptr and Source_Ptr will be + caught. + * sinput.ads (Sloc_Adjust): Use the base subtype; this is used as + an offset, so we need to allow arbitrary negative values. + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.ads (Preload_Finalization_Collection): Delete. + * exp_ch7.adb (Allows_Finalization_Collection): Revert change. + (Preload_Finalization_Collection): Delete. + * opt.ads (Interface_Seen): Likewise. + * scng.adb (Scan): Revert latest change. + * sem_ch10.adb: Remove clause for Exp_Ch7. + (Analyze_Compilation_Unit): Revert latest change. + * libgnat/i-c.ads: Use a fully qualified name for the standard "+" + operator in the preconditons/postconditions of subprograms. + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Expand_Record_Aggregate.Component_OK_For_Backend): + Also return False for a delayed conditional expression. + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.ads (Check_Compile_Time_Size): Remove obsolete description + of usage for the Size_Known_At_Compile_Time flag. + * freeze.adb (Check_Compile_Time_Size.Size_Known): In the case where + a variant part is present, do not return False if Esize is known. + * sem_util.adb (Needs_Secondary_Stack.Caller_Known_Size_Record): Add + missing "Start of processing" comment. Return true if either a size + clause or an object size clause has been given for the first subtype + of the type. + +2024-05-20 Bob Duff <duff@adacore.com> + + * sinfo.ads: Misc comment corrections and clarifications. + The syntax for GENERIC_ASSOCIATION and FORMAL_PACKAGE_ACTUAL_PART + was wrong. + Emphasize that "others => <>" is not represented as an + N_Generic_Association (with or without Box_Present set), + and give examples illustrating the various possibilities. + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * einfo-utils.ads (Is_Base_Type): Move to Miscellaneous Subprograms + section and add description. + * fe.h (Is_Base_Type): Declare. + +2024-05-20 Gary Dismukes <dismukes@adacore.com> + + * sem_aggr.adb (Resolve_Aggregate): Move condition and call for + Resolve_Record_Aggregate in front of code related to calling + Resolve_Container_Aggregate (and add test that the aggregate is + not homogeneous), and remove special-case testing and call to + Resolve_Container_Aggregate for empty aggregates. Also, add error + check for an attempt to use "[]" for an aggregate of a record type + that does not specify an Aggregate aspect. + (Resolve_Record_Aggregate): Remove error check for record + aggregates with "[]" (now done by Resolve_Aggregate). + +2024-05-20 Gary Dismukes <dismukes@adacore.com> + + * sem_aggr.adb (Resolve_Aggregate): Move condition and call for + Resolve_Record_Aggregate in front of code related to calling + Resolve_Container_Aggregate (and add test that the aggregate + is not homogeneous), and remove special-case testing and call + to Resolve_Container_Aggregate for empty aggregates. + +2024-05-20 Justin Squirek <squirek@adacore.com> + + * accessibility.adb (Accessibility_Level): Add cases for 'First + and 'Last. + +2024-05-20 Justin Squirek <squirek@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Remove restriction on 'Super + for abstract types. + +2024-05-20 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.ads (Attribute_Impl_Def): Fix list of + implementation-defined attributes. + +2024-05-20 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Attribute_12): Add attributes Old, + Overlaps_Storage and Result. + +2024-05-20 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Move IF statement that + checks restriction No_Implementation_Attributes for Ada 2005, + 2012 and Ada 2022 attributes inside Comes_From_Source condition + that checks the same restriction for Ada 83 attributes. + +2024-05-20 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Attribute): Remove condition that is + already checked by an enclosing IF statement. + +2024-05-20 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.ads (Universal_Type_Attribute): Simplify using + array aggregate syntax with discrete choice list. + +2024-05-20 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.ads (Attribute_Impl_Def): Fix style in comment. + +2024-05-20 Ronan Desplanques <desplanques@adacore.com> + + * libgnarl/s-taprop__linux.adb (Enter_Task): Move setting + of thread ID out of Enter_Task. + (Initialize): Set thread ID for the environment task. + (Create_Task): Remove now unnecessary Unrestricted_Access + attribute and add justification for a memory write. + * libgnarl/s-taprop__posix.adb: Likewise. + * libgnarl/s-taprop__qnx.adb: Likewise. + * libgnarl/s-taprop__rtems.adb: Likewise. + * libgnarl/s-taprop__solaris.adb: Likewise. + * libgnarl/s-taspri__posix.ads: Remove pragma Atomic for + Private_Data.Thread, and update documentation comment. + * libgnarl/s-taspri__lynxos.ads: Likewise. + * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. + * libgnarl/s-taspri__solaris.ads: Likewise. + * libgnarl/s-tporft.adb (Register_Foreign_Thread): Adapt to + Enter_Task not setting the thread ID anymore. + * libgnarl/s-tassta.adb (Task_Wrapper): Update comment. + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.ads (Is_Delayed_Conditional_Expression): New predicate. + * exp_aggr.adb (Convert_To_Assignments.Known_Size): Likewise. + (Convert_To_Assignments): Climb the parent chain, looking through + qualified expressions and dependent expressions of conditional + expressions, to find out whether the expansion may be delayed. + Call Known_Size for this in the case of an object declaration. + If so, set Expansion_Delayed on the aggregate as well as all the + intermediate conditional expressions. + (Initialize_Component): Reset the Analyzed flag on an initialization + expression that is a conditional expression whose expansion has been + delayed. + (Is_Delayed_Conditional_Expression): New predicate. + * exp_ch3.adb (Expand_N_Object_Declaration): Handle initialization + expressions that are conditional expressions whose expansion has + been delayed. + * exp_ch4.adb (Build_Explicit_Assignment): New procedure. + (Expand_Allocator_Expression): Handle initialization expressions + that are conditional expressions whose expansion has been delayed. + (Expand_N_Case_Expression): Deal with expressions whose expansion + has been delayed by waiting for the rewriting of their parent as + an assignment statement and then optimizing the assignment. + (Expand_N_If_Expression): Likewise. + (Expand_N_Qualified_Expression): Do not apply a predicate check to + an operand that is a delayed aggregate or conditional expression. + * gen_il-gen-gen_nodes.adb (N_If_Expression): Add Expansion_Delayed + semantic flag. + (N_Case_Expression): Likewise. + * sinfo.ads (Expansion_Delayed): Document extended usage. + +2024-05-20 Gary Dismukes <dismukes@adacore.com> + + * exp_aggr.adb (Expand_Container_Aggregate): Add top-level + variables Choice_{Lo|Hi} and Int_Choice_{Lo|Hi} used for + determining the low and high bounds of component association + choices. Replace code for determining whether we have an indexed + aggregate with call to new function Sem_Aggr.Is_Indexed_Aggregate. + Remove test of whether Empty_Subp is a function, since it must be + a function. Move Default and Count_Type to be locals of a new + block enclosing the code that creates the object to hold the + aggregate length, and set them according to the default and type + of the Empty function's parameter when present (and to Empty and + Standard_Natural otherwise). Use Siz_Exp for the aggregate length + when set, and use Empty's default length when available, and use + zero for the length otherwise. In generating the call to the + New_Indexed function, use the determined lower and upper bounds if + determined earlier by Aggregate_Size, and otherwise compute those + from the index type's lower bound and the determined aggregate + length. In the case where a call to Empty is generated and the + function has a formal parameter, pass the value saved in Siz_Decl + (otherwise the parameter list is empty). Remove code specific to + making a parameterless call to the Empty function. Extend the code + for handling positional container aggregates to account for types + that define Assign_Indexed, rather than just Add_Unnamed, and in + the case of indexed aggregates, create a temporary object to hold + values of the aggregate's key index, and initialize and increment + that temporary for each call generated to the Assign_Indexed + procedure. For named container aggregates that have key choices + given by ranges, call Expand_Range_Component to generate a loop + that will call the appropriate insertion procedure for each value + of the range. For indexed aggregates with a Component_Associations + list, set and use the Assign_Indexed procedure for each component + association, whether or not there's an iterator specification. + (Add_Range_Size): Add code to determine the low and high bounds of + the range and capture those in up-level variables when their value + is less than or greater than (respectively) the current minimum + and maximum bounds values. + (Aggregate_Size): Separately handle the case where a single choice + is of a discrete type, and call Add_Range_Size to take its value + into consideration for determination of min and max bounds of the + aggregate. Add comments in a couple of places. + (Build_Siz_Exp): Remove the last sentence and "???" from the + comment that talks about accumulating nonstatic sizes, since that + sentence seems to be obsolete. Record the low and high bound + values in Choice_Lo and Choice_Hi in the case of a nonstatic + range. + (Expand_Iterated_Component): Set the Defining_Identifier of the + iterator specification to the Loop_Id in the + N_Iterated_Component_Association case. + (Expand_Range_Component): Procedure unnested from the block + handling indexed aggregates in Expand_Container_Aggregate, and + moved to top level of that procedure so it can also be called for + Add_Named cases. A formal parameter Insert_Op is added, and + existing calls to this procedure are changed to pass the + appropriate insertion procedure's Entity. + * sem_aggr.ads: Add with_clause for Sinfo.Nodes. + (Is_Indexed_Aggregate): New function for use by + Resolve_Container_Aggregate and Expand_Container_Aggregate. + * sem_aggr.adb: Add with_clause for Sem_Ch5. Move with_clause for + Sinfo.Nodes to sem_aggr.ads. + (Is_Indexed_Aggregate): New function to determine whether a + container aggregate is a container aggregate (replacing local + variable of the same name in Resolve_Container_Aggregate). + (Resolve_Iterated_Association): Remove part of comment saying that + a Key_Expression is always present. Set Parent field of the copy + of a component association with a loop parameter specification. On + the setting of Loop_Param_Id, account for a + Loop_Parameter_Specification being changed into an + Iterator_Specification as a result of being analyzed. Only call + Preanalyze_And_Resolve on Key_Expr when a key expression is + actually present. Remove loop for handling choices for the case of + an N_Component_Association with a Defining_Identifier (there + shouldn't be more than one choice in this case, and add an + assertion to ensure that). Also add code here to handle the case + where the choice is a function call, creating an + iterator_specification analyzing it, and call + Resolve_Iterated_Association recursively to process it. Add error + check to enforce RM22 4.3.5(27), which requires that the type of + the loop parameter must be the same as the key type when there is + no key expression and the aggregate is an indexed aggregate or has + an Add_Named op. + (Resolve_Container_Aggregate): In the Add_Unnamed case, call + Resolve_Iterated_Association for both + N_Iterated_Element_Association and N_Component_Association (rather + than just the latter). Remove error check for nonstatic choices in + component associations in Add_Named cases (multiple named + nonstatic associations are fine except in indexed aggregates). + Remove local variable Is_Indexed_Aggregate, replaced with new + library-level function of the same name, and add test of + Is_Indexed_Aggregate in the case where the aggregate type has an + Assign_Indexed operation, as a guard for doing error checks for + indexed aggregates. For indexed aggregate resolution, do not call + Analyze_And_Resolve on the expression of an + N_Component_Association in the "box association" case. Move error + checks for indexed aggregates with iterated associations that flag + cases where an association is a loop_parameter_specification with + an iterator filter or a key expression (violation of RM22 + 4.3.5(28/5)), from the loop that checks for contiguous and + nonoverlapping choices and into the preceding association loop + after the call to Resolve_Iterated_Association. The RM reference + is added to the error-message strings. + +2024-05-20 Ronan Desplanques <desplanques@adacore.com> + + * libgnarl/s-taprop__linux.adb (Set_Task_Affinity): Fix + decision about whether to call CPU_FREE. + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.ads (Convert_Aggr_In_Allocator): Remove Aggr parameter + and adjust description. + (Convert_Aggr_In_Object_Decl): Adjust description. + * exp_aggr.adb (Convert_Aggr_In_Allocator): Remove Aggr parameter + and add local variable of the same name instead. Adjust call to + Convert_Array_Aggr_In_Allocator. + (Convert_Aggr_In_Object_Decl): Add comment for early return and + remove useless inner block statement. + (Convert_Array_Aggr_In_Allocator): Remove Aggr parameter and add + local variable of the same name instead. + (In_Place_Assign_OK): Move down declarations of local variables. + (Convert_To_Assignments): Put all declarations of local variables + in the same place. Fix typo in comment. Replace T with Full_Typ. + * exp_ch4.adb (Expand_Allocator_Expression): Call Unqualify instead + of Expression on the qualified expression of the allocator for the + sake of consistency. Adjust call to Convert_Aggr_In_Allocator. + +2024-05-20 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Eval_Attribute): Handle enumeration type with + Discard_Names. + +2024-05-20 Piotr Trojanek <trojanek@adacore.com> + + * exp_imgv.adb (Expand_Width_Attribute): Fix for 'Width that + is computed at run time. + * sem_attr.adb (Eval_Attribute): Fix for 'Width that is computed + at compilation time. + +2024-05-20 Sebastian Poeplau <poeplau@adacore.com> + + * libgnat/s-pooglo.adb (Allocate): Use arithmetic on + System.Address to compute the aligned address. + +2024-05-20 Steve Baird <baird@adacore.com> + + * freeze.adb (Adjust_Esize_For_Alignment): Assert that a valid + Alignment specification cannot result in adjusting the given + type's Esize to be larger than System_Max_Integer_Size. + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In analyzing + an Alignment specification, enforce the rule that a specified + Alignment value for a discrete or fixed-point type shall not be + larger than System_Max_Integer_Size / 8 . + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/g-sothco.ads (In_Addr): Add aspect Universal_Aliasing. + +2024-05-20 Jose Ruiz <ruiz@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Exclude detection of duplicates + because they are detected elsewhere. + +2024-05-20 Jose Ruiz <ruiz@adacore.com> + + * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Clarify + comments. + * sem_prag.adb (Analyze_Pragma): Check for duplicates + Max_Entry_Queue_Length, Max_Entry_Queue_Depth and Max_Queue_Length + for the same protected entry. + * sem_util.adb (Get_Max_Queue_Length): Take into account all three + representation aspects that can be used to set this restriction. + (Has_Max_Queue_Length): Likewise. + * doc/gnat_rm/implementation_defined_pragmas.rst: + (pragma Max_Queue_Length): Fix pragma in example. + * gnat_rm.texi: Regenerate. + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-finpri.ads (Collection_Node): Move to private part. + (Collection_Node_Ptr): Likewise. + (Header_Alignment): Change to declaration and move completion to + private part. + (Header_Size): Likewise. + (Lock_Type): Delete. + (Finalization_Collection): Move Lock component and remove default + value for Finalization_Started component. + * libgnat/s-finpri.adb (Initialize): Reorder statements. + +2024-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst + (Universal_Aliasing): Remove reference to No_Strict_Aliasing. + * doc/gnat_ugn/gnat_and_program_execution.rst + (Optimization and Strict Aliasinng): Simplify first example and + make it more consistent with the second. Add description of the + effects of pragma Universal_Aliasing and document new warning + issued for unchecked conversions. Remove obsolete stuff. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115133 + * libgnarl/s-osinte__solaris.ads (mutex_t): Fix typo. + * libgnarl/s-taprop__solaris.adb (Record_Lock): Add conversion. + (Check_Sleep): Likewise. + (Record_Wakeup): Likewise. + (Check_Unlock): Likewise. + * libgnarl/s-tasini.adb (Initialize_RTS_Lock): Add pragma Import + on the overlaid variable. + (Finalize_RTS_Lock): Likewise. + (Acquire_RTS_Lock): Likewise. + (Release_RTS_Lock): Likewise. + * libgnarl/s-taspri__solaris.ads (To_RTS_Lock_Ptr): New instance + of Ada.Unchecked_Conversion. + * libgnat/s-oslock__solaris.ads: Add with clause for + Ada.Unchecked_Conversion. + (array_type_9): Add missing name qualification. + (record_type_3): Likewise. + (mutex_t): Fix formatting. + +2024-05-17 Viljar Indus <indus@adacore.com> + + * exp_aggr.adb (Expand_Container_Aggregate): + Derive the size for iterable aggregates in the case of + one-dimensional array objects. + +2024-05-17 Ronan Desplanques <desplanques@adacore.com> + + * exp_aggr.adb (Aggr_Size_OK): Remove workaround and extend + comment. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * bindgen.adb (Gen_Adainit): Generate declaration and call to the + imported procedure __gnat_tasking_runtime_initialize if need be. + * libgnat/s-soflin.ads (Locking Soft-Links): Add commentary. + * libgnarl/s-tasini.adb (Tasking_Runtime_Initialize): New procedure + exported as __gnat_tasking_runtime_initialize. Initialize RTS_Lock + manipulation routines here instead of... + (Init_RTS): ...here. + +2024-05-17 Steve Baird <baird@adacore.com> + + * scng.adb (scan): When checking for an unprocessed preprocessor + directive, take into account the preprocessor's rules about case + insensitivity and about white space between the '#' and the + keyword. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * libgnarl/s-taspri__mingw.ads: Add clause for System.OS_Interface. + (Private_Data): Change type of Thread component. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/g-alvevi.ads: Add pragma Universal_Aliasing for all the + view types. + * libgnat/s-stratt.ads: Likewise for Fat_Pointer type. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-oslock$(objext). + (LIBGNAT_TARGET_PAIRS): Use s-oslock__dummy.ads by default. + Set specific s-oslock.ads source file for all the platforms. + * exp_ch7.ads (Preload_Finalization_Collection): New procedure. + * exp_ch7.adb (Allows_Finalization_Collection): Return False if + System.Finalization_Primitives has not been preloaded. + (Preload_Finalization_Collection): New procedure. + * opt.ads (Interface_Seen): New boolean variable. + * s-oscons-tmplt.c: Use "N" string for pragma Style_Checks. + * scng.adb (Scan): Set Interface_Seen upon seeing "interface". + * sem_ch10.adb: Add clause for Exp_Ch7. + (Analyze_Compilation_Unit): Call Preload_Finalization_Collection + after the context of the unit is analyzed. + * libgnarl/a-rttiev.adb: Add with clause for System.OS_Locks and + alphabetize others. + (Event_Queue_Lock): Adjust qualified name of subtype. + * libgnarl/s-osinte__aix.ads: Add with clause for System.OS_Locks + and change pthread_mutex_t into a local subtype. + * libgnarl/s-osinte__android.ads: Likewise. + * libgnarl/s-osinte__darwin.ads: Likewise. + * libgnarl/s-osinte__dragonfly.ads: Likewise. + * libgnarl/s-osinte__freebsd.ads: Likewise. + * libgnarl/s-osinte__gnu.ads: Likewise. + * libgnarl/s-osinte__hpux-dce.ads: Likewise. + * libgnarl/s-osinte__hpux.ads: Add Likewise. + * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. + * libgnarl/s-osinte__linux.ads: Likewise. + * libgnarl/s-osinte__lynxos178e.ads: Likewise. + * libgnarl/s-osinte__qnx.ads: Likewise. + * libgnarl/s-osinte__rtems.ads: Likewise. + * libgnarl/s-osinte__mingw.ads: Add with clause for System.OS_Locks + and change CRITICAL_SECTION into a local subtype. Add declarations + for imported procedures dealing with CRITICAL_SECTION. + * libgnarl/s-osinte__solaris.ads: Add with clause for System.OS_Locks + and change mutex_t into a local subtype. + * libgnarl/s-osinte__vxworks.ads: Add missing blank line. + * libgnarl/s-taprop.ads: Alphabetize clauses and package renamings. + Use qualified name for RTS_Lock throughout. + * libgnarl/s-taprop__dummy.adb: Add use clause for System.OS_Locks + and alphabetize others. + * libgnarl/s-taprop__hpux-dce.adb: Likewise. + * libgnarl/s-taprop__linux.adb: Likewise. + * libgnarl/s-taprop__posix.adb: Likewise. + * libgnarl/s-taprop__qnx.adb: Likewise. + * libgnarl/s-taprop__rtems.adb: Likewise. + * libgnarl/s-taprop__solaris.adb: Likewise. + * libgnarl/s-taprop__vxworks.adb: Likewise. + * libgnarl/s-taprop__mingw.adb: Likewise. Remove declarations for + imported procedures dealing with CRITICAL_SECTION. + * libgnarl/s-tarest.adb: Add with clause for System.OS_Locks and + alphabetize others. + (Global_Task_Lock): Adjust qualified name of subtype. + * libgnarl/s-tasini.adb: Add clause for System.OS_Locks. + (Initialize_RTS_Lock): New procedure. + (Finalize_RTS_Lock): Likewise. + (Acquire_RTS_Lock): Likewise. + (Release_RTS_Lock): Likewise. + (Init_RTS): Add compile-time assertions for RTS_Lock types. + Set the soft links for the RTS lock manipulation routines. + * libgnarl/s-taspri__dummy.ads: Add with clause for System.OS_Locks. + (RTS_Lock): Delete and adjust throughout accordingly. + * libgnarl/s-taspri__hpux-dce.ads: Likewise. + * libgnarl/s-taspri__lynxos.ads: Likewise. + * libgnarl/s-taspri__mingw.ads: Likewise. + * libgnarl/s-taspri__posix-noaltstack.ads: Likewise. + * libgnarl/s-taspri__posix.ads: Likewise. + * libgnarl/s-taspri__solaris.ads: Likewise. + * libgnarl/s-taspri__vxworks.ads: Likewise. + * libgnat/s-finpri.ads: Add clause for System.OS_Locks. + (Finalization_Collection): Change type of Lock. + * libgnat/s-finpri.adb (Initialize): Call Initialize_RTS_Lock. + (Lock_Collection): Call Acquire_RTS_Lock. + (Unlock_Collection): Call Release_RTS_Lock. + * libgnat/s-oslock__dummy.ads: New file. + * libgnat/s-oslock__hpux-dce.ads: Likewise. + * libgnat/s-oslock__mingw.ads: Likewise. + * libgnat/s-oslock__posix.ads: Likewise. + * libgnat/s-oslock__solaris.ads: Likewise. + * libgnat/s-oslock__vxworks.ads: Likewise. + * libgnat/s-soflin.ads (Null_Set_Address): New null procedure. + (Initialize_RTS_Lock): New soft link. + (Finalize_RTS_Lock): Likewise. + (Acquire_RTS_Lock): Likewise. + (Release_RTS_Lock): Likewise. + * exp_ch4.adb (Expand_N_Allocator): In the subtype indication case, + call Apply_Predicate_Check on the resulting access value if need be. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Materialize_Entity): Document secondary usage. + +2024-05-17 Steve Baird <baird@adacore.com> + + * local_restrict.adb (Active_Restriction): When traversing scopes, + do not skip over a subprogram body. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * libgnarl/s-taprop__dummy.adb (Initialize_Lock): Fix formatting. + * libgnarl/s-taprop__linux.adb (RTS_Lock_Ptr): Delete. + (Init_Mutex): Rename into... + (Initialize_Lock): ...this. + (Initialize_Lock [Lock]): Call above procedure. + (Initialize_Lock [RTS_Lock]): Likewise. + (Initialize_TCB): Likewise. + * libgnarl/s-taprop__posix.adb (Initialize_Lock): New procedure + factored out from the other two homonyms. + (Initialize_Lock [Lock]): Call above procedure. + (Initialize_Lock [RTS_Lock]): Likewise. + * libgnarl/s-taprop__qnx.adb (RTS_Lock_Ptr): Delete. + (Init_Mutex): Rename into... + (Initialize_Lock): ...this. + (Initialize_Lock [Lock]): Call above procedure. + (Initialize_Lock [RTS_Lock]): Likewise. + (Initialize_TCB): Likewise. + * libgnarl/s-taprop__rtems.adb (Initialize_Lock): New procedure + factored out from the other two homonyms. + (Initialize_Lock [Lock]): Call above procedure. + (Initialize_Lock [RTS_Lock]): Likewise. + +2024-05-17 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Is_Known_On_Entry): Handle constants introduced + by validity checks. + +2024-05-17 Steve Baird <baird@adacore.com> + + * libgnat/a-direct.adb (Start_Search_Internal): Do not call + Modification_Time for a special file; declare a Calendar.Time + constant No_Time and use that instead. + +2024-05-17 Steve Baird <baird@adacore.com> + + * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Add + Has_Predicates test for a scalar component to match what is + already done for other kinds of components. + +2024-05-17 Ronan Desplanques <desplanques@adacore.com> + + * sem_aggr.adb (Resolve_Array_Aggregate): Improve comments + and condition. + +2024-05-17 Ronan Desplanques <desplanques@adacore.com> + + * sem_aggr.adb (Resolve_Array_Aggregate): Fix location of error + message. + +2024-05-17 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Move to + Sem_Util, so it can be used from GNATprove. + * sem_util.ads (Is_Unconstrained_Or_Tagged_Item): Move from + Sem_Prag; spec. + * sem_util.adb (Is_Unconstrained_Or_Tagged_Item): Move from + Sem_Prag; body. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * exp_pakd.adb (Create_Packed_Array_Impl_Type): For non-bit-packed + array types, propagate the aliased property of the component. + (Install_PAT): Set fields on the implicit base type of an array. + * libgnat/a-stream.ads (private part): Add pragma Universal_Aliasing + for Stream_Element. + * libgnat/g-alleve.ads: Add pragma Universal_Aliasing for all the + vector types. + * libgnat/g-alleve__hard.ads: Likewise. + +2024-05-17 Bob Duff <duff@adacore.com> + + * bcheck.adb (Check_Consistency_Of_Sdep): Split out new procedure. + Add check for special case of subprogram spec that no longer + exists. + (Check_Consistency): Call Check_Consistency_Of_Sdep, except when + Reified_Child_Spec is True. No need for "goto Continue" or "exit + Sdep_Loop". + * ali.ads (Subunit_Name, Unit_Name): Change the type to + Unit_Name_Type. Add a comment pointing to the ALI file + documentation, because it's in a somewhat-surprising place. + * ali.adb (Scan_ALI): Subunit_Name and Unit_Name are now + Unit_Name_Type. Remove comment explaining why Name_Find is used; + Name_Find is the usual case. Do not remove the "%s" or "%b" from + the Unit_Name. We need to be able to distinguish specs and bodies. + This is also necessary to obey the invariant of Unit_Name_Type. + * binde.adb (Write_Closure): Subunit_Name is now Unit_Name_Type. + * clean.adb (Clean_Executables): Likewise. + +2024-05-17 Ronan Desplanques <desplanques@adacore.com> + + * sem_aggr.adb (Resolve_Null_Array_Aggregate): Update + documentation comments. + +2024-05-17 Steve Baird <baird@adacore.com> + + * sem_util.adb (Has_Some_Controlled_Component): Fix a bug which + causes (in some cases involving a Disable_Controlled aspect + specification) Needs_Finalization to return different answers for + one type depending on whether the function is called before or + after the type is frozen. + * libgnat/a-coorse.ads: Type Control_Reference_Type gets an Adjust + procedure. + * libgnat/a-cborse.ads: Likewise. + * libgnat/a-ciorse.ads: Likewise + * libgnat/a-coorse.adb: + (Finalize): Reclaim allocated Key_Type object. + (Adjust): New procedure; prevent sharing of non-null Key_Access + values by allocating a copy. + * libgnat/a-cborse.adb: Likewise. + * libgnat/a-ciorse.adb: Likewise. + +2024-05-17 Bob Duff <duff@adacore.com> + + * uname.adb (Get_Unit_Name_String): Move Asserts after + Buf is initialized. + +2024-05-17 Bob Duff <duff@adacore.com> + + * ali-util.adb (Read_Withed_ALIs): Minor reformatting. + * bindo-units.adb (Corresponding_Body): Add assert. + (Corresponding_Spec): Likewise. + * uname.adb: Clean up assertions, use available functions. + Get_Spec_Name/Get_Body_Name can assert that N obeys the + conventions for Unit_Name_Type (end in "%s" or "%b"). + +2024-05-17 Sebastian Poeplau <poeplau@adacore.com> + + * raise-gcc.c: Work around __builtin_code_address_from_pointer + if it is unavailable. + +2024-05-17 Marc Poulhiès <poulhies@adacore.com> + + * exp_aggr.adb (Build_Array_Aggr_Code) <Gen_Loop>: Copy the + initialization expression when unrolling the loop. + +2024-05-17 Bob Duff <duff@adacore.com> + + * sem_disp.adb (Check_Dispatching_Operation): Call + Create_Extra_Formals, so that the caller will have an extra + "constrained" parameter, which will be checked on assignment in + the callee, and will be passed in by the caller. + +2024-05-17 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Remove call + to Has_Discriminants; combine ELSIF branches. + +2024-05-17 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch7.adb (New_Private_Type): Simplify setting of + Is_Constrained flag. + * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Simplify + detection of private types with no discriminant. + +2024-05-17 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Allow objects + of private types with unknown discriminants. + +2024-05-17 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Tune repeated + testing of type kinds. + +2024-05-17 Marc Poulhiès <poulhies@adacore.com> + + * doc/gnat_rm/implementation_defined_attributes.rst: Fix + copy/paste. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-05-17 Viljar Indus <indus@adacore.com> + + * sem_ch3.adb (Analyze_Component_Declaration): + Apply range checks only for Scalar_Types to + ensure that they have the Scalar_Range attribute. + +2024-05-17 Viljar Indus <indus@adacore.com> + + * sem_ch3.adb (Analyze_Component_Declaration): + Add Range_Checks for Subtype_Indications + +2024-05-17 Ronan Desplanques <desplanques@adacore.com> + + * exp_ch4.adb (Expand_N_Case_Expression): Remove call to + Relocate_Node. + * sem_attr.adb (Analyze_Attribute): Likewise. + +2024-05-17 Ronan Desplanques <desplanques@adacore.com> + + * exp_aggr.adb (Flatten): Small cleanup. + +2024-05-17 Eric Botcazou <ebotcazou@adacore.com> + + * sem_attr.adb (Analyze_Attribute) <Attribute_Size>: Remove special + processing for pragma Compile_Time_{Warning,Error}. + (Eval_Attribute.Compile_Time_Known_Attribute): Set Is_Static on the + resulting value if In_Compile_Time_Warning_Or_Error is set. + (Eval_Attribute.Full_Type): New helper function. + (Eval_Attribute): Call Full_Type for type attributes. Add handling + of Object_Size and adjust that of Max_Size_In_Storage_Elements in + the non-static case. + +2024-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Attach_Object_To_Master_Node): Remove reference to a + transient object in comment. + +2024-05-16 Marc Poulhiès <poulhies@adacore.com> + + * exp_ch7.adb (Reset_Scopes_To_Block_Elab_Proc): also reset scope + for object declarations. + +2024-05-16 Steve Baird <baird@adacore.com> + + * checks.adb (Expr_Known_Valid): Return True for a static expression. + * exp_util.adb (Adjust_Condition): No validity check needed for a + condition if it is an expression for which a validity check has + already been generated. + +2024-05-16 Gary Dismukes <dismukes@adacore.com> + + * libgnat/a-coinve.ads (type Vector): In the Aggregate aspect for + this type, the Empty operation is changed to denote the Empty + function, rather than the Empty_Vector constant. + * exp_aggr.adb (Expand_Container_Aggregate): Remove code for + handling the case where the Empty_Subp denotes a constant object, + which should never happen (and add an assertion that Empty_Subp + must denote a function). + * sem_ch13.adb (Valid_Empty): No longer allow the entity to be an + E_Constant, and require the (optional) parameter of an Empty + function to be of a signed integer type (rather than any integer + type). + +2024-05-16 Justin Squirek <squirek@adacore.com> + + * doc/gnat_rm/implementation_defined_attributes.rst: Add entry for + Super attribute. + * accessibility.adb (Accessibility_Level): Add handling for Super. + * exp_attr.adb (Expand_N_Attribute_Reference): Add entry for + Super. + * sem_attr.adb (Analyze_Attribute): Create a case to handle the + semantic checking and expansion for Super. + (Eval_Attribute): Add entry for Super. + * sem_attr.ads: Add entry for Super. + * sem_util.adb (Is_Aliased_View, Is_Variable): Add case to handle + references to 'Super. + * snames.ads-tmpl: Register Name_Super and Attribute_Super. + * gnat_rm.texi: Regenerate. + +2024-05-16 Ronan Desplanques <desplanques@adacore.com> + + * sem_util.ads (Check_Function_Writable_Actuals): Fix comment. + +2024-05-16 Ronan Desplanques <desplanques@adacore.com> + + * sem_res.adb (Resolve_Case_Expression): Add length check + insertion. + * exp_ch4.adb (Expand_N_Case_Expression): Add handling of nodes + known to raise Constraint_Error. + +2024-05-16 Sebastian Poeplau <poeplau@adacore.com> + + * adaint.c: New defines for STANDALONE mode. + +2024-05-16 Viljar Indus <indus@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): + If the spec is not present for a subprogram body then + check if the body definiton was created for a protected + procedure. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * exp_cg.adb (Generate_CG_Output): Remove code for ignored ghost + entities that applied to subprogram calls. + (Register_CG_Node): Skip ignored ghost entities, both calls + and tagged types, when they are registered. + +2024-05-16 Ronan Desplanques <desplanques@adacore.com> + + * checks.adb (Apply_Selected_Length_Checks): Fix reason code. + +2024-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-finpri.adb (Raise_From_Controlled_Operation): New + declaration of imported procedure moved from... + (Finalize_Master): ...there. + (Finalize): Call Raise_From_Controlled_Operation instead of + Reraise_Occurrence to propagate the exception, if any. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch4.adb (Analyze_If_Expression): Add guard for + if_expression without an ELSE part. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch13.adb (Expand_N_Free_Statement): After analysis, the + new temporary has the type of its Object_Definition and the new + occurrence of this temporary has this type as well; simplify. + * sem_util.adb + (Indirect_Temp_Value): Remove redundant call to Set_Etype; + simplify. + (Is_Access_Type_For_Indirect_Temp): Add missing body header. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Is_Known_On_Entry): Check whether condition and + dependent expressions of an if_expression are known on entry. + +2024-05-16 Ronan Desplanques <desplanques@adacore.com> + + * checks.ads: Fix comments. + * checks.adb: Likewise. + +2024-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-finpri.ads: Add use type clause for Storage_Offset. + (Header_Alignment): Turn into an expression function. + (Header_Size): Likewise. + * libgnat/s-finpri.adb: Remove use type clause for Storage_Offset. + (Header_Alignment): Delete. + (Header_Size): Likewise. + +2024-05-16 Marc Poulhiès <poulhies@adacore.com> + + * exp_ch7.adb (Unnest_Loop::Fixup_Inner_Scopes): detect a new + problematic pattern and fixup the scope accordingly. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * gnat_cuda.adb (Remove_CUDA_Device_Entities): Fix typo. + +2024-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-finpri.ads (Header_Alignment): New function. + (Header_Size): Adjust description. + (Master_Node): Put Finalize_Address as first component. + (Collection_Node): Likewise. + * libgnat/s-finpri.adb (Header_Alignment): New function. + (Header_Size): Return the object size in storage units. + * libgnat/s-stposu.ads (Adjust_Controlled_Dereference): Replace + collection node with header in description. + * libgnat/s-stposu.adb (Adjust_Controlled_Dereference): Likewise. + (Allocate_Any_Controlled): Likewise. Pass the maximum of the + specified alignment and that of the header to the allocator. + (Deallocate_Any_Controlled): Likewise to the deallocator. + +2024-05-16 Viljar Indus <indus@adacore.com> + + * exp_aggr.adb (Two_Pass_Aggregate_Expansion): + Explicitly create new Defining_Iterators for both + of the loops. + +2024-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch6.adb (Check_Private_Overriding): Implement the second part + of RM 3.9.3(10) consistently in both cases. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * erroutc.adb (Set_Msg_Insertion_Reserved_Word): Fix casing for + CUDA appearing in error message strings. + (Set_Msg_Str): Likewise for CUDA being a part of a Name_Id. + +2024-05-16 Ronan Desplanques <desplanques@adacore.com> + + * exp_ch4.adb (Expand_Composite_Equality): Call Error_Msg_N + instead of Error_Msg. + +2024-05-16 Steve Baird <baird@adacore.com> + + * exp_attr.adb (Build_And_Insert_Type_Attr_Subp): Further tweaking + of the point where a compiler-generated Put_Image or streaming + subprogram is to be inserted in the tree. If one such subprogram + calls another (as is often the case with, for example, Put_Image + procedures for composite type and for a component type thereof), + then we want to avoid use-before-definition problems that can + result from inserting the caller ahead of the callee. + +2024-05-16 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-finpri.ads (Lock_Type): New modular type. + (Collection_Node): Add Enclosing_Collection component. + (Finalization_Collection): Add Lock component. + * libgnat/s-finpri.adb: Add clauses for System.Atomic_Primitives. + (Attach_Object_To_Collection): Lock and unlock the collection. + Save a pointer to the enclosing collection in the node. + (Detach_Object_From_Collection): Lock and unlock the collection. + (Finalize): Likewise. + (Initialize): Initialize the lock. + (Lock_Collection): New procedure. + (Unlock_Collection): Likewise. + +2024-05-16 Steve Baird <baird@adacore.com> + + * sem_attr.adb (Eval_Attribute): Expand existing checks for + generic formal types for which Is_Generic_Type returns False. In + that case, mark the attribute reference as nonstatic. + +2024-05-16 Steve Baird <baird@adacore.com> + + * sem_util.adb (Copy_Node_With_Replacement): Add call to + Copy_Dimensions so that any dimension information associated with + the copied node is also associated with the resulting copy. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * gen_il-gen-gen_nodes.adb (N_Procedure_Specification): Remove + Aspect_Specifications field. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Analyze_Aspect_Specification): Consistently + reuse existing constant where possible. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch13.adb (Analyze_Aspect_Specification): Consistently + reuse existing constant where possible. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * aspects.ads (Aspect_Id): Fix ordering. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Move case alternative to match + to alphabetic order. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * gnat_cuda.adb (Remove_CUDA_Device_Entities): Fix casing + (this primarily fixes a style, because the capitalization will + not be preserved by the error-reporting machinery anyway). + * sem_ch13.adb (Analyze_User_Aspect_Aspect_Specification): Fix + casing in error message. + +2024-05-16 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_pragmas.rst: Fix + documentation. + * sem_prag.adb: Fix comments. + * gnat_rm.texi: Regenerate. + +2024-05-14 Piotr Trojanek <trojanek@adacore.com> + + * aspects.ads (Aspect_Id, Boolean_Aspect): Change categorization + of Boolean-valued SPARK aspects. + * sem_ch13.adb (Analyze_Aspect_Specification): Adapt CASE + statements to new classification of Boolean-valued SPARK + aspects. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * sem_ch13.adb (Validate_Unchecked_Conversions): Add node + parameters to Error_Msg calls. + +2024-05-14 Marc Poulhiès <poulhies@adacore.com> + + * sem_util.adb: Typo fix in comment. + * exp_aggr.adb: Likewise. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Finalization Management): Add a short description of + the implementation of finalization chains. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_Allocator_Expression): Move the first call to + Build_Allocate_Deallocate_Proc up to before the accessibility check. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * errout.adb (Validate_Specific_Warnings): Adapt to record + definition change. + * erroutc.adb (Set_Specific_Warning_On, Set_Specific_Warning_Off, + Warning_Specifically_Suppressed): Likewise. + * erroutc.ads: Change record definition. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Build_Default_Initialization): Do not generate the + protection for finalization collections. + (Build_Heap_Or_Pool_Allocator): Set the No_Initialization flag on + the declaration of the temporary. + * exp_ch4.adb (Build_Aggregate_In_Place): Do not build an allocation + procedure here. + (Expand_Allocator_Expression): Build an allocation procedure, if it + is required, only just before rewriting the allocator. + (Expand_N_Allocator): Do not build an allocation procedure if the + No_Initialization flag is set on the allocator, except for those + generated for special return objects. In other cases, build an + allocation procedure, if it is required, only before rewriting + the allocator. + * exp_ch7.ads (Make_Address_For_Finalize): New function declaration. + * exp_ch7.adb (Finalization Management): Update description for + dynamically allocated objects. + (Make_Address_For_Finalize): Remove declaration. + (Find_Last_Init): Change to function and move to... + (Process_Object_Declaration): Adjust to above change. + * exp_util.ads (Build_Allocate_Deallocate_Proc): Add Mark parameter + with Empty default and document it. + (Find_Last_Init): New function declaration. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Add Mark parameter + with Empty default and pass it in recursive call. Deal with type + conversions created for interface types. Adjust call sequence to + Allocate_Any_Controlled by changing Collection to In/Out parameter + and removing Finalize_Address parameter. For a controlled object, + generate a conditional call to Attach_Object_To_Collection for an + allocation and to Detach_Object_From_Collection for a deallocation. + (Find_Last_Init): ...here. Compute the initialization type for an + allocator whose designating type is class wide specifically and also + handle concurrent types. + * rtsfind.ads (RE_Id): Add RE_Attach_Object_To_Collection and + RE_Detach_Object_From_Collection. + (RE_Unit_Table): Add entries for RE_Attach_Object_To_Collection and + RE_Detach_Object_From_Collection. + * libgnat/s-finpri.ads (Finalization_Started): Delete. + (Attach_Node_To_Collection): Likewise. + (Detach_Node_From_Collection): Move to... + (Attach_Object_To_Collection): New procedure declaration. + (Detach_Object_From_Collection): Likewise. + (Finalization_Collection): Remove Atomic for Finalization_Started. + Add pragma Inline for Initialize. + * libgnat/s-finpri.adb: Add clause for Ada.Unchecked_Conversion. + (To_Collection_Node_Ptr): New instance of Ada.Unchecked_Conversion. + (Detach_Node_From_Collection): ...here. + (Attach_Object_To_Collection): New procedure. + (Detach_Object_From_Collection): Likewise. + (Finalization_Started): Delete. + (Finalize): Replace allocation with attachment in comments. + * libgnat/s-stposu.ads (Allocate_Any_Controlled): Rename parameter + Context_Subpool into Named_Subpool, parameter Context_Collection + into Collection and change it to In/Out, and remove Fin_Address. + * libgnat/s-stposu.adb: Remove clause for Ada.Unchecked_Conversion + and Finalization_Primitives. + (To_Collection_Node_Ptr): Delete. + (Allocate_Any_Controlled): Rename parameter Context_Subpool into + Named_Subpool, parameter Context_Collection into Collection and + change it to In/Out, and remove Fin_Address. Do not lock/unlock + and do not attach the object, instead only displace its address. + (Deallocate_Any_Controlled): Do not lock/unlock and do not detach + the object. + (Header_Size_With_Padding): Use qualified name for Header_Size. + +2024-05-14 Steve Baird <baird@adacore.com> + + * exp_attr.adb (Build_And_Insert_Type_Attr_Subp): If a subprogram + associated with a (library-level) type declared in another unit is + to be inserted somewhere in a list, then insert it at the head of + the list. + * sem_ch5.adb (Analyze_Assignment): Normally a limited-type + assignment is illegal. Relax this rule if Comes_From_Source is + False and the type is not immutably limited. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * errout.ads (Error_Msg): Add node parameter. + * errout.adb (Error_Msg): Add parameter and pass it to + the underlying call. + * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Pass + pragma node when emitting errors. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * styleg.ads (Check_Xtra_Parens_Precedence): Moved ... + * style.ads (Check_Xtra_Parens_Precedence): ... here. Also + replace corresponding renaming. + * styleg.adb (Check_Xtra_Parens_Precedence): Moved ... + * style.adb (Check_Xtra_Parens_Precedence): here. Also use + Errout.Error_Msg and pass it a node parameter. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.ads (Convert_Aggr_In_Allocator): Rename Alloc into N, + replace Decl with Temp and adjust description. + (Convert_Aggr_In_Object_Decl): Alphabetize. + (Is_Delayed_Aggregate): Likewise. + * exp_aggr.adb (Convert_Aggr_In_Allocator): Rename Alloc into N + and replace Decl with Temp. Allocate a list only when neeeded. + (Convert_Array_Aggr_In_Allocator): Replace N with Decl and insert + new code before it. + * exp_ch4.adb (Build_Aggregate_In_Place): New procedure nested in + Expand_Allocator_Expression. + (Expand_Allocator_Expression): Call it to build aggregates in place. + Remove second parameter in calls to Build_Allocate_Deallocate_Proc. + (Expand_N_Allocator): Likewise. + * exp_ch13.adb (Expand_N_Free_Statement): Likewise. + * exp_util.ads (Build_Allocate_Deallocate_Proc): Remove Is_Allocate + parameter. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Remove Is_Allocate + parameter and replace it with local variable of same name. Delete + useless pattern matching. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * usage.adb (Usage): Fix enabled-by-default indicators. + +2024-05-14 Philippe Gil <gil@adacore.com> + + * libgnat/s-win32.ads (LocalFileTimeToFileTime): Swap parameters. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * restrict.adb (Violation_Of_No_Dependence): Tweak error + reporting calls. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Adapt call to new signature. + * erroutc.ads (Set_Specific_Warning_Off): change signature + and update documentation. + (Validate_Specific_Warnings): Move ... + * errout.adb: ... here and change signature. Also move body + of Validate_Specific_Warnings from erroutc.adb. + (Finalize): Adapt call. + * errout.ads (Set_Specific_Warning_Off): Adapt signature of + renaming. + * erroutc.adb (Set_Specific_Warning_Off): Adapt signature and + body. + (Validate_Specific_Warnings): Move to the body of Errout. + (Warning_Specifically_Suppressed): Adapt body. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Build_Array_Aggr_Code): Pass N in the call to + Build_Initialization_Call. + (Build_Record_Aggr_Code): Likewise. + (Convert_Aggr_In_Object_Decl): Likewise. + (Initialize_Discriminants): Likewise. + * exp_ch3.ads (Build_Initialization_Call): Replace Loc witn N. + * exp_ch3.adb (Build_Array_Init_Proc): Pass N in the call to + Build_Initialization_Call. + (Build_Default_Initialization): Likewise. + (Expand_N_Object_Declaration): Likewise. + (Build_Initialization_Call): Replace Loc witn N parameter and add + Loc local variable. Build a default subtype for an allocator of + a discriminated type with defaulted discriminants. + (Build_Record_Init_Proc): Pass the declaration of components in the + call to Build_Initialization_Call. + * exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator): Pass the + allocator in the call to Build_Initialization_Call. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix typo. + +2024-05-14 Gary Dismukes <dismukes@adacore.com> + + * exp_util.adb (Find_Hook_Context): Exclude N_*Aggregate Nkinds + of Parent (Par) from the early return in the second loop of the + In_Cond_Expr case, to prevent returning an aggregate from this + function rather than the enclosing declaration or statement. + +2024-05-14 Steve Baird <baird@adacore.com> + + * exp_attr.adb: Replace 6 "not Present" tests with equivalent calls to "No". + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): Examine the Expression + field after the call to Default_Initialize_Object in order to set + Is_Known_Null, as well as Is_Known_Non_Null, on an access object. + +2024-05-14 Steve Baird <baird@adacore.com> + + * exp_attr.adb: Change name of package Cached_Streaming_Ops to + reflect the fact that it is now also used for Put_Image + procedures. Similarly change other "Streaming_Op" names therein. + Add Validate_Cached_Candidate procedure to detect case where a + subprogram found in the cache cannot be reused. Add new generic + procedure Build_And_Insert_Type_Attr_Subp; the "Build" part is + handled by just calling a formal procedure; the bulk of this + (generic) procedure's code has to with deciding where in the tree + to insert the newly-constructed subprogram. Replace each later + "Build" call (and the following Insert_Action or + Compile_Stream_Body_In_Scope call) with a declare block that + instantiates and then calls this generic procedure. Delete the + now-unused procedure Compile_Stream_Body_In_Scope. A constructed + subprogram is entered in the appropriate cache if the + corresponding type is untagged; this replaces more complex tests. + A new function Interunit_Ref_OK is added to determine whether an + attribute reference occuring in one unit can safely refer to a + cached subprogram declared in another unit. + * exp_ch3.adb (Build_Predefined_Primitive_Bodies): A formal + parameter was deleted, so delete the corresponding actual in a + call. + * exp_put_image.adb (Build_Array_Put_Image_Procedure): Because the + procedure being built may be referenced more than once, the + generated procedure takes its source position info from the type + declaration instead of the (first) attribute reference. + (Build_Record_Put_Image_Procedure): Likewise. + * exp_put_image.ads (Build_Array_Put_Image_Procedure): Eliminate + now-unused Nod parameter. + (Build_Record_Put_Image_Procedure): Eliminate now-unused Loc parameter. + * sem_ch3.adb (Constrain_Discriminated_Type): For declaring a + subtype with a discriminant constraint, ignore privacy if + Comes_From_Source is false (as is already done if Is_Instance is + true). + * sem_res.adb (Resolve): When passed two type entities that have + the same underlying base type, Sem_Type.Covers may return False in + some cases because of privacy. [This can happen even if + Is_Private_Type returns False both for Etype (N) and for Typ; + Covers calls Base_Type, which can take a non-private argument and + yield a private result.] If Comes_From_Source (N) is False + (e.g., for a compiler-generated Put_Image or streaming subprogram), then + avoid that scenario by not calling Covers. Covers already has tests for + doing this sort of thing (see the calls therein to Full_View_Covers), + but the Comes_From_Source test is too coarse to apply there. So instead + we handle the problem here at the call site. + (Original_Implementation_Base_Type): A new function. Same as + Implementation_Base_Type except if the Original_Node attribute of + a non-derived type declaration indicates that it once was a derived + type declaration. Needed for looking through privacy. + (Valid Conversion): Ignore privacy when converting between different views + of the same type if Comes_From_Source is False for the conversion. + (Valid_Tagged_Conversion): An ancestor-to-descendant conversion is not an + illegal downward conversion if there is no type extension involved + (because the derivation was from an untagged view of the parent type). + +2024-05-14 Steve Baird <baird@adacore.com> + + * sem_ch5.adb (Analyze_Case_Statement): Emit a message and return + early in the case where general case statements are allowed but + the selector expression is of a private type. This is done to + avoid a bugbox. + +2024-05-14 Justin Squirek <squirek@adacore.com> + + * sem_util.adb (Set_Referenced_Modified): Use Original_Node to + avoid recursive calls on expanded / internal objects such that + source nodes get appropriately marked as referenced. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * sem_warn.adb (Warn_On_Overlapping_Actuals): Stop ignoring + warning suppression settings. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_util.adb (Build_Allocate_Deallocate_Proc): Pass the alignment + parameter in the inner call for a secondary stack allocation too. + +2024-05-14 Javier Miranda <miranda@adacore.com> + + * sem_ch10.adb (Install_Inherited_Policy_Pragmas): New subprogram. + (Remove_Inherited_Policy_Pragmas): New subprogram. + (Analyze_Compilation_Unit): Call the new subprograms to + install and remove inherited assertion policy pragmas. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch4.adb (Expand_N_If_Expression): Set No_Initialization on the + declaration of the temporary in the by-reference case. + * exp_util.adb (Initialized_By_Access): Delete. + (Is_Allocated): Likewise. + (Initialized_By_Reference): New predicate. + (Is_Finalizable_Transient): If the transient object is of an access + type, do not return true unless it is initialized by a reference. + +2024-05-14 Steve Baird <baird@adacore.com> + + * exp_attr.adb: Move computation of Accum_Typ entirely into the + function Build_Stat. + +2024-05-14 Steve Baird <baird@adacore.com> + + * sem_ch12.ads: Declare new Instance_Context package, which + declares a private type Context with operations Save_And_Reset and + Restore. + * sem_ch12.adb: Provide body for new Instance_Context package. + * rtsfind.adb (Load_RTU): Wrap an Instance_Context Save/Restore + call pair around the call to Semantics. + * table.ads: Add initial value for Last_Val (because + Save_And_Reset expects Last_Val to be initialized). + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_aggr.adb (Build_Record_Aggr_Code): Replace reference to + Build_Task_Allocate_Block_With_Init_Stmts in comment with reference + to Build_Task_Allocate_Block. + (Convert_Aggr_In_Allocator): Likewise for the call in the code. + * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Likewise. + * exp_ch3.ads: Alphabetize clauses. + (Build_Default_Initialization): New function declaration. + (Build_Default_Simple_Initialization): Likewise. + (Build_Initialization_Call): Add Target_Ref parameter with default. + * exp_ch3.adb (Build_Default_Initialization): New function extracted + from... + (Build_Default_Simple_Initialization): Likewise. + (Build_Initialization_Call): Add Target_Ref parameter with default. + (Expand_N_Object_Declaration): ...here. + (Default_Initialize_Object): Call Build_Default_Initialization and + Build_Default_Simple_Initialization. + * exp_ch4.adb (Expand_Allocator_Expression): Minor comment tweaks. + (Expand_N_Allocator): Call Build_Default_Initialization and + Build_Default_Simple_Initialization to implement the default + initialization of the allocated object. + * exp_ch9.ads (Build_Task_Allocate_Block): Delete. + (Build_Task_Allocate_Block_With_Init_Stmts): Rename into... + (Build_Task_Allocate_Block): ...this. + * exp_ch9.adb: Remove clauses for Exp_Tss. + (Build_Task_Allocate_Block): Delete. + (Build_Task_Allocate_Block_With_Init_Stmts): Rename into... + (Build_Task_Allocate_Block): ...this. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Remove unnecessary + initialization expression, adjust commentary and replace early exit + with assertion. + * sem_ch4.adb (Analyze_Allocator): In the null-exclusion case, call + Apply_Compile_Time_Constraint_Error to insert the raise. + +2024-05-14 Ronan Desplanques <desplanques@adacore.com> + + * styleg.ads (Check_Boolean_Operator): Moved ... + * style.ads (Check_Boolean_Operator): ... here. + * styleg.adb (Check_Boolean_Operator): Moved ... + * style.adb (Check_Boolean_Operator): ... here. Also add node + parameter to call to Errout.Error_Msg. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * sprint.adb (Sprint_Node_Actual) <N_Raise_Statement>: Be prepared + for an empty Name. + <N_Raise_When_Statement>: Likewise. + +2024-05-14 Yannick Moy <moy@adacore.com> + + * contracts.adb: Fix references to SPARK RM rules. + * freeze.adb: Same. + * ghost.adb: Fix references to SPARK RM rules. + (Check_Ghost_Context): Update checking of references to + ghost entities in assertion expressions. + * sem_ch6.adb: Fix references to SPARK RM rules. + * sem_prag.adb: Same. + +2024-05-14 Yannick Moy <moy@adacore.com> + + * ghost.adb (Mark_And_Set_Ghost_Instantiation): Fix the current + Ghost policy for the instantiation. + +2024-05-14 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Default_Initialize_Object): Return immediately when + either Has_Init_Expression or No_Initialization is set on the node. + Tidy up the rest of the code accordingly. + (Simple_Initialization_OK): Do not test Has_Init_Expression here. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * accessibility.adb: Remove clauses for Exp_Ch3. + * exp_ch3.ads (Init_Proc_Level_Formal): Move declaration to... + * exp_ch3.adb (Init_Proc_Level_Formal): Move body to... + * exp_util.ads (Init_Proc_Level_Formal): ...here. + (Inside_Init_Proc): Alphabetize. + * exp_util.adb (Init_Proc_Level_Formal): ...here. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Is_Potentially_Unevaluated): Remove code for + recovering the original structure of expressions with AND THEN. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Attribute_22): Remove Put_Image and Object_Size. + * sem_attr.ads (Attribute_Imp_Def): Restore Object_Size. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb: Adjust the description of finalization management. + (Build_Finalizer): Rename scope master into master throughout. + * rtsfind.ads (RE_Id): Replace RE_Finalization_Scope_Master with + RE_Finalization_Master. + (RE_Unit_Table): Replace entry for RE_Finalization_Scope_Master with + entry for RE_Finalization_Master. + * libgnat/s-finpri.ads (Finalization_Scope_Master): Rename into... + (Finalization_Master): ...this. + (Attach_Object_To_Master): Adjust to above renaming. + (Chain_Node_To_Master): Likewise. + (Finalize_Master): Likewise. + * libgnat/s-finpri.adb (Attach_Object_To_Master): Likewise. + (Chain_Node_To_Master): Likewise. + (Finalize_Master): Likewise. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-imaged.ads (System.Image_D): Add Uns formal parameter. + * libgnat/s-imaged.adb: Add with clauses for System.Image_I, + System.Value_I_Spec and System.Value_U_Spec. + (Uns_Spec): New instance of System.Value_U_Spec. + (Int_Spec): New instance of System.Value_I_Spec. + (Image_I): New instance of System.Image_I. + (Set_Image_Integer): New renaming. + (Set_Image_Decimal): Replace 'Image with call to Set_Image_Integer. + * libgnat/s-imde32.ads (Uns32): New subtype. + (Impl): Pass Uns32 as second actual paramter to Image_D. + * libgnat/s-imde64.ads (Uns64): New subtype. + (Impl): Pass Uns64 as second actual paramter to Image_D. + * libgnat/s-imde128.ads (Uns128): New subtype. + (Impl): Pass Uns128 as second actual paramter to Image_D. + * libgnat/s-imagef.adb (Set_Image_Fixed): Document bounds for the + A, D and AF local constants. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Attribute_22): Add Put_Image and Object_Size. + * sem_attr.ads (Attribute_Imp_Def): Remove Object_Size. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * aspects.adb (Copy_Aspects): Style fix. + * contracts.adb (Analyze_Contracts): Style fix. + (Save_Global_References_In_Contract): Remove extra guards. + * par_sco.adb (Traverse_Aspects): Move guard to the caller and + make it consistent with Save_Global_References_In_Contract. + * sem_ch12.adb (Has_Contracts): Remove extra guards. + * sem_ch3.adb (Delayed_Aspect_Present, Get_Partial_View_Aspect, + Check_Duplicate_Aspects): Likewise. + * sem_disp.adb (Check_Dispatching_Operation): Likewise. + +2024-05-13 Bob Duff <duff@adacore.com> + + * errout.adb (Output_Messages): Protect against the total going + negative. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * contracts.adb (Append_Enabled_Item): Remove use of Split_PPC; + simplify. + * gen_il-fields.ads (Opt_Field_Enum): Remove flag definition. + * gen_il-gen-gen_nodes.adb (N_Aspect_Specification, N_Pragma): + Remove Split_PPC flags. + * gen_il-internals.adb (Image): Remove use of Split_PPC. + * par_sco.adb (Traverse_Aspects): Likewise. + * sem_ch13.adb (Make_Aitem_Pragma): Likewise. + * sem_ch6.adb (List_Inherited_Pre_Post_Aspects): Likewise. + * sem_prag.adb (Analyze_Pre_Post_Condition, Analyze_Pragma, + Find_Related_Declaration_Or_Body): Likewise. + * sem_util.adb (Applied_On_Conjunct): Likewise. + * sinfo.ads: Remove flag documentation. + * treepr.adb (Image): Remove use of Split_PPC. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch6.adb (Append_Message): Build the location string from + scratch and not rely on the one produced while splitting the + aspect into pragmas. + * exp_prag.adb (Expand_Pragma_Check): Split pre/post checks in + expansion. + * sem_ch13.adb (Analyze_Aspect_Specification): Don't split + pre/post expressions into conjuncts; don't add message with + location to the corresponding pragma. + * sem_prag.adb (Build_Pragma_Check_Equivalent): Inherited + pragmas no longer have messages that would need to be updated. + * sinput.adb (Build_Location_String): Adjust to keep previous + messages while using with inherited pragmas. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * contracts.adb (Inherit_Subprogram_Contract): Fix style. + * sem_ch5.adb (Analyze_Iterator_Specification): Likewise. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Has_No_Output): Iteration with + First_Formal/Next_Formal involves Entity_Ids. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Pragma): When processing pragma + Lock_Free, check if restriction No_Implementation_Pragmas is + enabled. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * gen_il-fields.ads (Opt_Field_Enum): + Remove Is_Expanded_Contract from the list of flags. + * gen_il-gen-gen_nodes.adb (N_Contract): Remove + Is_Expanded_Contract from the list of N_Contract fields. + * sinfo.ads (Is_Expanded_Contract): Remove comments for the flag + and its single occurrence in N_Contract. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch9.adb (Build_Protected_Subprogram_Body, + Build_Protected_Subprogram_Call_Cleanup): Reuse refactored + routine. + * sem_util.adb + (Has_Enabled_Aspect): Refactored repeated code. + (Is_Static_Function): Reuse refactored routine. + * sem_util.ads (Has_Enabled_Aspect): + New query routine refactored from repeated code. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch9.adb (Build_Protected_Subprogram_Call_Cleanup): If + aspect Exclusive_Functions is present then the cleanup of a + protected function now services queued entries, just like the + cleanup of a protected procedure. + +2024-05-13 Bob Duff <duff@adacore.com> + + * sem_util.ads (Append_Entity_Name): Fix comment to reflect new + semantics. The comment said, "The qualification stops at an + enclosing scope has no source name (block or loop)." There seems + to be no reason for stopping; instead, we should SKIP things with + no source name. And the "loop" part was wrong. + * sem_util.adb (Append_Entity_Name): Do not stop the recursion; + skip to next-outer scope instead. Misc cleanup/simplification. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-finpri.adb (Finalize): Replace "master" by "collection" + in comments and add a comment about the form of the loop. + * libgnat/s-stposu.adb (Allocate_Any_Controlled): Tweak comment. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Remove s-finmas$(objext). + * einfo.ads (Anonymous_Masters): Rename into Anonymous_Collections. + (Finalization_Master): Rename into Finalization_Collection. + * gen_il-fields.ads (Opt_Field_Enum): Replace Anonymous_Masters + with Anonymous_Collections; and Finalization_Master with + Finalization_Collection. + * gen_il-gen-gen_entities.adb (Access_Kind): Likewise. + (E_Function): Likewise. + (E_Procedure): Likewise. + (E_Package): Likewise. + (E_Subprogram_Body): Likewise. + * exp_ch3.adb (Build_Heap_Or_Pool_Allocator): Adjust to renamings. + (Freeze_Type): Likewise. + (Stream_Operation_OK): Remove obsolete test. + * exp_ch4.adb (Expand_Allocator_Expression): Adjust to renamings. + (Expand_N_Allocator): Likewise. + * exp_ch6.ads (BIP_Formal_Kind): Replace BIP_Finalization_Master + with BIP_Collection. + (Needs_BIP_Finalization_Master): Rename into... + (Needs_BIP_Collection): ...this. + * exp_ch6.adb (BIP_Finalization_Master_Suffix): Delete. + (BIP_Collection_Suffix): New constant string. + (Add_Finalization_Master_Actual_To_Build_In_Place_Call): Rename to + (Add_Collection_Actual_To_Build_In_Place_Call): ...this and adjust. + (BIP_Formal_Suffix): Replace BIP_Finalization_Master alternative + with BIP_Collection alternative. + (BIP_Suffix_Kind): Replace test on BIP_Finalization_Master_Suffix + with test on BIP_Collection_Suffix. + (Is_Build_In_Place_Entity): Likewise. + (Make_Build_In_Place_Call_In_Allocator): Call Needs_BIP_Collection + and Add_Collection_Actual_To_Build_In_Place_Call. + (Make_Build_In_Place_Call_In_Anonymous_Context): Likewise. + (Make_Build_In_Place_Call_In_Assignment): Likewise. + (Make_Build_In_Place_Call_In_Object_Declaration): Likewise. + (Needs_BIP_Finalization_Master): Rename into... + (Needs_BIP_Collection): ...this. + (Needs_BIP_Alloc_Form): Call Needs_BIP_Collection. + * exp_ch7.ads (Build_Anonymous_Master): Rename into... + (Build_Anonymous_Collection): ...this. + (Build_Finalization_Master): Rename into... + (Build_Finalization_Collection): ...this. + * exp_ch7.adb (Allows_Finalization_Master): Rename into... + (Allows_Finalization_Collection): ...this. + (Build_BIP_Cleanup_Stmts): Adjust to renamings. + (Build_Anonymous_Master): Rename into... + (Build_Anonymous_Collection): ...this. Adjust to renamings. + (Build_Finalization_Master): Rename into... + (Build_Finalization_Collection): ...this. Adjust to renamings. + (Build_Finalizer): Adjust comment to renamings. + * exp_ch13.adb (Expand_N_Free_Statement): Adjust to renamings. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Likewise. + (Requires_Cleanup_Actions): Adjust comment to renamings. + * freeze.adb (Freeze_All): Likewise. + * rtsfind.ads (RTU_Id): Remove System_Finalization_Masters. + (RE_Id): Remove RE_Finalization_Master & RE_Finalization_Master_Ptr + add RE_Finalization_Collection & RE_Finalization_Collection_Ptr. + Adjust RE_Add_Offset_To_Address and RE_Finalization_Scope_Master. + (RE_Unit_Table): Remove entries for RE_Finalization_Master & + RE_Finalization_Master_Ptr, add ones for RE_Finalization_Collection + & RE_Finalization_Collection_Ptr. Also adjust those of + RE_Add_Offset_To_Address and RE_Finalization_Scope_Master. + * sem_ch3.adb (Access_Type_Declaration): Adjust to renamings. + * sem_ch6.adb (Create_Extra_Formals): Likewise. + * sem_util.adb (Designated_Subtype_Mark): Likewise. + * libgnat/s-finpri.ads: Add clauses for Ada.Finalization and + System.Storage_Elements. + (Finalization_Collection): New limited controlled type. + (Finalization_Collection_Ptr): Likewise. + (Initialize): New overriding procedure. + (Finalize): Likewise. + (Finalization_Started): Likewise. + (Collection_Node): New type. + (Collection_Node_Ptr): Likewise. + (Attach_Node_To_Collection): New procedure. + (Detach_Node_From_Collection): Likewise. + (Header_Size): New function. + (Add_Offset_To_Address): Likewise. + * libgnat/s-finpri.adb (Add_Offset_To_Address): New function. + (Attach_Node_To_Collection): New procedure. + (Detach_Node_From_Collection): Likewise. + (Finalization_Started): Likewise. + (Finalize): New overriding procedure. + (Header_Size): New function. + (Initialize): New overriding procedure. + * libgnat/s-spsufi.ads (Finalize_And_Deallocate): Adjust comment. + * libgnat/s-spsufi.adb: Remove clause for Finalization_Masters and + add clause for Finalization_Primitives. + (Finalize_And_Deallocate): Finalize the Collection component. + * libgnat/s-stposu.ads: Remove clause for Finalization_Masters and + add clause for Finalization_Primitives. + (Root_Subpool): Replace Master component with Collection. + (Allocate_Any_Controlled): Replace Context_Master parameter with + Context_Collection parameter. + * libgnat/s-stposu.adb: Remove clauses for Finalization_Masters and + add clauses for Finalization_Primitives. + (Address_To_FM_Node_Ptr): Delete. + (To_Collection_Node_Ptr): New instance of Ada.Unchecked_Conversion. + (Adjust_Controlled_Dereference): Adjust comment to renamings. + (Allocate_Any_Controlled): Replace Context_Master parameter with + Context_Collection parameter. Adjust to renamings. + (Deallocate_Any_Controlled): Adjust to renamings. + (Print_Subpool): Likewise. + * libgnat/s-finmas.ads: Delete. + * libgnat/s-finmas.adb: Likewise. + +2024-05-13 Ashley Gay <gay@adacore.com> + + * Makefile.rtl: remove i-vxinco.* from the build + * doc/gnat_rm/the_gnat_library.rst: Remove i-vxinco.ads from + the units documentation. + * impunit.adb: Remove i-vxinco from the list of available units + in GNATstudio. + * libgnarl/i-vxinco.adb: Remove. + * libgnarl/i-vxinco.ads: Ditto. + * libgnarl/s-interr__vxworks.adb: enrich comment + * libgnarl/s-vxwext__kernel.ads: fix comment + * libgnat/i-vxwork.ads: Remove deprecated interrupt connections + API, as well as an example. + * libgnat/i-vxwork__x86.ads: Ditto and add the paragma + Obscolescent to Attach_Handler + * gnat_rm.texi: Regenerate. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Build_Heap_Or_Pool_Allocator): Use the BIPstoragepool + formal parameter to retrieve the pool in the presence of a master. + * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Always pass + a pool reference along with the master reference. + (Make_Build_In_Place_Call_In_Object_Declaration): Likewise. + * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Use the BIPstoragepool + formal parameter to retrieve the pool in the presence of a master. + (Create_Anonymous_Master): Do not call Set_Base_Pool. + (Build_Finalization_Master): Likewise. + * rtsfind.ads (RE_Id): Remove RE_Base_Pool and RE_Set_Base_Pool. + (RE_Unit_Table): Remove associated entries. + * libgnat/s-finmas.ads: Remove clause for System.Storage_Pools. + (Any_Storage_Pool_Ptr): Delete. + (Finalization_Master): Remove Base_Pool component. + (Base_Pool): Delete. + (Set_Base_Pool): Likewise. + * libgnat/s-finmas.adb (Base_Pool): Likewise. + (Set_Base_Pool): Likewise. + (Print_Master): Do not print Base_Pool. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): + Rename Pool_Actual into Pool_Exp and use Empty as default value. + (Add_Finalization_Master_Actual_To_Build_In_Place_Call): Change the + names of the first two parameters and use a simpler code structure. + (Make_Build_In_Place_Call_In_Allocator): Rename the local variable + for the pool actual and set it to Empty if it is not used. + (Make_Build_In_Place_Call_In_Object_Declaration): Rename the local + variable for the master actual. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_N_Object_Declaration): In the case of a + return object of a BIP function that needs finalization, save + the assignment statement made to initialize it, if any. + * exp_ch6.ads (BIP_Formal_Kind): Adjust description. + * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Make a + couple of adjustments to the commentary. + (Needs_BIP_Alloc_Form): Also return true if the function needs + a BIP_Finalization_Master parameter. + * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Remove now always true + test on Needs_BIP_Alloc_Form. + (Attach_Object_To_Master_Node): Remove duplication in comment. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Get_Index_Bounds): Guard against missing Entity, + which happens on illegal constrained type declaration. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * sem_attr.adb (Eval_Attribute): Treat Alignment like Component_Size + for array types. + +2024-05-13 Steve Baird <baird@adacore.com> + + * sem_case.adb: Replace all tests of Core_Extensions_Allowed with + corresponding tests of All_Extensions_Allowed. + * sem_ch5.adb: Likewise. + * doc/gnat_rm/gnat_language_extensions.rst: update documentation. + * gnat_rm.texi: Regenerate. + +2024-05-13 Eric Botcazou <ebotcazou@adacore.com> + + * sem_ch13.adb (New_Put_Image_Subprogram): In the nondeferred case + coming from an aspect and for a type with delaying freezing, also + freeze the subprogram immediately. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/a-direct.adb (Start_Search_Internal): Combine subtype + and object declaration. + * libgnat/g-dirope.adb (Read): Replace convoluted unchecked + conversion with an overlay. + +2024-05-13 Piotr Trojanek <trojanek@adacore.com> + + * libgnat/g-dirope.adb (Read): Use null-excluding, + access-to-constant type; replace element-by-element copy with + array assignments. + +2024-05-13 Gary Dismukes <dismukes@adacore.com> + + * exp_aggr.adb (Expand_Container_Aggregate): Move determination of + whether the aggregate is an indexed aggregate earlier in the + procedure. Test Is_Indexed_Aggregate as a criterion for generating + a call to the container type's New_Indexed function, add proper + computation of bounds to pass in to the function, and remove later + code for generating such a call. Add and improve comments. + (Aggregate_Size): Remove special treatment of case where there is + exactly one component association, and instead loop over all + component associations to determine whether any of them have a + nonstatic length. If there is at least one such nonstatic + association, return -1. + (Build_Siz_Exp): Accumulate a sum of the sizes of each of the + component associations in Siz_Exp (which will only be used if + there any associations that are of Nkind + N_Iterated_Component_Association with a nonstatic range). + (Expand_Range_Component): Fix typos in the procedure's spec + comment and block comment. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_util.adb (Number_Of_Elements_In_Array): Fix counting of + elements in null arrays; remove redundant parenthesis; avoid + run-time conversion of 1 to universal integer. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * lib.ads, lib.adb (Primary_Stack_Count, Sec_Stack_Count, + Increment_Primary_Stack_Count, Increment_Sec_Stack_Count, + Unit_Record): Stack counts are never negative. + * ali.ads (Unit_Record): Likewise. + * bindgen.adb (Num_Primary_Stacks, Num_Sec_Stacks): Likewise. + * exp_ch3.adb (Count_Default_Sized_Task_Stacks): Likewise. + * sem_util.ads, sem_util.adb (Number_Of_Elements_In_Array): + Likewise. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch3.adb (Count_Default_Sized_Task_Stacks): Do not look for + tasks inside record discriminants; remove avoid repeated call to + Has_Task that happened for record components. + (Expand_N_Object_Declaration): Use high-level routine to detect + array types and subtypes; remove unused initial values. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_aggr.ads (Static_Array_Aggregate): Fix typo in comment. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Has_Single_Return): Remove redundant check for + empty list, because First works also for empty list. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * exp_ch4.adb (Useful): Remove redundant check for empty list, + because iteration with First works also for empty list; rename + local variable from L to Action. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Has_Formal_With_Per_Object_Constrained_Component): + Use flag Has_Per_Object_Constraint which is set by analysis; + rename for consistency. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Access_Attribute): Replace loop with + Current_Scope_No_Loops. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Access_Attribute): Move code to IF + branch where its result is used. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_attr.adb (Analyze_Access_Attribute): Prevent search from + going too far. + * sem_ch3.adb (Analyze_Component_Declaration): Remove + Contains_POC; reuse Has_Discriminant_Dependent_Constraint. + +2024-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Pending_Access_Types): Delete. + * exp_ch3.adb (Freeze_Type.Process_Pending_Access_Types): Likewise. + (Freeze_Type): Do not call Process_Pending_Access_Types. + * exp_ch7.ads (Make_Set_Finalize_Address_Call): Delete. + * exp_ch7.adb (Build_Finalization_Master.Add_Pending_Access_Type): + Delete. + (Build_Finalization_Master): Do not set Finalize_Address on the + master or call Add_Pending_Access_Type. + (Make_Set_Finalize_Address_Call): Delete. + * gen_il-fields.ads (Opt_Field_Enum): Remove Pending_Access_Types. + * gen_il-gen-gen_entities.adb (Type_Kind): Likewise. + * rtsfind.ads (RE_Id): Remove RE_Set_Finalize_Address. + (RE_Unit_Table): Likewise. + * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not deal with + pending access types. + * libgnat/s-finmas.ads (Attach_Unprotected): Add Finalize_Address + second parameter. + (Delete_Finalize_Address_Unprotected): Delete. + (Finalize_Address): Likewise. + (Finalize_Address_Unprotected): Likewise. + (Is_Homogeneous): Likewise. + (Set_Finalize_Address): Likewise. + (Set_Finalize_Address_Unprotected): Likewise. + (Set_Heterogeneous_Finalize_Address_Unprotected): Likewise. + (Set_Is_Heterogeneous): Likewise. + (FM_Node): Add Finalize_Address component. + (Finalization_Master): Remove Is_Homogeneous and Finalize_Address + components. + * libgnat/s-finmas.adb: Remove with & use clauses for System.HTable. + (Finalize_Address_Table): Delete. + (Attach_Unprotected): Add Finalize_Address second parameter and save + its value in the Finalize_Address field of the node. + (Delete_Finalize_Address_Unprotected): Delete. + (Finalize): Call Finalize_Address saved in the nodes. + (Finalize_Address): Delete. + (Finalize_Address_Unprotected): Likewise. + (Hash): Likewise. + (Is_Homogeneous): Likewise. + (Print_Master): Adjust. + (Set_Finalize_Address): Delete. + (Set_Finalize_Address_Unprotected): Likewise. + (Set_Heterogeneous_Finalize_Address_Unprotected): Likewise. + (Set_Is_Heterogeneous): Likewise. + * libgnat/s-stposu.adb (Finalize_Address_Table_In_Use): Likewise. + (Allocate_Any_Controlled): Pass Fin_Address to Attach_Unprotected + and remove obsolete processing. + (Deallocate_Any_Controlled): Remove obsolete processing. + (Set_Pool_Of_Subpool): Do not call Set_Is_Heterogeneous. + +2024-05-07 Joffrey Huguet <huguet@adacore.com> + + * libgnat/a-ngelfu.ads (Sqrt): Add Global contracts. + (Log): Likewise. + (Exp): Likewise. + ("**"): Likewise. + (Sin): Likewise. + (Cos): Likewise. + (Tan): Likewise. + (Cot): Likewise. + (Arcsin): Likewise. + (Arccos): Likewise. + (Arctan): Likewise. + (Arccot): Likewise. + (Sinh): Likewise. + (Cosh): Likewise. + (Tanh): Likewise. + (Coth): Likewise. + (Arcsinh): Likewise. + (Arccosh): Likewise. + (Arctanh): Likewise. + (Arccoth): Likewise. + +2024-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Postconditions_Proc): Delete. + * gen_il-fields.ads (Opt_Field_Enum): Remove Postconditions_Proc. + * gen_il-gen-gen_entities.adb (E_Function): Likewise. + (E_Procedure): Likewise. + (E_Entry): Likewise. + (E_Entry_Family): Likewise. + +2024-05-07 Ronan Desplanques <desplanques@adacore.com> + + * sinfo.ads: Fix typo. + +2024-05-07 Bob Duff <duff@adacore.com> + + * exp_attr.adb (Attribute_Old): The 'Old attribute we are + processing here is in a postcondition, which cannot be inside the + "Wrapped_Statements" of the subprogram with that postcondition. So + remove the loop labeled "Climb the parent chain looking for + subprogram _Wrapped_Statements". The only way this loop could find + a Subp is if we are nested inside a subprogram that also has a + postcondition, and in that case we would find the wrong (outer) + one. In any case, Subp is set to Empty after the loop, so all + subsequent tests for Present (Subp) are necessarily False; remove + them and the corresponding code. Set Ins_Node unconditionally (to + the right thing). Remove obsolete comments. + * sem_util.adb (Determining_Expressions): Fix assertion; + Pragma_Test_Case was missing. + (Eligible_For_Conditional_Evaluation): Fix assert that could fail + in case of errors. + * libgnat/s-valspe.ads: Remove pragma Unevaluated_Use_Of_Old; + there are no uses of 'Old in this package. + +2024-05-07 Yannick Moy <moy@adacore.com> + + * libgnat/a-strsea.adb (Index): Add assertions. + * libgnat/a-strsup.ads ("="): Remove useless precondition. + * libgnat/s-aridou.adb (Prove_Rounding_Case): Add assertions. + (Lemma_Shift_Right): Add call to lemma. + * libgnat/s-arit32.adb (Prove_Rounding_Case): Add assertion. + (Prove_ Signs): Add assertions. + (Scaled_Divide32): Add assertions. + +2024-05-07 Steve Baird <baird@adacore.com> + + * sem_prag.adb (Analyze_Pragma): Restructure the loop over + possible resolutions of a No_Return pragma's argument so that + functions (and generic functions) are not processed until after it + is known whether there is a non-function candidate resolution. For + a pre-2022 Ada version, terminate the iteration before processing + functions if a non-function resolution is found. + +2024-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/g-socthi.ads (C_Bind): Turn into inline function. + (C_Getpeername): Likewise. + (C_Getsockname): Likewise. + (C_Getsockopt): Likewise. + (C_Setsockopt): Likewise. + (Nonreentrant_Gethostbyaddr): Likewise. + * libgnat/g-socthi.adb (Syscall_Accept): Adjust profile. + (Syscall_Connect): Likewise. + (Syscall_Recvfrom): Likewise. + (Syscall_Sendto): Likewise. + (C_Bind): New function. + (C_Accept): Adjust to above change for profiles. + (C_Connect): Likewise. + (C_Getpeername): New function. + (C_Getsockname): Likewise. + (C_Getsockopt): Likewise. + (C_Recvfrom): Adjust to above change for profiles. + (C_Setsockopt): New function. + (Nonreentrant_Gethostbyaddr): Likewise. + +2024-05-07 Bob Duff <duff@adacore.com> + + * par-ch3.adb (P_Component_Items): Move P_Aspect_Specifications + into the loop, so aspects can be attached to multiple component + declarations. + (P_Type_Declaration, P_Subtype_Declaration) + (P_Known_Discriminant_Part_Opt): Remove default for Semicolon in + calls to P_Aspect_Specifications. + * gen_il-gen-gen_nodes.adb (N_Discriminant_Specification): Add + Aspect_Specifications field to N_Discriminant_Specification, which + was missing. + * aspects.adb (Has_Aspect_Specifications_Flag): Make it True for + N_Discriminant_Specification. + * par-ch13.adb: Remove default for Semicolon in calls to + P_Aspect_Specifications. + (Get_Aspect_Specifications): Misc cleanup. + (P_Aspect_Specifications): Remove comment. It's not clear what + "the flag" is referring to, but anyway the first part of the + comment is obvious, and the second part is apparently obsolete. + Misc cleanup. + * par.adb (P_Aspect_Specifications, Get_Aspect_Specifications): + Remove default for Semicolon; calls are more readable that way. + Improve comments. + * par-ch12.adb: Remove default for Semicolon in calls to + P_Aspect_Specifications. + * par-ch6.adb: Likewise. + * par-ch7.adb: Likewise. + * par-ch9.adb: Likewise. + * par-endh.adb: Likewise. + +2024-05-07 Justin Squirek <squirek@adacore.com> + + * sem_prag.adb (Defer_Compile_Time_Warning_Error_To_BE): Better + handle itypes such that the tree copy required for the expansion + of the pragma doesn't cause ordering problems with internal names. + +2024-05-07 Yannick Moy <moy@adacore.com> + + * sem_res.adb (Resolve_Actuals): Add range check flag. + +2024-05-07 Yannick Moy <moy@adacore.com> + + * sem_util.adb (Find_Placement_In_State_Space): Stop search for + placement when reaching the public state of a generic package. + +2024-05-07 Javier Miranda <miranda@adacore.com> + + * sem_ch3.adb (Check_Return_Subtype_Indication): Add missing check + on statically compatible subtypes. + * sem_eval.adb (Subtypes_Statically_Compatible): Ensure that both + types are either scalar types or access types to evaluate this + predicate. + +2024-05-07 Bob Duff <duff@adacore.com> + + * sem_ch13.adb (Resolve_Name): Clarify comment. + +2024-05-07 Bob Duff <duff@adacore.com> + + * sem_ch13.adb (Resolve_Name): This is called only for names in + aspect_specifications. If the name is an overloaded + selected_component, reset the Entity. Note that this was already + done for N_Identifier in the code just below. + +2024-05-07 Eric Botcazou <ebotcazou@adacore.com> + + * repinfo.adb (List_Record_Info.List_Structural_Record_Layout): Add + another guard for private types after retrieving the parent in the + extension case. + +2024-05-07 Yannick Moy <moy@adacore.com> + + * sem_util.adb (Is_Volatile_Function): Return True on functions + with side effects. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Analyze_Global_Item): Handle side-effect + functions like procedures. + +2024-05-07 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Collect_Global_Item): Update comment. + +2024-05-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Collect_Global_Item): Handle functions with + side-effects. + +2024-05-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Collect_Global_Item): Move code. + +2024-05-06 Piotr Trojanek <trojanek@adacore.com> + + * sem_prag.adb (Find_Role): Handle functions with side-effects + like procedures. + +2024-05-06 Gary Dismukes <dismukes@adacore.com> + + * exp_ch6.adb + (Make_Build_In_Place_Iface_Call_In_Object_Declaration): Set the + Is_Return_Object flag on the entity of the temp object created to + hold the BIP call result, from the flag on the passed-in object + declaration's entity. Update copyright notice to 2024. + +2024-05-06 Bob Duff <duff@adacore.com> + + * sem_ch10.adb (Expand_With_Clause): Misc cleanup. + (Install_Private_With_Clauses): Avoid installing a private + with_clause that comes from an instantiated generic + (it is marked as Implicit_With, but doesn't come from a parent + with). Fix typo in comment, and other minor cleanups. + +2024-05-06 Ronan Desplanques <desplanques@adacore.com> + + * sem_util.adb (Build_Default_Subtype): Tweak source location + information. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Build_Finalizer.Process_Declarations): Do not call + Processing_Actions for simple protected objects if the profile is + restricted. + * exp_util.adb (Requires_Cleanup_Actions): Do not return True for + simple protected objects if the profile is restricted. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * fe.h: Remove unused declarations and add 'extern' to others. + +2024-05-06 Piotr Trojanek <trojanek@adacore.com> + + * einfo-utils.adb (Is_Relaxed_Initialization_State): Remove. + * einfo-utils.ads (Is_Relaxed_Initialization_State): Remove. + * einfo.ads: Remove description of removed aspect. + * fe.h (Is_Relaxed_Initialization_State): Remove. + * sem_prag.adb (Analyze_Abstract_State): Remove support for + Relaxed_Initialization. + * sem_util.adb (Has_Relaxed_Initialization): Likewise. + * sem_util.ads (Has_Relaxed_Initialization): Likewise. + +2024-05-06 Justin Squirek <squirek@adacore.com> + + * sem_warn.adb (Within_Postcondition): Add coverage for + Preconditions + +2024-05-06 Justin Squirek <squirek@adacore.com> + + * sem_warn.adb (Within_Postcondition): Add/modify comments to + document various cases. + +2024-05-06 Justin Squirek <squirek@adacore.com> + + * sem_warn.adb (Within_Postcondition): Renamed to + Within_Contract_Or_Predicate. + +2024-05-06 Justin Squirek <squirek@adacore.com> + + * sem_warn.adb (Within_Postcondition): Add case to ignore + references within generated predicate function calls. + +2024-05-06 Ronan Desplanques <desplanques@adacore.com> + + * hostparm.ads: Fix reference to RM clause. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-finpri.ads (Finalize_Master): Remove obsolete reference + in the description. + (Finalize_Object): Document the effects of repeated calls. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * einfo.ads (Finalization_Master_Node_Or_Object): Rename into... + (Finalization_Master_Node): ...this and adjust description. + * exp_ch4.adb (Process_Transient_In_Expression): Attach the object + to its master node here. + * exp_ch7.ads (Attach_Object_To_Master_Node): New declaration. + * exp_ch7.adb (Attach_Object_To_Master_Node): New procedure. + (Build_Finalizer.Process_Declarations): Examine the type of a + variable to spot master nodes. + (Build_Finalizer.Process_Object_Declaration): Look only at the + object and deal specifically with the case of a master node. + (Build_Finalizer.Build_BIP_Cleanup_Stmts): Move to child function + of Attach_Object_To_Master_Node. + (Build_Finalizer.Make_Address_For_Finalize): Move to... + (Insert_Actions_In_Scope_Around.Process_Transient_In_Scope): Attach + the object to its master node here. + (Make_Address_For_Finalize): ...here. + (Make_Master_Node_Declaration): Adjust to above renaming and set + Finalization_Master_Node only on the object. + (Make_Suppress_Object_Finalize_Call): Adjust to above renaming and + attach the object to its master node here. + * exp_util.adb (Requires_Cleanup_Actions): Examine the type of a + variable to spot master nodes. + * gen_il-fields.ads (Opt_Field_Enum): Adjust to above renaming. + * gen_il-gen-gen_entities.adb (Allocatable_Kind): Likewise. + * rtsfind.ads (RE_Id): Add RE_Chain_Node_To_Master. + (RE_Unit_Table): Add entry for RE_Chain_Node_To_Master. + * libgnat/s-finpri.ads (Chain_Node_To_Master): New declaration. + * libgnat/s-finpri.adb (Chain_Node_To_Master): New procedure. + (Attach_Object_To_Master): Call it. + (Finalize_Master): Do not raise Program_Error on null addresses. + (Finalize_Object): Add assertion that the address is not null. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * libgnarl/s-taprob.ads (Protection): Add cross-reference to the + counterpart in System.Tasking.Protected_Objects.Entries. + * libgnarl/s-taskin.ads (Locking Rules): Replace PO_Simple by + Protected_Objects. + * libgnarl/s-tpoben.ads (Protection_Entries): Likewise. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_attr.adb (Expand_N_Attribute_Reference) <Finalization_Size>: + Return 0 if the prefix is a dereference of an access value subject + to the No_Heap_Finalization pragma. + +2024-05-06 Ronan Desplanques <desplanques@adacore.com> + + * exp_imgv.adb (Append_Table_To): Remove reference to removed + field. + * gen_il-fields.ads: Remove Is_Enum_Array_Aggregate field. + * gen_il-gen-gen_nodes.adb: Likewise. + * sem_aggr.adb: Tweak warning emission condition. + * sinfo.ads: Remove documentation for Is_Enum_Array_Aggregate. + +2024-05-06 Piotr Trojanek <trojanek@adacore.com> + + * make.adb (Scan_Make_Arg): Remove redundant condition. + * switch-b.adb (Scan_Debug_Switches): Likewise. + * switch-c.adb (Scan_Front_End_Switches): Likewise. + +2024-05-06 Yannick Moy <moy@adacore.com> + + * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add guard. + +2024-05-06 Piotr Trojanek <trojanek@adacore.com> + + * exp_pakd.adb (Create_Packed_Array_Impl_Type): Set associated + node for the packed array itype. + * exp_util.adb (Possible_Side_Effect_In_SPARK): Remove + workaround for a missing associated node. + +2024-05-06 Richard Kenner <kenner@adacore.com> + + * freeze.adb (Freeze_Entity): When changing the convention of + primitive to match that of the type, only do this for user-specified + primitives. + +2024-05-06 Bob Duff <duff@adacore.com> + + * exp_put_image.adb (Build_Image_Call): Call Set_Uses_Sec_Stack on + the current scope. We don't do this at all call sites, because + there are three; better to do it here. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * sem_attr.adb (Analyze_Attribute) <Attribute_Round>: Also accept it + for ordinary fixed point types. + * doc/gnat_rm/implementation_defined_attributes.rst (Round): New. + * gnat_rm.texi: Regenerate. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Use No instead of + not Present. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): Adjust + the Sloc of the master node declaration in the degenerate case. + +2024-05-06 Yannick Moy <moy@adacore.com> + + * inline.adb (Call_Can_Be_Inlined_In_GNATprove_Mode): + Add case to prevent inlining of call. + * inline.ads: Likewise. + * sem_res.adb (Resolve_Call): Update comment and message. + +2024-05-06 Eric Botcazou <ebotcazou@adacore.com> + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-finpri$(objext). + * contracts.adb (Add_Call_Helper): Append freeze actions to the + class-wide type rather than the specific tagged type. + * einfo.ads (Finalization_Master_Node_Or_Node): Document. + (Status_Flag_Or_Transient_Decl): Remove. + * exp_attr.adb (Expand_N_Attribute_Reference) <Address>: Do not + adjust a return object of a class-wide interface type. + * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add test that + Finalize_Address is not already present as a condition for calling + Make_Finalize_Address_Body. + (Expand_Freeze_Record_Type): Call Make_Finalize_Address_Body for + class-wide types of both regular tagged types and interface types. + * exp_ch4.adb (Process_Transients_In_Expression): Replace the use + of hooks with the use of master nodes. + * exp_ch6.adb (Build_Flag_For_Function): Delete. + (Expand_N_Extended_Return_Statement): Create a master node for the + return object if it does not exist. At the end of the statement, + generate a call to Suppress_Object_Finalize. + (Expand_Non_Function_Return): Likewise just before the return. + * exp_ch7.ads (Make_Master_Node_Declaration): Declare. + (Make_Suppress_Object_Finalize_Call): Likewise. + * exp_ch7.adb (Build_Finalization_Master): Defer generating the + call to Set_Finalize_Address until freezing if the Finalize_Address + procedure has not been analyzed yet. + (Build_Finalizer): Reimplement the expansion using a finalization + scope master per finalizer. + (Insert_Actions_In_Scope_Around): Replace finalization hooks by + master nodes and calls to the Finalize_Object. + (Make_Master_Node_Declaration): New procedure. + (Make_Suppress_Object_Finalize_Call): Likewise. + * exp_util.ads (Build_Transient_Object_Statements): Delete. + * exp_util.adb (Build_Transient_Object_Statements): Likewise. + (Requires_Cleanup_Actions): Remove obsolete code and return true + for master nodes. + * gen_il-fields.ads (Opt_Field_Enum): Add + Finalization_Master_Node_Or_Object and + remove Status_Flag_Or_Transient_Decl. + * gen_il-gen-gen_entities.adb (Allocatable_Kind): Likewise. + * rtsfind.ads (RTU_Id): Add System_Finalization_Primitives. + (RE_Id): Add entities of System_Finalization_Primitives. + (RE_Unit_Table): Add entries for them. + * sem_ch3.adb (Analyze_Object_Declaration): For an array whose type + has an unconstrained first subtype and a controlled component, set + the Is_Constr_Array_Subt_With_Bounds flag. + * libgnat/s-finpri.ads: New file. + * libgnat/s-finpri.adb: Likewise. + +2024-05-06 Yannick Moy <moy@adacore.com> + + * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Adapt checking. + +2024-04-26 Jakub Jelinek <jakub@redhat.com> + + * gnatvsn.ads: Bump Library_Version to 15. + +2024-04-15 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_aspects.rst + (Exceptional_Cases): Add description for aspect. + * doc/gnat_rm/implementation_defined_pragmas.rst + (Exceptional_Cases): Add description for pragma. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-03-07 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/113979 + * exp_ch4.adb (Expand_N_Allocator): In the subtype indication case, + call Apply_Predicate_Check on the resulting access value if needed. + +2024-02-26 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/113893 + * exp_ch7.adb (Build_Anonymous_Master): Do not build the master + for a local designated type. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Force Needs_Fin + to false if no finalization master is attached to an access type + and assert that it is anonymous in this case. + * sem_res.adb (Resolve_Allocator): Mention that the object might + not be finalized at all in the warning given when the type is an + anonymous access-to-controlled type. + +2024-01-23 Ronan Desplanques <desplanques@adacore.com> + + * gnatvsn.ads: Update year. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use the + TYPE_CANONICAL of types when it comes to aliasing. + * gcc-interface/utils.cc (relate_alias_sets): Likewise. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Array_Type>: Use a + separate FLD local variable to hold the first field of the fat + pointer type being built. + * gcc-interface/gigi.h (relate_alias_sets): Remove GNU_ prefix on + the first two parameters. + * gcc-interface/utils.cc (relate_alias_sets): Likewise and adjust. + +2024-01-09 Viljar Indus <indus@adacore.com> + + * sem_attr.adb: avoid marking a use of the Address attribute + as a modification of its prefix. + +2024-01-09 Gary Dismukes <dismukes@adacore.com> + + * exp_aggr.adb (Expand_Container_Aggregate): Change "not Present" + tests to tests using "No" (in two places). + +2024-01-09 Bob Duff <duff@adacore.com> + + * sem_ch12.adb (Instantiate_Type): Make the relevant error message + conditional upon "Ekind (A_Gen_T) /= E_Incomplete_Type". Misc + cleanup. + +2024-01-09 Gary Dismukes <dismukes@adacore.com> + + * exp_aggr.adb (Expand_Container_Aggregate): Add code to determine + whether the aggregate is an indexed aggregate, setting a flag + (Is_Indexed_Aggregate), which is tested to have proper separation + of treatment for the Add_Unnamed + (for positional aggregates) and New_Indexed (for indexed + aggregates) cases. In the code generating associations for indexed + aggregates, remove the code for Expressions cases entirely, since + the code for indexed aggregates is governed by the presence of + Component_Associations, and add an assertion that Expressions must + be Empty. Also, exclude empty aggregates from entering that code. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * rtsfind.ads (RE_Id): Remove RE_Attach. + (RE_Unit_Table): Likewise. + * libgnat/s-finmas.ads (Attach): Delete. + * libgnat/s-finmas.adb (Attach): Likewise. + +2024-01-09 Tucker Taft <taft@adacore.com> + + * pprint.adb (List_Name): Check for "Box_Present" when displaying + a list, and emit "<>" if returns True. + * sem_scil.adb (Check_SCIL_Node): Handle case when the type of a + parameter is from a package that was mentioned in a limited with + clause, and make no further checks, since this check routine does + not have all the logic to check such a usage. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * freeze.adb (Freeze_Expression.Has_Decl_In_List): Deal specifically + with itypes that are class-wide subtypes. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * libgnat/s-atopri.ads (Atomic_Store): New generic procedure. + (Atomic_Store_8): New instantiated procedure. + (Atomic_Store_16): Likewise. + (Atomic_Store_32): Likewise. + (Atomic_Store_64): Likewise. + * libgnat/s-atopri__32.ads (Atomic_Store): New generic procedure. + (Atomic_Store_8): New instantiated procedure. + (Atomic_Store_16): Likewise. + (Atomic_Store_32): Likewise. + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Implement the + support for __atomic_store_n and __sync_bool_compare_and_swap_n. + * gcc-interface/gigi.h (list_second): New inline function. + +2024-01-09 Javier Miranda <miranda@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Specification): Do not replace + the type of the formals with its corresponding record in + init-procs. + * sem_ch9.adb (Analyze_Requeue): Add missing support to requeue to + a procedure that denotes a renaming of an entry. + +2024-01-09 Piotr Trojanek <trojanek@adacore.com> + + * exp_util.adb (Possible_Side_Effect_In_SPARK): Refine handling of + itype declarations. + +2024-01-09 Piotr Trojanek <trojanek@adacore.com> + + * sem_ch6.adb (Analyze_Subprogram_Specification): Set Is_Inlined + flag by default in GNATprove mode. + * sem_res.adb (Resolve_Call): Only look at flag which is cleared + when inlined subprogram is detected to be recursive. + +2024-01-09 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): + Remove detection of recursive calls. + +2024-01-09 Piotr Trojanek <trojanek@adacore.com> + + * inline.adb (Cannot_Inline): Cleanup use of 'Length; remove + dead code. + +2024-01-09 Piotr Trojanek <trojanek@adacore.com> + + * sem_aggr.adb (Resolve_Container_Aggregate): Use "No". + * sem_ch8.adb (Find_Direct_Name): Likewise. + +2024-01-09 Steve Baird <baird@adacore.com> + + * sem_util.adb (Enclosing_Declaration): Instead of returning a + subprogram specification node, return its parent (which is + presumably a subprogram declaration). + * contracts.adb (Insert_Stable_Property_Check): Remove code + formerly needed to compensate for incorrect behavior of + Sem_Util.Enclosing_Declaration. + * exp_attr.adb (In_Available_Context): Remove code formerly needed + to compensate for incorrect behavior of + Sem_Util.Enclosing_Declaration. + * sem_ch8.adb (Is_Actual_Subp_Of_Inst): Remove code formerly + needed to compensate for incorrect behavior of + Sem_Util.Enclosing_Declaration. + +2024-01-09 Steve Baird <baird@adacore.com> + + * sem_ch8.adb (Check_Constrained_Object): Before updating the + subtype mark of an object renaming declaration by calling Rewrite, + first check whether the destination of the Rewrite call exists. + * atree.adb (Copy_Slots): Return without performing any updates if + Destination equals Empty or Error, or if Source equals Empty. Any + of those conditions indicates an error case. + * sem_ch12.adb (Analyze_Formal_Derived_Type): Avoid cascading + errors. + * sem_ch3.adb (Analyze_Number_Declaration): In an error case, do + not pass Error as destination in a call to Rewrite. + (Find_Type_Of_Subtype_Indic): In an error case, do not pass Error + or Empty as destination in a call to Rewrite. + +2024-01-09 Joffrey Huguet <huguet@adacore.com> + + * libgnat/i-cstrin.ads (Update): Fix precondition. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * sem_aggr.adb (Resolve_Extension_Aggregate): Remove the unreachable + call to Transform_BIP_Assignment as well as the procedure. + +2024-01-09 Bob Duff <duff@adacore.com> + + * lib-xref.adb (Generate_Reference): Do not count it as a read + reference if we're calling a TSS. + +2024-01-09 Piotr Trojanek <trojanek@adacore.com> + + * doc/gnat_rm/implementation_defined_aspects.rst, + doc/gnat_rm/implementation_defined_pragmas.rst: Add sections for + Always_Terminates. + * gnat-style.texi: Regenerate. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/78207 + * libgnat/g-regexp.ads: Fix outdated comment. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/112781 + * exp_ch6.ads (Is_Build_In_Place_Function): Adjust description. + * exp_ch6.adb (Is_True_Build_In_Place_Function_Call): Delete. + (Is_Function_Call_With_BIP_Formals): New predicate. + (Is_Build_In_Place_Function_Call): Restore original semantics. + (Expand_Call_Helper): Adjust conditions guarding the calls to + Add_Dummy_Build_In_Place_Actuals to above renaming. + (Expand_N_Extended_Return_Statement): Adjust to above renaming. + (Expand_Simple_Function_Return): Likewise. Move the assertion + to after the transformation into an extended return statement. + (Make_Build_In_Place_Call_In_Allocator): Remove unreachable code. + (Make_Build_In_Place_Call_In_Assignment): Likewise. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/112781 + * sem_ch12.adb (Instantiate_Type): Use Etype instead of Base_Type + consistently to retrieve the ancestor for a derived type. + * sem_ch4.adb (Analyze_Explicit_Dereference): Test Is_Access_Type + consistently before accessing Designated_Type. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.cc (build_binary_op) <EQ_EXPR>: Relax + assertion for regular pointer types. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * gcc-interface/lang.opt.urls: New file, autogenerated by + regenerate-opt-urls.py. + +2024-01-03 Jakub Jelinek <jakub@redhat.com> + + * gnat_ugn.texi: Bump @copying's copyright year. + * gnat_rm.texi: Likewise. + +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 +notice and this notice are preserved. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 56a17f61ddd0..501b0062a9c4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5733 +1,5 @@ -2024-12-29 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/100358 - PR c++/115008 - * module.cc (elf_out::create_mapping): Fallback to ftruncate if - posix_fallocate fails. - -2024-12-29 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/106221 - PR c++/110680 - * pt.cc (check_default_tmpl_args): Check this is actually a - lambda declaration and not just a typedef. - (push_template_decl): Likewise. - -2024-12-27 Jakub Jelinek <jakub@redhat.com> - - Revert: - 2024-12-18 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_lexer_new_main): Attempt to optimize large sequences - of CPP_NUMBER with int type and values 0-255 separated by CPP_COMMA - into CPP_EMBED with RAW_DATA_CST u.value. - -2024-12-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * tree.cc (handle_maybe_unused_attribute): New function. - (std_attributes): Use handle_maybe_unused_attribute instead - of handle_unused_attribute for maybe_unused attribute. - -2024-12-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * parser.cc (cp_parser_std_attribute): Don't transform - [[deprecated]] into [[gnu::deprecated]]. - * tree.cc (handle_std_deprecated_attribute): New function. - (std_attributes): Add deprecated entry. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116401 - * decl.cc (grokfndecl): Mark deduction guides as 'inline'. - * module.cc (check_module_decl_linkage): Implement checks for - non-inline external linkage definitions in headers. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * cp-tree.h (check_module_decl_linkage): Declare. - * decl2.cc (finish_static_data_member_decl): Check linkage. - * module.cc (set_originating_module): Adjust comment. - (check_module_decl_linkage): New function. - * name-lookup.cc (do_namespace_alias): Build alias with - specified location, check linkage. - (pushtag): Check linkage. - (push_namespace): Slightly clarify error message. - * name-lookup.h (do_namespace_alias): Add location parameter. - * parser.cc (cp_parser_namespace_alias_definition): Pass - identifier location to do_namespace_alias. - (cp_parser_alias_declaration): Check linkage. - (cp_parser_init_declarator): Check linkage. - (cp_parser_function_definition_after_declarator): Check linkage. - (cp_parser_save_member_function_body): Check linkage. - * pt.cc (finish_concept_definition): Mark as public, check - linkage. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (depset::hash::add_binding_entity): Also walk - unnamed namespaces. - (module_state::write_namespaces): Adjust assertion. - * name-lookup.cc (push_namespace): Move anon using-directive - handling to... - (make_namespace_finish): ...here. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * cp-objcp-common.cc (cp_tree_size): Add TU_LOCAL_ENTITY. - * cp-tree.def (TU_LOCAL_ENTITY): New tree code. - * cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): Update comment. - (struct tree_tu_local_entity): New type. - (TU_LOCAL_ENTITY_NAME): New accessor. - (TU_LOCAL_ENTITY_LOCATION): New accessor. - (enum cp_tree_node_structure_enum): Add TS_CP_TU_LOCAL_ENTITY. - (union GTY): Add tu_local_entity field. - * module.cc (enum tree_tag): New flag DB_REFS_TU_LOCAL_BIT. - (depset::has_defn): Override for TU-local entities. - (depset::refs_tu_local): New accessor. - (depset::hash::ignore_tu_local): New field. - (depset::hash::hash): Initialize it. - (trees_out::tree_tag::tt_tu_local): New flag. - (trees_out::writing_local_entities): New field. - (trees_out::is_initial_scan): New function. - (trees_out::tu_local_count): New counter. - (trees_out::trees_out): Initialize writing_local_entities. - (dumper::impl::nested_name): Handle TU_LOCAL_ENTITY. - (trees_out::instrument): Report TU-local entity counts. - (trees_out::decl_value): Early exit for TU-local entities. - (trees_in::decl_value): Handle typedefs of TU-local entities. - (trees_out::decl_node): Adjust assertion to cope with early exit - of TU-local deps. Always write TU-local entities by value. - (trees_out::type_node): Handle TU-local types. - (trees_out::has_tu_local_dep): New function. - (trees_out::find_tu_local_decl): New function. - (trees_out::tree_node): Intercept TU-local entities and write - placeholder values for them instead of normal streaming. - (trees_in::tree_node): Handle TU-local entities and TU-local - template results. - (trees_out::write_function_def): Ignore exposures in non-inline - function bodies. - (trees_out::write_var_def): Ignore exposures in initializers. - (trees_out::write_class_def): Ignore exposures in friend decls. - (trees_in::read_class_def): Skip TU-local friends. - (trees_out::write_definition): Record whether we're writing a - decl which refers to TU-local entities. - (depset::hash::add_dependency): Only mark as exposure if we're not - ignoring TU-local entities. - (depset::hash::find_dependencies): Use depset's own is_key_order - function rather than delegating via walker. Pass whether the - decl has ignored TU-local entities in its definition. - (template_has_explicit_inst): New function. - (depset::hash::finalize_dependencies): Implement new warning - Wtemplate-names-tu-local. - (module_state::intercluster_seed): Don't seed TU-local deps. - (module_state::write_cluster): Pass whether the decl has ignored - TU-local entities in its definition. - * pt.cc (register_specialization): Always register in a module. - (complain_about_tu_local_entity): New function. - (expr_contains_tu_local_entity): New function. - (function_contains_tu_local_entity): New function. - (instantiate_class_template): Skip TU-local friends. - (tsubst_decl): Handle typedefs of TU-local entities. - (tsubst): Complain about TU-local entities. - (dependent_operand_p): Early exit for TU-local entities so we - don't attempt to constant-evaluate them. - (tsubst_expr): Detect and complain about TU-local entities. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * tree.cc (decl_linkage): Treat DECL_SELF_REFERENCE_P like - DECL_IMPLICIT_TYPEDEF_P. - * name-lookup.cc (do_namespace_alias): Fix linkage. - * module.cc (DB_IS_INTERNAL_BIT): Rename to... - (DB_TU_LOCAL_BIT): ...this. - (DB_REFS_INTERNAL_BIT): Rename to... - (DB_EXPOSURE_BIT): ...this. - (depset::hash::is_internal): Rename to... - (depset::hash::is_tu_local): ...this. - (depset::hash::refs_internal): Rename to... - (depset::hash::is_exposure): ...this. - (depset::hash::is_tu_local_entity): New function. - (depset::hash::has_tu_local_tmpl_arg): New function. - (depset::hash::is_tu_local_value): New function. - (depset::hash::make_dependency): Check for TU-local entities. - (depset::hash::add_dependency): Make current an exposure - whenever it references a TU-local entity. - (depset::hash::add_binding_entity): Don't create bindings for - any TU-local entity. - (depset::hash::finalize_dependencies): Rename flags and adjust - diagnostic messages to report exposures of TU-local entities. - (depset::tarjan::connect): Don't include any TU-local depsets. - (depset::hash::connect): Likewise. - -2024-12-19 Patrick Palka <ppalka@redhat.com> - - PR c++/118069 - * constraint.cc (atom_hasher): Define here, instead of ... - * cp-tree.h (atom_hasher): ... here. - * logic.cc (clause::m_set): Use pointer instead of structural - hashing. - -2024-12-19 Patrick Palka <ppalka@redhat.com> - - PR c++/118069 - * logic.cc (dnf_size_r): Use HOST_WIDE_INT instead of int, and - handle overflow gracefully via add_sat_hwi and mul_sat_hwi. - (cnf_size_r): Likewise. - (dnf_size): Use HOST_WIDE_INT instead of int. - (cnf_size): Likewise. - -2024-12-19 Marek Polacek <polacek@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/117980 - * constexpr.cc (cxx_eval_outermost_constant_expr): If there's - an object to initialize, take its type. Don't set the type - in the constexpr dtor case. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_lexer_new_main): Attempt to optimize large sequences - of CPP_NUMBER with int type and values 0-255 separated by CPP_COMMA - into CPP_EMBED with RAW_DATA_CST u.value. - -2024-12-18 Tobias Burnus <tburnus@baylibre.com> - - * decl.cc (omp_declare_variant_finalize_one): Handle - append_args. - * parser.cc (cp_parser_omp_clause_init_modifiers): New; - split of from ... - (cp_parser_omp_clause_init): ... here; call it. - (cp_parser_omp_all_clauses): Replace interop parsing by - a call to ... - (cp_parser_omp_clause_interop): ... this new function; - set tree used/read. - (cp_finish_omp_declare_variant): Parse 'append_args' clause. - (cp_parser_omp_declare): Update comment. - * pt.cc (tsubst_attribute, tsubst_omp_clauses): Handle template - substitution also for declare variant's append_args clause, - using for 'init' the same code as for interop's init clause. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_postfix_expression): Use - type_id_in_expr_sentinel instead of manually saving+setting/restoring - parser->in_type_id_in_expr_p around cp_parser_type_id calls. - (cp_parser_has_attribute_expression): Likewise. - (cp_parser_cast_expression): Likewise. - (cp_parser_sizeof_operand): Likewise. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * cp-tree.h (enum cp_tree_index): Add CPTI_INTERNAL_IDENTIFIER. - (internal_identifier): Define. - (internal_attribute_table): Declare. - * parser.cc (cp_parser_exception_declaration): Error on alignas - on exception declaration. - (cp_parser_std_attribute_spec): Turn alignas into internal - ns aligned attribute rather than gnu. - * decl.cc (initialize_predefined_identifiers): Initialize - internal_identifier. - * tree.cc (handle_alignas_attribute): New function. - (internal_attributes): New variable. - (internal_attribute_table): Likewise. - * cp-objcp-common.h (cp_objcp_attribute_table): Add - internal_attribute_table entry. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * parser.cc (cp_parser_type_specifier_seq): Chain cxx11_attribute_p - attributes after any type specifier in the is_declaration case - to std_attributes rather than attributes. Set also ds_attribute - or ds_std_attribute locations if not yet set. - (cp_parser_exception_declaration): Pass &type_specifiers.attributes - instead of NULL as last argument, call cp_decl_attributes. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * decl.cc (check_tag_decl): Diagnose std_attributes. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * parser.cc (cp_parser_decl_specifier_seq): Call - warn_misplaced_attr_for_class_type for all OVERLOAD_TYPE_P - types, not just CLASS_TYPE_P. When not calling - warn_misplaced_attr_for_class_type, don't clear attrs and - add it to decl_specs->std_attributes instead. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c/41045 - * semantics.cc (finish_asm_stmt): Reject - constraint modifier inside - of a function. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - * semantics.cc (finish_asm_stmt): Diagnose invalid ":" constraint - uses. - -2024-12-18 Lewis Hyatt <lhyatt@gmail.com> - - PR c++/117970 - * module.cc (module_state::read_ordinary_maps): Change argument to - line_map_uint_t instead of unsigned int. - -2024-12-17 Marek Polacek <polacek@redhat.com> - - PR c++/118073 - * error.cc (dump_expr) <case NONTYPE_ARGUMENT_PACK>: New case. - -2024-12-17 Marek Polacek <polacek@redhat.com> - - PR c++/117985 - * init.cc (build_vec_init): Pop CLEANUP_FLAGS if we're not - generating the loop. - -2024-12-17 Jakub Jelinek <jakub@redhat.com> - - PR c++/116108 - * decl.cc (grokdeclarator): Pass TYYPE_MAIN_VARIANT (type) - rather than type to same_type_p when checking if the non-static - data member doesn't have current class type. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - PR sarif-replay/117943 - * error.cc (auto_context_line::~auto_context_line): Use - source-printing options from text_output. - -2024-12-15 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc - (cp_coroutine_transform::wrap_original_function_body): Use - finish_if_stmt instead of manually applying the same process. - -2024-12-15 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (expand_one_await_expression): Update the - resume index before checking if the coroutine is ready. - -2024-12-15 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/98935 - * coroutines.cc (register_local_var_uses): Add a pset to the - tree walk to avoid visiting the same BIND_EXPR twice. Make - an early exit for cases that the callback does not apply. - (cp_coroutine_transform::apply_transforms): Add a pset to the - tree walk for register_local_vars. - -2024-12-14 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/90321 - * decl.cc (find_decomp_class_base): Check for decomposing a - lambda closure type. Report base class chains if needed. - (cp_finish_decomp): Remove no-longer-needed check. - -2024-12-13 Tobias Burnus <tburnus@baylibre.com> - - * parser.cc (cp_parser_omp_construct, cp_parser_pragma): Reject - OpenMP expressions in constexpr functions. - -2024-12-12 Tobias Burnus <tburnus@baylibre.com> - - * parser.cc (OMP_DISPATCH_CLAUSE_MASK): Add has_device_addr clause. - -2024-12-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/117614 - * constexpr.cc (cxx_eval_store_expression): For stores to - DECL_ANON_UNION_VAR_P vars just continue with DECL_VALUE_EXPR - of it, without setting evaluated to true or full - cxx_eval_constant_expression. - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - * decl.cc: Add #include "diagnostic-highlight-colors.h" - and #include "pretty-print-markup.h". - (complain_about_incompatible_declspecs): New. - (grokdeclarator): Use it when complaining about both 'signed' and - 'unsigned', and both 'long' and 'short'. - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - * call.cc (print_z_candidates): Count the number of - candidates and issue a note stating the count at an - intermediate nesting level. Number the individual - candidates. - -2024-12-10 Arsen Arsenović <arsen@aarsen.me> - Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (dump_record_fields): New helper. Iterates a - RECORD_TYPEs TYPE_FIELDS and pretty-prints them. - (dmp_str): New. The lang-coro dump stream. - (coro_dump_id): New. ID of the lang-coro dump. - (coro_dump_flags): New. Flags passed to the lang-coro dump. - (coro_maybe_dump_initial_function): New helper. Prints, if - dumping is enabled, the fndecl passed to it as the original - function. - (coro_maybe_dump_ramp): New. Prints the ramp function passed to - it, if dumping is enabled. - (coro_maybe_dump_transformed_functions): New. - (cp_coroutine_transform::apply_transforms): Initialize the - lang-coro dump. Call coro_maybe_dump_initial_function on the - original function, as well as coro_maybe_dump_ramp, after the - transformation into the ramp is finished. - (cp_coroutine_transform::finish_transforms): Call - coro_maybe_dump_transformed_functions on the built actor and - destroy. - * cp-objcp-common.cc (cp_register_dumps): Register the coroutine - dump. - * cp-tree.h (coro_dump_id): Declare as extern. - * cxx-pretty-print.cc (pp_cxx_template_parameter): Don't call - TREE_TYPE on a TREE_LIST cell. - (cxx_pretty_printer::declaration): Handle FIELD_DECL similar to - VAR_DECL. - -2024-12-10 Marek Polacek <polacek@redhat.com> - - PR c++/117788 - * typeck.cc (cp_build_binary_op) <case EQ_EXPR>: Don't check - warn_array_compare. Check tf_warning_or_error instead of just - tf_warning. Maybe return an error_mark_node in C++26. - <case LE_EXPR>: Likewise. - -2024-12-09 Marek Polacek <polacek@redhat.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/116416 - * cp-gimplify.cc (cp_fold_r) <case TARGET_EXPR>: Try to fold - TARGET_EXPR_INITIAL and replace it with the folded result if - it's TREE_CONSTANT. - -2024-12-09 Matthew Malcomson <mmalcomson@nvidia.com> - - * call.cc (build_cxx_call): Pass `complain` parameter to - check_builtin_function_arguments. Take its value from the - `tsubst_flags_t` type `complain & tf_error`. - * semantics.cc (finish_call_expr): Pass `complain` parameter to - resolve_overloaded_builtin. Take its value from the - `tsubst_flags_t` type `complain & tf_error`. - -2024-12-06 David Malcolm <dmalcolm@redhat.com> - - PR other/116253 - * call.cc (print_conversion_rejection): Remove leading space from - diagnostic messages. - (print_conversion_rejection): Likewise. - (print_arity_information): Likewise. - (print_z_candidate): Likewise. Add auto_diagnostic_nesting_level - before calls to fn_type_unification and diagnose_constraints. - (print_z_candidates): Add auto_diagnostic_nesting_level before - looping over candidates. - (conversion_null_warnings): Remove leading space from - diagnostic messages. - (maybe_inform_about_fndecl_for_bogus_argument_init): Likewise. - * constraint.cc (tsubst_valid_expression_requirement): Add - auto_diagnostic_nesting_level when showing why the expression is - invalid. - (satisfy_disjunction): Likewise when showing operans, and again - when replaying each branch of the disjunction. - (diagnose_constraints): Likewise when replaying satisfaction. - * error.cc (cp_diagnostic_text_starter): Set prefix. - (print_instantiation_full_context): Only show the file - if we're not showing nesting or the user has opted in to - showing location information in nested diagnostics. - (class auto_context_line): New. - (print_instantiation_partial_context_line): Replace calls to - print_location and to diagnostic_show_locus with an - auto_context_line. - (print_instantiation_partial_context): Replace calls to - print_location with an auto_context_line. - (maybe_print_constexpr_context): Likewise. - (print_constrained_decl_info): Likewise. - (print_concept_check_info): Likewise. - (print_constraint_context_head): Likewise. - (print_requires_expression_info): Likewise. - -2024-12-06 David Malcolm <dmalcolm@redhat.com> - - * cp-gimplify.cc: Include "gcc-urlifier.h". - (process_stmt_hotness_attribute): Use auto_urlify_attributes with - OPT_Wattributes. - * cvt.cc: Include "gcc-urlifier.h". - (maybe_warn_nodiscard): Use auto_urlify_attributes with - OPT_Wunused_result. - * decl.cc: Include "gcc-urlifier.h". - (start_decl): Use auto_urlify_attributes. - (start_preparsed_function): Likewise. - -2024-12-06 David Malcolm <dmalcolm@redhat.com> - - * name-lookup.cc (suggest_alternative_in_explicit_scope): - Gracefully handle non-namespaces, such as scoped enums. - * parser.cc (cp_parser_name_lookup_error): Provide - a name_hint for the case where we're in an explicit scope. - * std-name-hint.gperf: Add <concepts>. - * std-name-hint.h: Regenerate. - -2024-12-06 David Malcolm <dmalcolm@redhat.com> - - PR other/116253 - * error.cc (print_location): Move to earlier in the file. - (print_instantiation_partial_context_line): Replace - location-printing logic with a call to print_location. - (print_instantiation_partial_context): Likewise, splitting up - pp_verbatim calls. - (maybe_print_constexpr_context): Likewise. - -2024-12-06 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.h (class raw_data_iterator): New type. - (class raw_data_range): New type. - * parser.cc (cp_parser_postfix_open_square_expression): Handle - parsing of CPP_EMBED. - (cp_parser_parenthesized_expression_list): Likewise. Use - cp_lexer_next_token_is. - (cp_parser_expression): Handle parsing of CPP_EMBED. - (cp_parser_template_argument_list): Likewise. - (cp_parser_initializer_list): Likewise. - (cp_parser_oacc_clause_tile): Likewise. - (cp_parser_omp_tile_sizes): Likewise. - * pt.cc (tsubst_expr): Handle RAW_DATA_CST. - * constexpr.cc (reduced_constant_expression_p): Likewise. - (raw_data_cst_elt): New function. - (find_array_ctor_elt): Handle RAW_DATA_CST. - (cxx_eval_array_reference): Likewise. - * typeck2.cc (digest_init_r): Emit -Wnarrowing and/or -Wconversion - diagnostics. - (process_init_constructor_array): Handle RAW_DATA_CST. - * decl.cc (maybe_deduce_size_from_array_init): Likewise. - (is_direct_enum_init): Fail for RAW_DATA_CST. - (cp_maybe_split_raw_data): New function. - (consume_init): New function. - (reshape_init_array_1): Add VECTOR_P argument. Handle RAW_DATA_CST. - (reshape_init_array): Adjust reshape_init_array_1 caller. - (reshape_init_vector): Likewise. - (reshape_init_class): Handle RAW_DATA_CST. - (reshape_init_r): Likewise. - -2024-12-06 Marek Polacek <polacek@redhat.com> - - PR c++/117898 - * pt.cc (tsubst_pack_index): Detect indexing an empty pack. - -2024-12-05 Jakub Jelinek <jakub@redhat.com> - - PR c/41045 - * cp-tree.h (finish_asm_stmt): Add TOPLEV_P argument. - * parser.cc (cp_parser_asm_definition): Parse also extended asm - without clobbers/labels outside of functions. - * semantics.cc (finish_asm_stmt): Add TOPLEV_P argument, if set, - check extra restrictions for extended asm outside of functions. - * pt.cc (tsubst_stmt): Adjust finish_asm_stmt caller. - -2024-12-04 David Malcolm <dmalcolm@redhat.com> - - PR c++/116771 - * parser.cc (cp_parser_name_lookup_error): Provide suggestions for - the case of complete failure where there is no scope. - -2024-12-04 Simon Martin <simon@nasilyan.com> - - PR c++/117615 - * constexpr.cc (cxx_eval_constant_expression): Don't reject - INTEGER_CSTs with type POINTER_TYPE to METHOD_TYPE. - -2024-12-04 Jakub Jelinek <jakub@redhat.com> - - PR c++/117826 - * cp-tree.h (struct decl_location_traits): New type. - (erroneous_templates_t): Change using into typedef. - (erroneous_templates): Add GTY((cache)). - * error.cc (cp_adjust_diagnostic_info): Use - hash_map_safe_get_or_insert<true> rather than - hash_map_safe_get_or_insert<false> for erroneous_templates. - -2024-12-03 Nina Ranns <dinka.ranns@googlemail.com> - - PR c++/117579 - * parser.cc (cp_parser_statement): Replace assertion with a - conditional check that the statement containing a contract assert - is empty. - -2024-12-02 Patrick Palka <ppalka@redhat.com> - - * constraint.cc (resolve_concept_check): Remove. - (deduce_constrained_parameter): Remove. - (finish_type_constraints): Inline into its only caller - cp_parser_placeholder_type_specifier and remove. - (build_concept_check_arguments): Coding style tweaks. - (build_standard_check): Inline into its only caller ... - (build_concept_check): ... here. - (build_type_constraint): Use the prototype parameter as the - first template argument. - (finish_shorthand_constraint): Remove function concept - handling. Use concept_prototype_parameter. - (placeholder_extract_concept_and_args): Inline into its - callers and remove. - (equivalent_placeholder_constraints): Adjust after - placeholder_extract_concept_and_args removal. - (iterative_hash_placeholder_constraint): Likewise. - * cp-objcp-common.cc (cp_common_init_ts): Remove WILDCARD_DECL - handling. - * cp-tree.def (WILDCARD_DECL): Remove. - * cp-tree.h (WILDCARD_PACK_P): Remove. - (type_uses_auto_or_concept): Remove declaration of nonexistent - function. - (append_type_to_template_for_access_check): Likewise. - (finish_type_constraints): Remove declaration. - (placeholder_extract_concept_and_args): Remove declaration. - (deduce_constrained_parameter): Remove declaration. - (resolve_constraint_check): Remove declaration. - (valid_requirements_p): Remove declaration of nonexistent - function. - (finish_concept_name): Likewise. - (concept_definition_p): Remove redundant overload. - (concept_prototype_parameter): Define. - * cxx-pretty-print.cc (pp_cxx_constrained_type_spec): Adjust - after placeholder_extract_concept_and_args. - * error.cc (dump_decl) <case WILDCARD_DECL>: Remove. - (dump_expr) <case WILDCARD_DECL>: Likewise. - * parser.cc (is_constrained_parameter): Inline into - declares_constrained_type_template_parameter and remove. - (cp_parser_check_constrained_type_parm): Declare static. - (finish_constrained_template_template_parm): Remove. - (cp_parser_constrained_template_template_parm): Remove. - (finish_constrained_parameter): Remove dead code guarded by - cp_parser_constrained_template_template_parm. - (declares_constrained_type_template_parameter): Adjust after - is_constrained_parameter removal. - (declares_constrained_template_template_parameter): Remove. - (cp_parser_placeholder_type_specifier): Adjust after - finish_type_constraints removal. Check the prototype parameter - earlier, before build_type_constraint. - Use concept_prototype_parameter. - (cp_parser_parameter_declaration): Remove dead code guarded by - declares_constrained_template_template_parameter. - * pt.cc (convert_wildcard_argument): Remove. - (convert_template_argument): Remove WILDCARD_DECL handling. - (coerce_template_parameter_pack): Likewise. - (tsubst) <case TEMPLATE_TYPE_PARM>: Likewise. - (type_dependent_expression_p): Likewise. - (make_constrained_placeholder_type): Remove function concept - handling. - (placeholder_type_constraint_dependent_p): Remove WILDCARD_DECL - handling. - -2024-11-30 Jakub Jelinek <jakub@redhat.com> - - * parser.cc: Implement C++26 P3176R1 - The Oxford variadic comma. - (cp_parser_parameter_declaration_clause): Emit - -Wdeprecated-variadic-comma-omission warnings. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * decl.cc (reshape_init_array_1): Handle poly indices. - -2024-11-28 Marek Polacek <polacek@redhat.com> - - PR c++/113798 - * constexpr.cc (potential_constant_expression_1) <case PACK_INDEX_EXPR>: - New case. - * cp-objcp-common.cc (cp_common_init_ts): Mark PACK_INDEX_TYPE and - PACK_INDEX_EXPR. - * cp-tree.def (PACK_INDEX_TYPE): New. - (PACK_INDEX_EXPR): New. - * cp-tree.h (WILDCARD_TYPE_P): Also check PACK_INDEX_TYPE. - (PACK_INDEX_CHECK): Define. - (PACK_INDEX_P): Define. - (PACK_INDEX_PACK): Define. - (PACK_INDEX_INDEX): Define. - (PACK_INDEX_PARENTHESIZED_P): Define. - (make_pack_index): Declare. - (pack_index_element): Declare. - * cxx-pretty-print.cc (cxx_pretty_printer::expression) <case - PACK_INDEX_EXPR>: New case. - (cxx_pretty_printer::type_id) <case PACK_INDEX_TYPE>: New case. - * error.cc (dump_type) <case PACK_INDEX_TYPE>: New case. - (dump_type_prefix): Handle PACK_INDEX_TYPE. - (dump_type_suffix): Likewise. - (dump_expr) <case PACK_INDEX_EXPR>: New case. - * mangle.cc (write_type) <case PACK_INDEX_TYPE>: New case. - * module.cc (trees_out::type_node) <case PACK_INDEX_TYPE>: New case. - (trees_in::tree_node) <case PACK_INDEX_TYPE>: New case. - * parser.cc (cp_parser_next_tokens_are_pack_index_p): New. - (cp_parser_pack_index): New. - (cp_parser_primary_expression): Handle a C++26 pack-index-expression. - (cp_parser_unqualified_id): Handle a C++26 pack-index-specifier. - (cp_parser_nested_name_specifier_opt): See if a pack-index-specifier - follows. - (cp_parser_qualifying_entity): Handle a C++26 pack-index-specifier. - (cp_parser_decltype_expr): Set id_expression_or_member_access_p for - pack indexing. - (cp_parser_mem_initializer_id): Handle a C++26 pack-index-specifier. - (cp_parser_simple_type_specifier): Likewise. - (cp_parser_base_specifier): Likewise. - * pt.cc (iterative_hash_template_arg) <case PACK_INDEX_TYPE, - PACK_INDEX_EXPR>: New case. - (find_parameter_packs_r) <case PACK_INDEX_TYPE, PACK_INDEX_EXPR>: New - case. - (make_pack_index): New. - (tsubst_pack_index): New. - (tsubst): Avoid tsubst on PACK_INDEX_TYPE. - <case TYPENAME_TYPE>: Add a call to error. - <case PACK_INDEX_TYPE>: New case. - (tsubst_expr) <case PACK_INDEX_EXPR>: New case. - (dependent_type_p_r): Return true for PACK_INDEX_TYPE. - (type_dependent_expression_p): Recurse on PACK_INDEX_PACK for - PACK_INDEX_EXPR. - * ptree.cc (cxx_print_type) <case PACK_INDEX_TYPE>: New case. - * semantics.cc (finish_parenthesized_expr): Set - PACK_INDEX_PARENTHESIZED_P for PACK_INDEX_EXPR. - (finish_type_pack_element): Adjust error messages. - (pack_index_element): New. - * tree.cc (cp_tree_equal) <case PACK_INDEX_EXPR>: New case. - (cp_walk_subtrees) <case PACK_INDEX_TYPE, PACK_INDEX_EXPR>: New case. - * typeck.cc (structural_comptypes) <case PACK_INDEX_TYPE>: New case. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c++/78620 - PR c++/117256 - * init.cc (build_zero_init_1): Set CONSTRUCTOR_ZERO_PADDING_BITS. - (build_value_init_noctor): Likewise. - * constexpr.cc (cxx_eval_store_expression): Propagate - CONSTRUCTOR_ZERO_PADDING_BITS flag. - -2024-11-28 David Malcolm <dmalcolm@redhat.com> - - PR c/82892 - * name-lookup.cc (suggest_alternatives_for_1): Provide hints for - missing command-line options. - -2024-11-28 David Malcolm <dmalcolm@redhat.com> - - PR c++/87850 - * call.cc (convert_like_real): Call maybe_emit_indirection_note - for "invalid conversion" diagnostic. - * typeck.cc (compatible_types_for_indirection_note_p): New - function. - -2024-11-28 David Malcolm <dmalcolm@redhat.com> - - PR c/104896 - * cvt.cc (maybe_warn_nodiscard): Replace "%<%s%>" with "%qs" in - message wording. - -2024-11-27 Jason Merrill <jason@redhat.com> - - * module.cc (trees_out::core_bools): Check vague_linkage_p. - (has_definition): Likewise. - -2024-11-23 Lewis Hyatt <lhyatt@gmail.com> - - * module.cc (bytes_out::loc): New function. - (bytes_in::loc): New function. - (struct span): Change int fields to location_diff_t. - (range_t): Change from "unsigned int" to "line_map_uint_t". - (struct ord_loc_info): Likewise. - (struct macro_loc_info): Likewise. - (class module_state): Likewise. - (dumper::operator()): Add new code 'K' for dumping a location_t. - (loc_spans::init): Use %K instead of %u for location_t dumps. - (loc_spans::open): Likewise. - (loc_spans::close): Likewise. Adjust bitwise expressions to support - 64-bit location_t as well. - (struct module_state_config): Change ordinary_locs and macro_locs - from "unsigned int" to "line_map_uint_t". Reorder fields to improve - packing. Rather than changing the constructor initializer list to - match the new order, switch to NSDMI instead. - (module_state::note_location): Adjust to support 64-bit location_t. - (module_state::write_location): Use %K instead of %u for location_t - dumps. Use loc() instead of u() for streaming location_t. - (module_state::read_location): Likewise. - (module_state::write_ordinary_maps): Likewise. - (module_state::write_macro_maps): Likewise. - (module_state::write_config): Likewise. - (module_state::read_config): Likewise. - (module_state::write_prepare_maps): Use %K instead of %u for - location_t dumps. Adjust variable types and bitwise expressions to - support 64-bit location_t. - (module_state::read_ordinary_maps): Likewise. - (module_state::read_macro_maps): Likewise. - (preprocess_module): Adjust data types to support 64-bit number of - line maps. - -2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR bootstrap/117737 - * call.cc (INCLUDE_MEMORY): Remove. - * class.cc (INCLUDE_MEMORY): Remove. - * constexpr.cc (INCLUDE_MEMORY): Remove. - * constraint.cc (INCLUDE_MEMORY): Remove. - * contracts.cc (INCLUDE_MEMORY): Remove. - * coroutines.cc (INCLUDE_MEMORY): Remove. - * cp-gimplify.cc (INCLUDE_MEMORY): Remove. - * cp-lang.cc (INCLUDE_MEMORY): Remove. - * cp-objcp-common.cc (INCLUDE_MEMORY): Remove. - * cp-ubsan.cc (INCLUDE_MEMORY): Remove. - * cvt.cc (INCLUDE_MEMORY): Remove. - * cxx-pretty-print.cc (INCLUDE_MEMORY): Remove. - * decl.cc (INCLUDE_MEMORY): Remove. - * decl2.cc (INCLUDE_MEMORY): Remove. - * dump.cc (INCLUDE_MEMORY): Remove. - * error.cc (INCLUDE_MEMORY): Remove. - * except.cc (INCLUDE_MEMORY): Remove. - * expr.cc (INCLUDE_MEMORY): Remove. - * friend.cc (INCLUDE_MEMORY): Remove. - * init.cc (INCLUDE_MEMORY): Remove. - * lambda.cc (INCLUDE_MEMORY): Remove. - * lex.cc (INCLUDE_MEMORY): Remove. - * logic.cc (INCLUDE_MEMORY): Remove. - * mangle.cc (INCLUDE_MEMORY): Remove. - * mapper-client.cc (INCLUDE_MEMORY): Remove. - * mapper-resolver.cc (INCLUDE_MEMORY): Remove. - * method.cc (INCLUDE_MEMORY): Remove. - * module.cc (INCLUDE_MEMORY): Remove. - * name-lookup.cc (INCLUDE_MEMORY): Remove. - * optimize.cc (INCLUDE_MEMORY): Remove. - * parser.cc (INCLUDE_MEMORY): Remove. - * pt.cc (INCLUDE_MEMORY): Remove. - * ptree.cc (INCLUDE_MEMORY): Remove. - * rtti.cc (INCLUDE_MEMORY): Remove. - * search.cc (INCLUDE_MEMORY): Remove. - * semantics.cc (INCLUDE_MEMORY): Remove. - * tree.cc (INCLUDE_MEMORY): Remove. - * typeck.cc (INCLUDE_MEMORY): Remove. - * typeck2.cc (INCLUDE_MEMORY): Remove. - * vtable-class-hierarchy.cc (INCLUDE_MEMORY): Remove. - -2024-11-22 Tobias Burnus <tburnus@baylibre.com> - - * parser.cc (cp_parser_omp_clause_name, cp_parser_omp_all_clauses, - cp_parser_omp_dispatch_body): Handle 'interop' clause. - * pt.cc (tsubst_omp_clauses): Likewise. - * semantics.cc (finish_omp_clauses): Likewise. - -2024-11-22 Tobias Burnus <tburnus@baylibre.com> - - * parser.cc (INCLUDE_STRING): Define. - (cp_parser_omp_clause_name): Handle init, use, and destroy clauses. - (cp_parser_omp_all_clauses): Likewise; use C_ORT_OMP_INTEROP, if - 'use' is permitted, for c_finish_omp_clauses. - (cp_parser_omp_modifier_prefer_type, cp_parser_omp_clause_init, - OMP_INTEROP_CLAUSE_MASK, cp_parser_omp_interop): New. - (cp_parser_pragma): Handle 'interop' directive. - * pt.cc (tsubst_omp_clauses): Handle init, use, and destroy clauses. - (tsubst_stmt): Handle OMP_INTEROP. - * semantics.cc (cp_omp_init_prefer_type_update): New. - (finish_omp_clauses): Handle init, use, and destroy clauses - and add clause check for 'depend' on 'interop'. - -2024-11-21 Jason Merrill <jason@redhat.com> - - * module.cc (has_definition): Also true for inline vars. - -2024-11-21 Jason Merrill <jason@redhat.com> - - * module.cc (trees_in::core_vals) [STATEMENT_LIST]: Skip - DEBUG_BEGIN_STMT if !MAY_HAVE_DEBUG_MARKER_STMTS. - -2024-11-21 Jason Merrill <jason@redhat.com> - - * name-lookup.cc (lookup_imported_hidden_friend): Call - lazy_load_pendings. - -2024-11-20 Paul-Antoine Arras <parras@baylibre.com> - - * decl.cc (omp_declare_variant_finalize_one): Set adjust_args - need_device_ptr attribute. - * parser.cc (cp_parser_direct_declarator): Update call to - cp_parser_late_return_type_opt. - (cp_parser_late_return_type_opt): Add 'tree parms' parameter. Update - call to cp_parser_late_parsing_omp_declare_simd. - (cp_parser_omp_clause_name): Handle nocontext and novariants clauses. - (cp_parser_omp_clause_novariants): New function. - (cp_parser_omp_clause_nocontext): Likewise. - (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_NOVARIANTS and - PRAGMA_OMP_CLAUSE_NOCONTEXT. - (cp_parser_omp_dispatch_body): New function, inspired from - cp_parser_assignment_expression and cp_parser_postfix_expression. - (OMP_DISPATCH_CLAUSE_MASK): Define. - (cp_parser_omp_dispatch): New function. - (cp_finish_omp_declare_variant): Add parameter. Handle adjust_args - clause. - (cp_parser_late_parsing_omp_declare_simd): Add parameter. Update calls - to cp_finish_omp_declare_variant and cp_finish_omp_declare_variant. - (cp_parser_omp_construct): Handle PRAGMA_OMP_DISPATCH. - (cp_parser_pragma): Likewise. - * semantics.cc (finish_omp_clauses): Handle OMP_CLAUSE_NOCONTEXT and - OMP_CLAUSE_NOVARIANTS. - * pt.cc (tsubst_omp_clauses): Handle OMP_CLAUSE_NOCONTEXT and - OMP_CLAUSE_NOVARIANTS. - (tsubst_stmt): Handle OMP_DISPATCH. - (tsubst_expr): Handle IFN_GOMP_DISPATCH. - -2024-11-19 Jason Merrill <jason@redhat.com> - - * decl2.cc (cp_handle_deprecated_or_unavailable): Avoid redundant - warning. - * call.cc (build_over_call): Set TREE_NO_WARNING for calls - to deprecated functions. - * semantics.cc (finish_call_expr): Propagate TREE_NO_WARNING. - -2024-11-17 Jason Merrill <jason@redhat.com> - - * module.cc (module_preprocess_options): Set directives_only here. - -2024-11-17 Jason Merrill <jason@redhat.com> - - * module.cc (module_preprocess_options): Don't override it. - -2024-11-16 Jan Hubicka <hubicka@ucw.cz> - - * decl.cc (cxx_build_operator_new): Break out from ... - (cxx_build_operator_delete): Break out from ... - (cxx_init_operator_new_delete_decls): Break out from ... - (cxx_init_decl_processing): ... here. - -2024-11-14 Jason Merrill <jason@redhat.com> - - * name-lookup.cc (do_namespace_alias): set_originating_module after - pushdecl. - -2024-11-14 Jason Merrill <jason@redhat.com> - - * module.cc (module_state_config::get_dialect): Expect coroutines in - C++20. - -2024-11-11 Jason Merrill <jason@redhat.com> - - * Make-lang.in: Also collect tags from libcody and c++tools. - -2024-11-11 Jason Merrill <jason@redhat.com> - - * lang-specs.h: Check fmodules* instead of fmodules-ts. - -2024-11-11 Simon Martin <simon@nasilyan.com> - - PR c++/117463 - * constexpr.cc (cxx_placement_new_fn): Implement in terms of - std_placement_new_fn_p. - * cp-tree.h (std_placement_new_fn_p): Declare. - * init.cc (std_placement_new_fn_p): Add missing checks to ensure - that fndecl is a non-replaceable ::operator new. - -2024-11-11 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_postfix_expression): Handle - RID_BUILTIN_OPERATOR_NEW and RID_BUILTIN_OPERATOR_DELETE. - * cp-objcp-common.cc (names_builtin_p): Change return type from - bool to int, adjust return statments. Handle - RID_BUILTIN_OPERATOR_NEW and RID_BUILTIN_OPERATOR_DELETE. - * pt.cc (tsubst_expr) <case CALL_EXPR>: Handle - CALL_FROM_NEW_OR_DELETE_P. - -2024-11-11 Jason Merrill <jason@redhat.com> - - * cp-tree.h (struct ptrmem_cst): Change tree_common to tree_typed. - (struct tree_trait_expr): Likewise. - (struct tree_static_assert): Change tree_common to tree_base. - (struct tree_argument_pack_select): Likewise. - -2024-11-10 Lewis Hyatt <lhyatt@gmail.com> - - * cp-objcp-common.cc (cp_common_init_ts): Change TRAIT_EXPR from - TS_EXP to TS_TYPED. - -2024-11-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/117317 - * semantics.cc (emit_associated_thunks): Do nothing for - !DECL_INTERFACE_KNOWN && DECL_DEFER_OUTPUT fns. - -2024-11-05 Jason Merrill <jason@redhat.com> - - PR c++/116634 - * init.cc (can_init_array_with_p): Allow PR59465 case with - permerror. - -2024-11-05 Simon Martin <simon@nasilyan.com> - - PR c++/117099 - PR c++/117129 - * typeck.cc (check_return_expr): Upon error, set - current_function_return_value to error_mark_node. - -2024-11-05 Simon Martin <simon@nasilyan.com> - - PR c++/117101 - * init.cc (std_placement_new_fn_p): Check first_arg against - NULL_TREE. - -2024-11-05 Simon Martin <simon@nasilyan.com> - - PR c++/117158 - * typeck.cc (cp_build_array_ref): Only wrap array expression - into a SAVE_EXPR at template instantiation time. - -2024-11-05 Jakub Jelinek <jakub@redhat.com> - - PR c++/117370 - * cp-tree.h (is_std_class): Declare. - * constexpr.cc (is_std_class): New function. - (is_std_allocator): Use it. - * decl.cc (grok_op_properties): Mark global replaceable - operator new/delete operators with const std::nothrow_t & last - argument with DECL_IS_REPLACEABLE_OPERATOR. - -2024-11-05 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99274 - * module.cc (trees_in::is_matching_decl): Merge default - arguments. - * tree.cc (cp_tree_equal) <AGGR_INIT_EXPR>: Handle unification - of AGGR_INIT_EXPRs with new VAR_DECL slots. - -2024-11-05 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/105443 - * module.cc (loc_spans::locs_exhausted_p): New field. - (loc_spans::loc_spans): Initialise it. - (loc_spans::locations_exhausted_p): New function. - (module_state::read_prepare_maps): Move inform into... - (loc_spans::report_location_exhaustion): ...this new function. - (module_state::write_location): Check for writing module - locations stored due to resource exhaustion. - -2024-11-02 Nathaniel Shead <nathanieloshead@gmail.com> - Jason Merrill <jason@redhat.com> - - PR c++/113814 - * pt.cc (add_mergeable_specialization): Propagate - TYPE_CANONICAL. - -2024-11-02 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116317 - * module.cc - (depset::DB_MAYBE_RECURSIVE_BIT): New flag. - (depset::DB_ENTRY_BIT): New flag. - (depset::is_maybe_recursive): New accessor. - (depset::is_entry): New accessor. - (depset::hash::writing_merge_key): New field. - (trees_out::decl_value): Inform dep_hash while we're writing the - merge key information for a decl. - (depset::hash::add_dependency): Find recursive deps and mark the - entry point. - (sort_cluster): Ensure that the entry dep is streamed first. - -2024-11-01 David Malcolm <dmalcolm@redhat.com> - - PR bootstrap/117361 - * Make-lang.in (s-selftest-c++): Use GCC_FOR_SELFTESTS. - (selftest-c++-gdb): Likewise. - (selftest-c++-valgrind): Likewise. - -2024-11-01 Jakub Jelinek <jakub@redhat.com> - - * pt.cc (tsubst_attribute): For "omp declare variant base" attribute - if varid is error_mark_node, set val to error_mark_node rather than - creating a TREE_LIST with error_mark_node TREE_PURPOSE. - -2024-10-31 Tobias Burnus <tburnus@baylibre.com> - - * decl.cc (omp_declare_variant_finalize_one): Use STRIP_REFERENCE_REF - instead of doing it manually. - -2024-10-31 Tobias Burnus <tburnus@baylibre.com> - - * decl.cc (omp_declare_variant_finalize_one): Strip indirect ref - around variant-function call when processing a variant. - -2024-10-30 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/116607 - * contracts.cc (has_active_contract_condition): Use the - CONTRACT_CHAIN macro to advance through the attribute list. - -2024-10-29 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * error.cc (cxx_initialize_diagnostics): Use unique_ptr for - pretty_printer. Use context->set_format_decoder. - * module.cc (noisy_p): Update for global_dc's m_printer becoming - reference printer. - -2024-10-29 Jason Merrill <jason@redhat.com> - - PR c++/30854 - PR c++/116634 - * error.cc (dump_aggr_init_expr_args): Remove. - (dump_call_expr_args): Handle AGGR_INIT_EXPR. - (dump_expr): Combine AGGR_INIT_EXPR and CALL_EXPR cases. - -2024-10-25 Jakub Jelinek <jakub@redhat.com> - - * vtable-class-hierarchy.cc: Remove trailing whitespace. - * typeck2.cc: Likewise. - * decl.cc: Likewise. - * init.cc: Likewise. - * semantics.cc: Likewise. - * module.cc: Likewise. - * rtti.cc: Likewise. - * cxx-pretty-print.cc: Likewise. - * cvt.cc: Likewise. - * mangle.cc: Likewise. - * name-lookup.h: Likewise. - * coroutines.cc: Likewise. - * error.cc: Likewise. - * lambda.cc: Likewise. - * tree.cc: Likewise. - * g++spec.cc: Likewise. - * decl2.cc: Likewise. - * cp-tree.h: Likewise. - * parser.cc: Likewise. - * pt.cc: Likewise. - * call.cc: Likewise. - * lex.cc: Likewise. - * cp-lang.cc: Likewise. - * cp-tree.def: Likewise. - * constexpr.cc: Likewise. - * typeck.cc: Likewise. - * name-lookup.cc: Likewise. - * optimize.cc: Likewise. - * search.cc: Likewise. - * mapper-client.cc: Likewise. - * ptree.cc: Likewise. - * class.cc: Likewise. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (trees_in::read_class_def): Propagate some missing - flags from the streamed-in definition. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (post_load_processing): Mark COMDAT as needed, emit - declarations if maybe_clone_body fails. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115007 - * module.cc (module_state::read_cluster): Replace - DECL_ABSTRACT_P with DECL_MAYBE_IN_CHARGE_CDTOR_P. - (post_load_processing): Check and mark TREE_ASM_WRITTEN. - * semantics.cc (expand_or_defer_fn_1): Use the more specific - module_maybe_has_cmi_p instead of modules_p. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * decl2.cc (import_export_class): Use TYPE_CONTAINS_VPTR_P - instead of TYPE_POLYMORPHIC_P. - (import_export_decl): Likewise. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - Gaius Mulley <gaiusmod2@gmail.com> - - PR other/116613 - * call.cc: Add #define INCLUDE_MEMORY. - * class.cc: Likewise. - * constexpr.cc: Likewise. - * constraint.cc: Likewise. - * contracts.cc: Likewise. - * coroutines.cc: Likewise. - * cp-gimplify.cc: Likewise. - * cp-lang.cc: Likewise. - * cp-objcp-common.cc: Likewise. - * cp-ubsan.cc: Likewise. - * cvt.cc: Likewise. - * cxx-pretty-print.cc: Likewise. Add #include "cp-tree.h". - (cxx_pretty_printer::clone): Use std::unique_ptr and - ::make_unique. - * cxx-pretty-print.h (cxx_pretty_printer::clone): Use - std::unique_ptr. - * decl2.cc: Add #define INCLUDE_MEMORY. - * dump.cc: Likewise. - * except.cc: Likewise. - * expr.cc: Likewise. - * friend.cc: Likewise. - * init.cc: Likewise. - * lambda.cc: Likewise. - * logic.cc: Likewise. - * mangle.cc: Likewise. - * method.cc: Likewise. - * optimize.cc: Likewise. - * pt.cc: Likewise. - * ptree.cc: Likewise. - * rtti.cc: Likewise. - * search.cc: Likewise. - * semantics.cc: Likewise. - * tree.cc: Likewise. - * typeck.cc: Likewise. - * typeck2.cc: Likewise. - * vtable-class-hierarchy.cc: Likewise. - -2024-10-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/117259 - * typeck.cc (get_member_function_from_ptrfunc): Use force_target_expr - rather than save_expr for instance_ptr and function. Don't call it - for TREE_CONSTANT. - -2024-10-22 Jason Merrill <jason@redhat.com> - - PR c++/117107 - PR c++/92687 - * decl.cc (lookup_decomp_type): Handle null table. - -2024-10-22 Patrick Palka <ppalka@redhat.com> - - * pt.cc (register_specialization): Set elt.hash. - -2024-10-22 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (depset::DB_IS_MEMBER_BIT): Rename to... - (depset::DB_IS_PENDING_BIT): ...this. - (depset::is_member): Remove. - (depset::is_pending_entity): New function. - (depset::hash::make_dependency): Mark definitions of - namespace-scope types as maybe-pending entities. - (depset::hash::add_class_entities): Rename DB_IS_MEMBER_BIT to - DB_IS_PENDING_BIT. - (depset::hash::find_dependencies): Use is_pending_entity - instead of is_member. - (module_state::write_pendings): Likewise; adjust comment. - -2024-10-18 Alejandro Colomar <alx@kernel.org> - - * cp-tree.h (array_type_nelts_top) - * tree.cc (array_type_nelts_top): - Remove function (move to gcc/). - -2024-10-18 Alejandro Colomar <alx@kernel.org> - - * decl.cc (reshape_init_array) - * init.cc - (build_zero_init_1) - (build_value_init_noctor) - (build_vec_init) - (build_delete) - * lambda.cc (add_capture) - * tree.cc (array_type_nelts_top): - Rename array_type_nelts => array_type_nelts_minus_one - -2024-10-16 Jakub Jelinek <jakub@redhat.com> - - * search.cc (lookup_member): ?: operator formatting fixes. - * typeck.cc (cp_build_modify_expr): Likewise. - -2024-10-15 Jakub Jelinek <jakub@redhat.com> - - PR c/117022 - * semantics.cc (begin_while_stmt, begin_do_stmt, begin_for_stmt, - finish_break_stmt, finish_continue_stmt, begin_switch_stmt): Pass - another NULL_TREE to build_stmt calls. - -2024-10-15 Patrick Palka <ppalka@redhat.com> - - PR c++/116710 - * pt.cc (unify) <case REFERENCE_TYPE>: Compare rvalueness. - -2024-10-15 Patrick Palka <ppalka@redhat.com> - - PR c++/117054 - * pt.cc (extract_locals_r): Disable tree_extra_args assert - for LAMBDA_EXPR. - -2024-10-14 Jason Merrill <jason@redhat.com> - - * cp-tree.h (most_constrained_function): Declare.. - * class.cc (resolve_address_of_overloaded_function): Call it. - * pt.cc (get_template_for_ordering): Handle list from - resolve_address_of_overloaded_function. - (most_constrained_function): No longer static. - (resolve_overloaded_unification): Always compare type rather - than decl. - -2024-10-13 Simon Martin <simon@nasilyan.com> - - Revert: - 2024-10-12 Simon Martin <simon@nasilyan.com> - - PR c++/109918 - * class.cc (warn_hidden): Keep track of overloaded and of hidden - base methods. Mention the actual hiding function in the warning, - not the first overload. - * error.cc (location_of): Skip over conv_op_marker. - -2024-10-12 Simon Martin <simon@nasilyan.com> - - PR c++/109918 - * class.cc (warn_hidden): Keep track of overloaded and of hidden - base methods. Mention the actual hiding function in the warning, - not the first overload. - * error.cc (location_of): Skip over conv_op_marker. - -2024-10-07 Jason Merrill <jason@redhat.com> - - * decl.cc (duplicate_decls): Only check PURVIEW_P if - DECL_LANG_SPECIFIC. - -2024-10-07 Jason Merrill <jason@redhat.com> - - * decl2.cc (mark_used): Always check require_deduced_type. - -2024-10-07 Jason Merrill <jason@redhat.com> - - * module.cc (init_modules): Don't warn about -M. - -2024-10-04 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113266 - PR c++/116911 - * parser.cc (cp_parser_template_argument): Allow - internal-linkage variables since C++11. - -2024-10-04 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116913 - * name-lookup.cc (update_binding): Return the strip_using'd old - decl rather than the binding. - -2024-10-04 Jason Merrill <jason@redhat.com> - Richard Biener <rguenther@suse.de> - - * cp-tree.h (spec_entry::hash): New member. - * pt.cc (spec_hasher::hash): Set it and return it. - (maybe_process_partial_specialization): Clear it when - changing tmpl/args. - (lookup_template_class): Likewise, don't pass hash to find. - (retrieve_specialization): Set it, don't pass hash to find. - (register_specialization): Don't pass hash to find. - (reregister_specialization): Likewise. - (match_mergeable_specialization): Likewise. - (add_mergeable_specialization): Likewise. - -2024-10-03 Jason Merrill <jason@redhat.com> - Richard Biener <rguenther@suse.de> - - * pt.cc (coerce_template_parms): Free garbage vecs. - -2024-10-03 Jason Merrill <jason@redhat.com> - - Revert: - 2024-10-03 Jason Merrill <jason@redhat.com> - Richard Biener <rguenther@suse.de> - - * pt.cc (struct free_if_changed_proxy): New. - (coerce_template_parms): Use it. - -2024-10-03 Jason Merrill <jason@redhat.com> - - * parser.cc (location_between): New. - (cp_parser_operator): Handle -Wdeprecated-literal-operator. - -2024-10-03 Jason Merrill <jason@redhat.com> - Richard Biener <rguenther@suse.de> - - * pt.cc (struct free_if_changed_proxy): New. - (coerce_template_parms): Use it. - -2024-10-02 Simon Martin <simon@nasilyan.com> - - PR c++/116722 - * constexpr.cc (cxx_bind_parameters_in_call): When !ctx->quiet, - emit error before bailing out due to a call to {con,de}structor - for a class with virtual bases. - -2024-10-02 Richard Biener <rguenther@suse.de> - - * pt.cc (iterative_hash_template_arg): Use iterative_hash_hashval_t - to hash TYPE_HASH. - -2024-10-02 Richard Biener <rguenther@suse.de> - - * pt.cc (iterative_hash_template_arg): Avoid using - iterative_hash_object. - -2024-10-01 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * constraint.cc (diagnose_trait_expr): New diagnostic. - * cp-trait.def (IS_VIRTUAL_BASE_OF): New builtin. - * cp-tree.h (enum base_access_flags): Add a new flag to be - able to request a search for a virtual base class. - * cxx-pretty-print.cc (pp_cxx_userdef_literal): Update the - list of GNU extensions to the grammar. - * search.cc (struct lookup_base_data_s): Add a field to - request searching for a virtual base class. - (dfs_lookup_base): Add the ability to look for a virtual - base class. - (lookup_base): Forward the flag to dfs_lookup_base. - * semantics.cc (trait_expr_value): Implement the builtin - by calling lookup_base with the new flag. - (finish_trait_expr): Handle the new builtin. - -2024-09-30 Marek Polacek <polacek@redhat.com> - - PR c++/109859 - * parser.cc (cp_parser_lambda_declarator_opt): Temporarily clear - local_variables_forbidden_p. - (cp_parser_placeholder_type_specifier): Turn an assert into an - error. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * pt.cc: Include "pretty-print-markup.h". - (warn_spec_missing_attributes): Defer colorization choices by - replacing printing to a pretty_printer * param with appending - to a vec of strings. Replace pretty_printer with usage of - pp_markup::comma_separated_quoted_strings and "%e". - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116160 - * name-lookup.cc (supplement_binding): Allow redeclaration via - USING_DECL if not in class scope. - (do_nonmember_using_decl): Remove function-scope exemption. - (push_using_decl_bindings): Remove outdated comment. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116748 - * name-lookup.cc (update_binding): Maintain USING_DECLs in the - binding slots. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116803 - * decl.cc (duplicate_decls): Propagate DECL_MODULE_PURVIEW_P and - DECL_MODULE_IMPORT_P for template redeclarations. - -2024-09-27 Marek Polacek <polacek@redhat.com> - - PR c++/102594 - * init.cc (build_vec_init): Build up a CONSTRUCTOR to signal - direct-initialization rather than a TREE_LIST. - -2024-09-27 Arsen Arsenović <arsen@aarsen.me> - - PR c++/116793 - * coroutines.cc (await_statement_expander): Just process - subtrees if encountering a CLEANUP_POINT_EXPR. - -2024-09-27 Arsen Arsenović <arsen@aarsen.me> - - * coroutines.cc (co_await_get_resume_call): Return a tree - directly, rather than a tree pointer. - * cp-tree.h (co_await_get_resume_call): Adjust signature - accordingly. - * cvt.cc (convert_to_void): Do not alter CO_AWAIT_EXPRs when - discarding them. Simplify handling implicit INDIRECT_REFs. - -2024-09-27 Arsen Arsenović <arsen@aarsen.me> - - PR c++/116502 - * coroutines.cc (maybe_promote_temps): Convert temporary - initializers to void without complaining. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (has_definition): Use decl_maybe_constant_var - instead of TREE_CONSTANT. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - * name-lookup.cc (check_can_export_using_decl): Handle internal - linkage GM entities (but ignore in header units); use linkage - of entity ultimately referred to by aliases. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - * name-lookup.cc (maybe_record_mergeable_decl): Use decl_linkage - instead of ad-hoc checks. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - * name-lookup.cc (do_namespace_alias): Propagate TREE_PUBLIC for - namespace aliases. - * tree.cc (decl_linkage): Update rules for C++11. - -2024-09-26 Marek Polacek <polacek@redhat.com> - - PR c++/116731 - * parser.cc (warn_for_range_copy): Check if TYPE is trivially - constructible, not copyable. - -2024-09-25 Marek Polacek <polacek@redhat.com> - - * coroutines.cc (build_co_await): Use TARGET_EXPR accessors. - (finish_co_yield_expr): Likewise. - (register_awaits): Likewise. - (tmp_target_expr_p): Likewise. - (flatten_await_stmt): Likewise. - * error.cc (dump_expr): Likewise. - * semantics.cc (finish_omp_target_clauses): Likewise. - * tree.cc (bot_manip): Likewise. - (cp_tree_equal): Likewise. - * typeck.cc (cxx_mark_addressable): Likewise. - (cp_build_compound_expr): Likewise. - (cp_build_modify_expr): Likewise. - (check_return_expr): Likewise. - -2024-09-25 Tobias Burnus <tburnus@baylibre.com> - - * parser.cc (cp_parser_omp_declare_target): Set target-used bit - in omp_requires_mask. - -2024-09-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/107637 - * cp-tree.h: Implement C++23 P2718R0 - Wording for P2644R1 Fix for - Range-based for Loop. - (cp_convert_omp_range_for): Add bool tmpl_p argument. - (find_range_for_decls): Declare. - * parser.cc (cp_convert_range_for): For flag_range_for_ext_temps call - push_stmt_list () before cp_finish_decl for range_temp and save it - temporarily to FOR_INIT_STMT. - (cp_convert_omp_range_for): Add tmpl_p argument. If set, remember - DECL_NAME of range_temp and for cp_finish_decl call restore it before - clearing it again, if unset, don't adjust DECL_NAME of range_temp at - all. - (cp_parser_omp_loop_nest): For flag_range_for_ext_temps range for add - CLEANUP_POINT_EXPR around sl. Call find_range_for_decls and adjust - DECL_NAMEs for range fors if not processing_template_decl. Adjust - cp_convert_omp_range_for caller. Remove superfluous backslash at the - end of line. - * decl.cc (initialize_local_var): For flag_range_for_ext_temps - temporarily clear stmts_are_full_exprs_p rather than set for - for_range__identifier decls. - * call.cc (extend_ref_init_temps): For flag_range_for_ext_temps return - init early for for_range__identifier decls. - * semantics.cc (find_range_for_decls): New function. - (finish_for_stmt): Use it. For flag_range_for_ext_temps if - cp_convert_range_for set FOR_INIT_STMT, pop_stmt_list it and wrap - into CLEANUP_POINT_EXPR. - * pt.cc (tsubst_omp_for_iterator): Adjust tsubst_omp_for_iterator - caller. - (tsubst_stmt) <case OMP_FOR>: For flag_range_for_ext_temps if there - are any range fors in the loop nest, add push_stmt_list starting - before the initializations, pop_stmt_list it after the body and wrap - into CLEANUP_POINT_EXPR. Change DECL_NAME of range for temps from - NULL to for_range_identifier. - -2024-09-24 Nina Dinka Ranns <dinka.ranns@googlemail.com> - - PR c++/116490 - * contracts.cc (build_contract_condition_function): added - a check for comdat group of the guarded function. If set, - the condition check function is added to the same comdat - group. - -2024-09-24 Tobias Burnus <tburnus@baylibre.com> - - * parser.cc (cp_parser_omp_requires): Handle self_maps clause. - -2024-09-23 Marek Polacek <polacek@redhat.com> - - PR c++/116798 - * parser.cc (cp_parser_parameter_declaration): Detect an explicit - object parameter in a requires expression. - -2024-09-23 Simon Martin <simon@nasilyan.com> - - PR c++/109790 - PR c++/100632 - * mangle.cc (write_member_name): Handle members whose type is an - anonymous union member. Write missing "on" marker for operators - when ABI version is at least 16. - -2024-09-23 Simon Martin <simon@nasilyan.com> - - PR c++/116722 - * constexpr.cc (cxx_bind_parameters_in_call): Leave early for - {con,de}structors of classes with virtual bases. - -2024-09-20 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * cp-tree.h (cxx_print_error_function): Convert first param - from diagnostic_context * to diagnostic_text_output_format &. - * error.cc: Include "diagnostic-format-text.h". - (cxx_initialize_diagnostics): Update for renamings. - (cxx_print_error_function): Convert first param from - diagnostic_context * to diagnostic_text_output_format & and update - accordingly - (cp_diagnostic_starter): Rename to... - (cp_diagnostic_text_starter): ...this. Convert first - param from diagnostic_context * to diagnostic_text_output_format & - and update accordingly. - (cp_print_error_function): Likewise. - (print_instantiation_full_context): Likewise. - (print_instantiation_partial_context_line): Likewise. - (print_instantiation_partial_context): Likewise. - (maybe_print_instantiation_context): Likewise. - (maybe_print_constexpr_context): Likewise. - (print_location): Likewise. - (print_constrained_decl_info): Likewise. - (print_concept_check_info): Likewise. - (print_constraint_context_head): Likewise. - (print_requires_expression_info): Likewise. - (maybe_print_single_constraint_context): Likewise. - -2024-09-20 Patrick Palka <ppalka@redhat.com> - - DR 2789 - * call.cc (cand_parms_match): Check for matching class contexts - even in the reversed case. - -2024-09-20 Patrick Palka <ppalka@redhat.com> - - PR c++/116492 - DR 2789 - * call.cc (object_parms_correspond): Remove. - (cand_parms_match): Return false for member functions that come - from different classes. Adjust call to object_parms_correspond. - (joust): Update comment for the non-template "more constrained" - case. - -2024-09-20 Patrick Palka <ppalka@redhat.com> - - DR 2273 - * call.cc (joust): Restrict inheritedness tiebreaker to - constructors. - -2024-09-20 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (coro_build_artificial_var_with_dve): New. - (coro_build_and_push_artificial_var): New. - (coro_build_and_push_artificial_var_with_dve): New. - (analyze_fn_parms): Ensure that frame entries cannot clash - with local variables. - (build_coroutine_frame_delete_expr): Amend comment. - (cp_coroutine_transform::build_ramp_function): Rework to - avoid manual management of variables and scopes. - -2024-09-19 Marek Polacek <polacek@redhat.com> - - PR c++/116162 - * class.cc (check_bases_and_members): Don't set DECL_DELETED_FN here, - leave it to defaulted_late_check. - * cp-tree.h (maybe_delete_defaulted_fn): Declare. - (defaulted_late_check): Add a tristate parameter. - * method.cc (maybe_delete_defaulted_fn): New. - (defaulted_late_check): Add a tristate parameter. Call - maybe_delete_defaulted_fn instead of giving an error. - -2024-09-18 Patrick Palka <ppalka@redhat.com> - - PR c++/116714 - PR c++/107390 - * pt.cc (dependent_opaque_alias_p): Also return true for a - decltype(lambda) alias. - -2024-09-18 Jason Merrill <jason@redhat.com> - - * call.cc (do_warn_dangling_reference): Return temporary - instead of the call it's passed to. - (maybe_warn_dangling_reference): Adjust diagnostic. - -2024-09-18 Jason Merrill <jason@redhat.com> - - PR c++/115361 - * call.cc (do_warn_dangling_reference): Check is_empty_class. - -2024-09-17 Marek Polacek <polacek@redhat.com> - - PR c++/116741 - * constexpr.cc (cxx_eval_constant_expression) <case CONVERT_EXPR>: If - the result of build_fold_indirect_ref is a COMPONENT_REF, use its op1. - Check DECL_P before calling inform. - -2024-09-17 Marek Polacek <polacek@redhat.com> - - PR c++/116676 - * constexpr.cc (maybe_warn_about_constant_value): Check DECL_NAME. - -2024-09-15 Jason Merrill <jason@redhat.com> - - * parser.cc (cp_parser_unary_expression) [RID_EXTENSION]: Also - suppress -Wconditionally-supported. - -2024-09-15 Jason Merrill <jason@redhat.com> - - * call.cc (convert_like_internal) [ck_user]: Use iloc_sentinel. - -2024-09-15 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/115905 - * coroutines.cc (struct coro_aw_data): Add a member for the - restart dispatch label. - (expand_one_await_expression): Rework to modernise and to - handle the boolean await_suspend() case. - (build_actor_fn): Rework the dispatcher and allow for a jump - back to the dispatcher. - -2024-09-14 Jason Merrill <jason@redhat.com> - - * tree.cc (handle_init_priority_attribute): Check - in_system_header_at. - -2024-09-14 Simon Martin <simon@nasilyan.com> - - PR c++/116681 - * name-lookup.cc (qualified_namespace_lookup): Use an - auto_cond_timer instead of using timevar_start and timevar_stop. - -2024-09-13 Jason Merrill <jason@redhat.com> - - PR c++/116696 - * constexpr.cc (explain_invalid_constexpr_fn): When - -fimplicit-constexpr, also explain inline functions, and point out - non-inline functions. - -2024-09-13 Jakub Jelinek <jakub@redhat.com> - - PR c++/116678 - * optimize.cc: Include decl.h. - (maybe_thunk_body): Temporarily change deprecated_state to - UNAVAILABLE_DEPRECATED_SUPPRESS. - -2024-09-12 Jonathan Wakely <jwakely@redhat.com> - - PR c++/116673 - * semantics.cc (finish_builtin_launder): Diagnose function - pointers and cv void pointers. - -2024-09-12 Patrick Palka <ppalka@redhat.com> - - PR c++/116418 - * tree.cc (strip_typedefs_expr) <case STATEMENT_LIST>: Replace - this error path with ... - <case STMT_EXPR>: ... this, returning the original tree. - -2024-09-12 Jakub Jelinek <jakub@redhat.com> - - PR c++/116636 - * method.cc: Include decl.h. - (use_thunk): Temporarily change deprecated_state to - UNAVAILABLE_DEPRECATED_SUPPRESS. - -2024-09-12 Marek Polacek <polacek@redhat.com> - - PR c++/96097 - * pt.cc (coerce_template_template_parm): Increment - processing_template_decl before calling tsubst. - -2024-09-12 Simon Martin <simon@nasilyan.com> - - PR c++/116323 - * search.cc (get_parent_with_private_access): Only call access_in_type - for RECORD_OR_UNION_TYPE_P base BINFOs. - -2024-09-12 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116496 - * module.cc (trees_in::decl_value): Don't call - set_defining_module_for_partial_spec here. - (depset::hash::add_partial_entities): Clarity assertions. - * pt.cc (add_mergeable_specialization): Always call - set_defining_module_for_partial_spec when adding a partial spec. - -2024-09-11 Alex Coplan <alex.coplan@arm.com> - - PR libstdc++/116140 - * semantics.cc (anotate_saver): New. Use it ... - (maybe_convert_cond): ... here, to ensure any ANNOTATE_EXPRs - remain the outermost expression(s) of the condition. - -2024-09-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/116449 - * typeck.cc (get_member_function_from_ptrfunc): Use save_expr - on instance_ptr and function even if it doesn't have side-effects, - as long as it isn't a decl. - -2024-09-10 Marek Polacek <polacek@redhat.com> - - PR c++/116369 - * call.cc (set_up_extended_ref_temp): Don't mark a temporary - TREE_READONLY if its type is TYPE_HAS_MUTABLE_P. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - * constexpr.cc (constexpr_error): Update for renaming of - diagnostic_info field. - * cp-tree.h (pedwarn_cxx98): Use "diagnostic_option_id" rather - than "int". - * error.cc (cp_adjust_diagnostic_info): Update for renaming of - diagnostic_info field. - (pedwarn_cxx98): Use "diagnostic_option_id option_id" rather than - "int opt". Update for renaming of diagnostic_info field. - (diagnostic_set_info): Likewise. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * error.cc (cxx_initialize_diagnostics): Rename - diagnostic_context's "printer" field to "m_printer". - (cxx_print_error_function): Likewise. - (cp_diagnostic_starter): Likewise. - (cp_print_error_function): Likewise. - (print_instantiation_full_context): Likewise. - (print_instantiation_partial_context_line): Likewise. - (maybe_print_constexpr_context): Likewise. - (print_location): Likewise. - (print_constrained_decl_info): Likewise. - (print_concept_check_info): Likewise. - (print_constraint_context_head): Likewise. - (print_requires_expression_info): Likewise. - * module.cc (noisy_p): Likewise. - -2024-09-07 Jason Merrill <jason@redhat.com> - - * decl.cc (check_redeclaration_exception_specification): Remove - OPT_Wsystem_headers from pedwarn when the old declaration is - in a system header. Also check std namespace. - -2024-09-07 Patrick Palka <ppalka@redhat.com> - - PR c++/116567 - * pt.cc (coerce_template_parms): Set tf_partial when substituting - into a default template argument in a template context. - (build_extra_args): Set TREE_STATIC on the deferred args if this - is a partial substitution. - (add_extra_args): Check TREE_STATIC instead of dependence of args. - Adjust merging behavior in that case. - (tsubst_lammda_expr): Check for tf_partial instead of dependence - of args when determining whether to defer substitution. - (tsubst_expr) <case LAMBDA_EXPR>: Remove tf_partial early exit. - -2024-09-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/115769 - * cp-tree.h: Partially implement CWG 2867 - Order of initialization - for structured bindings. - (cp_finish_decomp): Add TEST_P argument defaulted to false. - * decl.cc (initialize_local_var): Add DECOMP argument, if true, - don't build cleanup and temporarily override stmts_are_full_exprs_p - to 0 rather than 1. Formatting fix. - (cp_finish_decl): Invoke cp_finish_decomp for structured bindings - here, first with test_p. For automatic structured binding bases - if the test cp_finish_decomp returned true wrap the initialization - together with what non-test cp_finish_decomp emits with a - CLEANUP_POINT_EXPR, and if there are any CLEANUP_STMTs needed, emit - them around the whole CLEANUP_POINT_EXPR with guard variables for the - cleanups. Call cp_finish_decomp using RAII if not called with - decomp != NULL otherwise. - (cp_finish_decomp): Add TEST_P argument, change return type from - void to bool, if TEST_P is true, return true instead of emitting - actual code for the tuple case, otherwise return false. - * parser.cc (cp_convert_range_for): Don't call cp_finish_decomp - after cp_finish_decl. - (cp_parser_decomposition_declaration): Set DECL_DECOMP_BASE - before cp_finish_decl call. Don't call cp_finish_decomp after - cp_finish_decl. - (cp_finish_omp_range_for): Don't call cp_finish_decomp after - cp_finish_decl. - * pt.cc (tsubst_stmt): Likewise. - -2024-09-06 Jason Merrill <jason@redhat.com> - - PR c++/46457 - PR c++/81665 - * cp-objcp-common.h (cp_objcp_attribute_table): Add - c_common_clang_attribute_table. - -2024-09-05 Marek Polacek <polacek@redhat.com> - - PR c++/116606 - * decl2.cc (mark_vtable_entries): Temporarily override deprecated_state to - UNAVAILABLE_DEPRECATED_SUPPRESS. Remove a warning_sentinel. - -2024-09-05 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc - (cp_coroutine_transform::build_ramp_function): Separate the - build of promise constructor and destructor. When evaluating - the constructor, check that build_special_member_call returns - an expression with side effects before adding it. - -2024-09-05 Patrick Palka <ppalka@redhat.com> - - PR c++/113063 - * name-lookup.cc (local_state_t): Clear and restore - cp_noexcept_operand as well. - -2024-09-05 Marek Polacek <polacek@redhat.com> - - PR c++/116239 - * cp-tree.h (validate_constexpr_redeclaration): Declare. - * decl.cc (validate_constexpr_redeclaration): No longer static. - * name-lookup.cc (push_local_extern_decl_alias): Call - validate_constexpr_redeclaration. - -2024-09-05 Nathaniel Shead <nathanieloshead@gmail.com> - - * class.cc (add_method): Add missing auto_diagnostic_group. - (handle_using_decl): Likewise. - (maybe_warn_about_overly_private_class): Likewise. - (check_field_decl): Likewise. - (check_field_decls): Likewise. - (resolve_address_of_overloaded_function): Likewise. - (note_name_declared_in_class): Likewise. - * constraint.cc (associate_classtype_constraints): Likewise. - (diagnose_trait_expr): Clean up whitespace. - * coroutines.cc (find_coro_traits_template_decl): Add missing - auto_diagnostic_group. - (coro_promise_type_found_p): Likewise. - (coro_diagnose_throwing_fn): Likewise. - * cvt.cc (build_expr_type_conversion): Likewise. - * decl.cc (validate_constexpr_redeclaration): Likewise. - (duplicate_function_template_decls): Likewise. - (duplicate_decls): Likewise. - (lookup_label_1): Likewise. - (check_previous_goto_1): Likewise. - (check_goto_1): Likewise. - (make_typename_type): Likewise. - (make_unbound_class_template): Likewise. - (check_tag_decl): Likewise. - (start_decl): Likewise. - (maybe_commonize_var): Likewise. - (check_for_uninitialized_const_var): Likewise. - (reshape_init_class): Likewise. - (check_initializer): Likewise. - (cp_finish_decl): Likewise. - (find_decomp_class_base): Likewise. - (cp_finish_decomp): Likewise. - (expand_static_init): Likewise. - (grokfndecl): Likewise. - (grokdeclarator): Likewise. - (check_elaborated_type_specifier): Likewise. - (lookup_and_check_tag): Likewise. - (xref_tag): Likewise. - (cxx_simulate_enum_decl): Likewise. - (finish_function): Likewise. - * decl2.cc (check_classfn): Likewise. - (record_mangling): Likewise. - (mark_used): Likewise. - * error.cc (qualified_name_lookup_error): Likewise. - * except.cc (build_throw): Likewise. - * init.cc (get_nsdmi): Likewise. - (diagnose_uninitialized_cst_or_ref_member_1): Likewise. - (warn_placement_new_too_small): Likewise. - (build_new_1): Likewise. - (build_vec_delete_1): Likewise. - (build_delete): Likewise. - * lambda.cc (add_capture): Likewise. - (add_default_capture): Likewise. - * lex.cc (unqualified_fn_lookup_error): Likewise. - * method.cc (synthesize_method): Likewise. - (defaulted_late_check): Likewise. - * module.cc (trees_in::is_matching_decl): Likewise. - (trees_in::read_enum_def): Likewise. - (module_state::check_not_purview): Likewise. - (module_state::deferred_macro): Likewise. - (module_state::read_config): Likewise. - (module_state::check_read): Likewise. - (declare_module): Likewise. - (init_modules): Likewise. - * name-lookup.cc (diagnose_name_conflict): Likewise. - (lookup_using_decl): Likewise. - (set_decl_namespace): Likewise. - (finish_using_directive): Likewise. - (push_namespace): Likewise. - (add_imported_namespace): Likewise. - * parser.cc (cp_parser_check_for_definition_in_return_type): Likewise. - (cp_parser_userdef_numeric_literal): Likewise. - (cp_parser_nested_name_specifier_opt): Likewise. - (cp_parser_new_expression): Likewise. - (cp_parser_binary_expression): Likewise. - (cp_parser_lambda_introducer): Likewise. - (cp_parser_module_declaration): Likewise. - (cp_parser_import_declaration): Likewise, removing gotos to - support this. - (cp_parser_declaration): Add missing auto_diagnostic_group. - (cp_parser_decl_specifier_seq): Likewise. - (cp_parser_template_id): Likewise. - (cp_parser_template_name): Likewise. - (cp_parser_explicit_specialization): Likewise. - (cp_parser_placeholder_type_specifier): Likewise. - (cp_parser_elaborated_type_specifier): Likewise. - (cp_parser_enum_specifier): Likewise. - (cp_parser_asm_definition): Likewise. - (cp_parser_init_declarator): Likewise. - (cp_parser_direct_declarator): Likewise. - (cp_parser_class_head): Likewise. - (cp_parser_member_declaration): Likewise. - (cp_parser_lookup_name): Likewise. - (cp_parser_explicit_template_declaration): Likewise. - (cp_parser_check_class_key): Likewise. - * pt.cc (maybe_process_partial_specialization): Likewise. - (determine_specialization): Likewise. - (check_for_bare_parameter_packs): Likewise. - (check_template_shadow): Likewise. - (process_partial_specialization): Likewise. - (push_template_decl): Likewise. - (redeclare_class_template): Likewise. - (convert_nontype_argument_function): Likewise. - (check_valid_ptrmem_cst_expr): Likewise. - (convert_nontype_argument): Likewise. - (convert_template_argument): Likewise. - (coerce_template_parms): Likewise. - (tsubst_qualified_id): Likewise. - (tsubst_expr): Likewise. - (most_specialized_partial_spec): Likewise. - (do_class_deduction): Likewise. - (do_auto_deduction): Likewise. - * search.cc (lookup_member): Likewise. - * semantics.cc (finish_non_static_data_member): Likewise. - (process_outer_var_ref): Likewise. - (finish_id_expression_1): Likewise. - (finish_offsetof): Likewise. - (omp_reduction_lookup): Likewise. - (finish_omp_clauses): Likewise. - * tree.cc (check_abi_tag_redeclaration): Likewise. - (check_abi_tag_args): Likewise. - * typeck.cc (invalid_nonstatic_memfn_p): Likewise. - (complain_about_unrecognized_member): Likewise. - (finish_class_member_access_expr): Likewise. - (error_args_num): Likewise. - (warn_for_null_address): Likewise. - (cp_build_binary_op): Likewise. - (build_x_unary_op): Likewise. - (cp_build_unary_op): Likewise. - (build_static_cast): Likewise. - (cp_build_modify_expr): Likewise. - (get_delta_difference): Likewise. - (convert_for_assignment): Widen scope of auto_diagnostic_group. - (check_return_expr): Add missing auto_diagnostic_group. - * typeck2.cc (cxx_incomplete_type_diagnostic): Likewise. - -2024-09-04 Marek Polacek <polacek@redhat.com> - - * pt.cc (coerce_template_template_parm): Return bool instead of int. - -2024-09-04 Marek Polacek <polacek@redhat.com> - - PR c++/113108 - * pt.cc (resolve_overloaded_unification): Call - maybe_instantiate_noexcept. - -2024-09-03 Jason Merrill <jason@redhat.com> - - * parser.cc (cp_nth_tokens_can_be_std_attribute_p): Don't check - cxx_dialect. - * error.cc (maybe_warn_cpp0x): Only complain about C++11 attributes - if pedantic. - -2024-09-03 David Malcolm <dmalcolm@redhat.com> - - * error.cc (type_to_string): Prefix all output_buffer fields with - "m_". - (append_formatted_chunk): Likewise. Rename "chunk_info" to - "pp_formatted_chunks" and field cur_chunk_array with - m_cur_formatted_chunks. - -2024-09-02 Richard Sandiford <richard.sandiford@arm.com> - - * pt.cc (tsubst_stmt): Rename ASM_INPUT_P to ASM_BASIC_P. - * parser.cc (cp_parser_asm_definition): Likewise. - -2024-08-31 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (coro_build_frame_access_expr): New. - (transform_await_expr): Use coro_build_frame_access_expr. - (transform_local_var_uses): Likewise. - (build_actor_fn): Likewise. - (build_destroy_fn): Likewise. - (cp_coroutine_transform::build_ramp_function): Likewise. - -2024-08-30 Jason Merrill <jason@redhat.com> - - * decl2.cc (c_parse_final_cleanups): Also check - DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION. - -2024-08-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * parser.cc (make_array_declarator): Add STD_ATTRS argument, set - declarator->std_attributes to it. - (cp_parser_new_type_id): Warn on non-ignored std_attributes on the - array declarator which is being omitted. - (cp_parser_direct_new_declarator): Parse standard attributes after - closing square bracket, pass it to make_array_declarator. - (cp_parser_direct_declarator): Pass std_attrs to make_array_declarator - instead of setting declarator->std_attributes manually. - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - * error.cc: Include "make-unique.h". - (deferred_printed_type::m_buffer_ptr): Replace with... - (deferred_printed_type::m_printed_text): ...this and... - (deferred_printed_type::m_token_list): ...this. - (deferred_printed_type::deferred_printed_type): Update ctors for - above changes. - (deferred_printed_type::set_text_for_token_list): New. - (append_formatted_chunk): Pass chunk_obstack to - append_formatted_chunk. - (add_quotes): Delete. - (cxx_format_postprocessor::handle): Reimplement to call - deferred_printed_type::set_text_for_token_list, rather than store - buffer pointers. - (defer_phase_2_of_type_diff): Replace param "buffer_ptr" - with "formatted_token_list". Reimplement by storing - a pointer to formatted_token_list so that the postprocessor can - put its text there. - (cp_printer): Convert param "buffer_ptr" to - "formatted_token_list". Update calls to - defer_phase_2_of_type_diff accordingly. - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - * error.cc: Include "pretty-print-format-impl.h". - -2024-08-28 Marek Polacek <polacek@redhat.com> - - PR c++/116476 - * call.cc (maybe_init_list_as_array): Try convert_like and see if it - worked. - -2024-08-28 Marek Polacek <polacek@redhat.com> - - PR c++/116424 - * typeck2.cc (process_init_constructor_record): Move the clearing of - TARGET_EXPR_ELIDING_P down. - -2024-08-28 Jason Merrill <jason@redhat.com> - - * parser.cc (cp_parser_simple_type_specifier): Use - -Wc++20-extensions for auto parameter pedwarn. - * pt.cc (do_decl_instantiation, do_type_instantiation): Use - -Wc++11-extensions for 'extern template'. - -2024-08-27 Arsen Arsenović <arsen@aarsen.me> - - PR c++/109867 - * coroutines.cc (expand_one_await_expression): Replace uses of - build_case_label with finish_case_label. - (build_actor_fn): Ditto. - (create_anon_label_with_ctx): Remove now-unused function. - -2024-08-27 Simon Martin <simon@nasilyan.com> - - PR c++/105483 - * parser.cc (cp_parser_expression_statement): Use %qE instead of - incorrect %<%T::%D%>. Skip to end of statement and return - error_mark_node in case of error. - -2024-08-27 Jonathan Wakely <jwakely@redhat.com> - - * cxxapi-data.csv: Add C++20 and C++23 names from <chrono>, - <format>, <generator>, <iterator>, <print>, and <stdfloat>. - Set cxx11 dialect for std::ignore in <tuple>. Uncomment - atomic_flag functions from <atomic>. - * std-name-hint.gperf: Regenerate. - * std-name-hint.h: Regenerate. - -2024-08-27 Jonathan Wakely <jwakely@redhat.com> - - * gen-cxxapi-file.py: Fix copyright dates in generated output. - -2024-08-27 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/116482 - * coroutines.cc - (coro_build_actor_or_destroy_function): Make the parameter - decls DECL_ARTIFICIAL. - -2024-08-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99243 - * module.cc (module_state::set_filename): Handle repeated calls - to 'set_filename' as long as the CMI path matches. - (maybe_translate_include): Adjust comment. - -2024-08-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/110980 - * module.cc (maybe_translate_include): Clean up. - -2024-08-26 Arsen Arsenović <arsen@aarsen.me> - - PR c++/113457 - * coroutines.cc (struct coroutine_info): Add integer field - awaitable_number. This is a counter used for assigning unique - names to awaitable temporaries. - (get_awaitable_var): Use awaitable_number from coroutine_info - instead of the static int awn. - -2024-08-26 Simon Martin <simon@nasilyan.com> - - PR c++/115716 - * pt.cc (maybe_process_partial_specialization): Call - redeclare_class_template. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/110635 - * coroutines.cc - (cp_coroutine_transform::wrap_original_function_body): Look through - initial await target expressions to find the actual co_await_expr - that we need to update. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/102051 - * coroutines.cc - (cp_coroutine_transform::build_ramp_function): Handle - "throwing_cleanup" here instead of ... - (cp_coroutine_transform::apply_transforms): ... here. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/115908 - * coroutines.cc - (cp_coroutine_transform::build_ramp_function): Rework the return - value initialisation to initialise the return slot always from - get_return_object, even if that implies carrying out conversions - to do so. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/109682 - * coroutines.cc - (cp_coroutine_transform::build_ramp_function): Allow for cases where - get_return_on_allocation_fail has a type convertible to the ramp - return type. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/100476 - * coroutines.cc - (cp_coroutine_transform::build_ramp_function): Remove special - handling of void get_return_object expressions. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/113773 - * coroutines.cc - (cp_coroutine_transform::build_ramp_function): Only cleanup the - frame state on exceptions that occur before the initial await - resume has begun. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - * call.cc (build_op_delete_call_1): Renamed and added a param - to allow the caller to prioritize two argument usual deleters. - (build_op_delete_call): New. - (build_coroutine_op_delete_call): New. - * coroutines.cc (coro_get_frame_dtor): Rename... - (build_coroutine_frame_delete_expr):... to this; simplify to - use build_op_delete_call for all cases. - (build_actor_fn): Use revised frame delete function. - (build_coroutine_frame_alloc_expr): New. - (cp_coroutine_transform::complete_ramp_function): Rename... - (cp_coroutine_transform::build_ramp_function): ... to this. - Reorder code to carry out checks for prerequisites before the - codegen. Split out the allocation/delete code. - (cp_coroutine_transform::apply_transforms): Use revised name. - * coroutines.h: Rename function. - * cp-tree.h (build_coroutine_op_delete_call): New. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - Arsen Arsenović <arsen@aarsen.me> - - * coroutines.cc (struct suspend_point_info, struct param_info, - struct local_var_info, struct susp_frame_data, - struct local_vars_frame_data): Move to coroutines.h. - (build_actor_fn): Use start/finish function APIs. - (build_destroy_fn): Likewise. - (coro_build_actor_or_destroy_function): No longer mark the - actor / destroyer as DECL_COROUTINE_P. - (coro_rewrite_function_body): Use class members. - (cp_coroutine_transform::wrap_original_function_body): Likewise. - (build_ramp_function): Replace by... - (cp_coroutine_transform::complete_ramp_function): ...this. - (cp_coroutine_transform::cp_coroutine_transform): New. - (cp_coroutine_transform::~cp_coroutine_transform): New - (morph_fn_to_coro): Replace by... - (cp_coroutine_transform::apply_transforms): ...this. - (cp_coroutine_transform::finish_transforms): New. - * cp-tree.h (morph_fn_to_coro): Remove. - * decl.cc (emit_coro_helper): Remove. - (finish_function): Revise handling of coroutine transforms. - * coroutines.h: New file. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (build_actor_fn): Arrange to apply any - required parameter copy DTORs in reverse order to their - creation. - (coro_rewrite_function_body): Handle revised param uses. - (morph_fn_to_coro): Split the ramp function completion - into a separate function. - (build_ramp_function): New. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (build_co_await): Simplify checks for the cases that - we need to materialise an awaiter. - -2024-08-21 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (split_coroutine_body_from_ramp): Check - that the binding level is as expected before attempting - to outline the function body. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (module_state::write_begin): Return a boolean to - indicate errors rather than just doing set_error(). - (finish_module_processing): Prevent emission of unnecessary - errors; only indicate module writing occurred if write_begin - succeeds. - -2024-08-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * decl.cc (grokdeclarator): Apply declarator->std_attributes - for cdk_array to type, rather than chaining it to returned_attrs. - -2024-08-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * parser.cc (cp_parser_base_specifier): Parse standard attributes - at the start and emit a warning if there are any non-ignored ones. - -2024-08-20 Franciszek Witt <franek.witt@gmail.com> - - PR c++/101232 - * parser.cc (cp_parser_postfix_expression): Commit to the - parse in case we know its either a cast or invalid syntax. - (cp_parser_braced_list): Add a heuristic to inform about - missing comma or operator. - -2024-08-20 Patrick Palka <ppalka@redhat.com> - - PR c++/101463 - * pt.cc (type_unification_real): Directly look for undeduced - parameters in the default argument instead of doing a trial - substitution. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115020 - * module.cc (has_definition): Only force writing definitions for - header_module_p. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116403 - * pt.cc (deduction_guides_for): Use ANY_REACHABLE for lookup of - deduction guides. - * module.cc (depset::hash::add_deduction_guides): Likewise. - (module_state::write_cluster): No longer override deduction - guides as exported. - * name-lookup.cc (name_lookup::search_namespace_only): Ignore - visibility when LOOK_want::ANY_REACHABLE is specified. - (check_module_override): Ignore visibility when checking for - ambiguating deduction guides. - * name-lookup.h (LOOK_want): New flag 'ANY_REACHABLE'. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116382 - * cp-tree.h (get_template_parm_object): Add check_init param. - * module.cc (trees_in::tree_node): Pass check_init=false when - building NTTPs. - * pt.cc (get_template_parm_object): Prevent cp_finish_decl from - validating the initializer when check_init=false. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116364 - * cp-tree.h (get_mergeable_specialization_flags): Adjust - signature. - * module.cc (trees_out::decl_value): Indicate whether this is a - type or decl specialisation. - * pt.cc (get_mergeable_specialization_flags): Match against the - type of a non-decl specialisation. - (add_mergeable_specialization): Use the already calculated spec - instead of always adding decl to DECL_TEMPLATE_INSTANTIATIONS. - -2024-08-19 Marek Polacek <polacek@redhat.com> - - PR c++/115657 - * decl.cc (build_enumerator): Call maybe_fold_non_dependent_expr - instead of fold_non_dependent_expr. - -2024-08-19 Marek Polacek <polacek@redhat.com> - - PR c++/116384 - * pt.cc (tsubst_expr) <case IMPLICIT_CONV_EXPR>: Bail if tsubst - returns error_mark_node. - -2024-08-16 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * parser.cc (cp_parser_member_declaration): Call maybe_warn_extra_semi - only if it is empty-declaration, if there are some tokens like - attribute, pedwarn that the declaration doesn't declare anything. - -2024-08-15 Patrick Palka <ppalka@redhat.com> - - PR c++/116320 - * semantics.cc (check_accessibility_of_qualified_id): Try - currently_open_class when using the object type as the - effective qualifying type. - -2024-08-15 Patrick Palka <ppalka@redhat.com> - - PR c++/116327 - PR c++/104981 - PR c++/115550 - * coroutines.cc (morph_fn_to_coro): Use build_fold_indirect_ref - instead of cp_build_fold_indirect_ref. - -2024-08-14 Marek Polacek <polacek@redhat.com> - - PR c++/116015 - * call.cc (convert_for_arg_passing): Don't set_target_expr_eliding - when the TARGET_EXPR initializer is a CONSTRUCTOR. - -2024-08-10 Patrick Palka <ppalka@redhat.com> - - PR c++/116276 - * call.cc (joust): Implement P2582R1 inherited vs non-inherited - guide tiebreaker. - * cp-tree.h (lang_decl_fn::context): Document usage in - deduction_guide_p FUNCTION_DECLs. - (inherited_guide_p): Declare. - * pt.cc (inherited_guide_p): Define. - (set_inherited_guide_context): Define. - (alias_ctad_tweaks): Use set_inherited_guide_context. - (inherited_ctad_tweaks): Recognize some inherited constructors - whose scope is a TYPENAME_TYPE. - (ctor_deduction_guides_for): For C++23 inherited CTAD, iterate - over TYPE_FIELDS instead of CLASSTYPE_CONSTRUCTORS to recognize - all inherited constructors. - -2024-08-10 Patrick Palka <ppalka@redhat.com> - - * pt.cc (tsubst_friend_class): Simplify depth comparison test - in the redeclaration code path to - DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P. Clear the flag after - partial instantiation here ... - (tsubst_template_decl): ... instead of here. - -2024-08-10 Patrick Palka <ppalka@redhat.com> - - * cp-tree.h (get_identifier_kind): Define. - (IDENTIFIER_KEYWORD_P): Redefine in terms of get_identifier_kind. - (IDENTIFIER_CDTOR_P): Likewise. - (IDENTIFIER_CTOR_P): Likewise. - (IDENTIFIER_DTOR_P): Likewise. - (IDENTIFIER_ANY_OP_P): Likewise. - (IDENTIFIER_OVL_OP_P): Likewise. - (IDENTIFIER_ASSIGN_OP_P): Likewise. - (IDENTIFIER_CONV_OP_P): Likewise. - (IDENTIFIER_TRAIT_P): Likewise. - * parser.cc (cp_lexer_peek_trait): Mark IDENTIFIER_TRAIT_P - check UNLIKELY. - -2024-08-09 Simon Martin <simon@nasilyan.com> - - PR c++/115806 - * decl.cc (start_enum): Only set OPAQUE_ENUM_P and - ENUM_FIXED_UNDERLYING_TYPE_P when pushing a new tag. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115062 - * class.cc (fixup_type_variants): Propagate TREE_ADDRESSABLE. - (finish_struct_bits): Cleanup now that TREE_ADDRESSABLE is - propagated by fixup_type_variants. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (module_state::read_cluster): Assume header module - declarations will require GM merging. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115801 - * pt.cc (tsubst_friend_class): Return the type immediately when - no tsubsting or name lookup is required. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114950 - * module.cc (trees_out::decl_value): Stream bit indicating - imported temploid friends early. - (trees_in::decl_value): Use this bit with key_mergeable. - (trees_in::key_mergeable): Allow merging attached declarations - if they're imported temploid friends (which must be namespace - scope). - (module_state::read_cluster): Check for GM entities that may - require merging even when importing from partitions. - * name-lookup.cc (enum binding_slots): Adjust comment. - (get_fixed_binding_slot): Always create partition slot. - (name_lookup::search_namespace_only): Support binding vectors - with both partition and GM entities to dedup. - (walk_module_binding): Likewise. - (name_lookup::adl_namespace_fns): Likewise. - (set_module_binding): Likewise. - (check_module_override): Use attachment of the decl when - checking overrides rather than named_module_p. - (lookup_imported_hidden_friend): Use partition slot for finding - mergeable template bindings. - * name-lookup.h (set_module_binding): Split mod_glob_flag - parameter into separate global_p and partition_p params. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (trees_in::read_enum_def): Clarify error. - -2024-08-07 Patrick Palka <ppalka@redhat.com> - - PR c++/116064 - * error.cc (get_current_template): If the current scope is - a partial specialization, return it instead of the primary - template. - * pt.cc (instantiate_class_template): Pass the partial - specialization if any to maybe_diagnose_erroneous_template - instead of the primary template. - -2024-08-07 Julian Brown <julian@codesourcery.com> - Tobias Burnus <tobias@baylibre.com> - - * decl2.cc (tree-inline.h): Include. - (static_init_fini_fns): Bump to four entries. Update comment. - (start_objects, start_partial_init_fini_fn): Add 'omp_target' - parameter. Support "declare target" decls. Update forward declaration. - (emit_partial_init_fini_fn): Add 'host_fn' parameter. Return tree for - the created function. Support "declare target". - (OMP_SSDF_IDENTIFIER): New macro. - (partition_vars_for_init_fini): Support partitioning "declare target" - variables also. - (generate_ctor_or_dtor_function): Add 'omp_target' parameter. Support - "declare target" decls. - (c_parse_final_cleanups): Support constructors/destructors on OpenMP - offload targets. - -2024-08-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/109126 - * decl.cc (grokvardecl): Implement CWG 2387 - Linkage of - const-qualified variable template. Set TREE_PUBLIC on variable - templates with const qualified types unless static is present. - -2024-08-07 Simon Martin <simon@nasilyan.com> - - PR c++/111592 - * call.cc (build_over_call): Only error out if there's a single - parameter of type A in a call to A::A(...). - -2024-08-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/116175 - * pt.cc (apply_late_template_attributes): For function/method types - call cp_build_type_attribute_variant on the non-dependent attributes. - (rebuild_function_or_method_type): Add ARGS argument. Use - apply_late_template_attributes rather than - cp_build_type_attribute_variant. - (maybe_rebuild_function_decl_type): Add ARGS argument, pass it to - rebuild_function_or_method_type. - (tsubst_function_decl): Adjust caller. - (tsubst_function_type): Adjust rebuild_function_or_method_type caller. - -2024-08-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115231 - * error.cc (dump_function_decl): Add a space before '->' when - printing deduction guides. - * module.cc (depset::hash::add_binding_entity): Don't create - bindings for guides here, only mark dependencies. - (depset::hash::add_deduction_guides): New. - (depset::hash::find_dependencies): Add deduction guide - dependencies for a class template. - (module_state::write_cluster): Always consider deduction guides - as exported. - * pt.cc (deduction_guides_for): Use 'lkp_iterator' instead of - 'ovl_iterator'. - -2024-08-07 Nathaniel Shead <nathanieloshead@gmail.com> - - * parser.cc (cp_parser_class_head): Clarify error message for - explicit instantiations. - -2024-08-07 Patrick Palka <ppalka@redhat.com> - - PR c++/116064 - * cp-tree.h (erroneous_templates_t): Declare. - (erroneous_templates): Declare. - (cp_seen_error): Declare. - (seen_error): #define to cp_seen_error. - * error.cc (get_current_template): Define. - (relaxed_template_errors): Define. - (cp_adjust_diagnostic_info): Define. - (cp_seen_error): Define. - (cxx_initialize_diagnostics): Set - diagnostic_context::m_adjust_diagnostic_info. - * module.cc (finish_module_processing): Don't write the - module if it contains an erroneous template. - * pt.cc (maybe_diagnose_erroneous_template): Define. - (instantiate_class_template): Call it. - (instantiate_decl): Likewise. - -2024-08-06 Marek Polacek <polacek@redhat.com> - - * constexpr.cc (cxx_eval_call_expression): Remove concept_check_p check. - (cxx_eval_outermost_constant_expr): Likewise. - * cp-gimplify.cc (cp_genericize_r) <case CALL_EXPR>: Likewise. - * except.cc (check_noexcept_r): Likewise. - -2024-08-06 Jason Merrill <jason@redhat.com> - - PR c++/116223 - * pt.cc (deducible_expression): Strip all IMPLICIT_CONV_EXPR. - (unify): Likewise. Handle resulting function/addr mismatch. - -2024-08-06 Jason Merrill <jason@redhat.com> - - PR c++/116223 - PR c++/112632 - * pt.cc (deducible_expression): Also look through - IMPLICIT_CONV_EXPR_FORCED. - (unify): Likewise. - -2024-08-06 Jason Merrill <jason@redhat.com> - - PR c++/94568 - * init.cc (build_zero_init_1): Call cv_unqualified. - -2024-08-06 Patrick Palka <ppalka@redhat.com> - - PR c++/96780 - * cp-gimplify.cc (cp_fold) <case CALL_EXPR>: Fold calls - to std::forward_like as well. - -2024-08-06 Marek Polacek <polacek@redhat.com> - - * constexpr.cc (cxx_eval_constant_expression): Don't call - unpack_concept_check. Add a concept_check_p assert. Remove - function_concept_p code. - * constraint.cc (check_constraint_atom): Remove function concepts code. - (unpack_concept_check): Remove. - (get_concept_check_template): Remove Concepts TS code. - (resolve_function_concept_overload): Remove. - (resolve_function_concept_check): Remove. - (resolve_concept_check): Remove Concepts TS code. - (get_returned_expression): Remove. - (get_variable_initializer): Remove. - (get_concept_definition): Remove Concepts TS code. - (normalize_concept_check): Likewise. - (build_function_check): Remove. - (build_variable_check): Remove. - (build_standard_check): Use concept_definition_p instead of - standard_concept_p. - (build_concept_check): Remove variable_concept_p/function_concept_p - code. - (build_concept_id): Simplify. - (build_type_constraint): Likewise. - (placeholder_extract_concept_and_args): Likewise. - (satisfy_nondeclaration_constraints): Likewise. - (check_function_concept): Remove. - (get_constraint_error_location): Remove Concepts TS code. - * cp-tree.h (DECL_DECLARED_CONCEPT_P): Remove. - (check_function_concept): Remove. - (unpack_concept_check): Remove. - (standard_concept_p): Remove. - (variable_concept_p): Remove. - (function_concept_p): Remove. - (concept_definition_p): Simplify. - (concept_check_p): Don't check for CALL_EXPR. - * decl.cc (check_concept_refinement): Remove. - (duplicate_decls): Remove check_concept_refinement code. - (is_concept_var): Remove. - (cp_finish_decl): Remove is_concept_var. - (check_concept_fn): Remove. - (grokfndecl): Give an error about function concepts not being supported - anymore. Remove unused code. - (grokvardecl): Give an error about variable concepts not being - supported anymore. - (finish_function): Remove DECL_DECLARED_CONCEPT_P code. - * decl2.cc (min_vis_expr_r): Use concept_definition_p instead of - standard_concept_p. - (maybe_instantiate_decl): Remove DECL_DECLARED_CONCEPT_P check. - (mark_used): Likewise. - * error.cc (dump_simple_decl): Use concept_definition_p instead of - standard_concept_p. - (dump_function_decl): Remove DECL_DECLARED_CONCEPT_P code. - (print_concept_check_info): Don't call unpack_concept_check. Simplify. - * mangle.cc (write_type_constraint): Likewise. - * parser.cc (cp_parser_nested_name_specifier_opt): Remove - function_concept_p code. Only check concept_definition_p, not - variable_concept_p/standard_concept_p. - (add_debug_begin_stmt): Remove DECL_DECLARED_CONCEPT_P code. - (cp_parser_template_declaration_after_parameters): Remove a stale - comment. - * pt.cc (check_explicit_specialization): Remove - DECL_DECLARED_CONCEPT_P code. - (process_partial_specialization): Remove variable_concept_p code. - (lookup_template_variable): Likewise. - (tsubst_expr) <case CALL_EXPR>: Remove Concepts TS code and simplify. - (do_decl_instantiation): Remove DECL_DECLARED_CONCEPT_P code. - (instantiate_decl): Likewise. - (placeholder_type_constraint_dependent_p): Don't call - unpack_concept_check. Add a concept_check_p assert. - (convert_generic_types_to_packs): Likewise. - * semantics.cc (finish_call_expr): Remove Concepts TS code and simplify. - -2024-08-05 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (split_coroutine_body_from_ramp): New. - (morph_fn_to_coro): Use split_coroutine_body_from_ramp(). - * cp-tree.h (use_eh_spec_block): New. - * decl.cc (use_eh_spec_block): Make non-static. - -2024-08-05 Marek Polacek <polacek@redhat.com> - - PR c++/115987 - * call.cc (do_warn_dangling_reference): Don't consider a - temporary with a scalar type that cannot bind to the return type. - -2024-08-02 Arsen Arsenović <arsen@aarsen.me> - - PR c++/105475 - * coroutines.cc (struct coroutine_info): Add from_address. - Carries the from_address member we looked up earlier. - (coro_resume_identifier): Remove. Unused. - (coro_init_identifiers): Do not initialize the above. - (void_coro_handle_address): New variable. Contains the baselink - for the std::coroutine_handle<void>::address() instance method. - (get_handle_type_address): New function. Looks up and validates - handle_type::address in a given handle_type. - (get_handle_type_from_address): New function. Looks up and - validates handle_type::from_address in a given handle_type. - (coro_promise_type_found_p): Remove reliance on - coroutine_handle<> defaulting the promise type to void. Store - get_handle_type_* results where appropriate. - (get_coroutine_from_address): New helper. Gets the - handle_type::from_address BASELINK from a coroutine_info. - (build_actor_fn): Use the get_coroutine_from_address helper and - void_coro_handle_address. - -2024-08-02 Marek Polacek <polacek@redhat.com> - - PR c++/116169 - * decl.cc (cp_finish_decl): Disallow deleting ::main. - -2024-08-02 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (struct local_vars_frame_data): Add a - CTOR. - (morph_fn_to_coro): Use CTOR for local_vars_frame_data - instead of brace init. - -2024-08-02 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (struct susp_frame_data): Remove unused members, - provide a CTOR. - (morph_fn_to_coro): Use susp_frame_data CTOR, and make the suspend - state hash map local to the morph function. - -2024-08-02 Iain Sandoe <iain@sandoe.co.uk> - - * coroutines.cc (replace_continue): Look up expression type. - -2024-08-01 Jakub Jelinek <jakub@redhat.com> - - PR c++/116113 - * semantics.cc (maybe_convert_cond): Check DECL_DECOMP_BASE - is non-NULL before dereferencing it. - (finish_switch_cond): Likewise. - -2024-08-01 Arsen Arsenović <arsen@aarsen.me> - - PR c++/112341 - * coroutines.cc (struct coroutine_info): Also cache the - traits type. - (ensure_coro_initialized): New function. Makes sure we have - initialized the coroutine state successfully, or informs the - caller should it fail to do so. Extracted from - coro_promise_type_found_p. - (coro_get_traits_class): New function. Gets the (cached) - coroutine traits type for a given coroutine. Extracted from - coro_promise_type_found_p and refactored to cache the result. - (coro_promise_type_found_p): Use the two functions above. - (build_template_co_await_expr): New function. Builds a - CO_AWAIT_EXPR representing a CO_AWAIT_EXPR in a template - declaration. - (build_co_await): Use the above if processing_template_decl, and - give it a proper type. - (coro_dependent_p): New function. Returns true iff its - argument is a type-dependent expression OR the current functions - traits class is type dependent. - (finish_co_await_expr): Defer expansion only in the case - coro_dependent_p returns true. - (finish_co_yield_expr): Ditto. - (finish_co_return_stmt): Ditto. - * pt.cc (type_dependent_expression_p): Do not treat - CO_AWAIT/CO_YIELD specially. - -2024-07-31 Marek Polacek <polacek@redhat.com> - - PR c++/115645 - * init.cc (build_vec_init): When initializing a scalar type, try to - create a constant initializer. - -2024-07-30 Arsen Arsenović <arsen@aarsen.me> - - PR c++/115906 - * parser.cc (cp_parser_unary_expression): Reject await - expressions if use of local variables is currently forbidden. - (cp_parser_yield_expression): Reject yield expressions if use of - local variables is currently forbidden. - -2024-07-30 Arsen Arsenovic <arsen@aarsen.me> - - PR c++/115906 - * coroutines.cc (register_local_var_uses): Only process - PARM_DECL and VAR_DECLs. - -2024-07-30 Arsen Arsenović <arsen@aarsen.me> - - PR c++/110855 - * cp-gimplify.cc (fold_builtin_source_location): Use the name of - the DECL_RAMP_FN of the current function if present. - -2024-07-29 Patrick Palka <ppalka@redhat.com> - - PR c++/88313 - * parser.cc (cp_parser_lambda_declarator_opt): Pass - lambda_p=true to cp_parser_parameter_declaration_clause. - (cp_parser_direct_declarator): Pass lambda_p=false to - to cp_parser_parameter_declaration_clause. - (cp_parser_parameter_declaration_clause): Add bool lambda_p - parameter. Consider lambda_p instead of current_class_type - when setting parser->auto_is_implicit_function_template_parm_p. - Don't consider processing_template_parmlist. - (cp_parser_requirement_parameter_list): Pass lambda_p=false - to cp_parser_parameter_declaration_clause. - -2024-07-28 Jason Merrill <jason@redhat.com> - - PR c++/115583 - * constexpr.cc (cxx_eval_conditional_expression): Don't - cp_fold_immediate for if consteval. - -2024-07-27 Jason Merrill <jason@redhat.com> - - PR c++/115986 - * cp-gimplify.cc (remember_escalating_expr): Skip function - templates. - -2024-07-27 Jason Merrill <jason@redhat.com> - - PR c++/115561 - * semantics.cc (finish_call_expr): Check cp_unevaluated_operand. - -2024-07-26 Jason Merrill <jason@redhat.com> - - PR c++/116052 - * mangle.cc (write_prefix): Handle TRAIT_EXPR. - -2024-07-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115757 - * module.cc (trees_out::core_vals): Write warning specs for - DECLs and EXPRs. - (trees_in::core_vals): Read warning specs. - -2024-07-25 Jason Merrill <jason@redhat.com> - - PR c++/115403 - PR c++/109753 - * decl.cc (start_preparsed_function): Only call decl_attributes for - artificial functions. - -2024-07-25 Patrick Palka <ppalka@redhat.com> - - PR c++/115897 - * cp-tree.h (dependent_opaque_alias_p): Declare. - * pt.cc (push_template_decl): Manually mark a dependent opaque - alias or dependent alias template specialization as dependent, - and use structural equality for them. - (dependent_opaque_alias_p): Define. - (alias_template_specialization_p): Don't look through an - opaque alias. - (complex_alias_template_p): Use dependent_opaque_alias_p instead of - any_dependent_template_arguments_p directly. - (dependent_alias_template_spec_p): Don't look through an - opaque alias. - (get_underlying_template): Use dependent_opaque_alias_p instead of - any_dependent_template_arguments_p. - (instantiate_alias_template): Mention same logic in - push_template_decl. - (dependent_type_p_r): Remove dependent_alias_template_spec_p check. - (any_template_arguments_need_structural_equality_p): Return true - for a dependent opaque alias. - (alias_ctad_tweaks): Use template_args_equal instead of same_type_p - followed by dependent_alias_template_spec_p. - * tree.cc (strip_typedefs): Don't strip an opaque alias. - * typeck.cc (structural_comptypes): Compare declaration attributes - for an opaque alias. - -2024-07-25 Patrick Palka <ppalka@redhat.com> - - PR c++/115897 - * tree.cc (strip_typedefs): Move up the typedef recursion case. - Never strip a dependent alias template-id that has dependent - attributes. - -2024-07-25 Arsen Arsenović <arsen@aarsen.me> - - PR c++/110171 - * coroutines.cc (co_await_get_resume_call): New function. - Returns the await_resume expression of a given co_await. - * cp-tree.h (co_await_get_resume_call): New function. - * cvt.cc (convert_to_void): Handle CO_AWAIT_EXPRs and call - maybe_warn_nodiscard on their resume exprs. - -2024-07-25 Arsen Arsenović <arsen@aarsen.me> - - PR c++/111728 - * coroutines.cc (rewrite_param_uses): Skip unevaluated - subexpressions. - -2024-07-24 Jason Merrill <jason@redhat.com> - - PR c++/116071 - * parser.cc (cp_parser_simple_type_specifier): Call - cp_parser_simulate_error if nothing worked. - -2024-07-24 Jakub Jelinek <jakub@redhat.com> - - * constraint.cc (subst_info::quiet, subst_info::noisy): Formatting - fixes. - (known_non_bool_p): Comment formatting fixes. - (unpack_concept_check): Likewise. - (resolve_function_concept_overload): Likewise. - (resolve_function_concept_check): Likewise. - (resolve_concept_check): Likewise. - (deduce_constrained_parameter): Likewise. - (finish_type_constraints): Likewise. - (get_returned_expression): Likewise. - (get_variable_initializer): Likewise. - (norm_info::update_context, norm_info::ctx_params): Formatting - fixes. - (norm_info::context): Comment formatting fixes. - (normalize_logical_operation): Likewise. Formatting fix. - (normalize_concept_check): Comment formatting fixes. - (normalize_atom): Likewise. - (normalize_expression): Likewise. - (get_normalized_constraints_from_info): Likewise. - (get_normalized_constraints_from_decl): Likewise. Formatting - fixes. - (atomic_constraints_identical_p): Comment formatting fixes. - (constraints_equivalent_p): Formatting fixes. - (inchash::add_constraint): Likewise. - (associate_classtype_constraints): Comment formatting fixes. - (get_constraints): Likewise. - (set_constraints): Likewise. - (build_concept_check_arguments): Likewise. - (build_function_check): Likewise. - (build_concept_check): Likewise. - (finish_shorthand_constraint): Likewise. - (get_shorthand_constraints): Likewise. - (check_constraint_variables): Likewise. - (tsubst_constraint_variables): Likewise. - (tsubst_requires_expr): Likewise. - (get_mapped_args): Likewise. Formatting fixes. - (satisfy_atom): Comment formatting fixes. - (satisfy_constraint_r): Comment wording and formatting fixes. - (satisfy_normalized_constraints): Comment formatting fixes. - (satisfy_declaration_constraints): Likewise. - (evaluate_concept_check): Likewise. - (finish_requires_expr): Likewise. - (finish_compound_requirement): Likewise. - (check_function_concept): Likewise. - (equivalently_constrained): Likewise. - (more_constrained): Likewise. - (diagnose_atomic_constraint): Likewise. - * cp-tree.h (TREE_LANG_FLAG_0): Fix a comment error, - FOLD_EXPR_MODIFY_P instead of FOLD_EXPR_MODOP_P. - (DECL_MAIN_FREESTANDING_P, DECL_MAIN_P): Comment formatting fixes. - (enum cpp0x_warn_str): Likewise. - (enum composite_pointer_operation): Likewise. - (enum expr_list_kind): Likewise. - (enum impl_conv_rhs): Likewise. - (enum impl_conv_void): Likewise. - (struct deferred_access_check): Likewise. - (ATOMIC_CONSTR_EXPR): Likewise. - (FUNCTION_REF_QUALIFIED): Likewise. - (DECL_DEPENDENT_P): Likewise. - (FOLD_EXPR_MODIFY_P): Likewise. - (FOLD_EXPR_OP_RAW): Likewise. - (FOLD_EXPR_PACK): Likewise. - (FOLD_EXPR_INIT): Likewise. - (TYPE_WAS_UNNAMED): Likewise. - (class cp_unevaluated): Likewise. - (struct ovl_op_info_t assertion): Likewise. - (cp_declarator::function::requires_clause): Likewise. - (variable_template_p): Likewise. - (concept_definition_p): Likewise. - * logic.cc (clause::clause): Likewise. - (clause::replace): Likewise. - (clause::insert): Likewise. Formatting fixes. - (struct formula): Comment formatting fixes. - (formula::branch): Likewise. - (debug): Formatting fixes. - (dnf_size_r): Comment formatting fixes. - (cnf_size_r): Likewise. - (dnf_size): Likewise. - (cnf_size): Likewise. - (branch_clause): Likewise. - (decompose_term): Likewise. Formatting fixes. - (struct subsumption_entry): Comment formatting fixes. - (subsumption_cache): Likewise. - (save_subsumption): Likewise. Formatting fixes. - (subsumes_constraints_nonnull): Formatting fixes. - -2024-07-23 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * cp-tree.h (AGGR_INIT_EXPR_MUST_TAIL): Add. - * parser.cc (cp_parser_statement): Handle musttail. - (cp_parser_jump_statement): Dito. - * pt.cc (tsubst_expr): Copy CALL_EXPR_MUST_TAIL_CALL. - * semantics.cc (simplify_aggr_init_expr): Handle musttail. - -2024-07-23 Patrick Palka <ppalka@redhat.com> - - PR c++/115656 - * constraint.cc (weakly_subsumes): Pass in_decl=tmpl to - get_normalized_constraints_from_info. Rename to ... - (ttp_subsumes): ... this. - * cp-tree.h (weakly_subsumes): Rename to ... - (ttp_subsumes): ... this. - * pt.cc (is_compatible_template_arg): Adjust after renaming. - -2024-07-23 Patrick Palka <ppalka@redhat.com> - - PR c++/115296 - * pt.cc (alias_ctad_tweaks): Use complain=tf_none instead of - tf_warning_or_error. - -2024-07-23 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.def (CHECK_CONSTR): Remove. - * cp-tree.h (CHECK_CONSTR_CONCEPT, CHECK_CONSTR_ARGS): Remove. - * cp-objcp-common.cc (cp_common_init_ts): Don't handle CHECK_CONSTR. - * tree.cc (cp_tree_equal): Likewise. - * error.cc (dump_expr): Likewise. - * cxx-pretty-print.cc (cxx_pretty_printer::expression): Likewise. - (pp_cxx_check_constraint): Remove. - (pp_cxx_constraint): Don't handle CHECK_CONSTR. - -2024-07-23 Patrick Palka <ppalka@redhat.com> - - PR c++/104981 - PR c++/115550 - * coroutines.cc (morph_fn_to_coro): Remove unneeded calls - to convert_to_reference and convert_from_reference when - passing *this. Use cp_build_fold_indirect_ref instead - of directly building INDIRECT_REF. - -2024-07-22 Jakub Jelinek <jakub@redhat.com> - - * cp-tree.def (UNARY_LEFT_FOLD_EXPR): Use FOLD_EXPR_MODIFY_P instead - of FOLD_EXPR_MOD_P or FOLDEXPR_MOD_P in the comment. Comment - formatting fixes. - (ATOMIC_CONSTEXPR): Use CONSTR_INFO instead of ATOMIC_CONSTR_INFO - and ATOMIC_CONSTR_MAP instead of ATOMIC_CONSTR_PARMS in the comment. - Comment formatting fixes. - (CONJ_CONSTR): Remove comment about third operand. Use CONSTR_INFO - instead of CONJ_CONSTR_INFO and DISJ_CONSTR_INFO. - (CHECK_CONSTR): Use CHECK_CONSTR_ARGS instead of - CHECK_CONSTR_ARGUMENTS. - -2024-07-20 Andi Kleen <ak@gcc.gnu.org> - - Revert: - 2024-07-20 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * cp-tree.h (AGGR_INIT_EXPR_MUST_TAIL): Add. - * parser.cc (cp_parser_statement): Handle musttail. - (cp_parser_jump_statement): Dito. - * pt.cc (tsubst_expr): Copy CALL_EXPR_MUST_TAIL_CALL. - * semantics.cc (simplify_aggr_init_expr): Handle musttail. - -2024-07-20 Andi Kleen <ak@linux.intel.com> - - PR c/83324 - * cp-tree.h (AGGR_INIT_EXPR_MUST_TAIL): Add. - * parser.cc (cp_parser_statement): Handle musttail. - (cp_parser_jump_statement): Dito. - * pt.cc (tsubst_expr): Copy CALL_EXPR_MUST_TAIL_CALL. - * semantics.cc (simplify_aggr_init_expr): Handle musttail. - -2024-07-19 Patrick Palka <ppalka@redhat.com> - - PR c++/115783 - * call.cc (build_new_method_call): Generalize METHOD_TYPE - check to DECL_OBJECT_MEMBER_FUNCTION_P. - -2024-07-19 Seyed Sajad Kahani <sska1377@gmail.com> - - * constraint.cc (hash_placeholder_constraint): Rename to - iterative_hash_placeholder_constraint. - (iterative_hash_placeholder_constraint): Rename from - hash_placeholder_constraint and add the initial val argument. - * cp-tree.h (hash_placeholder_constraint): Rename to - iterative_hash_placeholder_constraint. - (iterative_hash_placeholder_constraint): Renamed from - hash_placeholder_constraint and add the initial val argument. - * pt.cc (struct ctp_hasher): Updated to use - iterative_hash_placeholder_constraint in the case of a valid placeholder - constraint. - (auto_hash::hash): Reflect the renaming of hash_placeholder_constraint to - iterative_hash_placeholder_constraint. - -2024-07-18 Marek Polacek <polacek@redhat.com> - - PR c++/108769 - PR c++/58074 - PR c++/115522 - PR c++/85723 - * class.cc (type_has_non_deleted_trivial_default_ctor): Fix formatting. - * tree.cc (trivial_type_p): Instead of TYPE_HAS_TRIVIAL_DFLT, use - type_has_non_deleted_trivial_default_ctor. - -2024-07-18 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115165 - * module.cc (lazy_load_binding): Use 'timevar_cond*' APIs. - (lazy_load_pendings): Likewise. - -2024-07-18 Patrick Palka <ppalka@redhat.com> - - PR c++/112288 - * pt.cc (tsubst_friend_function): When adjusting existing - specializations after defining a previously declared template - friend, consider the most general template and correct - DECL_TI_ARGS adjustment. - -2024-07-18 Patrick Palka <ppalka@redhat.com> - - PR c++/114104 - * cvt.cc (convert_to_void): Call warn_if_unused_value for - TRUTH_NOT_EXPR and ADDR_EXPR as well. - -2024-07-18 Patrick Palka <ppalka@redhat.com> - - * decl.cc (make_typename_type): Restrict name lookup failure - punting to dependentish_scope_p instead of dependent_type_p. - * error.cc (qualified_name_lookup_error): Improve diagnostic - when the scope is the current instantiation. - * parser.cc (cp_parser_diagnose_invalid_type_name): Likewise. - (cp_parser_conversion_function_id): Don't call push_scope on - a template scope unless we're in a declaration context. - (cp_parser_lookup_name): Restrict name lookup failure - punting to dependentish_scope_p instead of depedent_type_p. - * semantics.cc (finish_id_expression_1): Likewise. - * typeck.cc (finish_class_member_access_expr): Likewise. - -2024-07-17 Marek Polacek <polacek@redhat.com> - - PR c++/115900 - * constexpr.cc (cxx_eval_call_expression): Set new_obj to NULL_TREE - if cxx_fold_indirect_ref set empty_base to true. - -2024-07-17 Patrick Palka <ppalka@redhat.com> - - PR c++/111890 - * pt.cc (maybe_new_partial_specialization): Propagate TYPE_CONTEXT - to the newly created partial specialization. - -2024-07-17 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99242 - * name-lookup.cc (append_imported_binding_slot): Propagate dups - flags. - -2024-07-16 Nina Ranns <dinka.ranns@gmail.com> - - PR c++/110159 - * cp-tree.h (init_terminate_fn): Declaration of a new function. - * decl.cc (cxx_init_decl_processing): If contracts are enabled, - call init_terminate_fn. - * except.cc (init_exception_processing): Function refactored to - call init_terminate_fn. - (init_terminate_fn): Added new function that initializes - terminate_fn if it hasn't already been initialised. - -2024-07-16 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/115434 - PR c++/110871 - PR c++/110872 - * constexpr.cc (cxx_eval_constant_expression): Handle EH_ELSE_EXPR. - * contracts.cc (finish_contract_attribute): Remove excess line. - (build_contract_condition_function): Post condition handlers are - void now. - (emit_postconditions_cleanup): Remove. - (emit_postconditions): New. - (add_pre_condition_fn_call): New. - (add_post_condition_fn_call): New. - (apply_preconditions): New. - (apply_postconditions): New. - (maybe_apply_function_contracts): New. - (apply_postcondition_to_return): Remove. - * contracts.h (apply_postcondition_to_return): Remove. - (maybe_apply_function_contracts): Add. - * coroutines.cc (coro_build_actor_or_destroy_function): Do not - copy contracts to coroutine helpers. - * decl.cc (finish_function): Handle wrapping a possibly - transformed function body in contract checks. - * typeck.cc (check_return_expr): Remove handling of post - conditions on return expressions. - -2024-07-15 Patrick Palka <ppalka@redhat.com> - - PR c++/115897 - * pt.cc (complex_alias_template_p): Return true for an alias - template with attributes. - (get_underlying_template): Don't look through an alias template - with attributes. - -2024-07-13 David Malcolm <dmalcolm@redhat.com> - - * call.cc: Include "tree-pretty-print-markup.h". - (implicit_conversion_error): Use highlight_colors::percent_h for - the labelled range. - (op_error_string): Split out into... - (concat_op_error_string): ...this. - (binop_error_string): New. - (op_error): Use %e, binop_error_string, highlight_colors::lhs, - and highlight_colors::rhs. - (maybe_inform_about_fndecl_for_bogus_argument_init): Add - "highlight_color" param; use it for the richloc. - (convert_like_internal): Use highlight_colors::percent_h for the - labelled_range, and highlight_colors::percent_i for the call to - maybe_inform_about_fndecl_for_bogus_argument_init. - (build_over_call): Pass cp_comp_parm_types for new "comp_types" - param of check_function_arguments. - (complain_about_bad_argument): Use highlight_colors::percent_h for - the labelled_range, and highlight_colors::percent_i for the call - to maybe_inform_about_fndecl_for_bogus_argument_init. - * cp-tree.h (maybe_inform_about_fndecl_for_bogus_argument_init): - Add optional highlight_color param. - (cp_comp_parm_types): New decl. - (highlight_colors::const percent_h): New decl. - (highlight_colors::const percent_i): New decl. - * error.cc: Include "tree-pretty-print-markup.h". - (highlight_colors::const percent_h): New defn. - (highlight_colors::const percent_i): New defn. - (type_to_string): Add param "highlight_color" and use it. - (print_nonequal_arg): Likewise. - (print_template_differences): Add params "highlight_color_a" and - "highlight_color_b". - (type_to_string_with_compare): Add params "this_highlight_color" - and "peer_highlight_color". - (print_template_tree_comparison): Add params "highlight_color_a" - and "highlight_color_b". - (cxx_format_postprocessor::handle): - Use highlight_colors::percent_h and highlight_colors::percent_i. - (pp_markup::element_quoted_type::print_type): New. - (range_label_for_type_mismatch::get_text): Pass nullptr for new - params of type_to_string_with_compare. - * typeck.cc (cp_comp_parm_types): New. - (cp_build_function_call_vec): Pass it to check_function_arguments. - (convert_for_assignment): Use highlight_colors::percent_h for the - labelled_range. - -2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> - - * decl.cc (xref_tag): Move assertion into condition. - * name-lookup.cc (check_module_override): Check for conflicting - types and using-decls. - -2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114683 - * cp-tree.h (class ovl_iterator): Move definitions of purview_p - and exporting_p to name-lookup.cc. - * module.cc (depset::hash::add_binding_entity): Strip - using-decls. Remove workarounds. Handle CONST_DECLs with - different purview/exported from their enum. - (enum ct_bind_flags): Remove unnecessary cbf_wrapped flag. - (module_state::write_cluster): Likewise. - (module_state::read_cluster): Build USING_DECL for non-function - usings. - (binding_cmp): Handle CONST_DECLs with different purview and/or - exported from their enum. - (set_instantiating_module): Support CONST_DECLs. - * name-lookup.cc (get_fixed_binding_slot): Strip USING_DECLs. - (name_lookup::process_binding): Strip USING_DECLs. - (name_lookup::process_module_binding): Remove workaround. - (update_binding): Strip USING_DECLs, remove incorrect check for - non-extern variables. - (ovl_iterator::purview_p): Support USING_DECLs. - (ovl_iterator::exporting_p): Support USING_DECLs. - (walk_module_binding): Handle stat hack type. - (do_nonmember_using_decl): Strip USING_DECLs when comparing; - build USING_DECLs for non-function usings in different scope - rather than binding directly. - (get_namespace_binding): Strip USING_DECLs. - (lookup_name): Strip USING_DECLs. - (lookup_elaborated_type): Strip USING_DECLs. - * decl.cc (poplevel): Still support -Wunused for using-decls. - (lookup_and_check_tag): Remove unnecessary strip_using_decl. - * parser.cc (cp_parser_template_name): Likewise. - (cp_parser_nonclass_name): Likewise. - (cp_parser_class_name): Likewise. - -2024-07-11 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99241 - * decl.cc (duplicate_decls): Merge module entity information. - -2024-07-10 Marek Polacek <polacek@redhat.com> - - * constraint.cc (deduce_concept_introduction, get_deduced_wildcard, - get_introduction_prototype, introduce_type_template_parameter, - introduce_template_template_parameter, - introduce_nontype_template_parameter, - build_introduced_template_parameter, introduce_template_parameter, - introduce_template_parameter_pack, introduce_template_parameter, - introduce_template_parameters, process_introduction_parms, - check_introduction_list, finish_template_introduction): Remove. - (finish_shorthand_constraint): Remove a Concepts TS comment. - * cp-tree.h (check_auto_in_tmpl_args, finish_template_introduction): - Remove. - * decl.cc (function_requirements_equivalent_p): Remove pre-C++20 code. - (grokfndecl): Don't check flag_concepts_ts. - (grokvardecl): Don't check that concept have type bool. - * parser.cc (cp_parser_decl_specifier_seq): Don't check - flag_concepts_ts. - (cp_parser_introduction_list): Remove. - (cp_parser_template_id): Remove dead code. - (cp_parser_simple_type_specifier): Don't check flag_concepts_ts. - (cp_parser_placeholder_type_specifier): Require require auto or - decltype(auto) even pre-C++20. Don't check flag_concepts_ts. - (cp_parser_type_id_1): Don't check flag_concepts_ts. - (cp_parser_template_type_arg): Likewise. - (cp_parser_requires_clause_opt): Remove flag_concepts_ts code. - (cp_parser_compound_requirement): Don't check flag_concepts_ts. - (cp_parser_template_introduction): Remove. - (cp_parser_template_declaration_after_export): Don't call - cp_parser_template_introduction. - * pt.cc (template_heads_equivalent_p): Remove pre-C++20 code. - (find_parameter_pack_data): Remove type_pack_expansion_p. - (find_parameter_packs_r): Remove flag_concepts_ts code. Remove - type_pack_expansion_p code. - (uses_parameter_packs): Remove type_pack_expansion_p code. - (make_pack_expansion): Likewise. - (check_for_bare_parameter_packs): Likewise. - (fixed_parameter_pack_p): Likewise. - (tsubst_qualified_id): Remove dead code. - (extract_autos_r): Remove. - (extract_autos): Remove. - (do_auto_deduction): Remove flag_concepts_ts code. - (type_uses_auto): Likewise. - (check_auto_in_tmpl_args): Remove. - -2024-07-10 Marek Polacek <polacek@redhat.com> - - PR c++/115645 - * init.cc (build_new): Don't do any deduction for arrays with - bounds if it's value-initialized. - -2024-07-10 Nina Ranns <dinka.ranns@gmail.com> - - PR c++/113968 - * contracts.cc (grok_contract): Check for error_mark_node early - exit. - -2024-07-09 Jakub Jelinek <jakub@redhat.com> - - * constexpr.cc (cxx_eval_constant_expression): CWG2819 - Allow - cv void * null pointer value conversion to object types in constant - expressions. - -2024-07-07 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (trees_out::get_merge_kind): Use - LAMBDA_TYPE_EXTRA_SCOPE instead of LAMBDA_EXPR_EXTRA_SCOPE. - (trees_out::key_mergeable): Likewise. - -2024-07-04 Tamar Christina <tamar.christina@arm.com> - - PR c++/115623 - * semantics.cc (finish_for_cond): Add check for C++ cond. - -2024-07-04 Jason Merrill <jason@redhat.com> - - * error.cc (dump_decl) [OVERLOAD]: Recurse on single case. - -2024-07-04 Jason Merrill <jason@redhat.com> - - * pt.cc (ctad_template_p): Return false for trait names. - -2024-07-02 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/115754 - * constexpr.cc (cxx_eval_constant_expression) <case CONVERT_EXPR>: - For conversions to void, pass vc_discard to the recursive call - and otherwise for tcode other than VIEW_CONVERT_EXPR pass vc_prvalue. - -2024-07-02 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/115747 - * init.cc: Implement C++26 P3144R2 - Deleting a Pointer to an - Incomplete Type Should be Ill-formed. - (build_vec_delete_1): Emit permerror_at and return error_mark_node - for delete [] on incomplete type. - (build_delete): Similarly for delete. - -2024-07-02 Jakub Jelinek <jakub@redhat.com> - - PR c++/115745 - * cp-tree.h: Implement C++26 P0963R3 - Structured binding declaration - as a condition. - (DECL_DECOMP_BASE): Adjust comment. - (DECL_DECOMP_IS_BASE): Define. - * parser.cc (cp_parser_selection_statement): Adjust - cp_parser_condition caller. - (cp_parser_condition): Add KEYWORD argument. Parse - C++26 structured bindings in conditions. - (cp_parser_c_for, cp_parser_iteration_statement): Adjust - cp_parser_condition callers. - (cp_parser_simple_declaration): Adjust - cp_parser_decomposition_declaration caller. - (cp_parser_decomposition_declaration): Add KEYWORD argument. - If it is not RID_MAX, diagnose for C++23 and older rather than C++14 - and older. Set DECL_DECOMP_BASE to integer_zero_node for structured - bindings used in if/while/for conditions or integer_one_node for - those used in switch conditions. - * decl.cc (poplevel, check_array_initializer): Use DECL_DECOMP_IS_BASE - instead of !DECL_DECOMP_BASE. - (cp_finish_decomp): Diagnose array initializer for structured bindings - used in conditions. If using std::tuple_{size,element}, emit - conversion to bool or integer/enumeration of e into a TARGET_EXPR - before emitting get method calls. - * decl2.cc (mark_used): Use DECL_DECOMP_IS_BASE instead of - !DECL_DECOMP_BASE. - * module.cc (trees_in::tree_node): Likewise. - * typeck.cc (maybe_warn_about_returning_address_of_local): Likewise. - * semantics.cc (maybe_convert_cond): For structured bindings with - TARGET_EXPR DECL_DECOMP_BASE use that as condition. - (finish_switch_cond): Likewise. - -2024-07-02 Lewis Hyatt <lhyatt@gmail.com> - - * Make-lang.in: Remove redundant slash. - -2024-07-02 Simon Martin <simon@nasilyan.com> - - PR c++/111160 - * tree.cc (stabilize_expr): Stabilized expressions can have - TREE_SIDE_EFFECTS if they're volatile. - -2024-07-01 Marek Polacek <polacek@redhat.com> - - PR c++/115469 - * decl.cc (automatic_var_with_nontrivial_dtor_p): New. - (poplevel_named_label_1): Use it. - (check_goto_1): Likewise. - -2024-07-01 Marek Polacek <polacek@redhat.com> - - PR c++/115430 - * typeck.cc (cp_build_compound_expr): Call resolve_nondeduced_context - on RHS. - -2024-07-01 Marek Polacek <polacek@redhat.com> - - DR 2627 - PR c++/94058 - PR c++/104392 - * typeck2.cc (check_narrowing): Don't warn if the conversion isn't - narrowing as per DR 2627. - -2024-06-28 Patrick Palka <ppalka@redhat.com> - - PR c++/106760 - * call.cc (add_candidates): Relax test for adding a candidate - to 'bad_cands' to also accept an uninstantiated template candidate - that has no missing conversions. - -2024-06-26 David Malcolm <dmalcolm@redhat.com> - - * parser.cc (cp_parser_error_1): Pass *global_dc to - gcc_rich_location::add_location_if_nearby. - (cp_parser_decl_specifier_seq): Likewise. - (cp_parser_set_storage_class): Likewise. - (cp_parser_set_storage_class): Likewise. - -2024-06-26 Patrick Palka <ppalka@redhat.com> - - PR c++/115504 - * semantics.cc (finish_decltype_type): Don't strip the reference - type (if any) of a capture proxy's captured variable. - -2024-06-25 Marek Polacek <polacek@redhat.com> - - PR c++/115476 - * semantics.cc (finish_trait_expr) - <case CPTK_HAS_UNIQUE_OBJ_REPRESENTATIONS>: Move below to call - check_trait_type with kind==2. - -2024-06-25 Marek Polacek <polacek@redhat.com> - - PR c++/115425 - * pt.cc (tsubst_pack_expansion): Return error_mark_node if - make_pack_expansion doesn't work out. - -2024-06-25 Marek Polacek <polacek@redhat.com> - - PR c++/115501 - * rtti.cc (build_dynamic_cast_1): Return if dcast_fn is erroneous. - -2024-06-25 Patrick Palka <ppalka@redhat.com> - - PR c++/115198 - * pt.cc (alias_ctad_tweaks): Update DECL_NAME of the transformed - guides. - -2024-06-25 Patrick Palka <ppalka@redhat.com> - - PR c++/115358 - * decl2.cc (mark_used): Call maybe_instantiate_decl for an array - variable with unknown bound. - * semantics.cc (finish_decltype_type): Remove now redundant - handling of array variables with unknown bound. - * typeck.cc (cxx_sizeof_expr): Likewise. - -2024-06-25 Sandra Loosemore <sloosemore@baylibre.com> - - PR c/115587 - * parser.cc (cp_parser_omp_loop_nest): Move initializations to - point of declaration. - -2024-06-17 Jakub Jelinek <jakub@redhat.com> - - PR target/111343 - PR c++/115511 - * typeck.cc (cp_compare_floating_point_conversion_ranks): If an - extended floating point type mv1 has same set of values as more - than one standard floating point type and mv2 is float, return 2. - -2024-06-13 Jason Merrill <jason@redhat.com> - - PR c++/114683 - * name-lookup.cc (do_nonmember_using_decl): Allow exporting - a newly inserted decl. - -2024-06-13 Jason Merrill <jason@redhat.com> - - PR c++/115194 - * name-lookup.cc (name_lookup::process_module_binding): Strip an - OVERLOAD from a non-function. - -2024-06-13 Jason Merrill <jason@redhat.com> - - * module.cc (depset::hash::add_binding_entity): Adjust comment. - -2024-06-13 Patrick Palka <ppalka@redhat.com> - - PR c++/99678 - * parser.cc (cp_parser_constraint_primary_expression): Diagnose - a bare unresolved unqualified-id. - -2024-06-13 Patrick Palka <ppalka@redhat.com> - - PR c++/115239 - * call.cc (tourney): Don't consider a non-strictly viable - candidate as the champ if there was ambiguity between two - strictly viable candidates. - -2024-06-13 Andi Kleen <ak@linux.intel.com> - - * parser.cc (cp_parser_asm_string_expression): Use correct error - message. - -2024-06-13 Andi Kleen <ak@linux.intel.com> - - * parser.cc (cp_parser_asm_string_expression): Parse close - parent when constexpr extraction fails. - -2024-06-13 Andi Kleen <ak@linux.intel.com> - - * parser.cc (cp_parser_asm_string_expression): Remove support - for const char * for asm constexpr. - -2024-06-13 Patrick Palka <ppalka@redhat.com> - - PR c++/115283 - * decl2.cc (min_vis_expr_r) <case TEMPLATE_DECL>: Ignore - concepts. - -2024-06-12 Jason Merrill <jason@redhat.com> - - * tree.cc (lookup_maybe_add): Use ovl_make when setting OVL_USING_P. - -2024-06-12 Jason Merrill <jason@redhat.com> - - * module.cc (depset::hash::add_binding_entity): Set - DECL_MODULE_PURVIEW_P instead of asserting. - -2024-06-12 Andi Kleen <ak@linux.intel.com> - - * cp-tree.h (extract): Add new overload to return tree. - * parser.cc (cp_parser_asm_string_expression): Use tree extract. - * semantics.cc (cexpr_str::extract): Add new overload to return - tree. - -2024-06-12 David Malcolm <dmalcolm@redhat.com> - - * error.cc (append_formatted_chunk): Move part of body into - chunk_info::append_formatted_chunk. - -2024-06-12 David Malcolm <dmalcolm@redhat.com> - - * cxx-pretty-print.cc: Update throughout for fields of - pretty_printer becoming private. - * error.cc: Likewise. - -2024-06-11 Andi Kleen <ak@linux.intel.com> - - * parser.cc (cp_parser_asm_string_expression): New function - to handle constexpr strings for asm. - (cp_parser_asm_definition): Use cp_parser_asm_string_expression. - (cp_parser_yield_expression): Dito. - (cp_parser_asm_specification_opt): Dito. - (cp_parser_asm_operand_list): Dito. - (cp_parser_asm_clobber_list): Dito. - -2024-06-11 Andi Kleen <ak@linux.intel.com> - - * cp-tree.h (class cexpr_str): Add. - * semantics.cc (finish_static_assert): Convert to use cexpr_str. - (cexpr_str::type_check): Extract constexpr string code to here. - (cexpr_str::extract): ... and here. - -2024-06-08 Simon Martin <simon@nasilyan.com> - - PR c++/108438 - * parser.cc (cp_parser_postfix_expression): Use - cp_parser_require_end_of_template_parameter_list to skip to the closing - '>' upon error parsing the target type of *_cast<*> expressions. - -2024-06-07 Simon Martin <simon@nasilyan.com> - - PR c++/107575 - * decl.cc (duplicate_decls): Check for error_mark_node - DECL_LOCAL_DECL_ALIAS. - -2024-06-07 Jason Merrill <jason@redhat.com> - - * module.cc (maybe_translate_include): Allow before the main file. - -2024-06-07 Patrick Palka <ppalka@redhat.com> - - PR c++/115378 - * lambda.cc (lambda_capture_field_type): Set - TEMPLATE_TYPE_PARAMETER_PACK on the auto type of an init-capture - pack expansion. - * pt.cc (find_parameter_packs_r) <case TEMPLATE_TYPE_PARM>: - Restrict TEMPLATE_TYPE_PARAMETER_PACK promotion with - flag_concepts_ts. - -2024-06-05 Jakub Jelinek <jakub@redhat.com> - Frederik Harwath <frederik@codesourcery.com> - Sandra Loosemore <sandra@codesourcery.com> - - * cp-tree.h (dependent_omp_for_p): Add another tree argument. - * parser.cc (check_omp_intervening_code): Reject imperfectly nested - tile. - (cp_parser_statement_seq_opt): If want_nested_loop, use - cp_parser_next_tokens_can_be_canon_loop instead of just checking - for RID_FOR keyword. - (cp_parser_omp_clause_name): Handle full and partial clause names. - (cp_parser_omp_clause_full, cp_parser_omp_clause_partial): New - functions. - (cp_parser_omp_all_clauses): Formatting fix. Handle - PRAGMA_OMP_CLAUSE_PARTIAL and PRAGMA_OMP_CLAUSE_FULL. - (cp_parser_next_tokens_can_be_canon_loop): New function. - (cp_parser_omp_loop_nest): Parse C++11 attributes. Handle tile/unroll - constructs. Use cp_parser_next_tokens_can_be_canon_loop instead - of just checking for RID_FOR keyword. Only add_stmt - cp_parser_omp_loop_nest result if it is non-NULL. - (cp_parser_omp_for_loop): Rename tiling variable to oacc_tiling. For - OMP_CLAUSE_SIZES set collapse to list length of OMP_CLAUSE_SIZES_LIST. - Use cp_parser_next_tokens_can_be_canon_loop instead of just - checking for RID_FOR keyword. Remove spurious semicolon. Don't call - c_omp_check_loop_binding_exprs if stmt is NULL. Skip and/or handle - generated loops. Remove spurious ()s around & operands. - (cp_parser_omp_tile_sizes, cp_parser_omp_tile): New functions. - (OMP_UNROLL_CLAUSE_MASK): Define. - (cp_parser_omp_unroll): New function. - (cp_parser_omp_construct): Handle PRAGMA_OMP_TILE and - PRAGMA_OMP_UNROLL. - (cp_parser_pragma): Likewise. - * semantics.cc (finish_omp_clauses): Don't call - fold_build_cleanup_point_expr for cases which obviously won't need it, - like checked INTEGER_CSTs. Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES} - and diagnose full vs. partial conflict. Adjust wording of some of the - conflicting clause diagnostic messages to include word clause. - (finish_omp_for): Use decl equal to global_namespace as a marker for - generated loop. Pass also body to dependent_omp_for_p. Skip - generated loops. - (finish_omp_for_block): Skip generated loops. - * pt.cc (tsubst_omp_clauses): Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES}. - (tsubst_stmt): Handle OMP_TILE and OMP_UNROLL. Handle or skip - generated loops. - (dependent_omp_for_p): Add body argument. If declv vector element - is NULL, find generated loop. - * cp-gimplify.cc (cp_gimplify_expr): Handle OMP_TILE and OMP_UNROLL. - (cp_fold_r): Likewise. - (cp_genericize_r): Likewise. Skip generated loops. - -2024-06-04 Simon Martin <simon@nasilyan.com> - - * pt.cc (tsubst_expr): Add missing space after seen_error. - (dependent_type_p): Likewise. - -2024-06-04 Simon Martin <simon@nasilyan.com> - - PR c++/111106 - * pt.cc (dependent_type_p): Don't fail assert during error recovery. - -2024-06-03 Jakub Jelinek <jakub@redhat.com> - - PR c++/115012 - * parser.cc (cp_parser_direct_declarator): Handle - abstract declarator starting with ... followed by opening paren. - -2024-06-02 Simon Martin <simon@nasilyan.com> - - PR c++/109958 - * typeck.cc (build_class_member_access_expr): Handle single OVERLOADs. - (cp_build_addr_expr_1): Likewise. - -2024-06-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114867 - * cp-tree.h (OVL_PURVIEW_P): New. - (ovl_iterator::purview_p): New. - * module.cc (depset::hash::add_binding_entity): Only ignore - entities not within module purview. Set OVL_PURVIEW_P on new - OVERLOADs for emitted declarations. - (module_state::read_cluster): Imported using-decls are always - in purview, mark as OVL_PURVIEW_P. - * name-lookup.h (enum WMB_Flags): New WMB_Purview flag. - * name-lookup.cc (walk_module_binding): Set WMB_Purview as - needed. - (do_nonmember_using_decl): Don't remove from existing OVERLOADs. - Also reveal non-exported decls. Also reveal 'extern "C"' decls. - Add workaround to reveal non-function decls. - * tree.cc (ovl_insert): Adjust to also set OVL_PURVIEW_P when - needed. - -2024-05-29 Jason Merrill <jason@redhat.com> - - PR c++/109753 - * decl.cc (start_preparsed_function): Call decl_attributes. - -2024-05-29 Jason Merrill <jason@redhat.com> - - * lang-specs.h: Add module interface extensions. - -2024-05-29 Patrick Palka <ppalka@redhat.com> - - PR c++/115223 - * tree.cc (build_cp_fntype_variant): Propagate structural - equality of the exception-less variant. - -2024-05-28 Marek Polacek <polacek@redhat.com> - - PR c++/109396 - * cp-tree.h (maybe_warn_self_move): Declare. - * init.cc (perform_member_init): Call maybe_warn_self_move. - * typeck.cc (maybe_warn_self_move): No longer static. Change the - return type to bool. Also warn when called from - a member-initializer-list. Drop the inform call. - -2024-05-28 Marek Polacek <polacek@redhat.com> - - PR c++/114707 - * call.cc (convert_for_arg_passing): Call set_target_expr_eliding. - * typeck2.cc (replace_placeholders_for_class_temp_r): Don't use pset. - (digest_nsdmi_init): Call cp_walk_tree_without_duplicates instead of - cp_walk_tree. - -2024-05-28 David Malcolm <dmalcolm@redhat.com> - - PR bootstrap/115167 - PR bootstrap/115167 - * call.cc: Replace include of "gcc-rich-location.h" with - "c-family/c-type-mismatch.h". - * error.cc: Likewise. - * typeck.cc: Likewise. - -2024-05-25 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/102345 - * module.cc (module_may_redeclare): Update error message. - -2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115200 - * parser.cc (cp_parser_error_1): Special-case unexpected module - directives for better diagnostics. - (cp_parser_module_declaration): Check that the module - declaration is at global scope. - (cp_parser_import_declaration): Sync error message with that in - cp_parser_error_1. - -2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * cp-tree.h (module_has_cmi_p): Also include header units. - (module_maybe_has_cmi_p): Update comment. - * module.cc (set_defining_module): Only need to track - declarations for later exporting if the module may have a CMI. - (set_defining_module_for_partial_spec): Likewise. - * name-lookup.cc (pushdecl): Likewise. - -2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * tree.cc (no_linkage_check): Anonymous types can't be accessed - in a different TU. - -2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114947 - * cp-tree.h (set_defining_module_for_partial_spec): Declare. - * module.cc (trees_in::decl_value): Track partial specs coming - from partitions. - (set_defining_module): Don't track partial specialisations here - anymore. - (set_defining_module_for_partial_spec): New function. - * pt.cc (process_partial_specialization): Call it. - -2024-05-23 Jason Merrill <jason@redhat.com> - - PR c++/115187 - * init.cc (build_delete): Use get_target_expr instead of save_expr. - * tree.cc (stabilize_expr): Update comment. - -2024-05-22 Patrick Palka <ppalka@redhat.com> - - PR c++/115159 - * tree.cc (build_cp_fntype_variant): Always use structural - equality for types with a complex exception specification. - (fixup_deferred_exception_variants): Use structural equality - for adjusted variants. - * typeck.cc (comp_except_specs): Require == instead of - cp_tree_equal for ce_exact noexcept-spec comparison. - -2024-05-22 Nathaniel Shead <nathanieloshead@gmail.com> - - * decl.cc (grokfndecl): Check for main functions with language - linkage or module attachment. - (grokvardecl): Check for extern 'C' entities named main. - -2024-05-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107800 - * cxxapi-data.csv <to_address>: Change dialect to cxx20. - * std-name-hint.gperf: Regenerate. - * std-name-hint.h: Regenerate. - -2024-05-21 Patrick Palka <ppalka@redhat.com> - - PR c++/115139 - * pt.cc (tsubst_expr) <case CONST_DECL>: Exit early if args - is empty. - -2024-05-17 Patrick Palka <ppalka@redhat.com> - - PR c++/115114 - * pt.cc (maybe_aggr_guide): Consider bases in the paren init case. - -2024-05-15 Marek Polacek <polacek@redhat.com> - - PR c++/114854 - * call.cc (convert_like_internal) <case ck_user>: Don't set - TARGET_EXPR_DIRECT_INIT_P. - -2024-05-15 Marek Polacek <polacek@redhat.com> - - DR 1693 - PR c++/113760 - DR 569 - * parser.cc (extra_semi_kind): New. - (maybe_warn_extra_semi): New. - (cp_parser_declaration): Call maybe_warn_extra_semi. - (cp_parser_member_declaration): Likewise. - -2024-05-15 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR lto/113208 - * cp-tree.h (maybe_optimize_cdtor): Remove. - * decl2.cc (tentative_decl_linkage): Call maybe_make_one_only - for implicit instantiations of maybe in charge ctors/dtors - declared inline. - (import_export_decl): Don't call maybe_optimize_cdtor. - (c_parse_final_cleanups): Formatting fixes. - * optimize.cc (can_alias_cdtor): Adjust condition, for - HAVE_COMDAT_GROUP && DECL_ONE_ONLY && DECL_WEAK return true even - if not DECL_INTERFACE_KNOWN. - (maybe_clone_body): Don't clear DECL_SAVED_TREE, instead set it - to void_node. - (maybe_clone_body): Remove. - * decl.cc (cxx_comdat_group): For DECL_CLONED_FUNCTION_P - functions if SUPPORTS_ONE_ONLY return DECL_COMDAT_GROUP if already - set. - -2024-05-15 Jakub Jelinek <jakub@redhat.com> - - PR c/115103 - * semantics.cc (finish_omp_clauses): Diagnose grainsize - used together with num_tasks. - -2024-05-15 Patrick Palka <ppalka@redhat.com> - - PR c++/114994 - * tree.cc (lvalue_kind) <case MODOP_EXPR>: For a class - assignment, consider the result type. - -2024-05-14 Simon Martin <simon-l.martin@laposte.net> - - PR c++/105760 - * pt.cc (build_deduction_guide): Check for error_mark_node - result from tsubst_arg_types. - -2024-05-14 Jason Merrill <jason@redhat.com> - - * decl.cc (wrap_cleanups_r): Clarify comment. - * init.cc (build_vec_init): Update comment. - -2024-05-13 Patrick Palka <ppalka@redhat.com> - - * constraint.cc (norm_info::norm_info): Take a bool instead of - tsubst_flags_t. - (norm_info::generate_diagnostics): Turn this predicate function - into a bool data member. - (normalize_logical_operation): Adjust after norm_info changes. - (normalize_concept_check): Likewise. - (normalize_atom): Likewise. - (get_normalized_constraints_from_info): Likewise. - (normalize_concept_definition): Likewise. - (normalize_constraint_expression): Likewise. - (normalize_placeholder_type_constraints): Likewise. - (satisfy_nondeclaration_constraints): Likewise. - * cp-tree.h (enum tsubst_flags): Remove tf_norm. - -2024-05-13 Ken Matsui <kmatsui@gcc.gnu.org> - - PR c++/115061 - * semantics.cc (finish_trait_expr): Use rank instead of - __array_rank. - -2024-05-13 Patrick Palka <ppalka@redhat.com> - - PR c++/114974 - PR c++/114901 - PR c++/114903 - * pt.cc (maybe_aggr_guide): Fix obtaining TYPE_FIELDS in - the paren init case. Hoist out partial substitution logic - to apply to the paren init case as well. - (alias_ctad_tweaks): Substitute outer template arguments into - a guide's constraints. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __is_nothrow_invocable. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_IS_NOTHROW_INVOCABLE. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __is_invocable. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_INVOCABLE. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - * cp-tree.h (build_invoke): New function. - * method.cc (build_invoke): New function. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __array_rank. - * constraint.cc (diagnose_trait_expr): Handle CPTK_RANK. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __decay. - * semantics.cc (finish_trait_type): Handle CPTK_DECAY. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __add_rvalue_reference. - * semantics.cc (finish_trait_type): Handle - CPTK_ADD_RVALUE_REFERENCE. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __add_lvalue_reference. - * semantics.cc (finish_trait_type): Handle - CPTK_ADD_LVALUE_REFERENCE. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __remove_all_extents. - * semantics.cc (finish_trait_type): Handle - CPTK_REMOVE_ALL_EXTENTS. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __remove_extent. - * semantics.cc (finish_trait_type): Handle CPTK_REMOVE_EXTENT. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __add_pointer. - * semantics.cc (finish_trait_type): Handle CPTK_ADD_POINTER. - (object_type_p): New function. - (referenceable_type_p): Likewise. - (trait_expr_value): Use object_type_p. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __is_unbounded_array. - * constraint.cc (diagnose_trait_expr): Handle - CPTK_IS_UNBOUNDED_ARRAY. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2024-05-10 Jakub Jelinek <jakub@redhat.com> - - PR target/114968 - * cp-tree.h (atexit_fn_ptr_type_node, cleanup_type): Adjust macro - comments. - (get_cxa_atexit_fn_ptr_type): Declare. - * decl.cc (get_atexit_fn_ptr_type): Adjust function comment, only - build type for atexit argument. - (get_cxa_atexit_fn_ptr_type): New function. - (get_atexit_node): Call get_cxa_atexit_fn_ptr_type rather than - get_atexit_fn_ptr_type when using __cxa_atexit. - (get_thread_atexit_node): Call get_cxa_atexit_fn_ptr_type - rather than get_atexit_fn_ptr_type. - (start_cleanup_fn): Add ob_parm argument, call - get_cxa_atexit_fn_ptr_type or get_atexit_fn_ptr_type depending - on it and create PARM_DECL also based on that argument. - (register_dtor_fn): Adjust start_cleanup_fn caller, use - get_cxa_atexit_fn_ptr_type rather than get_atexit_fn_ptr_type - for use_dtor casts. - * except.cc (build_throw): Use get_cxa_atexit_fn_ptr_type (). - -2024-05-09 Marek Polacek <polacek@redhat.com> - - PR c++/114983 - * pt.cc (tsubst_expr) <case SIZEOF_EXPR>: Use copy_warning. - * semantics.cc (finish_parenthesized_expr): Also suppress - -Wsizeof-array-div. - -2024-05-09 Marek Polacek <polacek@redhat.com> - - PR c++/85889 - * lambda.cc (add_capture): Add a pedwarn for capturing structured - bindings. - -2024-05-08 Marek Polacek <polacek@redhat.com> - - PR c++/113582 - * parser.cc (cp_parser_label_for_labeled_statement): suppress_warning - if it's not enabled at input_location. - * pt.cc (tsubst_stmt): Call copy_warning. - -2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114856 - * call.cc (make_temporary_var_for_ref_to_temp): Set context for - temporaries with linkage. - * init.cc (create_temporary_var): Revert to only set context - when in a function decl. - -2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR c++/89224 - * constexpr.cc (cxx_eval_array_reference): Compare main variants - for the vector/array types instead of the types directly. - -2024-05-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/114459 - * parser.cc (cp_parser_member_declaration): Implement C++26 - P2893R3 - Variadic friends. Parse friend type declarations - with ... or with more than one friend type specifier. - * friend.cc (make_friend_class): Allow TYPE_PACK_EXPANSION. - * pt.cc (instantiate_class_template): Handle PACK_EXPANSION_P - in friend classes. - -2024-05-07 Marek Polacek <polacek@redhat.com> - - * decl.cc (duplicate_decls): Don't check VAR_P before - DECL_DECOMPOSITION_P. - * init.cc (build_aggr_init): Likewise. - * parser.cc (cp_parser_range_for): Likewise. - (do_range_for_auto_deduction): Likewise. - (cp_convert_range_for): Likewise. - (cp_convert_omp_range_for): Likewise. - (cp_finish_omp_range_for): Likewise. - * pt.cc (extract_locals_r): Likewise. - (tsubst_omp_for_iterator): Likewise. - (tsubst_decomp_names): Likewise. - (tsubst_stmt): Likewise. - * typeck.cc (maybe_warn_about_returning_address_of_local): Likewise. - -2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * Make-lang.in (cc1plus$(exeext)): Remove $(NETLIBS). - -2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114954 - * cp-tree.h (IS_FAKE_BASE_TYPE): Also apply to unions. - -2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114275 - * cp-tree.h (remove_defining_module): Declare. - * decl.cc (duplicate_decls): Call remove_defining_module on - to-be-freed newdecl. - * module.cc (imported_temploid_friends): Mark as GTY root... - (init_modules): ...and allocate from ggc. - (trees_in::decl_value): Only track for declarations that won't - be discarded. - (remove_defining_module): New function. - -2024-05-06 Qing Zhao <qing.zhao@oracle.com> - - PR c/53548 - * decl.cc (layout_var_decl): Handle the cases when the DECL is - union with a flexible array member initializer. - -2024-05-06 Qing Zhao <qing.zhao@oracle.com> - - PR c/53548 - * class.cc (diagnose_flexarrays): Change error to pdewarn for the case - flexible array members alone in structures. - * decl.cc (grokdeclarator): Change error to pdewarn for the case - flexible array members in unions. - -2024-05-03 Jason Merrill <jason@redhat.com> - - PR c++/114935 - * cp-gimplify.cc (cp_genericize_init): Add flags parm. - (cp_genericize_init_expr): Pass nullptr. - (cp_genericize_target_expr): Handle cleanup flags. - * typeck2.cc (build_disable_temp_cleanup): Factor out of... - (split_nonconstant_init): ...here. - * cp-tree.h (build_disable_temp_cleanup): Declare. - -2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __is_pointer. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_POINTER. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __is_volatile. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_VOLATILE. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> - - * cp-trait.def: Define __is_const. - * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_CONST. - * semantics.cc (trait_expr_value): Likewise. - (finish_trait_expr): Likewise. - -2024-05-03 Patrick Palka <ppalka@redhat.com> - - * coroutines.cc (instantiate_coro_traits): Adjust call to - lookup_template_class. - (instantiate_coro_handle_for_promise_type): Likewise. - * cp-tree.h (adjust_type_for_entering_scope): Declare. - (lookup_template_class): Adjust declaration. - * decl.cc (make_typename_type): Adjust call to - lookup_template_class. Likewise. - (get_tuple_size): Likewise. - (get_tuple_element_type): Likewise. - * pt.cc (adjust_type_for_entering_scope): Define. - (tsubst_entering_scope): Define. - (lookup_template_class): Remove entering_scope parameter. - Replace tsubst_aggr_type call with tsubst_entering_scope. - (tsubst_aggr_type): Remove. - (tsubst_aggr_type_1): Inline into tsubst. - (tsubst_function_decl): Replace tsubst_aggr_type call - with tsubst_entering_scope. - (tsubst_template_decl): Likewise. - (tsubst_decl): Likewise. - (tsubst) <case RECORD_TYPE, UNION_TYPE, ENUMERAL_TYPE>: - Inlined from tsubst_aggr_type_1. - <case BOUND_TEMPLATE_TEMPLATE_PARM>: Adjust calls to - lookup_template_class. - <case TYPENAME_TYPE>: Replace tsubst_aggr_type call with - tsubst_entering_scope. - <case UNBOUND_CLASS_TEMPLATE>: Likewise. - Increment processing_template_decl when substituting the - context. - (tsubst_expr) <case FIELD_DECL>: Replace tsubst_aggr_type - call with tsubst_entering_scope. - <case TEMPLATE_DECL>: Likewise. - (instantiate_template): Likewise. - (resolve_typename_type): Adjust lookup_template_class call - and call adjust_type_for_entering_scope afterward. - (listify): Adjust lookup_template_class call. - (alias_ctad_tweaks): Likewise. - * semantics.cc (finish_template_type): Adjust lookup_template_class - call and maybe call adjust_type_for_entering_scope afterward. - -2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114917 - * parser.cc (cp_parser_declaration_seq_opt): Clear - parser->in_unbraced_* flags when parsing toplevel declarations. - -2024-05-02 Jakub Jelinek <jakub@redhat.com> - - PR c++/114458 - * parser.cc (cp_parser_pure_specifier): Implement C++26 P2573R2 - - = delete("should have a reason");. Parse deleted-function-body. - * decl.cc (duplicate_decls): Copy DECL_INITIAL from DECL_DELETED_FN - olddecl to newdecl if it is a STRING_CST. - (cp_finish_decl): Handle deleted init with a reason. - * decl2.cc: Include "escaped_string.h". - (grokfield): Handle deleted init with a reason. - (mark_used): Emit DECL_DELETED_FN reason in the message if any. - * cp-tree.h (DECL_DELETED_FN): Document representation of - = delete("reason") on a DECL. - -2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114630 - * module.cc (depset::hash::add_partial_entities): Mark GM - specializations as unreached. - (depset::hash::find_dependencies): Also reach entities in the - DECL_TEMPLATE_SPECIALIZATIONS list. - -2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/105224 - * class.cc (finish_struct_1): Also push classes attached to a - module into the 'keyed_classes' list. - * decl.cc (record_key_method_defined): Don't push classes - attached to a named module into the 'keyed_classes' list. - * module.cc (trees_in::read_class_def): Likewise. - * decl2.cc (import_export_class): Uniquely emit vtables for - non-template classes attached to a named module. - (vtables_uniquely_emitted): New function. - (import_export_decl): Update comments. Update with knowledge - about new kinds of uniquely emitted vtables. - -2024-05-01 Jason Merrill <jason@redhat.com> - - * cp-tree.h (base_ctor_identifier): Adjust comment. - * call.cc (in_charge_arg_for_name): Abort on deleting dtor. - * decl2.cc (maybe_retrofit_in_chrg): Don't add it for - destructors without vbases, either. - * constexpr.cc (cxx_eval_call_expression): Remove workaround. - -2024-05-01 Jason Merrill <jason@redhat.com> - - PR c++/113706 - * decl.cc (decls_match): Handle memchr return type being - const-qualified. - -2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> - - * name-lookup.cc (walk_module_binding): Use the - partition-specific hidden flag instead of the top-level - decl_hidden. - -2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114868 - * module.cc (depset::hash::add_binding_entity): Propagate - OVL_USING_P for using-declarations. - -2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/107688 - * name-lookup.cc (push_namespace): Error when exporting - namespace with internal linkage. - * parser.h (struct cp_parser): Add new flag - 'in_unbraced_export_declaration_p'. - * parser.cc (cp_debug_parser): Print the new flag. - (cp_parser_new): Initialise the new flag. - (cp_parser_module_export): Set the new flag. - (cp_parser_class_specifier): Clear and restore the new flag. - (cp_parser_import_declaration): Imports can now appear directly - in a linkage specification. - (cp_parser_declaration): Categorise declarations as "name" or - "special"; error on the later in contexts where the former is - required. - (cp_parser_class_head): Error when exporting a partial - specialisation. - -2024-04-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/114456 - * parser.cc (cp_parser_decomposition_declaration): Implement C++26 - P0609R3 - Attributes for Structured Bindings. Parse attributed - identifier lists for structured binding declarations, pass the - attributes to start_decl. - -2024-04-30 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/105320 - PR c++/114275 - * cp-tree.h (propagate_defining_module): Declare. - (lookup_imported_hidden_friend): Declare. - * decl.cc (duplicate_decls): Also check if hidden decls can be - redeclared in this module. - * module.cc (imported_temploid_friends): New. - (init_modules): Initialize it. - (trees_out::decl_value): Write it; don't consider imported - temploid friends as attached to a module. - (trees_in::decl_value): Read it. - (get_originating_module_decl): Follow the owning decl for an - imported temploid friend. - (propagate_defining_module): New. - * name-lookup.cc (get_mergeable_namespace_binding): New. - (lookup_imported_hidden_friend): New. - * pt.cc (tsubst_friend_function): Propagate defining module for - new friend functions. - (tsubst_friend_class): Lookup imported hidden friends. Check - for valid module attachment of existing names. Propagate - defining module for new classes. - -2024-04-30 Nathaniel Shead <nathanieloshead@gmail.com> - - * cp-tree.h (module_may_redeclare): Add default parameter. - * decl.cc (duplicate_decls): Don't emit errors for failed - module_may_redeclare. - (xref_tag): Likewise. - (start_enum): Likewise. - * semantics.cc (begin_class_definition): Likewise. - * module.cc (module_may_redeclare): Clean up logic. Emit error - messages on failure. - -2024-04-30 Patrick Palka <ppalka@redhat.com> - - PR c++/114889 - * module.cc (trees_in::read_class_def): Look through - TEMPLATE_DECL when adding to CLASSTYPE_BEFRIENDING_CLASSES. - -2024-04-30 Patrick Palka <ppalka@redhat.com> - - PR c++/114888 - * typeck.cc (cp_build_binary_op) <case *_DIV_*>: Add missing - dependence check for the second sizeof operand. - -2024-04-26 Patrick Palka <ppalka@redhat.com> - - * error.cc (print_instantiation_partial_context_line): Clear the - pretty printer prefix around the call to diagnostic_show_locus. - -2024-04-25 Jakub Jelinek <jakub@redhat.com> - - PR c++/111284 - * constexpr.cc (cxx_bind_parameters_in_call): For PARM_DECLs with - TREE_ADDRESSABLE types use vc_glvalue rather than vc_prvalue for - cxx_eval_constant_expression and if it doesn't have the same - type as it should, cast the reference type to reference to type - before convert_from_reference and instead of adjust_temp_type - take address of the arg, cast to reference to type and then - convert_from_reference. - (cxx_eval_constant_expression) <case PARM_DECL>: For lval case - on parameters with TREE_ADDRESSABLE types lookup result in - ctx->globals if possible. Otherwise if lookup in ctx->globals - was successful for parameter with TREE_ADDRESSABLE type, - recurse with vc_prvalue on the returned value. - -2024-04-25 Jakub Jelinek <jakub@redhat.com> - - PR lto/113208 - * cp-tree.h (maybe_optimize_cdtor): Declare. - * decl2.cc (import_export_decl): Call it for cloned cdtors. - * optimize.cc (maybe_optimize_cdtor): New function. - -2024-04-24 Patrick Palka <ppalka@redhat.com> - - PR c++/114709 - * constexpr.cc (cxx_fold_indirect_ref): Restrict object/offset - canonicalization to RECORD_TYPE member accesses. - -2024-04-23 Nathaniel Shead <nathanieloshead@gmail.com> - - * parser.cc (cp_parser_parameter_declaration): Check if - decl_specifiers.type is null. - -2024-04-23 Patrick Palka <ppalka@redhat.com> - - PR c++/114795 - * module.cc (trees_in::is_matching_decl): Propagate deduced - function return type. - -2024-04-23 Jakub Jelinek <jakub@redhat.com> - - * parser.cc (cp_parser_using_declaration): Spelling fix: favour - -> favor. - -2024-04-23 Jakub Jelinek <jakub@redhat.com> - - PR c++/114784 - * method.cc (implicitly_declare_fn): Call clone_attrs - on DECL_ATTRIBUTES on STRIP_TEMPLATE (inherited_ctor) rather than - inherited_ctor. Also copy DECL_DISREGARD_INLINE_LIMITS flag from it. - -2024-04-23 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114078 - * decl.cc (grokdeclarator): Check allocation functions for xobj - parameters. - -2024-04-16 Jakub Jelinek <jakub@redhat.com> - - PR c++/114706 - * constexpr.cc (check_bit_cast_type): Handle ARRAY_TYPE. - -2024-04-15 Nathaniel Shead <nathanieloshead@gmail.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/114600 - * module.cc (depset::hash::add_binding_entity): Require both - WMB_Using and WMB_Export for GMF entities. - -2024-04-14 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/106820 - * module.cc (trees_in::decl_value): Assemble alias when needed. - -2024-04-13 Patrick Palka <ppalka@redhat.com> - - * module.cc (struct bytes_in::bits_in): Define defaulted - move ctor. - (struct bytes_out::bits_out): Likewise. - -2024-04-13 Patrick Palka <ppalka@redhat.com> - - * module.cc: Update comment about classes defined within. - (class data): Enclose in an anonymous namespace. - (data::calc_crc): Moved from bytes::calc_crc. - (class bytes): Remove. Move bit_flush to namespace scope. - (class bytes_in): Enclose in an anonymous namespace. Inherit - directly from data and adjust accordingly. Move b and bflush - members to bits_in. - (class bytes_out): As above. Remove is_set static data member. - (bit_flush): Moved from class bytes. - (struct bytes_in::bits_in): Define. - (struct bytes_out::bits_out): Define. - (bytes_in::stream_bits): Define. - (bytes_out::stream_bits): Define. - (bytes_out::bflush): Moved to bits_out/in. - (bytes_in::bflush): Likewise - (bytes_in::bfill): Removed. - (bytes_out::b): Moved to bits_out/in. - (bytes_in::b): Likewise. - (class trees_in): Enclose in an anonymous namespace. - (class trees_out): Enclose in an anonymous namespace. - (trees_out::core_bools): Add bits_out/in parameter and use it. - Unconditionally stream a bit for public_flag. Add early exits - as appropriate. - (trees_out::core_bools): Likewise. - (trees_out::lang_decl_bools): Add bits_out/in parameter and use - it. Flush the current bit buffer at the start. Unconditionally - stream a bit for module_keyed_decls_p. - (trees_in::lang_decl_bools): Likewise. - (trees_out::lang_type_bools): Add bits_out/in parameter and use - it. Flush the current bit buffer at the start. - (trees_in::lang_type_bools): Likewise. - (trees_out::tree_node_bools): Construct a bits_out object and - use/pass it. - (trees_in::tree_node_bools): Likewise. - (trees_out::decl_value): Likewise. - (trees_in::decl_value): Likewise. - (module_state::write_define): Likewise. - (module_state::read_define): Likewise. - -2024-04-12 Marek Polacek <polacek@redhat.com> - - PR c++/109966 - * typeck2.cc (potential_prvalue_result_of): Remove. - (replace_placeholders_for_class_temp_r): Check TARGET_EXPR_ELIDING_P. - Use a pset. Don't replace_placeholders in TARGET_EXPRs that initialize - a function argument. - -2024-04-12 Patrick Palka <ppalka@redhat.com> - - PR c++/99426 - * module.cc (merge_kind::MK_local_type): New enumerator. - (merge_kind_name): Update. - (trees_out::chained_decls): Move BLOCK-specific handling - of DECL_LOCAL_DECL_P decls to ... - (trees_out::core_vals) <case BLOCK>: ... here. Stream - BLOCK_VARS manually. - (trees_in::core_vals) <case BLOCK>: Stream BLOCK_VARS - manually. Handle deduplicated local types.. - (trees_out::key_local_type): Define. - (trees_in::key_local_type): Define. - (trees_out::get_merge_kind) <case FUNCTION_DECL>: Return - MK_local_type for a local type. - (trees_out::key_mergeable) <case FUNCTION_DECL>: Use - key_local_type. - (trees_in::key_mergeable) <case FUNCTION_DECL>: Likewise. - (trees_in::is_matching_decl): Be flexible with type mismatches - for local entities. - (trees_in::register_duplicate): Also register the - DECL_TEMPLATE_RESULT of a TEMPLATE_DECL as a duplicate. - (depset_cmp): Return 0 for equal IDENTIFIER_HASH_VALUEs. - -2024-04-12 Jason Merrill <jason@redhat.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/113141 - * call.cc (reference_binding): For an invalid cast, warn and don't - recalculate. - -2024-04-12 Jason Merrill <jason@redhat.com> - Patrick Palka <ppalka@redhat.com> - - DR 1996 - PR c++/113141 - * call.cc (reference_binding): Check direct binding from - a single-element list. - -2024-04-12 Jakub Jelinek <jakub@redhat.com> - - PR c++/114691 - * semantics.cc (simplify_loop_decl_cond): Use cp_build_unary_op with - TRUTH_NOT_EXPR on ANNOTATE_EXPR argument (if any) rather than - ANNOTATE_EXPR itself. - -2024-04-12 Patrick Palka <ppalka@redhat.com> - - PR c++/114393 - * pt.cc (tsubst_lambda_expr): Also defer all dependent - substitution. - -2024-04-12 Jakub Jelinek <jakub@redhat.com> - - PR c++/114426 - * constexpr.cc (is_valid_constexpr_fn): Return false/diagnose with - complain destructors in classes with virtual bases. - -2024-04-12 Patrick Palka <ppalka@redhat.com> - - PR c++/114393 - PR c++/107457 - PR c++/93595 - * cp-tree.h (LAMBDA_EXPR_EXTRA_ARGS): Define. - (tree_lambda_expr::extra_args): New field. - * module.cc (trees_out::core_vals) <case LAMBDA_EXPR>: Stream - LAMBDA_EXPR_EXTRA_ARGS. - (trees_in::core_vals) <case LAMBDA_EXPR>: Likewise. - * pt.cc (has_extra_args_mechanism_p): Return true for LAMBDA_EXPR. - (tree_extra_args): Handle LAMBDA_EXPR. - (tsubst_lambda_expr): Use LAMBDA_EXPR_EXTRA_ARGS to defer templated - substitution into a lambda-expr if we lost the template context. - Add sanity check for error_mark_node result from begin_lambda_type. - -2024-04-11 Patrick Palka <ppalka@redhat.com> - - PR c++/114303 - * constraint.cc (tsubst_requires_expr): Clear - REQUIRES_EXPR_EXTRA_ARGS before calling build_extra_args. - * pt.cc (tree_extra_args): Define. - (extract_locals_r): Assert *_EXTRA_ARGS is empty. - (tsubst_stmt) <case IF_STMT>: Clear IF_SCOPE on the new - IF_STMT. Call build_extra_args on the new IF_STMT instead - of t which might already have IF_STMT_EXTRA_ARGS. - -2024-04-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/114409 - * pt.cc (tsubst_expr) <case ANNOTATE_EXPR>: Move to ... - (tsubst_stmt) <case ANNOTATE_EXPR>: ... here. Use tsubst_expr - instead of RECUR for the last 2 arguments. - -2024-04-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/114462 - * semantics.cc: Implement C++26 P2809R3 - Trivial infinite - loops are not Undefined Behavior. - (maybe_warn_for_constant_evaluated): Add trivial_infinite argument - and emit special diagnostics for that case. - (finish_if_stmt_cond): Adjust caller. - (finish_loop_cond): New function. - (finish_while_stmt): Use it. - (finish_do_stmt): Likewise. - (finish_for_stmt): Likewise. - -2024-04-10 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/104040 - * semantics.cc (expand_or_defer_fn_1): Keep DECL_SAVED_TREE for - all vague linkage cdtors with modules. - -2024-04-10 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99377 - * module.cc (trees_in::install_entity): Overwrite entity map - index if installing from a partition. - -2024-04-09 Jakub Jelinek <jakub@redhat.com> - - PR c++/114580 - * semantics.cc (finish_if_stmt_cond): Call - maybe_warn_for_constant_evaluated with IF_STMT_CONSTEXPR_P (if_stmt) - as the second argument, rather than true/false depending on if - it is if constexpr with non-dependent constant expression with - bool type. - -2024-04-09 Jakub Jelinek <jakub@redhat.com> - - * constexpr.cc (build_new_constexpr_heap_type): Fix duplicated words - in comment; is is -> is. - * cp-tree.def (CO_RETURN_EXPR): Fix duplicated words in comment; - for for -> for. - * parser.cc (fixup_blocks_walker): Fix duplicated words in comment; - is is -> is. - * semantics.cc (fixup_template_type): Fix duplicated words in comment; - for for -> for. - (finish_omp_for): Fix duplicated words in comment; the the -> the. - * pt.cc (more_specialized_fn): Fix duplicated words in comment; - think think -> think. - (type_targs_deducible_from): Fix duplicated words in comment; the the - -> the. - -2024-04-05 Marek Polacek <polacek@redhat.com> - - PR c++/111132 - * constexpr.cc (get_function_named_in_call): Use - cp_get_fndecl_from_callee. - * cvt.cc (cp_get_fndecl_from_callee): If there's a - DECL_LOCAL_DECL_ALIAS, use it. - -2024-04-05 Jakub Jelinek <jakub@redhat.com> - - PR c++/114572 - * cp-gimplify.cc (cxx_omp_clause_apply_fn): Call build_cplus_new - on build_call_a result if it has class type. - -2024-04-04 centurion <centurion009@proton.me> - - PR c++/114377 - * pt.cc (find_template_parameter_info::found): Use TREE_TYPE for - TEMPLATE_DECL instead of DECL_INITIAL. - -2024-04-02 Marek Polacek <polacek@redhat.com> - - PR c++/114479 - * semantics.cc (trait_expr_value) <case CPTK_IS_ARRAY>: Return false - for zero-sized arrays. - -2024-04-02 Marek Polacek <polacek@redhat.com> - - PR c++/103825 - * typeck.cc (is_bitfield_expr_with_lowered_type): Handle - CLEANUP_POINT_EXPR. - -2024-04-02 Jason Merrill <jason@redhat.com> - - PR c++/114561 - PR c++/114562 - * call.cc (convert_like_internal): Avoid adding qualification - conversion in direct reference binding. - -2024-04-01 Jason Merrill <jason@redhat.com> - - * typeck.cc (maybe_warn_about_returning_address_of_local): - Permerror in C++26. - -2024-03-28 Jason Merrill <jason@redhat.com> - - PR c++/100667 - * semantics.cc (same_type_ref_bind_p): New. - (finish_trait_expr): Use it. - -2024-03-26 Jakub Jelinek <jakub@redhat.com> - - PR c++/112724 - * error.cc (dump_expr): Handle EXCESS_PRECISION_EXPR like NOP_EXPR. - -2024-03-25 Marek Polacek <polacek@redhat.com> - - PR c++/114349 - * name-lookup.cc (maybe_push_to_top_level): For a non-lambda, - don't push to top level if decl_function_context is non-null. - * pt.cc (maybe_instantiate_noexcept): Use maybe_push_to_top_level. - -2024-03-25 Marek Polacek <polacek@redhat.com> - - PR c++/114439 - * init.cc (can_init_array_with_p): Return true for a VEC_INIT_EXPR - wrapped in a TARGET_EXPR. - -2024-03-22 Marek Polacek <polacek@redhat.com> - - PR c++/59465 - * init.cc (can_init_array_with_p): New. - (perform_member_init): Check it. - -2024-03-21 Marek Polacek <polacek@redhat.com> - - PR c++/110323 - * decl2.cc (min_vis_expr_r) <case VAR_DECL>: Do nothing for - decl_constant_var_p VAR_DECLs. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - * coroutines.cc (expand_one_await_expression): Use - integer_zero_node instead of build_int_cst (integer_type_node, 0) - and integer_one_node instead of build_int_cst (integer_type_node, 1). - -2024-03-19 Nathaniel Shead <nathanieloshead@gmail.com> - - * cp-tree.h (module_maybe_has_cmi_p): New function. - * decl.cc (grokfndecl): Mark block-scope functions as public if - they could be visible in other TUs. - * decl2.cc (no_linkage_error): Don't error for declarations that - could be defined in other TUs since C++20. Suppress duplicate - errors from 'check_global_declaration'. - * tree.cc (no_linkage_check): In relaxed mode, don't consider - types in a module CMI to have no linkage. - -2024-03-16 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/112631 - * cp-tree.h (named_module_attach_p): New function. - * decl.cc (start_decl): Check for attachment not purview. - (grokmethod): Likewise. - -2024-03-14 Chung-Lin Tang <cltang@baylibre.com> - - * parser.cc (cp_parser_oacc_data_clause): Add parsing support for - 'readonly' modifier, set OMP_CLAUSE_MAP_READONLY if readonly modifier - found, update comments. - (cp_parser_oacc_cache): Add parsing support for 'readonly' modifier, - set OMP_CLAUSE__CACHE__READONLY if readonly modifier found, update - comments. - -2024-03-12 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/98645 - PR c++/98688 - PR c++/111224 - * module.cc (enum tree_tag): Add new tag for builtin types. - (trees_out::start): POLY_INT_CSTs can be emitted. - (trees_in::start): Likewise. - (trees_out::core_vals): Stream POLY_INT_CSTs. - (trees_in::core_vals): Likewise. - (trees_out::type_node): Handle vectors with multiple coeffs. - (trees_in::tree_node): Likewise. - (init_modules): Register target-specific builtin types. Bump - initial capacity slightly. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - * pt.cc (tsubst_expr): Handle MEM_REF. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - PR debug/113918 - * cp-objcp-common.cc (cp_type_dwarf_attribute): Return 1 - for DW_AT_export_symbols on anonymous structs or unions. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/113802 - * parser.cc (cp_parser_parameter_declaration): Move the xobj_param_p - pack diagnostics after ellipsis handling and if an error is reported, - pretend this specifier didn't appear. Formatting fix. - -2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114229 - * module.cc (trees_out::core_bools): Redetermine - DECL_INTERFACE_KNOWN on stream-in for vtables and tinfo. - * decl2.cc (import_export_decl): Add fixme for ABI changes with - module vtables and tinfo. - -2024-03-07 Patrick Palka <ppalka@redhat.com> - - PR c++/103994 - * cp-tree.h (add_mergeable_specialization): Remove second - parameter. - * module.cc (depset::disc_bits::DB_ALIAS_TMPL_INST_BIT): Remove. - (depset::disc_bits::DB_ALIAS_SPEC_BIT): Remove. - (depset::is_alias_tmpl_inst): Remove. - (depset::is_alias): Remove. - (merge_kind::MK_tmpl_alias_mask): Remove. - (merge_kind::MK_alias_spec): Remove. - (merge_kind_name): Remove entries for alias specializations. - (trees_out::core_vals) <case TEMPLATE_DECL>: Adjust after - removing is_alias_tmpl_inst. - (trees_in::decl_value): Adjust add_mergeable_specialization - calls. - (trees_out::get_merge_kind) <case depset::EK_SPECIALIZATION>: - Use MK_decl_spec for alias template specializations. - (trees_out::key_mergeable): Simplify after MK_tmpl_alias_mask - removal. - (depset::hash::make_dependency): Adjust after removing - DB_ALIAS_TMPL_INST_BIT. - (specialization_add): Don't allow alias templates when !decl_p. - (depset::hash::add_specializations): Remove now-dead code - accomodating alias template specializations in the type table. - * pt.cc (lookup_template_class): Dispatch early to - instantiate_alias_template for alias templates. Simplify - accordingly. - (add_mergeable_specialization): Remove alias_p parameter and - simplify accordingly. - -2024-03-07 Patrick Palka <ppalka@redhat.com> - - PR c++/110730 - PR c++/105512 - * module.cc (module_state::write_namespaces): Stream the - abi_tag attribute of an inline namespace. - (module_state::read_namespaces): Likewise. - -2024-03-07 Marek Polacek <polacek@redhat.com> - - PR c++/110031 - * pt.cc (lookup_and_finish_template_variable): Pass complain to - mark_used. - -2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/98356 - * typeck2.cc (cxx_incomplete_type_diagnostic): Don't assume - 'member' will be a FUNCTION_DECL (or something like it). - -2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/98881 - * module.cc (trees_out::tpl_parms_fini): Stream out DECL_CONTEXT - for template template parameters. - (trees_in::tpl_parms_fini): Read it. - -2024-03-06 Marek Polacek <polacek@redhat.com> - - PR c++/114114 - * pt.cc (maybe_instantiate_noexcept): Save/restore - cp_unevaluated_operand, c_inhibit_evaluation_warnings, and - cp_noexcept_operand around the tsubst_expr call. - -2024-03-06 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113629 - * pt.cc (type_unification_real): Only use DEDUCE_CONV for the - return type of a conversion function. - -2024-03-06 Patrick Palka <ppalka@redhat.com> - - * module.cc (trees_out::get_merge_kind) <case depset::EK_DECL>: - Accomodate class-scope DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P - TEMPLATE_DECL. Consolidate IDENTIFIER_ANON_P cases. - -2024-03-05 Patrick Palka <ppalka@redhat.com> - - * parser.cc (cp_parser_translation_unit): Relax GMF contents - error into a pedwarn. - -2024-03-04 Nathaniel Shead <nathanieloshead@gmail.com> - - * name-lookup.cc (walk_module_binding): Remove completed FIXME. - (do_nonmember_using_decl): Mark redeclared entities as exported - when needed. Check for re-exporting internal linkage types. - -2024-03-01 Patrick Palka <ppalka@redhat.com> - - PR c++/104919 - PR c++/106009 - * module.cc (depset::hash::sneakoscope): Remove. - (trees_out::decl_node): Always add a dependency on a local type. - (depset::hash::find_dependencies): Remove sneakoscope stuff. - -2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114170 - * module.cc (has_definition): Fall back to DECL_INITIALIZED_P - when DECL_INITIAL is not set on a template. - (module_state::write_inits): Only increment count when - initializers are actually written. - -2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114005 - * init.cc (create_temporary_var): Use current_scope instead of - current_function_decl. - -2024-03-01 Patrick Palka <ppalka@redhat.com> - - * decl.cc (maybe_register_incomplete_var): Restrict second - branch to static data members from a not-yet-complete class. - -2024-03-01 Marek Polacek <polacek@redhat.com> - - PR c++/110358 - PR c++/109642 - * call.cc (no_dangling_p): New. - (reference_like_class_p): Use it. - (do_warn_dangling_reference): Use it. Don't warn when the function - or its enclosing class has attribute gnu::no_dangling. - * tree.cc (cxx_gnu_attributes): Add gnu::no_dangling. - (handle_no_dangling_attribute): New. - -2024-03-01 Patrick Palka <ppalka@redhat.com> - - PR c++/110025 - PR c++/114138 - * cp-tree.h (make_cast_auto): Declare. - * parser.cc (cp_parser_functional_cast): If the type is an auto, - replace it with a level-less one via make_cast_auto. - * pt.cc (find_parameter_packs_r): Don't treat level-less auto - as a type parameter pack. - (tsubst) <case TEMPLATE_TYPE_PARM>: Generalize CTAD placeholder - auto handling to all level-less autos. - (make_cast_auto): Define. - (do_auto_deduction): Handle replacement of a level-less auto. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - - PR c++/92687 - * decl.cc (lookup_decomp_type): Return NULL_TREE if decomp_type_table - doesn't have entry for V. - * semantics.cc (finish_decltype_type): If ptds.saved, assert - DECL_HAS_VALUE_EXPR_P is true and decide on tuple vs. non-tuple based - on if lookup_decomp_type is NULL or not. - -2024-02-29 Marek Polacek <polacek@redhat.com> - - PR c++/113987 - * call.cc (conv_binds_to_reference_parm_p): New. - * cp-tree.h (conv_binds_to_reference_parm_p): Declare. - * init.cc (find_uninit_fields_r): Call it. - -2024-02-29 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/111710 - * cp-tree.h (DECL_MODULE_KEYED_DECLS_P): Remove tree checking. - (struct lang_decl_base): Update comments and fix whitespace. - * module.cc (trees_out::lang_decl_bools): Always write - module_keyed_decls_p flag... - (trees_in::lang_decl_bools): ...and always read it. - (trees_out::decl_value): Handle all kinds of keyed decls. - (trees_in::decl_value): Likewise. - (trees_in::tree_value): Deduplicate LAMBDA_EXPRs. - (maybe_key_decl): Also support lambdas attached to fields, - parameters, and types. Key lambdas attached to fields to their - class. - (trees_out::get_merge_kind): Likewise. - (trees_out::key_mergeable): Likewise. - (trees_in::key_mergeable): Support keyed decls in a TYPE_DECL - container. - * parser.cc (cp_parser_class_head): Start a lambda scope when - parsing base classes. - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/113976 - * decl.cc (grokdeclarator): Don't call cp_apply_type_quals_to_decl - on DECL_TEMPLATE_INSTANTIATED VAR_DECLs. - -2024-02-28 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113970 - PR c++/114013 - * decl.cc (make_rtl_for_nonlocal_decl): Don't defer inline - variables. - -2024-02-23 Jakub Jelinek <jakub@redhat.com> - - PR c++/113083 - * cp-gimplify.cc (cp_fold): For targetm.cxx.cdtor_returns_this () - wrap r into a COMPOUND_EXPR and return folded CALL_EXPR_ARG (x, 0). - -2024-02-19 Patrick Palka <ppalka@redhat.com> - - PR c++/113966 - * constraint.cc (tsubst_compound_requirement): Don't check - the noexcept condition or the return-type-requirement when - partially substituting. - -2024-02-17 Marek Polacek <polacek@redhat.com> - - PR c++/113158 - * search.cc (maybe_check_overriding_exception_spec): Defer checking - when a noexcept couldn't be instantiated & evaluated to false/true. - -2024-02-16 Marek Polacek <polacek@redhat.com> - - DR 1351 - * search.cc (maybe_check_overriding_exception_spec): Don't error about - a looser exception specification if the overrider is deleted. - -2024-02-16 Marek Polacek <polacek@redhat.com> - - PR c++/113789 - PR c++/113853 - * typeck.cc (treat_lvalue_as_rvalue_p): Update code to better - reflect [expr.prim.id.unqual]#4.2. - -2024-02-16 Jakub Jelinek <jakub@redhat.com> - - PR c++/113929 - * parser.cc (cp_parser_parameter_declaration): Diagnose this specifier - on template parameter declaration. - -2024-02-16 Patrick Palka <ppalka@redhat.com> - - * module.cc (trees_out::core_bools): Stream TREE_UNAVAILABLE. - (trees_in::core_bools): Likewise. - (trees_out::core_vals): Stream LAMBDA_EXPR_REGEN_INFO. - (trees_in::core_vals): Likewise. - -2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113708 - * decl.cc (make_rtl_for_nonlocal_decl): Defer inline variables. - * decl2.cc (import_export_decl): Support inline variables. - -2024-02-14 Patrick Palka <ppalka@redhat.com> - - PR c++/113908 - PR c++/113332 - * method.cc (synthesized_method_walk): Use maybe_push_to_top_level. - -2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99573 - * decl.cc (start_enum): Reorder check for redeclaring in module. - Add missing auto_diagnostic_groups. - -2024-02-13 Marek Polacek <polacek@redhat.com> - - DR 1693 - PR c++/113760 - * parser.cc (cp_parser_member_declaration): Only pedwarn about an extra - semicolon in C++98. - -2024-02-13 Tobias Burnus <tburnus@baylibre.com> - - PR middle-end/113904 - * parser.cc (cp_parser_omp_context_selector): Handle splitting of - OMP_TRAIT_PROPERTY_EXPR into OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. - -2024-02-13 Patrick Palka <ppalka@redhat.com> - - * Make-lang.in (CFLAGS-cp/module.o): Add $(ZLIBINC). - * module.cc: Include <zlib.h>. - (bytes::calc_crc): Use crc32 from zlib. - (bytes_out::set_crc): Use crc32_combine from zlib. - -2024-02-13 Patrick Palka <ppalka@redhat.com> - - * module.cc (depset::hash::add_specializations): Use - STRIP_TEMPLATE consistently. - (get_originating_module_decl): Handle class-scope CONST_DECL. - -2024-02-13 Patrick Palka <ppalka@redhat.com> - - * lambda.cc (lambda_function): Call get_class_binding_direct - instead of lookup_member to sidestep lazy loading. - * name-lookup.cc (check_local_shadow): Punt if we're in a - function context that's not actual parsing. - -2024-02-13 Jason Merrill <jason@redhat.com> - - PR c++/113612 - * pt.cc (process_partial_specialization): Return early - on redeclaration. - -2024-02-13 Marek Polacek <polacek@redhat.com> - - PR c++/112436 - * except.cc (expand_start_catch_block): Pass tf_warning_or_error to - is_admissible_throw_operand_or_catch_parameter. - (build_throw): Pass complain to - is_admissible_throw_operand_or_catch_parameter. - (complete_ptr_ref_or_void_ptr_p): Add a tsubst_flags_t parameter. Use - it. Return bool. Call complete_type_or_maybe_complain instead of - complete_type_or_else. - (is_admissible_throw_operand_or_catch_parameter): Add a tsubst_flags_t - parameter. Use it. Guard error calls. - -2024-02-13 Alex Coplan <alex.coplan@arm.com> - - PR c++/113658 - * cp-objcp-common.cc (cp_feature_table): Remove entry for - cxx_constexpr_string_builtins. - -2024-02-12 Marek Polacek <polacek@redhat.com> - - PR c++/113545 - * constexpr.cc (cxx_eval_switch_expr): If the condition doesn't reduce - to an INTEGER_CST, consider it non-constant. - -2024-02-10 Marek Polacek <polacek@redhat.com> - - DR 2237 - PR c++/107126 - PR c++/97202 - * parser.cc (cp_parser_unqualified_id): Downgrade the DR2237 error to - a pedwarn. - (cp_parser_constructor_declarator_p): Likewise. - -2024-02-10 Jakub Jelinek <jakub@redhat.com> - - * tree.cc (debug_binfo): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld" - and casts to long. - * pt.cc (print_template_statistics): Use HOST_SIZE_T_PRINT_DEC - and casts to fmt_size_t instead of "%ld" and casts to long. - * class.cc (dump_class_hierarchy_1): Use HOST_WIDE_INT_PRINT_UNSIGNED - instead of "%lu" and casts to unsigned long. For TYPE_ALIGN, use - %u instead of %lu and drop casts to unsigned long. - * parser.cc (cp_lexer_peek_nth_token): Use HOST_SIZE_T_PRINT_DEC - and casts to fmt_size_t instead of "%ld" and casts to long. - -2024-02-09 Marek Polacek <polacek@redhat.com> - - PR c++/113834 - * semantics.cc (finish_type_pack_element): Perform range checking - before tree_to_shwi. - -2024-02-09 Marek Polacek <polacek@redhat.com> - - PR c++/98388 - * coroutines.cc (coro_rewrite_function_body): Pass tf_warning_or_error - to build_throw. - (morph_fn_to_coro): Likewise. - * cp-tree.h (build_throw): Adjust. - * except.cc (expand_end_catch_block): Pass tf_warning_or_error to - build_throw. - (build_throw): Add a tsubst_flags_t parameter. Use it. Remove - redundant variable. Guard an inform call. - * parser.cc (cp_parser_throw_expression): Pass tf_warning_or_error - to build_throw. - * pt.cc (tsubst_expr) <case THROW_EXPR>: Pass complain to build_throw. - -2024-02-09 Patrick Palka <ppalka@redhat.com> - - PR c++/112580 - * module.cc (trees_in::read_class_def): When streaming in - an anonymous union field of an as-base class, don't overwrite - ANON_AGGR_TYPE_FIELD. - -2024-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/113649 - * pt.cc (do_class_deduction): Add outer_targs parameter. - Substitute outer arguments into the CTAD template. - (do_auto_deduction): Pass outer_targs to do_class_deduction. - -2024-02-08 Jason Merrill <jason@redhat.com> - - * pt.cc (create_template_parm_object): Pass TARGET_EXPR to - cxx_constant_value. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/113788 - * parser.cc (CP_PARSER_FLAGS_PARAMETER): New enumerator. - (cp_parser_decl_specifier_seq): Parse RID_THIS only if - CP_PARSER_FLAGS_PARAMETER is set in flags. - (cp_parser_parameter_declaration): Or in CP_PARSER_FLAGS_PARAMETER - when calling cp_parser_decl_specifier_seq. - -2024-02-06 Marek Polacek <polacek@redhat.com> - - * method.cc (early_check_defaulted_comparison): Add - auto_diagnostic_group. - -2024-02-06 Jason Merrill <jason@redhat.com> - - PR c++/107291 - * method.cc (early_check_defaulted_comparison): Fail if not friend. - -2024-02-05 Jason Merrill <jason@redhat.com> - - PR c++/111286 - * tree.cc (rvalue): Don't drop cv-quals from an array. - -2024-02-03 Patrick Palka <ppalka@redhat.com> - - PR c++/110006 - PR c++/112769 - * constraint.cc (subst_info::quiet): Accomodate non-diagnostic - tsubst flags. - (tsubst_valid_expression_requirement): Likewise. - (tsubst_simple_requirement): Return a substituted _REQ node when - processing_template_decl. - (tsubst_type_requirement_1): Accomodate non-diagnostic tsubst - flags. - (tsubst_type_requirement): Return a substituted _REQ node when - processing_template_decl. - (tsubst_compound_requirement): Likewise. Accomodate non-diagnostic - tsubst flags. - (tsubst_nested_requirement): Likewise. - (tsubst_requires_expr): Don't defer partial substitution when - processing_constraint_expression_p is true, in which case return - a substituted REQUIRES_EXPR. - * pt.cc (tsubst_expr) <case REQUIRES_EXPR>: Accomodate - non-diagnostic tsubst flags. - -2024-02-02 Jason Merrill <jason@redhat.com> - - PR c++/110084 - * pt.cc (tsubst_function_decl): Only check a function defaulted - outside the class if the class is complete. - -2024-02-02 Jason Merrill <jason@redhat.com> - - PR c++/112439 - * constexpr.cc (cxx_eval_store_expression): Check empty_base - before marking a CONSTRUCTOR readonly. - -2024-02-02 Jason Merrill <jason@redhat.com> - - PR c++/113638 - * cp-tree.h: Adjust comment. - * pt.cc (instantiate_template): Set VAR_HAD_UNKNOWN_BOUND for - variable template. - -2024-02-01 Marek Polacek <polacek@redhat.com> - - * call.cc (reference_like_class_p): Consider even non-templates for - std::span-like classes. - -2024-02-01 Patrick Palka <ppalka@redhat.com> - - PR c++/112737 - * pt.cc (iterative_hash_template_arg) <case TEMPLATE_DECL>: - Adjust hashing to match cp_tree_equal. - (ctp_hasher::hash): Also hash CLASS_PLACEHOLDER_TEMPLATE. - * tree.cc (cp_tree_equal) <case TEMPLATE_DECL>: Return true - for ttp TEMPLATE_DECLs if their TEMPLATE_TEMPLATE_PARMs are - equivalent. - * typeck.cc (structural_comptypes) <case TEMPLATE_TYPE_PARM>: - Use cp_tree_equal to compare CLASS_PLACEHOLDER_TEMPLATE. - -2024-02-01 Marek Polacek <polacek@redhat.com> - - PR c++/112437 - * typeck.cc (treat_lvalue_as_rvalue_p): Bail out on sk_namespace in - the move on throw of parms loop. - -2024-01-30 Marek Polacek <polacek@redhat.com> - - PR c++/110358 - PR c++/109640 - * call.cc (reference_like_class_p): Don't warn for std::span-like - classes. - -2024-01-30 Patrick Palka <ppalka@redhat.com> - - PR c++/113640 - * call.cc (keep_unused_object_arg): Punt for an xobj member - function. - -2024-01-30 Patrick Palka <ppalka@redhat.com> - - PR c++/113644 - * pt.cc (unify) <case INTEGER_CST>: Handle NULL_TREE type. - -2024-01-30 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/107594 - * module.cc (get_module): Bail on empty name. - -2024-01-29 Jason Merrill <jason@redhat.com> - - PR c++/113544 - * pt.cc (instantiate_class_template): Don't partially instantiate. - (tsubst_stmt): Likewise. - -2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113580 - * module.cc (struct post_process_data): Create. - (trees_in::post_decls): Use. - (trees_in::post_process): Return entire vector at once. - Change overload to take post_process_data instead of tree. - (trees_out::write_function_def): Write needed flags from - DECL_STRUCT_FUNCTION. - (trees_in::read_function_def): Read them and pass to - post_process. - (module_state::read_cluster): Write flags into cfun. - -2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/112899 - * cp-tree.h (note_variable_template_instantiation): Rename to... - (note_vague_linkage_variable): ...this. - * decl2.cc (note_variable_template_instantiation): Rename to... - (note_vague_linkage_variable): ...this. - * pt.cc (instantiate_decl): Rename usage of above function. - * module.cc (trees_in::read_var_def): Remember pending statics - that we stream in. - -2024-01-25 Jakub Jelinek <jakub@redhat.com> - - PR c++/113599 - * typeck2.cc (build_m_component_ref): Use convert instead of - cp_convert for pointer conversion. - -2024-01-25 Jason Merrill <jason@redhat.com> - - PR c++/113598 - * init.cc (build_vec_init): Don't use {} for PMF. - -2024-01-25 Jason Merrill <jason@redhat.com> - - PR c++/109227 - * coroutines.cc (build_co_await): Use cxx_maybe_build_cleanup. - (build_actor_fn, process_conditional, maybe_promote_temps) - (morph_fn_to_coro): Likewise. - (expand_one_await_expression): Use build_cleanup. - -2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113405 - * module.cc (set_defining_module): Track partial specialisations - for all declarations. - -2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/100707 - * name-lookup.cc (add_imported_namespace): Don't mark namespaces - as imported. - -2024-01-24 Patrick Palka <ppalka@redhat.com> - - PR c++/113529 - * call.cc (add_operator_candidates): Propagate error_mark_node - result after recursing to find rewritten candidates. - -2024-01-23 Marek Polacek <polacek@redhat.com> - - PR c++/113256 - PR c++/111607 - PR c++/109640 - * call.cc (do_warn_dangling_reference): Don't warn if the temporary - is of lambda type. - -2024-01-23 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/112820 - PR c++/102607 - * module.cc (trees_out::lang_type_bools): Write interface_only - and interface_unknown. - (trees_in::lang_type_bools): Read the above flags. - (trees_in::decl_value): Reset CLASSTYPE_INTERFACE_* except for - extern templates. - (trees_in::read_class_def): Remove buggy extern template - handling. - -2024-01-19 Jason Merrill <jason@redhat.com> - - PR c++/113498 - * pt.cc (decl_template_info): New fn. - (get_template_info): Use it. - -2024-01-19 Jason Merrill <jason@redhat.com> - - PR c++/112632 - PR c++/112594 - PR c++/111357 - PR c++/104594 - PR c++/67898 - * cp-tree.h (IMPLICIT_CONV_EXPR_FORCED): New. - * pt.cc (expand_integer_pack): Remove 111357 workaround. - (maybe_convert_nontype_argument): Add force parm. - (convert_template_argument): Handle alias template args - specially. - (tsubst_expr): Don't ignore IMPLICIT_CONV_EXPR_NONTYPE_ARG. - * error.cc (dump_expr) [CASE_CONVERT]: Handle null optype. - -2024-01-18 Marek Polacek <polacek@redhat.com> - - PR c++/113389 - * decl.cc (grokdeclarator) <case cdk_function>: Set TREE_PURPOSE to - NULL_TREE when emitting an error. - -2024-01-17 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/112588 - * module.cc (trees_in::read_function_def): Don't overwrite - arguments. - -2024-01-17 Patrick Palka <ppalka@redhat.com> - - PR c++/113242 - PR c++/99493 - * pt.cc (invalid_tparm_referent_p) <case ADDR_EXPR>: Suppress - DECL_ARTIFICIAL rejection test for class NTTP objects. - -2024-01-16 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113292 - * decl2.cc (get_tls_wrapper_fn): Set DECL_CONTEXT. - (c_parse_final_cleanups): Suppress warning for no definition of - TLS wrapper functions in header modules. - * module.cc (trees_out::lang_decl_vals): Write wrapped variable - for TLS wrapper functions. - (trees_in::lang_decl_vals): Read it. - (trees_out::decl_value): Write TLS model for thread-local vars. - (trees_in::decl_value): Read it for new decls. Remember to emit - definitions of TLS wrapper functions later. - -2024-01-16 Nathaniel Shead <nathanieloshead@gmail.com> - - * name-lookup.h (enum scope_kind): Add 'sk_count'. - * name-lookup.cc (cp_binding_level_descriptor): Add missing - scope kinds. Add assertion that the list is up to date. Fix - handling of explicit_spec_p. - -2024-01-16 Marek Polacek <polacek@redhat.com> - - * decl.cc (grokdeclarator) <case cdk_function>: Tweak diagnostic - messages. - -2024-01-16 Marek Polacek <polacek@redhat.com> - - PR c++/113340 - * decl.cc (grokdeclarator) <case cdk_function>: Clear - is_xobj_member_function in case of an error. - -2024-01-16 waffl3x <waffl3x@protonmail.com> - - PR c++/113307 - * parser.cc (cp_parser_parameter_declaration): Reject packs - on xobj params. - -2024-01-15 Marek Polacek <polacek@redhat.com> - - PR c++/110065 - * parser.cc (cp_parser_template_type_arg): Add auto checking. - -2024-01-15 Patrick Palka <ppalka@redhat.com> - - * parser.cc (cp_parser_check_access_in_redeclaration): Don't - check access for a partial or explicit specialization. - * pt.cc (maybe_new_partial_specialization): Don't set TREE_PRIVATE - or TREE_PROTECTED on the newly created partial specialization. - -2024-01-15 Patrick Palka <ppalka@redhat.com> - - PR c++/104634 - * pt.cc (maybe_new_partial_specialization): Propagate TREE_PUBLIC - to the newly created partial specialization. - -2024-01-15 Patrick Palka <ppalka@redhat.com> - - PR c++/109899 - * init.cc (build_vec_delete_1): Assume expr_noexcept_p returns - false in a template context. - -2024-01-13 Jakub Jelinek <jakub@redhat.com> - - * mangle.cc (write_nested_name): Mangle explicit object - member functions with H as per - https://github.com/itanium-cxx-abi/cxx-abi/issues/148 non-proposal. - -2024-01-12 Jason Merrill <jason@redhat.com> - - PR c++/113038 - * name-lookup.cc (lookup_elaborated_type): Look for bindings - in the global namespace in the ABI namespace. - -2024-01-12 Jason Merrill <jason@redhat.com> - - * call.cc (reversed_match): New. - (enum class pmatch): New enum. - (cand_parms_match): Add match_kind parm. - (object_parms_correspond): Add fn parms. - (joust): Adjust. - * class.cc (xobj_iobj_parameters_correspond): Rename to... - (iobj_parm_corresponds_to): ...this. Take the other - type instead of a second function. - (object_parms_correspond): Adjust. - * cp-tree.h (iobj_parm_corresponds_to): Declare. - -2024-01-11 Jason Merrill <jason@redhat.com> - - PR c++/113191 - * class.cc (xobj_iobj_parameters_correspond): Add context parm. - (object_parms_correspond): Factor out of... - (add_method): ...here. - * method.cc (defaulted_late_check): Use it. - * call.cc (class_of_implicit_object): New. - (object_parms_correspond): Overload taking two candidates. - (cand_parms_match): Use it. - (joust): Check reversed before comparing constraints. - * cp-tree.h (object_parms_correspond): Declare. - -2024-01-10 Tamar Christina <tamar.christina@arm.com> - - * parser.cc (cp_parser_pragma): Initialize to false. - -2024-01-09 Jason Merrill <jason@redhat.com> - - * semantics.cc (is_object_parameter): New. - * cp-tree.h (is_object_parameter): Declare. - * call.cc (maybe_warn_class_memaccess): Use it. - * search.cc (field_access_p): Use it. - (class_of_object_parm): New. - (field_accessor_p): Adjust for explicit object parms. - -2024-01-09 Jason Merrill <jason@redhat.com> - - * call.cc (build_over_call): Refactor handle_arg lambda. - * class.cc (xobj_iobj_parameters_correspond): Fix FIXME. - * method.cc (defaulted_late_check): Adjust comments. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - - PR c++/102609 - PR c++/102609 - C++23 P0847R7 (deducing this) - CWG2586. - * decl.cc (copy_fn_p): Accept xobj copy assignment functions. - (move_signature_fn_p): Accept xobj move assignment functions. - * method.cc (do_build_copy_assign): Handle defaulted xobj member - functions. - (defaulted_late_check): Comment. - (defaultable_fn_check): Comment. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - - PR c++/102609 - PR c++/102609 - C++23 P0847R7 (deducing this) - xobj lambdas. - * lambda.cc (build_capture_proxy): Don't fold direct object types. - * parser.cc (cp_parser_lambda_declarator_opt): Handle xobj lambdas, - diagnostics. Comments also updated. - * pt.cc (tsubst_function_decl): Handle xobj lambdas. Check object - type of xobj lambda call operator, diagnose incorrect types. - (tsubst_lambda_expr): Update comment. - * semantics.cc (finish_decltype_type): Also consider by-value object - parameter qualifications. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - - PR c++/102609 - PR c++/102609 - C++23 P0847R7 (deducing this) - diagnostics. - * class.cc (resolve_address_of_overloaded_function): Diagnostics. - * cp-tree.h (TFF_XOBJ_FUNC): Define. - * decl.cc (grokfndecl): Diagnostics. - (grokdeclarator): Diagnostics. - * error.cc (dump_aggr_type): Pass TFF_XOBJ_FUNC. - (dump_lambda_function): Formatting for xobj lambda. - (dump_function_decl): Pass TFF_XOBJ_FUNC. - (dump_parameters): Formatting for xobj member functions. - (function_category): Formatting for xobj member functions. - * parser.cc (cp_parser_decl_specifier_seq): Diagnostics. - (cp_parser_parameter_declaration): Diagnostics. - * search.cc (look_for_overrides_here): Make xobj member functions - override. - (look_for_overrides_r): Reject an overriding xobj member function - and diagnose it. - * semantics.cc (finish_this_expr): Diagnostics. - * typeck.cc (cp_build_addr_expr_1): Diagnostics. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - - PR c++/102609 - PR c++/102609 - C++23 P0847R7 (deducing this) - initial functionality. - * class.cc (xobj_iobj_parameters_correspond): New function, checks - for corresponding object parameters between xobj and iobj member - functions. - (add_method): Handle object parameters of xobj member functions, use - xobj_iobj_parameters_correspond. - * call.cc (build_over_call): Refactor, handle xobj member functions. - (cand_parms_match): Handle object parameters of xobj and iobj member - functions, use xobj_iobj_parameters_correspond. - * cp-tree.h (enum cp_decl_spec): Add ds_this, add comments. - * decl.cc (grokfndecl): Add xobj_func_p parameter. For xobj member - functions, Set xobj_flag, don't set static_function flag. - (grokdeclarator): Handle xobj member functions, tell grokfndecl. - (grok_op_properties): Don't error for xobj operators. - * parser.cc (cp_parser_decl_specifier_seq): Handle this specifier. - (cp_parser_parameter_declaration): Set default argument to - "this_identifier" for xobj parameters. - (set_and_check_decl_spec_loc): Add "this", add comments. - * tree.cc (build_min_non_dep_op_overload): Handle xobj operators. - * typeck.cc (cp_build_addr_expr_1): Handle address-of xobj member - functions. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - Jason Merrill <jason@redhat.com> - - PR c++/102609 - * cp-tree.h (struct lang_decl_fn): New data member. - (DECL_NONSTATIC_MEMBER_FUNCTION_P): Poison. - (DECL_IOBJ_MEMBER_FUNCTION_P): Define. - (DECL_FUNCTION_XOBJ_FLAG): Define. - (DECL_XOBJ_MEMBER_FUNCTION_P): Define. - (DECL_OBJECT_MEMBER_FUNCTION_P): Define. - (DECL_FUNCTION_MEMBER_P): Don't use - DECL_NONSTATIC_MEMBER_FUNCTION_P. - (DECL_CONST_MEMFUNC_P): Likewise. - (DECL_VOLATILE_MEMFUNC_P): Likewise. - (DECL_NONSTATIC_MEMBER_P): Likewise. - * module.cc (trees_out::lang_decl_bools): Handle xobj_flag. - (trees_in::lang_decl_bools): Handle xobj_flag. - * call.cc (build_this_conversion) - (add_function_candidate) - (add_template_candidate_real) - (add_candidates) - (maybe_warn_class_memaccess) - (cand_parms_match) - (joust) - (do_warn_dangling_reference) - * class.cc (finalize_literal_type_property) - (finish_struct) - (resolve_address_of_overloaded_function) - * constexpr.cc (is_valid_constexpr_fn) - (cxx_bind_parameters_in_call) - * contracts.cc (build_contract_condition_function) - * cp-objcp-common.cc (cp_decl_dwarf_attribute) - * cxx-pretty-print.cc (cxx_pretty_printer::postfix_expression) - (cxx_pretty_printer::declaration_specifiers) - (cxx_pretty_printer::direct_declarator) - * decl.cc (cp_finish_decl) - (grok_special_member_properties) - (start_preparsed_function) - (record_key_method_defined) - * decl2.cc (cp_handle_deprecated_or_unavailable) - * init.cc (find_uninit_fields_r) - (build_offset_ref) - * lambda.cc (lambda_expr_this_capture) - (maybe_generic_this_capture) - (nonlambda_method_basetype) - * mangle.cc (write_nested_name) - * method.cc (early_check_defaulted_comparison) - (skip_artificial_parms_for) - (num_artificial_parms_for) - * pt.cc (is_specialization_of_friend) - (determine_specialization) - (copy_default_args_to_explicit_spec) - (check_explicit_specialization) - (tsubst_contract_attribute) - (check_non_deducible_conversions) - (more_specialized_fn) - (maybe_instantiate_noexcept) - (register_parameter_specializations) - (value_dependent_expression_p) - * search.cc (shared_member_p) - (lookup_member) - (field_access_p) - * semantics.cc (finish_omp_declare_simd_methods) - * tree.cc (lvalue_kind) - * typeck.cc (invalid_nonstatic_memfn_p): Don't use - DECL_NONSTATIC_MEMBER_FUNCTION_P. - -2024-01-09 Julian Brown <julian@codesourcery.com> - - * constexpr.cc (potential_consant_expression_1): Handle - OMP_ARRAY_SECTION. - * cp-tree.h (grok_omp_array_section, build_omp_array_section): Add - prototypes. - * decl2.cc (grok_omp_array_section): New function. - * error.cc (dump_expr): Handle OMP_ARRAY_SECTION. - * parser.cc (cp_parser_new): Initialize parser->omp_array_section_p. - (cp_parser_statement_expr): Disallow array sections. - (cp_parser_postfix_open_square_expression): Support OMP_ARRAY_SECTION - parsing. - (cp_parser_parenthesized_expression_list, cp_parser_lambda_expression, - cp_parser_braced_list): Disallow array sections. - (cp_parser_omp_var_list_no_open): Remove ALLOW_DEREF parameter, add - MAP_LVALUE in its place. Support generalised lvalue parsing for - OpenMP map, to and from clauses. Use OMP_ARRAY_SECTION - code instead of TREE_LIST to represent OpenMP array sections. - (cp_parser_omp_var_list): Remove ALLOW_DEREF parameter, add MAP_LVALUE. - Pass to cp_parser_omp_var_list_no_open. - (cp_parser_oacc_data_clause): Update call to cp_parser_omp_var_list. - (cp_parser_omp_clause_map): Add sk_omp scope around - cp_parser_omp_var_list_no_open call. - * parser.h (cp_parser): Add omp_array_section_p field. - * pt.cc (tsubst, tsubst_copy, tsubst_omp_clause_decl, - tsubst_copy_and_build): Add OMP_ARRAY_SECTION support. - * semantics.cc (handle_omp_array_sections_1, handle_omp_array_sections, - cp_oacc_check_attachments, finish_omp_clauses): Use OMP_ARRAY_SECTION - instead of TREE_LIST where appropriate. Handle more types of map - expression. - * typeck.cc (build_omp_array_section): New function. - -2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> - - * module.cc (trees_out::write_var_def): Only write initializers - in header modules. - -2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/109679 - * module.cc (depset::hash::add_binding_entity): Don't skip names - in the GMF if they've been exported with a using declaration. - -2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/110808 - * parser.cc (cp_parser_module_name): Rewrite to handle - module-names and module-partitions independently. - (cp_parser_module_partition): New function. - (cp_parser_module_declaration): Parse module partitions - explicitly. Don't change state if parsing module decl failed. - (cp_parser_import_declaration): Handle different kinds of - import-declarations locally. - -2024-01-03 Patrick Palka <ppalka@redhat.com> - - PR c++/113064 - * call.cc (reference_binding): Still try a conversion via a - temporary if a direct conversion was bad. - -2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com> - - * parser.cc (cp_parser_omp_clause_name): Move handling of indirect - clause to correspond to alphabetical order. - -Copyright (C) 2024 Free Software Foundation, Inc. +Copyright (C) 2025 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-1993 b/gcc/cp/ChangeLog-1993 index 45ca571fae84..2149a900d6d8 100644 --- a/gcc/cp/ChangeLog-1993 +++ b/gcc/cp/ChangeLog-1993 @@ -604,7 +604,6 @@ Mon Nov 8 13:50:49 1993 Jason Merrill <jason@deneb.cygnus.com> Tue Sep 7 20:03:33 1993 Jason Merrill <jason@deneb.cygnus.com> * cp-decl.c: Allow references and template type parameters as well - Copyright (C) 1993 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-1994 b/gcc/cp/ChangeLog-1994 index 8ff502f633f4..d77167bab5f8 100644 --- a/gcc/cp/ChangeLog-1994 +++ b/gcc/cp/ChangeLog-1994 @@ -5402,8 +5402,6 @@ Mon Jan 3 22:22:32 1994 Gerald Baumgartner <gb@cygnus.com> * gcc.texi: Changed the last-modification date. * invoke.texi: Added `-fhandle-signatures' in the list of C++ language options. Added explanation for this option. - - Copyright (C) 1994 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-1995 b/gcc/cp/ChangeLog-1995 index b5ca4ec3487e..b0b890d39fa6 100644 --- a/gcc/cp/ChangeLog-1995 +++ b/gcc/cp/ChangeLog-1995 @@ -3788,7 +3788,6 @@ Wed Jan 4 16:44:19 1995 Jason Merrill <jason@phydeaux.cygnus.com> Mon Jan 2 14:42:58 1995 Jason Merrill <jason@phydeaux.cygnus.com> * call.c (build_method_call): Lose another misleading shortcut. - Copyright (C) 1995 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-1996 b/gcc/cp/ChangeLog-1996 index d13f24567dfc..4356a469ad22 100644 --- a/gcc/cp/ChangeLog-1996 +++ b/gcc/cp/ChangeLog-1996 @@ -4044,7 +4044,6 @@ Tue Jan 2 17:00:56 1996 Mike Stump <mrs@cygnus.com> * except.c (expand_throw): Call assemble_external for __empty, if we use it. - Copyright (C) 1996 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-1997 b/gcc/cp/ChangeLog-1997 index 2c34b8db4250..7f2e61a29bc9 100644 --- a/gcc/cp/ChangeLog-1997 +++ b/gcc/cp/ChangeLog-1997 @@ -2604,8 +2604,6 @@ Tue Jan 7 09:20:28 1997 Mike Stump <mrs@cygnus.com> * class.c (base_binfo): Remove unused base_has_virtual member. (finish_base_struct): Likewise. (finish_struct_1): Likewise. - - Copyright (C) 1997 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-1998 b/gcc/cp/ChangeLog-1998 index 008f5c36001d..5d5f9b04fcc0 100644 --- a/gcc/cp/ChangeLog-1998 +++ b/gcc/cp/ChangeLog-1998 @@ -6884,8 +6884,6 @@ Wed Jan 7 23:47:13 1998 Jason Merrill <jason@yorick.cygnus.com> (expand_throw): Use it. Protect exception init with terminate. * typeck.c (build_modify_expr): Remove code that ignores trivial methods. - - Copyright (C) 1998 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-1999 b/gcc/cp/ChangeLog-1999 index b321e9897472..96c5954e1e8b 100644 --- a/gcc/cp/ChangeLog-1999 +++ b/gcc/cp/ChangeLog-1999 @@ -6785,7 +6785,6 @@ Tue Jan 5 22:11:25 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * typeck.c (build_c_cast): Use it. * decl.c (grok_op_properties): Use same_type_p. - Copyright (C) 1999 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2000 b/gcc/cp/ChangeLog-2000 index 7be14cd5bc29..4f5d997291fa 100644 --- a/gcc/cp/ChangeLog-2000 +++ b/gcc/cp/ChangeLog-2000 @@ -7271,8 +7271,6 @@ Wed Apr 5 15:12:18 MET DST 2000 Jan Hubicka <jh@suse.cz> 2000-01-01 Martin v. Löwis <loewis@informatik.hu-berlin.de> * call.c (build_new_method_call): Also check destructors. - - Copyright (C) 2000 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2001 b/gcc/cp/ChangeLog-2001 index 2bdb9f1abf50..684cf88e17bc 100644 --- a/gcc/cp/ChangeLog-2001 +++ b/gcc/cp/ChangeLog-2001 @@ -3892,7 +3892,6 @@ * decl.c (cp_missing_noreturn_ok_p): New. (init_decl_processing): Set lang_missing_noreturn_ok_p. - Copyright (C) 2001 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2002 b/gcc/cp/ChangeLog-2002 index 16dc2cd6073f..a1bfa7f59184 100644 --- a/gcc/cp/ChangeLog-2002 +++ b/gcc/cp/ChangeLog-2002 @@ -4571,8 +4571,6 @@ PR c++/5116, c++/764 * call.c (build_new_op): Make sure template class operands are instantiated. Simplify arglist construction. - - Copyright (C) 2002 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2003 b/gcc/cp/ChangeLog-2003 index 6dfb50afb2e5..aa206223bcc9 100644 --- a/gcc/cp/ChangeLog-2003 +++ b/gcc/cp/ChangeLog-2003 @@ -6902,8 +6902,6 @@ * lex.c: Remove superfluous include of cpplib.h. (CONSTRAINT): Define without conditions. (init_cp_pragma): Use c_register_pragma. - - Copyright (C) 2003 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2004 b/gcc/cp/ChangeLog-2004 index 602745f7ede8..76f2daea421e 100644 --- a/gcc/cp/ChangeLog-2004 +++ b/gcc/cp/ChangeLog-2004 @@ -6875,7 +6875,6 @@ (cp_parser_namespace_name): Likewise. (cp_parser_class_name): Likewise. (cp_parser_lookup_name_simple): Likewise. - Copyright (C) 2004 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2005 b/gcc/cp/ChangeLog-2005 index 3269fa7f4a2c..c6b904114290 100644 --- a/gcc/cp/ChangeLog-2005 +++ b/gcc/cp/ChangeLog-2005 @@ -3519,7 +3519,6 @@ PR middle-end/17544 * decl.c (finish_function): Fix comment. Annotate the compiler generated return with the current file name and line 0. - Copyright (C) 2005 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2006 b/gcc/cp/ChangeLog-2006 index 09df1ef21846..06335ea59eb6 100644 --- a/gcc/cp/ChangeLog-2006 +++ b/gcc/cp/ChangeLog-2006 @@ -3492,8 +3492,6 @@ * parser.c (cp_parser_using_declaration): Skip name-lookup on invalid scope. - - Copyright (C) 2006 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2007 b/gcc/cp/ChangeLog-2007 index 817bab6db3f9..4a325dfac568 100644 --- a/gcc/cp/ChangeLog-2007 +++ b/gcc/cp/ChangeLog-2007 @@ -3334,7 +3334,6 @@ o2007-02-06 Mark Mitchell <mark@codesourcery.com> canonicalized. When reducing a template type parameter, find the canonical reduced type parameter. (any_template_arguments_need_structural_equality_p): New. - Copyright (C) 2007 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2008 b/gcc/cp/ChangeLog-2008 index 83fd123a75d0..3891af2cded5 100644 --- a/gcc/cp/ChangeLog-2008 +++ b/gcc/cp/ChangeLog-2008 @@ -3254,7 +3254,6 @@ * parser.c (cp_parser_check_decl_spec): Don't warn about "long long" in C++0x mode; change the warning to note that "long long" is only unsupported in C++98 mode. - Copyright (C) 2008 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2009 b/gcc/cp/ChangeLog-2009 index c39304c465b5..f7dc1fbd32fd 100644 --- a/gcc/cp/ChangeLog-2009 +++ b/gcc/cp/ChangeLog-2009 @@ -3737,7 +3737,6 @@ PR c++/38684 * typeck2.c (digest_init_r): Don't use process_init_constructor for non-aggregate classes. - Copyright (C) 2009 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2010 b/gcc/cp/ChangeLog-2010 index e706b7cb8535..561595063e51 100644 --- a/gcc/cp/ChangeLog-2010 +++ b/gcc/cp/ChangeLog-2010 @@ -4053,8 +4053,6 @@ PR c++/42567 * semantics.c (describable_type): Remove decltype comment and semantics. - - Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2011 b/gcc/cp/ChangeLog-2011 index 02dde6e787a3..f59f96688da4 100644 --- a/gcc/cp/ChangeLog-2011 +++ b/gcc/cp/ChangeLog-2011 @@ -5024,7 +5024,6 @@ PR target/38662 * tree.c (cxx_type_hash_eq): Allow METHOD_TYPE, too. - Copyright (C) 2011 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2015 b/gcc/cp/ChangeLog-2015 index 4c7e38452ecb..b701807e1cd9 100644 --- a/gcc/cp/ChangeLog-2015 +++ b/gcc/cp/ChangeLog-2015 @@ -4221,7 +4221,6 @@ PR c/64423 * typeck.c (cp_build_array_ref): Pass loc down to warn_array_subscript_with_type_char. - Copyright (C) 2015 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2022 b/gcc/cp/ChangeLog-2022 index 24ca96fe2106..6e8b97302503 100644 --- a/gcc/cp/ChangeLog-2022 +++ b/gcc/cp/ChangeLog-2022 @@ -5389,7 +5389,6 @@ 2022-01-02 Jason Merrill <jason@redhat.com> * decl.c (wrap_cleanups_r): Don't wrap if noexcept. - Copyright (C) 2022 Free Software Foundation, Inc. diff --git a/gcc/cp/ChangeLog-2023 b/gcc/cp/ChangeLog-2023 index 857567658a1d..c2d57f475eb7 100644 --- a/gcc/cp/ChangeLog-2023 +++ b/gcc/cp/ChangeLog-2023 @@ -4088,7 +4088,6 @@ 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. diff --git a/gcc/cp/ChangeLog-2024 b/gcc/cp/ChangeLog-2024 new file mode 100644 index 000000000000..52adcfac7398 --- /dev/null +++ b/gcc/cp/ChangeLog-2024 @@ -0,0 +1,5733 @@ +2024-12-29 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/100358 + PR c++/115008 + * module.cc (elf_out::create_mapping): Fallback to ftruncate if + posix_fallocate fails. + +2024-12-29 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/106221 + PR c++/110680 + * pt.cc (check_default_tmpl_args): Check this is actually a + lambda declaration and not just a typedef. + (push_template_decl): Likewise. + +2024-12-27 Jakub Jelinek <jakub@redhat.com> + + Revert: + 2024-12-18 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_lexer_new_main): Attempt to optimize large sequences + of CPP_NUMBER with int type and values 0-255 separated by CPP_COMMA + into CPP_EMBED with RAW_DATA_CST u.value. + +2024-12-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * tree.cc (handle_maybe_unused_attribute): New function. + (std_attributes): Use handle_maybe_unused_attribute instead + of handle_unused_attribute for maybe_unused attribute. + +2024-12-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * parser.cc (cp_parser_std_attribute): Don't transform + [[deprecated]] into [[gnu::deprecated]]. + * tree.cc (handle_std_deprecated_attribute): New function. + (std_attributes): Add deprecated entry. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116401 + * decl.cc (grokfndecl): Mark deduction guides as 'inline'. + * module.cc (check_module_decl_linkage): Implement checks for + non-inline external linkage definitions in headers. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * cp-tree.h (check_module_decl_linkage): Declare. + * decl2.cc (finish_static_data_member_decl): Check linkage. + * module.cc (set_originating_module): Adjust comment. + (check_module_decl_linkage): New function. + * name-lookup.cc (do_namespace_alias): Build alias with + specified location, check linkage. + (pushtag): Check linkage. + (push_namespace): Slightly clarify error message. + * name-lookup.h (do_namespace_alias): Add location parameter. + * parser.cc (cp_parser_namespace_alias_definition): Pass + identifier location to do_namespace_alias. + (cp_parser_alias_declaration): Check linkage. + (cp_parser_init_declarator): Check linkage. + (cp_parser_function_definition_after_declarator): Check linkage. + (cp_parser_save_member_function_body): Check linkage. + * pt.cc (finish_concept_definition): Mark as public, check + linkage. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (depset::hash::add_binding_entity): Also walk + unnamed namespaces. + (module_state::write_namespaces): Adjust assertion. + * name-lookup.cc (push_namespace): Move anon using-directive + handling to... + (make_namespace_finish): ...here. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * cp-objcp-common.cc (cp_tree_size): Add TU_LOCAL_ENTITY. + * cp-tree.def (TU_LOCAL_ENTITY): New tree code. + * cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): Update comment. + (struct tree_tu_local_entity): New type. + (TU_LOCAL_ENTITY_NAME): New accessor. + (TU_LOCAL_ENTITY_LOCATION): New accessor. + (enum cp_tree_node_structure_enum): Add TS_CP_TU_LOCAL_ENTITY. + (union GTY): Add tu_local_entity field. + * module.cc (enum tree_tag): New flag DB_REFS_TU_LOCAL_BIT. + (depset::has_defn): Override for TU-local entities. + (depset::refs_tu_local): New accessor. + (depset::hash::ignore_tu_local): New field. + (depset::hash::hash): Initialize it. + (trees_out::tree_tag::tt_tu_local): New flag. + (trees_out::writing_local_entities): New field. + (trees_out::is_initial_scan): New function. + (trees_out::tu_local_count): New counter. + (trees_out::trees_out): Initialize writing_local_entities. + (dumper::impl::nested_name): Handle TU_LOCAL_ENTITY. + (trees_out::instrument): Report TU-local entity counts. + (trees_out::decl_value): Early exit for TU-local entities. + (trees_in::decl_value): Handle typedefs of TU-local entities. + (trees_out::decl_node): Adjust assertion to cope with early exit + of TU-local deps. Always write TU-local entities by value. + (trees_out::type_node): Handle TU-local types. + (trees_out::has_tu_local_dep): New function. + (trees_out::find_tu_local_decl): New function. + (trees_out::tree_node): Intercept TU-local entities and write + placeholder values for them instead of normal streaming. + (trees_in::tree_node): Handle TU-local entities and TU-local + template results. + (trees_out::write_function_def): Ignore exposures in non-inline + function bodies. + (trees_out::write_var_def): Ignore exposures in initializers. + (trees_out::write_class_def): Ignore exposures in friend decls. + (trees_in::read_class_def): Skip TU-local friends. + (trees_out::write_definition): Record whether we're writing a + decl which refers to TU-local entities. + (depset::hash::add_dependency): Only mark as exposure if we're not + ignoring TU-local entities. + (depset::hash::find_dependencies): Use depset's own is_key_order + function rather than delegating via walker. Pass whether the + decl has ignored TU-local entities in its definition. + (template_has_explicit_inst): New function. + (depset::hash::finalize_dependencies): Implement new warning + Wtemplate-names-tu-local. + (module_state::intercluster_seed): Don't seed TU-local deps. + (module_state::write_cluster): Pass whether the decl has ignored + TU-local entities in its definition. + * pt.cc (register_specialization): Always register in a module. + (complain_about_tu_local_entity): New function. + (expr_contains_tu_local_entity): New function. + (function_contains_tu_local_entity): New function. + (instantiate_class_template): Skip TU-local friends. + (tsubst_decl): Handle typedefs of TU-local entities. + (tsubst): Complain about TU-local entities. + (dependent_operand_p): Early exit for TU-local entities so we + don't attempt to constant-evaluate them. + (tsubst_expr): Detect and complain about TU-local entities. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * tree.cc (decl_linkage): Treat DECL_SELF_REFERENCE_P like + DECL_IMPLICIT_TYPEDEF_P. + * name-lookup.cc (do_namespace_alias): Fix linkage. + * module.cc (DB_IS_INTERNAL_BIT): Rename to... + (DB_TU_LOCAL_BIT): ...this. + (DB_REFS_INTERNAL_BIT): Rename to... + (DB_EXPOSURE_BIT): ...this. + (depset::hash::is_internal): Rename to... + (depset::hash::is_tu_local): ...this. + (depset::hash::refs_internal): Rename to... + (depset::hash::is_exposure): ...this. + (depset::hash::is_tu_local_entity): New function. + (depset::hash::has_tu_local_tmpl_arg): New function. + (depset::hash::is_tu_local_value): New function. + (depset::hash::make_dependency): Check for TU-local entities. + (depset::hash::add_dependency): Make current an exposure + whenever it references a TU-local entity. + (depset::hash::add_binding_entity): Don't create bindings for + any TU-local entity. + (depset::hash::finalize_dependencies): Rename flags and adjust + diagnostic messages to report exposures of TU-local entities. + (depset::tarjan::connect): Don't include any TU-local depsets. + (depset::hash::connect): Likewise. + +2024-12-19 Patrick Palka <ppalka@redhat.com> + + PR c++/118069 + * constraint.cc (atom_hasher): Define here, instead of ... + * cp-tree.h (atom_hasher): ... here. + * logic.cc (clause::m_set): Use pointer instead of structural + hashing. + +2024-12-19 Patrick Palka <ppalka@redhat.com> + + PR c++/118069 + * logic.cc (dnf_size_r): Use HOST_WIDE_INT instead of int, and + handle overflow gracefully via add_sat_hwi and mul_sat_hwi. + (cnf_size_r): Likewise. + (dnf_size): Use HOST_WIDE_INT instead of int. + (cnf_size): Likewise. + +2024-12-19 Marek Polacek <polacek@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/117980 + * constexpr.cc (cxx_eval_outermost_constant_expr): If there's + an object to initialize, take its type. Don't set the type + in the constexpr dtor case. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_lexer_new_main): Attempt to optimize large sequences + of CPP_NUMBER with int type and values 0-255 separated by CPP_COMMA + into CPP_EMBED with RAW_DATA_CST u.value. + +2024-12-18 Tobias Burnus <tburnus@baylibre.com> + + * decl.cc (omp_declare_variant_finalize_one): Handle + append_args. + * parser.cc (cp_parser_omp_clause_init_modifiers): New; + split of from ... + (cp_parser_omp_clause_init): ... here; call it. + (cp_parser_omp_all_clauses): Replace interop parsing by + a call to ... + (cp_parser_omp_clause_interop): ... this new function; + set tree used/read. + (cp_finish_omp_declare_variant): Parse 'append_args' clause. + (cp_parser_omp_declare): Update comment. + * pt.cc (tsubst_attribute, tsubst_omp_clauses): Handle template + substitution also for declare variant's append_args clause, + using for 'init' the same code as for interop's init clause. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_postfix_expression): Use + type_id_in_expr_sentinel instead of manually saving+setting/restoring + parser->in_type_id_in_expr_p around cp_parser_type_id calls. + (cp_parser_has_attribute_expression): Likewise. + (cp_parser_cast_expression): Likewise. + (cp_parser_sizeof_operand): Likewise. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * cp-tree.h (enum cp_tree_index): Add CPTI_INTERNAL_IDENTIFIER. + (internal_identifier): Define. + (internal_attribute_table): Declare. + * parser.cc (cp_parser_exception_declaration): Error on alignas + on exception declaration. + (cp_parser_std_attribute_spec): Turn alignas into internal + ns aligned attribute rather than gnu. + * decl.cc (initialize_predefined_identifiers): Initialize + internal_identifier. + * tree.cc (handle_alignas_attribute): New function. + (internal_attributes): New variable. + (internal_attribute_table): Likewise. + * cp-objcp-common.h (cp_objcp_attribute_table): Add + internal_attribute_table entry. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * parser.cc (cp_parser_type_specifier_seq): Chain cxx11_attribute_p + attributes after any type specifier in the is_declaration case + to std_attributes rather than attributes. Set also ds_attribute + or ds_std_attribute locations if not yet set. + (cp_parser_exception_declaration): Pass &type_specifiers.attributes + instead of NULL as last argument, call cp_decl_attributes. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * decl.cc (check_tag_decl): Diagnose std_attributes. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * parser.cc (cp_parser_decl_specifier_seq): Call + warn_misplaced_attr_for_class_type for all OVERLOAD_TYPE_P + types, not just CLASS_TYPE_P. When not calling + warn_misplaced_attr_for_class_type, don't clear attrs and + add it to decl_specs->std_attributes instead. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c/41045 + * semantics.cc (finish_asm_stmt): Reject - constraint modifier inside + of a function. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + * semantics.cc (finish_asm_stmt): Diagnose invalid ":" constraint + uses. + +2024-12-18 Lewis Hyatt <lhyatt@gmail.com> + + PR c++/117970 + * module.cc (module_state::read_ordinary_maps): Change argument to + line_map_uint_t instead of unsigned int. + +2024-12-17 Marek Polacek <polacek@redhat.com> + + PR c++/118073 + * error.cc (dump_expr) <case NONTYPE_ARGUMENT_PACK>: New case. + +2024-12-17 Marek Polacek <polacek@redhat.com> + + PR c++/117985 + * init.cc (build_vec_init): Pop CLEANUP_FLAGS if we're not + generating the loop. + +2024-12-17 Jakub Jelinek <jakub@redhat.com> + + PR c++/116108 + * decl.cc (grokdeclarator): Pass TYYPE_MAIN_VARIANT (type) + rather than type to same_type_p when checking if the non-static + data member doesn't have current class type. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + PR sarif-replay/117943 + * error.cc (auto_context_line::~auto_context_line): Use + source-printing options from text_output. + +2024-12-15 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc + (cp_coroutine_transform::wrap_original_function_body): Use + finish_if_stmt instead of manually applying the same process. + +2024-12-15 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (expand_one_await_expression): Update the + resume index before checking if the coroutine is ready. + +2024-12-15 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/98935 + * coroutines.cc (register_local_var_uses): Add a pset to the + tree walk to avoid visiting the same BIND_EXPR twice. Make + an early exit for cases that the callback does not apply. + (cp_coroutine_transform::apply_transforms): Add a pset to the + tree walk for register_local_vars. + +2024-12-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/90321 + * decl.cc (find_decomp_class_base): Check for decomposing a + lambda closure type. Report base class chains if needed. + (cp_finish_decomp): Remove no-longer-needed check. + +2024-12-13 Tobias Burnus <tburnus@baylibre.com> + + * parser.cc (cp_parser_omp_construct, cp_parser_pragma): Reject + OpenMP expressions in constexpr functions. + +2024-12-12 Tobias Burnus <tburnus@baylibre.com> + + * parser.cc (OMP_DISPATCH_CLAUSE_MASK): Add has_device_addr clause. + +2024-12-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/117614 + * constexpr.cc (cxx_eval_store_expression): For stores to + DECL_ANON_UNION_VAR_P vars just continue with DECL_VALUE_EXPR + of it, without setting evaluated to true or full + cxx_eval_constant_expression. + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + * decl.cc: Add #include "diagnostic-highlight-colors.h" + and #include "pretty-print-markup.h". + (complain_about_incompatible_declspecs): New. + (grokdeclarator): Use it when complaining about both 'signed' and + 'unsigned', and both 'long' and 'short'. + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + * call.cc (print_z_candidates): Count the number of + candidates and issue a note stating the count at an + intermediate nesting level. Number the individual + candidates. + +2024-12-10 Arsen Arsenović <arsen@aarsen.me> + Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (dump_record_fields): New helper. Iterates a + RECORD_TYPEs TYPE_FIELDS and pretty-prints them. + (dmp_str): New. The lang-coro dump stream. + (coro_dump_id): New. ID of the lang-coro dump. + (coro_dump_flags): New. Flags passed to the lang-coro dump. + (coro_maybe_dump_initial_function): New helper. Prints, if + dumping is enabled, the fndecl passed to it as the original + function. + (coro_maybe_dump_ramp): New. Prints the ramp function passed to + it, if dumping is enabled. + (coro_maybe_dump_transformed_functions): New. + (cp_coroutine_transform::apply_transforms): Initialize the + lang-coro dump. Call coro_maybe_dump_initial_function on the + original function, as well as coro_maybe_dump_ramp, after the + transformation into the ramp is finished. + (cp_coroutine_transform::finish_transforms): Call + coro_maybe_dump_transformed_functions on the built actor and + destroy. + * cp-objcp-common.cc (cp_register_dumps): Register the coroutine + dump. + * cp-tree.h (coro_dump_id): Declare as extern. + * cxx-pretty-print.cc (pp_cxx_template_parameter): Don't call + TREE_TYPE on a TREE_LIST cell. + (cxx_pretty_printer::declaration): Handle FIELD_DECL similar to + VAR_DECL. + +2024-12-10 Marek Polacek <polacek@redhat.com> + + PR c++/117788 + * typeck.cc (cp_build_binary_op) <case EQ_EXPR>: Don't check + warn_array_compare. Check tf_warning_or_error instead of just + tf_warning. Maybe return an error_mark_node in C++26. + <case LE_EXPR>: Likewise. + +2024-12-09 Marek Polacek <polacek@redhat.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/116416 + * cp-gimplify.cc (cp_fold_r) <case TARGET_EXPR>: Try to fold + TARGET_EXPR_INITIAL and replace it with the folded result if + it's TREE_CONSTANT. + +2024-12-09 Matthew Malcomson <mmalcomson@nvidia.com> + + * call.cc (build_cxx_call): Pass `complain` parameter to + check_builtin_function_arguments. Take its value from the + `tsubst_flags_t` type `complain & tf_error`. + * semantics.cc (finish_call_expr): Pass `complain` parameter to + resolve_overloaded_builtin. Take its value from the + `tsubst_flags_t` type `complain & tf_error`. + +2024-12-06 David Malcolm <dmalcolm@redhat.com> + + PR other/116253 + * call.cc (print_conversion_rejection): Remove leading space from + diagnostic messages. + (print_conversion_rejection): Likewise. + (print_arity_information): Likewise. + (print_z_candidate): Likewise. Add auto_diagnostic_nesting_level + before calls to fn_type_unification and diagnose_constraints. + (print_z_candidates): Add auto_diagnostic_nesting_level before + looping over candidates. + (conversion_null_warnings): Remove leading space from + diagnostic messages. + (maybe_inform_about_fndecl_for_bogus_argument_init): Likewise. + * constraint.cc (tsubst_valid_expression_requirement): Add + auto_diagnostic_nesting_level when showing why the expression is + invalid. + (satisfy_disjunction): Likewise when showing operans, and again + when replaying each branch of the disjunction. + (diagnose_constraints): Likewise when replaying satisfaction. + * error.cc (cp_diagnostic_text_starter): Set prefix. + (print_instantiation_full_context): Only show the file + if we're not showing nesting or the user has opted in to + showing location information in nested diagnostics. + (class auto_context_line): New. + (print_instantiation_partial_context_line): Replace calls to + print_location and to diagnostic_show_locus with an + auto_context_line. + (print_instantiation_partial_context): Replace calls to + print_location with an auto_context_line. + (maybe_print_constexpr_context): Likewise. + (print_constrained_decl_info): Likewise. + (print_concept_check_info): Likewise. + (print_constraint_context_head): Likewise. + (print_requires_expression_info): Likewise. + +2024-12-06 David Malcolm <dmalcolm@redhat.com> + + * cp-gimplify.cc: Include "gcc-urlifier.h". + (process_stmt_hotness_attribute): Use auto_urlify_attributes with + OPT_Wattributes. + * cvt.cc: Include "gcc-urlifier.h". + (maybe_warn_nodiscard): Use auto_urlify_attributes with + OPT_Wunused_result. + * decl.cc: Include "gcc-urlifier.h". + (start_decl): Use auto_urlify_attributes. + (start_preparsed_function): Likewise. + +2024-12-06 David Malcolm <dmalcolm@redhat.com> + + * name-lookup.cc (suggest_alternative_in_explicit_scope): + Gracefully handle non-namespaces, such as scoped enums. + * parser.cc (cp_parser_name_lookup_error): Provide + a name_hint for the case where we're in an explicit scope. + * std-name-hint.gperf: Add <concepts>. + * std-name-hint.h: Regenerate. + +2024-12-06 David Malcolm <dmalcolm@redhat.com> + + PR other/116253 + * error.cc (print_location): Move to earlier in the file. + (print_instantiation_partial_context_line): Replace + location-printing logic with a call to print_location. + (print_instantiation_partial_context): Likewise, splitting up + pp_verbatim calls. + (maybe_print_constexpr_context): Likewise. + +2024-12-06 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.h (class raw_data_iterator): New type. + (class raw_data_range): New type. + * parser.cc (cp_parser_postfix_open_square_expression): Handle + parsing of CPP_EMBED. + (cp_parser_parenthesized_expression_list): Likewise. Use + cp_lexer_next_token_is. + (cp_parser_expression): Handle parsing of CPP_EMBED. + (cp_parser_template_argument_list): Likewise. + (cp_parser_initializer_list): Likewise. + (cp_parser_oacc_clause_tile): Likewise. + (cp_parser_omp_tile_sizes): Likewise. + * pt.cc (tsubst_expr): Handle RAW_DATA_CST. + * constexpr.cc (reduced_constant_expression_p): Likewise. + (raw_data_cst_elt): New function. + (find_array_ctor_elt): Handle RAW_DATA_CST. + (cxx_eval_array_reference): Likewise. + * typeck2.cc (digest_init_r): Emit -Wnarrowing and/or -Wconversion + diagnostics. + (process_init_constructor_array): Handle RAW_DATA_CST. + * decl.cc (maybe_deduce_size_from_array_init): Likewise. + (is_direct_enum_init): Fail for RAW_DATA_CST. + (cp_maybe_split_raw_data): New function. + (consume_init): New function. + (reshape_init_array_1): Add VECTOR_P argument. Handle RAW_DATA_CST. + (reshape_init_array): Adjust reshape_init_array_1 caller. + (reshape_init_vector): Likewise. + (reshape_init_class): Handle RAW_DATA_CST. + (reshape_init_r): Likewise. + +2024-12-06 Marek Polacek <polacek@redhat.com> + + PR c++/117898 + * pt.cc (tsubst_pack_index): Detect indexing an empty pack. + +2024-12-05 Jakub Jelinek <jakub@redhat.com> + + PR c/41045 + * cp-tree.h (finish_asm_stmt): Add TOPLEV_P argument. + * parser.cc (cp_parser_asm_definition): Parse also extended asm + without clobbers/labels outside of functions. + * semantics.cc (finish_asm_stmt): Add TOPLEV_P argument, if set, + check extra restrictions for extended asm outside of functions. + * pt.cc (tsubst_stmt): Adjust finish_asm_stmt caller. + +2024-12-04 David Malcolm <dmalcolm@redhat.com> + + PR c++/116771 + * parser.cc (cp_parser_name_lookup_error): Provide suggestions for + the case of complete failure where there is no scope. + +2024-12-04 Simon Martin <simon@nasilyan.com> + + PR c++/117615 + * constexpr.cc (cxx_eval_constant_expression): Don't reject + INTEGER_CSTs with type POINTER_TYPE to METHOD_TYPE. + +2024-12-04 Jakub Jelinek <jakub@redhat.com> + + PR c++/117826 + * cp-tree.h (struct decl_location_traits): New type. + (erroneous_templates_t): Change using into typedef. + (erroneous_templates): Add GTY((cache)). + * error.cc (cp_adjust_diagnostic_info): Use + hash_map_safe_get_or_insert<true> rather than + hash_map_safe_get_or_insert<false> for erroneous_templates. + +2024-12-03 Nina Ranns <dinka.ranns@googlemail.com> + + PR c++/117579 + * parser.cc (cp_parser_statement): Replace assertion with a + conditional check that the statement containing a contract assert + is empty. + +2024-12-02 Patrick Palka <ppalka@redhat.com> + + * constraint.cc (resolve_concept_check): Remove. + (deduce_constrained_parameter): Remove. + (finish_type_constraints): Inline into its only caller + cp_parser_placeholder_type_specifier and remove. + (build_concept_check_arguments): Coding style tweaks. + (build_standard_check): Inline into its only caller ... + (build_concept_check): ... here. + (build_type_constraint): Use the prototype parameter as the + first template argument. + (finish_shorthand_constraint): Remove function concept + handling. Use concept_prototype_parameter. + (placeholder_extract_concept_and_args): Inline into its + callers and remove. + (equivalent_placeholder_constraints): Adjust after + placeholder_extract_concept_and_args removal. + (iterative_hash_placeholder_constraint): Likewise. + * cp-objcp-common.cc (cp_common_init_ts): Remove WILDCARD_DECL + handling. + * cp-tree.def (WILDCARD_DECL): Remove. + * cp-tree.h (WILDCARD_PACK_P): Remove. + (type_uses_auto_or_concept): Remove declaration of nonexistent + function. + (append_type_to_template_for_access_check): Likewise. + (finish_type_constraints): Remove declaration. + (placeholder_extract_concept_and_args): Remove declaration. + (deduce_constrained_parameter): Remove declaration. + (resolve_constraint_check): Remove declaration. + (valid_requirements_p): Remove declaration of nonexistent + function. + (finish_concept_name): Likewise. + (concept_definition_p): Remove redundant overload. + (concept_prototype_parameter): Define. + * cxx-pretty-print.cc (pp_cxx_constrained_type_spec): Adjust + after placeholder_extract_concept_and_args. + * error.cc (dump_decl) <case WILDCARD_DECL>: Remove. + (dump_expr) <case WILDCARD_DECL>: Likewise. + * parser.cc (is_constrained_parameter): Inline into + declares_constrained_type_template_parameter and remove. + (cp_parser_check_constrained_type_parm): Declare static. + (finish_constrained_template_template_parm): Remove. + (cp_parser_constrained_template_template_parm): Remove. + (finish_constrained_parameter): Remove dead code guarded by + cp_parser_constrained_template_template_parm. + (declares_constrained_type_template_parameter): Adjust after + is_constrained_parameter removal. + (declares_constrained_template_template_parameter): Remove. + (cp_parser_placeholder_type_specifier): Adjust after + finish_type_constraints removal. Check the prototype parameter + earlier, before build_type_constraint. + Use concept_prototype_parameter. + (cp_parser_parameter_declaration): Remove dead code guarded by + declares_constrained_template_template_parameter. + * pt.cc (convert_wildcard_argument): Remove. + (convert_template_argument): Remove WILDCARD_DECL handling. + (coerce_template_parameter_pack): Likewise. + (tsubst) <case TEMPLATE_TYPE_PARM>: Likewise. + (type_dependent_expression_p): Likewise. + (make_constrained_placeholder_type): Remove function concept + handling. + (placeholder_type_constraint_dependent_p): Remove WILDCARD_DECL + handling. + +2024-11-30 Jakub Jelinek <jakub@redhat.com> + + * parser.cc: Implement C++26 P3176R1 - The Oxford variadic comma. + (cp_parser_parameter_declaration_clause): Emit + -Wdeprecated-variadic-comma-omission warnings. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * decl.cc (reshape_init_array_1): Handle poly indices. + +2024-11-28 Marek Polacek <polacek@redhat.com> + + PR c++/113798 + * constexpr.cc (potential_constant_expression_1) <case PACK_INDEX_EXPR>: + New case. + * cp-objcp-common.cc (cp_common_init_ts): Mark PACK_INDEX_TYPE and + PACK_INDEX_EXPR. + * cp-tree.def (PACK_INDEX_TYPE): New. + (PACK_INDEX_EXPR): New. + * cp-tree.h (WILDCARD_TYPE_P): Also check PACK_INDEX_TYPE. + (PACK_INDEX_CHECK): Define. + (PACK_INDEX_P): Define. + (PACK_INDEX_PACK): Define. + (PACK_INDEX_INDEX): Define. + (PACK_INDEX_PARENTHESIZED_P): Define. + (make_pack_index): Declare. + (pack_index_element): Declare. + * cxx-pretty-print.cc (cxx_pretty_printer::expression) <case + PACK_INDEX_EXPR>: New case. + (cxx_pretty_printer::type_id) <case PACK_INDEX_TYPE>: New case. + * error.cc (dump_type) <case PACK_INDEX_TYPE>: New case. + (dump_type_prefix): Handle PACK_INDEX_TYPE. + (dump_type_suffix): Likewise. + (dump_expr) <case PACK_INDEX_EXPR>: New case. + * mangle.cc (write_type) <case PACK_INDEX_TYPE>: New case. + * module.cc (trees_out::type_node) <case PACK_INDEX_TYPE>: New case. + (trees_in::tree_node) <case PACK_INDEX_TYPE>: New case. + * parser.cc (cp_parser_next_tokens_are_pack_index_p): New. + (cp_parser_pack_index): New. + (cp_parser_primary_expression): Handle a C++26 pack-index-expression. + (cp_parser_unqualified_id): Handle a C++26 pack-index-specifier. + (cp_parser_nested_name_specifier_opt): See if a pack-index-specifier + follows. + (cp_parser_qualifying_entity): Handle a C++26 pack-index-specifier. + (cp_parser_decltype_expr): Set id_expression_or_member_access_p for + pack indexing. + (cp_parser_mem_initializer_id): Handle a C++26 pack-index-specifier. + (cp_parser_simple_type_specifier): Likewise. + (cp_parser_base_specifier): Likewise. + * pt.cc (iterative_hash_template_arg) <case PACK_INDEX_TYPE, + PACK_INDEX_EXPR>: New case. + (find_parameter_packs_r) <case PACK_INDEX_TYPE, PACK_INDEX_EXPR>: New + case. + (make_pack_index): New. + (tsubst_pack_index): New. + (tsubst): Avoid tsubst on PACK_INDEX_TYPE. + <case TYPENAME_TYPE>: Add a call to error. + <case PACK_INDEX_TYPE>: New case. + (tsubst_expr) <case PACK_INDEX_EXPR>: New case. + (dependent_type_p_r): Return true for PACK_INDEX_TYPE. + (type_dependent_expression_p): Recurse on PACK_INDEX_PACK for + PACK_INDEX_EXPR. + * ptree.cc (cxx_print_type) <case PACK_INDEX_TYPE>: New case. + * semantics.cc (finish_parenthesized_expr): Set + PACK_INDEX_PARENTHESIZED_P for PACK_INDEX_EXPR. + (finish_type_pack_element): Adjust error messages. + (pack_index_element): New. + * tree.cc (cp_tree_equal) <case PACK_INDEX_EXPR>: New case. + (cp_walk_subtrees) <case PACK_INDEX_TYPE, PACK_INDEX_EXPR>: New case. + * typeck.cc (structural_comptypes) <case PACK_INDEX_TYPE>: New case. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c++/78620 + PR c++/117256 + * init.cc (build_zero_init_1): Set CONSTRUCTOR_ZERO_PADDING_BITS. + (build_value_init_noctor): Likewise. + * constexpr.cc (cxx_eval_store_expression): Propagate + CONSTRUCTOR_ZERO_PADDING_BITS flag. + +2024-11-28 David Malcolm <dmalcolm@redhat.com> + + PR c/82892 + * name-lookup.cc (suggest_alternatives_for_1): Provide hints for + missing command-line options. + +2024-11-28 David Malcolm <dmalcolm@redhat.com> + + PR c++/87850 + * call.cc (convert_like_real): Call maybe_emit_indirection_note + for "invalid conversion" diagnostic. + * typeck.cc (compatible_types_for_indirection_note_p): New + function. + +2024-11-28 David Malcolm <dmalcolm@redhat.com> + + PR c/104896 + * cvt.cc (maybe_warn_nodiscard): Replace "%<%s%>" with "%qs" in + message wording. + +2024-11-27 Jason Merrill <jason@redhat.com> + + * module.cc (trees_out::core_bools): Check vague_linkage_p. + (has_definition): Likewise. + +2024-11-23 Lewis Hyatt <lhyatt@gmail.com> + + * module.cc (bytes_out::loc): New function. + (bytes_in::loc): New function. + (struct span): Change int fields to location_diff_t. + (range_t): Change from "unsigned int" to "line_map_uint_t". + (struct ord_loc_info): Likewise. + (struct macro_loc_info): Likewise. + (class module_state): Likewise. + (dumper::operator()): Add new code 'K' for dumping a location_t. + (loc_spans::init): Use %K instead of %u for location_t dumps. + (loc_spans::open): Likewise. + (loc_spans::close): Likewise. Adjust bitwise expressions to support + 64-bit location_t as well. + (struct module_state_config): Change ordinary_locs and macro_locs + from "unsigned int" to "line_map_uint_t". Reorder fields to improve + packing. Rather than changing the constructor initializer list to + match the new order, switch to NSDMI instead. + (module_state::note_location): Adjust to support 64-bit location_t. + (module_state::write_location): Use %K instead of %u for location_t + dumps. Use loc() instead of u() for streaming location_t. + (module_state::read_location): Likewise. + (module_state::write_ordinary_maps): Likewise. + (module_state::write_macro_maps): Likewise. + (module_state::write_config): Likewise. + (module_state::read_config): Likewise. + (module_state::write_prepare_maps): Use %K instead of %u for + location_t dumps. Adjust variable types and bitwise expressions to + support 64-bit location_t. + (module_state::read_ordinary_maps): Likewise. + (module_state::read_macro_maps): Likewise. + (preprocess_module): Adjust data types to support 64-bit number of + line maps. + +2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR bootstrap/117737 + * call.cc (INCLUDE_MEMORY): Remove. + * class.cc (INCLUDE_MEMORY): Remove. + * constexpr.cc (INCLUDE_MEMORY): Remove. + * constraint.cc (INCLUDE_MEMORY): Remove. + * contracts.cc (INCLUDE_MEMORY): Remove. + * coroutines.cc (INCLUDE_MEMORY): Remove. + * cp-gimplify.cc (INCLUDE_MEMORY): Remove. + * cp-lang.cc (INCLUDE_MEMORY): Remove. + * cp-objcp-common.cc (INCLUDE_MEMORY): Remove. + * cp-ubsan.cc (INCLUDE_MEMORY): Remove. + * cvt.cc (INCLUDE_MEMORY): Remove. + * cxx-pretty-print.cc (INCLUDE_MEMORY): Remove. + * decl.cc (INCLUDE_MEMORY): Remove. + * decl2.cc (INCLUDE_MEMORY): Remove. + * dump.cc (INCLUDE_MEMORY): Remove. + * error.cc (INCLUDE_MEMORY): Remove. + * except.cc (INCLUDE_MEMORY): Remove. + * expr.cc (INCLUDE_MEMORY): Remove. + * friend.cc (INCLUDE_MEMORY): Remove. + * init.cc (INCLUDE_MEMORY): Remove. + * lambda.cc (INCLUDE_MEMORY): Remove. + * lex.cc (INCLUDE_MEMORY): Remove. + * logic.cc (INCLUDE_MEMORY): Remove. + * mangle.cc (INCLUDE_MEMORY): Remove. + * mapper-client.cc (INCLUDE_MEMORY): Remove. + * mapper-resolver.cc (INCLUDE_MEMORY): Remove. + * method.cc (INCLUDE_MEMORY): Remove. + * module.cc (INCLUDE_MEMORY): Remove. + * name-lookup.cc (INCLUDE_MEMORY): Remove. + * optimize.cc (INCLUDE_MEMORY): Remove. + * parser.cc (INCLUDE_MEMORY): Remove. + * pt.cc (INCLUDE_MEMORY): Remove. + * ptree.cc (INCLUDE_MEMORY): Remove. + * rtti.cc (INCLUDE_MEMORY): Remove. + * search.cc (INCLUDE_MEMORY): Remove. + * semantics.cc (INCLUDE_MEMORY): Remove. + * tree.cc (INCLUDE_MEMORY): Remove. + * typeck.cc (INCLUDE_MEMORY): Remove. + * typeck2.cc (INCLUDE_MEMORY): Remove. + * vtable-class-hierarchy.cc (INCLUDE_MEMORY): Remove. + +2024-11-22 Tobias Burnus <tburnus@baylibre.com> + + * parser.cc (cp_parser_omp_clause_name, cp_parser_omp_all_clauses, + cp_parser_omp_dispatch_body): Handle 'interop' clause. + * pt.cc (tsubst_omp_clauses): Likewise. + * semantics.cc (finish_omp_clauses): Likewise. + +2024-11-22 Tobias Burnus <tburnus@baylibre.com> + + * parser.cc (INCLUDE_STRING): Define. + (cp_parser_omp_clause_name): Handle init, use, and destroy clauses. + (cp_parser_omp_all_clauses): Likewise; use C_ORT_OMP_INTEROP, if + 'use' is permitted, for c_finish_omp_clauses. + (cp_parser_omp_modifier_prefer_type, cp_parser_omp_clause_init, + OMP_INTEROP_CLAUSE_MASK, cp_parser_omp_interop): New. + (cp_parser_pragma): Handle 'interop' directive. + * pt.cc (tsubst_omp_clauses): Handle init, use, and destroy clauses. + (tsubst_stmt): Handle OMP_INTEROP. + * semantics.cc (cp_omp_init_prefer_type_update): New. + (finish_omp_clauses): Handle init, use, and destroy clauses + and add clause check for 'depend' on 'interop'. + +2024-11-21 Jason Merrill <jason@redhat.com> + + * module.cc (has_definition): Also true for inline vars. + +2024-11-21 Jason Merrill <jason@redhat.com> + + * module.cc (trees_in::core_vals) [STATEMENT_LIST]: Skip + DEBUG_BEGIN_STMT if !MAY_HAVE_DEBUG_MARKER_STMTS. + +2024-11-21 Jason Merrill <jason@redhat.com> + + * name-lookup.cc (lookup_imported_hidden_friend): Call + lazy_load_pendings. + +2024-11-20 Paul-Antoine Arras <parras@baylibre.com> + + * decl.cc (omp_declare_variant_finalize_one): Set adjust_args + need_device_ptr attribute. + * parser.cc (cp_parser_direct_declarator): Update call to + cp_parser_late_return_type_opt. + (cp_parser_late_return_type_opt): Add 'tree parms' parameter. Update + call to cp_parser_late_parsing_omp_declare_simd. + (cp_parser_omp_clause_name): Handle nocontext and novariants clauses. + (cp_parser_omp_clause_novariants): New function. + (cp_parser_omp_clause_nocontext): Likewise. + (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_NOVARIANTS and + PRAGMA_OMP_CLAUSE_NOCONTEXT. + (cp_parser_omp_dispatch_body): New function, inspired from + cp_parser_assignment_expression and cp_parser_postfix_expression. + (OMP_DISPATCH_CLAUSE_MASK): Define. + (cp_parser_omp_dispatch): New function. + (cp_finish_omp_declare_variant): Add parameter. Handle adjust_args + clause. + (cp_parser_late_parsing_omp_declare_simd): Add parameter. Update calls + to cp_finish_omp_declare_variant and cp_finish_omp_declare_variant. + (cp_parser_omp_construct): Handle PRAGMA_OMP_DISPATCH. + (cp_parser_pragma): Likewise. + * semantics.cc (finish_omp_clauses): Handle OMP_CLAUSE_NOCONTEXT and + OMP_CLAUSE_NOVARIANTS. + * pt.cc (tsubst_omp_clauses): Handle OMP_CLAUSE_NOCONTEXT and + OMP_CLAUSE_NOVARIANTS. + (tsubst_stmt): Handle OMP_DISPATCH. + (tsubst_expr): Handle IFN_GOMP_DISPATCH. + +2024-11-19 Jason Merrill <jason@redhat.com> + + * decl2.cc (cp_handle_deprecated_or_unavailable): Avoid redundant + warning. + * call.cc (build_over_call): Set TREE_NO_WARNING for calls + to deprecated functions. + * semantics.cc (finish_call_expr): Propagate TREE_NO_WARNING. + +2024-11-17 Jason Merrill <jason@redhat.com> + + * module.cc (module_preprocess_options): Set directives_only here. + +2024-11-17 Jason Merrill <jason@redhat.com> + + * module.cc (module_preprocess_options): Don't override it. + +2024-11-16 Jan Hubicka <hubicka@ucw.cz> + + * decl.cc (cxx_build_operator_new): Break out from ... + (cxx_build_operator_delete): Break out from ... + (cxx_init_operator_new_delete_decls): Break out from ... + (cxx_init_decl_processing): ... here. + +2024-11-14 Jason Merrill <jason@redhat.com> + + * name-lookup.cc (do_namespace_alias): set_originating_module after + pushdecl. + +2024-11-14 Jason Merrill <jason@redhat.com> + + * module.cc (module_state_config::get_dialect): Expect coroutines in + C++20. + +2024-11-11 Jason Merrill <jason@redhat.com> + + * Make-lang.in: Also collect tags from libcody and c++tools. + +2024-11-11 Jason Merrill <jason@redhat.com> + + * lang-specs.h: Check fmodules* instead of fmodules-ts. + +2024-11-11 Simon Martin <simon@nasilyan.com> + + PR c++/117463 + * constexpr.cc (cxx_placement_new_fn): Implement in terms of + std_placement_new_fn_p. + * cp-tree.h (std_placement_new_fn_p): Declare. + * init.cc (std_placement_new_fn_p): Add missing checks to ensure + that fndecl is a non-replaceable ::operator new. + +2024-11-11 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_postfix_expression): Handle + RID_BUILTIN_OPERATOR_NEW and RID_BUILTIN_OPERATOR_DELETE. + * cp-objcp-common.cc (names_builtin_p): Change return type from + bool to int, adjust return statments. Handle + RID_BUILTIN_OPERATOR_NEW and RID_BUILTIN_OPERATOR_DELETE. + * pt.cc (tsubst_expr) <case CALL_EXPR>: Handle + CALL_FROM_NEW_OR_DELETE_P. + +2024-11-11 Jason Merrill <jason@redhat.com> + + * cp-tree.h (struct ptrmem_cst): Change tree_common to tree_typed. + (struct tree_trait_expr): Likewise. + (struct tree_static_assert): Change tree_common to tree_base. + (struct tree_argument_pack_select): Likewise. + +2024-11-10 Lewis Hyatt <lhyatt@gmail.com> + + * cp-objcp-common.cc (cp_common_init_ts): Change TRAIT_EXPR from + TS_EXP to TS_TYPED. + +2024-11-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/117317 + * semantics.cc (emit_associated_thunks): Do nothing for + !DECL_INTERFACE_KNOWN && DECL_DEFER_OUTPUT fns. + +2024-11-05 Jason Merrill <jason@redhat.com> + + PR c++/116634 + * init.cc (can_init_array_with_p): Allow PR59465 case with + permerror. + +2024-11-05 Simon Martin <simon@nasilyan.com> + + PR c++/117099 + PR c++/117129 + * typeck.cc (check_return_expr): Upon error, set + current_function_return_value to error_mark_node. + +2024-11-05 Simon Martin <simon@nasilyan.com> + + PR c++/117101 + * init.cc (std_placement_new_fn_p): Check first_arg against + NULL_TREE. + +2024-11-05 Simon Martin <simon@nasilyan.com> + + PR c++/117158 + * typeck.cc (cp_build_array_ref): Only wrap array expression + into a SAVE_EXPR at template instantiation time. + +2024-11-05 Jakub Jelinek <jakub@redhat.com> + + PR c++/117370 + * cp-tree.h (is_std_class): Declare. + * constexpr.cc (is_std_class): New function. + (is_std_allocator): Use it. + * decl.cc (grok_op_properties): Mark global replaceable + operator new/delete operators with const std::nothrow_t & last + argument with DECL_IS_REPLACEABLE_OPERATOR. + +2024-11-05 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99274 + * module.cc (trees_in::is_matching_decl): Merge default + arguments. + * tree.cc (cp_tree_equal) <AGGR_INIT_EXPR>: Handle unification + of AGGR_INIT_EXPRs with new VAR_DECL slots. + +2024-11-05 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/105443 + * module.cc (loc_spans::locs_exhausted_p): New field. + (loc_spans::loc_spans): Initialise it. + (loc_spans::locations_exhausted_p): New function. + (module_state::read_prepare_maps): Move inform into... + (loc_spans::report_location_exhaustion): ...this new function. + (module_state::write_location): Check for writing module + locations stored due to resource exhaustion. + +2024-11-02 Nathaniel Shead <nathanieloshead@gmail.com> + Jason Merrill <jason@redhat.com> + + PR c++/113814 + * pt.cc (add_mergeable_specialization): Propagate + TYPE_CANONICAL. + +2024-11-02 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116317 + * module.cc + (depset::DB_MAYBE_RECURSIVE_BIT): New flag. + (depset::DB_ENTRY_BIT): New flag. + (depset::is_maybe_recursive): New accessor. + (depset::is_entry): New accessor. + (depset::hash::writing_merge_key): New field. + (trees_out::decl_value): Inform dep_hash while we're writing the + merge key information for a decl. + (depset::hash::add_dependency): Find recursive deps and mark the + entry point. + (sort_cluster): Ensure that the entry dep is streamed first. + +2024-11-01 David Malcolm <dmalcolm@redhat.com> + + PR bootstrap/117361 + * Make-lang.in (s-selftest-c++): Use GCC_FOR_SELFTESTS. + (selftest-c++-gdb): Likewise. + (selftest-c++-valgrind): Likewise. + +2024-11-01 Jakub Jelinek <jakub@redhat.com> + + * pt.cc (tsubst_attribute): For "omp declare variant base" attribute + if varid is error_mark_node, set val to error_mark_node rather than + creating a TREE_LIST with error_mark_node TREE_PURPOSE. + +2024-10-31 Tobias Burnus <tburnus@baylibre.com> + + * decl.cc (omp_declare_variant_finalize_one): Use STRIP_REFERENCE_REF + instead of doing it manually. + +2024-10-31 Tobias Burnus <tburnus@baylibre.com> + + * decl.cc (omp_declare_variant_finalize_one): Strip indirect ref + around variant-function call when processing a variant. + +2024-10-30 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/116607 + * contracts.cc (has_active_contract_condition): Use the + CONTRACT_CHAIN macro to advance through the attribute list. + +2024-10-29 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * error.cc (cxx_initialize_diagnostics): Use unique_ptr for + pretty_printer. Use context->set_format_decoder. + * module.cc (noisy_p): Update for global_dc's m_printer becoming + reference printer. + +2024-10-29 Jason Merrill <jason@redhat.com> + + PR c++/30854 + PR c++/116634 + * error.cc (dump_aggr_init_expr_args): Remove. + (dump_call_expr_args): Handle AGGR_INIT_EXPR. + (dump_expr): Combine AGGR_INIT_EXPR and CALL_EXPR cases. + +2024-10-25 Jakub Jelinek <jakub@redhat.com> + + * vtable-class-hierarchy.cc: Remove trailing whitespace. + * typeck2.cc: Likewise. + * decl.cc: Likewise. + * init.cc: Likewise. + * semantics.cc: Likewise. + * module.cc: Likewise. + * rtti.cc: Likewise. + * cxx-pretty-print.cc: Likewise. + * cvt.cc: Likewise. + * mangle.cc: Likewise. + * name-lookup.h: Likewise. + * coroutines.cc: Likewise. + * error.cc: Likewise. + * lambda.cc: Likewise. + * tree.cc: Likewise. + * g++spec.cc: Likewise. + * decl2.cc: Likewise. + * cp-tree.h: Likewise. + * parser.cc: Likewise. + * pt.cc: Likewise. + * call.cc: Likewise. + * lex.cc: Likewise. + * cp-lang.cc: Likewise. + * cp-tree.def: Likewise. + * constexpr.cc: Likewise. + * typeck.cc: Likewise. + * name-lookup.cc: Likewise. + * optimize.cc: Likewise. + * search.cc: Likewise. + * mapper-client.cc: Likewise. + * ptree.cc: Likewise. + * class.cc: Likewise. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (trees_in::read_class_def): Propagate some missing + flags from the streamed-in definition. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (post_load_processing): Mark COMDAT as needed, emit + declarations if maybe_clone_body fails. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115007 + * module.cc (module_state::read_cluster): Replace + DECL_ABSTRACT_P with DECL_MAYBE_IN_CHARGE_CDTOR_P. + (post_load_processing): Check and mark TREE_ASM_WRITTEN. + * semantics.cc (expand_or_defer_fn_1): Use the more specific + module_maybe_has_cmi_p instead of modules_p. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * decl2.cc (import_export_class): Use TYPE_CONTAINS_VPTR_P + instead of TYPE_POLYMORPHIC_P. + (import_export_decl): Likewise. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + Gaius Mulley <gaiusmod2@gmail.com> + + PR other/116613 + * call.cc: Add #define INCLUDE_MEMORY. + * class.cc: Likewise. + * constexpr.cc: Likewise. + * constraint.cc: Likewise. + * contracts.cc: Likewise. + * coroutines.cc: Likewise. + * cp-gimplify.cc: Likewise. + * cp-lang.cc: Likewise. + * cp-objcp-common.cc: Likewise. + * cp-ubsan.cc: Likewise. + * cvt.cc: Likewise. + * cxx-pretty-print.cc: Likewise. Add #include "cp-tree.h". + (cxx_pretty_printer::clone): Use std::unique_ptr and + ::make_unique. + * cxx-pretty-print.h (cxx_pretty_printer::clone): Use + std::unique_ptr. + * decl2.cc: Add #define INCLUDE_MEMORY. + * dump.cc: Likewise. + * except.cc: Likewise. + * expr.cc: Likewise. + * friend.cc: Likewise. + * init.cc: Likewise. + * lambda.cc: Likewise. + * logic.cc: Likewise. + * mangle.cc: Likewise. + * method.cc: Likewise. + * optimize.cc: Likewise. + * pt.cc: Likewise. + * ptree.cc: Likewise. + * rtti.cc: Likewise. + * search.cc: Likewise. + * semantics.cc: Likewise. + * tree.cc: Likewise. + * typeck.cc: Likewise. + * typeck2.cc: Likewise. + * vtable-class-hierarchy.cc: Likewise. + +2024-10-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/117259 + * typeck.cc (get_member_function_from_ptrfunc): Use force_target_expr + rather than save_expr for instance_ptr and function. Don't call it + for TREE_CONSTANT. + +2024-10-22 Jason Merrill <jason@redhat.com> + + PR c++/117107 + PR c++/92687 + * decl.cc (lookup_decomp_type): Handle null table. + +2024-10-22 Patrick Palka <ppalka@redhat.com> + + * pt.cc (register_specialization): Set elt.hash. + +2024-10-22 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (depset::DB_IS_MEMBER_BIT): Rename to... + (depset::DB_IS_PENDING_BIT): ...this. + (depset::is_member): Remove. + (depset::is_pending_entity): New function. + (depset::hash::make_dependency): Mark definitions of + namespace-scope types as maybe-pending entities. + (depset::hash::add_class_entities): Rename DB_IS_MEMBER_BIT to + DB_IS_PENDING_BIT. + (depset::hash::find_dependencies): Use is_pending_entity + instead of is_member. + (module_state::write_pendings): Likewise; adjust comment. + +2024-10-18 Alejandro Colomar <alx@kernel.org> + + * cp-tree.h (array_type_nelts_top) + * tree.cc (array_type_nelts_top): + Remove function (move to gcc/). + +2024-10-18 Alejandro Colomar <alx@kernel.org> + + * decl.cc (reshape_init_array) + * init.cc + (build_zero_init_1) + (build_value_init_noctor) + (build_vec_init) + (build_delete) + * lambda.cc (add_capture) + * tree.cc (array_type_nelts_top): + Rename array_type_nelts => array_type_nelts_minus_one + +2024-10-16 Jakub Jelinek <jakub@redhat.com> + + * search.cc (lookup_member): ?: operator formatting fixes. + * typeck.cc (cp_build_modify_expr): Likewise. + +2024-10-15 Jakub Jelinek <jakub@redhat.com> + + PR c/117022 + * semantics.cc (begin_while_stmt, begin_do_stmt, begin_for_stmt, + finish_break_stmt, finish_continue_stmt, begin_switch_stmt): Pass + another NULL_TREE to build_stmt calls. + +2024-10-15 Patrick Palka <ppalka@redhat.com> + + PR c++/116710 + * pt.cc (unify) <case REFERENCE_TYPE>: Compare rvalueness. + +2024-10-15 Patrick Palka <ppalka@redhat.com> + + PR c++/117054 + * pt.cc (extract_locals_r): Disable tree_extra_args assert + for LAMBDA_EXPR. + +2024-10-14 Jason Merrill <jason@redhat.com> + + * cp-tree.h (most_constrained_function): Declare.. + * class.cc (resolve_address_of_overloaded_function): Call it. + * pt.cc (get_template_for_ordering): Handle list from + resolve_address_of_overloaded_function. + (most_constrained_function): No longer static. + (resolve_overloaded_unification): Always compare type rather + than decl. + +2024-10-13 Simon Martin <simon@nasilyan.com> + + Revert: + 2024-10-12 Simon Martin <simon@nasilyan.com> + + PR c++/109918 + * class.cc (warn_hidden): Keep track of overloaded and of hidden + base methods. Mention the actual hiding function in the warning, + not the first overload. + * error.cc (location_of): Skip over conv_op_marker. + +2024-10-12 Simon Martin <simon@nasilyan.com> + + PR c++/109918 + * class.cc (warn_hidden): Keep track of overloaded and of hidden + base methods. Mention the actual hiding function in the warning, + not the first overload. + * error.cc (location_of): Skip over conv_op_marker. + +2024-10-07 Jason Merrill <jason@redhat.com> + + * decl.cc (duplicate_decls): Only check PURVIEW_P if + DECL_LANG_SPECIFIC. + +2024-10-07 Jason Merrill <jason@redhat.com> + + * decl2.cc (mark_used): Always check require_deduced_type. + +2024-10-07 Jason Merrill <jason@redhat.com> + + * module.cc (init_modules): Don't warn about -M. + +2024-10-04 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113266 + PR c++/116911 + * parser.cc (cp_parser_template_argument): Allow + internal-linkage variables since C++11. + +2024-10-04 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116913 + * name-lookup.cc (update_binding): Return the strip_using'd old + decl rather than the binding. + +2024-10-04 Jason Merrill <jason@redhat.com> + Richard Biener <rguenther@suse.de> + + * cp-tree.h (spec_entry::hash): New member. + * pt.cc (spec_hasher::hash): Set it and return it. + (maybe_process_partial_specialization): Clear it when + changing tmpl/args. + (lookup_template_class): Likewise, don't pass hash to find. + (retrieve_specialization): Set it, don't pass hash to find. + (register_specialization): Don't pass hash to find. + (reregister_specialization): Likewise. + (match_mergeable_specialization): Likewise. + (add_mergeable_specialization): Likewise. + +2024-10-03 Jason Merrill <jason@redhat.com> + Richard Biener <rguenther@suse.de> + + * pt.cc (coerce_template_parms): Free garbage vecs. + +2024-10-03 Jason Merrill <jason@redhat.com> + + Revert: + 2024-10-03 Jason Merrill <jason@redhat.com> + Richard Biener <rguenther@suse.de> + + * pt.cc (struct free_if_changed_proxy): New. + (coerce_template_parms): Use it. + +2024-10-03 Jason Merrill <jason@redhat.com> + + * parser.cc (location_between): New. + (cp_parser_operator): Handle -Wdeprecated-literal-operator. + +2024-10-03 Jason Merrill <jason@redhat.com> + Richard Biener <rguenther@suse.de> + + * pt.cc (struct free_if_changed_proxy): New. + (coerce_template_parms): Use it. + +2024-10-02 Simon Martin <simon@nasilyan.com> + + PR c++/116722 + * constexpr.cc (cxx_bind_parameters_in_call): When !ctx->quiet, + emit error before bailing out due to a call to {con,de}structor + for a class with virtual bases. + +2024-10-02 Richard Biener <rguenther@suse.de> + + * pt.cc (iterative_hash_template_arg): Use iterative_hash_hashval_t + to hash TYPE_HASH. + +2024-10-02 Richard Biener <rguenther@suse.de> + + * pt.cc (iterative_hash_template_arg): Avoid using + iterative_hash_object. + +2024-10-01 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * constraint.cc (diagnose_trait_expr): New diagnostic. + * cp-trait.def (IS_VIRTUAL_BASE_OF): New builtin. + * cp-tree.h (enum base_access_flags): Add a new flag to be + able to request a search for a virtual base class. + * cxx-pretty-print.cc (pp_cxx_userdef_literal): Update the + list of GNU extensions to the grammar. + * search.cc (struct lookup_base_data_s): Add a field to + request searching for a virtual base class. + (dfs_lookup_base): Add the ability to look for a virtual + base class. + (lookup_base): Forward the flag to dfs_lookup_base. + * semantics.cc (trait_expr_value): Implement the builtin + by calling lookup_base with the new flag. + (finish_trait_expr): Handle the new builtin. + +2024-09-30 Marek Polacek <polacek@redhat.com> + + PR c++/109859 + * parser.cc (cp_parser_lambda_declarator_opt): Temporarily clear + local_variables_forbidden_p. + (cp_parser_placeholder_type_specifier): Turn an assert into an + error. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * pt.cc: Include "pretty-print-markup.h". + (warn_spec_missing_attributes): Defer colorization choices by + replacing printing to a pretty_printer * param with appending + to a vec of strings. Replace pretty_printer with usage of + pp_markup::comma_separated_quoted_strings and "%e". + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116160 + * name-lookup.cc (supplement_binding): Allow redeclaration via + USING_DECL if not in class scope. + (do_nonmember_using_decl): Remove function-scope exemption. + (push_using_decl_bindings): Remove outdated comment. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116748 + * name-lookup.cc (update_binding): Maintain USING_DECLs in the + binding slots. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116803 + * decl.cc (duplicate_decls): Propagate DECL_MODULE_PURVIEW_P and + DECL_MODULE_IMPORT_P for template redeclarations. + +2024-09-27 Marek Polacek <polacek@redhat.com> + + PR c++/102594 + * init.cc (build_vec_init): Build up a CONSTRUCTOR to signal + direct-initialization rather than a TREE_LIST. + +2024-09-27 Arsen Arsenović <arsen@aarsen.me> + + PR c++/116793 + * coroutines.cc (await_statement_expander): Just process + subtrees if encountering a CLEANUP_POINT_EXPR. + +2024-09-27 Arsen Arsenović <arsen@aarsen.me> + + * coroutines.cc (co_await_get_resume_call): Return a tree + directly, rather than a tree pointer. + * cp-tree.h (co_await_get_resume_call): Adjust signature + accordingly. + * cvt.cc (convert_to_void): Do not alter CO_AWAIT_EXPRs when + discarding them. Simplify handling implicit INDIRECT_REFs. + +2024-09-27 Arsen Arsenović <arsen@aarsen.me> + + PR c++/116502 + * coroutines.cc (maybe_promote_temps): Convert temporary + initializers to void without complaining. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (has_definition): Use decl_maybe_constant_var + instead of TREE_CONSTANT. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + * name-lookup.cc (check_can_export_using_decl): Handle internal + linkage GM entities (but ignore in header units); use linkage + of entity ultimately referred to by aliases. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + * name-lookup.cc (maybe_record_mergeable_decl): Use decl_linkage + instead of ad-hoc checks. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + * name-lookup.cc (do_namespace_alias): Propagate TREE_PUBLIC for + namespace aliases. + * tree.cc (decl_linkage): Update rules for C++11. + +2024-09-26 Marek Polacek <polacek@redhat.com> + + PR c++/116731 + * parser.cc (warn_for_range_copy): Check if TYPE is trivially + constructible, not copyable. + +2024-09-25 Marek Polacek <polacek@redhat.com> + + * coroutines.cc (build_co_await): Use TARGET_EXPR accessors. + (finish_co_yield_expr): Likewise. + (register_awaits): Likewise. + (tmp_target_expr_p): Likewise. + (flatten_await_stmt): Likewise. + * error.cc (dump_expr): Likewise. + * semantics.cc (finish_omp_target_clauses): Likewise. + * tree.cc (bot_manip): Likewise. + (cp_tree_equal): Likewise. + * typeck.cc (cxx_mark_addressable): Likewise. + (cp_build_compound_expr): Likewise. + (cp_build_modify_expr): Likewise. + (check_return_expr): Likewise. + +2024-09-25 Tobias Burnus <tburnus@baylibre.com> + + * parser.cc (cp_parser_omp_declare_target): Set target-used bit + in omp_requires_mask. + +2024-09-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/107637 + * cp-tree.h: Implement C++23 P2718R0 - Wording for P2644R1 Fix for + Range-based for Loop. + (cp_convert_omp_range_for): Add bool tmpl_p argument. + (find_range_for_decls): Declare. + * parser.cc (cp_convert_range_for): For flag_range_for_ext_temps call + push_stmt_list () before cp_finish_decl for range_temp and save it + temporarily to FOR_INIT_STMT. + (cp_convert_omp_range_for): Add tmpl_p argument. If set, remember + DECL_NAME of range_temp and for cp_finish_decl call restore it before + clearing it again, if unset, don't adjust DECL_NAME of range_temp at + all. + (cp_parser_omp_loop_nest): For flag_range_for_ext_temps range for add + CLEANUP_POINT_EXPR around sl. Call find_range_for_decls and adjust + DECL_NAMEs for range fors if not processing_template_decl. Adjust + cp_convert_omp_range_for caller. Remove superfluous backslash at the + end of line. + * decl.cc (initialize_local_var): For flag_range_for_ext_temps + temporarily clear stmts_are_full_exprs_p rather than set for + for_range__identifier decls. + * call.cc (extend_ref_init_temps): For flag_range_for_ext_temps return + init early for for_range__identifier decls. + * semantics.cc (find_range_for_decls): New function. + (finish_for_stmt): Use it. For flag_range_for_ext_temps if + cp_convert_range_for set FOR_INIT_STMT, pop_stmt_list it and wrap + into CLEANUP_POINT_EXPR. + * pt.cc (tsubst_omp_for_iterator): Adjust tsubst_omp_for_iterator + caller. + (tsubst_stmt) <case OMP_FOR>: For flag_range_for_ext_temps if there + are any range fors in the loop nest, add push_stmt_list starting + before the initializations, pop_stmt_list it after the body and wrap + into CLEANUP_POINT_EXPR. Change DECL_NAME of range for temps from + NULL to for_range_identifier. + +2024-09-24 Nina Dinka Ranns <dinka.ranns@googlemail.com> + + PR c++/116490 + * contracts.cc (build_contract_condition_function): added + a check for comdat group of the guarded function. If set, + the condition check function is added to the same comdat + group. + +2024-09-24 Tobias Burnus <tburnus@baylibre.com> + + * parser.cc (cp_parser_omp_requires): Handle self_maps clause. + +2024-09-23 Marek Polacek <polacek@redhat.com> + + PR c++/116798 + * parser.cc (cp_parser_parameter_declaration): Detect an explicit + object parameter in a requires expression. + +2024-09-23 Simon Martin <simon@nasilyan.com> + + PR c++/109790 + PR c++/100632 + * mangle.cc (write_member_name): Handle members whose type is an + anonymous union member. Write missing "on" marker for operators + when ABI version is at least 16. + +2024-09-23 Simon Martin <simon@nasilyan.com> + + PR c++/116722 + * constexpr.cc (cxx_bind_parameters_in_call): Leave early for + {con,de}structors of classes with virtual bases. + +2024-09-20 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * cp-tree.h (cxx_print_error_function): Convert first param + from diagnostic_context * to diagnostic_text_output_format &. + * error.cc: Include "diagnostic-format-text.h". + (cxx_initialize_diagnostics): Update for renamings. + (cxx_print_error_function): Convert first param from + diagnostic_context * to diagnostic_text_output_format & and update + accordingly + (cp_diagnostic_starter): Rename to... + (cp_diagnostic_text_starter): ...this. Convert first + param from diagnostic_context * to diagnostic_text_output_format & + and update accordingly. + (cp_print_error_function): Likewise. + (print_instantiation_full_context): Likewise. + (print_instantiation_partial_context_line): Likewise. + (print_instantiation_partial_context): Likewise. + (maybe_print_instantiation_context): Likewise. + (maybe_print_constexpr_context): Likewise. + (print_location): Likewise. + (print_constrained_decl_info): Likewise. + (print_concept_check_info): Likewise. + (print_constraint_context_head): Likewise. + (print_requires_expression_info): Likewise. + (maybe_print_single_constraint_context): Likewise. + +2024-09-20 Patrick Palka <ppalka@redhat.com> + + DR 2789 + * call.cc (cand_parms_match): Check for matching class contexts + even in the reversed case. + +2024-09-20 Patrick Palka <ppalka@redhat.com> + + PR c++/116492 + DR 2789 + * call.cc (object_parms_correspond): Remove. + (cand_parms_match): Return false for member functions that come + from different classes. Adjust call to object_parms_correspond. + (joust): Update comment for the non-template "more constrained" + case. + +2024-09-20 Patrick Palka <ppalka@redhat.com> + + DR 2273 + * call.cc (joust): Restrict inheritedness tiebreaker to + constructors. + +2024-09-20 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (coro_build_artificial_var_with_dve): New. + (coro_build_and_push_artificial_var): New. + (coro_build_and_push_artificial_var_with_dve): New. + (analyze_fn_parms): Ensure that frame entries cannot clash + with local variables. + (build_coroutine_frame_delete_expr): Amend comment. + (cp_coroutine_transform::build_ramp_function): Rework to + avoid manual management of variables and scopes. + +2024-09-19 Marek Polacek <polacek@redhat.com> + + PR c++/116162 + * class.cc (check_bases_and_members): Don't set DECL_DELETED_FN here, + leave it to defaulted_late_check. + * cp-tree.h (maybe_delete_defaulted_fn): Declare. + (defaulted_late_check): Add a tristate parameter. + * method.cc (maybe_delete_defaulted_fn): New. + (defaulted_late_check): Add a tristate parameter. Call + maybe_delete_defaulted_fn instead of giving an error. + +2024-09-18 Patrick Palka <ppalka@redhat.com> + + PR c++/116714 + PR c++/107390 + * pt.cc (dependent_opaque_alias_p): Also return true for a + decltype(lambda) alias. + +2024-09-18 Jason Merrill <jason@redhat.com> + + * call.cc (do_warn_dangling_reference): Return temporary + instead of the call it's passed to. + (maybe_warn_dangling_reference): Adjust diagnostic. + +2024-09-18 Jason Merrill <jason@redhat.com> + + PR c++/115361 + * call.cc (do_warn_dangling_reference): Check is_empty_class. + +2024-09-17 Marek Polacek <polacek@redhat.com> + + PR c++/116741 + * constexpr.cc (cxx_eval_constant_expression) <case CONVERT_EXPR>: If + the result of build_fold_indirect_ref is a COMPONENT_REF, use its op1. + Check DECL_P before calling inform. + +2024-09-17 Marek Polacek <polacek@redhat.com> + + PR c++/116676 + * constexpr.cc (maybe_warn_about_constant_value): Check DECL_NAME. + +2024-09-15 Jason Merrill <jason@redhat.com> + + * parser.cc (cp_parser_unary_expression) [RID_EXTENSION]: Also + suppress -Wconditionally-supported. + +2024-09-15 Jason Merrill <jason@redhat.com> + + * call.cc (convert_like_internal) [ck_user]: Use iloc_sentinel. + +2024-09-15 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/115905 + * coroutines.cc (struct coro_aw_data): Add a member for the + restart dispatch label. + (expand_one_await_expression): Rework to modernise and to + handle the boolean await_suspend() case. + (build_actor_fn): Rework the dispatcher and allow for a jump + back to the dispatcher. + +2024-09-14 Jason Merrill <jason@redhat.com> + + * tree.cc (handle_init_priority_attribute): Check + in_system_header_at. + +2024-09-14 Simon Martin <simon@nasilyan.com> + + PR c++/116681 + * name-lookup.cc (qualified_namespace_lookup): Use an + auto_cond_timer instead of using timevar_start and timevar_stop. + +2024-09-13 Jason Merrill <jason@redhat.com> + + PR c++/116696 + * constexpr.cc (explain_invalid_constexpr_fn): When + -fimplicit-constexpr, also explain inline functions, and point out + non-inline functions. + +2024-09-13 Jakub Jelinek <jakub@redhat.com> + + PR c++/116678 + * optimize.cc: Include decl.h. + (maybe_thunk_body): Temporarily change deprecated_state to + UNAVAILABLE_DEPRECATED_SUPPRESS. + +2024-09-12 Jonathan Wakely <jwakely@redhat.com> + + PR c++/116673 + * semantics.cc (finish_builtin_launder): Diagnose function + pointers and cv void pointers. + +2024-09-12 Patrick Palka <ppalka@redhat.com> + + PR c++/116418 + * tree.cc (strip_typedefs_expr) <case STATEMENT_LIST>: Replace + this error path with ... + <case STMT_EXPR>: ... this, returning the original tree. + +2024-09-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/116636 + * method.cc: Include decl.h. + (use_thunk): Temporarily change deprecated_state to + UNAVAILABLE_DEPRECATED_SUPPRESS. + +2024-09-12 Marek Polacek <polacek@redhat.com> + + PR c++/96097 + * pt.cc (coerce_template_template_parm): Increment + processing_template_decl before calling tsubst. + +2024-09-12 Simon Martin <simon@nasilyan.com> + + PR c++/116323 + * search.cc (get_parent_with_private_access): Only call access_in_type + for RECORD_OR_UNION_TYPE_P base BINFOs. + +2024-09-12 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116496 + * module.cc (trees_in::decl_value): Don't call + set_defining_module_for_partial_spec here. + (depset::hash::add_partial_entities): Clarity assertions. + * pt.cc (add_mergeable_specialization): Always call + set_defining_module_for_partial_spec when adding a partial spec. + +2024-09-11 Alex Coplan <alex.coplan@arm.com> + + PR libstdc++/116140 + * semantics.cc (anotate_saver): New. Use it ... + (maybe_convert_cond): ... here, to ensure any ANNOTATE_EXPRs + remain the outermost expression(s) of the condition. + +2024-09-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/116449 + * typeck.cc (get_member_function_from_ptrfunc): Use save_expr + on instance_ptr and function even if it doesn't have side-effects, + as long as it isn't a decl. + +2024-09-10 Marek Polacek <polacek@redhat.com> + + PR c++/116369 + * call.cc (set_up_extended_ref_temp): Don't mark a temporary + TREE_READONLY if its type is TYPE_HAS_MUTABLE_P. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + * constexpr.cc (constexpr_error): Update for renaming of + diagnostic_info field. + * cp-tree.h (pedwarn_cxx98): Use "diagnostic_option_id" rather + than "int". + * error.cc (cp_adjust_diagnostic_info): Update for renaming of + diagnostic_info field. + (pedwarn_cxx98): Use "diagnostic_option_id option_id" rather than + "int opt". Update for renaming of diagnostic_info field. + (diagnostic_set_info): Likewise. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * error.cc (cxx_initialize_diagnostics): Rename + diagnostic_context's "printer" field to "m_printer". + (cxx_print_error_function): Likewise. + (cp_diagnostic_starter): Likewise. + (cp_print_error_function): Likewise. + (print_instantiation_full_context): Likewise. + (print_instantiation_partial_context_line): Likewise. + (maybe_print_constexpr_context): Likewise. + (print_location): Likewise. + (print_constrained_decl_info): Likewise. + (print_concept_check_info): Likewise. + (print_constraint_context_head): Likewise. + (print_requires_expression_info): Likewise. + * module.cc (noisy_p): Likewise. + +2024-09-07 Jason Merrill <jason@redhat.com> + + * decl.cc (check_redeclaration_exception_specification): Remove + OPT_Wsystem_headers from pedwarn when the old declaration is + in a system header. Also check std namespace. + +2024-09-07 Patrick Palka <ppalka@redhat.com> + + PR c++/116567 + * pt.cc (coerce_template_parms): Set tf_partial when substituting + into a default template argument in a template context. + (build_extra_args): Set TREE_STATIC on the deferred args if this + is a partial substitution. + (add_extra_args): Check TREE_STATIC instead of dependence of args. + Adjust merging behavior in that case. + (tsubst_lammda_expr): Check for tf_partial instead of dependence + of args when determining whether to defer substitution. + (tsubst_expr) <case LAMBDA_EXPR>: Remove tf_partial early exit. + +2024-09-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/115769 + * cp-tree.h: Partially implement CWG 2867 - Order of initialization + for structured bindings. + (cp_finish_decomp): Add TEST_P argument defaulted to false. + * decl.cc (initialize_local_var): Add DECOMP argument, if true, + don't build cleanup and temporarily override stmts_are_full_exprs_p + to 0 rather than 1. Formatting fix. + (cp_finish_decl): Invoke cp_finish_decomp for structured bindings + here, first with test_p. For automatic structured binding bases + if the test cp_finish_decomp returned true wrap the initialization + together with what non-test cp_finish_decomp emits with a + CLEANUP_POINT_EXPR, and if there are any CLEANUP_STMTs needed, emit + them around the whole CLEANUP_POINT_EXPR with guard variables for the + cleanups. Call cp_finish_decomp using RAII if not called with + decomp != NULL otherwise. + (cp_finish_decomp): Add TEST_P argument, change return type from + void to bool, if TEST_P is true, return true instead of emitting + actual code for the tuple case, otherwise return false. + * parser.cc (cp_convert_range_for): Don't call cp_finish_decomp + after cp_finish_decl. + (cp_parser_decomposition_declaration): Set DECL_DECOMP_BASE + before cp_finish_decl call. Don't call cp_finish_decomp after + cp_finish_decl. + (cp_finish_omp_range_for): Don't call cp_finish_decomp after + cp_finish_decl. + * pt.cc (tsubst_stmt): Likewise. + +2024-09-06 Jason Merrill <jason@redhat.com> + + PR c++/46457 + PR c++/81665 + * cp-objcp-common.h (cp_objcp_attribute_table): Add + c_common_clang_attribute_table. + +2024-09-05 Marek Polacek <polacek@redhat.com> + + PR c++/116606 + * decl2.cc (mark_vtable_entries): Temporarily override deprecated_state to + UNAVAILABLE_DEPRECATED_SUPPRESS. Remove a warning_sentinel. + +2024-09-05 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Separate the + build of promise constructor and destructor. When evaluating + the constructor, check that build_special_member_call returns + an expression with side effects before adding it. + +2024-09-05 Patrick Palka <ppalka@redhat.com> + + PR c++/113063 + * name-lookup.cc (local_state_t): Clear and restore + cp_noexcept_operand as well. + +2024-09-05 Marek Polacek <polacek@redhat.com> + + PR c++/116239 + * cp-tree.h (validate_constexpr_redeclaration): Declare. + * decl.cc (validate_constexpr_redeclaration): No longer static. + * name-lookup.cc (push_local_extern_decl_alias): Call + validate_constexpr_redeclaration. + +2024-09-05 Nathaniel Shead <nathanieloshead@gmail.com> + + * class.cc (add_method): Add missing auto_diagnostic_group. + (handle_using_decl): Likewise. + (maybe_warn_about_overly_private_class): Likewise. + (check_field_decl): Likewise. + (check_field_decls): Likewise. + (resolve_address_of_overloaded_function): Likewise. + (note_name_declared_in_class): Likewise. + * constraint.cc (associate_classtype_constraints): Likewise. + (diagnose_trait_expr): Clean up whitespace. + * coroutines.cc (find_coro_traits_template_decl): Add missing + auto_diagnostic_group. + (coro_promise_type_found_p): Likewise. + (coro_diagnose_throwing_fn): Likewise. + * cvt.cc (build_expr_type_conversion): Likewise. + * decl.cc (validate_constexpr_redeclaration): Likewise. + (duplicate_function_template_decls): Likewise. + (duplicate_decls): Likewise. + (lookup_label_1): Likewise. + (check_previous_goto_1): Likewise. + (check_goto_1): Likewise. + (make_typename_type): Likewise. + (make_unbound_class_template): Likewise. + (check_tag_decl): Likewise. + (start_decl): Likewise. + (maybe_commonize_var): Likewise. + (check_for_uninitialized_const_var): Likewise. + (reshape_init_class): Likewise. + (check_initializer): Likewise. + (cp_finish_decl): Likewise. + (find_decomp_class_base): Likewise. + (cp_finish_decomp): Likewise. + (expand_static_init): Likewise. + (grokfndecl): Likewise. + (grokdeclarator): Likewise. + (check_elaborated_type_specifier): Likewise. + (lookup_and_check_tag): Likewise. + (xref_tag): Likewise. + (cxx_simulate_enum_decl): Likewise. + (finish_function): Likewise. + * decl2.cc (check_classfn): Likewise. + (record_mangling): Likewise. + (mark_used): Likewise. + * error.cc (qualified_name_lookup_error): Likewise. + * except.cc (build_throw): Likewise. + * init.cc (get_nsdmi): Likewise. + (diagnose_uninitialized_cst_or_ref_member_1): Likewise. + (warn_placement_new_too_small): Likewise. + (build_new_1): Likewise. + (build_vec_delete_1): Likewise. + (build_delete): Likewise. + * lambda.cc (add_capture): Likewise. + (add_default_capture): Likewise. + * lex.cc (unqualified_fn_lookup_error): Likewise. + * method.cc (synthesize_method): Likewise. + (defaulted_late_check): Likewise. + * module.cc (trees_in::is_matching_decl): Likewise. + (trees_in::read_enum_def): Likewise. + (module_state::check_not_purview): Likewise. + (module_state::deferred_macro): Likewise. + (module_state::read_config): Likewise. + (module_state::check_read): Likewise. + (declare_module): Likewise. + (init_modules): Likewise. + * name-lookup.cc (diagnose_name_conflict): Likewise. + (lookup_using_decl): Likewise. + (set_decl_namespace): Likewise. + (finish_using_directive): Likewise. + (push_namespace): Likewise. + (add_imported_namespace): Likewise. + * parser.cc (cp_parser_check_for_definition_in_return_type): Likewise. + (cp_parser_userdef_numeric_literal): Likewise. + (cp_parser_nested_name_specifier_opt): Likewise. + (cp_parser_new_expression): Likewise. + (cp_parser_binary_expression): Likewise. + (cp_parser_lambda_introducer): Likewise. + (cp_parser_module_declaration): Likewise. + (cp_parser_import_declaration): Likewise, removing gotos to + support this. + (cp_parser_declaration): Add missing auto_diagnostic_group. + (cp_parser_decl_specifier_seq): Likewise. + (cp_parser_template_id): Likewise. + (cp_parser_template_name): Likewise. + (cp_parser_explicit_specialization): Likewise. + (cp_parser_placeholder_type_specifier): Likewise. + (cp_parser_elaborated_type_specifier): Likewise. + (cp_parser_enum_specifier): Likewise. + (cp_parser_asm_definition): Likewise. + (cp_parser_init_declarator): Likewise. + (cp_parser_direct_declarator): Likewise. + (cp_parser_class_head): Likewise. + (cp_parser_member_declaration): Likewise. + (cp_parser_lookup_name): Likewise. + (cp_parser_explicit_template_declaration): Likewise. + (cp_parser_check_class_key): Likewise. + * pt.cc (maybe_process_partial_specialization): Likewise. + (determine_specialization): Likewise. + (check_for_bare_parameter_packs): Likewise. + (check_template_shadow): Likewise. + (process_partial_specialization): Likewise. + (push_template_decl): Likewise. + (redeclare_class_template): Likewise. + (convert_nontype_argument_function): Likewise. + (check_valid_ptrmem_cst_expr): Likewise. + (convert_nontype_argument): Likewise. + (convert_template_argument): Likewise. + (coerce_template_parms): Likewise. + (tsubst_qualified_id): Likewise. + (tsubst_expr): Likewise. + (most_specialized_partial_spec): Likewise. + (do_class_deduction): Likewise. + (do_auto_deduction): Likewise. + * search.cc (lookup_member): Likewise. + * semantics.cc (finish_non_static_data_member): Likewise. + (process_outer_var_ref): Likewise. + (finish_id_expression_1): Likewise. + (finish_offsetof): Likewise. + (omp_reduction_lookup): Likewise. + (finish_omp_clauses): Likewise. + * tree.cc (check_abi_tag_redeclaration): Likewise. + (check_abi_tag_args): Likewise. + * typeck.cc (invalid_nonstatic_memfn_p): Likewise. + (complain_about_unrecognized_member): Likewise. + (finish_class_member_access_expr): Likewise. + (error_args_num): Likewise. + (warn_for_null_address): Likewise. + (cp_build_binary_op): Likewise. + (build_x_unary_op): Likewise. + (cp_build_unary_op): Likewise. + (build_static_cast): Likewise. + (cp_build_modify_expr): Likewise. + (get_delta_difference): Likewise. + (convert_for_assignment): Widen scope of auto_diagnostic_group. + (check_return_expr): Add missing auto_diagnostic_group. + * typeck2.cc (cxx_incomplete_type_diagnostic): Likewise. + +2024-09-04 Marek Polacek <polacek@redhat.com> + + * pt.cc (coerce_template_template_parm): Return bool instead of int. + +2024-09-04 Marek Polacek <polacek@redhat.com> + + PR c++/113108 + * pt.cc (resolve_overloaded_unification): Call + maybe_instantiate_noexcept. + +2024-09-03 Jason Merrill <jason@redhat.com> + + * parser.cc (cp_nth_tokens_can_be_std_attribute_p): Don't check + cxx_dialect. + * error.cc (maybe_warn_cpp0x): Only complain about C++11 attributes + if pedantic. + +2024-09-03 David Malcolm <dmalcolm@redhat.com> + + * error.cc (type_to_string): Prefix all output_buffer fields with + "m_". + (append_formatted_chunk): Likewise. Rename "chunk_info" to + "pp_formatted_chunks" and field cur_chunk_array with + m_cur_formatted_chunks. + +2024-09-02 Richard Sandiford <richard.sandiford@arm.com> + + * pt.cc (tsubst_stmt): Rename ASM_INPUT_P to ASM_BASIC_P. + * parser.cc (cp_parser_asm_definition): Likewise. + +2024-08-31 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (coro_build_frame_access_expr): New. + (transform_await_expr): Use coro_build_frame_access_expr. + (transform_local_var_uses): Likewise. + (build_actor_fn): Likewise. + (build_destroy_fn): Likewise. + (cp_coroutine_transform::build_ramp_function): Likewise. + +2024-08-30 Jason Merrill <jason@redhat.com> + + * decl2.cc (c_parse_final_cleanups): Also check + DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION. + +2024-08-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * parser.cc (make_array_declarator): Add STD_ATTRS argument, set + declarator->std_attributes to it. + (cp_parser_new_type_id): Warn on non-ignored std_attributes on the + array declarator which is being omitted. + (cp_parser_direct_new_declarator): Parse standard attributes after + closing square bracket, pass it to make_array_declarator. + (cp_parser_direct_declarator): Pass std_attrs to make_array_declarator + instead of setting declarator->std_attributes manually. + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + * error.cc: Include "make-unique.h". + (deferred_printed_type::m_buffer_ptr): Replace with... + (deferred_printed_type::m_printed_text): ...this and... + (deferred_printed_type::m_token_list): ...this. + (deferred_printed_type::deferred_printed_type): Update ctors for + above changes. + (deferred_printed_type::set_text_for_token_list): New. + (append_formatted_chunk): Pass chunk_obstack to + append_formatted_chunk. + (add_quotes): Delete. + (cxx_format_postprocessor::handle): Reimplement to call + deferred_printed_type::set_text_for_token_list, rather than store + buffer pointers. + (defer_phase_2_of_type_diff): Replace param "buffer_ptr" + with "formatted_token_list". Reimplement by storing + a pointer to formatted_token_list so that the postprocessor can + put its text there. + (cp_printer): Convert param "buffer_ptr" to + "formatted_token_list". Update calls to + defer_phase_2_of_type_diff accordingly. + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + * error.cc: Include "pretty-print-format-impl.h". + +2024-08-28 Marek Polacek <polacek@redhat.com> + + PR c++/116476 + * call.cc (maybe_init_list_as_array): Try convert_like and see if it + worked. + +2024-08-28 Marek Polacek <polacek@redhat.com> + + PR c++/116424 + * typeck2.cc (process_init_constructor_record): Move the clearing of + TARGET_EXPR_ELIDING_P down. + +2024-08-28 Jason Merrill <jason@redhat.com> + + * parser.cc (cp_parser_simple_type_specifier): Use + -Wc++20-extensions for auto parameter pedwarn. + * pt.cc (do_decl_instantiation, do_type_instantiation): Use + -Wc++11-extensions for 'extern template'. + +2024-08-27 Arsen Arsenović <arsen@aarsen.me> + + PR c++/109867 + * coroutines.cc (expand_one_await_expression): Replace uses of + build_case_label with finish_case_label. + (build_actor_fn): Ditto. + (create_anon_label_with_ctx): Remove now-unused function. + +2024-08-27 Simon Martin <simon@nasilyan.com> + + PR c++/105483 + * parser.cc (cp_parser_expression_statement): Use %qE instead of + incorrect %<%T::%D%>. Skip to end of statement and return + error_mark_node in case of error. + +2024-08-27 Jonathan Wakely <jwakely@redhat.com> + + * cxxapi-data.csv: Add C++20 and C++23 names from <chrono>, + <format>, <generator>, <iterator>, <print>, and <stdfloat>. + Set cxx11 dialect for std::ignore in <tuple>. Uncomment + atomic_flag functions from <atomic>. + * std-name-hint.gperf: Regenerate. + * std-name-hint.h: Regenerate. + +2024-08-27 Jonathan Wakely <jwakely@redhat.com> + + * gen-cxxapi-file.py: Fix copyright dates in generated output. + +2024-08-27 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/116482 + * coroutines.cc + (coro_build_actor_or_destroy_function): Make the parameter + decls DECL_ARTIFICIAL. + +2024-08-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99243 + * module.cc (module_state::set_filename): Handle repeated calls + to 'set_filename' as long as the CMI path matches. + (maybe_translate_include): Adjust comment. + +2024-08-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/110980 + * module.cc (maybe_translate_include): Clean up. + +2024-08-26 Arsen Arsenović <arsen@aarsen.me> + + PR c++/113457 + * coroutines.cc (struct coroutine_info): Add integer field + awaitable_number. This is a counter used for assigning unique + names to awaitable temporaries. + (get_awaitable_var): Use awaitable_number from coroutine_info + instead of the static int awn. + +2024-08-26 Simon Martin <simon@nasilyan.com> + + PR c++/115716 + * pt.cc (maybe_process_partial_specialization): Call + redeclare_class_template. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/110635 + * coroutines.cc + (cp_coroutine_transform::wrap_original_function_body): Look through + initial await target expressions to find the actual co_await_expr + that we need to update. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/102051 + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Handle + "throwing_cleanup" here instead of ... + (cp_coroutine_transform::apply_transforms): ... here. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/115908 + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Rework the return + value initialisation to initialise the return slot always from + get_return_object, even if that implies carrying out conversions + to do so. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/109682 + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Allow for cases where + get_return_on_allocation_fail has a type convertible to the ramp + return type. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/100476 + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Remove special + handling of void get_return_object expressions. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/113773 + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Only cleanup the + frame state on exceptions that occur before the initial await + resume has begun. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + * call.cc (build_op_delete_call_1): Renamed and added a param + to allow the caller to prioritize two argument usual deleters. + (build_op_delete_call): New. + (build_coroutine_op_delete_call): New. + * coroutines.cc (coro_get_frame_dtor): Rename... + (build_coroutine_frame_delete_expr):... to this; simplify to + use build_op_delete_call for all cases. + (build_actor_fn): Use revised frame delete function. + (build_coroutine_frame_alloc_expr): New. + (cp_coroutine_transform::complete_ramp_function): Rename... + (cp_coroutine_transform::build_ramp_function): ... to this. + Reorder code to carry out checks for prerequisites before the + codegen. Split out the allocation/delete code. + (cp_coroutine_transform::apply_transforms): Use revised name. + * coroutines.h: Rename function. + * cp-tree.h (build_coroutine_op_delete_call): New. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + Arsen Arsenović <arsen@aarsen.me> + + * coroutines.cc (struct suspend_point_info, struct param_info, + struct local_var_info, struct susp_frame_data, + struct local_vars_frame_data): Move to coroutines.h. + (build_actor_fn): Use start/finish function APIs. + (build_destroy_fn): Likewise. + (coro_build_actor_or_destroy_function): No longer mark the + actor / destroyer as DECL_COROUTINE_P. + (coro_rewrite_function_body): Use class members. + (cp_coroutine_transform::wrap_original_function_body): Likewise. + (build_ramp_function): Replace by... + (cp_coroutine_transform::complete_ramp_function): ...this. + (cp_coroutine_transform::cp_coroutine_transform): New. + (cp_coroutine_transform::~cp_coroutine_transform): New + (morph_fn_to_coro): Replace by... + (cp_coroutine_transform::apply_transforms): ...this. + (cp_coroutine_transform::finish_transforms): New. + * cp-tree.h (morph_fn_to_coro): Remove. + * decl.cc (emit_coro_helper): Remove. + (finish_function): Revise handling of coroutine transforms. + * coroutines.h: New file. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (build_actor_fn): Arrange to apply any + required parameter copy DTORs in reverse order to their + creation. + (coro_rewrite_function_body): Handle revised param uses. + (morph_fn_to_coro): Split the ramp function completion + into a separate function. + (build_ramp_function): New. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (build_co_await): Simplify checks for the cases that + we need to materialise an awaiter. + +2024-08-21 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (split_coroutine_body_from_ramp): Check + that the binding level is as expected before attempting + to outline the function body. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (module_state::write_begin): Return a boolean to + indicate errors rather than just doing set_error(). + (finish_module_processing): Prevent emission of unnecessary + errors; only indicate module writing occurred if write_begin + succeeds. + +2024-08-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * decl.cc (grokdeclarator): Apply declarator->std_attributes + for cdk_array to type, rather than chaining it to returned_attrs. + +2024-08-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * parser.cc (cp_parser_base_specifier): Parse standard attributes + at the start and emit a warning if there are any non-ignored ones. + +2024-08-20 Franciszek Witt <franek.witt@gmail.com> + + PR c++/101232 + * parser.cc (cp_parser_postfix_expression): Commit to the + parse in case we know its either a cast or invalid syntax. + (cp_parser_braced_list): Add a heuristic to inform about + missing comma or operator. + +2024-08-20 Patrick Palka <ppalka@redhat.com> + + PR c++/101463 + * pt.cc (type_unification_real): Directly look for undeduced + parameters in the default argument instead of doing a trial + substitution. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115020 + * module.cc (has_definition): Only force writing definitions for + header_module_p. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116403 + * pt.cc (deduction_guides_for): Use ANY_REACHABLE for lookup of + deduction guides. + * module.cc (depset::hash::add_deduction_guides): Likewise. + (module_state::write_cluster): No longer override deduction + guides as exported. + * name-lookup.cc (name_lookup::search_namespace_only): Ignore + visibility when LOOK_want::ANY_REACHABLE is specified. + (check_module_override): Ignore visibility when checking for + ambiguating deduction guides. + * name-lookup.h (LOOK_want): New flag 'ANY_REACHABLE'. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116382 + * cp-tree.h (get_template_parm_object): Add check_init param. + * module.cc (trees_in::tree_node): Pass check_init=false when + building NTTPs. + * pt.cc (get_template_parm_object): Prevent cp_finish_decl from + validating the initializer when check_init=false. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116364 + * cp-tree.h (get_mergeable_specialization_flags): Adjust + signature. + * module.cc (trees_out::decl_value): Indicate whether this is a + type or decl specialisation. + * pt.cc (get_mergeable_specialization_flags): Match against the + type of a non-decl specialisation. + (add_mergeable_specialization): Use the already calculated spec + instead of always adding decl to DECL_TEMPLATE_INSTANTIATIONS. + +2024-08-19 Marek Polacek <polacek@redhat.com> + + PR c++/115657 + * decl.cc (build_enumerator): Call maybe_fold_non_dependent_expr + instead of fold_non_dependent_expr. + +2024-08-19 Marek Polacek <polacek@redhat.com> + + PR c++/116384 + * pt.cc (tsubst_expr) <case IMPLICIT_CONV_EXPR>: Bail if tsubst + returns error_mark_node. + +2024-08-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * parser.cc (cp_parser_member_declaration): Call maybe_warn_extra_semi + only if it is empty-declaration, if there are some tokens like + attribute, pedwarn that the declaration doesn't declare anything. + +2024-08-15 Patrick Palka <ppalka@redhat.com> + + PR c++/116320 + * semantics.cc (check_accessibility_of_qualified_id): Try + currently_open_class when using the object type as the + effective qualifying type. + +2024-08-15 Patrick Palka <ppalka@redhat.com> + + PR c++/116327 + PR c++/104981 + PR c++/115550 + * coroutines.cc (morph_fn_to_coro): Use build_fold_indirect_ref + instead of cp_build_fold_indirect_ref. + +2024-08-14 Marek Polacek <polacek@redhat.com> + + PR c++/116015 + * call.cc (convert_for_arg_passing): Don't set_target_expr_eliding + when the TARGET_EXPR initializer is a CONSTRUCTOR. + +2024-08-10 Patrick Palka <ppalka@redhat.com> + + PR c++/116276 + * call.cc (joust): Implement P2582R1 inherited vs non-inherited + guide tiebreaker. + * cp-tree.h (lang_decl_fn::context): Document usage in + deduction_guide_p FUNCTION_DECLs. + (inherited_guide_p): Declare. + * pt.cc (inherited_guide_p): Define. + (set_inherited_guide_context): Define. + (alias_ctad_tweaks): Use set_inherited_guide_context. + (inherited_ctad_tweaks): Recognize some inherited constructors + whose scope is a TYPENAME_TYPE. + (ctor_deduction_guides_for): For C++23 inherited CTAD, iterate + over TYPE_FIELDS instead of CLASSTYPE_CONSTRUCTORS to recognize + all inherited constructors. + +2024-08-10 Patrick Palka <ppalka@redhat.com> + + * pt.cc (tsubst_friend_class): Simplify depth comparison test + in the redeclaration code path to + DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P. Clear the flag after + partial instantiation here ... + (tsubst_template_decl): ... instead of here. + +2024-08-10 Patrick Palka <ppalka@redhat.com> + + * cp-tree.h (get_identifier_kind): Define. + (IDENTIFIER_KEYWORD_P): Redefine in terms of get_identifier_kind. + (IDENTIFIER_CDTOR_P): Likewise. + (IDENTIFIER_CTOR_P): Likewise. + (IDENTIFIER_DTOR_P): Likewise. + (IDENTIFIER_ANY_OP_P): Likewise. + (IDENTIFIER_OVL_OP_P): Likewise. + (IDENTIFIER_ASSIGN_OP_P): Likewise. + (IDENTIFIER_CONV_OP_P): Likewise. + (IDENTIFIER_TRAIT_P): Likewise. + * parser.cc (cp_lexer_peek_trait): Mark IDENTIFIER_TRAIT_P + check UNLIKELY. + +2024-08-09 Simon Martin <simon@nasilyan.com> + + PR c++/115806 + * decl.cc (start_enum): Only set OPAQUE_ENUM_P and + ENUM_FIXED_UNDERLYING_TYPE_P when pushing a new tag. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115062 + * class.cc (fixup_type_variants): Propagate TREE_ADDRESSABLE. + (finish_struct_bits): Cleanup now that TREE_ADDRESSABLE is + propagated by fixup_type_variants. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (module_state::read_cluster): Assume header module + declarations will require GM merging. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115801 + * pt.cc (tsubst_friend_class): Return the type immediately when + no tsubsting or name lookup is required. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114950 + * module.cc (trees_out::decl_value): Stream bit indicating + imported temploid friends early. + (trees_in::decl_value): Use this bit with key_mergeable. + (trees_in::key_mergeable): Allow merging attached declarations + if they're imported temploid friends (which must be namespace + scope). + (module_state::read_cluster): Check for GM entities that may + require merging even when importing from partitions. + * name-lookup.cc (enum binding_slots): Adjust comment. + (get_fixed_binding_slot): Always create partition slot. + (name_lookup::search_namespace_only): Support binding vectors + with both partition and GM entities to dedup. + (walk_module_binding): Likewise. + (name_lookup::adl_namespace_fns): Likewise. + (set_module_binding): Likewise. + (check_module_override): Use attachment of the decl when + checking overrides rather than named_module_p. + (lookup_imported_hidden_friend): Use partition slot for finding + mergeable template bindings. + * name-lookup.h (set_module_binding): Split mod_glob_flag + parameter into separate global_p and partition_p params. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (trees_in::read_enum_def): Clarify error. + +2024-08-07 Patrick Palka <ppalka@redhat.com> + + PR c++/116064 + * error.cc (get_current_template): If the current scope is + a partial specialization, return it instead of the primary + template. + * pt.cc (instantiate_class_template): Pass the partial + specialization if any to maybe_diagnose_erroneous_template + instead of the primary template. + +2024-08-07 Julian Brown <julian@codesourcery.com> + Tobias Burnus <tobias@baylibre.com> + + * decl2.cc (tree-inline.h): Include. + (static_init_fini_fns): Bump to four entries. Update comment. + (start_objects, start_partial_init_fini_fn): Add 'omp_target' + parameter. Support "declare target" decls. Update forward declaration. + (emit_partial_init_fini_fn): Add 'host_fn' parameter. Return tree for + the created function. Support "declare target". + (OMP_SSDF_IDENTIFIER): New macro. + (partition_vars_for_init_fini): Support partitioning "declare target" + variables also. + (generate_ctor_or_dtor_function): Add 'omp_target' parameter. Support + "declare target" decls. + (c_parse_final_cleanups): Support constructors/destructors on OpenMP + offload targets. + +2024-08-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/109126 + * decl.cc (grokvardecl): Implement CWG 2387 - Linkage of + const-qualified variable template. Set TREE_PUBLIC on variable + templates with const qualified types unless static is present. + +2024-08-07 Simon Martin <simon@nasilyan.com> + + PR c++/111592 + * call.cc (build_over_call): Only error out if there's a single + parameter of type A in a call to A::A(...). + +2024-08-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/116175 + * pt.cc (apply_late_template_attributes): For function/method types + call cp_build_type_attribute_variant on the non-dependent attributes. + (rebuild_function_or_method_type): Add ARGS argument. Use + apply_late_template_attributes rather than + cp_build_type_attribute_variant. + (maybe_rebuild_function_decl_type): Add ARGS argument, pass it to + rebuild_function_or_method_type. + (tsubst_function_decl): Adjust caller. + (tsubst_function_type): Adjust rebuild_function_or_method_type caller. + +2024-08-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115231 + * error.cc (dump_function_decl): Add a space before '->' when + printing deduction guides. + * module.cc (depset::hash::add_binding_entity): Don't create + bindings for guides here, only mark dependencies. + (depset::hash::add_deduction_guides): New. + (depset::hash::find_dependencies): Add deduction guide + dependencies for a class template. + (module_state::write_cluster): Always consider deduction guides + as exported. + * pt.cc (deduction_guides_for): Use 'lkp_iterator' instead of + 'ovl_iterator'. + +2024-08-07 Nathaniel Shead <nathanieloshead@gmail.com> + + * parser.cc (cp_parser_class_head): Clarify error message for + explicit instantiations. + +2024-08-07 Patrick Palka <ppalka@redhat.com> + + PR c++/116064 + * cp-tree.h (erroneous_templates_t): Declare. + (erroneous_templates): Declare. + (cp_seen_error): Declare. + (seen_error): #define to cp_seen_error. + * error.cc (get_current_template): Define. + (relaxed_template_errors): Define. + (cp_adjust_diagnostic_info): Define. + (cp_seen_error): Define. + (cxx_initialize_diagnostics): Set + diagnostic_context::m_adjust_diagnostic_info. + * module.cc (finish_module_processing): Don't write the + module if it contains an erroneous template. + * pt.cc (maybe_diagnose_erroneous_template): Define. + (instantiate_class_template): Call it. + (instantiate_decl): Likewise. + +2024-08-06 Marek Polacek <polacek@redhat.com> + + * constexpr.cc (cxx_eval_call_expression): Remove concept_check_p check. + (cxx_eval_outermost_constant_expr): Likewise. + * cp-gimplify.cc (cp_genericize_r) <case CALL_EXPR>: Likewise. + * except.cc (check_noexcept_r): Likewise. + +2024-08-06 Jason Merrill <jason@redhat.com> + + PR c++/116223 + * pt.cc (deducible_expression): Strip all IMPLICIT_CONV_EXPR. + (unify): Likewise. Handle resulting function/addr mismatch. + +2024-08-06 Jason Merrill <jason@redhat.com> + + PR c++/116223 + PR c++/112632 + * pt.cc (deducible_expression): Also look through + IMPLICIT_CONV_EXPR_FORCED. + (unify): Likewise. + +2024-08-06 Jason Merrill <jason@redhat.com> + + PR c++/94568 + * init.cc (build_zero_init_1): Call cv_unqualified. + +2024-08-06 Patrick Palka <ppalka@redhat.com> + + PR c++/96780 + * cp-gimplify.cc (cp_fold) <case CALL_EXPR>: Fold calls + to std::forward_like as well. + +2024-08-06 Marek Polacek <polacek@redhat.com> + + * constexpr.cc (cxx_eval_constant_expression): Don't call + unpack_concept_check. Add a concept_check_p assert. Remove + function_concept_p code. + * constraint.cc (check_constraint_atom): Remove function concepts code. + (unpack_concept_check): Remove. + (get_concept_check_template): Remove Concepts TS code. + (resolve_function_concept_overload): Remove. + (resolve_function_concept_check): Remove. + (resolve_concept_check): Remove Concepts TS code. + (get_returned_expression): Remove. + (get_variable_initializer): Remove. + (get_concept_definition): Remove Concepts TS code. + (normalize_concept_check): Likewise. + (build_function_check): Remove. + (build_variable_check): Remove. + (build_standard_check): Use concept_definition_p instead of + standard_concept_p. + (build_concept_check): Remove variable_concept_p/function_concept_p + code. + (build_concept_id): Simplify. + (build_type_constraint): Likewise. + (placeholder_extract_concept_and_args): Likewise. + (satisfy_nondeclaration_constraints): Likewise. + (check_function_concept): Remove. + (get_constraint_error_location): Remove Concepts TS code. + * cp-tree.h (DECL_DECLARED_CONCEPT_P): Remove. + (check_function_concept): Remove. + (unpack_concept_check): Remove. + (standard_concept_p): Remove. + (variable_concept_p): Remove. + (function_concept_p): Remove. + (concept_definition_p): Simplify. + (concept_check_p): Don't check for CALL_EXPR. + * decl.cc (check_concept_refinement): Remove. + (duplicate_decls): Remove check_concept_refinement code. + (is_concept_var): Remove. + (cp_finish_decl): Remove is_concept_var. + (check_concept_fn): Remove. + (grokfndecl): Give an error about function concepts not being supported + anymore. Remove unused code. + (grokvardecl): Give an error about variable concepts not being + supported anymore. + (finish_function): Remove DECL_DECLARED_CONCEPT_P code. + * decl2.cc (min_vis_expr_r): Use concept_definition_p instead of + standard_concept_p. + (maybe_instantiate_decl): Remove DECL_DECLARED_CONCEPT_P check. + (mark_used): Likewise. + * error.cc (dump_simple_decl): Use concept_definition_p instead of + standard_concept_p. + (dump_function_decl): Remove DECL_DECLARED_CONCEPT_P code. + (print_concept_check_info): Don't call unpack_concept_check. Simplify. + * mangle.cc (write_type_constraint): Likewise. + * parser.cc (cp_parser_nested_name_specifier_opt): Remove + function_concept_p code. Only check concept_definition_p, not + variable_concept_p/standard_concept_p. + (add_debug_begin_stmt): Remove DECL_DECLARED_CONCEPT_P code. + (cp_parser_template_declaration_after_parameters): Remove a stale + comment. + * pt.cc (check_explicit_specialization): Remove + DECL_DECLARED_CONCEPT_P code. + (process_partial_specialization): Remove variable_concept_p code. + (lookup_template_variable): Likewise. + (tsubst_expr) <case CALL_EXPR>: Remove Concepts TS code and simplify. + (do_decl_instantiation): Remove DECL_DECLARED_CONCEPT_P code. + (instantiate_decl): Likewise. + (placeholder_type_constraint_dependent_p): Don't call + unpack_concept_check. Add a concept_check_p assert. + (convert_generic_types_to_packs): Likewise. + * semantics.cc (finish_call_expr): Remove Concepts TS code and simplify. + +2024-08-05 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (split_coroutine_body_from_ramp): New. + (morph_fn_to_coro): Use split_coroutine_body_from_ramp(). + * cp-tree.h (use_eh_spec_block): New. + * decl.cc (use_eh_spec_block): Make non-static. + +2024-08-05 Marek Polacek <polacek@redhat.com> + + PR c++/115987 + * call.cc (do_warn_dangling_reference): Don't consider a + temporary with a scalar type that cannot bind to the return type. + +2024-08-02 Arsen Arsenović <arsen@aarsen.me> + + PR c++/105475 + * coroutines.cc (struct coroutine_info): Add from_address. + Carries the from_address member we looked up earlier. + (coro_resume_identifier): Remove. Unused. + (coro_init_identifiers): Do not initialize the above. + (void_coro_handle_address): New variable. Contains the baselink + for the std::coroutine_handle<void>::address() instance method. + (get_handle_type_address): New function. Looks up and validates + handle_type::address in a given handle_type. + (get_handle_type_from_address): New function. Looks up and + validates handle_type::from_address in a given handle_type. + (coro_promise_type_found_p): Remove reliance on + coroutine_handle<> defaulting the promise type to void. Store + get_handle_type_* results where appropriate. + (get_coroutine_from_address): New helper. Gets the + handle_type::from_address BASELINK from a coroutine_info. + (build_actor_fn): Use the get_coroutine_from_address helper and + void_coro_handle_address. + +2024-08-02 Marek Polacek <polacek@redhat.com> + + PR c++/116169 + * decl.cc (cp_finish_decl): Disallow deleting ::main. + +2024-08-02 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (struct local_vars_frame_data): Add a + CTOR. + (morph_fn_to_coro): Use CTOR for local_vars_frame_data + instead of brace init. + +2024-08-02 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (struct susp_frame_data): Remove unused members, + provide a CTOR. + (morph_fn_to_coro): Use susp_frame_data CTOR, and make the suspend + state hash map local to the morph function. + +2024-08-02 Iain Sandoe <iain@sandoe.co.uk> + + * coroutines.cc (replace_continue): Look up expression type. + +2024-08-01 Jakub Jelinek <jakub@redhat.com> + + PR c++/116113 + * semantics.cc (maybe_convert_cond): Check DECL_DECOMP_BASE + is non-NULL before dereferencing it. + (finish_switch_cond): Likewise. + +2024-08-01 Arsen Arsenović <arsen@aarsen.me> + + PR c++/112341 + * coroutines.cc (struct coroutine_info): Also cache the + traits type. + (ensure_coro_initialized): New function. Makes sure we have + initialized the coroutine state successfully, or informs the + caller should it fail to do so. Extracted from + coro_promise_type_found_p. + (coro_get_traits_class): New function. Gets the (cached) + coroutine traits type for a given coroutine. Extracted from + coro_promise_type_found_p and refactored to cache the result. + (coro_promise_type_found_p): Use the two functions above. + (build_template_co_await_expr): New function. Builds a + CO_AWAIT_EXPR representing a CO_AWAIT_EXPR in a template + declaration. + (build_co_await): Use the above if processing_template_decl, and + give it a proper type. + (coro_dependent_p): New function. Returns true iff its + argument is a type-dependent expression OR the current functions + traits class is type dependent. + (finish_co_await_expr): Defer expansion only in the case + coro_dependent_p returns true. + (finish_co_yield_expr): Ditto. + (finish_co_return_stmt): Ditto. + * pt.cc (type_dependent_expression_p): Do not treat + CO_AWAIT/CO_YIELD specially. + +2024-07-31 Marek Polacek <polacek@redhat.com> + + PR c++/115645 + * init.cc (build_vec_init): When initializing a scalar type, try to + create a constant initializer. + +2024-07-30 Arsen Arsenović <arsen@aarsen.me> + + PR c++/115906 + * parser.cc (cp_parser_unary_expression): Reject await + expressions if use of local variables is currently forbidden. + (cp_parser_yield_expression): Reject yield expressions if use of + local variables is currently forbidden. + +2024-07-30 Arsen Arsenovic <arsen@aarsen.me> + + PR c++/115906 + * coroutines.cc (register_local_var_uses): Only process + PARM_DECL and VAR_DECLs. + +2024-07-30 Arsen Arsenović <arsen@aarsen.me> + + PR c++/110855 + * cp-gimplify.cc (fold_builtin_source_location): Use the name of + the DECL_RAMP_FN of the current function if present. + +2024-07-29 Patrick Palka <ppalka@redhat.com> + + PR c++/88313 + * parser.cc (cp_parser_lambda_declarator_opt): Pass + lambda_p=true to cp_parser_parameter_declaration_clause. + (cp_parser_direct_declarator): Pass lambda_p=false to + to cp_parser_parameter_declaration_clause. + (cp_parser_parameter_declaration_clause): Add bool lambda_p + parameter. Consider lambda_p instead of current_class_type + when setting parser->auto_is_implicit_function_template_parm_p. + Don't consider processing_template_parmlist. + (cp_parser_requirement_parameter_list): Pass lambda_p=false + to cp_parser_parameter_declaration_clause. + +2024-07-28 Jason Merrill <jason@redhat.com> + + PR c++/115583 + * constexpr.cc (cxx_eval_conditional_expression): Don't + cp_fold_immediate for if consteval. + +2024-07-27 Jason Merrill <jason@redhat.com> + + PR c++/115986 + * cp-gimplify.cc (remember_escalating_expr): Skip function + templates. + +2024-07-27 Jason Merrill <jason@redhat.com> + + PR c++/115561 + * semantics.cc (finish_call_expr): Check cp_unevaluated_operand. + +2024-07-26 Jason Merrill <jason@redhat.com> + + PR c++/116052 + * mangle.cc (write_prefix): Handle TRAIT_EXPR. + +2024-07-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115757 + * module.cc (trees_out::core_vals): Write warning specs for + DECLs and EXPRs. + (trees_in::core_vals): Read warning specs. + +2024-07-25 Jason Merrill <jason@redhat.com> + + PR c++/115403 + PR c++/109753 + * decl.cc (start_preparsed_function): Only call decl_attributes for + artificial functions. + +2024-07-25 Patrick Palka <ppalka@redhat.com> + + PR c++/115897 + * cp-tree.h (dependent_opaque_alias_p): Declare. + * pt.cc (push_template_decl): Manually mark a dependent opaque + alias or dependent alias template specialization as dependent, + and use structural equality for them. + (dependent_opaque_alias_p): Define. + (alias_template_specialization_p): Don't look through an + opaque alias. + (complex_alias_template_p): Use dependent_opaque_alias_p instead of + any_dependent_template_arguments_p directly. + (dependent_alias_template_spec_p): Don't look through an + opaque alias. + (get_underlying_template): Use dependent_opaque_alias_p instead of + any_dependent_template_arguments_p. + (instantiate_alias_template): Mention same logic in + push_template_decl. + (dependent_type_p_r): Remove dependent_alias_template_spec_p check. + (any_template_arguments_need_structural_equality_p): Return true + for a dependent opaque alias. + (alias_ctad_tweaks): Use template_args_equal instead of same_type_p + followed by dependent_alias_template_spec_p. + * tree.cc (strip_typedefs): Don't strip an opaque alias. + * typeck.cc (structural_comptypes): Compare declaration attributes + for an opaque alias. + +2024-07-25 Patrick Palka <ppalka@redhat.com> + + PR c++/115897 + * tree.cc (strip_typedefs): Move up the typedef recursion case. + Never strip a dependent alias template-id that has dependent + attributes. + +2024-07-25 Arsen Arsenović <arsen@aarsen.me> + + PR c++/110171 + * coroutines.cc (co_await_get_resume_call): New function. + Returns the await_resume expression of a given co_await. + * cp-tree.h (co_await_get_resume_call): New function. + * cvt.cc (convert_to_void): Handle CO_AWAIT_EXPRs and call + maybe_warn_nodiscard on their resume exprs. + +2024-07-25 Arsen Arsenović <arsen@aarsen.me> + + PR c++/111728 + * coroutines.cc (rewrite_param_uses): Skip unevaluated + subexpressions. + +2024-07-24 Jason Merrill <jason@redhat.com> + + PR c++/116071 + * parser.cc (cp_parser_simple_type_specifier): Call + cp_parser_simulate_error if nothing worked. + +2024-07-24 Jakub Jelinek <jakub@redhat.com> + + * constraint.cc (subst_info::quiet, subst_info::noisy): Formatting + fixes. + (known_non_bool_p): Comment formatting fixes. + (unpack_concept_check): Likewise. + (resolve_function_concept_overload): Likewise. + (resolve_function_concept_check): Likewise. + (resolve_concept_check): Likewise. + (deduce_constrained_parameter): Likewise. + (finish_type_constraints): Likewise. + (get_returned_expression): Likewise. + (get_variable_initializer): Likewise. + (norm_info::update_context, norm_info::ctx_params): Formatting + fixes. + (norm_info::context): Comment formatting fixes. + (normalize_logical_operation): Likewise. Formatting fix. + (normalize_concept_check): Comment formatting fixes. + (normalize_atom): Likewise. + (normalize_expression): Likewise. + (get_normalized_constraints_from_info): Likewise. + (get_normalized_constraints_from_decl): Likewise. Formatting + fixes. + (atomic_constraints_identical_p): Comment formatting fixes. + (constraints_equivalent_p): Formatting fixes. + (inchash::add_constraint): Likewise. + (associate_classtype_constraints): Comment formatting fixes. + (get_constraints): Likewise. + (set_constraints): Likewise. + (build_concept_check_arguments): Likewise. + (build_function_check): Likewise. + (build_concept_check): Likewise. + (finish_shorthand_constraint): Likewise. + (get_shorthand_constraints): Likewise. + (check_constraint_variables): Likewise. + (tsubst_constraint_variables): Likewise. + (tsubst_requires_expr): Likewise. + (get_mapped_args): Likewise. Formatting fixes. + (satisfy_atom): Comment formatting fixes. + (satisfy_constraint_r): Comment wording and formatting fixes. + (satisfy_normalized_constraints): Comment formatting fixes. + (satisfy_declaration_constraints): Likewise. + (evaluate_concept_check): Likewise. + (finish_requires_expr): Likewise. + (finish_compound_requirement): Likewise. + (check_function_concept): Likewise. + (equivalently_constrained): Likewise. + (more_constrained): Likewise. + (diagnose_atomic_constraint): Likewise. + * cp-tree.h (TREE_LANG_FLAG_0): Fix a comment error, + FOLD_EXPR_MODIFY_P instead of FOLD_EXPR_MODOP_P. + (DECL_MAIN_FREESTANDING_P, DECL_MAIN_P): Comment formatting fixes. + (enum cpp0x_warn_str): Likewise. + (enum composite_pointer_operation): Likewise. + (enum expr_list_kind): Likewise. + (enum impl_conv_rhs): Likewise. + (enum impl_conv_void): Likewise. + (struct deferred_access_check): Likewise. + (ATOMIC_CONSTR_EXPR): Likewise. + (FUNCTION_REF_QUALIFIED): Likewise. + (DECL_DEPENDENT_P): Likewise. + (FOLD_EXPR_MODIFY_P): Likewise. + (FOLD_EXPR_OP_RAW): Likewise. + (FOLD_EXPR_PACK): Likewise. + (FOLD_EXPR_INIT): Likewise. + (TYPE_WAS_UNNAMED): Likewise. + (class cp_unevaluated): Likewise. + (struct ovl_op_info_t assertion): Likewise. + (cp_declarator::function::requires_clause): Likewise. + (variable_template_p): Likewise. + (concept_definition_p): Likewise. + * logic.cc (clause::clause): Likewise. + (clause::replace): Likewise. + (clause::insert): Likewise. Formatting fixes. + (struct formula): Comment formatting fixes. + (formula::branch): Likewise. + (debug): Formatting fixes. + (dnf_size_r): Comment formatting fixes. + (cnf_size_r): Likewise. + (dnf_size): Likewise. + (cnf_size): Likewise. + (branch_clause): Likewise. + (decompose_term): Likewise. Formatting fixes. + (struct subsumption_entry): Comment formatting fixes. + (subsumption_cache): Likewise. + (save_subsumption): Likewise. Formatting fixes. + (subsumes_constraints_nonnull): Formatting fixes. + +2024-07-23 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * cp-tree.h (AGGR_INIT_EXPR_MUST_TAIL): Add. + * parser.cc (cp_parser_statement): Handle musttail. + (cp_parser_jump_statement): Dito. + * pt.cc (tsubst_expr): Copy CALL_EXPR_MUST_TAIL_CALL. + * semantics.cc (simplify_aggr_init_expr): Handle musttail. + +2024-07-23 Patrick Palka <ppalka@redhat.com> + + PR c++/115656 + * constraint.cc (weakly_subsumes): Pass in_decl=tmpl to + get_normalized_constraints_from_info. Rename to ... + (ttp_subsumes): ... this. + * cp-tree.h (weakly_subsumes): Rename to ... + (ttp_subsumes): ... this. + * pt.cc (is_compatible_template_arg): Adjust after renaming. + +2024-07-23 Patrick Palka <ppalka@redhat.com> + + PR c++/115296 + * pt.cc (alias_ctad_tweaks): Use complain=tf_none instead of + tf_warning_or_error. + +2024-07-23 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.def (CHECK_CONSTR): Remove. + * cp-tree.h (CHECK_CONSTR_CONCEPT, CHECK_CONSTR_ARGS): Remove. + * cp-objcp-common.cc (cp_common_init_ts): Don't handle CHECK_CONSTR. + * tree.cc (cp_tree_equal): Likewise. + * error.cc (dump_expr): Likewise. + * cxx-pretty-print.cc (cxx_pretty_printer::expression): Likewise. + (pp_cxx_check_constraint): Remove. + (pp_cxx_constraint): Don't handle CHECK_CONSTR. + +2024-07-23 Patrick Palka <ppalka@redhat.com> + + PR c++/104981 + PR c++/115550 + * coroutines.cc (morph_fn_to_coro): Remove unneeded calls + to convert_to_reference and convert_from_reference when + passing *this. Use cp_build_fold_indirect_ref instead + of directly building INDIRECT_REF. + +2024-07-22 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.def (UNARY_LEFT_FOLD_EXPR): Use FOLD_EXPR_MODIFY_P instead + of FOLD_EXPR_MOD_P or FOLDEXPR_MOD_P in the comment. Comment + formatting fixes. + (ATOMIC_CONSTEXPR): Use CONSTR_INFO instead of ATOMIC_CONSTR_INFO + and ATOMIC_CONSTR_MAP instead of ATOMIC_CONSTR_PARMS in the comment. + Comment formatting fixes. + (CONJ_CONSTR): Remove comment about third operand. Use CONSTR_INFO + instead of CONJ_CONSTR_INFO and DISJ_CONSTR_INFO. + (CHECK_CONSTR): Use CHECK_CONSTR_ARGS instead of + CHECK_CONSTR_ARGUMENTS. + +2024-07-20 Andi Kleen <ak@gcc.gnu.org> + + Revert: + 2024-07-20 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * cp-tree.h (AGGR_INIT_EXPR_MUST_TAIL): Add. + * parser.cc (cp_parser_statement): Handle musttail. + (cp_parser_jump_statement): Dito. + * pt.cc (tsubst_expr): Copy CALL_EXPR_MUST_TAIL_CALL. + * semantics.cc (simplify_aggr_init_expr): Handle musttail. + +2024-07-20 Andi Kleen <ak@linux.intel.com> + + PR c/83324 + * cp-tree.h (AGGR_INIT_EXPR_MUST_TAIL): Add. + * parser.cc (cp_parser_statement): Handle musttail. + (cp_parser_jump_statement): Dito. + * pt.cc (tsubst_expr): Copy CALL_EXPR_MUST_TAIL_CALL. + * semantics.cc (simplify_aggr_init_expr): Handle musttail. + +2024-07-19 Patrick Palka <ppalka@redhat.com> + + PR c++/115783 + * call.cc (build_new_method_call): Generalize METHOD_TYPE + check to DECL_OBJECT_MEMBER_FUNCTION_P. + +2024-07-19 Seyed Sajad Kahani <sska1377@gmail.com> + + * constraint.cc (hash_placeholder_constraint): Rename to + iterative_hash_placeholder_constraint. + (iterative_hash_placeholder_constraint): Rename from + hash_placeholder_constraint and add the initial val argument. + * cp-tree.h (hash_placeholder_constraint): Rename to + iterative_hash_placeholder_constraint. + (iterative_hash_placeholder_constraint): Renamed from + hash_placeholder_constraint and add the initial val argument. + * pt.cc (struct ctp_hasher): Updated to use + iterative_hash_placeholder_constraint in the case of a valid placeholder + constraint. + (auto_hash::hash): Reflect the renaming of hash_placeholder_constraint to + iterative_hash_placeholder_constraint. + +2024-07-18 Marek Polacek <polacek@redhat.com> + + PR c++/108769 + PR c++/58074 + PR c++/115522 + PR c++/85723 + * class.cc (type_has_non_deleted_trivial_default_ctor): Fix formatting. + * tree.cc (trivial_type_p): Instead of TYPE_HAS_TRIVIAL_DFLT, use + type_has_non_deleted_trivial_default_ctor. + +2024-07-18 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115165 + * module.cc (lazy_load_binding): Use 'timevar_cond*' APIs. + (lazy_load_pendings): Likewise. + +2024-07-18 Patrick Palka <ppalka@redhat.com> + + PR c++/112288 + * pt.cc (tsubst_friend_function): When adjusting existing + specializations after defining a previously declared template + friend, consider the most general template and correct + DECL_TI_ARGS adjustment. + +2024-07-18 Patrick Palka <ppalka@redhat.com> + + PR c++/114104 + * cvt.cc (convert_to_void): Call warn_if_unused_value for + TRUTH_NOT_EXPR and ADDR_EXPR as well. + +2024-07-18 Patrick Palka <ppalka@redhat.com> + + * decl.cc (make_typename_type): Restrict name lookup failure + punting to dependentish_scope_p instead of dependent_type_p. + * error.cc (qualified_name_lookup_error): Improve diagnostic + when the scope is the current instantiation. + * parser.cc (cp_parser_diagnose_invalid_type_name): Likewise. + (cp_parser_conversion_function_id): Don't call push_scope on + a template scope unless we're in a declaration context. + (cp_parser_lookup_name): Restrict name lookup failure + punting to dependentish_scope_p instead of depedent_type_p. + * semantics.cc (finish_id_expression_1): Likewise. + * typeck.cc (finish_class_member_access_expr): Likewise. + +2024-07-17 Marek Polacek <polacek@redhat.com> + + PR c++/115900 + * constexpr.cc (cxx_eval_call_expression): Set new_obj to NULL_TREE + if cxx_fold_indirect_ref set empty_base to true. + +2024-07-17 Patrick Palka <ppalka@redhat.com> + + PR c++/111890 + * pt.cc (maybe_new_partial_specialization): Propagate TYPE_CONTEXT + to the newly created partial specialization. + +2024-07-17 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99242 + * name-lookup.cc (append_imported_binding_slot): Propagate dups + flags. + +2024-07-16 Nina Ranns <dinka.ranns@gmail.com> + + PR c++/110159 + * cp-tree.h (init_terminate_fn): Declaration of a new function. + * decl.cc (cxx_init_decl_processing): If contracts are enabled, + call init_terminate_fn. + * except.cc (init_exception_processing): Function refactored to + call init_terminate_fn. + (init_terminate_fn): Added new function that initializes + terminate_fn if it hasn't already been initialised. + +2024-07-16 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/115434 + PR c++/110871 + PR c++/110872 + * constexpr.cc (cxx_eval_constant_expression): Handle EH_ELSE_EXPR. + * contracts.cc (finish_contract_attribute): Remove excess line. + (build_contract_condition_function): Post condition handlers are + void now. + (emit_postconditions_cleanup): Remove. + (emit_postconditions): New. + (add_pre_condition_fn_call): New. + (add_post_condition_fn_call): New. + (apply_preconditions): New. + (apply_postconditions): New. + (maybe_apply_function_contracts): New. + (apply_postcondition_to_return): Remove. + * contracts.h (apply_postcondition_to_return): Remove. + (maybe_apply_function_contracts): Add. + * coroutines.cc (coro_build_actor_or_destroy_function): Do not + copy contracts to coroutine helpers. + * decl.cc (finish_function): Handle wrapping a possibly + transformed function body in contract checks. + * typeck.cc (check_return_expr): Remove handling of post + conditions on return expressions. + +2024-07-15 Patrick Palka <ppalka@redhat.com> + + PR c++/115897 + * pt.cc (complex_alias_template_p): Return true for an alias + template with attributes. + (get_underlying_template): Don't look through an alias template + with attributes. + +2024-07-13 David Malcolm <dmalcolm@redhat.com> + + * call.cc: Include "tree-pretty-print-markup.h". + (implicit_conversion_error): Use highlight_colors::percent_h for + the labelled range. + (op_error_string): Split out into... + (concat_op_error_string): ...this. + (binop_error_string): New. + (op_error): Use %e, binop_error_string, highlight_colors::lhs, + and highlight_colors::rhs. + (maybe_inform_about_fndecl_for_bogus_argument_init): Add + "highlight_color" param; use it for the richloc. + (convert_like_internal): Use highlight_colors::percent_h for the + labelled_range, and highlight_colors::percent_i for the call to + maybe_inform_about_fndecl_for_bogus_argument_init. + (build_over_call): Pass cp_comp_parm_types for new "comp_types" + param of check_function_arguments. + (complain_about_bad_argument): Use highlight_colors::percent_h for + the labelled_range, and highlight_colors::percent_i for the call + to maybe_inform_about_fndecl_for_bogus_argument_init. + * cp-tree.h (maybe_inform_about_fndecl_for_bogus_argument_init): + Add optional highlight_color param. + (cp_comp_parm_types): New decl. + (highlight_colors::const percent_h): New decl. + (highlight_colors::const percent_i): New decl. + * error.cc: Include "tree-pretty-print-markup.h". + (highlight_colors::const percent_h): New defn. + (highlight_colors::const percent_i): New defn. + (type_to_string): Add param "highlight_color" and use it. + (print_nonequal_arg): Likewise. + (print_template_differences): Add params "highlight_color_a" and + "highlight_color_b". + (type_to_string_with_compare): Add params "this_highlight_color" + and "peer_highlight_color". + (print_template_tree_comparison): Add params "highlight_color_a" + and "highlight_color_b". + (cxx_format_postprocessor::handle): + Use highlight_colors::percent_h and highlight_colors::percent_i. + (pp_markup::element_quoted_type::print_type): New. + (range_label_for_type_mismatch::get_text): Pass nullptr for new + params of type_to_string_with_compare. + * typeck.cc (cp_comp_parm_types): New. + (cp_build_function_call_vec): Pass it to check_function_arguments. + (convert_for_assignment): Use highlight_colors::percent_h for the + labelled_range. + +2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> + + * decl.cc (xref_tag): Move assertion into condition. + * name-lookup.cc (check_module_override): Check for conflicting + types and using-decls. + +2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114683 + * cp-tree.h (class ovl_iterator): Move definitions of purview_p + and exporting_p to name-lookup.cc. + * module.cc (depset::hash::add_binding_entity): Strip + using-decls. Remove workarounds. Handle CONST_DECLs with + different purview/exported from their enum. + (enum ct_bind_flags): Remove unnecessary cbf_wrapped flag. + (module_state::write_cluster): Likewise. + (module_state::read_cluster): Build USING_DECL for non-function + usings. + (binding_cmp): Handle CONST_DECLs with different purview and/or + exported from their enum. + (set_instantiating_module): Support CONST_DECLs. + * name-lookup.cc (get_fixed_binding_slot): Strip USING_DECLs. + (name_lookup::process_binding): Strip USING_DECLs. + (name_lookup::process_module_binding): Remove workaround. + (update_binding): Strip USING_DECLs, remove incorrect check for + non-extern variables. + (ovl_iterator::purview_p): Support USING_DECLs. + (ovl_iterator::exporting_p): Support USING_DECLs. + (walk_module_binding): Handle stat hack type. + (do_nonmember_using_decl): Strip USING_DECLs when comparing; + build USING_DECLs for non-function usings in different scope + rather than binding directly. + (get_namespace_binding): Strip USING_DECLs. + (lookup_name): Strip USING_DECLs. + (lookup_elaborated_type): Strip USING_DECLs. + * decl.cc (poplevel): Still support -Wunused for using-decls. + (lookup_and_check_tag): Remove unnecessary strip_using_decl. + * parser.cc (cp_parser_template_name): Likewise. + (cp_parser_nonclass_name): Likewise. + (cp_parser_class_name): Likewise. + +2024-07-11 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99241 + * decl.cc (duplicate_decls): Merge module entity information. + +2024-07-10 Marek Polacek <polacek@redhat.com> + + * constraint.cc (deduce_concept_introduction, get_deduced_wildcard, + get_introduction_prototype, introduce_type_template_parameter, + introduce_template_template_parameter, + introduce_nontype_template_parameter, + build_introduced_template_parameter, introduce_template_parameter, + introduce_template_parameter_pack, introduce_template_parameter, + introduce_template_parameters, process_introduction_parms, + check_introduction_list, finish_template_introduction): Remove. + (finish_shorthand_constraint): Remove a Concepts TS comment. + * cp-tree.h (check_auto_in_tmpl_args, finish_template_introduction): + Remove. + * decl.cc (function_requirements_equivalent_p): Remove pre-C++20 code. + (grokfndecl): Don't check flag_concepts_ts. + (grokvardecl): Don't check that concept have type bool. + * parser.cc (cp_parser_decl_specifier_seq): Don't check + flag_concepts_ts. + (cp_parser_introduction_list): Remove. + (cp_parser_template_id): Remove dead code. + (cp_parser_simple_type_specifier): Don't check flag_concepts_ts. + (cp_parser_placeholder_type_specifier): Require require auto or + decltype(auto) even pre-C++20. Don't check flag_concepts_ts. + (cp_parser_type_id_1): Don't check flag_concepts_ts. + (cp_parser_template_type_arg): Likewise. + (cp_parser_requires_clause_opt): Remove flag_concepts_ts code. + (cp_parser_compound_requirement): Don't check flag_concepts_ts. + (cp_parser_template_introduction): Remove. + (cp_parser_template_declaration_after_export): Don't call + cp_parser_template_introduction. + * pt.cc (template_heads_equivalent_p): Remove pre-C++20 code. + (find_parameter_pack_data): Remove type_pack_expansion_p. + (find_parameter_packs_r): Remove flag_concepts_ts code. Remove + type_pack_expansion_p code. + (uses_parameter_packs): Remove type_pack_expansion_p code. + (make_pack_expansion): Likewise. + (check_for_bare_parameter_packs): Likewise. + (fixed_parameter_pack_p): Likewise. + (tsubst_qualified_id): Remove dead code. + (extract_autos_r): Remove. + (extract_autos): Remove. + (do_auto_deduction): Remove flag_concepts_ts code. + (type_uses_auto): Likewise. + (check_auto_in_tmpl_args): Remove. + +2024-07-10 Marek Polacek <polacek@redhat.com> + + PR c++/115645 + * init.cc (build_new): Don't do any deduction for arrays with + bounds if it's value-initialized. + +2024-07-10 Nina Ranns <dinka.ranns@gmail.com> + + PR c++/113968 + * contracts.cc (grok_contract): Check for error_mark_node early + exit. + +2024-07-09 Jakub Jelinek <jakub@redhat.com> + + * constexpr.cc (cxx_eval_constant_expression): CWG2819 - Allow + cv void * null pointer value conversion to object types in constant + expressions. + +2024-07-07 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (trees_out::get_merge_kind): Use + LAMBDA_TYPE_EXTRA_SCOPE instead of LAMBDA_EXPR_EXTRA_SCOPE. + (trees_out::key_mergeable): Likewise. + +2024-07-04 Tamar Christina <tamar.christina@arm.com> + + PR c++/115623 + * semantics.cc (finish_for_cond): Add check for C++ cond. + +2024-07-04 Jason Merrill <jason@redhat.com> + + * error.cc (dump_decl) [OVERLOAD]: Recurse on single case. + +2024-07-04 Jason Merrill <jason@redhat.com> + + * pt.cc (ctad_template_p): Return false for trait names. + +2024-07-02 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/115754 + * constexpr.cc (cxx_eval_constant_expression) <case CONVERT_EXPR>: + For conversions to void, pass vc_discard to the recursive call + and otherwise for tcode other than VIEW_CONVERT_EXPR pass vc_prvalue. + +2024-07-02 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/115747 + * init.cc: Implement C++26 P3144R2 - Deleting a Pointer to an + Incomplete Type Should be Ill-formed. + (build_vec_delete_1): Emit permerror_at and return error_mark_node + for delete [] on incomplete type. + (build_delete): Similarly for delete. + +2024-07-02 Jakub Jelinek <jakub@redhat.com> + + PR c++/115745 + * cp-tree.h: Implement C++26 P0963R3 - Structured binding declaration + as a condition. + (DECL_DECOMP_BASE): Adjust comment. + (DECL_DECOMP_IS_BASE): Define. + * parser.cc (cp_parser_selection_statement): Adjust + cp_parser_condition caller. + (cp_parser_condition): Add KEYWORD argument. Parse + C++26 structured bindings in conditions. + (cp_parser_c_for, cp_parser_iteration_statement): Adjust + cp_parser_condition callers. + (cp_parser_simple_declaration): Adjust + cp_parser_decomposition_declaration caller. + (cp_parser_decomposition_declaration): Add KEYWORD argument. + If it is not RID_MAX, diagnose for C++23 and older rather than C++14 + and older. Set DECL_DECOMP_BASE to integer_zero_node for structured + bindings used in if/while/for conditions or integer_one_node for + those used in switch conditions. + * decl.cc (poplevel, check_array_initializer): Use DECL_DECOMP_IS_BASE + instead of !DECL_DECOMP_BASE. + (cp_finish_decomp): Diagnose array initializer for structured bindings + used in conditions. If using std::tuple_{size,element}, emit + conversion to bool or integer/enumeration of e into a TARGET_EXPR + before emitting get method calls. + * decl2.cc (mark_used): Use DECL_DECOMP_IS_BASE instead of + !DECL_DECOMP_BASE. + * module.cc (trees_in::tree_node): Likewise. + * typeck.cc (maybe_warn_about_returning_address_of_local): Likewise. + * semantics.cc (maybe_convert_cond): For structured bindings with + TARGET_EXPR DECL_DECOMP_BASE use that as condition. + (finish_switch_cond): Likewise. + +2024-07-02 Lewis Hyatt <lhyatt@gmail.com> + + * Make-lang.in: Remove redundant slash. + +2024-07-02 Simon Martin <simon@nasilyan.com> + + PR c++/111160 + * tree.cc (stabilize_expr): Stabilized expressions can have + TREE_SIDE_EFFECTS if they're volatile. + +2024-07-01 Marek Polacek <polacek@redhat.com> + + PR c++/115469 + * decl.cc (automatic_var_with_nontrivial_dtor_p): New. + (poplevel_named_label_1): Use it. + (check_goto_1): Likewise. + +2024-07-01 Marek Polacek <polacek@redhat.com> + + PR c++/115430 + * typeck.cc (cp_build_compound_expr): Call resolve_nondeduced_context + on RHS. + +2024-07-01 Marek Polacek <polacek@redhat.com> + + DR 2627 + PR c++/94058 + PR c++/104392 + * typeck2.cc (check_narrowing): Don't warn if the conversion isn't + narrowing as per DR 2627. + +2024-06-28 Patrick Palka <ppalka@redhat.com> + + PR c++/106760 + * call.cc (add_candidates): Relax test for adding a candidate + to 'bad_cands' to also accept an uninstantiated template candidate + that has no missing conversions. + +2024-06-26 David Malcolm <dmalcolm@redhat.com> + + * parser.cc (cp_parser_error_1): Pass *global_dc to + gcc_rich_location::add_location_if_nearby. + (cp_parser_decl_specifier_seq): Likewise. + (cp_parser_set_storage_class): Likewise. + (cp_parser_set_storage_class): Likewise. + +2024-06-26 Patrick Palka <ppalka@redhat.com> + + PR c++/115504 + * semantics.cc (finish_decltype_type): Don't strip the reference + type (if any) of a capture proxy's captured variable. + +2024-06-25 Marek Polacek <polacek@redhat.com> + + PR c++/115476 + * semantics.cc (finish_trait_expr) + <case CPTK_HAS_UNIQUE_OBJ_REPRESENTATIONS>: Move below to call + check_trait_type with kind==2. + +2024-06-25 Marek Polacek <polacek@redhat.com> + + PR c++/115425 + * pt.cc (tsubst_pack_expansion): Return error_mark_node if + make_pack_expansion doesn't work out. + +2024-06-25 Marek Polacek <polacek@redhat.com> + + PR c++/115501 + * rtti.cc (build_dynamic_cast_1): Return if dcast_fn is erroneous. + +2024-06-25 Patrick Palka <ppalka@redhat.com> + + PR c++/115198 + * pt.cc (alias_ctad_tweaks): Update DECL_NAME of the transformed + guides. + +2024-06-25 Patrick Palka <ppalka@redhat.com> + + PR c++/115358 + * decl2.cc (mark_used): Call maybe_instantiate_decl for an array + variable with unknown bound. + * semantics.cc (finish_decltype_type): Remove now redundant + handling of array variables with unknown bound. + * typeck.cc (cxx_sizeof_expr): Likewise. + +2024-06-25 Sandra Loosemore <sloosemore@baylibre.com> + + PR c/115587 + * parser.cc (cp_parser_omp_loop_nest): Move initializations to + point of declaration. + +2024-06-17 Jakub Jelinek <jakub@redhat.com> + + PR target/111343 + PR c++/115511 + * typeck.cc (cp_compare_floating_point_conversion_ranks): If an + extended floating point type mv1 has same set of values as more + than one standard floating point type and mv2 is float, return 2. + +2024-06-13 Jason Merrill <jason@redhat.com> + + PR c++/114683 + * name-lookup.cc (do_nonmember_using_decl): Allow exporting + a newly inserted decl. + +2024-06-13 Jason Merrill <jason@redhat.com> + + PR c++/115194 + * name-lookup.cc (name_lookup::process_module_binding): Strip an + OVERLOAD from a non-function. + +2024-06-13 Jason Merrill <jason@redhat.com> + + * module.cc (depset::hash::add_binding_entity): Adjust comment. + +2024-06-13 Patrick Palka <ppalka@redhat.com> + + PR c++/99678 + * parser.cc (cp_parser_constraint_primary_expression): Diagnose + a bare unresolved unqualified-id. + +2024-06-13 Patrick Palka <ppalka@redhat.com> + + PR c++/115239 + * call.cc (tourney): Don't consider a non-strictly viable + candidate as the champ if there was ambiguity between two + strictly viable candidates. + +2024-06-13 Andi Kleen <ak@linux.intel.com> + + * parser.cc (cp_parser_asm_string_expression): Use correct error + message. + +2024-06-13 Andi Kleen <ak@linux.intel.com> + + * parser.cc (cp_parser_asm_string_expression): Parse close + parent when constexpr extraction fails. + +2024-06-13 Andi Kleen <ak@linux.intel.com> + + * parser.cc (cp_parser_asm_string_expression): Remove support + for const char * for asm constexpr. + +2024-06-13 Patrick Palka <ppalka@redhat.com> + + PR c++/115283 + * decl2.cc (min_vis_expr_r) <case TEMPLATE_DECL>: Ignore + concepts. + +2024-06-12 Jason Merrill <jason@redhat.com> + + * tree.cc (lookup_maybe_add): Use ovl_make when setting OVL_USING_P. + +2024-06-12 Jason Merrill <jason@redhat.com> + + * module.cc (depset::hash::add_binding_entity): Set + DECL_MODULE_PURVIEW_P instead of asserting. + +2024-06-12 Andi Kleen <ak@linux.intel.com> + + * cp-tree.h (extract): Add new overload to return tree. + * parser.cc (cp_parser_asm_string_expression): Use tree extract. + * semantics.cc (cexpr_str::extract): Add new overload to return + tree. + +2024-06-12 David Malcolm <dmalcolm@redhat.com> + + * error.cc (append_formatted_chunk): Move part of body into + chunk_info::append_formatted_chunk. + +2024-06-12 David Malcolm <dmalcolm@redhat.com> + + * cxx-pretty-print.cc: Update throughout for fields of + pretty_printer becoming private. + * error.cc: Likewise. + +2024-06-11 Andi Kleen <ak@linux.intel.com> + + * parser.cc (cp_parser_asm_string_expression): New function + to handle constexpr strings for asm. + (cp_parser_asm_definition): Use cp_parser_asm_string_expression. + (cp_parser_yield_expression): Dito. + (cp_parser_asm_specification_opt): Dito. + (cp_parser_asm_operand_list): Dito. + (cp_parser_asm_clobber_list): Dito. + +2024-06-11 Andi Kleen <ak@linux.intel.com> + + * cp-tree.h (class cexpr_str): Add. + * semantics.cc (finish_static_assert): Convert to use cexpr_str. + (cexpr_str::type_check): Extract constexpr string code to here. + (cexpr_str::extract): ... and here. + +2024-06-08 Simon Martin <simon@nasilyan.com> + + PR c++/108438 + * parser.cc (cp_parser_postfix_expression): Use + cp_parser_require_end_of_template_parameter_list to skip to the closing + '>' upon error parsing the target type of *_cast<*> expressions. + +2024-06-07 Simon Martin <simon@nasilyan.com> + + PR c++/107575 + * decl.cc (duplicate_decls): Check for error_mark_node + DECL_LOCAL_DECL_ALIAS. + +2024-06-07 Jason Merrill <jason@redhat.com> + + * module.cc (maybe_translate_include): Allow before the main file. + +2024-06-07 Patrick Palka <ppalka@redhat.com> + + PR c++/115378 + * lambda.cc (lambda_capture_field_type): Set + TEMPLATE_TYPE_PARAMETER_PACK on the auto type of an init-capture + pack expansion. + * pt.cc (find_parameter_packs_r) <case TEMPLATE_TYPE_PARM>: + Restrict TEMPLATE_TYPE_PARAMETER_PACK promotion with + flag_concepts_ts. + +2024-06-05 Jakub Jelinek <jakub@redhat.com> + Frederik Harwath <frederik@codesourcery.com> + Sandra Loosemore <sandra@codesourcery.com> + + * cp-tree.h (dependent_omp_for_p): Add another tree argument. + * parser.cc (check_omp_intervening_code): Reject imperfectly nested + tile. + (cp_parser_statement_seq_opt): If want_nested_loop, use + cp_parser_next_tokens_can_be_canon_loop instead of just checking + for RID_FOR keyword. + (cp_parser_omp_clause_name): Handle full and partial clause names. + (cp_parser_omp_clause_full, cp_parser_omp_clause_partial): New + functions. + (cp_parser_omp_all_clauses): Formatting fix. Handle + PRAGMA_OMP_CLAUSE_PARTIAL and PRAGMA_OMP_CLAUSE_FULL. + (cp_parser_next_tokens_can_be_canon_loop): New function. + (cp_parser_omp_loop_nest): Parse C++11 attributes. Handle tile/unroll + constructs. Use cp_parser_next_tokens_can_be_canon_loop instead + of just checking for RID_FOR keyword. Only add_stmt + cp_parser_omp_loop_nest result if it is non-NULL. + (cp_parser_omp_for_loop): Rename tiling variable to oacc_tiling. For + OMP_CLAUSE_SIZES set collapse to list length of OMP_CLAUSE_SIZES_LIST. + Use cp_parser_next_tokens_can_be_canon_loop instead of just + checking for RID_FOR keyword. Remove spurious semicolon. Don't call + c_omp_check_loop_binding_exprs if stmt is NULL. Skip and/or handle + generated loops. Remove spurious ()s around & operands. + (cp_parser_omp_tile_sizes, cp_parser_omp_tile): New functions. + (OMP_UNROLL_CLAUSE_MASK): Define. + (cp_parser_omp_unroll): New function. + (cp_parser_omp_construct): Handle PRAGMA_OMP_TILE and + PRAGMA_OMP_UNROLL. + (cp_parser_pragma): Likewise. + * semantics.cc (finish_omp_clauses): Don't call + fold_build_cleanup_point_expr for cases which obviously won't need it, + like checked INTEGER_CSTs. Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES} + and diagnose full vs. partial conflict. Adjust wording of some of the + conflicting clause diagnostic messages to include word clause. + (finish_omp_for): Use decl equal to global_namespace as a marker for + generated loop. Pass also body to dependent_omp_for_p. Skip + generated loops. + (finish_omp_for_block): Skip generated loops. + * pt.cc (tsubst_omp_clauses): Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES}. + (tsubst_stmt): Handle OMP_TILE and OMP_UNROLL. Handle or skip + generated loops. + (dependent_omp_for_p): Add body argument. If declv vector element + is NULL, find generated loop. + * cp-gimplify.cc (cp_gimplify_expr): Handle OMP_TILE and OMP_UNROLL. + (cp_fold_r): Likewise. + (cp_genericize_r): Likewise. Skip generated loops. + +2024-06-04 Simon Martin <simon@nasilyan.com> + + * pt.cc (tsubst_expr): Add missing space after seen_error. + (dependent_type_p): Likewise. + +2024-06-04 Simon Martin <simon@nasilyan.com> + + PR c++/111106 + * pt.cc (dependent_type_p): Don't fail assert during error recovery. + +2024-06-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/115012 + * parser.cc (cp_parser_direct_declarator): Handle + abstract declarator starting with ... followed by opening paren. + +2024-06-02 Simon Martin <simon@nasilyan.com> + + PR c++/109958 + * typeck.cc (build_class_member_access_expr): Handle single OVERLOADs. + (cp_build_addr_expr_1): Likewise. + +2024-06-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114867 + * cp-tree.h (OVL_PURVIEW_P): New. + (ovl_iterator::purview_p): New. + * module.cc (depset::hash::add_binding_entity): Only ignore + entities not within module purview. Set OVL_PURVIEW_P on new + OVERLOADs for emitted declarations. + (module_state::read_cluster): Imported using-decls are always + in purview, mark as OVL_PURVIEW_P. + * name-lookup.h (enum WMB_Flags): New WMB_Purview flag. + * name-lookup.cc (walk_module_binding): Set WMB_Purview as + needed. + (do_nonmember_using_decl): Don't remove from existing OVERLOADs. + Also reveal non-exported decls. Also reveal 'extern "C"' decls. + Add workaround to reveal non-function decls. + * tree.cc (ovl_insert): Adjust to also set OVL_PURVIEW_P when + needed. + +2024-05-29 Jason Merrill <jason@redhat.com> + + PR c++/109753 + * decl.cc (start_preparsed_function): Call decl_attributes. + +2024-05-29 Jason Merrill <jason@redhat.com> + + * lang-specs.h: Add module interface extensions. + +2024-05-29 Patrick Palka <ppalka@redhat.com> + + PR c++/115223 + * tree.cc (build_cp_fntype_variant): Propagate structural + equality of the exception-less variant. + +2024-05-28 Marek Polacek <polacek@redhat.com> + + PR c++/109396 + * cp-tree.h (maybe_warn_self_move): Declare. + * init.cc (perform_member_init): Call maybe_warn_self_move. + * typeck.cc (maybe_warn_self_move): No longer static. Change the + return type to bool. Also warn when called from + a member-initializer-list. Drop the inform call. + +2024-05-28 Marek Polacek <polacek@redhat.com> + + PR c++/114707 + * call.cc (convert_for_arg_passing): Call set_target_expr_eliding. + * typeck2.cc (replace_placeholders_for_class_temp_r): Don't use pset. + (digest_nsdmi_init): Call cp_walk_tree_without_duplicates instead of + cp_walk_tree. + +2024-05-28 David Malcolm <dmalcolm@redhat.com> + + PR bootstrap/115167 + PR bootstrap/115167 + * call.cc: Replace include of "gcc-rich-location.h" with + "c-family/c-type-mismatch.h". + * error.cc: Likewise. + * typeck.cc: Likewise. + +2024-05-25 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/102345 + * module.cc (module_may_redeclare): Update error message. + +2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115200 + * parser.cc (cp_parser_error_1): Special-case unexpected module + directives for better diagnostics. + (cp_parser_module_declaration): Check that the module + declaration is at global scope. + (cp_parser_import_declaration): Sync error message with that in + cp_parser_error_1. + +2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * cp-tree.h (module_has_cmi_p): Also include header units. + (module_maybe_has_cmi_p): Update comment. + * module.cc (set_defining_module): Only need to track + declarations for later exporting if the module may have a CMI. + (set_defining_module_for_partial_spec): Likewise. + * name-lookup.cc (pushdecl): Likewise. + +2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * tree.cc (no_linkage_check): Anonymous types can't be accessed + in a different TU. + +2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114947 + * cp-tree.h (set_defining_module_for_partial_spec): Declare. + * module.cc (trees_in::decl_value): Track partial specs coming + from partitions. + (set_defining_module): Don't track partial specialisations here + anymore. + (set_defining_module_for_partial_spec): New function. + * pt.cc (process_partial_specialization): Call it. + +2024-05-23 Jason Merrill <jason@redhat.com> + + PR c++/115187 + * init.cc (build_delete): Use get_target_expr instead of save_expr. + * tree.cc (stabilize_expr): Update comment. + +2024-05-22 Patrick Palka <ppalka@redhat.com> + + PR c++/115159 + * tree.cc (build_cp_fntype_variant): Always use structural + equality for types with a complex exception specification. + (fixup_deferred_exception_variants): Use structural equality + for adjusted variants. + * typeck.cc (comp_except_specs): Require == instead of + cp_tree_equal for ce_exact noexcept-spec comparison. + +2024-05-22 Nathaniel Shead <nathanieloshead@gmail.com> + + * decl.cc (grokfndecl): Check for main functions with language + linkage or module attachment. + (grokvardecl): Check for extern 'C' entities named main. + +2024-05-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107800 + * cxxapi-data.csv <to_address>: Change dialect to cxx20. + * std-name-hint.gperf: Regenerate. + * std-name-hint.h: Regenerate. + +2024-05-21 Patrick Palka <ppalka@redhat.com> + + PR c++/115139 + * pt.cc (tsubst_expr) <case CONST_DECL>: Exit early if args + is empty. + +2024-05-17 Patrick Palka <ppalka@redhat.com> + + PR c++/115114 + * pt.cc (maybe_aggr_guide): Consider bases in the paren init case. + +2024-05-15 Marek Polacek <polacek@redhat.com> + + PR c++/114854 + * call.cc (convert_like_internal) <case ck_user>: Don't set + TARGET_EXPR_DIRECT_INIT_P. + +2024-05-15 Marek Polacek <polacek@redhat.com> + + DR 1693 + PR c++/113760 + DR 569 + * parser.cc (extra_semi_kind): New. + (maybe_warn_extra_semi): New. + (cp_parser_declaration): Call maybe_warn_extra_semi. + (cp_parser_member_declaration): Likewise. + +2024-05-15 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR lto/113208 + * cp-tree.h (maybe_optimize_cdtor): Remove. + * decl2.cc (tentative_decl_linkage): Call maybe_make_one_only + for implicit instantiations of maybe in charge ctors/dtors + declared inline. + (import_export_decl): Don't call maybe_optimize_cdtor. + (c_parse_final_cleanups): Formatting fixes. + * optimize.cc (can_alias_cdtor): Adjust condition, for + HAVE_COMDAT_GROUP && DECL_ONE_ONLY && DECL_WEAK return true even + if not DECL_INTERFACE_KNOWN. + (maybe_clone_body): Don't clear DECL_SAVED_TREE, instead set it + to void_node. + (maybe_clone_body): Remove. + * decl.cc (cxx_comdat_group): For DECL_CLONED_FUNCTION_P + functions if SUPPORTS_ONE_ONLY return DECL_COMDAT_GROUP if already + set. + +2024-05-15 Jakub Jelinek <jakub@redhat.com> + + PR c/115103 + * semantics.cc (finish_omp_clauses): Diagnose grainsize + used together with num_tasks. + +2024-05-15 Patrick Palka <ppalka@redhat.com> + + PR c++/114994 + * tree.cc (lvalue_kind) <case MODOP_EXPR>: For a class + assignment, consider the result type. + +2024-05-14 Simon Martin <simon-l.martin@laposte.net> + + PR c++/105760 + * pt.cc (build_deduction_guide): Check for error_mark_node + result from tsubst_arg_types. + +2024-05-14 Jason Merrill <jason@redhat.com> + + * decl.cc (wrap_cleanups_r): Clarify comment. + * init.cc (build_vec_init): Update comment. + +2024-05-13 Patrick Palka <ppalka@redhat.com> + + * constraint.cc (norm_info::norm_info): Take a bool instead of + tsubst_flags_t. + (norm_info::generate_diagnostics): Turn this predicate function + into a bool data member. + (normalize_logical_operation): Adjust after norm_info changes. + (normalize_concept_check): Likewise. + (normalize_atom): Likewise. + (get_normalized_constraints_from_info): Likewise. + (normalize_concept_definition): Likewise. + (normalize_constraint_expression): Likewise. + (normalize_placeholder_type_constraints): Likewise. + (satisfy_nondeclaration_constraints): Likewise. + * cp-tree.h (enum tsubst_flags): Remove tf_norm. + +2024-05-13 Ken Matsui <kmatsui@gcc.gnu.org> + + PR c++/115061 + * semantics.cc (finish_trait_expr): Use rank instead of + __array_rank. + +2024-05-13 Patrick Palka <ppalka@redhat.com> + + PR c++/114974 + PR c++/114901 + PR c++/114903 + * pt.cc (maybe_aggr_guide): Fix obtaining TYPE_FIELDS in + the paren init case. Hoist out partial substitution logic + to apply to the paren init case as well. + (alias_ctad_tweaks): Substitute outer template arguments into + a guide's constraints. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __is_nothrow_invocable. + * constraint.cc (diagnose_trait_expr): Handle + CPTK_IS_NOTHROW_INVOCABLE. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __is_invocable. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_INVOCABLE. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + * cp-tree.h (build_invoke): New function. + * method.cc (build_invoke): New function. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __array_rank. + * constraint.cc (diagnose_trait_expr): Handle CPTK_RANK. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __decay. + * semantics.cc (finish_trait_type): Handle CPTK_DECAY. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __add_rvalue_reference. + * semantics.cc (finish_trait_type): Handle + CPTK_ADD_RVALUE_REFERENCE. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __add_lvalue_reference. + * semantics.cc (finish_trait_type): Handle + CPTK_ADD_LVALUE_REFERENCE. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __remove_all_extents. + * semantics.cc (finish_trait_type): Handle + CPTK_REMOVE_ALL_EXTENTS. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __remove_extent. + * semantics.cc (finish_trait_type): Handle CPTK_REMOVE_EXTENT. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __add_pointer. + * semantics.cc (finish_trait_type): Handle CPTK_ADD_POINTER. + (object_type_p): New function. + (referenceable_type_p): Likewise. + (trait_expr_value): Use object_type_p. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __is_unbounded_array. + * constraint.cc (diagnose_trait_expr): Handle + CPTK_IS_UNBOUNDED_ARRAY. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2024-05-10 Jakub Jelinek <jakub@redhat.com> + + PR target/114968 + * cp-tree.h (atexit_fn_ptr_type_node, cleanup_type): Adjust macro + comments. + (get_cxa_atexit_fn_ptr_type): Declare. + * decl.cc (get_atexit_fn_ptr_type): Adjust function comment, only + build type for atexit argument. + (get_cxa_atexit_fn_ptr_type): New function. + (get_atexit_node): Call get_cxa_atexit_fn_ptr_type rather than + get_atexit_fn_ptr_type when using __cxa_atexit. + (get_thread_atexit_node): Call get_cxa_atexit_fn_ptr_type + rather than get_atexit_fn_ptr_type. + (start_cleanup_fn): Add ob_parm argument, call + get_cxa_atexit_fn_ptr_type or get_atexit_fn_ptr_type depending + on it and create PARM_DECL also based on that argument. + (register_dtor_fn): Adjust start_cleanup_fn caller, use + get_cxa_atexit_fn_ptr_type rather than get_atexit_fn_ptr_type + for use_dtor casts. + * except.cc (build_throw): Use get_cxa_atexit_fn_ptr_type (). + +2024-05-09 Marek Polacek <polacek@redhat.com> + + PR c++/114983 + * pt.cc (tsubst_expr) <case SIZEOF_EXPR>: Use copy_warning. + * semantics.cc (finish_parenthesized_expr): Also suppress + -Wsizeof-array-div. + +2024-05-09 Marek Polacek <polacek@redhat.com> + + PR c++/85889 + * lambda.cc (add_capture): Add a pedwarn for capturing structured + bindings. + +2024-05-08 Marek Polacek <polacek@redhat.com> + + PR c++/113582 + * parser.cc (cp_parser_label_for_labeled_statement): suppress_warning + if it's not enabled at input_location. + * pt.cc (tsubst_stmt): Call copy_warning. + +2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114856 + * call.cc (make_temporary_var_for_ref_to_temp): Set context for + temporaries with linkage. + * init.cc (create_temporary_var): Revert to only set context + when in a function decl. + +2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR c++/89224 + * constexpr.cc (cxx_eval_array_reference): Compare main variants + for the vector/array types instead of the types directly. + +2024-05-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/114459 + * parser.cc (cp_parser_member_declaration): Implement C++26 + P2893R3 - Variadic friends. Parse friend type declarations + with ... or with more than one friend type specifier. + * friend.cc (make_friend_class): Allow TYPE_PACK_EXPANSION. + * pt.cc (instantiate_class_template): Handle PACK_EXPANSION_P + in friend classes. + +2024-05-07 Marek Polacek <polacek@redhat.com> + + * decl.cc (duplicate_decls): Don't check VAR_P before + DECL_DECOMPOSITION_P. + * init.cc (build_aggr_init): Likewise. + * parser.cc (cp_parser_range_for): Likewise. + (do_range_for_auto_deduction): Likewise. + (cp_convert_range_for): Likewise. + (cp_convert_omp_range_for): Likewise. + (cp_finish_omp_range_for): Likewise. + * pt.cc (extract_locals_r): Likewise. + (tsubst_omp_for_iterator): Likewise. + (tsubst_decomp_names): Likewise. + (tsubst_stmt): Likewise. + * typeck.cc (maybe_warn_about_returning_address_of_local): Likewise. + +2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * Make-lang.in (cc1plus$(exeext)): Remove $(NETLIBS). + +2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114954 + * cp-tree.h (IS_FAKE_BASE_TYPE): Also apply to unions. + +2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114275 + * cp-tree.h (remove_defining_module): Declare. + * decl.cc (duplicate_decls): Call remove_defining_module on + to-be-freed newdecl. + * module.cc (imported_temploid_friends): Mark as GTY root... + (init_modules): ...and allocate from ggc. + (trees_in::decl_value): Only track for declarations that won't + be discarded. + (remove_defining_module): New function. + +2024-05-06 Qing Zhao <qing.zhao@oracle.com> + + PR c/53548 + * decl.cc (layout_var_decl): Handle the cases when the DECL is + union with a flexible array member initializer. + +2024-05-06 Qing Zhao <qing.zhao@oracle.com> + + PR c/53548 + * class.cc (diagnose_flexarrays): Change error to pdewarn for the case + flexible array members alone in structures. + * decl.cc (grokdeclarator): Change error to pdewarn for the case + flexible array members in unions. + +2024-05-03 Jason Merrill <jason@redhat.com> + + PR c++/114935 + * cp-gimplify.cc (cp_genericize_init): Add flags parm. + (cp_genericize_init_expr): Pass nullptr. + (cp_genericize_target_expr): Handle cleanup flags. + * typeck2.cc (build_disable_temp_cleanup): Factor out of... + (split_nonconstant_init): ...here. + * cp-tree.h (build_disable_temp_cleanup): Declare. + +2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __is_pointer. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_POINTER. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __is_volatile. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_VOLATILE. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> + + * cp-trait.def: Define __is_const. + * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_CONST. + * semantics.cc (trait_expr_value): Likewise. + (finish_trait_expr): Likewise. + +2024-05-03 Patrick Palka <ppalka@redhat.com> + + * coroutines.cc (instantiate_coro_traits): Adjust call to + lookup_template_class. + (instantiate_coro_handle_for_promise_type): Likewise. + * cp-tree.h (adjust_type_for_entering_scope): Declare. + (lookup_template_class): Adjust declaration. + * decl.cc (make_typename_type): Adjust call to + lookup_template_class. Likewise. + (get_tuple_size): Likewise. + (get_tuple_element_type): Likewise. + * pt.cc (adjust_type_for_entering_scope): Define. + (tsubst_entering_scope): Define. + (lookup_template_class): Remove entering_scope parameter. + Replace tsubst_aggr_type call with tsubst_entering_scope. + (tsubst_aggr_type): Remove. + (tsubst_aggr_type_1): Inline into tsubst. + (tsubst_function_decl): Replace tsubst_aggr_type call + with tsubst_entering_scope. + (tsubst_template_decl): Likewise. + (tsubst_decl): Likewise. + (tsubst) <case RECORD_TYPE, UNION_TYPE, ENUMERAL_TYPE>: + Inlined from tsubst_aggr_type_1. + <case BOUND_TEMPLATE_TEMPLATE_PARM>: Adjust calls to + lookup_template_class. + <case TYPENAME_TYPE>: Replace tsubst_aggr_type call with + tsubst_entering_scope. + <case UNBOUND_CLASS_TEMPLATE>: Likewise. + Increment processing_template_decl when substituting the + context. + (tsubst_expr) <case FIELD_DECL>: Replace tsubst_aggr_type + call with tsubst_entering_scope. + <case TEMPLATE_DECL>: Likewise. + (instantiate_template): Likewise. + (resolve_typename_type): Adjust lookup_template_class call + and call adjust_type_for_entering_scope afterward. + (listify): Adjust lookup_template_class call. + (alias_ctad_tweaks): Likewise. + * semantics.cc (finish_template_type): Adjust lookup_template_class + call and maybe call adjust_type_for_entering_scope afterward. + +2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114917 + * parser.cc (cp_parser_declaration_seq_opt): Clear + parser->in_unbraced_* flags when parsing toplevel declarations. + +2024-05-02 Jakub Jelinek <jakub@redhat.com> + + PR c++/114458 + * parser.cc (cp_parser_pure_specifier): Implement C++26 P2573R2 + - = delete("should have a reason");. Parse deleted-function-body. + * decl.cc (duplicate_decls): Copy DECL_INITIAL from DECL_DELETED_FN + olddecl to newdecl if it is a STRING_CST. + (cp_finish_decl): Handle deleted init with a reason. + * decl2.cc: Include "escaped_string.h". + (grokfield): Handle deleted init with a reason. + (mark_used): Emit DECL_DELETED_FN reason in the message if any. + * cp-tree.h (DECL_DELETED_FN): Document representation of + = delete("reason") on a DECL. + +2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114630 + * module.cc (depset::hash::add_partial_entities): Mark GM + specializations as unreached. + (depset::hash::find_dependencies): Also reach entities in the + DECL_TEMPLATE_SPECIALIZATIONS list. + +2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/105224 + * class.cc (finish_struct_1): Also push classes attached to a + module into the 'keyed_classes' list. + * decl.cc (record_key_method_defined): Don't push classes + attached to a named module into the 'keyed_classes' list. + * module.cc (trees_in::read_class_def): Likewise. + * decl2.cc (import_export_class): Uniquely emit vtables for + non-template classes attached to a named module. + (vtables_uniquely_emitted): New function. + (import_export_decl): Update comments. Update with knowledge + about new kinds of uniquely emitted vtables. + +2024-05-01 Jason Merrill <jason@redhat.com> + + * cp-tree.h (base_ctor_identifier): Adjust comment. + * call.cc (in_charge_arg_for_name): Abort on deleting dtor. + * decl2.cc (maybe_retrofit_in_chrg): Don't add it for + destructors without vbases, either. + * constexpr.cc (cxx_eval_call_expression): Remove workaround. + +2024-05-01 Jason Merrill <jason@redhat.com> + + PR c++/113706 + * decl.cc (decls_match): Handle memchr return type being + const-qualified. + +2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> + + * name-lookup.cc (walk_module_binding): Use the + partition-specific hidden flag instead of the top-level + decl_hidden. + +2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114868 + * module.cc (depset::hash::add_binding_entity): Propagate + OVL_USING_P for using-declarations. + +2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/107688 + * name-lookup.cc (push_namespace): Error when exporting + namespace with internal linkage. + * parser.h (struct cp_parser): Add new flag + 'in_unbraced_export_declaration_p'. + * parser.cc (cp_debug_parser): Print the new flag. + (cp_parser_new): Initialise the new flag. + (cp_parser_module_export): Set the new flag. + (cp_parser_class_specifier): Clear and restore the new flag. + (cp_parser_import_declaration): Imports can now appear directly + in a linkage specification. + (cp_parser_declaration): Categorise declarations as "name" or + "special"; error on the later in contexts where the former is + required. + (cp_parser_class_head): Error when exporting a partial + specialisation. + +2024-04-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/114456 + * parser.cc (cp_parser_decomposition_declaration): Implement C++26 + P0609R3 - Attributes for Structured Bindings. Parse attributed + identifier lists for structured binding declarations, pass the + attributes to start_decl. + +2024-04-30 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/105320 + PR c++/114275 + * cp-tree.h (propagate_defining_module): Declare. + (lookup_imported_hidden_friend): Declare. + * decl.cc (duplicate_decls): Also check if hidden decls can be + redeclared in this module. + * module.cc (imported_temploid_friends): New. + (init_modules): Initialize it. + (trees_out::decl_value): Write it; don't consider imported + temploid friends as attached to a module. + (trees_in::decl_value): Read it. + (get_originating_module_decl): Follow the owning decl for an + imported temploid friend. + (propagate_defining_module): New. + * name-lookup.cc (get_mergeable_namespace_binding): New. + (lookup_imported_hidden_friend): New. + * pt.cc (tsubst_friend_function): Propagate defining module for + new friend functions. + (tsubst_friend_class): Lookup imported hidden friends. Check + for valid module attachment of existing names. Propagate + defining module for new classes. + +2024-04-30 Nathaniel Shead <nathanieloshead@gmail.com> + + * cp-tree.h (module_may_redeclare): Add default parameter. + * decl.cc (duplicate_decls): Don't emit errors for failed + module_may_redeclare. + (xref_tag): Likewise. + (start_enum): Likewise. + * semantics.cc (begin_class_definition): Likewise. + * module.cc (module_may_redeclare): Clean up logic. Emit error + messages on failure. + +2024-04-30 Patrick Palka <ppalka@redhat.com> + + PR c++/114889 + * module.cc (trees_in::read_class_def): Look through + TEMPLATE_DECL when adding to CLASSTYPE_BEFRIENDING_CLASSES. + +2024-04-30 Patrick Palka <ppalka@redhat.com> + + PR c++/114888 + * typeck.cc (cp_build_binary_op) <case *_DIV_*>: Add missing + dependence check for the second sizeof operand. + +2024-04-26 Patrick Palka <ppalka@redhat.com> + + * error.cc (print_instantiation_partial_context_line): Clear the + pretty printer prefix around the call to diagnostic_show_locus. + +2024-04-25 Jakub Jelinek <jakub@redhat.com> + + PR c++/111284 + * constexpr.cc (cxx_bind_parameters_in_call): For PARM_DECLs with + TREE_ADDRESSABLE types use vc_glvalue rather than vc_prvalue for + cxx_eval_constant_expression and if it doesn't have the same + type as it should, cast the reference type to reference to type + before convert_from_reference and instead of adjust_temp_type + take address of the arg, cast to reference to type and then + convert_from_reference. + (cxx_eval_constant_expression) <case PARM_DECL>: For lval case + on parameters with TREE_ADDRESSABLE types lookup result in + ctx->globals if possible. Otherwise if lookup in ctx->globals + was successful for parameter with TREE_ADDRESSABLE type, + recurse with vc_prvalue on the returned value. + +2024-04-25 Jakub Jelinek <jakub@redhat.com> + + PR lto/113208 + * cp-tree.h (maybe_optimize_cdtor): Declare. + * decl2.cc (import_export_decl): Call it for cloned cdtors. + * optimize.cc (maybe_optimize_cdtor): New function. + +2024-04-24 Patrick Palka <ppalka@redhat.com> + + PR c++/114709 + * constexpr.cc (cxx_fold_indirect_ref): Restrict object/offset + canonicalization to RECORD_TYPE member accesses. + +2024-04-23 Nathaniel Shead <nathanieloshead@gmail.com> + + * parser.cc (cp_parser_parameter_declaration): Check if + decl_specifiers.type is null. + +2024-04-23 Patrick Palka <ppalka@redhat.com> + + PR c++/114795 + * module.cc (trees_in::is_matching_decl): Propagate deduced + function return type. + +2024-04-23 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_using_declaration): Spelling fix: favour + -> favor. + +2024-04-23 Jakub Jelinek <jakub@redhat.com> + + PR c++/114784 + * method.cc (implicitly_declare_fn): Call clone_attrs + on DECL_ATTRIBUTES on STRIP_TEMPLATE (inherited_ctor) rather than + inherited_ctor. Also copy DECL_DISREGARD_INLINE_LIMITS flag from it. + +2024-04-23 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114078 + * decl.cc (grokdeclarator): Check allocation functions for xobj + parameters. + +2024-04-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/114706 + * constexpr.cc (check_bit_cast_type): Handle ARRAY_TYPE. + +2024-04-15 Nathaniel Shead <nathanieloshead@gmail.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/114600 + * module.cc (depset::hash::add_binding_entity): Require both + WMB_Using and WMB_Export for GMF entities. + +2024-04-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/106820 + * module.cc (trees_in::decl_value): Assemble alias when needed. + +2024-04-13 Patrick Palka <ppalka@redhat.com> + + * module.cc (struct bytes_in::bits_in): Define defaulted + move ctor. + (struct bytes_out::bits_out): Likewise. + +2024-04-13 Patrick Palka <ppalka@redhat.com> + + * module.cc: Update comment about classes defined within. + (class data): Enclose in an anonymous namespace. + (data::calc_crc): Moved from bytes::calc_crc. + (class bytes): Remove. Move bit_flush to namespace scope. + (class bytes_in): Enclose in an anonymous namespace. Inherit + directly from data and adjust accordingly. Move b and bflush + members to bits_in. + (class bytes_out): As above. Remove is_set static data member. + (bit_flush): Moved from class bytes. + (struct bytes_in::bits_in): Define. + (struct bytes_out::bits_out): Define. + (bytes_in::stream_bits): Define. + (bytes_out::stream_bits): Define. + (bytes_out::bflush): Moved to bits_out/in. + (bytes_in::bflush): Likewise + (bytes_in::bfill): Removed. + (bytes_out::b): Moved to bits_out/in. + (bytes_in::b): Likewise. + (class trees_in): Enclose in an anonymous namespace. + (class trees_out): Enclose in an anonymous namespace. + (trees_out::core_bools): Add bits_out/in parameter and use it. + Unconditionally stream a bit for public_flag. Add early exits + as appropriate. + (trees_out::core_bools): Likewise. + (trees_out::lang_decl_bools): Add bits_out/in parameter and use + it. Flush the current bit buffer at the start. Unconditionally + stream a bit for module_keyed_decls_p. + (trees_in::lang_decl_bools): Likewise. + (trees_out::lang_type_bools): Add bits_out/in parameter and use + it. Flush the current bit buffer at the start. + (trees_in::lang_type_bools): Likewise. + (trees_out::tree_node_bools): Construct a bits_out object and + use/pass it. + (trees_in::tree_node_bools): Likewise. + (trees_out::decl_value): Likewise. + (trees_in::decl_value): Likewise. + (module_state::write_define): Likewise. + (module_state::read_define): Likewise. + +2024-04-12 Marek Polacek <polacek@redhat.com> + + PR c++/109966 + * typeck2.cc (potential_prvalue_result_of): Remove. + (replace_placeholders_for_class_temp_r): Check TARGET_EXPR_ELIDING_P. + Use a pset. Don't replace_placeholders in TARGET_EXPRs that initialize + a function argument. + +2024-04-12 Patrick Palka <ppalka@redhat.com> + + PR c++/99426 + * module.cc (merge_kind::MK_local_type): New enumerator. + (merge_kind_name): Update. + (trees_out::chained_decls): Move BLOCK-specific handling + of DECL_LOCAL_DECL_P decls to ... + (trees_out::core_vals) <case BLOCK>: ... here. Stream + BLOCK_VARS manually. + (trees_in::core_vals) <case BLOCK>: Stream BLOCK_VARS + manually. Handle deduplicated local types.. + (trees_out::key_local_type): Define. + (trees_in::key_local_type): Define. + (trees_out::get_merge_kind) <case FUNCTION_DECL>: Return + MK_local_type for a local type. + (trees_out::key_mergeable) <case FUNCTION_DECL>: Use + key_local_type. + (trees_in::key_mergeable) <case FUNCTION_DECL>: Likewise. + (trees_in::is_matching_decl): Be flexible with type mismatches + for local entities. + (trees_in::register_duplicate): Also register the + DECL_TEMPLATE_RESULT of a TEMPLATE_DECL as a duplicate. + (depset_cmp): Return 0 for equal IDENTIFIER_HASH_VALUEs. + +2024-04-12 Jason Merrill <jason@redhat.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/113141 + * call.cc (reference_binding): For an invalid cast, warn and don't + recalculate. + +2024-04-12 Jason Merrill <jason@redhat.com> + Patrick Palka <ppalka@redhat.com> + + DR 1996 + PR c++/113141 + * call.cc (reference_binding): Check direct binding from + a single-element list. + +2024-04-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/114691 + * semantics.cc (simplify_loop_decl_cond): Use cp_build_unary_op with + TRUTH_NOT_EXPR on ANNOTATE_EXPR argument (if any) rather than + ANNOTATE_EXPR itself. + +2024-04-12 Patrick Palka <ppalka@redhat.com> + + PR c++/114393 + * pt.cc (tsubst_lambda_expr): Also defer all dependent + substitution. + +2024-04-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/114426 + * constexpr.cc (is_valid_constexpr_fn): Return false/diagnose with + complain destructors in classes with virtual bases. + +2024-04-12 Patrick Palka <ppalka@redhat.com> + + PR c++/114393 + PR c++/107457 + PR c++/93595 + * cp-tree.h (LAMBDA_EXPR_EXTRA_ARGS): Define. + (tree_lambda_expr::extra_args): New field. + * module.cc (trees_out::core_vals) <case LAMBDA_EXPR>: Stream + LAMBDA_EXPR_EXTRA_ARGS. + (trees_in::core_vals) <case LAMBDA_EXPR>: Likewise. + * pt.cc (has_extra_args_mechanism_p): Return true for LAMBDA_EXPR. + (tree_extra_args): Handle LAMBDA_EXPR. + (tsubst_lambda_expr): Use LAMBDA_EXPR_EXTRA_ARGS to defer templated + substitution into a lambda-expr if we lost the template context. + Add sanity check for error_mark_node result from begin_lambda_type. + +2024-04-11 Patrick Palka <ppalka@redhat.com> + + PR c++/114303 + * constraint.cc (tsubst_requires_expr): Clear + REQUIRES_EXPR_EXTRA_ARGS before calling build_extra_args. + * pt.cc (tree_extra_args): Define. + (extract_locals_r): Assert *_EXTRA_ARGS is empty. + (tsubst_stmt) <case IF_STMT>: Clear IF_SCOPE on the new + IF_STMT. Call build_extra_args on the new IF_STMT instead + of t which might already have IF_STMT_EXTRA_ARGS. + +2024-04-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/114409 + * pt.cc (tsubst_expr) <case ANNOTATE_EXPR>: Move to ... + (tsubst_stmt) <case ANNOTATE_EXPR>: ... here. Use tsubst_expr + instead of RECUR for the last 2 arguments. + +2024-04-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/114462 + * semantics.cc: Implement C++26 P2809R3 - Trivial infinite + loops are not Undefined Behavior. + (maybe_warn_for_constant_evaluated): Add trivial_infinite argument + and emit special diagnostics for that case. + (finish_if_stmt_cond): Adjust caller. + (finish_loop_cond): New function. + (finish_while_stmt): Use it. + (finish_do_stmt): Likewise. + (finish_for_stmt): Likewise. + +2024-04-10 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/104040 + * semantics.cc (expand_or_defer_fn_1): Keep DECL_SAVED_TREE for + all vague linkage cdtors with modules. + +2024-04-10 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99377 + * module.cc (trees_in::install_entity): Overwrite entity map + index if installing from a partition. + +2024-04-09 Jakub Jelinek <jakub@redhat.com> + + PR c++/114580 + * semantics.cc (finish_if_stmt_cond): Call + maybe_warn_for_constant_evaluated with IF_STMT_CONSTEXPR_P (if_stmt) + as the second argument, rather than true/false depending on if + it is if constexpr with non-dependent constant expression with + bool type. + +2024-04-09 Jakub Jelinek <jakub@redhat.com> + + * constexpr.cc (build_new_constexpr_heap_type): Fix duplicated words + in comment; is is -> is. + * cp-tree.def (CO_RETURN_EXPR): Fix duplicated words in comment; + for for -> for. + * parser.cc (fixup_blocks_walker): Fix duplicated words in comment; + is is -> is. + * semantics.cc (fixup_template_type): Fix duplicated words in comment; + for for -> for. + (finish_omp_for): Fix duplicated words in comment; the the -> the. + * pt.cc (more_specialized_fn): Fix duplicated words in comment; + think think -> think. + (type_targs_deducible_from): Fix duplicated words in comment; the the + -> the. + +2024-04-05 Marek Polacek <polacek@redhat.com> + + PR c++/111132 + * constexpr.cc (get_function_named_in_call): Use + cp_get_fndecl_from_callee. + * cvt.cc (cp_get_fndecl_from_callee): If there's a + DECL_LOCAL_DECL_ALIAS, use it. + +2024-04-05 Jakub Jelinek <jakub@redhat.com> + + PR c++/114572 + * cp-gimplify.cc (cxx_omp_clause_apply_fn): Call build_cplus_new + on build_call_a result if it has class type. + +2024-04-04 centurion <centurion009@proton.me> + + PR c++/114377 + * pt.cc (find_template_parameter_info::found): Use TREE_TYPE for + TEMPLATE_DECL instead of DECL_INITIAL. + +2024-04-02 Marek Polacek <polacek@redhat.com> + + PR c++/114479 + * semantics.cc (trait_expr_value) <case CPTK_IS_ARRAY>: Return false + for zero-sized arrays. + +2024-04-02 Marek Polacek <polacek@redhat.com> + + PR c++/103825 + * typeck.cc (is_bitfield_expr_with_lowered_type): Handle + CLEANUP_POINT_EXPR. + +2024-04-02 Jason Merrill <jason@redhat.com> + + PR c++/114561 + PR c++/114562 + * call.cc (convert_like_internal): Avoid adding qualification + conversion in direct reference binding. + +2024-04-01 Jason Merrill <jason@redhat.com> + + * typeck.cc (maybe_warn_about_returning_address_of_local): + Permerror in C++26. + +2024-03-28 Jason Merrill <jason@redhat.com> + + PR c++/100667 + * semantics.cc (same_type_ref_bind_p): New. + (finish_trait_expr): Use it. + +2024-03-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/112724 + * error.cc (dump_expr): Handle EXCESS_PRECISION_EXPR like NOP_EXPR. + +2024-03-25 Marek Polacek <polacek@redhat.com> + + PR c++/114349 + * name-lookup.cc (maybe_push_to_top_level): For a non-lambda, + don't push to top level if decl_function_context is non-null. + * pt.cc (maybe_instantiate_noexcept): Use maybe_push_to_top_level. + +2024-03-25 Marek Polacek <polacek@redhat.com> + + PR c++/114439 + * init.cc (can_init_array_with_p): Return true for a VEC_INIT_EXPR + wrapped in a TARGET_EXPR. + +2024-03-22 Marek Polacek <polacek@redhat.com> + + PR c++/59465 + * init.cc (can_init_array_with_p): New. + (perform_member_init): Check it. + +2024-03-21 Marek Polacek <polacek@redhat.com> + + PR c++/110323 + * decl2.cc (min_vis_expr_r) <case VAR_DECL>: Do nothing for + decl_constant_var_p VAR_DECLs. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + * coroutines.cc (expand_one_await_expression): Use + integer_zero_node instead of build_int_cst (integer_type_node, 0) + and integer_one_node instead of build_int_cst (integer_type_node, 1). + +2024-03-19 Nathaniel Shead <nathanieloshead@gmail.com> + + * cp-tree.h (module_maybe_has_cmi_p): New function. + * decl.cc (grokfndecl): Mark block-scope functions as public if + they could be visible in other TUs. + * decl2.cc (no_linkage_error): Don't error for declarations that + could be defined in other TUs since C++20. Suppress duplicate + errors from 'check_global_declaration'. + * tree.cc (no_linkage_check): In relaxed mode, don't consider + types in a module CMI to have no linkage. + +2024-03-16 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/112631 + * cp-tree.h (named_module_attach_p): New function. + * decl.cc (start_decl): Check for attachment not purview. + (grokmethod): Likewise. + +2024-03-14 Chung-Lin Tang <cltang@baylibre.com> + + * parser.cc (cp_parser_oacc_data_clause): Add parsing support for + 'readonly' modifier, set OMP_CLAUSE_MAP_READONLY if readonly modifier + found, update comments. + (cp_parser_oacc_cache): Add parsing support for 'readonly' modifier, + set OMP_CLAUSE__CACHE__READONLY if readonly modifier found, update + comments. + +2024-03-12 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/98645 + PR c++/98688 + PR c++/111224 + * module.cc (enum tree_tag): Add new tag for builtin types. + (trees_out::start): POLY_INT_CSTs can be emitted. + (trees_in::start): Likewise. + (trees_out::core_vals): Stream POLY_INT_CSTs. + (trees_in::core_vals): Likewise. + (trees_out::type_node): Handle vectors with multiple coeffs. + (trees_in::tree_node): Likewise. + (init_modules): Register target-specific builtin types. Bump + initial capacity slightly. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + * pt.cc (tsubst_expr): Handle MEM_REF. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + PR debug/113918 + * cp-objcp-common.cc (cp_type_dwarf_attribute): Return 1 + for DW_AT_export_symbols on anonymous structs or unions. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/113802 + * parser.cc (cp_parser_parameter_declaration): Move the xobj_param_p + pack diagnostics after ellipsis handling and if an error is reported, + pretend this specifier didn't appear. Formatting fix. + +2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114229 + * module.cc (trees_out::core_bools): Redetermine + DECL_INTERFACE_KNOWN on stream-in for vtables and tinfo. + * decl2.cc (import_export_decl): Add fixme for ABI changes with + module vtables and tinfo. + +2024-03-07 Patrick Palka <ppalka@redhat.com> + + PR c++/103994 + * cp-tree.h (add_mergeable_specialization): Remove second + parameter. + * module.cc (depset::disc_bits::DB_ALIAS_TMPL_INST_BIT): Remove. + (depset::disc_bits::DB_ALIAS_SPEC_BIT): Remove. + (depset::is_alias_tmpl_inst): Remove. + (depset::is_alias): Remove. + (merge_kind::MK_tmpl_alias_mask): Remove. + (merge_kind::MK_alias_spec): Remove. + (merge_kind_name): Remove entries for alias specializations. + (trees_out::core_vals) <case TEMPLATE_DECL>: Adjust after + removing is_alias_tmpl_inst. + (trees_in::decl_value): Adjust add_mergeable_specialization + calls. + (trees_out::get_merge_kind) <case depset::EK_SPECIALIZATION>: + Use MK_decl_spec for alias template specializations. + (trees_out::key_mergeable): Simplify after MK_tmpl_alias_mask + removal. + (depset::hash::make_dependency): Adjust after removing + DB_ALIAS_TMPL_INST_BIT. + (specialization_add): Don't allow alias templates when !decl_p. + (depset::hash::add_specializations): Remove now-dead code + accomodating alias template specializations in the type table. + * pt.cc (lookup_template_class): Dispatch early to + instantiate_alias_template for alias templates. Simplify + accordingly. + (add_mergeable_specialization): Remove alias_p parameter and + simplify accordingly. + +2024-03-07 Patrick Palka <ppalka@redhat.com> + + PR c++/110730 + PR c++/105512 + * module.cc (module_state::write_namespaces): Stream the + abi_tag attribute of an inline namespace. + (module_state::read_namespaces): Likewise. + +2024-03-07 Marek Polacek <polacek@redhat.com> + + PR c++/110031 + * pt.cc (lookup_and_finish_template_variable): Pass complain to + mark_used. + +2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/98356 + * typeck2.cc (cxx_incomplete_type_diagnostic): Don't assume + 'member' will be a FUNCTION_DECL (or something like it). + +2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/98881 + * module.cc (trees_out::tpl_parms_fini): Stream out DECL_CONTEXT + for template template parameters. + (trees_in::tpl_parms_fini): Read it. + +2024-03-06 Marek Polacek <polacek@redhat.com> + + PR c++/114114 + * pt.cc (maybe_instantiate_noexcept): Save/restore + cp_unevaluated_operand, c_inhibit_evaluation_warnings, and + cp_noexcept_operand around the tsubst_expr call. + +2024-03-06 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113629 + * pt.cc (type_unification_real): Only use DEDUCE_CONV for the + return type of a conversion function. + +2024-03-06 Patrick Palka <ppalka@redhat.com> + + * module.cc (trees_out::get_merge_kind) <case depset::EK_DECL>: + Accomodate class-scope DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P + TEMPLATE_DECL. Consolidate IDENTIFIER_ANON_P cases. + +2024-03-05 Patrick Palka <ppalka@redhat.com> + + * parser.cc (cp_parser_translation_unit): Relax GMF contents + error into a pedwarn. + +2024-03-04 Nathaniel Shead <nathanieloshead@gmail.com> + + * name-lookup.cc (walk_module_binding): Remove completed FIXME. + (do_nonmember_using_decl): Mark redeclared entities as exported + when needed. Check for re-exporting internal linkage types. + +2024-03-01 Patrick Palka <ppalka@redhat.com> + + PR c++/104919 + PR c++/106009 + * module.cc (depset::hash::sneakoscope): Remove. + (trees_out::decl_node): Always add a dependency on a local type. + (depset::hash::find_dependencies): Remove sneakoscope stuff. + +2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114170 + * module.cc (has_definition): Fall back to DECL_INITIALIZED_P + when DECL_INITIAL is not set on a template. + (module_state::write_inits): Only increment count when + initializers are actually written. + +2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114005 + * init.cc (create_temporary_var): Use current_scope instead of + current_function_decl. + +2024-03-01 Patrick Palka <ppalka@redhat.com> + + * decl.cc (maybe_register_incomplete_var): Restrict second + branch to static data members from a not-yet-complete class. + +2024-03-01 Marek Polacek <polacek@redhat.com> + + PR c++/110358 + PR c++/109642 + * call.cc (no_dangling_p): New. + (reference_like_class_p): Use it. + (do_warn_dangling_reference): Use it. Don't warn when the function + or its enclosing class has attribute gnu::no_dangling. + * tree.cc (cxx_gnu_attributes): Add gnu::no_dangling. + (handle_no_dangling_attribute): New. + +2024-03-01 Patrick Palka <ppalka@redhat.com> + + PR c++/110025 + PR c++/114138 + * cp-tree.h (make_cast_auto): Declare. + * parser.cc (cp_parser_functional_cast): If the type is an auto, + replace it with a level-less one via make_cast_auto. + * pt.cc (find_parameter_packs_r): Don't treat level-less auto + as a type parameter pack. + (tsubst) <case TEMPLATE_TYPE_PARM>: Generalize CTAD placeholder + auto handling to all level-less autos. + (make_cast_auto): Define. + (do_auto_deduction): Handle replacement of a level-less auto. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + + PR c++/92687 + * decl.cc (lookup_decomp_type): Return NULL_TREE if decomp_type_table + doesn't have entry for V. + * semantics.cc (finish_decltype_type): If ptds.saved, assert + DECL_HAS_VALUE_EXPR_P is true and decide on tuple vs. non-tuple based + on if lookup_decomp_type is NULL or not. + +2024-02-29 Marek Polacek <polacek@redhat.com> + + PR c++/113987 + * call.cc (conv_binds_to_reference_parm_p): New. + * cp-tree.h (conv_binds_to_reference_parm_p): Declare. + * init.cc (find_uninit_fields_r): Call it. + +2024-02-29 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/111710 + * cp-tree.h (DECL_MODULE_KEYED_DECLS_P): Remove tree checking. + (struct lang_decl_base): Update comments and fix whitespace. + * module.cc (trees_out::lang_decl_bools): Always write + module_keyed_decls_p flag... + (trees_in::lang_decl_bools): ...and always read it. + (trees_out::decl_value): Handle all kinds of keyed decls. + (trees_in::decl_value): Likewise. + (trees_in::tree_value): Deduplicate LAMBDA_EXPRs. + (maybe_key_decl): Also support lambdas attached to fields, + parameters, and types. Key lambdas attached to fields to their + class. + (trees_out::get_merge_kind): Likewise. + (trees_out::key_mergeable): Likewise. + (trees_in::key_mergeable): Support keyed decls in a TYPE_DECL + container. + * parser.cc (cp_parser_class_head): Start a lambda scope when + parsing base classes. + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/113976 + * decl.cc (grokdeclarator): Don't call cp_apply_type_quals_to_decl + on DECL_TEMPLATE_INSTANTIATED VAR_DECLs. + +2024-02-28 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113970 + PR c++/114013 + * decl.cc (make_rtl_for_nonlocal_decl): Don't defer inline + variables. + +2024-02-23 Jakub Jelinek <jakub@redhat.com> + + PR c++/113083 + * cp-gimplify.cc (cp_fold): For targetm.cxx.cdtor_returns_this () + wrap r into a COMPOUND_EXPR and return folded CALL_EXPR_ARG (x, 0). + +2024-02-19 Patrick Palka <ppalka@redhat.com> + + PR c++/113966 + * constraint.cc (tsubst_compound_requirement): Don't check + the noexcept condition or the return-type-requirement when + partially substituting. + +2024-02-17 Marek Polacek <polacek@redhat.com> + + PR c++/113158 + * search.cc (maybe_check_overriding_exception_spec): Defer checking + when a noexcept couldn't be instantiated & evaluated to false/true. + +2024-02-16 Marek Polacek <polacek@redhat.com> + + DR 1351 + * search.cc (maybe_check_overriding_exception_spec): Don't error about + a looser exception specification if the overrider is deleted. + +2024-02-16 Marek Polacek <polacek@redhat.com> + + PR c++/113789 + PR c++/113853 + * typeck.cc (treat_lvalue_as_rvalue_p): Update code to better + reflect [expr.prim.id.unqual]#4.2. + +2024-02-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/113929 + * parser.cc (cp_parser_parameter_declaration): Diagnose this specifier + on template parameter declaration. + +2024-02-16 Patrick Palka <ppalka@redhat.com> + + * module.cc (trees_out::core_bools): Stream TREE_UNAVAILABLE. + (trees_in::core_bools): Likewise. + (trees_out::core_vals): Stream LAMBDA_EXPR_REGEN_INFO. + (trees_in::core_vals): Likewise. + +2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113708 + * decl.cc (make_rtl_for_nonlocal_decl): Defer inline variables. + * decl2.cc (import_export_decl): Support inline variables. + +2024-02-14 Patrick Palka <ppalka@redhat.com> + + PR c++/113908 + PR c++/113332 + * method.cc (synthesized_method_walk): Use maybe_push_to_top_level. + +2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99573 + * decl.cc (start_enum): Reorder check for redeclaring in module. + Add missing auto_diagnostic_groups. + +2024-02-13 Marek Polacek <polacek@redhat.com> + + DR 1693 + PR c++/113760 + * parser.cc (cp_parser_member_declaration): Only pedwarn about an extra + semicolon in C++98. + +2024-02-13 Tobias Burnus <tburnus@baylibre.com> + + PR middle-end/113904 + * parser.cc (cp_parser_omp_context_selector): Handle splitting of + OMP_TRAIT_PROPERTY_EXPR into OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. + +2024-02-13 Patrick Palka <ppalka@redhat.com> + + * Make-lang.in (CFLAGS-cp/module.o): Add $(ZLIBINC). + * module.cc: Include <zlib.h>. + (bytes::calc_crc): Use crc32 from zlib. + (bytes_out::set_crc): Use crc32_combine from zlib. + +2024-02-13 Patrick Palka <ppalka@redhat.com> + + * module.cc (depset::hash::add_specializations): Use + STRIP_TEMPLATE consistently. + (get_originating_module_decl): Handle class-scope CONST_DECL. + +2024-02-13 Patrick Palka <ppalka@redhat.com> + + * lambda.cc (lambda_function): Call get_class_binding_direct + instead of lookup_member to sidestep lazy loading. + * name-lookup.cc (check_local_shadow): Punt if we're in a + function context that's not actual parsing. + +2024-02-13 Jason Merrill <jason@redhat.com> + + PR c++/113612 + * pt.cc (process_partial_specialization): Return early + on redeclaration. + +2024-02-13 Marek Polacek <polacek@redhat.com> + + PR c++/112436 + * except.cc (expand_start_catch_block): Pass tf_warning_or_error to + is_admissible_throw_operand_or_catch_parameter. + (build_throw): Pass complain to + is_admissible_throw_operand_or_catch_parameter. + (complete_ptr_ref_or_void_ptr_p): Add a tsubst_flags_t parameter. Use + it. Return bool. Call complete_type_or_maybe_complain instead of + complete_type_or_else. + (is_admissible_throw_operand_or_catch_parameter): Add a tsubst_flags_t + parameter. Use it. Guard error calls. + +2024-02-13 Alex Coplan <alex.coplan@arm.com> + + PR c++/113658 + * cp-objcp-common.cc (cp_feature_table): Remove entry for + cxx_constexpr_string_builtins. + +2024-02-12 Marek Polacek <polacek@redhat.com> + + PR c++/113545 + * constexpr.cc (cxx_eval_switch_expr): If the condition doesn't reduce + to an INTEGER_CST, consider it non-constant. + +2024-02-10 Marek Polacek <polacek@redhat.com> + + DR 2237 + PR c++/107126 + PR c++/97202 + * parser.cc (cp_parser_unqualified_id): Downgrade the DR2237 error to + a pedwarn. + (cp_parser_constructor_declarator_p): Likewise. + +2024-02-10 Jakub Jelinek <jakub@redhat.com> + + * tree.cc (debug_binfo): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld" + and casts to long. + * pt.cc (print_template_statistics): Use HOST_SIZE_T_PRINT_DEC + and casts to fmt_size_t instead of "%ld" and casts to long. + * class.cc (dump_class_hierarchy_1): Use HOST_WIDE_INT_PRINT_UNSIGNED + instead of "%lu" and casts to unsigned long. For TYPE_ALIGN, use + %u instead of %lu and drop casts to unsigned long. + * parser.cc (cp_lexer_peek_nth_token): Use HOST_SIZE_T_PRINT_DEC + and casts to fmt_size_t instead of "%ld" and casts to long. + +2024-02-09 Marek Polacek <polacek@redhat.com> + + PR c++/113834 + * semantics.cc (finish_type_pack_element): Perform range checking + before tree_to_shwi. + +2024-02-09 Marek Polacek <polacek@redhat.com> + + PR c++/98388 + * coroutines.cc (coro_rewrite_function_body): Pass tf_warning_or_error + to build_throw. + (morph_fn_to_coro): Likewise. + * cp-tree.h (build_throw): Adjust. + * except.cc (expand_end_catch_block): Pass tf_warning_or_error to + build_throw. + (build_throw): Add a tsubst_flags_t parameter. Use it. Remove + redundant variable. Guard an inform call. + * parser.cc (cp_parser_throw_expression): Pass tf_warning_or_error + to build_throw. + * pt.cc (tsubst_expr) <case THROW_EXPR>: Pass complain to build_throw. + +2024-02-09 Patrick Palka <ppalka@redhat.com> + + PR c++/112580 + * module.cc (trees_in::read_class_def): When streaming in + an anonymous union field of an as-base class, don't overwrite + ANON_AGGR_TYPE_FIELD. + +2024-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/113649 + * pt.cc (do_class_deduction): Add outer_targs parameter. + Substitute outer arguments into the CTAD template. + (do_auto_deduction): Pass outer_targs to do_class_deduction. + +2024-02-08 Jason Merrill <jason@redhat.com> + + * pt.cc (create_template_parm_object): Pass TARGET_EXPR to + cxx_constant_value. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/113788 + * parser.cc (CP_PARSER_FLAGS_PARAMETER): New enumerator. + (cp_parser_decl_specifier_seq): Parse RID_THIS only if + CP_PARSER_FLAGS_PARAMETER is set in flags. + (cp_parser_parameter_declaration): Or in CP_PARSER_FLAGS_PARAMETER + when calling cp_parser_decl_specifier_seq. + +2024-02-06 Marek Polacek <polacek@redhat.com> + + * method.cc (early_check_defaulted_comparison): Add + auto_diagnostic_group. + +2024-02-06 Jason Merrill <jason@redhat.com> + + PR c++/107291 + * method.cc (early_check_defaulted_comparison): Fail if not friend. + +2024-02-05 Jason Merrill <jason@redhat.com> + + PR c++/111286 + * tree.cc (rvalue): Don't drop cv-quals from an array. + +2024-02-03 Patrick Palka <ppalka@redhat.com> + + PR c++/110006 + PR c++/112769 + * constraint.cc (subst_info::quiet): Accomodate non-diagnostic + tsubst flags. + (tsubst_valid_expression_requirement): Likewise. + (tsubst_simple_requirement): Return a substituted _REQ node when + processing_template_decl. + (tsubst_type_requirement_1): Accomodate non-diagnostic tsubst + flags. + (tsubst_type_requirement): Return a substituted _REQ node when + processing_template_decl. + (tsubst_compound_requirement): Likewise. Accomodate non-diagnostic + tsubst flags. + (tsubst_nested_requirement): Likewise. + (tsubst_requires_expr): Don't defer partial substitution when + processing_constraint_expression_p is true, in which case return + a substituted REQUIRES_EXPR. + * pt.cc (tsubst_expr) <case REQUIRES_EXPR>: Accomodate + non-diagnostic tsubst flags. + +2024-02-02 Jason Merrill <jason@redhat.com> + + PR c++/110084 + * pt.cc (tsubst_function_decl): Only check a function defaulted + outside the class if the class is complete. + +2024-02-02 Jason Merrill <jason@redhat.com> + + PR c++/112439 + * constexpr.cc (cxx_eval_store_expression): Check empty_base + before marking a CONSTRUCTOR readonly. + +2024-02-02 Jason Merrill <jason@redhat.com> + + PR c++/113638 + * cp-tree.h: Adjust comment. + * pt.cc (instantiate_template): Set VAR_HAD_UNKNOWN_BOUND for + variable template. + +2024-02-01 Marek Polacek <polacek@redhat.com> + + * call.cc (reference_like_class_p): Consider even non-templates for + std::span-like classes. + +2024-02-01 Patrick Palka <ppalka@redhat.com> + + PR c++/112737 + * pt.cc (iterative_hash_template_arg) <case TEMPLATE_DECL>: + Adjust hashing to match cp_tree_equal. + (ctp_hasher::hash): Also hash CLASS_PLACEHOLDER_TEMPLATE. + * tree.cc (cp_tree_equal) <case TEMPLATE_DECL>: Return true + for ttp TEMPLATE_DECLs if their TEMPLATE_TEMPLATE_PARMs are + equivalent. + * typeck.cc (structural_comptypes) <case TEMPLATE_TYPE_PARM>: + Use cp_tree_equal to compare CLASS_PLACEHOLDER_TEMPLATE. + +2024-02-01 Marek Polacek <polacek@redhat.com> + + PR c++/112437 + * typeck.cc (treat_lvalue_as_rvalue_p): Bail out on sk_namespace in + the move on throw of parms loop. + +2024-01-30 Marek Polacek <polacek@redhat.com> + + PR c++/110358 + PR c++/109640 + * call.cc (reference_like_class_p): Don't warn for std::span-like + classes. + +2024-01-30 Patrick Palka <ppalka@redhat.com> + + PR c++/113640 + * call.cc (keep_unused_object_arg): Punt for an xobj member + function. + +2024-01-30 Patrick Palka <ppalka@redhat.com> + + PR c++/113644 + * pt.cc (unify) <case INTEGER_CST>: Handle NULL_TREE type. + +2024-01-30 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/107594 + * module.cc (get_module): Bail on empty name. + +2024-01-29 Jason Merrill <jason@redhat.com> + + PR c++/113544 + * pt.cc (instantiate_class_template): Don't partially instantiate. + (tsubst_stmt): Likewise. + +2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113580 + * module.cc (struct post_process_data): Create. + (trees_in::post_decls): Use. + (trees_in::post_process): Return entire vector at once. + Change overload to take post_process_data instead of tree. + (trees_out::write_function_def): Write needed flags from + DECL_STRUCT_FUNCTION. + (trees_in::read_function_def): Read them and pass to + post_process. + (module_state::read_cluster): Write flags into cfun. + +2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/112899 + * cp-tree.h (note_variable_template_instantiation): Rename to... + (note_vague_linkage_variable): ...this. + * decl2.cc (note_variable_template_instantiation): Rename to... + (note_vague_linkage_variable): ...this. + * pt.cc (instantiate_decl): Rename usage of above function. + * module.cc (trees_in::read_var_def): Remember pending statics + that we stream in. + +2024-01-25 Jakub Jelinek <jakub@redhat.com> + + PR c++/113599 + * typeck2.cc (build_m_component_ref): Use convert instead of + cp_convert for pointer conversion. + +2024-01-25 Jason Merrill <jason@redhat.com> + + PR c++/113598 + * init.cc (build_vec_init): Don't use {} for PMF. + +2024-01-25 Jason Merrill <jason@redhat.com> + + PR c++/109227 + * coroutines.cc (build_co_await): Use cxx_maybe_build_cleanup. + (build_actor_fn, process_conditional, maybe_promote_temps) + (morph_fn_to_coro): Likewise. + (expand_one_await_expression): Use build_cleanup. + +2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113405 + * module.cc (set_defining_module): Track partial specialisations + for all declarations. + +2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/100707 + * name-lookup.cc (add_imported_namespace): Don't mark namespaces + as imported. + +2024-01-24 Patrick Palka <ppalka@redhat.com> + + PR c++/113529 + * call.cc (add_operator_candidates): Propagate error_mark_node + result after recursing to find rewritten candidates. + +2024-01-23 Marek Polacek <polacek@redhat.com> + + PR c++/113256 + PR c++/111607 + PR c++/109640 + * call.cc (do_warn_dangling_reference): Don't warn if the temporary + is of lambda type. + +2024-01-23 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/112820 + PR c++/102607 + * module.cc (trees_out::lang_type_bools): Write interface_only + and interface_unknown. + (trees_in::lang_type_bools): Read the above flags. + (trees_in::decl_value): Reset CLASSTYPE_INTERFACE_* except for + extern templates. + (trees_in::read_class_def): Remove buggy extern template + handling. + +2024-01-19 Jason Merrill <jason@redhat.com> + + PR c++/113498 + * pt.cc (decl_template_info): New fn. + (get_template_info): Use it. + +2024-01-19 Jason Merrill <jason@redhat.com> + + PR c++/112632 + PR c++/112594 + PR c++/111357 + PR c++/104594 + PR c++/67898 + * cp-tree.h (IMPLICIT_CONV_EXPR_FORCED): New. + * pt.cc (expand_integer_pack): Remove 111357 workaround. + (maybe_convert_nontype_argument): Add force parm. + (convert_template_argument): Handle alias template args + specially. + (tsubst_expr): Don't ignore IMPLICIT_CONV_EXPR_NONTYPE_ARG. + * error.cc (dump_expr) [CASE_CONVERT]: Handle null optype. + +2024-01-18 Marek Polacek <polacek@redhat.com> + + PR c++/113389 + * decl.cc (grokdeclarator) <case cdk_function>: Set TREE_PURPOSE to + NULL_TREE when emitting an error. + +2024-01-17 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/112588 + * module.cc (trees_in::read_function_def): Don't overwrite + arguments. + +2024-01-17 Patrick Palka <ppalka@redhat.com> + + PR c++/113242 + PR c++/99493 + * pt.cc (invalid_tparm_referent_p) <case ADDR_EXPR>: Suppress + DECL_ARTIFICIAL rejection test for class NTTP objects. + +2024-01-16 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113292 + * decl2.cc (get_tls_wrapper_fn): Set DECL_CONTEXT. + (c_parse_final_cleanups): Suppress warning for no definition of + TLS wrapper functions in header modules. + * module.cc (trees_out::lang_decl_vals): Write wrapped variable + for TLS wrapper functions. + (trees_in::lang_decl_vals): Read it. + (trees_out::decl_value): Write TLS model for thread-local vars. + (trees_in::decl_value): Read it for new decls. Remember to emit + definitions of TLS wrapper functions later. + +2024-01-16 Nathaniel Shead <nathanieloshead@gmail.com> + + * name-lookup.h (enum scope_kind): Add 'sk_count'. + * name-lookup.cc (cp_binding_level_descriptor): Add missing + scope kinds. Add assertion that the list is up to date. Fix + handling of explicit_spec_p. + +2024-01-16 Marek Polacek <polacek@redhat.com> + + * decl.cc (grokdeclarator) <case cdk_function>: Tweak diagnostic + messages. + +2024-01-16 Marek Polacek <polacek@redhat.com> + + PR c++/113340 + * decl.cc (grokdeclarator) <case cdk_function>: Clear + is_xobj_member_function in case of an error. + +2024-01-16 waffl3x <waffl3x@protonmail.com> + + PR c++/113307 + * parser.cc (cp_parser_parameter_declaration): Reject packs + on xobj params. + +2024-01-15 Marek Polacek <polacek@redhat.com> + + PR c++/110065 + * parser.cc (cp_parser_template_type_arg): Add auto checking. + +2024-01-15 Patrick Palka <ppalka@redhat.com> + + * parser.cc (cp_parser_check_access_in_redeclaration): Don't + check access for a partial or explicit specialization. + * pt.cc (maybe_new_partial_specialization): Don't set TREE_PRIVATE + or TREE_PROTECTED on the newly created partial specialization. + +2024-01-15 Patrick Palka <ppalka@redhat.com> + + PR c++/104634 + * pt.cc (maybe_new_partial_specialization): Propagate TREE_PUBLIC + to the newly created partial specialization. + +2024-01-15 Patrick Palka <ppalka@redhat.com> + + PR c++/109899 + * init.cc (build_vec_delete_1): Assume expr_noexcept_p returns + false in a template context. + +2024-01-13 Jakub Jelinek <jakub@redhat.com> + + * mangle.cc (write_nested_name): Mangle explicit object + member functions with H as per + https://github.com/itanium-cxx-abi/cxx-abi/issues/148 non-proposal. + +2024-01-12 Jason Merrill <jason@redhat.com> + + PR c++/113038 + * name-lookup.cc (lookup_elaborated_type): Look for bindings + in the global namespace in the ABI namespace. + +2024-01-12 Jason Merrill <jason@redhat.com> + + * call.cc (reversed_match): New. + (enum class pmatch): New enum. + (cand_parms_match): Add match_kind parm. + (object_parms_correspond): Add fn parms. + (joust): Adjust. + * class.cc (xobj_iobj_parameters_correspond): Rename to... + (iobj_parm_corresponds_to): ...this. Take the other + type instead of a second function. + (object_parms_correspond): Adjust. + * cp-tree.h (iobj_parm_corresponds_to): Declare. + +2024-01-11 Jason Merrill <jason@redhat.com> + + PR c++/113191 + * class.cc (xobj_iobj_parameters_correspond): Add context parm. + (object_parms_correspond): Factor out of... + (add_method): ...here. + * method.cc (defaulted_late_check): Use it. + * call.cc (class_of_implicit_object): New. + (object_parms_correspond): Overload taking two candidates. + (cand_parms_match): Use it. + (joust): Check reversed before comparing constraints. + * cp-tree.h (object_parms_correspond): Declare. + +2024-01-10 Tamar Christina <tamar.christina@arm.com> + + * parser.cc (cp_parser_pragma): Initialize to false. + +2024-01-09 Jason Merrill <jason@redhat.com> + + * semantics.cc (is_object_parameter): New. + * cp-tree.h (is_object_parameter): Declare. + * call.cc (maybe_warn_class_memaccess): Use it. + * search.cc (field_access_p): Use it. + (class_of_object_parm): New. + (field_accessor_p): Adjust for explicit object parms. + +2024-01-09 Jason Merrill <jason@redhat.com> + + * call.cc (build_over_call): Refactor handle_arg lambda. + * class.cc (xobj_iobj_parameters_correspond): Fix FIXME. + * method.cc (defaulted_late_check): Adjust comments. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + + PR c++/102609 + PR c++/102609 + C++23 P0847R7 (deducing this) - CWG2586. + * decl.cc (copy_fn_p): Accept xobj copy assignment functions. + (move_signature_fn_p): Accept xobj move assignment functions. + * method.cc (do_build_copy_assign): Handle defaulted xobj member + functions. + (defaulted_late_check): Comment. + (defaultable_fn_check): Comment. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + + PR c++/102609 + PR c++/102609 + C++23 P0847R7 (deducing this) - xobj lambdas. + * lambda.cc (build_capture_proxy): Don't fold direct object types. + * parser.cc (cp_parser_lambda_declarator_opt): Handle xobj lambdas, + diagnostics. Comments also updated. + * pt.cc (tsubst_function_decl): Handle xobj lambdas. Check object + type of xobj lambda call operator, diagnose incorrect types. + (tsubst_lambda_expr): Update comment. + * semantics.cc (finish_decltype_type): Also consider by-value object + parameter qualifications. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + + PR c++/102609 + PR c++/102609 + C++23 P0847R7 (deducing this) - diagnostics. + * class.cc (resolve_address_of_overloaded_function): Diagnostics. + * cp-tree.h (TFF_XOBJ_FUNC): Define. + * decl.cc (grokfndecl): Diagnostics. + (grokdeclarator): Diagnostics. + * error.cc (dump_aggr_type): Pass TFF_XOBJ_FUNC. + (dump_lambda_function): Formatting for xobj lambda. + (dump_function_decl): Pass TFF_XOBJ_FUNC. + (dump_parameters): Formatting for xobj member functions. + (function_category): Formatting for xobj member functions. + * parser.cc (cp_parser_decl_specifier_seq): Diagnostics. + (cp_parser_parameter_declaration): Diagnostics. + * search.cc (look_for_overrides_here): Make xobj member functions + override. + (look_for_overrides_r): Reject an overriding xobj member function + and diagnose it. + * semantics.cc (finish_this_expr): Diagnostics. + * typeck.cc (cp_build_addr_expr_1): Diagnostics. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + + PR c++/102609 + PR c++/102609 + C++23 P0847R7 (deducing this) - initial functionality. + * class.cc (xobj_iobj_parameters_correspond): New function, checks + for corresponding object parameters between xobj and iobj member + functions. + (add_method): Handle object parameters of xobj member functions, use + xobj_iobj_parameters_correspond. + * call.cc (build_over_call): Refactor, handle xobj member functions. + (cand_parms_match): Handle object parameters of xobj and iobj member + functions, use xobj_iobj_parameters_correspond. + * cp-tree.h (enum cp_decl_spec): Add ds_this, add comments. + * decl.cc (grokfndecl): Add xobj_func_p parameter. For xobj member + functions, Set xobj_flag, don't set static_function flag. + (grokdeclarator): Handle xobj member functions, tell grokfndecl. + (grok_op_properties): Don't error for xobj operators. + * parser.cc (cp_parser_decl_specifier_seq): Handle this specifier. + (cp_parser_parameter_declaration): Set default argument to + "this_identifier" for xobj parameters. + (set_and_check_decl_spec_loc): Add "this", add comments. + * tree.cc (build_min_non_dep_op_overload): Handle xobj operators. + * typeck.cc (cp_build_addr_expr_1): Handle address-of xobj member + functions. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + Jason Merrill <jason@redhat.com> + + PR c++/102609 + * cp-tree.h (struct lang_decl_fn): New data member. + (DECL_NONSTATIC_MEMBER_FUNCTION_P): Poison. + (DECL_IOBJ_MEMBER_FUNCTION_P): Define. + (DECL_FUNCTION_XOBJ_FLAG): Define. + (DECL_XOBJ_MEMBER_FUNCTION_P): Define. + (DECL_OBJECT_MEMBER_FUNCTION_P): Define. + (DECL_FUNCTION_MEMBER_P): Don't use + DECL_NONSTATIC_MEMBER_FUNCTION_P. + (DECL_CONST_MEMFUNC_P): Likewise. + (DECL_VOLATILE_MEMFUNC_P): Likewise. + (DECL_NONSTATIC_MEMBER_P): Likewise. + * module.cc (trees_out::lang_decl_bools): Handle xobj_flag. + (trees_in::lang_decl_bools): Handle xobj_flag. + * call.cc (build_this_conversion) + (add_function_candidate) + (add_template_candidate_real) + (add_candidates) + (maybe_warn_class_memaccess) + (cand_parms_match) + (joust) + (do_warn_dangling_reference) + * class.cc (finalize_literal_type_property) + (finish_struct) + (resolve_address_of_overloaded_function) + * constexpr.cc (is_valid_constexpr_fn) + (cxx_bind_parameters_in_call) + * contracts.cc (build_contract_condition_function) + * cp-objcp-common.cc (cp_decl_dwarf_attribute) + * cxx-pretty-print.cc (cxx_pretty_printer::postfix_expression) + (cxx_pretty_printer::declaration_specifiers) + (cxx_pretty_printer::direct_declarator) + * decl.cc (cp_finish_decl) + (grok_special_member_properties) + (start_preparsed_function) + (record_key_method_defined) + * decl2.cc (cp_handle_deprecated_or_unavailable) + * init.cc (find_uninit_fields_r) + (build_offset_ref) + * lambda.cc (lambda_expr_this_capture) + (maybe_generic_this_capture) + (nonlambda_method_basetype) + * mangle.cc (write_nested_name) + * method.cc (early_check_defaulted_comparison) + (skip_artificial_parms_for) + (num_artificial_parms_for) + * pt.cc (is_specialization_of_friend) + (determine_specialization) + (copy_default_args_to_explicit_spec) + (check_explicit_specialization) + (tsubst_contract_attribute) + (check_non_deducible_conversions) + (more_specialized_fn) + (maybe_instantiate_noexcept) + (register_parameter_specializations) + (value_dependent_expression_p) + * search.cc (shared_member_p) + (lookup_member) + (field_access_p) + * semantics.cc (finish_omp_declare_simd_methods) + * tree.cc (lvalue_kind) + * typeck.cc (invalid_nonstatic_memfn_p): Don't use + DECL_NONSTATIC_MEMBER_FUNCTION_P. + +2024-01-09 Julian Brown <julian@codesourcery.com> + + * constexpr.cc (potential_consant_expression_1): Handle + OMP_ARRAY_SECTION. + * cp-tree.h (grok_omp_array_section, build_omp_array_section): Add + prototypes. + * decl2.cc (grok_omp_array_section): New function. + * error.cc (dump_expr): Handle OMP_ARRAY_SECTION. + * parser.cc (cp_parser_new): Initialize parser->omp_array_section_p. + (cp_parser_statement_expr): Disallow array sections. + (cp_parser_postfix_open_square_expression): Support OMP_ARRAY_SECTION + parsing. + (cp_parser_parenthesized_expression_list, cp_parser_lambda_expression, + cp_parser_braced_list): Disallow array sections. + (cp_parser_omp_var_list_no_open): Remove ALLOW_DEREF parameter, add + MAP_LVALUE in its place. Support generalised lvalue parsing for + OpenMP map, to and from clauses. Use OMP_ARRAY_SECTION + code instead of TREE_LIST to represent OpenMP array sections. + (cp_parser_omp_var_list): Remove ALLOW_DEREF parameter, add MAP_LVALUE. + Pass to cp_parser_omp_var_list_no_open. + (cp_parser_oacc_data_clause): Update call to cp_parser_omp_var_list. + (cp_parser_omp_clause_map): Add sk_omp scope around + cp_parser_omp_var_list_no_open call. + * parser.h (cp_parser): Add omp_array_section_p field. + * pt.cc (tsubst, tsubst_copy, tsubst_omp_clause_decl, + tsubst_copy_and_build): Add OMP_ARRAY_SECTION support. + * semantics.cc (handle_omp_array_sections_1, handle_omp_array_sections, + cp_oacc_check_attachments, finish_omp_clauses): Use OMP_ARRAY_SECTION + instead of TREE_LIST where appropriate. Handle more types of map + expression. + * typeck.cc (build_omp_array_section): New function. + +2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> + + * module.cc (trees_out::write_var_def): Only write initializers + in header modules. + +2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/109679 + * module.cc (depset::hash::add_binding_entity): Don't skip names + in the GMF if they've been exported with a using declaration. + +2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/110808 + * parser.cc (cp_parser_module_name): Rewrite to handle + module-names and module-partitions independently. + (cp_parser_module_partition): New function. + (cp_parser_module_declaration): Parse module partitions + explicitly. Don't change state if parsing module decl failed. + (cp_parser_import_declaration): Handle different kinds of + import-declarations locally. + +2024-01-03 Patrick Palka <ppalka@redhat.com> + + PR c++/113064 + * call.cc (reference_binding): Still try a conversion via a + temporary if a direct conversion was bad. + +2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com> + + * parser.cc (cp_parser_omp_clause_name): Move handling of indirect + clause to correspond to alphabetical order. + +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 +notice and this notice are preserved. diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index e51cd8ad0627..501b0062a9c4 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,294 +1,5 @@ -2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR bootstrap/117737 - * d-attribs.cc (INCLUDE_MEMORY): Remove. - * d-builtins.cc (INCLUDE_MEMORY): Remove. - * d-codegen.cc (INCLUDE_MEMORY): Remove. - * d-convert.cc (INCLUDE_MEMORY): Remove. - * d-diagnostic.cc (INCLUDE_MEMORY): Remove. - * d-frontend.cc (INCLUDE_MEMORY): Remove. - * d-lang.cc (INCLUDE_MEMORY): Remove. - * d-longdouble.cc (INCLUDE_MEMORY): Remove. - * d-target.cc (INCLUDE_MEMORY): Remove. - * decl.cc (INCLUDE_MEMORY): Remove. - * expr.cc (INCLUDE_MEMORY): Remove. - * intrinsics.cc (INCLUDE_MEMORY): Remove. - * modules.cc (INCLUDE_MEMORY): Remove. - * toir.cc (INCLUDE_MEMORY): Remove. - * typeinfo.cc (INCLUDE_MEMORY): Remove. - * types.cc (INCLUDE_MEMORY): Remove. - -2024-10-29 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * d-diagnostic.cc (d_diagnostic_report_diagnostic): Update for - m_printer becoming reference printer. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - Gaius Mulley <gaiusmod2@gmail.com> - - PR other/116613 - * d-attribs.cc: Add #define INCLUDE_MEMORY. - * d-builtins.cc: Likewise. - * d-codegen.cc: Likewise. - * d-convert.cc: Likewise. - * d-diagnostic.cc: Likewise. - * d-frontend.cc: Likewise. - * d-lang.cc: Likewise. - * d-longdouble.cc: Likewise. - * d-target.cc: Likewise. - * decl.cc: Likewise. - * expr.cc: Likewise. - * intrinsics.cc: Likewise. - * modules.cc: Likewise. - * toir.cc: Likewise. - * typeinfo.cc: Likewise. - * types.cc: Likewise. - -2024-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR other/116801 - * lang.opt.urls: Regenerate. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - * d-diagnostic.cc (d_diagnostic_report_diagnostic): Update for - renaming of diagnostic_info field. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * d-diagnostic.cc (d_diagnostic_report_diagnostic): Rename - diagnostic_context's "printer" field to "m_printer". - -2024-09-02 Richard Sandiford <richard.sandiford@arm.com> - - * toir.cc (IRVisitor): Rename ASM_INPUT_P to ASM_BASIC_P. - -2024-07-21 Sam James <sam@gentoo.org> - - * Make-lang.in (WARN_DFLAGS): Drop NOCOMMON_FLAG. - -2024-06-05 Kewen Lin <linkw@linux.ibm.com> - Iain Buclaw <ibuclaw@gdcproject.org> - - * d-target.cc (Target::_init): Use int_size_in_bytes of - long_double_type_node to replace the expression with - LONG_DOUBLE_TYPE_SIZE for c.long_doublesize assignment. - -2024-04-19 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/111650 - * decl.cc (get_fndecl_arguments): Move generation of frame type to ... - (DeclVisitor::visit (FuncDeclaration *)): ... here, after the call to - build_closure. - -2024-04-06 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd b65767825f. - * dmd/VERSION: Bump version to v2.108.0. - -2024-03-17 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 855353a1d9. - * dmd/VERSION: - -2024-03-10 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/112285 - PR d/112290 - * d-target.cc (Target::preferPassByRef): Return true for all static - array and struct types. - -2024-03-03 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd f8bae04558. - * dmd/VERSION: Bump version to v2.108.0-beta.1. - * d-builtins.cc (build_frontend_type): Update for new front-end - interface. - * d-codegen.cc (build_assert_call): Likewise. - * d-convert.cc (d_array_convert): Likewise. - * decl.cc (get_vtable_decl): Likewise. - * expr.cc (ExprVisitor::visit (EqualExp *)): Likewise. - (ExprVisitor::visit (VarExp *)): Likewise. - (ExprVisitor::visit (ArrayLiteralExp *)): Likewise. - (ExprVisitor::visit (AssocArrayLiteralExp)): Likewise. - * intrinsics.cc (build_shuffle_mask_type): Likewise. - (maybe_warn_intrinsic_mismatch): Likewise. - * runtime.cc (get_libcall_type): Likewise. - * typeinfo.cc (TypeInfoVisitor::layout_string): Likewise. - (TypeInfoVisitor::visit(TypeInfoTupleDeclaration *)): Likewise. - -2024-03-03 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/114171 - * d-codegen.cc (lower_struct_comparison): Keep alignment of original - type in reinterpret cast for comparison. - -2024-02-25 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd ceff48bf7d. - -2024-02-17 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd 9471b25db9. - * dmd/VERSION: Bump version to v2.107.1-rc.1. - * Make-lang.in (D_FRONTEND_OBJS): Add d/cxxfrontend.o. - * d-attribs.cc (build_attributes): Update for new front-end interface. - * d-builtins.cc (build_frontend_type): Likewise. - (strip_type_modifiers): Likewise. - (covariant_with_builtin_type_p): Likewise. - * d-codegen.cc (declaration_type): Likewise. - (parameter_type): Likewise. - (build_array_struct_comparison): Likewise. - (void_okay_p): Likewise. - * d-convert.cc (convert_expr): Likewise. - (check_valist_conversion): Likewise. - * d-lang.cc (d_generate_ddoc_file): Likewise. - (d_parse_file): Likewise. - * d-target.cc (TargetCPP::toMangle): Likewise. - (TargetCPP::typeInfoMangle): Likewise. - (TargetCPP::thunkMangle): Likewise. - (TargetCPP::parameterType): Likewise. - * decl.cc (d_mangle_decl): Likewise. - (DeclVisitor::visit): Likewise. - (DeclVisitor::visit (CAsmDeclaration *)): New method. - (get_symbol_decl): Update for new front-end interface. - (layout_class_initializer): Likewise. - * expr.cc (ExprVisitor::visit): Likewise. - * intrinsics.cc (maybe_set_intrinsic): Likewise. - (expand_intrinsic_rotate): Likewise. - * modules.cc (layout_moduleinfo_fields): Likewise. - (layout_moduleinfo): Likewise. - * runtime.cc (get_libcall_type): Likewise. - * typeinfo.cc (make_frontend_typeinfo): Likewise. - (TypeInfoVisitor::visit): Likewise. - (create_typeinfo): Likewise. - * types.cc (same_type_p): Likewise. - (build_ctype): Likewise. - -2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/113125 - * types.cc (TypeVisitor::visit (TypeStruct *)): Generate TYPE_DECL and - apply UDAs to opaque struct declarations. - -2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/113772 - * dmd/MERGE: Merge upstream dmd 11240a9663. - * d-builtins.cc (build_frontend_type): Update for new front-end - interface. - * types.cc (same_type_p): Likewise. - -2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/113758 - * d-codegen.cc (d_build_call): Force a TARGET_EXPR when callee - destorys its arguments. - * decl.cc (DeclVisitor::visit (VarDeclaration *)): Set - SET_DECL_VALUE_EXPR on the temporary variable to make it a placeholder - for the TARGET_EXPR_SLOT. - -2024-02-04 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd a6f1083699. - * dmd/VERSION: Bump version to v2.107.0 - * Make-lang.in (D_FRONTEND_OBJS): Add d/pragmasem.o. - * d-builtins.cc (strip_type_modifiers): Update for new front-end - interface. - * d-codegen.cc (declaration_type): Likewise. - (parameter_type): Likewise. - * d-target.cc (TargetCPP::parameterType): Likewise. - * expr.cc (ExprVisitor::visit (IndexExp *)): Likewise. - (ExprVisitor::visit (VarExp *)): Likewise. - (ExprVisitor::visit (AssocArrayLiteralExp *)): Likewise. - * runtime.cc (get_libcall_type): Likewise. - * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoConstDeclaration *)): - Likewise. - (TypeInfoVisitor::visit (TypeInfoInvariantDeclaration *)): Likewise. - (TypeInfoVisitor::visit (TypeInfoSharedDeclaration *)): Likewise. - (TypeInfoVisitor::visit (TypeInfoWildDeclaration *)): Likewise. - * types.cc (build_ctype): Likewise. - -2024-02-03 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd e770945277. - * Make-lang.in (D_FRONTEND_OBJS): Add d/basicmangle.o, d/enumsem.o, - d/funcsem.o, d/templatesem.o. - * d-builtins.cc (build_frontend_type): Update for new front-end - interface. - * d-codegen.cc (declaration_type): Likewise. - (parameter_type): Likewise. - * d-incpath.cc (add_globalpaths): Likewise. - (add_filepaths): Likewise. - (add_import_paths): Likewise. - * d-lang.cc (d_init_options): Likewise. - (d_handle_option): Likewise. - (d_parse_file): Likewise. - * decl.cc (DeclVisitor::finish_vtable): Likewise. - (DeclVisitor::visit (FuncDeclaration *)): Likewise. - (get_symbol_decl): Likewise. - * expr.cc (ExprVisitor::visit (StringExp *)): Likewise. - Implement support for 8-byte hexadecimal strings. - * typeinfo.cc (create_tinfo_types): Update internal TypeInfo - representation. - (TypeInfoVisitor::visit (TypeInfoConstDeclaration *)): Update for new - front-end interface. - (TypeInfoVisitor::visit (TypeInfoInvariantDeclaration *)): Likewise. - (TypeInfoVisitor::visit (TypeInfoSharedDeclaration *)): Likewise. - (TypeInfoVisitor::visit (TypeInfoWildDeclaration *)): Likewise. - (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Move data for - TypeInfo_Class.nameSig to the end of the object. - (create_typeinfo): Update for new front-end interface. - -2024-02-02 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd bce5c1f7b5. - * d-attribs.cc (build_attributes): Update for new front-end interface. - * d-lang.cc (d_parse_file): Likewise. - * decl.cc (DeclVisitor::visit (VarDeclaration *)): Likewise. - * expr.cc (build_lambda_tree): New function. - (ExprVisitor::visit (FuncExp *)): Use build_lambda_tree. - (ExprVisitor::visit (SymOffExp *)): Likewise. - (ExprVisitor::visit (VarExp *)): Likewise. - * typeinfo.cc (create_tinfo_types): Add two ulong fields to internal - TypeInfo representation. - (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Emit stub data - for TypeInfo_Class.nameSig. - (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): Update for new - front-end interface. - -2024-02-02 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd d8e3976a58. - * dmd/VERSION: Bump version to v2.107.0-beta.1. - * d-lang.cc (d_parse_file): Update for new front-end interface. - * modules.cc (struct module_info): Add standalonectors. - (build_module_tree): Implement @standalone. - (register_module_decl): Likewise. - -2024-02-02 Iain Buclaw <ibuclaw@gdcproject.org> - - * dmd/MERGE: Merge upstream dmd f1a045928e. - * dmd/VERSION: Bump version to v2.106.1-rc.1. - * gdc.texi (fignore-unknown-pragmas): Update documentation. - * d-builtins.cc (covariant_with_builtin_type_p): Update for new - front-end interface. - * d-lang.cc (d_parse_file): Likewise. - * typeinfo.cc (make_frontend_typeinfo): Likewise. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * lang.opt.urls: New file, autogenerated by - regenerate-opt-urls.py. - -2024-01-03 Jakub Jelinek <jakub@redhat.com> - - * gdc.texi: Bump @copyrights-d year. - -Copyright (C) 2024 Free Software Foundation, Inc. +Copyright (C) 2025 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-2006 b/gcc/d/ChangeLog-2006 index 4160b0ffe977..f5c686bfb9ff 100644 --- a/gcc/d/ChangeLog-2006 +++ b/gcc/d/ChangeLog-2006 @@ -945,7 +945,6 @@ 2006-06-01 David Friedman <dvdfrdmn@users.sf.net> * Start of SourceForge repository - Copyright (C) 2006 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2007 b/gcc/d/ChangeLog-2007 index a2e504362c3f..e95a19546ebb 100644 --- a/gcc/d/ChangeLog-2007 +++ b/gcc/d/ChangeLog-2007 @@ -1331,7 +1331,6 @@ * d-codegen.cc (convertTo): Use 64-bit for Tarray, Tsarray conversion. * d-codegen.{h, cc} (darrayVal): use uinteger_t arg - Copyright (C) 2007 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2008 b/gcc/d/ChangeLog-2008 index 23dc712dbf3c..fa0c58522120 100644 --- a/gcc/d/ChangeLog-2008 +++ b/gcc/d/ChangeLog-2008 @@ -322,7 +322,6 @@ outer class functions. * Rename patch-build_gcc-4.0 to patch-build_gcc-4.0.x - Copyright (C) 2008 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2009 b/gcc/d/ChangeLog-2009 index 90a204d0497e..057ae9818a91 100644 --- a/gcc/d/ChangeLog-2009 +++ b/gcc/d/ChangeLog-2009 @@ -176,7 +176,6 @@ * d-glue.cc, d-objfile.cc, d-codegen.cc, d-lang.h, d-builtins2.cc, d-convert.cc, d-codegen.h: Replace calls to build macro by appropriate buildN function (build is removed in GCC > 4.1). - Copyright (C) 2009 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2010 b/gcc/d/ChangeLog-2010 index 40c8fa45cd3c..f430aebe5b13 100644 --- a/gcc/d/ChangeLog-2010 +++ b/gcc/d/ChangeLog-2010 @@ -1475,7 +1475,6 @@ * phobos/std/string.d: Fix a set of bugs in std.string.split which made delemiters of length > 1 segfault. - Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2011 b/gcc/d/ChangeLog-2011 index a5c155821d16..e4fce461e2f7 100644 --- a/gcc/d/ChangeLog-2011 +++ b/gcc/d/ChangeLog-2011 @@ -1239,7 +1239,6 @@ d/d-glue.cc, d/d-lang-45.h, d/d-lang.cc, d/d-lang.h, d/d-objfile.cc: Declare d_build_decl as extern "C". Add function d_build_decl_loc. [29253025adb2] - Copyright (C) 2011 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2012 b/gcc/d/ChangeLog-2012 index 741747b06e54..443c0255498f 100644 --- a/gcc/d/ChangeLog-2012 +++ b/gcc/d/ChangeLog-2012 @@ -848,7 +848,6 @@ (ReturnStatement::toIR): Don't call postblit on nrvo returns. (DtorExpStatement::toIR): Don't call destructor if var is returned as the nrvo variable. - Copyright (C) 2012 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2013 b/gcc/d/ChangeLog-2013 index eeb12c9665d0..c863a30299b9 100644 --- a/gcc/d/ChangeLog-2013 +++ b/gcc/d/ChangeLog-2013 @@ -1212,7 +1212,6 @@ (d_init): Fix definition of D_LP64 version. * setup-gcc.sh: Likewise. * target-ver-syms.sh: Likewise. - Copyright (C) 2013 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2014 b/gcc/d/ChangeLog-2014 index cf8c8ac2c064..fded72b01ce6 100644 --- a/gcc/d/ChangeLog-2014 +++ b/gcc/d/ChangeLog-2014 @@ -651,7 +651,6 @@ (d_finish_function): Set function local if function body was compiled. * d-decls.cc (Dsymbol::toSymbolX): Use unsigned integer format for the prefix string length. - Copyright (C) 2014 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2015 b/gcc/d/ChangeLog-2015 index 918068bfecb7..8e6a3bd636fc 100644 --- a/gcc/d/ChangeLog-2015 +++ b/gcc/d/ChangeLog-2015 @@ -762,7 +762,6 @@ 2015-01-02 Iain Buclaw <ibuclaw@gdcproject.org> * d-codegen.h (build_boolop): Don't eagerly fold comparison expressions. - Copyright (C) 2015 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2016 b/gcc/d/ChangeLog-2016 index dbd757338033..9db98907337f 100644 --- a/gcc/d/ChangeLog-2016 +++ b/gcc/d/ChangeLog-2016 @@ -1253,7 +1253,6 @@ function attributes. * d-codegen.h (LibCallFlag): Remove type. * runtime.def: Replace LibCallFlag with ECF everywhere. - Copyright (C) 2016 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2017 b/gcc/d/ChangeLog-2017 index 4f64c317a9ef..be37a8d9a379 100644 --- a/gcc/d/ChangeLog-2017 +++ b/gcc/d/ChangeLog-2017 @@ -1166,7 +1166,6 @@ (ExprVisitor::lvalue_p): New function. (ExprVisitor::visit(AssignExp)): Check for dtor in array assignments. (ExprVisitor::visit(TypeidExp)): Cast result to expression type. - Copyright (C) 2017 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2022 b/gcc/d/ChangeLog-2022 index 7630f2484015..48279d7c4750 100644 --- a/gcc/d/ChangeLog-2022 +++ b/gcc/d/ChangeLog-2022 @@ -824,7 +824,6 @@ 2022-01-03 Jakub Jelinek <jakub@redhat.com> * gdc.texi: Bump @copyrights-d year. - Copyright (C) 2022 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2023 b/gcc/d/ChangeLog-2023 index 5510b99f1b90..2cf8a3308e8d 100644 --- a/gcc/d/ChangeLog-2023 +++ b/gcc/d/ChangeLog-2023 @@ -484,7 +484,6 @@ 2023-01-02 Jakub Jelinek <jakub@redhat.com> * gdc.texi: Bump @copyrights-d year. - Copyright (C) 2023 Free Software Foundation, Inc. diff --git a/gcc/d/ChangeLog-2024 b/gcc/d/ChangeLog-2024 new file mode 100644 index 000000000000..a2d9cf48c331 --- /dev/null +++ b/gcc/d/ChangeLog-2024 @@ -0,0 +1,294 @@ +2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR bootstrap/117737 + * d-attribs.cc (INCLUDE_MEMORY): Remove. + * d-builtins.cc (INCLUDE_MEMORY): Remove. + * d-codegen.cc (INCLUDE_MEMORY): Remove. + * d-convert.cc (INCLUDE_MEMORY): Remove. + * d-diagnostic.cc (INCLUDE_MEMORY): Remove. + * d-frontend.cc (INCLUDE_MEMORY): Remove. + * d-lang.cc (INCLUDE_MEMORY): Remove. + * d-longdouble.cc (INCLUDE_MEMORY): Remove. + * d-target.cc (INCLUDE_MEMORY): Remove. + * decl.cc (INCLUDE_MEMORY): Remove. + * expr.cc (INCLUDE_MEMORY): Remove. + * intrinsics.cc (INCLUDE_MEMORY): Remove. + * modules.cc (INCLUDE_MEMORY): Remove. + * toir.cc (INCLUDE_MEMORY): Remove. + * typeinfo.cc (INCLUDE_MEMORY): Remove. + * types.cc (INCLUDE_MEMORY): Remove. + +2024-10-29 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * d-diagnostic.cc (d_diagnostic_report_diagnostic): Update for + m_printer becoming reference printer. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + Gaius Mulley <gaiusmod2@gmail.com> + + PR other/116613 + * d-attribs.cc: Add #define INCLUDE_MEMORY. + * d-builtins.cc: Likewise. + * d-codegen.cc: Likewise. + * d-convert.cc: Likewise. + * d-diagnostic.cc: Likewise. + * d-frontend.cc: Likewise. + * d-lang.cc: Likewise. + * d-longdouble.cc: Likewise. + * d-target.cc: Likewise. + * decl.cc: Likewise. + * expr.cc: Likewise. + * intrinsics.cc: Likewise. + * modules.cc: Likewise. + * toir.cc: Likewise. + * typeinfo.cc: Likewise. + * types.cc: Likewise. + +2024-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR other/116801 + * lang.opt.urls: Regenerate. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + * d-diagnostic.cc (d_diagnostic_report_diagnostic): Update for + renaming of diagnostic_info field. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * d-diagnostic.cc (d_diagnostic_report_diagnostic): Rename + diagnostic_context's "printer" field to "m_printer". + +2024-09-02 Richard Sandiford <richard.sandiford@arm.com> + + * toir.cc (IRVisitor): Rename ASM_INPUT_P to ASM_BASIC_P. + +2024-07-21 Sam James <sam@gentoo.org> + + * Make-lang.in (WARN_DFLAGS): Drop NOCOMMON_FLAG. + +2024-06-05 Kewen Lin <linkw@linux.ibm.com> + Iain Buclaw <ibuclaw@gdcproject.org> + + * d-target.cc (Target::_init): Use int_size_in_bytes of + long_double_type_node to replace the expression with + LONG_DOUBLE_TYPE_SIZE for c.long_doublesize assignment. + +2024-04-19 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/111650 + * decl.cc (get_fndecl_arguments): Move generation of frame type to ... + (DeclVisitor::visit (FuncDeclaration *)): ... here, after the call to + build_closure. + +2024-04-06 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd b65767825f. + * dmd/VERSION: Bump version to v2.108.0. + +2024-03-17 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 855353a1d9. + * dmd/VERSION: + +2024-03-10 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/112285 + PR d/112290 + * d-target.cc (Target::preferPassByRef): Return true for all static + array and struct types. + +2024-03-03 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd f8bae04558. + * dmd/VERSION: Bump version to v2.108.0-beta.1. + * d-builtins.cc (build_frontend_type): Update for new front-end + interface. + * d-codegen.cc (build_assert_call): Likewise. + * d-convert.cc (d_array_convert): Likewise. + * decl.cc (get_vtable_decl): Likewise. + * expr.cc (ExprVisitor::visit (EqualExp *)): Likewise. + (ExprVisitor::visit (VarExp *)): Likewise. + (ExprVisitor::visit (ArrayLiteralExp *)): Likewise. + (ExprVisitor::visit (AssocArrayLiteralExp)): Likewise. + * intrinsics.cc (build_shuffle_mask_type): Likewise. + (maybe_warn_intrinsic_mismatch): Likewise. + * runtime.cc (get_libcall_type): Likewise. + * typeinfo.cc (TypeInfoVisitor::layout_string): Likewise. + (TypeInfoVisitor::visit(TypeInfoTupleDeclaration *)): Likewise. + +2024-03-03 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/114171 + * d-codegen.cc (lower_struct_comparison): Keep alignment of original + type in reinterpret cast for comparison. + +2024-02-25 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd ceff48bf7d. + +2024-02-17 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd 9471b25db9. + * dmd/VERSION: Bump version to v2.107.1-rc.1. + * Make-lang.in (D_FRONTEND_OBJS): Add d/cxxfrontend.o. + * d-attribs.cc (build_attributes): Update for new front-end interface. + * d-builtins.cc (build_frontend_type): Likewise. + (strip_type_modifiers): Likewise. + (covariant_with_builtin_type_p): Likewise. + * d-codegen.cc (declaration_type): Likewise. + (parameter_type): Likewise. + (build_array_struct_comparison): Likewise. + (void_okay_p): Likewise. + * d-convert.cc (convert_expr): Likewise. + (check_valist_conversion): Likewise. + * d-lang.cc (d_generate_ddoc_file): Likewise. + (d_parse_file): Likewise. + * d-target.cc (TargetCPP::toMangle): Likewise. + (TargetCPP::typeInfoMangle): Likewise. + (TargetCPP::thunkMangle): Likewise. + (TargetCPP::parameterType): Likewise. + * decl.cc (d_mangle_decl): Likewise. + (DeclVisitor::visit): Likewise. + (DeclVisitor::visit (CAsmDeclaration *)): New method. + (get_symbol_decl): Update for new front-end interface. + (layout_class_initializer): Likewise. + * expr.cc (ExprVisitor::visit): Likewise. + * intrinsics.cc (maybe_set_intrinsic): Likewise. + (expand_intrinsic_rotate): Likewise. + * modules.cc (layout_moduleinfo_fields): Likewise. + (layout_moduleinfo): Likewise. + * runtime.cc (get_libcall_type): Likewise. + * typeinfo.cc (make_frontend_typeinfo): Likewise. + (TypeInfoVisitor::visit): Likewise. + (create_typeinfo): Likewise. + * types.cc (same_type_p): Likewise. + (build_ctype): Likewise. + +2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/113125 + * types.cc (TypeVisitor::visit (TypeStruct *)): Generate TYPE_DECL and + apply UDAs to opaque struct declarations. + +2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/113772 + * dmd/MERGE: Merge upstream dmd 11240a9663. + * d-builtins.cc (build_frontend_type): Update for new front-end + interface. + * types.cc (same_type_p): Likewise. + +2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/113758 + * d-codegen.cc (d_build_call): Force a TARGET_EXPR when callee + destorys its arguments. + * decl.cc (DeclVisitor::visit (VarDeclaration *)): Set + SET_DECL_VALUE_EXPR on the temporary variable to make it a placeholder + for the TARGET_EXPR_SLOT. + +2024-02-04 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd a6f1083699. + * dmd/VERSION: Bump version to v2.107.0 + * Make-lang.in (D_FRONTEND_OBJS): Add d/pragmasem.o. + * d-builtins.cc (strip_type_modifiers): Update for new front-end + interface. + * d-codegen.cc (declaration_type): Likewise. + (parameter_type): Likewise. + * d-target.cc (TargetCPP::parameterType): Likewise. + * expr.cc (ExprVisitor::visit (IndexExp *)): Likewise. + (ExprVisitor::visit (VarExp *)): Likewise. + (ExprVisitor::visit (AssocArrayLiteralExp *)): Likewise. + * runtime.cc (get_libcall_type): Likewise. + * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoConstDeclaration *)): + Likewise. + (TypeInfoVisitor::visit (TypeInfoInvariantDeclaration *)): Likewise. + (TypeInfoVisitor::visit (TypeInfoSharedDeclaration *)): Likewise. + (TypeInfoVisitor::visit (TypeInfoWildDeclaration *)): Likewise. + * types.cc (build_ctype): Likewise. + +2024-02-03 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd e770945277. + * Make-lang.in (D_FRONTEND_OBJS): Add d/basicmangle.o, d/enumsem.o, + d/funcsem.o, d/templatesem.o. + * d-builtins.cc (build_frontend_type): Update for new front-end + interface. + * d-codegen.cc (declaration_type): Likewise. + (parameter_type): Likewise. + * d-incpath.cc (add_globalpaths): Likewise. + (add_filepaths): Likewise. + (add_import_paths): Likewise. + * d-lang.cc (d_init_options): Likewise. + (d_handle_option): Likewise. + (d_parse_file): Likewise. + * decl.cc (DeclVisitor::finish_vtable): Likewise. + (DeclVisitor::visit (FuncDeclaration *)): Likewise. + (get_symbol_decl): Likewise. + * expr.cc (ExprVisitor::visit (StringExp *)): Likewise. + Implement support for 8-byte hexadecimal strings. + * typeinfo.cc (create_tinfo_types): Update internal TypeInfo + representation. + (TypeInfoVisitor::visit (TypeInfoConstDeclaration *)): Update for new + front-end interface. + (TypeInfoVisitor::visit (TypeInfoInvariantDeclaration *)): Likewise. + (TypeInfoVisitor::visit (TypeInfoSharedDeclaration *)): Likewise. + (TypeInfoVisitor::visit (TypeInfoWildDeclaration *)): Likewise. + (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Move data for + TypeInfo_Class.nameSig to the end of the object. + (create_typeinfo): Update for new front-end interface. + +2024-02-02 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd bce5c1f7b5. + * d-attribs.cc (build_attributes): Update for new front-end interface. + * d-lang.cc (d_parse_file): Likewise. + * decl.cc (DeclVisitor::visit (VarDeclaration *)): Likewise. + * expr.cc (build_lambda_tree): New function. + (ExprVisitor::visit (FuncExp *)): Use build_lambda_tree. + (ExprVisitor::visit (SymOffExp *)): Likewise. + (ExprVisitor::visit (VarExp *)): Likewise. + * typeinfo.cc (create_tinfo_types): Add two ulong fields to internal + TypeInfo representation. + (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Emit stub data + for TypeInfo_Class.nameSig. + (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): Update for new + front-end interface. + +2024-02-02 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd d8e3976a58. + * dmd/VERSION: Bump version to v2.107.0-beta.1. + * d-lang.cc (d_parse_file): Update for new front-end interface. + * modules.cc (struct module_info): Add standalonectors. + (build_module_tree): Implement @standalone. + (register_module_decl): Likewise. + +2024-02-02 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd f1a045928e. + * dmd/VERSION: Bump version to v2.106.1-rc.1. + * gdc.texi (fignore-unknown-pragmas): Update documentation. + * d-builtins.cc (covariant_with_builtin_type_p): Update for new + front-end interface. + * d-lang.cc (d_parse_file): Likewise. + * typeinfo.cc (make_frontend_typeinfo): Likewise. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * lang.opt.urls: New file, autogenerated by + regenerate-opt-urls.py. + +2024-01-03 Jakub Jelinek <jakub@redhat.com> + + * gdc.texi: Bump @copyrights-d year. + +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 +notice and this notice are preserved. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 76838644ca02..6b300a589bbb 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -13,3042 +13,8 @@ * intrinsic.texi: Grammar and markup fixes throughout the file. - -2024-12-30 Steven G. Kargl <kargls@comcast.net> - - PR fortran/117643 - * check.cc (gfc_check_f_c_string): Check arguments of f_c_string(). - * gfortran.h (enum gfc_isym_id): New symbol GFC_ISYM_F_C_STRING. - * intrinsic.cc (add_functions): Add the ISO C Binding routine f_c_string(). - Wrap nearby long line to less than 80 characters. - * intrinsic.h (gfc_check_f_c_string): Prototype for gfc_check_f_c_string(). - * iso-c-binding.def (NAMED_FUNCTION): Declare for ISO C Binding - routine f_c_string(). - * primary.cc (gfc_match_rvalue): Fix comment that has been untrue since 2011. - Add ISOCBINDING_F_C_STRING to conditional. - * trans-intrinsic.cc (conv_trim): Specialized version of trim() for - f_c_string(). - (gfc_conv_intrinsic_function): Use GFC_ISYM_F_C_STRING to trigger in-lining. - -2024-12-23 Harald Anlauf <anlauf@gmx.de> - - PR fortran/118179 - * trans-expr.cc (conv_null_actual): Suppress copying back of - pointer address for unspecified intent. - -2024-12-23 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/116254 - PR fortran/118059 - * trans-array.cc (gfc_trans_create_temp_array): Make sure that - transformational intrinsics of class objects that change rank, - most particularly spread, go through the correct code path. Re- - factor so that changes to the dtype are done on the temporary - before the class data of the result points to it. - * trans-expr.cc (arrayfunc_assign_needs_temporary): Character - array function expressions assigned to an unlimited polymorphic - variable require a temporary. - -2024-12-22 Harald Anlauf <anlauf@gmx.de> - - * check.cc (gfc_check_random_seed): Clear gmp variables returned by - gfc_array_size. - * expr.cc (gfc_check_pointer_assign): Likewise. - -2024-12-22 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/107635 - * gfortran.h (gfc_add_caf_accessor): New function. - * gfortran.texi: Document new API routines. - * resolve.cc (get_arrayspec_from_expr): Synthesize the arrayspec - resulting from an expression, i.e. not only the rank, but also - the bounds. - (remove_coarray_from_derived_type): Remove coarray ref from a - derived type to access it in access routine. - (convert_coarray_class_to_derived_type): Same but for classes. - The result is a derived type. - (split_expr_at_caf_ref): Split an expression at the coarray - reference to move the reference after the coarray ref into the - access routine. - (check_add_new_component): Helper to add variables as - components to derived type transfered to the access routine. - (create_get_parameter_type): Create the derived type to transfer - addressing data to the access routine. - (create_get_callback): Create the access routine. - (add_caf_get_intrinsic): Use access routine instead of old - caf_get. - * trans-decl.cc (gfc_build_builtin_function_decls): Register new - API routines. - (gfc_create_module_variable): Use renamed flag. - (gfc_emit_parameter_debug_info): - (struct caf_accessor): Linked list of hash-access routine pairs. - (gfc_add_caf_accessor): Add a hash-access routine pair to above - linked list. - (create_caf_accessor_register): Add all registered hash-access - routine pairs to the current caf_init. - (generate_coarray_init): Use routine above. - (gfc_generate_module_vars): Use renamed flag. - (generate_local_decl): Same. - (gfc_generate_function_code): Same. - (gfc_process_block_locals): Same. - * trans-intrinsic.cc (conv_shape_to_cst): Build the product of a - shape. - (gfc_conv_intrinsic_caf_get): Create call to access routine. - (conv_caf_send): Adapt to caf_get using less arguments. - (gfc_conv_intrinsic_function): Same. - * trans.cc (gfc_trans_force_lval): Helper to ensure that an - expression can be used as an lvalue-ref. - * trans.h (gfc_trans_force_lval): See above. - -2024-12-22 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/107635 - * gfortran.h (gfc_comp_caf_token): Convenient macro for - accessing caf_token's tree. - * resolve.cc (gfc_resolve_ref): Backup caf_lhs when resolving - expr in array_ref. - (remove_caf_get_intrinsic): Removed. - (resolve_variable): Set flag caf_lhs when resolving lhs of - assignment to prevent insertion of caf_get. - (resolve_lock_unlock_event): Same, but the lhs is the parameter. - (resolve_ordinary_assign): Move conversion to caf_send to - resolve_codes. - (resolve_codes): Adress caf_get and caf_send here. - (resolve_fl_derived0): Set component's caf_token when token is - necessary. - * trans-array.cc (gfc_conv_array_parameter): Get a coarray for - expression that have a corank. - (structure_alloc_comps): Use macro to get caf_token's tree. - (gfc_alloc_allocatable_for_assignment): Same. - * trans-expr.cc (gfc_get_ultimate_alloc_ptr_comps_caf_token): - Same. - (gfc_trans_structure_assign): Same. - * trans-intrinsic.cc (conv_expr_ref_to_caf_ref): Same. - (has_ref_after_cafref): New function to figure that after a - reference of a coarray another reference is present. - (conv_caf_send): Get rhs from correct place, when caf_get is - not removed. - * trans-types.cc (gfc_get_derived_type): Get caf_token from - component and no longer guessing. - -2024-12-21 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104819 - * interface.cc (compare_parameter): For the rank check, NULL() - inherits the rank of a provided MOLD argument. - (gfc_compare_actual_formal): Adjust check of NULL() actual argument - against formal to accept F2008 enhancements (allocatable dummy). - NULL() with MOLD argument retains a pointer/allocatable attribute. - * trans-expr.cc (conv_null_actual): Implement passing NULL() to - derived-type dummy with pointer/allocatable attribute, and ensure - that the actual rank is passed to an assumed-rank dummy. - (gfc_conv_procedure_call): Use it. - -2024-12-20 Sandra Loosemore <sloosemore@baylibre.com> - - * gfortran.texi: Get rid of some unnecessary hyphens throughout - the file. - * invoke.texi: Likewise. - -2024-12-20 Sandra Loosemore <sloosemore@baylibre.com> - - * gfortran.texi: Use the present tense throughout; fix some - markup issues and awkward wording. - * invoke.texi: Likewise. - -2024-12-20 Sandra Loosemore <sloosemore@baylibre.com> - - * gfortran.texi: Fix markup, typos, and indexing throughout the - file. - * invoke.texi: Likewise. - -2024-12-20 Sandra Loosemore <sloosemore@baylibre.com> - - PR fortran/51820 - PR fortran/89632 - PR fortran/109216 - * invoke.texi (Code Gen Options): Further cleanups of the discussion - of what -funderscoring and -fsecond-underscore do. - -2024-12-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/118120 - PR fortran/113928 - * trans-array.cc (symbols_could_alias): If one symbol refers to a - complex type and the other to a real type of the same kind, do not - a priori exclude the possibility of aliasing. - -2024-12-17 Sandra Loosemore <sloosemore@baylibre.com> - - PR c/26154 - * gfortran.texi (Standards): Remove redundant info about - OpenMP/OpenACC standard support. - (OpenMP): Copy-editing and update version info. - (OpenACC): Likewise. - * lang.opt.urls: Regenerated. - -2024-12-17 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/117347 - * primary.cc (gfc_match_varspec): Add array constructors for - guessing their type like with unresolved function calls. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - PR sarif-replay/117943 - * error.cc (gfc_diagnostic_text_starter): Use source-printing - options from text_output. - -2024-12-15 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117897 - * trans-expr.cc (gfc_trans_assignment_1): RHS pointer function - results must not be finalized. - -2024-12-12 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117797 - * trans-array.cc (class_array_element_size): New function. - (gfc_get_array_span): Refactor, using class_array_element_size - to return the span for descriptors that are the _data component - of a class expression and then class dummy references. Revert - the conditions to those before r15-5083 tidying up using 'sym'. - -2024-12-11 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117901 - * trans-stmt.cc (trans_associate_var): A variable character - length array associate name must generate a DECL expression for - the data pointer type. - -2024-12-09 Harald Anlauf <anlauf@gmx.de> - - * expr.cc (find_array_section): Do not initialize GMP variables - twice. - -2024-12-09 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/116261 - * trans-array.cc (gfc_array_init_size): New arg 'explicit_ts', - to suppress the use of the expr3 element size in the descriptor - dtype. - (gfc_array_allocate): New arg 'explicit_ts', used in call to - gfc_array_init_size. - * trans-array.h : Modify prototype for gfc_array_allocate for new - bool argument. - * trans-stmt.cc (gfc_trans_allocate): Set new argument if the - typespec is explicit. - -2024-12-03 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/102689 - * trans-array.cc (get_array_ref_dim_for_loop_dim): Use the arg1 - class container carried in ss->info as the seed for a lhs in - class valued transformational intrinsic calls that are not the - rhs of an assignment. Otherwise, the lhs variable expression is - taken from the loop chain. For this latter case, the _vptr and - _len fields are set. - (gfc_trans_create_temp_array): Use either the lhs expression - seeds to build a class variable that will take the returned - descriptor as its _data field. In the case that the arg1 expr. - is used, 'atmp' must be marked as unused, a typespec built with - the correct rank and the _vptr and _len fields set. The element - size is provided for the temporary allocation and to set the - descriptor span. - (gfc_array_init_size): When an intrinsic type scalar expr3 is - used in allocation of a class array, use its element size in - the descriptor dtype. - * trans-expr.cc (gfc_conv_class_to_class): Class valued - transformational intrinsics return the pointer to the array - descriptor as the _data field of a class temporary. Extract - directly and return the address of the class temporary. - (gfc_conv_procedure_call): store the expression for the first - argument of a class valued transformational intrinsic function - in the ss info class_container field. Later, use its type as - the element type in the call to gfc_trans_create_temp_array. - (fcncall_realloc_result): Add a dtype argument and use it in - the descriptor, when available. - (gfc_trans_arrayfunc_assign): For class lhs, build a dtype with - the lhs rank and the rhs element size and use it in the call to - fcncall_realloc_result. - -2024-12-03 Tobias Burnus <tburnus@baylibre.com> - - * trans-decl.cc (gfc_finish_var_decl): Remove setting the alignment. - -2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR fortran/117843 - * trans-io.cc (gfc_trans_transfer): Add default case. - -2024-11-28 Steven G. Kargl <kargls@comcast.net> - - PR fortran/117765 - * resolve.cc (pure_subroutine): Check for an impure subroutine - call in a BLOCK construct nested within a DO CONCURRENT block. - -2024-11-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/117791 - * trans-io.cc (gfc_trans_transfer): When an array index depends on - a function evaluation or an expression, do not use optimized array - I/O of an array section and fall back to normal scalarization. - -2024-11-28 David Malcolm <dmalcolm@redhat.com> - - PR c/104896 - * resolve.cc (resolve_operator): Replace "%<%s%>" with "%qs" in - message wording. - -2024-11-27 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/84674 - PR fortran/117768 - * class.cc (add_proc_comp): If the component points to a tbp - that is abstract, do not return since the new version is more - likely to be usable. - * resolve.cc (resolve_fl_derived): Remove the condition that - rejected a completely empty derived type extension. - -2024-11-26 Harald Anlauf <anlauf@gmx.de> - - * expr.cc (find_inquiry_ref): Fix memleak introduced by scanning - the reference chain to find and simplify inquiry references. - * symbol.cc (gfc_copy_formal_args_intr): Free formal namespace - when not needed to avoid a front-end memleak. - -2024-11-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/117774 - * trans-expr.cc (gfc_conv_procedure_call): When passing an array - to an assumed-rank dummy, terminate search for array reference of - actual argument before an inquiry reference (e.g. INQUIRY_RE, - INQUIRY_IM) so that bounds update works properly. - -2024-11-26 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117763 - * trans-array.cc (gfc_get_array_span): Guard against derefences - of 'expr'. Clean up some typos. Use 'gfc_get_vptr_from_expr' - for clarity and apply a functional reversion of last section - that deals with class dummies. - -2024-11-25 Steve Kargl <kargls@comcast.net> - - PR fortran/117765 - * resolve.cc (check_pure_function): Check the stack to - see if the function is in a nested BLOCK and, if that - block is inside a DO_CONCURRENT, issue an error. - -2024-11-24 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/85869 - * trans-expr.cc (trans_class_vptr_len_assignment): To access - the '_len' field, re must be unlimited polymorphic. - -2024-11-24 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117730 - PR fortran/84674 - * class.cc (add_proc_comp): Only reject a non_overridable if it - has no overridden procedure and the component is already - present in the vtype. - * resolve.cc (resolve_fl_derived): Do not build a vtable for a - derived type extension that is completely empty. - -2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR bootstrap/117737 - * arith.cc (INCLUDE_MEMORY): Remove. - * array.cc (INCLUDE_MEMORY): Remove. - * bbt.cc (INCLUDE_MEMORY): Remove. - * check.cc (INCLUDE_MEMORY): Remove. - * class.cc (INCLUDE_MEMORY): Remove. - * constructor.cc (INCLUDE_MEMORY): Remove. - * convert.cc (INCLUDE_MEMORY): Remove. - * cpp.cc (INCLUDE_MEMORY): Remove. - * data.cc (INCLUDE_MEMORY): Remove. - * decl.cc (INCLUDE_MEMORY): Remove. - * dependency.cc (INCLUDE_MEMORY): Remove. - * dump-parse-tree.cc (INCLUDE_MEMORY): Remove. - * error.cc (INCLUDE_MEMORY): Remove. - * expr.cc (INCLUDE_MEMORY): Remove. - * f95-lang.cc (INCLUDE_MEMORY): Remove. - * frontend-passes.cc (INCLUDE_MEMORY): Remove. - * interface.cc (INCLUDE_MEMORY): Remove. - * intrinsic.cc (INCLUDE_MEMORY): Remove. - * io.cc (INCLUDE_MEMORY): Remove. - * iresolve.cc (INCLUDE_MEMORY): Remove. - * match.cc (INCLUDE_MEMORY): Remove. - * matchexp.cc (INCLUDE_MEMORY): Remove. - * misc.cc (INCLUDE_MEMORY): Remove. - * module.cc (INCLUDE_MEMORY): Remove. - * openmp.cc (INCLUDE_MEMORY): Remove. - * options.cc (INCLUDE_MEMORY): Remove. - * parse.cc (INCLUDE_MEMORY): Remove. - * primary.cc (INCLUDE_MEMORY): Remove. - * resolve.cc (INCLUDE_MEMORY): Remove. - * scanner.cc (INCLUDE_MEMORY): Remove. - * simplify.cc (INCLUDE_MEMORY): Remove. - * st.cc (INCLUDE_MEMORY): Remove. - * symbol.cc (INCLUDE_MEMORY): Remove. - * target-memory.cc (INCLUDE_MEMORY): Remove. - * trans-array.cc (INCLUDE_MEMORY): Remove. - * trans-common.cc (INCLUDE_MEMORY): Remove. - * trans-const.cc (INCLUDE_MEMORY): Remove. - * trans-decl.cc (INCLUDE_MEMORY): Remove. - * trans-expr.cc (INCLUDE_MEMORY): Remove. - * trans-intrinsic.cc (INCLUDE_MEMORY): Remove. - * trans-io.cc (INCLUDE_MEMORY): Remove. - * trans-openmp.cc (INCLUDE_MEMORY): Remove. - * trans-stmt.cc (INCLUDE_MEMORY): Remove. - * trans-types.cc (INCLUDE_MEMORY): Remove. - * trans.cc (INCLUDE_MEMORY): Remove. - -2024-11-22 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.h (gfc_omp_namelist): Cleanup interop internal - representation. - * dump-parse-tree.cc (show_omp_namelist): Update for changed - internal representation. - * match.cc (gfc_free_omp_namelist): Likewise. - * openmp.cc (gfc_match_omp_prefer_type, gfc_match_omp_init): - Likewise; also handle some corner cases better and update for - newer 6.0 changes related to 'fr'. - (resolve_omp_clauses): Add type-check for interop variables. - * trans-openmp.cc (gfc_trans_omp_clauses): Handle init, use - and destroy clauses. - (gfc_trans_openmp_interop): New. - (gfc_trans_omp_directive): Call it. - -2024-11-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/83135 - * expr.cc (sym_is_from_ancestor): New helper function. - (gfc_check_vardef_context): Refine checking of PROTECTED attribute - of symbols that are indirectly use-associated in a submodule. - -2024-11-20 Paul-Antoine Arras <parras@baylibre.com> - - * types.def (BT_FN_PTR_CONST_PTR_INT): Declare. - -2024-11-20 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-intrinsic.cc - (walk_inline_intrinsic_minmaxloc): Add a scalar element for BACK as - first item of the chain if BACK is present and there will be nested - loops. - (gfc_conv_intrinsic_minmaxloc): Evaluate BACK using an inherited - scalarization chain if there is a nested loop. - -2024-11-20 Mikael Morin <mikael@gcc.gnu.org> - - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Only get the size - along DIM instead of the full size if DIM is present. - -2024-11-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return TRUE - for MINLOC/MAXLOC with constant DIM and either REAL ARRAY or - non-scalar MASK. - (walk_inline_intrinsic_minmaxloc): Walk MASK and if it's an array - add the chain obtained before that of ARRAY. - (gfc_conv_intrinsic_minmaxloc): Use the nested loop if there is one. - To evaluate MASK (respectively ARRAY in the second loop), inherit - the scalarizer chain if in a nested loop, otherwise keep using the - chain obtained by walking MASK (respectively ARRAY). If there is a - nested loop, avoid advancing the parent scalarization chain a second - time in the second loop. - -2024-11-19 Mikael Morin <mikael@gcc.gnu.org> - - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Use - conditionals based on the MASK expression rather than on its - scalarization chains. - -2024-11-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return TRUE - if MASK is scalar. - (walk_inline_intrinsic_minmaxloc): Append to the scalarization chain - a scalar element for MASK if it's present. - (gfc_conv_intrinsic_minmaxloc): Use a local gfc_se struct to serve - as base for all the expressions evaluated in the nested loop. To - evaluate MASK when there is a nested loop, enable usage of the - scalarizer and set the original passed in SE argument as current - scalarization chain element to use. And use the nested loop from - the scalarizer instead of the local loop in that case. - -2024-11-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return true - if DIM is constant, ARRAY is integral and MASK is absent. - (walk_inline_intrinsic_minmaxloc): If DIM is present, walk ARRAY and - move the dimension corresponding to DIM to a nested chain, keeping - the rest of the dimensions as the returned scalarization chain. - (gfc_conv_intrinsic_minmaxloc): When inside the scalarization loops, - proceed with inline code generation If DIM is present. If DIM is - present, skip result array creation and final initialization from - individual result local variables. If DIM is present and ARRAY has - rank greater than 1, use the nested loop initialized by the - scalarizer instead of the local one, use 1 as scalarization - dimension, and evaluate ARRAY using the inherited scalarization - chain instead of creating a local one by walking the expression. - -2024-11-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/53357 - * dependency.cc (gfc_dep_compare_expr): Return correct result if - relationship of expressions could not be determined. - * interface.cc (gfc_check_result_characteristics): Implement error - messages if character function declations and references do not - agree, else emit warning in cases where a mismatch is suspected. - * trans-stmt.cc (gfc_trans_allocate): Implement a string length - check for -fcheck=bounds. - -2024-11-16 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/109066 - * resolve.cc (generate_component_assignments): If the temporary - for 'var' is a pointer and 'expr' is neither a constant or - a variable, change its attribute from pointer to allocatable. - This avoids assignment to a temporary point that has neither - been allocated or associated. - -2024-11-16 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.texi: Document that SELECT CASE works for UNSIGNED. - -2024-11-16 Thomas Koenig <tkoenig@gcc.gnu.org> - - * module.cc (mio_expr): Handle BT_UNSIGNED. - -2024-11-15 Jan Hubicka <hubicka@ucw.cz> - - * trans-expr.cc (gfc_trans_subcomponent_assign): Fix type of malloc - parameter. - -2024-11-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104819 - * trans-expr.cc (conv_null_actual): Helper function to handle - passing of NULL() to non-optional dummy arguments of non-bind(c) - procedures. - (gfc_conv_procedure_call): Use it for character dummies. - -2024-11-13 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/105054 - * resolve.cc (get_temp_from_expr): If the pointer function has - a deferred character length, generate a new deferred charlen - for the temporary. - -2024-11-11 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/109345 - * trans-array.cc (gfc_get_array_span): Unlimited polymorphic - expressions are now treated separately since the span need not - be the same as the element size. - -2024-11-11 Tomas Trnka <trnka@scm.com> - Paul Thomas <pault@gcc.gnu.org> - - PR fortran/116388 - * class.cc (finalize_component): Leading underscore in the name - of 'byte_stride' to suppress invalid finalization. - -2024-11-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.cc (gfc_check_complex): Reject UNSIGNED. - * gfortran.texi: Update example program. Note that - CMPLX, INT and REAL also take unsigned arguments. - * intrinsic.texi (CMPLX): Document UNSIGNED. - (INT): Likewise. - (REAL): Likewise. - -2024-11-06 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117434 - * interface.cc (gfc_compare_actual_formal): Skip 'Expected a - procedure pointer error' if the formal argument typespec has an - interface and the type of the actual arg is BT_PROCEDURE. - -2024-11-05 David Malcolm <dmalcolm@redhat.com> - - PR fortran/117442 - * error.cc (error_buffer): Convert to a pointer so it can be - heap-allocated. - (gfc_error_now): Update for error_buffer being heap-allocated. - (gfc_clear_error): Likewise. - (gfc_error_flag_test): Likewise. - (gfc_error_check): Likewise. - (gfc_push_error): Likewise. - (gfc_pop_error): Likewise. - (gfc_diagnostics_init): Allocate error_buffer on the heap, rather - than statically. - (gfc_diagnostics_finish): Delete error_buffer. - -2024-11-02 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.cc (gfc_check_mask): Handle BT_INSIGNED. - * gfortran.h (enum gfc_isym_id): Add GFC_ISYM_UMASKL and - GFC_ISYM_UMASKR. - * gfortran.texi: List UMASKL and UMASKR, remove unsigned future - unsigned arguments for MASKL and MASKR. - * intrinsic.cc (add_functions): Add UMASKL and UMASKR. - * intrinsic.h (gfc_simplify_umaskl): New function. - (gfc_simplify_umaskr): New function. - (gfc_resolve_umasklr): New function. - * intrinsic.texi: Document UMASKL and UMASKR. - * iresolve.cc (gfc_resolve_umasklr): New function. - * simplify.cc (gfc_simplify_umaskr): New function. - (gfc_simplify_umaskl): New function. - -2024-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> - - * resolve.cc (resolve_operator): Also handle BT_UNSIGNED. - -2024-11-01 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/115700 - * resolve.cc (resolve_assoc_var): Extract a substring reference - with missing as well as non-constant start or end. - -2024-10-31 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/115700 - * resolve.cc (resolve_variable): The typespec of an expression, - which is not a substring, can be shared with a deferred length - associate name. - (resolve_assoc_var): Extract a substring reference with non- - constant start or end. Use it to flag up the need for array - associate name to be a pointer. - (resolve_block_construct): Change comment from past to future - tense. - -2024-10-30 Harald Anlauf <anlauf@gmx.de> - - * trans-expr.cc (gfc_trans_class_init_assign): Free intermediate - gfc_expr's. - * trans.cc (get_final_proc_ref): Likewise. - (get_elem_size): Likewise. - (gfc_add_finalizer_call): Likewise. - -2024-10-29 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * error.cc (gfc_diagnostic_build_kind_prefix): Update for - global_dc's m_printer becoming reference printer. - (gfc_diagnostics_init): Replace usage of diagnostic_format_decoder - with global_dc->set_format_decoder. - -2024-10-27 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/115070 - PR fortran/115348 - * trans-expr.cc (gfc_trans_class_init_assign): If all the - components of the default initializer are null for a scalar, - build an empty statement to prevent prior declarations from - disappearing. - -2024-10-26 Iain Sandoe <iain@sandoe.co.uk> - - * intrinsic.texi: Add menu item for UINT. - -2024-10-26 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.texi: Correct reference to make clear that UNSIGNED - will not be part of F202Y. - Other clarifications. - Extend table of intrinsics, add links. - * intrinsic.texi: Add descriptions for UNSIGNED arguments. - * invoke.texi: Add anchor for -funsigned. - -2024-10-25 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/79685 - * decl.cc (match_data_constant): Find the symtree instead of - the symbol so the use renamed symbols are found. Pass this and - the derived type to gfc_match_structure_constructor. - * match.h: Update prototype of gfc_match_structure_contructor. - * primary.cc (gfc_match_structure_constructor): Remove call to - gfc_get_ha_sym_tree and use caller supplied symtree instead. - -2024-10-25 Jakub Jelinek <jakub@redhat.com> - - * trans-openmp.cc: Remove trailing whitespace. - * trans-common.cc: Likewise. - * match.h: Likewise. - * scanner.cc: Likewise. - * gfortranspec.cc: Likewise. - * io.cc: Likewise. - * iso-c-binding.def: Likewise. - * iso-fortran-env.def: Likewise. - * types.def: Likewise. - * openmp.cc: Likewise. - * f95-lang.cc: Likewise. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - Gaius Mulley <gaiusmod2@gmail.com> - - PR other/116613 - * arith.cc: Add #define INCLUDE_MEMORY. - * array.cc: Likewise. - * bbt.cc: Likewise. - * check.cc: Likewise. - * class.cc: Likewise. - * constructor.cc: Likewise. - * convert.cc: Likewise. - * cpp.cc: Likewise. - * data.cc: Likewise. - * decl.cc: Likewise. - * dependency.cc: Likewise. - * dump-parse-tree.cc: Likewise. - * error.cc: Likewise. - * expr.cc: Likewise. - * f95-lang.cc: Likewise. - * frontend-passes.cc: Likewise. - * interface.cc: Likewise. - * intrinsic.cc: Likewise. - * io.cc: Likewise. - * iresolve.cc: Likewise. - * match.cc: Likewise. - * matchexp.cc: Likewise. - * misc.cc: Likewise. - * module.cc: Likewise. - * openmp.cc: Likewise. - * options.cc: Likewise. - * parse.cc: Likewise. - * primary.cc: Likewise. - * resolve.cc: Likewise. - * scanner.cc: Likewise. - * simplify.cc: Likewise. - * st.cc: Likewise. - * symbol.cc: Likewise. - * target-memory.cc: Likewise. - * trans-array.cc: Likewise. - * trans-common.cc: Likewise. - * trans-const.cc: Likewise. - * trans-decl.cc: Likewise. - * trans-expr.cc: Likewise. - * trans-intrinsic.cc: Likewise. - * trans-io.cc: Likewise. - * trans-openmp.cc: Likewise. - * trans-stmt.cc: Likewise. - * trans-types.cc: Likewise. - * trans.cc: Likewise. - -2024-10-23 David Malcolm <dmalcolm@redhat.com> - - PR fortran/105916 - * error.cc (pp_error_buffer, pp_warning_buffer): Convert from - output_buffer * to diagnostic_buffer *. - (warningcount_buffered, werrorcount_buffered): Eliminate. - (gfc_error_buffer::gfc_error_buffer): Move constructor definition - here, and initialize "buffer" using *global_dc. - (gfc_output_buffer_empty_p): Delete in favor of - diagnostic_buffer::empty_p. - (gfc_clear_pp_buffer): Replace with... - (gfc_clear_diagnostic_buffer): ...this, moving implementation - details to diagnostic_context::clear_diagnostic_buffer. - (gfc_warning): Replace buffering implementation with calls - to global_dc->get_diagnostic_buffer and - global_dc->set_diagnostic_buffer. - (gfc_clear_warning): Update for renaming of gfc_clear_pp_buffer - and elimination of warningcount_buffered and werrorcount_buffered. - (gfc_warning_check): Replace buffering implementation with calls - to pp_warning_buffer->empty_p and - global_dc->flush_diagnostic_buffer. - (gfc_error_opt): Replace buffering implementation with calls to - global_dc->get_diagnostic_buffer and set_diagnostic_buffer. - (gfc_clear_error): Update for renaming of gfc_clear_pp_buffer. - (gfc_error_flag_test): Replace call to gfc_output_buffer_empty_p - with call to diagnostic_buffer::empty_p. - (gfc_error_check): Replace buffering implementation with calls - to pp_error_buffer->empty_p and global_dc->flush_diagnostic_buffer. - (gfc_move_error_buffer_from_to): Replace buffering implementation - with usage of diagnostic_buffer. - (gfc_free_error): Update for renaming of gfc_clear_pp_buffer. - (gfc_diagnostics_init): Use "new" directly when creating - pp_warning_buffer. Remove setting of m_flush_p on the two - buffers, as this is handled by diagnostic_buffer and by - diagnostic_text_format_buffer's constructor. - * gfortran.h: Replace #include "pretty-print.h" for output_buffer - with #include "diagnostic-buffer.h" for diagnostic_buffer. - (struct gfc_error_buffer): Change type of field "buffer" from - output_buffer to diagnostic_buffer. Move definition of constructor - into error.cc so that it can use global_dc. - -2024-10-23 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/116733 - * array.cc : White space corrections. - * expr.cc (gfc_check_pointer_assign): Permit assumed rank - target with -std=f202y. Add constraints that the data pointer - object must have rank remapping specified and the that the data - target be contiguous. - * gfortran.h : Add a gfc_array_ref field 'ar' to the structure - 'gfc_association_list'. - * interface.cc (gfc_compare_actual_formal): If -Wsurprising - is set, emit a warning if an assumed size array is passed to an - assumed rank dummy. - * intrinsic.cc (do_ts29113_check): Permit an assumed rank arg. - for reshape if -std=f202y and the argument is contiguous. - * invoke.texi : Introduce -std=f202y. Whitespace errors. - * lang.opt : Accept -std=f202y. - * libgfortran.h : Define GFC_STD_F202Y. - * match.cc (gfc_match_associate): If -std=f202y an assumed rank - selector is allowed if it is contiguous and the associate name - has rank remapping specified. - * options.cc (gfc_init_options): -std=f202y is equivalent to - -std=f2023 with experimental f202y features. White space issues - * parse.cc (parse_associate): If the selector is assumed rank, - use the 'ar' field of the association list to build an array - specification. - * primary.cc (gfc_match_varspec): Do not resolve the assumed - rank selector of a class associate name at this stage to avoid - the rank change. - * resolve.cc (find_array_spec): If an array_ref dimension is -1 - reset it with the rank in the object's array_spec. - (gfc_expression_rank): Do not check dimen types for an assumed - rank variable expression. - (resolve_variable): Do not emit the assumed rank context error - if the context is pointer assignment and the variable is a - target. - (resolve_assoc_var): Resolve the bounds and check for missing - bounds in the rank remap of an associate name with an assumed - rank selector. Do not correct the rank of an associate name - with an assumed rank selector. - (resolve_symbol): Allow the reference to an assumed rank object - if -std-f202y is enabled and the current operation is - EXEC_BLOCK. - * st.cc (gfc_free_association_list): Free bounds expressions - of the 'ar' field, if present. - * trans-array.cc (gfc_conv_ss_startstride): If -std=f202y and - bounds checking activated, do not apply the assertion. - * trans-expr.cc (gfc_trans_pointer_assignment): An assumed rank - target has its offset set to zero. - * trans-stmt.cc (trans_associate_var): If the selector is - assumed rank, call gfc_trans_pointer_assignment using the 'ar' - field in the association list as the array reference for expr1. - The data target, expr2, is a copy of the selector expression. - -2024-10-23 Tobias Burnus <tburnus@baylibre.com> - - * error.cc (terminal_width, gfc_get_terminal_width): Remove. - (gfc_error_init_1): Do not call one to set the other. - -2024-10-19 Tobias Burnus <tburnus@baylibre.com> - - * check.cc (is_c_interoperable): Use _(...) around to mark strings - as translatable. - * data.cc (gfc_assign_data_value): Move string literal to gfc_error - to make it translatable. - * resolve.cc (resolve_fl_variable, resolve_equivalence): Use G_(...) - around string literals. - * scanner.cc (skip_fixed_omp_sentinel): Replace '...' by %<...%>. - * trans-openmp.cc (gfc_split_omp_clauses, - gfc_trans_omp_declare_variant): Likewise. - -2024-10-19 Tobias Burnus <tburnus@baylibre.com> - - * data.cc (gfc_assign_data_value): Use linemap_location_before_p - and GFC_LOCUS_IS_SET. - * decl.cc (gfc_verify_c_interop_param): Make better translatable. - (build_sym, variable_decl, gfc_match_formal_arglist, - gfc_match_subroutine): Add range-based locations, use it in - diagnostic and gobble whitespace for better locations. - * error.cc (gfc_get_location_with_offset): Handle new format. - (gfc_get_location_range): New. - * expr.cc (gfc_check_assign): Use GFC_LOCUS_IS_SET. - * frontend-passes.cc (check_locus_code, check_locus_expr): - Likewise. - (runtime_error_ne): Use GFC_LOCUS_IS_SET. - * gfortran.h (locus): Change lb to union with lb and location. - (GFC_LOCUS_IS_SET): Define. - (gfc_get_location_range): New prototype. - (gfc_new_symbol, gfc_get_symbol, gfc_get_sym_tree, - gfc_get_ha_symbol, gfc_get_ha_sym_tree): Take optional locus - argument. - * io.cc (io_constraint): Use GFC_LOCUS_IS_SET. - * match.cc (gfc_match_sym_tree): Use range locus. - * openmp.cc (gfc_match_omp_variable_list, - gfc_match_omp_doacross_sink): Likewise. - * parse.cc (next_free): Update for locus struct change. - * primary.cc (gfc_match_varspec): Likewise. - (match_variable): Use range locus. - * resolve.cc (find_array_spec): Use GFC_LOCUS_IS_SET. - * scanner.cc (gfc_at_eof, gfc_at_bol, gfc_start_source_files, - gfc_advance_line, gfc_define_undef_line, skip_fixed_comments, - gfc_gobble_whitespace, include_stmt, gfc_new_file): Update - for locus struct change. - * symbol.cc (gfc_new_symbol, gfc_get_sym_tree, gfc_get_symbol, - gfc_get_ha_sym_tree, gfc_get_ha_symbol): Take optional locus. - * trans-array.cc (gfc_trans_array_constructor_value): Use %L not %C. - (gfc_trans_g77_array, gfc_trans_dummy_array_bias, - gfc_trans_class_array, gfc_trans_deferred_array): Replace - gfc_{save,set,restore}_backend_locus by directly using - input_location. - * trans-common.cc (build_equiv_decl, get_init_field): Likewise. - * trans-decl.cc (gfc_get_extern_function_decl, build_function_decl, - build_entry_thunks, gfc_null_and_pass_deferred_len, - gfc_trans_deferred_vars, gfc_trans_use_stmts, finish_oacc_declare, - gfc_generate_block_data): Likewise. - * trans-expr.cc (gfc_copy_class_to_class, gfc_conv_expr): Changes - to avoid gfc_current_locus. - * trans-io.cc (set_error_locus): Likewise. - * trans-openmp.cc (gfc_trans_omp_workshare): Use input_locus directly. - * trans-stmt.cc (gfc_trans_if_1): Likewise and use GFC_LOCUS_IS_SET. - * trans-types.cc (gfc_get_union_type, gfc_get_derived_type): Likewise. - * trans.cc (gfc_locus_from_location): New. - (trans_runtime_error_vararg, gfc_trans_runtime_check): Use location_t - for file + line data. - (gfc_current_backend_file, gfc_save_backend_locus, - gfc_set_backend_locus, gfc_restore_backend_locus): Remove. - (trans_code): Use input_location directly, don't set gfc_current_locus. - * trans.h (gfc_save_backend_locus, gfc_set_backend_locus, - gfc_restore_backend_locus): Remove prototypes. - (gfc_locus_from_location): Add prototype. - -2024-10-19 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/117225 - * primary.cc (match_sym_complex_part): An UNSIGNED in - a complex part is an error. - -2024-10-18 Alejandro Colomar <alx@kernel.org> - - * trans-array.cc (structure_alloc_comps) - * trans-openmp.cc - (gfc_walk_alloc_comps) - (gfc_omp_clause_linear_ctor): - Rename array_type_nelts => array_type_nelts_minus_one - -2024-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> - - * error.cc (notify_std_msg): Handle GFC_STD_UNSIGNED. - -2024-10-17 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/80235 - * trans-decl.cc (gfc_build_qualified_array): Make sure the array - is associated to the correct module and being marked as extern. - -2024-10-15 Thomas Schwinge <tschwinge@baylibre.com> - Harald Anlauf <anlauf@gmx.de> - - PR fortran/82250 - PR fortran/82251 - PR fortran/117136 - * trans-expr.cc (gfc_conv_procedure_call): Initialize - 'is_builtin'. - (conv_function_val): Clean up. - -2024-10-14 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/77871 - * trans-expr.cc (gfc_conv_derived_to_class): Assign token when - converting a coarray to class. - (gfc_get_tree_for_caf_expr): For classes get the caf decl from - the saved descriptor. - (gfc_get_caf_token_offset):Assert that coarray=lib is set and - cover more cases where the tree having the coarray token can be. - * trans-intrinsic.cc (gfc_conv_intrinsic_caf_get): Use unified - test for pointers. - -2024-10-13 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.h (gfc_option_t): Add disable_acc_on_device. - * options.cc (gfc_handle_option): Handle -fno-builtin-acc_on_device. - * trans-decl.cc (gfc_get_extern_function_decl): Move - __builtin_omp_is_initial_device handling to ... - * trans-expr.cc (get_builtin_fn): ... this new function. - (conv_function_val): Call it. - (update_builtin_function): New. - (gfc_conv_procedure_call): Call it. - * types.def (BT_BOOL): Fix type by using bool_type_node. - -2024-10-12 Thomas Koenig <tkoenig@gcc.gnu.org> - - * dump-parse-tree.cc (get_c_type_name): Also handle BT_UNSIGNED. - * gfortran.h (NAMED_UINTCST): Define before inclusion - of iso-c-binding.def and iso-fortran-env.def. - (gfc_get_uint_kind_from_width_isofortranenv): Prototype. - * gfortran.texi: Mention new constants in iso_c_binding and - iso_fortran_env. - * iso-c-binding.def: Handle NAMED_UINTCST. Add c_unsigned, - c_unsigned_short,c_unsigned_char, c_unsigned_long, - c_unsigned_long_long, c_uintmax_t, c_uint8_t, c_uint16_t, - c_uint32_t, c_uint64_t, c_uint128_t, c_uint_least8_t, - c_uint_least16_t, c_uint_least32_t, c_uint_least64_t, - c_uint_least128_t, c_uint_fast8_t, c_uint_fast16_t, - c_uint_fast32_t, c_uint_fast64_t and c_uint_fast128_t. - * iso-fortran-env.def: Handle NAMED_UINTCST. Add uint8, uint16, - uint32 and uint64. - * module.cc (parse_integer): Whitespace fix. - (write_module): Whitespace fix. - (NAMED_UINTCST): Define before inclusion of iso-fortran-evn.def - and iso-fortran-env.def. - * symbol.cc: Likewise. - * trans-types.cc (get_unsigned_kind_from_node): New function. - (get_uint_kind_from_name): New function. - (gfc_get_uint_kind_from_width_isofortranenv): New function. - (get_uint_kind_from_width): New function. - (gfc_init_kinds): Initialize gfc_c_uint_kind. - -2024-10-12 Tobias Burnus <tburnus@baylibre.com> - - * openmp.cc (resolve_omp_clauses): Diagnose polymorphic mapping. - * trans-openmp.cc (gfc_omp_finish_clause): Warn when - polymorphic variable is implicitly mapped. - -2024-10-12 Tobias Burnus <tburnus@baylibre.com> - - * array.cc (gfc_match_array_constructor): Only update the - character length if the expression is of character type. - * error.cc (gfc_get_location_with_offset): New; split off - from ... - (gfc_format_decoder): ... here; call it. - * gfortran.h (gfc_get_location_with_offset): New prototype. - (gfc_get_location): New inline function. - * trans.cc (gfc_get_location): Remove function definition. - * trans.h (gfc_get_location): Remove declaration. - -2024-10-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * intrinsic.cc (add_functions): Convert uint and - selected_unsigned_kind to GFC_STD_UNSIGNED. - (gfc_check_intrinsic_standard): Handle GFC_STD_UNSIGNED. - * libgfortran.h (GFC_STD_UNSIGNED): Add. - * options.cc (gfc_post_options): Set GFC_STD_UNSIGNED - if -funsigned is set. - -2024-10-11 Tobias Burnus <tburnus@baylibre.com> - - * error.cc (error_char, error_string, error_uinteger, error_integer, - error_hwuint, error_hwint, gfc_widechar_display_length, - gfc_wide_display_length, error_printf, show_locus, show_loci): - Remove unused static functions. - (IBUF_LEN, MAX_ARGS): Remove now unused #define. - -2024-10-08 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/51815 - * array.cc (gfc_match_array_ref): Only parse coarray part of - ref. - * match.h (gfc_match_array_ref): Add flag. - * primary.cc (gfc_match_varspec): Request only coarray ref - parsing when no regular array is present. Report error on - unexpected additional ref. - -2024-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.cc (gfc_check_minloc_maxloc): Handle BT_UNSIGNED. - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Likewise. - * gfortran.texi: Document MAXLOC and MINLOC for UNSIGNED. - -2024-10-07 Tobias Burnus <tburnus@baylibre.com> - - * openmp.cc (is_predefined_allocator): Use gomp-constants.h consts. - * trans-common.cc (translate_common): Reject OpenMP allocate directives. - * trans-decl.cc (gfc_finish_var_decl): Handle allocate directive - for static variables. - (gfc_trans_deferred_vars): Update for the latter. - -2024-10-01 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.cc (int_or_real_or_char_or_unsigned_check_f2003): New function. - (gfc_check_minval_maxval): Use it. - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxval): Handle - initial values for UNSIGNED. - * gfortran.texi: Document MINVAL and MAXVAL for unsigned. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * error.cc (gfc_diagnostic_build_locus_prefix): Convert first - param from diagnostic_context * to - const diagnostic_location_print_policy &. Add colorize param. - Likewise for the "two expanded_locations" overload. - (gfc_diagnostic_text_starter): Update for above changes. - (gfc_diagnostic_start_span): Update for change to callback type. - -2024-09-30 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/81265 - * trans-expr.cc (gfc_conv_procedure_call): Ensure coarrays use a - descriptor when passed. - -2024-09-28 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.cc (intrinsic_type_check): Handle unsigned. - (gfc_check_findloc): Likewise. - * gfortran.texi: Include FINDLOC in unsigned documentation. - * iresolve.cc (gfc_resolve_findloc): Use INTEGER version - for UNSIGNED. - -2024-09-28 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.cc (gfc_check_eoshift): Handle BT_UNSIGNED. - * simplify.cc (gfc_simplify_eoshift): Likewise. - * gfortran.texi: Document CSHIFT and EOSHIFT for UNSIGNED. - -2024-09-26 Mikael Morin <mikael@gcc.gnu.org> - - * invoke.texi (-M): Remove index reference to removed documentation. - -2024-09-25 Mikael Morin <mikael@gcc.gnu.org> - - PR other/116801 - * invoke.texi: Remove @code wrapping in arguments to @opindex. - (std=): Remove spurious 'option' in index. - (idirafter, imultilib, iprefix, isysroot, iquote, isystem, - fintrinsic-modules-path): Remove variable from index. - * lang.opt.urls: Regenerate. - -2024-09-25 Tobias Burnus <tburnus@baylibre.com> - - * parse.cc (decode_omp_directive): Set target-used bit of - omp_requires_mask when encountering the declare_target or interop - directive. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.cc (gfc_check_random_number): Adjust for unsigned. - * iresolve.cc (gfc_resolve_random_number): Handle unsigned. - * trans-expr.cc (gfc_conv_expr_op): Handle BT_UNSIGNED for divide. - * trans-types.cc (gfc_get_dtype_rank_type): Handle BT_UNSIGNED. - * gfortran.texi: Add RANDOM_NUMBER for UNSIGNED. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.cc (gfc_check_transf_bit_intrins): Handle unsigned. - * gfortran.texi: Docment IANY, IALL and IPARITY for unsigned. - * iresolve.cc (gfc_resolve_iall): Set flag to use integer - if type is BT_UNSIGNED. - (gfc_resolve_iany): Likewise. - (gfc_resolve_iparity): Likewise. - * simplify.cc (do_bit_and): Adjust asserts for BT_UNSIGNED. - (do_bit_ior): Likewise. - (do_bit_xor): Likewise - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.texi: Document SUM and PRODUCT. - * iresolve.cc (resolve_transformational): New argument, - use_integer, to translate calls to unsigned to calls to - integer. - (gfc_resolve_product): Use it - (gfc_resolve_sum): Use it. - * simplify.cc (init_result_expr): Handle BT_UNSIGNED. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * arith.cc (gfc_arith_uminus): Fix warning. - (gfc_arith_minus): Correctly truncate unsigneds. - * check.cc (gfc_check_dot_product): Handle unsigned arguments. - (gfc_check_matmul): Likewise. - * expr.cc (gfc_get_unsigned_expr): New function. - * gfortran.h (gfc_get_unsigned_expr): Add prototype. - * iresolve.cc (gfc_resolve_matmul): If using UNSIGNED, use the - signed integer version. - * gfortran.texi: Document MATMUL and DOT_PRODUCT for unsigned. - * simplify.cc (compute_dot_product): Handle unsigneds. - -2024-09-24 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/101100 - * trans-expr.cc (trans_caf_token_assign): Take caf-token from - decl for non ultimate coarray components. - -2024-09-24 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/84870 - * trans-array.cc (duplicate_allocatable_coarray): For scalar - allocatable components the memory allocated is now assigned to - the component's pointer. - -2024-09-24 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.h (enum gfc_omp_requires_kind): Add OMP_REQ_SELF_MAPS. - (gfc_namespace): Enlarge omp_requires bitfield. - * module.cc (enum ab_attribute, attr_bits): Add AB_OMP_REQ_SELF_MAPS. - (mio_symbol_attribute): Handle it. - * openmp.cc (gfc_check_omp_requires, gfc_match_omp_requires): Handle - self_maps clause. - * parse.cc (gfc_parse_file): Handle self_maps clause. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * invoke.texi(finline-intrinsics): Document new flag. - * lang.opt (finline-intrinsics, finline-intrinsics=, - fno-inline-intrinsics): New flags. - * options.cc (gfc_post_options): If the option variable controlling - the inlining of MAXLOC (respectively MINLOC) has not been set, set - it or clear it depending on the optimization option variables. - * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return false - if inlining for the intrinsic is disabled according to the option - variable. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Generate a set - of index variables. Set them using the loop indexes before leaving - the first set of loops. Generate a new loop entry predicate. - Initialize it. Set it before leaving the first set of loops. Clear - it in the body of the second set of loops. For the second set of - loops, update each loop lower bound to use the corresponding index - variable if the predicate variable is set. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Initialize - and update all the variables. Put the label and goto in the - outermost scalarizer loop. Don't start the second loop where the - first stopped. - (gfc_inline_intrinsic_function_p): Also return TRUE for array MASK - or for any REAL type. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Generate - variable initialization for each dimension in the else branch of - the toplevel condition. - (gfc_inline_intrinsic_function_p): Return TRUE for scalar MASK. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-array.cc (gfc_conv_ss_startstride): Set the MINLOC/MAXLOC - result upper bound using the rank of the ARRAY argument. Ajdust - the error message for intrinsic result arrays. Only check array - bounds for array references. Move bound check decision code... - (bounds_check_needed): ... here as a new predicate. Allow bound - check for MINLOC/MAXLOC intrinsic results. - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Change the - result array upper bound to the rank of ARRAY. Update the NONEMPTY - variable to depend on the non-empty extent of every dimension. Use - one variable per dimension instead of a single variable for the - position and the offset. Update their declaration, initialization, - and update to affect the variable of each dimension. Use the first - variable only in areas only accessed with rank 1 ARRAY argument. - Set every element of the result using its corresponding variable. - (gfc_inline_intrinsic_function_p): Return true for integral ARRAY - and absent DIM and MASK. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - * trans-array.cc (gfc_conv_ss_startstride): Move array bound check - generation code... - (add_check_section_in_array_bounds): ... here as a new function. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - * frontend-passes.cc (optimize_minmaxloc): Remove. - (optimize_expr): Remove dispatch to optimize_minmaxloc. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * trans-array.cc (gfc_conv_ss_startstride): Set the scalarization - rank based on the MINLOC/MAXLOC rank if needed. Call the inline - code generation and setup the scalarizer array descriptor info - in the MINLOC and MAXLOC cases. - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Return the - result array element if the scalarizer is setup and we are inside - the loops. Restrict library function call dispatch to the case - where inline expansion is not supported. Declare an array result - if the expression isn't scalar. Initialize the array result single - element and return the result variable if the expression isn't - scalar. - (walk_inline_intrinsic_minmaxloc): New function. - (walk_inline_intrinsic_function): Add MINLOC and MAXLOC cases, - dispatching to walk_inline_intrinsic_minmaxloc. - (gfc_add_intrinsic_ss_code): Add MINLOC and MAXLOC cases. - (gfc_inline_intrinsic_function_p): Return true if ARRAY has rank 1, - regardless of DIM. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * frontend-passes.cc (optimize_minmaxloc): Skip if we can generate - inline code for the unmodified expression. - * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Add - MINLOC and MAXLOC cases. - -2024-09-20 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * error.cc: Include "diagnostic-format-text.h". - (gfc_diagnostic_starter): Rename to... - (gfc_diagnostic_text_starter): ...this. Convert first - param from diagnostic_context * to diagnostic_text_output_format & - and update accordingly. - (gfc_diagnostic_finalizer, gfc_diagnostic_text_finalizer): - Likewise. - (gfc_diagnostics_init): Update for renamings. - (gfc_diagnostics_finish): Likewise. - -2024-09-19 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/106606 - * trans-types.cc (gfc_get_derived_type): Only build non-pointer - derived types as component's types when they are not yet built. - -2024-09-19 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/85002 - * trans-array.cc (duplicate_allocatable_coarray): Allow adding - of deep copy code in the when-allocated case. Add bounds - computation before condition, because coarrays need the bounds - also when not allocated. - (structure_alloc_comps): Duplication in the coarray case is done - already, omit it. Add the deep-code when duplication a coarray. - * trans-expr.cc (gfc_trans_structure_assign): Fix comment. - -2024-09-15 Mikael Morin <mikael@gcc.gnu.org> - - * trans-expr.cc (gfc_advance_se_ss_chain): Don't use an element - from the parent scalarization chain when the current chain reaches - its end. - -2024-09-13 Tobias Burnus <tburnus@baylibre.com> - - PR fortran/116661 - * gfortran.h (gfc_omp_namelist): Rename 'init' members for clarity. - * match.cc (gfc_free_omp_namelist): Handle renaming. - * dump-parse-tree.cc (show_omp_namelist): Update for new format - and features. - * openmp.cc (gfc_match_omp_prefer_type): Parse list to 'fr' and 'attr'; - store 'fr' values as integer. - (gfc_match_omp_init): Rename variable names. - -2024-09-12 Steven G. Kargl <kargl@gcc.gnu.org> - - * module.cc (bt_types): Add BT_UNSIGNED. - -2024-09-11 Tobias Burnus <tburnus@baylibre.com> - - PR fortran/116661 - * openmp.cc (gfc_match_omp_prefer_type): NULL init a gfc_expr - variable and use right locus in gfc_error. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - * cpp.cc (cb_cpp_diagnostic_cpp_option): Convert return type from - "int" to "diagnostic_option_id". - (cb_cpp_diagnostic): Update for renaming of - diagnostic_override_option_index to diagnostic_set_option_id. - * error.cc (gfc_warning): Update for renaming of diagnostic_info - field. - (gfc_warning_now_at): Likewise. - (gfc_warning_now): Likewise. - (gfc_warning_internal): Likewise. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * error.cc (gfc_clear_pp_buffer): Rename diagnostic_context's - "printer" field to "m_printer". - (gfc_warning): Likewise. - (gfc_diagnostic_build_kind_prefix): Likewise. - (gfc_diagnostic_build_locus_prefix): Likewise. - (gfc_diagnostic_starter): Likewise. - (gfc_diagnostic_starter): Likewise. - (gfc_diagnostic_start_span): Likewise. - (gfc_diagnostic_finalizer): Likewise. - (gfc_warning_check): Likewise. - (gfc_error_opt): Likewise. - (gfc_error_check): Likewise. - -2024-09-07 Thomas Koenig <tkoenig@gcc.gnu.org> - - * arith.cc (gfc_reduce_unsigned): New function. - (gfc_arith_error): Add ARITH_UNSIGNED_TRUNCATED and - ARITH_UNSIGNED_NEGATIVE. - (gfc_arith_init_1): Initialize unsigned types. - (gfc_check_unsigned_range): New function. - (gfc_range_check): Handle unsigned types. - (gfc_arith_uminus): Likewise. - (gfc_arith_plus): Likewise. - (gfc_arith_minus): Likewise. - (gfc_arith_times): Likewise. - (gfc_arith_divide): Likewise. - (gfc_compare_expr): Likewise. - (eval_intrinsic): Likewise. - (gfc_int2int): Also convert unsigned. - (gfc_uint2uint): New function. - (gfc_int2uint): New function. - (gfc_uint2int): New function. - (gfc_uint2real): New function. - (gfc_uint2complex): New function. - (gfc_real2uint): New function. - (gfc_complex2uint): New function. - (gfc_log2uint): New function. - (gfc_uint2log): New function. - * arith.h (gfc_int2uint, gfc_uint2uint, gfc_uint2int, gfc_uint2real): - Add prototypes. - (gfc_uint2complex, gfc_real2uint, gfc_complex2uint, gfc_log2uint): - Likewise. - (gfc_uint2log): Likewise. - * check.cc (gfc_boz2uint): New function - (type_check2): New function. - (int_or_real_or_unsigned_check): New function. - (less_than_bitsizekind): Adjust for unsingeds. - (less_than_bitsize2): Likewise. - (gfc_check_allocated): Likewise. - (gfc_check_mod): Likewise. - (gfc_check_bge_bgt_ble_blt): Likewise. - (gfc_check_bitfcn): Likewise. - (gfc_check_digits): Likewise. - (gfc_check_dshift): Likewise. - (gfc_check_huge): Likewise. - (gfc_check_iu): New function. - (gfc_check_iand_ieor_ior): Adjust for unsigneds. - (gfc_check_ibits): Likewise. - (gfc_check_uint): New function. - (gfc_check_ishft): Adjust for unsigneds. - (gfc_check_ishftc): Likewise. - (gfc_check_min_max): Likewise. - (gfc_check_merge_bits): Likewise. - (gfc_check_selected_int_kind): Likewise. - (gfc_check_shift): Likewise. - (gfc_check_mvbits): Likewise. - (gfc_invalid_unsigned_ops): Likewise. - * decl.cc (gfc_match_decl_type_spec): Likewise. - * dump-parse-tree.cc (show_expr): Likewise. - * expr.cc (gfc_get_constant_expr): Likewise. - (gfc_copy_expr): Likewise. - (gfc_extract_int): Likewise. - (numeric_type): Likewise. - * gfortran.h (enum arith): Extend with ARITH_UNSIGNED_TRUNCATED - and ARITH_UNSIGNED_NEGATIVE. - (enum gfc_isym_id): Extend with GFC_ISYM_SU_KIND and GFC_ISYM_UINT. - (gfc_check_unsigned_range): New prototype- - (gfc_arith_error): Likewise. - (gfc_reduce_unsigned): Likewise. - (gfc_boz2uint): Likewise. - (gfc_invalid_unsigned_ops): Likewise. - (gfc_convert_mpz_to_unsigned): Likewise. - * gfortran.texi: Add some rudimentary documentation. - * intrinsic.cc (gfc_type_letter): Adjust for unsigneds. - (add_functions): Add uint and adjust functions to be called. - (add_conversions): Add unsigned conversions. - (gfc_convert_type_warn): Adjust for unsigned. - * intrinsic.h (gfc_check_iu, gfc_check_uint, gfc_check_mod, gfc_simplify_uint, - gfc_simplify_selected_unsigned_kind, gfc_resolve_uint): New prototypes. - * invoke.texi: Add -funsigned. - * iresolve.cc (gfc_resolve_dshift): Handle unsigneds. - (gfc_resolve_iand): Handle unsigneds. - (gfc_resolve_ibclr): Handle unsigneds. - (gfc_resolve_ibits): Handle unsigneds. - (gfc_resolve_ibset): Handle unsigneds. - (gfc_resolve_ieor): Handle unsigneds. - (gfc_resolve_ior): Handle unsigneds. - (gfc_resolve_uint): Handle unsigneds. - (gfc_resolve_merge_bits): Handle unsigneds. - (gfc_resolve_not): Handle unsigneds. - * lang.opt: Add -funsigned. - * libgfortran.h: Add BT_UNSIGNED. - * match.cc (gfc_match_type_spec): Match UNSIGNED. - * misc.cc (gfc_basic_typename): Add UNSIGNED. - (gfc_typename): Likewise. - * primary.cc (convert_unsigned): New function. - (match_unsigned_constant): New function. - (gfc_match_literal_constant): Handle unsigned. - * resolve.cc (resolve_operator): Handle unsigned. - (resolve_ordinary_assign): Likewise. - * simplify.cc (convert_mpz_to_unsigned): Renamed to... - (gfc_convert_mpz_to_unsigned): and adjusted. - (gfc_simplify_bit_size): Adjusted for unsigned. - (compare_bitwise): Likewise. - (gfc_simplify_bge): Likewise. - (gfc_simplify_bgt): Likewise. - (gfc_simplify_ble): Likewise. - (gfc_simplify_blt): Likewise. - (simplify_cmplx): Likewise. - (gfc_simplify_digits): Likewise. - (simplify_dshift): Likewise. - (gfc_simplify_huge): Likewise. - (gfc_simplify_iand): Likewise. - (gfc_simplify_ibclr): Likewise. - (gfc_simplify_ibits): Likewise. - (gfc_simplify_ibset): Likewise. - (gfc_simplify_ieor): Likewise. - (gfc_simplify_uint): Likewise. - (gfc_simplify_ior): Likewise. - (simplify_shift): Likewise. - (gfc_simplify_ishftc): Likewise. - (gfc_simplify_merge_bits): Likewise. - (min_max_choose): Likewise. - (gfc_simplify_mod): Likewise. - (gfc_simplify_modulo): Likewise. - (gfc_simplify_popcnt): Likewise. - (gfc_simplify_range): Likewise. - (gfc_simplify_selected_unsigned_kind): Likewise. - (gfc_convert_constant): Likewise. - * target-memory.cc (size_unsigned): New function. - (gfc_element_size): Adjust for unsigned. - * trans-const.h (gfc_conv_mpz_unsigned_to_tree): Add prototype. - * trans-const.cc (gfc_conv_mpz_unsigned_to_tree): Handle unsigneds. - (gfc_conv_constant_to_tree): Likewise. - * trans-decl.cc (gfc_conv_cfi_to_gfc): Put in "not yet implemented". - * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Likewise. - * trans-stmt.cc (gfc_trans_integer_select): Handle unsigned. - (gfc_trans_select): Likewise. - * trans-intrinsic.cc (gfc_conv_intrinsic_mod): Handle unsigned. - (gfc_conv_intrinsic_shift): Likewise. - (gfc_conv_intrinsic_function): Add GFC_ISYM_UINT. - * trans-io.cc (enum iocall): Add IOCALL_X_UNSIGNED and IOCALL_X_UNSIGNED_WRITE. - (gfc_build_io_library_fndecls): Add transfer_unsigned and transfer_unsigned_write. - (transfer_expr): Handle unsigneds. - * trans-types.cc (gfc_unsinged_kinds): New array. - (gfc_unsigned_types): Likewise. - (gfc_init_kinds): Handle them. - (validate_unsigned): New function. - (gfc_validate_kind): Use it. - (gfc_build_unsigned_type): New function. - (gfc_init_types): Use it. - (gfc_get_unsigned_type): New function. - (gfc_typenode_for_spec): Handle unsigned. - * trans-types.h (gfc_get_unsigned_type): New prototype. - -2024-09-06 Tobias Burnus <tburnus@baylibre.com> - - * dump-parse-tree.cc (show_omp_namelist): Handle OMP_LIST_INIT. - (show_omp_clauses): Handle OMP_LIST_{INIT,USE,DESTORY}; move 'nowait' - from end-directive to the directive dump. - (show_omp_node, show_code_node): Handle EXEC_OMP_INTEROP. - * gfortran.h (enum gfc_statement): Add ST_OMP_INTEROP. - (OMP_LIST_INIT, OMP_LIST_USE, OMP_LIST_DESTROY): Add. - (enum gfc_exec_op): Add EXEC_OMP_INTEROP. - (struct gfc_omp_namelist): Add interop items to union. - (gfc_free_omp_namelist): Add boolean arg. - * match.cc (gfc_free_omp_namelist): Update to free - interop union members. - * match.h (gfc_match_omp_interop): New. - * openmp.cc (gfc_omp_directives): Uncomment 'interop' entry. - (gfc_free_omp_clauses, gfc_match_omp_allocate, - gfc_match_omp_flush, gfc_match_omp_clause_reduction): Update - call. - (enum omp_mask2): Add OMP_CLAUSE_{INIT,USE,DESTROY}. - (OMP_INTEROP_CLAUSES): Use it. - (gfc_match_omp_clauses): Match those clauses. - (gfc_match_omp_prefer_type, gfc_match_omp_init, - gfc_match_omp_interop): New. - (resolve_omp_clauses): Handle interop clauses. - (omp_code_to_statement): Add ST_OMP_INTEROP. - (gfc_resolve_omp_directive): Add EXEC_OMP_INTEROP. - * parse.cc (decode_omp_directive): Parse 'interop' directive. - (next_statement, gfc_ascii_statement): Handle ST_OMP_INTEROP. - * st.cc (gfc_free_statement): Likewise - * resolve.cc (gfc_resolve_code): Handle EXEC_OMP_INTEROP. - * trans.cc (trans_code): Likewise. - * trans-openmp.cc (gfc_trans_omp_directive): Print 'sorry' - for EXEC_OMP_INTEROP. - -2024-09-05 Harald Anlauf <anlauf@gmx.de> - - PR fortran/100273 - * trans-decl.cc (gfc_create_module_variable): Handle module - variable also when it is needed for the result specification - of a contained function. - -2024-09-03 David Malcolm <dmalcolm@redhat.com> - - * error.cc (gfc_move_error_buffer_from_to): Prefix all - output_buffer fields with "m_". - (gfc_diagnostics_init): Likewise. - -2024-08-31 Harald Anlauf <anlauf@gmx.de> - - * match.cc (gfc_match_namelist): Downgrade feature from GNU to - legacy extension. - -2024-08-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/98454 - * resolve.cc (resolve_symbol): Add default-initialization of - non-allocatable, non-pointer derived-type function results. - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - * error.cc (gfc_format_decoder): Convert final param from - const char **buffer_ptr to pp_token_list &formatted_token_list, - and update call to default_tree_printer accordingly. - -2024-08-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/116530 - * trans-io.cc (transfer_namelist_element): Prevent NULL pointer - dereference. - -2024-08-23 Paul Thomas <pault@gcc.gnu.org> - - Revert: - 2024-08-06 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/102689 - * trans-array.cc (get_array_ref_dim_for_loop_dim): Use the arg1 - class container carried in ss->info as the seed for a lhs in - class valued transformational intrinsic calls that are not the - rhs of an assignment. Otherwise, the lhs variable expression is - taken from the loop chain. For this latter case, the _vptr and - _len fields are set. - (gfc_trans_create_temp_array): Use either the lhs expression - seeds to build a class variable that will take the returned - descriptor as its _data field. In the case that the arg1 expr. - is used, a class typespec must be built with the correct rank - and the _vptr and _len fields set. The element size is provided - for the temporary allocation and to set the descriptor span. - (gfc_array_init_size): When an intrinsic type scalar expr3 is - used in allocation of a class array, use its element size in - the descriptor dtype. - * trans-expr.cc (gfc_conv_class_to_class): Class valued - transformational intrinsics return the pointer to the array - descriptor as the _data field of a class temporary. Extract - directly and return the address of the class temporary. - (gfc_conv_procedure_call): store the expression for the first - argument of a class valued transformational intrinsic function - in the ss info class_container field. Later, use its type as - the element type in the call to gfc_trans_create_temp_array. - (fcncall_realloc_result): Add a dtype argument and use it in - the descriptor, when available. - (gfc_trans_arrayfunc_assign): For class lhs, build a dtype with - the lhs rank and the rhs element size and use it in the call to - fcncall_realloc_result. - -2024-08-23 Gerald Pfeifer <gerald@pfeifer.com> - - * invoke.texi (Code Gen Options): Add a missing word. - -2024-08-23 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/86468 - * trans-stmt.cc (trans_associate_var): Remove superfluous - view_convert. - -2024-08-21 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/86468 - * trans-intrinsic.cc (conv_intrinsic_move_alloc): Correct - comment. - * trans-types.cc (gfc_sym_type): Pass coarray rank, not false. - (gfc_get_derived_type): Only propagate codimension for coarrays - and pointers to array components in derived typed coarrays. - -2024-08-21 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/77518 - * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Use - class_container of se when set. - -2024-08-20 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/84246 - * resolve.cc (caf_possible_reallocate): Detect arrays that may - be reallocated by caf_send. - (resolve_ordinary_assign): More reliably detect assignments - where a rewrite to caf_send is needed. - * trans-expr.cc (gfc_trans_assignment_1): Remove rewrite to - caf_send, because this is done by resolve now. - * trans-intrinsic.cc (conv_caf_send): Prevent unneeded temporary - arrays. - -2024-08-19 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/46371 - PR fortran/56496 - * expr.cc (gfc_is_coindexed): Detect is coindexed also when - rewritten to caf_get. - * trans-stmt.cc (trans_associate_var): Always accept a - descriptor for coarrays. - -2024-08-19 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/84244 - * trans-types.cc (gfc_get_derived_type): When a caf_sub_token is - generated for a component, link it to the component it is - generated for (the previous one). - -2024-08-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114146 - * intrinsic.texi: Fix documentation of arguments of RANDOM_INIT, - which is conforming to the F2018 standard. - -2024-08-15 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/116387 - * resolve.cc (resolve_operator): Use %L rather than %%L in format - string. - -2024-08-15 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/110033 - * class.cc (gfc_is_class_scalar_expr): Coarray refs that ref - only self, aka this image, are regarded as scalar, too. - * resolve.cc (resolve_assoc_var): Ignore this image coarray refs - and do not build a new class type. - * trans-expr.cc (gfc_get_caf_token_offset): Get the caf token - from the descriptor for associated variables. - (gfc_conv_variable): Same. - (gfc_trans_pointer_assignment): Assign token to temporary - associate variable, too. - (gfc_trans_scalar_assign): Add flag that assign is for associate - and use it to assign the token. - (is_assoc_assign): Detect that expressions are for associate - assign. - (gfc_trans_assignment_1): Treat associate assigns like pointer - assignments where possible. - * trans-stmt.cc (trans_associate_var): Set same_class only for - class-targets. - * trans.h (gfc_trans_scalar_assign): Add flag to - trans_scalar_assign for marking associate assignments. - -2024-08-15 Andre Vehreschild <vehre@gcc.gnu.org> - - * arith.cc (reduce_unary): Use expr.corank. - (reduce_binary_ac): Same. - (reduce_binary_ca): Same. - (reduce_binary_aa): Same. - * array.cc (gfc_match_array_ref): Same. - * check.cc (dim_corank_check): Same. - (gfc_check_move_alloc): Same. - (gfc_check_image_index): Same. - * class.cc (gfc_add_class_array_ref): Same. - (finalize_component): Same. - * data.cc (gfc_assign_data_value): Same. - * decl.cc (match_clist_expr): Same. - (add_init_expr_to_sym): Same. - * expr.cc (simplify_intrinsic_op): Same. - (simplify_parameter_variable): Same. - (gfc_check_assign_symbol): Same. - (gfc_get_variable_expr): Same. - (gfc_add_full_array_ref): Same. - (gfc_lval_expr_from_sym): Same. - (gfc_get_corank): Removed. - * frontend-passes.cc (callback_reduction): Use expr.corank. - (create_var): Same. - (combine_array_constructor): Same. - (optimize_minmaxloc): Same. - * gfortran.h (gfc_get_corank): Add corank to gfc_expr. - * intrinsic.cc (gfc_get_intrinsic_function_symbol): Use - expr.corank. - (gfc_convert_type_warn): Same. - (gfc_convert_chartype): Same. - * iresolve.cc (resolve_bound): Same. - (gfc_resolve_cshift): Same. - (gfc_resolve_eoshift): Same. - (gfc_resolve_logical): Same. - (gfc_resolve_matmul): Same. - * match.cc (copy_ts_from_selector_to_associate): Same. - * matchexp.cc (gfc_get_parentheses): Same. - * parse.cc (parse_associate): Same. - * primary.cc (gfc_match_rvalue): Same. - * resolve.cc (resolve_structure_cons): Same. - (resolve_actual_arglist): Same. - (resolve_elemental_actual): Same. - (resolve_generic_f0): Same. - (resolve_unknown_f): Same. - (resolve_operator): Same. - (gfc_expression_rank): Same and set dimen_type for coarray to - default. - (gfc_op_rank_conformable): Use expr.corank. - (add_caf_get_intrinsic): Same. - (resolve_variable): Same. - (gfc_fixup_inferred_type_refs): Same. - (check_host_association): Same. - (resolve_compcall): Same. - (resolve_expr_ppc): Same. - (resolve_assoc_var): Same. - (fixup_array_ref): Same. - (resolve_select_type): Same. - (add_comp_ref): Same. - (get_temp_from_expr): Same. - (resolve_fl_var_and_proc): Same. - (resolve_symbol): Same. - * symbol.cc (gfc_is_associate_pointer): Same. - * trans-array.cc (walk_coarray): Same. - (gfc_conv_expr_descriptor): Same. - (gfc_walk_array_ref): Same. - * trans-array.h (gfc_walk_array_ref): Same. - * trans-expr.cc (gfc_get_ultimate_alloc_ptr_comps_caf_token): - Same. - * trans-intrinsic.cc (trans_this_image): Same. - (trans_image_index): Same. - (conv_intrinsic_cobound): Same. - (gfc_walk_intrinsic_function): Same. - (conv_intrinsic_move_alloc): Same. - * trans-stmt.cc (gfc_trans_lock_unlock): Same. - (trans_associate_var): Same and adapt to slightly different - behaviour of expr.corank and gfc_get_corank. - (gfc_trans_allocate): Same. - * trans.cc (gfc_add_finalizer_call): Same. - -2024-08-14 Harald Anlauf <anlauf@gmx.de> - - * simplify.cc (gfc_simplify_sizeof): Clear used gmp variable. - * target-memory.cc (gfc_target_expr_size): Likewise. - -2024-08-14 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/102973 - * match.cc (gfc_match_associate): Reset proc_ptr parsing flag on - error. - -2024-08-14 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/116292 - * trans-intrinsic.cc (conv_intrinsic_move_alloc): Get the vtab - only for derived types and classes and adjust _len for class - types. - -2024-08-13 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/114308 - * array.cc (resolve_array_list): Reject array constructor value if - its declared type is abstract (F2018:C7114). - -2024-08-12 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/85510 - * resolve.cc (resolve_variable): Mark the variable as host - associated only, when it is not in an associate block. - * trans-decl.cc (generate_coarray_init): Remove incorrect unused - flag on parameter. - -2024-08-11 Harald Anlauf <anlauf@gmx.de> - - PR fortran/116221 - * intrinsic.cc (gfc_get_intrinsic_sub_symbol): Initialize variable. - * symbol.cc (gfc_get_ha_symbol): Likewise. - -2024-08-07 Julian Brown <julian@codesourcery.com> - Tobias Burnus <tobias@baylibre.com> - - * gfortran.h (gfc_option_t): Add disable_omp_is_initial_device. - * lang.opt (fbuiltin-): Add. - * options.cc (gfc_handle_option): Handle - -fno-builtin-omp_is_initial_device. - * f95-lang.cc (gfc_init_builtin_functions): Handle - DEF_GOMP_BUILTIN_COMPILER. - * trans-decl.cc (gfc_get_extern_function_decl): Add code to use - DEF_GOMP_BUILTIN_COMPILER for 'omp_is_initial_device'. - -2024-08-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/109105 - * resolve.cc (CHECK_INTERFACES): New helper macro. - (resolve_operator): Replace use of snprintf with - gfc_error. - -2024-08-06 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/102689 - * trans-array.cc (get_array_ref_dim_for_loop_dim): Use the arg1 - class container carried in ss->info as the seed for a lhs in - class valued transformational intrinsic calls that are not the - rhs of an assignment. Otherwise, the lhs variable expression is - taken from the loop chain. For this latter case, the _vptr and - _len fields are set. - (gfc_trans_create_temp_array): Use either the lhs expression - seeds to build a class variable that will take the returned - descriptor as its _data field. In the case that the arg1 expr. - is used, a class typespec must be built with the correct rank - and the _vptr and _len fields set. The element size is provided - for the temporary allocation and to set the descriptor span. - (gfc_array_init_size): When an intrinsic type scalar expr3 is - used in allocation of a class array, use its element size in - the descriptor dtype. - * trans-expr.cc (gfc_conv_class_to_class): Class valued - transformational intrinsics return the pointer to the array - descriptor as the _data field of a class temporary. Extract - directly and return the address of the class temporary. - (gfc_conv_procedure_call): store the expression for the first - argument of a class valued transformational intrinsic function - in the ss info class_container field. Later, use its type as - the element type in the call to gfc_trans_create_temp_array. - (fcncall_realloc_result): Add a dtype argument and use it in - the descriptor, when available. - (gfc_trans_arrayfunc_assign): For class lhs, build a dtype with - the lhs rank and the rhs element size and use it in the call to - fcncall_realloc_result. - -2024-08-03 Steve Kargl <kargls@comcast.net> - - PR fortran/104626 - * symbol.cc (gfc_add_save): Add checks for SAVE attribute - conflicts and duplicate SAVE attribute. - -2024-08-02 Mikael Morin <mikael@gcc.gnu.org> - - * trans-intrinsic.cc (maybe_absent_optional_variable): New function. - (gfc_conv_intrinsic_minmaxloc): Remove BACK from scalarization and - evaluate it before. Add a check that BACK is not null if the - expression is an optional dummy. Save the resulting expression to a - variable. Use the variable in the generated inline code. - -2024-08-01 Jakub Jelinek <jakub@redhat.com> - - * trans-types.cc (gfc_get_array_descr_info): Don't test if - !integer_zerop (dtype_off), use fold_build_pointer_plus - unconditionally. - -2024-07-29 Tobias Burnus <tburnus@baylibre.com> - - PR fortran/115559 - * trans-common.cc (build_common_decl): Add 'omp declare target' and - 'omp declare target link' variables to offload_vars. - * trans-decl.cc (add_attributes_to_decl): Likewise; update args and - call decl_attributes. - (get_proc_pointer_decl, gfc_get_extern_function_decl, - build_function_decl): Update calls. - (gfc_get_symbol_decl): Likewise; move after 'DECL_STATIC (t)=1' - to avoid errors with symtab_node::get_create. - -2024-07-22 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/88624 - * trans-expr.cc (gfc_conv_procedure_call): Treat - pointers/references (e.g. from parameters) correctly by derefing - them. - -2024-07-21 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/59104 - * gfortran.h : Add decl_order to gfc_symbol. - * symbol.cc : Add static next_decl_order.. - (gfc_set_sym_referenced): Set symbol decl_order. - * trans-decl.cc : Include dependency.h. - (decl_order): Replace symbol declared_at.lb->location with - decl_order. - -2024-07-19 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103115 - * trans-array.cc (gfc_trans_array_constructor_value): If the first - element of an array constructor is deferred-length character and - therefore does not have an element size known at compile time, do - not try to collect subsequent constant elements into a constructor - for optimization. - -2024-07-18 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/78466 - PR fortran/80774 - * array.cc (gfc_compare_array_spec): Take cotype into account. - * class.cc (gfc_build_class_symbol): Coarrays are also arrays. - * gfortran.h (IS_CLASS_COARRAY_OR_ARRAY): New macro to detect - regular and coarray class arrays. - * interface.cc (compare_components): Take codimension into - account. - * resolve.cc (resolve_symbol): Improve error message. - * simplify.cc (simplify_bound_dim): Remove duplicate. - * trans-array.cc (gfc_trans_array_cobounds): Coarrays are also - arrays. - (gfc_trans_array_bounds): Same. - (gfc_trans_dummy_array_bias): Same. - (get_coarray_as): Get the as having a non-zero codim. - (is_explicit_coarray): Detect explicit coarrays. - (gfc_conv_expr_descriptor): Create a new descriptor for explicit - coarrays. - * trans-decl.cc (gfc_build_qualified_array): Coarrays are also - arrays. - (gfc_build_dummy_array_decl): Same. - (gfc_get_symbol_decl): Same. - (gfc_trans_deferred_vars): Same. - * trans-expr.cc (class_scalar_coarray_to_class): Get the - descriptor from the correct location. - (gfc_conv_variable): Pick up the descriptor when needed. - * trans-types.cc (gfc_is_nodesc_array): Coarrays are also - arrays. - (gfc_get_nodesc_array_type): Indentation fix only. - (cobounds_match_decl): Match a tree's bounds to the expr's - bounds and return true, when they match. - (gfc_get_derived_type): Create a new type tree/descriptor, when - the cobounds of the existing declaration and expr to not - match. This happends for class arrays in parameter list, when - there are different cobound declarations. - -2024-07-18 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/108889 - * gfortran.h: Add bit field 'allocated_in_scope' to gfc_symbol. - * trans-array.cc (gfc_array_allocate): Set 'allocated_in_scope' - after allocation if not a component reference. - (gfc_alloc_allocatable_for_assignment): If 'allocated_in_scope' - not set, not a component ref and not allocated, set the array - bounds and offset to give zero length in all dimensions. Then - set allocated_in_scope. - -2024-07-18 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/82904 - * trans-types.cc (gfc_sym_type): Use type `char*` for saved - deferred length char arrays. - * trans.cc (get_array_span): Get `.span` also for `char*` typed - arrays, i.e. for those that have INTEGER_TYPE instead of - ARRAY_TYPE. - -2024-07-17 Kewen Lin <linkw@linux.ibm.com> - - PR target/112993 - * trans-types.cc (get_real_kind_from_node): Consider the case where - more than one modes have the same precision. - -2024-07-16 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/84868 - * simplify.cc (gfc_simplify_len_trim): If the argument is an - element of a parameter array, simplify all the elements and - build a new parameter array to hold the result, after checking - that it doesn't already exist. - * trans-expr.cc (gfc_get_interface_mapping_array) if a string - length is available, use it for the typespec. - (gfc_add_interface_mapping): Supply the se string length. - -2024-07-16 Prathamesh Kulkarni <prathameshk@nvidia.com> - - * trans-expr.cc (gfc_trans_zero_assign): Handle allocatable arrays. - -2024-07-13 Mikael Morin <mikael@gcc.gnu.org> - - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Add the - preliminary code generated for MASK to the preliminary code of - MINLOC/MAXLOC. - -2024-07-12 Mikael Morin <morin-mikael@orange.fr> - - * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Create a new - scalar scalarization chain element if BACK is present. Add it to - the loop. Set the scalarization chain before evaluating the - argument. - -2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org> - - * trans-array.cc (gfc_conv_array_parameter): Init variable to - NULL_TREE to fix bootstrap. - -2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/96992 - * trans-array.cc (gfc_trans_array_bounds): Set a starting - stride, when descriptor expects a variable for the stride. - (gfc_trans_dummy_array_bias): Allow storage association for - dummy class arrays, when they are not elemental. - (gfc_conv_array_parameter): Add more general class support - and packing for classes, too. - * trans-array.h (gfc_conv_array_parameter): Add lbound shift - for class arrays. - * trans-decl.cc (gfc_build_builtin_function_decls): Add decls - for internal_un-/pack_class. - * trans-expr.cc (gfc_reset_vptr): Allow supplying a type-tree - to generate the vtab from. - (gfc_class_set_vptr): Allow supplying a class-tree to take the - vptr from. - (class_array_data_assign): Rename to gfc_class_array_data_assign - and make usable from other compile units. - (gfc_class_array_data_assign): Renamed from class_array_data_ - assign. - (gfc_conv_derived_to_class): Remove assert to - allow converting derived to class type arrays with assumed - rank. Reduce code base and use gfc_conv_array_parameter also - for classes. - (gfc_conv_class_to_class): Use gfc_class_data_assign. - (gfc_conv_procedure_call): Adapt to new signature of - gfc_conv_derived_to_class. - * trans-io.cc (transfer_expr): Same. - * trans-stmt.cc (trans_associate_var): Same. - * trans.h (gfc_conv_derived_to_class): Signature changed. - (gfc_class_array_data_assign): Made public. - (gfor_fndecl_in_pack_class): Added declaration. - (gfor_fndecl_in_unpack_class): Same. - -2024-07-08 Mikael Morin <mikael@gcc.gnu.org> - - * trans-array.cc (gfc_trans_preloop_setup): Use a separate variable - for iteration. Use directly the value of variable I if it is known. - Move the definition of the variable to the branch where the - remaining uses are. - -2024-07-03 Harald Anlauf <anlauf@gmx.de> - - PR fortran/115700 - * trans-stmt.cc (trans_associate_var): When the associate target - is an array-valued character variable, the length is known at entry - of the associate block. Move setting of string length of the - selector to the initialization part of the block. - -2024-07-01 Andrew Stubbs <ams@baylibre.com> - Thomas Schwinge <thomas@codesourcery.com> - - * openmp.cc (is_predefined_allocator): Update valid ranges to - incorporate ompx_gnu_pinned_mem_alloc. - -2024-06-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114019 - * trans-stmt.cc (gfc_trans_allocate): Fix handling of case of - scalar character expression being used for SOURCE. - -2024-06-28 Andre Vehreschild <vehre@gcc.gnu.org> - - * trans-expr.cc (gfc_class_set_vptr): Add setting of _vptr - member. - * trans-intrinsic.cc (conv_intrinsic_move_alloc): First use - of gfc_class_set_vptr and refactor very similar code. - * trans.h (gfc_class_set_vptr): Declare the new function. - -2024-06-28 Andre Vehreschild <vehre@gcc.gnu.org> - - * trans-array.cc (structure_alloc_comps): Use reset_vptr. - * trans-decl.cc (gfc_trans_deferred_vars): Same. - (gfc_generate_function_code): Same. - * trans-expr.cc (gfc_reset_vptr): Allow supplying the class - type. - (gfc_conv_procedure_call): Use reset_vptr. - * trans-intrinsic.cc (gfc_conv_intrinsic_transfer): Same. - -2024-06-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/55978 - * trans-array.cc (gfc_conv_array_parameter): Do not dereference - data component of a missing allocatable dummy array argument for - passing as actual to optional dummy. Harden logic of presence - check for optional pointer dummy by using TRUTH_ANDIF_EXPR instead - of TRUTH_AND_EXPR. - -2024-06-20 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/59104 - * dependency.cc (dependency_fcn, gfc_function_dependency): New - functions to detect dependency in array bounds and character - lengths on old style function results. - * dependency.h : Add prototype for gfc_function_dependency. - * error.cc (error_print): Remove trailing space. - * gfortran.h : Remove dummy_order and add fn_result_spec. - * symbol.cc : Remove declaration of next_dummy_order.. - (gfc_set_sym_referenced): remove setting of symbol dummy order. - * trans-array.cc (gfc_trans_auto_array_allocation): Detect - non-dummy symbols with function dependencies and put the - allocation at the end of the initialization code. - * trans-decl.cc : Include dependency.h. - (decl_order): New function that determines uses the location - field of the symbol 'declared_at' to determine the order of two - declarations. - (gfc_defer_symbol_init): Call gfc_function_dependency to put - dependent symbols in the right part of the tlink chain. Use - the location field of the symbol declared_at to determine the - order of declarations. - (gfc_trans_auto_character_variable): Put character length - initialization of dependent symbols at the end of the chain. - * trans.cc (gfc_add_init_cleanup): Add boolean argument with - default false that determines whther an expression is placed at - the back or the front of the initialization chain. - * trans.h : Update the prototype for gfc_add_init_cleanup. - -2024-06-19 Harald Anlauf <anlauf@gmx.de> - - PR fortran/115390 - * trans-decl.cc (gfc_conv_cfi_to_gfc): Move derivation of type sizes - for character via gfc_trans_vla_type_sizes to after character length - has been set. - -2024-06-19 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/90076 - * trans-decl.cc (gfc_generate_function_code): Set vptr for - results to declared class type. - * trans-expr.cc (gfc_reset_vptr): Allow to provide the typespec - instead of the expression. - * trans.h (gfc_reset_vptr): Same. - -2024-06-17 Andre Vehreschild <vehre@gcc.gnu.org> - - * trans.cc (gfc_deallocate_with_status): Check that object to deref - is an array, before applying array deref. - -2024-06-12 David Malcolm <dmalcolm@redhat.com> - - * error.cc (gfc_clear_pp_buffer): Likewise. - (gfc_warning): Likewise. - (gfc_warning_check): Likewise. - (gfc_error_opt): Likewise. - (gfc_error_check): Likewise. - -2024-06-07 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/90068 - * trans-array.cc (gfc_trans_array_ctor_element): Eval non- - variable expressions once only. - (gfc_trans_array_constructor_value): Add statements of - final block. - (trans_array_constructor): Detect when final block is required. - -2024-06-07 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/90072 - * expr.cc (gfc_is_alloc_class_scalar_function): Detect - allocatable class return types also for user-defined - functions. - * trans-expr.cc (gfc_conv_procedure_call): Same. - (trans_class_vptr_len_assignment): Compute vptr len - assignment correctly for user-defined functions. - -2024-06-05 Jakub Jelinek <jakub@redhat.com> - Frederik Harwath <frederik@codesourcery.com> - Sandra Loosemore <sandra@codesourcery.com> - - * gfortran.h (enum gfc_statement): Add ST_OMP_UNROLL, - ST_OMP_END_UNROLL, ST_OMP_TILE and ST_OMP_END_TILE. - (struct gfc_omp_clauses): Add sizes_list, partial, full and erroneous - members. - (enum gfc_exec_op): Add EXEC_OMP_UNROLL and EXEC_OMP_TILE. - (gfc_expr_list_len): Declare. - * match.h (gfc_match_omp_tile, gfc_match_omp_unroll): Declare. - * openmp.cc (gfc_get_location): Declare. - (gfc_free_omp_clauses): Free sizes_list. - (match_oacc_expr_list): Rename to ... - (match_omp_oacc_expr_list): ... this. Add is_omp argument and - change diagnostic wording if it is true. - (enum omp_mask2): Add OMP_CLAUSE_{FULL,PARTIAL,SIZES}. - (gfc_match_omp_clauses): Parse full, partial and sizes clauses. - (gfc_match_oacc_wait): Use match_omp_oacc_expr_list instead of - match_oacc_expr_list. - (OMP_UNROLL_CLAUSES, OMP_TILE_CLAUSES): Define. - (gfc_match_omp_tile, gfc_match_omp_unroll): New functions. - (resolve_omp_clauses): Diagnose full vs. partial clause conflict. - Resolve sizes clause arguments. - (find_nested_loop_in_chain): Use switch instead of series of ifs. - Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. - (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to - list length of sizes_list if present. - (gfc_resolve_do_iterator): Return for EXEC_OMP_TILE or - EXEC_OMP_UNROLL. - (restructure_intervening_code): Remove spurious ()s around & operands. - (is_outer_iteration_variable): Handle EXEC_OMP_TILE and - EXEC_OMP_UNROLL. - (check_nested_loop_in_chain): Likewise. - (expr_is_invariant): Likewise. - (resolve_omp_do): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. Diagnose - tile without sizes clause. Use sizes_list length for count if - non-NULL. Set code->ext.omp_clauses->erroneous on loops where we've - reported diagnostics. Sorry for mixing non-rectangular loops with - generated loops. - (omp_code_to_statement): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. - (gfc_resolve_omp_directive): Likewise. - * parse.cc (decode_omp_directive): Parse end tile, end unroll, tile - and unroll. Move nothing entry alphabetically. - (case_exec_markers): Add ST_OMP_TILE and ST_OMP_UNROLL. - (gfc_ascii_statement): Handle ST_OMP_END_TILE, ST_OMP_END_UNROLL, - ST_OMP_TILE and ST_OMP_UNROLL. - (parse_omp_do): Add nested argument. Handle ST_OMP_TILE and - ST_OMP_UNROLL. - (parse_omp_structured_block): Adjust parse_omp_do caller. - (parse_executable): Likewise. Handle ST_OMP_TILE and ST_OMP_UNROLL. - * resolve.cc (gfc_resolve_blocks): Handle EXEC_OMP_TILE and - EXEC_OMP_UNROLL. - (gfc_resolve_code): Likewise. - * st.cc (gfc_free_statement): Likewise. - * trans.cc (trans_code): Likewise. - * trans-openmp.cc (gfc_trans_omp_clauses): Handle full, partial and - sizes clauses. Use tree_cons + nreverse instead of - temporary vector and build_tree_list_vec for tile_list handling. - (gfc_expr_list_len): New function. - (gfc_trans_omp_do): Rename tile to oacc_tile. Handle sizes clause. - Don't assert code->op is EXEC_DO. Handle EXEC_OMP_TILE and - EXEC_OMP_UNROLL. - (gfc_trans_omp_directive): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. - * dump-parse-tree.cc (show_omp_clauses): Dump full, partial and - sizes clauses. - (show_omp_node): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. - (show_code_node): Likewise. - -2024-06-05 Kewen Lin <linkw@linux.ibm.com> - - * trans-intrinsic.cc (build_round_expr): Use TYPE_PRECISION of - long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. - * trans-types.cc (gfc_build_real_type): Use TYPE_PRECISION of - {float,double,long_double}_type_node to replace - {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE. - -2024-06-04 Harald Anlauf <anlauf@gmx.de> - - PR fortran/83865 - * trans-stmt.cc (gfc_trans_allocate): Restrict special case for - source-expression with zero-length character to rank 0, so that - the array shape is not discarded. - -2024-05-29 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/90069 - * trans-expr.cc (gfc_conv_procedure_call): Evaluate - expressions with side-effects only ones and ensure - old is freeed. - -2024-05-24 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93635 - * symbol.cc (conflict_std): Helper function for reporting attribute - conflicts depending on the Fortran standard version. - (conf_std): Helper macro for checking standard-dependent conflicts. - (gfc_check_conflict): Use it. - -2024-05-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/86100 - * trans-array.cc (gfc_conv_ss_startstride): Use abridged_ref_name - to generate a more user-friendly name for bounds-check messages. - * trans-expr.cc (gfc_copy_class_to_class): Fix bounds check for - rank>1 by looping over the dimensions. - -2024-05-23 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/103312 - * dependency.cc (gfc_dep_compare_expr): Handle component call - expressions. Return -2 as default and return 0 if compared with - a function expression that is from an interface body and has - the same name. - * expr.cc (gfc_reduce_init_expr): If the expression is a comp - call do not attempt to reduce, defer to resolution and return - false. - * trans-types.cc (gfc_get_dtype_rank_type, - gfc_get_nodesc_array_type): Fix whitespace. - -2024-05-20 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/99798 - * symbol.cc (gfc_release_symbol): Move the condition guarding - the handling cyclic references... - (cyclic_reference_break_needed): ... here as a new predicate. - Remove superfluous parts. Add a condition preventing any premature - release with submodule symbols. - -2024-05-20 Tobias Burnus <tburnus@baylibre.com> - - PR fortran/115150 - * trans-intrinsic.cc (gfc_conv_intrinsic_bound): Fix SHAPE - for zero-size arrays - -2024-05-20 Tobias Burnus <tburnus@baylibre.com> - - * invoke.texi (fcoarray): Link to OpenCoarrays.org; - mention libcaf_single. - -2024-05-17 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/114874 - * gfortran.h: Add 'assoc_name_inferred' to gfc_namespace. - * match.cc (gfc_match_select_type): Set 'assoc_name_inferred' - in select type namespace if the selector has inferred type. - * primary.cc (gfc_match_varspec): If a select type temporary - is apparently scalar and a left parenthesis has been detected, - check the current namespace has 'assoc_name_inferred' set. If - so, set inferred_type. - * resolve.cc (resolve_variable): If the namespace of a select - type temporary is marked with 'assoc_name_inferred' call - gfc_fixup_inferred_type_refs to ensure references are OK. - (gfc_fixup_inferred_type_refs): Catch invalid array refs.. - -2024-05-15 Jakub Jelinek <jakub@redhat.com> - - PR c/115103 - * openmp.cc (resolve_omp_clauses): Diagnose grainsize - used together with num_tasks or nogroup used together with - reduction. - -2024-05-13 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/113363 - * trans-array.cc (gfc_array_init_size): Use the expr3 dtype so - that the correct element size is used. - * trans-expr.cc (gfc_conv_procedure_call): Remove restriction - that ss and ss->loop be present for the finalization of class - array function results. - (trans_class_assignment): Use free and malloc, rather than - realloc, for character expressions assigned to unlimited poly - entities. - * trans-stmt.cc (gfc_trans_allocate): Build a correct rhs for - the assignment of an unlimited polymorphic 'source'. - -2024-05-12 Harald Anlauf <anlauf@gmx.de> - - * primary.cc (gfc_match_varspec): Replace 'ref' argument to - is_inquiry_ref() by NULL when the result is not needed to avoid - a memleak. - -2024-05-12 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/84006 - PR fortran/100027 - PR fortran/98534 - * iresolve.cc (gfc_resolve_transfer): Emit a TODO error for - unlimited polymorphic mold. - * trans-expr.cc (gfc_resize_class_size_with_len): Use the fold - even if a block is not available in which to fix the result. - (trans_class_assignment): Enable correct assignment of - character expressions to unlimited polymorphic variables using - lhs _len field and rse string_length. - * trans-intrinsic.cc (gfc_conv_intrinsic_storage_size): Extract - the class expression so that the unlimited polymorphic class - expression can be used in gfc_resize_class_size_with_len to - obtain the storage size for character payloads. Guard the use - of GFC_DECL_SAVED_DESCRIPTOR by testing for DECL_LANG_SPECIFIC - to prevent the ICE. Also, invert the order to use the class - expression extracted from the argument. - (gfc_conv_intrinsic_transfer): In same way as 'storage_size', - use the _len field to obtaining the correct length for arg 1. - Add a branch for the element size in bytes of class expressions - with provision to make use of the unlimited polymorphic _len - field. Again, the class references are explicitly identified. - 'mold_expr' was already declared. Use it instead of 'arg'. Do - not fix 'dest_word_len' for deferred character sources because - reallocation on assign makes use of it before it is assigned. - -2024-05-11 Harald Anlauf <anlauf@gmx.de> - - PR fortran/115039 - * expr.cc (gfc_traverse_expr): An inquiry ref does not constitute - a dependency and cannot collide with a symbol. - -2024-05-05 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114827 - * trans-array.cc (gfc_alloc_allocatable_for_assignment): Take into - account _len of unlimited polymorphic entities when calculating - the effective element size for allocation size and array span. - Set _len of lhs to _len of rhs. - * trans-expr.cc (trans_class_assignment): Take into account _len - of unlimited polymorphic entities for allocation size. - -2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * expr.cc (check_transformational): Add SELECTED_LOGICAL_KIND - to allowed functions for Fortran 2023. - * gfortran.h (GFC_ISYM_SL_KIND): New. - * gfortran.texi: Mention SELECTED_LOGICAL_KIND. - * intrinsic.cc (add_functions): Add SELECTED_LOGICAL_KIND. - (gfc_intrinsic_func_interface): Allow it in initialization - expressions. - * intrinsic.h (gfc_simplify_selected_logical_kind): New proto. - * intrinsic.texi: Add SELECTED_LOGICAL_KIND. - * simplify.cc (gfc_simplify_selected_logical_kind): New - function. - * trans-decl.cc (gfc_build_intrinsic_function_decls): Initialize - gfor_fndecl_sl_kind. - * trans-intrinsic.cc (gfc_conv_intrinsic_sl_kind): New function. - (gfc_conv_intrinsic_function): Call it for GFC_ISYM_SL_KIND. - * trans.h (gfor_fndecl_sl_kind): New symbol. - -2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * iso-fortran-env.def: Add logical{8,16,32,64} and - real16 named constants. - -2024-04-29 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/114959 - * trans-expr.cc (gfc_trans_class_init_assign): Return NULL_TREE - if the default initializer has all NULL fields. Guard this - by a requirement that the code not be EXEC_INIT_ASSIGN and that - the object be an INTENT_OUT dummy. - * trans-stmt.cc (gfc_trans_allocate): Change the initializer - code for allocate with mold to EXEC_ALLOCATE to allow an - initializer with all NULL fields. - -2024-04-25 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/93678 - * trans-expr.cc (gfc_conv_procedure_call): Use the interface, - where possible, to obtain the type of character procedure - pointers of class entities. - -2024-04-25 Paul Thomas <pault@gcc.gnu.org> - Jakub Jelinek <jakub@gcc.gnu.org> - - PR fortran/89462 - * decl.cc (build_sym): Add an extra argument 'elem'. If 'elem' - is greater than 1, gfc_new_charlen is called to generate a new - charlen, registered in the symbol namespace. - (variable_decl, enumerator_decl): Set the new argument in the - calls to build_sym. - -2024-04-21 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/103471 - * resolve.cc (resolve_actual_arglist): Catch variables silently - set as untyped, resetting the flag so that gfc_resolve_expr can - generate the no implicit type error. - (gfc_resolve_index_1): Block index expressions of unknown type - from being converted to default integer, avoiding the fatal - error in trans-decl.cc. - * symbol.cc (gfc_set_default_type): Remove '(symbol)' from the - 'no IMPLICIT type' error message. - * trans-decl.cc (gfc_get_symbol_decl): Change fatal error locus - to that of the symbol declaration. - (gfc_trans_deferred_vars): Remove two trailing tabs. - -2024-04-18 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/114739 - * primary.cc (gfc_match_varspec): Check for default type before - checking for derived types with the right component name. - -2024-04-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113793 - * resolve.cc (resolve_allocate_expr): Reject ALLOCATE with SOURCE= - or MOLD= specifier for unequal length. - * trans-stmt.cc (gfc_trans_allocate): If an allocatable character - variable has fixed length, use it and do not use the source length. - With bounds-checking enabled, add a runtime check for same length. - -2024-04-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106500 - * check.cc (is_c_interoperable): Fix checks for C_SIZEOF. - (gfc_check_c_f_pointer): Reject function returning a pointer as FPTR, - and improve an error message. - -2024-04-09 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/114535 - * resolve.cc (resolve_symbol): Remove last chunk that checked - for finalization of unreferenced symbols. - -2024-04-09 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/113956 - * trans-expr.cc (gfc_trans_pointer_assignment): Remove assert - causing the ICE since it was unnecesary. - -2024-04-02 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/106999 - * interface.cc (gfc_compare_interfaces): Add error for a - subroutine proc pointer passed to a variable formal. - (compare_parameter): If a procedure pointer is being passed to - a non-procedure formal arg, and there is an an interface, use - gfc_compare_interfaces to check and provide a more useful error - message. - -2024-04-02 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/112407 - * resolve.cc (resolve_procedure_expression): Change the test for - for recursion in the case of hidden procedures from modules. - (resolve_typebound_static): Add warning for possible recursive - calls to typebound procedures. - * trans-expr.cc (gfc_trans_class_init_assign): Do not apply - default initializer to class dummy where component initializers - are all null. - -2024-03-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/50410 - * trans-expr.cc (gfc_conv_structure): Check for NULL pointer. - -2024-03-29 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/36337 - PR fortran/110987 - PR fortran/113885 - * trans-expr.cc (gfc_trans_assignment_1): Place finalization - block before rhs post block for elemental rhs. - * trans.cc (gfc_finalize_tree_expr): Check directly if a type - has no components, rather than the zero components attribute. - Treat elemental zero component expressions in the same way as - scalars. - -2024-03-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114474 - * primary.cc (gfc_variable_attr): Catch variables used in structure - constructors within DATA statements that are still tagged with a - temporary type BT_PROCEDURE from match_actual_arg and which have the - target attribute, and fix their typespec. - -2024-03-28 Mikael Morin <mikael@gcc.gnu.org> - Harald Anlauf <anlauf@gmx.de> - - PR fortran/111781 - PR fortran/114475 - * expr.cc (check_restricted): In submodules, allow variables host- - associated from the parent module. - -2024-03-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/55978 - * interface.cc (gfc_compare_actual_formal): Skip size check for - NULL() actual without MOLD argument. - -2024-03-22 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/107426 - * gfortran.h (gfc_save_module_list, gfc_restore_old_module_list): - New declarations. - * module.cc (old_module_list_tail): New global variable. - (gfc_save_module_list, gfc_restore_old_module_list): New functions. - (gfc_use_modules): Set module_list and old_module_list_tail. - * parse.cc (next_statement): Save module_list before doing any work. - (reject_statement): Restore module_list to its saved value. - -2024-03-22 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/111781 - * symbol.cc (gfc_get_procedure_ns, gfc_get_spec_ns): New functions. - * gfortran.h (gfc_get_procedure_ns, gfc_get_spec ns): Declare them. - (gfc_is_formal_arg): Remove. - * expr.cc (check_restricted): Remove special case allowing local - variable in dummy argument bound expressions. Use gfc_get_spec_ns - to get the right namespace. - * resolve.cc (gfc_is_formal_arg, formal_arg_flag): Remove. - (gfc_resolve_formal_arglist): Set gfc_current_ns. Quit loop and - restore gfc_current_ns instead of early returning. - (resolve_symbol): Factor common array spec resolution code to... - (resolve_symbol_array_spec): ... this new function. Additionnally - set and restore gfc_current_ns. - -2024-03-21 Harald Anlauf <anlauf@gmx.de> - - PR fortran/30802 - * trans-array.cc (abridged_ref_name): New helper function. - (trans_array_bound_check): Use it. - (array_bound_check_elemental): Likewise. - (gfc_conv_array_ref): Likewise. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - * trans-array.cc (structure_alloc_comps): Use integer_zero_node - instead of build_zero_cst (integer_type_node) or - build_int_cst (integer_type_node, 0) and integer_one_node instead of - build_int_cst (integer_type_node, 1). - * trans-expr.cc (conv_scalar_char_value): Likewise. - * trans-stmt.cc (gfc_trans_form_team, gfc_trans_change_team, - gfc_trans_sync_team, gfc_trans_sync): Likewise. - * trans-decl.cc (create_main_function): Likewise. - * trans-intrinsic.cc (trans_this_image, conv_intrinsic_move_alloc): - Likewise. - * trans.cc (gfc_allocate_using_caf_lib, gfc_deallocate_with_status): - Likewise. - -2024-03-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103715 - * frontend-passes.cc (check_externals_expr): Prevent invalid read - in case of mismatch of external subroutine with function. - -2024-03-17 Harald Anlauf <anlauf@gmx.de> - - PR fortran/101135 - * trans-array.cc (gfc_get_dataptr_offset): Check for optional - arguments being present before dereferencing data pointer. - -2024-03-15 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/87477 - PR fortran/89645 - PR fortran/99065 - PR fortran/114141 - PR fortran/114280 - * class.cc (gfc_change_class): New function needed for - associate names, when rank changes or a derived type is - produced by resolution - * dump-parse-tree.cc (show_code_node): Make output for SELECT - TYPE more comprehensible. - * expr.cc (find_inquiry_ref): Do not simplify expressions of - an inferred type. - * gfortran.h : Add 'gfc_association_list' to structure - 'gfc_association_list'. Add prototypes for - 'gfc_find_derived_types', 'gfc_fixup_inferred_type_refs' and - 'gfc_change_class'. Add macro IS_INFERRED_TYPE. - * match.cc (copy_ts_from_selector_to_associate): Add bolean arg - 'select_type' with default false. If this is a select type name - and the selector is a inferred type, build the class type and - apply it to the associate name. - (build_associate_name): Pass true to 'select_type' in call to - previous. - * parse.cc (parse_associate): If the selector is inferred type - the associate name is too. Make sure that function selector - class and rank, if known, are passed to the associate name. If - a function result exists, pass its typespec to the associate - name. - * primary.cc (resolvable_fcns): New function to check that all - the function references are resolvable. - (gfc_match_varspec): If a scalar derived type select type - temporary has an array reference, match the array reference, - treating this in the same way as an equivalence member. Do not - set 'inquiry' if applied to an unknown type the inquiry name - is ambiguous with the component of an accessible derived type. - Check that resolution of the target expression is OK by testing - if the symbol is declared or is an operator expression, then - using 'resolvable_fcns' recursively. If all is well, resolve - the expression. If this is an inferred type with a component - reference, call 'gfc_find_derived_types' to find a suitable - derived type. If there is an inquiry ref and the symbol either - is of unknown type or is inferred to be a derived type, set the - primary and symbol TKR appropriately. - * resolve.cc (resolve_variable): Call new function below. - (gfc_fixup_inferred_type_refs): New function to ensure that the - expression references for a inferred type are consistent with - the now fixed up selector. - (resolve_assoc_var): Ensure that derived type or class function - selectors transmit the correct arrayspec to the associate name. - (resolve_select_type): If the selector is an associate name of - inferred type and has no component references, the associate - name should have its typespec. Simplify the conversion of a - class array to class scalar by calling 'gfc_change_class'. - Make sure that a class, inferred type selector with an array - ref transfers the typespec from the symbol to the expression. - * symbol.cc (gfc_set_default_type): If an associate name with - unknown type has a selector expression, try resolving the expr. - (find_derived_types, gfc_find_derived_types): New functions - that search for a derived type with a given name. - * trans-expr.cc (gfc_conv_variable): Some inferred type exprs - escape resolution so call 'gfc_fixup_inferred_type_refs'. - * trans-stmt.cc (trans_associate_var): Tidy up expression for - 'class_target'. Finalize and free class function results. - Correctly handle selectors that are class functions and class - array references, passed as derived types. - -2024-03-14 Thomas Schwinge <thomas@codesourcery.com> - - * dump-parse-tree.cc (show_omp_clauses): Handle 'self_expr'. - * openmp.cc (gfc_free_omp_clauses): Likewise. - * trans-openmp.cc (gfc_split_omp_clauses): Don't handle 'self_expr'. - -2024-03-14 Chung-Lin Tang <cltang@baylibre.com> - - * dump-parse-tree.cc (show_omp_namelist): Print "readonly," for - OMP_LIST_MAP and OMP_LIST_CACHE if n->u.map.readonly is set. - Adjust 'n->u.map_op' to 'n->u.map.op'. - * gfortran.h (typedef struct gfc_omp_namelist): Adjust map_op as - 'ENUM_BITFIELD (gfc_omp_map_op) op:8', add 'bool readonly' field, - change to named struct field 'map'. - * openmp.cc (gfc_match_omp_map_clause): Adjust 'n->u.map_op' to - 'n->u.map.op'. - (gfc_match_omp_clause_reduction): Likewise. - (gfc_match_omp_clauses): Add readonly modifier parsing for OpenACC - copyin clause, set 'n->u.map.op' and 'n->u.map.readonly' for parsed - clause. Adjust 'n->u.map_op' to 'n->u.map.op'. - (gfc_match_oacc_declare): Adjust 'n->u.map_op' to 'n->u.map.op'. - (gfc_match_oacc_cache): Add readonly modifier parsing for OpenACC - cache directive. - (resolve_omp_clauses): Adjust 'n->u.map_op' to 'n->u.map.op'. - * trans-decl.cc (add_clause): Adjust 'n->u.map_op' to 'n->u.map.op'. - (finish_oacc_declare): Likewise. - * trans-openmp.cc (gfc_trans_omp_clauses): Set OMP_CLAUSE_MAP_READONLY, - OMP_CLAUSE__CACHE__READONLY to 1 when readonly is set. Adjust - 'n->u.map_op' to 'n->u.map.op'. - (gfc_add_clause_implicitly): Adjust 'n->u.map_op' to 'n->u.map.op'. - -2024-03-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114001 - * expr.cc (gfc_is_simply_contiguous): Adjust logic so that CLASS - symbols are also handled. - -2024-03-13 Tobias Burnus <tburnus@baylibre.com> - - PR fortran/114283 - * trans-openmp.cc (gfc_omp_predetermined_mapping): Map dummy - procedures as firstprivate. - -2024-03-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/110826 - * array.cc (gfc_array_dimen_size): When walking the ref chain of an - array and the ultimate component is a procedure pointer, do not try - to figure out its dimension even if it is a array-valued function. - -2024-03-06 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103707 - PR fortran/106987 - * arith.cc (is_hard_arith_error): New helper function to determine - whether an arithmetic error is "hard" or not. - (check_result): Use it. - (gfc_arith_divide): Set "Division by zero" only for regular - numerators of real and complex divisions. - (reduce_unary): Use is_hard_arith_error to determine whether a hard - or (recoverable) soft error was encountered. Terminate immediately - on hard error, otherwise remember code of first soft error. - (reduce_binary_ac): Likewise. - (reduce_binary_ca): Likewise. - (reduce_binary_aa): Likewise. - -2024-03-01 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104819 - * check.cc (gfc_check_null): Handle nested NULL()s. - (is_c_interoperable): Check for MOLD argument of NULL() as part of - the interoperability check. - * interface.cc (gfc_compare_actual_formal): Extend checks for NULL() - actual arguments for presence of MOLD argument when required by - Interp J3/22-146. - -2024-02-29 Alexander Westbrooks <alexanderw@gcc.gnu.org> - - PR fortran/82943 - PR fortran/86148 - PR fortran/86268 - * decl.cc (gfc_get_pdt_instance): Set the PDT instance field - 'f2k_derived', if not set already, to point to the given - PDT template 'f2k_derived' namespace in order to give the - PDT instance referential access to the typebound procedures - of the template. - * gfortran.h (gfc_pdt_is_instance_of): Add prototype. - * resolve.cc (resolve_typebound_procedure): If the derived type - does not have the attribute 'pdt_template' set, compare the - dummy argument to the 'resolve_bindings_derived' type like usual. - If the derived type is a 'pdt_template', then check if the - dummy argument is an instance of the PDT template. If the derived - type is a PDT template, and the dummy argument is an instance of - that template, but the dummy argument 'param_list' is not - SPEC_ASSUMED, check if there are any LEN parameters in the - dummy argument. If there are no LEN parameters, then this implies - that there are only KIND parameters in the dummy argument. - If there are LEN parameters, this would be an error, for all - LEN parameters for the dummy argument MUST be assumed for - typebound procedures of PDTs. - (resolve_pdt): Add a check for ALLOCATABLE and POINTER attributes for - SPEC_DEFERRED parameters of PDT class symbols. ALLOCATABLE and - POINTER attributes for a PDT class symbol are stored in the - 'class_pointer' and 'allocatable' attributes of the '_data' - component respectively. - * symbol.cc (gfc_pdt_is_instance_of): New function. - -2024-02-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114012 - * trans-expr.cc (gfc_conv_procedure_call): Evaluate non-trivial - arguments just once before assigning to an unlimited polymorphic - dummy variable. - -2024-02-23 Steve Kargl <kargl@gcc.gnu.org> - Harald Anlauf <anlauf@gmx.de> - - PR fortran/114024 - * trans-stmt.cc (gfc_trans_allocate): When a source expression has - substring references, part-refs, or %re/%im inquiries, wrap the - entity in parentheses to force evaluation of the expression. - -2024-02-23 Tobias Burnus <tburnus@baylibre.com> - - * openmp.cc (gfc_match_omp_depobj): Use OPT_Wopenmp - as warning category in gfc_warning. - -2024-02-20 Peter Hill <peter.hill@york.ac.uk> - - PR fortran/105658 - * trans-expr.cc (gfc_conv_intrinsic_to_class): When passing an - array component reference of intrinsic type to a procedure - with an unlimited polymorphic dummy argument, a temporary - should be created. - -2024-02-17 Jakub Jelinek <jakub@redhat.com> - - PR fortran/113503 - * trans-expr.cc (alloc_scalar_allocatable_subcomponent): Don't - overwrite expr2->ts.u.cl->backend_decl, instead set size to - expr2->ts.u.cl->backend_decl first and use size instead of - expr2->ts.u.cl->backend_decl. - (gfc_trans_subcomponent_assign): Emit se.pre into block - before calling alloc_scalar_allocatable_subcomponent instead of - after it. - -2024-02-17 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113911 - * trans-array.cc (gfc_trans_deferred_array): Do not clobber - deferred length for a character variable passed as dummy argument. - -2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com> - - * dump-parse-tree.cc (show_attr): Handle omp_declare_target_indirect - attribute. - * f95-lang.cc (gfc_gnu_attributes): Add entry for 'omp declare - target indirect'. - * gfortran.h (symbol_attribute): Add omp_declare_target_indirect - field. - (struct gfc_omp_clauses): Add indirect field. - * openmp.cc (omp_mask2): Add OMP_CLAUSE_INDIRECT. - (gfc_match_omp_clauses): Match indirect clause. - (OMP_DECLARE_TARGET_CLAUSES): Add OMP_CLAUSE_INDIRECT. - (gfc_match_omp_declare_target): Check omp_device_type and apply - omp_declare_target_indirect attribute to symbol if indirect clause - active. Show warning if there are only device_type and/or indirect - clauses on the directive. - * trans-decl.cc (add_attributes_to_decl): Add 'omp declare target - indirect' attribute if symbol has indirect attribute set. - -2024-02-14 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/105847 - * trans-io.cc (transfer_namelist_element): When building the - namelist object name, if the use rename attribute is set, use - the local name specified in the use statement. - -2024-02-14 Jakub Jelinek <jakub@redhat.com> - - * error.cc (error_print): For u printing of ptrdiff_t, - print ptrdiff_t argument converted to unsigned long long and - masked with 2ULL * PTRDIFF_MAX + 1. - -2024-02-13 Tobias Burnus <tburnus@baylibre.com> - - PR middle-end/113904 - * trans-openmp.cc (gfc_trans_omp_declare_variant): Handle splitting of - OMP_TRAIT_PROPERTY_EXPR into OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. - * openmp.cc (gfc_match_omp_context_selector): Likewise; rejects - non-const device_num/condition; improve diagnostic. - -2024-02-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113866 - * trans-expr.cc (gfc_conv_procedure_call): When passing an optional - dummy argument to an optional dummy argument of a bind(c) procedure - and the dummy argument is passed via a CFI descriptor, no special - presence check and passing of a default NULL pointer is needed. - -2024-02-13 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/113883 - * trans-array.cc (gfc_trans_deferred_array): Set length to zero, - avoiding extraneous diagnostics. - -2024-02-10 Jakub Jelinek <jakub@redhat.com> - - * error.cc (error_print): Handle z and t modifiers on d, i and u. - * check.cc (gfc_check_transfer): Use %zd instead of %ld and casts to - long. - * primary.cc (gfc_convert_to_structure_constructor): Use %td instead - of %ld and casts to long. - -2024-02-10 Jakub Jelinek <jakub@redhat.com> - - * trans-common.cc (build_common_decl): Use %wu instead of %lu and - casts to unsigned long. - * resolve.cc (resolve_ordinary_assign): Use %wd instead of %ld and - casts to long. - * array.cc (gfc_resolve_character_array_constructor): Likewise. - * data.cc (create_character_initializer): Likewise. - -2024-02-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113799 - * arith.cc (reduce_unary): Remember any overflow encountered during - reduction of unary arithmetic operations on array constructors and - continue, and return error status, but terminate on serious errors. - -2024-01-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113377 - * trans-expr.cc (conv_dummy_value): Treat NULL actual argument to - optional dummy with the VALUE attribute as not present. - (gfc_conv_procedure_call): Likewise. - -2024-01-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104908 - * trans-array.cc (gfc_conv_array_ref): Restrict use of transformed - descriptor (sym->backend_decl) to the unlimited polymorphic case. - -2024-01-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113377 - * trans-expr.cc (conv_dummy_value): New. - (gfc_conv_procedure_call): Factor code for handling dummy arguments - with the VALUE attribute in the scalar case into conv_dummy_value(). - Reuse and adjust for calling elemental procedures. - -2024-01-21 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113377 - * trans-expr.cc (gfc_conv_procedure_call): Fix handling of optional - scalar arguments of intrinsic type with the VALUE attribute. - -2024-01-20 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/48776 - PR fortran/111291 - * parse.cc: Restore current interface to its previous value on error. - -2024-01-19 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113471 - * trans-array.cc (array_bound_check_elemental): Array bounds check - shall apply here to elemental dimensions of an array section only. - -2024-01-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/67277 - * trans-intrinsic.cc (gfc_conv_intrinsic_ishftc): Handle optional - dummy argument for SIZE passed to ISHFTC. Set default value to - BIT_SIZE(I) when missing. - -2024-01-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113305 - * gfortran.h (gfc_loop_annot): New. - (gfc_iterator, gfc_forall_iterator): Use for annotation control. - * array.cc (gfc_copy_iterator): Adjust. - * gfortran.texi: Document annotations IVDEP, UNROLL n, VECTOR, - NOVECTOR as applied to DO CONCURRENT. - * parse.cc (parse_do_block): Parse annotations IVDEP, UNROLL n, - VECTOR, NOVECTOR as applied to DO CONCURRENT. Apply UNROLL only to - first loop control variable. - * trans-stmt.cc (iter_info): Use gfc_loop_annot. - (gfc_trans_simple_do): Adjust. - (gfc_trans_forall_loop): Annotate loops with IVDEP, UNROLL n, - VECTOR, NOVECTOR as needed for DO CONCURRENT. - (gfc_trans_forall_1): Handle loop annotations. - -2024-01-08 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113245 - * trans-intrinsic.cc (gfc_conv_intrinsic_size): Use - gfc_conv_expr_present() for proper check of optional DIM argument. - -2024-01-06 Harald Anlauf <anlauf@gmx.de> - José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/96724 - * iresolve.cc (gfc_resolve_repeat): Force conversion to - gfc_charlen_int_kind before call to gfc_multiply. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * lang.opt.urls: New file, autogenerated by - regenerate-opt-urls.py. - -2024-01-03 Harald Anlauf <anlauf@gmx.de> - - * trans-types.cc (gfc_get_nodesc_array_type): Clear used gmp - variables. - -2024-01-03 Jakub Jelinek <jakub@redhat.com> - - * 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) 2024 Free Software Foundation, Inc. +Copyright (C) 2025 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-2002 b/gcc/fortran/ChangeLog-2002 index fdee6e6444da..301182cc798d 100644 --- a/gcc/fortran/ChangeLog-2002 +++ b/gcc/fortran/ChangeLog-2002 @@ -331,7 +331,6 @@ (g95_conv_intrinsic_anyall): New function. * iresolve.c (g95_resolve_any, g95_resolve_all): Include rank in mangled name - Copyright (C) 2002 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2003 b/gcc/fortran/ChangeLog-2003 index 051ebb88fd05..16da457fa770 100644 --- a/gcc/fortran/ChangeLog-2003 +++ b/gcc/fortran/ChangeLog-2003 @@ -2337,7 +2337,6 @@ (Many): Set se.want_pointer before calling g95_conv_array_parameter. * trans-intrinsic.c: Sync with scalarizer changes. * trans-io.c: Ditto. - Copyright (C) 2003 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2004 b/gcc/fortran/ChangeLog-2004 index d5d665406273..4d6bf19fd039 100644 --- a/gcc/fortran/ChangeLog-2004 +++ b/gcc/fortran/ChangeLog-2004 @@ -2844,7 +2844,6 @@ PR fortran/13251 * trans-expr.c (gfc_conv_variable): Take the type kind of a substring reference from the expression. - Copyright (C) 2004 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2005 b/gcc/fortran/ChangeLog-2005 index d9fa6a5872af..0bbd03bc9f92 100644 --- a/gcc/fortran/ChangeLog-2005 +++ b/gcc/fortran/ChangeLog-2005 @@ -3721,7 +3721,6 @@ * trans-stmt.c: Ditto * trans.c: Ditto * trans-intrinsic.c: Remove stdio.h and string.h - Copyright (C) 2005 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2006 b/gcc/fortran/ChangeLog-2006 index 4e83f38feb73..cae69588572a 100644 --- a/gcc/fortran/ChangeLog-2006 +++ b/gcc/fortran/ChangeLog-2006 @@ -4536,7 +4536,6 @@ * ChangeLog-2003: here. * ChangeLog-2004: here. * ChangeLog-2005: here. - Copyright (C) 2006 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2007 b/gcc/fortran/ChangeLog-2007 index 421dc886e857..dce1cd565623 100644 --- a/gcc/fortran/ChangeLog-2007 +++ b/gcc/fortran/ChangeLog-2007 @@ -5767,7 +5767,6 @@ * ChangeLog: Copy to ... * ChangeLog-2006: here. - Copyright (C) 2007 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2008 b/gcc/fortran/ChangeLog-2008 index 6fe1eea164d2..b5fd17784602 100644 --- a/gcc/fortran/ChangeLog-2008 +++ b/gcc/fortran/ChangeLog-2008 @@ -4133,7 +4133,6 @@ PR fortran/34557 * primary.c (match_varspec): Gobble whitespace before checking for '('. - Copyright (C) 2008 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2009 b/gcc/fortran/ChangeLog-2009 index c5b7e621ba62..e4ee49b4f5f0 100644 --- a/gcc/fortran/ChangeLog-2009 +++ b/gcc/fortran/ChangeLog-2009 @@ -3701,7 +3701,6 @@ association, use symtree rather than symbol. For everything except generic subroutines, substitute the symtree in the call rather than the symbol. - Copyright (C) 2009 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2010 b/gcc/fortran/ChangeLog-2010 index dc25cbd39b95..ba24df616910 100644 --- a/gcc/fortran/ChangeLog-2010 +++ b/gcc/fortran/ChangeLog-2010 @@ -5547,7 +5547,6 @@ -fcheck=recursion when -frecursive is used. * intrinsic.texi (iso_c_binding): Improve wording. - Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2011 b/gcc/fortran/ChangeLog-2011 index c7ac160386c6..990de2dbd588 100644 --- a/gcc/fortran/ChangeLog-2011 +++ b/gcc/fortran/ChangeLog-2011 @@ -4081,7 +4081,6 @@ PR fortran/46408 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_ routine. - Copyright (C) 2011 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2022 b/gcc/fortran/ChangeLog-2022 index 253af76c872c..19822a0aa873 100644 --- a/gcc/fortran/ChangeLog-2022 +++ b/gcc/fortran/ChangeLog-2022 @@ -4475,7 +4475,6 @@ * gfortran.texi: Ditto. * intrinsic.texi: Ditto. * invoke.texi: Ditto. - Copyright (C) 2022 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2023 b/gcc/fortran/ChangeLog-2023 index 3b5c9a6c3793..e18f8732c352 100644 --- a/gcc/fortran/ChangeLog-2023 +++ b/gcc/fortran/ChangeLog-2023 @@ -2186,7 +2186,6 @@ * gfortran.texi: Ditto. * intrinsic.texi: Ditto. * invoke.texi: Ditto. - Copyright (C) 2023 Free Software Foundation, Inc. diff --git a/gcc/fortran/ChangeLog-2024 b/gcc/fortran/ChangeLog-2024 new file mode 100644 index 000000000000..0749b225e285 --- /dev/null +++ b/gcc/fortran/ChangeLog-2024 @@ -0,0 +1,3038 @@ +2024-12-30 Steven G. Kargl <kargls@comcast.net> + + PR fortran/117643 + * check.cc (gfc_check_f_c_string): Check arguments of f_c_string(). + * gfortran.h (enum gfc_isym_id): New symbol GFC_ISYM_F_C_STRING. + * intrinsic.cc (add_functions): Add the ISO C Binding routine f_c_string(). + Wrap nearby long line to less than 80 characters. + * intrinsic.h (gfc_check_f_c_string): Prototype for gfc_check_f_c_string(). + * iso-c-binding.def (NAMED_FUNCTION): Declare for ISO C Binding + routine f_c_string(). + * primary.cc (gfc_match_rvalue): Fix comment that has been untrue since 2011. + Add ISOCBINDING_F_C_STRING to conditional. + * trans-intrinsic.cc (conv_trim): Specialized version of trim() for + f_c_string(). + (gfc_conv_intrinsic_function): Use GFC_ISYM_F_C_STRING to trigger in-lining. + +2024-12-23 Harald Anlauf <anlauf@gmx.de> + + PR fortran/118179 + * trans-expr.cc (conv_null_actual): Suppress copying back of + pointer address for unspecified intent. + +2024-12-23 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/116254 + PR fortran/118059 + * trans-array.cc (gfc_trans_create_temp_array): Make sure that + transformational intrinsics of class objects that change rank, + most particularly spread, go through the correct code path. Re- + factor so that changes to the dtype are done on the temporary + before the class data of the result points to it. + * trans-expr.cc (arrayfunc_assign_needs_temporary): Character + array function expressions assigned to an unlimited polymorphic + variable require a temporary. + +2024-12-22 Harald Anlauf <anlauf@gmx.de> + + * check.cc (gfc_check_random_seed): Clear gmp variables returned by + gfc_array_size. + * expr.cc (gfc_check_pointer_assign): Likewise. + +2024-12-22 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/107635 + * gfortran.h (gfc_add_caf_accessor): New function. + * gfortran.texi: Document new API routines. + * resolve.cc (get_arrayspec_from_expr): Synthesize the arrayspec + resulting from an expression, i.e. not only the rank, but also + the bounds. + (remove_coarray_from_derived_type): Remove coarray ref from a + derived type to access it in access routine. + (convert_coarray_class_to_derived_type): Same but for classes. + The result is a derived type. + (split_expr_at_caf_ref): Split an expression at the coarray + reference to move the reference after the coarray ref into the + access routine. + (check_add_new_component): Helper to add variables as + components to derived type transfered to the access routine. + (create_get_parameter_type): Create the derived type to transfer + addressing data to the access routine. + (create_get_callback): Create the access routine. + (add_caf_get_intrinsic): Use access routine instead of old + caf_get. + * trans-decl.cc (gfc_build_builtin_function_decls): Register new + API routines. + (gfc_create_module_variable): Use renamed flag. + (gfc_emit_parameter_debug_info): + (struct caf_accessor): Linked list of hash-access routine pairs. + (gfc_add_caf_accessor): Add a hash-access routine pair to above + linked list. + (create_caf_accessor_register): Add all registered hash-access + routine pairs to the current caf_init. + (generate_coarray_init): Use routine above. + (gfc_generate_module_vars): Use renamed flag. + (generate_local_decl): Same. + (gfc_generate_function_code): Same. + (gfc_process_block_locals): Same. + * trans-intrinsic.cc (conv_shape_to_cst): Build the product of a + shape. + (gfc_conv_intrinsic_caf_get): Create call to access routine. + (conv_caf_send): Adapt to caf_get using less arguments. + (gfc_conv_intrinsic_function): Same. + * trans.cc (gfc_trans_force_lval): Helper to ensure that an + expression can be used as an lvalue-ref. + * trans.h (gfc_trans_force_lval): See above. + +2024-12-22 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/107635 + * gfortran.h (gfc_comp_caf_token): Convenient macro for + accessing caf_token's tree. + * resolve.cc (gfc_resolve_ref): Backup caf_lhs when resolving + expr in array_ref. + (remove_caf_get_intrinsic): Removed. + (resolve_variable): Set flag caf_lhs when resolving lhs of + assignment to prevent insertion of caf_get. + (resolve_lock_unlock_event): Same, but the lhs is the parameter. + (resolve_ordinary_assign): Move conversion to caf_send to + resolve_codes. + (resolve_codes): Adress caf_get and caf_send here. + (resolve_fl_derived0): Set component's caf_token when token is + necessary. + * trans-array.cc (gfc_conv_array_parameter): Get a coarray for + expression that have a corank. + (structure_alloc_comps): Use macro to get caf_token's tree. + (gfc_alloc_allocatable_for_assignment): Same. + * trans-expr.cc (gfc_get_ultimate_alloc_ptr_comps_caf_token): + Same. + (gfc_trans_structure_assign): Same. + * trans-intrinsic.cc (conv_expr_ref_to_caf_ref): Same. + (has_ref_after_cafref): New function to figure that after a + reference of a coarray another reference is present. + (conv_caf_send): Get rhs from correct place, when caf_get is + not removed. + * trans-types.cc (gfc_get_derived_type): Get caf_token from + component and no longer guessing. + +2024-12-21 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104819 + * interface.cc (compare_parameter): For the rank check, NULL() + inherits the rank of a provided MOLD argument. + (gfc_compare_actual_formal): Adjust check of NULL() actual argument + against formal to accept F2008 enhancements (allocatable dummy). + NULL() with MOLD argument retains a pointer/allocatable attribute. + * trans-expr.cc (conv_null_actual): Implement passing NULL() to + derived-type dummy with pointer/allocatable attribute, and ensure + that the actual rank is passed to an assumed-rank dummy. + (gfc_conv_procedure_call): Use it. + +2024-12-20 Sandra Loosemore <sloosemore@baylibre.com> + + * gfortran.texi: Get rid of some unnecessary hyphens throughout + the file. + * invoke.texi: Likewise. + +2024-12-20 Sandra Loosemore <sloosemore@baylibre.com> + + * gfortran.texi: Use the present tense throughout; fix some + markup issues and awkward wording. + * invoke.texi: Likewise. + +2024-12-20 Sandra Loosemore <sloosemore@baylibre.com> + + * gfortran.texi: Fix markup, typos, and indexing throughout the + file. + * invoke.texi: Likewise. + +2024-12-20 Sandra Loosemore <sloosemore@baylibre.com> + + PR fortran/51820 + PR fortran/89632 + PR fortran/109216 + * invoke.texi (Code Gen Options): Further cleanups of the discussion + of what -funderscoring and -fsecond-underscore do. + +2024-12-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/118120 + PR fortran/113928 + * trans-array.cc (symbols_could_alias): If one symbol refers to a + complex type and the other to a real type of the same kind, do not + a priori exclude the possibility of aliasing. + +2024-12-17 Sandra Loosemore <sloosemore@baylibre.com> + + PR c/26154 + * gfortran.texi (Standards): Remove redundant info about + OpenMP/OpenACC standard support. + (OpenMP): Copy-editing and update version info. + (OpenACC): Likewise. + * lang.opt.urls: Regenerated. + +2024-12-17 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/117347 + * primary.cc (gfc_match_varspec): Add array constructors for + guessing their type like with unresolved function calls. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + PR sarif-replay/117943 + * error.cc (gfc_diagnostic_text_starter): Use source-printing + options from text_output. + +2024-12-15 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117897 + * trans-expr.cc (gfc_trans_assignment_1): RHS pointer function + results must not be finalized. + +2024-12-12 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117797 + * trans-array.cc (class_array_element_size): New function. + (gfc_get_array_span): Refactor, using class_array_element_size + to return the span for descriptors that are the _data component + of a class expression and then class dummy references. Revert + the conditions to those before r15-5083 tidying up using 'sym'. + +2024-12-11 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117901 + * trans-stmt.cc (trans_associate_var): A variable character + length array associate name must generate a DECL expression for + the data pointer type. + +2024-12-09 Harald Anlauf <anlauf@gmx.de> + + * expr.cc (find_array_section): Do not initialize GMP variables + twice. + +2024-12-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/116261 + * trans-array.cc (gfc_array_init_size): New arg 'explicit_ts', + to suppress the use of the expr3 element size in the descriptor + dtype. + (gfc_array_allocate): New arg 'explicit_ts', used in call to + gfc_array_init_size. + * trans-array.h : Modify prototype for gfc_array_allocate for new + bool argument. + * trans-stmt.cc (gfc_trans_allocate): Set new argument if the + typespec is explicit. + +2024-12-03 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/102689 + * trans-array.cc (get_array_ref_dim_for_loop_dim): Use the arg1 + class container carried in ss->info as the seed for a lhs in + class valued transformational intrinsic calls that are not the + rhs of an assignment. Otherwise, the lhs variable expression is + taken from the loop chain. For this latter case, the _vptr and + _len fields are set. + (gfc_trans_create_temp_array): Use either the lhs expression + seeds to build a class variable that will take the returned + descriptor as its _data field. In the case that the arg1 expr. + is used, 'atmp' must be marked as unused, a typespec built with + the correct rank and the _vptr and _len fields set. The element + size is provided for the temporary allocation and to set the + descriptor span. + (gfc_array_init_size): When an intrinsic type scalar expr3 is + used in allocation of a class array, use its element size in + the descriptor dtype. + * trans-expr.cc (gfc_conv_class_to_class): Class valued + transformational intrinsics return the pointer to the array + descriptor as the _data field of a class temporary. Extract + directly and return the address of the class temporary. + (gfc_conv_procedure_call): store the expression for the first + argument of a class valued transformational intrinsic function + in the ss info class_container field. Later, use its type as + the element type in the call to gfc_trans_create_temp_array. + (fcncall_realloc_result): Add a dtype argument and use it in + the descriptor, when available. + (gfc_trans_arrayfunc_assign): For class lhs, build a dtype with + the lhs rank and the rhs element size and use it in the call to + fcncall_realloc_result. + +2024-12-03 Tobias Burnus <tburnus@baylibre.com> + + * trans-decl.cc (gfc_finish_var_decl): Remove setting the alignment. + +2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR fortran/117843 + * trans-io.cc (gfc_trans_transfer): Add default case. + +2024-11-28 Steven G. Kargl <kargls@comcast.net> + + PR fortran/117765 + * resolve.cc (pure_subroutine): Check for an impure subroutine + call in a BLOCK construct nested within a DO CONCURRENT block. + +2024-11-28 Harald Anlauf <anlauf@gmx.de> + + PR fortran/117791 + * trans-io.cc (gfc_trans_transfer): When an array index depends on + a function evaluation or an expression, do not use optimized array + I/O of an array section and fall back to normal scalarization. + +2024-11-28 David Malcolm <dmalcolm@redhat.com> + + PR c/104896 + * resolve.cc (resolve_operator): Replace "%<%s%>" with "%qs" in + message wording. + +2024-11-27 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/84674 + PR fortran/117768 + * class.cc (add_proc_comp): If the component points to a tbp + that is abstract, do not return since the new version is more + likely to be usable. + * resolve.cc (resolve_fl_derived): Remove the condition that + rejected a completely empty derived type extension. + +2024-11-26 Harald Anlauf <anlauf@gmx.de> + + * expr.cc (find_inquiry_ref): Fix memleak introduced by scanning + the reference chain to find and simplify inquiry references. + * symbol.cc (gfc_copy_formal_args_intr): Free formal namespace + when not needed to avoid a front-end memleak. + +2024-11-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/117774 + * trans-expr.cc (gfc_conv_procedure_call): When passing an array + to an assumed-rank dummy, terminate search for array reference of + actual argument before an inquiry reference (e.g. INQUIRY_RE, + INQUIRY_IM) so that bounds update works properly. + +2024-11-26 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117763 + * trans-array.cc (gfc_get_array_span): Guard against derefences + of 'expr'. Clean up some typos. Use 'gfc_get_vptr_from_expr' + for clarity and apply a functional reversion of last section + that deals with class dummies. + +2024-11-25 Steve Kargl <kargls@comcast.net> + + PR fortran/117765 + * resolve.cc (check_pure_function): Check the stack to + see if the function is in a nested BLOCK and, if that + block is inside a DO_CONCURRENT, issue an error. + +2024-11-24 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/85869 + * trans-expr.cc (trans_class_vptr_len_assignment): To access + the '_len' field, re must be unlimited polymorphic. + +2024-11-24 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117730 + PR fortran/84674 + * class.cc (add_proc_comp): Only reject a non_overridable if it + has no overridden procedure and the component is already + present in the vtype. + * resolve.cc (resolve_fl_derived): Do not build a vtable for a + derived type extension that is completely empty. + +2024-11-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR bootstrap/117737 + * arith.cc (INCLUDE_MEMORY): Remove. + * array.cc (INCLUDE_MEMORY): Remove. + * bbt.cc (INCLUDE_MEMORY): Remove. + * check.cc (INCLUDE_MEMORY): Remove. + * class.cc (INCLUDE_MEMORY): Remove. + * constructor.cc (INCLUDE_MEMORY): Remove. + * convert.cc (INCLUDE_MEMORY): Remove. + * cpp.cc (INCLUDE_MEMORY): Remove. + * data.cc (INCLUDE_MEMORY): Remove. + * decl.cc (INCLUDE_MEMORY): Remove. + * dependency.cc (INCLUDE_MEMORY): Remove. + * dump-parse-tree.cc (INCLUDE_MEMORY): Remove. + * error.cc (INCLUDE_MEMORY): Remove. + * expr.cc (INCLUDE_MEMORY): Remove. + * f95-lang.cc (INCLUDE_MEMORY): Remove. + * frontend-passes.cc (INCLUDE_MEMORY): Remove. + * interface.cc (INCLUDE_MEMORY): Remove. + * intrinsic.cc (INCLUDE_MEMORY): Remove. + * io.cc (INCLUDE_MEMORY): Remove. + * iresolve.cc (INCLUDE_MEMORY): Remove. + * match.cc (INCLUDE_MEMORY): Remove. + * matchexp.cc (INCLUDE_MEMORY): Remove. + * misc.cc (INCLUDE_MEMORY): Remove. + * module.cc (INCLUDE_MEMORY): Remove. + * openmp.cc (INCLUDE_MEMORY): Remove. + * options.cc (INCLUDE_MEMORY): Remove. + * parse.cc (INCLUDE_MEMORY): Remove. + * primary.cc (INCLUDE_MEMORY): Remove. + * resolve.cc (INCLUDE_MEMORY): Remove. + * scanner.cc (INCLUDE_MEMORY): Remove. + * simplify.cc (INCLUDE_MEMORY): Remove. + * st.cc (INCLUDE_MEMORY): Remove. + * symbol.cc (INCLUDE_MEMORY): Remove. + * target-memory.cc (INCLUDE_MEMORY): Remove. + * trans-array.cc (INCLUDE_MEMORY): Remove. + * trans-common.cc (INCLUDE_MEMORY): Remove. + * trans-const.cc (INCLUDE_MEMORY): Remove. + * trans-decl.cc (INCLUDE_MEMORY): Remove. + * trans-expr.cc (INCLUDE_MEMORY): Remove. + * trans-intrinsic.cc (INCLUDE_MEMORY): Remove. + * trans-io.cc (INCLUDE_MEMORY): Remove. + * trans-openmp.cc (INCLUDE_MEMORY): Remove. + * trans-stmt.cc (INCLUDE_MEMORY): Remove. + * trans-types.cc (INCLUDE_MEMORY): Remove. + * trans.cc (INCLUDE_MEMORY): Remove. + +2024-11-22 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.h (gfc_omp_namelist): Cleanup interop internal + representation. + * dump-parse-tree.cc (show_omp_namelist): Update for changed + internal representation. + * match.cc (gfc_free_omp_namelist): Likewise. + * openmp.cc (gfc_match_omp_prefer_type, gfc_match_omp_init): + Likewise; also handle some corner cases better and update for + newer 6.0 changes related to 'fr'. + (resolve_omp_clauses): Add type-check for interop variables. + * trans-openmp.cc (gfc_trans_omp_clauses): Handle init, use + and destroy clauses. + (gfc_trans_openmp_interop): New. + (gfc_trans_omp_directive): Call it. + +2024-11-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/83135 + * expr.cc (sym_is_from_ancestor): New helper function. + (gfc_check_vardef_context): Refine checking of PROTECTED attribute + of symbols that are indirectly use-associated in a submodule. + +2024-11-20 Paul-Antoine Arras <parras@baylibre.com> + + * types.def (BT_FN_PTR_CONST_PTR_INT): Declare. + +2024-11-20 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-intrinsic.cc + (walk_inline_intrinsic_minmaxloc): Add a scalar element for BACK as + first item of the chain if BACK is present and there will be nested + loops. + (gfc_conv_intrinsic_minmaxloc): Evaluate BACK using an inherited + scalarization chain if there is a nested loop. + +2024-11-20 Mikael Morin <mikael@gcc.gnu.org> + + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Only get the size + along DIM instead of the full size if DIM is present. + +2024-11-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return TRUE + for MINLOC/MAXLOC with constant DIM and either REAL ARRAY or + non-scalar MASK. + (walk_inline_intrinsic_minmaxloc): Walk MASK and if it's an array + add the chain obtained before that of ARRAY. + (gfc_conv_intrinsic_minmaxloc): Use the nested loop if there is one. + To evaluate MASK (respectively ARRAY in the second loop), inherit + the scalarizer chain if in a nested loop, otherwise keep using the + chain obtained by walking MASK (respectively ARRAY). If there is a + nested loop, avoid advancing the parent scalarization chain a second + time in the second loop. + +2024-11-19 Mikael Morin <mikael@gcc.gnu.org> + + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Use + conditionals based on the MASK expression rather than on its + scalarization chains. + +2024-11-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return TRUE + if MASK is scalar. + (walk_inline_intrinsic_minmaxloc): Append to the scalarization chain + a scalar element for MASK if it's present. + (gfc_conv_intrinsic_minmaxloc): Use a local gfc_se struct to serve + as base for all the expressions evaluated in the nested loop. To + evaluate MASK when there is a nested loop, enable usage of the + scalarizer and set the original passed in SE argument as current + scalarization chain element to use. And use the nested loop from + the scalarizer instead of the local loop in that case. + +2024-11-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return true + if DIM is constant, ARRAY is integral and MASK is absent. + (walk_inline_intrinsic_minmaxloc): If DIM is present, walk ARRAY and + move the dimension corresponding to DIM to a nested chain, keeping + the rest of the dimensions as the returned scalarization chain. + (gfc_conv_intrinsic_minmaxloc): When inside the scalarization loops, + proceed with inline code generation If DIM is present. If DIM is + present, skip result array creation and final initialization from + individual result local variables. If DIM is present and ARRAY has + rank greater than 1, use the nested loop initialized by the + scalarizer instead of the local one, use 1 as scalarization + dimension, and evaluate ARRAY using the inherited scalarization + chain instead of creating a local one by walking the expression. + +2024-11-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/53357 + * dependency.cc (gfc_dep_compare_expr): Return correct result if + relationship of expressions could not be determined. + * interface.cc (gfc_check_result_characteristics): Implement error + messages if character function declations and references do not + agree, else emit warning in cases where a mismatch is suspected. + * trans-stmt.cc (gfc_trans_allocate): Implement a string length + check for -fcheck=bounds. + +2024-11-16 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/109066 + * resolve.cc (generate_component_assignments): If the temporary + for 'var' is a pointer and 'expr' is neither a constant or + a variable, change its attribute from pointer to allocatable. + This avoids assignment to a temporary point that has neither + been allocated or associated. + +2024-11-16 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.texi: Document that SELECT CASE works for UNSIGNED. + +2024-11-16 Thomas Koenig <tkoenig@gcc.gnu.org> + + * module.cc (mio_expr): Handle BT_UNSIGNED. + +2024-11-15 Jan Hubicka <hubicka@ucw.cz> + + * trans-expr.cc (gfc_trans_subcomponent_assign): Fix type of malloc + parameter. + +2024-11-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104819 + * trans-expr.cc (conv_null_actual): Helper function to handle + passing of NULL() to non-optional dummy arguments of non-bind(c) + procedures. + (gfc_conv_procedure_call): Use it for character dummies. + +2024-11-13 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/105054 + * resolve.cc (get_temp_from_expr): If the pointer function has + a deferred character length, generate a new deferred charlen + for the temporary. + +2024-11-11 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/109345 + * trans-array.cc (gfc_get_array_span): Unlimited polymorphic + expressions are now treated separately since the span need not + be the same as the element size. + +2024-11-11 Tomas Trnka <trnka@scm.com> + Paul Thomas <pault@gcc.gnu.org> + + PR fortran/116388 + * class.cc (finalize_component): Leading underscore in the name + of 'byte_stride' to suppress invalid finalization. + +2024-11-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * check.cc (gfc_check_complex): Reject UNSIGNED. + * gfortran.texi: Update example program. Note that + CMPLX, INT and REAL also take unsigned arguments. + * intrinsic.texi (CMPLX): Document UNSIGNED. + (INT): Likewise. + (REAL): Likewise. + +2024-11-06 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117434 + * interface.cc (gfc_compare_actual_formal): Skip 'Expected a + procedure pointer error' if the formal argument typespec has an + interface and the type of the actual arg is BT_PROCEDURE. + +2024-11-05 David Malcolm <dmalcolm@redhat.com> + + PR fortran/117442 + * error.cc (error_buffer): Convert to a pointer so it can be + heap-allocated. + (gfc_error_now): Update for error_buffer being heap-allocated. + (gfc_clear_error): Likewise. + (gfc_error_flag_test): Likewise. + (gfc_error_check): Likewise. + (gfc_push_error): Likewise. + (gfc_pop_error): Likewise. + (gfc_diagnostics_init): Allocate error_buffer on the heap, rather + than statically. + (gfc_diagnostics_finish): Delete error_buffer. + +2024-11-02 Thomas Koenig <tkoenig@gcc.gnu.org> + + * check.cc (gfc_check_mask): Handle BT_INSIGNED. + * gfortran.h (enum gfc_isym_id): Add GFC_ISYM_UMASKL and + GFC_ISYM_UMASKR. + * gfortran.texi: List UMASKL and UMASKR, remove unsigned future + unsigned arguments for MASKL and MASKR. + * intrinsic.cc (add_functions): Add UMASKL and UMASKR. + * intrinsic.h (gfc_simplify_umaskl): New function. + (gfc_simplify_umaskr): New function. + (gfc_resolve_umasklr): New function. + * intrinsic.texi: Document UMASKL and UMASKR. + * iresolve.cc (gfc_resolve_umasklr): New function. + * simplify.cc (gfc_simplify_umaskr): New function. + (gfc_simplify_umaskl): New function. + +2024-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> + + * resolve.cc (resolve_operator): Also handle BT_UNSIGNED. + +2024-11-01 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/115700 + * resolve.cc (resolve_assoc_var): Extract a substring reference + with missing as well as non-constant start or end. + +2024-10-31 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/115700 + * resolve.cc (resolve_variable): The typespec of an expression, + which is not a substring, can be shared with a deferred length + associate name. + (resolve_assoc_var): Extract a substring reference with non- + constant start or end. Use it to flag up the need for array + associate name to be a pointer. + (resolve_block_construct): Change comment from past to future + tense. + +2024-10-30 Harald Anlauf <anlauf@gmx.de> + + * trans-expr.cc (gfc_trans_class_init_assign): Free intermediate + gfc_expr's. + * trans.cc (get_final_proc_ref): Likewise. + (get_elem_size): Likewise. + (gfc_add_finalizer_call): Likewise. + +2024-10-29 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * error.cc (gfc_diagnostic_build_kind_prefix): Update for + global_dc's m_printer becoming reference printer. + (gfc_diagnostics_init): Replace usage of diagnostic_format_decoder + with global_dc->set_format_decoder. + +2024-10-27 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/115070 + PR fortran/115348 + * trans-expr.cc (gfc_trans_class_init_assign): If all the + components of the default initializer are null for a scalar, + build an empty statement to prevent prior declarations from + disappearing. + +2024-10-26 Iain Sandoe <iain@sandoe.co.uk> + + * intrinsic.texi: Add menu item for UINT. + +2024-10-26 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.texi: Correct reference to make clear that UNSIGNED + will not be part of F202Y. + Other clarifications. + Extend table of intrinsics, add links. + * intrinsic.texi: Add descriptions for UNSIGNED arguments. + * invoke.texi: Add anchor for -funsigned. + +2024-10-25 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/79685 + * decl.cc (match_data_constant): Find the symtree instead of + the symbol so the use renamed symbols are found. Pass this and + the derived type to gfc_match_structure_constructor. + * match.h: Update prototype of gfc_match_structure_contructor. + * primary.cc (gfc_match_structure_constructor): Remove call to + gfc_get_ha_sym_tree and use caller supplied symtree instead. + +2024-10-25 Jakub Jelinek <jakub@redhat.com> + + * trans-openmp.cc: Remove trailing whitespace. + * trans-common.cc: Likewise. + * match.h: Likewise. + * scanner.cc: Likewise. + * gfortranspec.cc: Likewise. + * io.cc: Likewise. + * iso-c-binding.def: Likewise. + * iso-fortran-env.def: Likewise. + * types.def: Likewise. + * openmp.cc: Likewise. + * f95-lang.cc: Likewise. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + Gaius Mulley <gaiusmod2@gmail.com> + + PR other/116613 + * arith.cc: Add #define INCLUDE_MEMORY. + * array.cc: Likewise. + * bbt.cc: Likewise. + * check.cc: Likewise. + * class.cc: Likewise. + * constructor.cc: Likewise. + * convert.cc: Likewise. + * cpp.cc: Likewise. + * data.cc: Likewise. + * decl.cc: Likewise. + * dependency.cc: Likewise. + * dump-parse-tree.cc: Likewise. + * error.cc: Likewise. + * expr.cc: Likewise. + * f95-lang.cc: Likewise. + * frontend-passes.cc: Likewise. + * interface.cc: Likewise. + * intrinsic.cc: Likewise. + * io.cc: Likewise. + * iresolve.cc: Likewise. + * match.cc: Likewise. + * matchexp.cc: Likewise. + * misc.cc: Likewise. + * module.cc: Likewise. + * openmp.cc: Likewise. + * options.cc: Likewise. + * parse.cc: Likewise. + * primary.cc: Likewise. + * resolve.cc: Likewise. + * scanner.cc: Likewise. + * simplify.cc: Likewise. + * st.cc: Likewise. + * symbol.cc: Likewise. + * target-memory.cc: Likewise. + * trans-array.cc: Likewise. + * trans-common.cc: Likewise. + * trans-const.cc: Likewise. + * trans-decl.cc: Likewise. + * trans-expr.cc: Likewise. + * trans-intrinsic.cc: Likewise. + * trans-io.cc: Likewise. + * trans-openmp.cc: Likewise. + * trans-stmt.cc: Likewise. + * trans-types.cc: Likewise. + * trans.cc: Likewise. + +2024-10-23 David Malcolm <dmalcolm@redhat.com> + + PR fortran/105916 + * error.cc (pp_error_buffer, pp_warning_buffer): Convert from + output_buffer * to diagnostic_buffer *. + (warningcount_buffered, werrorcount_buffered): Eliminate. + (gfc_error_buffer::gfc_error_buffer): Move constructor definition + here, and initialize "buffer" using *global_dc. + (gfc_output_buffer_empty_p): Delete in favor of + diagnostic_buffer::empty_p. + (gfc_clear_pp_buffer): Replace with... + (gfc_clear_diagnostic_buffer): ...this, moving implementation + details to diagnostic_context::clear_diagnostic_buffer. + (gfc_warning): Replace buffering implementation with calls + to global_dc->get_diagnostic_buffer and + global_dc->set_diagnostic_buffer. + (gfc_clear_warning): Update for renaming of gfc_clear_pp_buffer + and elimination of warningcount_buffered and werrorcount_buffered. + (gfc_warning_check): Replace buffering implementation with calls + to pp_warning_buffer->empty_p and + global_dc->flush_diagnostic_buffer. + (gfc_error_opt): Replace buffering implementation with calls to + global_dc->get_diagnostic_buffer and set_diagnostic_buffer. + (gfc_clear_error): Update for renaming of gfc_clear_pp_buffer. + (gfc_error_flag_test): Replace call to gfc_output_buffer_empty_p + with call to diagnostic_buffer::empty_p. + (gfc_error_check): Replace buffering implementation with calls + to pp_error_buffer->empty_p and global_dc->flush_diagnostic_buffer. + (gfc_move_error_buffer_from_to): Replace buffering implementation + with usage of diagnostic_buffer. + (gfc_free_error): Update for renaming of gfc_clear_pp_buffer. + (gfc_diagnostics_init): Use "new" directly when creating + pp_warning_buffer. Remove setting of m_flush_p on the two + buffers, as this is handled by diagnostic_buffer and by + diagnostic_text_format_buffer's constructor. + * gfortran.h: Replace #include "pretty-print.h" for output_buffer + with #include "diagnostic-buffer.h" for diagnostic_buffer. + (struct gfc_error_buffer): Change type of field "buffer" from + output_buffer to diagnostic_buffer. Move definition of constructor + into error.cc so that it can use global_dc. + +2024-10-23 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/116733 + * array.cc : White space corrections. + * expr.cc (gfc_check_pointer_assign): Permit assumed rank + target with -std=f202y. Add constraints that the data pointer + object must have rank remapping specified and the that the data + target be contiguous. + * gfortran.h : Add a gfc_array_ref field 'ar' to the structure + 'gfc_association_list'. + * interface.cc (gfc_compare_actual_formal): If -Wsurprising + is set, emit a warning if an assumed size array is passed to an + assumed rank dummy. + * intrinsic.cc (do_ts29113_check): Permit an assumed rank arg. + for reshape if -std=f202y and the argument is contiguous. + * invoke.texi : Introduce -std=f202y. Whitespace errors. + * lang.opt : Accept -std=f202y. + * libgfortran.h : Define GFC_STD_F202Y. + * match.cc (gfc_match_associate): If -std=f202y an assumed rank + selector is allowed if it is contiguous and the associate name + has rank remapping specified. + * options.cc (gfc_init_options): -std=f202y is equivalent to + -std=f2023 with experimental f202y features. White space issues + * parse.cc (parse_associate): If the selector is assumed rank, + use the 'ar' field of the association list to build an array + specification. + * primary.cc (gfc_match_varspec): Do not resolve the assumed + rank selector of a class associate name at this stage to avoid + the rank change. + * resolve.cc (find_array_spec): If an array_ref dimension is -1 + reset it with the rank in the object's array_spec. + (gfc_expression_rank): Do not check dimen types for an assumed + rank variable expression. + (resolve_variable): Do not emit the assumed rank context error + if the context is pointer assignment and the variable is a + target. + (resolve_assoc_var): Resolve the bounds and check for missing + bounds in the rank remap of an associate name with an assumed + rank selector. Do not correct the rank of an associate name + with an assumed rank selector. + (resolve_symbol): Allow the reference to an assumed rank object + if -std-f202y is enabled and the current operation is + EXEC_BLOCK. + * st.cc (gfc_free_association_list): Free bounds expressions + of the 'ar' field, if present. + * trans-array.cc (gfc_conv_ss_startstride): If -std=f202y and + bounds checking activated, do not apply the assertion. + * trans-expr.cc (gfc_trans_pointer_assignment): An assumed rank + target has its offset set to zero. + * trans-stmt.cc (trans_associate_var): If the selector is + assumed rank, call gfc_trans_pointer_assignment using the 'ar' + field in the association list as the array reference for expr1. + The data target, expr2, is a copy of the selector expression. + +2024-10-23 Tobias Burnus <tburnus@baylibre.com> + + * error.cc (terminal_width, gfc_get_terminal_width): Remove. + (gfc_error_init_1): Do not call one to set the other. + +2024-10-19 Tobias Burnus <tburnus@baylibre.com> + + * check.cc (is_c_interoperable): Use _(...) around to mark strings + as translatable. + * data.cc (gfc_assign_data_value): Move string literal to gfc_error + to make it translatable. + * resolve.cc (resolve_fl_variable, resolve_equivalence): Use G_(...) + around string literals. + * scanner.cc (skip_fixed_omp_sentinel): Replace '...' by %<...%>. + * trans-openmp.cc (gfc_split_omp_clauses, + gfc_trans_omp_declare_variant): Likewise. + +2024-10-19 Tobias Burnus <tburnus@baylibre.com> + + * data.cc (gfc_assign_data_value): Use linemap_location_before_p + and GFC_LOCUS_IS_SET. + * decl.cc (gfc_verify_c_interop_param): Make better translatable. + (build_sym, variable_decl, gfc_match_formal_arglist, + gfc_match_subroutine): Add range-based locations, use it in + diagnostic and gobble whitespace for better locations. + * error.cc (gfc_get_location_with_offset): Handle new format. + (gfc_get_location_range): New. + * expr.cc (gfc_check_assign): Use GFC_LOCUS_IS_SET. + * frontend-passes.cc (check_locus_code, check_locus_expr): + Likewise. + (runtime_error_ne): Use GFC_LOCUS_IS_SET. + * gfortran.h (locus): Change lb to union with lb and location. + (GFC_LOCUS_IS_SET): Define. + (gfc_get_location_range): New prototype. + (gfc_new_symbol, gfc_get_symbol, gfc_get_sym_tree, + gfc_get_ha_symbol, gfc_get_ha_sym_tree): Take optional locus + argument. + * io.cc (io_constraint): Use GFC_LOCUS_IS_SET. + * match.cc (gfc_match_sym_tree): Use range locus. + * openmp.cc (gfc_match_omp_variable_list, + gfc_match_omp_doacross_sink): Likewise. + * parse.cc (next_free): Update for locus struct change. + * primary.cc (gfc_match_varspec): Likewise. + (match_variable): Use range locus. + * resolve.cc (find_array_spec): Use GFC_LOCUS_IS_SET. + * scanner.cc (gfc_at_eof, gfc_at_bol, gfc_start_source_files, + gfc_advance_line, gfc_define_undef_line, skip_fixed_comments, + gfc_gobble_whitespace, include_stmt, gfc_new_file): Update + for locus struct change. + * symbol.cc (gfc_new_symbol, gfc_get_sym_tree, gfc_get_symbol, + gfc_get_ha_sym_tree, gfc_get_ha_symbol): Take optional locus. + * trans-array.cc (gfc_trans_array_constructor_value): Use %L not %C. + (gfc_trans_g77_array, gfc_trans_dummy_array_bias, + gfc_trans_class_array, gfc_trans_deferred_array): Replace + gfc_{save,set,restore}_backend_locus by directly using + input_location. + * trans-common.cc (build_equiv_decl, get_init_field): Likewise. + * trans-decl.cc (gfc_get_extern_function_decl, build_function_decl, + build_entry_thunks, gfc_null_and_pass_deferred_len, + gfc_trans_deferred_vars, gfc_trans_use_stmts, finish_oacc_declare, + gfc_generate_block_data): Likewise. + * trans-expr.cc (gfc_copy_class_to_class, gfc_conv_expr): Changes + to avoid gfc_current_locus. + * trans-io.cc (set_error_locus): Likewise. + * trans-openmp.cc (gfc_trans_omp_workshare): Use input_locus directly. + * trans-stmt.cc (gfc_trans_if_1): Likewise and use GFC_LOCUS_IS_SET. + * trans-types.cc (gfc_get_union_type, gfc_get_derived_type): Likewise. + * trans.cc (gfc_locus_from_location): New. + (trans_runtime_error_vararg, gfc_trans_runtime_check): Use location_t + for file + line data. + (gfc_current_backend_file, gfc_save_backend_locus, + gfc_set_backend_locus, gfc_restore_backend_locus): Remove. + (trans_code): Use input_location directly, don't set gfc_current_locus. + * trans.h (gfc_save_backend_locus, gfc_set_backend_locus, + gfc_restore_backend_locus): Remove prototypes. + (gfc_locus_from_location): Add prototype. + +2024-10-19 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/117225 + * primary.cc (match_sym_complex_part): An UNSIGNED in + a complex part is an error. + +2024-10-18 Alejandro Colomar <alx@kernel.org> + + * trans-array.cc (structure_alloc_comps) + * trans-openmp.cc + (gfc_walk_alloc_comps) + (gfc_omp_clause_linear_ctor): + Rename array_type_nelts => array_type_nelts_minus_one + +2024-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> + + * error.cc (notify_std_msg): Handle GFC_STD_UNSIGNED. + +2024-10-17 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/80235 + * trans-decl.cc (gfc_build_qualified_array): Make sure the array + is associated to the correct module and being marked as extern. + +2024-10-15 Thomas Schwinge <tschwinge@baylibre.com> + Harald Anlauf <anlauf@gmx.de> + + PR fortran/82250 + PR fortran/82251 + PR fortran/117136 + * trans-expr.cc (gfc_conv_procedure_call): Initialize + 'is_builtin'. + (conv_function_val): Clean up. + +2024-10-14 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/77871 + * trans-expr.cc (gfc_conv_derived_to_class): Assign token when + converting a coarray to class. + (gfc_get_tree_for_caf_expr): For classes get the caf decl from + the saved descriptor. + (gfc_get_caf_token_offset):Assert that coarray=lib is set and + cover more cases where the tree having the coarray token can be. + * trans-intrinsic.cc (gfc_conv_intrinsic_caf_get): Use unified + test for pointers. + +2024-10-13 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.h (gfc_option_t): Add disable_acc_on_device. + * options.cc (gfc_handle_option): Handle -fno-builtin-acc_on_device. + * trans-decl.cc (gfc_get_extern_function_decl): Move + __builtin_omp_is_initial_device handling to ... + * trans-expr.cc (get_builtin_fn): ... this new function. + (conv_function_val): Call it. + (update_builtin_function): New. + (gfc_conv_procedure_call): Call it. + * types.def (BT_BOOL): Fix type by using bool_type_node. + +2024-10-12 Thomas Koenig <tkoenig@gcc.gnu.org> + + * dump-parse-tree.cc (get_c_type_name): Also handle BT_UNSIGNED. + * gfortran.h (NAMED_UINTCST): Define before inclusion + of iso-c-binding.def and iso-fortran-env.def. + (gfc_get_uint_kind_from_width_isofortranenv): Prototype. + * gfortran.texi: Mention new constants in iso_c_binding and + iso_fortran_env. + * iso-c-binding.def: Handle NAMED_UINTCST. Add c_unsigned, + c_unsigned_short,c_unsigned_char, c_unsigned_long, + c_unsigned_long_long, c_uintmax_t, c_uint8_t, c_uint16_t, + c_uint32_t, c_uint64_t, c_uint128_t, c_uint_least8_t, + c_uint_least16_t, c_uint_least32_t, c_uint_least64_t, + c_uint_least128_t, c_uint_fast8_t, c_uint_fast16_t, + c_uint_fast32_t, c_uint_fast64_t and c_uint_fast128_t. + * iso-fortran-env.def: Handle NAMED_UINTCST. Add uint8, uint16, + uint32 and uint64. + * module.cc (parse_integer): Whitespace fix. + (write_module): Whitespace fix. + (NAMED_UINTCST): Define before inclusion of iso-fortran-evn.def + and iso-fortran-env.def. + * symbol.cc: Likewise. + * trans-types.cc (get_unsigned_kind_from_node): New function. + (get_uint_kind_from_name): New function. + (gfc_get_uint_kind_from_width_isofortranenv): New function. + (get_uint_kind_from_width): New function. + (gfc_init_kinds): Initialize gfc_c_uint_kind. + +2024-10-12 Tobias Burnus <tburnus@baylibre.com> + + * openmp.cc (resolve_omp_clauses): Diagnose polymorphic mapping. + * trans-openmp.cc (gfc_omp_finish_clause): Warn when + polymorphic variable is implicitly mapped. + +2024-10-12 Tobias Burnus <tburnus@baylibre.com> + + * array.cc (gfc_match_array_constructor): Only update the + character length if the expression is of character type. + * error.cc (gfc_get_location_with_offset): New; split off + from ... + (gfc_format_decoder): ... here; call it. + * gfortran.h (gfc_get_location_with_offset): New prototype. + (gfc_get_location): New inline function. + * trans.cc (gfc_get_location): Remove function definition. + * trans.h (gfc_get_location): Remove declaration. + +2024-10-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * intrinsic.cc (add_functions): Convert uint and + selected_unsigned_kind to GFC_STD_UNSIGNED. + (gfc_check_intrinsic_standard): Handle GFC_STD_UNSIGNED. + * libgfortran.h (GFC_STD_UNSIGNED): Add. + * options.cc (gfc_post_options): Set GFC_STD_UNSIGNED + if -funsigned is set. + +2024-10-11 Tobias Burnus <tburnus@baylibre.com> + + * error.cc (error_char, error_string, error_uinteger, error_integer, + error_hwuint, error_hwint, gfc_widechar_display_length, + gfc_wide_display_length, error_printf, show_locus, show_loci): + Remove unused static functions. + (IBUF_LEN, MAX_ARGS): Remove now unused #define. + +2024-10-08 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/51815 + * array.cc (gfc_match_array_ref): Only parse coarray part of + ref. + * match.h (gfc_match_array_ref): Add flag. + * primary.cc (gfc_match_varspec): Request only coarray ref + parsing when no regular array is present. Report error on + unexpected additional ref. + +2024-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> + + * check.cc (gfc_check_minloc_maxloc): Handle BT_UNSIGNED. + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Likewise. + * gfortran.texi: Document MAXLOC and MINLOC for UNSIGNED. + +2024-10-07 Tobias Burnus <tburnus@baylibre.com> + + * openmp.cc (is_predefined_allocator): Use gomp-constants.h consts. + * trans-common.cc (translate_common): Reject OpenMP allocate directives. + * trans-decl.cc (gfc_finish_var_decl): Handle allocate directive + for static variables. + (gfc_trans_deferred_vars): Update for the latter. + +2024-10-01 Thomas Koenig <tkoenig@gcc.gnu.org> + + * check.cc (int_or_real_or_char_or_unsigned_check_f2003): New function. + (gfc_check_minval_maxval): Use it. + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxval): Handle + initial values for UNSIGNED. + * gfortran.texi: Document MINVAL and MAXVAL for unsigned. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * error.cc (gfc_diagnostic_build_locus_prefix): Convert first + param from diagnostic_context * to + const diagnostic_location_print_policy &. Add colorize param. + Likewise for the "two expanded_locations" overload. + (gfc_diagnostic_text_starter): Update for above changes. + (gfc_diagnostic_start_span): Update for change to callback type. + +2024-09-30 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/81265 + * trans-expr.cc (gfc_conv_procedure_call): Ensure coarrays use a + descriptor when passed. + +2024-09-28 Thomas Koenig <tkoenig@gcc.gnu.org> + + * check.cc (intrinsic_type_check): Handle unsigned. + (gfc_check_findloc): Likewise. + * gfortran.texi: Include FINDLOC in unsigned documentation. + * iresolve.cc (gfc_resolve_findloc): Use INTEGER version + for UNSIGNED. + +2024-09-28 Thomas Koenig <tkoenig@gcc.gnu.org> + + * check.cc (gfc_check_eoshift): Handle BT_UNSIGNED. + * simplify.cc (gfc_simplify_eoshift): Likewise. + * gfortran.texi: Document CSHIFT and EOSHIFT for UNSIGNED. + +2024-09-26 Mikael Morin <mikael@gcc.gnu.org> + + * invoke.texi (-M): Remove index reference to removed documentation. + +2024-09-25 Mikael Morin <mikael@gcc.gnu.org> + + PR other/116801 + * invoke.texi: Remove @code wrapping in arguments to @opindex. + (std=): Remove spurious 'option' in index. + (idirafter, imultilib, iprefix, isysroot, iquote, isystem, + fintrinsic-modules-path): Remove variable from index. + * lang.opt.urls: Regenerate. + +2024-09-25 Tobias Burnus <tburnus@baylibre.com> + + * parse.cc (decode_omp_directive): Set target-used bit of + omp_requires_mask when encountering the declare_target or interop + directive. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * check.cc (gfc_check_random_number): Adjust for unsigned. + * iresolve.cc (gfc_resolve_random_number): Handle unsigned. + * trans-expr.cc (gfc_conv_expr_op): Handle BT_UNSIGNED for divide. + * trans-types.cc (gfc_get_dtype_rank_type): Handle BT_UNSIGNED. + * gfortran.texi: Add RANDOM_NUMBER for UNSIGNED. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * check.cc (gfc_check_transf_bit_intrins): Handle unsigned. + * gfortran.texi: Docment IANY, IALL and IPARITY for unsigned. + * iresolve.cc (gfc_resolve_iall): Set flag to use integer + if type is BT_UNSIGNED. + (gfc_resolve_iany): Likewise. + (gfc_resolve_iparity): Likewise. + * simplify.cc (do_bit_and): Adjust asserts for BT_UNSIGNED. + (do_bit_ior): Likewise. + (do_bit_xor): Likewise + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.texi: Document SUM and PRODUCT. + * iresolve.cc (resolve_transformational): New argument, + use_integer, to translate calls to unsigned to calls to + integer. + (gfc_resolve_product): Use it + (gfc_resolve_sum): Use it. + * simplify.cc (init_result_expr): Handle BT_UNSIGNED. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * arith.cc (gfc_arith_uminus): Fix warning. + (gfc_arith_minus): Correctly truncate unsigneds. + * check.cc (gfc_check_dot_product): Handle unsigned arguments. + (gfc_check_matmul): Likewise. + * expr.cc (gfc_get_unsigned_expr): New function. + * gfortran.h (gfc_get_unsigned_expr): Add prototype. + * iresolve.cc (gfc_resolve_matmul): If using UNSIGNED, use the + signed integer version. + * gfortran.texi: Document MATMUL and DOT_PRODUCT for unsigned. + * simplify.cc (compute_dot_product): Handle unsigneds. + +2024-09-24 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/101100 + * trans-expr.cc (trans_caf_token_assign): Take caf-token from + decl for non ultimate coarray components. + +2024-09-24 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/84870 + * trans-array.cc (duplicate_allocatable_coarray): For scalar + allocatable components the memory allocated is now assigned to + the component's pointer. + +2024-09-24 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.h (enum gfc_omp_requires_kind): Add OMP_REQ_SELF_MAPS. + (gfc_namespace): Enlarge omp_requires bitfield. + * module.cc (enum ab_attribute, attr_bits): Add AB_OMP_REQ_SELF_MAPS. + (mio_symbol_attribute): Handle it. + * openmp.cc (gfc_check_omp_requires, gfc_match_omp_requires): Handle + self_maps clause. + * parse.cc (gfc_parse_file): Handle self_maps clause. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * invoke.texi(finline-intrinsics): Document new flag. + * lang.opt (finline-intrinsics, finline-intrinsics=, + fno-inline-intrinsics): New flags. + * options.cc (gfc_post_options): If the option variable controlling + the inlining of MAXLOC (respectively MINLOC) has not been set, set + it or clear it depending on the optimization option variables. + * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Return false + if inlining for the intrinsic is disabled according to the option + variable. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Generate a set + of index variables. Set them using the loop indexes before leaving + the first set of loops. Generate a new loop entry predicate. + Initialize it. Set it before leaving the first set of loops. Clear + it in the body of the second set of loops. For the second set of + loops, update each loop lower bound to use the corresponding index + variable if the predicate variable is set. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Initialize + and update all the variables. Put the label and goto in the + outermost scalarizer loop. Don't start the second loop where the + first stopped. + (gfc_inline_intrinsic_function_p): Also return TRUE for array MASK + or for any REAL type. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Generate + variable initialization for each dimension in the else branch of + the toplevel condition. + (gfc_inline_intrinsic_function_p): Return TRUE for scalar MASK. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-array.cc (gfc_conv_ss_startstride): Set the MINLOC/MAXLOC + result upper bound using the rank of the ARRAY argument. Ajdust + the error message for intrinsic result arrays. Only check array + bounds for array references. Move bound check decision code... + (bounds_check_needed): ... here as a new predicate. Allow bound + check for MINLOC/MAXLOC intrinsic results. + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Change the + result array upper bound to the rank of ARRAY. Update the NONEMPTY + variable to depend on the non-empty extent of every dimension. Use + one variable per dimension instead of a single variable for the + position and the offset. Update their declaration, initialization, + and update to affect the variable of each dimension. Use the first + variable only in areas only accessed with rank 1 ARRAY argument. + Set every element of the result using its corresponding variable. + (gfc_inline_intrinsic_function_p): Return true for integral ARRAY + and absent DIM and MASK. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + * trans-array.cc (gfc_conv_ss_startstride): Move array bound check + generation code... + (add_check_section_in_array_bounds): ... here as a new function. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + * frontend-passes.cc (optimize_minmaxloc): Remove. + (optimize_expr): Remove dispatch to optimize_minmaxloc. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * trans-array.cc (gfc_conv_ss_startstride): Set the scalarization + rank based on the MINLOC/MAXLOC rank if needed. Call the inline + code generation and setup the scalarizer array descriptor info + in the MINLOC and MAXLOC cases. + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Return the + result array element if the scalarizer is setup and we are inside + the loops. Restrict library function call dispatch to the case + where inline expansion is not supported. Declare an array result + if the expression isn't scalar. Initialize the array result single + element and return the result variable if the expression isn't + scalar. + (walk_inline_intrinsic_minmaxloc): New function. + (walk_inline_intrinsic_function): Add MINLOC and MAXLOC cases, + dispatching to walk_inline_intrinsic_minmaxloc. + (gfc_add_intrinsic_ss_code): Add MINLOC and MAXLOC cases. + (gfc_inline_intrinsic_function_p): Return true if ARRAY has rank 1, + regardless of DIM. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * frontend-passes.cc (optimize_minmaxloc): Skip if we can generate + inline code for the unmodified expression. + * trans-intrinsic.cc (gfc_inline_intrinsic_function_p): Add + MINLOC and MAXLOC cases. + +2024-09-20 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * error.cc: Include "diagnostic-format-text.h". + (gfc_diagnostic_starter): Rename to... + (gfc_diagnostic_text_starter): ...this. Convert first + param from diagnostic_context * to diagnostic_text_output_format & + and update accordingly. + (gfc_diagnostic_finalizer, gfc_diagnostic_text_finalizer): + Likewise. + (gfc_diagnostics_init): Update for renamings. + (gfc_diagnostics_finish): Likewise. + +2024-09-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/106606 + * trans-types.cc (gfc_get_derived_type): Only build non-pointer + derived types as component's types when they are not yet built. + +2024-09-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/85002 + * trans-array.cc (duplicate_allocatable_coarray): Allow adding + of deep copy code in the when-allocated case. Add bounds + computation before condition, because coarrays need the bounds + also when not allocated. + (structure_alloc_comps): Duplication in the coarray case is done + already, omit it. Add the deep-code when duplication a coarray. + * trans-expr.cc (gfc_trans_structure_assign): Fix comment. + +2024-09-15 Mikael Morin <mikael@gcc.gnu.org> + + * trans-expr.cc (gfc_advance_se_ss_chain): Don't use an element + from the parent scalarization chain when the current chain reaches + its end. + +2024-09-13 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/116661 + * gfortran.h (gfc_omp_namelist): Rename 'init' members for clarity. + * match.cc (gfc_free_omp_namelist): Handle renaming. + * dump-parse-tree.cc (show_omp_namelist): Update for new format + and features. + * openmp.cc (gfc_match_omp_prefer_type): Parse list to 'fr' and 'attr'; + store 'fr' values as integer. + (gfc_match_omp_init): Rename variable names. + +2024-09-12 Steven G. Kargl <kargl@gcc.gnu.org> + + * module.cc (bt_types): Add BT_UNSIGNED. + +2024-09-11 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/116661 + * openmp.cc (gfc_match_omp_prefer_type): NULL init a gfc_expr + variable and use right locus in gfc_error. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + * cpp.cc (cb_cpp_diagnostic_cpp_option): Convert return type from + "int" to "diagnostic_option_id". + (cb_cpp_diagnostic): Update for renaming of + diagnostic_override_option_index to diagnostic_set_option_id. + * error.cc (gfc_warning): Update for renaming of diagnostic_info + field. + (gfc_warning_now_at): Likewise. + (gfc_warning_now): Likewise. + (gfc_warning_internal): Likewise. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * error.cc (gfc_clear_pp_buffer): Rename diagnostic_context's + "printer" field to "m_printer". + (gfc_warning): Likewise. + (gfc_diagnostic_build_kind_prefix): Likewise. + (gfc_diagnostic_build_locus_prefix): Likewise. + (gfc_diagnostic_starter): Likewise. + (gfc_diagnostic_starter): Likewise. + (gfc_diagnostic_start_span): Likewise. + (gfc_diagnostic_finalizer): Likewise. + (gfc_warning_check): Likewise. + (gfc_error_opt): Likewise. + (gfc_error_check): Likewise. + +2024-09-07 Thomas Koenig <tkoenig@gcc.gnu.org> + + * arith.cc (gfc_reduce_unsigned): New function. + (gfc_arith_error): Add ARITH_UNSIGNED_TRUNCATED and + ARITH_UNSIGNED_NEGATIVE. + (gfc_arith_init_1): Initialize unsigned types. + (gfc_check_unsigned_range): New function. + (gfc_range_check): Handle unsigned types. + (gfc_arith_uminus): Likewise. + (gfc_arith_plus): Likewise. + (gfc_arith_minus): Likewise. + (gfc_arith_times): Likewise. + (gfc_arith_divide): Likewise. + (gfc_compare_expr): Likewise. + (eval_intrinsic): Likewise. + (gfc_int2int): Also convert unsigned. + (gfc_uint2uint): New function. + (gfc_int2uint): New function. + (gfc_uint2int): New function. + (gfc_uint2real): New function. + (gfc_uint2complex): New function. + (gfc_real2uint): New function. + (gfc_complex2uint): New function. + (gfc_log2uint): New function. + (gfc_uint2log): New function. + * arith.h (gfc_int2uint, gfc_uint2uint, gfc_uint2int, gfc_uint2real): + Add prototypes. + (gfc_uint2complex, gfc_real2uint, gfc_complex2uint, gfc_log2uint): + Likewise. + (gfc_uint2log): Likewise. + * check.cc (gfc_boz2uint): New function + (type_check2): New function. + (int_or_real_or_unsigned_check): New function. + (less_than_bitsizekind): Adjust for unsingeds. + (less_than_bitsize2): Likewise. + (gfc_check_allocated): Likewise. + (gfc_check_mod): Likewise. + (gfc_check_bge_bgt_ble_blt): Likewise. + (gfc_check_bitfcn): Likewise. + (gfc_check_digits): Likewise. + (gfc_check_dshift): Likewise. + (gfc_check_huge): Likewise. + (gfc_check_iu): New function. + (gfc_check_iand_ieor_ior): Adjust for unsigneds. + (gfc_check_ibits): Likewise. + (gfc_check_uint): New function. + (gfc_check_ishft): Adjust for unsigneds. + (gfc_check_ishftc): Likewise. + (gfc_check_min_max): Likewise. + (gfc_check_merge_bits): Likewise. + (gfc_check_selected_int_kind): Likewise. + (gfc_check_shift): Likewise. + (gfc_check_mvbits): Likewise. + (gfc_invalid_unsigned_ops): Likewise. + * decl.cc (gfc_match_decl_type_spec): Likewise. + * dump-parse-tree.cc (show_expr): Likewise. + * expr.cc (gfc_get_constant_expr): Likewise. + (gfc_copy_expr): Likewise. + (gfc_extract_int): Likewise. + (numeric_type): Likewise. + * gfortran.h (enum arith): Extend with ARITH_UNSIGNED_TRUNCATED + and ARITH_UNSIGNED_NEGATIVE. + (enum gfc_isym_id): Extend with GFC_ISYM_SU_KIND and GFC_ISYM_UINT. + (gfc_check_unsigned_range): New prototype- + (gfc_arith_error): Likewise. + (gfc_reduce_unsigned): Likewise. + (gfc_boz2uint): Likewise. + (gfc_invalid_unsigned_ops): Likewise. + (gfc_convert_mpz_to_unsigned): Likewise. + * gfortran.texi: Add some rudimentary documentation. + * intrinsic.cc (gfc_type_letter): Adjust for unsigneds. + (add_functions): Add uint and adjust functions to be called. + (add_conversions): Add unsigned conversions. + (gfc_convert_type_warn): Adjust for unsigned. + * intrinsic.h (gfc_check_iu, gfc_check_uint, gfc_check_mod, gfc_simplify_uint, + gfc_simplify_selected_unsigned_kind, gfc_resolve_uint): New prototypes. + * invoke.texi: Add -funsigned. + * iresolve.cc (gfc_resolve_dshift): Handle unsigneds. + (gfc_resolve_iand): Handle unsigneds. + (gfc_resolve_ibclr): Handle unsigneds. + (gfc_resolve_ibits): Handle unsigneds. + (gfc_resolve_ibset): Handle unsigneds. + (gfc_resolve_ieor): Handle unsigneds. + (gfc_resolve_ior): Handle unsigneds. + (gfc_resolve_uint): Handle unsigneds. + (gfc_resolve_merge_bits): Handle unsigneds. + (gfc_resolve_not): Handle unsigneds. + * lang.opt: Add -funsigned. + * libgfortran.h: Add BT_UNSIGNED. + * match.cc (gfc_match_type_spec): Match UNSIGNED. + * misc.cc (gfc_basic_typename): Add UNSIGNED. + (gfc_typename): Likewise. + * primary.cc (convert_unsigned): New function. + (match_unsigned_constant): New function. + (gfc_match_literal_constant): Handle unsigned. + * resolve.cc (resolve_operator): Handle unsigned. + (resolve_ordinary_assign): Likewise. + * simplify.cc (convert_mpz_to_unsigned): Renamed to... + (gfc_convert_mpz_to_unsigned): and adjusted. + (gfc_simplify_bit_size): Adjusted for unsigned. + (compare_bitwise): Likewise. + (gfc_simplify_bge): Likewise. + (gfc_simplify_bgt): Likewise. + (gfc_simplify_ble): Likewise. + (gfc_simplify_blt): Likewise. + (simplify_cmplx): Likewise. + (gfc_simplify_digits): Likewise. + (simplify_dshift): Likewise. + (gfc_simplify_huge): Likewise. + (gfc_simplify_iand): Likewise. + (gfc_simplify_ibclr): Likewise. + (gfc_simplify_ibits): Likewise. + (gfc_simplify_ibset): Likewise. + (gfc_simplify_ieor): Likewise. + (gfc_simplify_uint): Likewise. + (gfc_simplify_ior): Likewise. + (simplify_shift): Likewise. + (gfc_simplify_ishftc): Likewise. + (gfc_simplify_merge_bits): Likewise. + (min_max_choose): Likewise. + (gfc_simplify_mod): Likewise. + (gfc_simplify_modulo): Likewise. + (gfc_simplify_popcnt): Likewise. + (gfc_simplify_range): Likewise. + (gfc_simplify_selected_unsigned_kind): Likewise. + (gfc_convert_constant): Likewise. + * target-memory.cc (size_unsigned): New function. + (gfc_element_size): Adjust for unsigned. + * trans-const.h (gfc_conv_mpz_unsigned_to_tree): Add prototype. + * trans-const.cc (gfc_conv_mpz_unsigned_to_tree): Handle unsigneds. + (gfc_conv_constant_to_tree): Likewise. + * trans-decl.cc (gfc_conv_cfi_to_gfc): Put in "not yet implemented". + * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Likewise. + * trans-stmt.cc (gfc_trans_integer_select): Handle unsigned. + (gfc_trans_select): Likewise. + * trans-intrinsic.cc (gfc_conv_intrinsic_mod): Handle unsigned. + (gfc_conv_intrinsic_shift): Likewise. + (gfc_conv_intrinsic_function): Add GFC_ISYM_UINT. + * trans-io.cc (enum iocall): Add IOCALL_X_UNSIGNED and IOCALL_X_UNSIGNED_WRITE. + (gfc_build_io_library_fndecls): Add transfer_unsigned and transfer_unsigned_write. + (transfer_expr): Handle unsigneds. + * trans-types.cc (gfc_unsinged_kinds): New array. + (gfc_unsigned_types): Likewise. + (gfc_init_kinds): Handle them. + (validate_unsigned): New function. + (gfc_validate_kind): Use it. + (gfc_build_unsigned_type): New function. + (gfc_init_types): Use it. + (gfc_get_unsigned_type): New function. + (gfc_typenode_for_spec): Handle unsigned. + * trans-types.h (gfc_get_unsigned_type): New prototype. + +2024-09-06 Tobias Burnus <tburnus@baylibre.com> + + * dump-parse-tree.cc (show_omp_namelist): Handle OMP_LIST_INIT. + (show_omp_clauses): Handle OMP_LIST_{INIT,USE,DESTORY}; move 'nowait' + from end-directive to the directive dump. + (show_omp_node, show_code_node): Handle EXEC_OMP_INTEROP. + * gfortran.h (enum gfc_statement): Add ST_OMP_INTEROP. + (OMP_LIST_INIT, OMP_LIST_USE, OMP_LIST_DESTROY): Add. + (enum gfc_exec_op): Add EXEC_OMP_INTEROP. + (struct gfc_omp_namelist): Add interop items to union. + (gfc_free_omp_namelist): Add boolean arg. + * match.cc (gfc_free_omp_namelist): Update to free + interop union members. + * match.h (gfc_match_omp_interop): New. + * openmp.cc (gfc_omp_directives): Uncomment 'interop' entry. + (gfc_free_omp_clauses, gfc_match_omp_allocate, + gfc_match_omp_flush, gfc_match_omp_clause_reduction): Update + call. + (enum omp_mask2): Add OMP_CLAUSE_{INIT,USE,DESTROY}. + (OMP_INTEROP_CLAUSES): Use it. + (gfc_match_omp_clauses): Match those clauses. + (gfc_match_omp_prefer_type, gfc_match_omp_init, + gfc_match_omp_interop): New. + (resolve_omp_clauses): Handle interop clauses. + (omp_code_to_statement): Add ST_OMP_INTEROP. + (gfc_resolve_omp_directive): Add EXEC_OMP_INTEROP. + * parse.cc (decode_omp_directive): Parse 'interop' directive. + (next_statement, gfc_ascii_statement): Handle ST_OMP_INTEROP. + * st.cc (gfc_free_statement): Likewise + * resolve.cc (gfc_resolve_code): Handle EXEC_OMP_INTEROP. + * trans.cc (trans_code): Likewise. + * trans-openmp.cc (gfc_trans_omp_directive): Print 'sorry' + for EXEC_OMP_INTEROP. + +2024-09-05 Harald Anlauf <anlauf@gmx.de> + + PR fortran/100273 + * trans-decl.cc (gfc_create_module_variable): Handle module + variable also when it is needed for the result specification + of a contained function. + +2024-09-03 David Malcolm <dmalcolm@redhat.com> + + * error.cc (gfc_move_error_buffer_from_to): Prefix all + output_buffer fields with "m_". + (gfc_diagnostics_init): Likewise. + +2024-08-31 Harald Anlauf <anlauf@gmx.de> + + * match.cc (gfc_match_namelist): Downgrade feature from GNU to + legacy extension. + +2024-08-30 Harald Anlauf <anlauf@gmx.de> + + PR fortran/98454 + * resolve.cc (resolve_symbol): Add default-initialization of + non-allocatable, non-pointer derived-type function results. + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + * error.cc (gfc_format_decoder): Convert final param from + const char **buffer_ptr to pp_token_list &formatted_token_list, + and update call to default_tree_printer accordingly. + +2024-08-29 Harald Anlauf <anlauf@gmx.de> + + PR fortran/116530 + * trans-io.cc (transfer_namelist_element): Prevent NULL pointer + dereference. + +2024-08-23 Paul Thomas <pault@gcc.gnu.org> + + Revert: + 2024-08-06 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/102689 + * trans-array.cc (get_array_ref_dim_for_loop_dim): Use the arg1 + class container carried in ss->info as the seed for a lhs in + class valued transformational intrinsic calls that are not the + rhs of an assignment. Otherwise, the lhs variable expression is + taken from the loop chain. For this latter case, the _vptr and + _len fields are set. + (gfc_trans_create_temp_array): Use either the lhs expression + seeds to build a class variable that will take the returned + descriptor as its _data field. In the case that the arg1 expr. + is used, a class typespec must be built with the correct rank + and the _vptr and _len fields set. The element size is provided + for the temporary allocation and to set the descriptor span. + (gfc_array_init_size): When an intrinsic type scalar expr3 is + used in allocation of a class array, use its element size in + the descriptor dtype. + * trans-expr.cc (gfc_conv_class_to_class): Class valued + transformational intrinsics return the pointer to the array + descriptor as the _data field of a class temporary. Extract + directly and return the address of the class temporary. + (gfc_conv_procedure_call): store the expression for the first + argument of a class valued transformational intrinsic function + in the ss info class_container field. Later, use its type as + the element type in the call to gfc_trans_create_temp_array. + (fcncall_realloc_result): Add a dtype argument and use it in + the descriptor, when available. + (gfc_trans_arrayfunc_assign): For class lhs, build a dtype with + the lhs rank and the rhs element size and use it in the call to + fcncall_realloc_result. + +2024-08-23 Gerald Pfeifer <gerald@pfeifer.com> + + * invoke.texi (Code Gen Options): Add a missing word. + +2024-08-23 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/86468 + * trans-stmt.cc (trans_associate_var): Remove superfluous + view_convert. + +2024-08-21 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/86468 + * trans-intrinsic.cc (conv_intrinsic_move_alloc): Correct + comment. + * trans-types.cc (gfc_sym_type): Pass coarray rank, not false. + (gfc_get_derived_type): Only propagate codimension for coarrays + and pointers to array components in derived typed coarrays. + +2024-08-21 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/77518 + * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Use + class_container of se when set. + +2024-08-20 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/84246 + * resolve.cc (caf_possible_reallocate): Detect arrays that may + be reallocated by caf_send. + (resolve_ordinary_assign): More reliably detect assignments + where a rewrite to caf_send is needed. + * trans-expr.cc (gfc_trans_assignment_1): Remove rewrite to + caf_send, because this is done by resolve now. + * trans-intrinsic.cc (conv_caf_send): Prevent unneeded temporary + arrays. + +2024-08-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/46371 + PR fortran/56496 + * expr.cc (gfc_is_coindexed): Detect is coindexed also when + rewritten to caf_get. + * trans-stmt.cc (trans_associate_var): Always accept a + descriptor for coarrays. + +2024-08-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/84244 + * trans-types.cc (gfc_get_derived_type): When a caf_sub_token is + generated for a component, link it to the component it is + generated for (the previous one). + +2024-08-16 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114146 + * intrinsic.texi: Fix documentation of arguments of RANDOM_INIT, + which is conforming to the F2018 standard. + +2024-08-15 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/116387 + * resolve.cc (resolve_operator): Use %L rather than %%L in format + string. + +2024-08-15 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/110033 + * class.cc (gfc_is_class_scalar_expr): Coarray refs that ref + only self, aka this image, are regarded as scalar, too. + * resolve.cc (resolve_assoc_var): Ignore this image coarray refs + and do not build a new class type. + * trans-expr.cc (gfc_get_caf_token_offset): Get the caf token + from the descriptor for associated variables. + (gfc_conv_variable): Same. + (gfc_trans_pointer_assignment): Assign token to temporary + associate variable, too. + (gfc_trans_scalar_assign): Add flag that assign is for associate + and use it to assign the token. + (is_assoc_assign): Detect that expressions are for associate + assign. + (gfc_trans_assignment_1): Treat associate assigns like pointer + assignments where possible. + * trans-stmt.cc (trans_associate_var): Set same_class only for + class-targets. + * trans.h (gfc_trans_scalar_assign): Add flag to + trans_scalar_assign for marking associate assignments. + +2024-08-15 Andre Vehreschild <vehre@gcc.gnu.org> + + * arith.cc (reduce_unary): Use expr.corank. + (reduce_binary_ac): Same. + (reduce_binary_ca): Same. + (reduce_binary_aa): Same. + * array.cc (gfc_match_array_ref): Same. + * check.cc (dim_corank_check): Same. + (gfc_check_move_alloc): Same. + (gfc_check_image_index): Same. + * class.cc (gfc_add_class_array_ref): Same. + (finalize_component): Same. + * data.cc (gfc_assign_data_value): Same. + * decl.cc (match_clist_expr): Same. + (add_init_expr_to_sym): Same. + * expr.cc (simplify_intrinsic_op): Same. + (simplify_parameter_variable): Same. + (gfc_check_assign_symbol): Same. + (gfc_get_variable_expr): Same. + (gfc_add_full_array_ref): Same. + (gfc_lval_expr_from_sym): Same. + (gfc_get_corank): Removed. + * frontend-passes.cc (callback_reduction): Use expr.corank. + (create_var): Same. + (combine_array_constructor): Same. + (optimize_minmaxloc): Same. + * gfortran.h (gfc_get_corank): Add corank to gfc_expr. + * intrinsic.cc (gfc_get_intrinsic_function_symbol): Use + expr.corank. + (gfc_convert_type_warn): Same. + (gfc_convert_chartype): Same. + * iresolve.cc (resolve_bound): Same. + (gfc_resolve_cshift): Same. + (gfc_resolve_eoshift): Same. + (gfc_resolve_logical): Same. + (gfc_resolve_matmul): Same. + * match.cc (copy_ts_from_selector_to_associate): Same. + * matchexp.cc (gfc_get_parentheses): Same. + * parse.cc (parse_associate): Same. + * primary.cc (gfc_match_rvalue): Same. + * resolve.cc (resolve_structure_cons): Same. + (resolve_actual_arglist): Same. + (resolve_elemental_actual): Same. + (resolve_generic_f0): Same. + (resolve_unknown_f): Same. + (resolve_operator): Same. + (gfc_expression_rank): Same and set dimen_type for coarray to + default. + (gfc_op_rank_conformable): Use expr.corank. + (add_caf_get_intrinsic): Same. + (resolve_variable): Same. + (gfc_fixup_inferred_type_refs): Same. + (check_host_association): Same. + (resolve_compcall): Same. + (resolve_expr_ppc): Same. + (resolve_assoc_var): Same. + (fixup_array_ref): Same. + (resolve_select_type): Same. + (add_comp_ref): Same. + (get_temp_from_expr): Same. + (resolve_fl_var_and_proc): Same. + (resolve_symbol): Same. + * symbol.cc (gfc_is_associate_pointer): Same. + * trans-array.cc (walk_coarray): Same. + (gfc_conv_expr_descriptor): Same. + (gfc_walk_array_ref): Same. + * trans-array.h (gfc_walk_array_ref): Same. + * trans-expr.cc (gfc_get_ultimate_alloc_ptr_comps_caf_token): + Same. + * trans-intrinsic.cc (trans_this_image): Same. + (trans_image_index): Same. + (conv_intrinsic_cobound): Same. + (gfc_walk_intrinsic_function): Same. + (conv_intrinsic_move_alloc): Same. + * trans-stmt.cc (gfc_trans_lock_unlock): Same. + (trans_associate_var): Same and adapt to slightly different + behaviour of expr.corank and gfc_get_corank. + (gfc_trans_allocate): Same. + * trans.cc (gfc_add_finalizer_call): Same. + +2024-08-14 Harald Anlauf <anlauf@gmx.de> + + * simplify.cc (gfc_simplify_sizeof): Clear used gmp variable. + * target-memory.cc (gfc_target_expr_size): Likewise. + +2024-08-14 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/102973 + * match.cc (gfc_match_associate): Reset proc_ptr parsing flag on + error. + +2024-08-14 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/116292 + * trans-intrinsic.cc (conv_intrinsic_move_alloc): Get the vtab + only for derived types and classes and adjust _len for class + types. + +2024-08-13 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/114308 + * array.cc (resolve_array_list): Reject array constructor value if + its declared type is abstract (F2018:C7114). + +2024-08-12 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/85510 + * resolve.cc (resolve_variable): Mark the variable as host + associated only, when it is not in an associate block. + * trans-decl.cc (generate_coarray_init): Remove incorrect unused + flag on parameter. + +2024-08-11 Harald Anlauf <anlauf@gmx.de> + + PR fortran/116221 + * intrinsic.cc (gfc_get_intrinsic_sub_symbol): Initialize variable. + * symbol.cc (gfc_get_ha_symbol): Likewise. + +2024-08-07 Julian Brown <julian@codesourcery.com> + Tobias Burnus <tobias@baylibre.com> + + * gfortran.h (gfc_option_t): Add disable_omp_is_initial_device. + * lang.opt (fbuiltin-): Add. + * options.cc (gfc_handle_option): Handle + -fno-builtin-omp_is_initial_device. + * f95-lang.cc (gfc_init_builtin_functions): Handle + DEF_GOMP_BUILTIN_COMPILER. + * trans-decl.cc (gfc_get_extern_function_decl): Add code to use + DEF_GOMP_BUILTIN_COMPILER for 'omp_is_initial_device'. + +2024-08-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/109105 + * resolve.cc (CHECK_INTERFACES): New helper macro. + (resolve_operator): Replace use of snprintf with + gfc_error. + +2024-08-06 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/102689 + * trans-array.cc (get_array_ref_dim_for_loop_dim): Use the arg1 + class container carried in ss->info as the seed for a lhs in + class valued transformational intrinsic calls that are not the + rhs of an assignment. Otherwise, the lhs variable expression is + taken from the loop chain. For this latter case, the _vptr and + _len fields are set. + (gfc_trans_create_temp_array): Use either the lhs expression + seeds to build a class variable that will take the returned + descriptor as its _data field. In the case that the arg1 expr. + is used, a class typespec must be built with the correct rank + and the _vptr and _len fields set. The element size is provided + for the temporary allocation and to set the descriptor span. + (gfc_array_init_size): When an intrinsic type scalar expr3 is + used in allocation of a class array, use its element size in + the descriptor dtype. + * trans-expr.cc (gfc_conv_class_to_class): Class valued + transformational intrinsics return the pointer to the array + descriptor as the _data field of a class temporary. Extract + directly and return the address of the class temporary. + (gfc_conv_procedure_call): store the expression for the first + argument of a class valued transformational intrinsic function + in the ss info class_container field. Later, use its type as + the element type in the call to gfc_trans_create_temp_array. + (fcncall_realloc_result): Add a dtype argument and use it in + the descriptor, when available. + (gfc_trans_arrayfunc_assign): For class lhs, build a dtype with + the lhs rank and the rhs element size and use it in the call to + fcncall_realloc_result. + +2024-08-03 Steve Kargl <kargls@comcast.net> + + PR fortran/104626 + * symbol.cc (gfc_add_save): Add checks for SAVE attribute + conflicts and duplicate SAVE attribute. + +2024-08-02 Mikael Morin <mikael@gcc.gnu.org> + + * trans-intrinsic.cc (maybe_absent_optional_variable): New function. + (gfc_conv_intrinsic_minmaxloc): Remove BACK from scalarization and + evaluate it before. Add a check that BACK is not null if the + expression is an optional dummy. Save the resulting expression to a + variable. Use the variable in the generated inline code. + +2024-08-01 Jakub Jelinek <jakub@redhat.com> + + * trans-types.cc (gfc_get_array_descr_info): Don't test if + !integer_zerop (dtype_off), use fold_build_pointer_plus + unconditionally. + +2024-07-29 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/115559 + * trans-common.cc (build_common_decl): Add 'omp declare target' and + 'omp declare target link' variables to offload_vars. + * trans-decl.cc (add_attributes_to_decl): Likewise; update args and + call decl_attributes. + (get_proc_pointer_decl, gfc_get_extern_function_decl, + build_function_decl): Update calls. + (gfc_get_symbol_decl): Likewise; move after 'DECL_STATIC (t)=1' + to avoid errors with symtab_node::get_create. + +2024-07-22 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/88624 + * trans-expr.cc (gfc_conv_procedure_call): Treat + pointers/references (e.g. from parameters) correctly by derefing + them. + +2024-07-21 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/59104 + * gfortran.h : Add decl_order to gfc_symbol. + * symbol.cc : Add static next_decl_order.. + (gfc_set_sym_referenced): Set symbol decl_order. + * trans-decl.cc : Include dependency.h. + (decl_order): Replace symbol declared_at.lb->location with + decl_order. + +2024-07-19 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103115 + * trans-array.cc (gfc_trans_array_constructor_value): If the first + element of an array constructor is deferred-length character and + therefore does not have an element size known at compile time, do + not try to collect subsequent constant elements into a constructor + for optimization. + +2024-07-18 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/78466 + PR fortran/80774 + * array.cc (gfc_compare_array_spec): Take cotype into account. + * class.cc (gfc_build_class_symbol): Coarrays are also arrays. + * gfortran.h (IS_CLASS_COARRAY_OR_ARRAY): New macro to detect + regular and coarray class arrays. + * interface.cc (compare_components): Take codimension into + account. + * resolve.cc (resolve_symbol): Improve error message. + * simplify.cc (simplify_bound_dim): Remove duplicate. + * trans-array.cc (gfc_trans_array_cobounds): Coarrays are also + arrays. + (gfc_trans_array_bounds): Same. + (gfc_trans_dummy_array_bias): Same. + (get_coarray_as): Get the as having a non-zero codim. + (is_explicit_coarray): Detect explicit coarrays. + (gfc_conv_expr_descriptor): Create a new descriptor for explicit + coarrays. + * trans-decl.cc (gfc_build_qualified_array): Coarrays are also + arrays. + (gfc_build_dummy_array_decl): Same. + (gfc_get_symbol_decl): Same. + (gfc_trans_deferred_vars): Same. + * trans-expr.cc (class_scalar_coarray_to_class): Get the + descriptor from the correct location. + (gfc_conv_variable): Pick up the descriptor when needed. + * trans-types.cc (gfc_is_nodesc_array): Coarrays are also + arrays. + (gfc_get_nodesc_array_type): Indentation fix only. + (cobounds_match_decl): Match a tree's bounds to the expr's + bounds and return true, when they match. + (gfc_get_derived_type): Create a new type tree/descriptor, when + the cobounds of the existing declaration and expr to not + match. This happends for class arrays in parameter list, when + there are different cobound declarations. + +2024-07-18 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/108889 + * gfortran.h: Add bit field 'allocated_in_scope' to gfc_symbol. + * trans-array.cc (gfc_array_allocate): Set 'allocated_in_scope' + after allocation if not a component reference. + (gfc_alloc_allocatable_for_assignment): If 'allocated_in_scope' + not set, not a component ref and not allocated, set the array + bounds and offset to give zero length in all dimensions. Then + set allocated_in_scope. + +2024-07-18 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/82904 + * trans-types.cc (gfc_sym_type): Use type `char*` for saved + deferred length char arrays. + * trans.cc (get_array_span): Get `.span` also for `char*` typed + arrays, i.e. for those that have INTEGER_TYPE instead of + ARRAY_TYPE. + +2024-07-17 Kewen Lin <linkw@linux.ibm.com> + + PR target/112993 + * trans-types.cc (get_real_kind_from_node): Consider the case where + more than one modes have the same precision. + +2024-07-16 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/84868 + * simplify.cc (gfc_simplify_len_trim): If the argument is an + element of a parameter array, simplify all the elements and + build a new parameter array to hold the result, after checking + that it doesn't already exist. + * trans-expr.cc (gfc_get_interface_mapping_array) if a string + length is available, use it for the typespec. + (gfc_add_interface_mapping): Supply the se string length. + +2024-07-16 Prathamesh Kulkarni <prathameshk@nvidia.com> + + * trans-expr.cc (gfc_trans_zero_assign): Handle allocatable arrays. + +2024-07-13 Mikael Morin <mikael@gcc.gnu.org> + + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Add the + preliminary code generated for MASK to the preliminary code of + MINLOC/MAXLOC. + +2024-07-12 Mikael Morin <morin-mikael@orange.fr> + + * trans-intrinsic.cc (gfc_conv_intrinsic_minmaxloc): Create a new + scalar scalarization chain element if BACK is present. Add it to + the loop. Set the scalarization chain before evaluating the + argument. + +2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org> + + * trans-array.cc (gfc_conv_array_parameter): Init variable to + NULL_TREE to fix bootstrap. + +2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/96992 + * trans-array.cc (gfc_trans_array_bounds): Set a starting + stride, when descriptor expects a variable for the stride. + (gfc_trans_dummy_array_bias): Allow storage association for + dummy class arrays, when they are not elemental. + (gfc_conv_array_parameter): Add more general class support + and packing for classes, too. + * trans-array.h (gfc_conv_array_parameter): Add lbound shift + for class arrays. + * trans-decl.cc (gfc_build_builtin_function_decls): Add decls + for internal_un-/pack_class. + * trans-expr.cc (gfc_reset_vptr): Allow supplying a type-tree + to generate the vtab from. + (gfc_class_set_vptr): Allow supplying a class-tree to take the + vptr from. + (class_array_data_assign): Rename to gfc_class_array_data_assign + and make usable from other compile units. + (gfc_class_array_data_assign): Renamed from class_array_data_ + assign. + (gfc_conv_derived_to_class): Remove assert to + allow converting derived to class type arrays with assumed + rank. Reduce code base and use gfc_conv_array_parameter also + for classes. + (gfc_conv_class_to_class): Use gfc_class_data_assign. + (gfc_conv_procedure_call): Adapt to new signature of + gfc_conv_derived_to_class. + * trans-io.cc (transfer_expr): Same. + * trans-stmt.cc (trans_associate_var): Same. + * trans.h (gfc_conv_derived_to_class): Signature changed. + (gfc_class_array_data_assign): Made public. + (gfor_fndecl_in_pack_class): Added declaration. + (gfor_fndecl_in_unpack_class): Same. + +2024-07-08 Mikael Morin <mikael@gcc.gnu.org> + + * trans-array.cc (gfc_trans_preloop_setup): Use a separate variable + for iteration. Use directly the value of variable I if it is known. + Move the definition of the variable to the branch where the + remaining uses are. + +2024-07-03 Harald Anlauf <anlauf@gmx.de> + + PR fortran/115700 + * trans-stmt.cc (trans_associate_var): When the associate target + is an array-valued character variable, the length is known at entry + of the associate block. Move setting of string length of the + selector to the initialization part of the block. + +2024-07-01 Andrew Stubbs <ams@baylibre.com> + Thomas Schwinge <thomas@codesourcery.com> + + * openmp.cc (is_predefined_allocator): Update valid ranges to + incorporate ompx_gnu_pinned_mem_alloc. + +2024-06-29 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114019 + * trans-stmt.cc (gfc_trans_allocate): Fix handling of case of + scalar character expression being used for SOURCE. + +2024-06-28 Andre Vehreschild <vehre@gcc.gnu.org> + + * trans-expr.cc (gfc_class_set_vptr): Add setting of _vptr + member. + * trans-intrinsic.cc (conv_intrinsic_move_alloc): First use + of gfc_class_set_vptr and refactor very similar code. + * trans.h (gfc_class_set_vptr): Declare the new function. + +2024-06-28 Andre Vehreschild <vehre@gcc.gnu.org> + + * trans-array.cc (structure_alloc_comps): Use reset_vptr. + * trans-decl.cc (gfc_trans_deferred_vars): Same. + (gfc_generate_function_code): Same. + * trans-expr.cc (gfc_reset_vptr): Allow supplying the class + type. + (gfc_conv_procedure_call): Use reset_vptr. + * trans-intrinsic.cc (gfc_conv_intrinsic_transfer): Same. + +2024-06-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/55978 + * trans-array.cc (gfc_conv_array_parameter): Do not dereference + data component of a missing allocatable dummy array argument for + passing as actual to optional dummy. Harden logic of presence + check for optional pointer dummy by using TRUTH_ANDIF_EXPR instead + of TRUTH_AND_EXPR. + +2024-06-20 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/59104 + * dependency.cc (dependency_fcn, gfc_function_dependency): New + functions to detect dependency in array bounds and character + lengths on old style function results. + * dependency.h : Add prototype for gfc_function_dependency. + * error.cc (error_print): Remove trailing space. + * gfortran.h : Remove dummy_order and add fn_result_spec. + * symbol.cc : Remove declaration of next_dummy_order.. + (gfc_set_sym_referenced): remove setting of symbol dummy order. + * trans-array.cc (gfc_trans_auto_array_allocation): Detect + non-dummy symbols with function dependencies and put the + allocation at the end of the initialization code. + * trans-decl.cc : Include dependency.h. + (decl_order): New function that determines uses the location + field of the symbol 'declared_at' to determine the order of two + declarations. + (gfc_defer_symbol_init): Call gfc_function_dependency to put + dependent symbols in the right part of the tlink chain. Use + the location field of the symbol declared_at to determine the + order of declarations. + (gfc_trans_auto_character_variable): Put character length + initialization of dependent symbols at the end of the chain. + * trans.cc (gfc_add_init_cleanup): Add boolean argument with + default false that determines whther an expression is placed at + the back or the front of the initialization chain. + * trans.h : Update the prototype for gfc_add_init_cleanup. + +2024-06-19 Harald Anlauf <anlauf@gmx.de> + + PR fortran/115390 + * trans-decl.cc (gfc_conv_cfi_to_gfc): Move derivation of type sizes + for character via gfc_trans_vla_type_sizes to after character length + has been set. + +2024-06-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/90076 + * trans-decl.cc (gfc_generate_function_code): Set vptr for + results to declared class type. + * trans-expr.cc (gfc_reset_vptr): Allow to provide the typespec + instead of the expression. + * trans.h (gfc_reset_vptr): Same. + +2024-06-17 Andre Vehreschild <vehre@gcc.gnu.org> + + * trans.cc (gfc_deallocate_with_status): Check that object to deref + is an array, before applying array deref. + +2024-06-12 David Malcolm <dmalcolm@redhat.com> + + * error.cc (gfc_clear_pp_buffer): Likewise. + (gfc_warning): Likewise. + (gfc_warning_check): Likewise. + (gfc_error_opt): Likewise. + (gfc_error_check): Likewise. + +2024-06-07 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/90068 + * trans-array.cc (gfc_trans_array_ctor_element): Eval non- + variable expressions once only. + (gfc_trans_array_constructor_value): Add statements of + final block. + (trans_array_constructor): Detect when final block is required. + +2024-06-07 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/90072 + * expr.cc (gfc_is_alloc_class_scalar_function): Detect + allocatable class return types also for user-defined + functions. + * trans-expr.cc (gfc_conv_procedure_call): Same. + (trans_class_vptr_len_assignment): Compute vptr len + assignment correctly for user-defined functions. + +2024-06-05 Jakub Jelinek <jakub@redhat.com> + Frederik Harwath <frederik@codesourcery.com> + Sandra Loosemore <sandra@codesourcery.com> + + * gfortran.h (enum gfc_statement): Add ST_OMP_UNROLL, + ST_OMP_END_UNROLL, ST_OMP_TILE and ST_OMP_END_TILE. + (struct gfc_omp_clauses): Add sizes_list, partial, full and erroneous + members. + (enum gfc_exec_op): Add EXEC_OMP_UNROLL and EXEC_OMP_TILE. + (gfc_expr_list_len): Declare. + * match.h (gfc_match_omp_tile, gfc_match_omp_unroll): Declare. + * openmp.cc (gfc_get_location): Declare. + (gfc_free_omp_clauses): Free sizes_list. + (match_oacc_expr_list): Rename to ... + (match_omp_oacc_expr_list): ... this. Add is_omp argument and + change diagnostic wording if it is true. + (enum omp_mask2): Add OMP_CLAUSE_{FULL,PARTIAL,SIZES}. + (gfc_match_omp_clauses): Parse full, partial and sizes clauses. + (gfc_match_oacc_wait): Use match_omp_oacc_expr_list instead of + match_oacc_expr_list. + (OMP_UNROLL_CLAUSES, OMP_TILE_CLAUSES): Define. + (gfc_match_omp_tile, gfc_match_omp_unroll): New functions. + (resolve_omp_clauses): Diagnose full vs. partial clause conflict. + Resolve sizes clause arguments. + (find_nested_loop_in_chain): Use switch instead of series of ifs. + Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. + (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to + list length of sizes_list if present. + (gfc_resolve_do_iterator): Return for EXEC_OMP_TILE or + EXEC_OMP_UNROLL. + (restructure_intervening_code): Remove spurious ()s around & operands. + (is_outer_iteration_variable): Handle EXEC_OMP_TILE and + EXEC_OMP_UNROLL. + (check_nested_loop_in_chain): Likewise. + (expr_is_invariant): Likewise. + (resolve_omp_do): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. Diagnose + tile without sizes clause. Use sizes_list length for count if + non-NULL. Set code->ext.omp_clauses->erroneous on loops where we've + reported diagnostics. Sorry for mixing non-rectangular loops with + generated loops. + (omp_code_to_statement): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. + (gfc_resolve_omp_directive): Likewise. + * parse.cc (decode_omp_directive): Parse end tile, end unroll, tile + and unroll. Move nothing entry alphabetically. + (case_exec_markers): Add ST_OMP_TILE and ST_OMP_UNROLL. + (gfc_ascii_statement): Handle ST_OMP_END_TILE, ST_OMP_END_UNROLL, + ST_OMP_TILE and ST_OMP_UNROLL. + (parse_omp_do): Add nested argument. Handle ST_OMP_TILE and + ST_OMP_UNROLL. + (parse_omp_structured_block): Adjust parse_omp_do caller. + (parse_executable): Likewise. Handle ST_OMP_TILE and ST_OMP_UNROLL. + * resolve.cc (gfc_resolve_blocks): Handle EXEC_OMP_TILE and + EXEC_OMP_UNROLL. + (gfc_resolve_code): Likewise. + * st.cc (gfc_free_statement): Likewise. + * trans.cc (trans_code): Likewise. + * trans-openmp.cc (gfc_trans_omp_clauses): Handle full, partial and + sizes clauses. Use tree_cons + nreverse instead of + temporary vector and build_tree_list_vec for tile_list handling. + (gfc_expr_list_len): New function. + (gfc_trans_omp_do): Rename tile to oacc_tile. Handle sizes clause. + Don't assert code->op is EXEC_DO. Handle EXEC_OMP_TILE and + EXEC_OMP_UNROLL. + (gfc_trans_omp_directive): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. + * dump-parse-tree.cc (show_omp_clauses): Dump full, partial and + sizes clauses. + (show_omp_node): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. + (show_code_node): Likewise. + +2024-06-05 Kewen Lin <linkw@linux.ibm.com> + + * trans-intrinsic.cc (build_round_expr): Use TYPE_PRECISION of + long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. + * trans-types.cc (gfc_build_real_type): Use TYPE_PRECISION of + {float,double,long_double}_type_node to replace + {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE. + +2024-06-04 Harald Anlauf <anlauf@gmx.de> + + PR fortran/83865 + * trans-stmt.cc (gfc_trans_allocate): Restrict special case for + source-expression with zero-length character to rank 0, so that + the array shape is not discarded. + +2024-05-29 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/90069 + * trans-expr.cc (gfc_conv_procedure_call): Evaluate + expressions with side-effects only ones and ensure + old is freeed. + +2024-05-24 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/93635 + * symbol.cc (conflict_std): Helper function for reporting attribute + conflicts depending on the Fortran standard version. + (conf_std): Helper macro for checking standard-dependent conflicts. + (gfc_check_conflict): Use it. + +2024-05-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/86100 + * trans-array.cc (gfc_conv_ss_startstride): Use abridged_ref_name + to generate a more user-friendly name for bounds-check messages. + * trans-expr.cc (gfc_copy_class_to_class): Fix bounds check for + rank>1 by looping over the dimensions. + +2024-05-23 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/103312 + * dependency.cc (gfc_dep_compare_expr): Handle component call + expressions. Return -2 as default and return 0 if compared with + a function expression that is from an interface body and has + the same name. + * expr.cc (gfc_reduce_init_expr): If the expression is a comp + call do not attempt to reduce, defer to resolution and return + false. + * trans-types.cc (gfc_get_dtype_rank_type, + gfc_get_nodesc_array_type): Fix whitespace. + +2024-05-20 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/99798 + * symbol.cc (gfc_release_symbol): Move the condition guarding + the handling cyclic references... + (cyclic_reference_break_needed): ... here as a new predicate. + Remove superfluous parts. Add a condition preventing any premature + release with submodule symbols. + +2024-05-20 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/115150 + * trans-intrinsic.cc (gfc_conv_intrinsic_bound): Fix SHAPE + for zero-size arrays + +2024-05-20 Tobias Burnus <tburnus@baylibre.com> + + * invoke.texi (fcoarray): Link to OpenCoarrays.org; + mention libcaf_single. + +2024-05-17 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/114874 + * gfortran.h: Add 'assoc_name_inferred' to gfc_namespace. + * match.cc (gfc_match_select_type): Set 'assoc_name_inferred' + in select type namespace if the selector has inferred type. + * primary.cc (gfc_match_varspec): If a select type temporary + is apparently scalar and a left parenthesis has been detected, + check the current namespace has 'assoc_name_inferred' set. If + so, set inferred_type. + * resolve.cc (resolve_variable): If the namespace of a select + type temporary is marked with 'assoc_name_inferred' call + gfc_fixup_inferred_type_refs to ensure references are OK. + (gfc_fixup_inferred_type_refs): Catch invalid array refs.. + +2024-05-15 Jakub Jelinek <jakub@redhat.com> + + PR c/115103 + * openmp.cc (resolve_omp_clauses): Diagnose grainsize + used together with num_tasks or nogroup used together with + reduction. + +2024-05-13 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/113363 + * trans-array.cc (gfc_array_init_size): Use the expr3 dtype so + that the correct element size is used. + * trans-expr.cc (gfc_conv_procedure_call): Remove restriction + that ss and ss->loop be present for the finalization of class + array function results. + (trans_class_assignment): Use free and malloc, rather than + realloc, for character expressions assigned to unlimited poly + entities. + * trans-stmt.cc (gfc_trans_allocate): Build a correct rhs for + the assignment of an unlimited polymorphic 'source'. + +2024-05-12 Harald Anlauf <anlauf@gmx.de> + + * primary.cc (gfc_match_varspec): Replace 'ref' argument to + is_inquiry_ref() by NULL when the result is not needed to avoid + a memleak. + +2024-05-12 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/84006 + PR fortran/100027 + PR fortran/98534 + * iresolve.cc (gfc_resolve_transfer): Emit a TODO error for + unlimited polymorphic mold. + * trans-expr.cc (gfc_resize_class_size_with_len): Use the fold + even if a block is not available in which to fix the result. + (trans_class_assignment): Enable correct assignment of + character expressions to unlimited polymorphic variables using + lhs _len field and rse string_length. + * trans-intrinsic.cc (gfc_conv_intrinsic_storage_size): Extract + the class expression so that the unlimited polymorphic class + expression can be used in gfc_resize_class_size_with_len to + obtain the storage size for character payloads. Guard the use + of GFC_DECL_SAVED_DESCRIPTOR by testing for DECL_LANG_SPECIFIC + to prevent the ICE. Also, invert the order to use the class + expression extracted from the argument. + (gfc_conv_intrinsic_transfer): In same way as 'storage_size', + use the _len field to obtaining the correct length for arg 1. + Add a branch for the element size in bytes of class expressions + with provision to make use of the unlimited polymorphic _len + field. Again, the class references are explicitly identified. + 'mold_expr' was already declared. Use it instead of 'arg'. Do + not fix 'dest_word_len' for deferred character sources because + reallocation on assign makes use of it before it is assigned. + +2024-05-11 Harald Anlauf <anlauf@gmx.de> + + PR fortran/115039 + * expr.cc (gfc_traverse_expr): An inquiry ref does not constitute + a dependency and cannot collide with a symbol. + +2024-05-05 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114827 + * trans-array.cc (gfc_alloc_allocatable_for_assignment): Take into + account _len of unlimited polymorphic entities when calculating + the effective element size for allocation size and array span. + Set _len of lhs to _len of rhs. + * trans-expr.cc (trans_class_assignment): Take into account _len + of unlimited polymorphic entities for allocation size. + +2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * expr.cc (check_transformational): Add SELECTED_LOGICAL_KIND + to allowed functions for Fortran 2023. + * gfortran.h (GFC_ISYM_SL_KIND): New. + * gfortran.texi: Mention SELECTED_LOGICAL_KIND. + * intrinsic.cc (add_functions): Add SELECTED_LOGICAL_KIND. + (gfc_intrinsic_func_interface): Allow it in initialization + expressions. + * intrinsic.h (gfc_simplify_selected_logical_kind): New proto. + * intrinsic.texi: Add SELECTED_LOGICAL_KIND. + * simplify.cc (gfc_simplify_selected_logical_kind): New + function. + * trans-decl.cc (gfc_build_intrinsic_function_decls): Initialize + gfor_fndecl_sl_kind. + * trans-intrinsic.cc (gfc_conv_intrinsic_sl_kind): New function. + (gfc_conv_intrinsic_function): Call it for GFC_ISYM_SL_KIND. + * trans.h (gfor_fndecl_sl_kind): New symbol. + +2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * iso-fortran-env.def: Add logical{8,16,32,64} and + real16 named constants. + +2024-04-29 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/114959 + * trans-expr.cc (gfc_trans_class_init_assign): Return NULL_TREE + if the default initializer has all NULL fields. Guard this + by a requirement that the code not be EXEC_INIT_ASSIGN and that + the object be an INTENT_OUT dummy. + * trans-stmt.cc (gfc_trans_allocate): Change the initializer + code for allocate with mold to EXEC_ALLOCATE to allow an + initializer with all NULL fields. + +2024-04-25 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/93678 + * trans-expr.cc (gfc_conv_procedure_call): Use the interface, + where possible, to obtain the type of character procedure + pointers of class entities. + +2024-04-25 Paul Thomas <pault@gcc.gnu.org> + Jakub Jelinek <jakub@gcc.gnu.org> + + PR fortran/89462 + * decl.cc (build_sym): Add an extra argument 'elem'. If 'elem' + is greater than 1, gfc_new_charlen is called to generate a new + charlen, registered in the symbol namespace. + (variable_decl, enumerator_decl): Set the new argument in the + calls to build_sym. + +2024-04-21 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/103471 + * resolve.cc (resolve_actual_arglist): Catch variables silently + set as untyped, resetting the flag so that gfc_resolve_expr can + generate the no implicit type error. + (gfc_resolve_index_1): Block index expressions of unknown type + from being converted to default integer, avoiding the fatal + error in trans-decl.cc. + * symbol.cc (gfc_set_default_type): Remove '(symbol)' from the + 'no IMPLICIT type' error message. + * trans-decl.cc (gfc_get_symbol_decl): Change fatal error locus + to that of the symbol declaration. + (gfc_trans_deferred_vars): Remove two trailing tabs. + +2024-04-18 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/114739 + * primary.cc (gfc_match_varspec): Check for default type before + checking for derived types with the right component name. + +2024-04-16 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113793 + * resolve.cc (resolve_allocate_expr): Reject ALLOCATE with SOURCE= + or MOLD= specifier for unequal length. + * trans-stmt.cc (gfc_trans_allocate): If an allocatable character + variable has fixed length, use it and do not use the source length. + With bounds-checking enabled, add a runtime check for same length. + +2024-04-10 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106500 + * check.cc (is_c_interoperable): Fix checks for C_SIZEOF. + (gfc_check_c_f_pointer): Reject function returning a pointer as FPTR, + and improve an error message. + +2024-04-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/114535 + * resolve.cc (resolve_symbol): Remove last chunk that checked + for finalization of unreferenced symbols. + +2024-04-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/113956 + * trans-expr.cc (gfc_trans_pointer_assignment): Remove assert + causing the ICE since it was unnecesary. + +2024-04-02 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/106999 + * interface.cc (gfc_compare_interfaces): Add error for a + subroutine proc pointer passed to a variable formal. + (compare_parameter): If a procedure pointer is being passed to + a non-procedure formal arg, and there is an an interface, use + gfc_compare_interfaces to check and provide a more useful error + message. + +2024-04-02 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/112407 + * resolve.cc (resolve_procedure_expression): Change the test for + for recursion in the case of hidden procedures from modules. + (resolve_typebound_static): Add warning for possible recursive + calls to typebound procedures. + * trans-expr.cc (gfc_trans_class_init_assign): Do not apply + default initializer to class dummy where component initializers + are all null. + +2024-03-29 Harald Anlauf <anlauf@gmx.de> + + PR fortran/50410 + * trans-expr.cc (gfc_conv_structure): Check for NULL pointer. + +2024-03-29 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/36337 + PR fortran/110987 + PR fortran/113885 + * trans-expr.cc (gfc_trans_assignment_1): Place finalization + block before rhs post block for elemental rhs. + * trans.cc (gfc_finalize_tree_expr): Check directly if a type + has no components, rather than the zero components attribute. + Treat elemental zero component expressions in the same way as + scalars. + +2024-03-28 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114474 + * primary.cc (gfc_variable_attr): Catch variables used in structure + constructors within DATA statements that are still tagged with a + temporary type BT_PROCEDURE from match_actual_arg and which have the + target attribute, and fix their typespec. + +2024-03-28 Mikael Morin <mikael@gcc.gnu.org> + Harald Anlauf <anlauf@gmx.de> + + PR fortran/111781 + PR fortran/114475 + * expr.cc (check_restricted): In submodules, allow variables host- + associated from the parent module. + +2024-03-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/55978 + * interface.cc (gfc_compare_actual_formal): Skip size check for + NULL() actual without MOLD argument. + +2024-03-22 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/107426 + * gfortran.h (gfc_save_module_list, gfc_restore_old_module_list): + New declarations. + * module.cc (old_module_list_tail): New global variable. + (gfc_save_module_list, gfc_restore_old_module_list): New functions. + (gfc_use_modules): Set module_list and old_module_list_tail. + * parse.cc (next_statement): Save module_list before doing any work. + (reject_statement): Restore module_list to its saved value. + +2024-03-22 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/111781 + * symbol.cc (gfc_get_procedure_ns, gfc_get_spec_ns): New functions. + * gfortran.h (gfc_get_procedure_ns, gfc_get_spec ns): Declare them. + (gfc_is_formal_arg): Remove. + * expr.cc (check_restricted): Remove special case allowing local + variable in dummy argument bound expressions. Use gfc_get_spec_ns + to get the right namespace. + * resolve.cc (gfc_is_formal_arg, formal_arg_flag): Remove. + (gfc_resolve_formal_arglist): Set gfc_current_ns. Quit loop and + restore gfc_current_ns instead of early returning. + (resolve_symbol): Factor common array spec resolution code to... + (resolve_symbol_array_spec): ... this new function. Additionnally + set and restore gfc_current_ns. + +2024-03-21 Harald Anlauf <anlauf@gmx.de> + + PR fortran/30802 + * trans-array.cc (abridged_ref_name): New helper function. + (trans_array_bound_check): Use it. + (array_bound_check_elemental): Likewise. + (gfc_conv_array_ref): Likewise. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + * trans-array.cc (structure_alloc_comps): Use integer_zero_node + instead of build_zero_cst (integer_type_node) or + build_int_cst (integer_type_node, 0) and integer_one_node instead of + build_int_cst (integer_type_node, 1). + * trans-expr.cc (conv_scalar_char_value): Likewise. + * trans-stmt.cc (gfc_trans_form_team, gfc_trans_change_team, + gfc_trans_sync_team, gfc_trans_sync): Likewise. + * trans-decl.cc (create_main_function): Likewise. + * trans-intrinsic.cc (trans_this_image, conv_intrinsic_move_alloc): + Likewise. + * trans.cc (gfc_allocate_using_caf_lib, gfc_deallocate_with_status): + Likewise. + +2024-03-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103715 + * frontend-passes.cc (check_externals_expr): Prevent invalid read + in case of mismatch of external subroutine with function. + +2024-03-17 Harald Anlauf <anlauf@gmx.de> + + PR fortran/101135 + * trans-array.cc (gfc_get_dataptr_offset): Check for optional + arguments being present before dereferencing data pointer. + +2024-03-15 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/87477 + PR fortran/89645 + PR fortran/99065 + PR fortran/114141 + PR fortran/114280 + * class.cc (gfc_change_class): New function needed for + associate names, when rank changes or a derived type is + produced by resolution + * dump-parse-tree.cc (show_code_node): Make output for SELECT + TYPE more comprehensible. + * expr.cc (find_inquiry_ref): Do not simplify expressions of + an inferred type. + * gfortran.h : Add 'gfc_association_list' to structure + 'gfc_association_list'. Add prototypes for + 'gfc_find_derived_types', 'gfc_fixup_inferred_type_refs' and + 'gfc_change_class'. Add macro IS_INFERRED_TYPE. + * match.cc (copy_ts_from_selector_to_associate): Add bolean arg + 'select_type' with default false. If this is a select type name + and the selector is a inferred type, build the class type and + apply it to the associate name. + (build_associate_name): Pass true to 'select_type' in call to + previous. + * parse.cc (parse_associate): If the selector is inferred type + the associate name is too. Make sure that function selector + class and rank, if known, are passed to the associate name. If + a function result exists, pass its typespec to the associate + name. + * primary.cc (resolvable_fcns): New function to check that all + the function references are resolvable. + (gfc_match_varspec): If a scalar derived type select type + temporary has an array reference, match the array reference, + treating this in the same way as an equivalence member. Do not + set 'inquiry' if applied to an unknown type the inquiry name + is ambiguous with the component of an accessible derived type. + Check that resolution of the target expression is OK by testing + if the symbol is declared or is an operator expression, then + using 'resolvable_fcns' recursively. If all is well, resolve + the expression. If this is an inferred type with a component + reference, call 'gfc_find_derived_types' to find a suitable + derived type. If there is an inquiry ref and the symbol either + is of unknown type or is inferred to be a derived type, set the + primary and symbol TKR appropriately. + * resolve.cc (resolve_variable): Call new function below. + (gfc_fixup_inferred_type_refs): New function to ensure that the + expression references for a inferred type are consistent with + the now fixed up selector. + (resolve_assoc_var): Ensure that derived type or class function + selectors transmit the correct arrayspec to the associate name. + (resolve_select_type): If the selector is an associate name of + inferred type and has no component references, the associate + name should have its typespec. Simplify the conversion of a + class array to class scalar by calling 'gfc_change_class'. + Make sure that a class, inferred type selector with an array + ref transfers the typespec from the symbol to the expression. + * symbol.cc (gfc_set_default_type): If an associate name with + unknown type has a selector expression, try resolving the expr. + (find_derived_types, gfc_find_derived_types): New functions + that search for a derived type with a given name. + * trans-expr.cc (gfc_conv_variable): Some inferred type exprs + escape resolution so call 'gfc_fixup_inferred_type_refs'. + * trans-stmt.cc (trans_associate_var): Tidy up expression for + 'class_target'. Finalize and free class function results. + Correctly handle selectors that are class functions and class + array references, passed as derived types. + +2024-03-14 Thomas Schwinge <thomas@codesourcery.com> + + * dump-parse-tree.cc (show_omp_clauses): Handle 'self_expr'. + * openmp.cc (gfc_free_omp_clauses): Likewise. + * trans-openmp.cc (gfc_split_omp_clauses): Don't handle 'self_expr'. + +2024-03-14 Chung-Lin Tang <cltang@baylibre.com> + + * dump-parse-tree.cc (show_omp_namelist): Print "readonly," for + OMP_LIST_MAP and OMP_LIST_CACHE if n->u.map.readonly is set. + Adjust 'n->u.map_op' to 'n->u.map.op'. + * gfortran.h (typedef struct gfc_omp_namelist): Adjust map_op as + 'ENUM_BITFIELD (gfc_omp_map_op) op:8', add 'bool readonly' field, + change to named struct field 'map'. + * openmp.cc (gfc_match_omp_map_clause): Adjust 'n->u.map_op' to + 'n->u.map.op'. + (gfc_match_omp_clause_reduction): Likewise. + (gfc_match_omp_clauses): Add readonly modifier parsing for OpenACC + copyin clause, set 'n->u.map.op' and 'n->u.map.readonly' for parsed + clause. Adjust 'n->u.map_op' to 'n->u.map.op'. + (gfc_match_oacc_declare): Adjust 'n->u.map_op' to 'n->u.map.op'. + (gfc_match_oacc_cache): Add readonly modifier parsing for OpenACC + cache directive. + (resolve_omp_clauses): Adjust 'n->u.map_op' to 'n->u.map.op'. + * trans-decl.cc (add_clause): Adjust 'n->u.map_op' to 'n->u.map.op'. + (finish_oacc_declare): Likewise. + * trans-openmp.cc (gfc_trans_omp_clauses): Set OMP_CLAUSE_MAP_READONLY, + OMP_CLAUSE__CACHE__READONLY to 1 when readonly is set. Adjust + 'n->u.map_op' to 'n->u.map.op'. + (gfc_add_clause_implicitly): Adjust 'n->u.map_op' to 'n->u.map.op'. + +2024-03-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114001 + * expr.cc (gfc_is_simply_contiguous): Adjust logic so that CLASS + symbols are also handled. + +2024-03-13 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/114283 + * trans-openmp.cc (gfc_omp_predetermined_mapping): Map dummy + procedures as firstprivate. + +2024-03-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/110826 + * array.cc (gfc_array_dimen_size): When walking the ref chain of an + array and the ultimate component is a procedure pointer, do not try + to figure out its dimension even if it is a array-valued function. + +2024-03-06 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103707 + PR fortran/106987 + * arith.cc (is_hard_arith_error): New helper function to determine + whether an arithmetic error is "hard" or not. + (check_result): Use it. + (gfc_arith_divide): Set "Division by zero" only for regular + numerators of real and complex divisions. + (reduce_unary): Use is_hard_arith_error to determine whether a hard + or (recoverable) soft error was encountered. Terminate immediately + on hard error, otherwise remember code of first soft error. + (reduce_binary_ac): Likewise. + (reduce_binary_ca): Likewise. + (reduce_binary_aa): Likewise. + +2024-03-01 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104819 + * check.cc (gfc_check_null): Handle nested NULL()s. + (is_c_interoperable): Check for MOLD argument of NULL() as part of + the interoperability check. + * interface.cc (gfc_compare_actual_formal): Extend checks for NULL() + actual arguments for presence of MOLD argument when required by + Interp J3/22-146. + +2024-02-29 Alexander Westbrooks <alexanderw@gcc.gnu.org> + + PR fortran/82943 + PR fortran/86148 + PR fortran/86268 + * decl.cc (gfc_get_pdt_instance): Set the PDT instance field + 'f2k_derived', if not set already, to point to the given + PDT template 'f2k_derived' namespace in order to give the + PDT instance referential access to the typebound procedures + of the template. + * gfortran.h (gfc_pdt_is_instance_of): Add prototype. + * resolve.cc (resolve_typebound_procedure): If the derived type + does not have the attribute 'pdt_template' set, compare the + dummy argument to the 'resolve_bindings_derived' type like usual. + If the derived type is a 'pdt_template', then check if the + dummy argument is an instance of the PDT template. If the derived + type is a PDT template, and the dummy argument is an instance of + that template, but the dummy argument 'param_list' is not + SPEC_ASSUMED, check if there are any LEN parameters in the + dummy argument. If there are no LEN parameters, then this implies + that there are only KIND parameters in the dummy argument. + If there are LEN parameters, this would be an error, for all + LEN parameters for the dummy argument MUST be assumed for + typebound procedures of PDTs. + (resolve_pdt): Add a check for ALLOCATABLE and POINTER attributes for + SPEC_DEFERRED parameters of PDT class symbols. ALLOCATABLE and + POINTER attributes for a PDT class symbol are stored in the + 'class_pointer' and 'allocatable' attributes of the '_data' + component respectively. + * symbol.cc (gfc_pdt_is_instance_of): New function. + +2024-02-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114012 + * trans-expr.cc (gfc_conv_procedure_call): Evaluate non-trivial + arguments just once before assigning to an unlimited polymorphic + dummy variable. + +2024-02-23 Steve Kargl <kargl@gcc.gnu.org> + Harald Anlauf <anlauf@gmx.de> + + PR fortran/114024 + * trans-stmt.cc (gfc_trans_allocate): When a source expression has + substring references, part-refs, or %re/%im inquiries, wrap the + entity in parentheses to force evaluation of the expression. + +2024-02-23 Tobias Burnus <tburnus@baylibre.com> + + * openmp.cc (gfc_match_omp_depobj): Use OPT_Wopenmp + as warning category in gfc_warning. + +2024-02-20 Peter Hill <peter.hill@york.ac.uk> + + PR fortran/105658 + * trans-expr.cc (gfc_conv_intrinsic_to_class): When passing an + array component reference of intrinsic type to a procedure + with an unlimited polymorphic dummy argument, a temporary + should be created. + +2024-02-17 Jakub Jelinek <jakub@redhat.com> + + PR fortran/113503 + * trans-expr.cc (alloc_scalar_allocatable_subcomponent): Don't + overwrite expr2->ts.u.cl->backend_decl, instead set size to + expr2->ts.u.cl->backend_decl first and use size instead of + expr2->ts.u.cl->backend_decl. + (gfc_trans_subcomponent_assign): Emit se.pre into block + before calling alloc_scalar_allocatable_subcomponent instead of + after it. + +2024-02-17 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113911 + * trans-array.cc (gfc_trans_deferred_array): Do not clobber + deferred length for a character variable passed as dummy argument. + +2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com> + + * dump-parse-tree.cc (show_attr): Handle omp_declare_target_indirect + attribute. + * f95-lang.cc (gfc_gnu_attributes): Add entry for 'omp declare + target indirect'. + * gfortran.h (symbol_attribute): Add omp_declare_target_indirect + field. + (struct gfc_omp_clauses): Add indirect field. + * openmp.cc (omp_mask2): Add OMP_CLAUSE_INDIRECT. + (gfc_match_omp_clauses): Match indirect clause. + (OMP_DECLARE_TARGET_CLAUSES): Add OMP_CLAUSE_INDIRECT. + (gfc_match_omp_declare_target): Check omp_device_type and apply + omp_declare_target_indirect attribute to symbol if indirect clause + active. Show warning if there are only device_type and/or indirect + clauses on the directive. + * trans-decl.cc (add_attributes_to_decl): Add 'omp declare target + indirect' attribute if symbol has indirect attribute set. + +2024-02-14 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/105847 + * trans-io.cc (transfer_namelist_element): When building the + namelist object name, if the use rename attribute is set, use + the local name specified in the use statement. + +2024-02-14 Jakub Jelinek <jakub@redhat.com> + + * error.cc (error_print): For u printing of ptrdiff_t, + print ptrdiff_t argument converted to unsigned long long and + masked with 2ULL * PTRDIFF_MAX + 1. + +2024-02-13 Tobias Burnus <tburnus@baylibre.com> + + PR middle-end/113904 + * trans-openmp.cc (gfc_trans_omp_declare_variant): Handle splitting of + OMP_TRAIT_PROPERTY_EXPR into OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. + * openmp.cc (gfc_match_omp_context_selector): Likewise; rejects + non-const device_num/condition; improve diagnostic. + +2024-02-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113866 + * trans-expr.cc (gfc_conv_procedure_call): When passing an optional + dummy argument to an optional dummy argument of a bind(c) procedure + and the dummy argument is passed via a CFI descriptor, no special + presence check and passing of a default NULL pointer is needed. + +2024-02-13 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/113883 + * trans-array.cc (gfc_trans_deferred_array): Set length to zero, + avoiding extraneous diagnostics. + +2024-02-10 Jakub Jelinek <jakub@redhat.com> + + * error.cc (error_print): Handle z and t modifiers on d, i and u. + * check.cc (gfc_check_transfer): Use %zd instead of %ld and casts to + long. + * primary.cc (gfc_convert_to_structure_constructor): Use %td instead + of %ld and casts to long. + +2024-02-10 Jakub Jelinek <jakub@redhat.com> + + * trans-common.cc (build_common_decl): Use %wu instead of %lu and + casts to unsigned long. + * resolve.cc (resolve_ordinary_assign): Use %wd instead of %ld and + casts to long. + * array.cc (gfc_resolve_character_array_constructor): Likewise. + * data.cc (create_character_initializer): Likewise. + +2024-02-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113799 + * arith.cc (reduce_unary): Remember any overflow encountered during + reduction of unary arithmetic operations on array constructors and + continue, and return error status, but terminate on serious errors. + +2024-01-28 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113377 + * trans-expr.cc (conv_dummy_value): Treat NULL actual argument to + optional dummy with the VALUE attribute as not present. + (gfc_conv_procedure_call): Likewise. + +2024-01-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104908 + * trans-array.cc (gfc_conv_array_ref): Restrict use of transformed + descriptor (sym->backend_decl) to the unlimited polymorphic case. + +2024-01-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113377 + * trans-expr.cc (conv_dummy_value): New. + (gfc_conv_procedure_call): Factor code for handling dummy arguments + with the VALUE attribute in the scalar case into conv_dummy_value(). + Reuse and adjust for calling elemental procedures. + +2024-01-21 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113377 + * trans-expr.cc (gfc_conv_procedure_call): Fix handling of optional + scalar arguments of intrinsic type with the VALUE attribute. + +2024-01-20 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/48776 + PR fortran/111291 + * parse.cc: Restore current interface to its previous value on error. + +2024-01-19 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113471 + * trans-array.cc (array_bound_check_elemental): Array bounds check + shall apply here to elemental dimensions of an array section only. + +2024-01-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/67277 + * trans-intrinsic.cc (gfc_conv_intrinsic_ishftc): Handle optional + dummy argument for SIZE passed to ISHFTC. Set default value to + BIT_SIZE(I) when missing. + +2024-01-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113305 + * gfortran.h (gfc_loop_annot): New. + (gfc_iterator, gfc_forall_iterator): Use for annotation control. + * array.cc (gfc_copy_iterator): Adjust. + * gfortran.texi: Document annotations IVDEP, UNROLL n, VECTOR, + NOVECTOR as applied to DO CONCURRENT. + * parse.cc (parse_do_block): Parse annotations IVDEP, UNROLL n, + VECTOR, NOVECTOR as applied to DO CONCURRENT. Apply UNROLL only to + first loop control variable. + * trans-stmt.cc (iter_info): Use gfc_loop_annot. + (gfc_trans_simple_do): Adjust. + (gfc_trans_forall_loop): Annotate loops with IVDEP, UNROLL n, + VECTOR, NOVECTOR as needed for DO CONCURRENT. + (gfc_trans_forall_1): Handle loop annotations. + +2024-01-08 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113245 + * trans-intrinsic.cc (gfc_conv_intrinsic_size): Use + gfc_conv_expr_present() for proper check of optional DIM argument. + +2024-01-06 Harald Anlauf <anlauf@gmx.de> + José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/96724 + * iresolve.cc (gfc_resolve_repeat): Force conversion to + gfc_charlen_int_kind before call to gfc_multiply. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * lang.opt.urls: New file, autogenerated by + regenerate-opt-urls.py. + +2024-01-03 Harald Anlauf <anlauf@gmx.de> + + * trans-types.cc (gfc_get_nodesc_array_type): Clear used gmp + variables. + +2024-01-03 Jakub Jelinek <jakub@redhat.com> + + * 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) 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 +notice and this notice are preserved. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 861d2ddffc5e..3b8e713fd401 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -2,41231 +2,8 @@ PR middle-end/118174 * gcc.dg/torture/pr118174.c: New testcase. - -2024-12-31 Jiahao Xu <xujiahao@loongson.cn> - Deng Jianbo <dengjianbo@loongson.cn> - - * lib/target-supports.exp (check_effective_target_vect_early_break_hw, - check_effective_target_vect_early_break): Support LoongArch LSX. - * gcc.target/loongarch/vector/lasx/lasx-vseteqz.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-vseteqz.c: New test. - -2024-12-31 Jeff Law <jlaw@ventanamicro.com> - - PR target/115375 - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Adjust expected - output. - -2024-12-30 Jeff Law <jlaw@ventanamicro.com> - - PR testsuite/114182 - * gcc.c-torture/compile/attr-complex-method.c: Use - "large_double" to select between scan outputs. - * gcc.c-torture/compile/attr-complex-method-2.c: Similarly. - -2024-12-30 Jeff Law <jlaw@ventanamicro.com> - - PR target/106544 - * gcc.target/riscv/pr106544.c: New test. - -2024-12-30 Steven G. Kargl <kargls@comcast.net> - - PR fortran/117643 - * gfortran.dg/f_c_string1.f90: New test. - * gfortran.dg/f_c_string2.f90: New test. - -2024-12-30 Jeff Law <jlaw@ventanamicro.com> - - PR target/118122 - * gcc.target/riscv/pr118122.c: New test. - -2024-12-30 Richard Sandiford <richard.sandiford@arm.com> - Saurabh Jha <saurabh.jha@arm.com> - - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Add mfloat8 - support. - * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vbsl.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcombine.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcreate.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vext.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vget_high.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1x2.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1x3.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vrev.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst1x2.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst1x3.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst1x4.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: Likewise. - * gcc.target/aarch64/simd/lut.c: Likewise. - * gcc.target/aarch64/vdup_lane_1.c: Likewise. - * gcc.target/aarch64/vdup_lane_2.c: Likewise. - * gcc.target/aarch64/vdup_n_1.c: Likewise. - * gcc.target/aarch64/vect_copy_lane_1.c: Likewise. - * gcc.target/aarch64/simd/mf8_data_1.c: New test. - * gcc.target/aarch64/simd/mf8_data_2.c: Likewise. - -2024-12-30 kelefth <konstantinos.eleftheriou@vrull.eu> - - PR rtl-optimization/117835 - PR rtl-optimization/117872 - * gcc.target/i386/pr117835.c: New test. - -2024-12-30 Lewis Hyatt <lhyatt@gmail.com> - - PR tree-optimization/118205 - * c-c++-common/pr118205.c: New test. - -2024-12-29 Jeff Law <jlaw@ventanamicro.com> - - PR target/116715 - * gcc.target/riscv/pr116715.c: New test. - -2024-12-29 Jeff Law <jlaw@ventanamicro.com> - - PR target/116720 - * gcc.target/riscv/pr116720.c: New test. - -2024-12-29 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/106221 - PR c++/110680 - * g++.dg/cpp2a/lambda-uneval19.C: New test. - -2024-12-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/118207 - * gcc.dg/pr118207.c: New test. - * c-c++-common/cpp/embed-29.c: New file. - -2024-12-27 Jiahao Xu <xujiahao@loongson.cn> - - * gcc.target/loongarch/vector/lasx/lasx-vcond-3.c: New test. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc.target/alpha/memclr-a2-o1-c9-ptr.c: Remove XFAILs. - * gcc.target/alpha/memcpy-di-aligned.c: New file. - * gcc.target/alpha/memcpy-di-unaligned.c: New file. - * gcc.target/alpha/memcpy-di-unaligned-dst.c: New file. - * gcc.target/alpha/memcpy-di-unaligned-src.c: New file. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc.target/alpha/memclr-a2-o1-c9-ptr.c: New file. - * gcc.target/alpha/memclr-a2-o1-c9-run.c: New file. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc.target/alpha/stlx0.c: New file. - * gcc.target/alpha/stqx0.c: New file. - * gcc.target/alpha/stwx0.c: New file. - * gcc.target/alpha/stwx0-bwx.c: New file. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc.c-torture/execute/misalign.c: New file. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc.c-torture/execute/memclr.c: New file. - -2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc.target/alpha/alpha.exp: Use `gcc-dg-runtest' rather than - `dg-runtest'. Add `-Og -g' and `-Oz' variants via - ADDITIONAL_TORTURE_OPTIONS. - * gcc.target/alpha/20000715-1.c: Adjust test options - accordingly. - * gcc.target/alpha/20011018-1.c: Likewise. - * gcc.target/alpha/980217-1.c: Likewise. - * gcc.target/alpha/asm-1.c: Likewise. - * gcc.target/alpha/pr105209.c: Likewise. - * gcc.target/alpha/pr106966.c: Likewise. - * gcc.target/alpha/pr115297.c: Likewise. - * gcc.target/alpha/pr115526.c: Likewise. - * gcc.target/alpha/pr19518.c: Likewise. - * gcc.target/alpha/pr22093.c: Likewise. - * gcc.target/alpha/pr24178.c: Likewise. - * gcc.target/alpha/pr39740.c: Likewise. - * gcc.target/alpha/pr42113.c: Likewise. - * gcc.target/alpha/pr42269-1.c: Likewise. - * gcc.target/alpha/pr42448-1.c: Likewise. - * gcc.target/alpha/pr42448-2.c: Likewise. - * gcc.target/alpha/pr42774.c: Likewise. - * gcc.target/alpha/pr61586.c: Likewise. - * gcc.target/alpha/pr66140.c: Likewise. - * gcc.target/alpha/pr83628-1.c: Likewise. - * gcc.target/alpha/pr83628-2.c: Likewise. - * gcc.target/alpha/pr83628-3.c: Likewise. - * gcc.target/alpha/pr86984.c: Likewise. - * gcc.target/alpha/sqrt.c: Likewise. - * gcc.target/alpha/base-2.c: Remove file. - * gcc.target/alpha/cix-2.c: Remove file. - * gcc.target/alpha/max-2.c: Remove file. - -2024-12-24 Hans-Peter Nilsson <hp@bitrange.com> - - * gcc.dg/memcmp-1.c: Pass -DRUN_FRACTION=7 when testing in a simulator. - -2024-12-23 Harald Anlauf <anlauf@gmx.de> - - PR fortran/118179 - * gfortran.dg/null_actual_7.f90: Extend testcase to also cover - scalar variants with pointer or allocatable dummy with or without - specified intent. - -2024-12-23 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/107635 - * gfortran.dg/coarray_lib_comm_1.f90: Use less complicated - pattern, because all we need is the right count. - -2024-12-23 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.dg/tree-ssa/pr118149.c: Disable for AArch64. - -2024-12-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - PR testsuite/103298 - * gcc.target/arm/pr43920-2.c: Change to assembler pattern - "(cmp|mov|orr|and)(eq|ne)" for the check. Remove size check. - -2024-12-22 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray_atomic_5.f90: Adapted to look for - get_by_ct. - * gfortran.dg/coarray_lib_comm_1.f90: Same. - * gfortran.dg/coarray_stat_function.f90: Same. - -2024-12-21 Arsen Arsenović <arsen@aarsen.me> - - PR middle-end/109224 - * g++.dg/warn/Wmismatched-new-delete-9.C: New test. - * g++.dg/warn/pr109224.C: New file. - -2024-12-21 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104819 - * gfortran.dg/null_actual_7.f90: New test. - -2024-12-21 Jeff Law <jlaw@ventanamicro.com> - - PR middle-end/118084 - * gcc.target/riscv/pr118084.c: New test. - -2024-12-20 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/118007 - * gcc.dg/strub-pr118007.c: New. - -2024-12-20 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/113506 - * gcc.target/riscv/pr113506.c: New. - -2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.dg/tree-ssa/satd-hadamard.c: Rename dg-additional-options - to dg-options. - * gcc.dg/tree-ssa/vector-10.c: Rename dg-additional-options - to dg-options and add -msse2 to it. - * gcc.dg/tree-ssa/vector-11.c: Likewise. - * gcc.dg/tree-ssa/vector-8.c: Rename dg-additional-options - to dg-options. - * gcc.dg/tree-ssa/vector-9.c: Likewise. - -2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.dg/tree-ssa/pr118149-2.c: New test. - * gcc.dg/tree-ssa/pr118149.c: New test. - -2024-12-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/118120 - PR fortran/113928 - * gfortran.dg/aliasing_complex_pointer.f90: New test. - -2024-12-20 Tamar Christina <tamar.christina@arm.com> - - PR target/96342 - * gcc.target/aarch64/vect-simd-clone-2.c: New test. - -2024-12-20 Tamar Christina <tamar.christina@arm.com> - Victor Do Nascimento <victor.donascimento@arm.com> - - PR target/96342 - * gcc.target/aarch64/declare-simd-2.c: Add SVE clone scan. - * gcc.target/aarch64/vect-simd-clone-1.c: New test. - * g++.target/aarch64/vect-simd-clone-1.C: New test. - -2024-12-20 Tamar Christina <tamar.christina@arm.com> - - PR target/96342 - * c-c++-common/gomp/declare-variant-14.c: Make i?86 and x86_64 target - only test. - * gfortran.dg/gomp/declare-variant-14.f90: Likewise. - -2024-12-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Take - tree-optimized pass for standard name check, and adjust the times. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto - -2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.dg/tree-ssa/vector-11.c: New test. - -2024-12-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/attr-maybe_unused1.C: New test. - * g++.dg/cpp0x/alignas21.C: Add test for int && alignas (int). - -2024-12-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/attr-deprecated1.C: New test. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116401 - * g++.dg/modules/macro-4_c.H: Add missing 'inline'. - * g++.dg/modules/pr106761.h: Likewise. - * g++.dg/modules/pr98843_b.H: Likewise. - * g++.dg/modules/pr99468.H: Likewise. - * g++.dg/modules/pragma-1_a.H: Likewise. - * g++.dg/modules/tpl-ary-1.h: Likewise. - * g++.dg/modules/hdr-2.H: New test. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/export-3.C: Adjust error message. - * g++.dg/modules/export-6.C: New test. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/internal-9_a.H: New test. - * g++.dg/modules/internal-9_b.C: New test. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/internal-5_a.C: New test. - * g++.dg/modules/internal-5_b.C: New test. - * g++.dg/modules/internal-6.C: New test. - * g++.dg/modules/internal-7_a.C: New test. - * g++.dg/modules/internal-7_b.C: New test. - * g++.dg/modules/internal-8_a.C: New test. - * g++.dg/modules/xtreme-header-8.C: New test. - -2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/block-decl-2.C: Adjust messages. - * g++.dg/modules/internal-1.C: Adjust messages, remove XFAILs. - * g++.dg/modules/linkage-2.C: Adjust messages, remove XFAILS. - * g++.dg/modules/internal-3.C: New test. - * g++.dg/modules/internal-4_a.H: New test. - * g++.dg/modules/internal-4_b.C: New test. - -2024-12-19 Marek Polacek <polacek@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/117980 - * g++.dg/cpp0x/constexpr-prvalue2.C: New test. - * g++.dg/cpp0x/constexpr-prvalue3.C: New test. - -2024-12-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/memset-inline-4.c: Only check assembler output. - * gcc.target/arm/memset-inline-5.c: Likewise. - * gcc.target/arm/memset-inline-6.c: Likewise. - * gcc.target/arm/memset-inline-8.c: Likewise. - * gcc.target/arm/memset-inline-9.c: Likewise. - * gcc.target/arm/memset-inline-4-exe.c: New test. - * gcc.target/arm/memset-inline-5-exe.c: Likewise. - * gcc.target/arm/memset-inline-6-exe.c: Likewise. - * gcc.target/arm/memset-inline-8-exe.c: Likewise. - * gcc.target/arm/memset-inline-9-exe.c: Likewise. - -2024-12-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/abi/arm_rtti1.C: Check for expected symbol in C++26. - -2024-12-19 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/toplevel-asm-1.c: Use %cc3 %cc4 instead of %c3 %c4 - on riscv. - -2024-12-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Adjust - the vsse check times based on optimization option. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto. - -2024-12-19 Pan Li <pan2.li@intel.com> - - PR target/118075 - * gcc.target/riscv/rvv/base/pr118075-run-1.c: New test. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/field-merge-16.c: New. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/field-merge-15.c: New. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/117915 - * gcc.dg/pr117915.c: New. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - PR testsuite/118025 - * gcc.dg/field-merge-9.c (q): Drop overcorrection for - big-endian. - * gcc.dg/field-merge-12.c: Include stdbool.h. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/118046 - * gcc.dg/field-merge-14.c: New. - -2024-12-19 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/field-merge-13.c: New. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/118081 - * gcc.dg/pr118081.c: New test. - -2024-12-18 Tobias Burnus <tburnus@baylibre.com> - - * c-c++-common/gomp/declare-variant-2.c: Update dg-error msg. - * c-c++-common/gomp/dispatch-12.c: Likewise. - * c-c++-common/gomp/dispatch-11.c: Likewise and extend a bit. - * c-c++-common/gomp/append-args-1.c: New test. - * c-c++-common/gomp/append-args-2.c: New test. - * c-c++-common/gomp/append-args-3.c: New test. - * g++.dg/gomp/append-args-1.C: New test. - * g++.dg/gomp/append-args-2.C: New test. - * g++.dg/gomp/append-args-3.C: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/alignas1.C: Add dg-options "". - * g++.dg/cpp0x/alignas2.C: Likewise. - * g++.dg/cpp0x/alignas7.C: Likewise. - * g++.dg/cpp0x/alignas21.C: New test. - * g++.dg/ext/bitfield9.C: Expect a warning. - * g++.dg/cpp2a/is-layout-compatible3.C: Add dg-options -pedantic. - Expect a warning. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/attr-likely1.C: New test. - * g++.dg/cpp0x/attr-unlikely1.C: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/attr-fallthrough1.C: New test. - * g++.dg/cpp0x/attr-fallthrough2.C: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/attr-carries_dependency2.C: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/attr-assume1.C: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/gen-attrs-86.C: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/gen-attrs-85.C: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - PR c/41045 - * c-c++-common/toplevel-asm-4.c: Add missing %cc2 use in template, add - bar, x, &y operands with "-i" and "-s" constraints. - (x, y): New variables. - (bar): Declare. - * c-c++-common/toplevel-asm-7.c: New test. - * c-c++-common/toplevel-asm-8.c: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/toplevel-asm-4.c: Don't use -fno-pie option. - Use cc modifier instead of c. - (v, w): Add extern keyword. - * c-c++-common/toplevel-asm-6.c: New test. - -2024-12-18 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/toplevel-asm-4.c: New test. - * c-c++-common/toplevel-asm-5.c: New test. - -2024-12-18 Xi Ruoyao <xry111@xry111.site> - - * g++.target/loongarch/crc.C: New test. - * g++.target/loongarch/crc-scan.C: New test. - -2024-12-17 Marek Polacek <polacek@redhat.com> - - PR c++/118073 - * g++.dg/diagnostic/arg-pack1.C: New test. - -2024-12-17 Marek Polacek <polacek@redhat.com> - - PR c++/117985 - * g++.dg/cpp0x/initlist-array23.C: New test. - * g++.dg/cpp0x/initlist-array24.C: New test. - -2024-12-17 Oliver Kozul <Oliver.Kozul@rt-rk.com> - - * gcc.target/riscv/pr114087-1.c: New test. - -2024-12-17 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/torture/pr81812.C: Add xfail for thumb1. - -2024-12-17 Anton Blanchard <antonb@tenstorrent.com> - - * gcc.target/riscv/mcpu-tt-ascalon-d8.c: New test. - -2024-12-17 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * lib/target-supports.exp: Added corresponding -mtune= option - for each fo the arm_cpu_* effective targets. - -2024-12-17 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/constraint-R.c: New. - -2024-12-17 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/modifier-N-fpr.c: New. - * gcc.target/riscv/modifier-N-vr.c: New. - * gcc.target/riscv/modifier-N.c: New. - -2024-12-17 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/constraint-cf-zfinx.c: New. - * gcc.target/riscv/constraint-cf.c: New. - * gcc.target/riscv/constraint-cr.c: New. - -2024-12-17 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/ipa/vrp9.c: New test. - -2024-12-17 Jakub Jelinek <jakub@redhat.com> - - PR c++/116108 - * g++.dg/cpp1z/class-deduction117.C: New test. - -2024-12-17 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/associate_71.f90: New test. - -2024-12-16 Hans-Peter Nilsson <hp@axis.com> - - PR tree-optimization/118055 - * gcc.dg/tree-ssa/pr83403-1.c, gcc.dg/tree-ssa/pr83403-2.c: Add - cris-*-* to targets passing --param=max-completely-peeled-insns=300. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - * sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links.sarif: New test. - * sarif-replay.dg/2.1.0-valid/malloc-vs-local-4.c.sarif: Update - expected output for handling the embedded links. - * sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: Likewise. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - * libgdiagnostics.dg/test-logical-location.c: Include <assert.h>. - Verify that creating a diagnostic_logical_location with equal - values yields the same instance. - * sarif-replay.dg/2.1.0-valid/malloc-vs-local-4.c.sarif: New test. - * sarif-replay.dg/2.1.0-valid/signal-1.c.moved.sarif: Update - expected output to show logical location and for consolidation of - events into runs. - * sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: Likewise. - * sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: Likewise. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - PR sarif-replay/117943 - * sarif-replay.dg/2.1.0-valid/error-with-note.sarif: Update - expected output to include quoted source code and underlines. - * sarif-replay.dg/2.1.0-valid/signal-1.c.moved.sarif: New test. - * sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: Update expected - output to include quoted source code and underlines. - -2024-12-16 David Malcolm <dmalcolm@redhat.com> - - PR sarif-replay/117943 - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.cc - (custom_diagnostic_text_finalizer): Use source-printing options - from text_output. - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc - (xhtml_builder::make_element_for_diagnostic): Use source-printing - options from diagnostic_context. - * gcc.dg/plugin/expensive_selftests_plugin.cc (test_richloc): - Likewise. - -2024-12-16 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/pr117816.c: Require effective target int32plus. - -2024-12-16 Robin Dapp <rdapp@ventanamicro.com> - - PR target/117383 - * gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c: - Expect tu. - * gcc.target/riscv/rvv/autovec/pr117383.c: New test. - -2024-12-16 Robin Dapp <rdapp@ventanamicro.com> - - PR target/118019 - * gcc.target/riscv/rvv/autovec/pr118019.c: New test. - -2024-12-15 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/tree-ssa/ivopts-1.c: Enable TImode tests on hppa64. - -2024-12-15 John David Anglin <danglin@gcc.gnu.org> - - * c-c++-common/gomp/unroll-4.c: xfail scan-assembler-times - "dummy" for hppa*-*-hpux*. - * c-c++-common/gomp/unroll-5.c: Likewise. - -2024-12-15 John David Anglin <danglin@gcc.gnu.org> - - * g++.dg/modules/enum-14.C: Require lto. - -2024-12-15 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/98935 - * g++.dg/coroutines/pr98935.C: New test. - -2024-12-15 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117897 - * gfortran.dg/finalize_59.f90: New test. - -2024-12-14 Jovan Vukic <Jovan.Vukic@rt-rk.com> - - * gcc.dg/tree-ssa/bitops-11.c: New test. - -2024-12-14 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/118023 - * gcc.dg/bitint-119.c: New test. - -2024-12-14 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/118024 - * gcc.dg/pr118024.c: New test. - -2024-12-14 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/90321 - * g++.dg/cpp1z/decomp62.C: New test. - -2024-12-13 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/117095 - * gcc.c-torture/execute/pr117095.c: New test. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - Jakub Jelinek <jakub@redhat.com> - - PR target/114801 - * gcc.target/arm/mve/pr108443.c: Update predicate constant. - * gcc.target/arm/mve/pr108443-run.c: Likewise. - * gcc.target/arm/mve/pr114801.c: New test. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: - Update expected output. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c: - Likewise. - -2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> - - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_s64.c: Update - expected output. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_u64.c: - Likewise. - -2024-12-13 Tobias Burnus <tburnus@baylibre.com> - - * g++.dg/gomp/pr108607.C: Update dg-error. - * g++.dg/gomp/pr79664.C: Update dg-error. - * g++.dg/gomp/omp-constexpr.C: New test. - -2024-12-13 Jakub Jelinek <jakub@redhat.com> - - PR target/116979 - * gcc.target/i386/pr116979.c: New test. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/pr112599-2.c: Adjust test - expectation. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-evenodd-run.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-evenodd.c: New test. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-interleave-run.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-interleave.c: New test. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide-run.c: New test. - * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide.c: New test. - -2024-12-13 Robin Dapp <rdapp@ventanamicro.com> - - PR target/117353 - PR target/117878 - * gcc.target/riscv/rvv/autovec/pr117353.c: New test. - -2024-12-13 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/embed-1.c: Use #error rather than #errror. - -2024-12-13 Pan Li <pan2.li@intel.com> - - PR target/117990 - * gcc.target/riscv/rvv/base/pr117990-run-1.c: New test. - -2024-12-12 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/115127 - * c-c++-common/ubsan/builtin-2.c: New test. - -2024-12-12 Tobias Burnus <tburnus@baylibre.com> - - * c-c++-common/gomp/adjust-args-3.c: New test. - * gcc.dg/gomp/adjust-args-2.c: New test. - -2024-12-12 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117797 - * gfortran.dg/pr117797.f90: New test. - -2024-12-12 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/matrix1.adb: New test. - -2024-12-12 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/field-merge-1.c: New. - * gcc.dg/field-merge-2.c: New. - * gcc.dg/field-merge-3.c: New. - * gcc.dg/field-merge-4.c: New. - * gcc.dg/field-merge-5.c: New. - * gcc.dg/field-merge-6.c: New. - * gcc.dg/field-merge-7.c: New. - * gcc.dg/field-merge-8.c: New. - * gcc.dg/field-merge-9.c: New. - * gcc.dg/field-merge-10.c: New. - * gcc.dg/field-merge-11.c: New. - * gcc.dg/field-merge-12.c: New. - * gcc.target/aarch64/long_branch_1.c: Disable ifcombine. - -2024-12-12 Georg-Johann Lay <avr@gjlay.de> - - PR target/118001 - * gcc.target/avr/torture/addr-space-1.h [AVR_HAVE_ELPM]: - Use a function to bump .progmemx.data to a high address. - * gcc.target/avr/torture/addr-space-2.h: Same. - * gcc.target/avr/torture/addr-space-1-fx.c: New test. - * gcc.target/avr/torture/addr-space-2-fx.c: New test. - -2024-12-12 Martin Uecker <uecker@tugraz.at> - - PR c/113688 - PR c/114014 - PR c/114713 - PR c/117724 - * gcc.dg/pr113688.c: New test. - * gcc.dg/pr114014.c: New test. - * gcc.dg/pr114713.c: New test. - * gcc.dg/pr117724.c: New test. - -2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/thumb-ifcvt.c: Use -mtune=cortex-m4. - -2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/thumb2-slow-flash-data-3.c: Added argument to - fn1 to avoid compile error. - -2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/thumb1-far-jump-2.c: Write to volatile memmory - in macro to avoid optimization. - -2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/lto/pr96939_0.c: Use effective-target - arm_arch_v8a. - * gcc.target/arm/lto/pr96939_1.c: Remove dg-options. - -2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - PR testsuite/94531 - * gcc.target/arm/its.c: Removed. - * gcc.target/arm/its-1.c: Copy of gcc.target/arm/its.c. Use - effective-target arm_cpu_cortex_m7. - * gcc.target/arm/its-2.c: Copy of gcc.target/arm/its.c. Use - effective-target arm_cpu_cortex_m3. - -2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.dg/pr41574.c: Added option "-mcpu=unset". - * gcc.dg/pr59418.c: Likewise. - * lib/target-supports.exp (add_options_for_vect_early_break): - Likewise. - (add_options_for_arm_v8_neon): Likewise. - (check_effective_target_arm_neon_ok_nocache): Likewise. - (check_effective_target_arm_simd32_ok_nocache): Likewise. - (check_effective_target_arm_sat_ok_nocache): Likewise. - (check_effective_target_arm_dsp_ok_nocache): Likewise. - (check_effective_target_arm_crc_ok_nocache): Likewise. - (check_effective_target_arm_v8_neon_ok_nocache): Likewise. - (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Likewise. - (check_effective_target_arm_v8_1a_neon_ok_nocache): Likewise. - (check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): - Likewise. - (check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): - Likewise. - (check_effective_target_arm_v8_2a_dotprod_neon_ok_nocache): - Likewise. - (check_effective_target_arm_v8_1m_mve_ok_nocache): Likewise. - (check_effective_target_arm_v8_2a_i8mm_ok_nocache): Likewise. - (check_effective_target_arm_fp16fml_neon_ok_nocache): Likewise. - (check_effective_target_arm_v8_2a_bf16_neon_ok_nocache): - Likewise. - (check_effective_target_arm_v8m_main_cde_ok_nocache): Likewise. - (check_effective_target_arm_v8m_main_cde_fp_ok_nocache): - Likewise. - (check_effective_target_arm_v8_1m_main_cde_mve_ok_nocache): - Likewise. - (check_effective_target_arm_v8_1m_main_cde_mve_fp_ok_nocache): - Likewise. - (check_effective_target_arm_v8_3a_complex_neon_ok_nocache): - Likewise. - (check_effective_target_arm_v8_3a_fp16_complex_neon_ok_nocache): - Likewise. - (check_effective_target_arm_v8_1_lob_ok): Likewise. - -2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/bfloat16_scalar_1_1.c: Use effective-target - arm_arch_v8_2a_bf16_hard. - * gcc.target/arm/bfloat16_scalar_2_1.c: Likewise. - * gcc.target/arm/bfloat16_scalar_3_1.c: Likewise. - * gcc.target/arm/bfloat16_scalar_1_2.c: Use effective-target - arm_arch_v8_2a_bf16. - * gcc.target/arm/bfloat16_scalar_2_2.c: Likewise. - * gcc.target/arm/bfloat16_scalar_3_2.c: Likewise. - * lib/target-supports.exp: Define effective-target - v8_2a_bf16 and v8_2a_bf16_hard. - -2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/other/pr56184.C: Use effective-target - arm_arch_v7a_neon_thumb. - * g++.dg/other/pr59985.C: Use effective-target - arm_arch_v7a_fp_hard. - * lib/target-supports.exp: Define effective-target - arm_arch_v7a_fp_hard, arm_arch_v7a_neon_thumb - -2024-12-11 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117901 - * gfortran.dg/pr117901.f90: New test. - -2024-12-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/117614 - * g++.dg/cpp2a/constexpr-union8.C: New test. - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - * g++.dg/diagnostic/long-short-colorization.C: New test. - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - PR other/116253 - * g++.dg/concepts/nested-diagnostics-1-truncated.C: Update - expected output. - * g++.dg/concepts/nested-diagnostics-1.C: Likewise. - * g++.dg/concepts/nested-diagnostics-2.C: Likewise. - * gcc.dg/plugin/diagnostic-test-nesting-text-indented-show-levels.c: - Likewise. - * gcc.dg/plugin/diagnostic-test-nesting-text-indented-unicode.c: - Likewise. - * gcc.dg/plugin/diagnostic-test-nesting-text-indented.c: Likewise. - -2024-12-11 David Malcolm <dmalcolm@redhat.com> - - * g++.dg/concepts/diagnostic9.C: Update expected - results for candidate count and numbering. - * g++.dg/concepts/nested-diagnostics-1-truncated.C: - * g++.dg/concepts/nested-diagnostics-1.C: Likewise. - * g++.dg/concepts/nested-diagnostics-2.C: Likewise. - * g++.dg/cpp23/explicit-obj-lambda11.C: Likewise. - * g++.dg/cpp2a/desig4.C: Likewise. - * g++.dg/cpp2a/desig6.C: Likewise. - * g++.dg/cpp2a/spaceship-eq15.C: Likewise. - * g++.dg/diagnostic/function-color1.C: Likewise. - * g++.dg/diagnostic/param-type-mismatch-2.C: Likewise. - * g++.dg/diagnostic/pr100716-1.C: Likewise. - * g++.dg/diagnostic/pr100716.C: Likewise. - * g++.dg/lookup/operator-2.C: Likewise. - * g++.dg/lookup/pr80891-5.C: Likewise. - * g++.dg/modules/adhoc-1_b.C: Likewise. - * g++.dg/modules/err-1_c.C: Likewise. - * g++.dg/modules/err-1_d.C: Likewise. - * g++.dg/other/return2.C: Likewise. - * g++.dg/overload/error6.C: Likewise. - * g++.dg/template/local6.C: Likewise. - -2024-12-11 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114932 - * gfortran.dg/addressing-modes_2.f90: New test. - -2024-12-11 Soumya AR <soumyaa@nvidia.com> - Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/sve-asrd.c: New test. - -2024-12-11 Soumya AR <soumyaa@nvidia.com> - - * gcc.target/aarch64/sve/bitsel.c: New test. - -2024-12-11 liuhongt <hongtao.liu@intel.com> - - * gcc.dg/pr117888-2.c: New test. - * gcc.dg/vect/pr117888-1.c: Ditto. - * gcc.dg/tree-ssa/pr83403-1.c: Add - --param max-completely-peeled-insns=300 for arm*-*-*. - * gcc.dg/tree-ssa/pr83403-2.c: Ditto. - -2024-12-10 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/117120 - * gm2/pim/pass/forloopnulchar.mod: New test. - * gm2/pim/pass/nulcharcase.mod: New test. - * gm2/pim/pass/nulcharvar.mod: New test. - -2024-12-10 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/117946 - * gcc.target/i386/pr117946.c: New. - -2024-12-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/117819 - * gfortran.dg/pr117819.f90: New test. - -2024-12-10 Marek Polacek <polacek@redhat.com> - - PR c++/117880 - * g++.dg/warn/Wduplicated-branches8.C: New test. - -2024-12-10 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/117675 - * gcc.target/arm/pr117675.c: Add new test. - -2024-12-10 Wilco Dijkstra <wdijkstr@ip-10-252-53-150.eu-west-1.compute.internal> - - * gcc.target/aarch64/torture/simd-abi-8.c: Update to check for LDP/STP. - -2024-12-10 Marek Polacek <polacek@redhat.com> - - PR c++/117788 - * c-c++-common/Warray-compare-1.c: Expect an error in C++26. - * c-c++-common/Warray-compare-3.c: Likewise. - * c-c++-common/Warray-compare-4.c: New test. - * c-c++-common/Warray-compare-5.c: New test. - * g++.dg/warn/Warray-compare-1.C: New test. - -2024-12-10 Hans-Peter Nilsson <hp@axis.com> - - * gcc.dg/tree-ssa/pr117973-1.c: New test. - -2024-12-10 Jonathan Wakely <jwakely@redhat.com> - - * g++.dg/cpp0x/trivial1.C: Add -Wno-deprecated for C++26. - -2024-12-10 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc.c-torture/execute/memcpy-a1.c: Mark as expensive. - * gcc.c-torture/execute/memcpy-a2.c: Likewise. - * gcc.c-torture/execute/memcpy-a4.c: Likewise. - * gcc.c-torture/execute/memcpy-a8.c: Likewise. - -2024-12-10 Saurabh Jha <saurabh.jha@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test TARGET_FP8FMA. - * gcc.target/aarch64/simd/vmla_fpm.c: New test. - * gcc.target/aarch64/simd/vmla_lane_indices_1.c: Likewise. - -2024-12-10 Saurabh Jha <saurabh.jha@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test fp8dot2 and fp8dot4. - * gcc.target/aarch64/simd/vdot2_fpm.c: New test. - * gcc.target/aarch64/simd/vdot4_fpm.c: New test. - * gcc.target/aarch64/simd/vdot_lane_indices_1.c: New test. - -2024-12-10 Saurabh Jha <saurabh.jha@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/acle/fp8.c: Remove check that fp8 feature - macro doesn't exist and... - * gcc.target/aarch64/pragma_cpp_predefs_4.c: ...test that it does here. - * gcc.target/aarch64/simd/scale_fpm.c: New test. - * gcc.target/aarch64/simd/vcvt_fpm.c: New test. - -2024-12-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117912 - * c-c++-common/torture/pr117912-1.c: New testcase. - * c-c++-common/torture/pr117912-2.c: Likewise. - * c-c++-common/torture/pr117912-3.c: Likewise. - -2024-12-10 Hans-Peter Nilsson <hp@axis.com> - - PR tree-optimization/117954 - * gcc.dg/tree-ssa/pr111456-1.c: Pass - --param=logical-op-non-short-circuit=1. - -2024-12-10 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i16.c: Take - tree-optimized pass for standard name check, and adjust the times. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i8.c: Ditto. - -2024-12-10 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i16-to-i8.c: Take - tree-optimized pass for standard name check, and adjust the times. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i8.c: Ditto. - -2024-12-10 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s16.c: Take - tree-optimized pass for standard name check, and adjust the times. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s8.c: Ditto. - -2024-12-10 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c: Take - tree-optimized pass for standard name check, and adjust the times. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c: Ditto. - -2024-12-10 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u16.c: Take - tree-optimized pass for standard name check, and adjust the times. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip.c: Ditto. - -2024-12-10 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u16.c: Take - tree-optimized pass for standard name check, and adjust the times. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u8.c: Ditto. - -2024-12-09 Mariam Arutunian <mariamarutunian@gmail.com> - - * gcc.target/aarch64/crc-builtin-pmul64.c: New test. - -2024-12-09 Mariam Arutunian <mariamarutunian@gmail.com> - Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/crc-1-pmul.c: New test. - * gcc.target/aarch64/crc-10-pmul.c: Likewise. - * gcc.target/aarch64/crc-12-pmul.c: Likewise. - * gcc.target/aarch64/crc-13-pmul.c: Likewise. - * gcc.target/aarch64/crc-14-pmul.c: Likewise. - * gcc.target/aarch64/crc-17-pmul.c: Likewise. - * gcc.target/aarch64/crc-18-pmul.c: Likewise. - * gcc.target/aarch64/crc-21-pmul.c: Likewise. - * gcc.target/aarch64/crc-22-pmul.c: Likewise. - * gcc.target/aarch64/crc-23-pmul.c: Likewise. - * gcc.target/aarch64/crc-4-pmul.c: Likewise. - * gcc.target/aarch64/crc-5-pmul.c: Likewise. - * gcc.target/aarch64/crc-6-pmul.c: Likewise. - * gcc.target/aarch64/crc-7-pmul.c: Likewise. - * gcc.target/aarch64/crc-8-pmul.c: Likewise. - * gcc.target/aarch64/crc-9-pmul.c: Likewise. - * gcc.target/aarch64/crc-CCIT-data16-pmul.c: Likewise. - * gcc.target/aarch64/crc-CCIT-data8-pmul.c: Likewise. - * gcc.target/aarch64/crc-coremark-16bitdata-pmul.c: Likewise. - * gcc.target/aarch64/crc-crc32-data16.c: Likewise. - * gcc.target/aarch64/crc-crc32-data32.c: Likewise. - * gcc.target/aarch64/crc-crc32-data8.c: Likewise. - * gcc.target/aarch64/crc-crc32c-data16.c: Likewise. - * gcc.target/aarch64/crc-crc32c-data32.c: Likewise. - * gcc.target/aarch64/crc-crc32c-data8.c: Likewise. - -2024-12-09 Marek Polacek <polacek@redhat.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/116416 - * g++.dg/analyzer/pr97116.C: Adjust dg-message. - * g++.dg/tree-ssa/pr78687.C: Add XFAIL. - * g++.dg/tree-ssa/pr90883.C: Adjust dg-final. - * g++.dg/cpp0x/constexpr-prvalue1.C: New test. - * g++.dg/cpp1y/constexpr-prvalue1.C: New test. - -2024-12-09 Mariam Arutunian <mariamarutunian@gmail.com> - - * gcc.target/riscv/crc-1-zbc.c: New test. - * gcc.target/riscv/crc-1-zbkc.c: Likewise. - * gcc.target/riscv/crc-10-zbc.c: Likewise. - * gcc.target/riscv/crc-10-zbkc.c: Likewise. - * gcc.target/riscv/crc-12-zbc.c: Likewise. - * gcc.target/riscv/crc-12-zbkc.c: Likewise. - * gcc.target/riscv/crc-13-zbc.c: Likewise. - * gcc.target/riscv/crc-13-zbkc.c: Likewise. - * gcc.target/riscv/crc-14-zbc.c: Likewise. - * gcc.target/riscv/crc-14-zbkc.c: Likewise. - * gcc.target/riscv/crc-17-zbc.c: Likewise. - * gcc.target/riscv/crc-17-zbkc.c: Likewise. - * gcc.target/riscv/crc-18-zbc.c: Likewise. - * gcc.target/riscv/crc-18-zbkc.c: Likewise. - * gcc.target/riscv/crc-21-rv64-zbc.c: Likewise. - * gcc.target/riscv/crc-21-rv64-zbkc.c: Likewise. - * gcc.target/riscv/crc-22-zbc.c: Likewise. - * gcc.target/riscv/crc-22-zbkc.c: Likewise. - * gcc.target/riscv/crc-23-zbc.c: Likewise. - * gcc.target/riscv/crc-23-zbkc.c: Likewise. - * gcc.target/riscv/crc-4-zbc.c: Likewise. - * gcc.target/riscv/crc-4-zbkb.c: Likewise. - * gcc.target/riscv/crc-4-zbkc.c: Likewise. - * gcc.target/riscv/crc-5-zbc.c: Likewise. - * gcc.target/riscv/crc-5-zbkb.c: Likewise. - * gcc.target/riscv/crc-5-zbkc.c: Likewise. - * gcc.target/riscv/crc-6-zbc.c: Likewise. - * gcc.target/riscv/crc-6-zbkc.c: Likewise. - * gcc.target/riscv/crc-7-zbc.c: Likewise. - * gcc.target/riscv/crc-7-zbkc.c: Likewise. - * gcc.target/riscv/crc-8-zbc.c: Likewise. - * gcc.target/riscv/crc-8-zbkc.c: Likewise. - * gcc.target/riscv/crc-9-zbc.c: Likewise. - * gcc.target/riscv/crc-9-zbkc.c: Likewise. - * gcc.target/riscv/crc-CCIT-data16-zbc.c: Likewise. - * gcc.target/riscv/crc-CCIT-data16-zbkc.c: Likewise. - * gcc.target/riscv/crc-CCIT-data8-zbc.c: Likewise. - * gcc.target/riscv/crc-CCIT-data8-zbkc.c: Likewise. - * gcc.target/riscv/crc-coremark-16bitdata-zbc.c: Likewise. - * gcc.target/riscv/crc-coremark-16bitdata-zbkc.c: Likewise. - * lib/target-supports.exp (check_effective_target_riscv_zbc_ok): Set - gcc_march before compiling test program. - (check_effective_target_riscv_zbkc_ok): Likewise. - (check_effective_target_riscv_zbkb_ok): Likewise. - Co-authored-by: Jeff Law <jlaw@ventanamicro.com> - * gcc.target/riscv/crc-22-zbkb.c: New file. - * gcc.target/riscv/crc-8-zbkb.c: New file. - -2024-12-09 Juergen Christ <jchrist@linux.ibm.com> - - * gcc.target/s390/ccusage.c: New test. - -2024-12-09 Matthew Malcomson <mmalcomson@nvidia.com> - - * g++.dg/template/builtin-atomic-overloads.def: New test. - * g++.dg/template/builtin-atomic-overloads1.C: New test. - * g++.dg/template/builtin-atomic-overloads2.C: New test. - * g++.dg/template/builtin-atomic-overloads3.C: New test. - * g++.dg/template/builtin-atomic-overloads4.C: New test. - * g++.dg/template/builtin-atomic-overloads5.C: New test. - * g++.dg/template/builtin-atomic-overloads6.C: New test. - * g++.dg/template/builtin-atomic-overloads7.C: New test. - * g++.dg/template/builtin-atomic-overloads8.C: New test. - * g++.dg/template/builtin-sfinae-check-function-arguments.C: New test. - * g++.dg/template/builtin-speculation-overloads.def: New test. - * g++.dg/template/builtin-speculation-overloads1.C: New test. - * g++.dg/template/builtin-speculation-overloads2.C: New test. - * g++.dg/template/builtin-speculation-overloads3.C: New test. - * g++.dg/template/builtin-speculation-overloads4.C: New test. - * g++.dg/template/builtin-speculation-overloads5.C: New test. - * g++.dg/template/builtin-validate-nargs.C: New test. - -2024-12-09 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115328 - * gm2/pim/fail/forward.mod: Move to... - * gm2/pim/pass/forward.mod: ...here. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c: Take tree-optimized - pass for standard name check, and adjust the times. - * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c: Ditto. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_s_sub-1-i16.c: Take tree-optimized - pass for standard name check, and adjust the times. - * gcc.target/riscv/sat/sat_s_sub-1-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-1-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-1-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-2-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-2-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-2-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-2-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-3-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-3-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-3-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-3-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-4-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-4-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-4-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-4-i8.c: Ditto. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_s_add-1-i16.c: Take tree-optimized - pass for standard name check, and adjust the times. - * gcc.target/riscv/sat/sat_s_add-1-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-1-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-1-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-2-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-2-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-2-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-2-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-3-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-3-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-3-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-3-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-4-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-4-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-4-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-4-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-1-1.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-1.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-2-1.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-2.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-3-1.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-3.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-4.c: Ditto. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_u_trunc-1-u16.c: Take tree-optimized - pass for standard name check, and adjust the times. - * gcc.target/riscv/sat/sat_u_trunc-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-4-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-5-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-5-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-5-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-5-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-6-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-6-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-6-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-6-u8.c: Ditto. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_u_sub-1-u16.c: Take tree-optimized - pass for standard name check, and adjust the times. - * gcc.target/riscv/sat/sat_u_sub-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-10-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-10-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-10-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-10-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-11-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-11-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-11-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-11-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-12-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-12-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-12-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-12-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-4-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-5-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-5-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-5-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-5-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-6-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-6-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-6-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-6-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-7-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-7-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-7-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-7-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-8-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-8-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-8-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-8-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-9-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-9-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-9-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-9-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u64-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8.c: Ditto. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_u_add-1-u16.c: Take tree-optimized - pass for standard name check, and adjust the times. - * gcc.target/riscv/sat/sat_u_add-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-4-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-5-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-5-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-5-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-5-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-6-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-6-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-6-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-6-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-1-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-4-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-10.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-11.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-12.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-13.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-14.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-15.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-17.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-18.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-19.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-20.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-21.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-22.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-23.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-24.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-25.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-26.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-27.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-28.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-29.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-30.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-31.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-33.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-34.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-35.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-36.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-37.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-38.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-39.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-40.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-41.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-42.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-43.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-44.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-45.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-46.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-47.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-48.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-49.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-5.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-50.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-51.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-52.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-53.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-54.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-55.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-56.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-57.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-58.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-59.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-6.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-60.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-7.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-9.c: Ditto. - -2024-12-09 Simon Martin <simon@nasilyan.com> - - PR c++/117845 - * g++.dg/asan/pr117845-2.C: New test. - * g++.dg/asan/pr117845.C: New test. - -2024-12-09 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117901 - * gfortran.dg/class_transformational_1.f90: Temporary fix for - ICE with some compile options by setting dummy arg of - 'unlimited rebar' to be allocatable. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization - options passing to testcases. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c: Skip - m8 as it has different body layout. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-1.c: Add build option - condition when check asm dumps. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-9.c: Ditto. - -2024-12-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization - options passing to testcases. - -2024-12-08 Lewis Hyatt <lhyatt@gmail.com> - - * g++.dg/diagnostic/pr77949.C: Adapt the test for 64-bit location_t, - when the previously expected failure doesn't actually happen. - * g++.dg/modules/loc-prune-4.C: Adjust the expected output for the - 64-bit location_t case. - * gcc.dg/plugin/expensive_selftests_plugin.cc: Don't try to test - the maximum supported column number in 64-bit location_t mode. - * gcc.dg/plugin/location_overflow_plugin.cc: Adjust the base_location - so it can effectively test 64-bit location_t. - -2024-12-08 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/asm-op-modifier.c: New test. - -2024-12-07 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/117948 - * gm2/pim/fail/forward.mod: New test. - -2024-12-07 Jakub Jelinek <jakub@redhat.com> - - PR target/117930 - * gcc.target/i386/pr117930.c: New test. - -2024-12-06 David Malcolm <dmalcolm@redhat.com> - - PR other/116253 - * g++.dg/concepts/nested-diagnostics-1-truncated.C: New test. - * g++.dg/concepts/nested-diagnostics-1.C: New test. - * g++.dg/concepts/nested-diagnostics-2.C: New test. - -2024-12-06 Uros Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/pr101716.c (dg-options): Add -dp. - (dg-final): Scan for zero_extendsidi. - (sample1): Change the code to use pseudos only. - -2024-12-06 Christophe Lyon <christophe.lyon@linaro.org> - - * gcc.target/arm/mve/dlstp-int8x16.c: Add -mtune=cortex-m55 - -2024-12-06 Uros Bizjak <ubizjak@gmail.com> - - PR target/117926 - * gcc.target/i386/pr117926.c: New test. - -2024-12-06 Richard Earnshaw <rearnsha@arm.com> - - * gcc.target/arm/20031108-1.c: Add -std=c17. - * gcc.target/arm/fp16-unprototyped-1.c: Likewise. - * gcc.target/arm/fp16-unprototyped-2.c: Likewise. - * gcc.target/arm/neon-thumb2-move.c: Likewise. - * gcc.target/arm/pr67756.c: Likewise. - * gcc.target/arm/pr81863.c: Likewise. - -2024-12-06 David Malcolm <dmalcolm@redhat.com> - - * g++.dg/concepts/missing-header.C: New test. - * g++.dg/concepts/misspelled-concept.C: New test. - -2024-12-06 kelefth <konstantinos.eleftheriou@vrull.eu> - - PR rtl-optimization/117816 - * gcc.dg/pr117816.c: New test. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/march-map=sm_89.c: Adjust. - * gcc.target/nvptx/march-map=sm_90.c: Likewise. - * gcc.target/nvptx/march-map=sm_90a.c: Likewise. - * gcc.target/nvptx/march=sm_89.c: New. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/mptx=7.8.c: New. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/march-map=sm_52.c: Adjust. - * gcc.target/nvptx/march=sm_52.c: New. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/march-map=sm_37.c: Adjust. - * gcc.target/nvptx/march-map=sm_50.c: Likewise. - * gcc.target/nvptx/march-map=sm_52.c: Likewise. - * gcc.target/nvptx/march=sm_37.c: New. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/mptx=4.1.c: New. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/mptx=4.2.c: New. - -2024-12-06 Christophe Lyon <christophe.lyon@linaro.org> - - * gcc.target/arm/mve/dlstp-compile-asm-1.c: Add -mtune=cortex-m55 - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/march-map.c: Remove; expanded into... - * gcc.target/nvptx/march-map=sm_50.c: ... this. - * gcc.target/nvptx/march-map=sm_30.c: New. - * gcc.target/nvptx/march-map=sm_32.c: Likewise. - * gcc.target/nvptx/march-map=sm_35.c: Likewise. - * gcc.target/nvptx/march-map=sm_37.c: Likewise. - * gcc.target/nvptx/march-map=sm_52.c: Likewise. - * gcc.target/nvptx/march-map=sm_53.c: Likewise. - * gcc.target/nvptx/march-map=sm_60.c: Likewise. - * gcc.target/nvptx/march-map=sm_61.c: Likewise. - * gcc.target/nvptx/march-map=sm_62.c: Likewise. - * gcc.target/nvptx/march-map=sm_70.c: Likewise. - * gcc.target/nvptx/march-map=sm_72.c: Likewise. - * gcc.target/nvptx/march-map=sm_75.c: Likewise. - * gcc.target/nvptx/march-map=sm_80.c: Likewise. - * gcc.target/nvptx/march-map=sm_86.c: Likewise. - * gcc.target/nvptx/march-map=sm_87.c: Likewise. - * gcc.target/nvptx/march-map=sm_89.c: Likewise. - * gcc.target/nvptx/march-map=sm_90.c: Likewise. - * gcc.target/nvptx/march-map=sm_90a.c: Likewise. - * gcc.target/nvptx/main.c: Remove. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/sm30.c: Remove; expanded into... - * gcc.target/nvptx/march=sm_30.c: ... this. - * gcc.target/nvptx/sm35.c: Remove; expanded into... - * gcc.target/nvptx/march=sm_35.c: ... this. - * gcc.target/nvptx/sm53.c: Remove; expanded into... - * gcc.target/nvptx/march=sm_53.c: ... this. - * gcc.target/nvptx/sm70.c: Remove; expanded into... - * gcc.target/nvptx/march=sm_70.c: ... this. - * gcc.target/nvptx/sm75.c: Remove; expanded into... - * gcc.target/nvptx/march=sm_75.c: ... this. - * gcc.target/nvptx/sm80.c: Remove; expanded into... - * gcc.target/nvptx/march=sm_80.c: ... this. - * gcc.target/nvptx/march.c: Remove. - -2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/ptx31.c: Remove; expanded into... - * gcc.target/nvptx/mptx=3.1.c: ... this. - * gcc.target/nvptx/ptx60.c: Remove; expanded into... - * gcc.target/nvptx/mptx=6.0.c: ... this. - * gcc.target/nvptx/ptx63.c: Remove; expanded into... - * gcc.target/nvptx/mptx=6.3.c: ... this. - * gcc.target/nvptx/ptx70.c: Remove; expanded into... - * gcc.target/nvptx/mptx=7.0.c: ... this. - * gcc.target/nvptx/mptx=_.c: New. - -2024-12-06 Richard Biener <rguenther@suse.de> - - PR testsuite/117714 - * gcc.dg/vect/slp-reduc-4.c: Add vect_no_int_min_max to the - XFAIL for the VEC_PERM_EXPR scan. - -2024-12-06 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/embed-22.c: New test. - * c-c++-common/cpp/embed-23.c: New test. - * g++.dg/cpp/embed-4.C: New test. - * g++.dg/cpp/embed-5.C: New test. - * g++.dg/cpp/embed-6.C: New test. - * g++.dg/cpp/embed-7.C: New test. - * g++.dg/cpp/embed-8.C: New test. - * g++.dg/cpp/embed-9.C: New test. - * g++.dg/cpp/embed-10.C: New test. - * g++.dg/cpp/embed-11.C: New test. - * g++.dg/cpp/embed-12.C: New test. - * g++.dg/cpp/embed-13.C: New test. - * g++.dg/cpp/embed-14.C: New test. - -2024-12-06 Jennifer Schmitz <jschmitz@nvidia.com> - - PR target/106329 - * gcc.target/aarch64/pfalse-binary_0.h: New test. - * gcc.target/aarch64/pfalse-unary_0.h: New test. - * gcc.target/aarch64/sve/pfalse-binary.c: New test. - * gcc.target/aarch64/sve/pfalse-binary_int_opt_n.c: New test. - * gcc.target/aarch64/sve/pfalse-binary_opt_n.c: New test. - * gcc.target/aarch64/sve/pfalse-binary_opt_single_n.c: New test. - * gcc.target/aarch64/sve/pfalse-binary_rotate.c: New test. - * gcc.target/aarch64/sve/pfalse-binary_uint64_opt_n.c: New test. - * gcc.target/aarch64/sve/pfalse-binary_uint_opt_n.c: New test. - * gcc.target/aarch64/sve/pfalse-binaryxn.c: New test. - * gcc.target/aarch64/sve/pfalse-clast.c: New test. - * gcc.target/aarch64/sve/pfalse-compare_opt_n.c: New test. - * gcc.target/aarch64/sve/pfalse-compare_wide_opt_n.c: New test. - * gcc.target/aarch64/sve/pfalse-count_pred.c: New test. - * gcc.target/aarch64/sve/pfalse-fold_left.c: New test. - * gcc.target/aarch64/sve/pfalse-load.c: New test. - * gcc.target/aarch64/sve/pfalse-load_ext.c: New test. - * gcc.target/aarch64/sve/pfalse-load_ext_gather_index.c: New test. - * gcc.target/aarch64/sve/pfalse-load_ext_gather_offset.c: New test. - * gcc.target/aarch64/sve/pfalse-load_gather_sv.c: New test. - * gcc.target/aarch64/sve/pfalse-load_gather_vs.c: New test. - * gcc.target/aarch64/sve/pfalse-load_replicate.c: New test. - * gcc.target/aarch64/sve/pfalse-prefetch.c: New test. - * gcc.target/aarch64/sve/pfalse-prefetch_gather_index.c: New test. - * gcc.target/aarch64/sve/pfalse-prefetch_gather_offset.c: New test. - * gcc.target/aarch64/sve/pfalse-ptest.c: New test. - * gcc.target/aarch64/sve/pfalse-rdffr.c: New test. - * gcc.target/aarch64/sve/pfalse-reduction.c: New test. - * gcc.target/aarch64/sve/pfalse-reduction_wide.c: New test. - * gcc.target/aarch64/sve/pfalse-shift_right_imm.c: New test. - * gcc.target/aarch64/sve/pfalse-store.c: New test. - * gcc.target/aarch64/sve/pfalse-store_scatter_index.c: New test. - * gcc.target/aarch64/sve/pfalse-store_scatter_offset.c: New test. - * gcc.target/aarch64/sve/pfalse-storexn.c: New test. - * gcc.target/aarch64/sve/pfalse-ternary_opt_n.c: New test. - * gcc.target/aarch64/sve/pfalse-ternary_rotate.c: New test. - * gcc.target/aarch64/sve/pfalse-unary.c: New test. - * gcc.target/aarch64/sve/pfalse-unary_convert_narrowt.c: New test. - * gcc.target/aarch64/sve/pfalse-unary_convertxn.c: New test. - * gcc.target/aarch64/sve/pfalse-unary_n.c: New test. - * gcc.target/aarch64/sve/pfalse-unary_pred.c: New test. - * gcc.target/aarch64/sve/pfalse-unary_to_uint.c: New test. - * gcc.target/aarch64/sve/pfalse-unaryxn.c: New test. - * gcc.target/aarch64/sve2/pfalse-binary.c: New test. - * gcc.target/aarch64/sve2/pfalse-binary_int_opt_n.c: New test. - * gcc.target/aarch64/sve2/pfalse-binary_int_opt_single_n.c: New test. - * gcc.target/aarch64/sve2/pfalse-binary_opt_n.c: New test. - * gcc.target/aarch64/sve2/pfalse-binary_opt_single_n.c: New test. - * gcc.target/aarch64/sve2/pfalse-binary_to_uint.c: New test. - * gcc.target/aarch64/sve2/pfalse-binary_uint_opt_n.c: New test. - * gcc.target/aarch64/sve2/pfalse-binary_wide.c: New test. - * gcc.target/aarch64/sve2/pfalse-compare.c: New test. - * gcc.target/aarch64/sve2/pfalse-load_ext_gather_index_restricted.c: - New test. - * gcc.target/aarch64/sve2/pfalse-load_ext_gather_offset_restricted.c: - New test. - * gcc.target/aarch64/sve2/pfalse-load_gather_sv_restricted.c: New test. - * gcc.target/aarch64/sve2/pfalse-load_gather_vs.c: New test. - * gcc.target/aarch64/sve2/pfalse-shift_left_imm_to_uint.c: New test. - * gcc.target/aarch64/sve2/pfalse-shift_right_imm.c: New test. - * gcc.target/aarch64/sve2/pfalse-store_scatter_index_restricted.c: - New test. - * gcc.target/aarch64/sve2/pfalse-store_scatter_offset_restricted.c: - New test. - * gcc.target/aarch64/sve2/pfalse-unary.c: New test. - * gcc.target/aarch64/sve2/pfalse-unary_convert.c: New test. - * gcc.target/aarch64/sve2/pfalse-unary_convert_narrowt.c: New test. - * gcc.target/aarch64/sve2/pfalse-unary_to_int.c: New test. - -2024-12-06 Marek Polacek <polacek@redhat.com> - - PR c++/117898 - * g++.dg/cpp26/pack-indexing2.C: Adjust. - * g++.dg/cpp26/pack-indexing12.C: New test. - -2024-12-06 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/unop/bswap16-0.c: Update - the vector register RE to cover v10 - v31. - -2024-12-06 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization - options passing to testcases. - -2024-12-05 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/117904 - * gm2/iso/pass/forloopbyconst.mod: New test. - -2024-12-05 Uros Bizjak <ubizjak@gmail.com> - - PR target/117860 - * gcc.target/i386/pr117860.c: New test. - -2024-12-05 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/113994 - PR rtl-optimization/116799 - * gcc.c-torture/execute/pr116799.c: New test. - * g++.dg/torture/pr113994.C: New test. - -2024-12-05 Jakub Jelinek <jakub@redhat.com> - - PR c/107980 - * gcc.dg/c23-stdarg-4.c: Expect extra warning. - * gcc.dg/c23-stdarg-6.c: Likewise. - * gcc.dg/c23-stdarg-7.c: Likewise. - * gcc.dg/c23-stdarg-8.c: Likewise. - * gcc.dg/c23-stdarg-10.c: New test. - * gcc.dg/c23-stdarg-11.c: New test. - * gcc.dg/torture/c23-stdarg-split-1a.c: Expect extra warning. - * gcc.dg/torture/c23-stdarg-split-1b.c: Likewise. - -2024-12-05 Jakub Jelinek <jakub@redhat.com> - - PR c/41045 - * c-c++-common/toplevel-asm-1.c: New test. - * c-c++-common/toplevel-asm-2.c: New test. - * c-c++-common/toplevel-asm-3.c: New test. - -2024-12-04 David Malcolm <dmalcolm@redhat.com> - - PR c++/116771 - * g++.dg/spellcheck-pr116771.C: New test. - -2024-12-04 Vineet Gupta <vineetg@rivosinc.com> - - PR target/114729 - * gcc.target/riscv/riscv.exp: Enable new tests to build. - * gcc.target/riscv/sched1-spills/spill1.cpp: Add new test. - -2024-12-04 Simon Martin <simon@nasilyan.com> - - PR c++/117615 - * g++.dg/cpp2a/constexpr-virtual22.C: New test. - -2024-12-04 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117243 - PR tree-optimization/116749 - * gcc.dg/torture/pr117243-1.c: New test. - * gcc.dg/torture/pr117243-2.c: New test. - -2024-12-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/117820 - * gfortran.dg/pr117820.f90: New test. - -2024-12-03 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - PR testsuite/109123 - PR testsuite/114661 - PR testsuite/117828 - PR testsuite/116481 - PR testsuite/91069 - * gcc.dg/Wuse-after-free-pr109123.c: Use size_t - instead of long unsigned int. - * gcc.dg/c23-tag-bitfields-1.c: Requires int32plus. - * gcc.dg/pr114661.c: Same. - * gcc.dg/pr117828.c: Same. - * gcc.dg/flex-array-counted-by-2.c: Use uintptr_t - instead of unsigned long. - * gcc.dg/pr116481.c: Same. - * gcc.dg/lto/tag-1_0.c: Use int32_t instead of int. - * gcc.dg/lto/tag-1_1.c: Use int16_t instead of short. - * gcc.dg/pr91069.c: Require double64. - * gcc.dg/type-convert-var.c: Require double64plus. - -2024-12-03 Georg-Johann Lay <avr@gjlay.de> - - * gcc.c-torture/execute/ieee/cdivchkd.x: New file. - * gcc.c-torture/execute/ieee/cdivchkf.x: New file. - * gcc.dg/flex-array-counted-by.c: Require wchar. - * gcc.dg/fold-copysign-1.c [avr]: Add -mdouble=64. - -2024-12-03 Georg-Johann Lay <avr@gjlay.de> - - * gcc.dg/Warray-bounds-33.c: Adjust for avr diagnostics. - * gcc.dg/pr56228.c: Same. - * gcc.dg/pr86124.c: Same. - * gcc.dg/pr94291.c: Same. - * gcc.dg/tree-ssa/pr82059.c: Same. - -2024-12-03 Jeff Law <jlaw@ventanamicro.com> - - * gcc.dg/crc-linux-1.c: Moved to from gcc.dg/torture. - * gcc.dg/crc-linux-2.c: Likewise. - * gcc.dg/crc-linux-4.c: Likewise. - * gcc.dg/crc-linux-5.c: Likewise. - * gcc.dg/crc-not-crc-15.c: Likewise. - * gcc.dg/crc-side-instr-1.c: Likewise. - * gcc.dg/crc-side-instr-2.c: Likewise. - * gcc.dg/crc-side-instr-3.c: Likewise. - * gcc.dg/crc-side-instr-4.c: Likewise. - * gcc.dg/crc-side-instr-5.c: Likewise. - * gcc.dg/crc-side-instr-6.c: Likewise. - * gcc.dg/crc-side-instr-7.c: Likewise. - * gcc.dg/crc-side-instr-8.c: Likewise. - * gcc.dg/crc-side-instr-9.c: Likewise. - * gcc.dg/crc-side-instr-10.c: Likewise. - * gcc.dg/crc-side-instr-11.c: Likewise. - * gcc.dg/crc-side-instr-12.c: Likewise. - * gcc.dg/crc-side-instr-13.c: Likewise. - * gcc.dg/crc-side-instr-14.c: Likewise. - * gcc.dg/crc-side-instr-15.c: Likewise. - * gcc.dg/crc-side-instr-16.c: Likewise. - * gcc.dg/crc-side-instr-17.c: Likewise. - * gcc.dg/torture/crc-linux-1.c: New file. - * gcc.dg/torture/crc-linux-2.c: New file. - * gcc.dg/torture/crc-linux-4.c: New file. - * gcc.dg/torture/crc-linux-5.c: New file. - * gcc.dg/torture/crc-not-crc-15.c: New file. - * gcc.dg/torture/crc-side-instr-1.c: New file. - * gcc.dg/torture/crc-side-instr-10.c: New file. - * gcc.dg/torture/crc-side-instr-11.c: New file. - * gcc.dg/torture/crc-side-instr-12.c: New file. - * gcc.dg/torture/crc-side-instr-13.c: New file. - * gcc.dg/torture/crc-side-instr-14.c: New file. - * gcc.dg/torture/crc-side-instr-15.c: New file. - * gcc.dg/torture/crc-side-instr-16.c: New file. - * gcc.dg/torture/crc-side-instr-17.c: New file. - * gcc.dg/torture/crc-side-instr-2.c: New file. - * gcc.dg/torture/crc-side-instr-3.c: New file. - * gcc.dg/torture/crc-side-instr-4.c: New file. - * gcc.dg/torture/crc-side-instr-5.c: New file. - * gcc.dg/torture/crc-side-instr-6.c: New file. - * gcc.dg/torture/crc-side-instr-7.c: New file. - * gcc.dg/torture/crc-side-instr-8.c: New file. - * gcc.dg/torture/crc-side-instr-9.c: New file. - -2024-12-03 Nina Ranns <dinka.ranns@googlemail.com> - - PR c++/117579 - * g++.dg/contracts/pr117579.C: New test. - -2024-12-03 Edwin Lu <ewlu@rivosinc.com> - - * gcc.target/riscv/crc-builtin-zbc32.c: Fix selector. - * gcc.target/riscv/crc-builtin-zbc64.c: Ditto. - -2024-12-03 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/102689 - * gfortran.dg/class_transformational_1.f90: New test for class- - valued reshape. - * gfortran.dg/class_transformational_2.f90: New test for other - class_valued transformational intrinsics. - -2024-12-03 Joseph Myers <josmyers@redhat.com> - - PR c/117162 - * gcc.dg/cpp/c17-ucn-1.c, gcc.dg/cpp/c17-ucn-2.c, - gcc.dg/cpp/c17-ucn-3.c, gcc.dg/cpp/c17-ucn-4.c, - gcc.dg/cpp/c23-ucn-2.c, gcc.dg/cpp/c23-ucnid-2.c: New tests. - * c-c++-common/cpp/delimited-escape-seq-3.c, - c-c++-common/cpp/named-universal-char-escape-3.c, - gcc.dg/cpp/c23-ucn-1.c, gcc.dg/cpp/c2y-delimited-escape-seq-3.c: - Update expected messages - * gcc.dg/cpp/ucs.c: Use -pedantic-errors. Update expected - messages. - -2024-12-03 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117420 - * gcc.dg/tree-ssa/pr117420.c: New test. - -2024-12-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117847 - * gcc.dg/torture/bitint-75.c: New test. - -2024-12-03 Tobias Burnus <tburnus@baylibre.com> - - * c-c++-common/gomp/allocate-18.c: Check that alignof is unaffected - by 'omp allocate'. - * c-c++-common/gomp/allocate-19.c: Likewise. - -2024-12-03 Saurabh Jha <saurabh.jha@arm.com> - Vladimir Miloserdov <vladimir.miloserdov@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/simd/lut-incorrect-range.c: New test. - * gcc.target/aarch64/simd/lut-no-flag.c: New test. - * gcc.target/aarch64/simd/lut.c: New test. - -2024-12-03 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization - options passing to testcases. - -2024-12-03 Heiko Eißfeldt <heiko@hexco.de> - Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114540 - * gcc.dg/pr114540.c: New test. - -2024-12-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117874 - * gcc.dg/vect/pr117874.c: New testcase. - -2024-12-03 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization - options passing to testcases. - -2024-12-02 Jakub Jelinek <jakub@redhat.com> - - * g++.target/aarch64/pr94515-2.C: Add newline at the end of the file. - * g++.target/aarch64/return_address_sign_ab_exception.C: Likewise. - * gcc.target/arm/thumb2-switchstatement.c: Likewise. - * gcc.target/riscv/rvv/base/vssubu-2.c: Likewise. - * gcc.target/riscv/rvv/base/vssubu-1.c: Likewise. - * gcc.target/riscv/and-shift32.c: Likewise. - * gcc.target/riscv/crc-builtin-zbc32.c: Likewise. - * gcc.target/riscv/and-shift64.c: Likewise. - * gcc.target/riscv/xtheadbb-extu-4.c: Likewise. - * gcc.target/i386/avx2-bf16-vec-absneg.c: Likewise. - * gcc.target/i386/avx512f-bf16-vec-absneg.c: Likewise. - * gcc.target/aarch64/cpunative/native_cpu_26.c: Likewise. - * gcc.target/aarch64/cpunative/info_26: Likewise. - * gcc.target/aarch64/cpunative/info_25: Likewise. - * g++.dg/contracts/pr116607.C: Likewise. - * gfortran.dg/pr108889.f90: Likewise. - * gcc.dg/crc-not-crc-14.c: Likewise. - * gcc.dg/crc-from-fedora-packages-13.c: Likewise. - * gcc.dg/crc-not-crc-25.c: Likewise. - * gcc.dg/crc-from-fedora-packages-29.c: Likewise. - * gcc.dg/crc-from-fedora-packages-10.c: Likewise. - * gcc.dg/crc-side-instr-10.c: Likewise. - * gcc.dg/crc-side-instr-1.c: Likewise. - * gcc.dg/crc-side-instr-3.c: Likewise. - * gcc.dg/crc-side-instr-2.c: Likewise. - * gcc.dg/crc-not-crc-17.c: Likewise. - * gcc.dg/crc-from-fedora-packages-7.c: Likewise. - * gcc.dg/crc-side-instr-12.c: Likewise. - * gcc.dg/crc-side-instr-16.c: Likewise. - * gcc.dg/crc-not-crc-16.c: Likewise. - * gcc.dg/crc-from-fedora-packages-4.c: Likewise. - * gcc.dg/crc-not-crc-20.c: Likewise. - * gcc.dg/crc-linux-3.c: Likewise. - * gcc.dg/crc-from-fedora-packages-27.c: Likewise. - * gcc.dg/pr109393.c: Likewise. - * gcc.dg/crc-side-instr-7.c: Likewise. - * gcc.dg/crc-side-instr-4.c: Likewise. - * gcc.dg/tree-ssa/ldexp.c: Likewise. - * gcc.dg/tree-ssa/pr114760-2.c: Likewise. - * gcc.dg/tree-ssa/pr114760-1.c: Likewise. - * gcc.dg/crc-side-instr-15.c: Likewise. - * gcc.dg/crc-side-instr-9.c: Likewise. - * gcc.dg/crc-not-crc-26.c: Likewise. - * gcc.dg/crc-side-instr-8.c: Likewise. - * gcc.dg/crc-not-crc-23.c: Likewise. - * gcc.dg/crc-not-crc-19.c: Likewise. - * gcc.dg/crc-from-fedora-packages-22.c: Likewise. - * gcc.dg/crc-from-fedora-packages-16.c: Likewise. - * gcc.dg/crc-side-instr-11.c: Likewise. - * gcc.dg/crc-from-fedora-packages-5.c: Likewise. - * gcc.dg/crc-not-crc-22.c: Likewise. - * gcc.dg/crc-side-instr-17.c: Likewise. - * gcc.dg/crc-linux-4.c: Likewise. - * gcc.dg/crc-side-instr-14.c: Likewise. - * gcc.dg/crc-not-crc-18.c: Likewise. - * gcc.dg/crc-from-fedora-packages-23.c: Likewise. - * gcc.dg/crc-not-crc-21.c: Likewise. - * gcc.dg/crc-linux-2.c: Likewise. - * gcc.dg/crc-from-fedora-packages-1.c: Likewise. - * gcc.dg/crc-from-fedora-packages-30.c: Likewise. - * gcc.dg/torture/crc-11.c: Likewise. - * gcc.dg/torture/crc-27.c: Likewise. - * gcc.dg/torture/crc-2.c: Likewise. - * gcc.dg/torture/crc-24.c: Likewise. - * gcc.dg/torture/crc-crc8.c: Likewise. - * gcc.dg/torture/crc-crc8-data8-xorOustideFor.c: Likewise. - * gcc.dg/torture/crc-16.c: Likewise. - * gcc.dg/torture/crc-crc64-data64.c: Likewise. - * gcc.dg/crc-from-fedora-packages-32.c: Likewise. - * gcc.dg/crc-side-instr-6.c: Likewise. - * gcc.dg/crc-side-instr-5.c: Likewise. - * gcc.dg/crc-side-instr-13.c: Likewise. - * gcc.dg/crc-not-crc-15.c: Likewise. - * gcc.dg/crc-not-crc-13.c: Likewise. - * gcc.dg/crc-from-fedora-packages-6.c: Likewise. - * gcc.dg/crc-not-crc-24.c: Likewise. - -2024-12-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116352 - PR tree-optimization/117876 - * gcc.dg/vect/pr116352.c: New testcase. - * gcc.dg/vect/bb-slp-49.c: Remove vectorization check. - -2024-12-02 Jakub Jelinek <jakub@redhat.com> - - PR testsuite/117663 - * gcc.target/powerpc/rs6000-ldouble-2.c: Add -std=gnu17 to dg-options. - -2024-12-02 yulong <shiyulong@iscas.ac.cn> - - * gcc.target/riscv/rvv/xsfvector/sf_vfnrclip_x_f_qf.c: New test. - * gcc.target/riscv/rvv/xsfvector/sf_vfnrclip_xu_f_qf.c: New test. - -2024-12-02 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization - options passing to testcases. - -2024-12-02 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Fix - the failed test by target any-opts and/or no-opts. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto - -2024-12-01 Jovan Vukic <Jovan.Vukic@rt-rk.com> - - * gcc.dg/tree-ssa/phi-opt-11.c: Add more tests. - -2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com> - - * gcc.dg/crc-from-fedora-packages-1.c: New test. - * gcc.dg/crc-from-fedora-packages-2.c: Likewise. - * gcc.dg/crc-from-fedora-packages-3.c: Likewise. - * gcc.dg/crc-from-fedora-packages-4.c: Likewise. - * gcc.dg/crc-from-fedora-packages-5.c: Likewise. - * gcc.dg/crc-from-fedora-packages-6.c: Likewise. - * gcc.dg/crc-from-fedora-packages-7.c: Likewise. - * gcc.dg/crc-from-fedora-packages-8.c: Likewise. - * gcc.dg/crc-from-fedora-packages-9.c: Likewise. - * gcc.dg/crc-from-fedora-packages-10.c: Likewise. - * gcc.dg/crc-from-fedora-packages-11.c: Likewise. - * gcc.dg/crc-from-fedora-packages-12.c: Likewise. - * gcc.dg/crc-from-fedora-packages-13.c: Likewise. - * gcc.dg/crc-from-fedora-packages-14.c: Likewise. - * gcc.dg/crc-from-fedora-packages-15.c: Likewise. - * gcc.dg/crc-from-fedora-packages-16.c: Likewise. - * gcc.dg/crc-from-fedora-packages-17.c: Likewise. - * gcc.dg/crc-from-fedora-packages-18.c: Likewise. - * gcc.dg/crc-from-fedora-packages-19.c: Likewise. - * gcc.dg/crc-from-fedora-packages-20.c: Likewise. - * gcc.dg/crc-from-fedora-packages-21.c: Likewise. - * gcc.dg/crc-from-fedora-packages-22.c: Likewise. - * gcc.dg/crc-from-fedora-packages-23.c: Likewise. - * gcc.dg/crc-from-fedora-packages-24.c: Likewise. - * gcc.dg/crc-from-fedora-packages-25.c: Likewise. - * gcc.dg/crc-from-fedora-packages-26.c: Likewise. - * gcc.dg/crc-from-fedora-packages-27.c: Likewise. - * gcc.dg/crc-from-fedora-packages-28.c: Likewise. - * gcc.dg/crc-from-fedora-packages-29.c: Likewise. - * gcc.dg/crc-from-fedora-packages-30.c: Likewise. - * gcc.dg/crc-from-fedora-packages-31.c: Likewise. - * gcc.dg/crc-from-fedora-packages-32.c: Likewise. - * gcc.dg/crc-linux-1.c: Likewise. - * gcc.dg/crc-linux-2.c: Likewise. - * gcc.dg/crc-linux-3.c: Likewise. - * gcc.dg/crc-linux-4.c: Likewise. - * gcc.dg/crc-linux-5.c: Likewise. - * gcc.dg/crc-not-crc-1.c: Likewise. - * gcc.dg/crc-not-crc-2.c: Likewise. - * gcc.dg/crc-not-crc-3.c: Likewise. - * gcc.dg/crc-not-crc-4.c: Likewise. - * gcc.dg/crc-not-crc-5.c: Likewise. - * gcc.dg/crc-not-crc-6.c: Likewise. - * gcc.dg/crc-not-crc-7.c: Likewise. - * gcc.dg/crc-not-crc-8.c: Likewise. - * gcc.dg/crc-not-crc-9.c: Likewise. - * gcc.dg/crc-not-crc-10.c: Likewise. - * gcc.dg/crc-not-crc-11.c: Likewise. - * gcc.dg/crc-not-crc-12.c: Likewise. - * gcc.dg/crc-not-crc-13.c: Likewise. - * gcc.dg/crc-not-crc-14.c: Likewise. - * gcc.dg/crc-not-crc-15.c: Likewise. - * gcc.dg/crc-not-crc-16.c: Likewise. - * gcc.dg/crc-not-crc-17.c: Likewise. - * gcc.dg/crc-not-crc-18.c: Likewise. - * gcc.dg/crc-not-crc-19.c: Likewise. - * gcc.dg/crc-not-crc-20.c: Likewise. - * gcc.dg/crc-not-crc-21.c: Likewise. - * gcc.dg/crc-not-crc-22.c: Likewise. - * gcc.dg/crc-not-crc-23.c: Likewise. - * gcc.dg/crc-not-crc-24.c: Likewise. - * gcc.dg/crc-not-crc-25.c: Likewise. - * gcc.dg/crc-not-crc-26.c: Likewise. - * gcc.dg/crc-side-instr-1.c: Likewise. - * gcc.dg/crc-side-instr-2.c: Likewise. - * gcc.dg/crc-side-instr-3.c: Likewise. - * gcc.dg/crc-side-instr-4.c: Likewise. - * gcc.dg/crc-side-instr-5.c: Likewise. - * gcc.dg/crc-side-instr-6.c: Likewise. - * gcc.dg/crc-side-instr-7.c: Likewise. - * gcc.dg/crc-side-instr-8.c: Likewise. - * gcc.dg/crc-side-instr-9.c: Likewise. - * gcc.dg/crc-side-instr-10.c: Likewise. - * gcc.dg/crc-side-instr-11.c: Likewise. - * gcc.dg/crc-side-instr-12.c: Likewise. - * gcc.dg/crc-side-instr-13.c: Likewise. - * gcc.dg/crc-side-instr-14.c: Likewise. - * gcc.dg/crc-side-instr-15.c: Likewise. - * gcc.dg/crc-side-instr-16.c: Likewise. - * gcc.dg/crc-side-instr-17.c: Likewise. - * gcc.dg/torture/crc-1.c: Likewise. - * gcc.dg/torture/crc-2.c: Likewise. - * gcc.dg/torture/crc-3.c: Likewise. - * gcc.dg/torture/crc-4.c: Likewise. - * gcc.dg/torture/crc-5.c: Likewise. - * gcc.dg/torture/crc-6.c: Likewise. - * gcc.dg/torture/crc-7.c: Likewise. - * gcc.dg/torture/crc-8.c: Likewise. - * gcc.dg/torture/crc-9.c: Likewise. - * gcc.dg/torture/crc-10.c: Likewise. - * gcc.dg/torture/crc-11.c: Likewise. - * gcc.dg/torture/crc-12.c: Likewise. - * gcc.dg/torture/crc-13.c: Likewise. - * gcc.dg/torture/crc-14.c: Likewise. - * gcc.dg/torture/crc-15.c: Likewise. - * gcc.dg/torture/crc-16.c: Likewise. - * gcc.dg/torture/crc-17.c: Likewise. - * gcc.dg/torture/crc-18.c: Likewise. - * gcc.dg/torture/crc-19.c: Likewise. - * gcc.dg/torture/crc-20.c: Likewise. - * gcc.dg/torture/crc-21.c: Likewise. - * gcc.dg/torture/crc-22.c: Likewise. - * gcc.dg/torture/crc-23.c: Likewise. - * gcc.dg/torture/crc-24.c: Likewise. - * gcc.dg/torture/crc-25.c: Likewise. - * gcc.dg/torture/crc-26.c: Likewise. - * gcc.dg/torture/crc-27.c: Likewise. - * gcc.dg/torture/crc-28.c: Likewise. - * gcc.dg/torture/crc-29.c: Likewise. - * gcc.dg/torture/crc-CCIT-data16-xorOutside_InsideFor.c: Likewise. - * gcc.dg/torture/crc-coremark16-data16.c: Likewise. - * gcc.dg/torture/crc-coremark32-data16.c: Likewise. - * gcc.dg/torture/crc-coremark32-data32.c: Likewise. - * gcc.dg/torture/crc-coremark32-data8.c: Likewise. - * gcc.dg/torture/crc-coremark64-data64.c: Likewise. - * gcc.dg/torture/crc-coremark8-data8.c: Likewise. - * gcc.dg/torture/crc-CCIT-data16.c: Likewise. - * gcc.dg/torture/crc-CCIT-data8.c: Likewise. - * gcc.dg/torture/crc-crc32-data16.c: Likewise. - * gcc.dg/torture/crc-crc32-data24.c: Likewise. - * gcc.dg/torture/crc-crc32-data8.c: Likewise. - * gcc.dg/torture/crc-crc32.c: Likewise. - * gcc.dg/torture/crc-crc64-data32.c: Likewise. - * gcc.dg/torture/crc-crc64-data64.c: Likewise. - * gcc.dg/torture/crc-crc8-data8-loop-xorInFor.c: Likewise. - * gcc.dg/torture/crc-crc8-data8-xorOustideFor.c: Likewise. - * gcc.dg/torture/crc-crc8.c: Likewise. - Co-Authored: Jeff Law <jlaw@ventanamicro.com> - * gcc.dg/torture/crc-coremark64-data32.c: New file. - * gcc.dg/torture/crc-crc8-data8-loop-xorOutsideFor.c: New file. - -2024-12-01 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/pr117806.c: Test can spill excess - errors for default_packed targets. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117859 - * gcc.dg/torture/pr117859-1.c: New test. - * gcc.dg/torture/pr117859-2.c: New test. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c: Remove - error message on taking address of an element of a vector. - * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c: Likewise. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_1.C: Remove - error message on taking address of an element of a vector. - * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_2.C: Likewise. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - * g++.dg/ext/sve-sizeless-1.C: Add error message for line 164 - for C++98 only. - * g++.dg/ext/sve-sizeless-2.C: Likewise. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - * g++.dg/ext/sve-sizeless-1.C: SVE vectors are now aggregates. - * g++.dg/ext/sve-sizeless-2.C: Likewise. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - * g++.dg/ext/sve-sizeless-1.C: Update error message for line 165. - * g++.dg/ext/sve-sizeless-2.C: Likewise. - -2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> - - * g++.dg/ext/sve-sizeless-2.C: Add declaration of bar. - -2024-12-01 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> - - PR rtl-optimization/112398 - PR rtl-optimization/117476 - * gcc.target/riscv/pr112398.c: New test. - * gcc.dg/torture/pr117476-1.c: New test. From Zhendong Su. - * gcc.dg/torture/pr117476-2.c: New test. From Zdenek Sojka. - -2024-11-30 Joseph Myers <josmyers@redhat.com> - Richard Biener <rguenther@suse.de> - - PR c/100501 - PR c/100792 - * gcc.dg/pr100501-1.c, gcc.dg/pr100792-1.c: New tests. - * gcc.dg/pr48552-1.c, gcc.dg/pr48552-2.c, - gcc.dg/torture/pr98601.c: Update expected errors. - -2024-11-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117057 - * gcc.dg/strlenopt-32.c: Remove xfail and vect_slp_v2qi_store_unalign - specific scan-tree-dump-times directive. - * gcc.dg/strlenopt-96.c: New test. - -2024-11-30 Jinyang He <hejinyang@loongson.cn> - - * gcc.target/loongarch/vector/lasx/lasx-shift-sameimm-vec.c: New test. - * gcc.target/loongarch/vector/lsx/lsx-shift-sameimm-vec.c: New test. - -2024-11-30 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/lasx-andn-iorn.c: - Add '-fdump-tree-optimized'. - * gcc.target/loongarch/lsx-andn-iorn.c: - Likewise. - -2024-11-30 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/vect-frint-scalar.c: Add - '-ffp-int-builtin-inexact'. - -2024-11-30 Martin Uecker <uecker@tugraz.at> - - PR c/117806 - * gcc.dg/pr117806.c: New test. - -2024-11-30 Andrew Pinski <quic_apinski@quicinc.com> - - PR c/117749 - * gcc.dg/gimplefe-55.c: New test. - -2024-11-30 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp26/variadic-comma1.C: New test. - * g++.dg/cpp26/variadic-comma2.C: New test. - * g++.dg/cpp26/variadic-comma3.C: New test. - * g++.dg/cpp26/variadic-comma4.C: New test. - * g++.dg/cpp26/variadic-comma5.C: New test. - * g++.dg/cpp1z/fold10.C: Expect a warning for C++26. - * g++.dg/ext/attrib33.C: Likewise. - * g++.dg/cpp1y/lambda-generic-variadic19.C: Likewise. - * g++.dg/cpp2a/lambda-generic10.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-const3.C: Likewise. - * g++.dg/cpp0x/variadic164.C: Likewise. - * g++.dg/cpp0x/variadic17.C: Likewise. - * g++.dg/cpp0x/udlit-args-neg.C: Likewise. - * g++.dg/cpp0x/variadic28.C: Likewise. - * g++.dg/cpp0x/gen-attrs-33.C: Likewise. - * g++.dg/cpp23/explicit-obj-diagnostics3.C: Likewise. - * g++.old-deja/g++.law/operators15.C: Likewise. - * g++.old-deja/g++.mike/p811.C: Likewise. - * g++.old-deja/g++.mike/p12306.C (printf): Add , before ... . - * g++.dg/analyzer/fd-bind-pr107783.C (bind): Likewise. - * g++.dg/cpp0x/vt-65790.C (printf): Likewise. - -2024-11-29 David Malcolm <dmalcolm@redhat.com> - - * libdiagnostics.dg/*: Rename to libgdiagnostics.dg, renaming - "libdiagnostics" to "libgdiagnostics" throughout. - * libgdiagnostics.dg/libgdiagnostics.exp: New file. - * libgdiagnostics.dg/sarif.py: New file. - * libgdiagnostics.dg/test-dump.c: New file. - * libgdiagnostics.dg/test-error-c.py: New file. - * libgdiagnostics.dg/test-error-with-note-c.py: New file. - * libgdiagnostics.dg/test-error-with-note.c: New file. - * libgdiagnostics.dg/test-error-with-note.cc: New file. - * libgdiagnostics.dg/test-error.c: New file. - * libgdiagnostics.dg/test-error.cc: New file. - * libgdiagnostics.dg/test-example-1.c: New file. - * libgdiagnostics.dg/test-fix-it-hint-c.py: New file. - * libgdiagnostics.dg/test-fix-it-hint.c: New file. - * libgdiagnostics.dg/test-fix-it-hint.cc: New file. - * libgdiagnostics.dg/test-helpers++.h: New file. - * libgdiagnostics.dg/test-helpers.h: New file. - * libgdiagnostics.dg/test-labelled-ranges.c: New file. - * libgdiagnostics.dg/test-labelled-ranges.cc: New file. - * libgdiagnostics.dg/test-labelled-ranges.py: New file. - * libgdiagnostics.dg/test-logical-location-c.py: New file. - * libgdiagnostics.dg/test-logical-location.c: New file. - * libgdiagnostics.dg/test-metadata-c.py: New file. - * libgdiagnostics.dg/test-metadata.c: New file. - * libgdiagnostics.dg/test-multiple-lines-c.py: New file. - * libgdiagnostics.dg/test-multiple-lines.c: New file. - * libgdiagnostics.dg/test-no-column-c.py: New file. - * libgdiagnostics.dg/test-no-column.c: New file. - * libgdiagnostics.dg/test-no-diagnostics-c.py: New file. - * libgdiagnostics.dg/test-no-diagnostics.c: New file. - * libgdiagnostics.dg/test-note-with-fix-it-hint-c.py: New file. - * libgdiagnostics.dg/test-note-with-fix-it-hint.c: New file. - * libgdiagnostics.dg/test-text-sink-options.c: New file. - * libgdiagnostics.dg/test-warning-c.py: New file. - * libgdiagnostics.dg/test-warning-with-path-c.py: New file. - * libgdiagnostics.dg/test-warning-with-path.c: New file. - * libgdiagnostics.dg/test-warning.c: New file. - * libgdiagnostics.dg/test-write-sarif-to-file-c.py: New file. - * libgdiagnostics.dg/test-write-sarif-to-file.c: New file. - * libgdiagnostics.dg/test-write-text-to-file.c: New file. - -2024-11-29 Georg-Johann Lay <avr@gjlay.de> - - * gcc.c-torture/execute/memcpy-a1.c - * gcc.c-torture/execute/memcpy-a2.c - * gcc.c-torture/execute/memcpy-a4.c - * gcc.c-torture/execute/memcpy-a8.c - -2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/117665 - * g++.target/aarch64/lane-bound-1.C: New test. - * gcc.target/aarch64/lane-bound-3.c: New test. - -2024-11-29 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR target/117814 - * gcc.target/arm/mve/dlstp-invalid-asm.c (test10): Renamed to... - (test10a): ... this. - (test10b): Variation of test10a with a small change to trigger wrong - codegen. - -2024-11-29 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/arm/mve/dlstp-loop-form.c: Add -std=c99 to avoid warning - message. - -2024-11-29 Andre Vieira <andre.simoesdiasvieira@arm.com> - - PR target/117814 - * gcc.target/arm/mve/dlstp-compile-asm-2.c (test7): Add an optional - vmsr to the check-function-bodies. - -2024-11-29 Co-author: Jeff Law <jlaw@ventanamicro.com> - - * lib/target-supports.exp (check_effective_target_riscv_zbc): New - target supports predicate. - (check_effective_target_riscv_zbkb): Likewise. - (check_effective_target_riscv_zbkc): Likewise. - (check_effective_target_zbc_ok): Likewise. - (check_effective_target_zbkb_ok): Likewise. - (check_effective_target_zbkc_ok): Likewise. - (riscv_get_arch): Add zbkb and zbkc support. - * gcc.target/riscv/crc-builtin-zbc32.c: New file. - * gcc.target/riscv/crc-builtin-zbc64.c: Likewise. - -2024-11-29 yulong <shiyulong@iscas.ac.cn> - - * gcc.target/riscv/rvv/rvv.exp: - * gcc.target/riscv/rvv/xsfvector/sf_vqmacc_2x8x2.c: New test. - * gcc.target/riscv/rvv/xsfvector/sf_vqmacc_4x8x4.c: New test. - * gcc.target/riscv/rvv/xsfvector/sf_vqmaccsu_2x8x2.c: New test. - * gcc.target/riscv/rvv/xsfvector/sf_vqmaccsu_4x8x4.c: New test. - * gcc.target/riscv/rvv/xsfvector/sf_vqmaccu_2x8x2.c: New test. - * gcc.target/riscv/rvv/xsfvector/sf_vqmaccu_4x8x4.c: New test. - * gcc.target/riscv/rvv/xsfvector/sf_vqmaccus_2x8x2.c: New test. - * gcc.target/riscv/rvv/xsfvector/sf_vqmaccus_4x8x4.c: New test. - -2024-11-29 Martin Uecker <uecker@tugraz.at> - - PR c/117828 - * gcc.dg/c23-tag-bitfields-1.c: New test. - * gcc.dg/pr117828.c: New test. - -2024-11-29 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/cpunative/info_30: New test. - * gcc.target/aarch64/cpunative/info_31: New test. - * gcc.target/aarch64/cpunative/info_32: New test. - * gcc.target/aarch64/cpunative/info_33: New test. - * gcc.target/aarch64/cpunative/native_cpu_30.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_31.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_32.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_33.c: New test. - * gcc.target/aarch64/erratas_opt_0.c: New test. - * gcc.target/aarch64/erratas_opt_1.c: New test. - * gcc.target/aarch64/erratas_opt_10.c: New test. - * gcc.target/aarch64/erratas_opt_11.c: New test. - * gcc.target/aarch64/erratas_opt_12.c: New test. - * gcc.target/aarch64/erratas_opt_13.c: New test. - * gcc.target/aarch64/erratas_opt_14.c: New test. - * gcc.target/aarch64/erratas_opt_15.c: New test. - * gcc.target/aarch64/erratas_opt_2.c: New test. - * gcc.target/aarch64/erratas_opt_3.c: New test. - * gcc.target/aarch64/erratas_opt_4.c: New test. - * gcc.target/aarch64/erratas_opt_5.c: New test. - * gcc.target/aarch64/erratas_opt_6.c: New test. - * gcc.target/aarch64/erratas_opt_7.c: New test. - * gcc.target/aarch64/erratas_opt_8.c: New test. - * gcc.target/aarch64/erratas_opt_9.c: New test. - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_1.c: Add new. - gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_lane_group_selection_1.c: - Likewise. - * gcc.target/aarch64/sve2/acle/asm/dot_lane_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dot_mf8.c: Likewise. - * lib/target-supports.exp: Add dg-require-effective-target support for - aarch64_asm_fp8dot2_ok, aarch64_asm_fp8dot4_ok, - aarch64_asm_ssve-fp8dot2_ok and aarch64_asm_ssve-fp8dot4_ok. - * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_lane_group_selection_1.c: New file. - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h - (TEST_DUAL_Z_REV, TEST_DUAL_LANE_REG, TEST_DUAL_ZD) Add fpm0 argument. - * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_opt_n_1.c: Add - new shape test. - * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_lane_1.c: - Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlalb_lane_mf8.c: Add new test. - * gcc.target/aarch64/sve2/acle/asm/mlalb_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlallbb_lane_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlallbb_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlallbt_lane_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlallbt_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlalltb_lane_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlalltb_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlalltt_lane_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlalltt_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlalt_lane_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mlalt_mf8.c: Likewise. - * lib/target-supports.exp: Add check_effective_target for fp8fma and - ssve-fp8fma - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h - (TEST_DUAL_Z): Add fpm0 argument - * gcc.target/aarch64/sve/acle/general-c/unary_convertxn_narrow_1.c: - Add new tests. - * gcc.target/aarch64/sve/acle/general-c/unary_convertxn_narrowt_1.c: - Likewise. - * gcc.target/aarch64/sve2/acle/asm/cvt_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/cvtlt_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/cvtn_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/cvtnb_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/cvtnt_mf8.c: Likewise. - * lib/target-supports.exp: Add aarch64_asm_fp8_ok check. - -2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * g++.target/aarch64/sve/acle/general-c++/mangle_1.C: Test mangling - of svmfloat8_t. - * g++.target/aarch64/sve/acle/general-c++/mangle_2.C: Likewise for - __SVMfloat8_t. - * gcc.target/aarch64/sve/acle/asm/clasta_mf8.c: New test. - * gcc.target/aarch64/sve/acle/asm/clastb_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/create2_1.c (create2_mf8): Likewise. - * gcc.target/aarch64/sve/acle/asm/create3_1.c (create_mf8): Likewise. - * gcc.target/aarch64/sve/acle/asm/create4_1.c (create_mf8): Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_neonq_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dupq_lane_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ext_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/get_neonq_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/get2_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/get3_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/get4_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/insr_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lasta_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lastb_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/len_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_bf16.c - (reinterpret_bf16_mf8_tied1, reinterpret_bf16_mf8_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f16.c - (reinterpret_f16_mf8_tied1, reinterpret_f16_mf8_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f32.c - (reinterpret_f32_mf8_tied1, reinterpret_f32_mf8_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f64.c - (reinterpret_f64_mf8_tied1, reinterpret_f64_mf8_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s16.c - (reinterpret_s16_mf8_tied1, reinterpret_s16_mf8_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s32.c - (reinterpret_s32_mf8_tied1, reinterpret_s32_mf8_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s64.c - (reinterpret_s64_mf8_tied1, reinterpret_s64_mf8_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s8.c - (reinterpret_s8_mf8_tied1, reinterpret_s8_mf8_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u16.c - (reinterpret_u16_mf8_tied1, reinterpret_u16_mf8_untied) - (reinterpret_u16_mf8_x3_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u32.c - (reinterpret_u32_mf8_tied1, reinterpret_u32_mf8_untied) - (reinterpret_u32_mf8_x3_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u64.c - (reinterpret_u64_mf8_tied1, reinterpret_u64_mf8_untied) - (reinterpret_u64_mf8_x3_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u8.c - (reinterpret_u8_mf8_tied1, reinterpret_u8_mf8_untied) - (reinterpret_u8_mf8_x3_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/rev_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sel_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/set_neonq_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/set2_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/set3_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/set4_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/splice_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/undef2_1.c (mfloat8_t): Likewise. - * gcc.target/aarch64/sve/acle/asm/undef3_1.c (mfloat8_t): Likewise. - * gcc.target/aarch64/sve/acle/asm/undef4_1.c (mfloat8_t): Likewise. - * gcc.target/aarch64/sve/acle/asm/undef_1.c (mfloat8_t): Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2_mf8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_mf8.c: Likewise. - * gcc.target/aarch64/sve/pcs/annotate_1.c (ret_mf8, ret_mf8x2) - (ret_mf8x3, ret_mf8x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_2.c (fn_mf8, fn_mf8x2) - (fn_mf8x3, fn_mf8x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_3.c (fn_mf8, fn_mf8x2) - (fn_mf8x3, fn_mf8x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_4.c (fn_mf8, fn_mf8x2) - (fn_mf8x3, fn_mf8x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_5.c (fn_mf8, fn_mf8x2) - (fn_mf8x3, fn_mf8x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_6.c (fn_mf8, fn_mf8x2) - (fn_mf8x3, fn_mf8x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_7.c (fn_mf8, fn_mf8x2) - (fn_mf8x3, fn_mf8x4): Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_mf8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_mf8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_mf8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_mf8.c: Likewise. - * gcc.target/aarch64/sve/pcs/gnu_vectors_1.c (mfloat8x32_t): New - typedef. - (mfloat8_callee, mfloat8_caller): New tests. - * gcc.target/aarch64/sve/pcs/gnu_vectors_2.c (mfloat8x32_t): New - typedef. - (mfloat8_callee, mfloat8_caller): New tests. - * gcc.target/aarch64/sve/pcs/return_4_128.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_4_256.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_4_512.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_4_1024.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_4_2048.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_4.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_5_128.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_5_256.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_5_512.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_5_1024.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_5_2048.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_5.c - (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_6.c (mfloat8_t): New typedef. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_6_128.c (mfloat8_t): New typedef. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_6_256.c (mfloat8_t): New typedef. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_6_512.c (mfloat8_t): New typedef. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_6_1024.c (mfloat8_t): New typedef. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_6_2048.c (mfloat8_t): New typedef. - (callee_mf8, caller_mf8): New tests. - * gcc.target/aarch64/sve/pcs/return_7.c (callee_mf8): New tests. - (caller_mf8): Likewise. - * gcc.target/aarch64/sve/pcs/return_8.c (callee_mf8): Likewise - (caller_mf8): Likewise. - * gcc.target/aarch64/sve/pcs/return_9.c (callee_mf8): Likewise - (caller_mf8): Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_mf8.c: New tests - * gcc.target/aarch64/sve2/acle/asm/tbl2_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbx_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_mf8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_mf8.c: Likewise. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * g++.dg/ext/sve-sizeless-1.C: Update test to test initialize error. - * g++.dg/ext/sve-sizeless-2.C: Likewise. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c: Update test. - * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. - * gcc.target/aarch64/sve/acle/general/attributes_7.c: Likewise. - * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_1.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_2.C: Likewise. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * gcc.target/aarch64/sve/acle/general/cops.c: New test. - -2024-11-29 Tejas Belagod <tejas.belagod@arm.com> - - * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Update test to - test initialize error. - * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. - -2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/117844 - * g++.dg/vect/pr117776.cc: Check vect_unpack. - -2024-11-29 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117065 - * gcc.dg/pr117065.c: New test. - -2024-11-29 Jakub Jelinek <jakub@redhat.com> - - PR target/117608 - * gcc.dg/builtin-prefetch-1.c (good): Add tests with second argument - 2. - * gcc.target/i386/pr117608-1.c: New test. - * gcc.target/i386/pr117608-2.c: New test. - -2024-11-29 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/117723 - * gcc.dg/torture/ifcmb-1.c: New. - -2024-11-28 Steven G. Kargl <kargls@comcast.net> - - PR fortran/117765 - * gfortran.dg/impure_fcn_do_concurrent.f90: Update test to catch - calls to an impure subroutine. - -2024-11-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/117791 - * gfortran.dg/bounds_check_array_io.f90: New test. - -2024-11-28 Marek Polacek <polacek@redhat.com> - - PR c++/113798 - * g++.dg/cpp26/feat-cxx26.C (__cpp_pack_indexing): Add test. - -2024-11-28 Marek Polacek <polacek@redhat.com> - - PR c++/113798 - * g++.dg/cpp26/pack-indexing1.C: New test. - * g++.dg/cpp26/pack-indexing2.C: New test. - * g++.dg/cpp26/pack-indexing3.C: New test. - * g++.dg/cpp26/pack-indexing4.C: New test. - * g++.dg/cpp26/pack-indexing5.C: New test. - * g++.dg/cpp26/pack-indexing6.C: New test. - * g++.dg/cpp26/pack-indexing7.C: New test. - * g++.dg/cpp26/pack-indexing8.C: New test. - * g++.dg/cpp26/pack-indexing9.C: New test. - * g++.dg/cpp26/pack-indexing10.C: New test. - * g++.dg/cpp26/pack-indexing11.C: New test. - * g++.dg/modules/pack-index-1_a.C: New test. - * g++.dg/modules/pack-index-1_b.C: New test. - -2024-11-28 Mariam Arutunian <mariamarutunian@gmail.com> - - * gcc.dg/crc-builtin-rev-target32.c: New test. - * gcc.dg/crc-builtin-rev-target64.c: New test. - * gcc.dg/crc-builtin-target32.c: New test. - * gcc.dg/crc-builtin-target64.c: New test. - Signed-off-by: Mariam Arutunian <mariamarutunian@gmail.com> - Co-authored-by: Joern Rennecke <joern.rennecke@embecosm.com> - Co-authored-by: Jeff Law <jlaw@ventanamicro.com> - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR target/116675 - * gcc.target/i386/pr116675.c: Add -save-temps to dg-options. - Scan for pand\t rather than pand. - -2024-11-28 Thomas Schwinge <tschwinge@baylibre.com> - - * g++.dg/tree-ssa/empty-loop.C: Address UNRESOLVED. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c/117023 - * gcc.dg/nonnull-8.c: New test. - * gcc.dg/nonnull-9.c: New test. - * gcc.dg/nonnull-10.c: New test. - * c-c++-common/ubsan/nonnull-6.c: New test. - * c-c++-common/ubsan/nonnull-7.c: New test. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - * gcc.target/powerpc/asm-redzone-1.c: New test. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/asm-redzone-1.c: New test. - * gcc.target/i386/asm-redzone-1.c: New test. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c++/78620 - PR c++/117256 - * g++.dg/cpp0x/zero-init1.C: New file. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c++/116416 - * gcc.dg/plugin/infoleak-1.c (test_union_2b, test_union_4b): Expect - diagnostics. - * gcc.dg/c23-empty-init-5.c: New test. - * gcc.dg/gnu11-empty-init-1.c: New test. - * gcc.dg/gnu11-empty-init-2.c: New test. - * gcc.dg/gnu11-empty-init-3.c: New test. - * gcc.dg/gnu11-empty-init-4.c: New test. - -2024-11-28 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/117557 - * gcc.target/aarch64/pr117557.c: New test. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117358 - * gcc.c-torture/compile/pr117358.c: New test. - -2024-11-28 Jakub Jelinek <jakub@redhat.com> - - PR c/117802 - * gcc.dg/builtin-iseqsig-1.c: New test. - * gcc.dg/bitint-118.c: New test. - -2024-11-28 Joseph Myers <josmyers@redhat.com> - - PR c/117757 - * gcc.dg/pr117757-1.c: New test. - -2024-11-28 David Malcolm <dmalcolm@redhat.com> - - PR c/82892 - * c-c++-common/spellcheck-missing-option.c: New test. - -2024-11-28 David Malcolm <dmalcolm@redhat.com> - - PR c++/87850 - * c-c++-common/indirection-fixits.c: New test. - * g++.dg/template/error60.C: Add fix-it hint to expected output. - * g++.dg/template/error60a.C: Likewise. - -2024-11-27 Jan Hubicka <hubicka@ucw.cz> - - * g++.dg/tree-ssa/empty-loop.C: xfail optimization at cddce2 and check - it happens at cddce3. - * g++.dg/tree-ssa/string-1.C: New test. - -2024-11-27 Joseph Myers <josmyers@redhat.com> - - PR c/91193 - * gcc.dg/pr91193-1.c, gcc.dg/pr91193-2.c: New tests. - -2024-11-27 Uros Bizjak <ubizjak@gmail.com> - - PR target/36503 - * gcc.target/i386/pr36503-3.c: New test. - * gcc.target/i386/pr36503-4.c: New test. - -2024-11-27 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117776 - * g++.dg/vect/pr117776.cc: New test. - * gcc.dg/tree-ssa/cast-3.c: New test. - -2024-11-27 Jakub Jelinek <jakub@redhat.com> - - PR c/117745 - * gcc.dg/pr117745.c: New test. - -2024-11-27 Pan Li <pan2.li@intel.com> - - PR target/112600 - * gcc.target/i386/pr112600-5-u16.c: New test. - * gcc.target/i386/pr112600-5-u32.c: New test. - * gcc.target/i386/pr112600-5-u64.c: New test. - * gcc.target/i386/pr112600-5-u8.c: New test. - * gcc.target/i386/pr112600-5.h: New test. - -2024-11-27 Joseph Myers <josmyers@redhat.com> - - PR c/117781 - * gcc.dg/c23-typeof-5.c: New test. - -2024-11-27 Jakub Jelinek <jakub@redhat.com> - - PR target/117642 - * gcc.target/i386/pr117642-1.c: New test. - * gcc.target/i386/pr117642-2.c: New test. - -2024-11-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117692 - * gcc.dg/tree-ssa/mulexactdiv-5.c: Expect 8 nop_exprs. - * gcc.dg/tree-ssa/pr117692.c: New test. - -2024-11-27 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117768 - * gfortran.dg/pr117768.f90: New test. - -2024-11-27 Florian Weimer <fweimer@redhat.com> - - * gcc.dg/Wfree-labels-1.c: New test. - * gcc.dg/Wfree-labels-2.c: New test. - * gcc.dg/Wfree-labels-3.c: New test. - -2024-11-27 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/static-3_b.C: New test. - * g++.dg/modules/static-3_a.H: New test. - -2024-11-27 Jason Merrill <jason@redhat.com> - - * g++.dg/tree-ssa/pr15791-1.C: Add -Wno-array-compare. - -2024-11-27 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/dashinclude-1_b.C: Add an #error. - * g++.dg/modules/dashinclude-1_a.H: Remove dg-module-do run. - -2024-11-26 Andrew Pinski <quic_apinski@quicinc.com> - - * g++.dg/ext/sve-sizeless-2.C: Update the expected error message - for __builtin_launder. - -2024-11-26 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.target/aarch64/fp8_scalar_1.c (stacktest1): Fix for new - improved code generation. - -2024-11-26 David Malcolm <dmalcolm@redhat.com> - - * g++.dg/plugin/plugin.exp (plugin_test_list): Update for renaming - of all plugin implementation files from .c to .cc. - * g++.dg/plugin/attribute_plugin.c: Rename to... - * g++.dg/plugin/attribute_plugin.cc: ...this. - * g++.dg/plugin/comment_plugin.c: Rename to... - * g++.dg/plugin/comment_plugin.cc: ...this. - * g++.dg/plugin/decl_plugin.c: Rename to... - * g++.dg/plugin/decl_plugin.cc: ...this. - * g++.dg/plugin/def_plugin.c: Rename to... - * g++.dg/plugin/def_plugin.cc: ...this. - * g++.dg/plugin/dumb_plugin.c: Rename to... - * g++.dg/plugin/dumb_plugin.cc: ...this. - * g++.dg/plugin/header_plugin.c: Rename to... - * g++.dg/plugin/header_plugin.cc: ...this. - * g++.dg/plugin/pragma_plugin.c: Rename to... - * g++.dg/plugin/pragma_plugin.cc: ...this. - * g++.dg/plugin/selfassign.c: Rename to... - * g++.dg/plugin/selfassign.cc: ...this. - * g++.dg/plugin/show_template_tree_color_plugin.c: Rename to... - * g++.dg/plugin/show_template_tree_color_plugin.cc: ...this. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Update for renaming - of all plugin implementation files from .c to .cc. - * gcc.dg/plugin/analyzer_cpython_plugin.c: Rename to... - * gcc.dg/plugin/analyzer_cpython_plugin.cc: ...this. - * gcc.dg/plugin/analyzer_gil_plugin.c: Rename to... - * gcc.dg/plugin/analyzer_gil_plugin.cc: ...this. - * gcc.dg/plugin/analyzer_kernel_plugin.c: Rename to... - * gcc.dg/plugin/analyzer_kernel_plugin.cc: ...this. - * gcc.dg/plugin/analyzer_known_fns_plugin.c: Rename to... - * gcc.dg/plugin/analyzer_known_fns_plugin.cc: ...this. - * gcc.dg/plugin/crash_test_plugin.c: Rename to... - * gcc.dg/plugin/crash_test_plugin.cc: ...this. - * gcc.dg/plugin/diagnostic_group_plugin.c: Rename to... - * gcc.dg/plugin/diagnostic_group_plugin.cc: ...this. - * gcc.dg/plugin/diagnostic_plugin_show_trees.c: Rename to... - * gcc.dg/plugin/diagnostic_plugin_show_trees.cc: ...this. - * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: Rename to... - * gcc.dg/plugin/diagnostic_plugin_test_inlining.cc: ...this. - * gcc.dg/plugin/diagnostic_plugin_test_metadata.c: Rename to... - * gcc.dg/plugin/diagnostic_plugin_test_metadata.cc: ...this. - * gcc.dg/plugin/diagnostic_plugin_test_nesting.c: Rename to... - * gcc.dg/plugin/diagnostic_plugin_test_nesting.cc: ...this. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Rename to... - * gcc.dg/plugin/diagnostic_plugin_test_paths.cc: ...this. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Rename to... - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.cc: ...this. - * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Rename - * gcc.dg/plugin/diagnostic_plugin_test_string_literals.cc: ..to - this. - * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: Rename to... - * gcc.dg/plugin/diagnostic_plugin_test_text_art.cc: ...this. - * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c: - Rename to... - * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.cc: - ...this. - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Rename to... - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc: ...this. - * gcc.dg/plugin/dump_plugin.c: Rename to... - * gcc.dg/plugin/dump_plugin.cc: ...this. - * gcc.dg/plugin/expensive_selftests_plugin.c: Rename to... - * gcc.dg/plugin/expensive_selftests_plugin.cc: ...this. - * gcc.dg/plugin/finish_unit_plugin.c: Rename to... - * gcc.dg/plugin/finish_unit_plugin.cc: ...this. - * gcc.dg/plugin/ggcplug.c: Rename to... - * gcc.dg/plugin/ggcplug.cc: ...this. - * gcc.dg/plugin/location_overflow_plugin.c: Rename to... - * gcc.dg/plugin/location_overflow_plugin.cc: ...this. - * gcc.dg/plugin/must_tail_call_plugin.c: Rename to... - * gcc.dg/plugin/must_tail_call_plugin.cc: ...this. - * gcc.dg/plugin/one_time_plugin.c: Rename to... - * gcc.dg/plugin/one_time_plugin.cc: ...this. - * gcc.dg/plugin/poly-int-01_plugin.c: Rename to... - * gcc.dg/plugin/poly-int-01_plugin.cc: ...this. - * gcc.dg/plugin/poly-int-02_plugin.c: Rename to... - * gcc.dg/plugin/poly-int-02_plugin.cc: ...this. - * gcc.dg/plugin/poly-int-03_plugin.c: Rename to... - * gcc.dg/plugin/poly-int-03_plugin.cc: ...this. - * gcc.dg/plugin/poly-int-04_plugin.c: Rename to... - * gcc.dg/plugin/poly-int-04_plugin.cc: ...this. - * gcc.dg/plugin/poly-int-05_plugin.c: Rename to... - * gcc.dg/plugin/poly-int-05_plugin.cc: ...this. - * gcc.dg/plugin/poly-int-06_plugin.c: Rename to... - * gcc.dg/plugin/poly-int-06_plugin.cc: ...this. - * gcc.dg/plugin/poly-int-07_plugin.c: Rename to... - * gcc.dg/plugin/poly-int-07_plugin.cc: ...this. - * gcc.dg/plugin/selfassign.c: Rename to... - * gcc.dg/plugin/selfassign.cc: ...this. - * gcc.dg/plugin/start_unit_plugin.c: Rename to... - * gcc.dg/plugin/start_unit_plugin.cc: ...this. - * gcc.dg/plugin/wide-int_plugin.c: Rename to... - * gcc.dg/plugin/wide-int_plugin.cc: ...this. - * obj-c++.dg/plugin/plugin.exp: Update for renaming of plugin - implementation file from .c to .cc. - * objc.dg/plugin/plugin.exp: Likewise. - -2024-11-26 yulong <shiyulong@iscas.ac.cn> - - * gcc.target/riscv/predef-sf-2.c: Modify the char string. - -2024-11-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/117774 - * gfortran.dg/assumed_rank_25.f90: New test. - -2024-11-26 David Malcolm <dmalcolm@redhat.com> - - PR c/94370 - * gcc.dg/format/proto.c: Update wording of message. - -2024-11-26 David Malcolm <dmalcolm@redhat.com> - - PR translation/80760 - * gcc.dg/tree-ssa/pr79803.c: Add ':' to expected warning. - -2024-11-26 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-12-zvbb.c: - Adjust the dump check times. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: - Remove unnecessary option and add target no-opts/any-tops. - * 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. - -2024-11-26 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization - options passing to testcases. - -2024-11-26 Jan Hubicka <hubicka@ucw.cz> - - * g++.dg/tree-ssa/deque-1.C: New test. - * g++.dg/tree-ssa/deque-2.C: New test. - -2024-11-26 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117763 - * gfortran.dg/pr117763.f90: New test. - -2024-11-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/102674 - * gcc.dg/dfp/pr102674.c: New test. - -2024-11-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/43374 - * gcc.dg/dfp/pr43374.c: New test. - -2024-11-26 Cui, Lili <lili.cui@intel.com> - - PR target/116675 - * gcc.target/i386/pr116675.c: New test. - -2024-11-26 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Correct 128bit - mask usage. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. - -2024-11-26 Joseph Myers <josmyers@redhat.com> - - PR c/98195 - PR c/117755 - * gcc.dg/pr98195-1.c, gcc.dg/pr117755-1.c: New tests. - * gcc.dg/noncompile/20020207-1.c, gcc.dg/pr14765-1.c, - objc.dg/method-11.m: Update expected error messages. - -2024-11-25 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/117777 - * gm2/extensions/asm/pass/conststr.mod: New test. - -2024-11-25 H.J. Lu <hjl.tools@gmail.com> - - PR middle-end/117098 - * gcc.dg/sibcall-12.c: New test. - -2024-11-25 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/117105 - * gcc.target/i386/pr117105.c: New test. - -2024-11-25 Sandra Loosemore <sloosemore@baylibre.com> - - * g++.target/nios2/*: Delete entire directory. - * gcc.target/nios2/*: Delete entire directory. - * g++.dg/cpp0x/constexpr-rom.C: Remove refences to nios2. - * g++.old-deja/g++.jason/thunk3.C: Likewise. - * gcc.c-torture/execute/20101011-1.c: Likewise. - * gcc.c-torture/execute/pr47237.c: Likewise. - * gcc.dg/20020312-2.c: Likewise. - * gcc.dg/20021029-1.c: Likewise. - * gcc.dg/debug/btf/btf-datasec-1.c: Likewise. - * gcc.dg/ifcvt-4.c: Likewise. - * gcc.dg/stack-usage-1.c: Likewise. - * gcc.dg/struct-by-value-1.c: Likewise. - * gcc.dg/tree-ssa/reassoc-33.c: Likewise. - * gcc.dg/tree-ssa/reassoc-34.c: Likewise. - * gcc.dg/tree-ssa/reassoc-35.c: Likewise. - * gcc.dg/tree-ssa/reassoc-36.c: Likewise. - * lib/target-supports.exp: Likewise. - -2024-11-25 Steve Kargl <kargls@comcast.net> - - PR fortran/117765 - * gfortran.dg/impure_fcn_do_concurrent.f90: New test. - -2024-11-25 Robin Dapp <rdapp@ventanamicro.com> - - PR target/117544 - * gcc.target/riscv/rvv/base/abi-call-args-4.c: Expect vsetvl. - * gcc.target/riscv/rvv/base/pr117544.c: New test. - -2024-11-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117767 - * gcc.dg/vect/pr117767.c: New testcase. - -2024-11-25 Jakub Jelinek <jakub@redhat.com> - - PR testsuite/117663 - * gcc.target/powerpc/pr58673-1.c: Add -std=gnu17 to dg-options. - * gcc.target/powerpc/pr64505.c: Likewise. - * gcc.target/powerpc/pr116170.c: Likewise. - * gcc.target/powerpc/pr58673-2.c: Likewise. - * gcc.target/powerpc/pr64019.c: Likewise. - * gcc.target/powerpc/pr96506-1.c: Likewise. - * gcc.target/powerpc/swaps-stack-protector.c: Likewise. - * gcc.target/powerpc/pr78543.c: Likewise. - * gcc.dg/vect/pr48765.c: Add -std=gnu17 to dg-additional-options. - -2024-11-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115825 - * gcc.dg/tree-ssa/cunroll-17.c: New testcase. - * gcc.dg/tree-ssa/cunroll-2.c: Adjust to not expect unrolling. - * gcc.dg/pr94600-1.c: Force unrolling. - * c-c++-common/ubsan/unreachable-3.c: Likewise. - * g++.dg/warn/Warray-bounds-20.C: XFAIL cases we rely on - unrolling loops created by new expressions and not inlined - CTOR invocations. - -2024-11-25 Kito Cheng <kito.cheng@sifive.com> - - * g++.dg/asan/asan_test.cc: Update the testcase for dynamic - offset. - -2024-11-25 Dongyan Chen <chendongyan@isrc.iscas.ac.cn> - - * gcc.target/riscv/arch-44.c: New test. - -2024-11-25 Haochen Jiang <haochen.jiang@intel.com> - - * lib/target-supports.exp (check_effective_target_avx10_2): - Remove AVX10.2 option. - (check_effective_target_avx10_2_512): Ditto. - -2024-11-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> - Philipp Tomsich <philipp.tomsich@vrull.eu> - - * gcc.target/aarch64/avoid-store-forwarding-1.c: New test. - * gcc.target/aarch64/avoid-store-forwarding-2.c: New test. - * gcc.target/aarch64/avoid-store-forwarding-3.c: New test. - * gcc.target/aarch64/avoid-store-forwarding-4.c: New test. - * gcc.target/aarch64/avoid-store-forwarding-5.c: New test. - * gcc.target/x86_64/abi/callabi/avoid-store-forwarding-1.c: New test. - * gcc.target/x86_64/abi/callabi/avoid-store-forwarding-2.c: New test. - -2024-11-24 Uros Bizjak <ubizjak@gmail.com> - - * lib/target-supports.exp (add_options_for_float16): Add -mpfpmath=sse. - -2024-11-24 Uros Bizjak <ubizjak@gmail.com> - - PR target/36503 - * gcc.target/i386/pr36503-1.c: New test. - * gcc.target/i386/pr36503-2.c: New test. - -2024-11-24 Andrew Pinski <quic_apinski@quicinc.com> - - PR c/117741 - * gcc.dg/gimplefe-54.c: New test. - -2024-11-24 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.target/sparc/20230328-1.c: Adjust to new mnemonics. - * gcc.target/sparc/20230328-4.c: Likewise. - * gcc.target/sparc/fcmp.c: Likewise. - * gcc.target/sparc/fucmp.c: Likewise. - -2024-11-24 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/specs/bss1.ads: New test. - -2024-11-24 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/84869 - * gfortran.dg/pr84869.f90: Copy of test below with number - corrected. - * gfortran.dg/pr85869.f90: deleted. - -2024-11-24 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/85869 - * gfortran.dg/pr85869.f90: Comment out test of component refs. - -2024-11-24 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117730 - PR fortran/84674 - * gfortran.dg/pr117730_a.f90: New test. - * gfortran.dg/pr117730_b.f90: New test. - * gfortran.dg/pr84674.f90: New test. - -2024-11-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Take - the target any-ops instead of xfail. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto. - -2024-11-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i16.c: Refine - the include file, remove unnecessary options and reconcile the - dump check based on options. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i16-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i32-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i32-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip.c: Ditto. - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Removed. - -2024-11-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i64.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i64.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i64.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i64.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i64.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i64.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i64.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i64.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i16-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i16-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i32-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i32-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i32-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i32-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip-run.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip-run.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vvv_run.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vvx_run.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx_run.h: Removed. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Removed. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_data.h: Removed. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_unary_vv_run.h: Removed. - -2024-11-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c: - Refine the include file and remove unnecessary optimization options. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c: Ditto - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c: Ditto - -2024-11-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h: Merge the - same file name under autovec/unop. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h: New test. - -2024-11-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u16.c: - Refactor the test case for include, unnecessary option and - target on opts. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u8.c: Ditto. - -2024-11-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-38.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-39.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-40.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-37.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-18.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-19.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-20.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-17.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-22.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-23.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-24.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-21.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-26.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-27.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-28.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-25.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-30.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-31.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-29.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-34.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-35.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-36.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-33.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u8.c: ...here. - -2024-11-23 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/117118 - * c-c++-common/raw-string-directive-3.c: New test. - * c-c++-common/raw-string-directive-4.c: New test. - -2024-11-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/88052 - * gfortran.dg/comma_format_extension_4.f: Add missing comma. - * gfortran.dg/dollar_edit_descriptor_2.f: Likewise. - * gfortran.dg/fmt_error_9.f: Likewise. - * gfortran.dg/fmt_g0_5.f08: Likewise. - * gfortran.dg/fmt_t_2.f90: Likewise. - * gfortran.dg/pr88052.f90: New test. - -2024-11-23 Maciej W. Rozycki <macro@orcam.me.uk> - - * gcc.c-torture/execute/memcpy-a1.c: New file. - * gcc.c-torture/execute/memcpy-a2.c: New file. - * gcc.c-torture/execute/memcpy-a4.c: New file. - * gcc.c-torture/execute/memcpy-a8.c: New file. - * gcc.c-torture/execute/memcpy-ax.h: New file. - -2024-11-22 Jeff Law <jlaw@ventanamicro.com> - - PR target/109279 - * gcc.target/riscv/synthesis-16.c: New test. - -2024-11-22 Joseph Myers <josmyers@redhat.com> - - PR c/112841 - * gcc.dg/c23-typeof-4.c: New test. - -2024-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> - - PR tree-optimization/117355 - * g++.dg/ext/builtin-object-size2.C (test9): New test. - (main): Call it. - * gcc.dg/builtin-object-size-3.c (test10): Adjust expected size. - -2024-11-22 Jakub Jelinek <jakub@redhat.com> - - PR c++/110137 - PR middle-end/101480 - * g++.dg/tree-ssa/pr110137-1.C: New test. - * g++.dg/tree-ssa/pr110137-2.C: New test. - * g++.dg/tree-ssa/pr110137-3.C: New test. - * g++.dg/tree-ssa/pr110137-4.C: New test. - * g++.dg/torture/pr10148.C: Add -fno-assume-sane-operators-new-delete - as dg-additional-options. - * g++.dg/warn/Warray-bounds-16.C: Revert 2021-11-10 changes. - -2024-11-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117420 - * gcc.dg/torture/pr117420.c: New test. - -2024-11-22 Jakub Jelinek <jakub@redhat.com> - - PR c/117641 - * gcc.dg/bitint-117.c: New test. - -2024-11-22 Dimitar Dimitrov <dimitar@dinux.eu> - - PR target/117603 - * lib/target-supports.exp (riscv_get_arch): Add comment about - function purpose. Add E ISA to list of possible - modifiers. - (check_vect_support_and_set_flags): Do not advertise vector - support if V extension cannot be enabled. - -2024-11-22 Tobias Burnus <tburnus@baylibre.com> - - * c-c++-common/gomp/dispatch-11.c: New test. - * c-c++-common/gomp/dispatch-12.c: New test. - -2024-11-22 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.dg/gomp/interop-1.f90: Update for parser changes, - spec changes and add new tests. - * gfortran.dg/gomp/interop-2.f90: Likewise. - * gfortran.dg/gomp/interop-3.f90: Likewise. - * c-c++-common/gomp/interop-1.c: New test. - * c-c++-common/gomp/interop-2.c: New test. - * c-c++-common/gomp/interop-3.c: New test. - * c-c++-common/gomp/interop-4.c: New test. - * g++.dg/gomp/interop-5.C: New test. - * gfortran.dg/gomp/interop-4.f90: New test. - -2024-11-22 Jakub Jelinek <jakub@redhat.com> - - PR target/117165 - * gcc.target/i386/pr117165.c: New test. - -2024-11-22 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/tree-ssa/satd-hadamard.c: Add -msse2 as dg-additional-options - on x86. Also scan-tree-dump on i?86-*-*. - * gcc.dg/tree-ssa/vector-8.c: Likewise. - * gcc.dg/tree-ssa/vector-9.c: Likewise. - * gcc.dg/tree-ssa/vector-10.c: Add -Wno-psabi to dg-additional-options. - -2024-11-22 Haochen Jiang <haochen.jiang@intel.com> - - PR target/117697 - * gcc.target/i386/avx10_2-vmovd-1.c: Both check %esp and %ebp. - * gcc.target/i386/avx10_2-vmovw-1.c: Ditto. - -2024-11-22 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/vector/lsx/lsx-builtin.c (__lsx_vorn_v): - Change arguments and return value to v16u8. - * gcc.target/loongarch/vector/lasx/lasx-builtin.c - (__lasx_xvorn_v): Change arguments and return value to v32u8. - -2024-11-21 Jeff Law <jlaw@ventanamicro.com> - - PR target/117690 - * gcc.target/riscv/pr117690.c: New test. - * gcc.target/riscv/synthesis-13.c: Adjust expected output. - -2024-11-21 Joseph Myers <josmyers@redhat.com> - - PR c/114816 - * gcc.dg/c2y-void-parm-1.c: New test. - * gcc.dg/noncompile/920616-2.c, gcc.dg/noncompile/921116-1.c, - gcc.dg/parm-incomplete-1.c: Update expected diagnostics. - -2024-11-21 David Malcolm <dmalcolm@redhat.com> - - * lib/print-stack.exp: New file. - -2024-11-21 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.dg/tree-ssa/satd-hadamard.c: Restrict to aarch64 and x86-64. - * gcc.dg/tree-ssa/vector-8.c: Likewise. - * gcc.dg/tree-ssa/vector-9.c: Likewise. - -2024-11-21 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/inline-1_a.C: New test. - * g++.dg/modules/inline-1_b.C: New test. - -2024-11-21 Jeff Law <jlaw@ventanamicro.com> - - PR target/116590 - * gcc.target/riscv/pr116590.c: New test. - -2024-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR target/102296 - * gcc.target/i386/struct-size.c: Enable on *-*-solaris*. - -2024-11-21 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.dg/tree-ssa/satd-hadamard.c: New test. - * gcc.dg/tree-ssa/vector-10.c: New test. - * gcc.dg/tree-ssa/vector-8.c: New test. - * gcc.dg/tree-ssa/vector-9.c: New test. - * gcc.target/aarch64/sve/satd-hadamard.c: New test. - -2024-11-21 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/apx-ndd-tls-1a.c: -std=gnu17. - * gcc.target/i386/apx-ndd-tls-1b.c: Likewise. - -2024-11-21 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/94589 - PR tree-optimization/117612 - * gcc.dg/pr94589-5.c: New test. - * gcc.dg/pr94589-6.c: New test. - * g++.dg/opt/pr94589-5.C: New test. - * g++.dg/opt/pr94589-6.C: New test. - -2024-11-21 Jakub Jelinek <jakub@redhat.com> - - PR c/117024 - * gcc.c-torture/execute/builtins/lib/abs.c (uintmax_t): New typedef. - (uabs, ulabs, ullabs, uimaxabs): New functions. - * gcc.c-torture/execute/builtins/uabs-1.c: New test. - * gcc.c-torture/execute/builtins/uabs-1.x: New file. - * gcc.c-torture/execute/builtins/uabs-1-lib.c: New file. - * gcc.c-torture/execute/builtins/uabs-2.c: New test. - * gcc.c-torture/execute/builtins/uabs-2.x: New file. - * gcc.c-torture/execute/builtins/uabs-2-lib.c: New file. - * gcc.c-torture/execute/builtins/uabs-3.c: New test. - * gcc.c-torture/execute/builtins/uabs-3.x: New test. - * gcc.c-torture/execute/builtins/uabs-3-lib.c: New test. - -2024-11-21 Kewen Lin <linkw@linux.ibm.com> - - PR target/114567 - * gcc.target/powerpc/pr114567.c: New test. - -2024-11-21 Kewen Lin <linkw@linux.ibm.com> - - * gcc.target/powerpc/p8vector-int128-3.c: New test. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/opt/pr69175.C: Added option "-mcpu=unset". - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/cortex-m55-nodsp-flag-hard.c: Added option - "-march=unset". - * gcc.target/arm/cortex-m55-nodsp-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nodsp-nofp-flag-softfp.c: Likesie. - * gcc.target/arm/cortex-m55-nofp-flag-hard.c: Likewise. - * gcc.target/arm/cortex-m55-nofp-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nofp-nomve-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nomve-flag-hard.c: Likewise. - * gcc.target/arm/cortex-m55-nomve-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c: Likewise. - * gcc.target/arm/cortex-m55-nomve.fp-flag-softfp.c: Likewise. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/ext/pr57735.C: Use effective-target arm_cpu_xscale_arm. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.target/arm/mve/general-c++/nomve_fp_1.c: Added option - "-mcpu=unset". - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/vect-early-break-cbranch.c: Use - effective-target arm_arch_v8a_hard. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.target/arm/pr103676.C: Use effective-target - arm_cpu_cortex_m7. - * gcc.target/arm/no-volatile-in-it.c: Likewise. - * gcc.target/arm/fma-sp.c: Use effective-target - arm_cpu_cortex_m4_hard. - * gcc.target/arm/pr53859.c: Use effective-target - arm_cpu_cortex_m4. - * gcc.target/arm/mve/intrinsics/pr97327.c: Use effective-target - arm_cpu_cortex_m55. - * gcc.target/arm/pr65067.c: Use effective-target - arm_cpu_cortex_m3. - * lib/target-supports.exp: Define effective-target - arm_cpu_cortex_m3, arm_cpu_cortex_m4, arm_cpu_cortex_m4_hard, - arm_cpu_cortex_m7 and arm_cpu_cortex_m55. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/thumb2-slow-flash-data-2.c: Use - effective-target arm_arch_v7em_hard. - * gcc.target/arm/thumb2-slow-flash-data-3.c: Likewise. - * gcc.target/arm/thumb2-slow-flash-data-4.c: Likewise. - * gcc.target/arm/thumb2-slow-flash-data-5.c: Likewise. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/small-multiply-m0-1.c: Use effective-target - arm_arch_v6m and added option "-march=unset". - * gcc.target/arm/small-multiply-m0-2.c: Likewise. - * gcc.target/arm/small-multiply-m0-3.c: Likewise. - * gcc.target/arm/small-multiply-m0plus-1.c: Likewise. - * gcc.target/arm/small-multiply-m0plus-2.c: Likewise. - * gcc.target/arm/small-multiply-m0plus-3.c: Likewise. - * gcc.target/arm/small-multiply-m1-1.c: Likewise. - * gcc.target/arm/small-multiply-m1-2.c: Likewise. - * gcc.target/arm/small-multiply-m1-3.c: Likewise. - * lib/target-supports.exp: Define effective-target - arm_cpu_cortex_m0_small, arm_cpu_cortex_m0plus_small and - arm_cpu_cortex_m1_small. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/pure-code/no-literal-pool-m0.c: Use - effective-target arm_cpu_cortex-m0. - * gcc.target/arm/pure-code/no-literal-pool-m23.c: Use - effective-target arm_cpu_cortex-m23. - * gcc.target/arm/pure-code/pr94538-1.c: Likewise. - * gcc.target/arm/pure-code/pr109800.c: Use effective-target - arm_arch_v7em_hard. - * lib/target-supports.exp: Define effective-target - arm_cpu_cortex_m0, arm_cpu_cortex_m23 and arm_arch_v7em_hard. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/acle/crc_hf_1.c: Use effective-target - arm_arch_v8a_crc_hard. - * lib/target-supports.exp: Define effective-target - arm_arch_v8a_crc_hard. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/acle/pacbti-m-predef-1.c: Use effective-target - arm_arch_v8_1m_main. - * gcc.target/arm/acle/pacbti-m-predef-2.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-3.c: Likewise. - * 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-6.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. - -2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * gcc.target/arm/pac-1.c: Use effective-target - arm_arch_v8_1m_main_pacbti. - * 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-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. - * gcc.target/arm/pac-12.c: Added option "-mcpu=unset". - * gcc.target/arm/pac-13.c: Likewise. - * gcc.target/arm/pac-14.c: Likewise. - * lib/target-supports.exp - (check_effective_target_arm_pacbti_hw): Likewise. - * gcc.target/arm/pac-6.c: Use effective-target - arm_arch_v8_1m_main. - * gcc.target/arm/pac-15.c: Use effective-target - arm_arch_v8_1m_main_pacbti and added option "-mcpu=unset". - -2024-11-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/83135 - * gfortran.dg/protected_10.f90: New test. - -2024-11-20 Joseph Myers <josmyers@redhat.com> - - PR c/114266 - * gcc.dg/c23-empty-init-4.c: New test. - -2024-11-20 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: New test. - * jit.dg/test-output-ident.c: New test. - -2024-01-18 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: Mention test-temp.c. - * jit.dg/test-temp.c: New test. - -2024-11-20 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/116587 - * gcc.target/i386/pr116587.c: New test. - -2024-11-20 Antoni Boucher <bouanto@zoho.com> - - PR jit/108762 - * jit.dg/all-non-failing-tests.h: New test test-target-builtins.c. - * jit.dg/test-target-builtins.c: New test. - -2024-11-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/117680 - * gcc.target/aarch64/pic-constantpool1.c: Add -Wno-old-style-definition. - * gcc.target/aarch64/pic-symrefplus.c: Likewise. - * gcc.target/aarch64/pr113573.c: Add `-std=gnu17` - * gcc.target/aarch64/sme/streaming_mode_1.c: Correct testcase. - * gcc.target/aarch64/sme/za_state_1.c: Likewise. - * gcc.target/aarch64/sme/za_state_2.c: Likewise. - -2024-11-20 Edwin Lu <ewlu@rivosinc.com> - - * gcc.target/riscv/pr117595.c: Restrict to non vector targets. - -2024-11-20 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/test-types.c: Add checks comparing aligned types. - -2024-11-20 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/test-special-chars.c: New test. - -2024-11-20 Antoni Boucher <bouanto@zoho.com> - - PR jit/112602 - * jit.dg/all-non-failing-tests.h: New test test-vector-perm.c. - * jit.dg/test-vector-perm.c: New test. - -2024-11-20 Paul-Antoine Arras <parras@baylibre.com> - - * c-c++-common/gomp/declare-variant-2.c: Adjust dg-error directives. - * c-c++-common/gomp/adjust-args-1.c: New test. - * c-c++-common/gomp/adjust-args-2.c: New test. - * c-c++-common/gomp/declare-variant-dup-match-clause.c: New test. - * c-c++-common/gomp/dispatch-1.c: New test. - * c-c++-common/gomp/dispatch-2.c: New test. - * c-c++-common/gomp/dispatch-3.c: New test. - * c-c++-common/gomp/dispatch-4.c: New test. - * c-c++-common/gomp/dispatch-5.c: New test. - * c-c++-common/gomp/dispatch-6.c: New test. - * c-c++-common/gomp/dispatch-7.c: New test. - * c-c++-common/gomp/dispatch-8.c: New test. - * c-c++-common/gomp/dispatch-9.c: New test. - * c-c++-common/gomp/dispatch-10.c: New test. - -2024-11-20 Paul-Antoine Arras <parras@baylibre.com> - - * g++.dg/gomp/adjust-args-1.C: New test. - * g++.dg/gomp/adjust-args-2.C: New test. - * g++.dg/gomp/adjust-args-3.C: New test. - * g++.dg/gomp/dispatch-1.C: New test. - * g++.dg/gomp/dispatch-2.C: New test. - * g++.dg/gomp/dispatch-3.C: New test. - * g++.dg/gomp/dispatch-4.C: New test. - * g++.dg/gomp/dispatch-5.C: New test. - * g++.dg/gomp/dispatch-6.C: New test. - * g++.dg/gomp/dispatch-7.C: New test. - -2024-11-20 Paul-Antoine Arras <parras@baylibre.com> - - * gcc.dg/gomp/adjust-args-1.c: New test. - * gcc.dg/gomp/dispatch-1.c: New test. - * gcc.dg/gomp/dispatch-2.c: New test. - * gcc.dg/gomp/dispatch-3.c: New test. - * gcc.dg/gomp/dispatch-4.c: New test. - * gcc.dg/gomp/dispatch-5.c: New test. - -2024-11-20 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/test-error-bad-assignment-op.c: New test. - -2024-11-20 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: Add test-signed-char.c. - * jit.dg/test-signed-char.c: New test. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * lib/target-supports.exp: Test the assembler for sve-b16b16 support. - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add tests for - __ARM_FEATURE_SME2p1. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za128.c: New test. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za16.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za16_vg2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za16_vg4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za32.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za32_vg2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za32_vg4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za64.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za64_vg2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za64_vg4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za8.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za8_vg2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_hor_za8_vg4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za16.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za16_vg2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za16_vg4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za32.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za32_vg2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za32_vg4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za64.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za64_vg2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za64_vg4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za8.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za8_vg2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_ver_za8_vg4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_za16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_za16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_za32_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_za32_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_za64_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_za64_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_za8_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/readz_za8_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg2x1.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg2x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg2x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg4x1.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg4x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg4x4.c: Likewise. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * lib/target-supports.exp: Test the assembler for sve-b16b16 support. - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add tests for - __ARM_FEATURE_SME_B16B16. - * gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x2.c: New test. - * gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mopa_za16_bf16.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mops_za16_bf16.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/sub_za16_bf16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/sub_za16_bf16_vg1x4.c: Likewise. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * lib/target-supports.exp: Test the assembler for sve-f16f16 support. - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add tests for - __ARM_FEATURE_SME_F16F16. Also extend the existing SME tests. - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h - (TEST_X2_WIDE): New macro - * gcc.target/aarch64/sme2/acle-asm/add_za16_f16_vg1x2.c: New test. - * gcc.target/aarch64/sme2/acle-asm/add_za16_f16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/cvt_f32_f16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/cvtl_f32_f16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_f16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_f16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mla_za16_f16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mla_za16_f16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_f16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_f16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mls_za16_f16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mls_za16_f16_vg1x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mopa_za16_f16.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/mops_za16_f16.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/sub_za16_f16_vg1x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/sub_za16_f16_vg1x4.c: Likewise. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * lib/target-supports.exp: Test the assembler for sve-b16b16 support. - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test the new B16B16 - macros. - * gcc.target/aarch64/sve/fmad_1.c: Test bfloat16 too. - * gcc.target/aarch64/sve/fmla_1.c: Likewise. - * gcc.target/aarch64/sve/fmls_1.c: Likewise. - * gcc.target/aarch64/sve/fmsb_1.c: Likewise. - * gcc.target/aarch64/sve/cond_mla_9.c: New test. - * gcc.target/aarch64/sme2/acle-asm/clamp_bf16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/clamp_bf16_x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/max_bf16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/max_bf16_x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/maxnm_bf16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/maxnm_bf16_x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/min_bf16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/min_bf16_x4.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/minnm_bf16_x2.c: Likewise. - * gcc.target/aarch64/sme2/acle-asm/minnm_bf16_x4.c: Likewise. - * gcc.target/aarch64/sve/bf16_arith_1.c: Likewise. - * gcc.target/aarch64/sve/bf16_arith_1.h: Likewise. - * gcc.target/aarch64/sve/bf16_arith_2.c: Likewise. - * gcc.target/aarch64/sve/bf16_arith_3.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/add_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/max_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxnm_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/min_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minnm_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mla_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mla_lane_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mls_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mls_lane_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mul_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/mul_lane_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sub_bf16.c: Likewise. - -2024-11-20 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/maxloc_8.f90: New test. - * gfortran.dg/minloc_9.f90: New test. - -2024-11-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/pr117232-1.c (scan-assembler-times): Allow for - cmovl.nc etc. - * gcc.target/i386/pr117232-apx-1.c: Likewise. - -2024-11-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s16.c: Remove - the unnecessary option and refine the rtl IFN dump check. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u8.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u8.c: Ditto. - -2024-11-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Add the vector sat folder to - the rvv.exp testsuite. - -2024-11-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-18.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-19.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-20.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-17.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-22.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-23.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-24.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-21.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-26.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-27.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-28.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-25.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-30.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-31.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-32.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-29.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-16.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-2.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-3.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-4.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-1.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-6.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-7.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-8.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-5.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-10.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-11.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-12.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u64.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-9.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-14.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u16.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-15.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u32.c: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-13.c: Move to... - * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u8.c: ...here. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_arith.h: New test. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_binary_vvv_run.h: New test. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_binary_vvx_run.h: New test. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_binary_vx_run.h: New test. - * gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h: New test. - -2024-11-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117574 - * gcc.dg/torture/pr117574-1.c: New testcase. - -2024-11-20 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/abs_bf_1.c: New test. - * gcc.target/aarch64/neg_bf_1.c: Likewise. - * gcc.target/aarch64/neg_bf_2.c: Likewise. - -2024-11-20 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/arm/mve/dlstp-loop-form.c: Add loop that triggered ICE. - -2024-11-20 Mikael Morin <mikael@gcc.gnu.org> - - * gfortran.dg/minmaxloc_22.f90: New test. - -2024-11-20 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/pure-code/no-literal-pool-m0.c: Only check for - absence of literal pools. - -2024-11-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Remove - unnecessary optimization option and xfail O2/O3 diff IFN times - from the rtl expand dump. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto. - -2024-11-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization options. - -2024-11-20 yulong <shiyulong@iscas.ac.cn> - - * gcc.target/riscv/predef-sf-3.c: New test. - * gcc.target/riscv/predef-sf-4.c: New test. - * gcc.target/riscv/predef-sf-5.c: New test. - -2024-11-20 Jeff Law <jlaw@ventanamicro.com> - - PR target/117649 - * gcc.target/riscv/branch-1.c: Update expected output. - * gcc.target/riscv/pr117649.c: New test. - -2024-11-20 Joseph Myers <josmyers@redhat.com> - - PR c/115515 - * gcc.dg/c23-constexpr-10.c, gcc.dg/gnu23-constexpr-2.c: New - tests. - -2024-11-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_s_sub-1-i16.c: Remove flto - dg-skip workaround and -O3 option. - * gcc.target/riscv/sat/sat_s_sub-1-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-1-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-1-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-2-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-2-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-2-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-2-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-3-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-3-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-3-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-3-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-4-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-4-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-4-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_sub-4-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c: Ditto. - -2024-11-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_s_sub-1-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-1-i16.c: ...here. - * gcc.target/riscv/sat_s_sub-1-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-1-i32.c: ...here. - * gcc.target/riscv/sat_s_sub-1-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-1-i64.c: ...here. - * gcc.target/riscv/sat_s_sub-1-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-1-i8.c: ...here. - * gcc.target/riscv/sat_s_sub-2-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-2-i16.c: ...here. - * gcc.target/riscv/sat_s_sub-2-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-2-i32.c: ...here. - * gcc.target/riscv/sat_s_sub-2-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-2-i64.c: ...here. - * gcc.target/riscv/sat_s_sub-2-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-2-i8.c: ...here. - * gcc.target/riscv/sat_s_sub-3-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-3-i16.c: ...here. - * gcc.target/riscv/sat_s_sub-3-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-3-i32.c: ...here. - * gcc.target/riscv/sat_s_sub-3-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-3-i64.c: ...here. - * gcc.target/riscv/sat_s_sub-3-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-3-i8.c: ...here. - * gcc.target/riscv/sat_s_sub-4-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-4-i16.c: ...here. - * gcc.target/riscv/sat_s_sub-4-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-4-i32.c: ...here. - * gcc.target/riscv/sat_s_sub-4-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-4-i64.c: ...here. - * gcc.target/riscv/sat_s_sub-4-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-4-i8.c: ...here. - * gcc.target/riscv/sat_s_sub-run-1-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-1-i16.c: ...here. - * gcc.target/riscv/sat_s_sub-run-1-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-1-i32.c: ...here. - * gcc.target/riscv/sat_s_sub-run-1-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-1-i64.c: ...here. - * gcc.target/riscv/sat_s_sub-run-1-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-1-i8.c: ...here. - * gcc.target/riscv/sat_s_sub-run-2-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-2-i16.c: ...here. - * gcc.target/riscv/sat_s_sub-run-2-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-2-i32.c: ...here. - * gcc.target/riscv/sat_s_sub-run-2-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-2-i64.c: ...here. - * gcc.target/riscv/sat_s_sub-run-2-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-2-i8.c: ...here. - * gcc.target/riscv/sat_s_sub-run-3-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-3-i16.c: ...here. - * gcc.target/riscv/sat_s_sub-run-3-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-3-i32.c: ...here. - * gcc.target/riscv/sat_s_sub-run-3-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-3-i64.c: ...here. - * gcc.target/riscv/sat_s_sub-run-3-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-3-i8.c: ...here. - * gcc.target/riscv/sat_s_sub-run-4-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-4-i16.c: ...here. - * gcc.target/riscv/sat_s_sub-run-4-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-4-i32.c: ...here. - * gcc.target/riscv/sat_s_sub-run-4-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-4-i64.c: ...here. - * gcc.target/riscv/sat_s_sub-run-4-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_sub-run-4-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-1-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-1-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-2-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-2-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-3-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-3-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-4-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-4-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-5-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-5-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-6-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-6-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-7-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-7-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-8-i16-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-8-i16-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i8.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i16.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i32.c: ...here. - * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i8.c: ...here. - * gcc.target/riscv/sat_arith.h: Removed. - * gcc.target/riscv/sat_arith_data.h: Removed. - -2024-11-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/minmaxloc_21.f90: New test. - -2024-11-19 Joseph Myers <josmyers@redhat.com> - - PR c/114869 - * gcc.dg/c23-nullptr-5.c: Use typeof (nullptr) not nullptr_t. - * gcc.dg/c11-nullptr-2.c, gcc.dg/c11-nullptr-3.c, - gcc.dg/c23-nullptr-7.c: New tests - -2024-11-19 Jakub Jelinek <jakub@redhat.com> - - PR c/117641 - * gcc.dg/bitint-115.c: New test. - -2024-11-19 Jakub Jelinek <jakub@redhat.com> - - PR c/117456 - * gcc.dg/builtin-stdc-rotate-4.c: New test. - -2024-11-19 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - PR testsuite/116488 - PR testsuite/116915 - * gcc.dg/torture/pr116488.c: Require int32plus. - * gcc.dg/torture/pr116915.c: Require int32plus. - -2024-11-19 Martin Uecker <uecker@tugraz.at> - - PR c/117490 - * gcc.dg/gnu23-tag-alias-4.c: Adapt test. - * gcc.dg/gnu23-tag-alias-7.c: Adapt test. - * gcc.dg/guality/zero-length-array.c: Restrict to c17. - * gcc.dg/pr117490.c: New test. - -2024-11-19 Edwin Lu <ewlu@rivosinc.com> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-3.c: Update - function definition. - -2024-11-19 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/test-shift.h: New file. - * gcc.target/avr/torture/shift-l-u32.c: New test. - * gcc.target/avr/torture/shift-r-u32.c: New test. - * gcc.target/avr/torture/shift-r-i32.c: New test. - * gcc.target/avr/torture/shift-l-u24.c: New test. - * gcc.target/avr/torture/shift-r-u24.c: New test. - * gcc.target/avr/torture/shift-r-i24.c: New test. - * gcc.target/avr/torture/shift-l-u16.c: New test. - * gcc.target/avr/torture/shift-r-u16.c: New test. - * gcc.target/avr/torture/shift-r-i16.c: New test. - * gcc.target/avr/torture/shift-l-u8.c: New test. - * gcc.target/avr/torture/shift-r-u8.c: New test. - * gcc.target/avr/torture/shift-r-i8.c: New test. - -2024-11-19 Andreas Schwab <schwab@suse.de> - - * gcc.target/m68k/20100512-1.c (doTest1, doTest2): Add asm that - references foo. - -2024-11-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/maxloc_bounds_8.f90: Accept the error message - generated by the scalarizer in case the MAXLOC intrinsic call is - implemented through inline code. - * gfortran.dg/minmaxloc_20.f90: New test. - -2024-11-19 Jason Merrill <jason@redhat.com> - - * g++.dg/warn/deprecated-21.C: New test. - * g++.dg/modules/warn-spec-2_a.C: New test. - * g++.dg/modules/warn-spec-2_b.C: New test. - -2024-11-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/maxloc_bounds_1.f90: Also accept the error message - generated by the scalarizer in case the function call is implemented - through inline code. - * gfortran.dg/maxloc_bounds_2.f90: Likewise. - * gfortran.dg/maxloc_bounds_3.f90: Likewise. - * gfortran.dg/minmaxloc_19.f90: New test. - -2024-11-19 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/ieee/maxloc_nan_2.f90: New test. - * gfortran.dg/ieee/minloc_nan_2.f90: New test. - * gfortran.dg/maxloc_with_dim_1.f90: New test. - * gfortran.dg/maxloc_with_dim_and_mask_1.f90: New test. - * gfortran.dg/minloc_with_dim_1.f90: New test. - * gfortran.dg/minloc_with_dim_and_mask_1.f90: New test. - -2024-11-19 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/vls/merge-1.c: Check for vlm and - no vmsleu etc. - * gcc.target/riscv/rvv/autovec/vls/merge-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/merge-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/merge-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/merge-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/merge-6.c: Ditto. - -2024-11-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117458 - * gcc.dg/bitint-116.c: New test. - -2024-11-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117459 - * gcc.dg/torture/bitint-74.c: New test. - -2024-11-19 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117571 - * gcc.dg/bitint-114.c: New test. - -2024-11-19 Andreas Schwab <schwab@suse.de> - - * gcc.target/m68k/crash1.c (seq_printf): Add prototype. - * gcc.target/m68k/pr63347.c (oof): Add missing parameter. - -2024-11-19 Soumya AR <soumyaa@nvidia.com> - - * gcc.dg/tree-ssa/pow-to-ldexp.c: Require c99_runtime. - -2024-11-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_u_trunc-1-u16.c: Remove flto - dg-skip workaround and -O3 option. - * gcc.target/riscv/sat/sat_u_trunc-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-4-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-5-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-5-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-5-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-5-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-6-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-6-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-6-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_trunc-6-u8.c: Ditto. - * gcc.target/riscv/sat/scalar_sat_unary.h: New test. - -2024-11-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_u_trunc-2.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-1-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-3.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-1-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-4.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-1-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-1.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-1-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-6.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-2-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-7.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-2-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-8.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-2-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-5.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-2-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-10.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-3-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-11.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-3-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-12.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-3-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-9.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-3-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-14.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-4-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-15.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-4-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-16.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-4-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-13.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-4-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-18.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-5-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-19.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-5-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-20.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-5-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-17.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-5-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-22.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-6-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-23.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-6-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-24.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-6-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-21.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-6-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-2.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-1-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-3.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-1-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-4.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-1-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-1.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-1-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-6.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-2-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-7.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-2-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-8.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-2-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-5.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-2-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-10.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-3-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-11.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-3-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-12.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-3-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-9.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-3-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-14.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-4-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-15.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-4-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-16.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-4-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-13.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-4-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-18.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-5-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-19.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-5-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-20.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-5-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-17.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-5-u8.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-22.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-6-u16.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-23.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-6-u32.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-24.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-6-u64.c: ...here. - * gcc.target/riscv/sat_u_trunc-run-21.c: Move to... - * gcc.target/riscv/sat/sat_u_trunc-run-6-u8.c: ...here. - -2024-11-18 Joseph Myers <josmyers@redhat.com> - - PR c/112556 - * gcc.dg/c11-null-pointer-constant-1.c, - gcc.dg/c23-null-pointer-constant-1.c: New tests. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - PR other/96032 - * lib/gcc-dg.exp (gcc-dg-test-1): Add "replay-sarif". - * lib/sarif-replay-dg.exp: New file. - * lib/sarif-replay.exp: New file. - * sarif-replay.dg/2.1.0-invalid/3.1-not-an-object.sarif: New test. - * sarif-replay.dg/2.1.0-invalid/3.11.11-malformed-placeholder.sarif: - New test. - * sarif-replay.dg/2.1.0-invalid/3.11.11-missing-arguments-for-placeholders.sarif: - New test. - * sarif-replay.dg/2.1.0-invalid/3.11.11-not-enough-arguments-for-placeholders.sarif: - New test. - * sarif-replay.dg/2.1.0-invalid/3.13.2-no-version.sarif: New test. - * sarif-replay.dg/2.1.0-invalid/3.13.2-version-not-a-string.sarif: - New test. - * sarif-replay.dg/2.1.0-invalid/3.13.4-bad-runs.sarif: New test. - * sarif-replay.dg/2.1.0-invalid/3.13.4-no-runs.sarif: New test. - * sarif-replay.dg/2.1.0-invalid/3.13.4-non-object-in-runs.sarif: - New test. - * sarif-replay.dg/2.1.0-invalid/3.27.10-bad-level.sarif: New test. - * sarif-replay.dg/2.1.0-unhandled/3.27.10-none-level.sarif: New test. - * sarif-replay.dg/2.1.0-valid/error-with-note.sarif: New test. - * sarif-replay.dg/2.1.0-valid/escaped-braces.sarif: New test. - * sarif-replay.dg/2.1.0-valid/null-runs.sarif: New test. - * sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: New test. - * sarif-replay.dg/2.1.0-valid/spec-example-1.sarif: New test. - * sarif-replay.dg/2.1.0-valid/spec-example-2.sarif: New test. - * sarif-replay.dg/2.1.0-valid/spec-example-3.sarif: New test. - * sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: New test. - * sarif-replay.dg/2.1.0-valid/tutorial-example.sarif: New test. - * sarif-replay.dg/dg.exp: New script. - * sarif-replay.dg/malformed-json/array-missing-comma.sarif: New test. - * sarif-replay.dg/malformed-json/array-with-trailing-comma.sarif: - New test. - * sarif-replay.dg/malformed-json/bad-token.sarif: New test. - * sarif-replay.dg/malformed-json/object-missing-comma.sarif: New test. - * sarif-replay.dg/malformed-json/object-with-trailing-comma.sarif: - New test. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - * libdiagnostics.dg/libdiagnostics.exp: New, adapted from jit.exp. - * libdiagnostics.dg/sarif.py: New. - * libdiagnostics.dg/test-dump.c: New test. - * libdiagnostics.dg/test-error-c.py: New test. - * libdiagnostics.dg/test-error-with-note-c.py: New test. - * libdiagnostics.dg/test-error-with-note.c: New test. - * libdiagnostics.dg/test-error-with-note.cc: New test. - * libdiagnostics.dg/test-error.c: New test. - * libdiagnostics.dg/test-error.cc: New test. - * libdiagnostics.dg/test-example-1.c: New test. - * libdiagnostics.dg/test-fix-it-hint-c.py: New test. - * libdiagnostics.dg/test-fix-it-hint.c: New test. - * libdiagnostics.dg/test-fix-it-hint.cc: New test. - * libdiagnostics.dg/test-helpers++.h: New test. - * libdiagnostics.dg/test-helpers.h: New test. - * libdiagnostics.dg/test-labelled-ranges.c: New test. - * libdiagnostics.dg/test-labelled-ranges.cc: New test. - * libdiagnostics.dg/test-labelled-ranges.py: New test. - * libdiagnostics.dg/test-logical-location-c.py: New test. - * libdiagnostics.dg/test-logical-location.c: New test. - * libdiagnostics.dg/test-metadata-c.py: New test. - * libdiagnostics.dg/test-metadata.c: New test. - * libdiagnostics.dg/test-multiple-lines-c.py: New test. - * libdiagnostics.dg/test-multiple-lines.c: New test. - * libdiagnostics.dg/test-no-column-c.py: New test. - * libdiagnostics.dg/test-no-column.c: New test. - * libdiagnostics.dg/test-no-diagnostics-c.py: New test. - * libdiagnostics.dg/test-no-diagnostics.c: New test. - * libdiagnostics.dg/test-note-with-fix-it-hint-c.py: New test. - * libdiagnostics.dg/test-note-with-fix-it-hint.c: New test. - * libdiagnostics.dg/test-text-sink-options.c: New test. - * libdiagnostics.dg/test-warning-c.py: New test. - * libdiagnostics.dg/test-warning-with-path-c.py: New test. - * libdiagnostics.dg/test-warning-with-path.c: New test. - * libdiagnostics.dg/test-warning.c: New test. - * libdiagnostics.dg/test-write-sarif-to-file-c.py: New test. - * libdiagnostics.dg/test-write-sarif-to-file.c: New test. - * libdiagnostics.dg/test-write-text-to-file.c: New test. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - * lib/dg-test-cleanup.exp: New file, from material moved from - lib/gcc-dg.exp. - * lib/gcc-dg.exp: Add load_lib of dg-test-cleanup.exp. - (cleanup-after-saved-dg-test): Move to lib/dg-test-cleanup.exp. - (dg-test): Likewise for override. - (initialize_prune_notes): Likewise. - -2024-11-18 Uros Bizjak <ubizjak@gmail.com> - - PR target/117357 - * gcc.target/i386/pr117357.c: New test. - -2024-11-18 Martin Uecker <uecker@tugraz.at> - - PR testsuite/117419 - * gcc.dg/enum-alias-1.c: Add __INT_MAX__. - * gcc.dg/enum-alias-2.c: Likewise. - * gcc.dg/enum-alias-3.c: Likewise. - -2024-11-18 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/early_ra_1.c: New test. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - PR other/116253 - * gcc.dg/plugin/diagnostic-test-nesting-sarif.c: New test. - * gcc.dg/plugin/diagnostic-test-nesting-sarif.py: New test. - * gcc.dg/plugin/diagnostic-test-nesting-text-indented-show-levels.c: - New test. - * gcc.dg/plugin/diagnostic-test-nesting-text-indented-unicode.c: - New test. - * gcc.dg/plugin/diagnostic-test-nesting-text-indented.c: New test. - * gcc.dg/plugin/diagnostic-test-nesting-text-plain.c: New test. - * gcc.dg/plugin/diagnostic_plugin_test_nesting.c: New test plugin. - * gcc.dg/plugin/plugin.exp: Add the above. - -2024-11-18 Georg-Johann Lay <avr@gjlay.de> - - PR target/84211 - * gcc.target/avr/torture/test-gprs.h: New file. - * gcc.target/avr/torture/pr84211-fuse-move-1.c: New test. - * gcc.target/avr/torture/pr84211-fuse-move-2.c: New test. - -2024-11-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/53357 - * gfortran.dg/auto_char_len_4.f90: Adjust patterns. - * gfortran.dg/typebound_override_1.f90: Likewise. - * gfortran.dg/bounds_check_strlen_10.f90: New test. - -2024-11-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117594 - * gcc.dg/vect/pr117594.c: New testcase. - -2024-11-18 Jeff Law <jlaw@ventanamicro.com> - - PR target/117595 - * gcc.target/riscv/pr117595.c: New test. - -2024-11-18 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/117660 - * gm2/iso/fail/arraymismatch.mod: New test. - -2024-11-18 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/117371 - * gm2/iso/fail/forloopbyzero.mod: New test. - -2024-11-18 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/117093 - * gcc.dg/tree-ssa/pr117093.c: Move to gcc.target/aarch64. - * gcc.target/aarch64/pr117093.c: New test. - -2024-11-18 Robin Dapp <rdapp@ventanamicro.com> - - PR middle-end/115336 - PR middle-end/116059 - * gcc.target/riscv/rvv/autovec/pr115336.c: New test. - * gcc.target/riscv/rvv/autovec/pr116059.c: New test. - -2024-11-18 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117646 - * gcc.dg/torture/minmaxneeqptr-1.c: New test. - -2024-11-18 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/dep-4.H: New test. - -2024-11-18 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/117494 - * gcc.dg/vect/pr101145inf.c: Remove dg-do and replace - with dg-require-effective-target of signal. - * gcc.dg/vect/pr101145inf_1.c: Likewise. - * gcc.dg/vect/pr101145inf.inc: Rename main to main1 - and mark as noinline. - Include tree-vect.h. Have main call check_vect and main1. - -2024-11-18 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/ext-dce-1.c: New test. - -2024-11-17 Florian Weimer <fweimer@redhat.com> - - PR c/95445 - * gcc.dg/Wdeprecated-non-prototype-1.c: New test. - * gcc.dg/Wdeprecated-non-prototype-2.c: New test. - * gcc.dg/Wdeprecated-non-prototype-3.c: New test. - * gcc.dg/Wdeprecated-non-prototype-4.c: New test. - -2024-11-17 Jan Hubicka <hubicka@ucw.cz> - - PR tree-optimization/109442 - * g++.dg/tree-ssa/pr109442.C: New test. - -2024-11-16 Jan Hubicka <hubicka@ucw.cz> - - * g++.dg/tree-ssa/pr109442.C: New file. - -2024-11-16 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115275 - * g++.dg/tree-ssa/pr115275.C: New test. - * gcc.dg/tree-ssa/max_eqne-1.c: New test. - * gcc.dg/tree-ssa/max_eqne-2.c: New test. - -2024-11-16 Eikansh Gupta <quic_eikagupt@quicinc.com> - - PR tree-optimization/109401 - * gcc.dg/tree-ssa/pr109401.c: New test. - * gcc.dg/tree-ssa/pr109401-1.c: New test. - -2024-11-16 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/cmo-32.c: Pass in -std=gnu17. - * gcc.target/riscv/cmo-64.c: Likewise. - * gcc.target/riscv/pr98777.c: Likewise. - * gcc.target/riscv/rvv/vsetvl/pr115214.c: Likewise. - * gcc.target/riscv/rvv/autovec/pr113469.c: Likewise. - * gcc.target/riscv/rvv/autovec/pr111391-1.c: Fix prototype for c23. - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Likewise. - * gcc.target/riscv/sum-of-two-s12-const-2.c: Likewise. - * gcc.target/riscv/target-attr-01.c: Likewise. - * gcc.target/riscv/target-attr-02.c: Likewise. - * gcc.target/riscv/target-attr-03.c: Likewise. - * gcc.target/riscv/target-attr-04.c: Likewise. - * gcc.target/riscv/target-attr-05.c: Likewise. - * gcc.target/riscv/target-attr-06.c: Likewise. - * gcc.target/riscv/target-attr-07.c: Likewise. - * gcc.target/riscv/target-attr-08.c: Likewise. - * gcc.target/riscv/target-attr-09.c: Likewise. - * gcc.target/riscv/target-attr-10.c: Likewise. - * gcc.target/riscv/target-attr-11.c: Likewise. - * gcc.target/riscv/target-attr-12.c: Likewise. - * gcc.target/riscv/target-attr-13.c: Likewise. - * gcc.target/riscv/target-attr-14.c: Likewise. - * gcc.target/riscv/target-attr-15.c: Likewise. - * gcc.target/riscv/target-attr-bad-01.c: Likewise. - * gcc.target/riscv/target-attr-bad-02.c: Likewise. - * gcc.target/riscv/target-attr-bad-03.c: Likewise. - * gcc.target/riscv/target-attr-bad-04.c: Likewise. - * gcc.target/riscv/target-attr-bad-05.c: Likewise. - * gcc.target/riscv/target-attr-bad-06.c: Likewise. - * gcc.target/riscv/target-attr-bad-07.c: Likewise. - * gcc.target/riscv/target-attr-bad-08.c: Likewise. - * gcc.target/riscv/target-attr-bad-09.c: Likewise. - * gcc.target/riscv/target-attr-bad-10.c: Likewise. - -2024-11-16 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/arc/add_n-combine.c: Pass in -std=gnu17. - -2024-11-16 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/109066 - * gfortran.dg/defined_assignment_12.f90: New test. - -2024-11-16 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/sh/pr51244-15.c: Use "mybool" rather than "bool". - * gcc.target/sh/pr52933-1.c: Similarly. - * gcc.target/sh/pr54089-1.c: Similarly. - * gcc.target/sh/pr54089-7.c: Similarly. - * gcc.target/sh/pr54089-8.c: Similarly. - * gcc.target/sh/pr54089-9.c: Similarly. - * gcc.target/sh/pr64366.c: Use -std=gnu17. - -2024-11-16 Jeff Law <jlaw@ventanamicro.com> - - * lib/wrapper.exp (${tool}_maybe_build_wrapper): Pass -std=gnu17 flag - to build testglue wrapper. - -2024-11-16 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/pr64366.c (foobar): Provide full function - delaration. - -2024-11-16 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_42.f90: New test. - -2024-11-16 Jan Hubicka <hubicka@ucw.cz> - - * gcc.dg/ipa/fnsummary-1.c: New test. - -2024-11-16 Jason Merrill <jason@redhat.com> - - * g++.dg/template/error25.C: Adjust export diagnostic. - * g++.old-deja/g++.benjamin/tem05.C: Likewise. - * g++.old-deja/g++.pt/export1.C: Likewise. - * g++.dg/pch/pch.exp: Specify -fno-modules. - -2024-11-16 Martin Uecker <uecker@tugraz.at> - - PR c/117548 - * gcc.dg/pr117548.c: New test. - -2024-11-16 Sam James <sam@gentoo.org> - - * gcc.target/i386/pr66891.c: Pass -std=gnu17. - -2024-11-16 Sam James <sam@gentoo.org> - - * gcc.dg/graphite/id-15.c: Pass -Wno-old-style-definition. - * gcc.dg/graphite/pr38413.c: Ditto. - * gcc.dg/graphite/pr38510.c: Ditto. - -2024-11-16 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_u_sub-1-u16.c: Remove flto dg-skip - workaround and -O3 option. - * gcc.target/riscv/sat/sat_u_sub-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-10-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-10-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-10-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-10-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-11-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-11-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-11-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-11-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-12-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-12-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-12-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-12-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-4-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-5-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-5-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-5-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-5-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-6-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-6-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-6-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-6-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-7-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-7-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-7-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-7-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-8-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-8-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-8-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-8-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-9-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-9-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-9-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub-9-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u64-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8.c: Ditto. - -2024-11-15 Joseph Myers <josmyers@redhat.com> - - * c-c++-common/analyzer/asm-x86-dyndbg-2.c, - c-c++-common/analyzer/asm-x86-lp64-2.c, - c-c++-common/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c, - c-c++-common/analyzer/coreutils-cksum-pr108664.c, - c-c++-common/analyzer/feasibility-3.c, - c-c++-common/analyzer/pr105783.c, c-c++-common/analyzer/sock-1.c, - c-c++-common/attributes-4.c, gcc.dg/Warray-bounds-78.c, - gcc.dg/analyzer/asm-x86-dyndbg-1.c: Do not define bool, true or - false. - * gcc.dg/debug/ctf/ctf-function-pointers-2.c: Use -std-gnu17. - * gcc.dg/gnu23-version-2.c: New test. - * gcc.dg/simulate-thread/atomic-load-int.c, - gcc.dg/simulate-thread/atomic-load-longlong.c, - gcc.dg/simulate-thread/atomic-load-short.c: Add more noinline - attributes. - * gcc.dg/torture/pr117496-1.c: Use -std=gnu17. - -2024-11-15 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/117371 - * gm2/iso/fail/forloopbyvar.mod: New test. - * gm2/iso/fail/forloopbyvar4.mod: New test. - * gm2/iso/fail/forloopbyvar5.mod: New test. - * gm2/iso/pass/forloopbyvar3.mod: New test. - -2024-11-15 Jennifer Schmitz <jschmitz@nvidia.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/117093 - * gcc.dg/tree-ssa/pr117093.c: New test. - -2024-11-15 Joseph Myers <josmyers@redhat.com> - - PR c/117164 - * gcc.dg/nested-func-13.c, gcc.dg/nested-func-14.c: - gcc.dg/nested-func-15.c, gcc.dg/nested-func-16.c, - gcc.dg/nested-func-17.c: New tests. - * gcc.dg/nested-func-15.c: New file. - * gcc.dg/nested-func-16.c: New file. - * gcc.dg/nested-func-17.c: New file. - -2024-11-15 Christophe Lyon <christophe.lyon@linaro.org> - - PR testsuite/116080 - * lib/target-supports.exp (check_effective_target_tail_call): - Remove foo's body. - (check_effective_target_musttail): Likewise. - -2024-11-15 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_u_sub-2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-1-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-1-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-4.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-1-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-1-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-38.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-10-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-39.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-10-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-40.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-10-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-37.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-10-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-42.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-11-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-43.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-11-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-44.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-11-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-41.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-11-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-46.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-12-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-47.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-12-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-48.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-12-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-45.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-12-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-6.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-2-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-7.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-2-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-8.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-2-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-5.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-2-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-10.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-3-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-11.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-3-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-12.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-3-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-9.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-3-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-14.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-4-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-15.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-4-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-16.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-4-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-13.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-4-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-18.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-5-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-19.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-5-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-20.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-5-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-17.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-5-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-22.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-6-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-23.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-6-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-24.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-6-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-21.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-6-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-26.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-7-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-27.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-7-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-28.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-7-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-25.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-7-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-30.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-8-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-31.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-8-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-32.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-8-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-29.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-8-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-34.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-9-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-35.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-9-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-36.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-9-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-33.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-9-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-1-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-1-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-4.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-1-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-1-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-38.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-10-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-39.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-10-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-40.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-10-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-37.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-10-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-42.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-11-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-43.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-11-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-44.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-11-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-41.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-11-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-46.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-12-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-47.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-12-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-48.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-12-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-45.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-12-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-6.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-2-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-7.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-2-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-8.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-2-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-5.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-2-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-10.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-3-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-11.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-3-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-12.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-3-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-9.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-3-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-14.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-4-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-15.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-4-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-16.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-4-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-13.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-4-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-18.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-5-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-19.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-5-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-20.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-5-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-17.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-5-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-22.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-6-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-23.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-6-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-24.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-6-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-21.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-6-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-26.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-7-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-27.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-7-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-28.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-7-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-25.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-7-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-30.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-8-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-31.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-8-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-32.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-8-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-29.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-8-u8.c: ...here. - * gcc.target/riscv/sat_u_sub-run-34.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-9-u16.c: ...here. - * gcc.target/riscv/sat_u_sub-run-35.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-9-u32.c: ...here. - * gcc.target/riscv/sat_u_sub-run-36.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-9-u64.c: ...here. - * gcc.target/riscv/sat_u_sub-run-33.c: Move to... - * gcc.target/riscv/sat/sat_u_sub-run-9-u8.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-2_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-2_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-2_3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-3.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-2_4.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-4.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u16.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-3_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-3_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-3_3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-3.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-3_4.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-4.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u32.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-4_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-4_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-4.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u64.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-1_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-1_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-1_3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-3.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-1_4.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-4.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-1-u8.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-6_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-6_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-6_3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-3.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-6.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u16.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-15_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-15_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-7_3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-3.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-7.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u32.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-8_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u64-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-16.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u64.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-5_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-5_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-5_3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-3.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-5.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-2-u8.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-10_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-10_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-10.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u16.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-11_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-11_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-11.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u32.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-12.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u64.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-9_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-9_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-9.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-3-u8.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-14_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-14_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-14.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u16.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-7_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-7_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-15.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u32.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-8.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u64.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-13_1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-1.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-13_2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-2.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-13.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-4-u8.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-2.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-1-u16.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-3.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-1-u32.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-4.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-1-u64.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-1.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-1-u8.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-6.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-2-u16.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-7.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-2-u32.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-8.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-2-u64.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-5.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-2-u8.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-10.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-3-u16.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-11.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-3-u32.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-12.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-3-u64.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-9.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-3-u8.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-14.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-4-u16.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-15.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-4-u32.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-16.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-4-u64.c: ...here. - * gcc.target/riscv/sat_u_sub_imm-run-13.c: Move to... - * gcc.target/riscv/sat/sat_u_sub_imm-run-4-u8.c: ...here. - -2024-11-15 Florian Weimer <fweimer@redhat.com> - - * gcc.dg/Wmissing-parameter-name-1.c: New test. - * gcc.dg/Wmissing-parameter-name-2.c: New test. - * gcc.dg/Wmissing-parameter-name-3.c: New test. - -2024-11-15 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat/sat_s_add-1-i16.c: Remove flto - dg-skip workaround and -O3 option. - * gcc.target/riscv/sat/sat_s_add-1-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-1-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-1-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-2-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-2-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-2-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-2-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-3-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-3-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-3-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-3-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-4-i16.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-4-i32.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-4-i64.c: Ditto. - * gcc.target/riscv/sat/sat_s_add-4-i8.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-1-1.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-1.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-2-1.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-2.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-3-1.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-3.c: Ditto. - * gcc.target/riscv/sat/sat_s_add_imm-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-1-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-4-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-5-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-5-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-5-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-5-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-6-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-6-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-6-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add-6-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-1-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-1-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-1-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-1-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-2-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-2-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-2-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-2-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-3-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-3-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-3-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-3-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-4-u16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-4-u32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-4-u64.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm-4-u8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-1.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-10.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-11.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-12.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-13.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-14.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-15.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-16.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-17.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-18.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-19.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-2.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-20.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-21.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-22.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-23.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-24.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-25.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-26.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-27.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-28.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-29.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-3.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-30.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-31.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-32.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-33.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-34.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-35.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-36.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-37.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-38.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-39.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-4.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-40.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-41.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-42.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-43.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-44.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-45.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-46.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-47.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-48.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-49.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-5.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-50.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-51.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-52.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-53.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-54.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-55.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-56.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-57.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-58.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-59.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-6.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-60.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-7.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-8.c: Ditto. - * gcc.target/riscv/sat/sat_u_add_imm_type_check-9.c: Ditto. - -2024-11-15 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/tree-ssa/pr116868.C: Change effective target from c++14 to - c++11. - * g++.dg/tree-ssa/pr96945.C: Likewise. - * g++.dg/tree-ssa/pr110819.C: Likewise. - -2024-11-15 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/dfp/c11-decimal64x-1.c: New test. - * gcc.dg/dfp/c11-decimal64x-2.c: New test. - * gcc.dg/dfp/c23-decimal64x-1.c: New test. - * gcc.dg/dfp/c23-decimal64x-2.c: New test. - * gcc.dg/dfp/c23-decimal64x-3.c: New test. - * gcc.dg/dfp/c23-decimal64x-4.c: New test. - -2024-11-15 Marek Polacek <polacek@redhat.com> - - * g++.dg/tree-ssa/pr58483.C: Run in C++11 and up. - -2024-11-15 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/riscv.exp: Add new folder sat under riscv - and add 5 options for each sat test. - * gcc.target/riscv/sat_s_add-1-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_add-1-i16.c: ...here. - * gcc.target/riscv/sat_s_add-1-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_add-1-i32.c: ...here. - * gcc.target/riscv/sat_s_add-1-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_add-1-i64.c: ...here. - * gcc.target/riscv/sat_s_add-1-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_add-1-i8.c: ...here. - * gcc.target/riscv/sat_s_add-2-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_add-2-i16.c: ...here. - * gcc.target/riscv/sat_s_add-2-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_add-2-i32.c: ...here. - * gcc.target/riscv/sat_s_add-2-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_add-2-i64.c: ...here. - * gcc.target/riscv/sat_s_add-2-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_add-2-i8.c: ...here. - * gcc.target/riscv/sat_s_add-3-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_add-3-i16.c: ...here. - * gcc.target/riscv/sat_s_add-3-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_add-3-i32.c: ...here. - * gcc.target/riscv/sat_s_add-3-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_add-3-i64.c: ...here. - * gcc.target/riscv/sat_s_add-3-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_add-3-i8.c: ...here. - * gcc.target/riscv/sat_s_add-4-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_add-4-i16.c: ...here. - * gcc.target/riscv/sat_s_add-4-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_add-4-i32.c: ...here. - * gcc.target/riscv/sat_s_add-4-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_add-4-i64.c: ...here. - * gcc.target/riscv/sat_s_add-4-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_add-4-i8.c: ...here. - * gcc.target/riscv/sat_s_add-run-1-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-1-i16.c: ...here. - * gcc.target/riscv/sat_s_add-run-1-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-1-i32.c: ...here. - * gcc.target/riscv/sat_s_add-run-1-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-1-i64.c: ...here. - * gcc.target/riscv/sat_s_add-run-1-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-1-i8.c: ...here. - * gcc.target/riscv/sat_s_add-run-2-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-2-i16.c: ...here. - * gcc.target/riscv/sat_s_add-run-2-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-2-i32.c: ...here. - * gcc.target/riscv/sat_s_add-run-2-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-2-i64.c: ...here. - * gcc.target/riscv/sat_s_add-run-2-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-2-i8.c: ...here. - * gcc.target/riscv/sat_s_add-run-3-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-3-i16.c: ...here. - * gcc.target/riscv/sat_s_add-run-3-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-3-i32.c: ...here. - * gcc.target/riscv/sat_s_add-run-3-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-3-i64.c: ...here. - * gcc.target/riscv/sat_s_add-run-3-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-3-i8.c: ...here. - * gcc.target/riscv/sat_s_add-run-4-i16.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-4-i16.c: ...here. - * gcc.target/riscv/sat_s_add-run-4-i32.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-4-i32.c: ...here. - * gcc.target/riscv/sat_s_add-run-4-i64.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-4-i64.c: ...here. - * gcc.target/riscv/sat_s_add-run-4-i8.c: Move to... - * gcc.target/riscv/sat/sat_s_add-run-4-i8.c: ...here. - * gcc.target/riscv/sat_s_add_imm-1-1.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-1-1.c: ...here. - * gcc.target/riscv/sat_s_add_imm-1.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-1.c: ...here. - * gcc.target/riscv/sat_s_add_imm-2-1.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-2-1.c: ...here. - * gcc.target/riscv/sat_s_add_imm-2.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-2.c: ...here. - * gcc.target/riscv/sat_s_add_imm-3-1.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-3-1.c: ...here. - * gcc.target/riscv/sat_s_add_imm-3.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-3.c: ...here. - * gcc.target/riscv/sat_s_add_imm-4.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-4.c: ...here. - * gcc.target/riscv/sat_s_add_imm-run-1.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-run-1.c: ...here. - * gcc.target/riscv/sat_s_add_imm-run-2.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-run-2.c: ...here. - * gcc.target/riscv/sat_s_add_imm-run-3.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-run-3.c: ...here. - * gcc.target/riscv/sat_s_add_imm-run-4.c: Move to... - * gcc.target/riscv/sat/sat_s_add_imm-run-4.c: ...here. - * gcc.target/riscv/sat_u_add-1-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-1-u16.c: ...here. - * gcc.target/riscv/sat_u_add-1-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-1-u32.c: ...here. - * gcc.target/riscv/sat_u_add-1-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-1-u64.c: ...here. - * gcc.target/riscv/sat_u_add-1-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-1-u8.c: ...here. - * gcc.target/riscv/sat_u_add-2-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-2-u16.c: ...here. - * gcc.target/riscv/sat_u_add-2-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-2-u32.c: ...here. - * gcc.target/riscv/sat_u_add-2-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-2-u64.c: ...here. - * gcc.target/riscv/sat_u_add-2-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-2-u8.c: ...here. - * gcc.target/riscv/sat_u_add-3-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-3-u16.c: ...here. - * gcc.target/riscv/sat_u_add-3-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-3-u32.c: ...here. - * gcc.target/riscv/sat_u_add-3-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-3-u64.c: ...here. - * gcc.target/riscv/sat_u_add-3-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-3-u8.c: ...here. - * gcc.target/riscv/sat_u_add-4-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-4-u16.c: ...here. - * gcc.target/riscv/sat_u_add-4-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-4-u32.c: ...here. - * gcc.target/riscv/sat_u_add-4-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-4-u64.c: ...here. - * gcc.target/riscv/sat_u_add-4-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-4-u8.c: ...here. - * gcc.target/riscv/sat_u_add-5-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-5-u16.c: ...here. - * gcc.target/riscv/sat_u_add-5-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-5-u32.c: ...here. - * gcc.target/riscv/sat_u_add-5-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-5-u64.c: ...here. - * gcc.target/riscv/sat_u_add-5-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-5-u8.c: ...here. - * gcc.target/riscv/sat_u_add-6-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-6-u16.c: ...here. - * gcc.target/riscv/sat_u_add-6-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-6-u32.c: ...here. - * gcc.target/riscv/sat_u_add-6-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-6-u64.c: ...here. - * gcc.target/riscv/sat_u_add-6-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-6-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-1-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-1-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-1-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-1-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-1-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-1-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-1-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-1-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-2-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-2-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-2-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-2-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-2-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-2-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-2-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-2-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-3-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-3-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-3-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-3-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-3-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-3-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-3-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-3-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-4-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-4-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-4-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-4-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-4-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-4-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-4-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-4-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-5-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-5-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-5-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-5-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-5-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-5-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-5-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-5-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-6-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-6-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-6-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-6-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-6-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-6-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-6-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add-run-6-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-1-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-1-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-1-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-1-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-1-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-1-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-1-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-1-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-2-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-2-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-2-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-2-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-2-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-2-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-2-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-2-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-3-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-3-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-3-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-3-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-3-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-3-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-3-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-3-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-4-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-4-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-4-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-4-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-4-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-4-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-4-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-4-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-1-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-1-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-1-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-1-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-1-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-1-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-1-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-1-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-2-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-2-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-2-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-2-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-2-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-2-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-2-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-2-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-3-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-3-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-3-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-3-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-3-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-3-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-3-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-3-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-4-u16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-4-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-4-u32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-4-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-4-u64.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-4-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-4-u8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm-run-4-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-1.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-1.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-10.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-10.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-11.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-11.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-12.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-12.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-13.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-13.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-14.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-14.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-15.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-15.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-16.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-16.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-17.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-17.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-18.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-18.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-19.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-19.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-2.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-2.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-20.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-20.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-21.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-21.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-22.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-22.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-23.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-23.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-24.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-24.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-25.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-25.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-26.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-26.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-27.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-27.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-28.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-28.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-29.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-29.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-3.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-3.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-30.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-30.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-31.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-31.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-32.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-32.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-33.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-33.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-34.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-34.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-35.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-35.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-36.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-36.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-37.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-37.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-38.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-38.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-39.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-39.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-4.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-4.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-40.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-40.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-41.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-41.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-42.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-42.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-43.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-43.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-44.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-44.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-45.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-45.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-46.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-46.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-47.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-47.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-48.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-48.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-49.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-49.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-5.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-5.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-50.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-50.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-51.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-51.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-52.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-52.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-53.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-53.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-54.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-54.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-55.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-55.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-56.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-56.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-57.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-57.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-58.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-58.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-59.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-59.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-6.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-6.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-60.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-60.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-7.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-7.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-8.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-8.c: ...here. - * gcc.target/riscv/sat_u_add_imm_type_check-9.c: Move to... - * gcc.target/riscv/sat/sat_u_add_imm_type_check-9.c: ...here. - * gcc.target/riscv/sat/sat_arith.h: New test. - * gcc.target/riscv/sat/sat_arith_data.h: New test. - * gcc.target/riscv/sat/scalar_sat_binary.h: New test. - * gcc.target/riscv/sat/scalar_sat_binary_run_xxx.h: New test. - -2024-11-15 Kewen Lin <linkw@linux.ibm.com> - - * gcc.target/powerpc/vcond-fp.c: New test. - -2024-11-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104819 - * gfortran.dg/null_actual_6.f90: New test. - -2024-11-14 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/namespace-7_a.C: New test. - * g++.dg/modules/namespace-7_b.C: New test. - -2024-11-14 Yury Khrustalev <yury.khrustalev@arm.com> - - * gcc.target/aarch64/gcs-nonlocal-3.c: New test. - * gcc.target/aarch64/sme/nonlocal_goto_4.c: Update. - * gcc.target/aarch64/sme/nonlocal_goto_5.c: Update. - * gcc.target/aarch64/sme/nonlocal_goto_6.c: Update. - -2024-11-14 Matthieu Longo <matthieu.longo@arm.com> - - * g++.target/aarch64/return_address_sign_ab_exception.C: Update. - * gcc.target/aarch64/eh_return.c: Update. - -2024-11-14 Richard Ball <richard.ball@arm.com> - Yury Khrustalev <yury.khrustalev@arm.com> - - * gcc.target/aarch64/indirect_return-1.c: New test. - * gcc.target/aarch64/indirect_return-2.c: New test. - * gcc.target/aarch64/indirect_return-3.c: New test. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add gcs specific - tests. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * gcc.target/aarch64/pragma_cpp_predefs_1.c: GCS test. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * gcc.target/aarch64/gcs-nonlocal-1.c: New test. - * gcc.target/aarch64/gcs-nonlocal-1-track-speculation.c: New test. - * gcc.target/aarch64/gcs-nonlocal-2.c: New test. - * gcc.target/aarch64/gcs-nonlocal-2-track-speculation.c: New test. - * gcc.target/aarch64/gcs-nonlocal-1.h: New header file. - * gcc.target/aarch64/gcs-nonlocal-2.h: New header file. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - Yury Khrustalev <yury.khrustalev@arm.com> - - * gcc.target/aarch64/acle/gcs-1.c: New test. - * gcc.target/aarch64/gcspopm-1.c: New test. - * gcc.target/aarch64/gcspr-1.c: New test. - * gcc.target/aarch64/gcsss-1.c: New test. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - Yury Khrustalev <yury.khrustalev@arm.com> - Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/acle/chkfeat-1.c: New test. - * gcc.target/aarch64/chkfeat-1.c: New test. - * gcc.target/aarch64/chkfeat-2.c: New test. - -2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add branch-protection - tests. - -2024-11-14 Jan Hubicka <hubicka@ucw.cz> - - * g++.dg/tree-ssa/dce-1.C: New test. - -2024-11-14 Jan Hubicka <hubicka@ucw.cz> - - * g++.dg/cdce3.C: Disable allocation dce. - * g++.dg/tree-ssa/pr19476-1.C: Likewise. - * g++.dg/tree-ssa/pr19476-2.C: Likewise. - * g++.dg/tree-ssa/pr19476-3.C: Likewise. - * g++.dg/tree-ssa/pr19476-4.C: Likewise. - * gcc.dg/analyzer/pr101837.c: Disable malloc dce. - * gcc.dg/tree-ssa/pr19831-3.c: Update. - * gfortran.dg/pr68078.f90: Disable malloc DCE. - -2024-11-14 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/ipa/ipcp-agg-1.c: Add a scan dump for a constant value in - the latice dump. - -2024-11-14 Jan Hubicka <hubicka@ucw.cz> - - PR tree-optimization/110819 - PR tree-optimization/116868 - PR tree-optimization/58483 - * g++.dg/tree-ssa/pr96945.C: cleanup - * g++.dg/tree-ssa/pr110819.C: New test. - * g++.dg/tree-ssa/pr116868.C: New test. - * g++.dg/tree-ssa/pr58483.C: New test. - -2024-11-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117567 - * gcc.dg/torture/pr117567.c: New testcase. - -2024-11-14 Eikansh Gupta <quic_eikagupt@quicinc.com> - - PR tree-optimization/109906 - * gcc.dg/tree-ssa/pr109906.c: New test. - -2024-11-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117556 - PR tree-optimization/117553 - * gcc.dg/vect/vect-live-slp-3.c: Expect us to SLP even for - VLA vectors (in single-lane mode). - -2024-11-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_s_add-2.c: Move to... - * gcc.target/riscv/sat_s_add-1-i16.c: ...here. - * gcc.target/riscv/sat_s_add-3.c: Move to... - * gcc.target/riscv/sat_s_add-1-i32.c: ...here. - * gcc.target/riscv/sat_s_add-4.c: Move to... - * gcc.target/riscv/sat_s_add-1-i64.c: ...here. - * gcc.target/riscv/sat_s_add-1.c: Move to... - * gcc.target/riscv/sat_s_add-1-i8.c: ...here. - * gcc.target/riscv/sat_s_add-6.c: Move to... - * gcc.target/riscv/sat_s_add-2-i16.c: ...here. - * gcc.target/riscv/sat_s_add-7.c: Move to... - * gcc.target/riscv/sat_s_add-2-i32.c: ...here. - * gcc.target/riscv/sat_s_add-8.c: Move to... - * gcc.target/riscv/sat_s_add-2-i64.c: ...here. - * gcc.target/riscv/sat_s_add-5.c: Move to... - * gcc.target/riscv/sat_s_add-2-i8.c: ...here. - * gcc.target/riscv/sat_s_add-10.c: Move to... - * gcc.target/riscv/sat_s_add-3-i16.c: ...here. - * gcc.target/riscv/sat_s_add-11.c: Move to... - * gcc.target/riscv/sat_s_add-3-i32.c: ...here. - * gcc.target/riscv/sat_s_add-12.c: Move to... - * gcc.target/riscv/sat_s_add-3-i64.c: ...here. - * gcc.target/riscv/sat_s_add-9.c: Move to... - * gcc.target/riscv/sat_s_add-3-i8.c: ...here. - * gcc.target/riscv/sat_s_add-14.c: Move to... - * gcc.target/riscv/sat_s_add-4-i16.c: ...here. - * gcc.target/riscv/sat_s_add-15.c: Move to... - * gcc.target/riscv/sat_s_add-4-i32.c: ...here. - * gcc.target/riscv/sat_s_add-16.c: Move to... - * gcc.target/riscv/sat_s_add-4-i64.c: ...here. - * gcc.target/riscv/sat_s_add-13.c: Move to... - * gcc.target/riscv/sat_s_add-4-i8.c: ...here. - * gcc.target/riscv/sat_s_add-run-2.c: Move to... - * gcc.target/riscv/sat_s_add-run-1-i16.c: ...here. - * gcc.target/riscv/sat_s_add-run-3.c: Move to... - * gcc.target/riscv/sat_s_add-run-1-i32.c: ...here. - * gcc.target/riscv/sat_s_add-run-4.c: Move to... - * gcc.target/riscv/sat_s_add-run-1-i64.c: ...here. - * gcc.target/riscv/sat_s_add-run-1.c: Move to... - * gcc.target/riscv/sat_s_add-run-1-i8.c: ...here. - * gcc.target/riscv/sat_s_add-run-6.c: Move to... - * gcc.target/riscv/sat_s_add-run-2-i16.c: ...here. - * gcc.target/riscv/sat_s_add-run-7.c: Move to... - * gcc.target/riscv/sat_s_add-run-2-i32.c: ...here. - * gcc.target/riscv/sat_s_add-run-8.c: Move to... - * gcc.target/riscv/sat_s_add-run-2-i64.c: ...here. - * gcc.target/riscv/sat_s_add-run-5.c: Move to... - * gcc.target/riscv/sat_s_add-run-2-i8.c: ...here. - * gcc.target/riscv/sat_s_add-run-10.c: Move to... - * gcc.target/riscv/sat_s_add-run-3-i16.c: ...here. - * gcc.target/riscv/sat_s_add-run-11.c: Move to... - * gcc.target/riscv/sat_s_add-run-3-i32.c: ...here. - * gcc.target/riscv/sat_s_add-run-12.c: Move to... - * gcc.target/riscv/sat_s_add-run-3-i64.c: ...here. - * gcc.target/riscv/sat_s_add-run-9.c: Move to... - * gcc.target/riscv/sat_s_add-run-3-i8.c: ...here. - * gcc.target/riscv/sat_s_add-run-14.c: Move to... - * gcc.target/riscv/sat_s_add-run-4-i16.c: ...here. - * gcc.target/riscv/sat_s_add-run-15.c: Move to... - * gcc.target/riscv/sat_s_add-run-4-i32.c: ...here. - * gcc.target/riscv/sat_s_add-run-16.c: Move to... - * gcc.target/riscv/sat_s_add-run-4-i64.c: ...here. - * gcc.target/riscv/sat_s_add-run-13.c: Move to... - * gcc.target/riscv/sat_s_add-run-4-i8.c: ...here. - * gcc.target/riscv/sat_u_add-2.c: Move to... - * gcc.target/riscv/sat_u_add-1-u16.c: ...here. - * gcc.target/riscv/sat_u_add-3.c: Move to... - * gcc.target/riscv/sat_u_add-1-u32.c: ...here. - * gcc.target/riscv/sat_u_add-4.c: Move to... - * gcc.target/riscv/sat_u_add-1-u64.c: ...here. - * gcc.target/riscv/sat_u_add-1.c: Move to... - * gcc.target/riscv/sat_u_add-1-u8.c: ...here. - * gcc.target/riscv/sat_u_add-6.c: Move to... - * gcc.target/riscv/sat_u_add-2-u16.c: ...here. - * gcc.target/riscv/sat_u_add-7.c: Move to... - * gcc.target/riscv/sat_u_add-2-u32.c: ...here. - * gcc.target/riscv/sat_u_add-8.c: Move to... - * gcc.target/riscv/sat_u_add-2-u64.c: ...here. - * gcc.target/riscv/sat_u_add-5.c: Move to... - * gcc.target/riscv/sat_u_add-2-u8.c: ...here. - * gcc.target/riscv/sat_u_add-10.c: Move to... - * gcc.target/riscv/sat_u_add-3-u16.c: ...here. - * gcc.target/riscv/sat_u_add-11.c: Move to... - * gcc.target/riscv/sat_u_add-3-u32.c: ...here. - * gcc.target/riscv/sat_u_add-12.c: Move to... - * gcc.target/riscv/sat_u_add-3-u64.c: ...here. - * gcc.target/riscv/sat_u_add-9.c: Move to... - * gcc.target/riscv/sat_u_add-3-u8.c: ...here. - * gcc.target/riscv/sat_u_add-14.c: Move to... - * gcc.target/riscv/sat_u_add-4-u16.c: ...here. - * gcc.target/riscv/sat_u_add-15.c: Move to... - * gcc.target/riscv/sat_u_add-4-u32.c: ...here. - * gcc.target/riscv/sat_u_add-16.c: Move to... - * gcc.target/riscv/sat_u_add-4-u64.c: ...here. - * gcc.target/riscv/sat_u_add-13.c: Move to... - * gcc.target/riscv/sat_u_add-4-u8.c: ...here. - * gcc.target/riscv/sat_u_add-18.c: Move to... - * gcc.target/riscv/sat_u_add-5-u16.c: ...here. - * gcc.target/riscv/sat_u_add-19.c: Move to... - * gcc.target/riscv/sat_u_add-5-u32.c: ...here. - * gcc.target/riscv/sat_u_add-20.c: Move to... - * gcc.target/riscv/sat_u_add-5-u64.c: ...here. - * gcc.target/riscv/sat_u_add-17.c: Move to... - * gcc.target/riscv/sat_u_add-5-u8.c: ...here. - * gcc.target/riscv/sat_u_add-22.c: Move to... - * gcc.target/riscv/sat_u_add-6-u16.c: ...here. - * gcc.target/riscv/sat_u_add-23.c: Move to... - * gcc.target/riscv/sat_u_add-6-u32.c: ...here. - * gcc.target/riscv/sat_u_add-24.c: Move to... - * gcc.target/riscv/sat_u_add-6-u64.c: ...here. - * gcc.target/riscv/sat_u_add-21.c: Move to... - * gcc.target/riscv/sat_u_add-6-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-2.c: Move to... - * gcc.target/riscv/sat_u_add-run-1-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-3.c: Move to... - * gcc.target/riscv/sat_u_add-run-1-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-4.c: Move to... - * gcc.target/riscv/sat_u_add-run-1-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-1.c: Move to... - * gcc.target/riscv/sat_u_add-run-1-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-6.c: Move to... - * gcc.target/riscv/sat_u_add-run-2-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-7.c: Move to... - * gcc.target/riscv/sat_u_add-run-2-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-8.c: Move to... - * gcc.target/riscv/sat_u_add-run-2-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-5.c: Move to... - * gcc.target/riscv/sat_u_add-run-2-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-10.c: Move to... - * gcc.target/riscv/sat_u_add-run-3-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-11.c: Move to... - * gcc.target/riscv/sat_u_add-run-3-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-12.c: Move to... - * gcc.target/riscv/sat_u_add-run-3-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-9.c: Move to... - * gcc.target/riscv/sat_u_add-run-3-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-14.c: Move to... - * gcc.target/riscv/sat_u_add-run-4-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-15.c: Move to... - * gcc.target/riscv/sat_u_add-run-4-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-16.c: Move to... - * gcc.target/riscv/sat_u_add-run-4-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-13.c: Move to... - * gcc.target/riscv/sat_u_add-run-4-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-18.c: Move to... - * gcc.target/riscv/sat_u_add-run-5-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-19.c: Move to... - * gcc.target/riscv/sat_u_add-run-5-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-20.c: Move to... - * gcc.target/riscv/sat_u_add-run-5-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-17.c: Move to... - * gcc.target/riscv/sat_u_add-run-5-u8.c: ...here. - * gcc.target/riscv/sat_u_add-run-22.c: Move to... - * gcc.target/riscv/sat_u_add-run-6-u16.c: ...here. - * gcc.target/riscv/sat_u_add-run-23.c: Move to... - * gcc.target/riscv/sat_u_add-run-6-u32.c: ...here. - * gcc.target/riscv/sat_u_add-run-24.c: Move to... - * gcc.target/riscv/sat_u_add-run-6-u64.c: ...here. - * gcc.target/riscv/sat_u_add-run-21.c: Move to... - * gcc.target/riscv/sat_u_add-run-6-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-2.c: Move to... - * gcc.target/riscv/sat_u_add_imm-1-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-3.c: Move to... - * gcc.target/riscv/sat_u_add_imm-1-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-4.c: Move to... - * gcc.target/riscv/sat_u_add_imm-1-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-1.c: Move to... - * gcc.target/riscv/sat_u_add_imm-1-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-6.c: Move to... - * gcc.target/riscv/sat_u_add_imm-2-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-7.c: Move to... - * gcc.target/riscv/sat_u_add_imm-2-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-8.c: Move to... - * gcc.target/riscv/sat_u_add_imm-2-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-5.c: Move to... - * gcc.target/riscv/sat_u_add_imm-2-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-10.c: Move to... - * gcc.target/riscv/sat_u_add_imm-3-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-11.c: Move to... - * gcc.target/riscv/sat_u_add_imm-3-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-12.c: Move to... - * gcc.target/riscv/sat_u_add_imm-3-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-9.c: Move to... - * gcc.target/riscv/sat_u_add_imm-3-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-14.c: Move to... - * gcc.target/riscv/sat_u_add_imm-4-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-15.c: Move to... - * gcc.target/riscv/sat_u_add_imm-4-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-16.c: Move to... - * gcc.target/riscv/sat_u_add_imm-4-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-13.c: Move to... - * gcc.target/riscv/sat_u_add_imm-4-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-2.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-1-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-3.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-1-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-4.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-1-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-1.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-1-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-6.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-2-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-7.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-2-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-8.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-2-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-5.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-2-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-10.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-3-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-11.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-3-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-12.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-3-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-9.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-3-u8.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-14.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-4-u16.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-15.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-4-u32.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-16.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-4-u64.c: ...here. - * gcc.target/riscv/sat_u_add_imm-run-13.c: Move to... - * gcc.target/riscv/sat_u_add_imm-run-4-u8.c: ...here. - -2024-11-14 Hongyu Wang <hongyu.wang@intel.com> - - PR target/117495 - * gcc.target/i386/pr117495.c: New test. - -2024-11-13 Jin Ma <jinma@linux.alibaba.com> - - PR target/116591 - * gcc.target/riscv/rvv/xtheadvector/pr116591.c: New test. - -2024-11-13 Filip Kastl <fkastl@suse.cz> - - PR target/56504 - * gcc.target/i386/vectorize-aocl1.c: New test. - -2024-11-13 Soumya AR <soumyaa@nvidia.com> - - PR target/57492 - * gcc.dg/tree-ssa/ldexp.c: New test. - * gcc.dg/tree-ssa/pow-to-ldexp.c: New test. - -2024-11-13 Yangyu Chen <cyy@cyyself.name> - - * g++.target/riscv/mv-symbols1.C: New test. - * g++.target/riscv/mv-symbols2.C: New test. - * g++.target/riscv/mv-symbols3.C: New test. - * g++.target/riscv/mv-symbols4.C: New test. - * g++.target/riscv/mv-symbols5.C: New test. - * g++.target/riscv/mvc-symbols1.C: New test. - * g++.target/riscv/mvc-symbols2.C: New test. - * g++.target/riscv/mvc-symbols3.C: New test. - * g++.target/riscv/mvc-symbols4.C: New test. - -2024-11-13 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/105054 - * gfortran.dg/ptr_func_assign_6.f08: New test. - -2024-11-13 Martin Uecker <uecker@tugraz.at> - - PR c/117059 - * gcc.dg/Wzero-as-null-pointer-constant.c: New test. - -2024-11-13 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/dfp/c11-constants-3.c: New test. - * gcc.dg/dfp/c11-constants-4.c: New test. - * gcc.dg/dfp/c23-constants-3.c: New test. - * gcc.dg/dfp/c23-constants-4.c: New test. - -2024-11-13 Jakub Jelinek <jakub@redhat.com> - - PR c/117029 - * gcc.dg/cpp/pr7263-3.c: Adjust expected diagnostic wording. - * gcc.dg/c23-imaginary-constants-1.c: New test. - * gcc.dg/c23-imaginary-constants-2.c: New test. - * gcc.dg/c23-imaginary-constants-3.c: New test. - * gcc.dg/c23-imaginary-constants-4.c: New test. - * gcc.dg/c23-imaginary-constants-5.c: New test. - * gcc.dg/c23-imaginary-constants-6.c: New test. - * gcc.dg/c23-imaginary-constants-7.c: New test. - * gcc.dg/c23-imaginary-constants-8.c: New test. - * gcc.dg/c23-imaginary-constants-9.c: New test. - * gcc.dg/c23-imaginary-constants-10.c: New test. - * gcc.dg/c2y-imaginary-constants-1.c: New test. - * gcc.dg/c2y-imaginary-constants-2.c: New test. - * gcc.dg/c2y-imaginary-constants-3.c: New test. - * gcc.dg/c2y-imaginary-constants-4.c: New test. - * gcc.dg/c2y-imaginary-constants-5.c: New test. - * gcc.dg/c2y-imaginary-constants-6.c: New test. - * gcc.dg/c2y-imaginary-constants-7.c: New test. - * gcc.dg/c2y-imaginary-constants-8.c: New test. - * gcc.dg/c2y-imaginary-constants-9.c: New test. - * gcc.dg/c2y-imaginary-constants-10.c: New test. - * gcc.dg/c2y-imaginary-constants-11.c: New test. - * gcc.dg/c2y-imaginary-constants-12.c: New test. - -2024-11-13 Soumya AR <soumyaa@nvidia.com> - - * gcc.target/aarch64/sve/fscale.c: New test. - -2024-11-13 xuli <xuli1@eswincomputing.com> - - PR target/117483 - * gcc.target/riscv/pr117483.c: New test. - -2024-11-13 Hu, Lin1 <lin1.hu@intel.com> - - PR target/117418 - * gcc.target/i386/pr117418-1.c: New test. - -2024-11-13 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-11-13 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> - - PR rtl-optimization/112398 - * gcc.target/riscv/pr112398.c: New test. - -2024-11-12 Yangyu Chen <cyy@cyyself.name> - - * gcc.target/riscv/target-attr-norelax.c: Fix testcase. - -2024-11-12 Pan Li <pan2.li@intel.com> - - Revert: - 2024-11-12 Pan Li <pan2.li@intel.com> - - * gcc.dg/tree-ssa/sat_u_add-simplify-1-u16.c: New test. - * gcc.dg/tree-ssa/sat_u_add-simplify-1-u32.c: New test. - * gcc.dg/tree-ssa/sat_u_add-simplify-1-u64.c: New test. - * gcc.dg/tree-ssa/sat_u_add-simplify-1-u8.c: New test. - -2024-11-12 Edwin Lu <ewlu@rivosinc.com> - - * g++.target/riscv/rvv/base/bug-10.C: Remove cstdalign header. - * g++.target/riscv/rvv/base/bug-11.C: Ditto. - * g++.target/riscv/rvv/base/bug-12.C: Ditto. - * g++.target/riscv/rvv/base/bug-13.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-2.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-4.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-7.C: Ditto. - * g++.target/riscv/rvv/base/bug-8.C: Ditto. - * g++.target/riscv/rvv/base/bug-9.C: Ditto. - -2024-11-12 Jan Hubicka <hubicka@ucw.cz> - - PR tree-optimization/96945 - * g++.dg/tree-ssa/pr96945.C: New test. - -2024-11-12 Andrew Carlotti <andrew.carlotti@arm.com> - - PR tree-optimization/112376 - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expectation. - -2024-11-12 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macro. - * gcc.target/riscv/sat_s_add-run-5.c: Take form 2 for run test. - * gcc.target/riscv/sat_s_add-run-6.c: Ditto. - * gcc.target/riscv/sat_s_add-run-7.c: Ditto. - * gcc.target/riscv/sat_s_add-run-8.c: Ditto. - -2024-11-12 yulong <shiyulong@iscas.ac.cn> - - * gcc.target/riscv/target-attr-norelax.c: New file. - -2024-11-12 Kito Cheng <kito.cheng@sifive.com> - - * c-c++-common/ubsan/builtin-1.c: Update test case due to - sanitizer has change the error message. - -2024-11-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117417 - * gcc.dg/torture/pr117417.c: New testcase. - -2024-11-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117484 - * gcc.dg/vect/pr117484-1.c: New testcase. - * gcc.dg/vect/pr117484-2.c: Likewise. - -2024-11-12 Soumya AR <soumyaa@nvidia.com> - - * gcc.dg/tree-ssa/log_exp.c: New test. - -2024-11-11 Simon Martin <simon@nasilyan.com> - - PR c++/117463 - * g++.dg/init/new54.C: New test. - -2024-11-11 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/ext/builtin-operator-new-1.C: New test. - * g++.dg/ext/builtin-operator-new-2.C: New test. - * g++.dg/ext/builtin-operator-new-3.C: New test. - -2024-11-11 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/c2y-if-decls-1.c: Require target that supports atomic - operations on int and long types. - * gcc.dg/c2y-if-decls-11.c: Ditto. - * gcc.dg/c2y-if-decls-4.c: Ditto. - * gcc.dg/c2y-if-decls-8.c: Ditto. - -2024-11-11 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Remove - xfail from test. - -2024-11-11 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * gcc.target/aarch64/fp8_scalar_1.c: - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/pragma_cpp_predefs_3.c: Add SVE2p1 tests. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_1.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_1.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_2.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_3.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_4.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_5.c: - Adjust the "did you mean" suggestion. - * gcc.target/aarch64/sve/acle/general-c/ld1sh_gather_1.c: Removed. - * gcc.target/aarch64/sve/acle/general-c/extq_1.c: New test. - * gcc.target/aarch64/sve/acle/general-c/load_gather64_sv_index_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_gather64_sv_offset_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/pmov_from_vector_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/pmov_from_vector_lane_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/pmov_to_vector_lane_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/pmov_to_vector_lane_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/store_scatter64_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/store_scatter64_index_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/store_scatter64_offset_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/unary_lane_1.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/addqv_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/andqv_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/andqv_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/andqv_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/andqv_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/andqv_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/andqv_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/andqv_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/andqv_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dup_laneq_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/eorqv_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/eorqv_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/eorqv_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/eorqv_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/eorqv_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/eorqv_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/eorqv_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/eorqv_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/extq_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1udq_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1udq_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1udq_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1uwq_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1uwq_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1uwq_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld2q_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld3q_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld4q_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxnmqv_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxnmqv_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxnmqv_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/maxqv_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minnmqv_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minnmqv_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minnmqv_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/minqv_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/orqv_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/orqv_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/orqv_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/orqv_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/orqv_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/orqv_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/orqv_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/orqv_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmov_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmov_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmov_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmov_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmov_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmov_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmov_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pmov_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1dq_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1dq_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1dq_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1wq_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1wq_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1wq_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st2q_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st3q_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st4q_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tblq_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbxq_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq1_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/uzpq2_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq1_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/zipq2_u8.c: Likewise. - * gcc.target/aarch64/sve2/dupq_1.c: Likewise. - * gcc.target/aarch64/sve2/extq_1.c: Likewise. - * gcc.target/aarch64/sve2/uzpq_1.c: Likewise. - * gcc.target/aarch64/sve2/zipq_1.c: Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/clamp_3.c: New test. - * gcc.target/aarch64/sve/clamp_4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bfmlslb_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bfmlslb_lane_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bfmlslt_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/bfmlslt_lane_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/cntp_c16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/cntp_c32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/cntp_c64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/cntp_c8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dot_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dot_lane_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dot_lane_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dot_lane_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dot_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/dot_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_bf16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_bf16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_f16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_f16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_f32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_f32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_f64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_f64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_s16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_s16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_s32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_s32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_s64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_s64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_s8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_s8_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_u16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_u16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_u32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_u32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_u64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_u64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_u8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ld1_u8_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_bf16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_bf16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_f16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_f16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_f32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_f32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_f64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_f64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_s16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_s16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_s32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_s32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_s64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_s64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_s8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_s8_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_u16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_u16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_u32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_u32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_u64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_u64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_u8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_u8_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pext_lane_c16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pext_lane_c16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pext_lane_c32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pext_lane_c32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pext_lane_c64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pext_lane_c64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pext_lane_c8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/pext_lane_c8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ptrue_c16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ptrue_c32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ptrue_c64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ptrue_c8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qcvtn_s16_s32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qcvtn_u16_s32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qcvtn_u16_u32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qrshrn_s16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qrshrn_u16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/qrshrun_u16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_bf16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_bf16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_f16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_f16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_f32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_f32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_f64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_f64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_s16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_s16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_s32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_s32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_s64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_s64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_s8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_s8_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_u16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_u16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_u32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_u32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_u64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_u64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_u8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/st1_u8_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_bf16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_bf16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_f16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_f16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_f32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_f32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_f64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_f64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_s16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_s16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_s32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_s32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_s64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_s64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_s8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_s8_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_u16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_u16_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_u32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_u32_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_u64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_u64_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_u8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_u8_x4.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilege_b16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilege_b32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilege_b64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilege_b8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilege_c16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilege_c32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilege_c64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilege_c8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilegt_b16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilegt_b32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilegt_b64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilegt_b8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilegt_c16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilegt_c32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilegt_c64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilegt_c8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilele_b16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilele_b32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilele_b64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilele_b8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilele_c16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilele_c32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilele_c64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilele_c8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilelt_b16_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilelt_b32_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilelt_b64_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilelt_b8_x2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilelt_c16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilelt_c32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilelt_c64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilelt_c8.c: Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * lib/target-supports.exp - (check_effective_target_aarch64_asm_sve2p1_ok): New procedure. - * gcc.target/aarch64/sve/clamp_1.c: New test. - * gcc.target/aarch64/sve/clamp_2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/clamp_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/psel_lane_b16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/psel_lane_b32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/psel_lane_b64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/psel_lane_b8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/psel_lane_c16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/psel_lane_c32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/psel_lane_c64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/psel_lane_c8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/revd_u8.c: Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/acle/general-c/create_5.c: Expect svcreate4 - to succeed for svbool_ts. - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h - (TEST_UNDEF_B): New macro. - * gcc.target/aarch64/sve/acle/asm/create4_1.c: Test _b form. - * gcc.target/aarch64/sve/acle/asm/undef2_1.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/undef4_1.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/get4_b.c: New test. - * gcc.target/aarch64/sve/acle/asm/set4_b.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/svboolx4_1.c: Likewise. - -2024-11-11 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/acle/asm/dup_lane_bf16.c: Wrap the second - TBL operand in braces - * gcc.target/aarch64/sve/acle/asm/dup_lane_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_u8.c: Likewise. - * gcc.target/aarch64/sve/slp_perm_6.c: Likewise. - * gcc.target/aarch64/sve/slp_perm_7.c: Likewise. - * gcc.target/aarch64/sve/vec_perm_1.c: Likewise. - * gcc.target/aarch64/sve/vec_perm_const_1.c: Likewise. - * gcc.target/aarch64/sve/vec_perm_const_1_overrun.c: Likewise. - * gcc.target/aarch64/sve/vec_perm_const_single_1.c: Likewise. - * gcc.target/aarch64/sve/vec_perm_single_1.c: Likewise. - * gcc.target/aarch64/sve/uzp1_1.c: Shorten the scan-assembler-nots - to just "\ttbl\". - * gcc.target/aarch64/sve/uzp2_1.c: Likewise. - -2024-11-11 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/109345 - * gfortran.dg/character_workout_1.f90: Cut trailing whitespace. - * gfortran.dg/pr109345.f90: New test. - -2024-11-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117510 - * gcc.dg/vect/vect-outer-pr117510.c: New testcase. - -2024-11-11 Gaius Mulley <gaiusmod2@gmail.com> - - * gm2/iso/fail/badexpression3.mod: New test. - * gm2/iso/fail/badparam4.def: New test. - * gm2/iso/fail/badparam4.mod: New test. - -2024-11-11 Tomas Trnka <trnka@scm.com> - Paul Thomas <pault@gcc.gnu.org> - - PR fortran/116388 - * gfortran.dg/finalize_58.f90: New test. - -2024-11-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_41.f90: New test. - -2024-11-11 Haochen Jiang <haochen.jiang@intel.com> - - * g++.target/i386/mv16.C: Ditto. - * gcc.target/i386/funcspec-56.inc: Handle new march. - -2024-11-11 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx512bf16-truncsfbf.c: Add -ffast-math. - * gcc.target/i386/avx512bw-extendbf2sf.c: Ditto. - * gcc.target/i386/avx512bw-truncsfbf.c: Ditto. - * gcc.target/i386/sse2-extendbf2sf.c: Ditto. - * gcc.target/i386/ssse3-truncsfbf.c: Ditto. - -2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/117492 - * gcc.dg/torture/pr117492-1.c: New test. - -2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117496 - * gcc.dg/torture/pr117496-1.c: New test. - -2024-11-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - PR target/117408 - * gcc.target/arm/mve/pr117408-1.c: New test. - * gcc.target/arm/mve/pr117408-2.c: Likewise. - -2024-11-09 Martin Uecker <uecker@tugraz.at> - - PR c/116284 - PR c/117391 - * gcc.dg/pr116284.c: New test. - * gcc.dg/pr117391.c: New test. - -2024-11-08 Marek Polacek <polacek@redhat.com> - - PR c/117019 - * gcc.dg/c23-if-decls-1.c: New test. - * gcc.dg/c23-if-decls-2.c: New test. - * gcc.dg/c2y-if-decls-1.c: New test. - * gcc.dg/c2y-if-decls-2.c: New test. - * gcc.dg/c2y-if-decls-3.c: New test. - * gcc.dg/c2y-if-decls-4.c: New test. - * gcc.dg/c2y-if-decls-5.c: New test. - * gcc.dg/c2y-if-decls-6.c: New test. - * gcc.dg/c2y-if-decls-7.c: New test. - * gcc.dg/c2y-if-decls-8.c: New test. - * gcc.dg/c2y-if-decls-9.c: New test. - * gcc.dg/c2y-if-decls-10.c: New test. - * gcc.dg/c2y-if-decls-11.c: New test. - * gcc.dg/gnu2y-if-decls-1.c: New test. - * gcc.dg/gnu99-if-decls-1.c: New test. - * gcc.dg/gnu99-if-decls-2.c: New test. - -2024-11-08 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/bb-slp-77.c: Add x86_64-*-* and i?86-*-* to - the list of expected failing targets. - -2024-11-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/117317 - * g++.dg/cpp2a/pr117317-1.C: New test. - * g++.dg/cpp2a/pr117317-2.C: New test. - -2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/epilog-1.c: Use check-function-bodies. - -2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Richard Earnshaw <rearnsha@arm.com> - - * gcc.target/arm/pr68620.c: Use effective-target - arm_libc_fp_abi. - * lib/target-supports.exp: Define effective-target - arm_libc_fp_abi. - -2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/pr40457-2.c: Add vst1.32 as an allowed - instruction. - -2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/vect/pr84556.cc: Change from "dg-do run" with selector - to instead use dg-require-effective-target with the same - selector. - -2024-11-08 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect-early-break_21.c: Remove disabling of - x86_64 and i?86. - -2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.target/arm/mve/general-c++/nomve_fp_1.c: Use - effective-target arm_fp. - -2024-11-08 xuli <xuli1@eswincomputing.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: add data for vec sat_sub. - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: add unsigned imm vec sat_sub form1. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-4.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-4.c: New test. - -2024-11-07 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme2/acle-asm/bfmlslb_f32.c: Replace bfmla* - with bfmls* - -2024-11-07 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme2/acle-asm/psel_lane_b16.c: Move to... - * gcc.target/aarch64/sme/acle-asm/psel_lane_b16.c: ...here. - * gcc.target/aarch64/sme2/acle-asm/psel_lane_b32.c: Move to... - * gcc.target/aarch64/sme/acle-asm/psel_lane_b32.c: ...here. - * gcc.target/aarch64/sme2/acle-asm/psel_lane_b64.c: Move to... - * gcc.target/aarch64/sme/acle-asm/psel_lane_b64.c: ...here. - * gcc.target/aarch64/sme2/acle-asm/psel_lane_b8.c: Move to... - * gcc.target/aarch64/sme/acle-asm/psel_lane_b8.c: ...here. - * gcc.target/aarch64/sme2/acle-asm/psel_lane_c16.c: Move to... - * gcc.target/aarch64/sme/acle-asm/psel_lane_c16.c: ...here. - * gcc.target/aarch64/sme2/acle-asm/psel_lane_c32.c: Move to... - * gcc.target/aarch64/sme/acle-asm/psel_lane_c32.c: ...here. - * gcc.target/aarch64/sme2/acle-asm/psel_lane_c64.c: Move to... - * gcc.target/aarch64/sme/acle-asm/psel_lane_c64.c: ...here. - * gcc.target/aarch64/sme2/acle-asm/psel_lane_c8.c: Move to... - * gcc.target/aarch64/sme/acle-asm/psel_lane_c8.c: ...here. - -2024-11-07 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme/clamp_3.c: Force sme2 - * gcc.target/aarch64/sme/clamp_4.c: Likewise. - * gcc.target/aarch64/sme/clamp_5.c: New test. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/85605 - * g++.dg/tree-ssa/ifcombine-ccmp-1.C: New test. - * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-7.c: New test. - * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-8.c: New test. - * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-9.c: New test. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117414 - * gcc.dg/tree-ssa/fre-predicated-4.c: New test. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117414 - * gcc.dg/tree-ssa/fre-predicated-3.c: New test. - -2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117414 - * gcc.dg/tree-ssa/fre-predicated-1.c: New test. - * gcc.dg/tree-ssa/fre-predicated-2.c: New test. - -2024-11-07 Jakub Jelinek <jakub@redhat.com> - - PR target/116725 - * gcc.target/i386/pr116725.c: Add dg-require-effective-target - avx512{dq,fp16,vl}. - -2024-11-07 Andrew Stubbs <ams@baylibre.com> - - * gcc.dg/gomp/max_vf-1.c: Add -mno-avx. - -2024-11-07 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/avx10_2-comibf-3.c: New test. - * gcc.target/i386/avx10_2-comibf-4.c: Likewise. - -2024-11-07 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/pr117304-1.c: Modify regexp. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/i386/no-callee-saved-13.c: Disable PIE on ia32. - * gcc.target/i386/no-callee-saved-14.c: Likewise. - * gcc.target/i386/no-callee-saved-15.c: Likewise. - * gcc.target/i386/no-callee-saved-17.c: Likewise. - * gcc.target/i386/pr100865-1.c: Likewise. - * gcc.target/i386/pr100865-7a.c: Likewise. - * gcc.target/i386/pr100865-7c.c: Likewise. - * gcc.target/i386/sse2-stv-1.c: Likewise. - -2024-11-07 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/i386/pr70321.c: Cope with non-bx get_pc_thunk. - -2024-11-07 xuli <xuli1@eswincomputing.com> - - * gcc.target/riscv/sat_arith.h: Support signed - imm SAT_ADD form1. - * gcc.target/riscv/sat_s_add_imm-1-1.c: New test. - * gcc.target/riscv/sat_s_add_imm-1.c: New test. - * gcc.target/riscv/sat_s_add_imm-2-1.c: New test. - * gcc.target/riscv/sat_s_add_imm-2.c: New test. - * gcc.target/riscv/sat_s_add_imm-3-1.c: New test. - * gcc.target/riscv/sat_s_add_imm-3.c: New test. - * gcc.target/riscv/sat_s_add_imm-4.c: New test. - * gcc.target/riscv/sat_s_add_imm-run-1.c: New test. - * gcc.target/riscv/sat_s_add_imm-run-2.c: New test. - * gcc.target/riscv/sat_s_add_imm-run-3.c: New test. - * gcc.target/riscv/sat_s_add_imm-run-4.c: New test. - -2024-11-06 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/avx10_2-comibf-2.c: Require avx10_2 target. - -2024-11-06 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> - - PR rtl-optimization/112398 - * gcc.target/riscv/pr112398.c: New test. - -2024-11-06 Andrew Stubbs <ams@baylibre.com> - - * gcc.dg/gomp/max_vf-1.c: New test. - -2024-11-06 David Malcolm <dmalcolm@redhat.com> - - PR c++/63388 - * g++.dg/analyzer/infinite-recursion-pr63388.C: New test. - -2024-11-06 Jonathan Wakely <jwakely@redhat.com> - - * g++.old-deja/g++.other/headers1.C: Do not include ciso646 for - C++17 and later. - -2024-11-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/117439 - * g++.dg/opt/pr117439.C: New test. - -2024-11-06 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117434 - * gfortran.dg/proc_ptr_54.f90: New test. This is temporarily - compile-only until one one seven four five five is fixed. - * gfortran.dg/proc_ptr_55.f90: New test. - * gfortran.dg/proc_ptr_56.f90: New test. - -2024-11-06 Hu, Lin1 <lin1.hu@intel.com> - - PR target/117304 - * gcc.target/i386/pr117304-1.c: New test. - -2024-11-06 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/avx10_2-512-movrs-1.c: Also scan (%e.x). - * gcc.target/i386/avx10_2-movrs-1.c: Likewise. - * gcc.target/i386/movrs-1.c: Likewise. - -2024-11-06 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/apx-ndd.c: Also scan (%edi). - -2024-11-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/pr68620.c: Use effective-target arm_neon. - * gcc.target/arm/pr78041.c: Use effective-target arm_arch_v7a. - -2024-11-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - PR testsuite/116623 - * gcc.target/arm/mve/dlstp-compile-asm-2.c: Align test5 and - test8 with changes in r15-1619-g3b9b8d6cfdf. - -2024-11-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/pr98636.c: Use effective-target - arm_fp16_alternative. - -2024-11-05 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117449 - * gcc.c-torture/compile/pr117449.c: New test. - -2024-11-05 Peter Bergner <bergner@linux.ibm.com> - - PR testsuite/117444 - * gcc.target/powerpc/safe-indirect-jump-3.c: Add -fjump-tables to - dg-options. - -2024-11-05 Jason Merrill <jason@redhat.com> - - PR c++/116634 - * g++.dg/diagnostic/aggr-init1.C: Expect warning with -fpermissive. - * g++.dg/init/array62.C: Adjust diagnostic. - * g++.dg/init/array63.C: Adjust diagnostic. - * g++.dg/init/array64.C: Adjust diagnostic. - -2024-11-05 Simon Martin <simon@nasilyan.com> - - PR c++/117099 - PR c++/117129 - * g++.dg/parse/crash78.C: New test. - * g++.dg/parse/crash78a.C: New test. - * g++.dg/parse/crash79.C: New test. - -2024-11-05 Simon Martin <simon@nasilyan.com> - - PR c++/117101 - * g++.dg/init/new52.C: New test. - * g++.dg/init/new53.C: New test. - -2024-11-05 Simon Martin <simon@nasilyan.com> - - PR c++/117158 - * g++.dg/cpp1z/eval-order13.C: New test. - * g++.dg/parse/crash77.C: New test. - -2024-11-05 Di Zhao <dizhao@os.amperecomputing.com> - - PR tree-optimization/110279 - * gcc.dg/pr110279-1.c: add target selector. - -2024-11-05 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx512bw-extendbf2sf.c: New test. - * gcc.target/i386/sse2-extendbf2sf.c: New test. - -2024-11-05 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx512bf16-truncsfbf.c: New test. - * gcc.target/i386/avx512bw-truncsfbf.c: New test. - * gcc.target/i386/ssse3-truncsfbf.c: New test. - -2024-11-05 Hu, Lin1 <lin1.hu@intel.com> - - PR target/117416 - * gcc.target/i386/pr117416-1.c: New test. - * gcc.target/i386/pr117416-2.c: Ditto. - -2024-11-05 Richard Biener <rguenther@suse.de> - - PR middle-end/117433 - * gcc.dg/pr117433.c: New testcase. - -2024-11-05 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-comibf-1.c: New test. - * gcc.target/i386/avx10_2-comibf-2.c: Ditto. - -2024-11-05 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99274 - * g++.dg/modules/lambda-7.h: Skip ODR-violating declaration when - testing ODR deduplication. - * g++.dg/modules/lambda-7_b.C: Note we're testing ODR - deduplication. - * g++.dg/modules/default-arg-1_a.H: New test. - * g++.dg/modules/default-arg-1_b.C: New test. - * g++.dg/modules/default-arg-2_a.H: New test. - * g++.dg/modules/default-arg-2_b.C: New test. - * g++.dg/modules/default-arg-3.h: New test. - * g++.dg/modules/default-arg-3_a.H: New test. - * g++.dg/modules/default-arg-3_b.C: New test. - -2024-11-04 H.J. Lu <hjl.tools@gmail.com> - - PR testsuite/117300 - * g++.dg/simulate-thread/simulate-thread.exp: Set DEBUGINFOD_URLS - to "" and restore it if it exists. - * gcc.dg/simulate-thread/simulate-thread.exp: Likewise. - -2024-11-04 H.J. Lu <hjl.tools@gmail.com> - Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/117300 - * g++.dg/guality/guality.exp: Set DEBUGINFOD_URLS to "" and - restore it if it exists. - * gcc.dg/guality/guality.exp: Likewise. - * gfortran.dg/guality/guality.exp: Likewise. - -2024-11-04 Craig Blackmore <craig.blackmore@embecosm.com> - - * gcc.target/riscv/rvv/autovec/pr113469.c: Expect mf2 setmem. - * gcc.target/riscv/rvv/base/setmem-2.c: Update f1 to expect - straight-line vector memset. - * gcc.target/riscv/rvv/base/setmem-3.c: Likewise. - -2024-11-04 Craig Blackmore <craig.blackmore@embecosm.com> - - * gcc.target/riscv/rvv/base/setmem-3.c: Expect smaller lmul. - -2024-11-04 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: New test. - * jit.dg/test-convert-vector.c: New test. - -2024-11-04 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: Mention test-readonly.c. - * jit.dg/test-error-assign-readonly.c: New test. - * jit.dg/test-readonly.c: New test. - -2024-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/pr51534.c: Ensure -mfloat-abi=hard is used. - -2024-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/acle/data-intrinsics-assembly.c: Use - effective-target arm_arch_v6_arm. - -2024-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/vect-early-break-cbranch.c: Ignore exact - branch. - -2024-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/armv8_2-fp16-neon-2.c: Expect 3 vdup.16 q* r* - when in arm_hf_eabi else 2. - -2024-11-04 Antoni Boucher <bouanto@zoho.com> - - PR target/116725 - * gcc.target/i386/pr116725.c: Add test using those AVX builtins. - -2024-11-04 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/117398 - * gcc.dg/pr117398.c: New. - -2024-11-04 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/specs/array7.ads: New test. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * gcc.target/aarch64/rot_to_bswap.c: New test. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * gcc.target/aarch64/rotate_xar_1.c: New test. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * gcc.target/aarch64/vec-rot-exec.c: New test. - * gcc.target/aarch64/simd/pr117048_2.c: New test. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117048 - * gcc.target/aarch64/simd/pr117048.c: New test. - -2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> - - * gcc.target/aarch64/xar_neon_modes.c: New test. - * gcc.target/aarch64/xar_v2di_nonsve.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/xar_s16.c: Scan for EOR rather than - XAR. - * gcc.target/aarch64/sve2/acle/asm/xar_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/xar_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/xar_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/xar_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/xar_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/xar_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/xar_u8.c: Likewise. - -2024-11-03 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117363 - * gcc.dg/torture/pr117363-1.c: New test. - * gcc.dg/torture/pr117363-2.c: New test. - -2024-11-03 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/115700 - * gfortran.dg/associate_69.f90: Remove the test that produces a - variable string length because the optimized count depends on - the platform. This is tested in associate_70.f90. - -2024-11-02 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/pr116887.c: Require effective target fpic. - -2024-11-02 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.dg/pr117245.c: Require effective target with trampolines. - -2024-11-02 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_39.f90: New test. - -2024-11-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117384 - * c-c++-common/init-7.c: New test. - -2024-11-02 Nathaniel Shead <nathanieloshead@gmail.com> - Jason Merrill <jason@redhat.com> - - PR c++/113814 - * g++.dg/modules/partial-6.h: New test. - * g++.dg/modules/partial-6_a.H: New test. - * g++.dg/modules/partial-6_b.H: New test. - * g++.dg/modules/partial-6_c.C: New test. - -2024-11-02 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116317 - * g++.dg/modules/late-ret-4_a.H: New test. - * g++.dg/modules/late-ret-4_b.C: New test. - -2024-11-02 Jeff Law <jlaw@ventanamicro.com> - - * lib/target-supports.exp (check_effective_target_trampolines): ft32 - does not support trampolines. - -2024-11-01 Andrew MacLeod <amacleod@redhat.com> - - * g++.dg/cpp23/attr-assume-opt.C (f2b): Alternate flow test. - -2024-11-01 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/117287 - * g++.dg/cpp23/pr117287-attr.C: New. - -2024-11-01 Jakub Jelinek <jakub@redhat.com> - - PR c++/114461 - * g++.dg/modules/cpp-7.C: New test. - * g++.dg/modules/cpp-8.C: New test. - * g++.dg/modules/cpp-9.C: New test. - * g++.dg/modules/cpp-10.C: New test. - * g++.dg/modules/cpp-11.C: New test. - * g++.dg/modules/cpp-12.C: New test. - * g++.dg/modules/cpp-13.C: New test. - * g++.dg/modules/cpp-14.C: New test. - * g++.dg/modules/cpp-15.C: New test. - * g++.dg/modules/cpp-16.C: New test. - * g++.dg/modules/cpp-17.C: New test. - * g++.dg/modules/cpp-18.C: New test. - * g++.dg/modules/cpp-19.C: New test. - * g++.dg/modules/cpp-20.C: New test. - * g++.dg/modules/pmp-4.C: New test. - * g++.dg/modules/pmp-5.C: New test. - * g++.dg/modules/pmp-6.C: New test. - * g++.dg/modules/token-6.C: New test. - * g++.dg/modules/token-7.C: New test. - * g++.dg/modules/token-8.C: New test. - * g++.dg/modules/token-9.C: New test. - * g++.dg/modules/token-10.C: New test. - * g++.dg/modules/token-11.C: New test. - * g++.dg/modules/token-12.C: New test. - * g++.dg/modules/token-13.C: New test. - * g++.dg/modules/token-14.C: New test. - * g++.dg/modules/token-15.C: New test. - * g++.dg/modules/token-16.C: New test. - * g++.dg/modules/dir-only-3.C: Expect an error. - * g++.dg/modules/dir-only-4.C: Expect an error. - * g++.dg/modules/dir-only-5.C: New test. - * g++.dg/modules/atom-preamble-2_a.C: In export module malcolm; - replace malcolm with kevin. Don't define malcolm macro. - * g++.dg/modules/atom-preamble-4.C: Expect an error. - * g++.dg/modules/atom-preamble-5.C: New test. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/cmpccxadd-1b.c: New test. - -2024-11-01 Xi Ruoyao <xry111@xry111.site> - - * gcc.c-torture/execute/builtin-prefetch-1.c (rws): Use - "read_shared" instead of "read-shared" as the identifier for - enum value. - * gcc.dg/builtin-prefetch-1.c (rws): Likewise. - -2024-11-01 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/jump-table-annotate.c - (dg-additional-options): Add -O. - -2024-11-01 Simon Martin <simon@nasilyan.com> - - PR c++/101887 - * g++.dg/init/delete5.C: Add testcase from PR c++/101887. - -2024-11-01 Xi Ruoyao <xry111@xry111.site> - - PR target/116887 - * gcc.dg/pr116887.c: New test. - -2024-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_38.f90: Add -pedantic and adjust error - message. - * gfortran.dg/unsigned_40.f90: New test. - -2024-11-01 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/gomp/declare-variant-10.C: New test. - -2024-11-01 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/115700 - * gfortran.dg/associate_69.f90: Activate commented out tests. - * gfortran.dg/associate_70.f90: Test correct functioning of - references in associate_69.f90 tests. - -2024-11-01 Hu, Lin1 <lin1.hu@intel.com> - - * g++.dg/other/i386-2.C: Add -mamx-movrs. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/amx-check.h: Add new check for amx-movrs. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mamx-movrs. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add amx-movrs. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp (check_effective_target_amx_movrs): New. - * gcc.target/i386/amxmovrs-asmatt-1.c: New test. - * gcc.target/i386/amxmovrs-asmintel-1.c: Ditto. - * gcc.target/i386/amxmovrs-t2rpntlvw-2.c: Ditto. - * gcc.target/i386/amxmovrs-tileloaddrs-2.c: Ditto. - -2024-11-01 Hu, Lin1 <lin1.hu@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * g++.dg/other/i386-2.C: Add -mmovrs. - * g++.dg/other/i386-3.C: Ditto. - * gcc.c-torture/execute/builtin-prefetch-1.c: Expand rws. - * gcc.dg/builtin-prefetch-1.c: Ditto. - * gcc.target/i386/avx-1.c: Ditto. - * gcc.target/i386/avx-2.c: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mmovrs. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add movrs. - * gcc.target/i386/sse-23.c: Ditto - * gcc.target/i386/avx10_2-512-movrs-1.c: New test. - * gcc.target/i386/avx10_2-movrs-1.c: Ditto. - * gcc.target/i386/movrs-1.c: Ditto. - -2024-11-01 Liwei Xu <liwei.xu@intel.com> - Hu, Lin1 <lin1.hu@intel.com> - - * g++.dg/other/i386-2.C: Add -mamx-fp8. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/amx-check.h: Check for amx-fp8. - * gcc.target/i386/amx-helper.h: Ditto. - * gcc.target/i386/fp8-helper.h: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mamx-fp8. - * 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. - * lib/target-supports.exp: New proc. - * gcc.target/i386/amxfp8-asmatt-1.c: New test. - * gcc.target/i386/amxfp8-asmintel-1.c: Ditto. - * gcc.target/i386/amxfp8-dpbf8ps-2.c: Ditto. - * gcc.target/i386/amxfp8-dpbhf8ps-2.c: Ditto. - * gcc.target/i386/amxfp8-dphbf8ps-2.c: Ditto. - * gcc.target/i386/amxfp8-dphf8ps-2.c: Ditto. - * gcc.target/i386/fp-emulation.h: Emulates NaN behaviour. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * g++.dg/other/i386-2.C: Add -mamx-transpose. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/amx-check.h: Add new check for amx-transpose. - (__tilepair): New. - (zero_pair_tile_src): New. - (check_pair_tile_register): New. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/amx-helper.h: Add amx-transpose support. - (init_pair_tile_src): New function. - * gcc.target/i386/sse-12.c: Add -mamx-tranpose. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add amx-transpose. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp (check_effective_target_amx_transposed): New. - * gcc.target/i386/amxtranspose-asmatt-1.c: New test. - * gcc.target/i386/amxtranspose-asmintel-1.c: Ditto. - * gcc.target/i386/amxtranspose-2rpntlvw-2.c: Ditto. - * gcc.target/i386/amxtranspose-conjtcmmimfp16ps-2.c: Ditto. - * gcc.target/i386/amxtranspose-conjtfp16-2.c: Ditto. - * gcc.target/i386/amxtranspose-tcmmimfp16ps-2.c: Ditto. - * gcc.target/i386/amxtranspose-tcmmrlfp16ps-2.c: Ditto. - * gcc.target/i386/amxtranspose-tdpbf16ps-2.c: Ditto. - * gcc.target/i386/amxtranspose-tdpfp16ps-2.c: Ditto. - * gcc.target/i386/amxtranspose-tmmultf32ps-2.c: Ditto. - * gcc.target/i386/amxtranspose-transposed-2.c: Ditto. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * g++.dg/other/i386-2.C: Add -mamx-tf32. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/amx-check.h: Add cpu check for AMX-TF32. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mamx-tf32. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add amx-tf32. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp (check_effective_target_amx_tf32): New. - * gcc.target/i386/amx-helper.h: New file for tf32 support. - * gcc.target/i386/amxtf32-asmatt-1.c: New test. - * gcc.target/i386/amxtf32-asmintel-1.c: Ditto. - * gcc.target/i386/amxtf32-mmultf32ps-2.c: Ditto. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - Yu, Bing <bing1.yu@intel.com> - - * g++.dg/other/i386-2.C: Add -mamx-avx512. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/amx-check.h: Add cpu check for AMX-AVX512. - * gcc.target/i386/amx-helper.h: Support amx-avx512. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mamx-avx512. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add amx-avx512. - * gcc.target/i386/sse-23.c: Ditto. - * lib/target-supports.exp (check_effective_target_amx_avx512): New. - * gcc.target/i386/amxavx512-asmatt-1.c: New test. - * gcc.target/i386/amxavx512-asmintel-1.c: Ditto. - * gcc.target/i386/amxavx512-cvtrowd2ps-2.c: Ditto. - * gcc.target/i386/amxavx512-cvtrowps2pbf16-2.c: Ditto. - * gcc.target/i386/amxavx512-cvtrowps2ph-2.c: Ditto. - * gcc.target/i386/amxavx512-movrow-2.c: Ditto. - -2024-11-01 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/sm4-check.h: Add zmm test. - * gcc.target/i386/sm4-avx10_2-1.c: New test. - * gcc.target/i386/sm4-avx10_2-512-1.c: Ditto. - * gcc.target/i386/sm4key4-avx10_2-512-2.c: Ditto. - * gcc.target/i386/sm4rnds4-avx10_2-512-2.c: Ditto. - -2024-11-01 Sam James <sam@gentoo.org> - - PR debug/15736 - PR debug/46240 - * g++.dg/debug/pr15736.cc: Move to... - * g++.dg/debug/pr15736.C: ...here. - * g++.dg/debug/pr46240.cc: Move to... - * g++.dg/debug/pr46240.C: ...here. - -2024-11-01 Sam James <sam@gentoo.org> - - PR tree-optimization/111520 - * g++.dg/torture/harden-comp-pr111520.cc: Move to... - * g++.dg/torture/harden-comp-pr111520.C: ...here. - -2024-11-01 Sam James <sam@gentoo.org> - - PR c++/90313 - * g++.dg/torture/pr90313.cc: Move to... - * g++.dg/torture/pr90313.C: ...here. - -2024-11-01 Sam James <sam@gentoo.org> - - PR target/66655 - * g++.dg/pr66655.C: Adjust filename in dg-additional-sources. - -2024-10-31 Sam James <sam@gentoo.org> - - PR target/66655 - * g++.dg/pr66655_1.cc: Move to... - * g++.dg/pr66655_1.C: ...here. - -2024-10-31 Sam James <sam@gentoo.org> - - PR other/42965 - * g++.dg/warn/unused-result1-Werror.c: Move to... - * g++.dg/warn/unused-result1-Werror.C: ...here. - -2024-10-31 Sam James <sam@gentoo.org> - - PR tree-optimization/105820 - * g++.dg/tree-ssa/pr105820.c: Move to... - * g++.dg/tree-ssa/pr105820.C: ...here. - -2024-10-31 Sam James <sam@gentoo.org> - - PR target/47333 - * g++.dg/lto/pr47333_0.C: Move to... - * g++.dg/torture/pr47333.C: ...here. - -2024-10-31 Sam James <sam@gentoo.org> - - PR c++/95677 - * g++.dg/lto/pr95677_0.C: Move to... - * g++.dg/torture/pr95677.C: ...here. - -2024-10-31 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/acle/general/amin_1.c: New test. - * gcc.target/aarch64/sve2/acle/asm/amax_f16.c: Enabled sve2 and - (for streaming mode) sme2. - * gcc.target/aarch64/sve2/acle/asm/amax_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/amax_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/amin_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/amin_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/amin_f64.c: Likewise. - -2024-10-31 Richard Sandiford <richard.sandiford@arm.com> - - * g++.target/aarch64/sve/aarch64-ssve.exp: Add tests for trn[12]q, - uzp[12].c, and zip[12]q. - * gcc.target/aarch64/sve/acle/asm/trn1q_bf16.c: Skip for - STREAMING_COMPATIBLE. - * gcc.target/aarch64/sve/acle/asm/trn1q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_u8.c: Likewise. - -2024-10-31 Sam James <sam@gentoo.org> - - PR testsuite/117183 - * gcc.dg/c23-constexpr-2a.c: Use dg-do run. - -2024-10-31 Martin Uecker <uecker@tugraz.at> - - PR c/117145 - PR c/117245 - PR c/100420 - * gcc.dg/c23-tag-composite-11.c: New test. - * gcc.dg/Warray-parameter-4.c: Resolve xfails. - * gcc.dg/Wvla-parameter-2.c: Resolve xfails. - * gcc.dg/Wvla-parameter-3.c: Resolve xfails. - * gcc.dg/pr117145-1.c: New test. - * gcc.dg/pr117145-2.c: New test. - * gcc.dg/pr117245.c: New test. - -2024-10-31 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/pr114115.c (foo_ifunc2): Return void. - -2024-10-31 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/simulate-thread/simulate-thread.h - (simulate_thread_wrapper_final_verify): Mark noinline. - -2024-10-31 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.target/riscv/rvv/autovec/slp-interleave-5.c: New test. - -2024-10-31 Craig Blackmore <craig.blackmore@embecosm.com> - - * gcc.target/riscv/rvv/base/cpymem-1.c: Fix and rework f3. - -2024-10-31 Sam James <sam@gentoo.org> - - PR middle-end/90348 - PR tree-optimization/106073 - * gcc.dg/pr106073.c: New test. - -2024-10-31 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/117176 - * gcc.dg/vect/vect-early-break_130-pr117176.c: New test. - -2024-10-31 Tobias Burnus <tburnus@baylibre.com> - - * g++.dg/gomp/declare-variant-9.C: New test. - -2024-10-31 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117354 - * gcc.dg/bitint-113.c: New test. - -2024-10-31 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/115700 - * gfortran.dg/associate_70.f90: New test. - -2024-10-31 Sam James <sam@gentoo.org> - - PR middle-end/92936 - * gcc.dg/Wstringop-overflow-59.c: Fix dg-* syntax. - -2024-10-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> - - * gcc.dg/vect/bb-slp-77.c: New test. - -2024-10-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> - - * g++.dg/alias-checks.C: New test. - -2024-10-30 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/builtin-stdc-bit-3.c: New test. - * gcc.dg/builtin-stdc-rotate-3.c: New test. - -2024-10-30 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/116607 - * g++.dg/contracts/pr116607.C: New test. - -2024-10-30 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr117318.c: New test. - -2024-10-30 Jakub Jelinek <jakub@redhat.com> - - PR target/117296 - * gcc.target/i386/pr117296.c: New test. - -2024-10-30 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/117335 - * gfortran.dg/pr115070.f90: Delete. - * gfortran.dg/ieee/pr115070.f90: Moved to ieee directory to - prevent failures on incompatible architectures. - -2024-10-30 Jakub Jelinek <jakub@redhat.com> - - PR c/117021 - * gcc.dg/switch-6.c: Expect different diagnostics. Add -std=gnu23 - to dg-options. - * gcc.dg/switch-7.c: Expect different diagnostics. Add -std=c23 - to dg-options. - * gcc.dg/gnu23-switch-1.c: New test. - * gcc.dg/gnu23-switch-2.c: New test. - * gcc.dg/c23-switch-1.c: New test. - * gcc.dg/c2y-switch-1.c: New test. - * gcc.dg/c2y-switch-2.c: New test. - * gcc.dg/c2y-switch-3.c: New test. - -2024-10-30 Haochen Jiang <haochen.jiang@intel.com> - - PR target/117301 - * lib/target-supports.exp (check_effective_target_avx10_2): - Use inline asm instead of intrin for check_effective_target. - (check_effective_target_avx10_2_512): Ditto. - -2024-10-30 xuli <xuli1@eswincomputing.com> - - * gcc.target/riscv/sat_u_sub_imm-run-5.c: add run case for imm=1. - * gcc.target/riscv/sat_u_sub_imm-run-6.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-run-7.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-run-8.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-5_3.c: New test. - * gcc.target/riscv/sat_u_sub_imm-6_3.c: New test. - * gcc.target/riscv/sat_u_sub_imm-7_3.c: New test. - * gcc.target/riscv/sat_u_sub_imm-8_1.c: New test. - -2024-10-30 xuli <xuli1@eswincomputing.com> - - * gcc.dg/tree-ssa/phi-opt-44.c: New test. - * gcc.dg/tree-ssa/phi-opt-45.c: New test. - -2024-10-29 Andi Kleen <ak@gcc.gnu.org> - - Revert: - 2024-10-29 Andi Kleen <ak@gcc.gnu.org> - - * gcc.dg/tree-ssa/if-to-switch-6.c: Allow condition chain. - * gcc.dg/tree-ssa/switch-1.c: Allow more bit tests. - * gcc.dg/pr21643.c: Use -fno-bit-tests - * gcc.target/aarch64/pr99988.c: Use -fno-bit-tests - -2024-10-29 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc.dg/plugin/analyzer_cpython_plugin.c (dump_refcnt_info): - Update for global_dc's m_printer becoming reference printer. - * gcc.dg/plugin/crash-test-ice-in-header-sarif-2.2.c: Replace usage - of -fdiagnostics-format=sarif-file-2.2-prerelease with - -fdiagnostics-set-output=sarif:version=2.2-prerelease. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Update for - global_dc's m_printer becoming reference printer. - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Update for - changes to output formats. - * gcc.dg/plugin/expensive_selftests_plugin.c: Update for - global_dc's m_printer becoming reference printer. - * gcc.dg/sarif-output/add-output-sarif-defaults.c: New test. - * gcc.dg/sarif-output/bad-binary-op.c: New test. - * gcc.dg/sarif-output/bad-binary-op.py: New support script. - * gcc.dg/sarif-output/multiple-outputs.c: New test. - * gcc.dg/sarif-output/multiple-outputs.py: New support script. - * lib/scansarif.exp (verify-sarif-file): Add an optional second - argument specifying the expected filename of the .sarif file. - -2024-10-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/117346 - * gcc.target/aarch64/imm_choice_comparison-1.c: New test. - -2024-10-29 Andi Kleen <ak@gcc.gnu.org> - - * gcc.dg/tree-ssa/if-to-switch-6.c: Allow condition chain. - * gcc.dg/tree-ssa/switch-1.c: Allow more bit tests. - * gcc.dg/pr21643.c: Use -fno-bit-tests - * gcc.target/aarch64/pr99988.c: Use -fno-bit-tests - -2024-10-29 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.c-torture/execute/20241029-1.c: New test. - -2024-10-29 Jakub Jelinek <jakub@redhat.com> - - PR c/117313 - * c-c++-common/init-6.c: New test. - -2024-10-29 Jason Merrill <jason@redhat.com> - - PR c++/30854 - PR c++/116634 - * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: Adjust - diagnostic. - * g++.dg/diagnostic/aggr-init1.C: New test. - -2024-10-29 Co-Authored-By: Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/attribute-15.c: Add _zmmul1p0 to arch string. - * gcc.target/riscv/attribute-16.c: Ditto. - * gcc.target/riscv/attribute-17.c: Ditto. - * gcc.target/riscv/attribute-18.c: Ditto. - * gcc.target/riscv/attribute-19.c: Ditto. - * gcc.target/riscv/pr110696.c: Ditto. - * gcc.target/riscv/target-attr-01.c: Ditto. - * 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-08.c: Ditto. - * gcc.target/riscv/target-attr-11.c: Ditto. - * gcc.target/riscv/target-attr-14.c: Ditto. - * gcc.target/riscv/target-attr-15.c: Ditto. - * gcc.target/riscv/target-attr-16.c: Ditto. - * gcc.target/riscv/rvv/base/pr114352-1.c: Likewise. - * gcc.target/riscv/rvv/base/pr114352-3.c: Likewise. - * gcc.dg/pr90838.c: Fix search string for rv64. - -2024-10-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117341 - * g++.dg/torture/pr117341-1.C: New test. - -2024-10-29 yulong <shiyulong@iscas.ac.cn> - - * gcc.target/riscv/cmo-32.c: New test. - * gcc.target/riscv/cmo-64.c: New test. - -2024-10-29 Pan Li <pan2.li@intel.com> - Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/rvv.exp: Add strided folder. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-f16.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-f32.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-f64.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-i16.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-i32.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-i64.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-i8.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-u16.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-u32.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-u64.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-u8.c: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st.h: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st_data.h: New test. - * gcc.target/riscv/rvv/autovec/strided/strided_ld_st_run.h: New test. - -2024-10-29 Pan Li <pan2.li@intel.com> - Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: - Adjust IR for MASK_LEN_LOAD check. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-1.c: - Ditto but for store. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-2.c: - Ditto. - -2024-10-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117333 - * gcc.dg/torture/pr117333.c: New testcase. - -2024-10-29 Alfie Richards <Alfie.Richards@arm.com> - Christophe Lyon <christophe.lyon@arm.com> - - * gcc.target/arm/pr112337.c: Call intrinsic instead of builtin. - -2024-10-29 Alfie Richards <Alfie.Richards@arm.com> - - * gcc.target/arm/mve/intrinsics/vst1q_p_f16.c: Remove `return`. - * gcc.target/arm/mve/intrinsics/vst1q_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_u32.c: Likewise. - -2024-10-29 Jakub Jelinek <jakub@redhat.com> - - PR c/117030 - * gcc.dg/builtin-stdc-rotate-1.c: New test. - * gcc.dg/builtin-stdc-rotate-2.c: New test. - * gcc.dg/ubsan/builtin-stdc-rotate-1.c: New test. - * gcc.dg/ubsan/builtin-stdc-rotate-2.c: New test. - -2024-10-28 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/sarif-output/test-bad-pragma.py: Rename to... - * gcc.dg/sarif-output/bad-pragma.py: ...this. - * gcc.dg/sarif-output/bad-pragma.c: Update for script renaming. - * gcc.dg/sarif-output/test-include-chain-1.py: Rename to... - * gcc.dg/sarif-output/include-chain-1.py: ...this. - * gcc.dg/sarif-output/include-chain-1.c: Update for script renaming. - * gcc.dg/sarif-output/test-include-chain-2.py: Rename to... - * gcc.dg/sarif-output/include-chain-2.py: ...this. - * gcc.dg/sarif-output/include-chain-2.c: Update for script renaming. - * gcc.dg/sarif-output/test-missing-semicolon.py: Rename to... - * gcc.dg/sarif-output/missing-semicolon.py: ...this. - * gcc.dg/sarif-output/missing-semicolon.c: Update for script renaming. - * gcc.dg/sarif-output/test-no-diagnostics.py: Rename to... - * gcc.dg/sarif-output/no-diagnostics.py: ...this. - * gcc.dg/sarif-output/no-diagnostics.c: Update for script renaming. - * gcc.dg/sarif-output/test-werror.py: Rename to... - * gcc.dg/sarif-output/werror.py: ...this. - * gcc.dg/sarif-output/werror.c: Update for script renaming. - -2024-10-28 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117330 - * gcc.dg/torture/pr117330-1.c: New test. - -2024-10-28 Dimitar Dimitrov <dimitar@dinux.eu> - - * g++.dg/lto/pr47333_0.C: Require target that supports atomic - operations on int and long types. - -2024-10-28 Sam James <sam@gentoo.org> - - PR tree-optimization/107467 - PR middle-end/115110 - * g++.dg/lto/pr107467_0.C: New test. - -2024-10-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117307 - * gcc.dg/vect/pr117307.c: New testcase. - -2024-10-28 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/111285 - * g++.dg/torture/vect-absu-1.C: New test. - -2024-10-28 xuli <xuli1@eswincomputing.com> - - PR target/117286 - * gcc.target/riscv/rvv/base/pr117286.c: New test. - -2024-10-28 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/pr53533-1.c: Adjust assembly scan. - * gcc.target/i386/pr53533-3.c: Likewise. - -2024-10-27 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/Wtrailing-whitespace-2.c: Use - -Wtrailing-whitespace=blanks rather than -Wtrailing-whitespace=blank. - * c-c++-common/cpp/Wtrailing-whitespace-3.c: Use - -Wtrailing-whitespace=any rather than -Wtrailing-whitespace=space. - * c-c++-common/cpp/Wtrailing-whitespace-7.c: Use - -Wtrailing-whitespace=blanks rather than -Wtrailing-whitespace=blank. - * c-c++-common/cpp/Wtrailing-whitespace-8.c: Use - -Wtrailing-whitespace=any rather than -Wtrailing-whitespace=space. - -2024-10-27 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/vec-perm-lower.c: Add -Wno-psabi to dg-options. - -2024-10-27 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/115070 - PR fortran/115348 - * gfortran.dg/pr115070.f90: New test. - * gfortran.dg/pr115348.f90: New test. - -2024-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * gcc.target/arm/bti-1.c: Check for asm instructions starting - with a tab. - * gcc.target/arm/bti-2.c: Likewise. - * gcc.target/arm/pac-1.c: Likewise. - * 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-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. - * gcc.target/arm/pac-15.c: Likewise. - * gcc.target/arm/pac-sibcall.c: Likewise. - -2024-10-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/117234 - * g++.dg/eh/noncall-fp-1.C: New test. - * g++.target/aarch64/sve/noncall-eh-fp-1.C: New test. - * gcc.dg/tree-ssa/trapping-1.c: New test. - * gcc.target/aarch64/sve/trapping-1.c: New test. - -2024-10-26 Sam James <sam@gentoo.org> - - PR testsuite/117299 - * gcc.dg/lto/tbaa_0.c: Move to... - * gcc.dg/tbaa.c: ...here. - -2024-10-25 Andrew Pinski <quic_apinski@quicinc.com> - - PR rtl-optimization/58195 - * gcc.target/aarch64/csel-neg-1.c: New test. - * gcc.target/aarch64/csel-neg-2.c: New test. - -2024-10-25 Sam James <sam@gentoo.org> - - PR lto/47333 - * g++.dg/lto/pr47333_0.C: Ignore -Wtemplate-body. - -2024-10-25 Sam James <sam@gentoo.org> - - PR lto/62026 - * g++.dg/lto/pr62026_0.C: Pass -Wno-return-type. - -2024-10-25 Sam James <sam@gentoo.org> - - PR c++/95677 - * g++.dg/lto/pr95677_0.C: Use dg-lto-*. - -2024-10-25 Sam James <sam@gentoo.org> - - * gcc.dg/lto/tbaa_0.c: Use dg-lto directives, pass -std=gnu89, and - use -flto-partition=none. - -2024-10-25 Sam James <sam@gentoo.org> - - * gcc.dg/lto/tbaa-1.c: Move to... - * gcc.dg/lto/tbaa_0.c: ...here. - -2024-10-25 Sam James <sam@gentoo.org> - - PR target/47333 - * g++.dg/lto/pr47333.C: Move to... - * g++.dg/lto/pr47333_0.C: ...here. - -2024-10-25 Sam James <sam@gentoo.org> - - PR lto/62026 - * g++.dg/lto/pr62026.C: Move to... - * g++.dg/lto/pr62026_0.C: ...here. - -2024-10-25 Sam James <sam@gentoo.org> - - PR c++/95677 - * g++.dg/lto/pr95677.C: Move to... - * g++.dg/lto/pr95677_0.C: ...here. - -2024-10-25 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.target/aarch64/cpunative/info_25: New file. - * gcc.target/aarch64/cpunative/info_26: New file. - * gcc.target/aarch64/cpunative/native_cpu_25.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_26.c: New test. - -2024-10-25 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/117292 - * gcc.target/aarch64/sve/single_5.c: Remove xfails. - * gcc.target/aarch64/pr117292.c: New test. - -2024-10-25 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/79685 - * gfortran.dg/use_rename_13.f90: New test. - -2024-10-25 Sam James <sam@gentoo.org> - - PR rtl-optimization/115933 - * gcc.dg/pr115933.c: New test. - -2024-10-25 Andrew Carlotti <andrew.carlotti@arm.com> - - * gcc.target/aarch64/advsimd-intrinsics/mf8-reinterpret.c: New test. - -2024-10-25 Andrew Carlotti <andrew.carlotti@arm.com> - - * gcc.target/aarch64/movv16qi_2.c: Test mfloat as well. - * gcc.target/aarch64/movv16qi_3.c: Ditto. - * gcc.target/aarch64/movv2x16qi_1.c: Ditto. - * gcc.target/aarch64/movv3x16qi_1.c: Ditto. - * gcc.target/aarch64/movv4x16qi_1.c: Ditto. - * gcc.target/aarch64/movv8qi_2.c: Ditto. - * gcc.target/aarch64/movv8qi_3.c: Ditto. - * gcc.target/aarch64/mfloat-init-1.c: New test. - -2024-10-25 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.dg/tree-ssa/pow_fold_1.c: New test. - -2024-10-25 Pan Li <pan2.li@intel.com> - - * gcc.dg/tree-ssa/sat_u_add-simplify-1-u16.c: New test. - * gcc.dg/tree-ssa/sat_u_add-simplify-1-u32.c: New test. - * gcc.dg/tree-ssa/sat_u_add-simplify-1-u64.c: New test. - * gcc.dg/tree-ssa/sat_u_add-simplify-1-u8.c: New test. - -2024-10-25 Jakub Jelinek <jakub@redhat.com> - - PR lto/117201 - PR lto/117288 - * gcc.dg/lto/pr117201_0.c: New test. - * gcc.dg/lto/pr117288_0.c: New test. - -2024-10-25 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/tree-ssa/shifts-3.c: Accept widen_mult for f2 too. - -2024-10-25 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/116551 - * gnat.dg/specs/vfa3.ads: New test. - -2024-10-25 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve2/acle/asm/aba_s32.c: New tests. - * gcc.target/aarch64/sve2/acle/asm/aba_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/aba_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/aba_u64.c: Likewise. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/class-10_a.H: New test. - * g++.dg/modules/class-10_b.C: New test. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/clone-2_a.C: New test. - * g++.dg/modules/clone-2_b.C: New test. - * g++.dg/modules/clone-3_a.C: New test. - * g++.dg/modules/clone-3_b.C: New test. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115007 - * g++.dg/modules/virt-6_a.C: New test. - * g++.dg/modules/virt-6_b.C: New test. - -2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/virt-5_a.C: New test. - * g++.dg/modules/virt-5_b.C: New test. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc.dg/plugin/analyzer_cpython_plugin.c: Convert call outcomes - from "get_desc" to print_desc". - * gcc.dg/plugin/analyzer_gil_plugin.c: Update for changes to - pending_diagnostic vfuncs. - -2024-10-24 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/stack-check-2.c: Use -fno-ipa-icf. - -2024-10-24 Dimitar Dimitrov <dimitar@dinux.eu> - - PR ipa/113197 - * gcc.dg/lto/pr113197_0.c: Require effective target pie. - -2024-10-24 David Malcolm <dmalcolm@redhat.com> - Gaius Mulley <gaiusmod2@gmail.com> - - PR other/116613 - * gcc.dg/plugin/diagnostic_group_plugin.c: Update for use of - std::unique_ptr. - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Likewise. - * gcc.dg/plugin/ggcplug.c: Likewise. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/cnt_fold_6.c: New test. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/tree-ssa/shifts-3.c: New test. - * gcc.dg/tree-ssa/shifts-4.c: Likewise. - * gcc.target/aarch64/sve/cnt_fold_5.c: Likewise. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/cnt_fold_4.c: New test. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/tree-ssa/shifts-1.c: New test. - * gcc.dg/tree-ssa/shifts-2.c: Likewise. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/tree-ssa/mulexactdiv-5.c: New test. - * gcc.dg/tree-ssa/mulexactdiv-6.c: Likewise. - * gcc.dg/tree-ssa/mulexactdiv-7.c: Likewise. - * gcc.dg/tree-ssa/mulexactdiv-8.c: Likewise. - * gcc.target/aarch64/sve/cnt_fold_3.c: Likewise. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/tree-ssa/mulexactdiv-1.c: New test. - * gcc.dg/tree-ssa/mulexactdiv-2.c: Likewise. - * gcc.dg/tree-ssa/mulexactdiv-3.c: Likewise. - * gcc.dg/tree-ssa/mulexactdiv-4.c: Likewise. - * gcc.target/aarch64/sve/cnt_fold_1.c: Likewise. - * gcc.target/aarch64/sve/cnt_fold_2.c: Likewise. - -2024-10-24 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/tree-ssa/cmpexactdiv-6.c: New test. - -2024-10-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/117259 - * g++.dg/ubsan/pr117259.C: New test. - -2024-10-24 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/117209 - * gcc.dg/asan/pr117209.c: New test. - -2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve2/acle/asm/sra_s32.c: New test. - * gcc.target/aarch64/sve2/acle/asm/sra_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sra_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/sra_u64.c: Likewise. - -2024-10-24 Soumya AR <soumyaa@nvidia.com> - - * gcc.target/aarch64/sve/const_fold_lsl_1.c: New test. - -2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/acle/asm/div_s32.c: New test. - * gcc.target/aarch64/sve/acle/asm/mul_s16.c: Adjust expected outcome. - * gcc.target/aarch64/sve/acle/asm/mul_s32.c: New test. - * gcc.target/aarch64/sve/acle/asm/mul_s64.c: Adjust expected outcome. - * gcc.target/aarch64/sve/acle/asm/mul_s8.c: Likewise. - * gcc.target/aarch64/sve/div_const_run.c: New test. - * gcc.target/aarch64/sve/mul_const_run.c: Likewise. - -2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/index_const_fold.c: New test. - -2024-10-24 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/116488 - PR rtl-optimization/117226 - * gcc.dg/torture/pr116488.c (c, e): Change type from char to - signed char. - * gcc.dg/torture/pr117226.c (main): Change f type from char to - signed char. - -2024-10-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-16.c: New test. - -2024-10-23 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113860 - * gcc.target/aarch64/popcnt-sve.c: Update test. - * gcc.target/aarch64/popcnt11.c: New test. - * gcc.target/aarch64/popcnt12.c: New test. - -2024-10-23 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/117222 - * g++.dg/pr117222.C: New. - -2024-10-23 David Malcolm <dmalcolm@redhat.com> - - PR fortran/105916 - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Include - "diagnostic-buffer.h". - (class diagnostic_xhtml_format_buffer): New subclass. - (class xhtml_builder): Add friend - class diagnostic_xhtml_format_buffer. - (diagnostic_xhtml_format_buffer::dump): New. - (diagnostic_xhtml_format_buffer::empty_p): New. - (diagnostic_xhtml_format_buffer::move_to): New. - (diagnostic_xhtml_format_buffer::clear): New. - (diagnostic_xhtml_format_buffer::flush): New. - (xhtml_builder::on_report_diagnostic): Add "buffer" param, and use - it. - (xhtml_output_format::dump): Fix typo. - (xhtml_output_format::make_per_format_buffer): New. - (xhtml_output_format::set_buffer): New. - (xhtml_output_format::on_report_diagnostic): Fix whitespace. Pass - m_buffer to xhtml_builder::on_report_diagnostic. - (xhtml_output_format::xhtml_output_format): Initialize m_buffer. - (xhtml_output_format::m_buffer): New field. - * gfortran.dg/diagnostic-format-json-pr105916.F90: New test. - * gfortran.dg/diagnostic-format-sarif-1.F90: New test. - * gfortran.dg/diagnostic-format-sarif-1.py: New support script. - * gfortran.dg/diagnostic-format-sarif-pr105916.f90: New test. - -2024-10-23 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/116733 - * gfortran.dg/associate_3.f03: Change error message. - * gfortran.dg/f202y/f202y.exp: Enable tests of f202y features. - * gfortran.dg/f202y/generic_assumed_rank_1.f90: New test. - * gfortran.dg/f202y/generic_assumed_rank_2.f90: New test. - * gfortran.dg/f202y/generic_assumed_rank_3.f90: New test. - -2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * gcc.target/aarch64/copysign_3.c: New test. - * gcc.target/aarch64/copysign_4.c: New test. - * gcc.target/aarch64/fneg-abs_2.c: Fixup test. - * gcc.target/aarch64/sve/fneg-abs_2.c: Likewise. - -2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * gcc.target/aarch64/sve/simd_imm.c: New test. - -2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * gcc.target/aarch64/sve/acle/asm/insr_s64.c: Allow SVE MOV imm. - * gcc.target/aarch64/sve/acle/asm/insr_u64.c: Likewise. - * gcc.target/aarch64/sve/fneg-abs_1.c: Update to check for ORRI. - * gcc.target/aarch64/sve/fneg-abs_2.c: Likewise. - * gcc.target/aarch64/sve/simd_imm_mov.c: New test. - -2024-10-23 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr117240_avx.c: New test. - * gcc.target/i386/pr117240_avx512f.c: New test. - -2024-10-23 Martin Jambor <mjambor@suse.cz> - - PR tree-optimization/117142 - * gcc.dg/tree-ssa/pr117142.c: New test. - -2024-10-23 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/Wleading-whitespace-1.c: New test. - * c-c++-common/cpp/Wleading-whitespace-2.c: New test. - * c-c++-common/cpp/Wleading-whitespace-3.c: New test. - * c-c++-common/cpp/Wleading-whitespace-4.c: New test. - -2024-10-23 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr117232-1.c: New test. - * gcc.target/i386/pr117232-apx-1.c: New test. - -2024-10-23 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/gnu17-tag-1.c, gcc.dg/gnu23-tag-5.c: New tests. - -2024-10-22 Jason Merrill <jason@redhat.com> - - PR c++/117107 - PR c++/92687 - * g++.dg/cpp2a/decomp10.C: New test. - -2024-10-22 Jason Merrill <jason@redhat.com> - - PR c++/116929 - * g++.dg/modules/enum-14.C: New test. - -2024-10-22 Jakub Jelinek <jakub@redhat.com> - - PR c/117190 - * c-c++-common/init-5.c: New test. - -2024-10-22 Jakub Jelinek <jakub@redhat.com> - - PR c/117230 - * c-c++-common/Wsizeof-pointer-memaccess5.c: New test. - -2024-10-22 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/117199 - * gcc.dg/lto/pr117199_0.c: New test. - -2024-10-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/fp16-aapcs-1.c: Use check-function-bodies. - * gcc.target/arm/fp16-aapcs-2.c: Likewise. - * gcc.target/arm/fp16-aapcs-3.c: Likewise. - * gcc.target/arm/fp16-aapcs-4.c: Likewise. - -2024-10-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: Allow lsl and - lsr instructions. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-and-union.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/union-2.c: Likewise. - -2024-10-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-5.c: Use - check-function-bodies. - * gcc.target/arm/cmse/mainline/8m/hard/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8m/soft/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c: - Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-5.c: Likewise. - -2024-10-22 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.dg/tree-ssa/log_ident.c: Add scan for removal of - link_error in optimized tree dump. - -2024-10-22 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/torture/pr112305.c: Skip at -O0 and -O1 for simulators. - -2024-10-22 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/inst-4_b.C: Adjust pending-entity count. - * g++.dg/modules/member-def-1_c.C: Likewise. - * g++.dg/modules/member-def-2_c.C: Likewise. - * g++.dg/modules/tpl-spec-3_b.C: Likewise. - * g++.dg/modules/tpl-spec-4_b.C: Likewise. - * g++.dg/modules/tpl-spec-5_b.C: Likewise. - * g++.dg/modules/class-9_a.H: New test. - * g++.dg/modules/class-9_b.H: New test. - * g++.dg/modules/class-9_c.C: New test. - -2024-10-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117254 - * gcc.dg/pr117254.c: New testcase. - -2024-10-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117123 - * g++.dg/tree-ssa/pr117123.C: New testcase. - -2024-10-22 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * g++.dg/cpp23/ext-floating19.C: Fix typo for bfloat16 guard. - -2024-10-22 xuli <xuli1@eswincomputing.com> - - * gcc.target/riscv/sat_u_sub_imm-1_4.c: New test. - * gcc.target/riscv/sat_u_sub_imm-2_4.c: New test. - * gcc.target/riscv/sat_u_sub_imm-3_4.c: New test. - * gcc.target/riscv/sat_u_sub_imm-4_2.c: New test. - -2024-10-22 xuli <xuli1@eswincomputing.com> - - * gcc.target/riscv/sat_u_sub_imm-1_3.c: New test. - * gcc.target/riscv/sat_u_sub_imm-2_3.c: New test. - * gcc.target/riscv/sat_u_sub_imm-3_3.c: New test. - * gcc.target/riscv/sat_u_sub_imm-4_1.c: New test. - -2024-10-21 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116488 - PR rtl-optimization/116579 - PR rtl-optimization/116915 - PR rtl-optimization/117226 - * gcc.dg/torture/pr116488.c: New test. - * gcc.dg/torture/pr116579.c: New test. - * gcc.dg/torture/pr116915.c: New test. - * gcc.dg/torture/pr117226.c: New test. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i8.c: New test. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i8.c: New test. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i8.c: New test. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i8.c: New test. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i8.c: New test. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i8.c: New test. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i8.c: New test. - -2024-10-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/unop/vec_sat_data.h: Add test data for - signed SAT_TRUNC. - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i16-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i32-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i32-to-i8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i32.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i8.c: New test. - -2024-10-21 Alex Coplan <alex.coplan@arm.com> - - PR rtl-optimization/116783 - * g++.dg/torture/pr116783.C: New test. - -2024-10-21 xuli <xuli1@eswincomputing.com> - - * gcc.target/riscv/sat_s_add-1.c: Skip flag -flto. - * gcc.target/riscv/sat_s_add-10.c: Ditto. - * gcc.target/riscv/sat_s_add-11.c: Ditto. - * gcc.target/riscv/sat_s_add-12.c: Ditto. - * gcc.target/riscv/sat_s_add-13.c: Ditto. - * gcc.target/riscv/sat_s_add-14.c: Ditto. - * gcc.target/riscv/sat_s_add-15.c: Ditto. - * gcc.target/riscv/sat_s_add-16.c: Ditto. - * gcc.target/riscv/sat_s_add-2.c: Ditto. - * gcc.target/riscv/sat_s_add-3.c: Ditto. - * gcc.target/riscv/sat_s_add-4.c: Ditto. - * gcc.target/riscv/sat_s_add-5.c: Ditto. - * gcc.target/riscv/sat_s_add-6.c: Ditto. - * gcc.target/riscv/sat_s_add-7.c: Ditto. - * gcc.target/riscv/sat_s_add-8.c: Ditto. - * gcc.target/riscv/sat_s_add-9.c: Ditto. - * gcc.target/riscv/sat_s_sub-1-i16.c: Ditto. - * gcc.target/riscv/sat_s_sub-1-i32.c: Ditto. - * gcc.target/riscv/sat_s_sub-1-i64.c: Ditto. - * gcc.target/riscv/sat_s_sub-1-i8.c: Ditto. - * gcc.target/riscv/sat_s_sub-2-i16.c: Ditto. - * gcc.target/riscv/sat_s_sub-2-i32.c: Ditto. - * gcc.target/riscv/sat_s_sub-2-i64.c: Ditto. - * gcc.target/riscv/sat_s_sub-2-i8.c: Ditto. - * gcc.target/riscv/sat_s_sub-3-i16.c: Ditto. - * gcc.target/riscv/sat_s_sub-3-i32.c: Ditto. - * gcc.target/riscv/sat_s_sub-3-i64.c: Ditto. - * gcc.target/riscv/sat_s_sub-3-i8.c: Ditto. - * gcc.target/riscv/sat_s_sub-4-i16.c: Ditto. - * gcc.target/riscv/sat_s_sub-4-i32.c: Ditto. - * gcc.target/riscv/sat_s_sub-4-i64.c: Ditto. - * gcc.target/riscv/sat_s_sub-4-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c: Ditto. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c: Ditto. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c: Ditto. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c: Ditto. - * gcc.target/riscv/sat_u_add-1.c: Ditto. - * gcc.target/riscv/sat_u_add-10.c: Ditto. - * gcc.target/riscv/sat_u_add-11.c: Ditto. - * gcc.target/riscv/sat_u_add-12.c: Ditto. - * gcc.target/riscv/sat_u_add-13.c: Ditto. - * gcc.target/riscv/sat_u_add-14.c: Ditto. - * gcc.target/riscv/sat_u_add-15.c: Ditto. - * gcc.target/riscv/sat_u_add-16.c: Ditto. - * gcc.target/riscv/sat_u_add-17.c: Ditto. - * gcc.target/riscv/sat_u_add-18.c: Ditto. - * gcc.target/riscv/sat_u_add-19.c: Ditto. - * gcc.target/riscv/sat_u_add-2.c: Ditto. - * gcc.target/riscv/sat_u_add-20.c: Ditto. - * gcc.target/riscv/sat_u_add-21.c: Ditto. - * gcc.target/riscv/sat_u_add-22.c: Ditto. - * gcc.target/riscv/sat_u_add-23.c: Ditto. - * gcc.target/riscv/sat_u_add-24.c: Ditto. - * gcc.target/riscv/sat_u_add-3.c: Ditto. - * gcc.target/riscv/sat_u_add-4.c: Ditto. - * gcc.target/riscv/sat_u_add-5.c: Ditto. - * gcc.target/riscv/sat_u_add-6.c: Ditto. - * gcc.target/riscv/sat_u_add-7.c: Ditto. - * gcc.target/riscv/sat_u_add-8.c: Ditto. - * gcc.target/riscv/sat_u_add-9.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-1.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-10.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-11.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-12.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-13.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-14.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-15.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-16.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-2.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-3.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-4.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-5.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-6.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-7.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-8.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-9.c: Ditto. - * gcc.target/riscv/sat_u_sub-1.c: Ditto. - * gcc.target/riscv/sat_u_sub-10.c: Ditto. - * gcc.target/riscv/sat_u_sub-11.c: Ditto. - * gcc.target/riscv/sat_u_sub-12.c: Ditto. - * gcc.target/riscv/sat_u_sub-13.c: Ditto. - * gcc.target/riscv/sat_u_sub-14.c: Ditto. - * gcc.target/riscv/sat_u_sub-15.c: Ditto. - * gcc.target/riscv/sat_u_sub-16.c: Ditto. - * gcc.target/riscv/sat_u_sub-17.c: Ditto. - * gcc.target/riscv/sat_u_sub-18.c: Ditto. - * gcc.target/riscv/sat_u_sub-19.c: Ditto. - * gcc.target/riscv/sat_u_sub-2.c: Ditto. - * gcc.target/riscv/sat_u_sub-20.c: Ditto. - * gcc.target/riscv/sat_u_sub-21.c: Ditto. - * gcc.target/riscv/sat_u_sub-22.c: Ditto. - * gcc.target/riscv/sat_u_sub-23.c: Ditto. - * gcc.target/riscv/sat_u_sub-24.c: Ditto. - * gcc.target/riscv/sat_u_sub-25.c: Ditto. - * gcc.target/riscv/sat_u_sub-26.c: Ditto. - * gcc.target/riscv/sat_u_sub-27.c: Ditto. - * gcc.target/riscv/sat_u_sub-28.c: Ditto. - * gcc.target/riscv/sat_u_sub-29.c: Ditto. - * gcc.target/riscv/sat_u_sub-3.c: Ditto. - * gcc.target/riscv/sat_u_sub-30.c: Ditto. - * gcc.target/riscv/sat_u_sub-31.c: Ditto. - * gcc.target/riscv/sat_u_sub-32.c: Ditto. - * gcc.target/riscv/sat_u_sub-33.c: Ditto. - * gcc.target/riscv/sat_u_sub-34.c: Ditto. - * gcc.target/riscv/sat_u_sub-35.c: Ditto. - * gcc.target/riscv/sat_u_sub-36.c: Ditto. - * gcc.target/riscv/sat_u_sub-37.c: Ditto. - * gcc.target/riscv/sat_u_sub-38.c: Ditto. - * gcc.target/riscv/sat_u_sub-39.c: Ditto. - * gcc.target/riscv/sat_u_sub-4.c: Ditto. - * gcc.target/riscv/sat_u_sub-40.c: Ditto. - * gcc.target/riscv/sat_u_sub-41.c: Ditto. - * gcc.target/riscv/sat_u_sub-42.c: Ditto. - * gcc.target/riscv/sat_u_sub-43.c: Ditto. - * gcc.target/riscv/sat_u_sub-44.c: Ditto. - * gcc.target/riscv/sat_u_sub-45.c: Ditto. - * gcc.target/riscv/sat_u_sub-46.c: Ditto. - * gcc.target/riscv/sat_u_sub-47.c: Ditto. - * gcc.target/riscv/sat_u_sub-48.c: Ditto. - * gcc.target/riscv/sat_u_sub-5.c: Ditto. - * gcc.target/riscv/sat_u_sub-6.c: Ditto. - * gcc.target/riscv/sat_u_sub-7.c: Ditto. - * gcc.target/riscv/sat_u_sub-8.c: Ditto. - * gcc.target/riscv/sat_u_sub-9.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-10.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-10_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-10_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-11.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-11_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-11_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-12.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-13.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-13_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-13_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-14.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-14_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-14_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-15.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-15_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-15_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-16.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-1_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-1_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-2_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-2_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-3.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-3_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-3_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-4.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-5.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-5_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-5_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-6.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-6_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-6_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-7.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-7_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-7_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-8.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-9.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-9_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-9_2.c: Ditto. - * gcc.target/riscv/sat_u_trunc-1.c: Ditto. - * gcc.target/riscv/sat_u_trunc-10.c: Ditto. - * gcc.target/riscv/sat_u_trunc-11.c: Ditto. - * gcc.target/riscv/sat_u_trunc-12.c: Ditto. - * gcc.target/riscv/sat_u_trunc-13.c: Ditto. - * gcc.target/riscv/sat_u_trunc-14.c: Ditto. - * gcc.target/riscv/sat_u_trunc-15.c: Ditto. - * gcc.target/riscv/sat_u_trunc-16.c: Ditto. - * gcc.target/riscv/sat_u_trunc-17.c: Ditto. - * gcc.target/riscv/sat_u_trunc-18.c: Ditto. - * gcc.target/riscv/sat_u_trunc-19.c: Ditto. - * gcc.target/riscv/sat_u_trunc-2.c: Ditto. - * gcc.target/riscv/sat_u_trunc-20.c: Ditto. - * gcc.target/riscv/sat_u_trunc-21.c: Ditto. - * gcc.target/riscv/sat_u_trunc-22.c: Ditto. - * gcc.target/riscv/sat_u_trunc-23.c: Ditto. - * gcc.target/riscv/sat_u_trunc-24.c: Ditto. - * gcc.target/riscv/sat_u_trunc-3.c: Ditto. - * gcc.target/riscv/sat_u_trunc-4.c: Ditto. - * gcc.target/riscv/sat_u_trunc-5.c: Ditto. - * gcc.target/riscv/sat_u_trunc-6.c: Ditto. - * gcc.target/riscv/sat_u_trunc-7.c: Ditto. - * gcc.target/riscv/sat_u_trunc-8.c: Ditto. - * gcc.target/riscv/sat_u_trunc-9.c: Ditto. - -2024-10-21 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/arm/bti-1.c: Require arch, use its opts, drop skip. - * gcc.target/arm/bti-2.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-11.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-12.c: Likewise. - * gcc.target/arm/acle/pacbti-m-predef-7.c: Likewise. - * g++.target/arm/pac-1.C: Likewise. Drop +mve. - -2024-10-21 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr117159.c: New test. - * gcc.target/i386/avx512bw-pr103750-1.c: Remove xfail. - * gcc.target/i386/avx512bw-pr103750-2.c: Remove xfail. - -2024-10-20 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-10-20 Craig Blackmore <craig.blackmore@embecosm.com> - - * gcc.target/riscv/rvv/autovec/pr113469.c: Expect mf2 setmem. - * gcc.target/riscv/rvv/base/setmem-2.c: Update f1 to expect - straight-line vector memset. - * gcc.target/riscv/rvv/base/setmem-3.c: Likewise. - -2024-10-19 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/114423 - * c-c++-common/cpp/pragma-diagnostic-loc.c: New test. - * c-c++-common/cpp/diagnostic-pragma-1.c: Adjust expected output. - * g++.dg/pch/operator-1.C: Likewise. - -2024-10-19 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/112418 - * gcc.dg/tree-ssa/factor_op_phi-1.c: New test. - * gcc.dg/tree-ssa/factor_op_phi-2.c: New test. - * gcc.dg/tree-ssa/factor_op_phi-3.c: New test. - * gcc.dg/tree-ssa/factor_op_phi-4.c: New test. - -2024-10-19 Greg McGary <gkm@rivosinc.com> - - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-1.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-2.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-3.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-4.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-5.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-6.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-7.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-3.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-4.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-5.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-6.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-7.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-1.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-2.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-3.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-4.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-5.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-6.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-7.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-1.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-2.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-3.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-4.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-5.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-6.c: - New test. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-7.c: - New test. - * gcc.target/riscv/rvv/autovec/no-segment.c: New test. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-1.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-10.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-11.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-12.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-13.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-14.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-15.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-16.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-17.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-18.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-2.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-3.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-4.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-5.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-6.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-7.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-8.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-9.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-1.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-10.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-11.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-12.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-13.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-14.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-15.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-16.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-17.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-18.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-2.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-3.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-4.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-5.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-6.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-7.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-8.c: New file. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-9.c: New file. - -2024-10-19 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/117225 - * gfortran.dg/unsigned_38.f90: Add missing dg-error directive. - -2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> - - * gcc.target/riscv/rvv/autovec/pr113469.c: Expect mf2 setmem. - * gcc.target/riscv/rvv/base/setmem-2.c: Update f1 to expect - straight-line vector memset. - * gcc.target/riscv/rvv/base/setmem-3.c: Likewise. - -2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> - - * gcc.target/riscv/rvv/autovec/pr113206-1.c: Add - -mrvv-max-lmul=m8. - * gcc.target/riscv/rvv/autovec/pr113206-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: Add - -mrvv-max-lmul=m8 and adjust assembly scans. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: - Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: - Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: - Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: - Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: - Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: - Likewise. - * gcc.target/riscv/rvv/autovec/vls/spill-4.c: Add - -mrvv-max-lmul=m8. - * gcc.target/riscv/rvv/autovec/vls/spill-7.c: Likewise. - * gcc.target/riscv/rvv/base/cpymem-1.c: Expect m1 in f1 and f2. - * gcc.target/riscv/rvv/base/cpymem-2.c: Add -mrvv-max-lmul=m8. - * gcc.target/riscv/rvv/base/movmem-1.c: Adjust f1 to a length - that will not get vectorized. - * gcc.target/riscv/rvv/base/pr111720-0.c: Add -mrvv-max-lmul=m8. - * gcc.target/riscv/rvv/base/pr111720-1.c: Likewise. - * gcc.target/riscv/rvv/base/pr111720-2.c: Likewise. - * gcc.target/riscv/rvv/base/pr111720-3.c: Likewise. - * gcc.target/riscv/rvv/base/pr111720-4.c: Likewise. - * gcc.target/riscv/rvv/base/pr111720-5.c: Likewise. - * gcc.target/riscv/rvv/base/pr111720-6.c: Likewise. - * gcc.target/riscv/rvv/base/pr111720-7.c: Likewise. - * gcc.target/riscv/rvv/base/pr111720-8.c: Likewise. - * gcc.target/riscv/rvv/base/pr111720-9.c: Likewise. - * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: Expect memcpy m1 - loops. - * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Likewise. - -2024-10-19 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115328 - * gm2/iso/fail/badparam.def: New test. - * gm2/iso/fail/badparam.mod: New test. - * gm2/iso/fail/badparam2.def: New test. - * gm2/iso/fail/badparam2.mod: New test. - * gm2/iso/fail/badparam3.def: New test. - * gm2/iso/fail/badparam3.mod: New test. - * gm2/iso/fail/badparamarray.def: New test. - * gm2/iso/fail/badparamarray.mod: New test. - * gm2/iso/fail/simpledef1.def: New test. - * gm2/iso/fail/simpledef1.mod: New test. - * gm2/iso/fail/simpleforward.mod: New test. - * gm2/iso/fail/simpleforward2.mod: New test. - * gm2/iso/fail/simpleforward3.mod: New test. - * gm2/iso/fail/simpleforward4.mod: New test. - * gm2/iso/fail/simpleforward5.mod: New test. - * gm2/iso/fail/simpleforward7.mod: New test. - * gm2/iso/pass/simpleforward.mod: New test. - * gm2/iso/pass/simpleforward6.mod: New test. - -2024-10-19 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.dg/bounds_check_25.f90: Update expected column - in the diagnostic. - * gfortran.dg/goacc/pr92793-1.f90: Likewise. - * gfortran.dg/gomp/allocate-14.f90: Likewise. - * gfortran.dg/gomp/polymorphic-mapping.f90: Likewise. - * gfortran.dg/gomp/reduction5.f90: Likewise. - * gfortran.dg/gomp/reduction6.f90: Likewise. - -2024-10-19 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/117225 - * gfortran.dg/unsigned_38.f90: New test. - -2024-10-19 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c - (xhtml_output_format::dump): New. - -2024-10-19 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/wtr-gnu17-1.c, gcc.dg/wtr-gnu23-1.c: New tests. - -2024-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_37.f90: New test. - -2024-10-18 Craig Blackmore <craig.blackmore@embecosm.com> - - * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: Expect smaller lmul. - * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Likewise. - * gcc.target/riscv/rvv/base/cpymem-3.c: New test. - -2024-10-18 Uros Bizjak <ubizjak@gmail.com> - - PR target/117192 - * gcc.target/i386/pr117192.c: New test. - -2024-10-18 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/acle/asm/div_s32.c: Adjust expected outcome. - * 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/fold_div_zero.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mul_s16.c: New test. - * 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/mul_const_run.c: Likewise. - -2024-10-18 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect.exp: Remove special-casing of tests - named trapv-* - * gcc.dg/vect/trapv-vect-reduc-4.c: Add dg-additional-options -ftrapv. - -2024-10-18 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect.exp: Remove special-casing of tests - named wrapv-* - * gcc.dg/vect/wrapv-vect-7.c: Add dg-additional-options -fwrapv. - * gcc.dg/vect/wrapv-vect-reduc-2char.c: Likewise. - * gcc.dg/vect/wrapv-vect-reduc-2short.c: Likewise. - * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise. - * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Likewise. - -2024-10-18 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect.exp: Remove special-casing of tests - named fast-math-* - * gcc.dg/vect/fast-math-bb-slp-call-1.c: Add dg-additional-options - -ffast-math. - * gcc.dg/vect/fast-math-bb-slp-call-2.c: Likewise. - * gcc.dg/vect/fast-math-bb-slp-call-3.c: Likewise. - * gcc.dg/vect/fast-math-ifcvt-1.c: Likewise. - * gcc.dg/vect/fast-math-pr35982.c: Likewise. - * gcc.dg/vect/fast-math-pr43074.c: Likewise. - * gcc.dg/vect/fast-math-pr44152.c: Likewise. - * gcc.dg/vect/fast-math-pr55281.c: Likewise. - * gcc.dg/vect/fast-math-slp-27.c: Likewise. - * gcc.dg/vect/fast-math-slp-38.c: Likewise. - * gcc.dg/vect/fast-math-vect-call-1.c: Likewise. - * gcc.dg/vect/fast-math-vect-call-2.c: Likewise. - * gcc.dg/vect/fast-math-vect-complex-3.c: Likewise. - * gcc.dg/vect/fast-math-vect-outer-7.c: Likewise. - * gcc.dg/vect/fast-math-vect-pow-1.c: Likewise. - * gcc.dg/vect/fast-math-vect-pow-2.c: Likewise. - * gcc.dg/vect/fast-math-vect-pr25911.c: Likewise. - * gcc.dg/vect/fast-math-vect-pr29925.c: Likewise. - * gcc.dg/vect/fast-math-vect-reduc-5.c: Likewise. - * gcc.dg/vect/fast-math-vect-reduc-7.c: Likewise. - * gcc.dg/vect/fast-math-vect-reduc-8.c: Likewise. - * gcc.dg/vect/fast-math-vect-reduc-9.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: - Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: - Likewise. - * gcc.dg/vect/complex/fast-math-complex-mla-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mla-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise. - * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise. - -2024-10-18 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect.exp: Remove special-casing of tests - named no-vfa-* - * gcc.dg/vect/no-vfa-pr29145.c: Add dg-additional-options - --param vect-max-version-for-alias-checks=0. - * gcc.dg/vect/no-vfa-vect-101.c: Likewise. - * gcc.dg/vect/no-vfa-vect-102.c: Likewise. - * gcc.dg/vect/no-vfa-vect-102a.c: Likewise. - * gcc.dg/vect/no-vfa-vect-37.c: Likewise. - * gcc.dg/vect/no-vfa-vect-43.c: Likewise. - * gcc.dg/vect/no-vfa-vect-45.c: Likewise. - * gcc.dg/vect/no-vfa-vect-49.c: Likewise. - * gcc.dg/vect/no-vfa-vect-51.c: Likewise. - * gcc.dg/vect/no-vfa-vect-53.c: Likewise. - * gcc.dg/vect/no-vfa-vect-57.c: Likewise. - * gcc.dg/vect/no-vfa-vect-61.c: Likewise. - * gcc.dg/vect/no-vfa-vect-79.c: Likewise. - * gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise. - * gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise. - * gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise. - * gcc.dg/vect/no-vfa-vect-dv-2.c: Likewise. - -2024-10-18 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/lto/pr115815_0.c: Add dejagu directives. - -2024-10-18 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/117140 - * gcc.dg/vect/vect-early-break_129-pr117140.c: New test. - -2024-10-18 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/vec-perm-lower.c: New test. - -2024-10-18 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/const_create_using_fmov.c: New test. - -2024-10-18 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/ldp_stp_18.c: Update zero regexpr. - * gcc.target/aarch64/memset-corner-cases.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_bf16.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_f16.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_f32.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_f64.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_s16.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_s32.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_s64.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_s8.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_u16.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_u32.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_u64.c: Likewise. - * gcc.target/aarch64/sme/acle-asm/revd_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acge_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acge_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acge_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acgt_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acgt_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acgt_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acle_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acle_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/acle_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/aclt_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/aclt_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/aclt_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/bic_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/cmpuo_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/cmpuo_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/cmpuo_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_s16.c: Likewise. - * 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_s8.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. - * gcc.target/aarch64/sve/acle/asm/dup_u8.c: Likewise. - * gcc.target/aarch64/sve/const_fold_div_1.c: Likewise. - * gcc.target/aarch64/sve/const_fold_mul_1.c: Likewise. - * gcc.target/aarch64/sve/dup_imm_1.c: Likewise. - * gcc.target/aarch64/sve/fdup_1.c: Likewise. - * gcc.target/aarch64/sve/fold_div_zero.c: Likewise. - * gcc.target/aarch64/sve/fold_mul_zero.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_2.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_4.c: Likewise. - * gcc.target/aarch64/vect-fmovd-zero.c: Likewise. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c: Use pointer - parameter in foo2. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c: Likewise. - -2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> - - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u16.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u32.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u8.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u16.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u32.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u8.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u16.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u32.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u8.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u16.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u32.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u8.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u16.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u32.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u8.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u16.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u32.c: Remove foo2. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u8.c: Remove foo2. - -2024-10-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/acle/cde-mve-error-1.c: Corrected quotation in - expected error message. - -2024-10-18 Victor Rodriguez <victor.rodriguez.bahena@intel.com> - - * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8-2.c: Fix typo. - * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. - -2024-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/105361 - * gfortran.dg/pr105361.f90: In the comparisons of - real values after a read, use a tolerance so that - subtle differences in results between different - architectures do not fail. - -2024-10-17 Georg-Johann Lay <avr@gjlay.de> - - PR rtl-optimization/117191 - * gcc.target/avr/torture/pr117189.c: Rename to... - * gcc.target/avr/torture/pr117191.c: ...this. - -2024-10-17 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * gcc.dg/builtin-object-size-1.c (test12): New test. - (main): Call it. - -2024-10-17 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/lra-pr116550-2.c: Rename to... - * gcc.target/avr/torture/pr117189.c: ...this. - -2024-10-17 Georg-Johann Lay <avr@gjlay.de> - - PR rtl-optimization/116550 - * gcc.target/avr/torture/lra-pr116550-1.c: New file. - * gcc.target/avr/torture/lra-pr116550-2.c: New file. - -2024-10-17 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect.exp: Process no-fast-math-* and - no-math-errno-* in the main set. - * gcc.dg/vect/no-fast-math-vect16.c: Add -fno-fast-math. - * gcc.dg/vect/no-math-errno-slp-32.c: Add -fno-math-errno. - * gcc.dg/vect/no-math-errno-vect-pow-1.c: Likewise. - -2024-10-17 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx10_1-25.c: Add -march=x86-64-v3. - * gcc.target/i386/avx10_1-26.c: Ditto. - * gcc.target/i386/avx10_2-512-bf-vector-cmpp-1.c: Ditto. - * gcc.target/i386/avx10_2-512-bf-vector-fma-1.c: Ditto. - * gcc.target/i386/avx10_2-512-bf-vector-operations-1.c: Ditto. - * gcc.target/i386/avx10_2-512-bf-vector-smaxmin-1.c: Ditto. - * gcc.target/i386/avx10_2-512-bf16-1.c: Ditto. - * gcc.target/i386/avx10_2-512-convert-1.c: Ditto. - * gcc.target/i386/avx10_2-512-media-1.c: Ditto. - * gcc.target/i386/avx10_2-512-minmax-1.c: Ditto. - * gcc.target/i386/avx10_2-512-satcvt-1.c: Ditto. - * gcc.target/i386/avx10_2-512-vaddnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcmppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvt2ps2phx-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvthf82ph-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vdivnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vdpphps-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfnmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfnmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vgetexppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmaxpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxpd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxph-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxps-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmpsadbw-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmulnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbssds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbsud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbuud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbuuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwsud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwusd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwusds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwuud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwuuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrcppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vreducenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vscalefpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vsubnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-bf-vector-cmpp-1.c: Ditto. - * gcc.target/i386/avx10_2-bf-vector-fma-1.c: Ditto. - * gcc.target/i386/avx10_2-bf-vector-operations-1.c: Ditto. - * gcc.target/i386/avx10_2-bf-vector-smaxmin-1.c: Ditto. - * gcc.target/i386/avx10_2-bf16-1.c: Ditto. - * gcc.target/i386/avx10_2-builtin-1.c: Ditto. - * gcc.target/i386/avx10_2-builtin-2.c: Ditto. - * gcc.target/i386/avx10_2-compare-1.c: Ditto. - * gcc.target/i386/avx10_2-compare-1b.c: Ditto. - * gcc.target/i386/avx10_2-convert-1.c: Ditto. - * gcc.target/i386/avx10_2-media-1.c: Ditto. - * gcc.target/i386/avx10_2-minmax-1.c: Ditto. - * gcc.target/i386/avx10_2-partial-bf-vector-fast-math-1.c: Ditto. - * gcc.target/i386/avx10_2-partial-bf-vector-fma-1.c: Ditto. - * gcc.target/i386/avx10_2-partial-bf-vector-operations-1.c: Ditto. - * gcc.target/i386/avx10_2-partial-bf-vector-smaxmin-1.c: Ditto. - * gcc.target/i386/avx10_2-rounding-1.c: Ditto. - * gcc.target/i386/avx10_2-rounding-2.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Ditto. - * gcc.target/i386/avx10_2-satcvt-1.c: Ditto. - * gcc.target/i386/avx10_2-vaddnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vcmppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vcomsbf16-1.c: Ditto. - * gcc.target/i386/avx10_2-vcomsbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvt2ps2phx-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtbiasph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtbiasph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtbiasph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtbiasph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvthf82ph-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtne2ph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtne2ph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtne2ph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtne2ph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtneph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtneph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtneph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtneph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttpd2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttpd2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttpd2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttpd2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttsd2sis-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttsd2usis-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttss2sis-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttss2usis-2.c: Ditto. - * gcc.target/i386/avx10_2-vdivnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vdpphps-2.c: Ditto. - * gcc.target/i386/avx10_2-vfmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfnmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfnmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfpclasspbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vgetexppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vgetmantpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vmaxpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxpd-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxph-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxps-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxsd-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxsh-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxss-2.c: Ditto. - * gcc.target/i386/avx10_2-vminpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vmovd-1.c: Ditto. - * gcc.target/i386/avx10_2-vmovd-2.c: Ditto. - * gcc.target/i386/avx10_2-vmovw-1.c: Ditto. - * gcc.target/i386/avx10_2-vmovw-2.c: Ditto. - * gcc.target/i386/avx10_2-vmpsadbw-2.c: Ditto. - * gcc.target/i386/avx10_2-vmulnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbssd-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbssds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbsud-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbuud-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbuuds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwsud-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwusd-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwusds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwuud-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwuuds-2.c: Ditto. - * gcc.target/i386/avx10_2-vrcppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vreducenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vrndscalenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vrsqrtpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vscalefpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vsqrtnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vsubnepbf16-2.c: Ditto. - -2024-10-17 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray/add_sources/submodule_1_sub.f90: New test. - * gfortran.dg/coarray/submodule_1.f90: New test. - -2024-10-17 Jakub Jelinek <jakub@redhat.com> - - PR c/117028 - * gcc.dg/bitint-112.c: New test. - * gcc.dg/c23-digit-separators-1.c: Add _Static_assert for - valid binary constant with digit separator. - * gcc.dg/c23-octal-constants-1.c: New test. - * gcc.dg/c23-octal-constants-2.c: New test. - * gcc.dg/c2y-digit-separators-1.c: New test. - * gcc.dg/c2y-digit-separators-2.c: New test. - * gcc.dg/c2y-octal-constants-1.c: New test. - * gcc.dg/c2y-octal-constants-2.c: New test. - * gcc.dg/c2y-octal-constants-3.c: New test. - * gcc.dg/cpp/c23-delimited-escape-seq-1.c: New test. - * gcc.dg/cpp/c23-delimited-escape-seq-2.c: New test. - * gcc.dg/cpp/c2y-delimited-escape-seq-1.c: New test. - * gcc.dg/cpp/c2y-delimited-escape-seq-2.c: New test. - * gcc.dg/cpp/c2y-delimited-escape-seq-3.c: New test. - * gcc.dg/cpp/c2y-delimited-escape-seq-4.c: New test. - * gcc.dg/octal-constants-1.c: New test. - * gcc.dg/octal-constants-2.c: New test. - * gcc.dg/octal-constants-3.c: New test. - * gcc.dg/octal-constants-4.c: New test. - * gcc.dg/system-octal-constants-1.c: New test. - * gcc.dg/system-octal-constants-1.h: New file. - -2024-10-17 Jakub Jelinek <jakub@redhat.com> - - PR c/117177 - * c-c++-common/init-4.c: New test. - -2024-10-17 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr116940.c: New test. - -2024-10-17 Cui, Lili <lili.cui@intel.com> - - * g++.target/i386/vect-cmp.C: New test. - -2024-10-16 Siddhesh Poyarekar <siddhesh@gotplt.org> - - * gcc.dg/builtin-object-size-3.c (test9): Adjust test. - * gcc.dg/builtin-object-size-4.c (test8): Likewise. - -2024-10-16 Jolen Li <jolen.li@arm.com> - Christophe Lyon <christophe.lyon@arm.com> - - * gcc.target/arm/mve/intrinsics/vdupq_n_u8.c (foo1): Update - expected code. - * gcc.target/arm/mve/intrinsics/vdupq_n_u16.c (foo1): Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_u32.c (foo1): Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_s8.c: Add test with - immediate argument. - * gcc.target/arm/mve/intrinsics/vdupq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_f16.c (foo1): Update - expected code. - * gcc.target/arm/mve/intrinsics/vdupq_n_f32.c (foo1): Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s16.c: Add test with - immediate argument. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_f32-2.c: New test. - * gcc.target/arm/mve/intrinsics/vdupq_n_s16-2.c: New test. - * gcc.target/arm/mve/intrinsics/vdupq_n_s32-2.c: New test. - * gcc.target/arm/mve/intrinsics/vdupq_n_u16-2.c: New test. - * gcc.target/arm/mve/intrinsics/vdupq_n_u32-2.c: New test. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: Remove xfail. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: Likewise. - -2024-10-16 David Malcolm <dmalcolm@redhat.com> - - PR other/116602 - * gcc.dg/plugin/crash-test-ice-in-header-sarif-2_1.py: Add check - for backtrace. - * gcc.dg/plugin/crash-test-ice-in-header-sarif-2_2.py: Likewise. - -2024-10-16 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Update for - removal of ICE callback. - -2024-10-16 Joseph Myers <josmyers@redhat.com> - - * c-c++-common/Wcast-function-type.c: Add -std=gnu17 for C. - * c-c++-common/Wformat-pr84258.c: Add -std=gnu17 for C. - * c-c++-common/Wvarargs.c: Add -std=gnu17 for C. - * c-c++-common/analyzer/data-model-12.c: Add -std=gnu17 for C. - * c-c++-common/builtins.c: Add -std=gnu17 for C. - * c-c++-common/pointer-to-fn1.c: Add -std=gnu17 for C. - * c-c++-common/pragma-diag-17.c: Add -std=gnu17 for C. - * c-c++-common/sizeof-array-argument.c: Add - -Wno-old-style-definition for C. - * g++.dg/lto/pr54625-1_0.c: Add -std=gnu17. - * g++.dg/lto/pr54625-2_0.c: Add -std=gnu17. - * gcc.c-torture/compile/20040214-2.c: Add -std=gnu17. - * gcc.c-torture/compile/921011-2.c: Add -std=gnu17. - * gcc.c-torture/compile/931102-1.c: Add -std=gnu17. - * gcc.c-torture/compile/990801-1.c: Add -std=gnu17. - * gcc.c-torture/compile/nested-1.c: Add -std=gnu17. - * gcc.c-torture/compile/pr100241-1.c: Add -std=gnu17. - * gcc.c-torture/compile/pr106101.c: Add -std=gnu17. - * gcc.c-torture/compile/pr113616.c: Add -std=gnu17. - * gcc.c-torture/compile/pr47967.c: Add -std=gnu17. - * gcc.c-torture/compile/pr51694.c: Add -std=gnu17. - * gcc.c-torture/compile/pr71109.c: Add -std=gnu17. - * gcc.c-torture/compile/pr83051-2.c: Add -std=gnu17. - * gcc.c-torture/compile/pr89663-1.c: Add -std=gnu17. - * gcc.c-torture/compile/pr94238.c: Add -std=gnu17. - * gcc.c-torture/compile/pr96796.c: Add -std=gnu17. - * gcc.c-torture/compile/pr97576.c: Add -std=gnu17. - * gcc.c-torture/compile/udivmod4.c: Add -std=gnu17. - * gcc.c-torture/execute/20010605-2.c: Add -std=gnu17. - * gcc.c-torture/execute/20020404-1.c: Add -std=gnu17. - * gcc.c-torture/execute/20030714-1.c: Add -std=gnu17. - * gcc.c-torture/execute/20051012-1.c: Add -std=gnu17. - * gcc.c-torture/execute/20190820-1.c: Add -std=gnu17. - * gcc.c-torture/execute/920612-1.c: Add -Wno-old-style-definition. - * gcc.c-torture/execute/930608-1.c: Add -std=gnu17. - * gcc.c-torture/execute/comp-goto-1.c: Add -std=gnu17. - * gcc.c-torture/execute/ieee/fp-cmp-1.x: Add -std=gnu17. - * gcc.c-torture/execute/ieee/fp-cmp-2.x: Add -std=gnu17. - * gcc.c-torture/execute/ieee/fp-cmp-3.x: Add -std=gnu17. - * gcc.c-torture/execute/ieee/fp-cmp-4.x: New file. - * gcc.c-torture/execute/ieee/fp-cmp-4f.x: New file. - * gcc.c-torture/execute/ieee/fp-cmp-4l.x: New file. - * gcc.c-torture/execute/loop-9.c: Add -std=gnu17. - * gcc.c-torture/execute/pr103209.c: Add -std=gnu17. - * gcc.c-torture/execute/pr28289.c: Add -std=gnu17. - * gcc.c-torture/execute/pr34982.c: Add -std=gnu17. - * gcc.c-torture/execute/pr67037.c: Add -std=gnu17. - * gcc.c-torture/execute/va-arg-2.c: Add -std=gnu17. - * gcc.dg/20010202-1.c: Add -std=gnu17. - * gcc.dg/20020430-1.c: Add -std=gnu17. - * gcc.dg/20031218-3.c: Add -std=gnu17. - * gcc.dg/20040127-1.c: Add -std=gnu17. - * gcc.dg/20041014-1.c: Add -Wno-old-style-definition. - * gcc.dg/20041122-1.c: Add -std=gnu17. - * gcc.dg/20050309-1.c: Add -std=gnu17. - * gcc.dg/20061026.c: Add -std=gnu17. - * gcc.dg/20101010-1.c: Add -std=gnu17. - * gcc.dg/Warray-parameter-10.c: Add -std=gnu17. - * gcc.dg/Wbuiltin-declaration-mismatch-2.c: Add -std=gnu17. - * gcc.dg/Wbuiltin-declaration-mismatch-3.c: Add -std=gnu17. - * gcc.dg/Wbuiltin-declaration-mismatch-4.c: Add -std=gnu17. - * gcc.dg/Wbuiltin-declaration-mismatch-5.c: Add -std=gnu17. - * gcc.dg/Wbuiltin-declaration-mismatch.c: Add -std=gnu17. - * gcc.dg/Wcxx-compat-2.c: Add -std=gnu17. - * gcc.dg/Wdouble-promotion.c: Add -std=gnu17. - * gcc.dg/Wfree-nonheap-object-7.c: Add -std=gnu17. - * gcc.dg/Wimplicit-int-1.c: Add -std=gnu17. - * gcc.dg/Wimplicit-int-1a.c: Add -std=gnu17. - * gcc.dg/Wimplicit-int-2.c: Add -std=gnu17. - * gcc.dg/Wimplicit-int-3.c: Add -std=gnu17. - * gcc.dg/Wimplicit-int-4.c: Add -std=gnu17. - * gcc.dg/Wimplicit-int-4a.c: Add -std=gnu17. - * gcc.dg/Wincompatible-pointer-types-1.c: Add -std=gnu17. - * gcc.dg/Wrestrict-19.c: Add -std=gnu17. - * gcc.dg/Wrestrict-4.c: Add -std=gnu17. - * gcc.dg/Wrestrict-5.c: Add -std=gnu17. - * gcc.dg/Wstrict-overflow-20.c: Add -std=gnu17. - * gcc.dg/Wstringop-overflow-13.c: Add -std=gnu17. - * gcc.dg/analyzer/doom-d_main-IdentifyVersion.c: Add -std=gnu17. - * gcc.dg/analyzer/doom-s_sound-pr108867.c: Add -std=gnu17. - * gcc.dg/analyzer/pr93032-mztools-signed-char.c: Add - -Wno-old-style-definition. - * gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Add - -Wno-old-style-definition. - * gcc.dg/analyzer/pr93355-localealias.c: Add - -Wno-old-style-definition. - * gcc.dg/analyzer/pr93375.c: Add -std=gnu17. - * gcc.dg/analyzer/pr94688.c: Add -std=gnu17. - * gcc.dg/analyzer/sensitive-1.c: Add -std=gnu17. - * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c: - Add -std=gnu17. - * gcc.dg/analyzer/torture/pr104863.c: Add -std=gnu17. - * gcc.dg/analyzer/torture/pr93379.c: Add -std=gnu17. - * gcc.dg/array-quals-2.c: Add -std=gnu17. - * gcc.dg/attr-invalid.c: Add -Wno-old-style-definition. - * gcc.dg/auto-init-uninit-A.c: Add -Wno-old-style-definition. - * gcc.dg/builtin-choose-expr.c: Declare exit with (int) prototype. - * gcc.dg/builtin-tgmath-err-1.c: Add -std=gnu17. - * gcc.dg/builtins-30.c: Add -std=gnu17. - * gcc.dg/cast-function-1.c: Add -std=gnu17. - * gcc.dg/cleanup-1.c: Add -std=gnu17. - * gcc.dg/compat/struct-complex-1_x.c: Add -std=gnu17. - * gcc.dg/compat/struct-complex-2_x.c: Add -std=gnu17. - * gcc.dg/compat/union-m128-1_x.c: Add -std=gnu17. - * gcc.dg/debug/dwarf2/pr66482.c: Add -std=gnu17. - * gcc.dg/dfp/composite-type-2.c: Add -std=gnu17. - * gcc.dg/dfp/composite-type.c: Add -std=gnu17. - * gcc.dg/dfp/keywords-pedantic.c: Add -std=gnu17. - * gcc.dg/dremf-type-compat-1.c: Add -std=gnu17. - * gcc.dg/dremf-type-compat-2.c: Add -std=gnu17. - * gcc.dg/dremf-type-compat-3.c: Add -std=gnu17. - * gcc.dg/dremf-type-compat-4.c: Add -std=gnu17. - * gcc.dg/enum-compat-1.c: Add -std=gnu17. - * gcc.dg/enum-compat-2.c: Add -std=gnu17. - * gcc.dg/floatn-errs.c: Add -std=gnu17. - * gcc.dg/fltconst-pedantic-dfp.c: Add -std=gnu17. - * gcc.dg/format/proto.c: Add -std=gnu17. - * gcc.dg/format/sentinel-1.c: Add -std=gnu17. - * gcc.dg/gomp/declare-simd-1.c: Add -Wno-old-style-definition. - * gcc.dg/ifelse-1.c: Add -Wno-old-style-definition. - * gcc.dg/inline-33.c: Add -std=gnu17. - * gcc.dg/ipa/inline-5.c: Add -std=gnu17. - * gcc.dg/ipa/ipa-sra-21.c: Add -std=gnu17. - * gcc.dg/ipa/pr102714.c: Add -std=gnu17. - * gcc.dg/ipa/pr104813.c: Add -std=gnu17. - * gcc.dg/ipa/pr108679.c: Add -std=gnu17. - * gcc.dg/ipa/pr42706.c: Add -std=gnu17. - * gcc.dg/ipa/pr88214.c: Add -Wno-old-style-definition. - * gcc.dg/ipa/pr91853.c: Add -Wno-old-style-definition. - * gcc.dg/ipa/pr93763.c: Add -std=gnu17. - * gcc.dg/ipa/pr96482-2.c: Add -std=gnu17. - * gcc.dg/lto/20091013-1_2.c: Add -std=gnu17. - * gcc.dg/lto/20091015-1_2.c: Add -std=gnu17. - * gcc.dg/lto/pr113197_1.c: Add -std=gnu17. - * gcc.dg/lto/pr54702_1.c: Add -std=gnu17. - * gcc.dg/lto/pr99849_0.c: Add -std=gnu17. - * gcc.dg/noncompile/920923-1.c: Add -std=gnu17. - * gcc.dg/noncompile/old-style-parm-1.c: Add - -Wno-old-style-definition. - * gcc.dg/noncompile/old-style-parm-3.c: Add - -Wno-old-style-definition. - * gcc.dg/noncompile/pr30552-2.c: Add -Wno-old-style-definition. - * gcc.dg/noncompile/pr30552-3.c: Add -std=gnu17. - * gcc.dg/noncompile/pr71265.c: Add -Wno-old-style-definition. - * gcc.dg/noncompile/pr79758-2.c: Add -Wno-old-style-definition. - * gcc.dg/noncompile/pr79758.c: Add -Wno-old-style-definition. - * gcc.dg/noncompile/va-arg-1.c: Add -std=gnu17. - * gcc.dg/old-style-prom-1.c: Add -std=gnu17. - * gcc.dg/old-style-prom-2.c: Add -std=gnu17. - * gcc.dg/old-style-prom-3.c: Add -std=gnu17. - * gcc.dg/old-style-then-proto-1.c: Add -std=gnu17. - * gcc.dg/parm-incomplete-1.c: Add -std=gnu17. - * gcc.dg/parm-mismatch-1.c: Add -std=gnu17. - * gcc.dg/permerror-default.c: Add -std=gnu17. - * gcc.dg/permerror-fpermissive-nowarning.c: Add -std=gnu17. - * gcc.dg/permerror-fpermissive.c: Add -std=gnu17. - * gcc.dg/permerror-noerror.c: Add -std=gnu17. - * gcc.dg/permerror-nowarning.c: Add -std=gnu17. - * gcc.dg/permerror-pedantic.c: Add -std=gnu17. - * gcc.dg/plugin/infoleak-net-ethtool-ioctl.c: Add -std=gnu17. - * gcc.dg/pointer-array-quals-1.c: Add -std=gnu17. - * gcc.dg/pointer-array-quals-2.c: Add -std=gnu17. - * gcc.dg/pr100791.c: Add -std=gnu17. - * gcc.dg/pr100843.c: Add -std=gnu17. - * gcc.dg/pr102273.c: Add -std=gnu17. - * gcc.dg/pr102385.c: Add -std=gnu17. - * gcc.dg/pr103222.c: Add -std=gnu17. - * gcc.dg/pr105140.c: Add -std=gnu17. - * gcc.dg/pr105150.c: Add -std=gnu17. - * gcc.dg/pr105250.c: Add -std=gnu17. - * gcc.dg/pr105972.c: Add -Wno-old-style-definition. - * gcc.dg/pr111039.c: Add -std=gnu17. - * gcc.dg/pr111407.c: Add -std=gnu17. - * gcc.dg/pr111922.c: Add -Wno-old-style-definition. - * gcc.dg/pr15236.c: Add -std=gnu17. - * gcc.dg/pr17188-1.c: Add -std=gnu17. - * gcc.dg/pr20368-1.c: Add -std=gnu17. - * gcc.dg/pr20368-2.c: Add -std=gnu17. - * gcc.dg/pr20368-3.c: Add -std=gnu17. - * gcc.dg/pr27331.c: Add -Wno-old-style-definition. - * gcc.dg/pr27861-1.c: Add -std=gnu17. - * gcc.dg/pr28121.c: Add -std=gnu17. - * gcc.dg/pr28243.c: Add -std=gnu17. - * gcc.dg/pr28888.c: Add -std=gnu17. - * gcc.dg/pr29254.c: Add -std=gnu17. - * gcc.dg/pr34457-1.c: Add -std=gnu17. - * gcc.dg/pr36015.c: Add -std=gnu17. - * gcc.dg/pr38245-3.c: Add -std=gnu17. - * gcc.dg/pr38245-4.c: Add -std=gnu17. - * gcc.dg/pr41241.c: Add -std=gnu17. - * gcc.dg/pr43058.c: Add -std=gnu17. - * gcc.dg/pr44539.c: Add -std=gnu17. - * gcc.dg/pr45055.c: Add -std=gnu17. - * gcc.dg/pr50908.c: Add -Wno-old-style-definition. - * gcc.dg/pr60647-1.c: Add -Wno-old-style-definition. - * gcc.dg/pr63762.c: Add -std=gnu17. - * gcc.dg/pr63804.c: Add -std=gnu17. - * gcc.dg/pr68306-3.c: Add -std=gnu17. - * gcc.dg/pr68533.c: Add -std=gnu17. - * gcc.dg/pr69156.c: Add -std=gnu17. - * gcc.dg/pr7356-2.c: Add -Wno-old-style-definition. - * gcc.dg/pr79983.c: Add -std=gnu17. - * gcc.dg/pr83463.c: Add -std=gnu17. - * gcc.dg/pr87347.c: Add -std=gnu17. - * gcc.dg/pr89521-1.c: Add -std=gnu17. - * gcc.dg/pr89521-2.c: Add -std=gnu17. - * gcc.dg/pr90648.c: Add -std=gnu17. - * gcc.dg/pr93573-1.c: Add -std=gnu17. - * gcc.dg/pr94167.c: Add -std=gnu17. - * gcc.dg/pr94705.c: Add -std=gnu17. - * gcc.dg/pr95118.c: Add -std=gnu17. - * gcc.dg/pr96335.c: Add -std=gnu17. - * gcc.dg/pr97830.c: Add -std=gnu17. - * gcc.dg/pr97882.c: Add -std=gnu17. - * gcc.dg/pr99122-2.c: Add -std=gnu17. - * gcc.dg/pr99122-3.c: Add -std=gnu17. - * gcc.dg/qual-component-1.c: Add -std=gnu17. - * gcc.dg/sibcall-6.c: Add -Wno-old-style-definition. - * gcc.dg/sms-2.c: Add -Wno-old-style-definition. - * gcc.dg/tm/20091221.c: Add -std=gnu17. - * gcc.dg/torture/bfloat16-basic.c: Add -Wno-old-style-definition. - * gcc.dg/torture/float128-basic.c: Add -Wno-old-style-definition. - * gcc.dg/torture/float128x-basic.c: Add -Wno-old-style-definition. - * gcc.dg/torture/float16-basic.c: Add -Wno-old-style-definition. - * gcc.dg/torture/float32-basic.c: Add -Wno-old-style-definition. - * gcc.dg/torture/float32x-basic.c: Add -Wno-old-style-definition. - * gcc.dg/torture/float64-basic.c: Add -Wno-old-style-definition. - * gcc.dg/torture/float64x-basic.c: Add -Wno-old-style-definition. - * gcc.dg/torture/pr102762.c: Add -std=gnu17. - * gcc.dg/torture/pr103987.c: Add -std=gnu17. - * gcc.dg/torture/pr104825.c: Add -Wno-old-style-definition. - * gcc.dg/torture/pr105166.c: Add -std=gnu17. - * gcc.dg/torture/pr105185.c: Add -Wno-old-style-definition. - * gcc.dg/torture/pr109652.c: Add -std=gnu17. - * gcc.dg/torture/pr112444.c: Add -std=gnu17. - * gcc.dg/torture/pr113895-3.c: Add -std=gnu17. - * gcc.dg/torture/pr24626-2.c: Add -std=gnu17. - * gcc.dg/torture/pr25183.c: Add -std=gnu17. - * gcc.dg/torture/pr38948.c: Add -std=gnu17. - * gcc.dg/torture/pr44807.c: Add -std=gnu17. - * gcc.dg/torture/pr47281.c: Add -std=gnu17. - * gcc.dg/torture/pr47958-1.c: Add -Wno-old-style-definition. - * gcc.dg/torture/pr48063.c: Add -std=gnu17. - * gcc.dg/torture/pr57036-1.c: Add -std=gnu17. - * gcc.dg/torture/pr57330.c: Add -std=gnu17. - * gcc.dg/torture/pr57584.c: Add -std=gnu17. - * gcc.dg/torture/pr67741.c: Add -std=gnu17. - * gcc.dg/torture/pr68104.c: Add -std=gnu17. - * gcc.dg/torture/pr69242.c: Add -std=gnu17. - * gcc.dg/torture/pr70457.c: Add -std=gnu17. - * gcc.dg/torture/pr70985.c: Add -std=gnu17. - * gcc.dg/torture/pr71606.c: Add -std=gnu17. - * gcc.dg/torture/pr71816.c: Add -std=gnu17. - * gcc.dg/torture/pr77286.c: Add -std=gnu17. - * gcc.dg/torture/pr77646.c: Add -std=gnu17. - * gcc.dg/torture/pr77677-2.c: Add -std=gnu17. - * gcc.dg/torture/pr78365.c: Add -Wno-old-style-definition. - * gcc.dg/torture/pr79732.c: Add -std=gnu17. - * gcc.dg/torture/pr80612.c: Add -std=gnu17. - * gcc.dg/torture/pr80764.c: Add -std=gnu17. - * gcc.dg/torture/pr80842.c: Add -std=gnu17. - * gcc.dg/torture/pr81900.c: Add -std=gnu17. - * gcc.dg/torture/pr82276.c: Add -std=gnu17. - * gcc.dg/torture/pr84803.c: Add -std=gnu17. - * gcc.dg/torture/pr93124.c: Add -std=gnu17. - * gcc.dg/torture/pr97330-1.c: Add -Wno-old-style-definition. - * gcc.dg/tree-prof/comp-goto-1.c: Add -std=gnu17. - * gcc.dg/tree-ssa/20030703-2.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030708-1.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030709-2.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030709-3.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030710-1.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030711-1.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030711-2.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030711-3.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030714-1.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030714-2.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030728-1.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030807-10.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030807-11.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030807-3.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030807-6.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030807-7.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030814-4.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030814-5.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030814-6.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20030918-1.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/20040514-2.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/loadpre7.c: Add -Wno-old-style-definition. - * gcc.dg/tree-ssa/pr111003.c: Add -std=gnu17. - * gcc.dg/tree-ssa/pr115128.c: Add -std=gnu17. - * gcc.dg/tree-ssa/pr115191.c: Add -std=gnu17. - * gcc.dg/tree-ssa/pr24840.c: Add -std=gnu17. - * gcc.dg/tree-ssa/pr69666.c: Add -std=gnu17. - * gcc.dg/tree-ssa/pr70232.c: Add -std=gnu17. - * gcc.dg/ubsan/pr79757-1.c: Add -Wno-old-style-definition. - * gcc.dg/ubsan/pr79757-2.c: Add -Wno-old-style-definition. - * gcc.dg/ubsan/pr79757-3.c: Add -Wno-old-style-definition. - * gcc.dg/ubsan/pr81223.c: Add -std=gnu17. - * gcc.dg/uninit-10-O0.c: Add -Wno-old-style-definition. - * gcc.dg/uninit-10.c: Add -Wno-old-style-definition. - * gcc.dg/uninit-32.c: Add -std=gnu17. - * gcc.dg/uninit-41.c: Add -std=gnu17. - * gcc.dg/uninit-A-O0.c: Add -Wno-old-style-definition. - * gcc.dg/uninit-A.c: Add -Wno-old-style-definition. - * gcc.dg/unused-1.c: Add -Wno-old-style-definition. - * gcc.dg/vect/bb-slp-pr114249.c: Add -std=gnu17. - * gcc.dg/vect/bb-slp-pr97486.c: Add -std=gnu17. - * gcc.dg/vect/bb-slp-subgroups-1.c: Add -std=gnu17. - * gcc.dg/vect/bb-slp-subgroups-2.c: Add -std=gnu17. - * gcc.dg/vect/bb-slp-subgroups-3.c: Add -std=gnu17. - * gcc.dg/vect/vect-early-break_111-pr113731.c: Add -std=gnu17. - * gcc.dg/vect/vect-early-break_122-pr114239.c: Add -std=gnu17. - * gcc.dg/vect/vect-multi-peel-gaps.c: Add -std=gnu17. - * gcc.dg/vla-stexp-2.c: Add -std=gnu17. - * gcc.dg/warn-1.c: Add -Wno-old-style-definition. - * gcc.dg/winline-10.c: Add -Wno-old-style-definition. - * gcc.dg/wtr-label-1.c: Add -Wno-old-style-definition. - * gcc.dg/wtr-switch-1.c: Add -Wno-old-style-definition. - * gcc.target/i386/excess-precision-3.c: Add - -Wno-old-style-definition. - * gcc.target/i386/fma4-256-nmsubXX.c: Add -std=gnu17. - * gcc.target/i386/fma4-nmsubXX.c: Add -std=gnu17. - * gcc.target/i386/nop-mcount.c: Add -Wno-old-style-definition. - * gcc.target/i386/pr102627.c: Add -std=gnu17. - * gcc.target/i386/pr106994.c: Add -std=gnu17. - * gcc.target/i386/pr68349.c: Add -std=gnu17. - * gcc.target/i386/pr97313.c: Add -std=gnu17. - * gcc.target/i386/pr99454.c: Add -std=gnu17. - * gcc.target/i386/record-mcount.c: Add -Wno-old-style-definition. - -2024-10-16 Andi Kleen <ak@gcc.gnu.org> - - * gcc.dg/vect/vect-switch-ifcvt-3.c: New test. - -2024-10-16 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/pr65518.c: Adjust. - -2024-10-16 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/c23-version-1.c, gcc.dg/c23-version-2.c, - gcc.dg/gnu23-version-1.c: New tests. - -2024-10-16 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/pr116655.c: New test. - -2024-10-16 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/init-1.c: New test. - * c-c++-common/init-2.c: New test. - * c-c++-common/init-3.c: New test. - -2024-10-16 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/embed-24.c: New test. - -2024-10-16 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/embed-20.c: New test. - * c-c++-common/cpp/embed-21.c: New test. - * c-c++-common/cpp/embed-28.c: New test. - * gcc.dg/cpp/embed-8.c: New test. - * gcc.dg/cpp/embed-9.c: New test. - * gcc.dg/cpp/embed-10.c: New test. - * gcc.dg/cpp/embed-11.c: New test. - * gcc.dg/cpp/embed-12.c: New test. - * gcc.dg/cpp/embed-13.c: New test. - * gcc.dg/cpp/embed-14.c: New test. - * gcc.dg/cpp/embed-15.c: New test. - * gcc.dg/cpp/embed-16.c: New test. - * gcc.dg/pch/embed-1.c: New test. - * gcc.dg/pch/embed-1.hs: New test. - * gcc.dg/lto/embed-1_0.c: New test. - * gcc.dg/lto/embed-1_1.c: New test. - -2024-10-16 liuhongt <hongtao.liu@intel.com> - - PR testsuite/115365 - * gcc.dg/pr100927.c: Adjust testcase to avoid scan FIX in REG_EQUIV. - -2024-10-15 Qing Zhao <qing.zhao@oracle.com> - - PR c/116016 - * gcc.dg/builtin-counted-by-ref-1.c: New test. - * gcc.dg/builtin-counted-by-ref.c: New test. - -2024-10-15 Jakub Jelinek <jakub@redhat.com> - - PR c/117022 - * gcc.dg/c23-named-loops-1.c: New test. - * gcc.dg/c23-named-loops-5.c: New test. - * gcc.dg/c2y-named-loops-1.c: New test. - * gcc.dg/c2y-named-loops-2.c: New test. - * gcc.dg/c2y-named-loops-4.c: New test. - * gcc.dg/c2y-named-loops-5.c: New test. - * gcc.dg/c2y-named-loops-6.c: New test. - * gcc.dg/c2y-named-loops-7.c: New test. - * gcc.dg/gnu99-named-loops-1.c: New test. - * gcc.dg/gnu99-named-loops-2.c: New test. - * gcc.dg/gnu99-named-loops-3.c: New test. - * gcc.dg/gnu99-named-loops-4.c: New test. - * gcc.dg/gnu2y-named-loops-3.c: New test. - * gcc.dg/gomp/named-loops-1.c: New test. - * gcc.dg/gomp/named-loops-2.c: New test. - * objc.dg/named-loops-1.m: New test. - -2024-10-15 Patrick Palka <ppalka@redhat.com> - - PR c++/80637 - * g++.dg/cpp2a/concepts-fn9.C: New test. - -2024-10-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116891 - * gcc.dg/pr116891.c: New test. - * gcc.target/i386/fma-pr116891.c: New test. - -2024-10-15 Patrick Palka <ppalka@redhat.com> - - PR c++/116710 - * g++.dg/template/unify12.C: New test. - -2024-10-15 Patrick Palka <ppalka@redhat.com> - - PR c++/117054 - * g++.dg/cpp2a/lambda-targ9.C: New test. - -2024-10-15 Uros Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/pr107432-9.c: Require AVX2 effective target. - Include avx2-check.h instead of avx-check.h. Define TEST to avx2_test. - -2024-10-15 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_cpython_plugin.c: Use success_call_info - in a couple of places to avoid reimplementing get_desc. - -2024-10-15 David Malcolm <dmalcolm@redhat.com> - - * jit.dg/test-error-pr63969-missing-driver.c (create_code): When - breaking PATH, use setenv with a bogus value, rather than - unsetenv, in case the system uses a default path that contains - the driver binary. - -2024-10-15 Uros Bizjak <ubizjak@gmail.com> - - PR target/117116 - * gcc.target/i386/pr117116.c: New test. - -2024-10-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117147 - * gcc.dg/vect/pr117147.c: New testcase. - -2024-10-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117138 - * gcc.dg/torture/pr117138.c: New testcase. - -2024-10-15 Richard Biener <rguenther@suse.de> - - PR middle-end/117137 - * gcc.dg/torture/pr117137.c: New testcase. - -2024-10-15 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/acle/asm/mul_s8.c: New test. - * 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_u8.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/mul_const_run.c: Likewise. - -2024-10-15 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/Wtrailing-whitespace-1.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-2.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-3.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-4.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-5.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-6.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-7.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-8.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-9.c: New test. - * c-c++-common/cpp/Wtrailing-whitespace-10.c: New test. - -2024-10-15 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Add - compile option for expanding check. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Ditto. - -2024-10-14 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/cpp-2_c.C: Expect only one space after import. - * g++.dg/modules/cpp-5_c.C - * g++.dg/modules/dep-2.C - * g++.dg/modules/dir-only-2_b.C - * g++.dg/modules/pr99050_b.C - * g++.dg/modules/inc-xlate-1_b.H - * g++.dg/modules/legacy-3_b.H - * g++.dg/modules/legacy-3_c.H: Likewise. - -2024-10-14 Jason Merrill <jason@redhat.com> - - * g++.dg/DRs/dr2918.C: New test. - -2024-10-14 Andre Vieira <andre.simoesdiasvieira@arm.com> - Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/vect/pr116997.c: New test. - -2024-10-14 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/114436 - * c-c++-common/cpp/pragma-system-header-1.h: New test. - * c-c++-common/cpp/pragma-system-header-2.h: New test. - * c-c++-common/cpp/pragma-system-header.c: New test. - -2024-10-14 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/109704 - * c-c++-common/cpp/pragma-push-pop-utf8.c: New test. - * g++.dg/pch/pushpop-2.C: New test. - * g++.dg/pch/pushpop-2.Hs: New test. - * gcc.dg/pch/pushpop-2.c: New test. - * gcc.dg/pch/pushpop-2.hs: New test. - -2024-10-14 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray/dummy_3.f90: New test. - -2024-10-14 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116956 - * gfortran.dg/vect/pr116956.f90: New test. - -2024-10-14 Tamar Christina <tamar.christina@arm.com> - - PR rtl-optimization/117012 - * gcc.target/aarch64/pr117012.c: New test. - -2024-10-14 Tamar Christina <tamar.christina@arm.com> - - PR target/116371 - * gcc.target/aarch64/sme2/acle-asm/psel_b16.c, - gcc.target/aarch64/sme2/acle-asm/psel_b32.c, - gcc.target/aarch64/sme2/acle-asm/psel_b64.c, - gcc.target/aarch64/sme2/acle-asm/psel_b8.c, - gcc.target/aarch64/sme2/acle-asm/psel_c16.c, - gcc.target/aarch64/sme2/acle-asm/psel_c32.c, - gcc.target/aarch64/sme2/acle-asm/psel_c64.c, - gcc.target/aarch64/sme2/acle-asm/psel_c8.c: Renamed to.... - * gcc.target/aarch64/sme2/acle-asm/psel_lane_b16.c, - gcc.target/aarch64/sme2/acle-asm/psel_lane_b32.c, - gcc.target/aarch64/sme2/acle-asm/psel_lane_b64.c, - gcc.target/aarch64/sme2/acle-asm/psel_lane_b8.c, - gcc.target/aarch64/sme2/acle-asm/psel_lane_c16.c, - gcc.target/aarch64/sme2/acle-asm/psel_lane_c32.c, - gcc.target/aarch64/sme2/acle-asm/psel_lane_c64.c, - gcc.target/aarch64/sme2/acle-asm/psel_lane_c8.c: ... These. - -2024-10-14 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/vect/vect-early-break_126.c: New test. - * gcc.dg/vect/vect-early-break_127.c: New test. - * gcc.dg/vect/vect-early-break_128.c: New test. - -2024-10-14 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114593 - * gnat.dg/specs/generic_inst2-child2.ads: New test. - * gnat.dg/specs/generic_inst2.ads: New helper. - * gnat.dg/specs/generic_inst2-child1.ads: Likewise. - -2024-10-14 Richard Sandiford <richard.sandiford@arm.com> - - PR target/116999 - PR target/117045 - * gcc.target/aarch64/sve/acle/general/whilele_5.c: Fix bogus - expected result. - * gcc.target/aarch64/sve/acle/general/whilele_11.c: New test. - * gcc.target/aarch64/sve/acle/general/whilele_12.c: Likewise. - -2024-10-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i64.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i64.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i8.c: New test. - -2024-10-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i64.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i64.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i8.c: New test. - -2024-10-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i64.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i64.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i8.c: New test. - -2024-10-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116290 - * gcc.dg/pr116290.c: New testcase. - -2024-10-14 Oleg Endo <olegendo@gcc.gnu.org> - - * gcc.target/sh/pr53512-1.c: Add -fno-math-errno option. - * gcc.target/sh/pr53512-2.c: Likewise. - * gcc.target/sh/pr53512-3.c: Likewise. - * gcc.target/sh/pr53512-4.c: Likewise. - * gcc.target/sh/pr54680.c: Likewise. - -2024-10-13 Simon Martin <simon@nasilyan.com> - - Revert: - 2024-10-13 Simon Martin <simon@nasilyan.com> - - PR c++/109918 - * g++.dg/warn/Woverloaded-virt1.C: Check that no warning is - emitted for non virtual base methods. - * g++.dg/warn/Woverloaded-virt5.C: New test. - * g++.dg/warn/Woverloaded-virt6.C: New test. - * g++.dg/warn/Woverloaded-virt7.C: New test. - * g++.dg/warn/Woverloaded-virt8.C: New test. - * g++.dg/warn/Woverloaded-virt9.C: New test. - -2024-10-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116481 - * gcc.dg/pr116481.c: New testcase. - -2024-10-12 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_36.f90: New test. - -2024-10-12 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/116985 - * gcc.dg/vect/pr116985.c: New testcase. - -2024-10-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117104 - * gcc.dg/pr117104.c: New testcase. - -2024-10-12 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.dg/gomp/polymorphic-mapping.f90: New test. - * gfortran.dg/gomp/polymorphic-mapping-2.f90: New test. - -2024-10-12 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/pr55583.c: Use long long for 64-bit integer. - -2024-10-12 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/pr115749.c (uword): New. - (func): Replace unsigned long with uword. - -2024-10-12 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/invariant-ternlog-1.c: Also scan (%edx). - -2024-10-12 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/counter-2.c: Adjust expected diagnostics for - libcpp diagnostic formatting changes. - * c-c++-common/cpp/embed-3.c: Likewise. - * c-c++-common/cpp/embed-4.c: Likewise. - * c-c++-common/cpp/embed-16.c: Likewise. - * c-c++-common/cpp/embed-18.c: Likewise. - * c-c++-common/cpp/eof-2.c: Likewise. - * c-c++-common/cpp/eof-3.c: Likewise. - * c-c++-common/cpp/fmax-include-depth.c: Likewise. - * c-c++-common/cpp/has-builtin.c: Likewise. - * c-c++-common/cpp/line-2.c: Likewise. - * c-c++-common/cpp/line-3.c: Likewise. - * c-c++-common/cpp/macro-arg-count-1.c: Likewise. - * c-c++-common/cpp/macro-arg-count-2.c: Likewise. - * c-c++-common/cpp/macro-ranges.c: Likewise. - * c-c++-common/cpp/named-universal-char-escape-4.c: Likewise. - * c-c++-common/cpp/named-universal-char-escape-5.c: Likewise. - * c-c++-common/cpp/pr88974.c: Likewise. - * c-c++-common/cpp/va-opt-error.c: Likewise. - * c-c++-common/cpp/va-opt-pedantic.c: Likewise. - * c-c++-common/cpp/Wheader-guard-2.c: Likewise. - * c-c++-common/cpp/Wheader-guard-3.c: Likewise. - * c-c++-common/cpp/Winvalid-utf8-1.c: Likewise. - * c-c++-common/cpp/Winvalid-utf8-2.c: Likewise. - * c-c++-common/cpp/Winvalid-utf8-3.c: Likewise. - * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-1.c: - Likewise. - * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-3.c: - Likewise. - * c-c++-common/pr68833-3.c: Likewise. - * c-c++-common/raw-string-directive-1.c: Likewise. - * gcc.dg/analyzer/named-constants-Wunused-macros.c: Likewise. - * gcc.dg/binary-constants-4.c: Likewise. - * gcc.dg/builtin-redefine.c: Likewise. - * gcc.dg/cpp/19951025-1.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/c23-elifdef-2.c: Likewise. - * gcc.dg/cpp/c23-warning-2.c: Likewise. - * gcc.dg/cpp/embed-2.c: Likewise. - * gcc.dg/cpp/embed-3.c: Likewise. - * gcc.dg/cpp/embed-4.c: Likewise. - * gcc.dg/cpp/expr.c: Likewise. - * gcc.dg/cpp/gnu11-elifdef-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/gnu23-warning-2.c: Likewise. - * gcc.dg/cpp/include6.c: Likewise. - * gcc.dg/cpp/pr35322.c: Likewise. - * gcc.dg/cpp/tr-warn6.c: Likewise. - * gcc.dg/cpp/undef2.c: Likewise. - * gcc.dg/cpp/warn-comments.c: Likewise. - * gcc.dg/cpp/warn-comments-2.c: Likewise. - * gcc.dg/cpp/warn-comments-3.c: Likewise. - * gcc.dg/cpp/warn-cxx-compat.c: Likewise. - * gcc.dg/cpp/warn-cxx-compat-2.c: Likewise. - * gcc.dg/cpp/warn-deprecated.c: Likewise. - * gcc.dg/cpp/warn-deprecated-2.c: Likewise. - * gcc.dg/cpp/warn-long-long.c: Likewise. - * gcc.dg/cpp/warn-long-long-2.c: Likewise. - * gcc.dg/cpp/warn-normalized-1.c: Likewise. - * gcc.dg/cpp/warn-normalized-2.c: Likewise. - * gcc.dg/cpp/warn-normalized-3.c: Likewise. - * gcc.dg/cpp/warn-normalized-4-bytes.c: Likewise. - * gcc.dg/cpp/warn-normalized-4-unicode.c: Likewise. - * gcc.dg/cpp/warn-redefined.c: Likewise. - * gcc.dg/cpp/warn-redefined-2.c: Likewise. - * gcc.dg/cpp/warn-traditional.c: Likewise. - * gcc.dg/cpp/warn-traditional-2.c: Likewise. - * gcc.dg/cpp/warn-trigraphs-1.c: Likewise. - * gcc.dg/cpp/warn-trigraphs-2.c: Likewise. - * gcc.dg/cpp/warn-trigraphs-3.c: Likewise. - * gcc.dg/cpp/warn-trigraphs-4.c: Likewise. - * gcc.dg/cpp/warn-undef.c: Likewise. - * gcc.dg/cpp/warn-undef-2.c: Likewise. - * gcc.dg/cpp/warn-unused-macros.c: Likewise. - * gcc.dg/cpp/warn-unused-macros-2.c: Likewise. - * gcc.dg/pch/counter-2.c: Likewise. - * g++.dg/cpp0x/udlit-error1.C: Likewise. - * g++.dg/cpp23/named-universal-char-escape1.C: Likewise. - * g++.dg/cpp23/named-universal-char-escape2.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-1.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-2.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-3.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-4.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-5.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-6.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-7.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-8.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-9.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-10.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-11.C: Likewise. - * g++.dg/cpp23/Winvalid-utf8-12.C: Likewise. - * g++.dg/cpp/elifdef-3.C: Likewise. - * g++.dg/cpp/elifdef-5.C: Likewise. - * g++.dg/cpp/elifdef-6.C: Likewise. - * g++.dg/cpp/elifdef-7.C: Likewise. - * g++.dg/cpp/embed-1.C: Likewise. - * g++.dg/cpp/embed-2.C: Likewise. - * g++.dg/cpp/pedantic-errors.C: Likewise. - * g++.dg/cpp/warning-1.C: Likewise. - * g++.dg/cpp/warning-2.C: Likewise. - * g++.dg/ext/bitint1.C: Likewise. - * g++.dg/ext/bitint2.C: Likewise. - -2024-10-12 Uros Bizjak <ubizjak@gmail.com> - - PR middle-end/112600 - * gcc.target/i386/pr112600-4a.c: New test. - * gcc.target/i386/pr112600-4b.c: New test. - -2024-10-12 Simon Martin <simon@nasilyan.com> - - PR c++/109918 - * g++.dg/warn/Woverloaded-virt1.C: Check that no warning is - emitted for non virtual base methods. - * g++.dg/warn/Woverloaded-virt5.C: New test. - * g++.dg/warn/Woverloaded-virt6.C: New test. - * g++.dg/warn/Woverloaded-virt7.C: New test. - * g++.dg/warn/Woverloaded-virt8.C: New test. - * g++.dg/warn/Woverloaded-virt9.C: New test. - -2024-10-12 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Add test - data for run test. - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper - macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i64.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i64.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i8.c: New test. - -2024-10-11 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/bmi2-pr112526.c: Replace long with long long. - * gcc.target/i386/pr105854.c: Likewise. - * gcc.target/i386/pr112943.c: Likewise. - * gcc.target/i386/pr67325.c: Likewise. - * gcc.target/i386/pr97971.c: Likewise. - -2024-10-11 H.J. Lu <hjl.tools@gmail.com> - - * g++.target/i386/pr105953.C: Skip for x32. - -2024-10-11 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/pr115407.c: Only run for lp64. - -2024-10-11 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/117048 - * g++.target/aarch64/pr117048.C: New test. - -2024-10-11 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/116826 - PR tree-optimization/86710 - * gcc.dg/tree-ssa/log_ident.c: New test. - -2024-10-11 Saurabh Jha <saurabh.jha@arm.com> - - * gcc.target/aarch64/sve/faminmax_1.c: New test. - * gcc.target/aarch64/sve/faminmax_2.c: New test. - -2024-10-11 Saurabh Jha <saurabh.jha@arm.com> - - * gcc.target/aarch64/sve2/acle/asm/amax_f16.c: New test. - * gcc.target/aarch64/sve2/acle/asm/amax_f32.c: New test. - * gcc.target/aarch64/sve2/acle/asm/amax_f64.c: New test. - * gcc.target/aarch64/sve2/acle/asm/amin_f16.c: New test. - * gcc.target/aarch64/sve2/acle/asm/amin_f32.c: New test. - * gcc.target/aarch64/sve2/acle/asm/amin_f64.c: New test. - -2024-10-11 Richard Biener <rguenther@suse.de> - - PR middle-end/117086 - * gcc.dg/torture/pr117086.c: New testcase. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-8-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i8.c: New test. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-7-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i8.c: New test. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-6-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i8.c: New test. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-5-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i8.c: New test. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-4-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i8.c: New test. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-3-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i8.c: New test. - -2024-10-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-2-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i8.c: New test. - -2024-10-11 Jakub Jelinek <jakub@redhat.com> - - PR target/117053 - * g++.target/i386/pr116896-3.C: New test. - -2024-10-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117050 - * gcc.dg/vect/pr117050.c: New testcase. - -2024-10-10 Richard Ball <richard.ball@arm.com> - - PR tree-optimization/116258 - * gcc.target/aarch64/pr116258.c: - Alter test to add big-endian support. - -2024-10-10 Li Xu <xuli1@eswincomputing.com> - - PR target/116883 - * g++.target/riscv/rvv/base/pr116883.C: New test. - -2024-10-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117060 - * gfortran.dg/pr117060.f90: New testcase. - -2024-10-10 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/116831 - * gcc.dg/torture/pr116831.c: New test. - -2024-10-10 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-57.c: New testcase. - * gcc.dg/Wstringop-overflow-47.c: Adjust. - * gcc.dg/strlenopt-32.c: XFAIL parts. - -2024-10-10 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx256_avoid_vec_perm.c: New test. - -2024-10-10 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/sse_movcc_use_blendv.c: New file. - -2024-10-10 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/truncsfbf-1.c: New test. - * gcc.target/i386/truncsfbf-2.c: New test. - -2024-10-09 liuhongt <hongtao.liu@intel.com> - - * gcc.dg/fstack-protector-strong.c: Adjust - scan-assembler-times. - * gcc.dg/graphite/scop-6.c: Refine the testcase to avoid array - out of bounds. - * gcc.dg/graphite/scop-9.c: Ditto. - * gcc.dg/tree-ssa/ivopts-lt-2.c: Add -fno-tree-vectorize. - * gcc.dg/tree-ssa/ivopts-lt.c: Ditto. - * gcc.dg/tree-ssa/loop-16.c: Ditto. - * gcc.dg/tree-ssa/loop-28.c: Ditto. - * gcc.dg/tree-ssa/loop-bound-2.c: Ditto. - * gcc.dg/tree-ssa/loop-bound-4.c: Ditto. - * gcc.dg/tree-ssa/loop-bound-6.c: Ditto. - * gcc.dg/tree-ssa/predcom-4.c: Ditto. - * gcc.dg/tree-ssa/predcom-5.c: Ditto. - * gcc.dg/tree-ssa/scev-11.c: Ditto. - * gcc.dg/tree-ssa/scev-9.c: Ditto. - * gcc.dg/tree-ssa/split-path-11.c: Ditto. - * gcc.dg/unroll-8.c: Ditto. - * gcc.dg/var-expand1.c: Ditto. - * gcc.dg/vect/vect-cost-model-6.c: Removed. - * gcc.target/i386/pr86270.c: Ditto. - * gcc.target/i386/pr86722.c: Ditto. - * gcc.target/x86_64/abi/callabi/leaf-2.c: Ditto. - -2024-10-09 Jovan Vukic <Jovan.Vukic@rt-rk.com> - - PR target/115921 - * gcc.target/riscv/branch-1.c: Additional tests. - -2024-10-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/mod_2.c: Corrected effective-target to - arm_cpu_cortex_a57_ok. - * gcc.target/arm/mod_256.c: Likewise. - -2024-10-09 Richard Sandiford <richard.sandiford@arm.com> - - PR target/116629 - * gcc.target/aarch64/sve/acle/general/pr106326_2.c: New test. - -2024-10-09 Richard Sandiford <richard.sandiford@arm.com> - - * lib/scanasm.exp (check-function-bodies): Look in ltrans0.ltrans.s - if the test appears to be using LTO. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - * g++.dg/cpp0x/initlist-opt1.C: Adjust for different diagnostics - from std::construct_at by adding -fconcepts-diagnostics-depth=2. - -2024-10-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117041 - * gcc.dg/torture/pr117041.c: New testcase. - -2024-10-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/pr65647.c: Use effective-target arm_arch_v6m. - Removed unneeded dg-skip-if. - * gcc.target/arm/mod_2.c: Use effective-target arm_cpu_cortex_a57. - * gcc.target/arm/mod_256.c: Likewise. - * gcc.target/arm/vseleqdf.c: Likewise. - * gcc.target/arm/vseleqsf.c: Likewise. - * gcc.target/arm/vselgedf.c: Likewise. - * gcc.target/arm/vselgesf.c: Likewise. - * gcc.target/arm/vselgtdf.c: Likewise. - * gcc.target/arm/vselgtsf.c: Likewise. - * gcc.target/arm/vselledf.c: Likewise. - * gcc.target/arm/vsellesf.c: Likewise. - * gcc.target/arm/vselltdf.c: Likewise. - * gcc.target/arm/vselltsf.c: Likewise. - * gcc.target/arm/vselnedf.c: Likewise. - * gcc.target/arm/vselnesf.c: Likewise. - * gcc.target/arm/vselvcdf.c: Likewise. - * gcc.target/arm/vselvcsf.c: Likewise. - * gcc.target/arm/vselvsdf.c: Likewise. - * gcc.target/arm/vselvssf.c: Likewise. - * lib/target-supports.exp: Define effective-target arm_cpu_cortex_a57. - Update effective-target arm_v8_1_lob_ok to use -mcpu=unset. - -2024-10-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116575 - PR tree-optimization/114375 - * gcc.dg/vect/vect-pr114375.c: Expect vectorization now with avx2. - -2024-10-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/117000 - * gcc.target/i386/pr117000.c: New testcase. - -2024-10-09 Ken Matsui <kmatsui@gcc.gnu.org> - - PR preprocessor/89808 - * g++.dg/warn/Wno-pragma-once-outside-header.C: New test. - * g++.dg/warn/Wpragma-once-outside-header.C: New test. - -2024-10-09 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - * gcc.dg/tree-ssa/pr116024-2.c: New test. - * gcc.dg/tree-ssa/pr116024-2-fwrapv.c: Ditto. - * gcc.target/aarch64/gtu_to_ltu_cmp_1.c: Adjust. - -2024-10-09 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - * gcc.dg/tree-ssa/pr116024-1-fwrapv.c: New test. - -2024-10-08 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - * gcc.dg/tree-ssa/pr116024-1.c: New test. - -2024-10-08 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - * gcc.dg/tree-ssa/pr116024.c: New test. - * gcc.dg/pr67089-6.c: Adjust. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/116190 - * gnat.dg/aggr31.adb: New test. - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115535 - * gnat.dg/put_image1.adb: New test - -2024-10-08 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114636 - * gnat.dg/specs/generic_inst1.ads: New test. - -2024-10-08 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_arith_data.h: Add test data for SAT_TRUNC. - * gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-1-i16-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i8.c: New test. - * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i16.c: New test. - * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i32.c: New test. - * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i8.c: New test. - -2024-10-08 Soumya AR <soumyaa@nvidia.com> - - PR target/109498 - * gcc.target/aarch64/sve/ctz.c: New test. - -2024-10-08 Co-authored-by: Jeff Law <jlaw@ventanamicro.com> - - PR target/116615 - * gcc.target/riscv/cset-sext-sfb.c: Skip for -Os. - -2024-10-08 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/pr102532.f90: Fix dg-errors: Add new error. - * gfortran.dg/coarray/substring_1.f90: New test. - -2024-10-08 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_sub-4-i16.c: New test. - * gcc.target/riscv/sat_s_sub-4-i32.c: New test. - * gcc.target/riscv/sat_s_sub-4-i64.c: New test. - * gcc.target/riscv/sat_s_sub-4-i8.c: New test. - * gcc.target/riscv/sat_s_sub-run-4-i16.c: New test. - * gcc.target/riscv/sat_s_sub-run-4-i32.c: New test. - * gcc.target/riscv/sat_s_sub-run-4-i64.c: New test. - * gcc.target/riscv/sat_s_sub-run-4-i8.c: New test. - -2024-10-08 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_sub-3-i16.c: New test. - * gcc.target/riscv/sat_s_sub-3-i32.c: New test. - * gcc.target/riscv/sat_s_sub-3-i64.c: New test. - * gcc.target/riscv/sat_s_sub-3-i8.c: New test. - * gcc.target/riscv/sat_s_sub-run-3-i16.c: New test. - * gcc.target/riscv/sat_s_sub-run-3-i32.c: New test. - * gcc.target/riscv/sat_s_sub-run-3-i64.c: New test. - * gcc.target/riscv/sat_s_sub-run-3-i8.c: New test. - -2024-10-08 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116896 - * gcc.target/i386/pr116896.c: New test. - -2024-10-08 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/named-universal-char-escape-1.c: Add tests - for some Unicode 16.0 characters, both normal and generated. - -2024-10-08 Andreas Schwab <schwab@suse.de> - - * gfortran.dg/pr95690.f90: Allow matching error message anywhere. - -2024-10-08 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/jump-table-annotate.c: New test. - -2024-10-08 Xiao Zeng <zengxiao@eswincomputing.com> - - * gcc.target/riscv/predef-38.c: New test. - * gcc.target/riscv/predef-39.c: New test. - -2024-10-07 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.dg/gomp/allocate-static.f90: Move to libgomp/testsuite/. - -2024-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_35.f90: New test. - -2024-10-07 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/cset-sext-sfb.c: Turn off ssa-phiopt. - * gcc.target/riscv/cset-sext-thead.c: Do not check CE output anymore. - * gcc.target/riscv/cset-sext-ventana.c: Similarly. Adjust branch cost. - * gcc.target/riscv/cset-sext-zicond.c: Similarly. - * gcc.target/riscv/cset-sext.c: Similarly. No longer allow - "neg" in asm output. - -2024-10-07 qing zhao <qing.zhao@oracle.com> - - PR c/116735 - * gcc.dg/flex-array-counted-by-9.c: New test. - -2024-10-07 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp0x/auto43.C: Adjust diagnostic. - * g++.dg/cpp2a/lambda-generic7.C: Likewise. - -2024-10-07 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/macro-8_a.H: New test. - * g++.dg/modules/macro-8_b.C: New test. - * g++.dg/modules/macro-8_c.C: New test. - * g++.dg/modules/macro-8_d.C: New test. - -2024-10-07 Jakub Jelinek <jakub@redhat.com> - - * gcc.target/aarch64/uxtl-combine-1.c: Remove executable permissions. - * gcc.target/aarch64/uxtl-combine-2.c: Likewise. - * gcc.target/aarch64/uxtl-combine-3.c: Likewise. - * gcc.target/aarch64/uxtl-combine-4.c: Likewise. - * gcc.target/aarch64/uxtl-combine-5.c: Likewise. - * gcc.target/aarch64/uxtl-combine-6.c: Likewise. - * gcc.target/gcn/complex.c: Likewise. - * gcc.target/i386/avx2-bf16-vec-absneg.c: Likewise. - * gcc.target/i386/avx512f-bf16-vec-absneg.c: Likewise. - * gcc.target/i386/pr104371-2.c: Likewise. - * gcc.target/i386/pr115146.c: Likewise. - * gcc.target/i386/vpermt2-special-bf16-shufflue.c: Likewise. - * g++.target/i386/pr107563-a.C: Likewise. - * g++.target/i386/pr107563-b.C: Likewise. - -2024-10-07 Victor Do Nascimento <victor.donascimento@arm.com> - - * gcc.dg/vect/vect-fncall-mask-math.c: New. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/116583 - * gcc.dg/vect/slp-13.c: Remove xfail for vect_variable_length. - * gcc.dg/vect/slp-13-big-array.c: Likewise. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sve/permute_5.c: New test. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - PR target/116583 - * gcc.target/aarch64/sve/permute_1.c: New test. - * gcc.target/aarch64/sve/permute_2.c: Likewise. - * gcc.target/aarch64/sve/permute_3.c: Likewise. - * gcc.target/aarch64/sve/permute_4.c: Likewise. - -2024-10-07 Richard Sandiford <richard.sandiford@arm.com> - - * lib/gcc-dg.exp (gcc-dg-runtest): Unset torture_current_flags - after each test. - -2024-10-07 Alex Coplan <alex.coplan@arm.com> - - PR testsuite/116683 - * g++.dg/ext/pragma-unroll-lambda-lto.C (main): Add #pragma to - prevent unrolling of the setup loop. - -2024-10-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116896 - * g++.target/i386/pr116896-1.C: New test. - * g++.target/i386/pr116896-2.C: New test. - -2024-10-07 Tobias Burnus <tburnus@baylibre.com> - - * c-c++-common/gomp/allocate-9.c: Update for removed sorry. - * gfortran.dg/gomp/allocate-15.f90: Likewise. - * gfortran.dg/gomp/allocate-pinned-1.f90: Likewise. - * gfortran.dg/gomp/allocate-4.f90: Likewise; add dg-error for - previously missing diagnostic. - * c-c++-common/gomp/allocate-18.c: New test. - * c-c++-common/gomp/allocate-19.c: New test. - * gfortran.dg/gomp/allocate-clause.f90: New test. - * gfortran.dg/gomp/allocate-static-2.f90: New test. - * gfortran.dg/gomp/allocate-static.f90: New test. - -2024-10-07 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.dg/vect/slp-26.c: Adjust GCN. - -2024-10-07 Thomas Schwinge <thomas@codesourcery.com> - - * gcc.misc-tests/options.exp: Re-enable for nvptx. - -2024-10-07 Thomas Schwinge <thomas@codesourcery.com> - - * c-c++-common/torture/complex-sign-mixed-add.c: Re-enable all - variants for nvptx. - * c-c++-common/torture/complex-sign-mixed-sub.c: Likewise. - -2024-10-07 Thomas Schwinge <thomas@codesourcery.com> - - * gcc.dg/special/weak-2.c: Re-enable for nvptx. - -2024-10-07 Thomas Schwinge <thomas@codesourcery.com> - - * gcc.c-torture/execute/20020529-1.c: Re-enable all variants for - nvptx. - -2024-10-07 Thomas Schwinge <thomas@codesourcery.com> - - * gcc.c-torture/execute/printf-1.c: XFAIL for nvptx. - * gcc.c-torture/execute/printf-chk-1.c: Likewise. - * gcc.c-torture/execute/vprintf-1.c: Likewise. - * gcc.c-torture/execute/vprintf-chk-1.c: Likewise. - * lib/target-supports.exp (check_effective_target_freestanding): - Disable for nvptx. - -2024-10-07 Thomas Schwinge <thomas@codesourcery.com> - - * gcc.c-torture/compile/920501-4.c: Re-enable nvptx - "ptxas times out" variants. - * gcc.c-torture/compile/921011-1.c: Likewise. - * gcc.c-torture/compile/pr34334.c: Likewise. - * gcc.c-torture/compile/pr37056.c: Likewise. - * gcc.c-torture/compile/pr39423-1.c: Likewise. - * gcc.c-torture/compile/pr49049.c: Likewise. - * gcc.c-torture/compile/pr59417.c: Likewise. - * gcc.c-torture/compile/limits-fndefn.c: Likewise. - Specify '-Wa,--no-verify' for nvptx '-O0'. - -2024-10-07 Thomas Schwinge <thomas@codesourcery.com> - - * gcc.c-torture/compile/20080721-1.c: Re-enable for nvptx. - -2024-10-06 John David Anglin <danglin@gcc.gnu.org> - - * g++.dg/cpp0x/noexcept87.C: Require lto. - * g++.dg/ext/pragma-unroll-lambda-lto.C: Likewise. - * gcc.dg/enum-alias-3.c: Likewise. - -2024-10-05 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/auto_var_init.adb: New test. - -2024-10-04 H.J. Lu <hjl.tools@gmail.com> - - PR target/116962 - * gcc.target/i386/pr116962.c: New file. - -2024-10-04 Saurabh Jha <saurabh.jha@arm.com> - - PR target/116934 - * gcc.target/aarch64/sve2/pr116934.c: New test. - -2024-10-04 Georg-Johann Lay <avr@gjlay.de> - - PR target/116953 - * gcc.target/avr/torture/pr116953.c: New test. - -2024-10-04 Georg-Johann Lay <avr@gjlay.de> - - * lib/target-supports.exp (check_effective_target_double_float32xplus): - New proc. - * gcc.dg/torture/float32x-builtin.c: Add - dg-require-effective-target double_float32xplus. - * gcc.dg/torture/float32x-tg-2.c: Same. - * gcc.dg/torture/float32x-tg.c: Same. - * gcc.dg/torture/float64-builtin.c: Add - dg-require-effective-target double64plus. - * gcc.dg/torture/float64-tg-2.c: Same. - * gcc.dg/torture/float64-tg.c: Same. - -2024-10-04 Thiago Jung Bauermann <thiago.bauermann@linaro.org> - - * gcc.target/arm/pr59858.c: Add -fpermissive. - * gcc.target/arm/pr65647.c: Likewise. - * gcc.target/arm/pr65710.c: Likewise. - * gcc.target/arm/pr97969.c: Likewise. - -2024-10-04 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp26/unevalstr1.C: Revert the 2024-10-03 changes, instead - expect extra warnings. Add another set of tests without space - between " and _. - * g++.dg/cpp26/unevalstr2.C: Expect extra warnings for C++23. Add - another set of tests without space between " and _. - -2024-10-04 Jakub Jelinek <jakub@redhat.com> - - PR target/116921 - * gcc.target/i386/pr116921.c: New test. - -2024-10-04 Jakub Jelinek <jakub@redhat.com> - - PR target/116925 - * g++.target/i386/avx-pr116925.C: New test. - -2024-10-04 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113266 - PR c++/116911 - * g++.dg/cpp0x/nontype6.C: New test. - -2024-10-04 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116913 - * g++.dg/lookup/using70.C: New test. - -2024-10-04 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/pr65947-8.c: Adjust. - -2024-10-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/99856 - * gcc.dg/vect/pr99856.c: Fix copy&paste errors. - -2024-10-04 Sam James <sam@gentoo.org> - - * gcc.dg/Wstringop-overflow-79.c: Fix index for notes. - * gcc.dg/Wstringop-overflow-80.c: Ditto. - -2024-10-04 Sam James <sam@gentoo.org> - - * c-c++-common/analyzer/flex-without-call-summaries.c: Add missing brace. - * c-c++-common/analyzer/malloc-callbacks.c: Ditto. - * gcc.dg/Wstringop-overflow-79.c: Ditto. - * gcc.dg/Wstringop-overflow-80.c: Ditto. - -2024-10-04 Georg-Johann Lay <avr@gjlay.de> - - * gcc.c-torture/execute/ieee/pr108540-1.c: Un-preprocess - __SIZE_TYPE__ and __INT64_TYPE__. - * gcc.c-torture/execute/ieee/pr108540-1.x: New file, requires double64. - -2024-10-04 Sam James <sam@gentoo.org> - - * gnat.dg/pack13.adb: Fix 'dg-...' directive syntax. - * gnat.dg/size_attribute.adb: Ditto. - * gnat.dg/subp_elim_errors.adb: Ditto. - -2024-10-03 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/specs/size_clause6.ads: New test. - -2024-10-03 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp0x/udlit-string-literal.h - * g++.dg/cpp0x/Wliteral-suffix2.C - * g++.dg/cpp0x/constexpr-55708.C - * g++.dg/cpp0x/gnu_fext-numeric-literals.C - * g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C - * g++.dg/cpp0x/pr51420.C - * g++.dg/cpp0x/pr60209-neg.C - * g++.dg/cpp0x/pr60209.C - * g++.dg/cpp0x/pr61038.C - * g++.dg/cpp0x/std_fext-numeric-literals.C - * g++.dg/cpp0x/std_fno-ext-numeric-literals.C - * g++.dg/cpp0x/udlit-addr.C - * g++.dg/cpp0x/udlit-args-neg.C - * g++.dg/cpp0x/udlit-args.C - * g++.dg/cpp0x/udlit-args2.C - * g++.dg/cpp0x/udlit-clink-neg.C - * g++.dg/cpp0x/udlit-concat-neg.C - * g++.dg/cpp0x/udlit-concat.C - * g++.dg/cpp0x/udlit-constexpr.C - * g++.dg/cpp0x/udlit-cpp98-neg.C - * g++.dg/cpp0x/udlit-declare-neg.C - * g++.dg/cpp0x/udlit-embed-quote.C - * g++.dg/cpp0x/udlit-extended-id-1.C - * g++.dg/cpp0x/udlit-extended-id-3.C - * g++.dg/cpp0x/udlit-extern-c.C - * g++.dg/cpp0x/udlit-friend.C - * g++.dg/cpp0x/udlit-general.C - * g++.dg/cpp0x/udlit-implicit-conv-neg-char8_t.C - * g++.dg/cpp0x/udlit-implicit-conv-neg.C - * g++.dg/cpp0x/udlit-inline.C - * g++.dg/cpp0x/udlit-mangle.C - * g++.dg/cpp0x/udlit-member-neg.C - * g++.dg/cpp0x/udlit-namespace.C - * g++.dg/cpp0x/udlit-nofunc-neg.C - * g++.dg/cpp0x/udlit-nonempty-str-neg.C - * g++.dg/cpp0x/udlit-nosuffix-neg.C - * g++.dg/cpp0x/udlit-nounder-neg.C - * g++.dg/cpp0x/udlit-operator-neg.C - * g++.dg/cpp0x/udlit-overflow-neg.C - * g++.dg/cpp0x/udlit-overflow.C - * g++.dg/cpp0x/udlit-preproc-neg.C - * g++.dg/cpp0x/udlit-raw-length.C - * g++.dg/cpp0x/udlit-raw-op-string-neg.C - * g++.dg/cpp0x/udlit-raw-op.C - * g++.dg/cpp0x/udlit-raw-str.C - * g++.dg/cpp0x/udlit-resolve-char8_t.C - * g++.dg/cpp0x/udlit-resolve.C - * g++.dg/cpp0x/udlit-shadow-neg.C - * g++.dg/cpp0x/udlit-string-length.C - * g++.dg/cpp0x/udlit-suffix-neg.C - * g++.dg/cpp0x/udlit-template.C - * g++.dg/cpp0x/udlit-tmpl-arg-neg.C - * g++.dg/cpp0x/udlit-tmpl-arg-neg2.C - * g++.dg/cpp0x/udlit-tmpl-arg.C - * g++.dg/cpp0x/udlit-tmpl-parms-neg.C - * g++.dg/cpp0x/udlit-tmpl-parms.C - * g++.dg/cpp1y/pr57640.C - * g++.dg/cpp1y/pr88872.C - * g++.dg/cpp26/unevalstr1.C - * g++.dg/cpp2a/concepts-pr60391.C - * g++.dg/cpp2a/consteval-prop21.C - * g++.dg/cpp2a/nontype-class6.C - * g++.dg/cpp2a/udlit-class-nttp-ctad-neg.C - * g++.dg/cpp2a/udlit-class-nttp-ctad-neg2.C - * g++.dg/cpp2a/udlit-class-nttp-ctad.C - * g++.dg/cpp2a/udlit-class-nttp-neg.C - * g++.dg/cpp2a/udlit-class-nttp-neg2.C - * g++.dg/cpp2a/udlit-class-nttp.C - * g++.dg/ext/is_convertible2.C - * g++.dg/lookup/pr87269.C - * g++.dg/cpp0x/udlit_system_header: Adjust for C++23 deprecated - operator "" _suffix. - * g++.dg/DRs/dr2521.C: New test. - -2024-10-03 Georg-Johann Lay <avr@gjlay.de> - - * gcc.dg/c23-stdarg-9.c (struct S) [AVR]: Only use int a[500]. - -2024-10-03 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/116927 - * g++.dg/torture/pr116927-1.C: New test. - -2024-10-03 David Malcolm <dmalcolm@redhat.com> - - PR other/116301 - * gcc.dg/plugin/crash-test-ice-in-header-sarif-2.1.c: New test. - * gcc.dg/plugin/crash-test-ice-in-header-sarif-2.2.c: New test. - * gcc.dg/plugin/crash-test-ice-in-header-sarif-2_1.py: Support - script for new test. - * gcc.dg/plugin/crash-test-ice-in-header-sarif-2_2.py: Likewise. - * gcc.dg/plugin/crash-test-ice-in-header.h: New header. - * gcc.dg/plugin/plugin.exp: Add the new tests. - * lib/sarif-schema-2.2-prerelease-2024-08-08.json: New schema - file. - * lib/scansarif.exp (verify-sarif-file): Add optional argument for - specifying which version of the schema to validate against, - supporting "2.1" and "2.2", defaulting to the former. - Update the test name to capture the version of the schema tested - against. - -2024-10-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116098 - * c-c++-common/torture/pr116098-2.c: New test. - * g++.dg/torture/pr116098-1.C: New test. - -2024-10-02 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - * gcc.dg/strict-flex-array-3.c (expect) [AVR]: Use custom - version due to AVR-LibC limitations. - (stuff): Use __SIZEOF_INT__ instead of hard-coded values. - -2024-10-02 Georg-Johann Lay <avr@gjlay.de> - - * gcc.dg/pr113596.c: Require less memory so it works on AVR. - -2024-10-02 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - * gcc.dg/pr93820-2.c: Add dg-require-effective-target int32. - -2024-10-02 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - * gcc.dg/signbit-6.c (main): Initialize a[0] and b[0] - with INT32_MIN (instead of with INT_MIN). - -2024-10-02 Victor Do Nascimento <victor.donascimento@arm.com> - - * gcc.dg/vect/vect-fncall-mask.c: New. - -2024-10-02 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/arm/mve/dlstp-loop-form.c: New test. - -2024-10-02 Filip Kastl <fkastl@suse.cz> - - PR tree-optimization/116616 - * gcc.target/i386/switch-exp-transform-1.c: Don't test for - presence of the POPCOUNT internal fn call. - -2024-10-02 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-12a.c: Adjust. - -2024-10-02 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-19c.c: Adjust expectation. - -2024-10-02 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect-double-reduc-5.c: Un-XFAIL everywhere. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR testsuite/116596 - * gcc.dg/vect/slp-11a.c: Fix. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113197 - * gcc.dg/lto/pr113197_0.c: New testcase. - * gcc.dg/lto/pr113197_1.c: Likewise. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR testsuite/116660 - * gcc.dg/vect/no-scevccp-outer-12.c: Add vect_pack_trunc. - * gcc.dg/vect/vect-multitypes-6.c: Add vect_char_add, remove - explicit 32bit sparc XFAIL. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116566 - * gcc.dg/tree-ssa/reassoc-46.c: When using partial vectors - the dump-scan doesn't look for the required .COND_ADD so - skip for partial vectors. - -2024-10-02 Jakub Jelinek <jakub@redhat.com> - - PR preprocessor/96842 - * c-c++-common/cpp/Wheader-guard-1.c: New test. - * c-c++-common/cpp/Wheader-guard-1-1.h: New test. - * c-c++-common/cpp/Wheader-guard-1-2.h: New test. - * c-c++-common/cpp/Wheader-guard-1-3.h: New test. - * c-c++-common/cpp/Wheader-guard-1-4.h: New test. - * c-c++-common/cpp/Wheader-guard-1-5.h: New test. - * c-c++-common/cpp/Wheader-guard-1-6.h: New test. - * c-c++-common/cpp/Wheader-guard-1-7.h: New test. - * c-c++-common/cpp/Wheader-guard-1-8.h: New test. - * c-c++-common/cpp/Wheader-guard-1-9.h: New test. - * c-c++-common/cpp/Wheader-guard-1-10.h: New test. - * c-c++-common/cpp/Wheader-guard-1-11.h: New test. - * c-c++-common/cpp/Wheader-guard-1-12.h: New test. - * c-c++-common/cpp/Wheader-guard-2.c: New test. - * c-c++-common/cpp/Wheader-guard-2.h: New test. - * c-c++-common/cpp/Wheader-guard-3.c: New test. - * c-c++-common/cpp/Wheader-guard-3.h: New test. - -2024-10-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116922 - * gcc.dg/torture/pr116922.c: New test. - -2024-10-02 Richard Biener <rguenther@suse.de> - - * gcc.dg/pr116905.c: Add float16 options. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR testsuite/116654 - * gcc.target/powerpc/p9-vec-length-full-8.c: Adjust. - -2024-10-02 Richard Biener <rguenther@suse.de> - - PR testsuite/116654 - * gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Adjust. - -2024-10-02 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_sub-2-i16.c: New test. - * gcc.target/riscv/sat_s_sub-2-i32.c: New test. - * gcc.target/riscv/sat_s_sub-2-i64.c: New test. - * gcc.target/riscv/sat_s_sub-2-i8.c: New test. - * gcc.target/riscv/sat_s_sub-run-2-i16.c: New test. - * gcc.target/riscv/sat_s_sub-run-2-i32.c: New test. - * gcc.target/riscv/sat_s_sub-run-2-i64.c: New test. - * gcc.target/riscv/sat_s_sub-run-2-i8.c: New test. - -2024-10-01 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_34.f90: New test. - -2024-10-01 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/lto28.adb: New test. - * gnat.dg/lto28_pkg1.ads: New helper. - * gnat.dg/lto28_pkg2.ads: Likewise. - * gnat.dg/lto28_pkg2.adb: Likewise. - * gnat.dg/lto28_pkg3.ads: Likewise. - -2024-10-01 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * g++.dg/ext/is_virtual_base_of.C: New test. - * g++.dg/ext/is_virtual_base_of_diagnostic.C: New test. - -2024-10-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116890 - * gcc.dg/tree-ssa/phi-opt-7.c: Update testcase for no ifs left. - * gcc.dg/tree-ssa/phi-opt-42.c: New test. - * gcc.dg/tree-ssa/phi-opt-43.c: New test. - -2024-10-01 Claudio Bantaloukas <Claudio.Bantaloukas@arm.com> - - * g++.target/aarch64/fp8_mangling.C: New tests exercising mangling. - * g++.target/aarch64/fp8_scalar_typecheck_2.C: New tests in C++. - * gcc.target/aarch64/fp8_scalar_1.c: New tests in C. - * gcc.target/aarch64/fp8_scalar_typecheck_1.c: Likewise. - -2024-10-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116902 - PR tree-optimization/116842 - * g++.dg/torture/pr116902.C: New testcase. - -2024-10-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116905 - * gcc.dg/pr116905.c: New testcase. - -2024-10-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116906 - * gcc.dg/pr116906-1.c: New testcase. - * gcc.dg/pr116906-2.c: Likewise. - -2024-10-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116899 - * gcc.dg/bitint-111.c: New test. - -2024-10-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116898 - * gcc.dg/bitint-110.c: New test. - -2024-09-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> - - * gcc.dg/tree-ssa/absfloat16.c: Fix testcase. - -2024-09-30 Marek Polacek <polacek@redhat.com> - - PR c++/109859 - * g++.dg/cpp2a/concepts-defarg3.C: New test. - * g++.dg/cpp2a/lambda-targ8.C: New test. - -2024-09-30 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/lto27.adb: New test. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc.dg/plugin/expensive_selftests_plugin.c (test_richloc): - Explicitly pass in dc.m_printer to diagnostic_show_locus. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc.dg/plugin/diagnostic_group_plugin.c - (test_diagnostic_start_span_fn): Update for change to callback - type. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc.dg/plugin/diagnostic_group_plugin.c - (test_output_format::on_begin_group): Use get_printer () rather - than accessing m_context.m_printer. - (test_output_format::on_end_group): Likewise. - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c - (xhtml_builder::m_printer): New field. - (xhtml_builder::xhtml_builder): Add "pp" param and use it to - initialize m_printer. - (xhtml_builder::on_report_diagnostic): Drop "context" param. - (xhtml_builder::make_element_for_diagnostic): Likewise. Use - this->m_printer rather than the context's m_printer. Pass - m_printer to call to diagnostic_show_locus. - (xhtml_builder::emit_diagram): Drop "context" param. - (xhtml_output_format::on_report_diagnostic): Drop context param - from call to m_builder. - (xhtml_output_format::on_diagram): Likewise. - (xhtml_output_format::xhtml_output_format): Pass result of - get_printer as printer for builder. - (diagnostic_output_format_init_xhtml): Use the fmt's printer - rather than the context's. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * c-c++-common/analyzer/escaping-1.c: Update expected results to - remove type information from C++ results. Previously we were - using %qD with default_tree_printer, which used - lang_hooks.decl_printable_name, whereas now we're using %qD with - a clone of the cxx_pretty_printer. - -2024-09-30 David Malcolm <dmalcolm@redhat.com> - - PR other/116792 - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Fix stray - reference to JSON. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * lib/target-supports.exp (check_effective_target_vect_dotprod_hisi): - New. - * gcc.dg/vect/vect-dotprod-conv-optab.c: Likewise. - * gcc.target/aarch64/vect-dotprod-twoway-hisi.c: Likewise. - -2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> - - * gcc.target/aarch64/sme/vect-dotprod-twoway.c (udot2): New. - -2024-09-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116879 - * gcc.dg/pr116879.c: New testcase. - -2024-09-30 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116817 - * g++.dg/vect/pr116817.cc: New test. - -2024-09-30 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray/pr81265.f90: New test. - -2024-09-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116842 - * g++.dg/torture/pr116842.C: New testcase. - -2024-09-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116850 - * gcc.dg/pr116850.c: New testcase. - -2024-09-29 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_arith_data.h: Add test data for SAT_SUB. - * gcc.target/riscv/sat_s_sub-1-i16.c: New test. - * gcc.target/riscv/sat_s_sub-1-i32.c: New test. - * gcc.target/riscv/sat_s_sub-1-i64.c: New test. - * gcc.target/riscv/sat_s_sub-1-i8.c: New test. - * gcc.target/riscv/sat_s_sub-run-1-i16.c: New test. - * gcc.target/riscv/sat_s_sub-run-1-i32.c: New test. - * gcc.target/riscv/sat_s_sub-run-1-i64.c: New test. - * gcc.target/riscv/sat_s_sub-run-1-i8.c: New test. - -2024-09-29 Sam James <sam@gentoo.org> - - PR fortran/116858 - * gfortran.dg/initialization_25.f90: Fix dg-error arguments. - -2024-09-29 Mikael Pettersson <mikpelinux@gmail.com> - - PR testsuite/116806 - * gcc.dg/cpp/charconst-3.c: Perform arithmetic in unsigned - type to avoid integer overflow. - -2024-09-29 Jovan Vukic <Jovan.Vukic@rt-rk.com> - - PR target/108038 - * gcc.target/riscv/slt-1.c: New test. - -2024-09-28 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_33.f90: New test. - -2024-09-28 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_31.f90: New test. - * gfortran.dg/unsigned_32.f90: New test. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116160 - * g++.dg/cpp0x/using-enum-3.C: No longer expect an error. - * g++.dg/lookup/using53.C: Remove XFAIL. - * g++.dg/cpp2a/using-enum-11.C: New test. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116748 - * g++.dg/lookup/using59.C: Update location. - * g++.dg/lookup/using69.C: New test. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116803 - * g++.dg/modules/merge-18_a.H: New test. - * g++.dg/modules/merge-18_b.H: New test. - * g++.dg/modules/merge-18_c.C: New test. - -2024-09-27 Marek Polacek <polacek@redhat.com> - - PR c++/102594 - * g++.dg/cpp1z/decomp61.C: New test. - -2024-09-27 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/116847 - * g++.dg/pch/pr116847.C: New test. - * g++.dg/pch/pr116847.Hs: New test. - -2024-09-27 Pan Li <pan2.li@intel.com> - - PR middle-end/116861 - * gcc.dg/torture/pr116861-1.c: New test. - -2024-09-27 Arsen Arsenović <arsen@aarsen.me> - - PR c++/116793 - * g++.dg/coroutines/pr116793-1.C: New test. - -2024-09-27 Arsen Arsenović <arsen@aarsen.me> - - * g++.dg/coroutines/nodiscard-1.C: New test. - -2024-09-27 Arsen Arsenović <arsen@aarsen.me> - - PR c++/116502 - * g++.dg/coroutines/maybe-unused-1.C: New test. - * g++.dg/coroutines/pr116502.C: New test. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/cexpr-5_a.C: New test. - * g++.dg/modules/cexpr-5_b.C: New test. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/using-10.C: Add tests for no-linkage, fix - expected linkage of aliases. - * g++.dg/modules/using-12.C: Likewise. - * g++.dg/modules/using-27.C: New test. - * g++.dg/modules/using-28_a.C: New test. - * g++.dg/modules/using-28_b.C: New test. - * g++.dg/modules/using-29.H: New test. - -2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/mod-sym-4.C: Update test to account for - non-static internal-linkage variables new mangling. - -2024-09-27 Hans-Peter Nilsson <hp@axis.com> - - * gfortran.dg/open_errors_2.f90: Remove now-redundant file deletion. - -2024-09-26 Marek Polacek <polacek@redhat.com> - - PR c++/116731 - * g++.dg/warn/Wrange-loop-construct3.C: New test. - -2024-09-26 Sam James <sam@gentoo.org> - - PR fortran/35779 - PR fortran/116858 - * gfortran.dg/initialization_25.f90: Mark as XFAIL. - -2024-09-26 Sam James <sam@gentoo.org> - - * g++.dg/modules/reparent-1_c.C: Fix whitespace around '-' in dg directive. - * gfortran.dg/initialization_25.f90: Ditto. - -2024-09-26 Sam James <sam@gentoo.org> - - * gfortran.dg/coarray/caf.exp: Fix 'dg-do-run' typo. - * lib/gfortran-dg.exp: Ditto. - * lib/gm2-dg.exp: Ditto. - * lib/go-dg.exp: Ditto. - -2024-09-26 Kugan Vivekanandarajah <kvivekananda@nvidia.com> - - * g++.dg/absvect.C: New test. - * gcc.dg/tree-ssa/absfloat16.c: New test. - -2024-09-26 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/part-vect-popcount-1.c: New test. - -2024-09-26 liuhongt <hongtao.liu@intel.com> - - * gcc.dg/rtl/x86_64/vector_eq.c: New test. - -2024-09-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116846 - * g++.dg/modules/indirect-1_b.C: Fix testcase. - -2024-09-26 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-9.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-9.c: New test. - -2024-09-25 Hans-Peter Nilsson <hp@axis.com> - - PR testsuite/116701 - * lib/fortran-modules.exp (fortran-delete-unit-files): New proc. - * lib/gfortran-dg.exp (gfortran-dg-runtest): Call - fortran-delete-unit-files after executing test. - * lib/fortran-torture.exp (fortran-torture-execute): Ditto. - -2024-09-25 Sam James <sam@gentoo.org> - - PR c++/116846 - * g++.dg/modules/indirect-1_b.C: Add XFAIL. - -2024-09-25 Sam James <sam@gentoo.org> - - PR debug/30161 - PR c++/91826 - PR c++/116846 - * g++.dg/debug/dwarf2/template-func-params-7.C: Fix errant underscore. - Cleanup whitespace in directives too. - * g++.dg/lookup/pr91826.C: Fix errant underscore. - * g++.dg/modules/indirect-1_b.C: Ditto. - * gcc.target/powerpc/vsx-builtin-msum.c: Ditto. - -2024-09-25 Jakub Jelinek <jakub@redhat.com> - - PR target/116738 - * gcc.target/i386/avx512f-pr116738-1.c: New test. - * gcc.target/i386/avx512f-pr116738-2.c: New test. - -2024-09-25 H.J. Lu <hjl.tools@gmail.com> - - PR target/116839 - * gcc.target/i386/pr116839.c: New file. - -2024-09-25 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_25.f90: Change KIND=16 to KIND=8. - -2024-09-25 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/70740 - * gcc.dg/torture/pr70740-1.c: New test. - -2024-09-25 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116772 - * gcc.dg/torture/pr116772-1.c: New test. - -2024-09-25 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/DRs/dr2874.C: New test. - -2024-09-25 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/DRs/dr2836.C: New test. - -2024-09-25 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/DRs/dr2728.C: New test. - -2024-09-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> - - PR tree-optimization/114326 - * gcc.dg/tree-ssa/fold-xor-and-or.c: New test. - * gcc.dg/tree-ssa/fold-xor-or.c: New test. - -2024-09-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> - - PR tree-optimization/109393 - * gcc.dg/pr109393.c: New test. - -2024-09-25 Jason Merrill <jason@redhat.com> - - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C - * g++.dg/diagnostic/disable.C: #define _GLIBCXX_SYSHDR. - -2024-09-25 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.dg/gomp/interop-1.f90: Add dg-error for missing - omp requires requirement and declare_variant usage. - * gfortran.dg/gomp/requires-8.f90: Likewise. - -2024-09-25 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/scalar_sat_binary_run_xxx.h: Remove printf - code for debugging. - -2024-09-25 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Remove - func body check and take scan asm times instead. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Ditto. - -2024-09-25 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Remove - func body check and take scan asm times instead. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: Ditto. - -2024-09-25 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-1.c: Remove - func body check and take scan asm times instead. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-9.c: Ditto. - -2024-09-25 Sandra Loosemore <sloosemore@baylibre.com> - - * c-c++-common/gomp/declare-variant-duplicates.c: Avoid using - "i386" as an identifier. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_30.f90: New test. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_29.f90: New test. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_25.f90: New test. - * gfortran.dg/unsigned_26.f90: New test. - -2024-09-24 Jakub Jelinek <jakub@redhat.com> - - PR c++/107637 - * g++.dg/cpp23/range-for1.C: New test. - * g++.dg/cpp23/range-for2.C: New test. - * g++.dg/cpp23/range-for3.C: New test. - * g++.dg/cpp23/range-for4.C: New test. - * g++.dg/cpp23/range-for5.C: New test. - * g++.dg/cpp23/range-for6.C: New test. - * g++.dg/cpp23/range-for7.C: New test. - * g++.dg/cpp23/range-for8.C: New test. - * g++.dg/cpp23/feat-cxx2b.C (__cpp_range_based_for): Check for - 202212L rather than 201603L. - * g++.dg/cpp26/feat-cxx26.C (__cpp_range_based_for): Likewise. - * g++.dg/warn/Wdangling-reference4.C: Don't expect warning for C++23 - or newer. Use dg-additional-options rather than dg-options. - -2024-09-24 Nina Dinka Ranns <dinka.ranns@googlemail.com> - - PR c++/116490 - * g++.dg/contracts/pr116490.C: New test. - -2024-09-24 Sandra Loosemore <sloosemore@baylibre.com> - - * c-c++-common/gomp/declare-variant-10.c: Fix broken tests. - * c-c++-common/gomp/declare-variant-3.c: Likewise. - * c-c++-common/gomp/declare-variant-9.c: Likewise. - * c-c++-common/gomp/declare-variant-any.c: New. - * c-c++-common/gomp/declare-variant-duplicates.c: New. - * gfortran.dg/gomp/declare-variant-10.f90: Fix broken tests. - * gfortran.dg/gomp/declare-variant-3.f90: Likewise. - * gfortran.dg/gomp/declare-variant-9.f90: Likewise. - * gfortran.dg/gomp/declare-variant-any.f90: New. - * gfortran.dg/gomp/declare-variant-duplicates.f90: New. - -2024-09-24 Pan Li <pan2.li@intel.com> - - PR middle-end/116814 - * g++.dg/torture/pr116814-1.C: New test. - -2024-09-24 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-1.c: Expect - length-controlled loop. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: - Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: - Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Ditto. - -2024-09-24 Robin Dapp <rdapp@ventanamicro.com> - - * lib/target-supports.exp: Fix effective target check. - -2024-09-24 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray/proc_pointer_assign_1.f90: New test. - -2024-09-24 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray/alloc_comp_10.f90: New test. - -2024-09-24 Tobias Burnus <tburnus@baylibre.com> - - * c-c++-common/gomp/declare-variant-1.c: Add self_maps test. - * c-c++-common/gomp/requires-4.c: Likewise. - * gfortran.dg/gomp/declare-variant-3.f90: Likewise. - * c-c++-common/gomp/requires-2.c: Update dg-error msg. - * gfortran.dg/gomp/requires-2.f90: Likewise. - * gfortran.dg/gomp/requires-self-maps-aux.f90: New. - * gfortran.dg/gomp/requires-self-maps.f90: New. - -2024-09-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gcc.dg/darwin-minversion-link.c: Account for macOS 15. - -2024-09-24 Prathamesh Kulkarni <prathameshk@nvidia.com> - Thomas Schwinge <tschwinge@baylibre.com> - - PR target/104957 - * gcc.target/nvptx/alias-to-alias-1.c: Adjust. - -2024-09-23 Marek Polacek <polacek@redhat.com> - - PR c++/116798 - * g++.dg/cpp23/explicit-obj-diagnostics12.C: New test. - -2024-09-23 Saurabh Jha <saurabh.jha@arm.com> - - * gcc.target/aarch64/simd/faminmax-codegen-no-flag.c: New test. - * gcc.target/aarch64/simd/faminmax-codegen.c: New test. - * gcc.target/aarch64/simd/faminmax-no-codegen.c: New test. - -2024-09-23 Saurabh Jha <saurabh.jha@arm.com> - - * gcc.target/aarch64/simd/faminmax-builtins-no-flag.c: New test. - * gcc.target/aarch64/simd/faminmax-builtins.c: New test. - -2024-09-23 Matthieu Longo <matthieu.longo@arm.com> - - * g++.target/aarch64/pr94515-1.C: Improve test documentation. - * g++.target/aarch64/pr94515-2.C: Same. - -2024-09-23 Matthieu Longo <matthieu.longo@arm.com> - - * g++.target/aarch64/pr94515-1.C: Replace SPARC CFI directive by - AArch64 one. - * g++.target/aarch64/pr94515-2.C: Same. - -2024-09-23 Simon Martin <simon@nasilyan.com> - - PR c++/109790 - PR c++/100632 - * g++.dg/cpp0x/decltype83.C: New test. - * g++.dg/cpp0x/decltype83a.C: New test. - * g++.dg/cpp1y/lambda-ice3.C: New test. - * g++.dg/cpp1y/lambda-ice3a.C: New test. - * g++.dg/cpp2a/nontype-class67.C: New test. - -2024-09-23 Simon Martin <simon@nasilyan.com> - - PR c++/116722 - * g++.dg/cpp0x/constexpr-ctor22.C: New test. - -2024-09-23 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116812 - * gcc.dg/vect/pr116812.c: New test. - -2024-09-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116791 - * gcc.dg/vect/pr116791.c: New testcase. - -2024-09-23 Pan Li <pan2.li@intel.com> - - PR target/116795 - * gcc.dg/torture/pr116795-1.c: New test. - -2024-09-23 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-8.c: New test. - -2024-09-23 Hans-Peter Nilsson <hp@axis.com> - - PR testsuite/116701 - * gfortran.dg/unsigned_22.f90: Add missing close with delete. - -2024-09-22 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_add-13.c: New test. - * gcc.target/riscv/sat_s_add-14.c: New test. - * gcc.target/riscv/sat_s_add-15.c: New test. - * gcc.target/riscv/sat_s_add-16.c: New test. - * gcc.target/riscv/sat_s_add-run-13.c: New test. - * gcc.target/riscv/sat_s_add-run-14.c: New test. - * gcc.target/riscv/sat_s_add-run-15.c: New test. - * gcc.target/riscv/sat_s_add-run-16.c: New test. - -2024-09-22 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_add-10.c: New test. - * gcc.target/riscv/sat_s_add-11.c: New test. - * gcc.target/riscv/sat_s_add-12.c: New test. - * gcc.target/riscv/sat_s_add-9.c: New test. - * gcc.target/riscv/sat_s_add-run-10.c: New test. - * gcc.target/riscv/sat_s_add-run-11.c: New test. - * gcc.target/riscv/sat_s_add-run-12.c: New test. - * gcc.target/riscv/sat_s_add-run-9.c: New test. - -2024-09-22 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/coroutines/torture/special-termination-00-sync-completion.C: New test. - * g++.dg/coroutines/torture/special-termination-01-self-destruct.C: New test. - -2024-09-22 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/vect/bb-slp-conditional_store_1.c: New test. - * gcc.dg/vect/vect-conditional_store_5.c: New test. - * gcc.dg/vect/vect-conditional_store_6.c: New test. - -2024-09-22 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/sve/asrdiv_4.c: Update bounds. - * gcc.target/aarch64/sve/cond_asrd_2.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_6.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_7.c: Likewise. - * gcc.target/aarch64/sve/cond_uxt_8.c: Likewise. - * gcc.target/aarch64/sve/miniloop_1.c: Likewise. - * gcc.target/aarch64/sve/spill_6.c: Likewise. - * gcc.target/aarch64/sve/sve_iters_low_1.c: New test. - * gcc.target/aarch64/sve/sve_iters_low_2.c: New test. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/minmaxloc_18.f90: New test. - * gfortran.dg/minmaxloc_18a.f90: New test. - * gfortran.dg/minmaxloc_18b.f90: New test. - * gfortran.dg/minmaxloc_18c.f90: New test. - * gfortran.dg/minmaxloc_18d.f90: New test. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/maxloc_bounds_5.f90: Additionally accept error - messages reported by the scalarizer. - * gfortran.dg/maxloc_bounds_6.f90: Ditto. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/maxloc_bounds_7.f90: Additionally accept the error message - reported by the scalarizer. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/maxloc_bounds_4.f90: Additionally accept the error - message emitted by the scalarizer. - -2024-09-21 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/90608 - * gfortran.dg/ieee/maxloc_nan_1.f90: New test. - * gfortran.dg/ieee/minloc_nan_1.f90: New test. - * gfortran.dg/maxloc_7.f90: New test. - * gfortran.dg/maxloc_with_mask_1.f90: New test. - * gfortran.dg/minloc_8.f90: New test. - * gfortran.dg/minloc_with_mask_1.f90: New test. - -2024-09-20 David Malcolm <dmalcolm@redhat.com> - - PR other/116792 - * gcc.dg/plugin/diagnostic-test-xhtml-1.c: New test. - * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: New test plugin. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above. - -2024-09-20 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * g++.dg/plugin/show_template_tree_color_plugin.c - (noop_starter_fn): Rename to... - (noop_text_starter_fn): ...this. Update first param from dc to - text_output. - (plugin_init): Update for renamings. - * gcc.dg/plugin/diagnostic_group_plugin.c - (test_diagnostic_starter): Rename to... - (test_diagnostic_text_starter): ...this. Update first param from - dc to text_output. - (plugin_init): Update for renaming. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Include - "diagnostic-format-text.h". - (custom_diagnostic_finalizer): Rename to... - (custom_diagnostic_text_finalizer): ...this. Update first param - from dc to text_output. - (test_show_locus): Update for renamings. - * gcc.dg/plugin/location_overflow_plugin.c: Include - "diagnostic-format-text.h". - (original_finalizer): Rename to... - (original_text_finalizer): ...this and update type. - (verify_unpacked_ranges): Update first param from dc to - text_output. Update for this and for renamings. - (verify_no_columns): Likewise. - (plugin_init): Update for renamings. - -2024-09-20 Martin Uecker <uecker@tugraz.at> - - PR c/116726 - * gcc.dg/pr116726.c: New test. - -2024-09-20 Patrick Palka <ppalka@redhat.com> - - DR 2789 - * g++.dg/cpp2a/concepts-memfun4.C: Adjust expected result - involving reversed candidate. - -2024-09-20 Gaius Mulley <gaiusmod2@gmail.com> - - * gm2/iso/fail/testarrayunbounded2.mod: New test. - * gm2/iso/fail/testarrayunbounded3.mod: New test. - * gm2/iso/fail/testarrayunbounded4.mod: New test. - * gm2/iso/fail/testarrayunbounded5.mod: New test. - * gm2/iso/fail/testarrayunbounded6.mod: New test. - * gm2/iso/pass/testarrayunbounded.mod: New test. - -2024-09-20 Patrick Palka <ppalka@redhat.com> - - PR c++/116492 - DR 2789 - * g++.dg/cpp2a/concepts-memfun4.C: Also compile in C++20 mode. - Expect ambiguity when candidates come from different classes. - * g++.dg/cpp2a/concepts-inherit-ctor12.C: New test. - -2024-09-20 Patrick Palka <ppalka@redhat.com> - - DR 2273 - * g++.dg/cpp1z/using1.C: Expect ambiguity for non-constructor call. - * g++.dg/overload/using5.C: Likewise. - -2024-09-20 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/rtl/aarch64/vector-eq.c: New test. - -2024-09-20 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116628 - * gcc.dg/vect/pr116628.c: Update cmdline. - -2024-09-20 Richard Biener <rguenther@suse.de> - - * gfortran.dg/vect/vect-8.f90: Allow one more vectorized loop. - -2024-09-20 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * gcc.target/s390/TI-constants-nolra.c: Removed. - * gcc.target/s390/pr79895.c: Removed. - -2024-09-20 Richard Biener <rguenther@suse.de> - - PR testsuite/116397 - * gcc.dg/vect/slp-reduc-3.c: Look for " = VEC_PERM_EXPR" - instead of "VEC_PERM_EXPR". - -2024-09-20 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.dg/ipa/modref-4.c: New test. - -2024-09-20 Sam James <sam@gentoo.org> - - * gcc.target/m68k/pr108640.c: Fix dg directive typo. - * gcc.target/m68k/pr110934.c: Ditto. - * gcc.target/m68k/pr82420.c: Ditto. - * gcc.target/powerpc/pr99708.c: Ditto. - -2024-09-20 Uros Bizjak <ubizjak@gmail.com> - Jakub Jelinek <jakub@redhat.com> - - PR target/116738 - * gcc.target/i386/sse-pr116738.c: New test. - -2024-09-20 Richard Biener <rguenther@suse.de> - - PR testsuite/116784 - * gcc.dg/vect/slp-perm-9.c: Use vect_perm_short also for - the SLP check. - -2024-09-20 Sam James <sam@gentoo.org> - - * gcc.dg/debug/btf/btf-datasec-1.c: Fix whitespace. - -2024-09-20 Sam James <sam@gentoo.org> - - * g++.dg/other/operator2.C: Fix dg-do directive. - * gcc.dg/Warray-bounds-67.c: Ditto. - * gcc.dg/cpp/builtin-macro-1.c: Ditto. - * gcc.dg/tree-ssa/builtin-snprintf-3.c: Ditto. - * obj-c++.dg/empty-private-1.mm: Ditto. - -2024-09-20 Sam James <sam@gentoo.org> - - * gcc.dg/debug/btf/btf-array-1.c: Fix dg-do directive syntax. - * gcc.dg/debug/btf/btf-bitfields-1.c: Ditto. - * gcc.dg/debug/btf/btf-bitfields-2.c: Ditto. - * gcc.dg/debug/btf/btf-datasec-1.c: Ditto. - * gcc.dg/debug/btf/btf-union-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-anonymous-struct-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-anonymous-union-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-array-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-array-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-array-4.c: Ditto. - * gcc.dg/debug/ctf/ctf-array-5.c: Ditto. - * gcc.dg/debug/ctf/ctf-array-6.c: Ditto. - * gcc.dg/debug/ctf/ctf-attr-mode-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-attr-used-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-bitfields-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-bitfields-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-bitfields-3.c: Ditto. - * gcc.dg/debug/ctf/ctf-bitfields-4.c: Ditto. - * gcc.dg/debug/ctf/ctf-complex-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-cvr-quals-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-cvr-quals-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-cvr-quals-3.c: Ditto. - * gcc.dg/debug/ctf/ctf-cvr-quals-4.c: Ditto. - * gcc.dg/debug/ctf/ctf-enum-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-enum-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-file-scope-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-float-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-forward-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-forward-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-func-index-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-function-pointers-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-function-pointers-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-function-pointers-3.c: Ditto. - * gcc.dg/debug/ctf/ctf-function-pointers-4.c: Ditto. - * gcc.dg/debug/ctf/ctf-functions-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-int-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-objt-index-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-pointers-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-pointers-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-preamble-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-str-table-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-struct-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-struct-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-struct-array-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-struct-array-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-typedef-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-typedef-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-typedef-3.c: Ditto. - * gcc.dg/debug/ctf/ctf-typedef-struct-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-typedef-struct-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-typedef-struct-3.c: Ditto. - * gcc.dg/debug/ctf/ctf-union-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-variables-1.c: Ditto. - * gcc.dg/debug/ctf/ctf-variables-2.c: Ditto. - * gcc.dg/debug/ctf/ctf-variables-3.c: Ditto. - -2024-09-19 Marek Polacek <polacek@redhat.com> - - PR c++/116162 - * g++.dg/cpp0x/defaulted15.C: Add dg-warning/dg-error. - * g++.dg/cpp0x/defaulted51.C: Likewise. - * g++.dg/cpp0x/defaulted52.C: Likewise. - * g++.dg/cpp0x/defaulted53.C: Likewise. - * g++.dg/cpp0x/defaulted54.C: Likewise. - * g++.dg/cpp0x/defaulted56.C: Likewise. - * g++.dg/cpp0x/defaulted57.C: Likewise. - * g++.dg/cpp0x/defaulted58.C: Likewise. - * g++.dg/cpp0x/defaulted59.C: Likewise. - * g++.dg/cpp0x/defaulted63.C: New test. - * g++.dg/cpp0x/defaulted64.C: New test. - * g++.dg/cpp0x/defaulted65.C: New test. - * g++.dg/cpp0x/defaulted66.C: New test. - * g++.dg/cpp0x/defaulted67.C: New test. - * g++.dg/cpp0x/defaulted68.C: New test. - * g++.dg/cpp0x/defaulted69.C: New test. - * g++.dg/cpp23/defaulted1.C: New test. - -2024-09-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_s_add-5.c: New test. - * gcc.target/riscv/sat_s_add-6.c: New test. - * gcc.target/riscv/sat_s_add-7.c: New test. - * gcc.target/riscv/sat_s_add-8.c: New test. - * gcc.target/riscv/sat_s_add-run-5.c: New test. - * gcc.target/riscv/sat_s_add-run-6.c: New test. - * gcc.target/riscv/sat_s_add-run-7.c: New test. - * gcc.target/riscv/sat_s_add-run-8.c: New test. - -2024-09-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116768 - * gcc.dg/torture/pr116768.c: New testcase. - -2024-09-19 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect-outer-slp-1.c: Adjust. - -2024-09-19 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/recursive_alloc_comp_5.f90: New test. - -2024-09-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Adjust - the dump check times from 2 to 4. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. - -2024-09-19 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray/alloc_comp_9.f90: New test. - -2024-09-19 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/const_fold_mul_1.c: Adjust expected - outcome. - * gcc.target/aarch64/sve/fold_mul_zero.c: New test. - -2024-09-19 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx10_2-512-vcvt2ps2phx-2.c: Enhance mask test. - * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvthf82ph-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. - * gcc.target/i386/avx512f-helper.h: Fix a typo in macro define. - -2024-09-19 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Include - avx512f-mask-type.h. - * gcc.target/i386/avx10_2-vminmaxsd-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxsh-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxss-2.c: Ditto. - -2024-09-19 Hans-Peter Nilsson <hp@axis.com> - - * gcc.dg/pr84877.c: Try to make the test result consistent by - misaligning the stack. - -2024-09-18 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_s_add-4.c: Update test for int64_t - instead of int8_t. - -2024-09-18 Patrick Palka <ppalka@redhat.com> - - PR c++/116714 - PR c++/107390 - * g++.dg/cpp2a/lambda-uneval18.C: New test. - -2024-09-18 Jin Ma <jinma@linux.alibaba.com> - - * gcc.target/riscv/zfa-fmovh-fmovp-bug.c: New test. - -2024-09-18 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * gcc.target/riscv/xtheadbb-extu-4.c: New. - -2024-09-18 Bohan Lei <garthlei@linux.alibaba.com> - - * gcc.target/riscv/rvv/base/vssubu-1.c: New test. - * gcc.target/riscv/rvv/base/vssubu-2.c: New test. - -2024-09-18 Jason Merrill <jason@redhat.com> - - * g++.dg/warn/Wdangling-reference1.C: Adjust diagnostic. - -2024-09-18 Jason Merrill <jason@redhat.com> - - PR c++/115361 - * g++.dg/ext/attr-no-dangling6.C - * g++.dg/ext/attr-no-dangling7.C - * g++.dg/ext/attr-no-dangling8.C - * g++.dg/ext/attr-no-dangling9.C - * g++.dg/warn/Wdangling-reference1.C - * g++.dg/warn/Wdangling-reference2.C - * g++.dg/warn/Wdangling-reference3.C: Make classes non-empty. - * g++.dg/warn/Wdangling-reference23.C: New test. - -2024-09-18 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/116569 - * gcc.dg/torture/pr116569.c: New test. - -2024-09-18 Georg-Johann Lay <avr@gjlay.de> - - PR rtl-optimization/116326 - * gcc.target/avr/torture/lra-pr116324.c: New test. - * gcc.target/avr/torture/lra-pr116325.c: New test. - -2024-09-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116585 - * gcc.dg/torture/pr116585.c: New testcase. - -2024-09-18 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Add test - data for vector ssadd. - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper - macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-4.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-4.c: New test. - -2024-09-18 Michael Meissner <meissner@linux.ibm.com> - - PR target/89213 - * gcc.target/powerpc/pr89213.c: New test. - * gcc.target/powerpc/vec-rlmi-rlnm.c: Update instruction count. - -2024-09-17 Marek Polacek <polacek@redhat.com> - - PR c++/116741 - * g++.dg/cpp26/constexpr-voidptr4.C: New test. - -2024-09-17 Marek Polacek <polacek@redhat.com> - - PR c++/116534 - * g++.dg/warn/Wtautological-compare4.C: New test. - -2024-09-17 Marek Polacek <polacek@redhat.com> - - PR c++/116676 - * g++.dg/cpp1z/constexpr-116676.C: New test. - -2024-09-17 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/fold_div_zero.c: New test. - * gcc.target/aarch64/sve/const_fold_div_1.c: Adjust expected - outcome. - -2024-09-16 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113328 - * gcc.target/aarch64/sve/acle/general/dupq_1.c: Update test to use - SVE's INDEX instruction. - * gcc.target/aarch64/sve/acle/general/dupq_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general/dupq_3.c: Likewise. - * gcc.target/aarch64/sve/acle/general/dupq_4.c: Likewise. - * gcc.target/aarch64/sve/vec_init_3.c: New test. - -2024-09-16 Soumya AR <soumyaa@nvidia.com> - - * gcc.target/aarch64/sve/acle/asm/lsl_s16.c: Updated instances of lsl-1 - with corresponding add. - * 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/adr_1.c: Likewise. - * gcc.target/aarch64/sve/adr_6.c: Likewise. - * gcc.target/aarch64/sve/cond_mla_7.c: Likewise. - * gcc.target/aarch64/sve/cond_mla_8.c: Likewise. - * gcc.target/aarch64/sve/shift_2.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rshl_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rshl_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rshl_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rshl_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rshl_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rshl_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rshl_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/rshl_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve/sve_shl_add.c: New test. - -2024-09-16 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/cmp-lsr-i32.c: New test. - * gcc.target/avr/torture/cmp-lsr-u16.c: New test. - * gcc.target/avr/torture/cmp-lsr-u24.c: New test. - * gcc.target/avr/torture/cmp-lsr-u32.c: New test. - * gcc.target/avr/torture/cmp-lsr-u64.c: New test. - -2024-09-15 Jason Merrill <jason@redhat.com> - - * g++.dg/warn/Wconditionally-supported-1.C: Add __extension__ cases. - -2024-09-15 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp2a/srcloc17.C: Adjust initialization. - -2024-09-15 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/115905 - * g++.dg/coroutines/torture/pr115905.C: New test. - -2024-09-15 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116699 - * gcc.dg/tree-ssa/phi-opt-factor-1.c: New test. - -2024-09-14 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/116716 - * gcc.c-torture/execute/pr52286.c: Fix inline-asm for 16bit case. - -2024-09-14 Simon Martin <simon@nasilyan.com> - - PR c++/116681 - * g++.dg/cpp2a/concepts-pr116681.C: New test. - -2024-09-14 Jason Merrill <jason@redhat.com> - - * c-c++-common/pragma-diag-17.c: Handle !dfp targets. - -2024-09-14 Jonathan Wakely <jwakely@redhat.com> - - * g++.dg/ext/sve-sizeless-1.C: Adjust dg-error string. - -2024-09-14 Alexandre Oliva <oliva@adacore.com> - - * g++.dg/coroutines/pr108620.C: Skip if !hostedlib because of - unavailable headers. - * g++.dg/other/profile1.C: Likewise. - * g++.dg/ext/pragma-unroll-lambda-lto.C: Skip if !hostedlib - because of unavailable declarations. - -2024-09-13 Jason Merrill <jason@redhat.com> - - PR c++/116696 - * g++.dg/DRs/dr2478.C: Prune extra diagnostic. - * g++.dg/ext/fimplicit-constexpr1.C: New test. - -2024-09-13 Tobias Burnus <tburnus@baylibre.com> - - PR fortran/116661 - * gfortran.dg/gomp/interop-1.f90: Extend, update dg-*. - * gfortran.dg/gomp/interop-2.f90: Update dg-error. - * gfortran.dg/gomp/interop-3.f90: Add dg-warning. - -2024-09-13 Jakub Jelinek <jakub@redhat.com> - - PR c++/116678 - * g++.dg/warn/deprecated-20.C: New test. - -2024-09-13 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * gcc.target/s390/vector/long-double-asm-abi.c: Adapt - scan-assembler directive. - * gcc.target/s390/vector/long-double-to-i64.c: Adapt - scan-assembler directive. - * gcc.target/s390/pr115860-1.c: New test. - -2024-09-13 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/116653 - * gfortran.dg/unsigned_21.f90: - * gfortran.dg/unsigned_21_be.f90: New test. - -2024-09-12 Alexandre Oliva <oliva@adacore.com> - Olivier Hainque <hainque@adacore.com> - - * lib/target-supports.exp (check_effective_target_hostedlib): - New. - * g++.dg/contracts/contracts-access1.C: Skip if !hostedlib - because of libstdc++exp. - * g++.dg/contracts/contracts-assume3.C: Likewise. - * g++.dg/contracts/contracts-assume4.C: Likewise. - * g++.dg/contracts/contracts-config1.C: Likewise. - * g++.dg/contracts/contracts-constexpr1.C: Likewise. - * g++.dg/contracts/contracts-deduced2.C: Likewise. - * g++.dg/contracts/contracts-externC.C: Likewise. - * g++.dg/contracts/contracts-friend1.C: Likewise. - * g++.dg/contracts/contracts-multiline1.C: Likewise. - * g++.dg/contracts/contracts-nested-class2.C: Likewise. - * g++.dg/contracts/contracts-post2.C: Likewise. - * g++.dg/contracts/contracts-post3.C: Likewise. - * g++.dg/contracts/contracts-pre2a2.C: Likewise. - * g++.dg/contracts/contracts10.C: Likewise. - * g++.dg/contracts/contracts18.C: Likewise. - * g++.dg/contracts/contracts19.C: Likewise. - * g++.dg/contracts/contracts2.C: Likewise. - * g++.dg/contracts/contracts24.C: Likewise. - * g++.dg/contracts/contracts25.C: Likewise. - * g++.dg/contracts/contracts3.C: Likewise. - * g++.dg/contracts/contracts4.C: Likewise. - * g++.dg/contracts/contracts5.C: Likewise. - * g++.dg/contracts/contracts6.C: Likewise. - * g++.dg/contracts/contracts7.C: Likewise. - * g++.dg/contracts/contracts9.C: Likewise. - * g++.dg/contracts/pr110159.C: Likewise. - * g++.dg/contracts/pr115434.C: Likewise. Adjust line numbers. - * c-c++-common/pr36513-2.c: Skip if !hostedlib because of - unavailable headers. - * c-c++-common/analyzer/pr93290.c: Likewise. - * g++.dg/analyzer/pr93212.C: Likewise. - * g++.dg/analyzer/vfunc-2.C: Likewise. - * g++.dg/cdce3.C: Likewise. Adjust line numbers. - * g++.dg/concepts/expression.C: Likewise. - * g++.dg/concepts/fn3.C: Likewise. - * g++.dg/concepts/fn9.C: Likewise. - * g++.dg/concepts/generic-fn.C: Likewise. - * g++.dg/contracts/contracts-assume2.C: Likewise. - * g++.dg/contracts/contracts-ignore2.C: Likewise. - * g++.dg/contracts/contracts-post7.C: Likewise. - * g++.dg/contracts/contracts-pre10.C: Likewise. - * g++.dg/contracts/contracts-pre2.C: Likewise. - * g++.dg/contracts/contracts-pre3.C: Likewise. - * g++.dg/contracts/contracts-pre4.C: Likewise. - * g++.dg/contracts/contracts-pre5.C: Likewise. - * g++.dg/contracts/contracts-pre7.C: Likewise. - * g++.dg/contracts/contracts-pre9.C: Likewise. - * g++.dg/contracts/contracts-redecl3.C: Likewise. - * g++.dg/contracts/contracts-redecl4.C: Likewise. - * g++.dg/contracts/contracts-redecl6.C: Likewise. - * g++.dg/contracts/contracts-redecl7.C: Likewise. - * g++.dg/contracts/contracts-tmpl-spec1.C: Likewise. - * g++.dg/contracts/contracts-tmpl-spec2.C: Likewise. - * g++.dg/contracts/contracts-tmpl-spec3.C: Likewise. - * g++.dg/contracts/contracts14.C: Likewise. - * g++.dg/contracts/contracts15.C: Likewise. - * g++.dg/contracts/contracts16.C: Likewise. - * g++.dg/contracts/contracts17.C: Likewise. - * g++.dg/contracts/contracts22.C: Likewise. - * g++.dg/contracts/contracts35.C: Likewise. - * g++.dg/coroutines/pr100611.C: Likewise. - * g++.dg/coroutines/pr100772-b.C: Likewise. - * g++.dg/coroutines/pr101133.C: Likewise. - * g++.dg/coroutines/pr101367.C: Likewise. - * g++.dg/coroutines/pr101976.C: Likewise. - * g++.dg/coroutines/pr102454.C: Likewise. - * g++.dg/coroutines/pr104051.C: Likewise. - * g++.dg/coroutines/pr110635.C: Likewise. - * g++.dg/coroutines/pr110871.C: Likewise. Adjust line numbers. - * g++.dg/coroutines/pr110872.C: Likewise. Likewise. - * g++.dg/coroutines/pr94288.C: Likewise. - * g++.dg/coroutines/pr95520.C: Likewise. - * g++.dg/coroutines/pr95736.C: Likewise. - * g++.dg/coroutines/pr97587.C: Likewise. - * g++.dg/coroutines/pr99576_1.C: Likewise. - * g++.dg/coroutines/pr99576_2.C: Likewise. - * g++.dg/coroutines/ramp-return-a.C: Likewise. - * g++.dg/coroutines/ramp-return-b.C: Likewise. - * g++.dg/coroutines/ramp-return-c.C: Likewise. - * g++.dg/coroutines/symmetric-transfer-00-basic.C: Likewise. - * g++.dg/coroutines/torture/co-await-16-template-traits.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: - Likewise. - * g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: - Likewise. - * g++.dg/coroutines/torture/extern-c-coroutine.C: Likewise. - * g++.dg/coroutines/torture/func-params-08.C: Likewise. - * g++.dg/coroutines/torture/func-params-09-awaitable-parms.C: - Likewise. - * g++.dg/coroutines/torture/local-var-05-awaitable.C: - Likewise. - * g++.dg/coroutines/torture/pr95615-01.C: Likewise. - * g++.dg/coroutines/torture/pr95615-02.C: Likewise. - * g++.dg/coroutines/torture/pr95615-03.C: Likewise. - * g++.dg/coroutines/torture/pr95615-04.C: Likewise. - * g++.dg/coroutines/torture/pr95615-05.C: Likewise. - * g++.dg/coroutines/torture/pr98704.C: Likewise. - * g++.dg/cpp/pr80005.C: Likewise. - * g++.dg/cpp0x/Wliteral-suffix.C: Likewise. - * g++.dg/cpp0x/Wpessimizing-move2.C: Likewise. - * g++.dg/cpp0x/constexpr-70001-3.C: Likewise. - * g++.dg/cpp0x/constexpr-ice16.C: Likewise. - * g++.dg/cpp0x/dc5.C: Likewise. - * g++.dg/cpp0x/enum35.C: Likewise. - * g++.dg/cpp0x/enum36.C: Likewise. - * g++.dg/cpp0x/initlist-opt1.C: Likewise. - * g++.dg/cpp0x/initlist-vect2.C: Likewise. - * g++.dg/cpp0x/initlist13.C: Likewise. - * g++.dg/cpp0x/initlist15.C: Likewise. - * g++.dg/cpp0x/initlist25.C: Likewise. - * g++.dg/cpp0x/initlist54.C: Likewise. - * g++.dg/cpp0x/initlist92.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-capture-const-ref.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-const-neg.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-const.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-deduce.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-in-class-neg.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-in-class.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-mixed.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-mutable.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-nested.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-non-const.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-nop.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-nullptr.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-pass.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-recursive.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-ref-default.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-ref.C: Likewise. - * g++.dg/cpp0x/nullptr20.C: Likewise. - * g++.dg/cpp0x/pr61038.C: Likewise. - * g++.dg/cpp0x/rv-trivial-bug.C: Likewise. - * g++.dg/cpp0x/udlit-concat-neg.C: Likewise. - * g++.dg/cpp0x/udlit-concat.C: Likewise. - * g++.dg/cpp0x/udlit-embed-quote.C: Likewise. - * g++.dg/cpp0x/udlit-extended-id-1.C: Likewise. - * g++.dg/cpp0x/udlit-general.C: Likewise. - * g++.dg/cpp0x/udlit-namespace.C: Likewise. - * g++.dg/cpp0x/udlit-raw-op.C: Likewise. - * g++.dg/cpp0x/udlit-raw-str.C: Likewise. - * g++.dg/cpp0x/udlit-resolve-char8_t.C: Likewise. - * g++.dg/cpp0x/udlit-resolve.C: Likewise. - * g++.dg/cpp0x/udlit-sfinae.C: Likewise. - * g++.dg/cpp0x/udlit-string-literal.C: Likewise. - * g++.dg/cpp0x/udlit-suffix-neg.C: Likewise. - * g++.dg/cpp1y/udlit-userdef-string.C: Likewise. - * g++.dg/cpp0x/udlit-template.C: Likewise. - * g++.dg/cpp0x/variadic-bind.C: Likewise. - * g++.dg/cpp0x/variadic-function.C: Likewise. - * g++.dg/cpp0x/variadic-mem_fn.C: Likewise. - * g++.dg/cpp0x/variadic-tuple.C: Likewise. - * g++.dg/cpp1y/auto-fn45.C: Likewise. - * g++.dg/cpp1y/complex_literals1.C: Likewise. - * g++.dg/cpp1y/complex_literals1a.C: Likewise. - * g++.dg/cpp1y/constexpr-66093.C: Likewise. - * g++.dg/cpp1y/constexpr-assert1.C: Likewise. - * g++.dg/cpp1y/constexpr-assert2.C: Likewise. - * g++.dg/cpp1y/feat-cxx14.C: Likewise. - * g++.dg/cpp1y/lambda-generic-69078-2.C: Likewise. - * g++.dg/cpp1y/lambda-generic-x.C: Likewise. - * g++.dg/cpp1y/lambda-init8.C: Likewise. - * g++.dg/cpp1y/new2.C: Likewise. - * g++.dg/cpp1y/nsdmi-aggr12.C: Likewise. - * g++.dg/cpp1y/pr57640.C: Likewise. - * g++.dg/cpp1y/pr77786.C: Likewise. - * g++.dg/cpp1y/pr95226.C: Likewise. - * g++.dg/cpp1y/udlit-char-template-sfinae.C: Likewise. - * g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C: - Likewise. - * g++.dg/cpp1z/class-deduction14.C: Likewise. - * g++.dg/cpp1z/constexpr-asm-1.C: Likewise. - * g++.dg/cpp1z/constexpr-asm-3.C: Likewise. - * g++.dg/cpp1z/decomp37.C: Likewise. - * g++.dg/cpp1z/eval-order2.C: Likewise. - * g++.dg/cpp1z/feat-cxx1z.C: Likewise. - * g++.dg/cpp1z/fold1.C: Likewise. - * g++.dg/cpp1z/init-statement6.C: Likewise. - * g++.dg/cpp1z/launder3.C: Likewise. - * g++.dg/cpp1z/launder4.C: Likewise. - * g++.dg/cpp1z/launder5.C: Likewise. - * g++.dg/cpp1z/launder6.C: Likewise. - * g++.dg/cpp1z/utf8.C: Likewise. - * g++.dg/cpp23/ext-floating12.C: Likewise. - * g++.dg/cpp23/feat-cxx2b.C: Likewise. - * g++.dg/cpp26/constexpr-voidptr1.C: Likewise. - * g++.dg/cpp26/feat-cxx26.C: Likewise. - * g++.dg/cpp2a/concepts-cmath.C: Likewise. - * g++.dg/cpp2a/concepts-explicit-spec1.C: Likewise. - * g++.dg/cpp2a/concepts-explicit-spec4.C: Likewise. - * g++.dg/cpp2a/concepts-explicit-spec5.C: Likewise. - * g++.dg/cpp2a/concepts-memfun.C: Likewise. - * g++.dg/cpp2a/concepts-pr67774.C: Likewise. - * g++.dg/cpp2a/cond-triv2.C: Likewise. - * g++.dg/cpp2a/feat-cxx2a.C: Likewise. - * g++.dg/cpp2a/nontype-float1.C: Likewise. - * g++.dg/diagnostic/disable.C: Likewise. - * g++.dg/diagnostic/missing-header-pr110164.C: Likewise. - * g++.dg/diagnostic/pr65923.C: Likewise. - * g++.dg/eh/arm-vfp-unwind.C: Likewise. - * g++.dg/eh/crossjump1.C: Likewise. - * g++.dg/eh/omit-frame-pointer.C: Likewise. - * g++.dg/eh/simd-3.C: Likewise. - * g++.dg/ext/bases.C: Likewise. - * g++.dg/ext/builtin-line1.C: Likewise. - * g++.dg/ext/builtin10.C: Likewise. - * g++.dg/ext/complex4.C: Likewise. - * g++.dg/ext/has_nothrow_assign.C: Likewise. - * g++.dg/ext/has_nothrow_assign_odr.C: Likewise. - * g++.dg/ext/has_nothrow_constructor.C: Likewise. - * g++.dg/ext/has_nothrow_constructor_odr.C: Likewise. - * g++.dg/ext/has_nothrow_copy-1.C: Likewise. - * g++.dg/ext/has_nothrow_copy-2.C: Likewise. - * g++.dg/ext/has_nothrow_copy-3.C: Likewise. - * g++.dg/ext/has_nothrow_copy-4.C: Likewise. - * g++.dg/ext/has_nothrow_copy-5.C: Likewise. - * g++.dg/ext/has_nothrow_copy-6.C: Likewise. - * g++.dg/ext/has_nothrow_copy-7.C: Likewise. - * g++.dg/ext/has_nothrow_copy_odr.C: Likewise. - * g++.dg/ext/has_trivial_assign.C: Likewise. - * g++.dg/ext/has_trivial_constructor.C: Likewise. - * g++.dg/ext/has_trivial_copy.C: Likewise. - * g++.dg/ext/has_trivial_destructor-1.C: Likewise. - * g++.dg/ext/has_virtual_destructor.C: Likewise. - * g++.dg/ext/is_abstract.C: Likewise. - * g++.dg/ext/is_aggregate.C: Likewise. - * g++.dg/ext/is_base_of.C: Likewise. - * g++.dg/ext/is_class.C: Likewise. - * g++.dg/ext/is_convertible2.C: Likewise. - * g++.dg/ext/is_empty.C: Likewise. - * g++.dg/ext/is_enum.C: Likewise. - * g++.dg/ext/is_pod.C: Likewise. - * g++.dg/ext/is_polymorphic.C: Likewise. - * g++.dg/ext/is_union.C: Likewise. - * g++.dg/ext/underlying_type10.C: Likewise. - * g++.dg/ext/underlying_type4.C: Likewise. - * g++.dg/gcov/gcov-14.C: Likewise. - * g++.dg/gcov/gcov-18.C: Likewise. - * g++.dg/gcov/pr88045.C: Likewise. - * g++.dg/gcov/pr88263-2.C: Likewise. - * g++.dg/gcov/pr88263.C: Likewise. - * g++.dg/gomp/has_device_addr-non-lvalue-1.C: Likewise. - * g++.dg/gomp/ind-base-3.C: Likewise. - * g++.dg/gomp/map-assignment-1.C: Likewise. - * g++.dg/gomp/map-lvalue-ref-1.C: Likewise. - * g++.dg/gomp/map-ptrmem-1.C: Likewise. - * g++.dg/gomp/map-ptrmem-2.C: Likewise. - * g++.dg/gomp/map-static-cast-lvalue-1.C: Likewise. - * g++.dg/gomp/map-ternary-1.C: Likewise. - * g++.dg/gomp/member-array-2.C: Likewise. - * g++.dg/gomp/pr71910.C: Likewise. - * g++.dg/gomp/pr91118-1.C: Likewise. - * g++.dg/gomp/sink-2.C: Likewise. - * g++.dg/gomp/target-this-3.C: Likewise. - * g++.dg/gomp/target-this-4.C: Likewise. - * g++.dg/gomp/tile-1.C: Likewise. - * g++.dg/gomp/tile-2.C: Likewise. - * g++.dg/gomp/unroll-1.C: Likewise. - * g++.dg/gomp/unroll-2.C: Likewise. - * g++.dg/gomp/unroll-3.C: Likewise. - * g++.dg/graphite/id-1.C: Likewise. - * g++.dg/graphite/pr42130.C: Likewise. - * g++.dg/inherit/virtual8.C: Likewise. - * g++.dg/init/array4.C: Likewise. - * g++.dg/init/new18.C: Likewise. - * g++.dg/init/new39.C: Likewise. - * g++.dg/init/new40.C: Likewise. - * g++.dg/ipa/devirt-29.C: Likewise. - * g++.dg/ipa/pr85549.C: Likewise. - * g++.dg/lookup/missing-std-include-3.C: Likewise. - * g++.dg/lookup/pr21802.C: Likewise. - * g++.dg/lto/20091022-2_0.C: Likewise. - * g++.dg/lto/20091219_0.C: Likewise. - * g++.dg/lto/pr80287_0.C: Likewise. - * g++.dg/lto/pr89358_0.C: Likewise. - * g++.dg/lto/pr89358_1.C: Likewise. - * g++.dg/modules/binding-1_a.H: Likewise. - * g++.dg/modules/binding-1_b.H: Likewise. - * g++.dg/modules/contracts-1_a.C: Likewise. - * g++.dg/modules/contracts-1_b.C: Likewise. - * g++.dg/modules/contracts-2_a.C: Likewise. - * g++.dg/modules/contracts-2_b.C: Likewise. - * g++.dg/modules/contracts-3_a.C: Likewise. - * g++.dg/modules/contracts-3_b.C: Likewise. - * g++.dg/modules/contracts-4_a.C: Likewise. - * g++.dg/modules/contracts-4_d.C: Likewise. - * g++.dg/modules/global-3_a.C: Likewise. - * g++.dg/modules/hello-1_a.C: Likewise. - * g++.dg/modules/hello-2_a.C: Likewise. - * g++.dg/modules/hello-2_b.C: Likewise. - * g++.dg/modules/iostream-1_a.H: Likewise. - * g++.dg/modules/p1689-2.C: Likewise. - * g++.dg/modules/part-5_c.C: Likewise. - * g++.dg/modules/pr99023_a.X: Likewise. - * g++.dg/modules/pr99166_a.X: Likewise. - * g++.dg/modules/pr99166_b.C: Likewise. - * g++.dg/modules/pr99425-2_a.X: Likewise. - * g++.dg/modules/pr99425-2_b.X: Likewise. - * g++.dg/modules/string-1_a.H: Likewise. - * g++.dg/modules/string-1_b.C: Likewise. - * g++.dg/modules/string-view1.C: Likewise. - * g++.dg/modules/xtreme-header-1_a.H: Likewise. - * g++.dg/modules/xtreme-header-1_b.C: Likewise. - * g++.dg/modules/xtreme-header-2_a.H: Likewise. - * g++.dg/modules/xtreme-header-2_b.C: Likewise. - * g++.dg/modules/xtreme-header-3_a.H: Likewise. - * g++.dg/modules/xtreme-header-3_b.C: Likewise. - * g++.dg/modules/xtreme-header-4_a.H: Likewise. - * g++.dg/modules/xtreme-header-4_b.C: Likewise. - * g++.dg/modules/xtreme-header-5_a.H: Likewise. - * g++.dg/modules/xtreme-header-5_b.C: Likewise. - * g++.dg/modules/xtreme-header-6_a.H: Likewise. - * g++.dg/modules/xtreme-header-6_b.C: Likewise. - * g++.dg/modules/xtreme-header-7_a.H: Likewise. - * g++.dg/modules/xtreme-header-7_b.C: Likewise. - * g++.dg/modules/xtreme-header_a.H: Likewise. - * g++.dg/modules/xtreme-header_b.C: Likewise. - * g++.dg/modules/xtreme-tr1_a.H: Likewise. - * g++.dg/modules/xtreme-tr1_b.C: Likewise. - * g++.dg/opt/builtins2.C: Likewise. - * g++.dg/opt/dtor4-aux.cc: Likewise. - * g++.dg/opt/dtor4.C: Likewise. - * g++.dg/opt/nrv17.C: Likewise. - * g++.dg/opt/pr102970.C: Likewise. - * g++.dg/opt/pr109434.C: Likewise. - * g++.dg/opt/pr110879.C: Likewise. - * g++.dg/opt/pr15551.C: Likewise. - * g++.dg/opt/pr30965.C: Likewise. - * g++.dg/opt/pr65074.C: Likewise. - * g++.dg/opt/pr66119.C: Likewise. - * g++.dg/opt/pr77844.C: Likewise. - * g++.dg/opt/pr85393.C: Likewise. - * g++.dg/opt/pr94223.C: Likewise. - * g++.dg/other/final7.C: Likewise. - * g++.dg/other/pr40561.C: Likewise. - * g++.dg/parse/lookup1.C: Likewise. - * g++.dg/parse/parse5.C: Likewise. - * g++.dg/pch/system-1.C: Likewise. - * g++.dg/pch/system-1.Hs: Likewise. - * g++.dg/pch/system-2.C: Likewise. - * g++.dg/pch/system-2.Hs: Likewise. - * g++.dg/pr100253.C: Likewise. - * g++.dg/pr104547.C: Likewise. - * g++.dg/pr107087.C: Likewise. - * g++.dg/pr71488.C: Likewise. - * g++.dg/pr71655.C: Likewise. - * g++.dg/pr79095-3.C: Likewise. - * g++.dg/pr83239.C: Likewise. - * g++.dg/pr99966.C: Likewise. - * g++.dg/rtti/typeid4.C: Likewise. - * g++.dg/spellcheck-inttypes.C: Likewise. - * g++.dg/template/friend10.C: Likewise. - * g++.dg/template/pr69961a.C: Likewise. - * g++.dg/template/show-template-tree-3.C: Likewise. - * g++.dg/tm/inherit2.C: Likewise. - * g++.dg/tm/pr46270.C: Likewise. - * g++.dg/torture/alias-1.C: Likewise. - * g++.dg/torture/builtin-location.C: Likewise. - * g++.dg/torture/pr103669.C: Likewise. - * g++.dg/torture/pr104601.C: Likewise. - * g++.dg/torture/pr106922.C: Likewise. - * g++.dg/torture/pr111019.C: Likewise. - * g++.dg/torture/pr33572.C: Likewise. - * g++.dg/torture/pr33735.C: Likewise. - * g++.dg/torture/pr34099.C: Likewise. - * g++.dg/torture/pr39417.C: Likewise. - * g++.dg/torture/pr44972.C: Likewise. - * g++.dg/torture/pr46364.C: Likewise. - * g++.dg/torture/pr49628.C: Likewise. - * g++.dg/torture/pr49938.C: Likewise. - * g++.dg/torture/pr51903.C: Likewise. - * g++.dg/torture/pr54498.C: Likewise. - * g++.dg/torture/pr60750.C: Likewise. - * g++.dg/torture/pr67600.C: Likewise. - * g++.dg/torture/pr82084.C: Likewise. - * g++.dg/torture/pr86763.C: Likewise. - * g++.dg/torture/pr95493-1.C: Likewise. - * g++.dg/tree-ssa/allocator-opt1.C: Likewise. - * g++.dg/tree-ssa/copyprop.C: Likewise. - * g++.dg/tree-ssa/empty-loop.C: Likewise. - * g++.dg/tree-ssa/initlist-opt1.C: Likewise. - * g++.dg/tree-ssa/initlist-opt2.C: Likewise. - * g++.dg/tree-ssa/initlist-opt3.C: Likewise. - * g++.dg/tree-ssa/initlist-opt5.C: Likewise. - * g++.dg/tree-ssa/loop-cond-split-1.C: Likewise. - * g++.dg/tree-ssa/loop-split-1.C: Likewise. - * g++.dg/tree-ssa/pr101839.C: Likewise. - * g++.dg/tree-ssa/pr104529.C: Likewise. - * g++.dg/tree-ssa/pr109849.C: Likewise. - * g++.dg/tree-ssa/pr14703.C: Likewise. - * g++.dg/tree-ssa/pr19786.C: Likewise. - * g++.dg/tree-ssa/pr46228.C: Likewise. - * g++.dg/tree-ssa/pr63841.C: Likewise. - * g++.dg/tree-ssa/pr69336.C: Likewise. - * g++.dg/tree-ssa/pr78847.C: Likewise. - * g++.dg/tree-ssa/pr95638.C: Likewise. - * g++.dg/uninit-pr105937.C: Likewise. - * g++.dg/vect/pr102421.cc: Likewise. - * g++.dg/vect/pr105053.cc: Likewise. - * g++.dg/vect/pr33426-ivdep-4.cc: Likewise. - * g++.dg/vect/pr64410.cc: Likewise. - * g++.dg/vect/slp-pr87105.cc: Likewise. - * g++.dg/vect/vect-novector-pragma.cc: Likewise. - * g++.dg/warn/Warray-bounds-27.C: Likewise. - * g++.dg/warn/Wdangling-pointer-pr110055.C: Likewise. - * g++.dg/warn/Wdangling-reference10.C: Likewise. - * g++.dg/warn/Wdangling-reference14.C: Likewise. - * g++.dg/warn/Wdangling-reference17.C: Likewise. - * g++.dg/warn/Wdangling-reference4.C: Likewise. - * g++.dg/warn/Wdangling-reference5.C: Likewise. - * g++.dg/warn/Wfree-nonheap-object-3.C: Likewise. - * g++.dg/warn/Winline-3.C: Likewise. - * g++.dg/warn/Wmemset-elt-size1.C: Likewise. - * g++.dg/warn/Wparentheses-34.C: Likewise. - * g++.dg/warn/Wstrict-aliasing-bogus-escape-2.C: Likewise. - * g++.dg/warn/Wstrict-aliasing-bogus-escape.C: Likewise. - * g++.dg/warn/Wstringop-overflow-6.C: Likewise. - * g++.dg/warn/Wstringop-overflow-8.C: Likewise. - * g++.dg/warn/Wstringop-overread-1.C: Likewise. - * g++.dg/warn/Wuninitialized-33.C: Likewise. - * g++.dg/warn/Wuninitialized-pr111123-1.C: Likewise. - * g++.dg/warn/format1.C: Likewise. - * g++.dg/warn/huge-val1.C: Likewise. - * g++.dg/warn/string1.C: Likewise. - * g++.dg/warn/uninit-pr105562.C: Likewise. - * g++.old-deja/g++.benjamin/15071.C: Likewise. - * g++.old-deja/g++.brendan/copy9.C: Likewise. - * g++.old-deja/g++.brendan/crash15.C: Likewise. - * g++.old-deja/g++.brendan/crash20.C: Likewise. - * g++.old-deja/g++.brendan/crash30.C: Likewise. - * g++.old-deja/g++.brendan/crash38.C: Likewise. - * g++.old-deja/g++.brendan/crash39.C: Likewise. - * g++.old-deja/g++.brendan/crash49.C: Likewise. - * g++.old-deja/g++.brendan/crash52.C: Likewise. - * g++.old-deja/g++.brendan/crash62.C: Likewise. - * g++.old-deja/g++.brendan/cvt1.C: Likewise. - * g++.old-deja/g++.brendan/err-msg3.C: Likewise. - * g++.old-deja/g++.brendan/nest21.C: Likewise. - * g++.old-deja/g++.brendan/ptolemy2.C: Likewise. - * g++.old-deja/g++.jason/2371.C: Likewise. - * g++.old-deja/g++.jason/template24.C: Likewise. - * g++.old-deja/g++.jason/template31.C: Likewise. - * g++.old-deja/g++.jason/typeid1.C: Likewise. - * g++.old-deja/g++.law/arg1.C: Likewise. - * g++.old-deja/g++.law/arg8.C: Likewise. - * g++.old-deja/g++.law/arm12.C: Likewise. - * g++.old-deja/g++.law/arm9.C: Likewise. - * g++.old-deja/g++.law/bad-error7.C: Likewise. - * g++.old-deja/g++.law/code-gen5.C: Likewise. - * g++.old-deja/g++.law/ctors10.C: Likewise. - * g++.old-deja/g++.law/ctors12.C: Likewise. - * g++.old-deja/g++.law/ctors13.C: Likewise. - * g++.old-deja/g++.law/ctors17.C: Likewise. - * g++.old-deja/g++.law/ctors6.C: Likewise. - * g++.old-deja/g++.law/cvt16.C: Likewise. - * g++.old-deja/g++.law/cvt2.C: Likewise. - * g++.old-deja/g++.law/cvt7.C: Likewise. - * g++.old-deja/g++.law/except5.C: Likewise. - * g++.old-deja/g++.law/missed-error2.C: Likewise. - * g++.old-deja/g++.law/nest3.C: Likewise. - * g++.old-deja/g++.law/operators32.C: Likewise. - * g++.old-deja/g++.law/operators4.C: Likewise. - * g++.old-deja/g++.law/vbase1.C: Likewise. - * g++.old-deja/g++.law/virtual3.C: Likewise. - * g++.old-deja/g++.law/visibility1.C: Likewise. - * g++.old-deja/g++.law/visibility10.C: Likewise. - * g++.old-deja/g++.law/visibility13.C: Likewise. - * g++.old-deja/g++.law/visibility17.C: Likewise. - * g++.old-deja/g++.law/visibility2.C: Likewise. - * g++.old-deja/g++.law/visibility22.C: Likewise. - * g++.old-deja/g++.law/visibility25.C: Likewise. - * g++.old-deja/g++.law/visibility7.C: Likewise. - * g++.old-deja/g++.law/weak.C: Likewise. - * g++.old-deja/g++.martin/new1.C: Likewise. - * g++.old-deja/g++.mike/dyncast7.C: Likewise. - * g++.old-deja/g++.mike/eh13.C: Likewise. - * g++.old-deja/g++.mike/eh2.C: Likewise. - * g++.old-deja/g++.mike/net34.C: Likewise. - * g++.old-deja/g++.mike/net46.C: Likewise. - * g++.old-deja/g++.mike/p658.C: Likewise. - * g++.old-deja/g++.mike/rtti1.C: Likewise. - * g++.old-deja/g++.ns/using4.C: Likewise. - * g++.old-deja/g++.ns/using6.C: Likewise. - * g++.old-deja/g++.other/defarg6.C: Likewise. - * g++.old-deja/g++.other/headers1.C: Likewise. - * g++.old-deja/g++.other/init9.C: Likewise. - * g++.old-deja/g++.other/inline14.C: Likewise. - * g++.old-deja/g++.other/inline2.C: Likewise. - * g++.old-deja/g++.other/inline7.C: Likewise. - * g++.old-deja/g++.other/inline8.C: Likewise. - * g++.old-deja/g++.other/optimize2.C: Likewise. - * g++.old-deja/g++.other/sibcall1.C: Likewise. - * g++.old-deja/g++.other/unchanging1.C: Likewise. - * g++.old-deja/g++.pt/crash68.C: Likewise. - * g++.old-deja/g++.pt/memtemp100.C: Likewise. - * g++.old-deja/g++.robertl/eb109.C: Likewise. - * g++.old-deja/g++.robertl/eb113.C: Likewise. - * g++.old-deja/g++.robertl/eb115.C: Likewise. - * g++.old-deja/g++.robertl/eb124.C: Likewise. - * g++.old-deja/g++.robertl/eb127.C: Likewise. - * g++.old-deja/g++.robertl/eb129.C: Likewise. - * g++.old-deja/g++.robertl/eb129a.C: Likewise. - * g++.old-deja/g++.robertl/eb130.C: Likewise. - * g++.old-deja/g++.robertl/eb132.C: Likewise. - * g++.old-deja/g++.robertl/eb15.C: Likewise. - * g++.old-deja/g++.robertl/eb21.C: Likewise. - * g++.old-deja/g++.robertl/eb24.C: Likewise. - * g++.old-deja/g++.robertl/eb27.C: Likewise. - * g++.old-deja/g++.robertl/eb28.C: Likewise. - * g++.old-deja/g++.robertl/eb29.C: Likewise. - * g++.old-deja/g++.robertl/eb3.C: Likewise. - * g++.old-deja/g++.robertl/eb30.C: Likewise. - * g++.old-deja/g++.robertl/eb31.C: Likewise. - * g++.old-deja/g++.robertl/eb33.C: Likewise. - * g++.old-deja/g++.robertl/eb36.C: Likewise. - * g++.old-deja/g++.robertl/eb39.C: Likewise. - * g++.old-deja/g++.robertl/eb4.C: Likewise. - * g++.old-deja/g++.robertl/eb41.C: Likewise. - * g++.old-deja/g++.robertl/eb43.C: Likewise. - * g++.old-deja/g++.robertl/eb44.C: Likewise. - * g++.old-deja/g++.robertl/eb46.C: Likewise. - * g++.old-deja/g++.robertl/eb54.C: Likewise. - * g++.old-deja/g++.robertl/eb55.C: Likewise. - * g++.old-deja/g++.robertl/eb59.C: Likewise. - * g++.old-deja/g++.robertl/eb60.C: Likewise. - * g++.old-deja/g++.robertl/eb62.C: Likewise. - * g++.old-deja/g++.robertl/eb66.C: Likewise. - * g++.old-deja/g++.robertl/eb7.C: Likewise. - * g++.old-deja/g++.robertl/eb73.C: Likewise. - * g++.old-deja/g++.robertl/eb77.C: Likewise. - * g++.old-deja/g++.robertl/eb79.C: Likewise. - * g++.old-deja/g++.warn/iomanip.C: Likewise. - * g++.target/i386/pr105638.C: Likewise. - * g++.target/i386/pr110170.C: Likewise. - * g++.target/i386/pr80566-1.C: Likewise. - * g++.target/i386/pr80566-2.C: Likewise. - * c-c++-common/analyzer/allocation-size-1.c: Skip if - !hostedlib because of unavailable declarations. - * c-c++-common/analyzer/allocation-size-2.c: Likewise. - * c-c++-common/analyzer/allocation-size-3.c: Likewise. - * c-c++-common/analyzer/allocation-size-4.c: Likewise. - * c-c++-common/analyzer/analyzer-verbosity-0.c: Likewise. - * c-c++-common/analyzer/analyzer-verbosity-1.c: Likewise. - * c-c++-common/analyzer/analyzer-verbosity-2.c: Likewise. - * c-c++-common/analyzer/analyzer-verbosity-3.c: Likewise. - * c-c++-common/analyzer/call-summaries-1.c: Likewise. - * c-c++-common/analyzer/call-summaries-malloc.c: Likewise. - * c-c++-common/analyzer/callbacks-1.c: Likewise. - * c-c++-common/analyzer/callbacks-2.c: Likewise. - * c-c++-common/analyzer/capacity-1.c: Likewise. - * c-c++-common/analyzer/capacity-2.c: Likewise. - * c-c++-common/analyzer/capacity-3.c: Likewise. - * c-c++-common/analyzer/compound-assignment-1.c: Likewise. - * c-c++-common/analyzer/data-model-14.c: Likewise. - * c-c++-common/analyzer/data-model-20.c: Likewise. - * c-c++-common/analyzer/data-model-5d.c: Likewise. - * c-c++-common/analyzer/disabling.c: Likewise. - * c-c++-common/analyzer/dump-state.c: Likewise. - * c-c++-common/analyzer/edges-2.c: Likewise. - * c-c++-common/analyzer/first-field-2.c: Likewise. - * c-c++-common/analyzer/flex-with-call-summaries.c: Likewise. - * c-c++-common/analyzer/flex-without-call-summaries.c: - Likewise. - * c-c++-common/analyzer/flexible-array-member-1.c: Likewise. - * c-c++-common/analyzer/function-ptr-2.c: Likewise. - * c-c++-common/analyzer/function-ptr-3.c: Likewise. - * c-c++-common/analyzer/function-ptr-4.c: Likewise. - * c-c++-common/analyzer/gzio.c: Likewise. - * c-c++-common/analyzer/imprecise-floating-point-1.c: - Likewise. - * c-c++-common/analyzer/leak-2.c: Likewise. - * c-c++-common/analyzer/leak-3.c: Likewise. - * c-c++-common/analyzer/leak-4.c: Likewise. - * c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: - Likewise. - * c-c++-common/analyzer/loop-3.c: Likewise. - * c-c++-common/analyzer/malloc-3.c: Likewise. - * c-c++-common/analyzer/malloc-5.c: Likewise. - * c-c++-common/analyzer/malloc-CWE-401-example.c: Likewise. - * c-c++-common/analyzer/malloc-CWE-415-examples.c: Likewise. - * c-c++-common/analyzer/malloc-CWE-416-examples.c: Likewise. - * c-c++-common/analyzer/malloc-CWE-590-examples.c: Likewise. - * c-c++-common/analyzer/malloc-callbacks.c: Likewise. - * c-c++-common/analyzer/malloc-dce.c: Likewise. - * c-c++-common/analyzer/malloc-dedupe-1.c: Likewise. - * c-c++-common/analyzer/malloc-in-loop.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-1.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-10.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-11.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-12.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-13a.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-2.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-3.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-4.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-5.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-6.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-7.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-9.c: Likewise. - * c-c++-common/analyzer/malloc-macro-inline-events.c: - Likewise. - * c-c++-common/analyzer/malloc-macro-separate-events.c: - Likewise. - * c-c++-common/analyzer/malloc-many-paths-3.c: Likewise. - * c-c++-common/analyzer/malloc-meaning-1.c: Likewise. - * c-c++-common/analyzer/malloc-paths-1.c: Likewise. - * c-c++-common/analyzer/malloc-paths-2.c: Likewise. - * c-c++-common/analyzer/malloc-paths-3.c: Likewise. - * c-c++-common/analyzer/malloc-paths-4.c: Likewise. - * c-c++-common/analyzer/malloc-paths-5.c: Likewise. - * c-c++-common/analyzer/malloc-paths-6.c: Likewise. - * c-c++-common/analyzer/malloc-paths-7.c: Likewise. - * c-c++-common/analyzer/malloc-paths-8.c: Likewise. - * c-c++-common/analyzer/malloc-paths-9-noexcept.c: Likewise. - * c-c++-common/analyzer/malloc-sarif-1.c: Likewise. - * c-c++-common/analyzer/malloc-vs-local-1a.c: Likewise. - * c-c++-common/analyzer/malloc-vs-local-1b.c: Likewise. - * c-c++-common/analyzer/malloc-vs-local-2.c: Likewise. - * c-c++-common/analyzer/malloc-vs-local-3.c: Likewise. - * c-c++-common/analyzer/out-of-bounds-1.c: Likewise. - * c-c++-common/analyzer/out-of-bounds-2.c: Likewise. - * c-c++-common/analyzer/out-of-bounds-diagram-3.c: Likewise. - * c-c++-common/analyzer/out-of-bounds-diagram-8.c: Likewise. - * c-c++-common/analyzer/paths-3.c: Likewise. - * c-c++-common/analyzer/paths-6.c: Likewise. - * c-c++-common/analyzer/paths-7.c: Likewise. - * c-c++-common/analyzer/pr103526.c: Likewise. - * c-c++-common/analyzer/pr106539.c: Likewise. - * c-c++-common/analyzer/pr94399.c: Likewise. - * c-c++-common/analyzer/pr94851-1.c: Likewise. - * c-c++-common/analyzer/pr94851-2.c: Likewise. - * c-c++-common/analyzer/pr94851-4.c: Likewise. - * c-c++-common/analyzer/pr97608.c: Likewise. - * c-c++-common/analyzer/pr98918.c: Likewise. - * c-c++-common/analyzer/pr99716-2.c: Likewise. - * c-c++-common/analyzer/pr99716-3.c: Likewise. - * c-c++-common/analyzer/pragma-1.c: Likewise. - * c-c++-common/analyzer/pragma-2.c: Likewise. - * c-c++-common/analyzer/sarif-path-role.c: Likewise. - * c-c++-common/analyzer/scope-1.c: Likewise. - * c-c++-common/analyzer/strndup-1.c: Likewise. - * c-c++-common/analyzer/taint-alloc-3.c: Likewise. - * c-c++-common/analyzer/taint-realloc.c: Likewise. - * c-c++-common/analyzer/use-after-free-3.c: Likewise. - * c-c++-common/analyzer/zlib-4.c: Likewise. - * c-c++-common/goacc/kernels-counter-vars-function-scope.c: - Likewise. - * c-c++-common/goacc/kernels-loop-2.c: Likewise. - * c-c++-common/goacc/kernels-loop-3.c: Likewise. - * c-c++-common/goacc/kernels-loop-data-2.c: Likewise. - * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: - Likewise. - * c-c++-common/goacc/kernels-loop-data-enter-exit.c: - Likewise. - * c-c++-common/goacc/kernels-loop-data-update.c: Likewise. - * c-c++-common/goacc/kernels-loop-data.c: Likewise. - * c-c++-common/goacc/kernels-loop-g.c: Likewise. - * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise. - * c-c++-common/goacc/kernels-loop-n.c: Likewise. - * c-c++-common/goacc/kernels-loop.c: Likewise. - * c-c++-common/goacc/kernels-one-counter-var.c: Likewise. - * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: - Likewise. - * c-c++-common/gomp/pr103642.c: Likewise. - * c-c++-common/gomp/target-implicit-map-2.c: Likewise. - * c-c++-common/simulate-thread/bitfields-4.c: Likewise. - * c-c++-common/tm/malloc.c: Likewise. - * g++.dg/abi/mangle36.C: Likewise. - * g++.dg/abi/mangle40.C: Likewise. - * g++.dg/abi/mangle41.C: Likewise. - * g++.dg/analyzer/cstdlib.C: Likewise. - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C: - Likewise. - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C: - Likewise. - * g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C: - Likewise. - * g++.dg/analyzer/malloc.C: Likewise. - * g++.dg/analyzer/new-vs-malloc.C: Likewise. - * g++.dg/analyzer/placement-new-size.C: Likewise. - * g++.dg/analyzer/vfunc-3.C: Likewise. - * g++.dg/analyzer/vfunc-5.C: Likewise. - * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: - Likewise. - * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: - Likewise. - * g++.dg/coroutines/pr101765.C: Likewise. - * g++.dg/coroutines/pr95477.C: Likewise. - * g++.dg/coroutines/pr95599.C: Likewise. - * g++.dg/coroutines/pr95711.C: Likewise. - * g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C: - Likewise. - * g++.dg/coroutines/torture/alloc-01-overload-newdel.C: - Likewise. - * g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C: - Likewise. - * g++.dg/coroutines/torture/alloc-03-overload-new-1.C: - Likewise. - * g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C: - Likewise. - * g++.dg/coroutines/torture/call-00-co-aw-arg.C: Likewise. - * g++.dg/coroutines/torture/call-01-multiple-co-aw.C: - Likewise. - * g++.dg/coroutines/torture/call-02-temp-co-aw.C: Likewise. - * g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C: - Likewise. - * g++.dg/coroutines/torture/class-00-co-ret.C: Likewise. - * g++.dg/coroutines/torture/class-01-co-ret-parm.C: Likewise. - * g++.dg/coroutines/torture/class-02-templ-parm.C: Likewise. - * g++.dg/coroutines/torture/class-03-operator-templ-parm.C: - Likewise. - * g++.dg/coroutines/torture/class-04-lambda-1.C: Likewise. - * g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C: - Likewise. - * g++.dg/coroutines/torture/class-06-lambda-capture-ref.C: - Likewise. - * g++.dg/coroutines/torture/class-07-data-member.C: Likewise. - * g++.dg/coroutines/torture/co-await-00-trivial.C: Likewise. - * g++.dg/coroutines/torture/co-await-01-with-value.C: - Likewise. - * g++.dg/coroutines/torture/co-await-02-xform.C: Likewise. - * g++.dg/coroutines/torture/co-await-03-rhs-op.C: Likewise. - * g++.dg/coroutines/torture/co-await-04-control-flow.C: - Likewise. - * g++.dg/coroutines/torture/co-await-05-loop.C: Likewise. - * g++.dg/coroutines/torture/co-await-06-ovl.C: Likewise. - * g++.dg/coroutines/torture/co-await-07-tmpl.C: Likewise. - * g++.dg/coroutines/torture/co-await-08-cascade.C: Likewise. - * g++.dg/coroutines/torture/co-await-09-pair.C: Likewise. - * g++.dg/coroutines/torture/co-await-10-template-fn-arg.C: - Likewise. - * g++.dg/coroutines/torture/co-await-11-forwarding.C: - Likewise. - * g++.dg/coroutines/torture/co-await-12-operator-2.C: - Likewise. - * g++.dg/coroutines/torture/co-await-13-return-ref.C: - Likewise. - * g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C: - Likewise. - * g++.dg/coroutines/torture/co-await-15-return-non-triv.C: - Likewise. - * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: - Likewise. - * g++.dg/coroutines/torture/co-await-18-if-cond.C: Likewise. - * g++.dg/coroutines/torture/co-await-19-while-cond.C: - Likewise. - * g++.dg/coroutines/torture/co-await-20-do-while-cond.C: - Likewise. - * g++.dg/coroutines/torture/co-await-21-switch-value.C: - Likewise. - * g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C: - Likewise. - * g++.dg/coroutines/torture/co-await-24-for-init.C: Likewise. - * g++.dg/coroutines/torture/co-await-25-for-condition.C: - Likewise. - * g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-05-return-value.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-13-template-2.C: Likewise. - * g++.dg/coroutines/torture/co-ret-14-template-3.C: Likewise. - * g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C: - Likewise. - * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: - Likewise. - * g++.dg/coroutines/torture/co-yield-00-triv.C: Likewise. - * g++.dg/coroutines/torture/co-yield-01-multi.C: Likewise. - * g++.dg/coroutines/torture/co-yield-02-loop.C: Likewise. - * g++.dg/coroutines/torture/co-yield-03-tmpl.C: Likewise. - * g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C: - Likewise. - * g++.dg/coroutines/torture/co-yield-05-co-aw.C: Likewise. - * g++.dg/coroutines/torture/co-yield-06-fun-parm.C: Likewise. - * g++.dg/coroutines/torture/co-yield-07-template-fn-param.C: - Likewise. - * g++.dg/coroutines/torture/co-yield-08-more-refs.C: - Likewise. - * g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C: - Likewise. - * g++.dg/coroutines/torture/exceptions-test-0.C: Likewise. - * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: - Likewise. - * g++.dg/coroutines/torture/func-params-00.C: Likewise. - * g++.dg/coroutines/torture/func-params-01.C: Likewise. - * g++.dg/coroutines/torture/func-params-02.C: Likewise. - * g++.dg/coroutines/torture/func-params-03.C: Likewise. - * g++.dg/coroutines/torture/func-params-04.C: Likewise. - * g++.dg/coroutines/torture/func-params-05.C: Likewise. - * g++.dg/coroutines/torture/func-params-06.C: Likewise. - * g++.dg/coroutines/torture/func-params-07.C: Likewise. - * g++.dg/coroutines/torture/lambda-00-co-ret.C: Likewise. - * g++.dg/coroutines/torture/lambda-01-co-ret-parm.C: - Likewise. - * g++.dg/coroutines/torture/lambda-02-co-yield-values.C: - Likewise. - * g++.dg/coroutines/torture/lambda-03-auto-parm-1.C: - Likewise. - * g++.dg/coroutines/torture/lambda-04-templ-parm.C: Likewise. - * g++.dg/coroutines/torture/lambda-05-capture-copy-local.C: - Likewise. - * g++.dg/coroutines/torture/lambda-06-multi-capture.C: - Likewise. - * g++.dg/coroutines/torture/lambda-07-multi-yield.C: - Likewise. - * g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C: - Likewise. - * g++.dg/coroutines/torture/lambda-09-init-captures.C: - Likewise. - * g++.dg/coroutines/torture/lambda-10-mutable.C: Likewise. - * g++.dg/coroutines/torture/local-var-00-const.C: Likewise. - * g++.dg/coroutines/torture/local-var-01-single.C: Likewise. - * g++.dg/coroutines/torture/local-var-02-conditional.C: - Likewise. - * g++.dg/coroutines/torture/local-var-03-with-awaits.C: - Likewise. - * g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C: - Likewise. - * g++.dg/coroutines/torture/local-var-06-structured-binding.C: - Likewise. - * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: - Likewise. - * g++.dg/coroutines/torture/pr95003.C: Likewise. - * g++.dg/coroutines/torture/pr95519-00-return_void.C: - Likewise. - * g++.dg/coroutines/torture/pr95519-01-initial-suspend.C: - Likewise. - * g++.dg/coroutines/torture/pr95519-02-final_suspend.C: - Likewise. - * g++.dg/coroutines/torture/pr95519-03-return-value.C: - Likewise. - * g++.dg/coroutines/torture/pr95519-04-yield-value.C: - Likewise. - * g++.dg/coroutines/torture/pr95519-05-gro.C: Likewise. - * g++.dg/coroutines/torture/pr95519-06-grooaf.C: Likewise. - * g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C: - Likewise. - * g++.dg/cpp0x/lambda/lambda-std-function.C: Likewise. - * g++.dg/cpp0x/lambda/lambda-this8.C: Likewise. - * g++.dg/cpp0x/pr70887.C: Likewise. - * g++.dg/cpp1y/lambda-generic-variadic2.C: Likewise. - * g++.dg/cpp23/subscript5.C: Likewise. - * g++.dg/cpp23/subscript6.C: Likewise. - * g++.dg/cpp26/constexpr-new2.C: Likewise. - * g++.dg/cpp2a/destroying-delete5.C: Likewise. - * g++.dg/eh/filter2.C: Likewise. - * g++.dg/eh/uncaught1.C: Likewise. - * g++.dg/eh/uncaught2.C: Likewise. - * g++.dg/expr/anew1.C: Likewise. - * g++.dg/expr/anew2.C: Likewise. - * g++.dg/expr/anew3.C: Likewise. - * g++.dg/expr/anew4.C: Likewise. - * g++.dg/ext/cleanup-10.C: Likewise. - * g++.dg/ext/cleanup-11.C: Likewise. - * g++.dg/ext/cleanup-5.C: Likewise. - * g++.dg/ext/cleanup-8.C: Likewise. - * g++.dg/ext/cleanup-9.C: Likewise. - * g++.dg/ext/is_invocable2.C: Likewise. - * g++.dg/goacc/pr107028-2.C: Likewise. - * g++.dg/gomp/target-lambda-2.C: Likewise. - * g++.dg/init/new11.C: Likewise. - * g++.dg/init/value3.C: Likewise. - * g++.dg/lto/pr66180_0.C: Likewise. - * g++.dg/opt/eh4.C: Likewise. - * g++.dg/opt/pr103989.C: Likewise. - * g++.dg/opt/pr80385.C: Likewise. - * g++.dg/opt/reload3.C: Likewise. - * g++.dg/other/i386-1.C: Likewise. - * g++.dg/other/i386-11.C: Likewise. - * g++.dg/other/i386-2.C: Likewise. - * g++.dg/other/i386-3.C: Likewise. - * g++.dg/other/i386-4.C: Likewise. - * g++.dg/other/i386-7.C: Likewise. - * g++.dg/other/i386-8.C: Likewise. - * g++.dg/other/mmintrin.C: Likewise. - * g++.dg/other/pr34435.C: Likewise. - * g++.dg/other/pr40446.C: Likewise. - * g++.dg/other/pr49133.C: Likewise. - * g++.dg/other/ucnid-1-utf8.C: Likewise. - * g++.dg/other/ucnid-1.C: Likewise. - * g++.dg/pr80481.C: Likewise. - * g++.dg/torture/pr10148.C: Likewise. - * g++.dg/torture/pr91334.C: Likewise. - * g++.dg/torture/pr91606.C: Likewise. - * g++.dg/tree-ssa/pr102216-2.C: Likewise. - * g++.dg/vect/slp-pr98855.cc: Likewise. - * g++.dg/warn/Wsystem-headers1a.C: Likewise. - * g++.dg/warn/noreturn-1.C: Likewise. - * g++.old-deja/g++.abi/arraynew.C: Likewise. - * g++.old-deja/g++.abi/cxa_vec.C: Likewise. - * g++.old-deja/g++.brendan/new3.C: Likewise. - * g++.old-deja/g++.eh/new1.C: Likewise. - * g++.old-deja/g++.eh/new2.C: Likewise. - * g++.old-deja/g++.jason/template44.C: Likewise. - * g++.old-deja/g++.law/arm13.C: Likewise. - * g++.old-deja/g++.law/scope2.C: Likewise. - * g++.old-deja/g++.mike/eh47.C: Likewise. - * g++.old-deja/g++.mike/ns15.C: Likewise. - * g++.old-deja/g++.mike/p710.C: Likewise. - * g++.old-deja/g++.mike/p9706.C: Likewise. - * g++.old-deja/g++.oliva/new1.C: Likewise. - * g++.old-deja/g++.other/delete8.C: Likewise. - * g++.target/i386/avx-pr54700-1.C: Likewise. - * g++.target/i386/avx-pr54700-2.C: Likewise. - * g++.target/i386/avx2-pr54700-1.C: Likewise. - * g++.target/i386/avx2-pr54700-2.C: Likewise. - * g++.target/i386/avx512bw-pr96246-2.C: Likewise. - * g++.target/i386/avx512vl-pr54700-1a.C: Likewise. - * g++.target/i386/avx512vl-pr54700-1b.C: Likewise. - * g++.target/i386/avx512vl-pr54700-2a.C: Likewise. - * g++.target/i386/avx512vl-pr54700-2b.C: Likewise. - * g++.target/i386/avx512vl-pr96246-2.C: Likewise. - * g++.target/i386/mvc4.C: Likewise. - * g++.target/i386/pr100885.C: Likewise. - * g++.target/i386/pr102166.C: Likewise. - * g++.target/i386/pr103750-fwprop-1.C: Likewise. - * g++.target/i386/pr105593.C: Likewise. - * g++.target/i386/pr112443.C: Likewise. - * g++.target/i386/pr113560.C: Likewise. - * g++.target/i386/pr88152.C: Likewise. - * g++.target/i386/pr88998.C: Likewise. - * g++.target/i386/pr94046-1.C: Likewise. - * g++.target/i386/pr94046-2.C: Likewise. - * g++.target/i386/sse4_1-pr54700-1.C: Likewise. - * g++.target/i386/sse4_1-pr54700-2.C: Likewise. - * g++.dg/tree-ssa/pr20458.C: Skip if !hostedlib because of - unavailable library definitions. - -2024-09-12 Jonathan Wakely <jwakely@redhat.com> - - PR c++/116673 - * g++.dg/cpp1z/launder2.C: Adjust dg-error strings. - * g++.dg/cpp1z/launder10.C: New test. - -2024-09-12 Steven G. Kargl <kargl@gcc.gnu.org> - - * gfortran.dg/unsigned_kiss.f90: New test. - -2024-09-12 Uros Bizjak <ubizjak@gmail.com> - - PR target/112600 - * gcc.target/i386/pr112600-3a.c: New test. - * gcc.target/i386/pr112600-3b.c: New test. - -2024-09-12 Patrick Palka <ppalka@redhat.com> - - PR c++/116418 - * g++.dg/eh/pr84968.C: No longer expect an ahead of time diagnostic - for the statement-expresssion. Instantiate the template and expect - an incomplete type error instead. - * g++.dg/ext/stmtexpr26.C: New test. - -2024-09-12 Jakub Jelinek <jakub@redhat.com> - - PR c++/116636 - * g++.dg/warn/deprecated-19.C: New test. - -2024-09-12 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/embed-17.c: New test. - * c-c++-common/cpp/embed-18.c: New test. - * c-c++-common/cpp/embed-19.c: New test. - * c-c++-common/cpp/embed-27.c: New test. - * gcc.dg/cpp/embed-6.c: New test. - * gcc.dg/cpp/embed-7.c: New test. - -2024-09-12 Jason Merrill <jason@redhat.com> - - * c-c++-common/pragma-diag-17.c: New test. - * g++.dg/cpp0x/va-opt1.C: New test. - * g++.dg/cpp23/named-universal-char-escape3.C: New test. - -2024-09-12 Richard Earnshaw <rearnsha@arm.com> - - * lib/target-supports.exp: Move xscale to new generator table. - (check_effective_target_arm_arch_FUNC_ok): Add -mcpu=unset to the - list of flags. - (add_options_for_arm_arch_FUNC): Likewise. - (check_effective_target_arm_cpu_FUNC_ok): New function. - (add_options_for_arm_cpu_FUNC): Likewise. - (check_effective_target_arm_cpu_FUNC_link): Likewise. - (check_effective_target_arm_cpu_FUNC_multilib): Likewise. - * gcc.target/arm/g2.c: Update dg directives. - * gcc.target/arm/scd42-2.c: Likewise. - -2024-09-12 Marek Polacek <polacek@redhat.com> - - PR c++/96097 - * g++.dg/template/ttp44.C: New test. - -2024-09-12 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/cpp/embed-15.c: New test. - * c-c++-common/cpp/embed-16.c: New test. - * gcc.dg/cpp/embed-5.c: New test. - -2024-09-12 Jakub Jelinek <jakub@redhat.com> - - PR c/105863 - * c-c++-common/cpp/embed-1.c: New test. - * c-c++-common/cpp/embed-2.c: New test. - * c-c++-common/cpp/embed-3.c: New test. - * c-c++-common/cpp/embed-4.c: New test. - * c-c++-common/cpp/embed-5.c: New test. - * c-c++-common/cpp/embed-6.c: New test. - * c-c++-common/cpp/embed-7.c: New test. - * c-c++-common/cpp/embed-8.c: New test. - * c-c++-common/cpp/embed-9.c: New test. - * c-c++-common/cpp/embed-10.c: New test. - * c-c++-common/cpp/embed-11.c: New test. - * c-c++-common/cpp/embed-12.c: New test. - * c-c++-common/cpp/embed-13.c: New test. - * c-c++-common/cpp/embed-14.c: New test. - * c-c++-common/cpp/embed-25.c: New test. - * c-c++-common/cpp/embed-26.c: New test. - * c-c++-common/cpp/embed-dir/embed-1.inc: New test. - * c-c++-common/cpp/embed-dir/embed-3.c: New test. - * c-c++-common/cpp/embed-dir/embed-4.c: New test. - * c-c++-common/cpp/embed-dir/magna-carta.txt: New test. - * gcc.dg/cpp/embed-1.c: New test. - * gcc.dg/cpp/embed-2.c: New test. - * gcc.dg/cpp/embed-3.c: New test. - * gcc.dg/cpp/embed-4.c: New test. - * g++.dg/cpp/embed-1.C: New test. - * g++.dg/cpp/embed-2.C: New test. - * g++.dg/cpp/embed-3.C: New test. - -2024-09-12 Simon Martin <simon@nasilyan.com> - - PR c++/116323 - * g++.dg/template/access43.C: New test. - -2024-09-12 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/part-vect-vec_cmpbf.c: New test. - -2024-09-12 Bohan Lei <garthlei@linux.alibaba.com> - - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-4.c: New test. - -2024-09-12 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx10-helper.h: Do not include - avx512f-mask-type.h. - * gcc.target/i386/avx10_2-512-vaddnepbf16-2.c: - Define SIZE and include avx512f-mask-type.h. - * gcc.target/i386/avx10_2-512-vcmppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vdivnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vdpphps-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfnmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfnmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vgetexppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmaxpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxpd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxph-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxps-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmpsadbw-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmulnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbssds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbsud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbuud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbuuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwsud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwusd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwusds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwuud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwuuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrcppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vreducenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vscalefpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vsubnepbf16-2.c: Ditto. - * gcc.target/i386/avx512fp16-vfpclassph-1b.c: Ditto. - -2024-09-12 garthlei <garthlei@linux.alibaba.com> - - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-3.c: New test. - -2024-09-12 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116496 - * g++.dg/modules/partial-5_a.C: New test. - * g++.dg/modules/partial-5_b.C: New test. - -2024-09-11 Richard Earnshaw <rearnsha@arm.com> - - PR target/116597 - * gcc.target/arm/pac-sibcall-2.c: New test. - * gcc.target/arm/pac-sibcall-3.c: New test. - -2024-09-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116674 - * g++.dg/vect/pr116674.cc: New testcase. - -2024-09-11 Alex Coplan <alex.coplan@arm.com> - - PR libstdc++/116140 - * g++.dg/ext/pragma-unroll-lambda-lto.C: New test. - -2024-09-11 Alex Coplan <alex.coplan@arm.com> - - PR libstdc++/116140 - * lib/gcc-dg.exp (schedule-cleanups): Relax ltrans dumpfile - cleanup pattern to handle missing cases. - -2024-09-11 Alex Coplan <alex.coplan@arm.com> - - PR libstdc++/116140 - * g++.dg/ext/pragma-unroll-lambda.C: New test. - -2024-09-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Adjust - asm check and make it robust. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Ditto. - -2024-09-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/116449 - * g++.dg/ubsan/pr116449.C: New test. - -2024-09-10 Marek Polacek <polacek@redhat.com> - - PR c++/116369 - * g++.dg/tree-ssa/initlist-opt7.C: New test. - -2024-09-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116658 - * g++.dg/vect/pr116658.cc: New testcase. - -2024-09-10 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-partial-bf-vector-fma-1.c: Separated 32-bit scan - and removed register checks in spill situations. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - PR other/116613 - * gcc.dg/plugin/analyzer_cpython_plugin.c (dump_refcnt_info): - Update for renaming of field "printer" to "m_printer". - * gcc.dg/plugin/diagnostic_group_plugin.c - (test_diagnostic_starter): Likewise. - (test_diagnostic_start_span_fn): Likewise. - (test_output_format::on_begin_group): Likewise. - (test_output_format::on_end_group): Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c - (custom_diagnostic_finalizer): Likewise. - -2024-09-09 David Malcolm <dmalcolm@redhat.com> - - PR other/116603 - * gcc.dg/plugin/diagnostic-test-metadata-sarif.py (test_basics): - Update expected schema URL. - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.py: - Likewise. - * gcc.dg/sarif-output/test-include-chain-1.py: Likewise. - * gcc.dg/sarif-output/test-include-chain-2.py: Likewise. - * gcc.dg/sarif-output/test-missing-semicolon.py: Likewise. - * gcc.dg/sarif-output/test-no-diagnostics.py: Likewise. - * gcc.dg/sarif-output/test-werror.py: Likewise. - * lib/sarif-schema-2.1.0.json: Update with copy downloaded from - https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json - -2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/90693 - * gcc.target/aarch64/popcnt-le-1.c: New test. - * gcc.target/aarch64/popcnt-le-2.c: New test. - * gcc.target/aarch64/popcnt-le-3.c: New test. - -2024-09-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116514 - * gcc.dg/tree-ssa/ssa-ccp-44.c: New testcase. - -2024-09-09 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116647 - * gcc.dg/torture/pr116647.c: New testcase. - * gcc.dg/vect/no-scevccp-pr86725-2.c: Adjust expected pattern. - * gcc.dg/vect/no-scevccp-pr86725-4.c: Likewise. - -2024-09-09 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115250 - * gnat.dg/opt58_pkg.ads: Convert to Unix line ending. - * gnat.dg/opt58.adb: Likewise and pass -gnatws to the compiler. - -2024-09-09 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/115246 - * gnat.dg/alignment14.adb (My_Int2): Delete. - (Arr2): Likewise. - -2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116601 - * gcc.dg/pr78408-1.c: Adjust dump scan to match where - the optimization now happens. - * g++.dg/torture/except-2.C: New test. - -2024-09-09 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/fast-math-vect-call-2.c: Disable epilogue - vectorization. - -2024-09-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/116588 - * gcc.dg/pr116588.c: Remove -DDEBUG from dg-options. - (main): Remove debugging code and simplify. - -2024-09-09 Thomas Schwinge <tschwinge@baylibre.com> - - PR testsuite/116635 - * gcc.dg/opt-ordered-and-nonequal-1.c: Fix re - 'LOGICAL_OP_NON_SHORT_CIRCUIT'. - -2024-09-08 H.J. Lu <hjl.tools@gmail.com> - - PR target/116621 - * gcc.target/i386/pr116621.c: New test. - -2024-09-08 Jørgen Kvalsvik <j@lambda.is> - - * gcc.misc-tests/gcov-23.c: Use dg-compile, not gcc -c - -2024-09-07 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/pr116588.c: Require int128. - -2024-09-07 Jason Merrill <jason@redhat.com> - - * g++.dg/diagnostic/pr65923.C: Add noexcept. - * g++.dg/cpp1z/aligned-new3.C: Expect pedwarn. - * g++.dg/cpp1z/noexcept-type19.C: Add comment. - -2024-09-07 Patrick Palka <ppalka@redhat.com> - - PR c++/116567 - * g++.dg/cpp2a/lambda-targ7.C: New test. - -2024-09-07 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/116588 - * gcc.dg/pr116588.c: New. - -2024-09-07 Jin Ma <jinma@linux.alibaba.com> - - PR target/116592 - * gcc.target/riscv/rvv/xtheadvector/pr116592.c: New test. - -2024-09-07 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.dg/unsigned_1.f90: New test. - * gfortran.dg/unsigned_10.f90: New test. - * gfortran.dg/unsigned_11.f90: New test. - * gfortran.dg/unsigned_12.f90: New test. - * gfortran.dg/unsigned_13.f90: New test. - * gfortran.dg/unsigned_14.f90: New test. - * gfortran.dg/unsigned_15.f90: New test. - * gfortran.dg/unsigned_16.f90: New test. - * gfortran.dg/unsigned_17.f90: New test. - * gfortran.dg/unsigned_18.f90: New test. - * gfortran.dg/unsigned_19.f90: New test. - * gfortran.dg/unsigned_2.f90: New test. - * gfortran.dg/unsigned_20.f90: New test. - * gfortran.dg/unsigned_21.f90: New test. - * gfortran.dg/unsigned_22.f90: New test. - * gfortran.dg/unsigned_23.f90: New test. - * gfortran.dg/unsigned_24.f: New test. - * gfortran.dg/unsigned_3.f90: New test. - * gfortran.dg/unsigned_4.f90: New test. - * gfortran.dg/unsigned_5.f90: New test. - * gfortran.dg/unsigned_6.f90: New test. - * gfortran.dg/unsigned_7.f90: New test. - * gfortran.dg/unsigned_8.f90: New test. - * gfortran.dg/unsigned_9.f90: New test. - -2024-09-06 Jason Merrill <jason@redhat.com> - - PR tree-optimization/107919 - * g++.dg/warn/Wuninitialized-pr107919-1.C: Add -Wsystem-headers and - xfail. - -2024-09-06 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/lsbb-runnable.c: Add test cases for the vector - signed char and vector bool char instances of - vec_test_lsbb_all_zeros and vec_test_lsbb_all_ones built-ins. - * gcc.target/powerpc/lsbb.c: Add compile test cases for the vector - signed char and vector bool char instances of - vec_test_lsbb_all_zeros and vec_test_lsbb_all_ones built-ins. - -2024-09-06 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/116628 - * gcc.dg/vect/pr116628.c: New test. - -2024-09-06 Martin Jambor <mjambor@suse.cz> - - PR ipa/115815 - * gcc.dg/lto/pr115815_0.c: New test. - -2024-09-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/115769 - * g++.dg/DRs/dr2867-1.C: New test. - * g++.dg/DRs/dr2867-2.C: New test. - -2024-09-06 Georg-Johann Lay <avr@gjlay.de> - - PR rtl-optimization/116321 - * gcc.target/avr/torture/lra-pr116321.c: New test. - -2024-09-06 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.dg/gomp/interop-1.f90: New test. - * gfortran.dg/gomp/interop-2.f90: New test. - * gfortran.dg/gomp/interop-3.f90: New test. - -2024-09-06 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/O3-pr39675-2.c: Adjust expected number of SLP. - * gcc.dg/vect/fast-math-vect-call-1.c: Likewise. - * gcc.dg/vect/no-scevccp-slp-31.c: Likewise. - * gcc.dg/vect/slp-12b.c: Likewise. - * gcc.dg/vect/slp-12c.c: Likewise. - * gcc.dg/vect/slp-19a.c: Likewise. - * gcc.dg/vect/slp-19b.c: Likewise. - * gcc.dg/vect/slp-4-big-array.c: Likewise. - * gcc.dg/vect/slp-4.c: Likewise. - * gcc.dg/vect/slp-5.c: Likewise. - * gcc.dg/vect/slp-7.c: Likewise. - * gcc.dg/vect/slp-perm-7.c: Likewise. - * gcc.dg/vect/slp-37.c: Likewise. - * gcc.dg/vect/fast-math-vect-call-2.c: Likewise. - * gcc.dg/vect/slp-26.c: RISC-V can now SLP two instances. - * gcc.dg/vect/vect-outer-slp-3.c: Disable vectorization of - initialization loop. - * gcc.dg/vect/slp-reduc-5.c: Likewise. - * gcc.dg/vect/no-scevccp-outer-12.c: Un-XFAIL. SLP can handle - inner loop inductions with multiple vector stmt copies. - * gfortran.dg/vect/vect-8.f90: Adjust expected number of - vectorized loops. - * gcc.target/i386/vectorize1.c: Adjust what we scan for. - -2024-09-06 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * gcc.target/riscv/synthesis-15.c: New test. - -2024-09-06 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * gcc.target/riscv/synthesis-7.c: Adjust expected output. - * gcc.target/riscv/synthesis-12.c: New test. - * gcc.target/riscv/synthesis-13.c: New test. - * gcc.target/riscv/synthesis-14.c: New test. - -2024-09-06 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_add_imm_type_check-57.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-58.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-59.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-60.c: New test. - -2024-09-06 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_add_imm_type_check-53.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-54.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-55.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-56.c: New test. - -2024-09-06 Jason Merrill <jason@redhat.com> - - PR c++/46457 - PR c++/81665 - * c-c++-common/attr-flag-enum-1.c: New test. - -2024-09-06 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr115517.c: New test. - -2024-09-05 Jason Merrill <jason@redhat.com> - - * g++.dg/diagnostic/redeclaration-6.C: Add -fno-implicit-constexpr. - -2024-09-05 Harald Anlauf <anlauf@gmx.de> - - PR fortran/100273 - * gfortran.dg/pr100273.f90: New test. - -2024-09-05 Marek Polacek <polacek@redhat.com> - - PR c++/116606 - * g++.dg/ext/attr-unavailable-13.C: New test. - -2024-09-05 Patrick Palka <ppalka@redhat.com> - - PR c++/113063 - * g++.dg/cpp2a/spaceship-synth16.C: Also constant evaluate - the <=> expression. - * g++.dg/cpp2a/spaceship-synth16a.C: Likewise. - -2024-09-05 Marek Polacek <polacek@redhat.com> - - PR c++/116239 - * g++.dg/diagnostic/redeclaration-6.C: New test. - -2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/104957 - * g++.target/nvptx/alias-g++.dg_init_dtor2-1.C: Un-XFAIL. - * gcc.target/nvptx/alias-1.c: Likewise. - * gcc.target/nvptx/alias-3.c: Likewise. - * gcc.target/nvptx/alias-to-alias-1.c: Likewise. - -2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/104957 - * g++.target/nvptx/alias-g++.dg_init_dtor2-1.C: Add. - -2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/104957 - * gcc.target/nvptx/alias-1.c: Enhance assembler scanning. - * gcc.target/nvptx/alias-2.c: Likewise. - * gcc.target/nvptx/alias-3.c: Likewise. - * gcc.target/nvptx/alias-4.c: Likewise. - * gcc.target/nvptx/alias-to-alias-1.c: Likewise. - -2024-09-05 Thomas Schwinge <thomas@codesourcery.com> - - PR target/104957 - * gcc.target/nvptx/alias-2.c: Fix comment. - -2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/nvptx.exp - (check_effective_target_default_ptx_isa_version_at_least) - (check_effective_target_default_ptx_isa_version_at_least_6_0) - (check_effective_target_runtime_ptx_isa_version_at_least) - (check_effective_target_runtime_ptx_alias) - (add_options_for_ptx_alias): Move... - * lib/target-supports.exp - (check_nvptx_default_ptx_isa_version_at_least) - (check_effective_target_nvptx_default_ptx_isa_version_at_least_6_0) - (check_nvptx_runtime_ptx_isa_version_at_least) - (check_effective_target_nvptx_runtime_alias_ptx) - (add_options_for_nvptx_alias_ptx): ... here. - * gcc.target/nvptx/alias-1.c: Adjust. - * gcc.target/nvptx/alias-2.c: Likewise. - * gcc.target/nvptx/alias-3.c: Likewise. - * gcc.target/nvptx/alias-4.c: Likewise. - * gcc.target/nvptx/alias-to-alias-1.c: Likewise. - * gcc.target/nvptx/alias-weak-1.c: Likewise. - * gcc.target/nvptx/uniform-simt-5.c: Likewise. - -2024-09-05 Richard Biener <rguenther@suse.de> - - * gcc.target/aarch64/sve/mask_gather_load_7.c: Allow - p8-15 to be used for the destination of the compares. - -2024-09-05 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/signbit-5.c: Remove -fwrapv and change INT_MIN to INT_MIN+1. - -2024-09-05 Hu, Lin1 <lin1.hu@intel.com> - - PR testsuite/116608 - * gcc.target/i386/vect-double-2.c: Add extra option -mno-sse4 - * gcc.target/i386/xorsign.c: Ditto. - -2024-09-05 Palmer Dabbelt <palmer@rivosinc.com> - - * gcc.target/riscv/sge.c: Adjust regex to match the input. - * gcc.target/riscv/sgeu.c: Likewise. - * gcc.target/riscv/sle.c: Likewise. - * gcc.target/riscv/sleu.c: Likewise. - -2024-09-05 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-partial-bf-vector-fma-1.c: New test. - -2024-09-05 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.dg/opt-ordered-and-nonequal-1.c: New test. - * gcc.target/i386/optimize_one.c: Change name to opt-comi-1.c. - * gcc.target/i386/opt-comi-1.c: New test. - -2024-09-05 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/part-vect-absnegbf.c: New test. - -2024-09-04 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * gcc.target/riscv/synthesis-11.c: New test. - -2024-09-04 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Adjust - expected output. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-1.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-2.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-5.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-6.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-9.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-10.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-13.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-14.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-15.c: - Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Likewise. - -2024-09-04 Marek Polacek <polacek@redhat.com> - - PR c++/113108 - * g++.dg/cpp1z/noexcept-type28.C: New test. - -2024-09-04 Arsen Arsenović <arsen@aarsen.me> - - PR c++/108620 - * g++.dg/coroutines/pr108620.C: New test. - -2024-09-04 Arsen Arsenović <arsen@aarsen.me> - - PR c++/106973 - * g++.dg/coroutines/pr106973.C: New test. - -2024-09-04 Richard Biener <rguenther@suse.de> - - * gfortran.dg/vect/vect-8.f90: Use dg-additional-options. - -2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> - - PR middle-end/60797 - PR target/104957 - * gcc.dg/pr60797.c: For nvptx, specify '-mno-alias'. - -2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/104957 - * gcc.target/nvptx/alias-to-alias-1.c: New. - -2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/alias-weak-1.c: New. - -2024-09-04 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-46.c: Remove XFAIL. - -2024-09-04 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_u_add-11.c: Make asm check robust. - * gcc.target/riscv/sat_u_add-15.c: Ditto. - * gcc.target/riscv/sat_u_add-19.c: Ditto. - * gcc.target/riscv/sat_u_add-23.c: Ditto. - * gcc.target/riscv/sat_u_add-3.c: Ditto. - * gcc.target/riscv/sat_u_add-7.c: Ditto. - -2024-09-04 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/116589 - * gcc.target/aarch64/vec-init-22-speed.c: Update scan for better code gen. - -2024-09-03 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/112402 - * gcc.dg/tree-ssa/split-path-11.c: Update scan. - * gcc.dg/tree-ssa/split-path-2.c: Update scan. - * gcc.dg/tree-ssa/split-path-5.c: Update scan. - * gcc.dg/tree-ssa/split-path-6.c: Update scan. - * g++.dg/tree-ssa/pr88797.C: Update scan. - * gcc.dg/tree-ssa/split-path-13.c: New test. - -2024-09-03 Qing Zhao <qing.zhao@oracle.com> - - * g++.dg/ext/flex-array-counted-by.C: New test. - * g++.dg/ext/flex-array-counted-by-2.C: New test. - -2024-09-03 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp0x/gen-attrs-1.C: Also run in C++98 mode. - * g++.dg/cpp0x/gen-attrs-11.C: Likewise. - * g++.dg/cpp0x/gen-attrs-13.C: Likewise. - * g++.dg/cpp0x/gen-attrs-15.C: Likewise. - * g++.dg/cpp0x/gen-attrs-75.C: Don't expect C++98 warning after - __extension__. - -2024-09-03 Andi Kleen <ak@gcc.gnu.org> - - PR testsuite/116080 - * c-c++-common/musttail1.c: Use musttail target. - * c-c++-common/musttail12.c: Use struct_musttail target. - * c-c++-common/musttail2.c: Use musttail target. - * c-c++-common/musttail3.c: Likewise. - * c-c++-common/musttail4.c: Likewise. - * c-c++-common/musttail7.c: Likewise. - * c-c++-common/musttail8.c: Likewise. - * g++.dg/musttail10.C: Likewise. Replace powerpc checks with - external_musttail. - * g++.dg/musttail11.C: Use musttail target. - * g++.dg/musttail6.C: Use musttail target. Replace powerpc - checks with external_musttail. - * g++.dg/musttail9.C: Use musttail target. - * lib/target-supports.exp: Add musttail, struct_musttail, - external_musttail targets. Remove optimization for musttail. - Use unique file names for musttail. - -2024-09-03 Marek Polacek <polacek@redhat.com> - - PR c++/109095 - * g++.dg/cpp2a/nontype-class66.C: New test. - -2024-09-03 Jeff Law <jlaw@ventanamicro.com> - - PR target/115921 - * gcc.target/riscv/pr115921.c: New test. - -2024-09-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116575 - * gcc.dg/vect/pr116575.c: New testcase. - -2024-09-03 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx512fp16-vfpclassph-1c.c: New test. - -2024-09-03 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/116501 - * gcc.dg/torture/bitint-73.c: New test. - -2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/const_fold_mul_1.c: New test. - -2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/const_fold_div_1.c: New test. - -2024-09-03 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-partial-bf-vector-smaxmin-1.c: New test. - -2024-09-03 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-partial-bf-vector-fast-math-1.c: New test. - * gcc.target/i386/avx10_2-partial-bf-vector-operations-1.c: New test. - -2024-09-03 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_arith_data.h: Add test data. - * gcc.target/riscv/sat_s_add-1.c: New test. - * gcc.target/riscv/sat_s_add-2.c: New test. - * gcc.target/riscv/sat_s_add-3.c: New test. - * gcc.target/riscv/sat_s_add-4.c: New test. - * gcc.target/riscv/sat_s_add-run-1.c: New test. - * gcc.target/riscv/sat_s_add-run-2.c: New test. - * gcc.target/riscv/sat_s_add-run-3.c: New test. - * gcc.target/riscv/sat_s_add-run-4.c: New test. - * gcc.target/riscv/scalar_sat_binary_run_xxx.h: New test. - -2024-09-03 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/msa-reduc.c: New tests. - -2024-09-02 Jakub Jelinek <jakub@redhat.com> - - * gcc.target/i386/optimize_one.c: Add -msse2 to dg-options. - -2024-09-02 Alexandre Oliva <oliva@adacore.com> - - PR d/115295 - * g++.dg/vect/pr95401.cc: Add linkonly to dg-additional-sources. - * g++.dg/vect/pr68762-1.cc: Likewise. - * g++.dg/vect/simd-clone-3.cc: Likewise. - * g++.dg/vect/simd-clone-5.cc: Likewise. - * gcc.dg/vect/vect-simd-clone-10.c: Likewise. Drop dg-do run. - * gcc.dg/vect/vect-simd-clone-12.c: Likewise. Likewise. - * lib/gcc-defs.exp (additional_sources_omit_on_compile): New. - (dg-additional-sources): Add to it on linkonly. - (dg-additional-files-options): Omit select sources on compile. - -2024-09-02 Alex Coplan <alex.coplan@arm.com> - - * gcc.dg-selftests/dg-final.exp: Load scanltrans.exp instead of - scanltranstree.exp. - * lib/gcc-dg.exp: Likewise. - * lib/scanltranstree.exp: Rename to ... - * lib/scanltrans.exp: ... this. - -2024-09-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/116486 - * gcc.dg/bitint-109.c: New test. - -2024-09-02 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-55.c: New testcase. - * gcc.dg/vect/slp-56.c: Likewise. - * gcc.dg/vect/slp-11c.c: Adjust. - * gcc.dg/vect/slp-53.c: Likewise. - * gcc.dg/vect/slp-cond-1.c: Likewise. - * gcc.dg/vect/vect-complex-5.c: Likewise. - * gcc.dg/vect/slp-1.c: Likewise. - * gcc.dg/vect/slp-54.c: Remove riscv XFAIL. - * gcc.dg/vect/slp-perm-5.c: Adjust. - * gcc.dg/vect/slp-perm-7.c: Likewise. - * gcc.dg/vect/slp-perm-8.c: Likewise. - * gcc.dg/vect/slp-multitypes-11.c: Likewise. - * gcc.dg/vect/slp-multitypes-11-big-array.c: Likewise. - * gcc.dg/vect/slp-perm-9.c: Remove expected SLP fail due to - three-vector permute. - * gcc.dg/vect/slp-perm-6.c: Remove XFAIL. - * gcc.dg/vect/slp-perm-1.c: Adjust. - * gcc.dg/vect/slp-perm-2.c: Likewise. - * gcc.dg/vect/slp-perm-3.c: Likewise. - * gcc.dg/vect/slp-perm-4.c: Likewise. - * gcc.dg/vect/pr68445.c: Likewise. - * gcc.dg/vect/slp-11b.c: Likewise. - * gcc.dg/vect/slp-2.c: Likewise. - * gcc.dg/vect/slp-23.c: Likewise. - * gcc.dg/vect/slp-33.c: Likewise. - * gcc.dg/vect/slp-42.c: Likewise. - * gcc.dg/vect/slp-46.c: Likewise. - * gcc.dg/vect/slp-perm-10.c: Likewise. - -2024-09-02 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-11a.c: Expect SLP. - * gcc.dg/vect/slp-12a.c: Likewise. - * gcc.dg/vect/slp-51.c: New testcase. - * gcc.dg/vect/slp-52.c: New testcase. - -2024-09-02 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * gcc.target/riscv/rv32-movdf-cost.c: New test. - -2024-09-02 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116544 - * gcc.dg/torture/pr116544.c: New test. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-512-bf-vector-cmpp-1.c: New test. - * gcc.target/i386/avx10_2-bf-vector-cmpp-1.c: Ditto. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-512-bf-vector-smaxmin-1.c: New test. - * gcc.target/i386/avx10_2-bf-vector-smaxmin-1.c: New test. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-512-bf-vector-fma-1.c: New test. - * gcc.target/i386/avx10_2-bf-vector-fma-1.c: New test. - -2024-09-02 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10_2-512-bf-vector-operations-1.c: New test. - * gcc.target/i386/avx10_2-bf-vector-operations-1.c: Ditto. - -2024-09-02 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx10_2-compare-1b.c: New test. - -2024-09-02 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/optimize_one.c: New test. - -2024-09-02 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/vnniint16-auto-vectorize-2.c: Only define - TEST when not defined. - * gcc.target/i386/vnniint8-auto-vectorize-2.c: Ditto. - * gcc.target/i386/vnniint16-auto-vectorize-3.c: New test. - * gcc.target/i386/vnniint16-auto-vectorize-4.c: Ditto. - * gcc.target/i386/vnniint8-auto-vectorize-3.c: Ditto. - * gcc.target/i386/vnniint8-auto-vectorize-4.c: Ditto. - -2024-09-02 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_u_trunc-16.c: New test. - * gcc.target/riscv/sat_u_trunc-17.c: New test. - * gcc.target/riscv/sat_u_trunc-18.c: New test. - * gcc.target/riscv/sat_u_trunc-run-16.c: New test. - * gcc.target/riscv/sat_u_trunc-run-17.c: New test. - * gcc.target/riscv/sat_u_trunc-run-18.c: New test. - -2024-09-02 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_u_trunc-10.c: New test. - * gcc.target/riscv/sat_u_trunc-11.c: New test. - * gcc.target/riscv/sat_u_trunc-12.c: New test. - * gcc.target/riscv/sat_u_trunc-run-10.c: New test. - * gcc.target/riscv/sat_u_trunc-run-11.c: New test. - * gcc.target/riscv/sat_u_trunc-run-12.c: New test. - -2024-09-02 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-16.c: New test. - -2024-09-02 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-9.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-9.c: New test. - -2024-09-02 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_u_sub-11.c: Adjust asm check. - * gcc.target/riscv/sat_u_sub-15.c: Ditto. - * gcc.target/riscv/sat_u_sub-19.c: Ditto. - * gcc.target/riscv/sat_u_sub-23.c: Ditto. - * gcc.target/riscv/sat_u_sub-27.c: Ditto. - * gcc.target/riscv/sat_u_sub-3.c: Ditto. - * gcc.target/riscv/sat_u_sub-31.c: Ditto. - * gcc.target/riscv/sat_u_sub-35.c: Ditto. - * gcc.target/riscv/sat_u_sub-39.c: Ditto. - * gcc.target/riscv/sat_u_sub-43.c: Ditto. - * gcc.target/riscv/sat_u_sub-47.c: Ditto. - * gcc.target/riscv/sat_u_sub-7.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-11.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-11_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-11_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-15.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-15_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-15_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-3.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-3_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-3_2.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-7.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-7_1.c: Ditto. - * gcc.target/riscv/sat_u_sub_imm-7_2.c: Ditto. - -2024-09-01 Hans-Peter Nilsson <hp@axis.com> - - * g++.dg/modules/modules.exp (module_do_it): Prune compilation - messages. - -2024-08-31 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/movti-2.c: Change dg-options to -Os. - * gcc.target/i386/movti-4.c: Expected output of original movti-2.c. - -2024-08-31 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/coroutines/coro.h: Use a variadic macro for PRINTF to - avoid unused warnings when output is disabled. - * g++.dg/coroutines/torture/co-await-04-control-flow.C: Avoid - unused warnings. - * g++.dg/coroutines/torture/co-ret-13-template-2.C: Likewise. - * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: Likewise. - * g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C: - Likewise. - * g++.dg/coroutines/torture/pr109867.C: Likewise. - -2024-08-31 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/coroutines/torture/pr95615.inc: Check tha the - task object produced by get_return_object is correctly - deleted on exception. - -2024-08-31 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116098 - * c-c++-common/torture/pr116098-1.c: New test. - * gcc.target/aarch64/csel-1.c: New test. - -2024-08-31 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/tree-ssa/pr66726-2.c: Update scan dump message. - -2024-08-31 Harald Anlauf <anlauf@gmx.de> - - * gfortran.dg/pr88169_3.f90: Adjust pattern. - -2024-08-31 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/ext/attr-unsequenced-1.C: New test. - -2024-08-31 Jakub Jelinek <jakub@redhat.com> - - PR c/116130 - * c-c++-common/attr-reproducible-1.c: New test. - * c-c++-common/attr-reproducible-2.c: New test. - * c-c++-common/attr-unsequenced-1.c: New test. - * c-c++-common/attr-unsequenced-2.c: New test. - * gcc.dg/c23-attr-reproducible-1.c: New test. - * gcc.dg/c23-attr-reproducible-2.c: New test. - * gcc.dg/c23-attr-reproducible-3.c: New test. - * gcc.dg/c23-attr-reproducible-4.c: New test. - * gcc.dg/c23-attr-reproducible-5.c: New test. - * gcc.dg/c23-attr-reproducible-5-aux.c: New file. - * gcc.dg/c23-attr-unsequenced-1.c: New test. - * gcc.dg/c23-attr-unsequenced-2.c: New test. - * gcc.dg/c23-attr-unsequenced-3.c: New test. - * gcc.dg/c23-attr-unsequenced-4.c: New test. - * gcc.dg/c23-attr-unsequenced-5.c: New test. - * gcc.dg/c23-attr-unsequenced-5-aux.c: New file. - * gcc.dg/c23-has-c-attribute-2.c: Add tests for unsequenced - and reproducible attributes. - -2024-08-31 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/init-pad-1.c: New. - -2024-08-30 Marek Polacek <polacek@redhat.com> - - PR c++/101099 - * g++.dg/concepts/pr101099.C: New test. - -2024-08-30 Marek Polacek <polacek@redhat.com> - - PR c++/115616 - * g++.dg/template/friend83.C: New test. - -2024-08-30 Jason Merrill <jason@redhat.com> - - * g++.dg/diagnostic/used-inline1.C: New test. - -2024-08-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/98454 - * gfortran.dg/alloc_comp_class_4.f03: Remove bogus pattern. - * gfortran.dg/pdt_26.f03: Adjust expected count. - * gfortran.dg/derived_result_3.f90: New test. - -2024-08-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/gen-attrs-80.C: New test. - * g++.dg/cpp0x/gen-attrs-81.C: New test. - -2024-08-30 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr116512.c: New test. - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - PR other/116419 - * gcc.dg/sarif-output/bad-pragma.c: New test. - * gcc.dg/sarif-output/test-bad-pragma.py: New test. - * gcc.dg/sarif-output/test-include-chain-2.py - (test_location_relationships): Update expected text of event to - include an intra-sarif URI to the other event. - -2024-08-29 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/dump_plugin.c: Define INCLUDE_MEMORY. - -2024-08-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/116530 - * gfortran.dg/use_rename_12.f90: New test. - -2024-08-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116508 - * gcc.target/aarch64/popcnt-eq-1.c: New test. - -2024-08-29 Viljar Indus <indus@adacore.com> - - * gnat.dg/interface6.adb: Adjust test. - -2024-08-29 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/116516 - * gcc.c-torture/compile/pr116516.c: New test. - -2024-08-29 Georg-Johann Lay <avr@gjlay.de> - - PR target/115830 - * gcc.target/avr/pr115830-add.c: New test. - * gcc.target/avr/pr115830-add-c.c: New test. - * gcc.target/avr/pr115830-add-i.c: New test. - * gcc.target/avr/pr115830-and.c: New test. - * gcc.target/avr/pr115830-asl.c: New test. - * gcc.target/avr/pr115830-asr.c: New test. - * gcc.target/avr/pr115830-ior.c: New test. - * gcc.target/avr/pr115830-lsr.c: New test. - * gcc.target/avr/pr115830-asl32.c: New test. - * gcc.target/avr/pr115830-sub.c: New test. - * gcc.target/avr/pr115830-sub-ext.c: New test. - -2024-08-29 Arsen Arsenović <arsen@aarsen.me> - - PR c++/105104 - * g++.dg/coroutines/torture/pr105104.C: New test. - -2024-08-29 Alex Coplan <alex.coplan@arm.com> - - PR testsuite/116522 - * lib/scanltranstree.exp: Fix name of underlying scan function - used for scan-ltrans-{tree,rtl}-dump{,-not,-dem,-dem-not}. - -2024-08-29 Robin Dapp <rdapp@ventanamicro.com> - - PR target/116086 - * lib/target-supports.exp: Add effective target checks for - zvl256b and zvl512b. - * gcc.target/riscv/rvv/autovec/pr116086-2-run.c: New test. - * gcc.target/riscv/rvv/autovec/pr116086-2.c: New test. - * gcc.target/riscv/rvv/autovec/pr116086.c: New test. - -2024-08-28 Marek Polacek <polacek@redhat.com> - - PR c++/116476 - * g++.dg/cpp0x/initlist-opt2.C: New test. - -2024-08-28 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/ifelse-c.h: New file. - * gcc.target/avr/torture/ifelse-d.h: New file. - * gcc.target/avr/torture/ifelse-q.h: New file. - * gcc.target/avr/torture/ifelse-r.h: New file. - * gcc.target/avr/torture/ifelse-c-i8.c: New test. - * gcc.target/avr/torture/ifelse-d-i8.c: New test. - * gcc.target/avr/torture/ifelse-q-i8.c: New test. - * gcc.target/avr/torture/ifelse-r-i8.c: New test. - * gcc.target/avr/torture/ifelse-c-i16.c: New test. - * gcc.target/avr/torture/ifelse-d-i16.c: New test. - * gcc.target/avr/torture/ifelse-q-i16.c: New test. - * gcc.target/avr/torture/ifelse-r-i16.c: New test. - * gcc.target/avr/torture/ifelse-c-u16.c: New test. - * gcc.target/avr/torture/ifelse-d-u16.c: New test. - * gcc.target/avr/torture/ifelse-q-u16.c: New test. - * gcc.target/avr/torture/ifelse-r-u16.c: New test. - -2024-08-28 Marek Polacek <polacek@redhat.com> - - PR c++/116424 - * g++.dg/cpp2a/paren-init38.C: New test. - -2024-08-28 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/struct_zero.c: New test. - -2024-08-28 Filip Kastl <fkastl@suse.cz> - - PR tree-optimization/116355 - * gcc.target/i386/switch-exp-transform-1.c: Don't test for - presence of POPCOUNT internal fn after switch conversion. Test - for it after __builtin_popcount has had a chance to get - expanded. - * gcc.target/i386/switch-exp-transform-3.c: Also test char and - short. - -2024-08-28 Alex Coplan <alex.coplan@arm.com> - - PR libstdc++/116140 - * lib/scanltranstree.exp (scan-ltrans-rtl-dump): New. - (scan-ltrans-rtl-dump-not): New. - (scan-ltrans-rtl-dump-dem): New. - (scan-ltrans-rtl-dump-dem-not): New. - (scan-ltrans-rtl-dump-times): New. - -2024-08-28 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp0x/extern_template-7.C: New test. - * g++.dg/cpp23/ext-floating19.C: New test. - * g++.dg/cpp2a/abbrev-fn1.C: New test. - -2024-08-28 Pan Li <pan2.li@intel.com> - - PR target/116278 - * gcc.target/riscv/pr116278-run-1.c: Take compile instead of run. - * gcc.target/riscv/pr116278-run-2.c: Ditto. - * gcc.dg/torture/pr116278-run-1.c: New test. - * gcc.dg/torture/pr116278-run-2.c: New test. - -2024-08-28 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-4.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-9.c: New test. - -2024-08-28 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/autovec/rotr.c: New. - -2024-08-28 Joern Rennecke <joern.rennecke@riscy-ip.com> - - PR testsuite/116271 - * gcc.dg/vect/tsvc/vect-tsvc-s176.c [TRUNCATE_TEST]: Make sure - that m stays the same as the loop bound of the middle loop. - * gcc.dg/vect/tsvc/tsvc.h (get_expected_result) <s176> [TRUNCATE_TEST]: - Adjust expected value. - -2024-08-28 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_sub_imm-13.c: New test. - * gcc.target/riscv/sat_u_sub_imm-13_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-13_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-14.c: New test. - * gcc.target/riscv/sat_u_sub_imm-14_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-14_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-15.c: New test. - * gcc.target/riscv/sat_u_sub_imm-15_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-15_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-16.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-13.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-14.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-15.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-16.c: New test. - -2024-08-28 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_sub_imm-10.c: New test. - * gcc.target/riscv/sat_u_sub_imm-10_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-10_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-11.c: New test. - * gcc.target/riscv/sat_u_sub_imm-11_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-11_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-12.c: New test. - * gcc.target/riscv/sat_u_sub_imm-9.c: New test. - * gcc.target/riscv/sat_u_sub_imm-9_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-9_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-10.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-11.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-12.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-9.c: New test. - -2024-08-27 Andi Kleen <ak@gcc.gnu.org> - - * gcc.dg/vect/vect-switch-ifcvt-1.c: Use vect_condition to - check if vectorizing conditions is supported for target. - -2024-08-27 Arsen Arsenović <arsen@aarsen.me> - - PR c++/109867 - * g++.dg/coroutines/torture/pr109867.C: New test. - -2024-08-27 Simon Martin <simon@nasilyan.com> - - PR c++/105483 - * g++.dg/parse/error36.C: Adjust test expectation. - * g++.dg/tc1/dr147.C: Likewise. - * g++.old-deja/g++.other/typename1.C: Likewise. - * g++.dg/diagnostic/pr105483.C: New test. - -2024-08-27 Christophe Lyon <christophe.lyon@linaro.org> - - * gcc.target/arm/armv8_1m-fp64-move-1.c: Update expected code. - -2024-08-27 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/pr116174.c: Add the missing */. - -2024-08-27 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/pr116174.c: Use check-function-bodies. - * lib/scanasm.exp (parse_function_bodies): Append the line if - $up_config(matched) matches the line. - (check-function-bodies): Add an argument for matched. Set - up_config(matched) to $matched. Append the expected line without - $config(line_prefix) to function_regexp if it starts with ".L". - -2024-08-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.dg/pr108757-1.c: Fixed dg-comment. - * gcc.dg/pr71071.c: Likewise. - * gcc.dg/tree-ssa/noreturn-1.c: Likewise. - * gcc.dg/tree-ssa/pr56727.c: Likewise. - * gcc.target/arc/loop-2.cpp: Likewise. - * gcc.target/arc/loop-3.c: Likewise. - * gcc.target/arc/pr9001107555.c: Likewise. - * gcc.target/arm/armv8_1m-fp16-move-1.c: Likewise. - * gcc.target/arm/armv8_1m-fp32-move-1.c: Likewise. - * gcc.target/arm/armv8_1m-fp64-move-1.c: Likewise. - * gcc.target/i386/amxint8-asmatt-1.c: Likewise. - * gcc.target/i386/amxint8-asmintel-1.c: Likewise. - * gcc.target/i386/avx512bw-vpermt2w-1.c: Likewise. - * gcc.target/i386/avx512vbmi-vpermt2b-1.c: Likewise. - * gcc.target/i386/endbr_immediate.c: Likewise. - * gcc.target/i386/pr96539.c: Likewise. - * gcc.target/i386/sse2-pr98461-2.c: Likewise. - * gcc.target/m68k/pr39726.c: Likewise. - * gcc.target/m68k/pr52076-1.c: Likewise. - * gcc.target/m68k/pr52076-2.c: Likewise. - * gcc.target/nvptx/v2si-vec-set-extract.c: Likewise. - -2024-08-27 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.dg/signbit-5.c: Un-XFAIL for GCN. - -2024-08-27 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/116482 - * g++.dg/coroutines/pr116482.C: New test. - -2024-08-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116460 - * g++.dg/torture/pr116460.C: New testcase. - -2024-08-27 Bernd Edlinger <bernd.edlinger@hotmail.de> - - PR other/116462 - * gcc.dg/debug/dwarf2/inline7.c: Switch to -Os optimization. - -2024-08-27 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_sub_imm-5.c: New test. - * gcc.target/riscv/sat_u_sub_imm-5_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-5_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-6.c: New test. - * gcc.target/riscv/sat_u_sub_imm-6_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-6_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-7.c: New test. - * gcc.target/riscv/sat_u_sub_imm-7_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-7_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-8.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-5.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-6.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-7.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-8.c: New test. - -2024-08-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99243 - * g++.dg/modules/map-2.C: Prune additional fatal error message. - * g++.dg/modules/inc-xlate-4_a.H: New test. - * g++.dg/modules/inc-xlate-4_b.H: New test. - * g++.dg/modules/inc-xlate-4_c.H: New test. - -2024-08-27 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/110980 - * g++.dg/modules/inc-xlate-2_a.H: New test. - * g++.dg/modules/inc-xlate-2_b.H: New test. - * g++.dg/modules/inc-xlate-3.h: New test. - * g++.dg/modules/inc-xlate-3_a.H: New test. - -2024-08-26 Arsen Arsenović <arsen@aarsen.me> - - PR c++/113457 - * g++.dg/coroutines/pr113457-1.C: New test. - * g++.dg/coroutines/pr113457.C: New test. - -2024-08-26 Arsen Arsenović <arsen@aarsen.me> - - * g++.dg/coroutines/pr115858.C: New test. - -2024-08-26 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/diagnostic_group_plugin.c: Include - "diagnostic-format-text.h". - -2024-08-26 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-inline-events.c: - Update expected output. - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.py: - Likewise. - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-separate-events.c: - Likewise. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c - (test_diagnostic_path::add_event_2): Return the id of the added - event. - (test_diagnostic_path::add_event_2_with_event_id): New. - (example_4): Add event IDs to the deadlock messages indicating - where the locks where acquired. - -2024-08-26 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/diagnostic-test-metadata-sarif.c: New test, - based on diagnostic-test-metadata.c. - * gcc.dg/plugin/diagnostic-test-metadata-sarif.py: New script. - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.c: - Replace scan-sarif-file directives with run-sarif-pytest, to - run... - * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.py: - ...this new test. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add - diagnostic-test-metadata-sarif.c. - * gcc.dg/sarif-output/sarif.py: Move to... - * lib/sarif.py: ...here. - * lib/scansarif.exp (run-sarif-pytest): Prepend "lib" to - PYTHONPATH before running python scripts. - -2024-08-26 Simon Martin <simon@nasilyan.com> - - PR c++/115716 - * g++.dg/template/spec42.C: New test. - * g++.dg/template/spec43.C: New test. - -2024-08-26 Xi Ruoyao <xry111@xry111.site> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/116348 - * gcc.c-torture/compile/pr116438.c: New test. - -2024-08-26 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_add_imm-11.c: Adjust test case for imm. - * gcc.target/riscv/sat_u_add_imm-12.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-15.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-16.c: Ditto. - * gcc.target/riscv/sat_u_add_imm_type_check-1.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-10.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-11.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-12.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-13.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-14.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-15.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-16.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-17.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-18.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-19.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-2.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-20.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-21.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-22.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-23.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-24.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-25.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-26.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-27.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-28.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-29.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-3.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-30.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-31.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-32.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-33.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-34.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-35.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-36.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-37.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-38.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-39.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-4.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-40.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-41.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-42.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-43.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-44.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-45.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-46.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-47.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-48.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-49.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-5.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-50.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-51.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-52.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-6.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-7.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-8.c: New test. - * gcc.target/riscv/sat_u_add_imm_type_check-9.c: New test. - -2024-08-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116480 - * gcc.dg/torture/pr116480-1.c: New test. - * gcc.dg/torture/pr116480-2.c: New test. - -2024-08-26 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx10_2-512-convert-1.c: Add tests for new - intrin. - * gcc.target/i386/avx10_2-convert-1.c: Ditto. - -2024-08-26 Zhang, Jun <jun.zhang@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - Hongtao Liu <hongtao.liu@intel.com> - - * gcc.target/i386/avx10_2-compare-1.c: New test. - -2024-08-26 Zhang, Jun <jun.zhang@intel.com> - - * gcc.target/i386/avx10_2-vmovd-1.c: New test. - * gcc.target/i386/avx10_2-vmovd-2.c: Ditto. - * gcc.target/i386/avx10_2-vmovw-1.c: Ditto. - * gcc.target/i386/avx10_2-vmovw-2.c: Ditto. - -2024-08-26 Mo, Zewei <zewei.mo@intel.com> - Hu, Lin1 <lin1.hu@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx-1.c: Add macros. - * 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/avx512f-helper.h: Add helper function. - * gcc.target/i386/avx10-minmax-helper.h: New helper file. - * gcc.target/i386/avx10_2-512-minmax-1.c: New test. - * gcc.target/i386/avx10_2-512-vminmaxnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxpd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxph-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminmaxps-2.c: Ditto. - * gcc.target/i386/avx10_2-minmax-1.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxsd-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxsh-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxss-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxpd-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxph-2.c: Ditto. - * gcc.target/i386/avx10_2-vminmaxps-2.c: Ditto. - -2024-08-26 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add macros. - * 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/avx10_2-satcvt-1.c: Add test. - * gcc.target/i386/avx10_2-512-satcvt-1.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c: New test. - * gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttpd2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttpd2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttpd2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttpd2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2dqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2qqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2udqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2uqqs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttsd2sis-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttsd2usis-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttss2sis-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttss2usis-2.c: Ditto. - -2024-08-26 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add macros. - * 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/avx512f-helper.h: Add new test macro. - * gcc.target/i386/m512-check.h: Add new type. - * gcc.target/i386/avx10_2-512-satcvt-1.c: New test. - * gcc.target/i386/avx10_2-512-vcvtnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-satcvt-1.c: Ditto. - * gcc.target/i386/avx10_2-vcvtnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttnebf162ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttnebf162iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttph2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttph2iubs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2ibs-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvttps2iubs-2.c: Ditto. - -2024-08-26 konglin1 <lingling.kong@intel.com> - Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx10-check.h: Add AVX10_SCALAR. - * gcc.target/i386/avx10-helper.h: Add helper functions. - * gcc.target/i386/avx10_2-512-bf16-1.c: Add new tests. - * gcc.target/i386/avx10_2-bf16-1.c: Ditto. - * gcc.target/i386/avx-1.c: Add macros. - * 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/avx10_2-512-vcmppbf16-2.c: New test. - * gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vgetexppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrcppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vreducenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vcmppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vcomsbf16-1.c: Ditto. - * gcc.target/i386/avx10_2-vcomsbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfpclasspbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vgetexppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vgetmantpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vrcppbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vreducenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vrndscalenepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vrsqrtpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vsqrtnepbf16-2.c: Ditto. - -2024-08-26 konglin1 <lingling.kong@intel.com> - Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx512f-helper.h: Add MAKE_MASK_MERGE and MAKE_MASK_ZERO - for bf16_uw. - * gcc.target/i386/m512-check.h: Add union512bf16_uw, union256bf16_uw, - union128bf16_uw and CHECK_EXP for them. - * gcc.target/i386/avx10-helper.h: New file. - * gcc.target/i386/avx10_2-512-bf16-1.c: New test. - * gcc.target/i386/avx10_2-512-vaddnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vdivnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfnmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vfnmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmaxpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vminpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vscalefpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vsubnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-bf16-1.c: Ditto. - * gcc.target/i386/avx10_2-vaddnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vdivnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfnmaddXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vfnmsubXXXnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vmaxpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vminpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vmulnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vscalefpbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-vsubnepbf16-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmulnepbf16-2.c: New file. - -2024-08-26 Levy Hsu <admin@levyhsu.com> - Kong Lingling <lingling.kong@intel.com> - - * gcc.target/i386/avx-1.c: Add macros for const. - * gcc.target/i386/avx-2.c: Ditto. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-512-convert-1.c: New test. - * gcc.target/i386/avx10_2-512-vcvt2ps2phx-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvthf82ph-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-convert-1.c: Ditto. - * gcc.target/i386/avx10_2-vcvt2ps2phx-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtbiasph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtbiasph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtbiasph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtbiasph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvthf82ph-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtne2ph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtne2ph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtne2ph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtne2ph2hf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtneph2bf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtneph2bf8s-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtneph2hf8-2.c: Ditto. - * gcc.target/i386/avx10_2-vcvtneph2hf8s-2.c: Ditto. - * gcc.target/i386/fp8-helper.h: New helper file. - -2024-08-26 Haochen Jiang <haochen.jiang@intel.com> - Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/avxvnniint16-1.c: Add new macro test. - * gcc.target/i386/avx-1.c: Ditto. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-512-media-1.c: Add test. - * gcc.target/i386/avx10_2-media-1.c: Ditto. - * gcc.target/i386/avxvnniint16-builtin.c: New test. - * gcc.target/i386/avx10_2-512-vdpphps-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vmpsadbw-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwsud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwusd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwusds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwuud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpwuuds-2.c: Ditto. - * gcc.target/i386/avx10_2-builtin-2.c: Ditto. - * gcc.target/i386/avx10_2-vdpphps-2.c: Ditto. - * gcc.target/i386/avx10_2-vmpsadbw-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwsud-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwusd-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwusds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwuud-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpwuuds-2.c: Ditto. - -2024-08-26 Hongyu Wang <hongyu.wang@intel.com> - Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx512f-helper.h: Reuse AVX512F macros - for AVX10. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * lib/target-supports.exp - (check_effective_target_avx10_2): New. - (check_effective_target_avx10_2_512): Ditto. - * gcc.target/i386/avx10-check.h: New test file. - * gcc.target/i386/avx10-helper.h: Ditto. - * gcc.target/i386/avx10_2-builtin-1.c: Ditto. - * gcc.target/i386/avx10_2-512-media-1.c: Ditto. - * gcc.target/i386/avx10_2-media-1.c: Ditto.. - * gcc.target/i386/avxvnniint8-builtin.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbssds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbsud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbuud-2.c: Ditto. - * gcc.target/i386/avx10_2-512-vpdpbuuds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbssd-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbssds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbsud-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbsuds-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbuud-2.c: Ditto. - * gcc.target/i386/avx10_2-vpdpbuuds-2.c: Ditto. - * gcc.target/i386/avx10-os-support.h: New file. - -2024-08-26 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/m512-check.h: Wrap the function define with - correct vector size. - -2024-08-26 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macro. - * gcc.target/riscv/sat_u_sub_imm-1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-1_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-1_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-2_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-2_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-3.c: New test. - * gcc.target/riscv/sat_u_sub_imm-3_1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-3_2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-4.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-1.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-2.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-3.c: New test. - * gcc.target/riscv/sat_u_sub_imm-run-4.c: New test. - -2024-08-26 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c: New test. - -2024-08-26 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_trunc-19.c: New test. - * gcc.target/riscv/sat_u_trunc-20.c: New test. - * gcc.target/riscv/sat_u_trunc-21.c: New test. - * gcc.target/riscv/sat_u_trunc-22.c: New test. - * gcc.target/riscv/sat_u_trunc-23.c: New test. - * gcc.target/riscv/sat_u_trunc-24.c: New test. - * gcc.target/riscv/sat_u_trunc-run-19.c: New test. - * gcc.target/riscv/sat_u_trunc-run-20.c: New test. - * gcc.target/riscv/sat_u_trunc-run-21.c: New test. - * gcc.target/riscv/sat_u_trunc-run-22.c: New test. - * gcc.target/riscv/sat_u_trunc-run-23.c: New test. - * gcc.target/riscv/sat_u_trunc-run-24.c: New test. - -2024-08-25 demin.han <demin.han@starfivetech.com> - - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Fix test. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv32gcv.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-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_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-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_fmul-5.c: Ditto. - -2024-08-25 Xianmiao Qu <cooper.qu@linux.alibaba.com> - - * gcc.target/riscv/pr43644.c: New test case. - -2024-08-25 Dimitar Dimitrov <dimitar@dinux.eu> - - * g++.dg/init/array54.C: Require sync_int_long effective target. - -2024-08-25 Andi Kleen <ak@gcc.gnu.org> - - PR tree-optimization/115866 - * gcc.dg/vect/vect-switch-ifcvt-1.c: New test. - * gcc.dg/vect/vect-switch-ifcvt-2.c: New test. - * gcc.dg/vect/vect-switch-search-line-fast.c: New test. - * gcc.dg/vect/vect-bitfield-read-1-not.c: Change to xfail. - -2024-08-25 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/cm_mv_rv32.c: Disable late-combine. - -2024-08-25 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: Update - expected output. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: Likewise. - -2024-08-25 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/shorten-memrefs-2.c: Turn off late-combine. - * gcc.target/riscv/shorten-memrefs-3.c: Likewise. - * gcc.target/riscv/shorten-memrefs-5.c: Likewise. - * gcc.target/riscv/shorten-memrefs-8.c: Likewise. - -2024-08-25 Gaius Mulley <gaiusmod2@gmail.com> - - * gm2/calling-c/libc/run/pass/calling-c-libc-run-pass.exp: New test. - * gm2/calling-c/libc/run/pass/testlibcstr.mod: New test. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/110635 - * g++.dg/coroutines/pr110635.C: New test. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/102051 - * g++.dg/coroutines/pr102051.C: New test. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/115908 - * g++.dg/coroutines/pr115908.C: New test. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/109682 - * g++.dg/coroutines/pr109682.C: New test. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/100476 - * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: - Adjust expected diagnostic. - * g++.dg/coroutines/pr102489.C: Avoid void get_return_object. - * g++.dg/coroutines/pr103868.C: Likewise. - * g++.dg/coroutines/pr94879-folly-1.C: Likewise. - * g++.dg/coroutines/pr94883-folly-2.C: Likewise. - * g++.dg/coroutines/pr96749-2.C: Likewise. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/113773 - * g++.dg/coroutines/torture/pr113773.C: New test. - -2024-08-24 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: Use revised - diagnostics. - * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: - Likewise. - * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: - Likewise. - * g++.dg/coroutines/coro-bad-grooaf-00-static.C: Likewise. - * g++.dg/coroutines/ramp-return-b.C: Likewise. - -2024-08-24 Simon Martin <simon@nasilyan.com> - - PR c++/113746 - * g++.dg/parse/crash76.C: New test. - -2024-08-24 Georg-Johann Lay <avr@gjlay.de> - - * gcc.dg/torture/pr115929-2.c: Add dg-require-effective-target scheduling. - * gcc.dg/torture/pr116343.c: Same. - -2024-08-23 Manolis Tsamis <manolis.tsamis@vrull.eu> - - PR rtl-optimization/116372 - PR rtl-optimization/116405 - * gcc.dg/pr116372.c: New test. - * gcc.dg/pr116405.c: New test. - -2024-08-23 Manolis Tsamis <manolis.tsamis@vrull.eu> - - PR middle-end/116358 - * gcc.target/aarch64/pr116358.c: New test. - -2024-08-23 Peter Bergner <bergner@linux.ibm.com> - - PR target/116415 - * gcc.target/powerpc/pr116415.c: New test. - -2024-08-23 Paul Thomas <pault@gcc.gnu.org> - - Revert: - 2024-08-23 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/102689 - * gfortran.dg/class_transformational_1.f90: New test for class- - valued reshape. - * gfortran.dg/class_transformational_2.f90: New test for other - class_valued transformational intrinsics. - -2024-08-23 Robin Dapp <rdapp@ventanamicro.com> - - PR middle-end/115495 - * gcc.target/riscv/rvv/autovec/pr115495.c: New test. - -2024-08-23 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: Adjust test - expectation. - * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/abs-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. - -2024-08-23 Bernd Edlinger <bernd.edlinger@hotmail.de> - - PR other/116462 - * gcc.dg/debug/dwarf2/inline7.c: Reduce test expectations. - -2024-08-23 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/116461 - * gcc.dg/vect/vect-mod-var.c: Change the initialization loop so that - `b[i]` is never 0. Use 1 in those places. - -2024-08-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/116464 - * gcc.dg/torture/pr116420.c: - -2024-08-22 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116420 - * gcc.dg/torture/pr116420.c: New test. - -2024-08-22 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * gcc.target/riscv/stack-check-cfa-3.c: Fix the expected output. - -2024-08-22 Andrew Pinski <quic_apinski@quicinc.com> - Richard Biener <rguenther@suse.de> - - PR middle-end/116454 - * gcc.dg/torture/pr116454-1.c: New test. - * gcc.dg/torture/pr116454-2.c: New test. - -2024-08-22 Jennifer Schmitz <jschmitz@nvidia.com> - - PR target/116365 - * gcc.target/aarch64/autovec_param_asimd-only.c: New test. - * gcc.target/aarch64/autovec_param_default.c: Likewise. - * gcc.target/aarch64/autovec_param_prefer-asimd.c: Likewise. - * gcc.target/aarch64/autovec_param_prefer-sve.c: Likewise. - * gcc.target/aarch64/autovec_param_sve-only.c: Likewise. - * gcc.target/aarch64/neoverse_v1_2.c: Update parameter value. - * gcc.target/aarch64/neoverse_v1_3.c: Likewise. - * gcc.target/aarch64/sve/cond_asrd_1.c: Likewise. - * 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/sve/cond_xorsign_2.c: Likewise. - * gcc.target/aarch64/sve/pr98268-1.c: Likewise. - * gcc.target/aarch64/sve/pr98268-2.c: Likewise. - -2024-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> - - * gcc.dg/debug/dwarf2/inline2.c: Add checks for inline entry_pc. - * gcc.dg/debug/dwarf2/inline6.c: Add -gno-as-loc-support and check - the resulting location views. - -2024-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> - - * gcc.dg/debug/dwarf2/inline7.c: New test. - -2024-08-22 Jennifer Schmitz <jschmitz@nvidia.com> - - PR tree-optimization/101390 - * gcc.dg/vect/vect-mod-var.c: New test. - * gcc.target/aarch64/sve/mod_1.c: Likewise. - * lib/target-supports.exp: New selector expression. - -2024-08-22 Alexandre Oliva <oliva@adacore.com> - - * lib/scandump.exp (dump-base): Support {} in dump base suffix - to drop it. - * gcc.dg/callgraph-info-1.c: New. - -2024-08-22 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pieces-memcpy-10.c: Add -mprefer-vector-width=128. - * gcc.target/i386/pieces-memcpy-6.c: Ditto. - * gcc.target/i386/pieces-memset-38.c: Ditto. - * gcc.target/i386/pieces-memset-40.c: Ditto. - * gcc.target/i386/pieces-memset-41.c: Ditto. - * gcc.target/i386/pieces-memset-42.c: Ditto. - * gcc.target/i386/pieces-memset-43.c: Ditto. - * gcc.target/i386/pieces-strcpy-2.c: Ditto. - * gcc.target/i386/pieces-memcpy-22.c: New test. - * gcc.target/i386/pieces-memset-51.c: New test. - * gcc.target/i386/pieces-strcpy-3.c: New test. - -2024-08-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c: New test. - -2024-08-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c: New test. - -2024-08-21 Richard Sandiford <richard.sandiford@arm.com> - - PR testsuite/116238 - * gcc.target/aarch64/sve/pr116238.c: New test. - -2024-08-21 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113042 - * gcc.target/aarch64/popcnt10.c: New test. - * gcc.target/aarch64/popcnt9.c: New test. - -2024-08-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116406 - * gcc.dg/tree-ssa/pr116406.c: New testcase. - * gcc.dg/tree-ssa/ssa-pre-30.c: On x86 dd -msse -mfpmath=sse. - -2024-08-21 Martin Jambor <mjambor@suse.cz> - - PR target/58416 - * gcc.dg/torture/pr58416.c: New test. - -2024-08-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116380 - * gcc.dg/torture/pr116380.c: New testcase. - -2024-08-21 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray_lib_this_image_2.f90: Fix array rank in - tree dump scan. - * gfortran.dg/coarray_lib_token_4.f90: Same. - * gfortran.dg/coarray/move_alloc_2.f90: New test. - -2024-08-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * g++.target/i386/pr116275-2.C (dg-options): Add -mstv - -mno-stackrealign. - -2024-08-21 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/77518 - * gfortran.dg/coarray/sizeof_1.f90: New test. - -2024-08-21 Kewen Lin <linkw@linux.ibm.com> - - * lib/target-supports.exp (check_vect_support_and_set_flags): Remove - the if arm checking powerpc-*paired*. - (check_750cl_hw_available): Remove. - (check_effective_target_vect_unpack): Remove the check on - powerpc-*paired*. - -2024-08-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Fix SAT_TRUNC typo. - * gcc.target/riscv/sat_u_trunc-1.c: Ditto. - * gcc.target/riscv/sat_u_trunc-13.c: Ditto. - * gcc.target/riscv/sat_u_trunc-14.c: Ditto. - * gcc.target/riscv/sat_u_trunc-15.c: Ditto. - * gcc.target/riscv/sat_u_trunc-2.c: Ditto. - * gcc.target/riscv/sat_u_trunc-3.c: Ditto. - * gcc.target/riscv/sat_u_trunc-4.c: Ditto. - * gcc.target/riscv/sat_u_trunc-5.c: Ditto. - * gcc.target/riscv/sat_u_trunc-6.c: Ditto. - * gcc.target/riscv/sat_u_trunc-7.c: Ditto. - * gcc.target/riscv/sat_u_trunc-8.c: Ditto. - * gcc.target/riscv/sat_u_trunc-9.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-1.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-13.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-14.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-15.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-2.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-3.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-4.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-5.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-6.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-7.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-8.c: Ditto. - * gcc.target/riscv/sat_u_trunc-run-9.c: Ditto. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/export-1.C: Remove message. - * g++.dg/modules/internal-1.C: Remove message. - * g++.dg/modules/ambig-2_b.C: Remove unnecessary pruning. - * g++.dg/modules/atom-decl-2.C: Likewise. - * g++.dg/modules/atom-pragma-3.C: Likewise. - * g++.dg/modules/atom-preamble-2_f.C: Likewise. - * g++.dg/modules/block-decl-2.C: Likewise. - * g++.dg/modules/dir-only-4.C: Likewise. - * g++.dg/modules/enum-12.C: Likewise. - * g++.dg/modules/exp-xlate-1_b.C: Likewise. - * g++.dg/modules/export-3.C: Likewise. - * g++.dg/modules/friend-3.C: Likewise. - * g++.dg/modules/friend-5_b.C: Likewise. - * g++.dg/modules/inc-xlate-1_e.C: Likewise. - * g++.dg/modules/linkage-2.C: Likewise. - * g++.dg/modules/local-extern-1.C: Likewise. - * g++.dg/modules/main-1.C: Likewise. - * g++.dg/modules/map-2.C: Likewise. - * g++.dg/modules/mod-decl-1.C: Likewise. - * g++.dg/modules/mod-decl-3.C: Likewise. - * g++.dg/modules/pr99174.H: Likewise. - * g++.dg/modules/pr99468.H: Likewise. - * g++.dg/modules/token-1.C: Likewise. - * g++.dg/modules/token-3.C: Likewise. - * g++.dg/modules/token-4.C: Likewise. - * g++.dg/modules/token-5.C: Likewise. - * g++.dg/modules/using-10.C: Likewise. - * g++.dg/modules/using-12.C: Likewise. - * g++.dg/modules/using-3.C: Likewise. - * g++.dg/modules/using-9.C: Likewise. - * g++.dg/modules/using-enum-2.C: Likewise. - * g++.dg/modules/permissive-error-1.C: New test. - * g++.dg/modules/permissive-error-2.C: New test. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116412 - * gcc.dg/torture/pr116412-1.c: New test. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116409 - * gcc.dg/torture/pr116409-1.c: New test. - * gcc.dg/torture/pr116409-2.c: New test. - -2024-08-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/gen-attrs-82.C: New test. - * g++.dg/gomp/attrs-3.C (foo): Expect different diagnostics for - omp::directive attribute after closing square bracket of an automatic - declaration and add a test with the attribute after array's - declarator-id. - -2024-08-20 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/gen-attrs-83.C: New test. - -2024-08-20 Edwin Lu <ewlu@rivosinc.com> - - * gcc.dg/signbit-5.c: Remove riscv xfail exception - -2024-08-20 Franciszek Witt <franek.witt@gmail.com> - - PR c++/101232 - * g++.dg/cpp0x/initlist-err1.C: New test. - * g++.dg/cpp0x/initlist-err2.C: New test. - * g++.dg/cpp0x/initlist-err3.C: New test. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/103660 - * g++.dg/tree-ssa/pr103660-4.C: New test. - * gcc.dg/tree-ssa/pr103660-4.c: New test. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/103660 - * g++.dg/tree-ssa/pr103660-2.C: New test. - * g++.dg/tree-ssa/pr103660-3.C: New test. - * gcc.dg/tree-ssa/pr103660-2.c: New test. - * gcc.dg/tree-ssa/pr103660-3.c: New test. - -2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/103660 - * g++.dg/tree-ssa/pr103660-0.C: New test. - * g++.dg/tree-ssa/pr103660-1.C: New test. - * gcc.dg/tree-ssa/pr103660-0.c: New test. - * gcc.dg/tree-ssa/pr103660-1.c: New test. - -2024-08-20 Patrick Palka <ppalka@redhat.com> - - PR c++/101463 - * g++.dg/cpp1z/nontype6.C: New test. - * g++.dg/cpp1z/nontype6a.C: New test. - -2024-08-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116274 - * gcc.target/i386/pr116274-2.c: New testcase. - -2024-08-20 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/84246 - * gfortran.dg/coarray_allocate_7.f08: Adapt to array being - allocate by caf_send. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115020 - * g++.dg/modules/pr115020_a.C: New test. - * g++.dg/modules/pr115020_b.C: New test. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116403 - * g++.dg/modules/dguide-4_a.C: New test. - * g++.dg/modules/dguide-4_b.C: New test. - * g++.dg/modules/dguide-4_c.C: New test. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116382 - * g++.dg/modules/tpl-nttp-1_a.C: New test. - * g++.dg/modules/tpl-nttp-1_b.C: New test. - -2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/116364 - * g++.dg/modules/tpl-spec-9_a.C: New test. - * g++.dg/modules/tpl-spec-9_b.C: New test. - * g++.dg/modules/tpl-spec-9_c.C: New test. - -2024-08-19 Marek Polacek <polacek@redhat.com> - - PR c++/115657 - * g++.dg/cpp1y/constexpr-recursion2.C: New test. - * g++.dg/template/conv21.C: New test. - -2024-08-19 Marek Polacek <polacek@redhat.com> - - PR c++/116384 - * g++.dg/cpp0x/vt-116384.C: New test. - -2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> - - PR target/112108 - * gcc.target/aarch64/acle/ls64_guard-1.c: New test. - * gcc.target/aarch64/acle/ls64_guard-2.c: New test. - * gcc.target/aarch64/acle/ls64_guard-3.c: New test. - * gcc.target/aarch64/acle/ls64_guard-4.c: New test. - -2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> - - PR target/112108 - * gcc.target/aarch64/acle/memtag_guard-1.c: New test. - * gcc.target/aarch64/acle/memtag_guard-2.c: New test. - * gcc.target/aarch64/acle/memtag_guard-3.c: New test. - * gcc.target/aarch64/acle/memtag_guard-4.c: New test. - -2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> - - PR target/112108 - * gcc.target/aarch64/acle/tme_guard-1.c: New test. - * gcc.target/aarch64/acle/tme_guard-2.c: New test. - * gcc.target/aarch64/acle/tme_guard-3.c: New test. - * gcc.target/aarch64/acle/tme_guard-4.c: New test. - -2024-08-19 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray/select_type_1.f90: New test. - * gfortran.dg/coarray/select_type_2.f90: New test. - * gfortran.dg/coarray/select_type_3.f90: New test. - -2024-08-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/warn/pr33738-2.C: dg-prune arm linker messages about - size of enums. - -2024-08-19 Richard Sandiford <richard.sandiford@arm.com> - - * lib/scanltranstree.exp: Redefine the routines using two - templates. - -2024-08-19 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/84244 - * gfortran.dg/coarray/ptr_comp_5.f08: New test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: New test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: New test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-3.c: New test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-2.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-2.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-2.c: New test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-1.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-1.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Add new macro test. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx10_2-rounding-1.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add new macro test. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/avx10_2-rounding-1.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add new builtin test. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Add new macro test. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/avx10_2-rounding-1.c: Add test. - -2024-08-19 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/avx-1.c: Add -mavx10.2 and new builtin test. - * gcc.target/i386/avx-2.c: Ditto. - * gcc.target/i386/sse-13.c: Add new tests. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/avx10_2-rounding-1.c: New test. - -2024-08-18 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.target/i386/pr87007-5.c: Disable phi-opt. - -2024-08-18 Georg-Johann Lay <avr@gjlay.de> - - PR target/116407 - * gcc.target/avr/torture/pr116407-2.c: New test. - * gcc.target/avr/torture/pr116407-4.c: New test. - -2024-08-18 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Adjust - the expand dump check times. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto. - * gcc.target/riscv/sat_arith_data.h: Add test helper macros. - * gcc.target/riscv/sat_u_trunc-4.c: New test. - * gcc.target/riscv/sat_u_trunc-5.c: New test. - * gcc.target/riscv/sat_u_trunc-6.c: New test. - * gcc.target/riscv/sat_u_trunc-run-4.c: New test. - * gcc.target/riscv/sat_u_trunc-run-5.c: New test. - * gcc.target/riscv/sat_u_trunc-run-6.c: New test. - -2024-08-18 Pan Li <pan2.li@intel.com> - - PR target/116278 - * gcc.target/riscv/sat_u_add-11.c: Adjust asm check body. - * gcc.target/riscv/sat_u_add-15.c: Ditto. - * gcc.target/riscv/sat_u_add-19.c: Ditto. - * gcc.target/riscv/sat_u_add-23.c: Ditto. - * gcc.target/riscv/sat_u_add-3.c: Ditto. - * gcc.target/riscv/sat_u_add-7.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-11.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-15.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-3.c: Ditto. - * gcc.target/riscv/sat_u_add_imm-7.c: Ditto. - * gcc.target/riscv/pr116278-run-1.c: New test. - * gcc.target/riscv/pr116278-run-2.c: New test. - -2024-08-18 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_trunc-13.c: New test. - * gcc.target/riscv/sat_u_trunc-14.c: New test. - * gcc.target/riscv/sat_u_trunc-15.c: New test. - * gcc.target/riscv/sat_u_trunc-run-13.c: New test. - * gcc.target/riscv/sat_u_trunc-run-14.c: New test. - * gcc.target/riscv/sat_u_trunc-run-15.c: New test. - -2024-08-18 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macros. - * gcc.target/riscv/sat_u_trunc-7.c: New test. - * gcc.target/riscv/sat_u_trunc-8.c: New test. - * gcc.target/riscv/sat_u_trunc-9.c: New test. - * gcc.target/riscv/sat_u_trunc-run-7.c: New test. - * gcc.target/riscv/sat_u_trunc-run-8.c: New test. - * gcc.target/riscv/sat_u_trunc-run-9.c: New test. - -2024-08-17 Jin Ma <jinma@linux.alibaba.com> - - * gcc.target/riscv/rvv/base/bug-7.c: New test. - * gcc.target/riscv/rvv/base/bug-8.c: New test. - -2024-08-17 Jeff Law <jlaw@ventanamicro.com> - - PR target/116282 - * gcc.target/riscv/pr116282.c: New test. - -2024-08-17 Jin Ma <jinma@linux.alibaba.com> - - * gcc.target/riscv/rvv/base/bug-9.c: New test. - -2024-08-17 Pan Li <pan2.li@intel.com> - - PR target/116280 - * gcc.target/riscv/rvv/base/pr116280-1.c: New test. - * gcc.target/riscv/rvv/base/pr116280-2.c: New test. - -2024-08-17 Feng Wang <wangfeng@eswincomputing.com> - - * gcc.target/riscv/rvv/autovec/binop/vrolr-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vrolr-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vrolr-template.h: New test. - -2024-08-17 Georg-Johann Lay <avr@gjlay.de> - - PR target/116390 - * gcc.target/avr/torture/pr116390.c: New test. - -2024-08-17 曾治金 <zhijin.zeng@spacemit.com> - - PR target/116305 - * gcc.target/riscv/rvv/base/scalable_vector_cfi.c: New test. - -2024-08-16 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/warn/pr33738.C: Added -fno-short-enums. - * g++.dg/warn/pr33738-2.C: Duplicate g++.dg/warn/pr33738.C with - -fshort-enums and removed xfail. - -2024-08-16 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * g++.dg/opt/pr97315-1.C: Add -fno-short-enums. - -2024-08-16 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - * gcc.dg/signbit-5.c: Add -fwrapv and remove x86 exception. - -2024-08-16 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/116378 - * gm2/extensions/run/pass/testopen.mod: Add third argument - for open. - * gm2/isolib/run/pass/openlibc.mod: Ditto. - * gm2/pim/run/pass/testaddr3.mod: Ditto. - -2024-08-16 Jakub Jelinek <jakub@redhat.com> - - PR c++/110345 - * g++.dg/cpp0x/gen-attrs-84.C: New test. - -2024-08-16 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113042 - * gcc.target/aarch64/popcnt5.c: New test. - * gcc.target/aarch64/popcnt6.c: New test. - * gcc.target/aarch64/popcnt7.c: New test. - * gcc.target/aarch64/popcnt8.c: New test. - -2024-08-15 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.target/riscv/fclass.c: New tests. - -2024-08-15 Roger Sayle <roger@nextmovesoftware.com> - Uros Bizjak <ubizjak@gmail.com> - - * g++.target/i386/pr116275-2.C: New test case. - -2024-08-15 Patrick Palka <ppalka@redhat.com> - - PR c++/115583 - * g++.dg/cpp23/consteval-if13.C: Compile with -O. - -2024-08-15 Richard Sandiford <richard.sandiford@arm.com> - - PR testsuite/116343 - * gcc.dg/torture/pr116343.c: New test. - -2024-08-15 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/110033 - * gfortran.dg/coarray/associate_1.f90: New test. - -2024-08-15 Patrick Palka <ppalka@redhat.com> - - PR c++/116320 - * g++.dg/template/access42.C: New test. - -2024-08-15 Patrick Palka <ppalka@redhat.com> - - PR c++/116327 - PR c++/104981 - PR c++/115550 - * g++.dg/coroutines/pr104981-preview-this.C: Improve coverage by - adding a non-static data member use within the coroutine member - function. - * g++.dg/coroutines/pr116327-preview-this.C: New test. - -2024-08-15 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/fclass-compile.c: New test. - * gcc.target/loongarch/fclass-run.c: New test. - -2024-08-15 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr116274.c: New test. - * gcc.target/i386/pr113560.c: Scan either mulq or mulx. - -2024-08-15 Richard Sandiford <richard.sandiford@arm.com> - - PR target/116371 - * gcc.target/aarch64/sme2/acle-asm/pext_c16.c, - gcc.target/aarch64/sme2/acle-asm/pext_c16_x2.c, - gcc.target/aarch64/sme2/acle-asm/pext_c32.c, - gcc.target/aarch64/sme2/acle-asm/pext_c32_x2.c, - gcc.target/aarch64/sme2/acle-asm/pext_c64.c, - gcc.target/aarch64/sme2/acle-asm/pext_c64_x2.c, - gcc.target/aarch64/sme2/acle-asm/pext_c8.c, - gcc.target/aarch64/sme2/acle-asm/pext_c8_x2.c: Replace with... - * gcc.target/aarch64/sme2/acle-asm/pext_lane_c16.c, - gcc.target/aarch64/sme2/acle-asm/pext_lane_c16_x2.c, - gcc.target/aarch64/sme2/acle-asm/pext_lane_c32.c, - gcc.target/aarch64/sme2/acle-asm/pext_lane_c32_x2.c, - gcc.target/aarch64/sme2/acle-asm/pext_lane_c64.c, - gcc.target/aarch64/sme2/acle-asm/pext_lane_c64_x2.c, - gcc.target/aarch64/sme2/acle-asm/pext_lane_c8.c, - gcc.target/aarch64/sme2/acle-asm/pext_lane_c8_x2.c: ...these new tests, - testing for svpext_lane instead of svpext. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/float128-cmp2-runnable.c: Replace - ppc_float128_sw with ppc_float128_hw and remove p9vector_hw. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/97786 - * gcc.target/powerpc/pr97786-7.c: New test. - * gcc.target/powerpc/pr97786-8.c: New test. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/97786 - * gcc.target/powerpc/pr97786-4.c: New test. - * gcc.target/powerpc/pr97786-5.c: New test. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/97786 - * gcc.target/powerpc/pr97786-1.c: New test. - * gcc.target/powerpc/pr97786-2.c: New test. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.dg/tree-ssa/range-isnormal.c: New test. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.dg/tree-ssa/range-isfinite.c: New test. - -2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/114678 - * gcc.dg/tree-ssa/range-isinf.c: New test. - * gcc.dg/tree-ssa/range-sincos.c: Remove xfail for s390. - * gcc.dg/tree-ssa/vrp-float-abs-1.c: Likewise. - -2024-08-14 Marek Polacek <polacek@redhat.com> - - PR c++/116015 - * g++.dg/cpp1y/nsdmi-aggr23.C: New test. - -2024-08-14 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/pr113729.c: Add testcase for shift and rotate. - -2024-08-14 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/pr113729.c: Add more tests. - -2024-08-14 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/pr113729.c: Add more test. - * gcc.target/i386/pr113729-adc-sbb.c: New test. - -2024-08-14 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/pr113729.c: New test. - -2024-08-14 Mark Wielaard <mark@klomp.org> - - * gcc.target/riscv/rvv/base/pr116202-run-1.c (dg-do run): - Add target riscv_v. - -2024-08-14 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/move_alloc_19.f90: New test. - -2024-08-14 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-08-14 Jeff Law <jlaw@ventanamicro.com> - - * g++.target/m68k/m68k.exp: New test driver. - * g++.target/m68k/pr116244.C: New test. - -2024-08-14 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/116148 - * c-c++-common/fam-in-union-alone-in-struct-2.c: Change the type of - member a[] of union with_fam_3 with unsigned char. - -2024-08-14 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr116174.c: New test. - -2024-08-13 Dimitar Dimitrov <dimitar@dinux.eu> - - PR testsuite/116155 - * c-c++-common/fam-in-union-alone-in-struct-1.c: Adjust - check to account for default_packed targets. - -2024-08-13 Manolis Tsamis <manolis.tsamis@vrull.eu> - - PR tree-optimization/116353 - * gcc.target/i386/pr116353.c: New test. - -2024-08-13 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/114308 - * gfortran.dg/abstract_type_10.f90: New test. - -2024-08-13 Kewen Lin <linkw@linux.ibm.com> - - PR rtl-optimization/116170 - * gcc.target/powerpc/pr116170.c: New test. - -2024-08-12 Peter Bergner <bergner@linux.ibm.com> - - PR target/114759 - * gcc.target/powerpc/pr114759-1.c: New test. - -2024-08-12 Edwin Lu <ewlu@rivosinc.com> - - * gcc.target/riscv/rvv/base/pr116202-run-1.c: Add mabi arg - -2024-08-12 Jeff Law <jlaw@ventanamicro.com> - - * g++.target/m68k/m68k.exp: New test driver. - * g++.target/m68k/pr116244.C: New test. - -2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> - - * gcc.target/aarch64/ifcvt_multiple_sets_rewire.c: New test. - -2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> - - * gcc.target/aarch64/ifcvt_multiple_sets_arithm.c: New test. - -2024-08-12 Georg-Johann Lay <avr@gjlay.de> - - PR target/85624 - * gcc.target/avr/torture/pr85624.c: New test. - -2024-08-12 Joern Rennecke <joern.rennecke@riscy-ip.com> - - * gcc.c-torture/execute/20021120-1.c: Skip if not size20plus or -Os. - * gcc.dg/fixed-point/convert-float-4.c: Require size20plus. - * gcc.dg/torture/pr112282.c: Skip if -O0 unless size20plus. - * g++.dg/lookup/pr21802.C: Require size20plus. - -2024-08-12 Joern Rennecke <joern.rennecke@riscy-ip.com> - - * gcc.dg/pr107523.c: Make sure variables can fit numbers. - * gcc.dg/pr47893.c: Add dg-require-effective-target size20plus clause. - * c-c++-common/torture/builtin-clear-padding-2.c: - dg-require-effective-target size20plus. - * gcc.dg/pr115646.c: dg-require-effective-target int32plus. - * c-c++-common/analyzer/coreutils-sum-pr108666.c: - For c++, expect a warning about exceeding maximum object size - if not size20plus. - * gcc.dg/torture/inline-mem-cpy-1.c: - Like the included file, dg-require-effective-target ptr32plus. - * gcc.dg/torture/inline-mem-cmp-1.c: Likewise. - -2024-08-12 Kyrylo Tkachov <ktkachov@nvidia.com> - - * gcc.target/aarch64/advsimd_shl_add.c: New test. - -2024-08-12 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/85510 - * gfortran.dg/coarray/pr85510.f90: New test. - -2024-08-12 Haochen Jiang <haochen.jiang@intel.com> - - * g++.dg/other/i386-2.C: Ditto. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/sse-12.c: Ditto. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - -2024-08-12 Roger Sayle <roger@nextmovesoftware.com> - - PR target/116275 - * g++.target/i386/pr116275.C: New test case. - -2024-08-12 Lulu Cheng <chenglulu@loongson.cn> - - * g++.target/loongarch/vect-ashr-lshr.C: New test. - -2024-08-12 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/lasx-andn-iorn.c: New test. - * gcc.target/loongarch/lsx-andn-iorn.c: New test. - -2024-08-10 Xi Ruoyao <xry111@xry111.site> - - PR testsuite/70150 - * gcc.target/i386/fentryname3.c (dg-final): Revert r13-1614 - change. - -2024-08-10 Xi Ruoyao <xry111@xry111.site> - - PR testsuite/70150 - * gcc.target/i386/pr113689-1.c (dg-options): Add -no-pie. - -2024-08-10 Jakub Jelinek <jakub@redhat.com> - - * gcc.target/powerpc/sse3-addsubps.c (TEST): Divide by - sizeof (vals[0]) rather than sizeof (vals). - -2024-08-10 Patrick Palka <ppalka@redhat.com> - - PR c++/116276 - * g++.dg/cpp23/class-deduction-inherited4.C: Remove an xfail. - * g++.dg/cpp23/class-deduction-inherited5.C: New test. - * g++.dg/cpp23/class-deduction-inherited6.C: New test. - -2024-08-09 Jeff Law <jlaw@ventanamicro.com> - - PR target/116283 - * gcc.target/riscv/pr116283.c: New test - -2024-08-09 Kyrylo Tkachov <ktkachov@nvidia.com> - - Revert: - 2024-08-09 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/116028 - * gcc.dg/ira-shrinkwrap-prep-1.c: Remove xfail for powerpc. - * gcc.dg/pr10474.c: Remove xfail for powerpc. - -2024-08-09 Simon Martin <simon@nasilyan.com> - - PR c++/115806 - * g++.dg/parse/enum15.C: New test. - -2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * gcc.target/riscv/stack-check-14.c: New test. - * gcc.target/riscv/stack-check-15.c: New test. - * gcc.target/riscv/stack-check-alloca-1.c: New test. - * gcc.target/riscv/stack-check-alloca-2.c: New test. - * gcc.target/riscv/stack-check-alloca-3.c: New test. - * gcc.target/riscv/stack-check-alloca-4.c: New test. - * gcc.target/riscv/stack-check-alloca-5.c: New test. - * gcc.target/riscv/stack-check-alloca-6.c: New test. - * gcc.target/riscv/stack-check-alloca-7.c: New test. - * gcc.target/riscv/stack-check-alloca-8.c: New test. - * gcc.target/riscv/stack-check-alloca-9.c: New test. - * gcc.target/riscv/stack-check-alloca-10.c: New test. - * gcc.target/riscv/stack-check-alloca.h: New. - -2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * gcc.target/riscv/stack-check-cfa-3.c: New test. - * gcc.target/riscv/stack-check-prologue-16.c: New test. - * gcc.target/riscv/struct_vect_24.c: New test. - -2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> - - * gcc.dg/params/blocksort-part.c: Skip riscv for - stack-clash protection intervals. - * gcc.dg/pr82788.c: Skip riscv. - * gcc.dg/stack-check-6.c: Skip residual check for riscv. - * gcc.dg/stack-check-6a.c: Skip riscv. - * gcc.target/riscv/stack-check-12.c: New test. - * gcc.target/riscv/stack-check-13.c: New test. - * gcc.target/riscv/stack-check-cfa-1.c: New test. - * gcc.target/riscv/stack-check-cfa-2.c: New test. - * gcc.target/riscv/stack-check-prologue-1.c: New test. - * gcc.target/riscv/stack-check-prologue-10.c: New test. - * gcc.target/riscv/stack-check-prologue-11.c: New test. - * gcc.target/riscv/stack-check-prologue-12.c: New test. - * gcc.target/riscv/stack-check-prologue-13.c: New test. - * gcc.target/riscv/stack-check-prologue-14.c: New test. - * gcc.target/riscv/stack-check-prologue-15.c: New test. - * gcc.target/riscv/stack-check-prologue-2.c: New test. - * gcc.target/riscv/stack-check-prologue-3.c: New test. - * gcc.target/riscv/stack-check-prologue-4.c: New test. - * gcc.target/riscv/stack-check-prologue-5.c: New test. - * gcc.target/riscv/stack-check-prologue-6.c: New test. - * gcc.target/riscv/stack-check-prologue-7.c: New test. - * gcc.target/riscv/stack-check-prologue-8.c: New test. - * gcc.target/riscv/stack-check-prologue-9.c: New test. - * gcc.target/riscv/stack-check-prologue.h: New file. - * lib/target-supports.exp - (check_effective_target_supports_stack_clash_protection): - Add riscv. - (check_effective_target_caller_implicit_probes): Likewise. - -2024-08-09 Patrick Palka <ppalka@redhat.com> - - PR c++/116289 - PR c++/113063 - * g++.dg/cpp2a/spaceship-synth16a.C: New test. - -2024-08-09 Jakub Jelinek <jakub@redhat.com> - - PR target/116287 - * gcc.target/i386/bmi-pr116287.c: New test. - * gcc.target/i386/bmi2-pr116287.c: New test. - * gcc.target/i386/tbm-pr116287.c: New test. - -2024-08-08 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/116041 - * gcc.target/aarch64/if-compare_2.c: Support bit and bif for - both bar1 and bar2; add comment on why too. - -2024-08-08 Tamar Christina <tamar.christina@arm.com> - - PR target/116229 - * gcc.target/aarch64/pr116229.c: New test. - -2024-08-08 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/pr116295.c: New test. - -2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/xtheadfmemidx-xtheadfmv-medany.c: Adjust. - * gcc.target/riscv/xtheadfmemidx-zfa-medany.c: Likewise. - -2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/116131 - * gcc.target/riscv/pr116131.c: New test. - -2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/xtheadfmemidx-medany.c: Move to... - * gcc.target/riscv/xtheadfmemidx-xtheadfmv-medany.c: ...here. - * gcc.target/riscv/xtheadfmemidx-zfa-medany.c: New test. - -2024-08-08 Jeff Law <jlaw@ventanamicro.com> - - PR target/116240 - * gcc.target/riscv/pr116240.c: New test. - -2024-08-08 Manolis Tsamis <manolis.tsamis@vrull.eu> - - PR tree-optimization/98138 - * gcc.target/aarch64/vect-slp-two-operator.c: New test. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115062 - * g++.dg/modules/pr115062_a.H: New test. - * g++.dg/modules/pr115062_b.H: New test. - * g++.dg/modules/pr115062_c.C: New test. - -2024-08-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/115744 - * g++.dg/cpp2a/construct_at.h (operator new, operator new[]): - Use constexpr instead of inline if __cpp_constexpr >= 202406L. - * g++.dg/cpp26/constexpr-new1.C: New test. - * g++.dg/cpp26/constexpr-new2.C: New test. - * g++.dg/cpp26/constexpr-new3.C: New test. - * g++.dg/cpp26/feat-cxx26.C (__cpp_constexpr): Adjust expected - value. - -2024-08-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116258 - * gcc.target/i386/pr116258.c: Also allow vpermilps. - -2024-08-08 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/116028 - * gcc.dg/ira-shrinkwrap-prep-1.c: Remove xfail for powerpc. - * gcc.dg/pr10474.c: Remove xfail for powerpc. - -2024-08-08 Jiawei <jiawei@iscas.ac.cn> - - * gcc.target/riscv/arch-42.c: New test. - * gcc.target/riscv/arch-43.c: New test. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115801 - * g++.dg/modules/tpl-friend-16_a.C: New test. - * g++.dg/modules/tpl-friend-16_b.C: New test. - * g++.dg/template/friend82.C: New test. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114950 - * g++.dg/modules/tpl-friend-13_e.C: Adjust error message. - * g++.dg/modules/ambig-2_a.C: New test. - * g++.dg/modules/ambig-2_b.C: New test. - * g++.dg/modules/part-9_a.C: New test. - * g++.dg/modules/part-9_b.C: New test. - * g++.dg/modules/part-9_c.C: New test. - * g++.dg/modules/tpl-friend-15.h: New test. - * g++.dg/modules/tpl-friend-15_a.C: New test. - * g++.dg/modules/tpl-friend-15_b.C: New test. - * g++.dg/modules/tpl-friend-15_c.C: New test. - -2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/enum-bad-1_b.C: Update error message. - -2024-08-07 Patrick Palka <ppalka@redhat.com> - - PR c++/116064 - * g++.dg/template/permissive-error2.C: New test. - -2024-08-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/109126 - * g++.dg/DRs/dr2387.C: New test. - * g++.dg/DRs/dr2387-aux.cc: New file. - -2024-08-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116258 - PR middle-end/116259 - * gcc.target/aarch64/pr116258.c: New test. - * gcc.target/aarch64/sve/pr116259-1.c: New test. - -2024-08-07 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/vec-shift-double-runnable-int128.c: New test - file. - -2024-08-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116258 - * gcc.target/i386/pr116258.c: New testcase. - -2024-08-07 Roger Sayle <roger@nextmovesoftware.com> - - * g++.dg/other/sse2-pr85572-1.C: Update expected output after - my recent patch for ashrv2di3. Now with one less instruction. - -2024-08-07 Simon Martin <simon@nasilyan.com> - - PR c++/111592 - * g++.dg/cpp0x/variadic186.C: New test. - -2024-08-07 Xi Ruoyao <xry111@xry111.site> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/116142 - * gcc.target/i386/pr116142.c: New test. - -2024-08-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/116175 - * g++.dg/ext/attr-format4.C: New test. - -2024-08-07 Kewen Lin <linkw@linux.ibm.com> - - * gcc.target/powerpc/pr78056-1.c: Check for powerpc_altivec rather than - powerpc_vsx. - * gcc.target/powerpc/pr78056-3.c: Likewise. - * gcc.target/powerpc/pr78056-5.c: Drop powerpc_vsx_ok check. - * gcc.target/powerpc/pr78056-7.c: Check for powerpc_fprs rather than - dfp_hw. - * gcc.target/powerpc/pr78056-2.c: Remove. - * gcc.target/powerpc/pr78056-4.c: Remove. - * gcc.target/powerpc/pr78056-6.c: Remove. - -2024-08-07 Kewen Lin <linkw@linux.ibm.com> - - * gcc.target/powerpc/swaps-p8-46.c: Check for p8vector_hw rather than - powerpc_vsx_ok. - * gcc.target/powerpc/ppc64-abi-2.c: Check for vmx_hw rather than - powerpc_altivec_ok. - * gcc.target/powerpc/pr96139-c.c: Likewise. - -2024-08-07 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114842 - * gcc.target/powerpc/error-1.c: Replace powerpc_vsx_ok check with - powerpc_vsx. - * gcc.target/powerpc/warn-2.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Likewise. - * gcc.target/powerpc/ppc-fortran/pr80108-1.f90: Replace powerpc_vsx_ok - check with powerpc_vsx and remove useless -mfloat128. - * gcc.target/powerpc/pragma_power8.c: Replace powerpc_vsx_ok check with - powerpc_vsx. - -2024-08-07 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114842 - * gcc.target/powerpc/bswap64-2.c: Replace powerpc_vsx_ok check with - has_arch_pwr7. - * gcc.target/powerpc/ppc-fpconv-2.c: Replace powerpc_vsx_ok check with - powerpc_fprs. - * gcc.target/powerpc/ppc-fpconv-6.c: Likewise. - * gcc.target/powerpc/ppc-pow.c: Likewise. - * gcc.target/powerpc/ppc-target-1.c: Likewise. - * gcc.target/powerpc/ppc-target-2.c: Likewise. - * gcc.target/powerpc/ppc-target-3.c: Likewise. - * gcc.target/powerpc/ppc-target-4.c: Likewise. - * gcc.target/powerpc/ppc-fpconv-4.c: Check for powerpc_fprs. - * gcc.target/powerpc/fold-vec-select-char.c: Replace powerpc_vsx_ok - with powerpc_altivec check and move it after dg-options line. - * gcc.target/powerpc/fold-vec-select-float.c: Likewise. - * gcc.target/powerpc/fold-vec-select-int.c: Likewise. - * gcc.target/powerpc/fold-vec-select-short.c: Likewise. - * gcc.target/powerpc/p9-novsx.c: Likewise. - * gcc.target/powerpc/p9-options-1.c: Likewise. - -2024-08-07 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114842 - * gcc.target/powerpc/amo2.c: Remove powerpc_vsx_ok effective target - check as p9vector_hw already covers it. - * gcc.target/powerpc/p9-sign_extend-runnable.c: Likewise. - * gcc.target/powerpc/clone2.c: Remove powerpc_vsx_ok effective target - check as ppc_cpu_supports_hw already covers it. - * gcc.target/powerpc/pr47251.c: Remove powerpc_vsx_ok effective target - check as it doesn't need VSX. - * gcc.target/powerpc/pr60137.c: Likewise. - * gcc.target/powerpc/pr80098-1.c: Likewise. - * gcc.target/powerpc/pr80098-2.c: Likewise. - * gcc.target/powerpc/pr80098-3.c: Likewise. - * gcc.target/powerpc/sd-pwr6.c: Likewise. - * gcc.target/powerpc/pr57744.c: Remove powerpc_vsx_ok effective target - check and option -mvsx as it doesn't need VSX. - * gcc.target/powerpc/pr69548.c: Remove powerpc_vsx_ok effective target - check as it doesn't need VSX, remove lp64 and use int128 instead. - * gcc.target/powerpc/vec-cmpne-long.c: Remove powerpc_vsx_ok effective - target check as p8vector_hw already covers it. - * gcc.target/powerpc/darwin-save-world-1.c: Remove powerpc_altivec_ok - effective target check as vmx_hw already covers it. - -2024-08-07 Kewen Lin <linkw@linux.ibm.com> - - * lib/target-supports.exp (check_vsx_hw_available): Modify C source - code used for testing with type vector long long and constraint wa - which require VSX feature. - (check_p8vector_hw_available): Likewise. - (check_vmx_hw_available): Modify C source code used for testing with - type vector int and constraint v which require Altivec feature. - * gcc.target/powerpc/divkc3-1.c: Specify -mdejagnu-cpu=power8 for - !has_arch_pwr8 to ensure power8 support. - * gcc.target/powerpc/mulkc3-1.c: Likewise. - * gcc.target/powerpc/pr96264.c: Likewise. - -2024-08-07 Jiawei <jiawei@iscas.ac.cn> - - * gcc.dg/Wstringop-overflow-47.c: Remove xfail target. - -2024-08-07 Joern Rennecke <joern.rennecke@riscy-ip.com> - - * g++.dg/vect/pr115278.cc: Make cast's type agree with - assignment destination WRITE. - -2024-08-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115231 - * g++.dg/modules/dguide-1_a.C: New test. - * g++.dg/modules/dguide-1_b.C: New test. - * g++.dg/modules/dguide-2_a.C: New test. - * g++.dg/modules/dguide-2_b.C: New test. - * g++.dg/modules/dguide-3_a.C: New test. - * g++.dg/modules/dguide-3_b.C: New test. - * g++.dg/modules/dguide-3_c.C: New test. - * g++.dg/modules/dguide-3_d.C: New test. - -2024-08-07 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/template/explicit-instantiation9.C: New test. - -2024-08-07 Joern Rennecke <joern.rennecke@riscy-ip.com> - - * gcc.dg/vect/tsvc/tsvc.h (iterations): Allow to override, - default to 10. - (get_expected_result): Add values for iterations counts - 10, 256 and 3200. - (run): Add code to output values for new iterations counts. - * gcc.dg/vect/tsvc/vect-tsvc-s1119.c (dg-additional-options): - Add -Diterations=LEN_2D . - * gcc.dg/vect/tsvc/vect-tsvc-s115.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s119.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s125.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s2102.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s2233.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s2275.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s231.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s235.c: Likewise. - * gcc.dg/vect/tsvc/vect-tsvc-s176.c: (dg-additional-options): - Add -Diterations=3200 . - [!run_expensive_tests]: dg-additional-options "-DTRUNCATE_TEST" . - [TRUNCATE_TEST]: Set m to 32. - -2024-08-07 Pan Li <pan2.li@intel.com> - - PR target/116202 - * gcc.target/riscv/rvv/base/pr116202-run-1.c: New test. - -2024-08-07 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Adjust - asm check times from 2 to 4. - -2024-08-07 Patrick Palka <ppalka@redhat.com> - - PR c++/116064 - * g++.dg/ext/typedef-init.C: Downgrade error inside template - to warning due to -fpermissive. - * g++.dg/pr84492.C: Likewise. - * g++.old-deja/g++.pt/crash51.C: Remove unneeded dg-options. - * g++.dg/template/permissive-error1.C: New test. - * g++.dg/template/permissive-error1a.C: New test. - * g++.dg/template/permissive-error1b.C: New test. - * g++.dg/template/permissive-error1c.C: New test. - -2024-08-06 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/116207 - * gcc.target/aarch64/simd/vmmla.c: Add -save-temps to the - options. - -2024-08-06 David Malcolm <dmalcolm@redhat.com> - - PR other/116177 - * gcc.dg/sarif-output/include-chain-2.c: Remove pruning of - "exit status is 1", as we expect this to exit with 0. - * gcc.dg/sarif-output/no-diagnostics.c: New test. - * gcc.dg/sarif-output/test-include-chain-1.py - (test_execution_unsuccessful): Add. - * gcc.dg/sarif-output/test-include-chain-2.py - (test_execution_successful): Add. - * gcc.dg/sarif-output/test-missing-semicolon.py - (test_execution_unsuccessful): Add. - * gcc.dg/sarif-output/test-no-diagnostics.py: New test. - * gcc.dg/sarif-output/test-werror.py: New test. - * gcc.dg/sarif-output/werror.c: New test. - -2024-08-06 Jason Merrill <jason@redhat.com> - - PR c++/116223 - PR c++/112632 - * g++.dg/cpp1z/nontype-auto25.C: New test. - -2024-08-06 Jason Merrill <jason@redhat.com> - - PR c++/94568 - * g++.dg/cpp2a/nontype-class36.C: Remove xfail. - * g++.dg/cpp2a/nontype-class37.C: Remove xfail. - * g++.dg/cpp1z/nontype-auto26.C: New test. - -2024-08-06 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/sse2-stv-2.c: New test case. - -2024-08-06 Patrick O'Neill <patrick@rivosinc.com> - Jakub Jelinek <jakub@redhat.com> - - * gcc.target/riscv/predef-9.c: Update testcase. - -2024-08-06 Patrick Palka <ppalka@redhat.com> - - PR c++/96780 - * g++.dg/opt/pr96780.C: Also test std::forward_like folding. - -2024-08-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116241 - * g++.dg/vect/pr116241.cc: New testcase. - -2024-08-06 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/116037 - PR testsuite/116245 - * gcc.dg/torture/pr116037.c (foo): Fix up for big end middle endian. - -2024-08-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/116224 - * gcc.dg/torture/bitint-72.c: New test. - -2024-08-06 Richard Biener <rguenther@suse.de> - - PR middle-end/111821 - * gcc.dg/torture/pr111821.c: New testcase. - -2024-08-06 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/102689 - * gfortran.dg/class_transformational_1.f90: New test for class- - valued reshape. - * gfortran.dg/class_transformational_2.f90: New test for other - class_valued transformational intrinsics. - -2024-08-06 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/116189 - * c-c++-common/torture/pr116189-1.c: New test. - -2024-08-06 Marek Polacek <polacek@redhat.com> - - * g++.dg/concepts/decl-diagnose.C: Adjust dg-error. - * g++.dg/concepts/fn-concept2.C: Likewise. - * g++.dg/concepts/pr71128.C: Likewise. - * g++.dg/concepts/var-concept6.C: Likewise. - * g++.dg/cpp2a/concepts.C: Likewise. - -2024-08-05 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/predef-9.c: Add check for warning. - -2024-08-05 Marek Polacek <polacek@redhat.com> - - PR c++/115987 - * g++.dg/ext/attr-no-dangling6.C: Adjust. - * g++.dg/ext/attr-no-dangling7.C: Likewise. - * g++.dg/warn/Wdangling-reference22.C: New test. - -2024-08-05 Jose E. Marchesi <jose.marchesi@oracle.com> - - * gcc.target/bpf/atomic-op-1.c (test_used_atomic_add): New - function. - (test_used_atomic_sub): Likewise. - (test_used_atomic_and): Likewise. - (test_used_atomic_nand): Likewise. - (test_used_atomic_or): Likewise. - (test_used_atomic_xor): Likewise. - * gcc.target/bpf/atomic-op-2.c (test_used_atomic_add): Likewise. - (test_used_atomic_sub): Likewise. - (test_used_atomic_and): Likewise. - (test_used_atomic_nand): Likewise. - (test_used_atomic_or): Likewise. - (test_used_atomic_xor): Likewise. - * gcc.target/bpf/sync-fetch-and-add.c: Expected results updated. - -2024-08-05 Jiawei <jiawei@iscas.ac.cn> - - * gcc.dg/attr-alloc_size-11.c: Add RISC-V to the list - of targets excluding xfail on lines 50 and 51. - -2024-08-05 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR tree-optimization/116139 - * gcc.target/aarch64/pr116139.c: New test. - -2024-08-05 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/116000 - * gcc.dg/vect/vect-reduc-chain-dot-slp-1.c: Skip target with no dot- - product instruction. - * gcc.dg/vect/vect-reduc-chain-dot-slp-2.c: Likewise. - * gcc.dg/vect/vect-reduc-chain-dot-slp-3.c: Likewise. - * gcc.dg/vect/vect-reduc-chain-dot-slp-4.c: Likewise. - -2024-08-05 Richard Sandiford <richard.sandiford@arm.com> - - Revert: - 2024-08-05 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/116145 - * gcc.target/aarch64/sve/acle/general/pr116145.c: New test. - -2024-08-05 Andrew Pinski <quic_apinski@quicinc.com> - - PR rtl-optimization/116179 - * g++.dg/torture/pr116179-1.C: New test. - -2024-08-04 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116199 - * gcc.dg/torture/pr116199.c: New test. - -2024-08-03 Steve Kargl <kargls@comcast.net> - - PR fortran/104626 - * gfortran.dg/pr104626.f90: New test. - -2024-08-02 Arsen Arsenović <arsen@aarsen.me> - - PR c++/105475 - * g++.dg/coroutines/pr103868.C: Add std::coroutine_handle - members we check for now. - * g++.dg/coroutines/pr105287.C: Ditto. - * g++.dg/coroutines/pr105301.C: Ditto. - * g++.dg/coroutines/pr94528.C: Ditto. - * g++.dg/coroutines/pr94879-folly-1.C: Ditto. - * g++.dg/coroutines/pr94883-folly-2.C: Ditto. - * g++.dg/coroutines/pr98118.C: Ditto. - * g++.dg/coroutines/pr105475.C: New test. - * g++.dg/coroutines/pr105475-1.C: New test. - * g++.dg/coroutines/pr105475-2.C: New test. - * g++.dg/coroutines/pr105475-3.C: New test. - * g++.dg/coroutines/pr105475-4.C: New test. - * g++.dg/coroutines/pr105475-5.C: New test. - * g++.dg/coroutines/pr105475-6.C: New test. - * g++.dg/coroutines/pr105475-broken-spec.C: New test. - * g++.dg/coroutines/pr105475-broken-spec-2.C: New test. - -2024-08-02 Mikael Morin <mikael@gcc.gnu.org> - - * gfortran.dg/maxloc_6.f90: New test. - * gfortran.dg/minloc_7.f90: New test. - -2024-08-02 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/arm/mve/ivopts-3.c: Add require target and options. - -2024-08-02 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/fuse_cmp_csel.c: New test. - * gcc.target/aarch64/fuse_cmp_cset.c: Likewise. - -2024-08-02 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/116145 - * gcc.target/aarch64/sve/acle/general/pr116145.c: New test. - -2024-08-02 Marek Polacek <polacek@redhat.com> - - PR c++/116169 - * g++.dg/DRs/dr882.C: New test. - -2024-08-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116156 - * c-c++-common/torture/pr116156-1.c: New test. - -2024-08-02 Martin Uecker <uecker@tugraz.at> - - * gcc.dg/c2y-byte-alias-1.c: New test. - * gcc.dg/c2y-byte-alias-2.c: New test. - * gcc.dg/c2y-byte-alias-3.c: New test. - -2024-08-02 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113860 - * gcc.target/aarch64/popcnt-sve.c: New test. - -2024-08-02 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/116148 - * c-c++-common/fam-in-union-alone-in-struct-2.c: Define macros - WITH_FAM_2_V_B[03] and WITH_FAM_3_V_A[07] as endianness, update the - checking with these macros and initialize with_fam_3_v.b[1] with - 0x5f6f7f8f instead of 0x5f6f7f7f. - -2024-08-01 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/pr116149.c: New test. - -2024-08-01 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/arch-41.c: New test. - * gcc.target/riscv/pr116111.c: New test. - -2024-08-01 Jakub Jelinek <jakub@redhat.com> - - PR c++/116113 - * g++.dg/cpp26/decomp11.C: New test. - -2024-08-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116120 - * g++.dg/tree-ssa/pr111150.C: Add extra checks on the test. - * gcc.dg/tree-ssa/pr111150-1.c: Likewise. - * gcc.dg/tree-ssa/pr111150.c: Likewise. - * g++.dg/torture/pr116120-1.C: New test. - * g++.dg/torture/pr116120-2.C: New test. - -2024-08-01 Dimitar Dimitrov <dimitar@dinux.eu> - - PR testsuite/116155 - * g++.dg/abi/nsdmi-aggr1a.C: Disable test for effective - default_packed targets. - * g++.dg/abi/nullptr-align2.C: Ignore warning for default_packed - targets. - * g++.dg/cpp1z/aligned-new9.C: Disable test for effective - default_packed targets. - * g++.dg/cpp2a/bit-cast5.C: Ignore dg-error for default_packed - targets. - * g++.dg/pr53037-1.C: Match any default packing value. - * g++.dg/warn/Wpadded-1.C: Ignore warning for default_packed - targets. - -2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/name_resolution25.rs: New test. - -2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/match-never-ltype.rs: New test. - * rust/compile/match-never-rtype.rs: New test. - -2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/raw-byte-string-loc.rs: Use dg-error instead of - dg-excess-error. - * rust/compile/raw-string-loc.rs: Likewise. - -2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/raw-string-loc.rs: New test. - -2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/func-const-unsafe.rs: New test. - -2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/unstable-fn.rs: New test. - -2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/deprecated-fn.rs: New test. - -2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/raw-byte-string-loc.rs: New test. - -2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/name_resolution23.rs: New test. - * rust/compile/name_resolution24.rs: New test. - -2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/name_resolution13.rs: Add new module and remove compile - step. - * rust/compile/name_resolution14.rs: New test. - * rust/compile/name_resolution15.rs: New test. - * rust/compile/name_resolution16.rs: New test. - * rust/compile/name_resolution17.rs: New test. - * rust/compile/name_resolution18.rs: New test. - * rust/compile/name_resolution19.rs: New test. - * rust/compile/name_resolution20.rs: New test. - * rust/compile/name_resolution21.rs: New test. - -2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/name_resolution22.rs: New test. - -2024-08-01 Arsen Arsenović <arsen@aarsen.me> - - PR c++/112341 - * g++.dg/coroutines/pr112341-2.C: New test. - * g++.dg/coroutines/pr112341-3.C: New test. - * g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C: New - test. - * g++.dg/coroutines/pr112341.C: New test. - -2024-08-01 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr116096.c: New test. - -2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/format_args_basic_expansion.rs: New test. - -2024-08-01 0xn4utilus <gyanendrabanjare8@gmail.com> - - * rust/compile/extern_func_with_body.rs: New test. - -2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/pattern-struct.rs: Fix test. - -2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/bad_stmt_enums.rs: Adjust redefinition error. - * rust/compile/bad_toplevel_enums.rs: Likewise. - * rust/compile/redef_error1.rs: Likewise. - * rust/compile/redef_error3.rs: Likewise. - * rust/compile/redef_error4.rs: Likewise. - * rust/compile/redef_error6.rs: Likewise. - -2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/let_alt.rs: Check for false positive. - -2024-08-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114659 - * gcc.target/i386/pr114659.c: New testcase. - -2024-08-01 Jakub Jelinek <jakub@redhat.com> - - PR target/115981 - * gcc.target/i386/avx512dq-pr90991-1.c: Add tests for no separate - zero extension instructions. - * gcc.target/i386/avx512dq-pr90991-2.c: Likewise. - -2024-08-01 Xiao Zeng <zengxiao@eswincomputing.com> - - * gcc.target/riscv/pr105314-rtl.c: Skip zicond. - * gcc.target/riscv/pr105314-rtl32.c: Ditto. - * gcc.target/riscv/pr105314.c: Ditto. - -2024-08-01 David Malcolm <dmalcolm@redhat.com> - - * jit.dg/jit.exp: Add load_lib valgrind.exp. - (proc report_leak): Move to valgrind.exp, and add argument - leak_report_function rather than hardcoding xfail. - (parse_valgrind_logfile): Likewise. - (fixed_host_execute): Pass xfail to parse_valgrind_logfile. - * lib/valgrind.exp: New file, based on the above. - -2024-08-01 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/sarif-output/sarif.py: Drop unused import of gzip. - -2024-08-01 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/sarif-output/missing-semicolon.c: New test. - * gcc.dg/sarif-output/sarif.py (get_location_physical_region): New. - (get_location_snippet_text): New. - * gcc.dg/sarif-output/test-missing-semicolon.py: New test. - -2024-07-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105361 - * gfortran.dg/pr105361.f90: Add newline character to test - input to provide more compliant test. - -2024-07-31 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/116134 - * gcc.dg/torture/pr116134-1.c: New test. - -2024-07-31 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/section-anchors-1.c: New test. - * gcc.target/pru/section-anchors-2.c: New test. - -2024-07-31 Dimitar Dimitrov <dimitar@dinux.eu> - - PR testsuite/116154 - * gcc.dg/torture/pr67947.c: Use volatile variable instead of - argc. - -2024-07-31 Sam James <sam@gentoo.org> - - * gcc.dg/tree-prof/crossmodule-indir-call-topn-1.c: Fix dg-require-profiling - directive order. - * gcc.dg/tree-prof/crossmodule-indir-call-topn-2.c: Likewise. - -2024-07-31 Sam James <sam@gentoo.org> - - * gcc.target/aarch64/aapcs64/func-ret-3.c: Fix dg-require-effective-target directive order. - * gcc.target/aarch64/aapcs64/func-ret-4.c: Likewise. - * gfortran.dg/PR100914.f90: Likewise. - -2024-07-31 Sam James <sam@gentoo.org> - - PR target/106828 - * g++.target/loongarch/pr106828.C: Fix 'dg-do compile' typo. - -2024-07-31 Sam James <sam@gentoo.org> - - PR target/69194 - PR c++/92024 - PR c++/110057 - * c-c++-common/Wshadow-1.c: Fix 'dg-do compile' typo. - * g++.dg/tree-ssa/devirt-array-destructor-1.C: Likewise. - * g++.dg/tree-ssa/devirt-array-destructor-2.C: Likewise. - * gcc.target/arm/pr69194.c: Likewise. - -2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * gcc.target/aarch64/acle/fp8-helpers-neon.c: New test of fpmr helper - functions. - * gcc.target/aarch64/acle/fp8-helpers-sve.c: New test of fpmr helper - functions presence. - * gcc.target/aarch64/acle/fp8-helpers-sme.c: New test of fpmr helper - functions presence. - -2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * gcc.target/aarch64/acle/fp8.c: New tests. - -2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> - - * gcc.target/aarch64/acle/fp8.c: New test. - -2024-07-31 Marek Polacek <polacek@redhat.com> - - PR c++/115645 - * g++.dg/cpp2a/constexpr-new23.C: New test. - -2024-07-31 Filip Kastl <fkastl@suse.cz> - - * gcc.target/i386/switch-exp-transform-3.c: Set the long long - int test to only execute with 64bit targets. - -2024-07-31 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/revb.c: New test. - -2024-07-31 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/bstrins-4.c: New test. - -2024-07-31 Richard Biener <rguenther@suse.de> - - PR middle-end/101478 - * gcc.dg/pr101478.c: New testcase. - -2024-07-31 Hongyu Wang <hongyu.wang@intel.com> - - PR target/116065 - * gcc.target/i386/pr116065.c: New test. - -2024-07-31 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115881 - * gcc.c-torture/compile/pr115881.c: New test. - -2024-07-31 Kewen Lin <linkw@linux.ibm.com> - - PR target/105359 - * gcc.target/powerpc/pr79004.c: Remove xfails. - -2024-07-31 Kewen Lin <linkw@linux.ibm.com> - - * gcc.target/powerpc/abd-vectorize-1.c: New test. - * gcc.target/powerpc/abd-vectorize-2.c: New test. - -2024-07-31 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/bitwise_extend.c: New test. - -2024-07-30 Sam James <sam@gentoo.org> - - PR target/68015 - PR c++/83979 - * c-c++-common/goacc/loop-shape.c: Fix 'dg-compile' typo. - * g++.dg/pr83979.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/attributes_2.C: Likewise. - * gcc.dg/tree-ssa/builtin-sprintf-7.c: Likewise. - * gcc.dg/tree-ssa/builtin-sprintf-8.c: Likewise. - * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-char.c: Likewise. - * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-short.c: Likewise. - * gcc.target/s390/20181024-1.c: Likewise. - * gcc.target/s390/addr-constraints-1.c: Likewise. - * gcc.target/s390/arch12/aghsghmgh-1.c: Likewise. - * gcc.target/s390/arch12/mul-1.c: Likewise. - * gcc.target/s390/arch13/bitops-1.c: Likewise. - * gcc.target/s390/arch13/bitops-2.c: Likewise. - * gcc.target/s390/arch13/fp-signedint-convert-1.c: Likewise. - * gcc.target/s390/arch13/fp-unsignedint-convert-1.c: Likewise. - * gcc.target/s390/arch13/popcount-1.c: Likewise. - * gcc.target/s390/pr68015.c: Likewise. - * gcc.target/s390/vector/fp-signedint-convert-1.c: Likewise. - * gcc.target/s390/vector/fp-unsignedint-convert-1.c: Likewise. - * gcc.target/s390/vector/reverse-elements-1.c: Likewise. - * gcc.target/s390/vector/reverse-elements-2.c: Likewise. - * gcc.target/s390/vector/reverse-elements-3.c: Likewise. - * gcc.target/s390/vector/reverse-elements-4.c: Likewise. - * gcc.target/s390/vector/reverse-elements-5.c: Likewise. - * gcc.target/s390/vector/reverse-elements-6.c: Likewise. - * gcc.target/s390/vector/reverse-elements-7.c: Likewise. - * gnat.dg/alignment15.adb: Likewise. - * gnat.dg/debug4.adb: Likewise. - * gnat.dg/inline21.adb: Likewise. - * gnat.dg/inline22.adb: Likewise. - * gnat.dg/opt37.adb: Likewise. - * gnat.dg/warn13.adb: Likewise. - -2024-07-30 Uros Bizjak <ubizjak@gmail.com> - - PR target/51492 - * gcc.target/i386/pr51492.c: New test. - -2024-07-30 Sam James <sam@gentoo.org> - - PR middle-end/54400 - PR target/98161 - * gcc.dg/vect/bb-slp-layout-18.c: Fix whitespace in dg directive. - * gcc.dg/vect/bb-slp-pr54400.c: Likewise. - * gcc.target/i386/pr98161.c: Likewise. - -2024-07-30 Filip Kastl <fkastl@suse.cz> - - * gcc.dg/tree-ssa/switch-3.c: Disable switch conversion. - * gcc.target/i386/switch-exp-transform-1.c: New test. - * gcc.target/i386/switch-exp-transform-2.c: New test. - * gcc.target/i386/switch-exp-transform-3.c: New test. - -2024-07-30 Sam James <sam@gentoo.org> - - * gcc.target/aarch64/simd/vmmla.c: Fix whitespace in dg directive. - -2024-07-30 Sam James <sam@gentoo.org> - - PR preprocessor/90581 - * c-c++-common/cpp/fmax-include-depth.c: Fix whitespace in dg directive. - -2024-07-30 Sam James <sam@gentoo.org> - - PR rtl-optimization/48633 - PR tree-optimization/83072 - PR tree-optimization/83073 - PR tree-optimization/96542 - PR tree-optimization/96707 - PR tree-optimization/97567 - PR target/69225 - PR target/89929 - PR target/96562 - * g++.dg/pr48633.C: Fix whitespace in dg directive. - * g++.dg/pr96707.C: Likewise. - * g++.target/i386/mv28.C: Likewise. - * gcc.dg/Warray-bounds-flex-arrays-1.c: Likewise. - * gcc.dg/pr83072-2.c: Likewise. - * gcc.dg/pr83073.c: Likewise. - * gcc.dg/pr96542.c: Likewise. - * gcc.dg/pr97567-2.c: Likewise. - * gcc.target/i386/avx512fp16-11a.c: Likewise. - * gcc.target/i386/avx512fp16-13.c: Likewise. - * gcc.target/i386/avx512fp16-14.c: Likewise. - * gcc.target/i386/avx512fp16-conjugation-1.c: Likewise. - * gcc.target/i386/avx512fp16-neg-1a.c: Likewise. - * gcc.target/i386/avx512fp16-set1-pch-1a.c: Likewise. - * gcc.target/i386/avx512fp16vl-conjugation-1.c: Likewise. - * gcc.target/i386/avx512fp16vl-neg-1a.c: Likewise. - * gcc.target/i386/avx512fp16vl-set1-pch-1a.c: Likewise. - * gcc.target/i386/avx512vlfp16-11a.c: Likewise. - * gcc.target/i386/pr69225-1.c: Likewise. - * gcc.target/i386/pr69225-2.c: Likewise. - * gcc.target/i386/pr69225-3.c: Likewise. - * gcc.target/i386/pr69225-4.c: Likewise. - * gcc.target/i386/pr69225-5.c: Likewise. - * gcc.target/i386/pr69225-6.c: Likewise. - * gcc.target/i386/pr69225-7.c: Likewise. - * gcc.target/i386/pr96562-1.c: Likewise. - * gcc.target/riscv/rv32e_stack.c: Likewise. - * gfortran.dg/c-interop/removed-restrictions-3.f90: Likewise. - * gnat.dg/renaming1.adb: Likewise. - -2024-07-30 Gianluca Guida <gianluca@rivosinc.com> - Patrick O'Neill <patrick@rivosinc.com> - - * lib/target-supports.exp: Add zacas testsuite infra support. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c: - Remove zacas to continue to test the lr/sc pairs. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: Ditto. - * gcc.target/riscv/amo/zabha-zacas-preferred-over-zalrsc.c: New test. - * gcc.target/riscv/amo/zacas-char-requires-zabha.c: New test. - * gcc.target/riscv/amo/zacas-char-requires-zacas.c: New test. - * gcc.target/riscv/amo/zacas-preferred-over-zalrsc.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acq-rel.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acquire.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-relaxed.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-release.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-seq-cst.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping-no-fence.c: - New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping.cc: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acq-rel.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acquire.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-relaxed.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-release.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-seq-cst.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acq-rel.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acquire.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-relaxed.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-release.c: New test. - * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-seq-cst.c: New test. - * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char-seq-cst.c: New test. - * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char.c: New test. - * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping-no-fence.c: - New test. - * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping.cc: New test. - * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int-seq-cst.c: New test. - * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int.c: New test. - * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short-seq-cst.c: New test. - * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short.c: New test. - -2024-07-30 Arsen Arsenović <arsen@aarsen.me> - - PR c++/115906 - * g++.dg/coroutines/pr115906-yield.C: New test. - * g++.dg/coroutines/pr115906.C: New test. - * g++.dg/coroutines/co-await-syntax-02-outside-fn.C: Don't rely - on default arguments. - * g++.dg/coroutines/co-yield-syntax-01-outside-fn.C: Ditto. - -2024-07-30 Arsen Arsenovic <arsen@aarsen.me> - - PR c++/115906 - * g++.dg/coroutines/coro-function-decl.C: New test. - -2024-07-30 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sve/div_const_run.c: New test. - * 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. - -2024-07-30 Arsen Arsenović <arsen@aarsen.me> - - PR c++/110855 - * g++.dg/coroutines/pr110855.C: New test. - -2024-07-30 Sam James <sam@gentoo.org> - - PR c/53548 - PR target/101529 - PR tree-optimization/102359 - * c-c++-common/fam-in-union-alone-in-struct-1.c: Fix whitespace in dg directive. - * c-c++-common/fam-in-union-alone-in-struct-2.c: Likewise. - * c-c++-common/torture/builtin-shufflevector-2.c: Likewise. - * g++.dg/pr102359_2.C: Likewise. - * g++.target/i386/mvc1.C: Likewise. - -2024-07-30 Tobias Burnus <tburnus@baylibre.com> - - * gfortran.dg/compiler-directive_2.f: Update dg-error. - -2024-07-30 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr116043.c: New test. - -2024-07-30 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/prefetchi-1b.c: New test. - -2024-07-29 Sam James <sam@gentoo.org> - - PR ipa/111613 - * gcc.c-torture/pr111613.c: Rename to.. - * gcc.c-torture/execute/pr111613.c: ...this. - -2024-07-29 Patrick Palka <ppalka@redhat.com> - - PR c++/88313 - * g++.dg/cpp2a/lambda-targ6.C: New test. - -2024-07-29 Andi Kleen <ak@gcc.gnu.org> - - Revert: - 2024-07-26 Andi Kleen <ak@gcc.gnu.org> - - PR testsuite/116080 - * g++.dg/musttail10.C: Use external tail call target check. - * g++.dg/musttail6.C: Dito. - * lib/target-supports.exp: Add external_tail_call. Disable - optimization for tail call checks. - -2024-07-29 Sam James <sam@gentoo.org> - - PR middle-end/115277 - * gcc.c-torture/compile/pr115277.c: Rename to... - * gcc.c-torture/execute/pr115277.c: ...this. - -2024-07-29 Jakub Jelinek <jakub@redhat.com> - - PR c++/115986 - * g++.dg/cpp2a/consteval-prop21.C (operator "" _c): Use - unsigned long long rather than __uint128_t for return type if int128 - is unsupported. - -2024-07-29 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx512bw-vpalignr-1b.c: New test. - * gcc.target/i386/avx512dq-vfpclasssd-1b.c: Ditto. - * gcc.target/i386/avx512dq-vfpclassss-1b.c: Ditto. - * gcc.target/i386/avx512dq-vreducesd-1b.c: Ditto. - * gcc.target/i386/avx512dq-vreducess-1b.c: Ditto. - * gcc.target/i386/avx512vl-valignq-1b.c: Ditto. - -2024-07-28 Sam James <sam@gentoo.org> - - * gcc.target/riscv/rvv/base/cmpmem-2.c: Fix dg-add-options order. - -2024-07-28 Sam James <sam@gentoo.org> - - PR middle-end/25521 - PR debug/93122 - * gcc.dg/pr25521.c: Fix dg-do directive order. - * gcc.dg/vect/vect-simd-clone-19.c: Likewise. - * gcc.target/arm/stack-protector-7.c: Likewise. - * gcc.target/arm/stack-protector-8.c: Likewise. - * gcc.target/powerpc/pr93122.c: Likewise. - -2024-07-28 Jason Merrill <jason@redhat.com> - - PR c++/115583 - * g++.dg/cpp23/consteval-if13.C: New test. - -2024-07-28 Georg-Johann Lay <avr@gjlay.de> - - PR target/116056 - * gcc.target/avr/torture/signal_n-1.c: New test. - * gcc.target/avr/torture/signal_n-2.c: New test. - * gcc.target/avr/torture/signal_n-3.c: New test. - * gcc.target/avr/torture/signal_n-4.cpp: New test. - -2024-07-28 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115823 - * gm2/builtins/run/pass/testisnormal.mod: Change to an - implementation module. - * gm2/builtins/run/pass/testisnormal.def: New test. - * gm2/builtins/run/pass/testsinl.def: New test. - * gm2/builtins/run/pass/testsinl.mod: New test. - -2024-07-28 John David Anglin <danglin@gcc.gnu.org> - - PR testsuite/92550 - * gcc.dg/ipa/ipa-sra-8.c: Change get_a argument type to SSS. - * gcc.dg/ipa/ipa-sra-9.c: Likewise. - -2024-07-27 Jason Merrill <jason@redhat.com> - - PR c++/115986 - * g++.dg/cpp2a/consteval-prop21.C: New test. - -2024-07-27 Jason Merrill <jason@redhat.com> - - PR c++/115561 - * g++.dg/cpp2a/concepts-lambda21.C: New test. - -2024-07-27 Jason Merrill <jason@redhat.com> - - * lib/gcc-dg.exp (get_matching_lines): New. - * lib/g++-dg.exp: Improve std_list selection. - -2024-07-27 Roger Sayle <roger@nextmovesoftware.com> - Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/fold-ctz-1.c: New test case. - * gcc.dg/fold-ctz-2.c: Likewise. - -2024-07-27 David Malcolm <dmalcolm@redhat.com> - - PR middle-end/107941 - * gcc.dg/sarif-output/include-chain-1-1.h: New test. - * gcc.dg/sarif-output/include-chain-1-2.h: New test. - * gcc.dg/sarif-output/include-chain-1.c: New test. - * gcc.dg/sarif-output/include-chain-1.h: New test. - * gcc.dg/sarif-output/include-chain-2.c: New test. - * gcc.dg/sarif-output/include-chain-2.h: New test. - * gcc.dg/sarif-output/sarif-output.exp: New file. - * gcc.dg/sarif-output/sarif.py: New test, adapted from - g++.dg/gcov/gcov.py. - * gcc.dg/sarif-output/test-include-chain-1.py: New test. - * gcc.dg/sarif-output/test-include-chain-2.py: New test. - * lib/scansarif.exp (sarif-pytest-format-line): New, taken - from lib/gcov.exp. - (run-sarif-pytest): New, adapted from run-gcov-pytest in - lib/gcov.exp. - -2024-07-26 Jeff Law <jlaw@ventanamicro.com> - - PR target/116085 - * gcc.target/riscv/pr116085.c: New test. - -2024-07-26 Jason Merrill <jason@redhat.com> - - PR c++/116052 - * g++.dg/ext/decay1.C: New test. - -2024-07-26 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp/ucn-1.C (main): Expect error on c\u0024c identifier also - for C++26. - -2024-07-26 Sam James <sam@gentoo.org> - - PR target/7559 - PR c++/9704 - PR c++/16115 - PR c++/19317 - PR rtl-optimization/11536 - PR target/20322 - PR tree-optimization/31966 - PR rtl-optimization/41033 - PR tree-optimization/67947 - * g++.dg/cpp1z/byte1.C: Add dg-do run directive. - * g++.dg/init/call1.C: Ditto. - * g++.dg/init/copy5.C: Ditto. - * g++.dg/opt/nrv9.C: Ditto. - * gcc.dg/20021006-1.c: Ditto. - * gcc.dg/20030721-1.c: Ditto. - * gcc.dg/20050307-1.c: Ditto. - * gcc.dg/pr41033.c: Ditto. - * gcc.dg/torture/pr67947.c: Ditto. - * gcc.dg/tree-ssa/pr31966.c: Ditto. - * gcc.dg/tree-ssa/tailcall-3.c: Ditto. - * gcc.dg/tree-ssa/vrp74.c: Ditto. - * gcc.target/nvptx/abort.c: Fix whitespace in dg directive. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - * g++.target/aarch64/vect_cmp-1.C: New test. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/116065 - * gcc.target/aarch64/sve/target_optimization-1.c: New test. - -2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116101 - * gcc.dg/tree-ssa/dup_compare_cond-1.c: New test. - * gcc.dg/tree-ssa/dup_compare_cond-2.c: New test. - * gcc.dg/tree-ssa/dup_compare_cond-3.c: New test. - -2024-07-26 Andi Kleen <ak@gcc.gnu.org> - - PR testsuite/116080 - * g++.dg/musttail10.C: Use external tail call target check. - * g++.dg/musttail6.C: Dito. - * lib/target-supports.exp: Add external_tail_call. Disable - optimization for tail call checks. - -2024-07-26 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/base/pr116036.c: Adjust expected error - string. - -2024-07-26 Tamar Christina <tamar.christina@arm.com> - - PR target/116074 - * g++.target/aarch64/pr116074.C: New test. - -2024-07-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115757 - * g++.dg/modules/warn-spec-1_a.C: New test. - * g++.dg/modules/warn-spec-1_b.C: New test. - -2024-07-25 Jason Merrill <jason@redhat.com> - - PR c++/115403 - PR c++/109753 - * g++.dg/ext/pragma-target1.C: New test. - -2024-07-25 Patrick Palka <ppalka@redhat.com> - - PR c++/115897 - * g++.dg/cpp0x/alias-decl-79.C: Remove xfails. - * g++.dg/cpp0x/alias-decl-79a.C: New test. - -2024-07-25 Patrick Palka <ppalka@redhat.com> - - PR c++/115897 - * g++.dg/cpp0x/alias-decl-78.C: New test. - * g++.dg/cpp0x/alias-decl-79.C: New test. - * g++.dg/cpp0x/alias-decl-pr92206-1a.C: New test. - -2024-07-25 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/vsx-builtin-3.c: Remove test cases for the - __builtin_vsx_set_2df built-in. - -2024-07-25 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/vsx-builtin-3.c (do_cmp): Replace - __builtin_vsx_xvcmp{eq,gt,ge}{sp,dp} by vec_cmp{eq,gt,ge} - respectively and add explicit casts to vector {float,double}. - Add more testing code assigning result to vector boolean types. - -2024-07-25 Jakub Jelinek <jakub@redhat.com> - - PR c++/110343 - * c-c++-common/raw-string-1.c: Use { c || c++11 } effective target, - remove c++ specific dg-options. - * c-c++-common/raw-string-2.c: Likewise. - * c-c++-common/raw-string-4.c: Likewise. - * c-c++-common/raw-string-5.c: Likewise. Expect some diagnostics - only for non-c++26, for c++26 expect different. - * c-c++-common/raw-string-6.c: Use { c || c++11 } effective target, - remove c++ specific dg-options. - * c-c++-common/raw-string-11.c: Likewise. - * c-c++-common/raw-string-13.c: Likewise. - * c-c++-common/raw-string-14.c: Likewise. - * c-c++-common/raw-string-15.c: Use { c || c++11 } effective target, - change c++ specific dg-options to just -Wtrigraphs. - * c-c++-common/raw-string-16.c: Likewise. - * c-c++-common/raw-string-17.c: Use { c || c++11 } effective target, - remove c++ specific dg-options. - * c-c++-common/raw-string-18.c: Use { c || c++11 } effective target, - remove -std=c++11 from c++ specific dg-options. - * c-c++-common/raw-string-19.c: Likewise. - * g++.dg/cpp26/raw-string1.C: New test. - * g++.dg/cpp26/raw-string2.C: New test. - -2024-07-25 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116039 - * gcc.dg/torture/pr116039.c: New test. - -2024-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105361 - * gfortran.dg/pr105361.f90: New test. - -2024-07-25 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/116033 - * gcc.target/riscv/pr116033.c: New test. - -2024-07-25 Arsen Arsenović <arsen@aarsen.me> - - PR c++/110171 - * g++.dg/coroutines/pr110171-1.C: New test. - * g++.dg/coroutines/pr110171.C: New test. - -2024-07-25 Arsen Arsenović <arsen@aarsen.me> - - PR c++/111728 - * g++.dg/coroutines/pr111728.C: New test. - -2024-07-25 Jeff Law <jlaw@ventanamicro.com> - - * gcc.dg/torture/pr116037.c: Fix target selector. - -2024-07-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116079 - * gcc.dg/torture/pr116079.c: New testcase. - -2024-07-25 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/arch-31.c: Add m to arch string and expect it. - * gcc.target/riscv/arch-32.c: Ditto. - * gcc.target/riscv/arch-37.c: Ditto. - * gcc.target/riscv/arch-38.c: Ditto. - * gcc.target/riscv/predef-14.c: Ditto. - * gcc.target/riscv/predef-15.c: Ditto. - * gcc.target/riscv/predef-16.c: Ditto. - * gcc.target/riscv/predef-26.c: Ditto. - * gcc.target/riscv/predef-27.c: Ditto. - * gcc.target/riscv/predef-32.c: Ditto. - * gcc.target/riscv/predef-33.c: Ditto. - * gcc.target/riscv/predef-36.c: Ditto. - * gcc.target/riscv/predef-37.c: Ditto. - * gcc.target/riscv/rvv/autovec/pr111486.c: Add m to arch string. - * gcc.target/riscv/compare-debug-1.c: Ditto. - * gcc.target/riscv/compare-debug-2.c: Ditto. - * gcc.target/riscv/rvv/base/pr116036.c: New test. - -2024-07-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/poly_licm-1.c: New test. - * gcc.target/riscv/rvv/autovec/poly_licm-2.c: New test. - * gcc.target/riscv/rvv/autovec/poly_licm-3.c: New test. - -2024-07-25 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/pr115749.c: New test. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/diagnostic-format-sarif-file-Wbidi-chars.c: Verify - that we have an "annotations" property for the labelled - ranges (§3.28.6). - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/diagnostic-format-sarif-file-1.c: Verify that we have - "startTimeUtc" and "endTimeUtc" properties of the correct form. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/diagnostic-format-sarif-file-1.c: Verify that we - have an "arguments" property (§3.20.2). - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/diagnostic-format-sarif-file-1.c: Verify that we have - a "workingDirectory" property. - -2024-07-24 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/diagnostic-format-sarif-file-Wbidi-chars.c: Verify - that we have a property bag with property "gcc/escapeNonAscii": true. - Verify that we have a "rendered" property for a snippet. - * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Include - "text-range-label.h". - -2024-07-24 Jason Merrill <jason@redhat.com> - - PR c++/116071 - * g++.dg/parse/pr116071.C: New test. - -2024-07-24 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/116037 - * gcc.dg/torture/pr116037.c: New test - -2024-07-24 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/116034 - PR testsuite/116061 - * gcc.dg/pr116034.c (g): Change type from int to unsigned short. - (foo): Guard memmove call on __SIZEOF_SHORT__ == 2. - -2024-07-24 Jason Merrill <jason@redhat.com> - - PR c++/109997 - * g++.dg/ext/is_assignable1.C: New test. - -2024-07-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/116057 - * gcc.dg/torture/pr116057.c: New testcase. - -2024-07-24 Kyrylo Tkachov <ktkachov@nvidia.com> - - Revert: - 2024-07-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/cmp_csel_fuse.c: New test. - * gcc.target/aarch64/cmp_cset_fuse.c: Likewise. - -2024-07-24 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/cmp_csel_fuse.c: New test. - * gcc.target/aarch64/cmp_cset_fuse.c: Likewise. - -2024-07-24 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/116035 - * gcc.target/riscv/pr116035-1.c: New test. - * gcc.target/riscv/pr116035-2.c: New test. - -2024-07-24 Lingling Kong <lingling.kong@intel.com> - - PR target/115978 - * gcc.target/i386/pr115978-1.c: New test. - * gcc.target/i386/pr115978-2.c: Ditto. - -2024-07-24 Pan Li <pan2.li@intel.com> - - PR target/115961 - * g++.dg/torture/pr115961-run-1.C: New test. - -2024-07-24 Jeff Law <jlaw@ventanamicro.com> - - PR rtl-optimization/115877 - * gcc.dg/torture/pr115877.c: New test. - -2024-07-23 Andi Kleen <ak@linux.intel.com> - - * lib/target-supports.exp: - (check_effective_target_struct_tail_call): New function. - * c-c++-common/musttail1.c: New test. - * c-c++-common/musttail12.c: New test. - * c-c++-common/musttail13.c: New test. - * c-c++-common/musttail2.c: New test. - * c-c++-common/musttail3.c: New test. - * c-c++-common/musttail4.c: New test. - * c-c++-common/musttail5.c: New test. - * c-c++-common/musttail7.c: New test. - * c-c++-common/musttail8.c: New test. - * g++.dg/musttail10.C: New test. - * g++.dg/musttail11.C: New test. - * g++.dg/musttail6.C: New test. - * g++.dg/musttail9.C: New test. - -2024-07-23 Patrick Palka <ppalka@redhat.com> - - PR c++/115656 - * g++.dg/cpp2a/concepts-ttp7.C: New test. - -2024-07-23 Patrick Palka <ppalka@redhat.com> - - PR c++/115296 - * g++.dg/cpp2a/class-deduction-alias23.C: New test. - -2024-07-23 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/116048 - * gm2/errors/fail/errors-fail.exp: Remove -Wstudents - and add -Wuninit-variable-checking=all. - Replace gm2_init_pim with gm2_init_iso. - * gm2/errors/fail/testfio.mod: Modify test code to - provoke an error in the first basic block. - * gm2/errors/fail/testparam.mod: Ditto. - * gm2/errors/fail/array1.mod: Ditto. - * gm2/errors/fail/badtype.mod: New test. - * gm2/errors/fail/badvar.mod: New test. - -2024-07-23 Arsen Arsenović <arsen@aarsen.me> - - PR c++/103953 - * g++.dg/coroutines/torture/pr103953.C: New test. - -2024-07-23 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/96866 - * gcc.target/powerpc/pr96866-1.c: New test. - * gcc.target/powerpc/pr96866-2.c: New test. - -2024-07-23 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - PR testsuite/115826 - * gcc.dg/vect/tsvc/vect-tsvc-s1281.c: Use -fno-finite-math-only. - -2024-07-23 Jakub Jelinek <jakub@redhat.com> - Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/116034 - * gcc.dg/pr116034.c: New test. - -2024-07-23 liuhongt <hongtao.liu@intel.com> - - * g++.target/i386/pr115982.C: New test. - -2024-07-23 Kewen Lin <linkw@linux.ibm.com> - - PR target/115713 - * gcc.target/powerpc/pr115713-2.c: New test. - -2024-07-23 Kewen Lin <linkw@linux.ibm.com> - - PR target/115713 - * gcc.target/powerpc/pr115713-1.c: New test. - * gcc.target/powerpc/ppc-target-4.c: Adjust by specifying altivec - in target attribute. - -2024-07-23 Kewen Lin <linkw@linux.ibm.com> - - PR target/115713 - * gcc.target/powerpc/warn-1.c: Move to ... - * gcc.target/powerpc/error-1.c: ... here. Adjust dg-warning with - dg-error and remove ineffective scan. - -2024-07-23 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/prefetchi-1.c: Check (%rip). - -2024-07-23 Alexandre Oliva <oliva@adacore.com> - - PR target/106069 - * g++.target/powerpc/pr106069.C: Reorder dg directives. - -2024-07-23 Patrick Palka <ppalka@redhat.com> - - PR c++/104981 - PR c++/115550 - * g++.dg/coroutines/pr104981-preview-this.C: New test. - * g++.dg/coroutines/pr115550-preview-this.C: New test. - -2024-07-23 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test helper macro. - * gcc.target/riscv/sat_arith_data.h: New test. - * gcc.target/riscv/sat_u_trunc-1.c: New test. - * gcc.target/riscv/sat_u_trunc-2.c: New test. - * gcc.target/riscv/sat_u_trunc-3.c: New test. - * gcc.target/riscv/sat_u_trunc-run-1.c: New test. - * gcc.target/riscv/sat_u_trunc-run-2.c: New test. - * gcc.target/riscv/sat_u_trunc-run-3.c: New test. - * gcc.target/riscv/scalar_sat_unary.h: New test. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/111613 - * gcc.c-torture/pr111613.c: New test. - -2024-07-22 Michael Meissner <meissner@linux.ibm.com> - - * gcc.target/powerpc/power11-1.c: New test. - * gcc.target/powerpc/power11-2.c: Likewise. - * gcc.target/powerpc/power11-3.c: Likewise. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/115033 - * gcc.c-torture/execute/pr115033.c: New test. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - PR ipa/114207 - * gcc.c-torture/execute/pr114207.c: New test. - -2024-07-22 Jan Hubicka <hubicka@ucw.cz> - - * gcc.c-torture/compile/pr115277.c: New test. - -2024-07-22 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/116009 - * gcc.c-torture/compile/pr116009.c: New test. - -2024-07-22 Richard Sandiford <richard.sandiford@arm.com> - - PR target/115969 - * gcc.target/aarch64/pr115969.c: New test. - -2024-07-22 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/88624 - * gfortran.dg/coarray/dummy_1.f90: Add calling function trough - function. - * gfortran.dg/pr88624.f90: New test. - -2024-07-22 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/115531 - * gcc.dg/vect/vect-conditional_store_1.c: New test. - * gcc.dg/vect/vect-conditional_store_2.c: New test. - * gcc.dg/vect/vect-conditional_store_3.c: New test. - * gcc.dg/vect/vect-conditional_store_4.c: New test. - -2024-07-22 Sam James <sam@gentoo.org> - - PR target/108699 - * gcc.target/powerpc/pr108699.c: Fix 'dg-run' typo. - -2024-07-22 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary.h: Move to... - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vvv_run.h: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_scalar.h: Move to... - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vvx_run.h: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx.h: Move to... - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx_run.h: ...here. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Adjust - the include file names. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-22.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-23.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-24.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-25.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-26.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-27.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-28.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-29.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-30.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-31.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-32.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-5.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-6.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-7.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-8.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-9.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-1.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-2.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-3.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-4.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-1.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-2.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-3.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-4.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-5.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-6.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-7.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-8.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-1.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-10.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-11.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-12.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-13.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-14.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-15.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-16.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-17.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-18.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-19.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-2.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-20.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-21.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-22.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-23.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-24.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-25.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-26.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-27.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-28.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-29.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-3.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-30.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-31.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-32.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-33.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-34.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-35.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-36.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-37.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-38.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-39.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-4.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-40.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-5.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-6.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-7.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-8.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-9.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-1.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-2.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-3.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip-run.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c: Ditto - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Move to... - * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: ...here. - -2024-07-21 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/59104 - * gfortran.dg/dependent_decls_3.f90: New test. - -2024-07-20 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/pr116003.c: Require bitint575 target. - -2024-07-20 Andi Kleen <ak@gcc.gnu.org> - - Revert: - 2024-07-20 Andi Kleen <ak@linux.intel.com> - - * lib/target-supports.exp: - (check_effective_target_struct_tail_call): New function. - * c-c++-common/musttail1.c: New test. - * c-c++-common/musttail12.c: New test. - * c-c++-common/musttail13.c: New test. - * c-c++-common/musttail2.c: New test. - * c-c++-common/musttail3.c: New test. - * c-c++-common/musttail4.c: New test. - * c-c++-common/musttail5.c: New test. - * c-c++-common/musttail7.c: New test. - * c-c++-common/musttail8.c: New test. - * g++.dg/musttail10.C: New test. - * g++.dg/musttail11.C: New test. - * g++.dg/musttail6.C: New test. - * g++.dg/musttail9.C: New test. - -2024-07-20 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/pr116003.c : Add target bitint. - -2024-07-20 Andi Kleen <ak@linux.intel.com> - - * lib/target-supports.exp: - (check_effective_target_struct_tail_call): New function. - * c-c++-common/musttail1.c: New test. - * c-c++-common/musttail12.c: New test. - * c-c++-common/musttail13.c: New test. - * c-c++-common/musttail2.c: New test. - * c-c++-common/musttail3.c: New test. - * c-c++-common/musttail4.c: New test. - * c-c++-common/musttail5.c: New test. - * c-c++-common/musttail7.c: New test. - * c-c++-common/musttail8.c: New test. - * g++.dg/musttail10.C: New test. - * g++.dg/musttail11.C: New test. - * g++.dg/musttail6.C: New test. - * g++.dg/musttail9.C: New test. - -2024-07-19 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/116003 - * gcc.dg/pr116003.c: New. - -2024-07-19 Richard Sandiford <richard.sandiford@arm.com> - - PR middle-end/115406 - * gcc.dg/torture/pr115406.c: New test. - -2024-07-19 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/arm/fp16-aapcs-2.c: Expect the return value to be - loaded directly from the stack. Test that the swap generates - two moves out of r0/r1 and two moves in. - * gcc.target/arm/fp16-aapcs-4.c: Likewise. - -2024-07-19 Patrick Palka <ppalka@redhat.com> - - PR c++/115783 - * g++.dg/cpp23/explicit-obj-diagnostics11.C: New test. - -2024-07-19 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/builtin-mask1.c: New test. - -2024-07-19 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103115 - * gfortran.dg/string_array_constructor_4.f90: New test. - -2024-07-19 Peter Bergner <bergner@linux.ibm.com> - - PR target/114759 - PR target/115988 - * gcc.target/powerpc/pr114759-3.c: Catch unsupported ABI errors. - -2024-07-19 Patrick Palka <ppalka@redhat.com> - - PR c++/109464 - * g++.dg/template/explicit-instantiation8.C: New test. - -2024-07-19 Cupertino Miranda <cupertino.miranda@oracle.com> - - * gcc.target/bpf/pseudoc-atomic-memaddr-op.c: Add test. - -2024-07-19 Jakub Jelinek <jakub@redhat.com> - - PR c++/114460 - * g++.dg/cpp26/aggr-init1.C: New test. - * g++.dg/cpp26/aggr-init2.C: New test. - -2024-07-19 Pan Li <pan2.li@intel.com> - - PR target/115863 - * gcc.target/i386/pr115863-1.c: New test. - -2024-07-18 Marek Polacek <polacek@redhat.com> - - PR c++/108769 - PR c++/58074 - PR c++/115522 - PR c++/85723 - * g++.dg/warn/Wclass-memaccess.C: Add dg-warning. - * g++.dg/ext/is_trivial1.C: New test. - * g++.dg/ext/is_trivial2.C: New test. - * g++.dg/ext/is_trivial3.C: New test. - * g++.dg/ext/is_trivial4.C: New test. - * g++.dg/ext/is_trivial5.C: New test. - * g++.dg/ext/is_trivial6.C: New test. - -2024-07-18 René Rebe <rene@exactcode.de> - Peter Bergner <bergner@linux.ibm.com> - - PR target/97367 - * gcc.target/powerpc/pr97367.c: New test. - -2024-07-18 Carl Love <cel@us.ibm.com> - - * gcc.target/powerpc/builtins-10-runnable.c: Add - target int128. - * gcc.target/powerpc/builtins-10.c: Add - target int128. - * gcc.target/powerpc/vec_perm-runnable-i128.c: Add - target int128. - -2024-07-18 Marek Polacek <polacek@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - PR c++/115865 - * g++.dg/asan/initlist2.C: New test. - -2024-07-18 Richard Biener <rguenther@suse.de> - - PR middle-end/115641 - * gcc.dg/torture/pr115641.c: New testcase. - -2024-07-18 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/78466 - PR fortran/80774 - * gfortran.dg/coarray/poly_run_1.f90: Activate old test code. - * gfortran.dg/coarray/poly_run_2.f90: Activate test. It was - stopping before and passing without an error. - -2024-07-18 Sam James <sam@gentoo.org> - - PR c++/53288 - PR c++/57437 - PR c/65345 - PR libstdc++/88101 - PR tree-optimization/96369 - PR tree-optimization/102124 - PR tree-optimization/108692 - * c-c++-common/pr96369.c: Add dg-do run directive. - * gcc.dg/torture/pr102124.c: Ditto. - * gcc.dg/pr108692.c: Ditto. - * gcc.dg/atomic/pr65345-4.c: Ditto. - * g++.dg/cpp0x/lambda/lambda-return1.C: Ditto. - * g++.dg/init/lifetime4.C: Ditto. - * g++.dg/torture/builtin-clear-padding-1.C: Ditto. - * g++.dg/torture/builtin-clear-padding-2.C: Ditto. - * g++.dg/torture/builtin-clear-padding-3.C: Ditto. - * g++.dg/torture/builtin-clear-padding-4.C: Ditto. - * g++.dg/torture/builtin-clear-padding-5.C: Ditto. - -2024-07-18 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/108889 - * gfortran.dg/pr108889.f90: New test. - -2024-07-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/104515 - * g++.dg/opt/pr104515.C: New testcase. - -2024-07-18 Roger Sayle <roger@nextmovesoftware.com> - - * c-c++-common/pr57371-4.c: Update comment. - * c-c++-common/pr57371-5.c: Add missing testcases from pr57371-4.c - and update for -fno-signaling-nans -fno-trapping-math. - -2024-07-18 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/82904 - * gfortran.dg/deferred_character_38.f90: New test. - -2024-07-18 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/torture/builtin-clear-padding-3.c (main): Compare - s2.b.a against -1 rather than (char) -1. - -2024-07-18 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/apx-egprs-names.c: Use ax for short and - al for char instead of eax. - * gcc.target/i386/avx512bw-kandnq-1.c: Do not run the test - under -m32 since kmovq with register is invalid. Use long - long to use 64 bit register instead of 32 bit register for - kmovq. - * gcc.target/i386/avx512bw-kandq-1.c: Ditto. - * gcc.target/i386/avx512bw-knotq-1.c: Ditto. - * gcc.target/i386/avx512bw-korq-1.c: Ditto. - * gcc.target/i386/avx512bw-kshiftlq-1.c: Ditto. - * gcc.target/i386/avx512bw-kshiftrq-1.c: Ditto. - * gcc.target/i386/avx512bw-kxnorq-1.c: Ditto. - * gcc.target/i386/avx512bw-kxorq-1.c: Ditto. - -2024-07-18 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr115843.c: New test. - -2024-07-18 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115165 - * g++.dg/modules/timevar-1_a.H: New test. - * g++.dg/modules/timevar-1_b.C: New test. - -2024-07-18 Patrick Palka <ppalka@redhat.com> - - PR c++/112288 - * g++.dg/template/friend80.C: New test. - * g++.dg/template/friend81.C: New test. - * g++.dg/template/friend81a.C: New test. - -2024-07-18 Patrick Palka <ppalka@redhat.com> - - PR c++/114104 - * g++.dg/warn/Wunused-20.C: New test. - -2024-07-18 Patrick Palka <ppalka@redhat.com> - - * g++.dg/cpp0x/alignas18.C: Expect name lookup error for U::X. - * g++.dg/cpp0x/forw_enum13.C: Expect name lookup error for - D3::A and D4<T>::A. - * g++.dg/parse/access13.C: Declare A::E::V to avoid name lookup - failure and preserve intent of the test. - * g++.dg/parse/enum11.C: Expect extra errors, matching the - non-template case. - * g++.dg/template/crash123.C: Avoid name lookup failure to - preserve intent of the test. - * g++.dg/template/crash124.C: Likewise. - * g++.dg/template/crash7.C: Adjust expected diagnostics. - * g++.dg/template/dtor6.C: Declare A::~A() to avoid name lookup - failure and preserve intent of the test. - * g++.dg/template/error22.C: Adjust expected diagnostics. - * g++.dg/template/static30.C: Avoid name lookup failure to - preserve intent of the test. - * g++.old-deja/g++.other/decl5.C: Adjust expected diagnostics. - * g++.dg/template/non-dependent34.C: New test. - -2024-07-17 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/111150 - * gcc.dg/tree-ssa/pr111150.c: Add -Wno-psabi to dg-options. - * g++.dg/tree-ssa/pr111150.C: Likewise. - -2024-07-17 Jørgen Kvalsvik <j@lambda.is> - - * lib/gcov.exp: Use foreach, not lmap, for tcl <= 8.5 compat. - -2024-07-17 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115929 - * gcc.dg/torture/pr115929-2.c: New test. - -2024-07-17 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115928 - * gcc.dg/torture/pr115928.c: New test. - -2024-07-17 Marek Polacek <polacek@redhat.com> - - PR c++/115900 - * g++.dg/cpp2a/constexpr-init23.C: New test. - -2024-07-17 Edwin Lu <ewlu@rivosinc.com> - - * gcc.target/riscv/target-attr-16.c: Update expected assembly - -2024-07-17 Eikansh Gupta <quic_eikagupt@quicinc.com> - - PR tree-optimization/111150 - * gcc.dg/tree-ssa/pr111150.c: New test. - * gcc.dg/tree-ssa/pr111150-1.c: New test. - * g++.dg/tree-ssa/pr111150.C: New test. - -2024-07-17 Uros Bizjak <ubizjak@gmail.com> - - PR target/115526 - * gcc.target/alpha/pr115526.c: New test. - -2024-07-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/115887 - * gcc.dg/bitint-108.c: New test. - -2024-07-17 Patrick Palka <ppalka@redhat.com> - - PR c++/111890 - * g++.dg/cpp2a/concepts-partial-spec15.C: New test. - -2024-07-17 Feng Xue <fxue@os.amperecomputing.com> - - PR tree-optimization/114440 - * gcc.dg/vect/vect-reduc-chain-1.c - * gcc.dg/vect/vect-reduc-chain-2.c - * gcc.dg/vect/vect-reduc-chain-3.c - * gcc.dg/vect/vect-reduc-chain-dot-slp-1.c - * gcc.dg/vect/vect-reduc-chain-dot-slp-2.c - * gcc.dg/vect/vect-reduc-chain-dot-slp-3.c - * gcc.dg/vect/vect-reduc-chain-dot-slp-4.c - * gcc.dg/vect/vect-reduc-dot-slp-1.c - -2024-07-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115959 - * gcc.dg/vect/pr115959.c: New testcase. - -2024-07-17 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/torture/builtin-convertvector-1.c: Add dg-do run - directive. - -2024-07-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/115527 - * c-c++-common/torture/builtin-clear-padding-1.c: Add dg-do run - directive. - * c-c++-common/torture/builtin-clear-padding-2.c: Likewise. - * c-c++-common/torture/builtin-clear-padding-3.c: Likewise. - * c-c++-common/torture/builtin-clear-padding-4.c: Likewise. - * c-c++-common/torture/builtin-clear-padding-5.c: Likewise. - * c-c++-common/torture/builtin-clear-padding-6.c: New test. - -2024-07-17 Peter Bergner <bergner@linux.ibm.com> - - PR target/114759 - * gcc.target/powerpc/pr114759-3.c: New test. - -2024-07-17 Peter Bergner <bergner@linux.ibm.com> - - PR target/114759 - * gcc.target/powerpc/pr114759-2.c: New test. - * lib/target-supports.exp (rop_ok): Use - check_effective_target_has_arch_pwr8. - -2024-07-17 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99242 - * g++.dg/modules/pr99242_a.H: New test. - * g++.dg/modules/pr99242_b.H: New test. - * g++.dg/modules/pr99242_c.H: New test. - * g++.dg/modules/pr99242_d.C: New test. - -2024-07-16 Nina Ranns <dinka.ranns@gmail.com> - - PR c++/110159 - * g++.dg/contracts/pr110159.C: New test. - -2024-07-16 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/isr-test.h: Attribute ipa implies noinline and noclone. - * gcc.target/avr/pr114981-powif.c: Same. - * gcc.target/avr/pr114981-powil.c: Same. - * gcc.target/avr/pr71676-1.c: Same. - * gcc.target/avr/pr71676-2.c: Same. - * gcc.target/avr/pr71676-3.c: Same. - * gcc.target/avr/pr71676.c: Same. - * gcc.target/avr/torture/add-extend.c: Same. - * gcc.target/avr/torture/fix-types.h: Same. - * gcc.target/avr/torture/fuse-add.c: Same. - * gcc.target/avr/torture/get-mem.c: Same. - * gcc.target/avr/torture/insv-anyshift-hi.c: Same. - * gcc.target/avr/torture/insv-anyshift-si.c: Same. - * gcc.target/avr/torture/isr-02-call.c: Same. - * gcc.target/avr/torture/isr-03-fixed.c: Same. - * gcc.target/avr/torture/pr109650-1.c: Same. - * gcc.target/avr/torture/pr109650-2.c: Same. - * gcc.target/avr/torture/pr109907-1.c: Same. - * gcc.target/avr/torture/pr109907-2.c: Same. - * gcc.target/avr/torture/pr114132-2.c: Same. - * gcc.target/avr/torture/pr39633.c: Same. - * gcc.target/avr/torture/pr51782-1.c: Same. - * gcc.target/avr/torture/pr61055.c: Same. - * gcc.target/avr/torture/pr61443.c: Same. - * gcc.target/avr/torture/pr64331.c: Same. - * gcc.target/avr/torture/pr77326.c: Same. - * gcc.target/avr/torture/pr83729.c: Same. - * gcc.target/avr/torture/pr83801.c: Same. - * gcc.target/avr/torture/pr87376.c: Same. - * gcc.target/avr/torture/pr88236-pr115726.c: Same. - * gcc.target/avr/torture/pr92606.c: Same. - * gcc.target/avr/torture/pr98762.c: Same. - * gcc.target/avr/torture/sat-hr-plus-minus.c: Same. - * gcc.target/avr/torture/sat-k-plus-minus.c: Same. - * gcc.target/avr/torture/sat-llk-plus-minus.c: Same. - * gcc.target/avr/torture/sat-r-plus-minus.c: Same. - * gcc.target/avr/torture/sat-uhr-plus-minus.c: Same. - * gcc.target/avr/torture/sat-uk-plus-minus.c: Same. - * gcc.target/avr/torture/sat-ullk-plus-minus.c: Same. - * gcc.target/avr/torture/sat-ur-plus-minus.c: Same. - * gcc.target/avr/torture/set-mem.c: Same. - * gcc.target/avr/torture/sub-extend.c: Same. - * gcc.target/avr/torture/tiny-progmem.c: Same. - -2024-07-16 Iain Sandoe <iain@sandoe.co.uk> - - PR c++/115434 - PR c++/110871 - PR c++/110872 - * g++.dg/contracts/pr115434.C: New test. - * g++.dg/coroutines/pr110871.C: New test. - * g++.dg/coroutines/pr110872.C: New test. - -2024-07-16 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/isr-test.h: Add noipa function attribute - to noclone functions. - * gcc.target/avr/pr114981-powif.c: Same. - * gcc.target/avr/pr114981-powil.c: Same. - * gcc.target/avr/pr71676-1.c: Same. - * gcc.target/avr/pr71676-2.c: Same. - * gcc.target/avr/pr71676-3.c: Same. - * gcc.target/avr/pr71676.c: Same. - * gcc.target/avr/torture/fix-types.h: Same. - * gcc.target/avr/torture/fuse-add.c: Same. - * gcc.target/avr/torture/get-mem.c: Same. - * gcc.target/avr/torture/insv-anyshift-hi.c: Same. - * gcc.target/avr/torture/insv-anyshift-si.c: Same. - * gcc.target/avr/torture/isr-02-call.c: Same. - * gcc.target/avr/torture/isr-03-fixed.c: Same. - * gcc.target/avr/torture/pr109650-1.c: Same. - * gcc.target/avr/torture/pr109650-2.c: Same. - * gcc.target/avr/torture/pr109907-1.c: Same. - * gcc.target/avr/torture/pr109907-2.c: Same. - * gcc.target/avr/torture/pr114132-2.c: Same. - * gcc.target/avr/torture/pr39633.c: Same. - * gcc.target/avr/torture/pr51782-1.c: Same. - * gcc.target/avr/torture/pr61055.c: Same. - * gcc.target/avr/torture/pr61443.c: Same. - * gcc.target/avr/torture/pr64331.c: Same. - * gcc.target/avr/torture/pr77326.c: Same. - * gcc.target/avr/torture/pr83729.c: Same. - * gcc.target/avr/torture/pr83801.c: Same. - * gcc.target/avr/torture/pr87376.c: Same. - * gcc.target/avr/torture/pr88236-pr115726.c: Same. - * gcc.target/avr/torture/pr92606.c: Same. - * gcc.target/avr/torture/pr98762.c: Same. - * gcc.target/avr/torture/sat-hr-plus-minus.c: Same. - * gcc.target/avr/torture/sat-k-plus-minus.c: Same. - * gcc.target/avr/torture/sat-llk-plus-minus.c: Same. - * gcc.target/avr/torture/sat-r-plus-minus.c: Same. - * gcc.target/avr/torture/sat-uhr-plus-minus.c: Same. - * gcc.target/avr/torture/sat-uk-plus-minus.c: Same. - * gcc.target/avr/torture/sat-ullk-plus-minus.c: Same. - * gcc.target/avr/torture/sat-ur-plus-minus.c: Same. - * gcc.target/avr/torture/set-mem.c: Same. - * gcc.target/avr/torture/tiny-progmem.c: Same. - -2024-07-16 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/84868 - * gfortran.dg/pr84868.f90: New test. - -2024-07-16 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115929 - * gcc.dg/torture/pr115929-1.c: New test. - -2024-07-16 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115901 - * gcc.dg/torture/pr115901.c: New test. - -2024-07-16 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115891 - * gcc.target/i386/pr115891.c: New test. - -2024-07-16 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/add-extend.c: New test. - * gcc.target/avr/torture/sub-extend.c: New test. - -2024-07-16 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115957 - * gm2/errors/fail/badconst.mod: New test. - * gm2/pim/fail/tinyadr.mod: New test. - -2024-07-16 Prathamesh Kulkarni <prathameshk@nvidia.com> - - * gfortran.dg/array_memset_3.f90: New test. - -2024-07-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115841 - * gcc.dg/vect/pr115841.c: New testcase. - -2024-07-16 Paul-Antoine Arras <parras@baylibre.com> - - * gcc.target/i386/indirect-thunk-extern-1.c: Replace character with - invalid encoding with `?`. - -2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * gcc.target/s390/vector/vec-cmp-emu-1.c: New test. - * gcc.target/s390/vector/vec-cmp-emu-2.c: New test. - * gcc.target/s390/vector/vec-cmp-emu-3.c: New test. - -2024-07-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115843 - * gcc.dg/vect/pr115843.c: New testcase. - -2024-07-16 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/114661 - * gcc.dg/pr114661.c: New test case. - -2024-07-16 Hu, Lin1 <lin1.hu@intel.com> - - PR target/107432 - * gcc.target/i386/pr107432-10.c: New test. - -2024-07-15 Jeff Law <jlaw@ventanamicro.com> - - * g++.dg/torture/pr115916.C: New test. - Co-author: Andreas Schwab <schwab@linux-m68k.org> - Co-author: Sergei Trofimovich <slyfox at gentoo dot org> - -2024-07-15 Patrick Palka <ppalka@redhat.com> - - PR c++/115897 - * g++.dg/cpp0x/alias-decl-77.C: New test. - -2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/pr115554.c: Change expected fail to expected pass. - * gcc.target/riscv/target-attr-16.c: New test. - -2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/115554 - PR target/115562 - * gcc.target/riscv/target-attr-01.c: Add test for option-arch directive. - * gcc.target/riscv/target-attr-02.c: Likewise. - * gcc.target/riscv/target-attr-03.c: Likewise. - * gcc.target/riscv/target-attr-04.c: Likewise. - * gcc.target/riscv/target-attr-05.c: Fix formatting. - * gcc.target/riscv/target-attr-06.c: Likewise. - * gcc.target/riscv/target-attr-07.c: Likewise. - * gcc.target/riscv/pr115554.c: New test. - * gcc.target/riscv/pr115562.c: New test. - * gcc.target/riscv/target-attr-08.c: New test. - * gcc.target/riscv/target-attr-09.c: New test. - * gcc.target/riscv/target-attr-10.c: New test. - * gcc.target/riscv/target-attr-11.c: New test. - * gcc.target/riscv/target-attr-12.c: New test. - * gcc.target/riscv/target-attr-13.c: New test. - * gcc.target/riscv/target-attr-14.c: New test. - * gcc.target/riscv/target-attr-15.c: New test. - -2024-07-15 Edwin Lu <ewlu@rivosinc.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx.h: - initialize variable - -2024-07-15 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr115872.c: New test. - -2024-07-15 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/apx-nf-2.c: New test. - -2024-07-15 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR testsuite/115894 - * gcc.target/arm/pr111235.c: Update expected output. - -2024-07-15 Monk Chiang <monk.chiang@sifive.com> - - * gcc.target/riscv/prefetch-zicbop.c: New test. - * gcc.target/riscv/prefetch-zihintntl.c: New test. - -2024-07-15 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR testsuite/115892 - * gcc.target/aarch64/sve/acle/general/cpy_1.c: Update expected - output. - -2024-07-15 Hans-Peter Nilsson <hp@axis.com> - - * gcc.dg/tree-ssa/loop-1.c: Remove target-specific test - and xfail to adjust for recent changes in register allocation. - -2024-07-15 Hongyu Wang <hongyu.wang@intel.com> - - PR target/115889 - * gcc.target/i386/vpermt2-special-bf16-shufflue.c: Adjust output - scan. - -2024-07-14 Alejandro Colomar <alx@kernel.org> - - PR c/115185 - * gcc.dg/Wcxx-compat-14.c: Adapt the test to match the new text - of the warning, which doesn't say anything about C++ anymore. - * gcc.dg/Wunterminated-string-initialization.c: New test. - -2024-07-13 Mikael Morin <mikael@gcc.gnu.org> - - * gfortran.dg/minmaxloc_17.f90: New test. - -2024-07-13 David Malcolm <dmalcolm@redhat.com> - - * g++.dg/diagnostic/bad-binary-ops-highlight-colors.C: New test. - * g++.dg/diagnostic/bad-binary-ops-no-highlight-colors.C: New test. - * g++.dg/plugin/plugin.exp (plugin_test_list): Add - show-template-tree-color-no-highlight-colors.C to - show_template_tree_color_plugin.c. - * g++.dg/plugin/show-template-tree-color-labels.C: Update expected - output to reflect use of highlight-a and highlight-b to contrast - mismatches. - * g++.dg/plugin/show-template-tree-color-no-elide-type.C: - Likewise. - * g++.dg/plugin/show-template-tree-color-no-highlight-colors.C: - New test. - * g++.dg/plugin/show-template-tree-color.C: Update expected output - to reflect use of highlight-a and highlight-b to contrast - mismatches. - * g++.dg/warn/Wformat-gcc_diag-1.C: New test. - * g++.dg/warn/Wformat-gcc_diag-2.C: New test. - * g++.dg/warn/Wformat-gcc_diag-3.C: New test. - * gcc.dg/bad-binary-ops-highlight-colors.c: New test. - * gcc.dg/format/colors.c: New test. - * gcc.dg/plugin/diagnostic_plugin_show_trees.c (show_tree): Pass - nullptr for new param of gcc_rich_location::add_expr. - * gcc.dg/bad-binary-ops-no-highlight-colors.c: New file. - -2024-07-12 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115785 - * g++.dg/torture/pr115785.C: New test. - -2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115798 - * g++.dg/modules/using-26_a.C: New test. - * g++.dg/modules/using-26_b.C: New test. - * g++.dg/modules/using-26_c.C: New test. - -2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/using-19_a.C: New test. - * g++.dg/modules/using-19_b.C: New test. - -2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114683 - * g++.dg/lookup/using29.C: Update errors. - * g++.dg/lookup/using53.C: Update errors, add XFAILs. - * g++.dg/modules/using-22_b.C: Remove xfails. - * g++.dg/warn/Wunused-var-18.C: Update error, add check. - * g++.dg/lookup/using68.C: New test. - * g++.dg/modules/using-24_a.C: New test. - * g++.dg/modules/using-24_b.C: New test. - * g++.dg/modules/using-25_a.C: New test. - * g++.dg/modules/using-25_b.C: New test. - * g++.dg/modules/using-enum-4_a.C: New test. - * g++.dg/modules/using-enum-4_b.C: New test. - * g++.dg/modules/using-enum-4_c.C: New test. - -2024-07-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> - - * gcc.target/s390/vector/vec-copysign.c: Change to non-extended - mnemonic. - * gcc.target/s390/vector/vec-genmask-1.c: Change to non-extended - mnemonic. - * gcc.target/s390/vector/vec-init-1.c: Change to non-extended - mnemonic. - * gcc.target/s390/vector/vec-vrepi-1.c: Change to non-extended - mnemonic. - * gcc.target/s390/zvector/autovec-double-quiet-uneq.c: Change to - non-extended mnemonic. - * gcc.target/s390/zvector/autovec-float-quiet-uneq.c: Change to - non-extended mnemonic. - * gcc.target/s390/zvector/vec-genmask-1.c: Change to - non-extended mnemonic. - * gcc.target/s390/zvector/vec-splat-1.c: Change to non-extended - mnemonic. - * gcc.target/s390/zvector/vec-splat-2.c: Change to non-extended - mnemonic. - * gcc.target/s390/vector/vgbm-double-1.c: New test. - * gcc.target/s390/vector/vgbm-float-1.c: New test. - * gcc.target/s390/vector/vgbm-int128-1.c: New test. - * gcc.target/s390/vector/vgbm-integer-1.c: New test. - * gcc.target/s390/vector/vgbm-longdouble-1.c: New test. - * gcc.target/s390/vector/vgm-df-1.c: New test. - * gcc.target/s390/vector/vgm-di-1.c: New test. - * gcc.target/s390/vector/vgm-hi-1.c: New test. - * gcc.target/s390/vector/vgm-int128-1.c: New test. - * gcc.target/s390/vector/vgm-longdouble-1.c: New test. - * gcc.target/s390/vector/vgm-qi-1.c: New test. - * gcc.target/s390/vector/vgm-sf-1.c: New test. - * gcc.target/s390/vector/vgm-si-1.c: New test. - * gcc.target/s390/vector/vgm-tf-1.c: New test. - * gcc.target/s390/vector/vgm-ti-1.c: New test. - * gcc.target/s390/vector/vrepi-df-1.c: New test. - * gcc.target/s390/vector/vrepi-di-1.c: New test. - * gcc.target/s390/vector/vrepi-hi-1.c: New test. - * gcc.target/s390/vector/vrepi-int128-1.c: New test. - * gcc.target/s390/vector/vrepi-qi-1.c: New test. - * gcc.target/s390/vector/vrepi-sf-1.c: New test. - * gcc.target/s390/vector/vrepi-si-1.c: New test. - * gcc.target/s390/vector/vrepi-tf-1.c: New test. - * gcc.target/s390/vector/vrepi-ti-1.c: New test. - -2024-07-12 YunQiang Su <yunqiang@isrc.iscas.ac.cn> - - * gcc.dg/vect/pr115840.c: New testcase. - -2024-07-12 Mikael Morin <morin-mikael@orange.fr> - - * gfortran.dg/maxloc_5.f90: New test. - * gfortran.dg/minloc_5.f90: New test. - -2024-07-12 xuli <xuli1@eswincomputing.com> - - PR target/115862 - * gcc.target/riscv/rvv/base/pr115862.c: New file. - -2024-07-12 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/predef-sf-1.c: New. - * gcc.target/riscv/predef-sf-2.c: New. - -2024-07-12 Lulu Cheng <chenglulu@loongson.cn> - - PR target/115752 - * gcc.target/loongarch/pr115752.c: New test. - -2024-07-11 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/arm/mve/intrinsics/vsetq_lane_su64.c: New test. - -2024-07-11 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115782 - * gcc.dg/pr115782.c: New test. - -2024-07-11 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/array42.adb, gnat.dg/array42_pkg.ads: New test. - -2024-07-11 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/sub-zerox.c: New test. - -2024-07-11 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99241 - * g++.dg/modules/pr99241_a.H: New test. - * g++.dg/modules/pr99241_b.H: New test. - * g++.dg/modules/pr99241_c.C: New test. - -2024-07-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test - helper macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Add test - data for .SAT_SUB in zip benchmark. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx.h: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: New test. - -2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/96992 - * gfortran.dg/class_dummy_11.f90: New test. - -2024-07-11 Jørgen Kvalsvik <j@lambda.is> - - * lib/gcov.exp: Add filtering test function. - * g++.dg/gcov/gcov-19.C: New test. - * g++.dg/gcov/gcov-20.C: New test. - * g++.dg/gcov/gcov-21.C: New test. - * gcc.misc-tests/gcov-25.c: New test. - * gcc.misc-tests/gcov-26.c: New test. - * gcc.misc-tests/gcov-27.c: New test. - * gcc.misc-tests/gcov-28.c: New test. - -2024-07-11 Fei Gao <gaofei@eswincomputing.com> - - * gcc.target/riscv/attribute-15.c: adapt TC. - * gcc.target/riscv/attribute-16.c: likewise. - * gcc.target/riscv/attribute-17.c: likewise. - * gcc.target/riscv/attribute-18.c: likewise. - * gcc.target/riscv/pr110696.c: likewise. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: likewise. - * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: likewise. - * gcc.target/riscv/rvv/base/pr114352-1.c: likewise. - * gcc.target/riscv/rvv/base/pr114352-3.c: likewise. - * gcc.target/riscv/arch-39.c: New test. - * gcc.target/riscv/arch-40.c: New test. - -2024-07-10 Marek Polacek <polacek@redhat.com> - - * g++.dg/concepts/auto3.C: Compile with -fconcepts. Run in C++17 and - up. Add dg-error. - * g++.dg/concepts/auto5.C: Likewise. - * g++.dg/concepts/auto7.C: Compile with -fconcepts. Add dg-error. - * g++.dg/concepts/auto8a.C: Compile with -fconcepts. - * g++.dg/concepts/class-deduction1.C: Compile with -fconcepts. Run in - C++17 and up. Convert to C++20. - * g++.dg/concepts/class5.C: Likewise. - * g++.dg/concepts/class6.C: Likewise. - * g++.dg/concepts/debug1.C: Likewise. - * g++.dg/concepts/decl-diagnose.C: Compile with -fconcepts. Run in - C++17 and up. Add dg-error. - * g++.dg/concepts/deduction-constraint1.C: Compile with -fconcepts. - Run in C++17 and up. Convert to C++20. - * g++.dg/concepts/diagnostic1.C: Likewise. - * g++.dg/concepts/dr1430.C: Likewise. - * g++.dg/concepts/equiv.C: Likewise. - * g++.dg/concepts/equiv2.C: Likewise. - * g++.dg/concepts/expression.C: Likewise. - * g++.dg/concepts/expression2.C: Likewise. - * g++.dg/concepts/expression3.C: Likewise. - * g++.dg/concepts/fn-concept2.C: Compile with -fconcepts. Run in - C++17 and up. Remove code. Add dg-prune-output. - * g++.dg/concepts/fn-concept3.C: Compile with -fconcepts. Run in - C++17 and up. Convert to C++20. - * g++.dg/concepts/fn1.C: Likewise. - * g++.dg/concepts/fn10.C: Likewise. - * g++.dg/concepts/fn2.C: Likewise. - * g++.dg/concepts/fn3.C: Likewise. - * g++.dg/concepts/fn4.C: Likewise. - * g++.dg/concepts/fn5.C: Likewise. - * g++.dg/concepts/fn6.C: Likewise. - * g++.dg/concepts/fn7.C: Compile with -fconcepts. Add dg-error. - * g++.dg/concepts/fn8.C: Compile with -fconcepts. Run in C++17 and up. - Convert to C++20. - * g++.dg/concepts/fn9.C: Likewise. - * g++.dg/concepts/generic-fn-err.C: Likewise. - * g++.dg/concepts/generic-fn.C: Likewise. - * g++.dg/concepts/inherit-ctor1.C: Likewise. - * g++.dg/concepts/inherit-ctor3.C: Likewise. - * g++.dg/concepts/intro1.C: Likewise. - * g++.dg/concepts/locations1.C: Compile with -fconcepts. Run in C++17 - and up. Add dg-prune-output. - * g++.dg/concepts/partial-concept-id1.C: Compile with -fconcepts. - Run in C++17 and up. Convert to C++20. - * g++.dg/concepts/partial-concept-id2.C: Likewise. - * g++.dg/concepts/partial-spec5.C: Likewise. - * g++.dg/concepts/placeholder2.C: Likewise. - * g++.dg/concepts/placeholder3.C: Likewise. - * g++.dg/concepts/placeholder4.C: Likewise. - * g++.dg/concepts/placeholder5.C: Likewise. - * g++.dg/concepts/placeholder6.C: Likewise. - * g++.dg/concepts/pr65634.C: Likewise. - * g++.dg/concepts/pr65636.C: Likewise. - * g++.dg/concepts/pr65681.C: Likewise. - * g++.dg/concepts/pr65848.C: Likewise. - * g++.dg/concepts/pr67249.C: Likewise. - * g++.dg/concepts/pr67595.C: Likewise. - * g++.dg/concepts/pr68434.C: Likewise. - * g++.dg/concepts/pr71127.C: Likewise. - * g++.dg/concepts/pr71128.C: Compile with -fconcepts. Run in C++17 - and up. Add dg-error. - * g++.dg/concepts/pr71131.C: Compile with -fconcepts. Run in C++17 - and up. Convert to C++20. - * g++.dg/concepts/pr71385.C: Likewise. - * g++.dg/concepts/pr85065.C: Likewise. - * g++.dg/concepts/pr92804-2.C: Compile with -fconcepts. Convert to - C++20. - * g++.dg/concepts/template-parm11.C: Compile with -fconcepts. Run in - C++17 and up. Convert to C++20. - * g++.dg/concepts/template-parm12.C: Likewise. - * g++.dg/concepts/template-parm2.C: Likewise. - * g++.dg/concepts/template-parm3.C: Likewise. - * g++.dg/concepts/template-parm4.C: Likewise. - * g++.dg/concepts/template-template-parm1.C: Likewise. - * g++.dg/concepts/var-concept1.C: Likewise. - * g++.dg/concepts/var-concept2.C: Likewise. - * g++.dg/concepts/var-concept3.C: Likewise. - * g++.dg/concepts/var-concept4.C: Likewise. - * g++.dg/concepts/var-concept5.C: Likewise. - * g++.dg/concepts/var-concept6.C: Likewise. - * g++.dg/concepts/var-concept7.C: Likewise. - * g++.dg/concepts/var-templ1.C: Run in C++17 and up. - * g++.dg/concepts/var-templ2.C: Compile with -fconcepts. Run in C++17 - and up. Convert to C++20. - * g++.dg/concepts/var-templ3.C: Likewise. - * g++.dg/concepts/variadic1.C: Likewise. - * g++.dg/concepts/variadic2.C: Likewise. - * g++.dg/concepts/variadic3.C: Likewise. - * g++.dg/concepts/variadic4.C: Likewise. - * g++.dg/cpp2a/concepts-pr65575.C: Likewise. - * g++.dg/cpp2a/concepts-pr66091.C: Likewise. - * g++.dg/cpp2a/concepts-pr67148.C: Compile with -fconcepts. Convert - to C++20. - * g++.dg/cpp2a/concepts-pr67225-1.C: Likewise. - * g++.dg/cpp2a/concepts-pr67225-2.C: Likewise. - * g++.dg/cpp2a/concepts-pr67225-3.C: Likewise. - * g++.dg/cpp2a/concepts-pr67225-4.C: Likewise. - * g++.dg/cpp2a/concepts-pr67225-5.C: Likewise. - * g++.dg/cpp2a/concepts-pr67319.C: Likewise. - * g++.dg/cpp2a/concepts-pr67427.C: Likewise. - * g++.dg/cpp2a/concepts-pr67654.C: Likewise. - * g++.dg/cpp2a/concepts-pr67658.C: Likewise. - * g++.dg/cpp2a/concepts-pr67684.C: Likewise. - * g++.dg/cpp2a/concepts-pr67697.C: Likewise. - * g++.dg/cpp2a/concepts-pr67719.C: Likewise. - * g++.dg/cpp2a/concepts-pr67774.C: Likewise. - * g++.dg/cpp2a/concepts-pr67825.C: Likewise. - * g++.dg/cpp2a/concepts-pr67860.C: Likewise. - * g++.dg/cpp2a/concepts-pr67862.C: Likewise. - * g++.dg/cpp2a/concepts-pr67969.C: Likewise. - * g++.dg/cpp2a/concepts-pr68093-2.C: Likewise. - * g++.dg/cpp2a/concepts-pr68372.C: Likewise. - * g++.dg/cpp2a/concepts-pr68812.C: Likewise. - * g++.dg/cpp2a/concepts-pr69235.C: Likewise. - * g++.dg/cpp2a/concepts-pr78752-2.C: Likewise. - * g++.dg/cpp2a/concepts-pr78752.C: Likewise. - * g++.dg/cpp2a/concepts-pr79759.C: Likewise. - * g++.dg/cpp2a/concepts-pr80746.C: Likewise. - * g++.dg/cpp2a/concepts-pr80773.C: Likewise. - * g++.dg/cpp2a/concepts-pr82507.C: Likewise. - * g++.dg/cpp2a/concepts-pr82740.C: Likewise. - * g++.dg/cpp2a/concepts-pr84980.C: Compile with -fconcepts. Run in - C++17 and up. Convert to C++20. - * g++.dg/cpp2a/concepts-pr85265.C: Likewise. - * g++.dg/cpp2a/concepts-pr85808.C: Compile with -fconcepts. Convert - to C++20. - * g++.dg/cpp2a/concepts-pr86269.C: Likewise. - * g++.dg/cpp2a/concepts-pr87441.C: Likewise. - * g++.dg/cpp2a/concepts-requires5.C: Compile with -fconcepts. - Adjust dg-error. Add same_as. - * g++.dg/cpp2a/nontype-class50a.C: Compile with -fconcepts. - * g++.dg/concepts/auto1.C: Removed. - * g++.dg/concepts/auto4.C: Removed. - * g++.dg/concepts/auto6.C: Removed. - * g++.dg/concepts/fn-concept1.C: Removed. - * g++.dg/concepts/intro2.C: Removed. - * g++.dg/concepts/intro3.C: Removed. - * g++.dg/concepts/intro4.C: Removed. - * g++.dg/concepts/intro5.C: Removed. - * g++.dg/concepts/intro6.C: Removed. - * g++.dg/concepts/intro7.C: Removed. - * g++.dg/cpp2a/concepts-ts1.C: Removed. - * g++.dg/cpp2a/concepts-ts2.C: Removed. - * g++.dg/cpp2a/concepts-ts3.C: Removed. - * g++.dg/cpp2a/concepts-ts4.C: Removed. - * g++.dg/cpp2a/concepts-ts5.C: Removed. - * g++.dg/cpp2a/concepts-ts6.C: Removed. - -2024-07-10 Marek Polacek <polacek@redhat.com> - - PR c/115642 - * gcc.dg/noncompile/sizeof-1.c: New test. - -2024-07-10 Marek Polacek <polacek@redhat.com> - - PR c/115549 - * c-c++-common/attr-aligned-2.c: New test. - -2024-07-10 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - PR target/105090 - * gcc.target/arm/copysign_softfloat_1.c: Drop check for lsr - -2024-07-10 Edwin Lu <ewlu@rivosinc.com> - - * g++.target/riscv/redundant-bitmap-1.C: Use gcb instead of - zba_zbb_zbs - * g++.target/riscv/redundant-bitmap-2.C: Ditto - * g++.target/riscv/redundant-bitmap-3.C: Ditto - * g++.target/riscv/redundant-bitmap-4.C: Ditto - * gcc.target/riscv/shift-add-1.c: Ditto - * gcc.target/riscv/shift-add-2.c: Ditto - * gcc.target/riscv/synthesis-1.c: Ditto - * gcc.target/riscv/synthesis-2.c: Ditto - * gcc.target/riscv/synthesis-3.c: Ditto - * gcc.target/riscv/synthesis-4.c: Ditto - * gcc.target/riscv/synthesis-5.c: Ditto - * gcc.target/riscv/synthesis-6.c: Ditto - * gcc.target/riscv/synthesis-7.c: Ditto - * gcc.target/riscv/synthesis-8.c: Ditto - * gcc.target/riscv/zba_zbs_and-1.c: Ditto - * gcc.target/riscv/zbs-zext-3.c: Ditto - * lib/target-supports.exp: Add b to riscv_get_arch - -2024-07-10 Marek Polacek <polacek@redhat.com> - - PR c++/115645 - * g++.dg/expr/anew7.C: New test. - -2024-07-10 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/i386/pr105033.c: Expect vmovhps for the ia32 version - of foo. - * gcc.target/i386/vect-bfloat16-2b.c: Expect more vpinsrws. - -2024-07-10 Nina Ranns <dinka.ranns@gmail.com> - - PR c++/113968 - * g++.dg/contracts/pr113968.C: New test. - -2024-07-10 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115823 - * gm2/builtins/run/pass/testalloa.mod: New test. - -2024-07-10 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.target/aarch64/sqrt_div_float16.c: New test. - -2024-07-10 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/vect/slp-gap-1.c: Support matching `{_1, { 0, 0, 0, 0 }}` - in addition to `{_1, 0}`. - -2024-07-10 Fei Gao <gaofei@eswincomputing.com> - - * gcc.target/riscv/rv32e_zcmp.c: Adapt TC. - * gcc.target/riscv/rv32i_zcmp.c: Likewise. - -2024-07-09 Martin Uecker <uecker@tugraz.at> - - PR testsuite/115545 - * gcc.dg/pr115109.c: Adapt test. - * gcc.dg/c23-tag-enum-6.c: Adapt test. - * gcc.dg/c23-tag-enum-7.c: Adapt test. - -2024-07-09 Martin Uecker <uecker@tugraz.at> - - PR c/114727 - * gcc.dg/pr114727.c: New test. - -2024-07-09 Martin Uecker <uecker@tugraz.at> - - PR c/115696 - * gcc.dg/pr115696.c: New test. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/vec_perm-runnable-i128.c: New test file. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/vsx-builtin-3.c (__builtin_vsx_vperm_16qi_uns, - __builtin_vsx_vperm_1ti, __builtin_vsx_vperm_1ti_uns, - __builtin_vsx_vperm_2df, __builtin_vsx_vperm_2di, - __builtin_vsx_vperm_2di_uns, __builtin_vsx_vperm_4sf, - __builtin_vsx_vperm_4si, __builtin_vsx_vperm_4si_uns, - __builtin_vsx_vperm): Change call to built-in to the overloaded - built-in vec_perm. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/vsx-builtin-3.c (__builtin_vsx_xxsel_4si, - __builtin_vsx_xxsel_8hi, __builtin_vsx_xxsel_16qi, - __builtin_vsx_xxsel_4sf, __builtin_vsx_xxsel_2df, - __builtin_vsx_xxsel): Change built-in call to overloaded built-in - call vec_sel. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/builtins-10-runnable.c: New runnable test - file. - * gcc.target/powerpc/builtins-10.c: New compile only test file. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/builtins-3-runnable.c - (test_unsigned_int_result, test_ll_unsigned_int_result): Add - new argument. - (vec_signede, vec_signedo, vec_unsignede, vec_unsignedo): New - tests for the overloaded built-ins. - -2024-07-09 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/builtins-3-runnable.c: Add tests for - vec_unsignede and vec_unsignedo with negative arguments. - -2024-07-09 Uros Bizjak <ubizjak@gmail.com> - - * gcc.target/i386/sattrunc-1.c: New test. - -2024-07-09 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/interrupt-misaligned.c: Remove - "-fno-fat-lto-objects" from skip condition. - * gcc.target/riscv/pr93202.c: Likewise. - -2024-07-09 Jakub Jelinek <jakub@redhat.com> - - * c-c++-common/gomp/tile-11.c: Adjust expected diagnostics for c. - * c-c++-common/gomp/tile-12.c: Likewise. - -2024-07-09 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/cpp26/constexpr-voidptr3.C: New test. - * g++.dg/cpp0x/constexpr-cast2.C: Adjust expected diagnostics for - C++26. - * g++.dg/cpp0x/constexpr-cast4.C: Likewise. - -2024-07-09 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr115796.c: New test. - -2024-07-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add help - test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-8.c: New test. - -2024-07-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add help - test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-4.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-4.c: New test. - -2024-07-08 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/aarch64/sve/pred_clobber_1.c: Update expected output. - * gcc.target/aarch64/sve/pred_clobber_2.c: Likewise. - * gcc.target/aarch64/sve/pred_clobber_3.c: Likewise. - * gcc.target/aarch64/tbz_2.c: Likewise. - * gcc.target/riscv/core_bench_list.c: New test. - * gcc.target/riscv/core_init_matrix.c: New test. - * gcc.target/riscv/core_list_init.c: New test. - * gcc.target/riscv/matrix_add_const.c: New test. - * gcc.target/riscv/mem-extend.c: New test. - * gcc.target/riscv/pr111384.c: New test. - Co-authored-by: Jivan Hakobyan <jivanhakobyan9@gmail.com> - Co-authored-by: Joern Rennecke <joern.rennecke@embecosm.com> - -2024-07-08 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/avx2-bf16-vec-absneg.c: New test. - * gcc.target/i386/avx512f-bf16-vec-absneg.c: New test. - -2024-07-08 Jeevitha Palanisamy <jeevitha@linux.ibm.com> - - PR target/110040 - * gcc.target/powerpc/pr110040-1.c: New testcase. - * gcc.target/powerpc/pr110040-2.c: New testcase. - -2024-07-08 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - test macros. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_data.h: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c: New test. - * gcc.target/riscv/rvv/autovec/unop/vec_sat_unary_vv_run.h: New test. - -2024-07-08 Kewen Lin <linkw@linux.ibm.com> - - PR target/115688 - * gcc.target/powerpc/pr115688.c: New test. - -2024-07-07 Maciej W. Rozycki <macro@orcam.me.uk> - - * lib/gnat.exp (local_find_gnatmake, find_gnatclean): Use - '-cross' suffix where testing a cross-compiler. - -2024-07-06 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/binv-for-simode-1.c: New test. - * gcc.target/riscv/bset-for-simode-1.c: New test. - * gcc.target/riscv/bclr-for-simode-1.c: New test. - -2024-07-06 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - * gcc.dg/analyzer/torture/boxed-ptr-1.c: Requires size24plus. - * gcc.dg/analyzer/torture/pr102692.c: Use intptr_t instead of long. - * gcc.dg/ipa/pr102714.c: Use uintptr_t instead of unsigned long. - * gcc.dg/torture/pr115387-1.c: Same. - * gcc.dg/torture/pr113895-1.c : Same. - * gcc.dg/ipa/pr108007.c: Require int32plus. - * gcc.dg/ipa/pr109318.c: Same. - * gcc.dg/ipa/pr96040.c: Use size_t instead of unsigned long. - * gcc.dg/torture/pr113126.c: Use vectors of same dimension. - * gcc.dg/tree-ssa/builtin-sprintf-9.c: Requires double64. - * gcc.dg/spellcheck-inttypes.c [avr]: Avoid include of inttypes.h. - * gcc.dg/analyzer/torture/pr104159.c [avr]: Skip. - * gcc.dg/torture/pr84682-2.c [avr]: Skip. - * gcc.dg/wtr-conversion-1.c [avr]: Remove avr selector since - long double is a 64-bit type by now. - -2024-07-06 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/torture/fuse-add.c: New test. - -2024-07-06 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/array41.ads, gnat.dg/array41.adb: New test. - -2024-07-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.dg/ieee/signaling_2.f90: Adjust test. - * gfortran.dg/ieee/signaling_2_c.c: Adjust test. - -2024-07-05 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/115153 - * gcc.target/arm/pr115153.c: Add new test. - * lib/target-supports.exp: Add arm_arch_v7ve_neon target support. - -2024-07-05 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/test-types.c: Add array type comparison to the test. - -2024-07-05 Antoni Boucher <bouanto@zoho.com> - - PR jit/112574 - * jit.dg/all-non-failing-tests.h: New test test-bfloat16.c. - * jit.dg/test-types.c: Test GCC_JIT_TYPE_BFLOAT16. - * jit.dg/test-bfloat16.c: New test. - -2024-07-05 Robin Dapp <rdapp@ventanamicro.com> - - PR target/115725 - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Adjust - test expectation. - * 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. - -2024-07-05 Georg-Johann Lay <avr@gjlay.de> - - PR target/87376 - * gcc.target/avr/torture/pr87376.c: New test. - -2024-07-05 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/tbl_with_zero_1.c: New test. - * gcc.target/aarch64/tbl_with_zero_2.c: New test. - -2024-07-05 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/msa.c: Fix test7_v2f64, test7_v4f32 and - test43_v2i64. - -2024-07-05 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/call-clobbered-1.c: Add -mfpxx. - -2024-07-05 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/umips-save-restore-1.c: Be sure lwm/swm - are used for more callee-saved registers with addtional - 2 more function calls. - -2024-07-05 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-53.c: New testcase. - * gcc.dg/vect/slp-54.c: New testcase. - -2024-07-04 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_gil_plugin.c: Update all uses of - sm_context * to sm_context &. - -2024-07-04 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/115724 - * c-c++-common/analyzer/error-pr115724.c: New test. - -2024-07-04 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/rvv/base/vcreate.c: Update expected output. - -2024-07-04 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/115537 - * gcc.dg/vect/pr115537.c: Update flag from neoverse-n1 to neoverse-v1. - -2024-07-04 Tamar Christina <tamar.christina@arm.com> - - PR c++/115623 - * g++.dg/vect/vect-novector-pragma_2.cc: New test. - -2024-07-04 Siarhei Volkau <lis8215@gmail.com> - - * gcc.target/arm/thumb1-load-store-64bit.c: Add new test. - -2024-07-04 Alfie Richards <alfie.richards@arm.com> - - PR target/114890 - * gcc.target/aarch64/vector_intrinsics_asm.c: Remove xfail. - -2024-07-04 Alfie Richards <alfie.richards@arm.com> - - * gcc.target/aarch64/vector_intrinsics_asm.c: New test. - -2024-07-04 Richard Biener <rguenther@suse.de> - - PR middle-end/115426 - * gcc.dg/pr115426.c: New testcase. - -2024-07-04 liuhongt <hongtao.liu@intel.com> - - PR target/115748 - * gcc.target/i386/avx512-check.h: Use __builtin_cpu_support - instead of __get_cpuid_count. - -2024-07-04 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/xchg-4.c: New test case. - -2024-07-04 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/apx-ppx-2.c: New test. - * gcc.target/i386/apx-ppx-3.c: Likewise. - -2024-07-04 Jason Merrill <jason@redhat.com> - - * g++.dg/warn/pr61945.C: Adjust diagnostic. - -2024-07-04 Hu, Lin1 <lin1.hu@intel.com> - - PR tree-optimization/115753 - * gcc.dg/vect/pr115753-1.c: New test. - * gcc.dg/vect/pr115753-2.c: Ditto. - * gcc.dg/vect/pr115753-3.c: Ditto. - -2024-07-03 Harald Anlauf <anlauf@gmx.de> - - PR fortran/115700 - * gfortran.dg/associate_69.f90: New test. - -2024-07-03 Gianluca Guida <gianluca@rivosinc.com> - Patrick O'Neill <patrick@rivosinc.com> - - * lib/target-supports.exp: Add zabha testsuite infra support. - * gcc.target/riscv/amo/inline-atomics-1.c: Remove zabha to continue to - test the lr/sc subword patterns. - * gcc.target/riscv/amo/inline-atomics-2.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acq-rel.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acquire.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-seq-cst.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acq-rel.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acquire.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-seq-cst.c: Ditto. - * gcc.target/riscv/amo/zabha-all-amo-ops-char-run.c: New test. - * gcc.target/riscv/amo/zabha-all-amo-ops-short-run.c: New test. - * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-char.c: New test. - * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-short.c: New test. - * gcc.target/riscv/amo/zabha-rvwmo-amo-add-char.c: New test. - * gcc.target/riscv/amo/zabha-rvwmo-amo-add-short.c: New test. - * gcc.target/riscv/amo/zabha-ztso-amo-add-char.c: New test. - * gcc.target/riscv/amo/zabha-ztso-amo-add-short.c: New test. - -2024-07-03 Luis Silva <Luis.Silva1@synopsys.com> - - * gcc.target/arc/pr9001184797.c: Fix compiler warnings. - -2024-07-03 Pan Li <pan2.li@intel.com> - - PR target/115763 - * gcc.target/riscv/rvv/base/scalar_move-5.c: Adjust asm check. - * gcc.target/riscv/rvv/base/scalar_move-6.c: Ditto. - * gcc.target/riscv/rvv/base/scalar_move-7.c: Ditto. - * gcc.target/riscv/rvv/base/scalar_move-8.c: Ditto. - * gcc.target/riscv/rvv/base/pr115763-1.c: New test. - * gcc.target/riscv/rvv/base/pr115763-2.c: New test. - -2024-07-03 Jennifer Schmitz <jschmitz@nvidia.com> - - * gcc.dg/tree-ssa/sqrt_div.c: New test. - -2024-07-03 Alexandre Oliva <oliva@adacore.com> - - * gnat.dg/bias1.adb: Count occurrences of -7.*DW_AT_GNU_bias. - -2024-07-03 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/115475 - * gcc.target/aarch64/acle/bf16_sve_feature.c: New test. - -2024-07-03 Kyrylo Tkachov <ktkachov@nvidia.com> - - PR target/115457 - * gcc.target/aarch64/acle/bf16_feature.c: New test. - -2024-07-03 Georg-Johann Lay <avr@gjlay.de> - - PR target/98762 - * gcc.target/avr/torture/pr98762.c: New test. - -2024-07-03 liuhongt <hongtao.liu@intel.com> - - PR target/115748 - * gcc.target/i386/avx512-check.h: Move runtime check into a - separate function and guard it with target ("no-avx"). - -2024-07-03 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: - Update vssubu check from vv to vx. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: - Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: - Ditto. - -2024-07-03 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115764 - * gcc.dg/vect/bb-slp-76.c: New testcase. - -2024-07-03 Lewis Hyatt <lhyatt@gmail.com> - - PR pch/115312 - * g++.dg/pch/pr115312.C: New test. - * g++.dg/pch/pr115312.Hs: New test. - -2024-07-02 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113859 - * gcc.target/aarch64/popcnt-udot.c: New test. - * gcc.target/aarch64/popcnt-vec.c: New test. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/110473 - PR tree-optimization/107432 - * gcc.target/aarch64/vect-convert-1.c: New test. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/pow-sqrt-synth-1.c: Update testcase for renamed pass. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/tree-ssa/cabs-3.c: New test. - * gcc.dg/tree-ssa/cabs-4.c: New test. - * gcc.dg/tree-ssa/cabs-5.c: New test. - * gcc.dg/tree-ssa/cabs-6.c: New test. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115710 - * gcc.dg/tree-ssa/cabs-1.c: New test. - * gcc.dg/tree-ssa/cabs-2.c: New test. - * gfortran.dg/vect/pr115710.f90: New test. - -2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/tree-ssa/complex-8.c: New test. - -2024-07-02 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/115754 - * g++.dg/cpp26/pr115754.C: New test. - -2024-07-02 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/115747 - * g++.dg/init/delete1.C: Adjust expected diagnostics for C++26. - * g++.dg/warn/Wdelete-incomplete-1.C: Likewise. - * g++.dg/warn/incomplete1.C: Likewise. - * g++.dg/ipa/pr85607.C: Likewise. - * g++.dg/cpp26/delete1.C: New test. - * g++.dg/cpp26/delete2.C: New test. - * g++.dg/cpp26/delete3.C: New test. - -2024-07-02 Jakub Jelinek <jakub@redhat.com> - - PR c++/115745 - * g++.dg/cpp1z/decomp16.C: Adjust expected diagnostics. - * g++.dg/cpp26/decomp3.C: New test. - * g++.dg/cpp26/decomp4.C: New test. - * g++.dg/cpp26/decomp5.C: New test. - * g++.dg/cpp26/decomp6.C: New test. - * g++.dg/cpp26/decomp7.C: New test. - * g++.dg/cpp26/decomp8.C: New test. - * g++.dg/cpp26/decomp9.C: New test. - * g++.dg/cpp26/decomp10.C: New test. - -2024-07-02 David Faust <david.faust@oracle.com> - Cupertino Miranda <cupertino.miranda@oracle.com> - - * gcc.dg/debug/btf/btf-variables-5.c: Adjust one test for bpf-*-* - target. - -2024-07-02 David Faust <david.faust@oracle.com> - - * gcc.dg/debug/btf/btf-prune-1.c: New test. - * gcc.dg/debug/btf/btf-prune-2.c: Likewise. - * gcc.dg/debug/btf/btf-prune-3.c: Likewise. - * gcc.dg/debug/btf/btf-prune-maps.c: Likewise. - -2024-07-02 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/115188 - * gcc.target/arm/pr115188.c: Add new test. - -2024-07-02 Simon Martin <simon@nasilyan.com> - - PR c++/111160 - * g++.dg/overload/error8.C: New test. - * g++.dg/overload/volatile2.C: New test. - -2024-07-02 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/apx-ndd.c: Add test for imul ndd. - -2024-07-02 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/explicit-relocs-extreme-tls-desc.c: - Add compilation options '-fno-late-combine-instructions'. - * gcc.target/loongarch/explicit-relocs-tls-desc.c: Likewise. - -2024-07-01 Marek Polacek <polacek@redhat.com> - - PR c++/115469 - * g++.dg/ext/label17.C: New test. - -2024-07-01 Marek Polacek <polacek@redhat.com> - - * g++.dg/cpp2a/spaceship-narrowing1.C: Use __INT64_TYPE__. - -2024-07-01 Marek Polacek <polacek@redhat.com> - - PR c++/115430 - * g++.dg/cpp0x/noexcept41.C: Remove dg-error. - * g++.dg/overload/addr3.C: New test. - -2024-07-01 Marek Polacek <polacek@redhat.com> - - DR 2627 - PR c++/94058 - PR c++/104392 - * g++.dg/DRs/dr2627.C: New test. - * g++.dg/cpp0x/Wnarrowing22.C: New test. - * g++.dg/cpp2a/spaceship-narrowing1.C: New test. - * g++.dg/cpp2a/spaceship-narrowing2.C: New test. - -2024-07-01 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper test macro. - * gcc.target/riscv/sat_u_add_imm-13.c: New test. - * gcc.target/riscv/sat_u_add_imm-14.c: New test. - * gcc.target/riscv/sat_u_add_imm-15.c: New test. - * gcc.target/riscv/sat_u_add_imm-16.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-13.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-14.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-15.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-16.c: New test. - -2024-07-01 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper test macro. - * gcc.target/riscv/sat_u_add_imm-10.c: New test. - * gcc.target/riscv/sat_u_add_imm-11.c: New test. - * gcc.target/riscv/sat_u_add_imm-12.c: New test. - * gcc.target/riscv/sat_u_add_imm-9.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-10.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-11.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-12.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-9.c: New test. - -2024-07-01 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper test macro. - * gcc.target/riscv/sat_u_add_imm-5.c: New test. - * gcc.target/riscv/sat_u_add_imm-6.c: New test. - * gcc.target/riscv/sat_u_add_imm-7.c: New test. - * gcc.target/riscv/sat_u_add_imm-8.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-5.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-6.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-7.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-8.c: New test. - -2024-07-01 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper test macro. - * gcc.target/riscv/sat_u_add_imm-1.c: New test. - * gcc.target/riscv/sat_u_add_imm-2.c: New test. - * gcc.target/riscv/sat_u_add_imm-3.c: New test. - * gcc.target/riscv/sat_u_add_imm-4.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-1.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-2.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-3.c: New test. - * gcc.target/riscv/sat_u_add_imm-run-4.c: New test. - -2024-07-01 Roger Sayle <roger@nextmovesoftware.com> - - PR middle-end/102464 - * gcc.target/i386/pr102464-vrndscaleph.c: Define __NO_MATH_INLINES - to resovle FAILs with -m32 on older RedHat systems. - -2024-07-01 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/lea-3.c: New test case. - -2024-07-01 Georg-Johann Lay <avr@gjlay.de> - - PR target/88236 - PR target/115726 - * gcc.target/avr/torture/pr88236-pr115726.c: New test. - -2024-07-01 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - * gcc.dg/analyzer/pr109577.c: Use __SIZE_TYPE__ instead of "unsigned long". - * gcc.dg/analyzer/pr93032-mztools-signed-char.c: Requires int32plus. - * gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Requires int32plus. - * gcc.dg/analyzer/putenv-1.c: Skip on avr. - * gcc.dg/torture/type-generic-1.c: Skip on avr. - -2024-07-01 Andrew Stubbs <ams@baylibre.com> - Thomas Schwinge <thomas@codesourcery.com> - - * gfortran.dg/gomp/allocate-pinned-1.f90: New test. - -2024-07-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115723 - * gcc.dg/vect/pr115723.c: New testcase. - -2024-07-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115694 - * g++.dg/torture/pr115694.C: New testcase. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr111023-2.c: Adjust testcase. - * gcc.target/i386/vect-div-1.c: Ditto. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115517 - * g++.target/i386/pr100637-1b.C: Add xfail and -mno-sse4.1. - * g++.target/i386/pr100637-1w.C: Ditto. - * g++.target/i386/pr103861-1.C: Ditto. - * gcc.target/i386/pr88540.c: Ditto. - * gcc.target/i386/pr103941-2.c: Add -mno-avx512f. - * g++.target/i386/sse4_1-pr100637-1b.C: New test. - * g++.target/i386/sse4_1-pr100637-1w.C: New test. - * g++.target/i386/sse4_1-pr103861-1.C: New test. - * gcc.target/i386/sse4_1-pr88540.c: New test. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Adjus - testcase. - * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Ditto. - * gcc.target/i386/avx512f-fmadd-sf-zmm-7.c: Ditto. - * gcc.target/i386/avx512f-fmsub-sf-zmm-7.c: Ditto. - * gcc.target/i386/avx512f-fnmadd-sf-zmm-7.c: Ditto. - * gcc.target/i386/avx512f-fnmsub-sf-zmm-7.c: Ditto. - * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Ditto. - * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Ditto. - * gcc.target/i386/pr91333.c: Ditto. - * gcc.target/i386/vect-strided-4.c: Ditto. - -2024-07-01 liuhongt <hongtao.liu@intel.com> - - PR target/115610 - * gcc.target/i386/avx512bitalg-vpopcntb.c: Define mask as - extern instead of uninitialized local variables. - * gcc.target/i386/avx512bitalg-vpopcntbvl.c: Ditto. - * gcc.target/i386/avx512bitalg-vpopcntw.c: Ditto. - * gcc.target/i386/avx512bitalg-vpopcntwvl.c: Ditto. - * gcc.target/i386/avx512vpopcntdq-vpopcntd.c: Ditto. - * gcc.target/i386/avx512vpopcntdq-vpopcntq.c: Ditto. - -2024-06-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115701 - * gcc.dg/torture/pr115701.c: New testcase. - -2024-06-30 Feng Xue <fxue@os.amperecomputing.com> - - * gcc.dg/vect/vect-shift-6.c - * gcc.dg/vect/vect-shift-7.c - -2024-06-29 Sergei Lewis <slewis@rivosinc.com> - - PR target/112109 - * gcc.target/riscv/rvv/base/movmem-1.c: New test - -2024-06-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114019 - * gfortran.dg/allocate_with_source_33.f90: New test. - -2024-06-28 Patrick Palka <ppalka@redhat.com> - - PR c++/106760 - * g++.dg/ext/conv3.C: New test. - -2024-06-28 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/unlimited_polymorphic_11.f90: Remove unnecessary - casts in gd-final expression. - -2024-06-28 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/concatditi-1.c: New test case. - -2024-06-28 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/avx512f-andn-di-zmm-2.c: Match decimal instead - of hexadecimal immediate operand to ternlog. - * gcc.target/i386/avx512f-andn-si-zmm-2.c: Likewise. - * gcc.target/i386/avx512f-orn-si-zmm-1.c: Likewise. - * gcc.target/i386/avx512f-orn-si-zmm-2.c: Likewise. - * gcc.target/i386/pr100711-3.c: Likewise. - * gcc.target/i386/pr100711-4.c: Likewise. - * gcc.target/i386/pr100711-5.c: Likewise. - -2024-06-27 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: New test. - * jit.dg/test-alignof.c: New test. - -2024-06-27 Martin Uecker <uecker@tugraz.at> - - * gcc.dg/c99-arraydecl-4.c: New test. - -2024-06-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115669 - * gcc.dg/vect/pr115669.c: New testcase. - -2024-06-27 Hu, Lin1 <lin1.hu@intel.com> - - PR target/107432 - * gcc.target/i386/pr107432-8.c: New test. - * gcc.target/i386/pr107432-9.c: Ditto. - * gcc.target/i386/pr92645-4.c: Modify test. - -2024-06-27 Hu, Lin1 <lin1.hu@intel.com> - - PR target/107432 - * gcc.target/i386/pr107432-1.c: Modify test. - * gcc.target/i386/pr107432-6.c: Add test. - * gcc.target/i386/pr108938-3.c: This patch supports - truncv4hiv4qi affect bswap optimization, so I added - the -mno-avx option for now, and open a bugzilla. - -2024-06-27 Hu, Lin1 <lin1.hu@intel.com> - - PR target/107432 - * gcc.target/i386/pr107432-1.c: New test. - * gcc.target/i386/pr107432-2.c: Ditto. - * gcc.target/i386/pr107432-3.c: Ditto. - * gcc.target/i386/pr107432-4.c: Ditto. - * gcc.target/i386/pr107432-5.c: Ditto. - * gcc.target/i386/pr107432-6.c: Ditto. - * gcc.target/i386/pr107432-7.c: Ditto. - -2024-06-27 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - test macros. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_scalar.h: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-3.c: New test. - -2024-06-27 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/bstrins-3.c: New test. - -2024-06-27 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr115462.c: New test. - -2024-06-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115629 - * gcc.dg/tree-ssa/tail-merge-1.c: New testcase. - -2024-06-26 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo/a-rvwmo-fence.c: Replace A.6 reference with PSABI. - * gcc.target/riscv/amo/a-rvwmo-load-acquire.c: Ditto. - * gcc.target/riscv/amo/a-rvwmo-load-relaxed.c: Ditto. - * gcc.target/riscv/amo/a-rvwmo-load-seq-cst.c: Ditto. - * gcc.target/riscv/amo/a-rvwmo-store-compat-seq-cst.c: Ditto. - * gcc.target/riscv/amo/a-rvwmo-store-relaxed.c: Ditto. - * gcc.target/riscv/amo/a-rvwmo-store-release.c: Ditto. - * gcc.target/riscv/amo/a-ztso-fence.c: Ditto. - * gcc.target/riscv/amo/a-ztso-load-acquire.c: Ditto. - * gcc.target/riscv/amo/a-ztso-load-relaxed.c: Ditto. - * gcc.target/riscv/amo/a-ztso-load-seq-cst.c: Ditto. - * gcc.target/riscv/amo/a-ztso-store-compat-seq-cst.c: Ditto. - * gcc.target/riscv/amo/a-ztso-store-relaxed.c: Ditto. - * gcc.target/riscv/amo/a-ztso-store-release.c: Ditto. - * gcc.target/riscv/amo/zaamo-rvwmo-amo-add-int.c: Ditto. - * gcc.target/riscv/amo/zaamo-ztso-amo-add-int.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acq-rel.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acquire.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-seq-cst.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acq-rel.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acquire.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-relaxed.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-release.c: Ditto. - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-seq-cst.c: Ditto. - -2024-06-26 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-fence-1.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-fence-2.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-fence-3.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-fence-4.c: Removed. - * gcc.target/riscv/amo/amo-table-a-6-fence-5.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-1.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-2.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-3.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-4.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-5.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-fence-1.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-fence-2.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-fence-3.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-fence-4.c: Removed. - * gcc.target/riscv/amo/amo-table-ztso-fence-5.c: Removed. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: Removed. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: Removed. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: Removed. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: Removed. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: Removed. - * gcc.target/riscv/amo/a-rvwmo-fence.c: New test. - * gcc.target/riscv/amo/a-ztso-fence.c: New test. - * gcc.target/riscv/amo/zaamo-rvwmo-amo-add-int.c: New test. - * gcc.target/riscv/amo/zaamo-ztso-amo-add-int.c: New test. - * gcc.target/riscv/amo/zalrsc-rvwmo-amo-add-int.c: New test. - * gcc.target/riscv/amo/zalrsc-ztso-amo-add-int.c: New test. - -2024-06-26 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Move to... - * gcc.target/riscv/amo/a-rvwmo-load-acquire.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Move to... - * gcc.target/riscv/amo/a-rvwmo-load-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Move to... - * gcc.target/riscv/amo/a-rvwmo-load-seq-cst.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Move to... - * gcc.target/riscv/amo/a-rvwmo-store-compat-seq-cst.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Move to... - * gcc.target/riscv/amo/a-rvwmo-store-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Move to... - * gcc.target/riscv/amo/a-rvwmo-store-release.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-load-2.c: Move to... - * gcc.target/riscv/amo/a-ztso-load-acquire.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-load-1.c: Move to... - * gcc.target/riscv/amo/a-ztso-load-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-load-3.c: Move to... - * gcc.target/riscv/amo/a-ztso-load-seq-cst.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-store-3.c: Move to... - * gcc.target/riscv/amo/a-ztso-store-compat-seq-cst.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-store-1.c: Move to... - * gcc.target/riscv/amo/a-ztso-store-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-store-2.c: Move to... - * gcc.target/riscv/amo/a-ztso-store-release.c: ...here. - * gcc.target/riscv/amo/amo-zaamo-preferred-over-zalrsc.c: Move to... - * gcc.target/riscv/amo/zaamo-preferred-over-zalrsc.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acq-rel.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acquire.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-release.c: ...here. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: Move to... - * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-seq-cst.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-6.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-3.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-2.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-1.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-4.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-7.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-5.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-4.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acq-rel.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-2.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acquire.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-1.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-relaxed.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-3.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-release.c: ...here. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-5.c: Move to... - * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-seq-cst.c: ...here. - -2024-06-26 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/altivec-1-runnable.c: Change the name to - altivec-38.c. - * gcc.target/powerpc/altivec-2-runnable.c: Change the name to - p8vector-builtin-9.c. - * gcc.target/powerpc/altivec-38.c: New file. - * gcc.target/powerpc/p8vector-builtin-9.c: New file. - -2024-06-26 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/altivec-2-runnable.c: Change the - require-effective-target for the test. - -2024-06-26 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/altivec-1-runnable.c: Change the - require-effective-target for the test. - -2024-06-26 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/sh/pr54602-1.c: Delete test. - -2024-06-26 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/xtheadmempair-3.c: Update expected output. - -2024-06-26 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/arm/mve/ivopts-3.c: New test. - -2024-06-26 Kewen Lin <linkw@linux.ibm.com> - Xionghu Luo <xionghuluo@tencent.com> - - PR target/106069 - PR target/115355 - * gcc.target/powerpc/pr106069-2.c: New test. - -2024-06-26 Kewen Lin <linkw@linux.ibm.com> - Xionghu Luo <xionghuluo@tencent.com> - - PR target/106069 - PR target/115355 - * gcc.target/powerpc/pr106069-1.c: New test. - -2024-06-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115646 - * gcc.dg/pr115646.c: New testcase. - -2024-06-26 Alexandre Oliva <oliva@adacore.com> - Richard Earnshaw <Richard.Earnshaw@arm.com> - - PR tree-optimization/113281 - * gcc.target/arm/simd/mve-vshr.c: Add expected ranges. - -2024-06-26 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx2-pr115517.c: New test. - * gcc.target/i386/avx512-pr115517.c: New test. - * g++.target/i386/avx2-pr115517.C: New test. - * g++.target/i386/avx512-pr115517.C: New test. - * g++.dg/tree-ssa/pr88152-1.C: Adjust testcase. - -2024-06-26 David Malcolm <dmalcolm@redhat.com> - - PR testsuite/109360 - * lib/scansarif.exp (verify-sarif-file): Use check-jsonschema - rather than jsonschema, updating the invocation accordingly. - * lib/target-supports.exp (check_effective_target_jsonschema): Convert - to... - (check_effective_target_check_jsonschema): ...this. - -2024-06-26 Patrick Palka <ppalka@redhat.com> - - PR c++/115504 - * g++.dg/cpp1y/decltype-auto8.C: New test. - -2024-06-25 Marek Polacek <polacek@redhat.com> - - PR c++/115476 - * g++.dg/cpp1z/has-unique-obj-representations4.C: New test. - -2024-06-25 Sergei Lewis <slewis@rivosinc.com> - - * gcc.target/riscv/rvv/base/cmpmem-1.c: New codegen tests - * gcc.target/riscv/rvv/base/cmpmem-2.c: New execution tests - * gcc.target/riscv/rvv/base/cmpmem-3.c: New codegen tests - * gcc.target/riscv/rvv/base/cmpmem-4.c: New codegen tests - * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: Turn off vector mem* and - str* handling. - -2024-06-25 Marek Polacek <polacek@redhat.com> - - PR c++/115425 - * g++.dg/cpp2a/lambda-generic12.C: New test. - -2024-06-25 Marek Polacek <polacek@redhat.com> - - PR c++/115501 - * g++.dg/rtti/dyncast8.C: New test. - -2024-06-25 Surya Kumari Jangala <jskumari@linux.ibm.com> - - PR rtl-optimization/111673 - * gcc.target/powerpc/pr111673.c: New test. - -2024-06-25 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115536 - * gm2/iso/const/pass/constbool4.mod: New test. - * gm2/iso/const/pass/constbool5.mod: New test. - * gm2/iso/run/pass/condtest2.mod: New test. - * gm2/iso/run/pass/condtest3.mod: New test. - * gm2/iso/run/pass/condtest4.mod: New test. - * gm2/iso/run/pass/condtest5.mod: New test. - * gm2/iso/run/pass/constbool4.mod: New test. - -2024-06-25 Patrick Palka <ppalka@redhat.com> - - PR c++/115198 - * g++.dg/cpp2a/class-deduction-alias22.C: New test. - -2024-06-25 Patrick Palka <ppalka@redhat.com> - - PR c++/115358 - * g++.dg/template/array37.C: New test. - -2024-06-25 Jakub Jelinek <jakub@redhat.com> - Martin Uecker <uecker@tugraz.at> - - PR c/114930 - PR c/115502 - * gcc.dg/pr114574-1.c: Require lto effective target. - * gcc.dg/pr114574-2.c: Likewise. - * gcc.dg/pr114930.c: New test. - * gcc.dg/pr115502.c: New test. - -2024-06-25 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Adjust - expected test output after late-combine changes. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv-nofm.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv32gcv.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv64gcv.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-1.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-5.c: Likewise. - -2024-06-24 Sergei Lewis <slewis@rivosinc.com> - - * gcc.target/riscv/rvv/base/setmem-1.c: New tests - * gcc.target/riscv/rvv/base/setmem-2.c: New tests - * gcc.target/riscv/rvv/base/setmem-3.c: New tests - -2024-06-24 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: Add dg-remove-options - for ztso. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-fence-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-fence-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-fence-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-fence-4.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-fence-5.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: Replace manually - specified -march string with dg-add/remove-options directives. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: Ditto. - * lib/target-supports-dg.exp: Add dg-remove-options. - * lib/target-supports.exp: Add dg-remove-options and consolidate z* - extension add/remove-option code. - -2024-06-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/55978 - * gfortran.dg/optional_absent_12.f90: New test. - -2024-06-24 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR tree-optimization/113673 - * g++.dg/pr113673.C: New test case. - -2024-06-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115602 - * gcc.dg/vect/pr115602.c: New testcase. - -2024-06-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115528 - * gfortran.dg/vect/pr115528.f: New testcase. - -2024-06-24 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/106594 - * gcc.dg/ira-shrinkwrap-prep-1.c: Restrict XFAIL to non-aarch64 - targets. - * gcc.dg/ira-shrinkwrap-prep-2.c: Likewise. - * gcc.dg/stack-check-4.c: Add -fno-shrink-wrap. - * gcc.target/aarch64/bitfield-bitint-abi-align16.c: Add - -fno-late-combine-instructions. - * gcc.target/aarch64/bitfield-bitint-abi-align8.c: Likewise. - * gcc.target/aarch64/sve/cond_asrd_3.c: Remove XFAILs. - * gcc.target/aarch64/sve/cond_convert_3.c: Likewise. - * gcc.target/aarch64/sve/cond_fabd_5.c: Likewise. - * gcc.target/aarch64/sve/cond_convert_6.c: Expect the MOVPRFX /Zs - described in the comment. - * gcc.target/aarch64/sve/cond_unary_4.c: Likewise. - * gcc.target/aarch64/pr106594_1.c: New test. - -2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org> - - PR target/113325 - * gcc.target/powerpc/pr113325.c: New. - -2024-06-23 Artemiy Volkov <Artemiy.Volkov@synopsys.com> - - * gcc.target/riscv/zicond-ice-5.c: New test. - -2024-06-23 Jeff Law <jlaw@ventanamicro.com> - - PR target/114139 - * gcc.target/riscv/pr114139.c: New test. - -2024-06-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115579 - * gcc.dg/pr115579.c: New testcase. - -2024-06-23 Craig Blackmore <craig.blackmore@embecosm.com> - - * gcc.target/riscv/mcpu-6.c: Skip for -O0, -O1, -Og. - * gcc.target/riscv/mcpu-7.c: Likewise. - -2024-06-23 demin.han <demin.han@starfivetech.com> - - * gcc.target/riscv/rvv/base/integer-cmp-eqne.c: New test. - -2024-06-22 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zbs-ext-2.c: Also skip for -Oz. - -2024-06-21 David Malcolm <dmalcolm@redhat.com> - - PR testsuite/109360 - * lib/sarif-schema-2.1.0.json: New file, downloaded from - https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/schemas/sarif-schema-2.1.0.json - Licensing information can be seen at - https://github.com/oasis-tcs/sarif-spec/issues/583 - which states "They are free to incorporate it into their - implementation. No need for special permission or paperwork from - OASIS." - * lib/scansarif.exp (verify-sarif-file): If "jsonschema" is - available, use it to verify that the .sarif file complies with the - SARIF schema. - * lib/target-supports.exp (check_effective_target_jsonschema): - New. - -2024-06-21 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/atomic10.adb: Adjust. - -2024-06-21 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/vect/pr68855.c: New test. - * gfortran.dg/vect/pr68855.f90: New test. - -2024-06-21 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/movcc-2.c: Add k?100:1000 test. - -2024-06-21 Kewen Lin <linkw@linux.ibm.com> - Xionghu Luo <xionghuluo@tencent.com> - - PR target/106069 - PR target/115355 - * g++.target/powerpc/pr106069.C: New test. - * gcc.target/powerpc/pr115355.c: New test. - -2024-06-20 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/apx-ccmp-2.c: Remove -mno-apxf in option. - * gcc.target/i386/funcspec-56.inc: Drop uintr tests. - * gcc.target/i386/funcspec-6.c: Add uintr tests. - -2024-06-20 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/59104 - * gfortran.dg/dependent_decls_2.f90: New test. - -2024-06-20 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114413 - * gcc.dg/vect/bb-slp-32.c: Expect CSE and vectorization on x86. - -2024-06-19 demin.han <demin.han@starfivetech.com> - - * gcc.target/riscv/rvv/base/float-point-cmp-eqne.c: New test. - -2024-06-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/115544 - * gcc.dg/bitint-107.c: New test. - -2024-06-19 mayshao <mayshao-oc@zhaoxin.com> - - * g++.target/i386/mv32.C: Handle new -march - * gcc.target/i386/funcspec-56.inc: Ditto. - -2024-06-19 Harald Anlauf <anlauf@gmx.de> - - PR fortran/115390 - * gfortran.dg/bind_c_char_11.f90: New test. - -2024-06-19 Andre Vieira <andre.simoesdiasvieira@arm.com> - Stam Markianos-Wright <stam.markianos-wright@arm.com> - - * gcc.target/arm/lob.h: Add new helpers. - * gcc.target/arm/lob1.c: Use new helpers. - * gcc.target/arm/lob6.c: Likewise. - * gcc.target/arm/mve/dlstp-compile-asm-1.c: New test. - * gcc.target/arm/mve/dlstp-compile-asm-2.c: New test. - * gcc.target/arm/mve/dlstp-compile-asm-3.c: New test. - * gcc.target/arm/mve/dlstp-int8x16.c: New test. - * gcc.target/arm/mve/dlstp-int8x16-run.c: New test. - * gcc.target/arm/mve/dlstp-int16x8.c: New test. - * gcc.target/arm/mve/dlstp-int16x8-run.c: New test. - * gcc.target/arm/mve/dlstp-int32x4.c: New test. - * gcc.target/arm/mve/dlstp-int32x4-run.c: New test. - * gcc.target/arm/mve/dlstp-int64x2.c: New test. - * gcc.target/arm/mve/dlstp-int64x2-run.c: New test. - * gcc.target/arm/mve/dlstp-invalid-asm.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-37.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-38.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-39.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-40.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-33.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-34.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-35.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-36.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-29.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-30.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-31.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-32.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-25.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-26.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-27.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-28.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-21.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-22.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-23.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-24.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-17.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-18.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-19.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-20.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-16.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-9.c: New test. - -2024-06-19 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/bb-slp-32.c: Add check for correctness. - -2024-06-19 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/90076 - * gfortran.dg/class_76.f90: Add declared vtab occurrence. - * gfortran.dg/class_78.f90: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - macro for testing. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-29.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-30.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-31.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-32.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - macro for testing. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-25.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-26.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-27.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-28.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - macro for testing. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-21.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-22.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-23.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-24.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - macro for testing. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-17.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-18.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-19.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-20.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - macro for testing. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-13.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-14.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-15.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-16.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - macro for testing. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-10.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-11.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-12.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-9.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper - macro for testing. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-8.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for - testing. - * gcc.target/riscv/sat_u_sub-45.c: New test. - * gcc.target/riscv/sat_u_sub-46.c: New test. - * gcc.target/riscv/sat_u_sub-47.c: New test. - * gcc.target/riscv/sat_u_sub-48.c: New test. - * gcc.target/riscv/sat_u_sub-run-45.c: New test. - * gcc.target/riscv/sat_u_sub-run-46.c: New test. - * gcc.target/riscv/sat_u_sub-run-47.c: New test. - * gcc.target/riscv/sat_u_sub-run-48.c: New test. - -2024-06-19 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper - macro for testing. - * gcc.target/riscv/sat_u_sub-41.c: New test. - * gcc.target/riscv/sat_u_sub-42.c: New test. - * gcc.target/riscv/sat_u_sub-43.c: New test. - * gcc.target/riscv/sat_u_sub-44.c: New test. - * gcc.target/riscv/sat_u_sub-run-41.c: New test. - * gcc.target/riscv/sat_u_sub-run-42.c: New test. - * gcc.target/riscv/sat_u_sub-run-43.c: New test. - * gcc.target/riscv/sat_u_sub-run-44.c: New test. - -2024-06-18 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zbs-ext-2.c: Do not run for -Os. - -2024-06-18 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Include - "simple-diagnostic-path.h". - -2024-06-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115537 - * gcc.dg/vect/pr115537.c: New testcase. - -2024-06-18 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zbs-ext-2.c: New file. - -2024-06-18 Richard Sandiford <richard.sandiford@arm.com> - - PR target/115464 - * gcc.target/aarch64/sve/acle/general/pr115464_2.c: New test. - -2024-06-18 Martin Uecker <uecker@tugraz.at> - - PR c/115109 - * gcc.dg/pr115109.c: New test. - * gcc.dg/c23-tag-enum-6.c: New test. - * gcc.dg/c23-tag-enum-7.c: New test. - -2024-06-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/111793 - * gcc.dg/vect/vect-simd-clone-21.c: New testcase. - -2024-06-18 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114842 - * c-c++-common/pr72747-1.c: Replace powerpc_altivec_ok with - powerpc_altivec, move dg-options and dg-additional-options lines - before dg-require-effective-target lines when it doesn't cause - any side effect like note message. - * c-c++-common/pr72747-2.c: Likewise. - * g++.dg/torture/pr79905.C: Likewise. - * g++.target/powerpc/altivec-1.C: Likewise. - * g++.target/powerpc/altivec-10.C: Likewise. - * g++.target/powerpc/altivec-11.C: Likewise. - * g++.target/powerpc/altivec-12.C: Likewise. - * g++.target/powerpc/altivec-13.C: Likewise. - * g++.target/powerpc/altivec-14.C: Likewise. - * g++.target/powerpc/altivec-15.C: Likewise. - * g++.target/powerpc/altivec-16.C: Likewise. - * g++.target/powerpc/altivec-17.C: Likewise. - * g++.target/powerpc/altivec-18.C: Likewise. - * g++.target/powerpc/altivec-2.C: Likewise. - * g++.target/powerpc/altivec-4.C: Likewise. - * g++.target/powerpc/altivec-5.C: Likewise. - * g++.target/powerpc/altivec-6.C: Likewise. - * g++.target/powerpc/altivec-7.C: Likewise. - * g++.target/powerpc/altivec-8.C: Likewise. - * g++.target/powerpc/altivec-9.C: Likewise. - * g++.target/powerpc/altivec-cell-1.C: Likewise. - * g++.target/powerpc/altivec-cell-5.C: Likewise. - * g++.target/powerpc/altivec-types-1.C: Likewise. - * g++.target/powerpc/altivec-types-2.C: Likewise. - * g++.target/powerpc/altivec-types-3.C: Likewise. - * g++.target/powerpc/altivec-types-4.C: Likewise. - * gcc.target/powerpc/altivec-1-runnable.c: Likewise. - * gcc.target/powerpc/altivec-11.c: Likewise. - * gcc.target/powerpc/altivec-13.c: Likewise. - * gcc.target/powerpc/altivec-14.c: Likewise. - * gcc.target/powerpc/altivec-15.c: Likewise. - * gcc.target/powerpc/altivec-16.c: Likewise. - * gcc.target/powerpc/altivec-17.c: Likewise. - * gcc.target/powerpc/altivec-18.c: Likewise. - * gcc.target/powerpc/altivec-19.c: Likewise. - * gcc.target/powerpc/altivec-2.c: Likewise. - * gcc.target/powerpc/altivec-21.c: Likewise. - * gcc.target/powerpc/altivec-22.c: Likewise. - * gcc.target/powerpc/altivec-23.c: Likewise. - * gcc.target/powerpc/altivec-25.c: Likewise. - * gcc.target/powerpc/altivec-26.c: Likewise. - * gcc.target/powerpc/altivec-27.c: Likewise. - * gcc.target/powerpc/altivec-28.c: Likewise. - * gcc.target/powerpc/altivec-29.c: Likewise. - * gcc.target/powerpc/altivec-30.c: Likewise. - * gcc.target/powerpc/altivec-31.c: Likewise. - * gcc.target/powerpc/altivec-32.c: Likewise. - * gcc.target/powerpc/altivec-33.c: Likewise. - * gcc.target/powerpc/altivec-34.c: Likewise. - * gcc.target/powerpc/altivec-35.c: Likewise. - * gcc.target/powerpc/altivec-36.c: Likewise. - * gcc.target/powerpc/altivec-4.c: Likewise. - * gcc.target/powerpc/altivec-5.c: Likewise. - * gcc.target/powerpc/altivec-6.c: Likewise. - * gcc.target/powerpc/altivec-7.c: Likewise. - * gcc.target/powerpc/altivec-8.c: Likewise. - * gcc.target/powerpc/altivec-9.c: Likewise. - * gcc.target/powerpc/altivec-cell-1.c: Likewise. - * gcc.target/powerpc/altivec-cell-5.c: Likewise. - * gcc.target/powerpc/altivec-cell-6.c: Likewise. - * gcc.target/powerpc/altivec-cell-7.c: Likewise. - * gcc.target/powerpc/altivec-perm-1.c: Likewise. - * gcc.target/powerpc/altivec-perm-2.c: Likewise. - * gcc.target/powerpc/altivec-perm-3.c: Likewise. - * gcc.target/powerpc/altivec-perm-4.c: Likewise. - * gcc.target/powerpc/altivec-pr22085.c: Likewise. - * gcc.target/powerpc/altivec-splat.c: Likewise. - * gcc.target/powerpc/altivec-types-1.c: Likewise. - * gcc.target/powerpc/altivec-types-2.c: Likewise. - * gcc.target/powerpc/altivec-types-3.c: Likewise. - * gcc.target/powerpc/altivec-types-4.c: Likewise. - * gcc.target/powerpc/altivec-volatile.c: Likewise. - * gcc.target/powerpc/altivec_vld_vst_addr-1.c: Likewise. - * gcc.target/powerpc/bool2-av.c: Likewise. - * gcc.target/powerpc/bool2-p5.c: Likewise. - * gcc.target/powerpc/bool3-av.c: Likewise. - * gcc.target/powerpc/builtin-vec-sums-be-int.c: Likewise. - * gcc.target/powerpc/builtins-3.c: Likewise. - * gcc.target/powerpc/cell_builtin-3.c: Likewise. - * gcc.target/powerpc/cell_builtin-5.c: Likewise. - * gcc.target/powerpc/cell_builtin-6.c: Likewise. - * gcc.target/powerpc/cell_builtin-7.c: Likewise. - * gcc.target/powerpc/cell_builtin-8.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-char-fwrapv.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-char.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int-fwrapv.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int-fwrapv.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int-fwrapv.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-short-fwrapv.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-short.c: Likewise. - * gcc.target/powerpc/fold-vec-add-1.c: Likewise. - * gcc.target/powerpc/fold-vec-add-2.c: Likewise. - * gcc.target/powerpc/fold-vec-add-3.c: Likewise. - * gcc.target/powerpc/fold-vec-add-5.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-double.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-ld-char.c: Likewise. - * gcc.target/powerpc/fold-vec-ld-float.c: Likewise. - * gcc.target/powerpc/fold-vec-ld-int.c: Likewise. - * gcc.target/powerpc/fold-vec-ld-short.c: Likewise. - * gcc.target/powerpc/fold-vec-madd-short.c: Likewise. - * gcc.target/powerpc/fold-vec-mergehl-char.c: Likewise. - * gcc.target/powerpc/fold-vec-mergehl-float.c: Likewise. - * gcc.target/powerpc/fold-vec-mergehl-int.c: Likewise. - * gcc.target/powerpc/fold-vec-mergehl-short.c: Likewise. - * gcc.target/powerpc/fold-vec-minmax-char.c: Likewise. - * gcc.target/powerpc/fold-vec-minmax-int.c: Likewise. - * gcc.target/powerpc/fold-vec-minmax-short.c: Likewise. - * gcc.target/powerpc/fold-vec-missing-lhs.c: Likewise. - * gcc.target/powerpc/fold-vec-msum-char.c: Likewise. - * gcc.target/powerpc/fold-vec-msum-short.c: Likewise. - * gcc.target/powerpc/fold-vec-mule-char.c: Likewise. - * gcc.target/powerpc/fold-vec-mule-short.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-char.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-short.c: Likewise. - * gcc.target/powerpc/fold-vec-pack-int.c: Likewise. - * gcc.target/powerpc/fold-vec-pack-short.c: Likewise. - * gcc.target/powerpc/fold-vec-perm-char.c: Likewise. - * gcc.target/powerpc/fold-vec-perm-float.c: Likewise. - * gcc.target/powerpc/fold-vec-perm-int.c: Likewise. - * gcc.target/powerpc/fold-vec-perm-pixel.c: Likewise. - * gcc.target/powerpc/fold-vec-perm-short.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-char.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-int.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-left-fwrapv.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-left.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-short.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-32.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-8.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-char.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-int.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-short.c: Likewise. - * gcc.target/powerpc/fold-vec-splats-char.c: Likewise. - * gcc.target/powerpc/fold-vec-splats-int.c: Likewise. - * gcc.target/powerpc/fold-vec-splats-short.c: Likewise. - * gcc.target/powerpc/fold-vec-st-char.c: Likewise. - * gcc.target/powerpc/fold-vec-st-float.c: Likewise. - * gcc.target/powerpc/fold-vec-st-int.c: Likewise. - * gcc.target/powerpc/fold-vec-st-short.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-char.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-float.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-int.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-short.c: Likewise. - * gcc.target/powerpc/fold-vec-sums-int.c: Likewise. - * gcc.target/powerpc/fold-vec-unpack-char.c: Likewise. - * gcc.target/powerpc/fold-vec-unpack-pixel.c: Likewise. - * gcc.target/powerpc/fold-vec-unpack-short.c: Likewise. - * gcc.target/powerpc/ppc-fma-3.c: Likewise. - * gcc.target/powerpc/ppc-fma-4.c: Likewise. - * gcc.target/powerpc/ppc-fma-7.c: Likewise. - * gcc.target/powerpc/ppc-vector-memcpy.c: Likewise. - * gcc.target/powerpc/ppc-vector-memset.c: Likewise. - * gcc.target/powerpc/pr100645.c: Likewise. - * gcc.target/powerpc/pr101384-1.c: Likewise. - * gcc.target/powerpc/pr101384-2.c: Likewise. - * gcc.target/powerpc/pr103353.c: Likewise. - * gcc.target/powerpc/pr103702.c: Likewise. - * gcc.target/powerpc/pr108348-1.c: Likewise. - * gcc.target/powerpc/pr108348-2.c: Likewise. - * gcc.target/powerpc/pr109932-1.c: Likewise. - * gcc.target/powerpc/pr109932-2.c: Likewise. - * gcc.target/powerpc/pr110776.c: Likewise. - * gcc.target/powerpc/pr16155.c: Likewise. - * gcc.target/powerpc/pr16286.c: Likewise. - * gcc.target/powerpc/pr27158.c: Likewise. - * gcc.target/powerpc/pr37168.c: Likewise. - * gcc.target/powerpc/pr47197.c: Likewise. - * gcc.target/powerpc/pr67071-1.c: Likewise. - * gcc.target/powerpc/pr67071-2.c: Likewise. - * gcc.target/powerpc/pr67071-3.c: Likewise. - * gcc.target/powerpc/pr70010-2.c: Likewise. - * gcc.target/powerpc/pr70010-3.c: Likewise. - * gcc.target/powerpc/pr71297.c: Likewise. - * gcc.target/powerpc/pr82112.c: Likewise. - * gcc.target/powerpc/pr84220-sld.c: Likewise. - * gcc.target/powerpc/pr84878.c: Likewise. - * gcc.target/powerpc/pr86731-fwrapv.c: Likewise. - * gcc.target/powerpc/pr86731.c: Likewise. - * gcc.target/powerpc/pr88100.c: Likewise. - * gcc.target/powerpc/pragma_power6.c: Likewise. - * gcc.target/powerpc/pragma_power7.c: Likewise. - * gcc.target/powerpc/pragma_power9.c: Likewise. - * gcc.target/powerpc/swaps-p8-21.c: Likewise. - * gcc.target/powerpc/unpack-vectorize-1.c: Likewise. - * gcc.target/powerpc/vec-cg.c: Likewise. - * gcc.target/powerpc/vec-cmpne.c: Likewise. - * gcc.target/powerpc/vec-constvolatile.c: Likewise. - * gcc.target/powerpc/vec-mult-char-2.c: Likewise. - * gcc.target/powerpc/vec-rotate-1.c: Likewise. - * gcc.target/powerpc/vec-rotate-3.c: Likewise. - * gcc.target/powerpc/vec-shift.c: Likewise. - * g++.target/powerpc/altivec-3.C: Likewise. - * g++.target/powerpc/altivec-cell-2.C: Likewise. - * g++.target/powerpc/altivec-cell-3.C: Likewise. - * g++.target/powerpc/altivec-cell-4.C: Likewise. - * g++.target/powerpc/const2.C: Likewise. - * gcc.dg/debug/dwarf2/const-2.c: Likewise. - * gcc.dg/dfp/altivec-types.c: Likewise. - * gcc.dg/ubsan/pr88234.c: Likewise. - * gcc.dg/vect/vect-82_64.c: Likewise. - * gcc.dg/vect/vect-83_64.c: Likewise. - * gcc.target/powerpc/altivec-1.c: Likewise. - * gcc.target/powerpc/altivec-10.c: Likewise. - * gcc.target/powerpc/altivec-12.c: Likewise. - * gcc.target/powerpc/altivec-20.c: Likewise. - * gcc.target/powerpc/altivec-24.c: Likewise. - * gcc.target/powerpc/altivec-3.c: Likewise. - * gcc.target/powerpc/altivec-cell-2.c: Likewise. - * gcc.target/powerpc/altivec-cell-3.c: Likewise. - * gcc.target/powerpc/altivec-cell-4.c: Likewise. - * gcc.target/powerpc/altivec-consts.c: Likewise. - * gcc.target/powerpc/altivec-macros.c: Likewise. - * gcc.target/powerpc/altivec-varargs-1.c: Likewise. - * gcc.target/powerpc/altivec-vec-merge.c: Likewise. - * gcc.target/powerpc/darwin-save-world-1.c: Likewise. - * gcc.target/powerpc/le-altivec-consts.c: Likewise. - * gcc.target/powerpc/pr35907.c: Likewise. - * gcc.target/powerpc/vec-mult-char-1.c: Likewise. - -2024-06-18 Hu, Lin1 <lin1.hu@intel.com> - - * gcc.target/i386/sse-cmp-1.c: New test. - * gcc.target/i386/sse-cmp-2.c: Ditto. - * gcc.target/i386/sse-cmp-error.c: Ditto. - -2024-06-17 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/97405 - * gcc.target/aarch64/sve/pr97405-1.c: New test. - -2024-06-17 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zbs-zext-3.c: New test. - -2024-06-17 Jakub Jelinek <jakub@redhat.com> - - PR driver/115440 - * g++.dg/cpp1z/pr115440.C: New test. - -2024-06-17 Andreas Krebbel <krebbel@linux.ibm.com> - - * g++.dg/torture/vshuf-mem.C: Use -march=z14 only, if the we are - on a machine which can actually run it. - -2024-06-17 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/c23-align-10.c, gcc.dg/c2y-align-1.c, - gcc.dg/c2y-align-2.c: New tests. - -2024-06-17 Jakub Jelinek <jakub@redhat.com> - - PR c/115290 - * c-c++-common/Warray-compare-3.c: New test. - -2024-06-17 Jakub Jelinek <jakub@redhat.com> - - PR target/111343 - PR c++/115511 - * g++.dg/cpp23/ext-floating18.C: New test. - -2024-06-17 Peter Bergner <bergner@linux.ibm.com> - - PR target/115389 - * gcc.target/powerpc/pr115389.c: New test. - -2024-06-17 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zbs-zext-2.c: New test. - -2024-06-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115508 - * gcc.target/i386/pr115508.c: New testcase. - -2024-06-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115492 - * gcc.dg/torture/pr115492.c: New testcase. - -2024-06-17 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/apx-zu-1.c: Add attribute for noinline, - and target apx. - * gcc.target/i386/apx-zu-2.c: Add target-support check. - -2024-06-17 Hu, Lin1 <lin1.hu@intel.com> - - PR target/115161 - * gcc.target/i386/pr115161-1.c: New test. - -2024-06-17 Andre Vehreschild <vehre@gcc.gnu.org> - - * gfortran.dg/coarray_alloc_comp_3.f08: Moved to... - * gfortran.dg/coarray/alloc_comp_8.f90: ...here. - Should be tested for both -fcoarray=single and lib, resp. - * gfortran.dg/coarray_alloc_comp_4.f08: Fix program name. - -2024-06-17 Levy Hsu <admin@levyhsu.com> - - * gcc.target/i386/vpermt2-special-bf16-shufflue.c: New test. - -2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/vector/vgm-df-1.c: Removed. - * gcc.target/s390/vector/vgm-di-1.c: Removed. - * gcc.target/s390/vector/vgm-hi-1.c: Removed. - * gcc.target/s390/vector/vgm-int128-1.c: Removed. - * gcc.target/s390/vector/vgm-longdouble-1.c: Removed. - * gcc.target/s390/vector/vgm-qi-1.c: Removed. - * gcc.target/s390/vector/vgm-sf-1.c: Removed. - * gcc.target/s390/vector/vgm-si-1.c: Removed. - * gcc.target/s390/vector/vgm-ti-1.c: Removed. - -2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/vector/vec-extend-3.c: New test. - * gcc.target/s390/vector/vgm-df-1.c: New file. - * gcc.target/s390/vector/vgm-di-1.c: New file. - * gcc.target/s390/vector/vgm-hi-1.c: New file. - * gcc.target/s390/vector/vgm-int128-1.c: New file. - * gcc.target/s390/vector/vgm-longdouble-1.c: New file. - * gcc.target/s390/vector/vgm-qi-1.c: New file. - * gcc.target/s390/vector/vgm-sf-1.c: New file. - * gcc.target/s390/vector/vgm-si-1.c: New file. - * gcc.target/s390/vector/vgm-ti-1.c: New file. - -2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/vector/vec-extend-1.c: New test. - * gcc.target/s390/vector/vec-extend-2.c: New test. - -2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/nobp-table-jump-inline-z10.c: Do not perform - IPA. - * gcc.target/s390/nobp-table-jump-inline-z900.c: Dito. - * gcc.target/s390/nobp-table-jump-z10.c: Dito. - * gcc.target/s390/nobp-table-jump-z900.c: Dito. - -2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/ifcvt-one-insn-bool.c: Fix loc. - -2024-06-16 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zbs-zext.c: New test. - -2024-06-15 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-5.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-6.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-7.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-8.c: New test. - -2024-06-15 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Leverage - the new header file for vector part. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-4.c: Ditto. - * gcc.target/riscv/sat_arith.h: Move vector part out. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: New test. - -2024-06-14 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/torture/vshuf-mem.C: Add -Wno-psabi to dg-options. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for test. - * gcc.target/riscv/sat_u_sub-37.c: New test. - * gcc.target/riscv/sat_u_sub-38.c: New test. - * gcc.target/riscv/sat_u_sub-39.c: New test. - * gcc.target/riscv/sat_u_sub-40.c: New test. - * gcc.target/riscv/sat_u_sub-run-37.c: New test. - * gcc.target/riscv/sat_u_sub-run-38.c: New test. - * gcc.target/riscv/sat_u_sub-run-39.c: New test. - * gcc.target/riscv/sat_u_sub-run-40.c: New test. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for test. - * gcc.target/riscv/sat_u_sub-33.c: New test. - * gcc.target/riscv/sat_u_sub-34.c: New test. - * gcc.target/riscv/sat_u_sub-35.c: New test. - * gcc.target/riscv/sat_u_sub-36.c: New test. - * gcc.target/riscv/sat_u_sub-run-33.c: New test. - * gcc.target/riscv/sat_u_sub-run-34.c: New test. - * gcc.target/riscv/sat_u_sub-run-35.c: New test. - * gcc.target/riscv/sat_u_sub-run-36.c: New test. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for test. - * gcc.target/riscv/sat_u_sub-29.c: New test. - * gcc.target/riscv/sat_u_sub-30.c: New test. - * gcc.target/riscv/sat_u_sub-31.c: New test. - * gcc.target/riscv/sat_u_sub-32.c: New test. - * gcc.target/riscv/sat_u_sub-run-29.c: New test. - * gcc.target/riscv/sat_u_sub-run-30.c: New test. - * gcc.target/riscv/sat_u_sub-run-31.c: New test. - * gcc.target/riscv/sat_u_sub-run-32.c: New test. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for test. - * gcc.target/riscv/sat_u_sub-25.c: New test. - * gcc.target/riscv/sat_u_sub-26.c: New test. - * gcc.target/riscv/sat_u_sub-27.c: New test. - * gcc.target/riscv/sat_u_sub-28.c: New test. - * gcc.target/riscv/sat_u_sub-run-25.c: New test. - * gcc.target/riscv/sat_u_sub-run-26.c: New test. - * gcc.target/riscv/sat_u_sub-run-27.c: New test. - * gcc.target/riscv/sat_u_sub-run-28.c: New test. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for test. - * gcc.target/riscv/sat_u_sub-21.c: New test. - * gcc.target/riscv/sat_u_sub-22.c: New test. - * gcc.target/riscv/sat_u_sub-23.c: New test. - * gcc.target/riscv/sat_u_sub-24.c: New test. - * gcc.target/riscv/sat_u_sub-run-21.c: New test. - * gcc.target/riscv/sat_u_sub-run-22.c: New test. - * gcc.target/riscv/sat_u_sub-run-23.c: New test. - * gcc.target/riscv/sat_u_sub-run-24.c: New test. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for test. - * gcc.target/riscv/sat_u_sub-17.c: New test. - * gcc.target/riscv/sat_u_sub-18.c: New test. - * gcc.target/riscv/sat_u_sub-19.c: New test. - * gcc.target/riscv/sat_u_sub-20.c: New test. - * gcc.target/riscv/sat_u_sub-run-17.c: New test. - * gcc.target/riscv/sat_u_sub-run-18.c: New test. - * gcc.target/riscv/sat_u_sub-run-19.c: New test. - * gcc.target/riscv/sat_u_sub-run-20.c: New test. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for test. - * gcc.target/riscv/sat_u_sub-13.c: New test. - * gcc.target/riscv/sat_u_sub-14.c: New test. - * gcc.target/riscv/sat_u_sub-15.c: New test. - * gcc.target/riscv/sat_u_sub-16.c: New test. - * gcc.target/riscv/sat_u_sub-run-13.c: New test. - * gcc.target/riscv/sat_u_sub-run-14.c: New test. - * gcc.target/riscv/sat_u_sub-run-15.c: New test. - * gcc.target/riscv/sat_u_sub-run-16.c: New test. - -2024-06-14 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for test. - * gcc.target/riscv/sat_u_sub-10.c: New test. - * gcc.target/riscv/sat_u_sub-11.c: New test. - * gcc.target/riscv/sat_u_sub-12.c: New test. - * gcc.target/riscv/sat_u_sub-9.c: New test. - * gcc.target/riscv/sat_u_sub-run-10.c: New test. - * gcc.target/riscv/sat_u_sub-run-11.c: New test. - * gcc.target/riscv/sat_u_sub-run-12.c: New test. - * gcc.target/riscv/sat_u_sub-run-9.c: New test. - -2024-06-14 Richard Biener <rguenther@suse.de> - - * gcc.target/i386/vect-strided-3.c: Disable SSE4 instead of AVX. - -2024-06-14 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-reduc-12.c: New testcase. - -2024-06-14 Pan Li <pan2.li@intel.com> - - PR target/115456 - * gcc.target/riscv/rvv/base/pr115456-2.c: New test. - * gcc.target/riscv/rvv/base/pr115456-3.c: New test. - -2024-06-14 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/pr115385.c: Enable AVX2 if available. - -2024-06-14 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/avx2-pr98461.c: Scan either notl or - vpternlog. - * gcc.target/i386/avx512f-pr96891-3.c: Also scan for inversed - condition. - * gcc.target/i386/avx512f-vpternlogd-3.c: Adjust vpternlog - number to 673. - * gcc.target/i386/avx512f-vpternlogd-4.c: Ditto. - * gcc.target/i386/avx512f-vpternlogd-5.c: Ditto. - * gcc.target/i386/sse2-v1ti-vne.c: Add -mno-avx512f. - -2024-06-14 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/i386/pr115407.c: New test case. - -2024-06-14 Alexandre Oliva <oliva@gnu.org> - - Revert: - 2024-06-14 Alexandre Oliva <oliva@adacore.com> - - * gnat.dg/bias1.adb: Count occurrences of -7.*DW_AT_GNU_bias. - -2024-06-13 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Increase test coverage to - include longs, shorts, chars, and bools. - * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-load-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-load-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-load-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-store-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-store-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-store-3.c: Ditto. - -2024-06-13 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/c23-complex-1.c, gcc.dg/c23-complex-2.c, - gcc.dg/c23-complex-3.c, gcc.dg/c23-complex-4.c, - gcc.dg/c2y-complex-1.c, gcc.dg/c2y-complex-2.c: New tests. - -2024-06-13 Carl Love <cel@linux.ibm.com> - - * gcc.target/powerpc/altivec-2-runnable.c: Change dg-do - argument to run. - -2024-06-13 Jason Merrill <jason@redhat.com> - - PR c++/114683 - * g++.dg/modules/using-22_a.C: New test. - * g++.dg/modules/using-22_b.C: New test. - -2024-06-13 Jason Merrill <jason@redhat.com> - - PR c++/115194 - * g++.dg/modules/using-23_a.C: New test. - * g++.dg/modules/using-23_b.C: New test. - -2024-06-13 Patrick Palka <ppalka@redhat.com> - - PR c++/99678 - * g++.dg/cpp2a/concepts-requires38.C: New test. - -2024-06-13 Patrick Palka <ppalka@redhat.com> - - PR c++/115239 - * g++.dg/overload/error7.C: New test. - -2024-06-13 Richard Sandiford <richard.sandiford@arm.com> - - PR target/115464 - * gcc.target/aarch64/sve/acle/general/pr115464.c: New test. - -2024-06-13 Pan Li <pan2.li@intel.com> - - PR target/115456 - * gcc.target/riscv/rvv/base/pr115456-1.c: New test. - -2024-06-13 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/apx-ccmp-1.c: Adjust output to scan ctest. - * gcc.target/i386/apx-ccmp-2.c: Adjust some condition to - compare with 0. - -2024-06-13 Richard Biener <rguenther@suse.de> - - * gcc.target/i386/vect-strided-1.c: New testcase. - * gcc.target/i386/vect-strided-2.c: Likewise. - * gcc.target/i386/vect-strided-3.c: Likewise. - * gcc.target/i386/vect-strided-4.c: Likewise. - -2024-06-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115385 - * gcc.dg/vect/pr115385.c: New testcase. - * gcc.target/i386/vect-pr115385.c: Likewise. - -2024-06-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114107 - PR tree-optimization/110445 - * gcc.dg/vect/pr114107.c: New testcase. - * gcc.dg/vect/pr103116-1.c: Adjust. - * gcc.dg/vect/pr103116-2.c: Likewise. - -2024-06-13 Andi Kleen <ak@linux.intel.com> - - * g++.dg/cpp1z/constexpr-asm-3.C: Adjust for new message. - -2024-06-13 Andi Kleen <ak@linux.intel.com> - - * g++.dg/cpp1z/constexpr-asm-1.C: Use std::std_string_view. - * g++.dg/cpp1z/constexpr-asm-3.C: Dito. - -2024-06-13 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr115452.c: New test. - -2024-06-13 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/pr115387-1.c: Move to... - * gcc.dg/torture/pr115387-1.c: ...here. - * gcc.target/riscv/pr115387-2.c: Move to... - * gcc.dg/torture/pr115387-2.c: ...here. - -2024-06-13 Peter Bergner <bergner@linux.ibm.com> - - PR testsuite/115262 - * gcc.target/powerpc/pr66144-3.c (dg-do): Compile for all targets. - (dg-options): Add -fno-unroll-loops and remove -mvsx. - (scan-assembler): Change from this... - (scan-assembler-times): ...to this. Tweak regex to accept multiple - allowable instructions. - -2024-06-13 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/apx-zu-1.c: New test. - * gcc.target/i386/apx-zu-2.c: New test. - -2024-06-13 Patrick Palka <ppalka@redhat.com> - - PR c++/115283 - * g++.dg/template/linkage5.C: New test. - -2024-06-12 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/using-21_a.C: New test. - -2024-06-12 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/using-20_a.C: New test. - -2024-06-12 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp26/static_assert1.C: Fix diagnostic typos. - -2024-06-12 Patrick O'Neill <patrick@rivosinc.com> - - * lib/target-supports.exp: Cleanup whitespace. - -2024-06-12 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Update temp register regex. - * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-load-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-load-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-load-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-store-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-store-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-store-3.c: Ditto. - -2024-06-12 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: Update - __atomic_add_fetch args. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: Ditto. - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-4.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-amo-add-5.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-1.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-2.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-3.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-4.c: Ditto. - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-5.c: Ditto. - * gcc.target/riscv/amo/amo-zaamo-preferred-over-zalrsc.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: Ditto. - * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: Ditto. - -2024-06-12 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo-table-a-6-amo-add-1.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: ...here. - * gcc.target/riscv/amo-table-a-6-amo-add-2.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: ...here. - * gcc.target/riscv/amo-table-a-6-amo-add-3.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: ...here. - * gcc.target/riscv/amo-table-a-6-amo-add-4.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: ...here. - * gcc.target/riscv/amo-table-a-6-amo-add-5.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: ...here. - * gcc.target/riscv/amo-table-a-6-compare-exchange-1.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c: ...here. - * gcc.target/riscv/amo-table-a-6-compare-exchange-2.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c: ...here. - * gcc.target/riscv/amo-table-a-6-compare-exchange-3.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c: ...here. - * gcc.target/riscv/amo-table-a-6-compare-exchange-4.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c: ...here. - * gcc.target/riscv/amo-table-a-6-compare-exchange-5.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c: ...here. - * gcc.target/riscv/amo-table-a-6-compare-exchange-6.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c: ...here. - * gcc.target/riscv/amo-table-a-6-compare-exchange-7.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c: ...here. - * gcc.target/riscv/amo-table-a-6-fence-1.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-fence-1.c: ...here. - * gcc.target/riscv/amo-table-a-6-fence-2.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-fence-2.c: ...here. - * gcc.target/riscv/amo-table-a-6-fence-3.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-fence-3.c: ...here. - * gcc.target/riscv/amo-table-a-6-fence-4.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-fence-4.c: ...here. - * gcc.target/riscv/amo-table-a-6-fence-5.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-fence-5.c: ...here. - * gcc.target/riscv/amo-table-a-6-load-1.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-load-1.c: ...here. - * gcc.target/riscv/amo-table-a-6-load-2.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-load-2.c: ...here. - * gcc.target/riscv/amo-table-a-6-load-3.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-load-3.c: ...here. - * gcc.target/riscv/amo-table-a-6-store-1.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-store-1.c: ...here. - * gcc.target/riscv/amo-table-a-6-store-2.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-store-2.c: ...here. - * gcc.target/riscv/amo-table-a-6-store-compat-3.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: ...here. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-1.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: ...here. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-2.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: ...here. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-3.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: ...here. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-4.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: ...here. - * gcc.target/riscv/amo-table-a-6-subword-amo-add-5.c: Move to... - * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: ...here. - * gcc.target/riscv/amo-table-ztso-amo-add-1.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-amo-add-1.c: ...here. - * gcc.target/riscv/amo-table-ztso-amo-add-2.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-amo-add-2.c: ...here. - * gcc.target/riscv/amo-table-ztso-amo-add-3.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-amo-add-3.c: ...here. - * gcc.target/riscv/amo-table-ztso-amo-add-4.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-amo-add-4.c: ...here. - * gcc.target/riscv/amo-table-ztso-amo-add-5.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-amo-add-5.c: ...here. - * gcc.target/riscv/amo-table-ztso-compare-exchange-1.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-1.c: ...here. - * gcc.target/riscv/amo-table-ztso-compare-exchange-2.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-2.c: ...here. - * gcc.target/riscv/amo-table-ztso-compare-exchange-3.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-3.c: ...here. - * gcc.target/riscv/amo-table-ztso-compare-exchange-4.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-4.c: ...here. - * gcc.target/riscv/amo-table-ztso-compare-exchange-5.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-5.c: ...here. - * gcc.target/riscv/amo-table-ztso-compare-exchange-6.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-6.c: ...here. - * gcc.target/riscv/amo-table-ztso-compare-exchange-7.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-7.c: ...here. - * gcc.target/riscv/amo-table-ztso-fence-1.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-fence-1.c: ...here. - * gcc.target/riscv/amo-table-ztso-fence-2.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-fence-2.c: ...here. - * gcc.target/riscv/amo-table-ztso-fence-3.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-fence-3.c: ...here. - * gcc.target/riscv/amo-table-ztso-fence-4.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-fence-4.c: ...here. - * gcc.target/riscv/amo-table-ztso-fence-5.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-fence-5.c: ...here. - * gcc.target/riscv/amo-table-ztso-load-1.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-load-1.c: ...here. - * gcc.target/riscv/amo-table-ztso-load-2.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-load-2.c: ...here. - * gcc.target/riscv/amo-table-ztso-load-3.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-load-3.c: ...here. - * gcc.target/riscv/amo-table-ztso-store-1.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-store-1.c: ...here. - * gcc.target/riscv/amo-table-ztso-store-2.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-store-2.c: ...here. - * gcc.target/riscv/amo-table-ztso-store-3.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-store-3.c: ...here. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-1.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-1.c: ...here. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-2.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-2.c: ...here. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-3.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-3.c: ...here. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-4.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-4.c: ...here. - * gcc.target/riscv/amo-table-ztso-subword-amo-add-5.c: Move to... - * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-5.c: ...here. - * gcc.target/riscv/amo-zaamo-preferred-over-zalrsc.c: Move to... - * gcc.target/riscv/amo/amo-zaamo-preferred-over-zalrsc.c: ...here. - * gcc.target/riscv/amo-zalrsc-amo-add-1.c: Move to... - * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: ...here. - * gcc.target/riscv/amo-zalrsc-amo-add-2.c: Move to... - * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: ...here. - * gcc.target/riscv/amo-zalrsc-amo-add-3.c: Move to... - * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: ...here. - * gcc.target/riscv/amo-zalrsc-amo-add-4.c: Move to... - * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: ...here. - * gcc.target/riscv/amo-zalrsc-amo-add-5.c: Move to... - * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: ...here. - * gcc.target/riscv/inline-atomics-1.c: Move to... - * gcc.target/riscv/amo/inline-atomics-1.c: ...here. - * gcc.target/riscv/inline-atomics-2.c: Move to... - * gcc.target/riscv/amo/inline-atomics-2.c: ...here. - * gcc.target/riscv/inline-atomics-3.c: Move to... - * gcc.target/riscv/amo/inline-atomics-3.c: ...here. - * gcc.target/riscv/inline-atomics-4.c: Move to... - * gcc.target/riscv/amo/inline-atomics-4.c: ...here. - * gcc.target/riscv/inline-atomics-5.c: Move to... - * gcc.target/riscv/amo/inline-atomics-5.c: ...here. - * gcc.target/riscv/inline-atomics-6.c: Move to... - * gcc.target/riscv/amo/inline-atomics-6.c: ...here. - * gcc.target/riscv/inline-atomics-7.c: Move to... - * gcc.target/riscv/amo/inline-atomics-7.c: ...here. - * gcc.target/riscv/inline-atomics-8.c: Move to... - * gcc.target/riscv/amo/inline-atomics-8.c: ...here. - * gcc.target/riscv/pr114130.c: Move to... - * gcc.target/riscv/amo/pr114130.c: ...here. - * gcc.target/riscv/pr89835.c: Move to... - * gcc.target/riscv/amo/pr89835.c: ...here. - * gcc.target/riscv/amo/amo.exp: New file. - -2024-06-12 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115449 - * gcc.dg/tree-ssa/bitops-10.c: New test. - -2024-06-12 Victor Do Nascimento <victor.donascimento@arm.com> - - * gcc.dg/vect/vect-prefetch-drop.c: New test. - * gcc.target/aarch64/vect-prefetch-drop.c: Likewise. - -2024-06-12 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_cpython_plugin.c (dump_refcnt_info): - Update for fields of pretty_printer becoming private. - -2024-06-12 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/bstrins-1.c: New test. - * gcc.target/loongarch/bstrins-2.c: New test. - -2024-06-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - Yvan ROUX <yvan.roux@foss.st.com> - - PR target/115253 - * gcc.target/arm/cmse/extend-return.c: Update test case - condition for Armv8.1-M. - -2024-06-12 Alexandre Oliva <oliva@adacore.com> - - PR tree-optimization/113681 - * c-c++-common/strub-pr113681.c: New. - -2024-06-12 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/arm/multilib.exp: Skip based on board cflags too. - -2024-06-12 Alexandre Oliva <oliva@adacore.com> - - * gnat.dg/bias1.adb: Count occurrences of -7.*DW_AT_GNU_bias. - -2024-06-12 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr115384.c: New test. - -2024-06-11 Joseph Myers <josmyers@redhat.com> - - * gcc.dg/c23-generic-1.c, gcc.dg/c23-generic-2.c, - gcc.dg/c23-generic-3.c, gcc.dg/c23-generic-4.c, - gcc.dg/c2y-generic-1.c, gcc.dg/c2y-generic-2.c, - gcc.dg/c2y-generic-3.c, gcc.dg/gnu2y-generic-1.c: New tests. - * gcc.dg/c23-tag-6.c: Use -pedantic-errors. - -2024-06-11 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo-zaamo-preferred-over-zalrsc.c: New test. - * gcc.target/riscv/amo-zalrsc-amo-add-1.c: New test. - * gcc.target/riscv/amo-zalrsc-amo-add-2.c: New test. - * gcc.target/riscv/amo-zalrsc-amo-add-3.c: New test. - * gcc.target/riscv/amo-zalrsc-amo-add-4.c: New test. - * gcc.target/riscv/amo-zalrsc-amo-add-5.c: New test. - -2024-06-11 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo-table-a-6-amo-add-1.c: Use Zaamo rather than A. - * 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: Use Zalrsc rather - than A. - * 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: Use Zaamo rather - than A. - * 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/amo-table-ztso-amo-add-1.c: Add Zaamo option. - * 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: Use Zalrsc rather - than A. - * 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-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 testsuite infrastructure support for - Zaamo and Zalrsc. - -2024-06-11 Edwin Lu <ewlu@rivosinc.com> - Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/attribute-15.c: Adjust expected arch string. - * gcc.target/riscv/attribute-16.c: Ditto. - * gcc.target/riscv/attribute-17.c: Ditto. - * gcc.target/riscv/attribute-18.c: Ditto. - * gcc.target/riscv/pr110696.c: Ditto. - * gcc.target/riscv/rvv/base/pr114352-1.c: Ditto. - * gcc.target/riscv/rvv/base/pr114352-3.c: Ditto. - -2024-06-11 Uros Bizjak <ubizjak@gmail.com> - - PR target/112600 - * gcc.target/i386/pr112600-a.c: Also scan for cmov. - * gcc.target/i386/pr112600-b.c: Ditto. - -2024-06-11 Pengxuan Zheng <quic_pzheng@quicinc.com> - - * gcc.target/aarch64/trunc-vec.c: New test. - -2024-06-11 Andi Kleen <ak@linux.intel.com> - - * g++.dg/ext/asm11.C: Adjust to new error message. - * g++.dg/ext/asm9.C: Dito. - * g++.dg/parse/asm1.C: Dito. - * g++.dg/parse/asm2.C: Dito. - * g++.dg/parse/asm3.C: Dito. - * g++.dg/cpp1z/constexpr-asm-1.C: New test. - * g++.dg/cpp1z/constexpr-asm-2.C: New test. - * g++.dg/cpp1z/constexpr-asm-3.C: New test. - -2024-06-11 Andi Kleen <ak@linux.intel.com> - - * g++.dg/cpp26/static_assert1.C: Update to new error message. - * g++.dg/cpp0x/udlit-error1.C: Dito. - -2024-06-11 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114529 - * gm2/base-lang/pass/SYSTEM.def: New test. - * gm2/base-lang/pass/base-lang-test.sh: New test. - * gm2/base-lang/pass/globalproctype.def: New test. - * gm2/base-lang/pass/globalproctype.mod: New test. - * gm2/base-lang/pass/globalvar.def: New test. - * gm2/base-lang/pass/globalvar.mod: New test. - * gm2/base-lang/pass/globalvarassign.def: New test. - * gm2/base-lang/pass/globalvarassign.mod: New test. - * gm2/base-lang/pass/localproctype.def: New test. - * gm2/base-lang/pass/localproctype.mod: New test. - * gm2/base-lang/pass/localvar.def: New test. - * gm2/base-lang/pass/localvar.mod: New test. - * gm2/base-lang/pass/localvarassign.def: New test. - * gm2/base-lang/pass/localvarassign.mod: New test. - * gm2/base-lang/pass/opaquefield.def: New test. - * gm2/base-lang/pass/opaquefield.mod: New test. - * gm2/base-lang/pass/opaquenew.def: New test. - * gm2/base-lang/pass/opaquenew.mod: New test. - * gm2/base-lang/pass/opaqueparam.def: New test. - * gm2/base-lang/pass/opaqueparam.mod: New test. - * gm2/base-lang/pass/opaquestr.def: New test. - * gm2/base-lang/pass/opaqueuse.def: New test. - * gm2/base-lang/pass/opaqueuse.mod: New test. - * gm2/base-lang/pass/opaqueusestr.def: New test. - * gm2/base-lang/pass/opaqueusestr.mod: New test. - * gm2/base-lang/pass/opaquevariant.def: New test. - * gm2/base-lang/pass/opaquevariant.mod: New test. - * gm2/base-lang/pass/opaquevarparam.def: New test. - * gm2/base-lang/pass/opaquevarparam.mod: New test. - * gm2/base-lang/pass/simplelist.def: New test. - * gm2/base-lang/pass/simplelist.mod: New test. - * gm2/base-lang/pass/simplelistiter.def: New test. - * gm2/base-lang/pass/simplelistiter.mod: New test. - * gm2/base-lang/pass/simpleopaque.def: New test. - * gm2/base-lang/pass/simpleopaque.mod: New test. - * gm2/base-lang/pass/straddress.def: New test. - * gm2/base-lang/pass/straddress.mod: New test. - * gm2/base-lang/pass/straddressexport.def: New test. - * gm2/base-lang/pass/straddressexport.mod: New test. - * gm2/base-lang/pass/unboundedarray.def: New test. - * gm2/base-lang/pass/unboundedarray.mod: New test. - -2024-06-11 Roger Sayle <roger@nextmovesoftware.com> - - PR target/115397 - * gcc.target/i386/pr115397.c: New test case. - -2024-06-11 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macros for test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-4.c: New test. - -2024-06-11 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/round_32.c: Delete. - -2024-06-10 Raphael Zinsly <rzinsly@ventanamicro.com> - - * gcc.target/riscv/zbs-ext.c: New test. - -2024-06-10 Pan Li <pan2.li@intel.com> - - PR target/115387 - * gcc.target/riscv/pr115387-1.c: New test. - * gcc.target/riscv/pr115387-2.c: New test. - -2024-06-10 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/115415 - PR tree-optimization/115388 - * gcc.dg/torture/pr115388.c: Use `signed char` directly instead - of plain `char`. - -2024-06-10 Raphael Zinsly <rzinsly@ventanamicro.com> - - * gcc.target/riscv/bext-ext.c: New test. - -2024-06-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115388 - * gcc.dg/torture/pr115388.c: New testcase. - -2024-06-10 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114708 - * gnat.dg/incomplete8.adb: New test. - -2024-06-10 Eric Botcazou <ebotcazou@adacore.com> - - PR ada/114398 - * gnat.dg/access11.adb: New test. - -2024-06-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115395 - * gcc.dg/vect/pr115395.c: New testcase. - -2024-06-10 Andreas Krebbel <krebbel@linux.ibm.com> - - * g++.dg/torture/vshuf-mem.C: New test. - -2024-06-10 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/r10k-cache-barrier-13.c: Add -mno-branch-likely - option. - -2024-06-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115383 - * gcc.dg/vect/pr115383.c: New testcase. - -2024-06-09 Uros Bizjak <ubizjak@gmail.com> - - PR target/112600 - * gcc.target/i386/pr112600-b.c: New test. - -2024-06-08 Simon Martin <simon@nasilyan.com> - - PR c++/108438 - * g++.dg/parse/crash75.C: New test. - -2024-06-08 Uros Bizjak <ubizjak@gmail.com> - - PR target/112600 - * gcc.target/i386/pr112600-a.c: New test. - -2024-06-08 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test macros and comments. - * gcc.target/riscv/sat_u_sub-1.c: New test. - * gcc.target/riscv/sat_u_sub-2.c: New test. - * gcc.target/riscv/sat_u_sub-3.c: New test. - * gcc.target/riscv/sat_u_sub-4.c: New test. - * gcc.target/riscv/sat_u_sub-5.c: New test. - * gcc.target/riscv/sat_u_sub-6.c: New test. - * gcc.target/riscv/sat_u_sub-7.c: New test. - * gcc.target/riscv/sat_u_sub-8.c: New test. - * gcc.target/riscv/sat_u_sub-run-1.c: New test. - * gcc.target/riscv/sat_u_sub-run-2.c: New test. - * gcc.target/riscv/sat_u_sub-run-3.c: New test. - * gcc.target/riscv/sat_u_sub-run-4.c: New test. - * gcc.target/riscv/sat_u_sub-run-5.c: New test. - * gcc.target/riscv/sat_u_sub-run-6.c: New test. - * gcc.target/riscv/sat_u_sub-run-7.c: New test. - * gcc.target/riscv/sat_u_sub-run-8.c: New test. - -2024-06-07 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/taint-alloc-4.c: Update expected result to - reflect change in message due to - region_model::get_representative_path_var_1 now handling RK_CAST. - -2024-06-07 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/105892 - * c-c++-common/analyzer/out-of-bounds-pr110387.c: Add - expected warnings about pointer subtraction. - * c-c++-common/analyzer/ptr-subtraction-1.c: New test. - * c-c++-common/analyzer/ptr-subtraction-CWE-469-example.c: New test. - -2024-06-07 Simon Martin <simon@nasilyan.com> - - PR c++/107575 - * g++.dg/parse/crash74.C: New test. - -2024-06-07 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/dashinclude-1_b.C: New test. - * g++.dg/modules/dashinclude-1_a.H: New test. - -2024-06-07 Patrick Palka <ppalka@redhat.com> - - PR c++/115378 - * g++.dg/cpp1y/decltype-auto-103497.C: Adjust expected diagnostic. - * g++.dg/template/pr95672.C: Likewise. - * g++.dg/cpp2a/lambda-targ5.C: New test. - -2024-06-07 Roger Sayle <roger@nextmovesoftware.com> - - PR target/115351 - * g++.target/i386/pr115351.C: New test case. - -2024-06-07 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - * gcc.target/i386/avx512f-vpternlogd-1.c: Update test case. - * gcc.target/i386/avx512f-vpternlogq-1.c: Likewise. - * gcc.target/i386/avx512vl-vpternlogd-1.c: Likewise. - * gcc.target/i386/avx512vl-vpternlogq-1.c: Likewise. - * gcc.target/i386/pr100711-4.c: Likewise. - * gcc.target/i386/pr100711-5.c: Likewise. - * gcc.target/i386/avx512f-vpternlogd-3.c: New 128-bit test case. - * gcc.target/i386/avx512f-vpternlogd-4.c: New 256-bit test case. - * gcc.target/i386/avx512f-vpternlogd-5.c: New 512-bit test case. - * gcc.target/i386/avx512f-vpternlogq-3.c: New test case. - -2024-06-07 Michal Jires <mjires@suse.cz> - - * gcc.dg/completion-2.c: Add -flto-partition=cache. - -2024-06-07 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/90068 - * gfortran.dg/finalize_57.f90: New test. - -2024-06-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/115352 - * gcc.dg/torture/bitint-71.c: New test. - -2024-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR go/87589 - * go.test/go-test.exp (go-gc-tests): Require split-stack support - for index0.go. - -2024-06-07 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/90072 - * gfortran.dg/class_77.f90: New test. - -2024-06-07 liuhongt <hongtao.liu@intel.com> - - * gcc.dg/vect/pr112325.c:Add additional option --param - max-completely-peeled-insns=200 for power64*-*-*. - -2024-06-07 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test macro for form 5. - * gcc.target/riscv/sat_u_add-21.c: New test. - * gcc.target/riscv/sat_u_add-22.c: New test. - * gcc.target/riscv/sat_u_add-23.c: New test. - * gcc.target/riscv/sat_u_add-24.c: New test. - * gcc.target/riscv/sat_u_add-run-21.c: New test. - * gcc.target/riscv/sat_u_add-run-22.c: New test. - * gcc.target/riscv/sat_u_add-run-23.c: New test. - * gcc.target/riscv/sat_u_add-run-24.c: New test. - -2024-06-07 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test macro for form 4. - * gcc.target/riscv/sat_u_add-17.c: New test. - * gcc.target/riscv/sat_u_add-18.c: New test. - * gcc.target/riscv/sat_u_add-19.c: New test. - * gcc.target/riscv/sat_u_add-20.c: New test. - * gcc.target/riscv/sat_u_add-run-17.c: New test. - * gcc.target/riscv/sat_u_add-run-18.c: New test. - * gcc.target/riscv/sat_u_add-run-19.c: New test. - * gcc.target/riscv/sat_u_add-run-20.c: New test. - -2024-06-07 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test macro for form 3. - * gcc.target/riscv/sat_u_add-13.c: New test. - * gcc.target/riscv/sat_u_add-14.c: New test. - * gcc.target/riscv/sat_u_add-15.c: New test. - * gcc.target/riscv/sat_u_add-16.c: New test. - * gcc.target/riscv/sat_u_add-run-13.c: New test. - * gcc.target/riscv/sat_u_add-run-14.c: New test. - * gcc.target/riscv/sat_u_add-run-15.c: New test. - * gcc.target/riscv/sat_u_add-run-16.c: New test. - -2024-06-07 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add test macro for form 2. - * gcc.target/riscv/sat_u_add-10.c: New test. - * gcc.target/riscv/sat_u_add-11.c: New test. - * gcc.target/riscv/sat_u_add-12.c: New test. - * gcc.target/riscv/sat_u_add-9.c: New test. - * gcc.target/riscv/sat_u_add-run-10.c: New test. - * gcc.target/riscv/sat_u_add-run-11.c: New test. - * gcc.target/riscv/sat_u_add-run-12.c: New test. - * gcc.target/riscv/sat_u_add-run-9.c: New test. - -2024-06-07 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/sat_arith.h: Add helper macro for form 1. - * gcc.target/riscv/sat_u_add-5.c: New test. - * gcc.target/riscv/sat_u_add-6.c: New test. - * gcc.target/riscv/sat_u_add-7.c: New test. - * gcc.target/riscv/sat_u_add-8.c: New test. - * gcc.target/riscv/sat_u_add-run-5.c: New test. - * gcc.target/riscv/sat_u_add-run-6.c: New test. - * gcc.target/riscv/sat_u_add-run-7.c: New test. - * gcc.target/riscv/sat_u_add-run-8.c: New test. - -2024-06-06 Jakub Jelinek <jakub@redhat.com> - - PR c/114493 - * gcc.dg/pr114493-1.c: New test. - * gcc.dg/pr114493-2.c: New test. - -2024-06-06 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/113880 - PR target/113869 - * gcc.target/aarch64/extend-vec.c: New test. - -2024-06-06 Uros Bizjak <ubizjak@gmail.com> - - PR middle-end/112600 - * gcc.target/i386/pr112600-2a.c: New test. - * gcc.target/i386/pr112600-2b.c: New test. - -2024-06-06 Richard Ball <richard.ball@arm.com> - - * gcc.target/arm/thumb2-switchstatement.c: New test. - -2024-06-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/nvptx/nvptx.exp - (check_effective_target_default_ptx_isa_version_at_least_6_0): - New. - * gcc.target/nvptx/uniform-simt-2.c: Adjust. - * gcc.target/nvptx/uniform-simt-5.c: New. - -2024-06-06 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/apx-ccmp-1.c: Add test for fp compare. - * gcc.target/i386/apx-ccmp-2.c: Likewise. - -2024-06-06 Hongyu Wang <hongyu.wang@intel.com> - - * gcc.target/i386/apx-ccmp-1.c: New compile test. - * gcc.target/i386/apx-ccmp-2.c: New runtime test. - -2024-06-06 Hongyu Wang <hongyu.wang@intel.com> - - PR target/115341 - * lib/target-supports.exp (check_effective_target_apxf): - Check for all apx sub-features. - -2024-06-06 liuhongt <hongtao.liu@intel.com> - - PR target/115365 - * gcc.dg/pr100927.c: Don't scan fix:SI from the note. - -2024-06-06 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr114428.c: New test. - -2024-06-06 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr114428-1.c: New test. - -2024-06-05 Robin Dapp <rdapp.gcc@gmail.com> - - * lib/target-supports.exp: Add - check_effective_target_riscv_v_misalign_ok. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Add - -mno-vector-strict-align. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-8.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-9.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: Ditto. - -2024-06-05 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/aarch64/sve/pred_clobber_1.c: New test. - * gcc.target/aarch64/sve/pred_clobber_2.c: New test. - * gcc.target/aarch64/sve/pred_clobber_3.c: New test. - * gcc.target/aarch64/sve/pred_clobber_4.c: New test. - -2024-06-05 Jakub Jelinek <jakub@redhat.com> - Frederik Harwath <frederik@codesourcery.com> - Sandra Loosemore <sandra@codesourcery.com> - - * c-c++-common/gomp/attrs-tile-1.c: New test. - * c-c++-common/gomp/attrs-tile-2.c: New test. - * c-c++-common/gomp/attrs-tile-3.c: New test. - * c-c++-common/gomp/attrs-tile-4.c: New test. - * c-c++-common/gomp/attrs-tile-5.c: New test. - * c-c++-common/gomp/attrs-tile-6.c: New test. - * c-c++-common/gomp/attrs-unroll-1.c: New test. - * c-c++-common/gomp/attrs-unroll-2.c: New test. - * c-c++-common/gomp/attrs-unroll-3.c: New test. - * c-c++-common/gomp/attrs-unroll-inner-1.c: New test. - * c-c++-common/gomp/attrs-unroll-inner-2.c: New test. - * c-c++-common/gomp/attrs-unroll-inner-3.c: New test. - * c-c++-common/gomp/attrs-unroll-inner-4.c: New test. - * c-c++-common/gomp/attrs-unroll-inner-5.c: New test. - * c-c++-common/gomp/imperfect-attributes.c: Adjust expected - diagnostics. - * c-c++-common/gomp/imperfect-loop-nest.c: New test. - * c-c++-common/gomp/ordered-5.c: New test. - * c-c++-common/gomp/scan-7.c: New test. - * c-c++-common/gomp/tile-1.c: New test. - * c-c++-common/gomp/tile-2.c: New test. - * c-c++-common/gomp/tile-3.c: New test. - * c-c++-common/gomp/tile-4.c: New test. - * c-c++-common/gomp/tile-5.c: New test. - * c-c++-common/gomp/tile-6.c: New test. - * c-c++-common/gomp/tile-7.c: New test. - * c-c++-common/gomp/tile-8.c: New test. - * c-c++-common/gomp/tile-9.c: New test. - * c-c++-common/gomp/tile-10.c: New test. - * c-c++-common/gomp/tile-11.c: New test. - * c-c++-common/gomp/tile-12.c: New test. - * c-c++-common/gomp/tile-13.c: New test. - * c-c++-common/gomp/tile-14.c: New test. - * c-c++-common/gomp/tile-15.c: New test. - * c-c++-common/gomp/unroll-1.c: New test. - * c-c++-common/gomp/unroll-2.c: New test. - * c-c++-common/gomp/unroll-3.c: New test. - * c-c++-common/gomp/unroll-4.c: New test. - * c-c++-common/gomp/unroll-5.c: New test. - * c-c++-common/gomp/unroll-6.c: New test. - * c-c++-common/gomp/unroll-7.c: New test. - * c-c++-common/gomp/unroll-8.c: New test. - * c-c++-common/gomp/unroll-9.c: New test. - * c-c++-common/gomp/unroll-inner-1.c: New test. - * c-c++-common/gomp/unroll-inner-2.c: New test. - * c-c++-common/gomp/unroll-inner-3.c: New test. - * c-c++-common/gomp/unroll-non-rect-1.c: New test. - * c-c++-common/gomp/unroll-non-rect-2.c: New test. - * c-c++-common/gomp/unroll-non-rect-3.c: New test. - * c-c++-common/gomp/unroll-simd-1.c: New test. - * gcc.dg/gomp/attrs-4.c: Adjust expected diagnostics. - * gcc.dg/gomp/for-1.c: Likewise. - * gcc.dg/gomp/for-11.c: Likewise. - * g++.dg/gomp/attrs-4.C: Likewise. - * g++.dg/gomp/for-1.C: Likewise. - * g++.dg/gomp/pr94512.C: Likewise. - * g++.dg/gomp/tile-1.C: New test. - * g++.dg/gomp/tile-2.C: New test. - * g++.dg/gomp/unroll-1.C: New test. - * g++.dg/gomp/unroll-2.C: New test. - * g++.dg/gomp/unroll-3.C: New test. - * gfortran.dg/gomp/inner-loops-1.f90: New test. - * gfortran.dg/gomp/inner-loops-2.f90: New test. - * gfortran.dg/gomp/pure-1.f90: Add tests for !$omp unroll - and !$omp tile. - * gfortran.dg/gomp/pure-2.f90: Remove those tests from here. - * gfortran.dg/gomp/scan-9.f90: New test. - * gfortran.dg/gomp/tile-1.f90: New test. - * gfortran.dg/gomp/tile-2.f90: New test. - * gfortran.dg/gomp/tile-3.f90: New test. - * gfortran.dg/gomp/tile-4.f90: New test. - * gfortran.dg/gomp/tile-5.f90: New test. - * gfortran.dg/gomp/tile-6.f90: New test. - * gfortran.dg/gomp/tile-7.f90: New test. - * gfortran.dg/gomp/tile-8.f90: New test. - * gfortran.dg/gomp/tile-9.f90: New test. - * gfortran.dg/gomp/tile-10.f90: New test. - * gfortran.dg/gomp/tile-imperfect-nest-1.f90: New test. - * gfortran.dg/gomp/tile-imperfect-nest-2.f90: New test. - * gfortran.dg/gomp/tile-inner-loops-1.f90: New test. - * gfortran.dg/gomp/tile-inner-loops-2.f90: New test. - * gfortran.dg/gomp/tile-inner-loops-3.f90: New test. - * gfortran.dg/gomp/tile-inner-loops-4.f90: New test. - * gfortran.dg/gomp/tile-inner-loops-5.f90: New test. - * gfortran.dg/gomp/tile-inner-loops-6.f90: New test. - * gfortran.dg/gomp/tile-inner-loops-7.f90: New test. - * gfortran.dg/gomp/tile-inner-loops-8.f90: New test. - * gfortran.dg/gomp/tile-non-rectangular-1.f90: New test. - * gfortran.dg/gomp/tile-non-rectangular-2.f90: New test. - * gfortran.dg/gomp/tile-non-rectangular-3.f90: New test. - * gfortran.dg/gomp/tile-unroll-1.f90: New test. - * gfortran.dg/gomp/tile-unroll-2.f90: New test. - * gfortran.dg/gomp/unroll-1.f90: New test. - * gfortran.dg/gomp/unroll-2.f90: New test. - * gfortran.dg/gomp/unroll-3.f90: New test. - * gfortran.dg/gomp/unroll-4.f90: New test. - * gfortran.dg/gomp/unroll-5.f90: New test. - * gfortran.dg/gomp/unroll-6.f90: New test. - * gfortran.dg/gomp/unroll-7.f90: New test. - * gfortran.dg/gomp/unroll-8.f90: New test. - * gfortran.dg/gomp/unroll-9.f90: New test. - * gfortran.dg/gomp/unroll-10.f90: New test. - * gfortran.dg/gomp/unroll-11.f90: New test. - * gfortran.dg/gomp/unroll-12.f90: New test. - * gfortran.dg/gomp/unroll-13.f90: New test. - * gfortran.dg/gomp/unroll-inner-loop-1.f90: New test. - * gfortran.dg/gomp/unroll-inner-loop-2.f90: New test. - * gfortran.dg/gomp/unroll-no-clause-1.f90: New test. - * gfortran.dg/gomp/unroll-non-rect-1.f90: New test. - * gfortran.dg/gomp/unroll-non-rect-2.f90: New test. - * gfortran.dg/gomp/unroll-simd-1.f90: New test. - * gfortran.dg/gomp/unroll-simd-2.f90: New test. - * gfortran.dg/gomp/unroll-simd-3.f90: New test. - * gfortran.dg/gomp/unroll-tile-1.f90: New test. - * gfortran.dg/gomp/unroll-tile-2.f90: New test. - * gfortran.dg/gomp/unroll-tile-inner-1.f90: New test. - -2024-06-05 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * lib/scanasm.exp (configure_check-function-bodies): Allow single-char - function names. - -2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> - - * c-c++-common/initpri1_part_c1.c: Consider 'CDTOR_LINKAGE'. - * c-c++-common/initpri1_part_c2.c: Likewise. - * c-c++-common/initpri1_part_c3.c: Likewise. - * c-c++-common/initpri1_part_cd4.c: Likewise. - * c-c++-common/initpri1_part_d1.c: Likewise. - * c-c++-common/initpri1_part_d2.c: Likewise. - * c-c++-common/initpri1_part_d3.c: Likewise. - * c-c++-common/initpri1.c: Specify it. - * c-c++-common/initpri1-lto.c: Likewise. - * c-c++-common/initpri1-split.c: Likewise. - * c-c++-common/initpri1-static.c: New. - * c-c++-common/initpri1-lto-static.c: Likewise. - * c-c++-common/initpri1-split-static.c: Likewise. - -2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> - - * c-c++-common/initpri1.c: Split into... - * c-c++-common/initpri1_part_c1.c: ... this, and... - * c-c++-common/initpri1_part_c2.c: ... this, and... - * c-c++-common/initpri1_part_c3.c: ... this, and... - * c-c++-common/initpri1_part_cd4.c: ... this, and... - * c-c++-common/initpri1_part_d1.c: ... this, and... - * c-c++-common/initpri1_part_d2.c: ... this, and... - * c-c++-common/initpri1_part_d3.c: ... this, and... - * c-c++-common/initpri1_part_main.c: ... this part. - * c-c++-common/initpri1-split.c: New. - -2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.dg/initpri1-lto.c: Integrate this... - * c-c++-common/initpri1-lto.c: ... here. - -2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.dg/initpri1.c: Integrate this... - * g++.dg/special/initpri1.C: ..., and this... - * c-c++-common/initpri1.c: ... here. - * gcc.dg/initpri1-lto.c: Adjust. - * gcc.dg/initpri2.c: Integrate this... - * g++.dg/special/initpri2.C: ..., and this... - * c-c++-common/initpri2.c: ... here. - -2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> - - PR lto/46083 - * gcc.dg/initpri3.c: Remove. - * gcc.dg/initpri1-lto.c: New. - -2024-06-05 liuhongt <hongtao.liu@intel.com> - - * gcc.dg/pr100927.c: New test. - * c-c++-common/Wconversion-1.c: Add -fno-trapping-math. - * c-c++-common/dfp/convert-int-saturate.c: Ditto. - * g++.dg/ubsan/pr63956.C: Ditto. - * g++.dg/warn/Wconversion-real-integer.C: Ditto. - * gcc.c-torture/execute/20031003-1.c: Ditto. - * gcc.dg/Wconversion-complex-c99.c: Ditto. - * gcc.dg/Wconversion-real-integer.c: Ditto. - * gcc.dg/c90-const-expr-11.c: Ditto. - * gcc.dg/overflow-warn-8.c: Ditto. - -2024-06-05 Xiao Zeng <zengxiao@eswincomputing.com> - - * gcc.target/riscv/zfbfmin-bf16_arithmetic.c: New test. - * gcc.target/riscv/zfbfmin-bf16_comparison.c: New test. - * gcc.target/riscv/zfbfmin-bf16_float_libcall_convert.c: New test. - * gcc.target/riscv/zfbfmin-bf16_integer_libcall_convert.c: New test. - -2024-06-04 Simon Martin <simon@nasilyan.com> - - PR c++/103388 - * g++.dg/parse/crash73.C: New test. - -2024-06-04 Harald Anlauf <anlauf@gmx.de> - - PR fortran/83865 - * gfortran.dg/allocate_with_source_32.f90: New test. - -2024-06-04 Simon Martin <simon@nasilyan.com> - - PR c++/111106 - * g++.dg/cpp2a/consteval37.C: New test. - -2024-06-04 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/115337 - * gcc.dg/bitint-106.c: New test. - -2024-06-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/avx10_1-25.c: Require ifunc support. - * gcc.target/i386/avx10_1-26.c: Likewise. - -2024-06-04 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/108789 - * gcc.c-torture/execute/pr108789.c: New test. - -2024-06-04 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/slp-24.c: Expect another SLP instance for the - reduction. - * gcc.dg/vect/slp-24-big-array.c: Likewise. - * gcc.dg/vect/slp-reduc-6.c: Remove scan for zero SLP instances. - -2024-06-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR analyzer/107750 - * gcc.dg/analyzer/fd-accept.c: Skip on *-*-solaris2*. - * gcc.dg/analyzer/fd-access-mode-target-headers.c: Likewise. - * gcc.dg/analyzer/fd-connect.c: Likewise. - * 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. - -2024-06-04 liuhongt <hongtao.liu@intel.com> - - PR target/115299 - * gcc.target/i386/pr86722.c: Also scan for blendvpd. - -2024-06-03 Jakub Jelinek <jakub@redhat.com> - - PR c++/115012 - * g++.dg/cpp0x/variadic185.C: New test. - -2024-06-03 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/analyzer/sarif-path-role.c: New test. - * c-c++-common/analyzer/sarif-path-role.h: New header for above - test. - * c-c++-common/diagnostic-format-sarif-file-1.c: Verify the - artifact's "role" property. - * c-c++-common/diagnostic-format-sarif-file-header-role.c: New - test. - * c-c++-common/diagnostic-format-sarif-file-header-role.h: New - header for above test. - * c-c++-common/diagnostic-format-sarif-file-no-results.c: New - test. - -2024-06-03 Uros Bizjak <ubizjak@gmail.com> - - PR target/115321 - * gcc.target/i386/pr115321.c: New test. - -2024-06-03 Richard Biener <rguenther@suse.de> - - PR testsuite/115304 - * gcc.dg/vect/slp-gap-1.c: Require vect_unpack and vect_perm. - -2024-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR tree-optimization/115303 - * gcc.dg/vect/pr112325.c: Require vect_shift. - -2024-06-03 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/no-scevccp-outer-7.c: Adjust scanning for - succeeded analysis not interrupted by failure. - * gcc.dg/vect/no-scevccp-vect-iv-3.c: Likewise. - * gcc.dg/vect/vect-cond-reduc-4.c: Likewise. - * gcc.dg/vect/vect-live-2.c: Likewise. - * gcc.dg/vect/vect-outer-4c-big-array.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-s16a.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-u16a.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-u8a.c: Likewise. - * gcc.dg/vect/vect-reduc-dot-u8b.c: Likewise. - * gcc.dg/vect/vect-reduc-pattern-1a.c: Likewise. - * gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Likewise. - * gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Likewise. - * gcc.dg/vect/vect-reduc-pattern-2a.c: Likewise. - * gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Likewise. - * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise. - -2024-06-03 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr115299.c: New test. - * gcc.target/i386/pr86722.c: Adjust testcase. - -2024-06-03 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx10_1-25.c: New test. - * gcc.target/i386/avx10_1-26.c: Ditto. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/apx-nf.c: Add test. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - - * gcc.target/i386/apx-nf.c: New test. - -2024-06-03 Lingling Kong <lingling.kong@intel.com> - Hongyu Wong <hongyu.wang@intel.com> - - * gcc.target/i386/apx-ndd.c: Fixed test. - -2024-06-03 Hu, Lin1 <lin1.hu@intel.com> - - PR target/113609 - * gcc.target/i386/pr113609-1.c: New test. - * gcc.target/i386/pr113609-2.c: Ditto. - -2024-06-02 Simon Martin <simon@nasilyan.com> - - PR c++/109958 - * g++.dg/overload/using6.C: New test. - -2024-06-01 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106203 - * c-c++-common/analyzer/allocation-size-1.c (test_9): Remove - xfail. - * c-c++-common/analyzer/allocation-size-2.c (test_8): Likewise. - * gcc.dg/analyzer/allocation-size-multiline-4.c: New test. - * gcc.dg/plugin/analyzer_cpython_plugin.c - (refcnt_stmt_finder::update_event_loc_info): New. - -2024-06-01 Georg-Johann Lay <avr@gjlay.de> - - PR target/115317 - * gcc.target/avr/torture/pr115317-isinf.c: New test. - -2024-06-01 Georg-Johann Lay <avr@gjlay.de> - - PR tree-optimization/115307 - * gcc.target/avr/torture/pr115307-isinf.c: New test. - -2024-06-01 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-10.c: New test. - -2024-06-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114867 - * g++.dg/modules/using-17_a.C: New test. - * g++.dg/modules/using-17_b.C: New test. - * g++.dg/modules/using-18_a.C: New test. - * g++.dg/modules/using-18_b.C: New test. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/unop/popcount-1.c: Adjust check - for zvbb. - * gcc.target/riscv/rvv/autovec/unop/popcount-run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/popcount-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/unop/popcount-3.c: New test. - * gcc.target/riscv/rvv/autovec/unop/popcount-template.h: New test. - * gcc.target/riscv/rvv/autovec/unop/clz-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/clz-run.c: New test. - * gcc.target/riscv/rvv/autovec/unop/clz-template.h: New test. - * gcc.target/riscv/rvv/autovec/unop/ctz-1.c: New test. - * gcc.target/riscv/rvv/autovec/unop/ctz-run.c: New test. - * gcc.target/riscv/rvv/autovec/unop/ctz-template.h: New test. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/binop/vandn-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vandn-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vandn-template.h: New test. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * lib/target-supports.exp: Add zvbb. - * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-12-zvbb.c: New test. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/binop/vwsll-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vwsll-run.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vwsll-template.h: New test. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/base/pr115068.c: Add vwadd.wx/vwsub.wx - tests. - * gcc.target/riscv/rvv/base/pr115068-run.c: Include pr115068.c. - * gcc.target/riscv/rvv/base/vwaddsub-1.c: New test. - -2024-05-31 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/base/pr115068-run.c: New test. - * gcc.target/riscv/rvv/base/pr115068.c: New test. - -2024-05-31 Pengxuan Zheng <quic_pzheng@quicinc.com> - - * gcc.target/aarch64/vget_low_2.c: Add -mlittle-endian. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * gcc.dg/flex-array-counted-by-6.c: New test. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * gcc.dg/ubsan/flex-array-counted-by-bounds-2.c: New test. - * gcc.dg/ubsan/flex-array-counted-by-bounds-3.c: New test. - * gcc.dg/ubsan/flex-array-counted-by-bounds-4.c: New test. - * gcc.dg/ubsan/flex-array-counted-by-bounds.c: New test. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * gcc.dg/builtin-object-size-common.h: Add a new macro EXPECT. - * gcc.dg/flex-array-counted-by-3.c: New test. - * gcc.dg/flex-array-counted-by-4.c: New test. - * gcc.dg/flex-array-counted-by-5.c: New test. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * gcc.dg/flex-array-counted-by-2.c: New test. - -2024-05-31 Qing Zhao <qing.zhao@oracle.com> - - * gcc.dg/flex-array-counted-by.c: New test. - * gcc.dg/flex-array-counted-by-7.c: New test. - * gcc.dg/flex-array-counted-by-8.c: New test. - -2024-05-31 Uros Bizjak <ubizjak@gmail.com> - - PR target/115297 - * gcc.target/alpha/pr115297.c: New test. - -2024-05-31 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.dg/no_profile_instrument_function-attr-1.c: GCC/nvptx is - 'NO_DOT_IN_LABEL' but not 'NO_DOLLAR_IN_LABEL', so '$' may apper - in identifiers. - * lib/target-supports.exp - (check_effective_target_global_constructor): Enable for nvptx. - -2024-05-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115278 - * g++.dg/vect/pr115278.cc: New testcase. - -2024-05-31 Marc Poulhiès <poulhies@adacore.com> - - * ada/acats/tests/cxa/cxa4001.a: Use function result. - -2024-05-31 Martin Uecker <uecker@tugraz.at> - - * gcc.dg/gnu23-tag-alias-8.c: New test. - -2024-05-31 Martin Uecker <uecker@tugraz.at> - - PR tree-optimization/115157 - PR tree-optimization/115177 - * gcc.dg/enum-alias-1.c: New test. - * gcc.dg/enum-alias-2.c: New test. - * gcc.dg/enum-alias-3.c: New test. - * gcc.dg/enum-alias-4.c: New test. - -2024-05-30 Uros Bizjak <ubizjak@gmail.com> - - PR target/115102 - * gcc.target/i386/pr115102.c: New test. - -2024-05-30 Richard Sandiford <richard.sandiford@arm.com> - - PR rtl-optimization/115281 - * gfortran.dg/pr115281.f90: New test. - -2024-05-30 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/analyzer_cpython_plugin.c: Define INCLUDE_VECTOR. - * gcc.dg/plugin/analyzer_gil_plugin.c: Likewise. - * gcc.dg/plugin/analyzer_kernel_plugin.c: Likewise. - * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. - -2024-05-30 Alexandre Oliva <oliva@adacore.com> - - PR testsuite/101169 - * gcc.target/powerpc/fold-vec-extract-double.p7.c: Adjust addi - counts for ilp32. - * gcc.target/powerpc/fold-vec-extract-float.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-float.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-int.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-short.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise. - -2024-05-30 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr114125.c: New test. - -2024-05-30 liuhongt <hongtao.liu@intel.com> - - * gcc.dg/vect/pr112325.c: New test. - -2024-05-30 Alexandre Oliva <oliva@adacore.com> - - * lib/gcc-defs.exp (dg-additional-sources): Support target - selectors. Make it cumulative. - (dg-additional-files-options): Take dest and type. Note - unsupported additional sources when not linking and naming the - compiler output. Adjust source dirname prepending to cope - with leading blanks. - * lib/g++.exp (g++_target_compile): Pass dest and type on to - dg-additional-files-options. - * lib/gcc.exp (gcc_target_compile): Likewise. - * lib/gdc.exp (gdb_target_compile): Likewise. - * lib/gfortran.exp (gfortran_target_compile): Likewise. - * lib/go.exp (go_target_compile): Likewise. - * lib/obj-c++.exp (obj-c++_target_compile): Likewise. - * lib/objc.exp (objc_target_compile): Likewise. - * lib/rust.exp (rust_target_compile): Likewise. - * lib/profopt.exp (profopt-execute): Likewise-ish. - -2024-05-30 Jiawei <jiawei@iscas.ac.cn> - - * gcc.target/riscv/rvv/vsetvl/pr115214.c: New test. - -2024-05-29 Martin Uecker <uecker@tugraz.at> - - * gcc.dg/c23-tag-incomplete-alias-1.c: New test. - -2024-05-29 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/msa-builtins.c: Use 254 instead of 255 for - bseli.b, as `bseli.b $w0,$w1,255` is same as `or.v $w0,$w0,$w1`. - -2024-05-29 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115276 - * gm2/isolib/run/pass/testinittm.mod: New test. - -2024-05-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115224 - * gcc.dg/tree-ssa/bitops-8.c: New test. - -2024-05-29 Richard Sandiford <richard.sandiford@arm.com> - - PR target/115258 - * gcc.target/aarch64/pr115258.c: New test. - -2024-05-29 Jason Merrill <jason@redhat.com> - - PR c++/109753 - * g++.dg/opt/always_inline1.C: New test. - -2024-05-29 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-9.c: New test. - -2024-05-29 Jason Merrill <jason@redhat.com> - - * g++.dg/modules/dep-1_a.C - * g++.dg/modules/dep-1_b.C - * g++.dg/modules/dep-2.C: Change .c++m to .c++-module. - -2024-05-29 Oskari Pirhonen <xxc3ncoredxx@gmail.com> - - * g++.dg/spellcheck-stdlib.C: Add check for strerror. - * gcc.dg/spellcheck-stdlib-2.c: New test. - -2024-05-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115252 - * gcc.dg/vect/slp-gap-1.c: New testcase. - -2024-05-29 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114435 - * gcc.dg/vect/bb-slp-pr114435.c: New testcase. - -2024-05-29 Patrick Palka <ppalka@redhat.com> - - PR c++/115223 - * g++.dg/cpp0x/noexcept87.C: New test. - -2024-05-29 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/90069 - * gfortran.dg/class_76.f90: New test. - -2024-05-29 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114842 - * g++.dg/ext/pr85503.C: Replace powerpc_vsx_ok with powerpc_vsx, - move dg-options and dg-additional-options lines before - dg-require-effective-target lines when it doesn't cause any side - effect like note message. - * g++.dg/pr69667.C: Likewise. - * g++.target/powerpc/altivec-19.C: Likewise. - * g++.target/powerpc/pr101168.C: Likewise. - * g++.target/powerpc/pr65240-1.C: Likewise. - * g++.target/powerpc/pr65240-2.C: Likewise. - * g++.target/powerpc/pr65240-3.C: Likewise. - * g++.target/powerpc/pr65240-4.C: Likewise. - * g++.target/powerpc/pr65242.C: Likewise. - * g++.target/powerpc/pr67211.C: Likewise. - * g++.target/powerpc/pr71294.C: Likewise. - * g++.target/powerpc/pr84279.C: Likewise. - * g++.target/powerpc/pr93974.C: Likewise. - * g++.target/powerpc/undef-bool-1.C: Likewise. - * gcc.dg/gomp/pr82374.c: Likewise. - * gcc.dg/vect/costmodel/ppc/costmodel-slp-perm.c: Likewise. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-reversed.c: Likewise. - * gcc.dg/vect/costmodel/ppc/costmodel-vect-store-2.c: Likewise. - * gcc.dg/vect/pr109011-1.c: Likewise. - * gcc.dg/vect/pr109011-2.c: Likewise. - * gcc.dg/vect/pr109011-3.c: Likewise. - * gcc.dg/vect/pr109011-4.c: Likewise. - * gcc.dg/vect/pr109011-5.c: Likewise. - * gcc.dg/vmx/extract-vsx.c: Likewise. - * gcc.dg/vmx/insert-vsx.c: Likewise. - * gcc.dg/vmx/ld-vsx.c: Likewise. - * gcc.dg/vmx/ldl-vsx.c: Likewise. - * gcc.dg/vmx/merge-vsx.c: Likewise. - * gcc.dg/vmx/splat-vsx.c: Likewise. - * gcc.dg/vmx/st-vsx.c: Likewise. - * gcc.dg/vmx/stl-vsx.c: Likewise. - * gcc.target/powerpc/altivec-2-runnable.c: Likewise. - * gcc.target/powerpc/altivec-37.c: Likewise. - * gcc.target/powerpc/altivec_vld_vst_addr-2.c: Likewise. - * gcc.target/powerpc/amo1.c: Likewise. - * gcc.target/powerpc/atomic-p7.c: Likewise. - * gcc.target/powerpc/atomic-p8.c: Likewise. - * gcc.target/powerpc/atomic_load_store-p8.c: Likewise. - * gcc.target/powerpc/bcd-1.c: Likewise. - * gcc.target/powerpc/bcd-2.c: Likewise. - * gcc.target/powerpc/bcd-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-6.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-9.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-8.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-exp-0.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-sig-0.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-sig-1.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-0.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-4.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-5.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-0.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-1.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise. - * gcc.target/powerpc/bmi2-pext64-1a.c: Likewise. - * gcc.target/powerpc/bool2-p7.c: Likewise. - * gcc.target/powerpc/bool2-p8.c: Likewise. - * gcc.target/powerpc/bool3-p7.c: Likewise. - * gcc.target/powerpc/bool3-p8.c: Likewise. - * gcc.target/powerpc/builtins-1.c: Likewise. - * gcc.target/powerpc/builtins-3-p8.c: Likewise. - * gcc.target/powerpc/builtins-3-p9.c: Likewise. - * gcc.target/powerpc/builtins-4.c: Likewise. - * gcc.target/powerpc/builtins-5.c: Likewise. - * gcc.target/powerpc/builtins-9.c: Likewise. - * gcc.target/powerpc/byte-in-either-range-0.c: Likewise. - * gcc.target/powerpc/byte-in-either-range-1.c: Likewise. - * gcc.target/powerpc/byte-in-range-0.c: Likewise. - * gcc.target/powerpc/byte-in-range-1.c: Likewise. - * gcc.target/powerpc/byte-in-set-0.c: Likewise. - * gcc.target/powerpc/byte-in-set-1.c: Likewise. - * gcc.target/powerpc/byte-in-set-2.c: Likewise. - * gcc.target/powerpc/clone1.c: Likewise. - * gcc.target/powerpc/conv-vectorize-1.c: Likewise. - * gcc.target/powerpc/conv-vectorize-2.c: Likewise. - * gcc.target/powerpc/crypto-builtin-1.c: Likewise. - * gcc.target/powerpc/crypto-builtin-2.c: Likewise. - * gcc.target/powerpc/ctz-3.c: Likewise. - * gcc.target/powerpc/ctz-4.c: Likewise. - * gcc.target/powerpc/darn-0.c: Likewise. - * gcc.target/powerpc/darn-1.c: Likewise. - * gcc.target/powerpc/darn-2.c: Likewise. - * gcc.target/powerpc/dform-1.c: Likewise. - * gcc.target/powerpc/dform-2.c: Likewise. - * gcc.target/powerpc/dform-3.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-0.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-10.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-13.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-15.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-16.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-18.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-20.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-21.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-23.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-25.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-26.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-28.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-3.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-30.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-31.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-33.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-35.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-36.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-38.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-40.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-41.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-43.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-45.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-46.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-48.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-5.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-50.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-51.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-53.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-55.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-56.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-58.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-6.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-60.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-61.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-63.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-65.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-66.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-68.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-70.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-71.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-73.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-75.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-76.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-78.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-8.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise. - * gcc.target/powerpc/direct-move-double1.c: Likewise. - * gcc.target/powerpc/direct-move-float1.c: Likewise. - * gcc.target/powerpc/direct-move-float3.c: Likewise. - * gcc.target/powerpc/direct-move-long1.c: Likewise. - * gcc.target/powerpc/direct-move-vector.c: Likewise. - * gcc.target/powerpc/direct-move-vint1.c: Likewise. - * gcc.target/powerpc/divkc3-2.c: Likewise. - * gcc.target/powerpc/divkc3-3.c: Likewise. - * gcc.target/powerpc/extend-divide-1.c: Likewise. - * gcc.target/powerpc/extend-divide-2.c: Likewise. - * gcc.target/powerpc/float128-3.c: Likewise. - * gcc.target/powerpc/float128-3b.c: Likewise. - * gcc.target/powerpc/float128-5.c: Likewise. - * gcc.target/powerpc/float128-fma1.c: Likewise. - * gcc.target/powerpc/float128-hw.c: Likewise. - * gcc.target/powerpc/float128-hw10.c: Likewise. - * gcc.target/powerpc/float128-hw2.c: Likewise. - * gcc.target/powerpc/float128-hw3.c: Likewise. - * gcc.target/powerpc/float128-hw4.c: Likewise. - * gcc.target/powerpc/float128-hw5.c: Likewise. - * gcc.target/powerpc/float128-hw6.c: Likewise. - * gcc.target/powerpc/float128-hw7.c: Likewise. - * gcc.target/powerpc/float128-hw8.c: Likewise. - * gcc.target/powerpc/float128-hw9.c: Likewise. - * gcc.target/powerpc/float128-odd.c: Likewise. - * gcc.target/powerpc/float128-sqrt1.c: Likewise. - * gcc.target/powerpc/float128-type-1.c: Likewise. - * gcc.target/powerpc/float128-type-2.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int-fwrapv.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-add-4.c: Likewise. - * gcc.target/powerpc/fold-vec-add-6.c: Likewise. - * gcc.target/powerpc/fold-vec-add-7.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-char.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-char.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-double.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-float.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-int.h: Likewise. - * gcc.target/powerpc/fold-vec-cmp-int.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-int.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-int.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-short.h: Likewise. - * gcc.target/powerpc/fold-vec-cmp-short.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-short.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-cntlz-char.c: Likewise. - * gcc.target/powerpc/fold-vec-cntlz-int.c: Likewise. - * gcc.target/powerpc/fold-vec-cntlz-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-cntlz-short.c: Likewise. - * gcc.target/powerpc/fold-vec-div-float.c: Likewise. - * gcc.target/powerpc/fold-vec-div-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-div-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-char.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-char.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-char.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-double.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-float.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-float.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-float.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-int.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-longlong.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-short.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-short.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-char-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-double.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-ld-double.c: Likewise. - * gcc.target/powerpc/fold-vec-ld-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-ld-misc.c: Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c: Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c: Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c: Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c: Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-char.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-double.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-float.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-int.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-load-vec_xl-short.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ands-char.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ands-int.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ands-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ands-short.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-char.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-float.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-int.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-short.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ors-char.c: Likewise. - * 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. - * gcc.target/powerpc/fold-vec-madd-double.c: Likewise. - * gcc.target/powerpc/fold-vec-madd-float.c: Likewise. - * gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-mergeeo-int.c: Likewise. - * gcc.target/powerpc/fold-vec-mergeeo-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-mergehl-double.c: Likewise. - * gcc.target/powerpc/fold-vec-mergehl-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-mergehl-pixel.c: Likewise. - * gcc.target/powerpc/fold-vec-minmax-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-minmax-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-float.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-int.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-int128-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-int128-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-char.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-int.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-int.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-int.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-longlong.h: Likewise. - * gcc.target/powerpc/fold-vec-neg-longlong.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-longlong.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-short.c: Likewise. - * gcc.target/powerpc/fold-vec-pack-double.c: Likewise. - * gcc.target/powerpc/fold-vec-pack-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-perm-double.c: Likewise. - * gcc.target/powerpc/fold-vec-perm-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-select-double.c: Likewise. - * gcc.target/powerpc/fold-vec-select-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-left-longlong-fwrapv.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-left-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-16.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-misc-invalid.c: Likewise. - * gcc.target/powerpc/fold-vec-splat-pixel.c: Likewise. - * gcc.target/powerpc/fold-vec-splats-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-splats-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-st-double.c: Likewise. - * gcc.target/powerpc/fold-vec-st-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-st-pixel.c: Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c: Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c: Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c: Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c: Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-char.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-double.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-float.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-int.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-store-vec_xst-short.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-int128.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-unpack-float.c: Likewise. - * gcc.target/powerpc/fold-vec-unpack-int.c: Likewise. - * gcc.target/powerpc/fusion.c: Likewise. - * gcc.target/powerpc/fusion2.c: Likewise. - * gcc.target/powerpc/gnuattr1.c: Likewise. - * gcc.target/powerpc/gnuattr2.c: Likewise. - * gcc.target/powerpc/gnuattr3.c: Likewise. - * gcc.target/powerpc/mul-vectorize-1.c: Likewise. - * gcc.target/powerpc/mulkc3-2.c: Likewise. - * gcc.target/powerpc/mulkc3-3.c: Likewise. - * gcc.target/powerpc/p8-vec-xl-xst-v2.c: Likewise. - * gcc.target/powerpc/p8-vec-xl-xst.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-1.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-2.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-3.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-4.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-5.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-6.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-7.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-8.c: Likewise. - * gcc.target/powerpc/p8vector-fp.c: Likewise. - * gcc.target/powerpc/p8vector-int128-1.c: Likewise. - * gcc.target/powerpc/p8vector-ldst.c: Likewise. - * gcc.target/powerpc/p8vector-vbpermq.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-1.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-2.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-3.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-4.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-5.c: Likewise. - * gcc.target/powerpc/p9-dimode1.c: Likewise. - * gcc.target/powerpc/p9-dimode2.c: Likewise. - * gcc.target/powerpc/p9-extract-1.c: Likewise. - * gcc.target/powerpc/p9-extract-2.c: Likewise. - * gcc.target/powerpc/p9-extract-3.c: Likewise. - * gcc.target/powerpc/p9-extract-4.c: Likewise. - * gcc.target/powerpc/p9-fpcvt-1.c: Likewise. - * gcc.target/powerpc/p9-fpcvt-2.c: Likewise. - * gcc.target/powerpc/p9-fpcvt-3.c: Likewise. - * gcc.target/powerpc/p9-lxvx-stxvx-1.c: Likewise. - * gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise. - * gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise. - * gcc.target/powerpc/p9-minmax-1.c: Likewise. - * gcc.target/powerpc/p9-minmax-2.c: Likewise. - * gcc.target/powerpc/p9-minmax-3.c: Likewise. - * gcc.target/powerpc/p9-permute.c: Likewise. - * gcc.target/powerpc/p9-splat-1.c: Likewise. - * gcc.target/powerpc/p9-splat-2.c: Likewise. - * gcc.target/powerpc/p9-splat-3.c: Likewise. - * gcc.target/powerpc/p9-splat-4.c: Likewise. - * gcc.target/powerpc/p9-splat-5.c: Likewise. - * gcc.target/powerpc/p9-vbpermd.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-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-vneg.c: Likewise. - * gcc.target/powerpc/p9-vparity.c: Likewise. - * gcc.target/powerpc/p9-vpermr.c: Likewise. - * gcc.target/powerpc/p9-xxbr-1.c: Likewise. - * gcc.target/powerpc/p9-xxbr-2.c: Likewise. - * gcc.target/powerpc/p9-xxbr-3.c: Likewise. - * gcc.target/powerpc/ppc-fma-1.c: Likewise. - * gcc.target/powerpc/ppc-fma-2.c: Likewise. - * gcc.target/powerpc/ppc-fortran/pr102767.f90: Likewise. - * gcc.target/powerpc/ppc-fpconv-1.c: Likewise. - * gcc.target/powerpc/ppc-fpconv-10.c: Likewise. - * gcc.target/powerpc/ppc-fpconv-5.c: Likewise. - * gcc.target/powerpc/ppc-fpconv-9.c: Likewise. - * gcc.target/powerpc/ppc-round.c: Likewise. - * gcc.target/powerpc/ppc-round2.c: Likewise. - * gcc.target/powerpc/ppc-round3.c: Likewise. - * gcc.target/powerpc/pr100866-1.c: Likewise. - * gcc.target/powerpc/pr100866-2.c: Likewise. - * gcc.target/powerpc/pr102868.c: Likewise. - * gcc.target/powerpc/pr103124.c: Likewise. - * gcc.target/powerpc/pr103605-1.c: Likewise. - * gcc.target/powerpc/pr103605-2.c: Likewise. - * gcc.target/powerpc/pr104015-1.c: Likewise. - * gcc.target/powerpc/pr104124.c: Likewise. - * gcc.target/powerpc/pr104239-1.c: Likewise. - * gcc.target/powerpc/pr104239-2.c: Likewise. - * gcc.target/powerpc/pr104239-3.c: Likewise. - * gcc.target/powerpc/pr104482.c: Likewise. - * gcc.target/powerpc/pr105271.c: Likewise. - * gcc.target/powerpc/pr106769-p8.c: Likewise. - * gcc.target/powerpc/pr106769-p9.c: Likewise. - * gcc.target/powerpc/pr107412.c: Likewise. - * gcc.target/powerpc/pr108396.c: Likewise. - * gcc.target/powerpc/pr109069-2.c: Likewise. - * gcc.target/powerpc/pr109082.c: Likewise. - * gcc.target/powerpc/pr110429.c: Likewise. - * gcc.target/powerpc/pr111449-1.c: Likewise. - * gcc.target/powerpc/pr111449-2.c: Likewise. - * gcc.target/powerpc/pr113950.c: Likewise. - * gcc.target/powerpc/pr42747.c: Likewise. - * gcc.target/powerpc/pr43154.c: Likewise. - * gcc.target/powerpc/pr47755.c: Likewise. - * gcc.target/powerpc/pr47862.c: Likewise. - * gcc.target/powerpc/pr48053-1.c: Likewise. - * gcc.target/powerpc/pr48053-2.c: Likewise. - * gcc.target/powerpc/pr48053-3.c: Likewise. - * gcc.target/powerpc/pr48192.c: Likewise. - * gcc.target/powerpc/pr48226.c: Likewise. - * gcc.target/powerpc/pr48258-1.c: Likewise. - * gcc.target/powerpc/pr48258-2.c: Likewise. - * gcc.target/powerpc/pr48857.c: Likewise. - * gcc.target/powerpc/pr52199.c: Likewise. - * gcc.target/powerpc/pr53487.c: Likewise. - * gcc.target/powerpc/pr56605.c: Likewise. - * gcc.target/powerpc/pr57150.c: Likewise. - * gcc.target/powerpc/pr58673-1.c: Likewise. - * gcc.target/powerpc/pr58673-2.c: Likewise. - * gcc.target/powerpc/pr59054.c: Likewise. - * gcc.target/powerpc/pr60203.c: Likewise. - * gcc.target/powerpc/pr60676.c: Likewise. - * gcc.target/powerpc/pr64019.c: Likewise. - * gcc.target/powerpc/pr66144-1.c: Likewise. - * gcc.target/powerpc/pr66144-2.c: Likewise. - * gcc.target/powerpc/pr66144-3.c: Likewise. - * gcc.target/powerpc/pr67808.c: Likewise. - * gcc.target/powerpc/pr68163.c: Likewise. - * gcc.target/powerpc/pr70243.c: Likewise. - * gcc.target/powerpc/pr70669.c: Likewise. - * gcc.target/powerpc/pr71186.c: Likewise. - * gcc.target/powerpc/pr71309.c: Likewise. - * gcc.target/powerpc/pr71656-1.c: Likewise. - * gcc.target/powerpc/pr71656-2.c: Likewise. - * gcc.target/powerpc/pr71670.c: Likewise. - * gcc.target/powerpc/pr71680.c: Likewise. - * gcc.target/powerpc/pr71698.c: Likewise. - * gcc.target/powerpc/pr71720.c: Likewise. - * gcc.target/powerpc/pr71763.c: Likewise. - * gcc.target/powerpc/pr71977-1.c: Likewise. - * gcc.target/powerpc/pr71977-2.c: Likewise. - * gcc.target/powerpc/pr72717.c: Likewise. - * gcc.target/powerpc/pr72804.c: Likewise. - * gcc.target/powerpc/pr72853.c: Likewise. - * gcc.target/powerpc/pr77289.c: Likewise. - * gcc.target/powerpc/pr78056-1.c: Likewise. - * gcc.target/powerpc/pr78056-3.c: Likewise. - * gcc.target/powerpc/pr78102.c: Likewise. - * gcc.target/powerpc/pr78543.c: Likewise. - * gcc.target/powerpc/pr78604.c: Likewise. - * gcc.target/powerpc/pr78658.c: Likewise. - * gcc.target/powerpc/pr78953.c: Likewise. - * gcc.target/powerpc/pr79004.c: Likewise. - * gcc.target/powerpc/pr79038-1.c: Likewise. - * gcc.target/powerpc/pr79179.c: Likewise. - * gcc.target/powerpc/pr79251.p7.c: Likewise. - * gcc.target/powerpc/pr79251.p8.c: Likewise. - * gcc.target/powerpc/pr79251.p9.c: Likewise. - * gcc.target/powerpc/pr79354.c: Likewise. - * gcc.target/powerpc/pr79544.c: Likewise. - * gcc.target/powerpc/pr79799-1.c: Likewise. - * gcc.target/powerpc/pr79799-2.c: Likewise. - * gcc.target/powerpc/pr79799-3.c: Likewise. - * gcc.target/powerpc/pr79799-5.c: Likewise. - * gcc.target/powerpc/pr79907.c: Likewise. - * gcc.target/powerpc/pr79951.c: Likewise. - * gcc.target/powerpc/pr80315-1.c: Likewise. - * gcc.target/powerpc/pr80315-2.c: Likewise. - * gcc.target/powerpc/pr80315-3.c: Likewise. - * gcc.target/powerpc/pr80315-4.c: Likewise. - * gcc.target/powerpc/pr80510-1.c: Likewise. - * gcc.target/powerpc/pr80510-2.c: Likewise. - * gcc.target/powerpc/pr80695-p8.c: Likewise. - * gcc.target/powerpc/pr80695-p9.c: Likewise. - * gcc.target/powerpc/pr80718.c: Likewise. - * gcc.target/powerpc/pr81348.c: Likewise. - * gcc.target/powerpc/pr81622.c: Likewise. - * gcc.target/powerpc/pr81959.c: Likewise. - * gcc.target/powerpc/pr82015.c: Likewise. - * gcc.target/powerpc/pr82748-1.c: Likewise. - * gcc.target/powerpc/pr82748-2.c: Likewise. - * gcc.target/powerpc/pr83399.c: Likewise. - * gcc.target/powerpc/pr83862.c: Likewise. - * gcc.target/powerpc/pr84154-1.c: Likewise. - * gcc.target/powerpc/pr84154-2.c: Likewise. - * gcc.target/powerpc/pr84154-3.c: Likewise. - * gcc.target/powerpc/pr84220-sld2.c: Likewise. - * gcc.target/powerpc/pr84220-sldw.c: Likewise. - * gcc.target/powerpc/pr84220-xxperm.c: Likewise. - * gcc.target/powerpc/pr84220-xxsld.c: Likewise. - * gcc.target/powerpc/pr84226.c: Likewise. - * gcc.target/powerpc/pr85456.c: Likewise. - * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Likewise. - * gcc.target/powerpc/pr86731-longlong.c: Likewise. - * gcc.target/powerpc/pr88309.c: Likewise. - * gcc.target/powerpc/pr88558-p8.c: Likewise. - * gcc.target/powerpc/pr88845.c: Likewise. - * gcc.target/powerpc/pr88965.c: Likewise. - * gcc.target/powerpc/pr90763.c: Likewise. - * gcc.target/powerpc/pr91903.c: Likewise. - * gcc.target/powerpc/pr92398.p9+.c: Likewise. - * gcc.target/powerpc/pr92398.p9-.c: Likewise. - * gcc.target/powerpc/pr92923-1.c: Likewise. - * gcc.target/powerpc/pr92923-2.c: Likewise. - * gcc.target/powerpc/pr93073.c: Likewise. - * gcc.target/powerpc/pr93658.c: Likewise. - * gcc.target/powerpc/pr96125.c: Likewise. - * gcc.target/powerpc/pr96139-a.c: Likewise. - * gcc.target/powerpc/pr96139-b.c: Likewise. - * gcc.target/powerpc/pr96933-1.c: Likewise. - * gcc.target/powerpc/pr96933-2.c: Likewise. - * gcc.target/powerpc/pr97019.c: Likewise. - * gcc.target/powerpc/pr98914.c: Likewise. - * gcc.target/powerpc/pragma_misc9.c: Likewise. - * gcc.target/powerpc/pure-builtin-redundant-load.c: Likewise. - * gcc.target/powerpc/recip-5.c: Likewise. - * gcc.target/powerpc/sad-vectorize-1.c: Likewise. - * gcc.target/powerpc/sad-vectorize-2.c: Likewise. - * gcc.target/powerpc/sd-vsx.c: Likewise. - * gcc.target/powerpc/signbit-1.c: Likewise. - * gcc.target/powerpc/signbit-2.c: Likewise. - * gcc.target/powerpc/sldoi_to_mov.c: Likewise. - * gcc.target/powerpc/swaps-p8-1.c: Likewise. - * gcc.target/powerpc/swaps-p8-12.c: Likewise. - * gcc.target/powerpc/swaps-p8-14.c: Likewise. - * gcc.target/powerpc/swaps-p8-15.c: Likewise. - * gcc.target/powerpc/swaps-p8-16.c: Likewise. - * gcc.target/powerpc/swaps-p8-17.c: Likewise. - * gcc.target/powerpc/swaps-p8-18.c: Likewise. - * gcc.target/powerpc/swaps-p8-19.c: Likewise. - * gcc.target/powerpc/swaps-p8-2.c: Likewise. - * gcc.target/powerpc/swaps-p8-22.c: Likewise. - * gcc.target/powerpc/swaps-p8-23.c: Likewise. - * gcc.target/powerpc/swaps-p8-24.c: Likewise. - * gcc.target/powerpc/swaps-p8-25.c: Likewise. - * gcc.target/powerpc/swaps-p8-26.c: Likewise. - * gcc.target/powerpc/swaps-p8-27.c: Likewise. - * gcc.target/powerpc/swaps-p8-3.c: Likewise. - * gcc.target/powerpc/swaps-p8-30.c: Likewise. - * gcc.target/powerpc/swaps-p8-33.c: Likewise. - * gcc.target/powerpc/swaps-p8-36.c: Likewise. - * gcc.target/powerpc/swaps-p8-39.c: Likewise. - * gcc.target/powerpc/swaps-p8-4.c: Likewise. - * gcc.target/powerpc/swaps-p8-42.c: Likewise. - * gcc.target/powerpc/swaps-p8-45.c: Likewise. - * gcc.target/powerpc/swaps-p8-5.c: Likewise. - * gcc.target/powerpc/undef-bool-2.c: Likewise. - * gcc.target/powerpc/unpack-vectorize-2.c: Likewise. - * gcc.target/powerpc/unpack-vectorize-3.c: Likewise. - * gcc.target/powerpc/upper-regs-df.c: Likewise. - * gcc.target/powerpc/upper-regs-sf.c: Likewise. - * gcc.target/powerpc/vadsdu-0.c: Likewise. - * gcc.target/powerpc/vadsdu-1.c: Likewise. - * gcc.target/powerpc/vadsdu-2.c: Likewise. - * gcc.target/powerpc/vadsdu-3.c: Likewise. - * gcc.target/powerpc/vadsdu-4.c: Likewise. - * gcc.target/powerpc/vadsdu-5.c: Likewise. - * gcc.target/powerpc/vadsdub-1.c: Likewise. - * gcc.target/powerpc/vadsdub-2.c: Likewise. - * gcc.target/powerpc/vadsduh-1.c: Likewise. - * gcc.target/powerpc/vadsduh-2.c: Likewise. - * gcc.target/powerpc/vadsduw-1.c: Likewise. - * gcc.target/powerpc/vadsduw-2.c: Likewise. - * gcc.target/powerpc/vec-cmp-sel.c: Likewise. - * gcc.target/powerpc/vec-cmp.c: Likewise. - * gcc.target/powerpc/vec-extract-1.c: Likewise. - * gcc.target/powerpc/vec-extract-2.c: Likewise. - * gcc.target/powerpc/vec-extract-3.c: Likewise. - * gcc.target/powerpc/vec-extract-4.c: Likewise. - * gcc.target/powerpc/vec-extract-5.c: Likewise. - * gcc.target/powerpc/vec-extract-6.c: Likewise. - * gcc.target/powerpc/vec-extract-7.c: Likewise. - * gcc.target/powerpc/vec-extract-8.c: Likewise. - * gcc.target/powerpc/vec-extract-9.c: Likewise. - * gcc.target/powerpc/vec-init-10.c: Likewise. - * gcc.target/powerpc/vec-init-3.c: Likewise. - * gcc.target/powerpc/vec-init-6.c: Likewise. - * gcc.target/powerpc/vec-init-7.c: Likewise. - * gcc.target/powerpc/vec-minmax-1.c: Likewise. - * gcc.target/powerpc/vec-minmax-2.c: Likewise. - * gcc.target/powerpc/vec-mul.c: Likewise. - * gcc.target/powerpc/vec-perm-ctor.c: Likewise. - * gcc.target/powerpc/vec-set-char.c: Likewise. - * gcc.target/powerpc/vec-set-int.c: Likewise. - * gcc.target/powerpc/vec-set-short.c: Likewise. - * gcc.target/powerpc/vec_reve_1.c: Likewise. - * gcc.target/powerpc/vec_reve_2.c: Likewise. - * gcc.target/powerpc/vector_float.c: Likewise. - * gcc.target/powerpc/versioned-copy-loop.c: Likewise. - * gcc.target/powerpc/vslv-0.c: Likewise. - * gcc.target/powerpc/vslv-1.c: Likewise. - * gcc.target/powerpc/vsrv-0.c: Likewise. - * gcc.target/powerpc/vsrv-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-10.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-11.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-12.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-9.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-11.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-12.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-9.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-10.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-11.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-12.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-9.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-10.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-11.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-9.c: Likewise. - * gcc.target/powerpc/vsx-13.c: Likewise. - * gcc.target/powerpc/vsx-7.c: Likewise. - * gcc.target/powerpc/vsx-builtin-1.c: Likewise. - * gcc.target/powerpc/vsx-builtin-2.c: Likewise. - * gcc.target/powerpc/vsx-builtin-3.c: Likewise. - * gcc.target/powerpc/vsx-builtin-4.c: Likewise. - * gcc.target/powerpc/vsx-builtin-5.c: Likewise. - * gcc.target/powerpc/vsx-builtin-6.c: Likewise. - * gcc.target/powerpc/vsx-builtin-7.c: Likewise. - * gcc.target/powerpc/vsx-builtin-8.c: Likewise. - * gcc.target/powerpc/vsx-builtin-msum.c: Likewise. - * gcc.target/powerpc/vsx-extract-1.c: Likewise. - * gcc.target/powerpc/vsx-extract-2.c: Likewise. - * gcc.target/powerpc/vsx-extract-3.c: Likewise. - * gcc.target/powerpc/vsx-extract-4.c: Likewise. - * gcc.target/powerpc/vsx-extract-5.c: Likewise. - * gcc.target/powerpc/vsx-extract-6.c: Likewise. - * gcc.target/powerpc/vsx-extract-7.c: Likewise. - * gcc.target/powerpc/vsx-float0.c: Likewise. - * gcc.target/powerpc/vsx-himode.c: Likewise. - * gcc.target/powerpc/vsx-himode2.c: Likewise. - * gcc.target/powerpc/vsx-himode3.c: Likewise. - * gcc.target/powerpc/vsx-mass-1.c: Likewise. - * gcc.target/powerpc/vsx-qimode.c: Likewise. - * gcc.target/powerpc/vsx-qimode2.c: Likewise. - * gcc.target/powerpc/vsx-qimode3.c: Likewise. - * gcc.target/powerpc/vsx-sfminmax.c: Likewise. - * gcc.target/powerpc/vsx-simode.c: Likewise. - * gcc.target/powerpc/vsx-simode2.c: Likewise. - * gcc.target/powerpc/vsx-simode3.c: Likewise. - * gcc.target/powerpc/vsx-vector-1.c: Likewise. - * gcc.target/powerpc/vsx-vector-2.c: Likewise. - * gcc.target/powerpc/vsx-vector-3.c: Likewise. - * gcc.target/powerpc/vsx-vector-4.c: Likewise. - * gcc.target/powerpc/vsx-vector-6-func-1op.c: Likewise. - * gcc.target/powerpc/vsx-vector-6-func-2lop.c: Likewise. - * gcc.target/powerpc/vsx-vector-6-func-2op.c: Likewise. - * gcc.target/powerpc/vsx-vector-6-func-3op.c: Likewise. - * gcc.target/powerpc/vsx-vector-6-func-cmp-all.c: Likewise. - * gcc.target/powerpc/vsx-vector-6-func-cmp.c: Likewise. - * gcc.target/powerpc/vsx-vector-7.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-1.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-2.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-3.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-4.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-5.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-6.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-7.c: Likewise. - * gcc.target/powerpc/vsx-vectorize-8.c: Likewise. - * gcc.target/powerpc/vsxcopy.c: Likewise. - * gfortran.dg/nint_p7.f90: Likewise. - * gfortran.dg/pr102860.f90: Likewise. - -2024-05-29 Kewen Lin <linkw@linux.ibm.com> - - PR target/114846 - * gcc.target/powerpc/pr114846.c: New test. - -2024-05-28 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr67325.c: New test. - -2024-05-28 Marek Polacek <polacek@redhat.com> - - PR c++/109396 - * g++.dg/warn/Wself-move2.C: New test. - -2024-05-28 Andrew MacLeod <amacleod@redhat.com> - - PR tree-optimization/115221 - * gcc.dg/pr115221.c: New. - -2024-05-28 Andrew MacLeod <amacleod@redhat.com> - - * gcc.dg/Wstringop-overflow-10.c: Add truncating warning. - -2024-05-28 Tobias Burnus <tburnus@baylibre.com> - - * c-c++-common/gomp/lastprivate-conditional-1.c: Remove - '{ dg-prune-output "not supported yet" }'. - * c-c++-common/gomp/requires-1.c: Likewise. - * c-c++-common/gomp/requires-2.c: Likewise. - * c-c++-common/gomp/reverse-offload-1.c: Likewise. - * g++.dg/gomp/requires-1.C: Likewise. - * gfortran.dg/gomp/requires-1.f90: Likewise. - * gfortran.dg/gomp/requires-2.f90: Likewise. - * gfortran.dg/gomp/requires-4.f90: Likewise. - * gfortran.dg/gomp/requires-5.f90: Likewise. - * gfortran.dg/gomp/requires-6.f90: Likewise. - * gfortran.dg/gomp/requires-7.f90: Likewise. - -2024-05-28 Lyut Nersisyan <lyut.nersisyan@gmail.com> - - * gcc.target/riscv/pack32.c: New test. - * gcc.target/riscv/pack64.c: New test. - * gcc.target/riscv/packh32.c: New test. - * gcc.target/riscv/packh64.c: New test. - * gcc.target/riscv/packw.c: New test. - Co-authored-by: Jeffrey A Law <jlaw@ventanamicro.com> - -2024-05-28 Richard Biener <rguenther@suse.de> - - PR target/115254 - * gcc.dg/vect/vect-gather-4.c: Adjust dump scan. - -2024-05-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115236 - * gcc.dg/pr115236.c: New testcase. - -2024-05-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115254 - * gcc.dg/vect/slp-cond-2-big-array.c: Expect 4 times SLP. - * gcc.dg/vect/slp-cond-2.c: Likewise. - -2024-05-28 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/tree-ssa/bitops-9.c: Look at cdcde1 rather than optmization. - -2024-05-27 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115238 - * gcc.dg/tree-ssa/bitops-9.c: New test. - -2024-05-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115220 - PR tree-optimization/115226 - * gcc.dg/torture/pr115220.c: New testcase. - * gcc.dg/torture/pr115226.c: New testcase. - -2024-05-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115232 - * g++.dg/pr115232.C: New testcase. - -2024-05-27 Simon Martin <simartin@gcc.gnu.org> - - PR c++/105229 - * g++.dg/parse/crash72.C: New test. - -2024-05-27 Liao Shihua <shihua@iscas.ac.cn> - - * gcc.target/riscv/zmmul-3.c: New test. - -2024-05-27 Lyut Nersisyan <lyut.nersisyan@gmail.com> - - * gcc.target/riscv/and-shift32.c: New test. - * gcc.target/riscv/and-shift64.c: New test. - Co-authored-by: Jeffrey A Law <jlaw@ventanamicro.com> - -2024-05-27 Levy Hsu <admin@levyhsu.com> - H.J. Lu <hjl.tools@gmail.com> - - PR target/115146 - * g++.target/i386/pr107563-a.C: Append '-mno-sse3' to compile option - to avoid test failure on hosts with SSE3 support. - * g++.target/i386/pr107563-b.C: Append '-mno-sse3' to compile option - to avoid test failure on hosts with SSE3 support. - * gcc.target/i386/pr115146.c: New test. - -2024-05-26 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-8.c: New test. - -2024-05-26 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-7.c: New test. - -2024-05-25 Jeff Law <jlaw@ventanamicro.com> - - * g++.target/riscv/redundant-bitmap-1.C: New test. - * g++.target/riscv/redundant-bitmap-2.C: New test. - * g++.target/riscv/redundant-bitmap-3.C: New test. - * g++.target/riscv/redundant-bitmap-4.C: New test. - -2024-05-25 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/102345 - * g++.dg/modules/enum-12.C: Test for updated error. - -2024-05-24 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93635 - * gfortran.dg/c-interop/c1255-2.f90: Adjust pattern. - * gfortran.dg/pr87907.f90: Likewise. - * gfortran.dg/pr93635.f90: New test. - -2024-05-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/86100 - * gfortran.dg/bounds_check_25.f90: New test. - -2024-05-24 Martin Uecker <uecker@tugraz.at> - - PR c/114831 - * gcc.dg/pr114831-1.c: New test. - * gcc.dg/pr114831-2.c: New test. - * gcc.dg/gnu23-varmod-1.c: New test. - * gcc.dg/gnu23-varmod-2.c: New test. - -2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/115200 - * g++.dg/modules/mod-decl-1.C: Update error messages. - * g++.dg/modules/mod-decl-6.C: New test. - * g++.dg/modules/mod-decl-7.C: New test. - * g++.dg/modules/mod-decl-8.C: New test. - -2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/linkage-1_a.C: Remove anonymous type test. - * g++.dg/modules/linkage-1_b.C: Likewise. - * g++.dg/modules/linkage-1_c.C: Likewise. - * g++.dg/modules/linkage-2.C: Add note about anonymous types. - -2024-05-24 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-6.c: New test. - -2024-05-24 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/115192 - * gcc.dg/vect/pr115192.c: New test. - -2024-05-24 Manolis Tsamis <manolis.tsamis@vrull.eu> - - * gcc.dg/fold-perm-2.c: New test. - -2024-05-24 Alexandre Oliva <oliva@adacore.com> - Kewen Lin <linkw@linux.ibm.com> - - * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c (N): Tweak. - -2024-05-24 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect-gather-4.c: Scan for not vectorizing using - SLP. - -2024-05-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115144 - * gcc.dg/tree-ssa/ssa-sink-22.c: New testcase. - -2024-05-24 liuhongt <hongtao.liu@intel.com> - - PR target/114148 - * gcc.target/i386/pr106010-7b.c: Refine testcase. - -2024-05-24 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/pr97428.c: Expect a single store SLP group. - * gcc.dg/vect/slp-11c.c: Likewise, if !vect_load_lanes. - * gcc.dg/vect/vect-complex-5.c: Likewise. - * gcc.dg/vect/slp-12a.c: Do not expect SLP. - * gcc.dg/vect/slp-21.c: Remove not important scanning for SLP. - * gcc.dg/vect/slp-cond-1.c: Expect one more SLP if !vect_load_lanes. - * gcc.dg/vect/vect-gather-2.c: Expect SLP to be used. - * gcc.target/i386/pr52252-atom.c: XFAIL test for palignr. - -2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114947 - * g++.dg/modules/partial-4_a.C: New test. - * g++.dg/modules/partial-4_b.C: New test. - -2024-05-23 Jason Merrill <jason@redhat.com> - - PR c++/115187 - * g++.dg/cpp1z/array-prvalue3.C: New test. - -2024-05-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115197 - * gcc.dg/pr115197.c: New testcase. - -2024-05-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115199 - * gcc.dg/torture/pr115199.c: New testcase. - -2024-05-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115138 - * gcc.dg/torture/pr115138.c: New testcase. - -2024-05-23 Jiufu Guo <guojiufu@linux.ibm.com> - - * gcc.target/powerpc/pr106550.c: Adjust by requiring has_arch_ppc64 - effective target. And remove power10_ok. - -2024-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR tree-optimization/114072 - * gcc.dg/vect/vect-pr111779.c (scan-tree-dump): Require - vect_shift_char on big-endian targets. - -2024-05-23 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/103312 - * gfortran.dg/pr103312.f90: New test. - -2024-05-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/ccor.c: Order of loads are reversed, now, as a - consequence the condition has to be reversed. - -2024-05-23 Alexandre Oliva <oliva@adacore.com> - - PR target/105359 - * gcc.target/powerpc/pr79004.c: Xfail opcodes not available on - longdouble64. - * lib/target-supports.exp - (check_effective_target_long_double_64bit): Drop. - (add_options_for_long_double_64bit): Likewise. - -2024-05-23 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/115191 - * gcc.dg/tree-ssa/pr115191.c: New test. - -2024-05-22 Patrick Palka <ppalka@redhat.com> - - PR c++/115159 - * g++.dg/modules/noexcept-2_a.H: New test. - * g++.dg/modules/noexcept-2_b.C: New test. - -2024-05-22 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/102171 - * gcc.target/aarch64/vget_high_2.c: New test. - * gcc.target/aarch64/vget_high_2_be.c: New test. - -2024-05-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/cmse/extend-param.c: Add regression test. Add - -fshort-enums. - * gcc.target/arm/cmse/extend-return.c: Add -fshort-enums option. - -2024-05-22 Eric Botcazou <ebotcazou@adacore.com> - - * g++.dg/opt/fmo1.C: New test. - -2024-05-22 Tom de Vries <tdevries@suse.de> - - PR debug/115066 - * gcc.dg/pr115066.c (scan-assembler): Allow for alternative form - of Define macro. - -2024-05-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/115152 - * gcc.dg/pr115152.c: New test. - -2024-05-22 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/115172 - * gcc.dg/asan/pr115172.c: New test. - -2024-05-22 Haochen Jiang <haochen.jiang@intel.com> - - PR target/115069 - * gcc.target/i386/pr115069.c: New. - -2024-05-22 xuli <xuli1@eswincomputing.com> - - * gcc.dg/vect/vect-early-break_124-pr114403.c: Enable vectrization for RISC-V target. - -2024-05-22 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/abi/main.C: Check pedwarn for main with linkage-spec. - * g++.dg/modules/contracts-1_b.C: Don't declare main in named - module. - * g++.dg/modules/contracts-3_b.C: Likewise. - * g++.dg/modules/contracts-4_d.C: Likewise. - * g++.dg/modules/horcrux-1_a.C: Export declarations, so that... - * g++.dg/modules/horcrux-1_b.C: Don't declare main in named - module. - * g++.dg/modules/main-1.C: New test. - * g++.dg/parse/linkage5.C: New test. - * g++.dg/parse/linkage6.C: New test. - -2024-05-21 Patrick Palka <ppalka@redhat.com> - - PR c++/115139 - * g++.dg/template/non-dependent33.C: New test. - -2024-05-21 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.target/riscv/pr105733.c: New Test. - * gcc.target/riscv/rvv/autovec/vls/spill-1.c: Adjust to not - expect LUI 4096. - * 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-4.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/vls/spill-7.c: Ditto. - -2024-05-21 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115154 - * c-c++-common/ubsan/signed1bitfield-1.c: New test. - * gcc.c-torture/execute/signed1bitfield-1.c: New test. - -2024-05-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115137 - * gcc.dg/torture/pr115137.c: New testcase. - -2024-05-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/115149 - * gcc.dg/pr115149.c: New testcase. - -2024-05-21 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr114427.c: New test. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114842 - * lib/target-supports.exp (check_effective_target_powerpc_altivec): - Take current_compiler_flags into account. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114842 - * lib/target-supports.exp (check_effective_target_powerpc_vsx): Take - current_compiler_flags into account. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * gcc.target/powerpc/405-dlmzb-strlen-1.c: Remove the line using - powerpc_405_nocache check. - * gcc.target/powerpc/405-macchw-1.c: Likewise. - * gcc.target/powerpc/405-macchw-2.c: Likewise. - * gcc.target/powerpc/405-macchwu-1.c: Likewise. - * gcc.target/powerpc/405-macchwu-2.c: Likewise. - * gcc.target/powerpc/405-machhw-1.c: Likewise. - * gcc.target/powerpc/405-machhw-2.c: Likewise. - * gcc.target/powerpc/405-machhwu-1.c: Likewise. - * gcc.target/powerpc/405-machhwu-2.c: Likewise. - * gcc.target/powerpc/405-maclhw-1.c: Likewise. - * gcc.target/powerpc/405-maclhw-2.c: Likewise. - * gcc.target/powerpc/405-maclhwu-1.c: Likewise. - * gcc.target/powerpc/405-maclhwu-2.c: Likewise. - * gcc.target/powerpc/405-mulchw-1.c: Likewise. - * gcc.target/powerpc/405-mulchw-2.c: Likewise. - * gcc.target/powerpc/405-mulchwu-1.c: Likewise. - * gcc.target/powerpc/405-mulchwu-2.c: Likewise. - * gcc.target/powerpc/405-mulhhw-1.c: Likewise. - * gcc.target/powerpc/405-mulhhw-2.c: Likewise. - * gcc.target/powerpc/405-mulhhwu-1.c: Likewise. - * gcc.target/powerpc/405-mulhhwu-2.c: Likewise. - * gcc.target/powerpc/405-mullhw-1.c: Likewise. - * gcc.target/powerpc/405-mullhw-2.c: Likewise. - * gcc.target/powerpc/405-mullhwu-1.c: Likewise. - * gcc.target/powerpc/405-mullhwu-2.c: Likewise. - * gcc.target/powerpc/405-nmacchw-1.c: Likewise. - * gcc.target/powerpc/405-nmacchw-2.c: Likewise. - * gcc.target/powerpc/405-nmachhw-1.c: Likewise. - * gcc.target/powerpc/405-nmachhw-2.c: Likewise. - * gcc.target/powerpc/405-nmaclhw-1.c: Likewise. - * gcc.target/powerpc/405-nmaclhw-2.c: Likewise. - * lib/target-supports.exp - (check_effective_target_powerpc_405_nocache): Remove. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * lib/target-supports.exp - (check_effective_target_vect_cmdline_needed): Remove - check_effective_target_powerpc_spe. - (check_effective_target_powerpc_spe_nocache): Remove. - (check_effective_target_powerpc_spe): Remove. - (check_ppc_cpu_supports_hw_available): Remove powerpc*-*-eabispe check. - (check_p8vector_hw_available): Likewise. - (check_p9vector_hw_available): Likewise. - (check_p9modulo_hw_available): Likewise. - (check_ppc_float128_sw_available): Likewise. - (check_ppc_float128_hw_available): Likewise. - (check_vsx_hw_available): Likewise. - (check_vmx_hw_available): Likewise. - (check_ppc_recip_hw_available): Likewise. - (check_dfp_hw_available): Likewise. - (check_htm_hw_available): Likewise. - * g++.dg/ext/spe1.C: Remove. - * g++.dg/other/opaque-1.C: Remove. - * g++.dg/other/opaque-2.C: Remove. - * g++.dg/other/opaque-3.C: Remove. - * g++.target/powerpc/simd-5.C: Remove. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * lib/target-supports.exp (check_effective_target_powerpc_popcntb_ok): - Remove. - * gcc.target/powerpc/cmpb-2.c: Adjust with dg-skip-if as - powerpc_popcntb_ok gets removed. - * gcc.target/powerpc/cmpb-3.c: Likewise. - * gcc.target/powerpc/cmpb32-2.c: Likewise. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * lib/target-supports.exp (check_effective_target_vect_int): Remove - the check on powerpc-*-linux*paired*. - (check_effective_target_vect_intfloat_cvt): Likewise. - (check_effective_target_vect_uintfloat_cvt): Likewise. - (check_effective_target_vect_floatint_cvt): Likewise. - (check_effective_target_vect_floatuint_cvt): Likewise. - (check_effective_target_powerpc_altivec_ok): Likewise. - (check_effective_target_powerpc_p9modulo_ok): Likewise. - (check_effective_target_powerpc_float128_sw_ok): Likewise. - (check_effective_target_powerpc_float128_hw_ok): Likewise. - (check_effective_target_powerpc_vsx_ok): Likewise. - (check_effective_target_powerpc_htm_ok): Likewise. - (check_effective_target_vect_shift): Likewise. - (check_effective_target_vect_char_add): Likewise. - (check_effective_target_vect_shift_char): Likewise. - (check_effective_target_vect_long): Likewise. - (check_effective_target_ifn_copysign): Likewise. - (check_effective_target_vect_sdot_hi): Likewise. - (check_effective_target_vect_udot_hi): Likewise. - (check_effective_target_vect_pack_trunc): Likewise. - (check_effective_target_vect_int_mult): Likewise. - * gcc.target/powerpc/paired-1.c: Remove. - * gcc.target/powerpc/paired-10.c: Remove. - * gcc.target/powerpc/paired-2.c: Remove. - * gcc.target/powerpc/paired-3.c: Remove. - * gcc.target/powerpc/paired-4.c: Remove. - * gcc.target/powerpc/paired-5.c: Remove. - * gcc.target/powerpc/paired-6.c: Remove. - * gcc.target/powerpc/paired-7.c: Remove. - * gcc.target/powerpc/paired-8.c: Remove. - * gcc.target/powerpc/paired-9.c: Remove. - * gcc.target/powerpc/ppc-paired.c: Remove. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * lib/target-supports.exp - (check_effective_target_powerpc_altivec_ok): Remove checks for - aix[456].* - (check_effective_target_powerpc_p9modulo_ok): Likewise. - (check_effective_target_powerpc_float128_sw_ok): Likewise. - (check_effective_target_powerpc_float128_hw_ok): Likewise. - (check_effective_target_powerpc_vsx_ok): Likewise. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - * gcc.dg/torture/vector-1.c: Fix typo. - * gcc.dg/torture/vector-2.c: Likewise. - -2024-05-21 Kewen Lin <linkw@linux.ibm.com> - - PR target/114402 - * gcc.target/powerpc/pr114402.c: New test. - -2024-05-21 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115164 - * gm2/isolib/run/pass/testlowread.mod: New test. - * gm2/isolib/run/pass/testwritereal.mod: New test. - -2024-05-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/115143 - * gcc.c-torture/compile/pr115143-1.c: New test. - * gcc.c-torture/compile/pr115143-2.c: New test. - * gcc.c-torture/compile/pr115143-3.c: New test. - -2024-05-20 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/99798 - * gfortran.dg/submodule_33.f08: New test. - -2024-05-20 Pengxuan Zheng <quic_pzheng@quicinc.com> - - PR target/102171 - * gcc.target/aarch64/pr113573.c: Replace __builtin_aarch64_get_lowv8hi - with vget_low_s16. - * gcc.target/aarch64/vget_low_2.c: New test. - * gcc.target/aarch64/vget_low_2_be.c: New test. - -2024-05-20 Steve Baird <baird@adacore.com> - - * gnat.dg/specs/alignment2.ads: Adjust. - * gnat.dg/specs/alignment2_bis.ads: New test. - -2024-05-20 Tobias Burnus <tburnus@baylibre.com> - - PR fortran/115150 - * gfortran.dg/shape_12.f90: New test. - -2024-05-20 Haochen Jiang <haochen.jiang@intel.com> - - * g++.dg/other/i386-2.C: Remove Xeon Phi ISAs. - * g++.dg/other/i386-3.C: Ditto. - * g++.target/i386/mv28.C: Ditto. - * gcc.target/i386/builtin_target.c: Ditto. - * gcc.target/i386/sse-12.c: Ditto. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/sse-26.c: Ditto. - * gcc.target/i386/avx5124fmadd-v4fmaddps-1.c: Removed. - * 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-check.h: 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/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/pr104448.c: Ditto. - * gcc.target/i386/pr82941-2.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-6.c: Ditto. - * gcc.target/i386/pr82990-7.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/prefetchwt1-1.c: Ditto. - -2024-05-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/bug-6.c: New test. - -2024-05-19 Jeff Law <jlaw@ventanamicro.com> - - PR target/115142 - * gcc.target/riscv/pr115142.c: New test. - -2024-05-19 Iain Sandoe <iain@sandoe.co.uk> - - PR testsuite/114982 - * g++.dg/tree-ssa/cxa_atexit-6.C: Skip for Darwin. - -2024-05-19 Iain Sandoe <iain@sandoe.co.uk> - - * gcc.dg/darwin-weakimport-3.c: Suppress unwind frames. - -2024-05-18 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/shift-add-1.c: New test. - -2024-05-18 Xiao Zeng <zengxiao@eswincomputing.com> - - * gcc.target/riscv/_Bfloat16-nanboxing.c: Move to... - * gcc.target/riscv/__bf16-nanboxing.c: ...here. - * gcc.target/riscv/bf16_arithmetic.c: Modify _Bfloat16 to __bf16. - * gcc.target/riscv/bf16_call.c: Ditto. - * gcc.target/riscv/bf16_comparison.c: Ditto. - * gcc.target/riscv/bf16_float_libcall_convert.c: Ditto. - * gcc.target/riscv/bf16_integer_libcall_convert.c: Ditto. - -2024-05-18 Pan Li <pan2.li@intel.com> - - PR target/51492 - PR target/112600 - * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary.h: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: New test. - * gcc.target/riscv/sat_arith.h: New test. - * gcc.target/riscv/sat_u_add-1.c: New test. - * gcc.target/riscv/sat_u_add-2.c: New test. - * gcc.target/riscv/sat_u_add-3.c: New test. - * gcc.target/riscv/sat_u_add-4.c: New test. - * gcc.target/riscv/sat_u_add-run-1.c: New test. - * gcc.target/riscv/sat_u_add-run-2.c: New test. - * gcc.target/riscv/sat_u_add-run-3.c: New test. - * gcc.target/riscv/sat_u_add-run-4.c: New test. - * gcc.target/riscv/scalar_sat_binary.h: New test. - -2024-05-17 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Adjust test. - -2024-05-17 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/pr113474.c: New test. - -2024-05-17 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/event-links-ascii.c: New test. - * gcc.dg/analyzer/event-links-color.c: New test. - * gcc.dg/analyzer/event-links-disabled.c: New test. - * gcc.dg/analyzer/event-links-unicode.c: New test. - -2024-05-17 Uros Bizjak <ubizjak@gmail.com> - - PR middle-end/112600 - * gcc.target/i386/pr112600-1a.c: New test. - * gcc.target/i386/pr112600-1b.c: New test. - -2024-05-17 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/114874 - * gfortran.dg/pr114874_1.f90: New test for valid code. - * gfortran.dg/pr114874_2.f90: New test for invalid code. - -2024-05-17 Patrick Palka <ppalka@redhat.com> - - PR c++/115114 - * g++.dg/cpp2a/class-deduction-aggr15.C: New test. - -2024-05-17 Aldy Hernandez <aldyh@redhat.com> - - * gcc.dg/tree-ssa/pr115128.c: New test. - -2024-05-17 Richard Biener <rguenther@suse.de> - - * gcc.dg/torture/20240517-1.c: New testcase. - -2024-05-16 Pan Li <pan2.li@intel.com> - - * gcc.dg/vect/slp-mask-store-1.c: Add pragma novector as it will - have 2 times LOOP VECTORIZED in RISC-V. - * gcc.dg/vect/vect-early-break_124-pr114403.c: Xfail for the - riscv backend. - * lib/target-supports.exp: Add RISC-V backend. - -2024-05-16 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/early-break-1.c: New test. - * gcc.target/riscv/rvv/autovec/early-break-2.c: New test. - -2024-05-16 Jan Hubicka <jh@suse.cz> - - * gcc.c-torture/execute/pr113787.c: New test. - -2024-05-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/13962 - PR tree-optimization/96564 - * gcc.dg/tree-ssa/alias-39.c: New testcase. - * g++.dg/vect/pr68145.cc: Use -fno-tree-pta to avoid UB - to manifest in transforms no longer vectorizing this testcase - for an ICE. - -2024-05-16 Richard Biener <rguenther@suse.de> - - * gcc.dg/tree-ssa/alias-38.c: New testcase. - -2024-05-16 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cmpmemsi-1.c: Drop options. - * gcc.target/riscv/cpymemsi-1.c: Likewise. - -2024-05-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/79958 - PR tree-optimization/109087 - PR tree-optimization/100314 - PR tree-optimization/114774 - * gcc.dg/tree-ssa/ssa-dse-48.c: New testcase. - * gcc.dg/tree-ssa/ssa-dse-49.c: Likewise. - * gcc.dg/tree-ssa/ssa-dse-50.c: Likewise. - * gcc.dg/tree-ssa/ssa-dse-51.c: Likewise. - * gcc.dg/graphite/pr80906.c: Avoid DSE of last data reference - in loop. - * g++.dg/ipa/devirt-24.C: Adjust for extra DSE. - * g++.dg/warn/Wuninitialized-pr107919-1.C: Use more important - -O2 optimization level, -O1 regresses. - -2024-05-16 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: Update expected - output to use unicode for depth indication. - * gcc.dg/analyzer/out-of-bounds-diagram-1-unicode.c: Likewise. - -2024-05-16 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: Update expected - output to include warning emoji. - * gcc.dg/analyzer/warning-emoji.c: New test. - -2024-05-16 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/analyzer/allocation-size-multiline-1.c: Update - expected results for purely intraprocedural path. - * c-c++-common/analyzer/allocation-size-multiline-2.c: Likewise. - * c-c++-common/analyzer/allocation-size-multiline-3.c: Likewise. - * c-c++-common/analyzer/analyzer-verbosity-0.c: Likewise. - * c-c++-common/analyzer/analyzer-verbosity-1.c: Likewise. - * c-c++-common/analyzer/analyzer-verbosity-2.c: Likewise. - * c-c++-common/analyzer/analyzer-verbosity-3.c: Likewise. - * c-c++-common/analyzer/malloc-macro-inline-events.c: Likewise. - Doing so for this file requires a rewrite since the paths - prefixing the "in expansion of macro" lines become the only thing - on their line and so are no longer pruned by multiline.exp logic - for pruning extra content on non-blank lines. - * c-c++-common/analyzer/malloc-paths-9-noexcept.c: Likewise. - * c-c++-common/analyzer/setjmp-2.c: Likewise. - * gcc.dg/analyzer/malloc-paths-9.c: Likewise. - * gcc.dg/analyzer/out-of-bounds-multiline-2.c: Likewise. - * gcc.dg/plugin/diagnostic-test-paths-2.c: Likewise. - -2024-05-16 Xiao Zeng <zengxiao@eswincomputing.com> - - * gcc.target/riscv/arch-37.c: New test. - * gcc.target/riscv/arch-38.c: New test. - * gcc.target/riscv/predef-36.c: New test. - * gcc.target/riscv/predef-37.c: New test. - -2024-05-16 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr114514-shufb.c: New test. - -2024-05-16 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr114514-shift.c: New test. - -2024-05-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/114899 - * c-c++-common/analyzer/out-of-bounds-diagram-pr114899.c: New test. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cmpmemsi-1.c: New test. - * gcc.target/riscv/cmpmemsi-2.c: New test. - * gcc.target/riscv/cmpmemsi-3.c: New test. - * gcc.target/riscv/cmpmemsi.c: New test. - -2024-05-15 Marek Polacek <polacek@redhat.com> - - PR c++/114854 - * g++.dg/cpp1y/nsdmi-aggr22.C: New test. - -2024-05-15 Marek Polacek <polacek@redhat.com> - - DR 1693 - PR c++/113760 - DR 569 - * g++.dg/diagnostic/semicolon1.C: New test. - * g++.dg/diagnostic/semicolon10.C: New test. - * g++.dg/diagnostic/semicolon11.C: New test. - * g++.dg/diagnostic/semicolon12.C: New test. - * g++.dg/diagnostic/semicolon13.C: New test. - * g++.dg/diagnostic/semicolon14.C: New test. - * g++.dg/diagnostic/semicolon15.C: New test. - * g++.dg/diagnostic/semicolon16.C: New test. - * g++.dg/diagnostic/semicolon17.C: New test. - * g++.dg/diagnostic/semicolon2.C: New test. - * g++.dg/diagnostic/semicolon3.C: New test. - * g++.dg/diagnostic/semicolon4.C: New test. - * g++.dg/diagnostic/semicolon5.C: New test. - * g++.dg/diagnostic/semicolon6.C: New test. - * g++.dg/diagnostic/semicolon7.C: New test. - * g++.dg/diagnostic/semicolon8.C: New test. - * g++.dg/diagnostic/semicolon9.C: New test. - -2024-05-15 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR lto/113208 - * g++.dg/abi/comdat3.C: New test. - * g++.dg/abi/comdat4.C: New test. - -2024-05-15 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114902 - PR rtl-optimization/115092 - * gcc.dg/pr114902.c: New test. - * gcc.dg/pr115092.c: New test. - -2024-05-15 Jakub Jelinek <jakub@redhat.com> - - PR c/115103 - * c-c++-common/gomp/clause-dups-1.c: Add 2 further expected errors. - * gfortran.dg/gomp/pr115103.f90: New test. - -2024-05-15 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114589 - * gfortran.dg/streamio_9.f90: Use -ffloat-store to avoid - excess precision when not spilling. - * g++.dg/tree-ssa/pr114589.C: New testcase. - -2024-05-15 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/115057 - * gm2/isolib/run/pass/testrestline.mod: New test. - * gm2/isolib/run/pass/testrestline2.mod: New test. - * gm2/isolib/run/pass/testrestline3.mod: New test. - -2024-05-15 Marek Polacek <polacek@redhat.com> - - DR 2855 - * g++.dg/DRs/dr2855.C: New test. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cmo-zicboz-zic64-1.c: Fix for rv32. - -2024-05-15 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * gcc.target/aarch64/ldp_stp_16.c: Update to check for UZP1. - * gcc.target/aarch64/pr109072_1.c: Likewise. - * gcc.target/aarch64/vec-init-14.c: Likewise. - * gcc.target/aarch64/vec-init-9.c: Likewise. - -2024-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR ipa/85656 - * gcc.dg/ipa/ipa-icf-38.c: Require linker_plugin. - -2024-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * g++.target/i386/pr97054.C (dg-options): Add -fomit-frame-pointer. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cpymem-32-ooo.c: Adjustments for overlapping - access. - * gcc.target/riscv/cpymem-32.c: Adjustments for code emitted by - by-pieces. - * gcc.target/riscv/cpymem-64-ooo.c: Adjustments for overlapping - access. - * gcc.target/riscv/cpymem-64.c: Adjustments for code emitted by - by-pieces. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cpymem-32-ooo.c: Adjust for overlapping - access. - * gcc.target/riscv/cpymem-64-ooo.c: Likewise. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cpymem-32-ooo.c: Adjust for unaligned access. - * gcc.target/riscv/cpymem-64-ooo.c: Likewise. - -2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cpymem-32-ooo.c: New test. - * gcc.target/riscv/cpymem-32.c: New test. - * gcc.target/riscv/cpymem-64-ooo.c: New test. - * gcc.target/riscv/cpymem-64.c: New test. - -2024-05-15 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/cmo-zicboz-zic64-1.c: Don't run on rv32. - -2024-05-15 Levy Hsu <admin@levyhsu.com> - - PR target/107563 - * g++.target/i386/pr107563-a.C: New test. - * g++.target/i386/pr107563-b.C: New test. - -2024-05-15 Patrick Palka <ppalka@redhat.com> - - PR c++/114994 - * g++.dg/template/non-dependent32.C: New test. - -2024-05-15 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/shift-add-2.c: New test. - -2024-05-14 Simon Martin <simon-l.martin@laposte.net> - - PR c++/105760 - * g++.dg/parse/error66.C: New test. - -2024-05-14 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.target/riscv/sum-of-two-s12-const-1.c: New test: checks - for new patterns output. - * gcc.target/riscv/sum-of-two-s12-const-2.c: Ditto. - * gcc.target/riscv/sum-of-two-s12-const-3.c: New test: should not - ICE. - -2024-05-14 Richard Biener <rguenther@suse.de> - - PR tree-optimization/99954 - * gcc.dg/tree-ssa/ldist-40.c: New testcase. - -2024-05-14 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cmo-zicboz-zic64-1.c: New file. - -2024-05-14 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cmo-zicbom-1.c: Add \t to test pattern. - * gcc.target/riscv/cmo-zicbom-2.c: Likewise. - * gcc.target/riscv/cmo-zicbop-1.c: Likewise. - * gcc.target/riscv/cmo-zicbop-2.c: Likewise. - * gcc.target/riscv/cmo-zicboz-1.c: Likewise. - * gcc.target/riscv/cmo-zicboz-2.c: Likewise. - -2024-05-14 Tom de Vries <tdevries@suse.de> - - * gcc.dg/pr115066.c: Don't match comment marker. - -2024-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR analyzer/107750 - * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: - Include <string.h>. - -2024-05-14 Tom de Vries <tdevries@suse.de> - - PR debug/115066 - * gcc.dg/pr115066.c: New test. - -2024-05-14 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/block-cmp-9.c: New. - -2024-05-14 Jeff Law <jlaw@ventanamicro.com> - - Revert: - 2024-05-14 Sergei Lewis <slewis@rivosinc.com> - - PR target/112109 - * gcc.target/riscv/rvv/base/movmem-1.c: New test - -2024-05-13 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zba_zbs_and-1.c: New test. - -2024-05-13 Sergei Lewis <slewis@rivosinc.com> - - PR target/112109 - * gcc.target/riscv/rvv/base/movmem-1.c: New test - -2024-05-13 Pan Li <pan2.li@intel.com> - - PR target/114988 - * gcc.target/riscv/rvv/base/pr114988-1.c: New test. - * gcc.target/riscv/rvv/base/pr114988-2.c: New test. - -2024-05-13 Patrick Palka <ppalka@redhat.com> - - PR c++/114974 - PR c++/114901 - PR c++/114903 - * g++.dg/cpp2a/class-deduction-aggr14.C: New test. - * g++.dg/cpp2a/class-deduction-alias20.C: New test. - * g++.dg/cpp2a/class-deduction-alias21.C: New test. - -2024-05-13 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zbs-bext-2.c: New test. - * gcc.target/riscv/zbs-bext.c: Fix one of the possible expectes sequences. - -2024-05-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR c++/98529 - * g++.dg/modules/stdio-1_a.H (scan-lang-dump): Allow for - ::std::printf. - -2024-05-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113982 - * gcc.dg/pr113982.c: New test. - -2024-05-13 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/113363 - * gfortran.dg/pr113363.f90: New test. - -2024-05-13 YunQiang Su <syq@debian.org> - - Revert: - 2024-05-13 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/msa-inline-asm.c: New test. - -2024-05-12 Roger Sayle <roger@nextmovesoftware.com> - Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> - Roger Sayle <roger@nextmovesoftware.com> - Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> - - * gcc.target/arm/extend-ror.c: New test. - -2024-05-12 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-5.c: New test. - -2024-05-12 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-4.c: New test - -2024-05-12 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/84006 - PR fortran/100027 - PR fortran/98534 - * gfortran.dg/storage_size_7.f90: New test. - * gfortran.dg/transfer_class_4.f90: New test. - -2024-05-11 Harald Anlauf <anlauf@gmx.de> - - PR fortran/115039 - * gfortran.dg/statement_function_5.f90: New test. - -2024-05-11 Mark Harmstone <mark@harmstone.com> - - * gcc.dg/debug/codeview/codeview-1.c: New test. - * gcc.dg/debug/codeview/codeview.exp: New testsuite driver. - -2024-05-11 dzhao.ampere <di.zhao@amperecomputing.com> - - PR tree-optimization/114760 - * gcc.dg/tree-ssa/pr114760-1.c: New test. - * gcc.dg/tree-ssa/pr114760-2.c: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of - __is_nothrow_invocable. - * g++.dg/ext/is_nothrow_invocable.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_invocable. - * g++.dg/ext/is_invocable1.C: New test. - * g++.dg/ext/is_invocable2.C: New test. - * g++.dg/ext/is_invocable3.C: New test. - * g++.dg/ext/is_invocable4.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of __array_rank. - * g++.dg/ext/rank.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of __decay. - * g++.dg/ext/decay.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of - __add_rvalue_reference. - * g++.dg/ext/add_rvalue_reference.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of - __add_lvalue_reference. - * g++.dg/ext/add_lvalue_reference.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of - __remove_all_extents. - * g++.dg/ext/remove_all_extents.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of __remove_extent. - * g++.dg/ext/remove_extent.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of __add_pointer. - * g++.dg/ext/add_pointer.C: New test. - -2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of - __is_unbounded_array. - * g++.dg/ext/is_unbounded_array.C: New test. - -2024-05-10 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-1.c: Also count shNadd instructions. - * gcc.target/riscv/synthesis-3.c: New test. - -2024-05-10 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - * gcc.target/i386/vect-shiftv4qi.c: Specify -mno-avx512vl. - * gcc.target/i386/vect-shiftv8qi.c: Likewise. - * gcc.target/i386/vect-shiftv4qi-2.c: New test case. - * gcc.target/i386/vect-shiftv8qi-2.c: Likewise. - -2024-05-10 Vladimir N. Makarov <vmakarov@redhat.com> - - PR target/114942 - * gcc.target/i386/pr114942.c: New. - -2024-05-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114998 - * gcc.dg/torture/pr114998.c: New testcase. - -2024-05-10 Richard Biener <rguenther@suse.de> - - * gcc.dg/vect/vect-reduc-sad-9.c: New testcase. - -2024-05-10 Georg-Johann Lay <avr@gjlay.de> - - PR target/114981 - * gcc.target/avr/pr114981-powif.c: New test. - -2024-05-10 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zba-shadduw.c: New test. - -2024-05-09 Marek Polacek <polacek@redhat.com> - - PR c++/114983 - * g++.dg/warn/Wsizeof-array-div3.C: New test. - -2024-05-09 Jakub Jelinek <jakub@redhat.com> - - PR target/84508 - * gcc.target/i386/pr84508-1.c: Move to ... - * gcc.dg/ubsan/pr84508-1.c: ... here. Restrict to i?86/x86_64 - non-ia32 targets. - * gcc.target/i386/pr84508-2.c: Move to ... - * gcc.dg/ubsan/pr84508-2.c: ... here. Restrict to i?86/x86_64 - non-ia32 targets. - -2024-05-09 Marek Polacek <polacek@redhat.com> - - PR c++/85889 - * g++.dg/cpp2a/decomp3.C: Use -Wno-c++20-extensions. - * g++.dg/cpp1z/decomp60.C: New test. - -2024-05-09 Martin Jambor <mjambor@suse.cz> - - * g++.dg/tree-ssa/pr109849.C: Also check that the aggeegate store - to cur disappears. - * gcc.dg/tree-ssa/ssa-dse-26.c: Instead of relying on DSE, - check that the unwanted stores were removed at early SRA time. - -2024-05-09 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: - Introduce extern func use to get rid of ccp4 optimization. - -2024-05-09 Jakub Jelinek <jakub@redhat.com> - - PR c++/89224 - * g++.dg/torture/vector-subaccess-1.C: Add -Wno-psabi as additional - options. - -2024-05-09 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/msa-inline-asm.c: New test. - -2024-05-09 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/cpymemsi-1.c: New test. - * gcc.target/riscv/cpymemsi-2.c: New test. - * gcc.target/riscv/cpymemsi-3.c: New test. - * gcc.target/riscv/cpymemsi.c: New test. - -2024-05-09 Hu, Lin1 <lin1.hu@intel.com> - - PR target/84508 - * gcc.target/i386/pr84508-1.c: New test. - * gcc.target/i386/pr84508-2.c: Ditto. - -2024-05-08 Xiao Zeng <zengxiao@eswincomputing.com> - - * gcc.target/riscv/_Bfloat16-nanboxing.c: New test. - -2024-05-08 Georg-Johann Lay <avr@gjlay.de> - - PR target/114981 - * gcc.target/avr/pr114981-powil.c: New test. - -2024-05-08 Marek Polacek <polacek@redhat.com> - - PR c++/113582 - * g++.dg/warn/Wunused-label-4.C: New test. - -2024-05-08 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/112392 - * gcc.dg/tree-ssa/phi-opt-41.c: New test. - -2024-05-08 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> - - PR tree-optimization/81953 - * gcc.dg/tree-ssa/ssa-sink-21.c: New test. - -2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/extend-shift-helpers.h: Add helpers for - sign-extension. - * gcc.target/riscv/sign-extend-rshift-32.c: New test. - * gcc.target/riscv/sign-extend-rshift-64.c: New test. - * gcc.target/riscv/sign-extend-rshift.c: New test. - -2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/111501 - * gcc.target/riscv/extend-shift-helpers.h: New test. - * gcc.target/riscv/pr111501.c: New test. - * gcc.target/riscv/zero-extend-rshift-32.c: New test. - * gcc.target/riscv/zero-extend-rshift-64.c: New test. - * gcc.target/riscv/zero-extend-rshift.c: New test. - -2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/sign-extend-1.c: Test sraiw 24 and sraiw 16. - -2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/sign-extend-1.c: New test. - -2024-05-08 Georg-Johann Lay <avr@gjlay.de> - - PR target/114975 - * gcc.target/avr/pr114975-parity.c: New test. - -2024-05-08 Georg-Johann Lay <avr@gjlay.de> - - PR target/114975 - * gcc.target/avr/pr114975-popcount.c: New test. - -2024-05-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114965 - * gcc.c-torture/execute/pr114965.c: New test. - -2024-05-08 konglin1 <lingling.kong@intel.com> - - * gcc.target/i386/cmov6.c: Fixed. - -2024-05-08 Hans-Peter Nilsson <hp@axis.com> - - Revert: - 2024-04-10 Hans-Peter Nilsson <hp@axis.com> - - Revert: - 2024-04-05 Hans-Peter Nilsson <hp@axis.com> - - * gcc.target/cris/pr93372-2.c: Tweak scan-assembler - checks to cover recent combine improvement. - -2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114856 - * g++.dg/modules/pr114856.h: New test. - * g++.dg/modules/pr114856_a.H: New test. - * g++.dg/modules/pr114856_b.C: New test. - -2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR c++/89224 - * g++.dg/torture/vector-subaccess-1.C: New test. - * gcc.dg/pr83415.c: Change warning to error. - -2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/19661 - * g++.dg/tree-ssa/cxa_atexit-1.C: New test. - * g++.dg/tree-ssa/cxa_atexit-2.C: New test. - * g++.dg/tree-ssa/cxa_atexit-3.C: New test. - * g++.dg/tree-ssa/cxa_atexit-4.C: New test. - * g++.dg/tree-ssa/cxa_atexit-5.C: New test. - * g++.dg/tree-ssa/cxa_atexit-6.C: New test. - -2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/114894 - * gcc.dg/tree-ssa/phi-opt-value-5.c: New test. - -2024-05-07 Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/memcpy-nonoverlapping.c: New test. - * gcc.target/riscv/memset-nonoverlapping.c: New test. - -2024-05-07 Jakub Jelinek <jakub@redhat.com> - - PR c++/114459 - * g++.dg/cpp26/feat-cxx26.C (__cpp_variadic_friend): Add test. - * g++.dg/cpp26/variadic-friend1.C: New test. - -2024-05-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114907 - * gcc.dg/pr114907.c: New test. - -2024-05-07 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/114956 - * gcc.dg/asan/pr114956.c: New test. - -2024-05-07 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114133 - * gm2/extensions/run/pass/callingc10.mod: Convert constant - literal numbers into INTEGER. - * gm2/extensions/run/pass/callingc11.mod: Ditto. - * gm2/extensions/run/pass/vararg2.mod: Ditto. - * gm2/iso/run/pass/packed.mod: Emit a printf as a runtime - diagnostic. - -2024-05-07 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/zbb-strlen-disabled-2.c: Turn off inlining. - -2024-05-07 Alex Coplan <alex.coplan@arm.com> - - PR target/114674 - * gcc.target/aarch64/pr114674.c: New test. - -2024-05-07 Richard Biener <rguenther@suse.de> - - PR middle-end/27800 - * gcc.dg/pr27800.c: New testcase. - -2024-05-07 Richard Biener <rguenther@suse.de> - - PR middle-end/114931 - * gcc.dg/pr114931.c: New testcase. - -2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * lib/target-supports.exp (check_effective_target_pie): Always - enable on *-*-solaris2*. - -2024-05-07 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr113079.c: New test. - * gcc.target/i386/pr113079-2.c: New test. - * gcc.target/i386/sse4-pr113079-2.c: New test. - -2024-05-07 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr113090.c: New test. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * g++.target/pru/minrt-1.cc: New test. - * g++.target/pru/minrt-2.cc: New test. - * g++.target/pru/minrt-3.cc: New test. - * g++.target/pru/pru.exp: New test. - * gcc.target/pru/minrt-1.c: New test. - * gcc.target/pru/minrt-2.c: New test. - * gcc.target/pru/minrt-3.c: New test. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/noreturn-prologue-1.c: New test. - * gcc.target/pru/noreturn-prologue-2.c: New test. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/extzv-1.c: Update to mark the new more - efficient generated code sequence. - * gcc.target/pru/extzv-2.c: Ditto. - * gcc.target/pru/extzv-3.c: Ditto. - * gcc.target/pru/zero_extend-op0.c: New test. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/ashiftrt.c: Minor update due to new (but - equivalent) generated code sequence. - * gcc.target/pru/extzv-1.c: New test. - * gcc.target/pru/extzv-2.c: New test. - * gcc.target/pru/extzv-3.c: New test. - * gcc.target/pru/insv-1.c: New test. - * gcc.target/pru/insv-2.c: New test. - * gcc.target/pru/insv-3.c: New test. - * gcc.target/pru/insv-4.c: New test. - -2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> - - * gcc.target/pru/mov-0.c: New test. - -2024-05-07 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - PR target/106060 - * gcc.target/i386/auto-init-8.c: Update test case. - * gcc.target/i386/avx512fp16-13.c: Likewise. - * gcc.target/i386/pr100865-9a.c: Likewise. - * gcc.target/i386/pr101796-1.c: Likewise. - * gcc.target/i386/pr106060-1.c: New test case. - * gcc.target/i386/pr106060-2.c: Likewise. - * gcc.target/i386/pr106060-3.c: Likewise. - * gcc.target/i386/pr70314.c: Update test case. - * gcc.target/i386/vect-shiftv4qi.c: Likewise. - * gcc.target/i386/vect-shiftv8qi.c: Likewise. - -2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114954 - * g++.dg/modules/pr114954.C: New test. - -2024-05-06 Xiao Zeng <zengxiao@eswincomputing.com> - - * gcc.target/riscv/arch-35.c: New test. - * gcc.target/riscv/arch-36.c: New test. - * gcc.target/riscv/predef-34.c: New test. - * gcc.target/riscv/predef-35.c: New test. - -2024-05-06 Robin Dapp <rdapp@ventanamicro.com> - - PR tree-optimization/114749 - * gcc.target/riscv/rvv/autovec/pr114749.c: New test. - -2024-05-06 Xiao Zeng <zengxiao@eswincomputing.com> - Jin Ma <jinma@linux.alibaba.com> - - * gcc.target/riscv/bf16_arithmetic.c: New test. - * gcc.target/riscv/bf16_call.c: New test. - * gcc.target/riscv/bf16_comparison.c: New test. - * gcc.target/riscv/bf16_float_libcall_convert.c: New test. - * gcc.target/riscv/bf16_integer_libcall_convert.c: New test. - -2024-05-06 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-2.c: New test. - -2024-05-06 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/114177 - * gcc.target/aarch64/sve/loop_add_6.c: Use __SIZETYPE__ instead - of `unsigned long` for index and offset variables. - -2024-05-06 Qing Zhao <qing.zhao@oracle.com> - - PR c/53548 - * c-c++-common/fam-in-union-alone-in-struct-bos-1.c: New test. - * c-c++-common/fam-in-union-alone-in-struct-bos.c: New test. - -2024-05-06 Qing Zhao <qing.zhao@oracle.com> - - PR c/53548 - * c-c++-common/fam-in-union-alone-in-struct-1.c: New testcase. - * c-c++-common/fam-in-union-alone-in-struct-2.c: New testcase. - * c-c++-common/fam-in-union-alone-in-struct-3.c: New testcase. - -2024-05-06 Qing Zhao <qing.zhao@oracle.com> - - PR c/53548 - * c-c++-common/builtin-clear-padding-3.c: Adjust testcase. - * g++.dg/ext/flexary12.C: Likewise. - * g++.dg/ext/flexary19.C: Likewise. - * g++.dg/ext/flexary2.C: Likewise. - * g++.dg/ext/flexary3.C: Likewise. - * g++.dg/ext/flexary36.C: Likewise. - * g++.dg/ext/flexary4.C: Likewise. - * g++.dg/ext/flexary5.C: Likewise. - * g++.dg/ext/flexary8.C: Likewise. - * g++.dg/torture/pr64280.C: Likewise. - * gcc.dg/20050620-1.c: Likewise. - * gcc.dg/940510-1.c: Likewise. - -2024-05-06 Georg-Johann Lay <avr@gjlay.de> - - PR ipa/92606 - * gcc.target/avr/torture/pr92606.c: New test. - -2024-05-06 YunQiang Su <syq@gcc.gnu.org> - - PR target/113179 - * gcc.target/mips/pr113179.c: New tests. - -2024-05-05 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114827 - * gfortran.dg/asan/unlimited_polymorphic_34.f90: New test. - -2024-05-03 Andrew Pinski <quic_apinski@quicinc.com> - - * gfortran.dg/gomp/atomic-21.f90: Update testcase for the removal of `;`. - -2024-05-03 Jason Merrill <jason@redhat.com> - - PR c++/114935 - * g++.dg/cpp0x/initlist-eh1.C: New test. - -2024-05-03 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114929 - * gm2/pim/run/pass/testforloopchar.mod: New test. - * gm2/pim/run/pass/testforloopchar2.mod: New test. - * gm2/pim/run/pass/testforloopenum.mod: New test. - -2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_pointer. - Arrange the order lexically around __is_pointer. - * g++.dg/ext/is_pointer.C: New test. - -2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_volatile. - * g++.dg/ext/is_volatile.C: New test. - -2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> - - * g++.dg/ext/has-builtin-1.C: Test existence of __is_const. - * g++.dg/ext/is_const.C: New test. - -2024-05-03 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/111475 - * c-c++-common/analyzer/fd-glibc-byte-stream-socket.c: Add - -fno-exceptions for now. - * c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c: Likewise. - * c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c: Rename to... - * c-c++-common/analyzer/fd-manpage-getaddrinfo-server.c: ...this, and - add -fno-exceptions for now. - * c-c++-common/analyzer/fd-socket-meaning.c: Add -fno-exceptions - for now. - * c-c++-common/analyzer/fd-symbolic-socket.c: Likewise. - * c-c++-common/analyzer/flexible-array-member-1.c: Use regexp to - handle C vs C++ differences in spelling of function name, which - could have a "std::" prefix on some targets. - * c-c++-common/analyzer/pr106539.c: Likewise. - * c-c++-common/analyzer/malloc-ipa-8-unchecked.c: Move back to... - * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: ...here, dropping - attempt to generalize output for C vs C++. - * c-c++-common/analyzer/signal-4a.c: Move back to... - * gcc.dg/analyzer/signal-4a.c: ...here, dropping attempt to - generalize output for C vs C++. - * c-c++-common/analyzer/signal-4b.c: Move back to... - * gcc.dg/analyzer/signal-4b.c: ...here, dropping attempt to - generalize output for C vs C++. - -2024-05-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113596 - * gcc.dg/pr113596.c: New test. - * gcc.dg/tree-ssa/pr113596.c: New test. - -2024-05-03 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114929 - * gm2/pim/run/pass/testforloopzero.mod: New test. - * gm2/pim/run/pass/testforloopzero2.mod: New test. - * gm2/pim/run/pass/testforloopzero3.mod: New test. - * gm2/pim/run/pass/testforloopzero4.mod: New test. - -2024-05-02 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/synthesis-1.c: New test. - -2024-05-02 Patrick O'Neill <patrick@rivosinc.com> - - PR middle-end/114734 - * gcc.target/riscv/rvv/autovec/pr114734.c: New test. - -2024-05-02 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/round_32.c: Add require-effective-target glibc. - * gcc.target/riscv/round_64.c: Likewise. - -2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114917 - * g++.dg/modules/export-5_a.C: New test. - * g++.dg/modules/export-5_b.C: New test. - * g++.dg/parse/linkage4.C: New test. - -2024-05-02 Jakub Jelinek <jakub@redhat.com> - - PR c++/114458 - * g++.dg/cpp26/feat-cxx26.C (__cpp_deleted_function): Add test. - * g++.dg/cpp26/delete-reason1.C: New test. - * g++.dg/cpp26/delete-reason2.C: New test. - * g++.dg/parse/error65.C (f1): Adjust expected diagnostics. - -2024-05-02 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/risbg-ll-2.c: Fix start offset for rosbg of - f10. - -2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114630 - * g++.dg/modules/partial-3.C: New test. - -2024-05-02 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.dg/zero_bits_compound-1.c: Fix for s390. - -2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/105224 - * g++.dg/modules/virt-2_a.C: Update linkage requirements. - * g++.dg/modules/virt-2_b.C: Likewise. - * g++.dg/modules/virt-2_c.C: Likewise. - * g++.dg/modules/virt-4_a.C: New test. - * g++.dg/modules/virt-4_b.C: New test. - -2024-05-01 Jason Merrill <jason@redhat.com> - - * g++.dg/debug/dwarf2/array-3.C: No more 'int' for in-chrg parm. - * g++.dg/debug/dwarf2/array-4.C: Likewise. - -2024-05-01 Jason Merrill <jason@redhat.com> - - PR c++/113706 - * g++.dg/opt/const-builtin1.C: New test. - * c-c++-common/pr103798-2.c: Remove xfail. - -2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/using-16_a.C: New test. - * g++.dg/modules/using-16_b.C: New test. - * g++.dg/modules/using-16_c.C: New test. - -2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114868 - * g++.dg/modules/using-15_a.C: New test. - * g++.dg/modules/using-15_b.C: New test. - * g++.dg/modules/using-15_c.C: New test. - -2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/107688 - * g++.dg/modules/contracts-1_a.C: Avoid now-illegal syntax. - * g++.dg/modules/contracts-2_a.C: Likewise. - * g++.dg/modules/contracts-3_a.C: Likewise. - * g++.dg/modules/contracts-4_a.C: Likewise. - * g++.dg/modules/lang-1_c.C: Clarify now-legal syntax. - * g++.dg/modules/pr101582-1.C: Remove now-legal XFAILS. - * g++.dg/template/crash71.C: Update error messages. - * g++.dg/cpp2a/linkage-spec1.C: New test. - * g++.dg/modules/export-3.C: New test. - * g++.dg/modules/export-4_a.C: New test. - * g++.dg/modules/export-4_b.C: New test. - -2024-04-30 Jivan Hakobyan <jivanhakobyan9@gmail.com> - - * gcc.target/riscv/fix.c: New test. - * gcc.target/riscv/round.c: New test. - * gcc.target/riscv/round_32.c: New test. - * gcc.target/riscv/round_64.c: New test. - -2024-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR modula2/114886 - * lib/gm2.exp: Don't load timeout-dg.exp. - Don't set gm2_previous_timeout. - Don't call dg-timeout. - (gm2_push_timeout, gm2_pop_timeout): Remove. - (gm2_init): Don't call dg-timeout. - * lib/gm2-torture.exp: Don't load timeout-dg.exp. - Don't set gm2_previous_timeout. - Don't call dg-timeout. - (gm2_push_timeout, gm2_pop_timeout): Remove. - * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: Don't - load timeout-dg.exp. - Don't call gm2_push_timeout, gm2_pop_timeout. - * gm2/examples/map/pass/examples-map-pass.exp: Don't call - gm2_push_timeout, gm2_pop_timeout. - * gm2/iso/run/pass/iso-run-pass.exp: Don't load timeout-dg.exp. - Don't call gm2_push_timeout, gm2_pop_timeout. - * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: Don't load - timeout-dg.exp. - Don't call gm2_push_timeout, gm2_pop_timeout. - * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: - Don't call gm2_push_timeout, gm2_pop_timeout. - * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: - Don't load timeout-dg.exp. - Don't call gm2_push_timeout, gm2_pop_timeout. - -2024-04-30 Richard Biener <rguenther@suse.de> - - * gcc.dg/gimplefe-53.c: New testcase. - -2024-04-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114876 - * gcc.dg/pr114876.c: New test. - * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust expected - diagnostics. - -2024-04-30 Jakub Jelinek <jakub@redhat.com> - Hongtao Liu <hongtao.liu@intel.com> - - PR tree-optimization/114883 - * gfortran.dg/pr114883.f90: New test. - -2024-04-30 Jakub Jelinek <jakub@redhat.com> - - PR c++/114456 - * g++.dg/cpp26/decomp1.C: New test. - * g++.dg/cpp26/decomp2.C: New test. - * g++.dg/cpp26/feat-cxx26.C (__cpp_structured_bindings): Expect - 202403 rather than 201606. - -2024-04-30 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/105320 - PR c++/114275 - * g++.dg/modules/tpl-friend-10_a.C: New test. - * g++.dg/modules/tpl-friend-10_b.C: New test. - * g++.dg/modules/tpl-friend-10_c.C: New test. - * g++.dg/modules/tpl-friend-10_d.C: New test. - * g++.dg/modules/tpl-friend-11_a.C: New test. - * g++.dg/modules/tpl-friend-11_b.C: New test. - * g++.dg/modules/tpl-friend-12_a.C: New test. - * g++.dg/modules/tpl-friend-12_b.C: New test. - * g++.dg/modules/tpl-friend-12_c.C: New test. - * g++.dg/modules/tpl-friend-12_d.C: New test. - * g++.dg/modules/tpl-friend-12_e.C: New test. - * g++.dg/modules/tpl-friend-12_f.C: New test. - * g++.dg/modules/tpl-friend-13_a.C: New test. - * g++.dg/modules/tpl-friend-13_b.C: New test. - * g++.dg/modules/tpl-friend-13_c.C: New test. - * g++.dg/modules/tpl-friend-13_d.C: New test. - * g++.dg/modules/tpl-friend-13_e.C: New test. - * g++.dg/modules/tpl-friend-13_f.C: New test. - * g++.dg/modules/tpl-friend-13_g.C: New test. - * g++.dg/modules/tpl-friend-14_a.C: New test. - * g++.dg/modules/tpl-friend-14_b.C: New test. - * g++.dg/modules/tpl-friend-14_c.C: New test. - * g++.dg/modules/tpl-friend-14_d.C: New test. - * g++.dg/modules/tpl-friend-9.C: New test. - -2024-04-30 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/enum-12.C: Update error message. - * g++.dg/modules/friend-5_b.C: Likewise. - * g++.dg/modules/shadow-1_b.C: Likewise. - -2024-04-30 Patrick Palka <ppalka@redhat.com> - - PR c++/114889 - * g++.dg/modules/friend-8_a.H: New test. - * g++.dg/modules/friend-8_b.C: New test. - -2024-04-30 Patrick Palka <ppalka@redhat.com> - - PR c++/114888 - * g++.dg/template/sizeof19.C: New test. - -2024-04-29 Alexandre Oliva <oliva@gnu.org> - - Revert: - 2024-04-28 Alexandre Oliva <oliva@adacore.com> - - * lib/target-supports.exp (check_vect_support_and_set_flags): - Decay to link rather than compile. - -2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.dg/selected_logical_kind_1.f90: New test. - * gfortran.dg/selected_logical_kind_2.f90: New test. - * gfortran.dg/selected_logical_kind_3.f90: New test. - * gfortran.dg/selected_logical_kind_4.f90: New test. - -2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.dg/iso_fortran_env_8.f90: New test. - * gfortran.dg/iso_fortran_env_9.f90: New test. - -2024-04-29 demin.han <demin.han@starfivetech.com> - - PR target/114506 - * gcc.dg/vect/costmodel/riscv/rvv/pr114506.c: New test. - -2024-04-29 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/114959 - * gfortran.dg/pr114959.f90: New test. - -2024-04-29 Jie Mei <jie.mei@oss.cipunited.com> - - * gcc.target/mips/mips-minmax1.c: New test for MIPS R6. - * gcc.target/mips/mips-minmax2.c: Same as above. - -2024-04-28 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/zero_extendkmask.c: New file. - -2024-04-28 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/cdce3.c: Require sqrt_insn effective target. - * gcc.target/powerpc/pr46728-10.c: Likewise. Drop darwin - explicit skipping. - * gcc.target/powerpc/pr46728-11.c: Likewise. Likewise. - * gcc.target/powerpc/pr46728-13.c: Likewise. Likewise. - * gcc.target/powerpc/pr46728-14.c: Likewise. Likewise. - -2024-04-28 Alexandre Oliva <oliva@adacore.com> - - PR target/58684 - * gcc.dg/torture/pr91323.c: Expect execution fail on - powerpc*-*-*. - -2024-04-28 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/powerpc/vec-mul.c: Run on target vsx_hw, just - compile otherwise. - -2024-04-28 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Disable - ldist. - -2024-04-28 Olivier Hainque <hainque@adacore.com> - - * gcc.target/powerpc/swaps-p8-20.c: Change powerpc_altivec_ok - require-effective-target test into vmx_hw. - * gcc.target/powerpc/vsx-vector-5.c: Change powerpc_vsx_ok - require-effective-target test into vsx_hw. - -2024-04-28 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/powerpc/pr106680-1.c: Error on vxworks too. - * gcc.target/powerpc/pr106680-2.c: Likewise. - * gcc.target/powerpc/pr106680-3.c: Likewise. - -2024-04-28 Alexandre Oliva <oliva@adacore.com> - - * lib/target-supports.exp (check_vect_support_and_set_flags): - Decay to link rather than compile. - -2024-04-28 Jiufu Guo <guojiufu@linux.ibm.com> - - PR target/95782 - * g++.target/s390/pr95782.C: New test. - -2024-04-27 Xi Ruoyao <xry111@xry111.site> - - PR target/114861 - * gcc.target/loongarch/pr114861.c: New test. - -2024-04-26 Wilco Dijkstra <wilco.dijkstra@arm.com> - - * gcc.target/aarch64/ldp_stp_q_disable.c: Remove test. - -2024-04-26 Patrick Palka <ppalka@redhat.com> - - * g++.dg/concepts/diagnostic2.C: Expect source line printed - for the "required from here" message. - * g++.dg/template/error60a.C: New test. - -2024-04-26 Haochen Jiang <haochen.jiang@intel.com> - - PR target/110621 - * gcc.target/i386/pr105354-2.c: As mentioned. - -2024-04-25 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/bpf-debug-options-1.c: New test. - * gcc.target/bpf/bpf-debug-options-2.c: Likewise. - * gcc.target/bpf/bpf-debug-options-3.c: Likewise. - * gcc.target/bpf/core-options-4.c: Likewise. - -2024-04-25 Jakub Jelinek <jakub@redhat.com> - - PR c++/111284 - * g++.dg/cpp1z/constexpr-111284.C: New test. - * g++.dg/cpp1y/constexpr-lifetime7.C: Expect one error on a different - line. - -2024-04-25 Jakub Jelinek <jakub@redhat.com> - - PR lto/113208 - * g++.dg/abi/comdat2.C: New test. - * g++.dg/abi/comdat5.C: New test. - * g++.dg/lto/pr113208_0.C: New test. - * g++.dg/lto/pr113208_1.C: New file. - * g++.dg/lto/pr113208.h: New file. - -2024-04-25 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/core-options-1.c: New test. - * gcc.target/bpf/core-options-2.c: Likewise. - * gcc.target/bpf/core-options-3.c: Likewise. - -2024-04-25 Jakub Jelinek <jakub@redhat.com> - - PR fortran/114825 - * gfortran.dg/gomp/pr114825.f90: New test. - -2024-04-25 Jose E. Marchesi <jose.marchesi@oracle.com> - - * gcc.target/bpf/alu-1.c: Specify conventional asm dialect. - * gcc.target/bpf/xbpf-indirect-call-1.c: Likewise. - * gcc.target/bpf/sync-fetch-and-add.c: Likewise. - * gcc.target/bpf/smov-2.c: Likewise. - * gcc.target/bpf/smov-1.c: Likewise. - * gcc.target/bpf/smod-1.c: Likewise. - * gcc.target/bpf/sload-1.c: Likewise. - * gcc.target/bpf/sdiv-1.c: Likewise. - * gcc.target/bpf/nop-1.c: Likewise. - * gcc.target/bpf/neg-1.c: Likewise. - * gcc.target/bpf/ldxdw.c: Likewise. - * gcc.target/bpf/jmp-1.c: Likewise. - * gcc.target/bpf/inline-memops-threshold-1.c: Likewise. - * gcc.target/bpf/float-1.c: Likewise. - * gcc.target/bpf/double-2.c: Likewise. - * gcc.target/bpf/double-1.c: Likewise. - * gcc.target/bpf/core-builtin-type-id.c: Likewise. - * gcc.target/bpf/core-builtin-type-based.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-size-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-sign-2.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-sign-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-rshift-2.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-rshift-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-2.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-le.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-be.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-existence-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-errors-2.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-errors-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-const-elimination.c: - Likewise. - * gcc.target/bpf/core-builtin-exprlist-4.c: Likewise. - * gcc.target/bpf/core-builtin-exprlist-3.c: Likewise. - * gcc.target/bpf/core-builtin-exprlist-2.c: Likewise. - * gcc.target/bpf/core-builtin-exprlist-1.c: Likewise. - * gcc.target/bpf/core-builtin-enumvalue-opt.c: Likewise. - * gcc.target/bpf/core-builtin-enumvalue-errors.c: Likewise. - * gcc.target/bpf/core-builtin-enumvalue.c: Likewise. - * gcc.target/bpf/core-builtin-3.c: Likewise. - * gcc.target/bpf/core-builtin-2.c: Likewise. - * gcc.target/bpf/core-builtin-1.c: Likewise. - * gcc.target/bpf/core-attr-struct-as-array.c: Likewise. - * gcc.target/bpf/core-attr-6.c: Likewise. - * gcc.target/bpf/core-attr-5.c: Likewise. - * gcc.target/bpf/core-attr-4.c: Likewise. - * gcc.target/bpf/core-attr-3.c: Likewise. - * gcc.target/bpf/core-attr-2.c: Likewise. - * gcc.target/bpf/core-attr-1.c: Likewise. - * gcc.target/bpf/builtin-load.c: Likewise. - * gcc.target/bpf/btfext-funcinfo-nocore.c: Likewise. - * gcc.target/bpf/btfext-funcinfo.c: Likewise. - * gcc.target/bpf/bswap-1.c: Likewise. - * gcc.target/bpf/bswap-2.c: Likewise. - * gcc.target/bpf/attr-kernel-helper.c: Likewise. - * gcc.target/bpf/atomic-xchg-2.c: Likewise. - * gcc.target/bpf/atomic-xchg-1.c: Likewise. - * gcc.target/bpf/atomic-op-3.c: Likewise. - * gcc.target/bpf/atomic-op-2.c: Likewise. - * gcc.target/bpf/atomic-op-1.c: Likewise. - * gcc.target/bpf/atomic-fetch-op-3.c: Likewise. - * gcc.target/bpf/atomic-fetch-op-2.c: Likewise. - * gcc.target/bpf/atomic-fetch-op-1.c: Likewise. - * gcc.target/bpf/atomic-cmpxchg-2.c: Likewise. - * gcc.target/bpf/atomic-cmpxchg-1.c: Likewise. - * gcc.target/bpf/alu-2.c: Likewise. - -2024-04-25 Richard Ball <richard.ball@arm.com> - - * gcc.target/arm/cmse/extend-param.c: New test. - * gcc.target/arm/cmse/extend-return.c: New test. - -2024-04-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114792 - * gcc.dg/torture/pr114792.c: New testcase. - -2024-04-25 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.target/sparc/small-struct-1.c: New test. - * gcc.target/sparc/pr105573.c: Rename to... - * gcc.target/sparc/20230425-1.c: ...this. - * gcc.target/sparc/pr109541.c: Rename to... - * gcc.target/sparc/20230607-1.c: ...this - -2024-04-25 Pan Li <pan2.li@intel.com> - Kito Cheng <kito.cheng@sifive.com> - - PR target/114714 - * g++.target/riscv/rvv/base/pr114714-1.C: New test. - * g++.target/riscv/rvv/base/pr114714-2.C: New test. - -2024-04-25 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/93678 - * gfortran.dg/pr93678.f90: New test. - -2024-04-25 Paul Thomas <pault@gcc.gnu.org> - Jakub Jelinek <jakub@gcc.gnu.org> - - PR fortran/89462 - * gfortran.dg/pr89462.f90: New test. - -2024-04-25 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/bcd-4.c: Adjust the number of bcdadd and - bcdsub. - -2024-04-25 Pan Li <pan2.li@intel.com> - - * 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. - -2024-04-24 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/pr99023_a.X: Run only in C++20 mode. - * g++.dg/modules/pr99023_b.X: Likewise. - -2024-04-24 Patrick Palka <ppalka@redhat.com> - - PR c++/114709 - * g++.dg/cpp0x/constexpr-union8.C: New test. - -2024-04-24 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-24 Juzhe-Zhong <juzhe.zhong@rivai.ai> - kito-cheng <kito.cheng@sifive.com> - kito-cheng <kito.cheng@gmail.com> - - 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. - -2024-04-24 Jose E. Marchesi <jose.marchesi@oracle.com> - - * gcc.target/bpf/feature-macro-1.c: New test. - * gcc.target/bpf/feature-macro-2.c: Likewise. - -2024-04-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114787 - * gcc.dg/torture/pr114787.c: New testcase. - -2024-04-24 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114832 - * gcc.dg/vect/pr114832.c: New testcase. - -2024-04-24 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx10_1-24.c: New test. - -2024-04-24 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/unop_v_constraint-2.c: Adjust asm - check cond. - * 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. - -2024-04-24 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-24 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * 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. - -2024-04-23 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/cpp23/explicit-obj-basic7.C: New test. - -2024-04-23 Jakub Jelinek <jakub@redhat.com> - - PR target/114810 - * g++.target/i386/pr114810.C: New test. - -2024-04-23 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103496 - * gfortran.dg/c_sizeof_8.f90: New test. - -2024-04-23 Patrick Palka <ppalka@redhat.com> - - PR c++/114795 - * g++.dg/modules/auto-4_a.H: New test. - * g++.dg/modules/auto-4_b.C: New test. - -2024-04-23 Jakub Jelinek <jakub@redhat.com> - - * objc.dg/attributes/nullability-00.m: Adjust expected diagnostic - spelling: recognised -> recognized. - * obj-c++.dg/attributes/nullability-00.mm: Likewise. - -2024-04-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.dg/tree-ssa/forwprop-40.c: Xfail for s390. - * gcc.dg/tree-ssa/forwprop-41.c: Xfail for s390. - * lib/target-supports.exp: Add target check s390_mvx. - -2024-04-23 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/102597 - * gfortran.dg/pr102597.f90: New test. - -2024-04-23 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114799 - * gcc.dg/vect/bb-slp-pr114799.c: New testcase. - -2024-04-23 Andreas Krebbel <krebbel@linux.ibm.com> - - PR target/114676 - * gcc.target/s390/zvector/pr114676.c: New test. - -2024-04-23 Jakub Jelinek <jakub@redhat.com> - - PR c++/114784 - * g++.dg/cpp0x/inh-ctor39.C: New test. - -2024-04-23 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114078 - * g++.dg/cpp23/explicit-obj-ops-alloc.C: New test. - -2024-04-22 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114811 - * lib/gm2-torture.exp: Correct regexp checking for internal - compiler error strings in compiler output. - -2024-04-22 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114807 - * gm2/pim/fail/badproctype.mod: Change MYSHORTREAL - to SHORTREAL. - * gm2/pim/fail/badprocbool.mod: New test. - * gm2/pim/fail/badproccard.mod: New test. - * gm2/pim/fail/badprocint.mod: New test. - * gm2/pim/fail/badprocint2.mod: New test. - * gm2/pim/pass/goodproccard2.mod: New test. - * gm2/pim/pass/goodprocint.mod: New test. - * gm2/pim/pass/goodprocint3.mod: New test. - * gm2/pim/run/pass/genconststr.mod: New test. - -2024-04-22 Marek Polacek <polacek@redhat.com> - - * lib/prune.exp (prune_gcc_output): Also prune -freport-bug output. - -2024-04-22 Pan Li <pan2.li@intel.com> - - * 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. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - 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. - -2024-04-22 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/pr112431-34.c: Remove xfail for vluxei8 check. - * 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. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - 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. - -2024-04-22 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/vxe/popcount-1.c: Remove xfail. - -2024-04-22 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/pr112431-37.c: New test. - * gcc.target/riscv/rvv/base/pr112431-38.c: New test. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-37.c: New test. - * gcc.target/riscv/rvv/base/pr112431-38.c: New test. - -2024-04-22 Pan Li <pan2.li@intel.com> - - * 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. - -2024-04-22 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - 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. - -2024-04-22 Pan Li <pan2.li@intel.com> - - * 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. - -2024-04-21 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/103471 - * gfortran.dg/pr103471.f90: New test. - -2024-04-21 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-21 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - 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. - -2024-04-21 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/pr112431-34.c: New test. - -2024-04-20 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-20 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112431 - * gcc.target/riscv/rvv/base/pr112431-34.c: New test. - -2024-04-20 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/112893 - * gm2/pim/pass/another.mod: Correct bug exposed by type checker. - Swap ProcA and ProcB assignments. - * gm2/pim/pass/proccard.mod: Use VAL to convert procedure into a - cardinal. - * gm2/iso/const/fail/castproctype.mod: New test. - * gm2/pim/fail/badproctype.mod: New test. - -2024-04-20 Pan Li <pan2.li@intel.com> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: Xfail csr check. - * 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. - -2024-04-20 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-20 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - 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. - -2024-04-20 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/pr112431-42.c: New test. - -2024-04-20 Pan Li <pan2.li@intel.com> - - Revert: - 2024-04-20 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/112432 - * gcc.target/riscv/rvv/base/pr112432-42.c: New test. - -2024-04-19 Jakub Jelinek <jakub@redhat.com> - - PR target/114783 - * gcc.target/i386/avx2-pr114783.c: New test. - -2024-04-19 Jakub Jelinek <jakub@redhat.com> - - PR c/114780 - * gcc.dg/format/sentinel-2.c: New test. - -2024-04-19 Martin Uecker <uecker@tugraz.at> - Jakub Jelinek <jakub@redhat.com> - - PR lto/114574 - PR c/114361 - * gcc.dg/pr114574-1.c: New test. - * gcc.dg/pr114574-2.c: New test. - * gcc.dg/pr114361.c: New test. - * gcc.dg/c23-tag-incomplete-1.c: New test. - * gcc.dg/c23-tag-incomplete-2.c: New test. - -2024-04-19 Thomas Schwinge <tschwinge@baylibre.com> - - PR testsuite/114768 - * gcc.dg/pr114768.c: Enable for nvptx target. - -2024-04-19 Cupertino Miranda <cupertino.miranda@oracle.com> - - * gcc.target/bpf/btfext-funcinfo.c: Updated to changes. - * gcc.target/bpf/core-builtin-fieldinfo-const-elimination.c: - Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-existence-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-be.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-le.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-lshift-2.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-rshift-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-rshift-2.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-sign-1.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-sign-2.c: Likewise. - * gcc.target/bpf/core-builtin-fieldinfo-size-1.c: Likewise. - -2024-04-19 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/111650 - * gdc.dg/pr111650.d: New test. - -2024-04-19 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114768 - * gcc.dg/pr114768.c: New test. - -2024-04-19 Jakub Jelinek <jakub@redhat.com> - - PR libgcc/114762 - * gcc.dg/torture/bitint-70.c: New test. - -2024-04-18 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/114739 - * gfortran.dg/pr114739.f90: New test. - * gfortran.dg/derived_comp_array_ref_8.f90: Add 'implicit none' - for consistency with expected error message. - * gfortran.dg/nullify_4.f90: ditto - * gfortran.dg/pointer_init_6.f90: ditto - * gfortran.dg/pr107397.f90: ditto - * gfortran.dg/pr88138.f90: ditto - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/i386/bf16_short_warn.c: Add -msse2. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/i386/pr107261.c: Add -fomit-frame-pointer. - * gcc.target/i386/pr69482-1.c: Likewise. - * gcc.target/i386/pr69482-2.c: Likewise. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * gcc.target/arm/bfloat16_scalar_typecheck.c: Accept C23 - empty initializers. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * g++.dg/contracts/contracts9.C: Don't assume string literals - have non-negative addresses. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - Olivier Hainque <hainque@adacore.com> - - * gcc.target/aarch64/pr94201.c: Add missing - dg-require-effective-target fpic. - * gcc.target/aarch64/pr103085.c: Likewise. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * g++.target/i386/pr111497.C: Require fpic support. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - PR testsuite/113706 - * c-c++-common/pr103798-2.c: XFAIL in C++ on vxworks too. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: - Include sys/select.h if present. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/analyzer/pipe-glibc.c: Require fork. - * gcc.dg/analyzer/pipe-manpages.c: Likewise. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/analyzer/fd-access-mode-target-headers.c: Skip on - vxworks as well. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * gcc.dg/analyzer/fd-4.c: Define macro to avoid mode_t on - vxworks. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * lib/target-supports.exp (check_effective_target_strndup): New. - * gcc.dg/builtin-dynamic-object-size-0.c: Skip strndup tests - when the function is not available. - * gcc.dg/builtin-dynamic-object-size-1.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-2.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-3.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-4.c: Likewise. - * gcc.dg/builtin-object-size-1.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. - -2024-04-18 Tamar Christina <tamar.christina@arm.com> - - PR target/114741 - * gcc.target/aarch64/fneg-abs_2.c: Update codegen. - * gcc.target/aarch64/fneg-abs_4.c: xfail for now. - * gcc.target/aarch64/pr114741.c: New test. - -2024-04-18 Jakub Jelinek <jakub@redhat.com> - - PR libgcc/114755 - * gcc.dg/torture/bitint-69.c: New test. - -2024-04-18 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114753 - * gcc.dg/pr114753.c: New test. - -2024-04-18 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114744 - * gcc.target/powerpc/builtins-6-p9-runnable.c: Adjust for BE by fixing - data_{u,}128, their uses and vec_uc_expected1, also adjust some formats. - -2024-04-18 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/bcd-4.c: Enable the case to be tested on P9. - Enable the case to be run on big endian. Fix function maxbcd and - other misc. problems. - -2024-04-17 Thomas Schwinge <tschwinge@baylibre.com> - - * lib/target-supports.exp (check_effective_target_vect_long_long): - Enable for GCN. - -2024-04-17 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/114743 - * gcc.dg/asan/pr112709-2.c (freddy): New function from - gcc.dg/ubsan/pr112709-2.c version of the test. - -2024-04-16 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114745 - * gm2/iso/const/pass/constcast.mod: New test. - * gm2/iso/const/pass/constodd.mod: New test. - * gm2/pim/pass/tinyindr.mod: New test. - -2024-04-16 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114403 - * gcc.dg/vect/vect-early-break_124-pr114403.c: Fix check loop. - -2024-04-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113793 - * gfortran.dg/allocate_with_source_29.f90: New test. - * gfortran.dg/allocate_with_source_30.f90: New test. - * gfortran.dg/allocate_with_source_31.f90: New test. - -2024-04-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114736 - * gfortran.dg/vect/pr114736.f90: New testcase. - -2024-04-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114733 - * gcc.dg/vect/pr114733.c: New testcase. - -2024-04-16 Jakub Jelinek <jakub@redhat.com> - - PR c++/114706 - * g++.dg/cpp2a/bit-cast17.C: New test. - -2024-04-16 Fei Gao <gaofei@eswincomputing.com> - - * gcc.target/riscv/zicond-prefer-add-to-or.c: New test. - -2024-04-16 Alexandre Oliva <oliva@adacore.com> - - PR middle-end/112938 - * g++.dg/strub-internal-pr112938.cc: New. - -2024-04-15 Jørgen Kvalsvik <j@lambda.is> - - PR gcov-profile/114720 - * gcc.misc-tests/gcov-22.c: Guard longjmp to not loop. - -2024-04-15 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/pr114668.c: New test. - -2024-04-15 Richard Biener <rguenther@suse.de> - - PR gcov-profile/114715 - * gcc.misc-tests/gcov-24.c: New testcase. - -2024-04-15 H.J. Lu <hjl.tools@gmail.com> - - PR target/114696 - * gcc.target/i386/apx-ndd-x32-2a.c: New test. - * gcc.target/i386/apx-ndd-x32-2b.c: Likewise. - * gcc.target/i386/apx-ndd-x32-2c.c: Likewise. - * gcc.target/i386/apx-ndd-x32-2d.c: Likewise. - -2024-04-15 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/114403 - * gcc.dg/vect/vect-early-break_124-pr114403.c: New test. - * gcc.dg/vect/vect-early-break_125-pr114403.c: New test. - -2024-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/fhardened-1.c: Restrict to Linux/GNU. - * gcc.target/i386/fhardened-2.c: Likewise. - -2024-04-15 Jakub Jelinek <jakub@redhat.com> - - PR c++/114634 - * g++.dg/ext/attrib68.C: New test. - -2024-04-15 Nathaniel Shead <nathanieloshead@gmail.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/114600 - * g++.dg/modules/using-14.C: New test. - -2024-04-14 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/106820 - * g++.dg/modules/pr106820_a.H: New test. - * g++.dg/modules/pr106820_b.C: New test. - -2024-04-12 Andrew Carlotti <andrew.carlotti@arm.com> - - * gcc.target/aarch64/cpunative/info_24: Include lrcpc and ilrcpc. - -2024-04-12 Marek Polacek <polacek@redhat.com> - - PR c++/109966 - * g++.dg/cpp1y/nsdmi-aggr20.C: New test. - * g++.dg/cpp1y/nsdmi-aggr21.C: New test. - -2024-04-12 Will Schmidt <will_schmidt@linux.ibm.com> - Peter Bergner <bergner@linux.ibm.com> - - PR target/101865 - * gcc.target/powerpc/predefine-p7-novsx.c: New test. - * gcc.target/powerpc/predefine-p8-noaltivec-novsx.c: New test. - * gcc.target/powerpc/predefine-p8-noaltivec.c: New test. - * gcc.target/powerpc/predefine-p8-novsx.c: New test. - * gcc.target/powerpc/predefine-p8-pragma-vsx.c: New test. - * gcc.target/powerpc/predefine-p9-novsx.c: New test. - -2024-04-12 Patrick Palka <ppalka@redhat.com> - - PR c++/99426 - * g++.dg/modules/merge-17.h: New test. - * g++.dg/modules/merge-17_a.H: New test. - * g++.dg/modules/merge-17_b.C: New test. - * g++.dg/modules/xtreme-header-7_a.H: New test. - * g++.dg/modules/xtreme-header-7_b.C: New test. - -2024-04-12 Jason Merrill <jason@redhat.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/113141 - * g++.dg/conversion/ref12.C: New test. - -2024-04-12 Jason Merrill <jason@redhat.com> - Patrick Palka <ppalka@redhat.com> - - DR 1996 - PR c++/113141 - * g++.dg/cpp0x/initlist-ref1.C: New test. - * g++.dg/cpp0x/initlist-ref2.C: New test. - * g++.dg/cpp0x/initlist-ref3.C: New test. - -2024-04-12 Jakub Jelinek <jakub@redhat.com> - - PR c++/114691 - * g++.dg/ext/pr114691.C: New test. - -2024-04-12 Patrick Palka <ppalka@redhat.com> - - PR c++/114393 - * g++.dg/cpp2a/lambda-targ2a.C: New test. - -2024-04-12 Jakub Jelinek <jakub@redhat.com> - - PR c++/114426 - * g++.dg/cpp2a/pr114426.C: New test. - * g++.dg/cpp2a/constexpr-dtor16.C: New test. - -2024-04-12 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/114666 - * gcc.c-torture/execute/bitfld-signed1-1.c: New test. - -2024-04-12 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme/acle-asm/zero_mask_za.c (zero_mask_za_ab) - (zero_mask_za_d7, zero_mask_za_bf): Expect a list of .d tiles instead - of a mixture. - -2024-04-12 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.dg/tree-ssa/range-sincos.c: Xfail for s390. - * gcc.dg/tree-ssa/vrp-float-abs-1.c: Dito. - -2024-04-12 Patrick Palka <ppalka@redhat.com> - - PR c++/114393 - PR c++/107457 - PR c++/93595 - * g++.dg/cpp2a/lambda-targ2.C: New test. - * g++.dg/cpp2a/lambda-targ3.C: New test. - * g++.dg/cpp2a/lambda-targ4.C: New test. - -2024-04-12 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/114687 - * gcc.dg/asan/pr114687.c: New test. - -2024-04-12 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.dg/tree-ssa/loop-interchange-16.c: Prevent loop unrolling - of the innermost loop. - -2024-04-12 Pan Li <pan2.li@intel.com> - - PR target/114639 - * gcc.target/riscv/pr114639-1.c: New test. - * gcc.target/riscv/pr114639-2.c: New test. - * gcc.target/riscv/pr114639-3.c: New test. - * gcc.target/riscv/pr114639-4.c: New test. - -2024-04-11 David Faust <david.faust@oracle.com> - - * gcc.dg/debug/btf/btf-bitfields-4.c: Add two new checks. - -2024-04-11 Andre Vieira (lists) <andre.simoesdiasvieira@arm.com> - - * gcc.target/aarch64/bitfield-bitint-abi-align16.c (g1, g8, g16, g1p, g8p, - g16p): Remove unnecessary sbfx. - * gcc.target/aarch64/bitfield-bitint-abi-align8.c (g1, g8, g16, g1p, g8p, - g16p): Likewise. - -2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> - - * g++.target/aarch64/mv-1.C: New test. - -2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> - - * gcc.target/aarch64/cpunative/native_cpu_21.c: Reorder features. - * gcc.target/aarch64/cpunative/native_cpu_22.c: Ditto. - -2024-04-11 Patrick Palka <ppalka@redhat.com> - - PR c++/114303 - * g++.dg/cpp1z/constexpr-if-lambda6.C: New test. - -2024-04-11 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/110027 - * gcc.dg/asan/pr110027.c: New test. - -2024-04-11 Richard Biener <rguenther@suse.de> - - PR middle-end/114681 - * gcc.misc-tests/gcov-pr114681.c: New testcase. - -2024-04-11 Jakub Jelinek <jakub@redhat.com> - - PR c++/114409 - * g++.dg/ext/pr114409-2.C: New test. - -2024-04-11 Pan Li <pan2.li@intel.com> - - * g++.target/riscv/rvv/base/pr109244.C: Remove deprecated - -Wno-psabi option. - * g++.target/riscv/rvv/base/pr109535.C: Ditto. - * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-2.c: Ditto. - * 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/autovec/vls-vlmax/vec_extract-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1u.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2u.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3u.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4u.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-runu.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Ditto. - * 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. - -2024-04-11 Pan Li <pan2.li@intel.com> - - PR target/114639 - * g++.target/riscv/rvv/base/pr114639-1.C: New test. - * gcc.target/riscv/rvv/base/pr114639-1.c: New test. - -2024-04-11 Indu Bhagat <indu.bhagat@oracle.com> - - * gcc.dg/debug/btf/btf-bitfields-4.c: Update the vlen check. - * gcc.dg/debug/btf/btf-struct-2.c: Check that member named 'f' - with void data type is emitted. - -2024-04-11 Indu Bhagat <indu.bhagat@oracle.com> - - PR debug/112878 - * gcc.dg/debug/ctf/ctf-bitfields-5.c: New test. - -2024-04-10 Hans-Peter Nilsson <hp@axis.com> - - Revert: - 2024-04-05 Hans-Peter Nilsson <hp@axis.com> - - * gcc.target/cris/pr93372-2.c: Tweak scan-assembler - checks to cover recent combine improvement. - -2024-04-10 Marek Polacek <polacek@redhat.com> - - PR target/114606 - * gcc.target/i386/fhardened-1.c: New test. - * gcc.target/i386/fhardened-2.c: New test. - -2024-04-10 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/analyzer/out-of-bounds-pr114472.c: New test. - -2024-04-10 David Malcolm <dmalcolm@redhat.com> - - * c-c++-common/analyzer/memset-1.c: Clarify some comments. - -2024-04-10 David Malcolm <dmalcolm@redhat.com> - - * gcc.dg/plugin/copy_from_user-1.c: Add missing directives for an - analyzer test. - * gcc.dg/plugin/taint-CVE-2011-0521-1-fixed.c: Add missing - -fanalyzer to options. - * gcc.dg/plugin/taint-CVE-2011-0521-1.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-2-fixed.c: Likewise. - (dvb_usercopy): Add default case to avoid complaints about NULL - derefs. - * gcc.dg/plugin/taint-CVE-2011-0521-2.c: Likewise. - * gcc.dg/plugin/taint-CVE-2011-0521-3-fixed.c: Add missing - -fanalyzer to options. - * gcc.dg/plugin/taint-CVE-2011-0521-3.c: Likewise. Drop - xfail. - -2024-04-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/106500 - * gfortran.dg/c_sizeof_6.f90: Remove wrong dg-error. - * gfortran.dg/sizeof_2.f90: Adjust pattern. - * gfortran.dg/c_f_pointer_tests_9.f90: New test. - * gfortran.dg/c_sizeof_7.f90: New test. - -2024-04-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114672 - * gcc.dg/torture/pr114672.c: New testcase. - -2024-04-10 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.target/aarch64/bitint-alignments.c: New test. - * gcc.target/aarch64/bitint-args.c: New test. - * gcc.target/aarch64/bitint-sizes.c: New test. - * gcc.target/aarch64/bitfield-bitint-abi.h: New header. - * gcc.target/aarch64/bitfield-bitint-abi-align16.c: New test. - * gcc.target/aarch64/bitfield-bitint-abi-align8.c: New test. - -2024-04-10 Jakub Jelinek <jakub@redhat.com> - - PR c++/114462 - * g++.dg/cpp26/trivial-infinite-loop1.C: New test. - * g++.dg/cpp26/trivial-infinite-loop2.C: New test. - * g++.dg/cpp26/trivial-infinite-loop3.C: New test. - -2024-04-10 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114662 - * gcc.dg/lto/pr113359-2_0.c: Use unsigned long long instead of - unsigned long. - * gcc.dg/lto/pr113359-2_1.c: Likewise. - -2024-04-10 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/104040 - * g++.dg/modules/pr104040_a.C: New test. - * g++.dg/modules/pr104040_b.C: New test. - -2024-04-10 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99377 - * g++.dg/modules/pr99377-3_a.H: New test. - * g++.dg/modules/pr99377-3_b.C: New test. - * g++.dg/modules/pr99377-3_c.C: New test. - * g++.dg/modules/pr99377-3_d.C: New test. - -2024-04-09 David Faust <david.faust@oracle.com> - - PR testsuite/114642 - * gcc.dg/debug/btf/btf-datasec-3.c: Make test more robust on different - architectures. - -2024-04-09 Juergen Christ <jchrist@linux.ibm.com> - - * gcc.target/s390/vector/vec-expand-replicate.c: New test. - -2024-04-09 David Faust <david.faust@oracle.com> - - PR debug/114608 - * gcc.dg/debug/btf/btf-datasec-1.c: Check bts_offset symbol references - only for BPF target. - * gcc.dg/debug/btf/btf-datasec-2.c: Likewise. - * gcc.dg/debug/btf/btf-pr106773.c: Likewise. - -2024-04-09 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/114535 - * gfortran.dg/pr114535d.f90: New test. - * gfortran.dg/pr114535iv.f90: Additional source. - -2024-04-09 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/113956 - * gfortran.dg/pr113956.f90: New test. - -2024-04-09 Jørgen Kvalsvik <j@lambda.is> - - PR gcov-profile/114601 - * gcc.misc-tests/gcov-pr114601.c: New test. - -2024-04-09 Jakub Jelinek <jakub@redhat.com> - - PR target/114576 - * gcc.target/i386/aes-pr114576.c: New test. - -2024-04-09 Yang Yujie <yangyujie@loongson.cn> - - PR target/113233 - * lib/target-supports.exp: Define condition loongarch_sx_as. - * gcc.dg/lto/pr113233_0.c: New test. - -2024-04-09 Jørgen Kvalsvik <j@lambda.is> - - PR middle-end/114599 - * gcc.misc-tests/gcov-19.c: New test. - -2024-04-09 Jakub Jelinek <jakub@redhat.com> - - PR c++/114580 - * g++.dg/cpp2a/is-constant-evaluated15.C: New test. - -2024-04-09 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114628 - * gcc.dg/bitint-105.c: New test. - -2024-04-09 H.J. Lu <hjl.tools@gmail.com> - - PR target/114587 - * gcc.target/i386/apx-3.c: Likewise. - -2024-04-09 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/114614 - * gcc.misc-tests/gcov-20.c: Add effective target check - profile_update_atomic. - -2024-04-09 Kewen Lin <linkw@linux.ibm.com> - Andrew Pinski <quic_apinski@quicinc.com> - - PR target/88309 - * gcc.target/powerpc/pr88309.c: New test. - -2024-04-09 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114648 - * gm2/cpp/default/pass/AdvParse.def: New test. - * gm2/cpp/default/pass/AdvParse.mod: New test. - * gm2/cpp/default/pass/cpp-default-pass.exp: New test. - -2024-04-08 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/gcn/cond_fmaxnm_1.c: Specify - '--param=gcn-preferred-vectorization-factor=64'. - * gcc.target/gcn/cond_fmaxnm_2.c: Likewise. - * gcc.target/gcn/cond_fmaxnm_3.c: Likewise. - * gcc.target/gcn/cond_fmaxnm_4.c: Likewise. - * gcc.target/gcn/cond_fmaxnm_5.c: Likewise. - * gcc.target/gcn/cond_fmaxnm_6.c: Likewise. - * gcc.target/gcn/cond_fmaxnm_7.c: Likewise. - * gcc.target/gcn/cond_fmaxnm_8.c: Likewise. - * gcc.target/gcn/cond_fminnm_1.c: Likewise. - * gcc.target/gcn/cond_fminnm_2.c: Likewise. - * gcc.target/gcn/cond_fminnm_3.c: Likewise. - * gcc.target/gcn/cond_fminnm_4.c: Likewise. - * gcc.target/gcn/cond_fminnm_5.c: Likewise. - * gcc.target/gcn/cond_fminnm_6.c: Likewise. - * gcc.target/gcn/cond_fminnm_7.c: Likewise. - * gcc.target/gcn/cond_fminnm_8.c: Likewise. - * gcc.target/gcn/cond_shift_3.c: Likewise. - * gcc.target/gcn/cond_shift_4.c: Likewise. - * gcc.target/gcn/cond_shift_8.c: Likewise. - * gcc.target/gcn/cond_shift_9.c: Likewise. - * gcc.target/gcn/cond_smax_1.c: Likewise. - * gcc.target/gcn/cond_smin_1.c: Likewise. - * gcc.target/gcn/cond_umax_1.c: Likewise. - * gcc.target/gcn/cond_umin_1.c: Likewise. - * gcc.target/gcn/simd-math-1.c: Likewise. - * gcc.target/gcn/simd-math-5-char.c: Likewise. - * gcc.target/gcn/simd-math-5-long.c: Likewise. - * gcc.target/gcn/simd-math-5-short.c: Likewise. - * gcc.target/gcn/simd-math-5.c: Likewise. - * gcc.target/gcn/smax_1.c: Likewise. - * gcc.target/gcn/smin_1.c: Likewise. - * gcc.target/gcn/umax_1.c: Likewise. - * gcc.target/gcn/umin_1.c: Likewise. - -2024-04-08 Thomas Schwinge <tschwinge@baylibre.com> - - * lib/target-supports.exp (check_effective_target_lra): Add - comment. - (check_effective_target_asm_goto_with_outputs): New. - * gcc.c-torture/compile/asmgoto-2.c: Use it. - * gcc.c-torture/compile/asmgoto-5.c: Likewise. - * gcc.c-torture/compile/asmgoto-6.c: Likewise. - * gcc.c-torture/compile/pr98096.c: Likewise. - * gcc.dg/pr100590.c: Likewise. - * gcc.dg/pr107385.c: Likewise. - * gcc.dg/pr108095.c: Likewise. - * gcc.dg/pr97954.c: Likewise. - * gcc.dg/torture/pr100329.c: Likewise. - * gcc.dg/torture/pr100398.c: Likewise. - * gcc.dg/torture/pr100519.c: Likewise. - * gcc.dg/torture/pr110422.c: Likewise. - * gcc.dg/pr110079.c: Special-case nvptx target. - -2024-04-08 Tobias Burnus <tburnus@baylibre.com> - - PR libfortran/114304 - * gfortran.dg/pr114304-2.f90: New test. - -2024-04-08 Martin Jambor <mjambor@suse.cz> - - PR ipa/113359 - * gcc.dg/lto/pr113359-1_0.c: New. - * gcc.dg/lto/pr113359-1_1.c: Likewise. - * gcc.dg/lto/pr113359-2_0.c: Likewise. - * gcc.dg/lto/pr113359-2_1.c: Likewise. - * gcc.dg/lto/pr113359-3_0.c: Likewise. - * gcc.dg/lto/pr113359-3_1.c: Likewise. - * gcc.dg/lto/pr113359-4_0.c: Likewise. - * gcc.dg/lto/pr113359-4_1.c: Likewise. - * gcc.dg/lto/pr113359-5_0.c: Likewise. - * gcc.dg/lto/pr113359-5_1.c: Likewise. - -2024-04-08 Martin Jambor <mjambor@suse.cz> - - PR ipa/113907 - * gcc.dg/lto/pr113907_0.c: New. - * gcc.dg/lto/pr113907_1.c: Likewise. - * gcc.dg/lto/pr113907_2.c: Likewise. - -2024-04-08 Richard Sandiford <richard.sandiford@arm.com> - - PR target/114607 - * gcc.target/aarch64/sve/acle/asm/sudot_s32.c: New test. - -2024-04-08 Tatsuyuki Ishi <ishitatsuyuki@gmail.com> - - * gcc.target/riscv/tls_1.x: Add TLSDESC GD test case. - * gcc.target/riscv/tlsdesc.c: Same as above. - -2024-04-08 Jakub Jelinek <jakub@redhat.com> - - PR target/114605 - * gcc.dg/pr114605.c: New test. - -2024-04-08 Swinney, Jonathan <jswinney@amazon.com> - - * gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: Exit with a nonzero - code if the test fails. - -2024-04-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114624 - * gcc.dg/torture/pr114624.c: New testcase. - -2024-04-08 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-7.c: Adjust - the error message for v extension. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-8.c: Ditto. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-1.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-10.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-2.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-3.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-4.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-5.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-6.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-7.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-8.c: New test. - * gcc.target/riscv/rvv/base/intrinsic_required_ext-9.c: New test. - -2024-04-08 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/pr109479-1.c: Adjust the existing test - scenarios and add new error check tests. - * gcc.target/riscv/rvv/base/pr109479-2.c: Ditto. - * gcc.target/riscv/rvv/base/pr109479-3.c: Ditto. - * gcc.target/riscv/rvv/base/pr109479-4.c: Diito. - * gcc.target/riscv/rvv/base/pr109479-5.c: Diito. - * gcc.target/riscv/rvv/base/pr109479-6.c: Diito. - * gcc.target/riscv/rvv/base/user-10.c: Ditto. - * gcc.target/riscv/rvv/base/user-12.c: Ditto. - * gcc.target/riscv/rvv/base/user-13.c: Ditto. - * gcc.target/riscv/rvv/base/user-14.c: Ditto. - * gcc.target/riscv/rvv/base/user-15.c: Ditto. - * gcc.target/riscv/rvv/base/user-2.c: Ditto. - * gcc.target/riscv/rvv/base/user-3.c: Ditto. - * gcc.target/riscv/rvv/base/user-5.c: Ditto. - * gcc.target/riscv/rvv/base/user-6.c: Ditto. - * gcc.target/riscv/rvv/base/user-9.c: Ditto. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-10.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-11.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-12.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-13.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-14.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-15.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-16.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-17.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-18.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-19.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-20.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-21.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-22.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-23.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-24.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-25.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-26.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-27.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-28.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-29.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-30.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-31.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-32.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-33.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-34.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-35.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-36.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-37.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-38.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-39.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-40.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-41.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-42.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-43.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-44.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-45.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-46.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-47.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-48.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-49.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-50.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-51.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-52.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-53.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-9.c: New test. - -2024-04-06 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114617 - * gm2/iso/const/pass/iso-const-pass.exp: New test. - -2024-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/114304 - PR libfortran/105473 - * gfortran.dg/pr105473.f90: Modify to verify new error message. - * gfortran.dg/pr114304.f90: New test. - -2024-04-06 Jørgen Kvalsvik <j@lambda.is> - - PR middle-end/114599 - * gcc.misc-tests/gcov-pr114599.c: New test. - -2024-04-06 Jørgen Kvalsvik <j@lambda.is> - - * gcc.misc-tests/gcov-19.c: Remove test. - -2024-04-05 Iain Sandoe <iain@sandoe.co.uk> - - * lib/scanasm.exp: Add 'LB*' to the local labels that are - ignored for Darwin. - -2024-04-05 Marek Polacek <polacek@redhat.com> - - PR c++/91079 - DR 1881 - * g++.dg/ext/is_std_layout5.C: New test. - -2024-04-05 Patrick O'Neill <patrick@rivosinc.com> - Martin Jambor <mjambor@suse.cz> - - PR ipa/113964 - * gcc.dg/ipa/pr114247.c: New test. - -2024-04-05 Richard Sandiford <richard.sandiford@arm.com> - - PR target/114603 - * gcc.target/aarch64/sve/acle/general/cnot_1.c: New test. - -2024-04-05 Marek Polacek <polacek@redhat.com> - - PR c++/111132 - * g++.dg/cpp0x/constexpr-redeclaration3.C: New test. - * g++.dg/cpp0x/constexpr-redeclaration4.C: New test. - -2024-04-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114566 - * gcc.target/i386/avx512f-pr114566.c: New test. - -2024-04-05 Martin Uecker <uecker@tugraz.at> - - Revert: - 2024-04-02 Martin Uecker <uecker@tugraz.at> - - PR c/114361 - * gcc.dg/pr114361.c: New test. - * gcc.dg/c23-tag-incomplete-1.c: New test. - * gcc.dg/c23-tag-incomplete-2.c: New test. - -2024-04-05 Jakub Jelinek <jakub@redhat.com> - - * gdc.dg/dg.exp: Prune gcov*.d from the list of tests to run. - * gdc.dg/gcov.exp: Update copyright years. - -2024-04-05 Hans-Peter Nilsson <hp@axis.com> - - * gcc.target/cris/pr93372-2.c: Tweak scan-assembler - checks to cover recent combine improvement. - -2024-04-05 Hans-Peter Nilsson <hp@axis.com> - - * gcc.dg/debug/btf/btf-datasec-1.c: Adjust pattern for targets with - symbols having a leading underscore. - -2024-04-04 centurion <centurion009@proton.me> - - PR c++/114377 - * g++.dg/cpp2a/class-deduction-alias19.C: New test. - -2024-04-04 Martin Jambor <mjambor@suse.cz> - - PR ipa/111571 - * gcc.dg/ipa/pr111571.c: New test. - -2024-04-04 Vladimir N. Makarov <vmakarov@redhat.com> - - PR rtl-optimization/114415 - * gcc.target/i386/pr114415.c: New test. - -2024-04-04 H.J. Lu <hjl.tools@gmail.com> - - PR target/114587 - * gcc.target/i386/apx-2.c: New test. - -2024-04-04 Jørgen Kvalsvik <j@lambda.is> - - * gdc.dg/gcov.exp: New test. - * gdc.dg/gcov1.d: New test. - -2024-04-04 Jørgen Kvalsvik <j@lambda.is> - - * lib/gcov.exp: Add condition coverage test function. - * g++.dg/gcov/gcov-18.C: New test. - * gcc.misc-tests/gcov-19.c: New test. - * gcc.misc-tests/gcov-20.c: New test. - * gcc.misc-tests/gcov-21.c: New test. - * gcc.misc-tests/gcov-22.c: New test. - * gcc.misc-tests/gcov-23.c: New test. - -2024-04-04 Richard Sandiford <richard.sandiford@arm.com> - - PR target/114577 - * gcc.target/aarch64/sve/acle/general/pr114577_1.c: New test. - * gcc.target/aarch64/sve/acle/general/pr114577_2.c: Likewise. - -2024-04-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114485 - * gcc.dg/vect/pr114485.c: New testcase. - -2024-04-04 Jakub Jelinek <jakub@redhat.com> - - PR c++/114537 - * g++.dg/cpp2a/bit-cast16.C: New test. - -2024-04-04 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114555 - * gcc.dg/bitint-103.c: New test. - * gcc.dg/bitint-104.c: New test. - -2024-04-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114551 - * gcc.dg/torture/pr114551.c: New testcase. - -2024-04-03 H.J. Lu <hjl.tools@gmail.com> - - PR tree-optimization/114115 - * gcc.dg/pr114115.c: New test. - -2024-04-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114552 - * gcc.c-torture/execute/pr114552.c: New test. - -2024-04-03 Jiahao Xu <xujiahao@loongson.cn> - - * gcc.target/loongarch/vector/lsx/lsx-abs.c: New test. - -2024-04-02 Martin Uecker <uecker@tugraz.at> - - PR c/114361 - * gcc.dg/pr114361.c: New test. - * gcc.dg/c23-tag-incomplete-1.c: New test. - * gcc.dg/c23-tag-incomplete-2.c: New test. - -2024-04-02 Marek Polacek <polacek@redhat.com> - - PR c++/114479 - * g++.dg/ext/is_array.C: Extend. - -2024-04-02 Marek Polacek <polacek@redhat.com> - - PR c++/103825 - * g++.dg/cpp0x/enum44.C: New test. - -2024-04-02 Jason Merrill <jason@redhat.com> - - PR c++/114561 - PR c++/114562 - * g++.dg/conversion/ref10.C: New test. - * g++.dg/conversion/ref11.C: New test. - -2024-04-02 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/106999 - * gfortran.dg/pr106999.f90: New test. - -2024-04-02 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/112407 - * gfortran.dg/pr112407a.f90: New test. - * gfortran.dg/pr112407b.f90: New test. - -2024-04-02 Iain Sandoe <iain@sandoe.co.uk> - - PR testsuite/114034 - * g++.dg/gcov/gcov-dump-1.C: Remove extra -lgcov. - * g++.dg/gcov/gcov-dump-2.C: Likewise. - -2024-04-02 Iain Sandoe <iain@sandoe.co.uk> - - PR testsuite/114036 - * gcc.misc-tests/gcov-14.c: Allow for 'Foo' to be undefined - on Darwin link lines. - -2024-04-02 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/modules/bad-mapper-1.C: Update expected test output - for earlier Darwin. - -2024-04-02 mengqinggang <mengqinggang@loongson.cn> - Lulu Cheng <chenglulu@loongson.cn> - Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/cmodel-extreme-1.c: Add -mtls-dialect=trad. - * gcc.target/loongarch/cmodel-extreme-2.c: Ditto. - * gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c: Ditto. - * gcc.target/loongarch/explicit-relocs-medium-call36-auto-tls-ld-gd.c: - Ditto. - * gcc.target/loongarch/func-call-medium-1.c: Ditto. - * gcc.target/loongarch/func-call-medium-2.c: Ditto. - * gcc.target/loongarch/func-call-medium-3.c: Ditto. - * gcc.target/loongarch/func-call-medium-4.c: Ditto. - * gcc.target/loongarch/tls-extreme-macro.c: Ditto. - * gcc.target/loongarch/tls-gd-noplt.c: Ditto. - * gcc.target/loongarch/explicit-relocs-auto-extreme-tls-desc.c: New test. - * gcc.target/loongarch/explicit-relocs-auto-tls-desc.c: New test. - * gcc.target/loongarch/explicit-relocs-extreme-tls-desc.c: New test. - * gcc.target/loongarch/explicit-relocs-tls-desc.c: New test. - -2024-04-01 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114548 - * gm2/iso/const/fail/expression.mod: New test. - * gm2/iso/const/fail/iso-const-fail.exp: New test. - * gm2/iso/const/fail/testabs.mod: New test. - * gm2/iso/const/fail/testaddadr.mod: New test. - * gm2/iso/const/fail/testcap.mod: New test. - * gm2/iso/const/fail/testcap2.mod: New test. - * gm2/iso/const/fail/testchr.mod: New test. - * gm2/iso/const/fail/testchr2.mod: New test. - * gm2/iso/const/fail/testcmplx.mod: New test. - * gm2/iso/const/fail/testfloat.mod: New test. - * gm2/iso/const/fail/testim.mod: New test. - * gm2/iso/const/fail/testint.mod: New test. - * gm2/iso/const/fail/testlength.mod: New test. - * gm2/iso/const/fail/testodd.mod: New test. - * gm2/iso/const/fail/testord.mod: New test. - * gm2/iso/const/fail/testre.mod: New test. - * gm2/iso/const/fail/testtrunc.mod: New test. - * gm2/iso/const/fail/testval.mod: New test. - * gm2/iso/const/pass/constbool.mod: New test. - * gm2/iso/const/pass/constbool2.mod: New test. - * gm2/iso/const/pass/constbool3.mod: New test. - -2024-04-01 Jason Merrill <jason@redhat.com> - - * g++.dg/conversion/pr16333.C: Change dg-warning to dg-message. - * g++.dg/cpp0x/constexpr-48324.C - * g++.dg/other/pr94326.C - * g++.dg/warn/Wreturn-local-addr-2.C - * g++.old-deja/g++.jason/warning8.C: Likewise. - * g++.dg/cpp1y/auto-fn6.C: Check that others don't complain. - * g++.dg/warn/Wreturn-local-addr-5.C: Expect error in C++26. - -2024-03-31 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-7.c: - Adjust test dg-error. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-8.c: - Ditto. - -2024-03-29 Guillaume Gomez <guillaume1.gomez@gmail.com> - - * jit.dg/test-pointer_size.c: New file. - -2024-03-29 Christophe Lyon <christophe.lyon@linaro.org> - - * gcc.target/aarch64/cpunative/native_cpu_24.c: Fix GCC_CPUINFO. - -2024-03-29 Thomas Schwinge <tschwinge@baylibre.com> - - * lib/target-supports.exp (check_effective_target_vect_long_mult): - Enable for GCN. - -2024-03-29 Thomas Schwinge <tschwinge@baylibre.com> - - * lib/target-supports.exp - (check_effective_target_vect_hw_misalign): Enable for GCN. - (check_effective_target_vect_element_align): Adjust. - -2024-03-29 Thomas Schwinge <thomas@codesourcery.com> - - * lib/target-supports.exp - (check_effective_target_vect_early_break) - (check_effective_target_vect_early_break_hw): Enable for GCN. - -2024-03-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/50410 - * gfortran.dg/data_initialized_4.f90: New test. - -2024-03-29 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/110987 - * gfortran.dg/finalize_56.f90: New test. - -2024-03-29 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/113885 - * gfortran.dg/finalize_54.f90: New test. - * gfortran.dg/finalize_55.f90: New test. - -2024-03-29 Xi Ruoyao <xry111@xry111.site> - - * gcc.dg/vect/vect-neg-zero.c: New test. - -2024-03-28 John David Anglin <danglin@gcc.gnu.org> - - PR analyzer/111289 - * c-c++-common/analyzer/stdarg-pr111289-int.c: Don't include - <limits.h>. - -2024-03-28 Jason Merrill <jason@redhat.com> - - PR c++/100667 - * g++.dg/ext/is_constructible8.C: New test. - -2024-03-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114474 - * gfortran.dg/data_pointer_3.f90: New test. - -2024-03-28 Vineet Gupta <vineetg@rivosinc.com> - - * gcc.target/riscv/rvv/vtype-call-clobbered.c: New Test. - -2024-03-28 Gaius Mulley <(no_default)> - - PR modula2/114517 - * gm2/cpp/fail/hashfirstcolumn2.mod: New test. - * gm2/imports/fail/imports-fail.exp: New test. - * gm2/imports/fail/localmodule2.mod: New test. - * gm2/imports/run/pass/localmodule.mod: New test. - -2024-03-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/112303 - * gcc.c-torture/compile/pr112303.c: New test. - -2024-03-28 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> - - PR testsuite/114307 - * gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c: Remove dg-run. - * gcc.dg/vect/complex/complex-operations-run.c: Likewise. - * gcc.dg/vect/pr113576.c: Remove dg-run. Use dg-additional-options for - test-specific flags. - * gcc.dg/vect/gimplefe-40.c: Use dg-additional-options for - test-specific flags. - * gcc.dg/vect/gimplefe-41.c: Likewise. - * gcc.dg/vect/pr101145inf.c: Likewise. - * gcc.dg/vect/pr101145inf_1.c: Likewise. - * gcc.dg/vect/pr108316.c: Likewise. - * gcc.dg/vect/pr109011-1.c: Likewise. - * gcc.dg/vect/pr109011-2.c: Likewise. - * gcc.dg/vect/pr109011-3.c: Likewise. - * gcc.dg/vect/pr109011-4.c: Likewise. - * gcc.dg/vect/pr109011-5.c: Likewise. - * gcc.dg/vect/pr111846.c: Likewise. - * gcc.dg/vect/pr111860-2.c: Likewise. - * gcc.dg/vect/pr111860-3.c: Likewise. - * gcc.dg/vect/pr113002.c: Likewise. - * gcc.dg/vect/pr84711.c: Likewise. - * gcc.dg/vect/pr85597.c: Likewise. - * gcc.dg/vect/pr88497-1.c: Likewise. - * gcc.dg/vect/pr88497-2.c: Likewise. - * gcc.dg/vect/pr88497-3.c: Likewise. - * gcc.dg/vect/pr88497-4.c: Likewise. - * gcc.dg/vect/pr88497-5.c: Likewise. - * gcc.dg/vect/pr88497-7.c: Likewise. - * gcc.dg/vect/pr92347.c: Likewise. - * gcc.dg/vect/pr93069.c: Likewise. - * gcc.dg/vect/pr97241.c: Likewise. - * gcc.dg/vect/pr99102.c: Likewise. - * gcc.dg/vect/vect-early-break_65.c: Likewise. - * gcc.dg/vect/vect-fold-1.c: Likewise. - * gcc.dg/vect/vect-ifcvt-19.c: Likewise. - * gcc.dg/vect/vect-ifcvt-20.c: Likewise. - * gcc.dg/vect/vect-reduc-epilogue-gaps.c: Likewise. - * gcc.dg/vect/vect-singleton_1.c: Likewise. - * g++.dg/vect/pr84556.cc: Likewise. - * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise. - * gfortran.dg/vect/pr77848.f: Likewise. - * gfortran.dg/vect/pr90913.f90: Likewise. - -2024-03-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/109925 - * gcc.c-torture/execute/pr109925.c: New test. - -2024-03-28 Mikael Morin <mikael@gcc.gnu.org> - Harald Anlauf <anlauf@gmx.de> - - PR fortran/111781 - PR fortran/114475 - * gfortran.dg/spec_expr_10.f90: New test. - -2024-03-27 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/114473 - * gcc.dg/analyzer/call-summaries-pr114473.c: New test. - -2024-03-27 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/debug/btf/btf-cvr-quals-1.c: Use dg-additional-options - instead of multiple dg-options. - * gcc.dg/debug/btf/btf-datasec-1.c: Likewise. Accept all supported - unaligned 4 byte assembler directives rather than assuming it must - be .4byte. - -2024-03-27 Jakub Jelinek <jakub@redhat.com> - - * lib/target-supports.exp (add_options_for_bfloat16): Add -msse2 on - i?86/x86_64. - * g++.dg/cpp23/ext-floating3.C: Add dg-add-options float16. - * g++.dg/cpp23/ext-floating12.C: Add dg-add-options float16 and - bfloat16. - -2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com> - - * gcc.target/aarch64/cpunative/info_24: New. - * gcc.target/aarch64/cpunative/native_cpu_24.c: Likewise. - -2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com> - - * gcc.target/aarch64/lse128-flag.c: New. - * gcc.target/aarch64/cpunative/info_23: Likewise. - * gcc.target/aarch64/cpunative/native_cpu_23.c: Likewise. - -2024-03-27 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.dg/tree-ssa/copy-headers-8.c: Set - LOGICAL_OP_NON_SHORT_CIRCUIT to true. - -2024-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/107031 - * gfortran.dg/endfile_5.f90: New test. - -2024-03-26 Cupertino Miranda <cupertino.miranda@oracle.com> - - * gcc.dg/debug/btf/btf-datasec-1.c: Correct for new - implementation. - * gcc.dg/debug/btf/btf-datasec-2.c: Likewise - * gcc.dg/debug/btf/btf-pr106773.c: Likewise - -2024-03-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/111151 - PR testsuite/114486 - * gcc.c-torture/execute/pr111151.c (main): Fix up expected value for - f. - -2024-03-26 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114478 - * gm2/builtins/run/pass/builtins-run-pass.exp: New test. - * gm2/builtins/run/pass/testcomparisons.mod: New test. - * gm2/builtins/run/pass/testisnormal.mod: New test. - * gm2/pimlib/run/pass/testchar.mod: New test. - -2024-03-26 Marek Polacek <polacek@redhat.com> - - PR c++/100557 - * g++.dg/cpp2a/concepts-pr100557.C: New test. - -2024-03-26 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/decltype-1_a.C: Add missing } to dg-module-do - directive. - * g++.dg/modules/lambda-5_a.C: Likewise. - -2024-03-26 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/torture/pr113126.c: Add -Wno-psabi as dg-additional-options. - -2024-03-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/111151 - * gcc.c-torture/execute/pr111151.c: New test. - -2024-03-26 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/111736 - * gcc.dg/tsan/pr111736.c: New test. - -2024-03-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114471 - * gcc.dg/vect/pr114471.c: New testcase. - -2024-03-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114464 - * g++.dg/vect/pr114464.cc: New testcase. - -2024-03-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114027 - * gcc.dg/vect/pr114027.c: Fix iteration count. - -2024-03-25 Marek Polacek <polacek@redhat.com> - - PR c++/114349 - * g++.dg/cpp0x/noexcept85.C: New test. - * g++.dg/cpp0x/noexcept86.C: New test. - -2024-03-25 Marek Polacek <polacek@redhat.com> - - PR c++/114439 - * g++.dg/init/array65.C: New test. - -2024-03-25 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/pragma-1.c: Remove. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-1.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-2.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-3.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-4.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-5.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-6.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-7.c: New test. - * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-8.c: New test. - -2024-03-23 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114443 - * gm2/pim/fail/missingquote.mod: New test. - -2024-03-23 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/114408 - * c-c++-common/analyzer/deref-before-check-pr114408.c: New test. - * c-c++-common/ubsan/analyzer-ice-pr114408.c: New test. - -2024-03-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114433 - * gcc.dg/torture/bitint-68.c: New test. - -2024-03-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114425 - * gcc.dg/torture/bitint-67.c: New test. - -2024-03-23 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/111683 - * gcc.dg/pr111683-1.c: New test. - * gcc.dg/pr111683-2.c: New test. - -2024-03-22 Harald Anlauf <anlauf@gmx.de> - - PR fortran/55978 - * gfortran.dg/null_actual_5.f90: New test. - -2024-03-22 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/amo-table-ztso-amo-add-1.c: Add - dg_add_options riscv_a - * 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-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. - -2024-03-22 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/112974 - PR analyzer/112975 - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add - taint-pr112974.c and taint-pr112975.c to analyzer_kernel_plugin.c. - * gcc.dg/plugin/taint-pr112974.c: New test. - * gcc.dg/plugin/taint-pr112975.c: New test. - -2024-03-22 Marek Polacek <polacek@redhat.com> - - PR c++/59465 - * g++.dg/init/array62.C: New test. - * g++.dg/init/array63.C: New test. - * g++.dg/init/array64.C: New test. - -2024-03-22 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/107426 - * gfortran.dg/pr89943_3.f90: Update error pattern. - * gfortran.dg/pr89943_4.f90: Likewise. - * gfortran.dg/use_31.f90: New test. - -2024-03-22 Mikael Morin <mikael@gcc.gnu.org> - - PR fortran/111781 - * gfortran.dg/spec_expr_8.f90: New test. - * gfortran.dg/spec_expr_9.f90: New test. - -2024-03-22 Mikael Morin <mikael@gcc.gnu.org> - - * gfortran.dg/graphite/pr107865.f90: Declare array bound variable(s) - as dummy argument(s). - * gfortran.dg/pr101267.f90: Likewise. - * gfortran.dg/pr112404.f90: Likewise. - * gfortran.dg/pr78061.f: Likewise. - * gfortran.dg/pr79315.f90: Likewise. - * gfortran.dg/vect/pr90681.f: Likewise. - * gfortran.dg/vect/pr97761.f90: Likewise. - * gfortran.dg/vect/pr99746.f90: Likewise. - -2024-03-22 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-1.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-10.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-11.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-12.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-13.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-14.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-15.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-16.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-17.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-18.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-2.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-3.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-4.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-5.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-6.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-7.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-8.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-9.c: New test. - * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits.h: New test. - -2024-03-22 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.dg/tree-ssa/backprop-6.c: On s390 we also have a copysign - optab for long double. Thus, scan 3 instead of 2 times for it. - -2024-03-22 Jakub Jelinek <jakub@redhat.com> - - PR c++/112724 - * c-c++-common/gomp/depobj-3.c: Add -fexcess-precision=fast as - dg-additional-options. - -2024-03-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR c/109619 - * gcc.dg/redecl-26.c: New test. - -2024-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR tree-optimization/96147 - * gcc.dg/vect/bb-slp-32.c (dg-final): Remove. - -2024-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR target/114150 - * gcc.target/i386/avx512cd-vpbroadcastmb2q-2.c: Skip on - Solaris/x86 with as. - * gcc.target/i386/avx512cd-vpbroadcastmw2d-2.c: Likewise. - -2024-03-22 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/111736 - * gcc.dg/ubsan/pr111736.c: New test. - -2024-03-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114405 - * gcc.dg/torture/bitint-66.c: New test. - -2024-03-22 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.dg/tree-ssa/abs-4.c: On s390 we also have a copysign optab - for long double. Thus, scan 3 instead of 2 times for it. - -2024-03-22 Christoph Müllner <christoph.muellner@vrull.eu> - - PR target/114194 - * gcc.target/riscv/rvv/xtheadvector/pr114194.c: New test. - -2024-03-22 Pan Li <pan2.li@intel.com> - - PR target/114352 - * gcc.target/riscv/rvv/base/pr114352-3.c: New test. - -2024-03-22 Pan Li <pan2.li@intel.com> - - PR target/114352 - * gcc.target/riscv/rvv/base/pr114352-1.c: New test. - * gcc.target/riscv/rvv/base/pr114352-2.c: New test. - -2024-03-22 liuhongt <hongtao.liu@intel.com> - - PR tree-optimization/114396 - * gcc.target/i386/pr114396.c: Move to... - * gcc.c-torture/execute/pr114396.c: ...here. - -2024-03-22 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114422 - * gm2/iso/fail/badset.mod: New test. - * gm2/iso/fail/badset2.mod: New test. - * gm2/iso/fail/badset3.mod: New test. - -2024-03-21 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/113619 - * c-c++-common/analyzer/taint-divisor-pr113619.c: New test. - -2024-03-21 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114418 - * gm2/pim/fail/missingtsize.mod: New test. - * gm2/pim/fail/missingtsize2.mod: New test. - -2024-03-21 Harald Anlauf <anlauf@gmx.de> - - PR fortran/30802 - * gfortran.dg/bounds_check_17.f90: Adjust pattern. - * gfortran.dg/bounds_check_fail_8.f90: New test. - -2024-03-21 Marek Polacek <polacek@redhat.com> - - PR c++/110323 - * g++.dg/template/explicit-instantiation6.C: New test. - * g++.dg/template/explicit-instantiation7.C: New test. - -2024-03-21 Jakub Jelinek <jakub@redhat.com> - - PR libgcc/114397 - * gcc.dg/torture/bitint-65.c: New test. - -2024-03-21 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr114396.c: New test. - -2024-03-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/111736 - * gcc.target/i386/pr111736.c: New testcase. - -2024-03-21 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113727 - * gcc.dg/torture/pr113727.c: New testcase. - -2024-03-20 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/109251 - * c-c++-common/analyzer/deref-before-check-pr109251-1.c: New test. - * c-c++-common/analyzer/deref-before-check-pr109251-2.c: New test. - -2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> - - * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Add - testcase for unnamed fields. - -2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> - - * gcc.target/bpf/core-builtin-type-based.c: Correct. - * gcc.target/bpf/core-builtin-type-id.c: Correct. - -2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> - - * gcc.target/bpf/core-attr-5.c: Correct. - * gcc.target/bpf/core-attr-6.c: Likewise. - * gcc.target/bpf/core-attr-struct-as-array.c: Add test case for - pointer arithmetics as array access use case. - -2024-03-20 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114365 - * gcc.dg/bitint-102.c: New test. - -2024-03-20 Hao Liu <hliu@os.amperecomputing.com> - - PR tree-optimization/114322 - * gcc.dg/vect/pr114322.c: New testcase. - -2024-03-20 demin.han <demin.han@starfivetech.com> - - PR target/112651 - * g++.target/riscv/rvv/autovec/bug-2.C: Replace option - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-1.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-2.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-3.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Ditto - * 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-10.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-11.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-12.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-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-11.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-12.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-14.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/pr111317.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-3.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-5.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113247-1.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113247-2.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-3.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-4.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-5.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/pr114264.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-2.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-3.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-4.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-5.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-6.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-7.c: Ditto - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-9.c: Ditto - * gcc.target/riscv/rvv/autovec/bug-1.c: Ditto - * gcc.target/riscv/rvv/autovec/bug-2.c: Ditto - * gcc.target/riscv/rvv/autovec/bug-3.c: Ditto - * gcc.target/riscv/rvv/autovec/bug-4.c: Ditto - * gcc.target/riscv/rvv/autovec/bug-5.c: Ditto - * gcc.target/riscv/rvv/autovec/bug-8.c: Ditto - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-3.c: Ditto - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-4.c: Ditto - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-7.c: Ditto - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-8.c: Ditto - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: Ditto - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: Ditto - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: Ditto - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: Ditto - * gcc.target/riscv/rvv/autovec/fold-min-poly.c: Ditto - * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: Ditto - * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: Ditto - * 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/autovec/pr112450.c: Ditto - * gcc.target/riscv/rvv/autovec/pr112598-1.c: Ditto - * gcc.target/riscv/rvv/autovec/pr112598-2.c: Ditto - * gcc.target/riscv/rvv/autovec/pr112694-1.c: Ditto - * gcc.target/riscv/rvv/autovec/pr112999.c: Ditto - * gcc.target/riscv/rvv/autovec/pr113393-2.c: Ditto - * gcc.target/riscv/rvv/autovec/series-1.c: Ditto - * gcc.target/riscv/rvv/autovec/series_run-1.c: Ditto - * gcc.target/riscv/rvv/autovec/slp-interleave-1.c: Ditto - * gcc.target/riscv/rvv/autovec/slp-interleave-2.c: Ditto - * gcc.target/riscv/rvv/autovec/slp-interleave-3.c: Ditto - * gcc.target/riscv/rvv/autovec/slp-interleave-4.c: Ditto - * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv64-ice-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/abs-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/abs-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/and-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/and-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/and-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/avg-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/avg-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/avg-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/avg-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/avg-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/avg-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/bswap16-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cmp-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cmp-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cmp-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cmp-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cmp-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cmp-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-10.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-11.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-12.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-13.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-14.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-8.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/combine-merge-9.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/compress-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/compress-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/compress-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/compress-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/compress-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/compress-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_abs-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_add-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_add-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_and-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-10.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-11.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-12.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-8.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_convert-9.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_copysign-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_div-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_div-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_ext-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_ext-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_ext-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_ext-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_ext-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_fma-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_fma-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_fms-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_fnma-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_fnma-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_fnms-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_ior-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_max-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_max-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_min-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_min-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_mod-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_mul-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_mul-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_mulh-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_narrow-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_narrow-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_neg-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_neg-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_not-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_shift-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_shift-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_sqrt-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_sub-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_sub-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_trunc-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wadd-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wadd-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wadd-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wadd-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wfma-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wfma-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wfms-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wfnma-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wmul-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wmul-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wmul-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wsub-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wsub-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wsub-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_wsub-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cond_xor-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/consecutive-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/consecutive-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/const-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/const-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/const-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/const-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/const-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-10.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-11.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-12.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-8.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/convert-9.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/cvt-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/div-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/dup-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/dup-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/dup-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/dup-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/dup-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/dup-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/dup-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/ext-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/ext-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/ext-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/ext-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/ext-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/extract-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/extract-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-add-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-add-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-add-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-div-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-div-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-div-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-max-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-min-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fma-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fma-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fma-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fma-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fma-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fma-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fma-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fms-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fms-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fms-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnma-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnma-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnma-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnma-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnma-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnma-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnma-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnms-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnms-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/fnms-3.c: Ditto - * 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 - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/ior-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/ior-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/ior-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/mask-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/mask-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/mask-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-ceil-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-floor-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-iceil-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-iceil-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-ifloor-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-ifloor-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-irint-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-irint-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-iround-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-iround-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lceil-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lceil-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lceil-rv32-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lceilf-rv64-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lfloor-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lfloor-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lfloor-rv32-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lfloorf-rv64-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llceil-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llceilf-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llfloor-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llfloorf-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llrint-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llrintf-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llrintf16-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llround-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llroundf-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-llroundf16-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lrint-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lrint-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lrint-rv32-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lrintf-rv64-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv32-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv64-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lround-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lround-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lround-rv32-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lroundf-rv64-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv32-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv64-0.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-nearbyint-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-rint-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-round-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-roundeven-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/math-trunc-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/max-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/merge-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/merge-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/merge-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/merge-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/merge-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/merge-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/merge-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/min-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/minus-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/minus-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/minus-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/misalign-1.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/mulh-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/mult-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/narrow-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/narrow-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/narrow-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/neg-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/neg-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/not-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/perm-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/perm-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/perm-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/perm-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/perm-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/perm-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/plus-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/plus-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/plus-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-10.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-11.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-12.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-13.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-14.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-15.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-16.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-17.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-18.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-8.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/reduc-9.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-8.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/repeat-9.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/series-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/series-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/series-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/series-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/shift-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/shift-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/shift-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/shift-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/shift-6.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/vls/sqrt-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trailing-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trailing-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trailing-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trailing-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trailing-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trailing-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trailing-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trunc-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trunc-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trunc-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trunc-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/trunc-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-10.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-11.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-12.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-13.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-14.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-15.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-16.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-17.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-18.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-19.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-20.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-21.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-22.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-7.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-8.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/vec-set-9.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wadd-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wadd-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wadd-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wadd-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wfma-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wfma-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wfma-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wfms-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wfnma-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wfnms-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wmul-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wmul-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wmul-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wred-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wred-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wred-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wsub-1.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wsub-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wsub-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/wsub-4.c: Ditto - * gcc.target/riscv/rvv/autovec/widen/widen_reduc-1.c: Ditto - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-2.c: Ditto - * gcc.target/riscv/rvv/autovec/zve32f-3.c: Ditto - * gcc.target/riscv/rvv/autovec/zve32x-3.c: Ditto - * gcc.target/riscv/rvv/autovec/zve64d-3.c: Ditto - * gcc.target/riscv/rvv/autovec/zve64f-3.c: Ditto - * gcc.target/riscv/rvv/autovec/zve64x-3.c: Ditto - * gcc.target/riscv/rvv/base/cpymem-1.c: Ditto - * gcc.target/riscv/rvv/base/cpymem-2.c: Ditto - * gcc.target/riscv/rvv/rvv.exp: Ditto - * gcc.target/riscv/rvv/vsetvl/pr111255.c: Ditto - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Ditto - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: Ditto - -2024-03-20 Richard Biener <rguenther@suse.de> - - PR middle-end/113396 - * gcc.dg/torture/pr113396.c: New testcase. - -2024-03-20 Lewis Hyatt <lhyatt@gmail.com> - - PR c++/111918 - * g++.dg/cpp0x/Wnarrowing21a.C: New test. - * g++.dg/cpp0x/Wnarrowing21b.C: New test. - * g++.dg/cpp0x/Wnarrowing21c.C: New test. - * g++.dg/cpp0x/Wnarrowing21d.C: New test. - -2024-03-19 Martin Jambor <mjambor@suse.cz> - - PR ipa/108802 - PR ipa/114254 - * g++.dg/ipa/iinline-4.C: New test. - * g++.dg/ipa/pr108802.C: Likewise. - -2024-03-19 Marek Polacek <polacek@redhat.com> - - * g++.dg/cpp2a/linkage-1.C: Use target c++14. - -2024-03-19 Jakub Jelinek <jakub@redhat.com> - - PR analyzer/113505 - * gcc.dg/analyzer/pr113505.c: New test. - -2024-03-19 Edwin Lu <ewlu@rivosinc.com> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Disable scheduling - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-1.c: Update test expectancies - * gcc.target/riscv/rvv/base/pr108185-2.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-3.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-4.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-5.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-6.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-7.c: Ditto - * gcc.target/riscv/rvv/base/vcreate.c: Disable scheduling and update - test expectancies - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: Disable scheduling - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: Ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Update test - expectancies - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.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-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 - -2024-03-19 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/114286 - * c-c++-common/analyzer/atomic-builtins-pr114286.c: New test. - -2024-03-19 Iain Sandoe <iain@sandoe.co.uk> - - PR target/114049 - * gcc.dg/framework-1.c: Use an IOKit header instead of a - Kernel one. - -2024-03-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114151 - PR tree-optimization/114269 - PR tree-optimization/114322 - PR tree-optimization/114074 - * gcc.dg/pr68317.c: Revert last change. - -2024-03-19 Christophe Lyon <christophe.lyon@linaro.org> - - PR target/114323 - * gcc.target/arm/mve/pr114323.c: New. - -2024-03-19 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * gcc.dg/c23-stdarg-9.c: New test. - -2024-03-19 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114375 - * gcc.dg/vect/vect-pr114375.c: New testcase. - -2024-03-19 Mary Bennett <mary.bennett@embecosm.com> - - * gcc.target/riscv/cv-bi-beqimm-compile-1.c: New test. - * gcc.target/riscv/cv-bi-beqimm-compile-2.c: New test. - * gcc.target/riscv/cv-bi-bneimm-compile-1.c: New test. - * gcc.target/riscv/cv-bi-bneimm-compile-2.c: New test. - * lib/target-supports.exp: Add proc for XCVbi. - -2024-03-19 Chen Jiawei <jiawei@iscas.ac.cn> - - * gcc.target/riscv/mcpu-xiangshan-nanhu.c: New test. - Co-Authored by: Lin Jiawei <jiawei.lin@epfl.ch> - -2024-03-19 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/cpp2a/linkage-1.C: New test. - * g++.dg/modules/block-decl-3.h: New test. - * g++.dg/modules/block-decl-3_a.C: New test. - * g++.dg/modules/block-decl-3_b.C: New test. - * g++.dg/modules/block-decl-3_c.C: New test. - * g++.dg/modules/linkage-1_a.C: New test. - * g++.dg/modules/linkage-1_b.C: New test. - * g++.dg/modules/linkage-1_c.C: New test. - * g++.dg/modules/linkage-2.C: New test. - -2024-03-18 Jonathan Yong <10walls@gmail.com> - - * c-c++-common/Wrestrict.c: Fix typos in comments and - enable for LLP64 testing. - -2024-03-18 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/110902 - PR analyzer/110928 - PR analyzer/111305 - PR analyzer/111441 - * c-c++-common/analyzer/out-of-bounds-const-fn.c: New test. - * c-c++-common/analyzer/out-of-bounds-diagram-11.c: Update - expected diagram output. - * c-c++-common/analyzer/out-of-bounds-diagram-pr110928.c: New test. - * c-c++-common/analyzer/out-of-bounds-diagram-pr111305.c: New test. - * c-c++-common/analyzer/out-of-bounds-diagram-pr111441.c: New test. - -2024-03-18 Uros Bizjak <ubizjak@gmail.com> - - PR target/111822 - * g++.target/i386/pr111822.C (dg-do): Compile only for ia32 targets. - (dg-options): Add -march=x86-64. - -2024-03-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103715 - * gfortran.dg/pr103715.f90: New test. - -2024-03-18 Thiago Jung Bauermann <thiago.bauermann@linaro.org> - - * gcc.target/arm/acle/cde-mve-error-2.c: Add -fpermissive. Use - relative offsets for line numbers. - -2024-03-18 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114380 - * gm2/pim/fail/badset7.mod: New test. - -2024-03-18 Nathaniel Shead <nathanieloshead@gmail.com> - - PR testsuite/114320 - * g++.dg/modules/target-powerpc-1_a.C: Suppress -Wpsabi. - * g++.dg/modules/target-powerpc-1_b.C: Likewise. - -2024-03-18 Jan Hubicka <jh@suse.cz> - Karthiban Anbazhagan <Karthiban.Anbazhagan@amd.com> - - * g++.target/i386/mv29.C: Handle znver5 arch. - * gcc.target/i386/funcspec-56.inc:Likewise. - -2024-03-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * c-c++-common/analyzer/strndup-1.c: Define _POSIX_C_SOURCE. - -2024-03-18 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr114334.c: New test. - -2024-03-17 Harald Anlauf <anlauf@gmx.de> - - PR fortran/101135 - * gfortran.dg/missing_optional_dummy_6a.f90: Adjust diagnostic pattern. - * gfortran.dg/ubsan/missing_optional_dummy_8.f90: New test. - -2024-03-17 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114296 - * gm2/pim/fail/badtype2.mod: New test. - -2024-03-16 Jakub Jelinek <jakub@redhat.com> - - PR target/114175 - * gcc.dg/c23-stdarg-7.c: New test. - * gcc.dg/c23-stdarg-8.c: New test. - -2024-03-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114329 - * gcc.dg/bitint-101.c: New test. - -2024-03-16 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/112631 - * g++.dg/modules/block-decl-1_a.C: New test. - * g++.dg/modules/block-decl-1_b.C: New test. - * g++.dg/modules/block-decl-2.C: New test. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - PR libgcc/114327 - * gcc.dg/torture/bitint-63.c: New test. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113431 - * gcc.dg/vect/pr113431.c: Restrict scan-tree-dump-times to - vect_hw_misalign targets. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - PR target/114339 - * gcc.target/i386/pr114339.c: New test. - -2024-03-15 Joe Ramsay <Joe.Ramsay@arm.com> - - * gcc.target/aarch64/no_merge_trunc_signed_zero.c: New test. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114332 - * gcc.dg/torture/bitint-64.c: New file. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/torture/pr104601.C: Add -Wno-unused-result to dg-options. - -2024-03-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113466 - * gcc.dg/bitint-100.c: New test. - -2024-03-15 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/87477 - PR fortran/89645 - PR fortran/99065 - PR fortran/114141 - PR fortran/114280 - * gfortran.dg/associate_64.f90 : New test - * gfortran.dg/associate_66.f90 : New test - * gfortran.dg/associate_67.f90 : New test - * gfortran.dg/associate_65.f90 : New test - * gfortran.dg/associate_68.f90 : New test - -2024-03-15 Tejas Belagod <tejas.belagod@arm.com> - - * gcc.dg/vect/pr114108.c: New test. - -2024-03-15 Chenghui Pan <panchenghui@loongson.cn> - - * gcc.target/loongarch/vector/lasx/lasx-xvpermi_q.c: - Reposition operand 3's value into instruction's defined accept range. - -2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114294 - * gm2/pim/pass/log: Removed. - * gm2/pim/pass/highexp.mod: New test. - -2024-03-14 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113907 - * gcc.dg/pr113907-1.c: New test. - -2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114333 - * gm2/pim/fail/badset5.mod: New test. - * gm2/pim/fail/badset6.mod: New test. - -2024-03-14 Thomas Schwinge <tschwinge@baylibre.com> - - * c-c++-common/goacc/readonly-1.c: Add basic OpenACC 'declare' - testing. - * gfortran.dg/goacc/readonly-1.f90: Likewise. - -2024-03-14 Jakub Jelinek <jakub@redhat.com> - - PR target/114310 - * gcc.dg/pr114310.c: New test. - -2024-03-14 Juergen Christ <jchrist@linux.ibm.com> - - * gcc.target/s390/htm-builtins-1.c: Fix. - * gcc.target/s390/htm-builtins-2.c: Fix. - -2024-03-14 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/110558 - * c-c++-common/cpp/has-include-2.c: New test. - * c-c++-common/cpp/has-include-2.h: New test. - -2024-03-14 Lewis Hyatt <lhyatt@gmail.com> - - * lib/gcc-defs.exp (dg-additional-options): Make $srcdir usable in a - dg-additional-options directive. - * c-c++-common/cpp/has-include-next-2-dir/has-include-next-2.h: New test. - * c-c++-common/cpp/has-include-next-2.c: New test. - -2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114333 - * gm2/cse/pass/testcse54.mod: New test. - * gm2/iso/run/pass/array9.mod: New test. - * gm2/iso/run/pass/strcons3.mod: New test. - * gm2/iso/run/pass/strcons4.mod: New test. - * gm2/pim/fail/badset1.mod: New test. - * gm2/pim/fail/badset2.mod: New test. - * gm2/pim/fail/badset3.mod: New test. - * gm2/pim/fail/badset4.mod: New test. - -2024-03-14 Chung-Lin Tang <cltang@baylibre.com> - - * c-c++-common/goacc/readonly-1.c: New test. - * gfortran.dg/goacc/readonly-1.f90: New test. - -2024-03-14 Andreas Krebbel <krebbel@linux.ibm.com> - - * gcc.target/s390/aligned-1.c: Add weak and void variables - incorporating the cases from unaligned-2.c. - * gcc.target/s390/unaligned-1.c: Likewise. - * gcc.target/s390/unaligned-2.c: Removed. - -2024-03-14 liuhongt <hongtao.liu@intel.com> - - * g++.target/i386/pr111822.C: New test. - -2024-03-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114001 - * gfortran.dg/is_contiguous_4.f90: New test. - -2024-03-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114319 - * gcc.target/i386/pr114319.c: New test. - -2024-03-13 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: - Added dg-bogus with target on offending line for short_enums. - -2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - * gcc.target/s390/md/rXsbg_mode_sXl.c: Fix tests rosbg_si_srl - and rxsbg_si_srl. - -2024-03-13 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114313 - * gcc.dg/torture/bitint-62.c: New test. - -2024-03-13 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/112709 - * gcc.dg/asan/pr112709-2.c: New test. - -2024-03-13 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/112709 - * gcc.dg/ubsan/pr112709-1.c: New test. - * gcc.dg/ubsan/pr112709-2.c: New test. - -2024-03-12 Harald Anlauf <anlauf@gmx.de> - - PR fortran/110826 - * gfortran.dg/proc_ptr_comp_53.f90: New test. - -2024-03-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114121 - * gcc.dg/torture/pr114312.c: New testcase. - -2024-03-12 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/98645 - PR c++/98688 - PR c++/111224 - * g++.dg/modules/target-aarch64-1_a.C: New test. - * g++.dg/modules/target-aarch64-1_b.C: New test. - * g++.dg/modules/target-powerpc-1_a.C: New test. - * g++.dg/modules/target-powerpc-1_b.C: New test. - * g++.dg/modules/target-powerpc-2_a.C: New test. - * g++.dg/modules/target-powerpc-2_b.C: New test. - -2024-03-12 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/112709 - * gcc.dg/asan/pr112709-1.c: New test. - * g++.dg/asan/pr69276.C: Adjust expected output for some targets. - -2024-03-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114293 - * gcc.dg/pr114293.c: New test. - -2024-03-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114297 - * gcc.dg/vect/vect-early-break_123-pr114297.c: New testcase. - -2024-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105437 - PR libfortran/114304 - * gfortran.dg/pr105473.f90: Add additional checks to address - the case of semicolon at the end of a line. - -2024-03-11 Richard Earnshaw <rearnsha@arm.com> - - PR testsuite/113428 - * gcc.dg/gomp/bad-array-section-c-3.c: Use signed char instead - of int. - -2024-03-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR tree-optimization/98238 - * gcc.dg/vect/vect-cost-model-1.c (scan-tree-dump): Also require - vect_hw_misalign. - * gcc.dg/vect/vect-cost-model-3.c: Likewise. - * gcc.dg/vect/vect-cost-model-5.c: Likewise. - -2024-03-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR tree-optimization/114071 - PR tree-optimization/113557 - PR testsuite/96109 - * gcc.dg/vect/pr37027.c: Require vect_perm. - * gcc.dg/vect/pr67790.c: Likewise. - * gcc.dg/vect/slp-reduc-1.c: Likewise. - * gcc.dg/vect/slp-reduc-2.c: Likewise. - * gcc.dg/vect/slp-reduc-7.c: Likewise. - * gcc.dg/vect/slp-reduc-8.c: Likewise. - * gcc.dg/vect/vect-multi-peel-gaps.c (scan-tree-dump): Also - require vect_perm. - * gcc.dg/vect/slp-47.c: Require vect_perm. - * gcc.dg/vect/slp-48.c: Likewise. - -2024-03-11 Richard Biener <rguenther@suse.de> - - PR middle-end/114299 - * gcc.target/i386/pr114299.c: New testcase. - -2024-03-11 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114278 - * gcc.dg/bitint-99.c: New test. - -2024-03-11 Eric Botcazou <ebotcazou@adacore.com> - - * gcc.dg/sso-20.c: New test. - * gcc.dg/sso-21.c: Likewise. - -2024-03-11 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/95351 - * gcc.dg/float_opposite_arm-1.c: New test. - -2024-03-10 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/112285 - PR d/112290 - * gdc.dg/pr112285.d: New test. - * gdc.dg/pr112290.d: New test. - -2024-03-10 jlaw <jeffreyalaw@gmail.com> - - PR tree-optimization/110199 - * gcc.dg/tree-ssa/minmax-27.c: New test. - * gcc.dg/tree-ssa/minmax-28.c: New test. - -2024-03-10 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/pr114195-1.c: New test. - -2024-03-10 jlaw <jeffreyalaw@gmail.com> - - Revert: - 2024-01-22 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/sh/pr59533-1.c: Adjust expected output. - -2024-03-10 jlaw <jeffreyalaw@gmail.com> - - PR target/111362 - * gcc.target/riscv/compare-debug-1.c: New test. - * gcc.target/riscv/compare-debug-2.c: New test. - -2024-03-09 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/tls-ie-relax.c: New test. - * gcc.target/loongarch/tls-ie-norelax.c: New test. - * gcc.target/loongarch/tls-ie-extreme.c: New test. - -2024-03-09 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/regname-fp-s9.c: Add compilation option - '-Wno-pedantic -std=gnu90'. - -2024-03-09 Lulu Cheng <chenglulu@loongson.cn> - - * g++.target/loongarch/atomic-cas-int.C: New test. - -2024-03-08 Martin Jambor <mjambor@suse.cz> - - PR ipa/113757 - * g++.dg/ipa/pr113757.C: New test. - -2024-03-08 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/inline-memops-threshold-1.c: New test. - * gcc.target/bpf/inline-memops-threshold-2.c: New test. - -2024-03-08 Richard Earnshaw <rearnsha@arm.com> - - PR target/113542 - * gcc.target/arm/bics_3.c: Adjust code to something which should - always result in BICS. - -2024-03-08 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/memset-1.c: Move error test case to... - * gcc.target/bpf/memset-2.c: ... here. New test. - -2024-03-08 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/113915 - * gcc.target/arm/builtin-bswap.x: Fix test to avoid emitting CBZ. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/113617 - PR target/114233 - * g++.dg/other/pr113617.C: Define -DSHARED when linking with -shared. - * g++.dg/other/pr113617-aux.cc: Add definitions for used methods and - templates not defined elsewhere. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - PR target/38534 - * gcc.target/i386/pr38534-1.c: Add -mnoreturn-no-callee-saved-registers - to dg-options. - * gcc.target/i386/pr38534-2.c: Likewise. - * gcc.target/i386/pr38534-3.c: Likewise. - * gcc.target/i386/pr38534-4.c: Likewise. - * gcc.target/i386/pr38534-5.c: Likewise. - * gcc.target/i386/pr38534-6.c: Likewise. - * gcc.target/i386/pr114097-1.c: Likewise. - * gcc.target/i386/stack-check-17.c: Likewise. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/ext/atomic-5.C: New test. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - PR debug/113918 - * c-c++-common/dwarf2/pr113918.c: New test. - -2024-03-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/113802 - * g++.dg/cpp23/explicit-obj-diagnostics3.C (S0, S1, S2, S3, S4): Don't - expect any diagnostics on f and fd member function templates, add - similar templates with ...Selves instead of Selves as k and kd and - expect diagnostics for those. Expect extra diagnostics in error - recovery for g and gd member function templates. - -2024-03-08 Richard Biener <rguenther@suse.de> - - PR testsuite/108355 - * gcc.dg/tree-ssa/ssa-fre-104.c: Align e. - -2024-03-08 Gaius Mulley <gaiusmod2@gmail.com> - - * gm2/iso/pass/arrayconst.mod: New test. - * gm2/iso/pass/arrayconst2.mod: New test. - * gm2/iso/pass/arrayconst3.mod: New test. - * gm2/iso/pass/arrayconst4.mod: New test. - -2024-03-08 demin.han <demin.han@starfivetech.com> - - PR target/114264 - * gcc.dg/vect/costmodel/riscv/rvv/pr114264.c: New test. - -2024-03-08 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/fwprop-1.c: New. - -2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114229 - * g++.dg/modules/virt-2_b.C: Update test to acknowledge that we - now emit vtables here too. - * g++.dg/modules/virt-3_a.C: New test. - * g++.dg/modules/virt-3_b.C: New test. - * g++.dg/modules/virt-3_c.C: New test. - * g++.dg/modules/virt-3_d.C: New test. - -2024-03-07 Patrick Palka <ppalka@redhat.com> - - PR c++/103994 - * g++.dg/modules/pr99425-1_b.H: s/alias/decl in dump scan. - * g++.dg/modules/tpl-alias-1_a.H: Likewise. - * g++.dg/modules/tpl-alias-2_a.H: New test. - * g++.dg/modules/tpl-alias-2_b.C: New test. - -2024-03-07 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/113618 - * gcc.target/aarch64/pr113618.c: New test. - -2024-03-07 Patrick Palka <ppalka@redhat.com> - - PR c++/110730 - PR c++/105512 - * g++.dg/modules/hello-2_a.C: New test. - * g++.dg/modules/hello-2_b.C: New test. - * g++.dg/modules/namespace-6_a.H: New test. - * g++.dg/modules/namespace-6_b.C: New test. - -2024-03-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR target/114233 - * lib/target-supports.exp: Fix test for C++. - -2024-03-07 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/aarch64/pr114196.c: New test. - * gcc.target/riscv/rvv/autovec/pr114196.c: New test. - -2024-03-07 Marek Polacek <polacek@redhat.com> - - PR c++/110031 - * g++.dg/cpp1z/inline-var11.C: New test. - -2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com> - - PR target/113950 - * gcc.target/powerpc/pr113950.c: New testcase. - -2024-03-07 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/predicate15.adb: New test. - -2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/98356 - * g++.dg/pr98356.C: New test. - -2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/98881 - * g++.dg/modules/tpl-tpl-parm-3.h: New test. - * g++.dg/modules/tpl-tpl-parm-3_a.H: New test. - * g++.dg/modules/tpl-tpl-parm-3_b.C: New test. - * g++.dg/modules/tpl-tpl-parm-3_c.C: New test. - -2024-03-07 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/110079 - * gcc.dg/pr110079.c: New test. - -2024-03-07 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/105533 - * gcc.dg/pr105533.c: New test. - -2024-03-07 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c: Replace - ASSERTEQ_64 with the macro ASSERTEQ_32. - * gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c: Modify the expected - test results of some functions according to the function of the vector - instruction. - * gcc.target/loongarch/vector/lsx/lsx-vfrint_s.c: Same - modification as lasx-xvfrint_s.c. - * gcc.target/loongarch/vector/lsx/lsx-vshuf.c: Same - modification as lasx-xvshuf_b.c. - * gcc.target/loongarch/vector/simd_correctness_check.h: Use the llabs() - function instead of abs() to check the correctness of the results. - -2024-03-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114009 - * gcc.dg/tree-ssa/pr114009.c: New test. - -2024-03-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105456 - * gfortran.dg/pr105456.f90: Revise using '%' characters - in users error message. - -2024-03-06 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/pr114200.c: New test. - * gcc.target/riscv/rvv/autovec/pr114202.c: New test. - -2024-03-06 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.dg/vect/costmodel/riscv/rvv/vse-slp-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/vse-slp-2.c: New test. - -2024-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/113915 - * gcc.target/arm/builtin-bswap-1.c: Fix test to allow conditional - execution both for Arm and Thumb-2. - -2024-03-06 Jeff Law <jlaw@ventanamicro.com> - - PR target/113001 - PR target/112871 - * gcc.target/riscv/zicond-ice-3.c: New test. - * gcc.target/riscv/zicond-ice-4.c: New test. - -2024-03-06 Harald Anlauf <anlauf@gmx.de> - - PR fortran/103707 - PR fortran/106987 - * gfortran.dg/pr99350.f90: - * gfortran.dg/arithmetic_overflow_3.f90: New test. - -2024-03-06 Marek Polacek <polacek@redhat.com> - - PR c++/114114 - * g++.dg/cpp0x/noexcept84.C: New test. - -2024-03-06 Thomas Schwinge <tschwinge@baylibre.com> - - * gcc.target/gcn/sram-ecc-3.c: Adjust. - * gcc.target/gcn/sram-ecc-4.c: Likewise. - * gcc.target/gcn/sram-ecc-7.c: Likewise. - * gcc.target/gcn/sram-ecc-8.c: Likewise. - -2024-03-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114239 - * gcc.dg/vect/vect-early-break_122-pr114239.c: New testcase. - -2024-03-06 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/vfcmp-f.c: Rewrite to avoid named - registers. - * gcc.target/loongarch/vfcmp-d.c: Likewise. - * gcc.target/loongarch/xvfcmp-f.c: Likewise. - * gcc.target/loongarch/xvfcmp-d.c: Likewise. - -2024-03-06 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113629 - * g++.dg/cpp23/explicit-obj-conv-op.C: New test. - -2024-03-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114249 - * gcc.dg/vect/bb-slp-pr114249.c: New testcase. - -2024-03-06 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114246 - * gcc.dg/torture/pr114246.c: New testcase. - -2024-03-06 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114190 - * gcc.target/i386/avx-pr114190.c: New test. - -2024-03-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105456 - * gfortran.dg/pr105456-nmlr.f90: New test. - * gfortran.dg/pr105456-nmlw.f90: New test. - * gfortran.dg/pr105456-ruf.f90: New test. - * gfortran.dg/pr105456-wf.f90: New test. - * gfortran.dg/pr105456-wuf.f90: New test. - -2024-03-06 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/friend-7.h: New test. - * g++.dg/modules/friend-7_a.H: New test. - * g++.dg/modules/friend-7_b.C: New test. - -2024-03-05 Cupertino Miranda <cupertino.miranda@oracle.com> - Indu Bhagat <indu.bhagat@oracle.com> - - PR debug/114186 - * gcc.dg/debug/ctf/ctf-array-6.c: Add test. - -2024-03-05 Richard Sandiford <richard.sandiford@arm.com> - - PR sanitizer/97696 - * gcc.target/aarch64/sve/pr97696.c: New test. - -2024-03-05 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme/strided_1.c (test5): Remove. - -2024-03-05 Saurabh Jha <saujha01@e130340.arm.com> - - PR target/112337 - * gcc.target/arm/pr112337.c: Check for, then use the right MVE - options. - -2024-03-05 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/regname-fp-s9.c: New test. - -2024-03-05 Roger Sayle <roger@nextmovesoftware.com> - - * gcc.target/avr/torture/insv-anyshift-hi.c: New test. - * gcc.target/avr/torture/insv-anyshift-si.c: New test. - -2024-03-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114231 - * gcc.dg/vect/pr114231.c: New testcase. - -2024-03-05 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114211 - * gcc.dg/pr114211.c: New test. - -2024-03-05 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114157 - * gcc.dg/bitint-98.c: New test. - * gcc.target/i386/avx2-pr114157.c: New test. - * gcc.target/i386/avx512f-pr114157.c: New test. - -2024-03-05 Jakub Jelinek <jakub@redhat.com> - - PR target/114116 - * gcc.target/i386/pr38534-1.c: Allow push/pop of bp. - * gcc.target/i386/pr38534-4.c: Likewise. - * gcc.target/i386/pr38534-2.c: Likewise. - * gcc.target/i386/pr38534-3.c: Likewise. - * gcc.target/i386/pr114097-1.c: Likewise. - * gcc.target/i386/stack-check-17.c: Expect no pop on ! ia32. - -2024-03-05 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/friend-6_a.C: Pass -Wno-global-module instead - of -Wno-pedantic. Remove now unnecessary preprocessing - directives from GMF. - -2024-03-04 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/using-12.C: New test. - * g++.dg/modules/using-13.h: New test. - * g++.dg/modules/using-13_a.C: New test. - * g++.dg/modules/using-13_b.C: New test. - -2024-03-04 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/memset-1.c: New test. - -2024-03-04 Jan Dubiec <jdx@o2.pl> - - * gcc.c-torture/execute/20101011-1.c: Do not test on H8 series. - -2024-03-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114197 - * gcc.dg/torture/pr114197.c: New testcase. - -2024-03-04 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114203 - * gcc.dg/torture/pr114203.c: New testcase. - -2024-03-04 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114209 - * gcc.dg/bitint-97.c: New test. - -2024-03-04 Xi Ruoyao <xry111@xry111.site> - - PR testsuite/113418 - * gcc.dg/pr104992.c (dg-options): Use -fdump-tree-forwprop2 - instead of -fdump-tree-optimized. - (dg-final): Scan forwprop2 dump instead of optimized, and remove - the use of vect_int_mod. - * lib/target-supports.exp (check_effective_target_vect_int_mod): - Remove because it's not used anymore. - -2024-03-04 Jakub Jelinek <jakub@redhat.com> - - PR target/114184 - * gcc.target/i386/pr114184.c: New test. - -2024-03-04 Roger Sayle <roger@nextmovesoftware.com> - - PR target/114187 - * g++.target/i386/pr114187.C: New test case. - -2024-03-03 Greg McGary <gkm@rivosinc.com> - - * gcc.c-torture/execute/pr113010.c: New test. - -2024-03-03 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/114171 - * gdc.dg/torture/pr114171.d: New test. - -2024-03-01 Patrick Palka <ppalka@redhat.com> - - PR c++/104919 - PR c++/106009 - * g++.dg/modules/tdef-7.h: Remove outdated comment. - * g++.dg/modules/tdef-7_b.C: Don't expect two TYPE_DECLs. - * g++.dg/modules/enum-13_a.C: New test. - * g++.dg/modules/enum-13_b.C: New test. - -2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114170 - * g++.dg/modules/var-tpl-2_a.H: New test. - * g++.dg/modules/var-tpl-2_b.C: New test. - -2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/114005 - * g++.dg/modules/pr114005_a.C: New test. - * g++.dg/modules/pr114005_b.C: New test. - -2024-03-01 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: Turn off - second phase scheduler. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: Likewise. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: Likewise. - -2024-03-01 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/cexpr-4_a.C: New test. - * g++.dg/modules/cexpr-4_b.C: New test. - -2024-03-01 Marek Polacek <polacek@redhat.com> - - PR c++/110358 - PR c++/109642 - * g++.dg/ext/attr-no-dangling1.C: New test. - * g++.dg/ext/attr-no-dangling2.C: New test. - * g++.dg/ext/attr-no-dangling3.C: New test. - * g++.dg/ext/attr-no-dangling4.C: New test. - * g++.dg/ext/attr-no-dangling5.C: New test. - * g++.dg/ext/attr-no-dangling6.C: New test. - * g++.dg/ext/attr-no-dangling7.C: New test. - * g++.dg/ext/attr-no-dangling8.C: New test. - * g++.dg/ext/attr-no-dangling9.C: New test. - -2024-03-01 David Faust <david.faust@oracle.com> - - * gcc.dg/debug/ctf/ctf-file-scope-1.c (SFOO): Make array member - fixed-length. - -2024-03-01 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104819 - * gfortran.dg/assumed_rank_9.f90: Adjust testcase use of NULL(). - * gfortran.dg/pr101329.f90: Adjust testcase to conform to interp. - * gfortran.dg/null_actual_4.f90: New test. - -2024-03-01 Patrick Palka <ppalka@redhat.com> - - PR c++/110025 - PR c++/114138 - * g++.dg/cpp23/auto-fncast16.C: New test. - * g++.dg/cpp23/auto-fncast17.C: New test. - * g++.dg/cpp23/auto-fncast18.C: New test. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - - PR c++/92687 - * g++.dg/cpp1z/decomp59.C: New test. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - Tobias Burnus <tburnus@baylibre.com> - - PR c++/110347 - * g++.dg/gomp/target-lambda-1.C: Moved to become a - run-time test under testsuite/libgomp.c++. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - - PR debug/114015 - * gcc.dg/debug/dwarf2/pr114015.c: New test. - -2024-03-01 xuli <xuli1@eswincomputing.com> - - * g++.target/riscv/rvv/base/attribute-riscv_vector_cc-error.C: New test. - * gcc.target/riscv/rvv/base/attribute-riscv_vector_cc-callee-saved.c: New test. - * gcc.target/riscv/rvv/base/attribute-riscv_vector_cc-error.c: New test. - -2024-03-01 Pan Li <pan2.li@intel.com> - - PR target/112817 - * g++.target/riscv/rvv/base/pr111296.C: Replace - param=riscv-autovec-preference to mrvv-vector-bits. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-12.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-3.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-5.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113247-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113247-4.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-2.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/align-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/align-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/copysign-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/copysign-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/copysign-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/copysign-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmax-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmax_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmin-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/fmin_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/binop/mulh-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/mulh-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/mulh_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/mulh_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/narrow-1.c: Ditto. - * 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/binop/narrow_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/narrow_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/narrow_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/shift-immediate.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/shift-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-run-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vand-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vand-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vand-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: Ditto. - * 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/vdiv-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmax-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmax-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmax-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmin-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmin-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmin-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-run-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vor-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vor-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vor-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vrem-run.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/vsub-run-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv-nofm.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vsub-zvfh-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vxor-run.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vxor-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/binop/vxor-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/bug-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/bug-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/bug-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/bug-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/bug-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/bug-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/bug-8.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/cmp/vcond_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cmp/vcond_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith-11.c: Ditto. - * 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_arith_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-9.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_float2float_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-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_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_float2int_zvfh-rv32-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv32-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv64-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv64-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh_run-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_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_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_convert_int2int_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_copysign-run.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_copysign-zvfh-run.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_fadd_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-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: - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-6.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-7.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-8.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift-9.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-9.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-zvfh-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-zvfh-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-3.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-4.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-5.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-6.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-7.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-8.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-9.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/cond/pr111401.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vec-narrow-int64-float16.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vec-widen-float16-int64.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfncvt-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vncvt-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vsext-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vsext-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vsext-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vzext-run.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vzext-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/conversions/vzext-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: Diito. - * gcc.target/riscv/rvv/autovec/fold-min-poly.c: Diito. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: Diito. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: Diito. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-1.c: Diito. - * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-2.c: Diito. - * gcc.target/riscv/rvv/autovec/madd-split2-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/live-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/live-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/live_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/live_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-3.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-4.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_zbb.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/select_vl-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-10.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-11.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-12.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-13.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-14.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-15.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-4.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-6.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-7.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-8.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-10.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-11.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-12.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-13.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-14.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-15.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-16.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-17.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-18.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-19.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/partial/slp_run-9.c: Diito. - * gcc.target/riscv/rvv/autovec/post-ra-avl.c: Diito. - * gcc.target/riscv/rvv/autovec/pr110950.c: Diito. - * gcc.target/riscv/rvv/autovec/pr110964.c: Diito. - * gcc.target/riscv/rvv/autovec/pr110989.c: Diito. - * gcc.target/riscv/rvv/autovec/pr111232.c: Diito. - * gcc.target/riscv/rvv/autovec/pr111295.c: Diito. - * gcc.target/riscv/rvv/autovec/pr111313.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112326.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112552.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112554.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112561.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112597-1.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112599-1.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112599-3.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112694-1.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112854.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112872.c: Diito. - * gcc.target/riscv/rvv/autovec/pr112999.c: Diito. - * gcc.target/riscv/rvv/autovec/pr113393-1.c: Diito. - * gcc.target/riscv/rvv/autovec/pr113393-2.c: Diito. - * gcc.target/riscv/rvv/autovec/pr113393-3.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-1.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-10.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-11.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-12.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-13.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-14.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-2.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-3.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-4.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-5.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-6.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-7.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-8.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last-9.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-10.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-11.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-12.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-13.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-14.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-9.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-1.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-10.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-2.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-3.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-4.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-5.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-6.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-7.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-8.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc-9.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-1.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-3.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-4.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-5.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-10.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-1.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-2.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-3.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-4.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-5.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-6.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-7.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh-10.c: Diito. - * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh_run-10.c: Diito. - * gcc.target/riscv/rvv/autovec/scalable-1.c: Diito. - * gcc.target/riscv/rvv/autovec/series-1.c: Diito. - * gcc.target/riscv/rvv/autovec/series_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/slp-mask-1.c: Diito. - * gcc.target/riscv/rvv/autovec/slp-mask-run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-1.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-2.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-3.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-4.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-5.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-6.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-7.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-1.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-2.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-3.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-4.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-5.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-6.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-7.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-1.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-10.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-11.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-12.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-13.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-14.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-15.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-16.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-17.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-18.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-2.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-3.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-4.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-5.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-6.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-7.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-8.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect-9.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-11.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-12.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-13.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-14.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-15.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-16.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-17.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-18.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-9.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-10.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-11.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-12.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-4.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-6.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-7.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-8.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop-9.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-10.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-11.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-12.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-9.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-10.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-11.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-12.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run-9.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-1.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-10.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-11.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-12.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-2.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-3.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-4.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-5.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-6.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-7.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-8.c: Diito. - * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-9.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/abs-run.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/abs-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/popcount-1.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/popcount-2.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-run.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vfsqrt-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vneg-run.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vneg-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vneg-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vneg-zvfh-run.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vnot-run.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vnot-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/unop/vnot-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/v-1.c: Diito. - * gcc.target/riscv/rvv/autovec/v-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-11.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-7.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/pr110985.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-10.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-8.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-9.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/vls/pr110994.c: Diito. - * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c: Diito. - * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv64.c: Diito. - * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: Diito. - * gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c: Diito. - * gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: Diito. - * gcc.target/riscv/rvv/autovec/vreinterpet-fixed.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-run.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv32gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv64gcv.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-1.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-10.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-11.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-12.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-2.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-3.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-4.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-5.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-6.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-7.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-8.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-9.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-3.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-5.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-6.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc-1.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-1.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-2.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_reduc_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-4.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-7.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-8.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run-9.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-3.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-7.c: Diito. - * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-8.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f-3.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f_zvl1024b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f_zvl2048b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f_zvl256b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f_zvl4096b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32f_zvl512b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x-3.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x_zvl1024b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x_zvl2048b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x_zvl256b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x_zvl4096b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve32x_zvl512b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d-3.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d_zvl1024b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d_zvl2048b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d_zvl256b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d_zvl4096b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64d_zvl512b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f-3.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f_zvl1024b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f_zvl2048b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f_zvl256b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f_zvl4096b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64f_zvl512b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x-3.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x_zvl1024b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-2.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x_zvl2048b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x_zvl256b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x_zvl4096b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zve64x_zvl512b-1.c: Diito. - * gcc.target/riscv/rvv/autovec/zvfhmin-1.c: Diito. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: Diito. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: Diito. - * gcc.target/riscv/rvv/base/cpymem-1.c: Diito. - * gcc.target/riscv/rvv/base/cpymem-2.c: Diito. - * gcc.target/riscv/rvv/base/cpymem-strategy-3.c: Diito. - * gcc.target/riscv/rvv/base/cpymem-strategy-4.c: Diito. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-77.c: Diito. - * gcc.target/riscv/rvv/base/float-point-frm-autovec-1.c: Diito. - * gcc.target/riscv/rvv/base/float-point-frm-autovec-2.c: Diito. - * gcc.target/riscv/rvv/base/float-point-frm-autovec-3.c: Diito. - * gcc.target/riscv/rvv/base/float-point-frm-autovec-4.c: Diito. - * gcc.target/riscv/rvv/base/poly-selftest-1.c: Diito. - * gcc.target/riscv/rvv/base/pr110119-1.c: Diito. - * gcc.target/riscv/rvv/base/pr110119-2.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-0.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-1.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-10.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-2.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-3.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-4.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-5.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-6.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-7.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-8.c: Diito. - * gcc.target/riscv/rvv/base/pr111720-9.c: Diito. - * gcc.target/riscv/rvv/base/vf_avl-1.c: Diito. - * gcc.target/riscv/rvv/base/vf_avl-2.c: Diito. - * gcc.target/riscv/rvv/base/vf_avl-3.c: Diito. - * gcc.target/riscv/rvv/base/vf_avl-4.c: Diito. - * gcc.target/riscv/rvv/base/zvl-unimplemented-1.c: Diito. - * gcc.target/riscv/rvv/base/zvl-unimplemented-2.c: Diito. - * gcc.target/riscv/rvv/rvv.exp: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_multiple-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_prop-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_prop-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-100.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-101.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-102.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-103.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-104.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-105.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-106.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-108.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-109.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-18.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-19.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-20.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-21.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-22.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-24.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-25.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-26.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-28.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-29.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-31.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-32.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-33.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-34.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-35.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-36.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-37.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-39.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-40.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-42.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-43.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-45.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-49.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-52.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-53.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-54.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-55.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-56.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-57.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-58.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-59.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-60.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-61.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-62.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-63.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-64.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-72.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-73.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-75.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-76.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-77.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-78.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-79.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-80.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-81.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-82.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-83.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-85.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-86.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-87.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-88.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-90.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-91.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-92.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-93.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-94.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-96.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-97.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-98.c: Diito. - * gcc.target/riscv/rvv/vsetvl/avl_single-99.c: Diito. - * gcc.target/riscv/rvv/vsetvl/dump-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/ffload-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/ffload-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/ffload-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/ffload-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/ffload-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/ffload-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr108270.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109399.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109547.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109615.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109743-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109743-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109743-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109748.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109773-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr109974.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr111037-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr111037-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr111037-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr111234.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr111255.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr111927.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr111947.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr112092-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr112092-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr112713-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr112713-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr112776.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr112813-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr113248.c: Diito. - * gcc.target/riscv/rvv/vsetvl/pr113696.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-19.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-20.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-21.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-22.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-24.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl_int.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvl_pre-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-11.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-12.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-13.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-14.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-16.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-17.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-19.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-20.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-3.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-6.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-8.c: Diito. - * gcc.target/riscv/rvv/vsetvl/vsetvlmax-9.c: Diito. - * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: Diito. - * gcc.target/riscv/rvv/base/rvv-vector-bits-1.c: New test. - * gcc.target/riscv/rvv/base/rvv-vector-bits-2.c: New test. - * gcc.target/riscv/rvv/base/rvv-vector-bits-3.c: New test. - * gcc.target/riscv/rvv/base/rvv-vector-bits-4.c: New test. - * gcc.target/riscv/rvv/base/rvv-vector-bits-5.c: New test. - * gcc.target/riscv/rvv/base/rvv-vector-bits-6.c: New test. - -2024-03-01 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114156 - * gcc.dg/bitint-96.c: New test. - -2024-02-29 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/114159 - * c-c++-common/analyzer/call-summaries-pr114159.c: New test. - -2024-02-29 Georg-Johann Lay <avr@gjlay.de> - - PR target/114132 - * gcc.target/avr/pr114132-1.c: New test. - * gcc.target/avr/torture/pr114132-2.c: New test. - -2024-02-29 Marek Polacek <polacek@redhat.com> - - PR c++/113987 - * g++.dg/warn/Wuninitialized-15.C: Turn dg-warning into dg-bogus. - * g++.dg/warn/Wuninitialized-34.C: New test. - -2024-02-29 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/102344 - * gm2/pim/pass/TestLong4.mod: Rewrite. - * gm2/cpp/pass/testlong4.mod: New test. - -2024-02-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/108174 - * gcc.target/aarch64/acle/memtag_4.c: New test. - -2024-02-29 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/crc-sext.c: New test; - -2024-02-29 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/111710 - * g++.dg/modules/lambda-7.h: New test. - * g++.dg/modules/lambda-7_a.H: New test. - * g++.dg/modules/lambda-7_b.C: New test. - * g++.dg/modules/lambda-7_c.C: New test. - -2024-02-29 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/pr114130.c: New. - -2024-02-29 Alexander Westbrooks <alexanderw@gcc.gnu.org> - - PR fortran/82943 - PR fortran/86148 - PR fortran/86268 - * gfortran.dg/pdt_4.f03: Update modified error message. - * gfortran.dg/pdt_34.f03: New test. - * gfortran.dg/pdt_35.f03: New test. - * gfortran.dg/pdt_36.f03: New test. - * gfortran.dg/pdt_37.f03: New test. - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - Patrick Palka <ppalka@redhat.com> - - PR c++/113976 - * g++.dg/cpp1y/var-templ87.C: New test. - -2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> - - PR target/113453 - PR target/113453 - * gcc.target/bpf/btfext-funcinfo-nocore.c: Add. - * gcc.target/bpf/btfext-funcinfo.c: Add. - * gcc.target/bpf/core-attr-5.c: Fix regexp. - * gcc.target/bpf/core-attr-6.c: Fix regexp. - * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Fix regexp. - * gcc.target/bpf/core-section-1.c: Fix regexp. - -2024-02-28 Harald Anlauf <anlauf@gmx.de> - - * gfortran.dg/pr101026.f: Let variables used in specification - expression be passed as dummy arguments - -2024-02-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113831 - PR tree-optimization/108355 - * gcc.dg/tree-ssa/ssa-fre-104.c: XFAIL. - -2024-02-28 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114121 - * gcc.dg/torture/pr114121.c: New testcase. - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - - PR testsuite/111462 - * gcc.dg/tree-ssa/ssa-sink-18.c: XFAIL also on powerpc64. - -2024-02-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR tree-optimization/91567 - * gcc.dg/tree-ssa/builtin-snprintf-6.c (scan-tree-dump-times): - Treat i?86-*-* like x86_64-*-*. - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114075 - * gcc.dg/gomp/pr114075.c: New test. - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114041 - * gcc.dg/graphite/run-id-pr114041-1.c: New test. - * gcc.dg/graphite/run-id-pr114041-2.c: New test. - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113988 - * gcc.dg/bitint-91.c: New test. - -2024-02-28 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/c23-stdarg-6.c: New test. - -2024-02-28 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113970 - PR c++/114013 - * g++.dg/cpp1z/inline-var10.C: New test. - -2024-02-27 Uros Bizjak <ubizjak@gmail.com> - - PR target/113871 - * gcc.target/i386/pr113871-5a.c: New test. - * gcc.target/i386/pr113871-5b.c: New test. - -2024-02-27 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/opt104.ads, gnat.dg/opt104.adb: New test. - -2024-02-27 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/111881 - * c-c++-common/analyzer/conditionals-pr111881.c: New test. - -2024-02-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114074 - * gcc.dg/torture/pr114074.c: New testcase. - * gcc.dg/pr68317.c: Adjust expected location of diagnostic. - * gcc.dg/vect/vect-early-break_119-pr114068.c: Do not expect - loop to be vectorized. - -2024-02-27 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114044 - * gcc.dg/bitint-95.c: New test. - -2024-02-27 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114081 - * gcc.dg/vect/vect-early-break_121-pr114081.c: New testcase. - -2024-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR ipa/70582 - * gcc.dg/attr-weakref-1.c (dg-additional-options): Define - SOLARIS_X86_AS as appropriate. - (lv3, Wv3a, pv3a): Wrap in !SOLARIS_X86_AS. - (main): Likewise for chk (pv3a). - -2024-02-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/114012 - * gfortran.dg/pr114012.f90: New test. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - H.J. Lu <hjl.tools@gmail.com> - - PR rtl-optimization/113617 - * g++.dg/other/pr113617.C: New test. - * g++.dg/other/pr113617.h: New test. - * g++.dg/other/pr113617-aux.cc: New test. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - - PR c/114042 - * gcc.dg/builtin-stdc-bit-2.c: Adjust testcase for actual builtin - names rather than names of builtin replacements. - -2024-02-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114099 - * gcc.dg/vect/vect-early-break_120-pr114099.c: New testcase. - -2024-02-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114068 - * gcc.dg/vect/vect-early-break_118-pr114068.c: New testcase. - * gcc.dg/vect/vect-early-break_119-pr114068.c: Likewise. - -2024-02-26 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/access10.adb: New test. - -2024-02-26 H.J. Lu <hjl.tools@gmail.com> - - PR target/114097 - * gcc.target/i386/pr114097-1.c: New test. - -2024-02-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR ipa/61159 - * gcc.c-torture/compile/pr61159.c: xfail on Solaris/x86 with as. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114090 - * gcc.dg/pr114090.c: New test. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114084 - * gcc.dg/bitint-94.c: New test. - -2024-02-26 Richard Biener <rguenther@suse.de> - - PR middle-end/114070 - * gcc.dg/torture/pr114070.c: New testcase. - -2024-02-26 Jakub Jelinek <jakub@redhat.com> - - PR target/114094 - * gcc.target/i386/pr114094.c: New test. - -2024-02-26 H.J. Lu <hjl.tools@gmail.com> - - PR target/114098 - * gcc.target/i386/amxtile-4.c: New test. - -2024-02-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105456 - * gfortran.dg/pr105456.f90: New test. - -2024-02-24 Richard Sandiford <richard.sandiford@arm.com> - - PR tree-optimization/113205 - * gcc.dg/torture/pr113205.c: New test. - -2024-02-24 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/114073 - * gcc.dg/bitint-93.c: New test. - -2024-02-24 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.dg/rtl/aarch64/pr113295-1.c: Restrict to aarc64*-*-*. - -2024-02-23 Steve Kargl <kargl@gcc.gnu.org> - Harald Anlauf <anlauf@gmx.de> - - PR fortran/114024 - * gfortran.dg/allocate_with_source_27.f90: New test. - * gfortran.dg/allocate_with_source_28.f90: New test. - -2024-02-23 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/riscv/rvv/autovec/pr114028.c: New test. - -2024-02-23 Jakub Jelinek <jakub@redhat.com> - - PR c++/113083 - * g++.dg/cpp0x/constexpr-113083.C: New test. - -2024-02-23 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113613 - * gcc.target/aarch64/pr113613.c: New test. - -2024-02-23 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113295 - * gcc.target/aarch64/pr113295-2.c: New test. - -2024-02-23 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113295 - * gcc.dg/rtl/aarch64/pr113295-1.c: New test. - -2024-02-23 H.J. Lu <hjl.tools@gmail.com> - - * gcc.target/i386/apx-ndd-tls-1b.c: New test. - * lib/target-supports.exp - (check_effective_target_code_6_gottpoff_reloc): New. - -2024-02-23 Richard Earnshaw <rearnsha@arm.com> - - PR target/108120 - * gcc.target/arm/neon-recip-div-1.c: New file. - -2024-02-23 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/114054 - * gcc.dg/bitint-92.c: New test. - -2024-02-23 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114040 - * gcc.dg/torture/bitint-60.c: New test. - * gcc.dg/torture/bitint-61.c: New test. - -2024-02-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.dg/vect/vect-bic-bitmask-12.c: Move dg-skip-if down. - * gcc.dg/vect/vect-bic-bitmask-23.c: Likewise. - -2024-02-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.dg/plugin/crash-test-write-though-null-sarif.c - (scan-sarif-file): Allow for "Segmentation Fault", too. - -2024-02-22 Marek Polacek <polacek@redhat.com> - - * g++.dg/warn/Wmismatched-new-delete-8.C: Use __SIZE_TYPE__. - -2024-02-22 Jakub Jelinek <jakub@redhat.com> - - PR c/114007 - * gcc.dg/c23-attr-syntax-6.c: Adjust testcase for :: being valid - even in -std=c11 even without __extension__ and : : etc. not being - valid anymore even with __extension__. - * gcc.dg/c23-attr-syntax-7.c: Likewise. - * gcc.dg/c23-attr-syntax-8.c: New test. - -2024-02-22 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/109804 - * g++.dg/warn/Wmismatched-new-delete-8.C: New test. - -2024-02-22 Tamar Christina <tamar.christina@arm.com> - - PR target/112375 - * gcc.target/aarch64/vget_set_lane_1.c: Update test output. - -2024-02-22 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114055 - * gm2/pim/fail/forloopby.mod: New test. - * gm2/pim/pass/forloopby2.mod: New test. - -2024-02-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114048 - * gcc.dg/torture/pr114048.c: New testcase. - -2024-02-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/114027 - * gcc.dg/vect/pr114027.c: New testcase. - -2024-02-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113993 - * gcc.dg/tree-ssa/pr113993.c: New test. - -2024-02-22 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/114038 - * gcc.dg/torture/bitint-59.c: New test. - -2024-02-22 Kewen Lin <linkw@linux.ibm.com> - - PR target/109987 - * lib/target-supports.exp - (check_effective_target_powerpc_p8vector_ok): Remove. - (check_effective_target_powerpc_p9vector_ok): Remove. - (check_p8vector_hw_available): Replace -mpower8-vector with - -mcpu=power8. - (check_p9vector_hw_available): Replace -mpower9-vector with - -mcpu=power9. - (check_ppc_float128_hw_available): Likewise. - (check_vect_support_and_set_flags): Replace -mpower8-vector with - -mcpu=power8, replace -mpower9-vector with -mcpu=power9 or - nothing if check_power10_hw_available and place -mcpu=970 first - if needed to avoid possible overriding. - * g++.target/powerpc/altivec-19.C: Replace powerpc_p9vector_ok with - powerpc_vsx_ok and append -mvsx to dg-options. - * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-6.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise. - * gcc.target/powerpc/bfp/scalar-insert-exp-9.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-8.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-0.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-1.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-4.c: Likewise. - * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-exp-0.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-sig-0.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-sig-1.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise. - * gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-0.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-1.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-4.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-5.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise. - * gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-0.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-1.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise. - * gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise. - * gcc.target/powerpc/builtins-3-p9.c: Likewise. - * gcc.target/powerpc/byte-in-either-range-0.c: Likewise. - * gcc.target/powerpc/byte-in-either-range-1.c: Likewise. - * gcc.target/powerpc/byte-in-range-0.c: Likewise. - * gcc.target/powerpc/byte-in-range-1.c: Likewise. - * gcc.target/powerpc/byte-in-set-0.c: Likewise. - * gcc.target/powerpc/byte-in-set-1.c: Likewise. - * gcc.target/powerpc/byte-in-set-2.c: Likewise. - * gcc.target/powerpc/clone1.c: Likewise. - * gcc.target/powerpc/ctz-3.c: Likewise. - * gcc.target/powerpc/ctz-4.c: Likewise. - * gcc.target/powerpc/darn-0.c: Likewise. - * gcc.target/powerpc/darn-1.c: Likewise. - * gcc.target/powerpc/darn-2.c: Likewise. - * gcc.target/powerpc/dform-3.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-0.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-10.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-13.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-15.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-16.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-18.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-20.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-21.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-23.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-25.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-26.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-28.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-3.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-30.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-31.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-33.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-35.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-36.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-38.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-40.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-41.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-43.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-45.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-46.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-48.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-5.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-50.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-51.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-53.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-55.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-56.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-58.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-6.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-60.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-61.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-63.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-65.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-66.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-68.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-70.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-71.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-73.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-75.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-76.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-78.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-8.c: Likewise. - * gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise. - * gcc.target/powerpc/direct-move-vector.c: Likewise. - * gcc.target/powerpc/float128-type-2.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int-fwrapv.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-int.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-char.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-short.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-char.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-float.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-short.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-int128-p9.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-int.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-longlong.p9.c: Likewise. - * gcc.target/powerpc/p9-dimode1.c: Likewise. - * gcc.target/powerpc/p9-dimode2.c: Likewise. - * gcc.target/powerpc/p9-extract-1.c: Likewise. - * gcc.target/powerpc/p9-extract-2.c: Likewise. - * gcc.target/powerpc/p9-extract-3.c: Likewise. - * gcc.target/powerpc/p9-extract-4.c: Likewise. - * gcc.target/powerpc/p9-fpcvt-1.c: Likewise. - * gcc.target/powerpc/p9-fpcvt-2.c: Likewise. - * gcc.target/powerpc/p9-fpcvt-3.c: Likewise. - * gcc.target/powerpc/p9-lxvx-stxvx-1.c: Likewise. - * gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise. - * gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise. - * gcc.target/powerpc/p9-minmax-1.c: Likewise. - * gcc.target/powerpc/p9-minmax-2.c: Likewise. - * gcc.target/powerpc/p9-minmax-3.c: Likewise. - * gcc.target/powerpc/p9-novsx.c: Likewise. - * gcc.target/powerpc/p9-permute.c: Likewise. - * gcc.target/powerpc/p9-sign_extend-runnable.c: Likewise. - * gcc.target/powerpc/p9-splat-1.c: Likewise. - * gcc.target/powerpc/p9-splat-2.c: Likewise. - * gcc.target/powerpc/p9-splat-3.c: Likewise. - * gcc.target/powerpc/p9-splat-4.c: Likewise. - * gcc.target/powerpc/p9-splat-5.c: Likewise. - * gcc.target/powerpc/p9-vbpermd.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-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-vneg.c: Likewise. - * gcc.target/powerpc/p9-vparity.c: Likewise. - * gcc.target/powerpc/p9-vpermr.c: Likewise. - * gcc.target/powerpc/p9-xxbr-1.c: Likewise. - * gcc.target/powerpc/p9-xxbr-2.c: Likewise. - * gcc.target/powerpc/p9-xxbr-3.c: Likewise. - * gcc.target/powerpc/ppc-fortran/pr80108-1.f90: Likewise. - * gcc.target/powerpc/ppc-round3.c: Likewise. - * gcc.target/powerpc/pr103124.c: Likewise. - * gcc.target/powerpc/pr104015-1.c: Likewise. - * gcc.target/powerpc/pr106769-p9.c: Likewise. - * gcc.target/powerpc/pr107412.c: Likewise. - * gcc.target/powerpc/pr110429.c: Likewise. - * gcc.target/powerpc/pr66144-1.c: Likewise. - * gcc.target/powerpc/pr71186.c: Likewise. - * gcc.target/powerpc/pr71309.c: Likewise. - * gcc.target/powerpc/pr71670.c: Likewise. - * gcc.target/powerpc/pr71698.c: Likewise. - * gcc.target/powerpc/pr71720.c: Likewise. - * gcc.target/powerpc/pr72853.c: Likewise. - * gcc.target/powerpc/pr78056-1.c: Likewise. - * gcc.target/powerpc/pr78658.c: Likewise. - * gcc.target/powerpc/pr78953.c: Likewise. - * gcc.target/powerpc/pr79004.c: Likewise. - * gcc.target/powerpc/pr79038-1.c: Likewise. - * gcc.target/powerpc/pr79179.c: Likewise. - * gcc.target/powerpc/pr79251.p9.c: Likewise. - * gcc.target/powerpc/pr79799-1.c: Likewise. - * gcc.target/powerpc/pr79799-2.c: Likewise. - * gcc.target/powerpc/pr79799-3.c: Likewise. - * gcc.target/powerpc/pr79799-5.c: Likewise. - * gcc.target/powerpc/pr80695-p9.c: Likewise. - * gcc.target/powerpc/pr81348.c: Likewise. - * gcc.target/powerpc/pr81622.c: Likewise. - * gcc.target/powerpc/pr84154-3.c: Likewise. - * gcc.target/powerpc/pr90763.c: Likewise. - * gcc.target/powerpc/pr96933-1.c: Likewise. - * gcc.target/powerpc/sad-vectorize-1.c: Likewise. - * gcc.target/powerpc/sad-vectorize-2.c: Likewise. - * gcc.target/powerpc/signbit-2.c: Likewise. - * gcc.target/powerpc/vadsdu-0.c: Likewise. - * gcc.target/powerpc/vadsdu-1.c: Likewise. - * gcc.target/powerpc/vadsdu-2.c: Likewise. - * gcc.target/powerpc/vadsdu-3.c: Likewise. - * gcc.target/powerpc/vadsdu-4.c: Likewise. - * gcc.target/powerpc/vadsdu-5.c: Likewise. - * gcc.target/powerpc/vadsdub-1.c: Likewise. - * gcc.target/powerpc/vadsdub-2.c: Likewise. - * gcc.target/powerpc/vadsduh-1.c: Likewise. - * gcc.target/powerpc/vadsduh-2.c: Likewise. - * gcc.target/powerpc/vadsduw-1.c: Likewise. - * gcc.target/powerpc/vadsduw-2.c: Likewise. - * gcc.target/powerpc/vec-extract-4.c: Likewise. - * gcc.target/powerpc/vec-init-3.c: Likewise. - * gcc.target/powerpc/vec-minmax-1.c: Likewise. - * gcc.target/powerpc/vec-minmax-2.c: Likewise. - * gcc.target/powerpc/vec-set-char.c: Likewise. - * gcc.target/powerpc/vec-set-int.c: Likewise. - * gcc.target/powerpc/vec-set-short.c: Likewise. - * gcc.target/powerpc/vec_reve_2.c: Likewise. - * gcc.target/powerpc/vector_float.c: Likewise. - * gcc.target/powerpc/vslv-0.c: Likewise. - * gcc.target/powerpc/vslv-1.c: Likewise. - * gcc.target/powerpc/vsrv-0.c: Likewise. - * gcc.target/powerpc/vsrv-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-10.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-11.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-12.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-ne-9.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-11.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-12.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpne-9.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-10.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-11.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-12.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-xl-len-9.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-xlx-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-xrx-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-0.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-1.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-10.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-11.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-2.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-3.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-4.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-5.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-6.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-7.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-8.c: Likewise. - * gcc.target/powerpc/vsu/vec-xst-len-9.c: Likewise. - * gcc.target/powerpc/vsx-builtin-msum.c: Likewise. - * gcc.target/powerpc/vsx-himode.c: Likewise. - * gcc.target/powerpc/vsx-himode2.c: Likewise. - * gcc.target/powerpc/vsx-himode3.c: Likewise. - * gcc.target/powerpc/vsx-qimode.c: Likewise. - * gcc.target/powerpc/vsx-qimode2.c: Likewise. - * gcc.target/powerpc/vsx-qimode3.c: Likewise. - * g++.target/powerpc/pr65240-1.C: Replace powerpc_p8vector_ok with - powerpc_vsx_ok and append -mvsx to dg-options. - * g++.target/powerpc/pr65240-2.C: Likewise. - * g++.target/powerpc/pr65240-3.C: Likewise. - * g++.target/powerpc/pr65242.C: Likewise. - * g++.target/powerpc/pr67211.C: Likewise. - * g++.target/powerpc/pr71294.C: Likewise. - * g++.target/powerpc/pr84279.C: Likewise. - * g++.target/powerpc/pr93974.C: Likewise. - * gcc.target/powerpc/atomic-p8.c: Likewise. - * gcc.target/powerpc/atomic_load_store-p8.c: Likewise. - * gcc.target/powerpc/bcd-2.c: Likewise. - * gcc.target/powerpc/bcd-3.c: Likewise. - * gcc.target/powerpc/bool2-p8.c: Likewise. - * gcc.target/powerpc/bool3-p8.c: Likewise. - * gcc.target/powerpc/builtins-1.c: Likewise. - * gcc.target/powerpc/builtins-3-p8.c: Likewise. - * gcc.target/powerpc/builtins-5.c: Likewise. - * gcc.target/powerpc/builtins-9.c: Likewise. - * gcc.target/powerpc/crypto-builtin-1.c: Likewise. - * gcc.target/powerpc/crypto-builtin-2.c: Likewise. - * gcc.target/powerpc/direct-move-double1.c: Likewise. - * gcc.target/powerpc/direct-move-float1.c: Likewise. - * gcc.target/powerpc/direct-move-long1.c: Likewise. - * gcc.target/powerpc/direct-move-vint1.c: Likewise. - * gcc.target/powerpc/float128-type-1.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-char.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-double.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-float.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-char-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-char.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-int.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-short.c: Likewise. - * gcc.target/powerpc/fold-vec-select-double.c: Likewise. - * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c: Likewise. - * gcc.target/powerpc/fusion.c: Likewise. - * gcc.target/powerpc/fusion2.c: Likewise. - * gcc.target/powerpc/mul-vectorize-1.c: Likewise. - * gcc.target/powerpc/p8-vec-xl-xst-v2.c: Likewise. - * gcc.target/powerpc/p8-vec-xl-xst.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-1.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-2.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-3.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-4.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-5.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-6.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-7.c: Likewise. - * gcc.target/powerpc/p8vector-fp.c: Likewise. - * gcc.target/powerpc/p8vector-int128-1.c: Likewise. - * gcc.target/powerpc/p8vector-ldst.c: Likewise. - * gcc.target/powerpc/p8vector-vbpermq.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-1.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-2.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-3.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-4.c: Likewise. - * gcc.target/powerpc/p8vector-vectorize-5.c: Likewise. - * gcc.target/powerpc/ppc-round2.c: Likewise. - * gcc.target/powerpc/pr100866-1.c: Likewise. - * gcc.target/powerpc/pr100866-2.c: Likewise. - * gcc.target/powerpc/pr104239-1.c: Likewise. - * gcc.target/powerpc/pr104239-2.c: Likewise. - * gcc.target/powerpc/pr104239-3.c: Likewise. - * gcc.target/powerpc/pr106769-p8.c: Likewise. - * gcc.target/powerpc/pr108396.c: Likewise. - * gcc.target/powerpc/pr111449-1.c: Likewise. - * gcc.target/powerpc/pr57744.c: Likewise. - * gcc.target/powerpc/pr58673-1.c: Likewise. - * gcc.target/powerpc/pr58673-2.c: Likewise. - * gcc.target/powerpc/pr60137.c: Likewise. - * gcc.target/powerpc/pr60203.c: Likewise. - * gcc.target/powerpc/pr66144-2.c: Likewise. - * gcc.target/powerpc/pr66144-3.c: Likewise. - * gcc.target/powerpc/pr68163.c: Likewise. - * gcc.target/powerpc/pr69548.c: Likewise. - * gcc.target/powerpc/pr70669.c: Likewise. - * gcc.target/powerpc/pr71977-1.c: Likewise. - * gcc.target/powerpc/pr71977-2.c: Likewise. - * gcc.target/powerpc/pr72717.c: Likewise. - * gcc.target/powerpc/pr78056-3.c: Likewise. - * gcc.target/powerpc/pr78056-4.c: Likewise. - * gcc.target/powerpc/pr78102.c: Likewise. - * gcc.target/powerpc/pr78543.c: Likewise. - * gcc.target/powerpc/pr78604.c: Likewise. - * gcc.target/powerpc/pr79251.p8.c: Likewise. - * gcc.target/powerpc/pr79354.c: Likewise. - * gcc.target/powerpc/pr79544.c: Likewise. - * gcc.target/powerpc/pr79907.c: Likewise. - * gcc.target/powerpc/pr79951.c: Likewise. - * gcc.target/powerpc/pr80315-1.c: Likewise. - * gcc.target/powerpc/pr80315-2.c: Likewise. - * gcc.target/powerpc/pr80315-3.c: Likewise. - * gcc.target/powerpc/pr80315-4.c: Likewise. - * gcc.target/powerpc/pr80510-2.c: Likewise. - * gcc.target/powerpc/pr80695-p8.c: Likewise. - * gcc.target/powerpc/pr80718.c: Likewise. - * gcc.target/powerpc/pr84154-2.c: Likewise. - * gcc.target/powerpc/pr88558-p8.c: Likewise. - * gcc.target/powerpc/pr88845.c: Likewise. - * gcc.target/powerpc/pr91903.c: Likewise. - * gcc.target/powerpc/pr92923-2.c: Likewise. - * gcc.target/powerpc/pr96933-2.c: Likewise. - * gcc.target/powerpc/pr97019.c: Likewise. - * gcc.target/powerpc/pragma_power8.c: Likewise. - * gcc.target/powerpc/signbit-1.c: Likewise. - * gcc.target/powerpc/swaps-p8-1.c: Likewise. - * gcc.target/powerpc/swaps-p8-12.c: Likewise. - * gcc.target/powerpc/swaps-p8-14.c: Likewise. - * gcc.target/powerpc/swaps-p8-15.c: Likewise. - * gcc.target/powerpc/swaps-p8-16.c: Likewise. - * gcc.target/powerpc/swaps-p8-17.c: Likewise. - * gcc.target/powerpc/swaps-p8-18.c: Likewise. - * gcc.target/powerpc/swaps-p8-19.c: Likewise. - * gcc.target/powerpc/swaps-p8-2.c: Likewise. - * gcc.target/powerpc/swaps-p8-22.c: Likewise. - * gcc.target/powerpc/swaps-p8-23.c: Likewise. - * gcc.target/powerpc/swaps-p8-24.c: Likewise. - * gcc.target/powerpc/swaps-p8-25.c: Likewise. - * gcc.target/powerpc/swaps-p8-26.c: Likewise. - * gcc.target/powerpc/swaps-p8-27.c: Likewise. - * gcc.target/powerpc/swaps-p8-3.c: Likewise. - * gcc.target/powerpc/swaps-p8-30.c: Likewise. - * gcc.target/powerpc/swaps-p8-33.c: Likewise. - * gcc.target/powerpc/swaps-p8-36.c: Likewise. - * gcc.target/powerpc/swaps-p8-39.c: Likewise. - * gcc.target/powerpc/swaps-p8-4.c: Likewise. - * gcc.target/powerpc/swaps-p8-42.c: Likewise. - * gcc.target/powerpc/swaps-p8-45.c: Likewise. - * gcc.target/powerpc/swaps-p8-46.c: Likewise. - * gcc.target/powerpc/swaps-p8-5.c: Likewise. - * gcc.target/powerpc/unpack-vectorize-3.c: Likewise. - * gcc.target/powerpc/upper-regs-sf.c: Likewise. - * gcc.target/powerpc/vec-cmp.c: Likewise. - * gcc.target/powerpc/vec-extract-1.c: Likewise. - * gcc.target/powerpc/vec-extract-3.c: Likewise. - * gcc.target/powerpc/vec-extract-5.c: Likewise. - * gcc.target/powerpc/vec-extract-6.c: Likewise. - * gcc.target/powerpc/vec-extract-7.c: Likewise. - * gcc.target/powerpc/vec-extract-8.c: Likewise. - * gcc.target/powerpc/vec-extract-9.c: Likewise. - * gcc.target/powerpc/vec-init-10.c: Likewise. - * gcc.target/powerpc/vec-init-6.c: Likewise. - * gcc.target/powerpc/vec-init-7.c: Likewise. - * gcc.target/powerpc/vsx-extract-3.c: Likewise. - * gcc.target/powerpc/vsx-extract-4.c: Likewise. - * gcc.target/powerpc/vsx-extract-5.c: Likewise. - * gcc.target/powerpc/vsx-simode.c: Likewise. - * gcc.target/powerpc/vsx-simode2.c: Likewise. - * gcc.target/powerpc/vsx-simode3.c: Likewise. - * gcc.target/powerpc/builtins-4-int128-runnable.c: Replace - powerpc_p8vector_ok with powerpc_vsx_ok, replace -mpower8-vector - with -mvsx, and add dg-additional-options -mdejagnu-cpu=power8 - if !has_arch_pwr8. - * gcc.target/powerpc/builtins-mergew-mergow.c: Likewise. - * gcc.target/powerpc/direct-move-float3.c: Likewise. - * gcc.target/powerpc/divkc3-2.c: Likewise. - * gcc.target/powerpc/divkc3-3.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-add-4.c: Likewise. - * gcc.target/powerpc/fold-vec-add-7.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-int.h: Likewise. - * gcc.target/powerpc/fold-vec-cmp-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-short.h: Likewise. - * gcc.target/powerpc/fold-vec-cntlz-char.c: Likewise. - * gcc.target/powerpc/fold-vec-cntlz-int.c: Likewise. - * gcc.target/powerpc/fold-vec-cntlz-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-cntlz-short.c: Likewise. - * gcc.target/powerpc/fold-vec-ld-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-char.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-float.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-int.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-eqv-short.c: Likewise. - * gcc.target/powerpc/fold-vec-logical-ors-longlong.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. - * gcc.target/powerpc/fold-vec-mergehl-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-minmax-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-int.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-int.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-longlong.h: Likewise. - * gcc.target/powerpc/fold-vec-pack-double.c: Likewise. - * gcc.target/powerpc/fold-vec-pack-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-left-longlong-fwrapv.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-left-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-shift-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-st-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-int128.c: Likewise. - * gcc.target/powerpc/fold-vec-sub-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-unpack-float.c: Likewise. - * gcc.target/powerpc/fold-vec-unpack-int.c: Likewise. - * gcc.target/powerpc/mmx-packs.c: Likewise. - * gcc.target/powerpc/mmx-packssdw-1.c: Likewise. - * gcc.target/powerpc/mmx-packsswb-1.c: Likewise. - * gcc.target/powerpc/mmx-packuswb-1.c: Likewise. - * gcc.target/powerpc/mmx-paddb-1.c: Likewise. - * gcc.target/powerpc/mmx-paddd-1.c: Likewise. - * gcc.target/powerpc/mmx-paddsb-1.c: Likewise. - * gcc.target/powerpc/mmx-paddsw-1.c: Likewise. - * gcc.target/powerpc/mmx-paddusb-1.c: Likewise. - * gcc.target/powerpc/mmx-paddusw-1.c: Likewise. - * gcc.target/powerpc/mmx-paddw-1.c: Likewise. - * gcc.target/powerpc/mmx-pcmpeqb-1.c: Likewise. - * gcc.target/powerpc/mmx-pcmpeqd-1.c: Likewise. - * gcc.target/powerpc/mmx-pcmpeqw-1.c: Likewise. - * gcc.target/powerpc/mmx-pcmpgtb-1.c: Likewise. - * gcc.target/powerpc/mmx-pcmpgtd-1.c: Likewise. - * gcc.target/powerpc/mmx-pcmpgtw-1.c: Likewise. - * gcc.target/powerpc/mmx-pmaddwd-1.c: Likewise. - * gcc.target/powerpc/mmx-pmulhw-1.c: Likewise. - * gcc.target/powerpc/mmx-pmullw-1.c: Likewise. - * gcc.target/powerpc/mmx-pslld-1.c: Likewise. - * gcc.target/powerpc/mmx-psllw-1.c: Likewise. - * gcc.target/powerpc/mmx-psrad-1.c: Likewise. - * gcc.target/powerpc/mmx-psraw-1.c: Likewise. - * gcc.target/powerpc/mmx-psrld-1.c: Likewise. - * gcc.target/powerpc/mmx-psrlw-1.c: Likewise. - * gcc.target/powerpc/mmx-psubb-2.c: Likewise. - * gcc.target/powerpc/mmx-psubd-2.c: Likewise. - * gcc.target/powerpc/mmx-psubsb-1.c: Likewise. - * gcc.target/powerpc/mmx-psubsw-1.c: Likewise. - * gcc.target/powerpc/mmx-psubusb-1.c: Likewise. - * gcc.target/powerpc/mmx-psubusw-1.c: Likewise. - * gcc.target/powerpc/mmx-psubw-2.c: Likewise. - * gcc.target/powerpc/mmx-punpckhbw-1.c: Likewise. - * gcc.target/powerpc/mmx-punpckhdq-1.c: Likewise. - * gcc.target/powerpc/mmx-punpckhwd-1.c: Likewise. - * gcc.target/powerpc/mmx-punpcklbw-1.c: Likewise. - * gcc.target/powerpc/mmx-punpckldq-1.c: Likewise. - * gcc.target/powerpc/mmx-punpcklwd-1.c: Likewise. - * gcc.target/powerpc/mulkc3-2.c: Likewise. - * gcc.target/powerpc/mulkc3-3.c: Likewise. - * gcc.target/powerpc/p8vector-builtin-8.c: Likewise. - * gcc.target/powerpc/pr37191.c: Likewise. - * gcc.target/powerpc/pr83862.c: Likewise. - * gcc.target/powerpc/pr84154-1.c: Likewise. - * gcc.target/powerpc/pr84220-sld2.c: Likewise. - * gcc.target/powerpc/pr85456.c: Likewise. - * gcc.target/powerpc/pr86731-longlong.c: Likewise. - * gcc.target/powerpc/sse-addps-1.c: Likewise. - * gcc.target/powerpc/sse-addss-1.c: Likewise. - * gcc.target/powerpc/sse-andnps-1.c: Likewise. - * gcc.target/powerpc/sse-andps-1.c: Likewise. - * gcc.target/powerpc/sse-cmpss-1.c: Likewise. - * gcc.target/powerpc/sse-cvtpi16ps-1.c: Likewise. - * gcc.target/powerpc/sse-cvtpi32ps-1.c: Likewise. - * gcc.target/powerpc/sse-cvtpi32x2ps-1.c: Likewise. - * gcc.target/powerpc/sse-cvtpi8ps-1.c: Likewise. - * gcc.target/powerpc/sse-cvtpspi16-1.c: Likewise. - * gcc.target/powerpc/sse-cvtpspi8-1.c: Likewise. - * gcc.target/powerpc/sse-cvtpu16ps-1.c: Likewise. - * gcc.target/powerpc/sse-cvtpu8ps-1.c: Likewise. - * gcc.target/powerpc/sse-cvtsi2ss-1.c: Likewise. - * gcc.target/powerpc/sse-cvtsi2ss-2.c: Likewise. - * gcc.target/powerpc/sse-cvtss2si-1.c: Likewise. - * gcc.target/powerpc/sse-cvtss2si-2.c: Likewise. - * gcc.target/powerpc/sse-cvttss2si-1.c: Likewise. - * gcc.target/powerpc/sse-cvttss2si-2.c: Likewise. - * gcc.target/powerpc/sse-divps-1.c: Likewise. - * gcc.target/powerpc/sse-divss-1.c: Likewise. - * gcc.target/powerpc/sse-maxps-1.c: Likewise. - * gcc.target/powerpc/sse-maxps-2.c: Likewise. - * gcc.target/powerpc/sse-maxss-1.c: Likewise. - * gcc.target/powerpc/sse-minps-1.c: Likewise. - * gcc.target/powerpc/sse-minps-2.c: Likewise. - * gcc.target/powerpc/sse-minss-1.c: Likewise. - * gcc.target/powerpc/sse-movaps-1.c: Likewise. - * gcc.target/powerpc/sse-movaps-2.c: Likewise. - * gcc.target/powerpc/sse-movhlps-1.c: Likewise. - * gcc.target/powerpc/sse-movhps-1.c: Likewise. - * gcc.target/powerpc/sse-movhps-2.c: Likewise. - * gcc.target/powerpc/sse-movlhps-1.c: Likewise. - * gcc.target/powerpc/sse-movlps-1.c: Likewise. - * gcc.target/powerpc/sse-movlps-2.c: Likewise. - * gcc.target/powerpc/sse-movmskb-1.c: Likewise. - * gcc.target/powerpc/sse-movmskps-1.c: Likewise. - * gcc.target/powerpc/sse-movss-1.c: Likewise. - * gcc.target/powerpc/sse-movss-2.c: Likewise. - * gcc.target/powerpc/sse-movss-3.c: Likewise. - * gcc.target/powerpc/sse-mulps-1.c: Likewise. - * gcc.target/powerpc/sse-mulss-1.c: Likewise. - * gcc.target/powerpc/sse-orps-1.c: Likewise. - * gcc.target/powerpc/sse-pavgw-1.c: Likewise. - * gcc.target/powerpc/sse-pmaxsw-1.c: Likewise. - * gcc.target/powerpc/sse-pmaxub-1.c: Likewise. - * gcc.target/powerpc/sse-pminsw-1.c: Likewise. - * gcc.target/powerpc/sse-pminub-1.c: Likewise. - * gcc.target/powerpc/sse-pmulhuw-1.c: Likewise. - * gcc.target/powerpc/sse-psadbw-1.c: Likewise. - * gcc.target/powerpc/sse-rcpps-1.c: Likewise. - * gcc.target/powerpc/sse-rsqrtps-1.c: Likewise. - * gcc.target/powerpc/sse-shufps-1.c: Likewise. - * gcc.target/powerpc/sse-sqrtps-1.c: Likewise. - * gcc.target/powerpc/sse-subps-1.c: Likewise. - * gcc.target/powerpc/sse-subss-1.c: Likewise. - * gcc.target/powerpc/sse-ucomiss-1.c: Likewise. - * gcc.target/powerpc/sse-ucomiss-2.c: Likewise. - * gcc.target/powerpc/sse-ucomiss-3.c: Likewise. - * gcc.target/powerpc/sse-ucomiss-4.c: Likewise. - * gcc.target/powerpc/sse-ucomiss-5.c: Likewise. - * gcc.target/powerpc/sse-ucomiss-6.c: Likewise. - * gcc.target/powerpc/sse-unpckhps-1.c: Likewise. - * gcc.target/powerpc/sse-unpcklps-1.c: Likewise. - * gcc.target/powerpc/sse-xorps-1.c: Likewise. - * gcc.target/powerpc/sse2-addpd-1.c: Likewise. - * gcc.target/powerpc/sse2-addsd-1.c: Likewise. - * gcc.target/powerpc/sse2-andnpd-1.c: Likewise. - * gcc.target/powerpc/sse2-andpd-1.c: Likewise. - * gcc.target/powerpc/sse2-cmppd-1.c: Likewise. - * gcc.target/powerpc/sse2-cmpsd-1.c: Likewise. - * gcc.target/powerpc/sse2-comisd-1.c: Likewise. - * gcc.target/powerpc/sse2-comisd-2.c: Likewise. - * gcc.target/powerpc/sse2-comisd-3.c: Likewise. - * gcc.target/powerpc/sse2-comisd-4.c: Likewise. - * gcc.target/powerpc/sse2-comisd-5.c: Likewise. - * gcc.target/powerpc/sse2-comisd-6.c: Likewise. - * gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtdq2ps-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise. - * gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtsi2sd-1.c: Likewise. - * gcc.target/powerpc/sse2-cvtsi2sd-2.c: Likewise. - * gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise. - * gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise. - * gcc.target/powerpc/sse2-cvttps2dq-1.c: Likewise. - * gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise. - * gcc.target/powerpc/sse2-cvttsd2si-2.c: Likewise. - * gcc.target/powerpc/sse2-divpd-1.c: Likewise. - * gcc.target/powerpc/sse2-divsd-1.c: Likewise. - * gcc.target/powerpc/sse2-maxpd-1.c: Likewise. - * gcc.target/powerpc/sse2-maxsd-1.c: Likewise. - * gcc.target/powerpc/sse2-minpd-1.c: Likewise. - * gcc.target/powerpc/sse2-minsd-1.c: Likewise. - * gcc.target/powerpc/sse2-mmx.c: Likewise. - * gcc.target/powerpc/sse2-movhpd-1.c: Likewise. - * gcc.target/powerpc/sse2-movhpd-2.c: Likewise. - * gcc.target/powerpc/sse2-movlpd-1.c: Likewise. - * gcc.target/powerpc/sse2-movlpd-2.c: Likewise. - * gcc.target/powerpc/sse2-movmskpd-1.c: Likewise. - * gcc.target/powerpc/sse2-movq-1.c: Likewise. - * gcc.target/powerpc/sse2-movq-2.c: Likewise. - * gcc.target/powerpc/sse2-movq-3.c: Likewise. - * gcc.target/powerpc/sse2-movsd-1.c: Likewise. - * gcc.target/powerpc/sse2-movsd-2.c: Likewise. - * gcc.target/powerpc/sse2-movsd-3.c: Likewise. - * gcc.target/powerpc/sse2-mulpd-1.c: Likewise. - * gcc.target/powerpc/sse2-mulsd-1.c: Likewise. - * gcc.target/powerpc/sse2-orpd-1.c: Likewise. - * gcc.target/powerpc/sse2-packssdw-1.c: Likewise. - * gcc.target/powerpc/sse2-packsswb-1.c: Likewise. - * gcc.target/powerpc/sse2-packuswb-1.c: Likewise. - * gcc.target/powerpc/sse2-paddb-1.c: Likewise. - * gcc.target/powerpc/sse2-paddd-1.c: Likewise. - * gcc.target/powerpc/sse2-paddq-1.c: Likewise. - * gcc.target/powerpc/sse2-paddsb-1.c: Likewise. - * gcc.target/powerpc/sse2-paddsw-1.c: Likewise. - * gcc.target/powerpc/sse2-paddusb-1.c: Likewise. - * gcc.target/powerpc/sse2-paddusw-1.c: Likewise. - * gcc.target/powerpc/sse2-paddw-1.c: Likewise. - * gcc.target/powerpc/sse2-pand-1.c: Likewise. - * gcc.target/powerpc/sse2-pandn-1.c: Likewise. - * gcc.target/powerpc/sse2-pavgb-1.c: Likewise. - * gcc.target/powerpc/sse2-pavgw-1.c: Likewise. - * gcc.target/powerpc/sse2-pcmpeqb-1.c: Likewise. - * gcc.target/powerpc/sse2-pcmpeqd-1.c: Likewise. - * gcc.target/powerpc/sse2-pcmpeqw-1.c: Likewise. - * gcc.target/powerpc/sse2-pcmpgtb-1.c: Likewise. - * gcc.target/powerpc/sse2-pcmpgtd-1.c: Likewise. - * gcc.target/powerpc/sse2-pcmpgtw-1.c: Likewise. - * gcc.target/powerpc/sse2-pextrw.c: Likewise. - * gcc.target/powerpc/sse2-pinsrw.c: Likewise. - * gcc.target/powerpc/sse2-pmaddwd-1.c: Likewise. - * gcc.target/powerpc/sse2-pmaxsw-1.c: Likewise. - * gcc.target/powerpc/sse2-pmaxub-1.c: Likewise. - * gcc.target/powerpc/sse2-pminsw-1.c: Likewise. - * gcc.target/powerpc/sse2-pminub-1.c: Likewise. - * gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise. - * gcc.target/powerpc/sse2-pmulhuw-1.c: Likewise. - * gcc.target/powerpc/sse2-pmulhw-1.c: Likewise. - * gcc.target/powerpc/sse2-pmullw-1.c: Likewise. - * gcc.target/powerpc/sse2-pmuludq-1.c: Likewise. - * gcc.target/powerpc/sse2-por-1.c: Likewise. - * gcc.target/powerpc/sse2-psadbw-1.c: Likewise. - * gcc.target/powerpc/sse2-pshufd-1.c: Likewise. - * gcc.target/powerpc/sse2-pshufhw-1.c: Likewise. - * gcc.target/powerpc/sse2-pshuflw-1.c: Likewise. - * gcc.target/powerpc/sse2-pslld-1.c: Likewise. - * gcc.target/powerpc/sse2-pslld-2.c: Likewise. - * gcc.target/powerpc/sse2-pslldq-1.c: Likewise. - * gcc.target/powerpc/sse2-psllq-1.c: Likewise. - * gcc.target/powerpc/sse2-psllq-2.c: Likewise. - * gcc.target/powerpc/sse2-psllw-1.c: Likewise. - * gcc.target/powerpc/sse2-psllw-2.c: Likewise. - * gcc.target/powerpc/sse2-psrad-1.c: Likewise. - * gcc.target/powerpc/sse2-psrad-2.c: Likewise. - * gcc.target/powerpc/sse2-psraw-1.c: Likewise. - * gcc.target/powerpc/sse2-psraw-2.c: Likewise. - * gcc.target/powerpc/sse2-psrld-1.c: Likewise. - * gcc.target/powerpc/sse2-psrld-2.c: Likewise. - * gcc.target/powerpc/sse2-psrldq-1.c: Likewise. - * gcc.target/powerpc/sse2-psrlq-1.c: Likewise. - * gcc.target/powerpc/sse2-psrlq-2.c: Likewise. - * gcc.target/powerpc/sse2-psrlw-1.c: Likewise. - * gcc.target/powerpc/sse2-psrlw-2.c: Likewise. - * gcc.target/powerpc/sse2-psubb-1.c: Likewise. - * gcc.target/powerpc/sse2-psubd-1.c: Likewise. - * gcc.target/powerpc/sse2-psubq-1.c: Likewise. - * gcc.target/powerpc/sse2-psubsb-1.c: Likewise. - * gcc.target/powerpc/sse2-psubsw-1.c: Likewise. - * gcc.target/powerpc/sse2-psubusb-1.c: Likewise. - * gcc.target/powerpc/sse2-psubusw-1.c: Likewise. - * gcc.target/powerpc/sse2-psubw-1.c: Likewise. - * gcc.target/powerpc/sse2-punpckhbw-1.c: Likewise. - * gcc.target/powerpc/sse2-punpckhdq-1.c: Likewise. - * gcc.target/powerpc/sse2-punpckhqdq-1.c: Likewise. - * gcc.target/powerpc/sse2-punpckhwd-1.c: Likewise. - * gcc.target/powerpc/sse2-punpcklbw-1.c: Likewise. - * gcc.target/powerpc/sse2-punpckldq-1.c: Likewise. - * gcc.target/powerpc/sse2-punpcklqdq-1.c: Likewise. - * gcc.target/powerpc/sse2-punpcklwd-1.c: Likewise. - * gcc.target/powerpc/sse2-pxor-1.c: Likewise. - * gcc.target/powerpc/sse2-shufpd-1.c: Likewise. - * gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise. - * gcc.target/powerpc/sse2-subpd-1.c: Likewise. - * gcc.target/powerpc/sse2-subsd-1.c: Likewise. - * gcc.target/powerpc/sse2-ucomisd-1.c: Likewise. - * gcc.target/powerpc/sse2-ucomisd-2.c: Likewise. - * gcc.target/powerpc/sse2-ucomisd-3.c: Likewise. - * gcc.target/powerpc/sse2-ucomisd-4.c: Likewise. - * gcc.target/powerpc/sse2-ucomisd-5.c: Likewise. - * gcc.target/powerpc/sse2-ucomisd-6.c: Likewise. - * gcc.target/powerpc/sse2-unpckhpd-1.c: Likewise. - * gcc.target/powerpc/sse2-unpcklpd-1.c: Likewise. - * gcc.target/powerpc/sse2-xorpd-1.c: Likewise. - * gcc.target/powerpc/sse3-addsubpd.c: Likewise. - * gcc.target/powerpc/sse3-addsubps.c: Likewise. - * gcc.target/powerpc/sse3-haddpd.c: Likewise. - * gcc.target/powerpc/sse3-haddps.c: Likewise. - * gcc.target/powerpc/sse3-hsubpd.c: Likewise. - * gcc.target/powerpc/sse3-hsubps.c: Likewise. - * gcc.target/powerpc/sse3-lddqu.c: Likewise. - * gcc.target/powerpc/sse3-movddup.c: Likewise. - * gcc.target/powerpc/sse3-movshdup.c: Likewise. - * gcc.target/powerpc/sse3-movsldup.c: Likewise. - * gcc.target/powerpc/sse4_1-blendpd.c: Likewise. - * gcc.target/powerpc/sse4_1-blendps-2.c: Likewise. - * gcc.target/powerpc/sse4_1-blendps.c: Likewise. - * gcc.target/powerpc/sse4_1-blendvpd.c: Likewise. - * gcc.target/powerpc/sse4_1-blendvps.c: Likewise. - * gcc.target/powerpc/sse4_1-ceilpd.c: Likewise. - * gcc.target/powerpc/sse4_1-ceilps.c: Likewise. - * gcc.target/powerpc/sse4_1-ceilsd.c: Likewise. - * gcc.target/powerpc/sse4_1-ceilss.c: Likewise. - * gcc.target/powerpc/sse4_1-floorpd.c: Likewise. - * gcc.target/powerpc/sse4_1-floorps.c: Likewise. - * gcc.target/powerpc/sse4_1-floorsd.c: Likewise. - * gcc.target/powerpc/sse4_1-floorss.c: Likewise. - * gcc.target/powerpc/sse4_1-pblendvb.c: Likewise. - * gcc.target/powerpc/sse4_1-pblendw-2.c: Likewise. - * gcc.target/powerpc/sse4_1-pblendw.c: Likewise. - * gcc.target/powerpc/sse4_1-pcmpeqq.c: Likewise. - * gcc.target/powerpc/sse4_1-pinsrb.c: Likewise. - * gcc.target/powerpc/sse4_1-pinsrd.c: Likewise. - * gcc.target/powerpc/sse4_1-pinsrq.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovsxbq.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovsxdq.c: Likewise. - * gcc.target/powerpc/sse4_1-pmovsxwq.c: Likewise. - * gcc.target/powerpc/sse4_1-pmuldq.c: Likewise. - * gcc.target/powerpc/sse4_1-ptest-1.c: Likewise. - * gcc.target/powerpc/sse4_1-roundpd-2.c: Likewise. - * gcc.target/powerpc/sse4_1-roundpd-3.c: Likewise. - * gcc.target/powerpc/sse4_2-pcmpgtq.c: Likewise. - * gcc.target/powerpc/ssse3-pabsb.c: Likewise. - * gcc.target/powerpc/ssse3-pabsd.c: Likewise. - * gcc.target/powerpc/ssse3-pabsw.c: Likewise. - * gcc.target/powerpc/ssse3-palignr.c: Likewise. - * gcc.target/powerpc/ssse3-phaddd.c: Likewise. - * gcc.target/powerpc/ssse3-phaddsw.c: Likewise. - * gcc.target/powerpc/ssse3-phaddw.c: Likewise. - * gcc.target/powerpc/ssse3-phsubd.c: Likewise. - * gcc.target/powerpc/ssse3-phsubsw.c: Likewise. - * gcc.target/powerpc/ssse3-phsubw.c: Likewise. - * gcc.target/powerpc/ssse3-pmaddubsw.c: Likewise. - * gcc.target/powerpc/ssse3-pmulhrsw.c: Likewise. - * gcc.target/powerpc/ssse3-pshufb.c: Likewise. - * gcc.target/powerpc/ssse3-psignb.c: Likewise. - * gcc.target/powerpc/ssse3-psignd.c: Likewise. - * gcc.target/powerpc/ssse3-psignw.c: Likewise. - * gcc.target/powerpc/vec-cmp-sel.c: Likewise. - * gcc.target/powerpc/vec-sld-modulo.c: Likewise. - * gcc.target/powerpc/vec-srad-modulo.c: Likewise. - * gcc.target/powerpc/vec-srd-modulo.c: Likewise. - * gcc.target/powerpc/amo1.c: Replace powerpc_p9vector_ok with - powerpc_vsx_ok, replace -mpower9-vector with -mvsx, and add - dg-additional-options -mdejagnu-cpu=power9 if !has_arch_pwr9. - * gcc.target/powerpc/amo2.c: Likewise. - * gcc.target/powerpc/dform-1.c: Likewise. - * gcc.target/powerpc/dform-2.c: Likewise. - * gcc.target/powerpc/float128-5.c: Likewise. - * gcc.target/powerpc/float128-complex-2.c: Likewise. - * gcc.target/powerpc/float128-fma1.c: Likewise. - * gcc.target/powerpc/float128-hw.c: Likewise. - * gcc.target/powerpc/float128-hw10.c: Likewise. - * gcc.target/powerpc/float128-hw11.c: Likewise. - * gcc.target/powerpc/float128-hw2.c: Likewise. - * gcc.target/powerpc/float128-hw3.c: Likewise. - * gcc.target/powerpc/float128-hw4.c: Likewise. - * gcc.target/powerpc/float128-hw5.c: Likewise. - * gcc.target/powerpc/float128-hw6.c: Likewise. - * gcc.target/powerpc/float128-hw7.c: Likewise. - * gcc.target/powerpc/float128-hw8.c: Likewise. - * gcc.target/powerpc/float128-hw9.c: Likewise. - * gcc.target/powerpc/float128-minmax.c: Likewise. - * gcc.target/powerpc/float128-odd.c: Likewise. - * gcc.target/powerpc/float128-sqrt1.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-int.p9.c: Likewise. - * gcc.target/powerpc/gnuattr2.c: Likewise. - * gcc.target/powerpc/pr71656-1.c: Likewise. - * gcc.target/powerpc/pr71656-2.c: Likewise. - * gcc.target/powerpc/pr81959.c: Likewise. - * gcc.target/powerpc/pr82748-1.c: Likewise. - * gcc.target/powerpc/pr82748-2.c: Likewise. - * gcc.target/powerpc/pr111449-2.c: Replace powerpc_p8vector_ok - with powerpc_vsx_ok. - * gcc.target/powerpc/pr98914.c: Likewise. - * gcc.target/powerpc/versioned-copy-loop.c: Replace - powerpc_p8vector_ok with powerpc_vsx_ok and append -mvsx to - dg-options. - * gcc.target/powerpc/clone2.c: Replace powerpc_p9vector_ok with - powerpc_vsx_ok. - * gcc.target/powerpc/p9-options-1.c: Replace powerpc_p9vector_ok - with powerpc_vsx_ok, replace -mno-power9-vector with -mno-vsx. - * gcc.target/powerpc/pr84226.c: Replace powerpc_p9vector_ok with - powerpc_vsx_ok and append -mvsx to dg-options. - * g++.dg/pr69667.C: Replace powerpc_p8vector_ok with - powerpc_vsx_ok and append -mvsx to dg-options. - * gcc.dg/vect/costmodel/ppc/costmodel-slp-perm.c: Replace - powerpc_p9vector_ok with powerpc_vsx_ok and replace - -mpower9-vector with -mvsx. - * gcc.dg/vect/pr109011-1.c: Replace powerpc_p8vector_ok with - powerpc_vsx_ok, and replace -mpower8-vector with - -mdejagnu-cpu=power8 -mvsx or -mvsx under different conditions. - * gcc.dg/vect/pr109011-2.c: Replace powerpc_p9vector_ok - with powerpc_vsx_ok, and replace -mpower9-vector with - -mdejagnu-cpu=power9 -mvsx or -mvsx under different conditions. - * gcc.dg/vect/pr109011-4.c: Likewise. - * gcc.dg/vect/pr109011-3.c: Replace powerpc_p8vector_ok with - powerpc_vsx_ok, and replace -mpower8-vector -mno-power9-vector - with -mdejagnu-cpu=power8 -mvsx. - * gcc.dg/vect/pr109011-5.c: Likewise. - * gcc.target/powerpc/altivec-35.c: Remove -mno-power8-vector. - * gcc.target/powerpc/vsx-vector-7.c: Replace -mno-power8-vector - with -mdejagnu-cpu=power7. - * gcc.dg/vect/O3-pr70130.c: Replace -mcpu=power7 with options - -mdejagnu-cpu=power7 -mvsx and remove option -mno-power9-vector - -mno-power8-vector. - * gfortran.dg/vect/pr45714-b.f: Likewise. - * gcc.dg/vect/pr48765.c: Remove dg-skip-if and replace -mcpu=power7 - with option -mdejagnu-cpu=power6. - * gcc.target/powerpc/pr78056-2.c: Likewise. - * gcc.target/powerpc/altivec-2-runnable.c: Replace - powerpc_p8vector_ok with powerpc_vsx_ok, remove -mpower8-vector - and add dg-additional-options -mdejagnu-cpu=power8 if !has_arch_pwr8. - * gcc.target/powerpc/altivec-37.c: Likewise. - * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p8.c: Replace - powerpc_p8vector_ok with powerpc_vsx_ok and replace -mpower8-vector - with -mvsx. - * gcc.target/powerpc/fold-vec-abs-longlong.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-char.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-int.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-cmp-short.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: Likewise. - * gcc.target/powerpc/fold-vec-mergeeo-int.c: Likewise. - * gcc.target/powerpc/fold-vec-mergeeo-longlong.c: Likewise. - * gcc.target/powerpc/fold-vec-mult-int128-p8.c: Likewise. - * gcc.target/powerpc/fold-vec-neg-longlong.p8.c: Likewise. - * gcc.target/powerpc/pr104124.c: Likewise. - * gcc.target/powerpc/vec-cmpne-long.c: Likewise. - * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Replace - powerpc_p8vector_ok with powerpc_vsx_ok, replace -mpower8-vector with - -mvsx and add dg-additional-options -mdejagnu-cpu=power8 if - !has_arch_pwr8. - * gcc.target/powerpc/pr80098-1.c: Replace powerpc_p9vector_ok with - powerpc_vsx_ok and replace -mno-power9-vector with -mno-vsx. - * gcc.target/powerpc/pr80098-2.c: Replace powerpc_p8vector_ok with - powerpc_vsx_ok and replace -mno-power8-vector with -mno-vsx. - * gcc.target/powerpc/pragma_misc9.c: Replace powerpc_p9vector_ok - with powerpc_vsx_ok. - -2024-02-22 Pan Li <pan2.li@intel.com> - - PR target/114017 - * gcc.target/riscv/predef-__riscv_v_intrinsic.c: Update the - version to 0.12. - * gcc.target/riscv/rvv/base/pr114017-1.c: New test. - -2024-02-22 Fangrui Song <maskray@gcc.gnu.org> - - * gcc.target/riscv/asm-raw-symbol.c: New test. - -2024-02-21 Edwin Lu <ewlu@rivosinc.com> - - PR target/113249 - * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: - Rearrange and adjust asm-checker times - * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: Ditto - * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-12.c: - Rearrange assembly - * 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-19.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-35.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-44.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: Ditto - * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: Ditto - * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: Change expected vsetvl - -2024-02-21 Edwin Lu <ewlu@rivosinc.com> - - PR target/113249 - * g++.target/riscv/rvv/base/bug-1.C: Use default scheduling - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-12.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-19.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-35.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-44.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: Ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: Ditto - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-1.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-2.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-3.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-4.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-5.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-6.c: Ditto - * gcc.target/riscv/rvv/base/pr108185-7.c: Ditto - * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: Ditto - * gcc.target/riscv/rvv/vsetvl/pr111037-3.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-32.c: Ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: Ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: Ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.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-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 - * gfortran.dg/vect/vect-8.f90: Ditto - -2024-02-21 Edwin Lu <ewlu@rivosinc.com> - - PR target/113742 - * gcc.target/riscv/pr113742.c: change mcpu to mtune and add march - -2024-02-21 David Faust <david.faust@oracle.com> - - * gcc.target/bpf/memcpy-1.c: New test. - * gcc.target/bpf/memmove-1.c: New test. - * gcc.target/bpf/memmove-2.c: New test. - -2024-02-21 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/114026 - * gm2/extensions/run/pass/callingc10.mod: New test. - * gm2/extensions/run/pass/callingc11.mod: New test. - * gm2/extensions/run/pass/callingc9.mod: New test. - * gm2/extensions/run/pass/strconst.def: New test. - * gm2/pim/fail/forloop.mod: New test. - * gm2/pim/pass/forloop2.mod: New test. - -2024-02-21 0xn4utilus <gyanendrabanjare8@gmail.com> - - * rust/compile/issue-2850.rs: New test. - -2024-02-21 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/issue-2847-b.rs: New test. - -2024-02-21 Marc Poulhiès <dkm@kataplop.net> - - * rust/compile/torture/intrinsics-math.rs: Adjust pow test, add - test for powi. - -2024-02-21 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/rustc_const_stable.rs: New test. - -2024-02-21 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/use_2.rs: New test. - -2024-02-21 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/execute/torture/matches_macro.rs: New test. - -2024-02-21 Tamar Christina <tamar.christina@arm.com> - - * g++.target/aarch64/acle/ls64.C: Add +ls64. - * g++.target/aarch64/acle/ls64_lto.C: Likewise. - * gcc.target/aarch64/acle/ls64_lto.c: Likewise. - * gcc.target/aarch64/acle/pr110100.c: Likewise. - * gcc.target/aarch64/acle/pr110132.c: Likewise. - * gcc.target/aarch64/options_set_28.c: Drop check for nols64. - * gcc.target/aarch64/pragma_cpp_predefs_2.c: Correct header checks. - -2024-02-21 Tamar Christina <tamar.christina@arm.com> - - PR fortran/107071 - * gfortran.dg/ieee/modes_1.f90: skip aarch64, arm. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme/locally_streaming_1_ts.c: New test. - * gcc.target/aarch64/sme/sibcall_7_ts.c: Likewise. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme/sibcall_9.c: New test. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme/zt0_state_5.c (test3): Expect ZT0 rather - than ZA to be zeroed. - (test5): Remove zeroing of ZA. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - * gcc.target/aarch64/sme/zt0_state_5.c (test3, test5): Expect - zero { za }s. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113995 - * gcc.target/aarch64/sme/locally_streaming_1.c: Require - -fno-stack-clash-protection. - * gcc.target/aarch64/sme/locally_streaming_1_scp.c: New test. - -2024-02-21 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113220 - * gcc.target/aarch64/sme/call_sm_switch_5.c: Add - -fno-stack-clash-protection. - * gcc.target/aarch64/sme/call_sm_switch_5_scp.c: New test. - * gcc.target/aarch64/sme/sibcall_6_scp.c: New test. - * gcc.target/aarch64/sme/za_state_4.c: Add - -fno-stack-clash-protection. - * gcc.target/aarch64/sme/za_state_4_scp.c: New test. - * gcc.target/aarch64/sme/za_state_5.c: Add - -fno-stack-clash-protection. - * gcc.target/aarch64/sme/za_state_5_scp.c: New test. - -2024-02-21 Ilya Leoshkevich <iii@linux.ibm.com> - - * gcc.target/s390/zvector/autovec-double-signaling-eq.c: - Preserve exceptions. - * gcc.target/s390/zvector/autovec-float-signaling-eq.c: - Likewise. - -2024-02-21 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/113999 - * c-c++-common/analyzer/strlen-pr113999.c: New test. - * gcc.dg/analyzer/strlen-1.c: More test coverage. - -2024-02-21 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/113998 - * c-c++-common/analyzer/overlapping-buffers-pr113998.c: New test. - -2024-02-20 Peter Hill <peter.hill@york.ac.uk> - - PR fortran/105658 - * gfortran.dg/PR105658.f90: New test. - -2024-02-20 Peter Bergner <bergner@linux.ibm.com> - - PR target/112103 - * gcc.target/powerpc/rlwinm-0.c: Adjust expected instruction counts. - -2024-02-20 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113805 - * gcc.target/aarch64/sme/call_sm_switch_11.c: New test. - -2024-02-20 Jakub Jelinek <jakub@redhat.com> - - PR analyzer/113983 - * gcc.dg/analyzer/torture/vector-extract-1.c: Add -Wno-psabi as - dg-additional-options. - -2024-02-20 liuhongt <hongtao.liu@intel.com> - - PR target/113711 - * gcc.target/i386/apx-ndd-x32-1.c: Adjust testcase. - -2024-02-19 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/111289 - * c-c++-common/analyzer/stdarg-pr111289-int.c: New test. - * c-c++-common/analyzer/stdarg-pr111289-ptr.c: New test. - -2024-02-19 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/110520 - * c-c++-common/analyzer/null-deref-pr110520.c: New test. - -2024-02-19 Andrew Pinski <quic_apinski@quicinc.com> - - PR analyzer/113983 - * gcc.dg/analyzer/torture/vector-extract-1.c: New test. - -2024-02-19 Patrick Palka <ppalka@redhat.com> - - PR c++/113966 - * g++.dg/cpp2a/concepts-friend17.C: New test. - -2024-02-19 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com> - - * gcc.dg/bitint-86.c (__seg_gs): Replace with SEG MACRO. - -2024-02-19 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/113889 - * gm2/pim/run/pass/pim-run-pass.exp: Add filter for - constdef.mod. - * gm2/extensions/run/pass/callingc2.mod: New test. - * gm2/extensions/run/pass/callingc3.mod: New test. - * gm2/extensions/run/pass/callingc4.mod: New test. - * gm2/extensions/run/pass/callingc5.mod: New test. - * gm2/extensions/run/pass/callingc6.mod: New test. - * gm2/extensions/run/pass/callingc7.mod: New test. - * gm2/extensions/run/pass/callingc8.mod: New test. - * gm2/extensions/run/pass/fixedarray.mod: New test. - * gm2/extensions/run/pass/fixedarray2.mod: New test. - * gm2/pim/run/pass/constdef.def: New test. - * gm2/pim/run/pass/constdef.mod: New test. - * gm2/pim/run/pass/testimportconst.mod: New test. - -2024-02-19 Iain Buclaw <ibuclaw@gdcproject.org> - - * gdc.dg/bom_UTF16BE.d: New test. - * gdc.dg/bom_UTF16LE.d: New test. - * gdc.dg/bom_UTF32BE.d: New test. - * gdc.dg/bom_UTF32LE.d: New test. - * gdc.dg/bom_UTF8.d: New test. - * gdc.dg/bom_characters.d: New test. - * gdc.dg/bom_error_UTF8.d: New test. - * gdc.dg/bom_infer_UTF16BE.d: New test. - * gdc.dg/bom_infer_UTF16LE.d: New test. - * gdc.dg/bom_infer_UTF32BE.d: New test. - * gdc.dg/bom_infer_UTF32LE.d: New test. - * gdc.dg/bom_infer_UTF8.d: New test. - -2024-02-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113967 - * gcc.dg/pr113967.c: New test. - -2024-02-19 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113696 - * gcc.target/riscv/rvv/vsetvl/pr113696.c: New test. - -2024-02-18 H.J. Lu <hjl.tools@gmail.com> - - PR target/113912 - * gcc.target/i386/apx-push2pop2-2.c: New test. - -2024-02-18 Dimitar Dimitrov <dimitar@dinux.eu> - - PR middle-end/112344 - * gcc.dg/torture/pr112344.c: Run non-optimized variants only - if expensive tests are allowed. - -2024-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105473 - * gfortran.dg/pr105473.f90: New test. - -2024-02-17 Jakub Jelinek <jakub@redhat.com> - - PR fortran/113503 - * gfortran.dg/pr113503_1.f90: New test. - * gfortran.dg/pr113503_2.f90: New test. - -2024-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/107068 - * gfortran.dg/pr107068.f90: New test. - -2024-02-17 Marek Polacek <polacek@redhat.com> - - PR c++/113158 - * g++.dg/cpp0x/noexcept83.C: New test. - -2024-02-17 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113911 - * gfortran.dg/allocatable_length_2.f90: New test. - * gfortran.dg/bind_c_optional-2.f90: Enable deferred-length test. - -2024-02-17 Jakub Jelinek <jakub@redhat.com> - - * lib/target-supports.exp (check_effective_target_lra): Rewrite - to list some heavily used always LRA targets and otherwise check the - -fdump-rtl-reload-details dump for messages specific to LRA. - -2024-02-16 Andrew Pinski <quic_apinski@quicinc.com> - - * g++.dg/torture/vector-struct-1.C: Add -Wstrict-aliasing. - -2024-02-16 Marek Polacek <polacek@redhat.com> - - DR 1351 - * g++.dg/cpp0x/noexcept82.C: New test. - -2024-02-16 Andrew Pinski <quic_apinski@quicinc.com> - - PR c++/97990 - * g++.dg/torture/vector-struct-1.C: New test. - -2024-02-16 Edwin Lu <ewlu@rivosinc.com> - - * lib/scanasm.exp: add scan-assembler-bound - -2024-02-16 Patrick Palka <ppalka@redhat.com> - - PR c++/111682 - * g++.dg/cpp1y/var-templ86.C: New test. - -2024-02-16 Marek Polacek <polacek@redhat.com> - - PR c++/113789 - PR c++/113853 - * g++.dg/cpp0x/sfinae69.C: Remove dg-bogus. - * g++.dg/cpp0x/sfinae70.C: New test. - * g++.dg/cpp0x/sfinae71.C: New test. - * g++.dg/cpp0x/sfinae72.C: New test. - * g++.dg/cpp2a/implicit-move4.C: New test. - -2024-02-16 Jakub Jelinek <jakub@redhat.com> - - PR c++/113929 - * g++.dg/parse/pr113929.C: New test. - -2024-02-16 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113895 - * gcc.dg/torture/pr113895-2.c: New testcase. - * gcc.dg/torture/pr113895-3.c: Likewise. - * gcc.dg/torture/pr113895-4.c: Likewise. - -2024-02-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR ipa/98237 - * lib/target-supports.exp (is-effective-target): Handle - linker_plugin. - * gcc.dg/lto/modref-3_0.c: Require linker_plugin support. - * gcc.dg/lto/modref-4_0.c: Likewise. - -2024-02-16 Tejas Belagod <tejas.belagod@arm.com> - - PR target/113780 - * lib/target-supports.exp (v8_1m_main_pacbti): Add __ARM_FEATURE_PAUTH. - * gcc.target/arm/pac-sibcall.c: New. - -2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com> - - * gfortran.dg/gomp/declare-target-4.f90 (f1): Update expected warning. - * gfortran.dg/gomp/declare-target-indirect-1.f90: New. - * gfortran.dg/gomp/declare-target-indirect-2.f90: New. - -2024-02-15 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/111266 - * c-c++-common/analyzer/out-of-bounds-pr111266.c: New test. - -2024-02-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/107385 - * gcc.dg/pr107385.c: Require lra effective target. - -2024-02-15 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.target/aarch64/vect_ctz_1.c (TEST): Use g form of the builtin and pass 32 - as the value expected at 0. - -2024-02-15 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - PR testsuite/113278 - * c-c++-common/analyzer/fileno-1.c: Define _POSIX_SOURCE. - * c-c++-common/analyzer/flex-with-call-summaries.c: Same. - * c-c++-common/analyzer/flex-without-call-summaries.c: Same. - -2024-02-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/107385 - * gcc.dg/pr107385.c: New test. - -2024-02-15 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113921 - * gcc.target/i386/pr113921.c: New test. - -2024-02-15 Matthieu Longo <matthieu.longo@arm.com> - - * gcc.target/arm/rev16_2.c: XFAIL when compiled with Thumb1. - -2024-02-15 Jakub Jelinek <jakub@redhat.com> - - * rust/compile/issue-1773.rs.bak: Rename to ... - * rust/compile/issue-1773.rs: ... this. Add dg-skip-if directive. - -2024-02-15 Martin Jambor <mjambor@suse.cz> - - * gcc.dg/guality/ipa-sra-1.c (get_val1): Move up in the file. - (get_val2): Likewise. - (bar): Do not return a constant. Extend xfail exception for all - targets. - -2024-02-15 Andreas Schwab <schwab@suse.de> - - * gnat.dg/div_zero.adb: Skip on RISC-V. - -2024-02-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113567 - * gcc.dg/bitint-90.c: New test. - -2024-02-14 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/105847 - * gfortran.dg/pr105847.f90: New test. - -2024-02-14 Uros Bizjak <ubizjak@gmail.com> - - * gcc.dg/vect/pr113576.c (dg-additional-options): - Use -march=skylake-avx512 for avx512f effective target. - * gcc.dg/vect/pr98308.c (dg-additional-options): - Use -march=skylake-avx512 for all x86 targets. - * gcc.dg/vect/tree-vect.h (check_vect): Handle __AVX512F__ - and __AVX512VL__. - -2024-02-14 Jakub Jelinek <jakub@redhat.com> - H.J. Lu <hjl.tools@gmail.com> - - PR target/113855 - * gcc.dg/heap-trampoline-1.c: New test. - * lib/target-supports.exp (check_effective_target_heap_trampoline): - New. - -2024-02-14 Uros Bizjak <ubizjak@gmail.com> - - PR target/113871 - * gcc.target/i386/pr113871-1a.c: New test. - * gcc.target/i386/pr113871-1b.c: New test. - * gcc.target/i386/pr113871-2a.c: New test. - * gcc.target/i386/pr113871-2b.c: New test. - * gcc.target/i386/pr113871-3a.c: New test. - * gcc.target/i386/pr113871-3b.c: New test. - * gcc.target/i386/pr113871-4a.c: New test. - -2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113708 - * g++.dg/debug/dwarf2/inline-var-1.C: Reference 'a' to ensure it - is emitted. - * g++.dg/debug/dwarf2/inline-var-3.C: Likewise. - * g++.dg/modules/init-7_a.H: New test. - * g++.dg/modules/init-7_b.C: New test. - -2024-02-14 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/113861 - * c-c++-common/gomp/pr63328.c: Remove dg-excess-errors. - * gcc.dg/gomp/pr87895-2.c: Likewise. - -2024-02-14 Jan Hubicka <jh@suse.cz> - - PR tree-optimization/111054 - * gcc.c-torture/compile/pr111054.c: New test. - -2024-02-14 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/vect/vect-novect_gcond.c: New test. - -2024-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/99210 - * gfortran.dg/pr99210.f90: New test. - -2024-02-14 Jonathan Yong <10walls@gmail.com> - - * c-c++-common/analyzer/coreutils-sum-pr108666.c: Use - __SIZE_TYPE__ instead of long unsigned int for size_t - definition. - -2024-02-14 Patrick Palka <ppalka@redhat.com> - - PR c++/113908 - PR c++/113332 - * g++.dg/cpp0x/lambda/lambda-nsdmi11.C: New test. - * g++.dg/template/non-dependent31.C: New test. - -2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR d/104739 - * lib/gdc-utils.exp (gdc-convert-test) <UNICODE_NAMES>: Require - ucn support. - -2024-02-14 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/113899 - * gcc.dg/vect/vect-simd-clone-10.c: Add `dg-do run` - * gcc.dg/vect/vect-simd-clone-12.c: Likewise. - -2024-02-14 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/format/gcc_diag-1.c (foo): Add tests for z and t modifiers. - * gcc.dg/format/gcc_gfc-1.c (foo): Add tests for ll, z and t modifiers. - -2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/99573 - * g++.dg/modules/enum-12.C: New test. - -2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR target/113909 - * gcc.target/i386/pr113689-1.c: Skip on Solaris. - * gcc.target/i386/pr113689-2.c: Likewise. - * gcc.target/i386/pr113689-3.c: Likewise. - -2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gfortran.dg/fmt_en.f90 (dg-output): Don't xfail on - ?86-*-solaris2.9*. - * gfortran.dg/fmt_en_rd.f90: Likewise. - * gfortran.dg/fmt_en_rn.f90: Likewise. - * gfortran.dg/fmt_en_ru.f90: Likewise. - * gfortran.dg/fmt_en_rz.f90: Likewise. - -2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR c++/113706 - * c-c++-common/pr103798-2.c (scan-assembler-not): xfail for C++ on - Solaris. - -2024-02-13 Marek Polacek <polacek@redhat.com> - - DR 1693 - PR c++/113760 - * g++.dg/semicolon-fixits.C: Run in C++98 only. - * g++.dg/warn/pedantic2.C: Adjust dg-warning. - * g++.old-deja/g++.jason/parse11.C: Adjust dg-error. - * g++.dg/DRs/dr1693-1.C: New test. - * g++.dg/DRs/dr1693-2.C: New test. - -2024-02-13 H.J. Lu <hjl.tools@gmail.com> - - PR target/113876 - * gcc.target/i386/pr113876.c: New test. - -2024-02-13 Tobias Burnus <tburnus@baylibre.com> - - PR middle-end/113904 - * gfortran.dg/gomp/declare-variant-1.f90: Change 'condition' trait's - argument from integer to a logical expression. - * gfortran.dg/gomp/declare-variant-11.f90: Likewise. - * gfortran.dg/gomp/declare-variant-12.f90: Likewise. - * gfortran.dg/gomp/declare-variant-13.f90: Likewise. - * gfortran.dg/gomp/declare-variant-2.f90: Likewise. - * gfortran.dg/gomp/declare-variant-2a.f90: Likewise. - * gfortran.dg/gomp/declare-variant-3.f90: Likewise. - * gfortran.dg/gomp/declare-variant-4.f90: Likewise. - * gfortran.dg/gomp/declare-variant-6.f90: Likewise. - * gfortran.dg/gomp/declare-variant-8.f90: Likewise. - * gfortran.dg/gomp/declare-variant-20.f90: New test. - -2024-02-13 Patrick Palka <ppalka@redhat.com> - - * g++.dg/modules/friend-6_a.C: New test. - * g++.dg/modules/using-enum-3_a.C: New test. - * g++.dg/modules/using-enum-3_b.C: New test. - -2024-02-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113866 - * gfortran.dg/bind_c_optional-2.f90: New test. - -2024-02-13 Jason Merrill <jason@redhat.com> - - PR c++/113612 - * g++.dg/cpp1y/var-templ85.C: New test. - -2024-02-13 Monk Chiang <monk.chiang@sifive.com> - - * gcc.target/riscv/pr113742.c: New test. - -2024-02-13 Marek Polacek <polacek@redhat.com> - - PR c++/112436 - * g++.dg/cpp2a/concepts-pr112436.C: New test. - -2024-02-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113896 - * g++.dg/torture/pr113896.C: New testcase. - -2024-02-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113895 - * gcc.dg/torture/pr113895-1.c: New testcase. - -2024-02-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113902 - * gcc.dg/vect/pr113902.c: New testcase. - -2024-02-13 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113734 - * gcc.dg/vect/vect-early-break_117-pr113734.c: New test. - -2024-02-13 Alex Coplan <alex.coplan@arm.com> - - PR c++/113658 - * g++.dg/ext/has-feature2.C: New test. - -2024-02-13 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113898 - * gcc.dg/torture/pr113898.c: New testcase. - -2024-02-13 Steve Kargl <kargl@gcc.gnu.org> - - PR fortran/113883 - * gfortran.dg/allocatable_length.f90: New test. - -2024-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - * gfortran.dg/pr109358.f90: New test. - -2024-02-12 Marek Polacek <polacek@redhat.com> - - PR c++/113545 - * g++.dg/cpp1y/constexpr-reinterpret3.C: Remove dg-ice. - -2024-02-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113849 - * gcc.dg/torture/bitint-58.c: New test. - -2024-02-12 Jakub Jelinek <jakub@redhat.com> - - PR c++/113674 - * c-c++-common/Wattributes-3.c: New test. - -2024-02-12 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/pr113693.c: Guard _BitInt(837) use with - __BITINT_MAXWIDTH__ >= 837. Use dg-prune-output instead of - dg-message for dbgcnt message. - -2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/113125 - * gdc.dg/imports/pr113125.d: New test. - * gdc.dg/pr113125.d: New test. - -2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> - - PR d/113758 - * gdc.dg/torture/pr113758.d: New test. - -2024-02-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113831 - PR tree-optimization/108355 - * gcc.dg/torture/pr113831.c: New testcase. - * gcc.dg/tree-ssa/ssa-fre-104.c: Likewise. - -2024-02-12 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/base/pr113766-1.c: Adjust the test cases. - -2024-02-12 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113863 - * gcc.dg/vect/pr113863.c: New testcase. - -2024-02-11 John David Anglin <danglin@gcc.gnu.org> - - * gcc.c-torture/execute/ieee/cdivchkf.c: Use ilogb and - __builtin_fmax instead of ilogbf and __builtin_fmaxf. - -2024-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gcc.target/i386/asm-raw-symbol.c: Adjust asm patterns. - -2024-02-11 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.target/arm/pr97969.c: Update to comply with GCC14 changes. - -2024-02-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gcc.target/i386/pr113689-1.c: Skip test on darwin. - * gcc.target/i386/pr113689-2.c: Likewise. - * gcc.target/i386/pr113689-3.c: Likewise. - -2024-02-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gcc.dg/ssp-2.c: Ignore warning that - -multiply_defined is obsolete - -2024-02-10 Marek Polacek <polacek@redhat.com> - - DR 2237 - PR c++/107126 - PR c++/97202 - * g++.dg/DRs/dr2237.C: Adjust dg-error. - * g++.dg/parse/constructor2.C: Likewise. - * g++.dg/template/error34.C: Likewise. - * g++.old-deja/g++.pt/ctor2.C: Likewise. - * g++.dg/DRs/dr2237-2.C: New test. - * g++.dg/DRs/dr2237-3.C: New test. - * g++.dg/DRs/dr2237-4.C: New test. - * g++.dg/DRs/dr2237-5.C: New test. - * g++.dg/warn/Wtemplate-id-cdtor-1.C: New test. - * g++.dg/warn/Wtemplate-id-cdtor-2.C: New test. - * g++.dg/warn/Wtemplate-id-cdtor-3.C: New test. - * g++.dg/warn/Wtemplate-id-cdtor-4.C: New test. - -2024-02-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gcc.dg/darwin-ld-2.c: Ignore warning - that -bind_at_load is deprecated. - -2024-02-10 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/110754 - * gcc.dg/attr-assume-6.c: New test. - * g++.dg/cpp23/attr-assume12.C: New test. - -2024-02-10 Hans-Peter Nilsson <hp@axis.com> - - PR c++/113545 - * g++.dg/cpp1y/constexpr-reinterpret3.C, - g++.dg/cpp1y/constexpr-reinterpret4.C: New tests. - -2024-02-09 Marek Polacek <polacek@redhat.com> - - PR c++/113834 - * g++.dg/ext/type_pack_element4.C: New test. - -2024-02-09 Marek Polacek <polacek@redhat.com> - - PR c++/98388 - * g++.dg/cpp0x/sfinae69.C: New test. - -2024-02-09 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113799 - * gfortran.dg/arithmetic_overflow_2.f90: New test. - -2024-02-09 Patrick Palka <ppalka@redhat.com> - - PR c++/112580 - * g++.dg/modules/anon-3_a.H: New test. - * g++.dg/modules/anon-3_b.C: New test. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113783 - * gcc.dg/bitint-88.c: New test. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113415 - * gcc.target/i386/pr113415.c: New test. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113818 - * gcc.dg/bitint-89.c: New test. - -2024-02-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113774 - * gcc.dg/torture/bitint-57.c: New test. - -2024-02-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * gcc.misc-tests/options.exp: Allow other options before the - -quite option for cc1. - -2024-02-08 Edwin Lu <ewlu@rivosinc.com> - - * gcc.target/riscv/rvv/base/abi-1.c: change selector - * gcc.target/riscv/rvv/base/pragma-2.c: ditto - * gcc.target/riscv/rvv/base/pragma-3.c: ditto - -2024-02-08 Richard Earnshaw <rearnsha@arm.com> - - * lib/target-supports.exp - (check_effective_target_arm_fp16_alternative_ok_nocache): Use - et_arm_fp16_alternative_flags to cache the result. Improve test - for FP16 availability. - (add_options_for_arm_fp16_alternative): Use - et_arm_fp16_alternative_flags. - * g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: Update dg-* flags. - * g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: Likewise. - * gcc.dg/torture/arm-fp16-int-convert-alt.c: Likewise. - * gcc.dg/torture/arm-fp16-ops-3.c: Likewise. - * gcc.dg/torture/arm-fp16-ops-4.c: Likewise. - * gcc.target/arm/fp16-aapcs-3.c: Likewise. - * gcc.target/arm/fp16-aapcs-4.c: Likewise. - * gcc.target/arm/fp16-compile-alt-1.c: Likewise. - * gcc.target/arm/fp16-compile-alt-10.c: Likewise. - * gcc.target/arm/fp16-compile-alt-11.c: Likewise. - * gcc.target/arm/fp16-compile-alt-12.c: Likewise. - * gcc.target/arm/fp16-compile-alt-2.c: Likewise. - * gcc.target/arm/fp16-compile-alt-3.c: Likewise. - * gcc.target/arm/fp16-compile-alt-4.c: Likewise. - * gcc.target/arm/fp16-compile-alt-5.c: Likewise. - * gcc.target/arm/fp16-compile-alt-6.c: Likewise. - * gcc.target/arm/fp16-compile-alt-7.c: Likewise. - * gcc.target/arm/fp16-compile-alt-8.c: Likewise. - * gcc.target/arm/fp16-compile-alt-9.c: Likewise. - * gcc.target/arm/fp16-rounding-alt-1.c: Likewise. - -2024-02-08 Patrick Palka <ppalka@redhat.com> - - PR c++/113649 - * g++.dg/cpp2a/nontype-class65.C: New test. - -2024-02-08 Aldy Hernandez <aldyh@redhat.com> - - PR tree-optimization/113735 - * gcc.dg/tree-ssa/pr113735.c: New test. - -2024-02-08 H.J. Lu <hjl.tools@gmail.com> - - PR target/113711 - PR target/113733 - * gcc.target/i386/apx-ndd-2.c: New test. - * gcc.target/i386/apx-ndd-base-index-1.c: Likewise. - * gcc.target/i386/apx-ndd-no-seg-global-1.c: Likewise. - * gcc.target/i386/apx-ndd-seg-1.c: Likewise. - * gcc.target/i386/apx-ndd-seg-2.c: Likewise. - * gcc.target/i386/apx-ndd-seg-3.c: Likewise. - * gcc.target/i386/apx-ndd-seg-4.c: Likewise. - * gcc.target/i386/apx-ndd-seg-5.c: Likewise. - * gcc.target/i386/apx-ndd-tls-1a.c: Likewise. - * gcc.target/i386/apx-ndd-tls-2.c: Likewise. - * gcc.target/i386/apx-ndd-tls-3.c: Likewise. - * gcc.target/i386/apx-ndd-tls-4.c: Likewise. - * gcc.target/i386/apx-ndd-x32-1.c: Likewise. - -2024-02-08 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113808 - * gfortran.dg/vect/vect-early-break_1-PR113808.f90: Moved to... - * gfortran.dg/vect/vect-early-break_1-pr113808.f90: ...here. - -2024-02-08 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113808 - * gfortran.dg/vect/vect-early-break_1-PR113808.f90: New test. - -2024-02-08 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/vect/vect-early-break_110-pr113467.c: Change unsigned long * - to uint64_t *. - -2024-02-08 Pan Li <pan2.li@intel.com> - - PR target/113766 - * gcc.target/riscv/rvv/base/pr113766-1.c: Add new cases. - -2024-02-08 Joseph Myers <josmyers@redhat.com> - - PR c/113776 - * gcc.dg/pr113776-1.c, gcc.dg/pr113776-2.c, gcc.dg/pr113776-3.c, - gcc.dg/pr113776-4.c: New tests. - -2024-02-08 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp2a/nontype-class64.C: New test. - -2024-02-07 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113796 - * gcc.dg/torture/pr113796.c: New testcase. - -2024-02-07 Roger Sayle <roger@nextmovesoftware.com> - Uros Bizjak <ubizjak@gmail.com> - - PR target/113690 - * gcc.target/i386/pr113690.c: New test case. - -2024-02-07 Victor Do Nascimento <victor.donascimento@arm.com> - - * gcc.target/aarch64/acle/rwsr-armv8p9.c: New. - -2024-02-07 Kushal Pal <kushalpal109@gmail.com> - - * rust/compile/issue-2040.rs: - Enclose 'const' in single quotes. - -2024-02-07 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2775.rs: New test. - -2024-02-07 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2782.rs: New test. - -2024-02-07 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1773.rs: Moved to... - * rust/compile/issue-1773.rs.bak: ...here. - * rust/compile/issue-2723-1.rs: New test. - * rust/compile/issue-2723-2.rs: New test. - -2024-02-07 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2747.rs: New test. - -2024-02-07 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2772-1.rs: New test. - * rust/compile/issue-2772-2.rs: New test. - -2024-02-07 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1483.rs: New test. - -2024-02-07 Kushal Pal <kushalpal109@gmail.com> - - * rust/compile/issue-2812.rs: New test. - -2024-02-07 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113750 - * gcc.dg/vect/vect-early-break_112-pr113750.c: New test. - * gcc.dg/vect/vect-early-break_113-pr113750.c: New test. - * gcc.dg/vect/vect-early-break_114-pr113750.c: New test. - * gcc.dg/vect/vect-early-break_115-pr113750.c: New test. - * gcc.dg/vect/vect-early-break_116-pr113750.c: New test. - -2024-02-07 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113731 - * gcc.dg/vect/vect-early-break_111-pr113731.c: New test. - -2024-02-07 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113467 - * gcc.dg/vect/vect-early-break_110-pr113467.c: New test. - -2024-02-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113756 - * gcc.dg/pr113756.c: New test. - -2024-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.dg/debug/dwarf2/inline5.c: Don't xfail scan-assembler-not on - { aix || solaris2 } && !gas. - -2024-02-07 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113753 - * gcc.dg/torture/bitint-56.c: New test. - * gcc.dg/bitint-87.c: New test. - -2024-02-07 Pan Li <pan2.li@intel.com> - - PR target/113766 - * gcc.target/riscv/rvv/base/pr113766-1.c: New test. - * gcc.target/riscv/rvv/base/pr113766-2.c: New test. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR c++/113788 - * g++.dg/parse/pr113788.C: New test. - -2024-02-06 Marek Polacek <polacek@redhat.com> - - PR c++/94231 - * g++.dg/cpp0x/deleted17.C: New test. - -2024-02-06 Andrew Carlotti <andrew.carlotti@arm.com> - - * g++.target/aarch64/mv-symbols1.C: New test. - * g++.target/aarch64/mv-symbols2.C: Ditto. - * g++.target/aarch64/mv-symbols3.C: Ditto. - * g++.target/aarch64/mv-symbols4.C: Ditto. - * g++.target/aarch64/mv-symbols5.C: Ditto. - * g++.target/aarch64/mvc-symbols1.C: Ditto. - * g++.target/aarch64/mvc-symbols2.C: Ditto. - * g++.target/aarch64/mvc-symbols3.C: Ditto. - * g++.target/aarch64/mvc-symbols4.C: Ditto. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/110676 - * gcc.dg/asan/pr110676.c: New test. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113736 - * gcc.dg/bitint-86.c: New test. - -2024-02-06 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113759 - * gcc.c-torture/compile/pr113759.c: New test. - -2024-02-06 Jason Merrill <jason@redhat.com> - - PR c++/107291 - * g++.dg/cpp2a/spaceship-eq17.C: New test. - -2024-02-05 Jason Merrill <jason@redhat.com> - - PR c++/109359 - * g++.dg/ext/frounding-math1.C: New test. - -2024-02-05 Jason Merrill <jason@redhat.com> - - PR c++/111286 - * g++.dg/cpp0x/initlist-array22.C: New test. - -2024-02-05 H.J. Lu <hjl.tools@gmail.com> - - PR target/113689 - * gcc.target/i386/pr113689-1.c: New file. - * gcc.target/i386/pr113689-2.c: Likewise. - * gcc.target/i386/pr113689-3.c: Likewise. - -2024-02-05 Jakub Jelinek <jakub@redhat.com> - - PR c/113740 - * gcc.dg/bitint-85.c: New test. - -2024-02-05 Richard Ball <richard.ball@arm.com> - - * lib/target-supports.exp: Add v8_1_m_main_pacbti. - * g++.target/arm/bti_thunk.C: New test. - -2024-02-05 H.J. Lu <(no_default)> - - * gcc.target/i386/apx-ndd.c: Updated. - -2024-02-05 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113707 - * gcc.dg/torture/pr113707-1.c: New testcase. - * gcc.dg/torture/pr113707-2.c: Likewise. - -2024-02-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113737 - * gcc.dg/bitint-84.c: New test. - -2024-02-05 Monk Chiang <monk.chiang@sifive.com> - - * gcc.target/riscv/mcpu-sifive-p450.c: New test. - * gcc.target/riscv/mcpu-sifive-p670.c: New test. - -2024-02-04 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/riscv/reg_subreg_costs.c: New test. - Co-authored-by: Jivan Hakobyan <jivanhakobyan9@gmail.com> - -2024-02-03 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/pr84877.c: Adjust xfail parentheses. - -2024-02-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/111022 - * gfortran.dg/fmt_error_10.f: Show D+0 exponent. - * gfortran.dg/pr96436_4.f90: Show E+0 exponent. - * gfortran.dg/pr96436_5.f90: Show E+0 exponent. - * gfortran.dg/pr111022.f90: New test. - -2024-02-03 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113722 - * gcc.dg/pr113722.c: New test. - -2024-02-03 Patrick Palka <ppalka@redhat.com> - - PR c++/110006 - PR c++/112769 - * g++.dg/cpp2a/class-deduction-alias18.C: New test. - * g++.dg/cpp2a/concepts-friend16.C: New test. - -2024-02-03 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/113730 - * gm2/extensions/fail/arith1.mod: New test. - * gm2/extensions/fail/arith2.mod: New test. - * gm2/extensions/fail/arith3.mod: New test. - * gm2/extensions/fail/arith4.mod: New test. - * gm2/extensions/fail/arithpromote.mod: New test. - * gm2/extensions/fail/extensions-fail.exp: New test. - * gm2/linking/fail/badimp.def: New test. - * gm2/linking/fail/badimp.mod: New test. - * gm2/linking/fail/linking-fail.exp: New test. - * gm2/linking/fail/testbadimp.mod: New test. - -2024-02-02 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113588 - PR tree-optimization/113467 - * gcc.dg/vect/vect-early-break_108-pr113588.c: New test. - * gcc.dg/vect/vect-early-break_109-pr113588.c: New test. - -2024-02-02 Andrew Pinski <quic_apinski@quicinc.com> - - * gcc.dg/vect/vect-avg-1.c: Check optimized dump - for `vector *signed short` instead of the `vect` dump. - * gcc.dg/vect/vect-avg-11.c: Likewise. - * gcc.dg/vect/vect-avg-12.c: Likewise. - * gcc.dg/vect/vect-avg-13.c: Likewise. - * gcc.dg/vect/vect-avg-14.c: Likewise. - * gcc.dg/vect/vect-avg-2.c: Likewise. - * gcc.dg/vect/vect-avg-3.c: Likewise. - * gcc.dg/vect/vect-avg-4.c: Likewise. - * gcc.dg/vect/vect-avg-5.c: Likewise. - * gcc.dg/vect/vect-avg-6.c: Likewise. - * gcc.dg/vect/vect-avg-7.c: Likewise. - * gcc.dg/vect/vect-avg-8.c: Likewise. - -2024-02-02 Jakub Jelinek <jakub@redhat.com> - - PR libgcc/113604 - * gcc.dg/torture/bitint-53.c: New test. - * gcc.dg/torture/bitint-55.c: New test. - -2024-02-02 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: New test. - * jit.dg/test-sizeof.c: New test. - -2024-02-02 Jason Merrill <jason@redhat.com> - - PR c++/110084 - * g++.dg/cpp2a/spaceship-synth-neg3.C: Check error message. - * g++.dg/cpp2a/spaceship-eq16.C: New test. - -2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113697 - * gcc.target/riscv/rvv/autovec/pr113697.c: New test. - -2024-02-02 Iain Sandoe <iain@sandoe.co.uk> - - * lib/target-supports.exp (check_effective_target_shared): - Allow the external symbols referenced in the test to be undefined. - -2024-02-02 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/ubsan/ubsan.exp:Add a parameter to init to say that - we expect the C++ driver to provide paths for libstdc++. - * gcc.dg/ubsan/ubsan.exp: Add a parameter to init to say that - we need a path added for libstdc++. - * gdc.dg/ubsan/ubsan.exp: Likewise. - * gfortran.dg/ubsan/ubsan.exp: Likewise. - * lib/ubsan-dg.exp: Handle a single parameter to init that - requests addition of a path to libstdc++ to link flags. - -2024-02-02 Iain Sandoe <iain@sandoe.co.uk> - - * g++.dg/asan/asan.exp: Add a parameter to init to say that - we expect the C++ driver to provide paths for libstdc++. - * g++.dg/hwasan/hwasan.exp: Likewise - * gcc.dg/asan/asan.exp: Add a parameter to init to say that - we need a path added for libstdc++. - * gcc.dg/hwasan/hwasan.exp: Likewise. - * gdc.dg/asan/asan.exp: Likewise. - * gfortran.dg/asan/asan.exp: Likewise. - * lib/asan-dg.exp: Handle a single parameter to init that - requests addition of a path to libstdc++ to link flags. - * lib/hwasan-dg.exp: Likewise. - -2024-02-02 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113691 - * gcc.dg/bitint-83.c: New test. - -2024-02-02 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113692 - * gcc.dg/bitint-82.c: New test. - -2024-02-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113699 - * gcc.dg/bitint-81.c: New test. - -2024-02-02 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113705 - * g++.dg/opt/pr113705.C: New test. - -2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/pr71321.c (scan-assembler-not): Avoid multiline - matches. - -2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/sse2-stv-1.c (dg-options): Add -mno-stackrealign. - -2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/pr80569.c: Require gas. - -2024-02-02 Lehua Ding <lehua.ding@rivai.ai> - - Revert: - 2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/poly_licm-1.c: New test. - * gcc.target/riscv/rvv/autovec/poly_licm-2.c: New test. - -2024-02-02 Iain Sandoe <iain@sandoe.co.uk> - - PR target/112863 - * lib/obj-c++.exp: Decide on whether to present -B or -L to - reference the paths to uninstalled libobjc/libobjc-gnu and - libstdc++ and use that to generate the link flags. - -2024-02-02 Iain Sandoe <iain@sandoe.co.uk> - - PR target/112862 - * gfortran.dg/coarray/caf.exp: Remove duplicate additions of - libatomic handling. - * gfortran.dg/dg.exp: Likewise. - * lib/gfortran.exp: Decide on whether to present -B or -L to - reference the paths to uninstalled libgfortran, libqadmath and - libatomic and use that to generate the link flags. - -2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/poly_licm-1.c: New test. - * gcc.target/riscv/rvv/autovec/poly_licm-2.c: New test. - -2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/pieces-memcpy-7.c (dg-additional-options): Add - -mno-stackrealign. - * gcc.target/i386/pieces-memcpy-8.c: Likewise. - * gcc.target/i386/pieces-memcpy-9.c: Likewise. - * gcc.target/i386/pieces-memset-36.c: Likewise. - * gcc.target/i386/pieces-memset-40.c: Likewise. - * gcc.target/i386/pieces-memset-9.c: Likewise. - -2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/apx-ndd-cmov.c (scan-assembler-times): Allow for - cmovl.e, cmovl.ge. - -2024-02-02 Jason Merrill <jason@redhat.com> - - PR c++/112439 - * g++.dg/cpp2a/no_unique_address15.C: New test. - -2024-02-02 Jason Merrill <jason@redhat.com> - - PR c++/113638 - * g++.dg/cpp1y/var-templ-array1.C: New test. - -2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/vsetvl/vsetvl_pre-1.c: New test. - -2024-02-02 Jiahao Xu <xujiahao@loongson.cn> - - * gcc.target/loongarch/larch-frecipe-intrinsic.c: New test. - -2024-02-02 Li Wei <liwei@loongson.cn> - - * gfortran.dg/vect/vect-10.f90: New test. - -2024-02-02 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/func-call-extreme-1.c (dg-options): - Use -O2 instead of -O0 to ensure the pcalau12i/addi/lu32i/lu52i - instruction sequences are not reordered by the compiler. - (NOIPA): Disallow interprocedural optimizations. - * gcc.target/loongarch/func-call-extreme-2.c: Remove the content - duplicated from func-call-extreme-1.c, include it instead. - (dg-options): Likewise. - * gcc.target/loongarch/func-call-extreme-3.c (dg-options): - Likewise. - * gcc.target/loongarch/func-call-extreme-4.c (dg-options): - Likewise. - * gcc.target/loongarch/cmodel-extreme-1.c: New test. - * gcc.target/loongarch/cmodel-extreme-2.c: New test. - * g++.target/loongarch/cmodel-extreme-mi-thunk-1.C: New test. - * g++.target/loongarch/cmodel-extreme-mi-thunk-2.C: New test. - * g++.target/loongarch/cmodel-extreme-mi-thunk-3.C: New test. - -2024-02-02 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/explicit-relocs-medium-call36-auto-tls-ld-gd.c: New test. - -2024-02-02 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/explicit-relocs-extreme-auto-tls-ld-gd.c: New test. - * gcc.target/loongarch/explicit-relocs-medium-auto-tls-ld-gd.c: New test. - -2024-02-02 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/attr-model-5.c: New test. - * gcc.target/loongarch/func-call-extreme-5.c: New test. - * gcc.target/loongarch/func-call-extreme-6.c: New test. - * gcc.target/loongarch/tls-extreme-macro.c: New test. - -2024-02-01 Marek Polacek <polacek@redhat.com> - - * g++.dg/warn/Wdangling-reference21.C: New test. - -2024-02-01 John David Anglin <danglin@gcc.gnu.org> - - * gnat.dg/trampoline3.adb: xfail scan-assembler-not - check on hppa*-*-*. - -2024-02-01 Patrick Palka <ppalka@redhat.com> - - PR c++/112737 - * g++.dg/template/ttp42.C: New test. - * g++.dg/template/ttp43.C: New test. - -2024-02-01 Marek Polacek <polacek@redhat.com> - - PR c++/112437 - * g++.dg/cpp2a/concepts-throw1.C: New test. - * g++.dg/eh/throw4.C: New test. - -2024-02-01 Monk Chiang <monk.chiang@sifive.com> - - * gcc.target/riscv/za-ext.c: New test. - * gcc.target/riscv/zi-ext.c: New test. - -2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/pr38534-1.c: Add -fomit-frame-pointer to - dg-options. - * gcc.target/i386/pr38534-2.c: Likewise. - * gcc.target/i386/pr38534-3.c: Likewise. - * gcc.target/i386/pr38534-4.c: Likewise. - -2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/no-callee-saved-1.c: Add -fomit-frame-pointer to - dg-options. - * gcc.target/i386/no-callee-saved-2.c: Likewise. - -2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/avx512vl-stv-rotatedi-1.c: Add -mstv - -mno-stackrealign to dg-options. - -2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/pr70321.c: Add -fomit-frame-pointer to - dg-options. - -2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * g++.dg/ext/attr-section2.C (scan-assembler): Quote dots. Allow - for double-quoted section name. - * g++.dg/ext/attr-section2a.C: Likewise. - * g++.dg/ext/attr-section2b.C: Likewise. - -2024-02-01 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113693 - * gcc.dg/pr113693.c: New testcase. - -2024-02-01 Jakub Jelinek <jakub@redhat.com> - Jason Merrill <jason@redhat.com> - - PR c++/113531 - * g++.dg/asan/initlist1.C: New test. - -2024-02-01 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR target/113560 - * g++.target/i386/pr113560.C: New test case. - * gcc.target/i386/pr113560.c: Likewise. - * gcc.dg/pr87954.c: Update test case. - -2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - Revert: - 2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - PR target/113249 - * g++.target/riscv/rvv/base/bug-1.C: use default scheduling - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-12.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-19.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-35.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-44.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: ditto - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: ditto - * gcc.target/riscv/rvv/base/pr108185-1.c: ditto - * gcc.target/riscv/rvv/base/pr108185-2.c: ditto - * gcc.target/riscv/rvv/base/pr108185-3.c: ditto - * gcc.target/riscv/rvv/base/pr108185-4.c: ditto - * gcc.target/riscv/rvv/base/pr108185-5.c: ditto - * gcc.target/riscv/rvv/base/pr108185-6.c: ditto - * gcc.target/riscv/rvv/base/pr108185-7.c: ditto - * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: ditto - * gcc.target/riscv/rvv/vsetvl/pr111037-3.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-32.c: ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.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-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 - * gfortran.dg/vect/vect-8.f90: ditto - -2024-02-01 Edwin Lu <ewlu@rivosinc.com> - - PR target/113249 - * g++.target/riscv/rvv/base/bug-1.C: use default scheduling - * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-12.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-19.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-35.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-44.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: ditto - * gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: ditto - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: ditto - * gcc.target/riscv/rvv/base/pr108185-1.c: ditto - * gcc.target/riscv/rvv/base/pr108185-2.c: ditto - * gcc.target/riscv/rvv/base/pr108185-3.c: ditto - * gcc.target/riscv/rvv/base/pr108185-4.c: ditto - * gcc.target/riscv/rvv/base/pr108185-5.c: ditto - * gcc.target/riscv/rvv/base/pr108185-6.c: ditto - * gcc.target/riscv/rvv/base/pr108185-7.c: ditto - * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: ditto - * gcc.target/riscv/rvv/vsetvl/pr111037-3.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-32.c: ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: ditto - * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.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-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 - * gfortran.dg/vect/vect-8.f90: ditto - -2024-02-01 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113657 - * gcc.target/aarch64/acle/ls64_strict_align.c: New test. - -2024-01-31 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/113253 - * gcc.dg/analyzer/deref-before-check-pr113253.c: New test. - -2024-01-31 Joseph Myers <josmyers@redhat.com> - - PR c/112571 - * gcc.dg/c23-enum-9.c, gcc.dg/c23-enum-10.c: New tests. - -2024-01-31 Robin Dapp <rdapp@ventanamicro.com> - - * gcc.target/aarch64/sve/pre_cond_share_1.c: XFAIL. - * gcc.target/riscv/rvv/autovec/pr113607-run.c: New test. - * gcc.target/riscv/rvv/autovec/pr113607.c: New test. - -2024-01-31 Martin Uecker <uecker@tugraz.at> - - PR c/113438 - * gcc.dg/pr113438.c: New test. - -2024-01-31 Jonathan Yong <10walls@gmail.com> - - * c-c++-common/analyzer/uninit-pr108968-register.c: - Use __UINTPTR_TYPE__ instead of unsigned long for LLP64. - -2024-01-31 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/111627 - * gm2/pim/pass/stdio.mod: Moved to... - * gm2/pim/pass/teststdio.mod: ...here. - * gm2/pim/run/pass/builtins.mod: Moved to... - * gm2/pim/run/pass/testbuiltins.mod: ...here. - * gm2/pim/run/pass/math.mod: Moved to... - * gm2/pim/run/pass/testmath.mod: ...here. - * gm2/pim/run/pass/math2.mod: Moved to... - * gm2/pim/run/pass/testmath2.mod: ...here. - -2024-01-31 Tamar Christina <tamar.christina@arm.com> - - PR testsuite/113502 - * gcc.target/aarch64/sve/vect-early-break-cbranch.c: Ignore exact branch. - * gcc.target/aarch64/vect-early-break-cbranch.c: Likewise. - -2024-01-31 Tamar Christina <tamar.christina@arm.com> - - PR sanitizer/112644 - * c-c++-common/hwasan/hwasan-thread-clears-stack.c: Update testcase. - -2024-01-31 Tamar Christina <tamar.christina@arm.com> - Matthew Malcomson <matthew.malcomson@arm.com> - - PR sanitizer/112644 - * c-c++-common/hwasan/builtin-special-handling.c: Update testcase. - -2024-01-31 Richard Biener <rguenther@suse.de> - - PR middle-end/110176 - * gcc.dg/torture/pr110176.c: New testcase. - -2024-01-31 Alex Coplan <alex.coplan@arm.com> - - PR target/111677 - * gcc.target/aarch64/torture/pr111677.c: New test. - -2024-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/auto-init-5.c: Add - -fno-asynchronous-unwind-tables to dg-options. - * gcc.target/i386/auto-init-6.c: Likewise. - -2024-01-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/111444 - * gcc.dg/torture/pr111444.c: New testcase. - -2024-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * g++.dg/cpp0x/udlit-extended-id-1.C: Require ucn support. - -2024-01-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113630 - * gcc.dg/torture/pr113630.c: New testcase. - -2024-01-31 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/113656 - * gcc.target/i386/pr113656.c: New test. - -2024-01-31 Jakub Jelinek <jakub@redhat.com> - - PR debug/113637 - * gcc.dg/bitint-80.c: New test. - -2024-01-31 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113639 - * gcc.dg/bitint-79.c: New test. - -2024-01-31 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113670 - * gcc.target/i386/pr113670.c: New testcase. - -2024-01-31 Alexandre Oliva <oliva@adacore.com> - - PR debug/113394 - * gcc.dg/strub-internal-pr113394.c: New. - -2024-01-31 Joseph Myers <josmyers@redhat.com> - - PR c/111059 - PR c/111911 - * gcc.c-torture/compile/pr111059-1.c, - gcc.c-torture/compile/pr111059-2.c, - gcc.c-torture/compile/pr111059-3.c, - gcc.c-torture/compile/pr111059-4.c, - gcc.c-torture/compile/pr111059-5.c, - gcc.c-torture/compile/pr111059-6.c, - gcc.c-torture/compile/pr111059-7.c, - gcc.c-torture/compile/pr111059-8.c, - gcc.c-torture/compile/pr111059-9.c, - gcc.c-torture/compile/pr111059-10.c, - gcc.c-torture/compile/pr111059-11.c, - gcc.c-torture/compile/pr111059-12.c, - gcc.c-torture/compile/pr111911-1.c, - gcc.c-torture/compile/pr111911-2.c: New tests. - -2024-01-31 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/113509 - * c-c++-common/analyzer/stdarg-pr113509.c: New test. - -2024-01-30 Fangrui Song <maskray@google.com> - - PR target/105576 - * gcc.target/i386/asm-raw-symbol.c: New testcase. - -2024-01-30 Marek Polacek <polacek@redhat.com> - - PR c++/110358 - PR c++/109640 - * g++.dg/warn/Wdangling-reference18.C: New test. - * g++.dg/warn/Wdangling-reference19.C: New test. - * g++.dg/warn/Wdangling-reference20.C: New test. - -2024-01-30 Patrick Palka <ppalka@redhat.com> - - PR c++/67898 - * g++.dg/cpp0x/temp_default8.C: New test. - -2024-01-30 Jason Merrill <jason@redhat.com> - - PR c++/112846 - * g++.dg/abi/anon6.C: Specify ABI v18. - * g++.dg/abi/anon6a.C: New test for ABI v19. - -2024-01-30 Jason Merrill <jason@redhat.com> - - PR c++/113451 - * g++.dg/abi/mangle-regparm1a.C: Use -Wabi=0. - -2024-01-30 Patrick Palka <ppalka@redhat.com> - - PR c++/113640 - * g++.dg/cpp23/explicit-obj-lambda14.C: New test. - -2024-01-30 Patrick Palka <ppalka@redhat.com> - - PR c++/113644 - * g++.dg/template/nontype30.C: New test. - -2024-01-30 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vls/def.h: Add new helper macro. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-10.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-8.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-9.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-1.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-2.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-3.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-4.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-5.c: New test. - * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-6.c: New test. - -2024-01-30 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/113654 - * c-c++-common/analyzer/allocation-size-pr113654-1.c: New test. - -2024-01-30 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/execute/torture/builtin_macros1.rs: Fix output pattern. - * rust/execute/torture/coercion3.rs: Likewise. - * rust/execute/torture/issue-2080.rs: Likewise. - * rust/execute/torture/issue-2179.rs: Likewise. - * rust/execute/torture/issue-2180.rs: Likewise. - * rust/execute/torture/iter1.rs: Likewise. - -2024-01-30 Robert Goss <goss.robert@gmail.com> - - * rust/compile/missing_constructor_fields.rs: Added case with no initializers - -2024-01-30 Jakub Dupak <dev@jakubdupak.com> - - * rust/compile/for_lifetimes.rs: New test. - -2024-01-30 Jakub Dupak <dev@jakubdupak.com> - - * rust/compile/torture/utf8_identifiers.rs: add mising lifetime - -2024-01-30 Robert Goss <goss.robert@gmail.com> - - * rust/compile/repeated_constructor_fields.rs: Added case with constructor field repeated - -2024-01-30 Kushal Pal <kushalpal109@gmail.com> - - * rust/compile/issue-2788.rs: New test. - -2024-01-30 Kushal Pal <kushalpal109@gmail.com> - - * rust/compile/const_trait_fn.rs: - Enclose const in single quotes. - -2024-01-30 Kushal Pal <kushalpal109@gmail.com> - - * rust/compile/issue-2785.rs: New test. - -2024-01-30 Nirmal Patel <nirmal@nirmal.dev> - - * rust/compile/issue-2187.rs: New file. - * rust/execute/torture/issue-2187.rs: New file. - -2024-01-30 Kushal Pal <kushalpal109@gmail.com> - - * rust/compile/issue-2767.rs: New test. - -2024-01-30 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/torture/intrinsics-4.rs: Adjust. - * rust/compile/torture/intrinsics-math.rs: Adjust. - * rust/execute/torture/atomic_load.rs: Adjust. - * rust/execute/torture/atomic_store.rs: Adjust. - * rust/compile/torture/intrinsics-1.rs: Removed. - * rust/compile/torture/builtin_abort.rs: New test. - * rust/execute/torture/builtin_abort.rs: New test. - -2024-01-30 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/sized-stub.rs: New test. - -2024-01-30 Nobel Singh <nobel2073@gmail.com> - - * rust/compile/issue-2040.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/functions_without_body.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/execute/torture/name_resolution.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/name_resolution11.rs: New test. - * rust/compile/name_resolution12.rs: New test. - * rust/compile/name_resolution13.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/const_trait_fn.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/const_async_function.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/unsafe_module.rs: New test. - -2024-01-30 M V V S Manoj Kumar <mvvsmanojkumar@gmail.com> - - * rust/compile/issue-2650-1.rs: New test.(edition=2018) - * rust/compile/issue-2650-2.rs: New test.(edition=2015) - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/const_generics_8.rs: Fill the union with dummy values. - * rust/compile/empty_union.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/non_foreign_variadic_function.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/auto_trait_invalid.rs: Update old test with updated - error message. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/auto_trait_super_trait.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/generic_auto_trait.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/self_const_ptr.rs: New test. - * rust/compile/self_mut_ptr.rs: New test. - * rust/compile/self_ptr.rs: New test. - -2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/trait_pub_type.rs: New test. - -2024-01-30 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113659 - * gcc.dg/pr113659.c: New testcase. - -2024-01-30 Iain Sandoe <iain@sandoe.co.uk> - - PR target/112861 - * lib/gdc.exp: Decide on whether to present -B or -L to reference - the paths to uninstalled libphobos and libstdc++ and use that to - generate the link flags. - -2024-01-30 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113623 - * gcc.c-torture/compile/pr113623.c: New test. - -2024-01-30 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113636 - * go.dg/pr113636.go: New test. - -2024-01-30 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113603 - * gcc.c-torture/compile/pr113603.c: New test. - -2024-01-30 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/101195 - * gcc.dg/pr101195.c: New test. - -2024-01-30 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113622 - * gcc.target/i386/pr113622-2.c: Use -msse2 instead of -msse in - dg-options. - * gcc.target/i386/pr113622-3.c: Likewise. - -2024-01-30 Alexandre Oliva <oliva@adacore.com> - - Revert: - 2023-12-26 David Edelsohn <dje.gcc@gmail.com> - - * 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. - -2024-01-30 H.J. Lu <(no_default)> - - * gcc.target/i386/libcall-1.c: Limit to lp64 target. - * gcc.target/i386/pr107057.c: Likewise. - -2024-01-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Adapt test. - * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/mod-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/shift-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/shift-2.c: Ditto. - -2024-01-29 Alexandre Oliva <oliva@adacore.com> - - * lib/target-supports.exp (check_effective_target_shared): - Check for a static-only libc. - -2024-01-29 Alexandre Oliva <oliva@adacore.com> - - * c-c++-common/dfp/pr36800.c: Drop dg-do overrider. - * c-c++-common/dfp/pr39034.c: Likewise. - * c-c++-common/dfp/pr39035.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/builtin-snan-1.c: Likewise. - * gcc.dg/dfp/builtin-tgmath-dfp.c: Likewise. - * gcc.dg/dfp/c23-float-dfp-4.c: Likewise. - * gcc.dg/dfp/c23-float-dfp-5.c: Likewise. - * gcc.dg/dfp/c23-float-dfp-6.c: Likewise. - * gcc.dg/dfp/c23-float-dfp-7.c: Likewise. - * gcc.dg/dfp/pr108068.c: Likewise. - * gcc.dg/dfp/pr97439.c: Likewise. - * g++.dg/compat/decimal/pass-1_main.C: Require dfprt. - * g++.dg/compat/decimal/pass-2_main.C: Likewise. - * g++.dg/compat/decimal/pass-3_main.C: Likewise. - * g++.dg/compat/decimal/pass-4_main.C: Likewise. - * g++.dg/compat/decimal/pass-5_main.C: Likewise. - * g++.dg/compat/decimal/pass-6_main.C: Likewise. - * g++.dg/compat/decimal/return-1_main.C: Likewise. - * g++.dg/compat/decimal/return-2_main.C: Likewise. - * g++.dg/compat/decimal/return-3_main.C: Likewise. - * g++.dg/compat/decimal/return-4_main.C: Likewise. - * g++.dg/compat/decimal/return-5_main.C: Likewise. - * g++.dg/compat/decimal/return-6_main.C: Likewise. - * g++.dg/eh/dfp-1.C: Likewise. - * g++.dg/eh/dfp-2.C: Likewise. - * g++.dg/eh/dfp-saves-aarch64.C: Likewise. - * gcc.c-torture/execute/pr80692.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. - -2024-01-29 Jose E. Marchesi <jose.marchesi@oracle.com> - - * gcc.target/bpf/naked-1.c: Update test to not expect an exit - instruction in naked function. - * gcc.target/bpf/naked-2.c: New test. - -2024-01-29 Patrick O'Neill <patrick@rivosinc.com> - - * gcc.target/riscv/rvv/vsetvl/pr113429.c: Add - require-effective-target rv64 and riscv_v - -2024-01-29 Jason Merrill <jason@redhat.com> - - PR c++/113544 - * g++.dg/cpp1y/lambda-generic-nested3.C: New test. - -2024-01-29 Matthieu Longo <matthieu.longo@arm.com> - - PR target/108933 - * gcc.target/arm/rev16.c: Moved to... - * gcc.target/arm/rev16_1.c: ...here. - * gcc.target/arm/rev16_2.c: New test to check that rev16 is emitted. - -2024-01-29 Richard Biener <rguenther@suse.de> - - PR middle-end/113622 - * gcc.target/i386/pr113622-2.c: New testcase. - * gcc.target/i386/pr113622-3.c: Likewise. - -2024-01-29 Richard Biener <rguenther@suse.de> - - PR middle-end/113622 - * gcc.target/i386/pr113622-1.c: New testcase. - -2024-01-29 Alex Coplan <alex.coplan@arm.com> - - PR target/113616 - * gcc.c-torture/compile/pr113616.c: New test. - -2024-01-29 H.J. Lu <hjl.tools@gmail.com> - - PR target/38534 - * gcc.target/i386/pr38534-5.c: New file. - * gcc.target/i386/pr38534-6.c: Likewise. - -2024-01-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> - - PR target/112950 - * gcc.target/aarch64/sve/acle/general/dupq_5.c: Remove include directive - and instead use #pragma GCC for including arm_sve.h. - -2024-01-29 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113281 - * gcc.dg/vect/pr113281-1.c: New test. - * gcc.dg/vect/pr113281-2.c: Likewise. - * gcc.dg/vect/pr113281-3.c: Likewise. - * gcc.dg/vect/pr113281-4.c: Likewise. - * gcc.dg/vect/pr113281-5.c: Likewise. - -2024-01-29 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/110603 - * gcc.c-torture/compile/pr110603.c: New test. - -2024-01-29 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/109705 - * lib/target-supports.exp (check_effective_target_vect_long_mult): - Fix powerpc*-*-* checks by considering ilp32. - -2024-01-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113377 - * gfortran.dg/optional_absent_11.f90: New test. - -2024-01-28 Iain Sandoe <iain@sandoe.co.uk> - - * obj-c++.dg/encode-10.mm: Remove unneeded '-lobjc' option addition. - * obj-c++.dg/encode-9.mm: Likewise. - -2024-01-28 Iain Sandoe <iain@sandoe.co.uk> - - * jit.dg/jit.exp: Filter error output to remove per-run - variable content. - -2024-01-27 Jose E. Marchesi <jose.marchesi@oracle.com> - - * gcc.target/bpf/helper-skb-ancestor-cgroup-id.c: Add constant - version of kernel helper static pointer. - -2024-01-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/104908 - * gfortran.dg/pr104908.f90: New test. - -2024-01-27 H.J. Lu <hjl.tools@gmail.com> - - PR target/38534 - * gcc.target/i386/pr38534-1.c: New file. - * gcc.target/i386/pr38534-2.c: Likewise. - * gcc.target/i386/pr38534-3.c: Likewise. - * gcc.target/i386/pr38534-4.c: Likewise. - * gcc.target/i386/stack-check-17.c: Updated. - -2024-01-27 H.J. Lu <hjl.tools@gmail.com> - - PR target/103503 - PR target/113312 - * gcc.dg/torture/no-callee-saved-run-1a.c: New file. - * gcc.dg/torture/no-callee-saved-run-1b.c: Likewise. - * gcc.target/i386/no-callee-saved-1.c: Likewise. - * gcc.target/i386/no-callee-saved-2.c: Likewise. - * gcc.target/i386/no-callee-saved-3.c: Likewise. - * gcc.target/i386/no-callee-saved-4.c: Likewise. - * gcc.target/i386/no-callee-saved-5.c: Likewise. - * gcc.target/i386/no-callee-saved-6.c: Likewise. - * gcc.target/i386/no-callee-saved-7.c: Likewise. - * gcc.target/i386/no-callee-saved-8.c: Likewise. - * gcc.target/i386/no-callee-saved-9.c: Likewise. - * gcc.target/i386/no-callee-saved-10.c: Likewise. - * gcc.target/i386/no-callee-saved-11.c: Likewise. - * gcc.target/i386/no-callee-saved-12.c: Likewise. - * gcc.target/i386/no-callee-saved-13.c: Likewise. - * gcc.target/i386/no-callee-saved-14.c: Likewise. - * gcc.target/i386/no-callee-saved-15.c: Likewise. - * gcc.target/i386/no-callee-saved-16.c: Likewise. - * gcc.target/i386/no-callee-saved-17.c: Likewise. - * gcc.target/i386/no-callee-saved-18.c: Likewise. - -2024-01-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113614 - * gcc.dg/torture/bitint-54.c: New test. - -2024-01-27 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113568 - * gcc.dg/bitint-78.c: New test. - -2024-01-27 Lewis Hyatt <lhyatt@gmail.com> - - PR preprocessor/105608 - * g++.dg/pch/line-map-1.C: New test. - * g++.dg/pch/line-map-1.Hs: New test. - * g++.dg/pch/line-map-2.C: New test. - * g++.dg/pch/line-map-2.Hs: New test. - * g++.dg/pch/line-map-3.C: New test. - * g++.dg/pch/line-map-3.Hs: New test. - -2024-01-26 Hans-Peter Nilsson <hp@axis.com> - - * g++.dg/Wattributes-3.C: Adjust expected warning. - * gcc.dg/fail_always_inline.c: Ditto. - -2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113580 - * g++.dg/modules/pr113580_a.C: New test. - * g++.dg/modules/pr113580_b.C: New test. - -2024-01-26 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/cset-sext-rtl.c: New file. - * gcc.target/riscv/cset-sext-rtl32.c: New file. - * gcc.target/riscv/cset-sext-sfb-rtl.c: New file. - * gcc.target/riscv/cset-sext-sfb-rtl32.c: New file. - * gcc.target/riscv/cset-sext-thead-rtl.c: New file. - * gcc.target/riscv/cset-sext-ventana-rtl.c: New file. - * gcc.target/riscv/cset-sext-zicond-rtl.c: New file. - * gcc.target/riscv/cset-sext-zicond-rtl32.c: New file. - -2024-01-26 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/pr105314-rtl.c: New file. - * gcc.target/riscv/pr105314-rtl32.c: New file. - -2024-01-26 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/pr105314.c: Scan the RTL "ce1" pass too. - -2024-01-26 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/pr105314.c: Replace `dg-options' command with - `dg-skip-if'. Also reject "bne" with `dg-final'. - -2024-01-26 Gaius Mulley <gaiusmod2@gmail.com> - - * gm2/pim/fail/badpointer4.mod: New test. - * gm2/pim/fail/strconst.def: New test. - -2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/112899 - * g++.dg/modules/init-4_a.C: New test. - * g++.dg/modules/init-4_b.C: New test. - * g++.dg/modules/init-6_a.H: New test. - * g++.dg/modules/init-6_b.C: New test. - -2024-01-26 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113602 - * gcc.dg/pr113602.c: New testcase. - -2024-01-26 Jiahao Xu <xujiahao@loongson.cn> - - * gcc.target/loongarch/vect-extract.c: New test. - -2024-01-26 Jiahao Xu <xujiahao@loongson.cn> - - * gcc.target/loongarch/short-circuit.c: New test. - -2024-01-26 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.dg/signbit-2.c: Added additional "-mlsx" compilation options. - * gfortran.dg/graphite/vect-pr40979.f90: Dito. - * gfortran.dg/vect/fast-math-mgrid-resid.f: Dito. - -2024-01-26 Li Wei <liwei@loongson.cn> - - * gcc.target/loongarch/invariant-recip.c: New test. - -2024-01-26 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/109705 - * gcc.dg/vect/pr25413a.c: Expect 1 vectorized loops for !vect_long_mult - and 2 for vect_long_mult. - -2024-01-26 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113469 - * gcc.target/riscv/rvv/autovec/pr113469.c: New test. - -2024-01-25 Jakub Jelinek <jakub@redhat.com> - - PR c++/113599 - * g++.dg/expr/ptrmem11.C: New test. - -2024-01-25 Jason Merrill <jason@redhat.com> - - PR c++/113598 - * g++.dg/cpp0x/initlist-pmf2.C: New test. - -2024-01-25 Jason Merrill <jason@redhat.com> - - PR c++/109227 - * g++.dg/coroutines/co-await-initlist2.C: New test. - -2024-01-25 Gaius Mulley <gaiusmod2@gmail.com> - - * gm2/pim/fail/badpointer.mod: New test. - * gm2/pim/fail/badpointer2.mod: New test. - * gm2/pim/fail/badpointer3.mod: New test. - * gm2/projects/pim/run/pass/pegfive/pegfive.mod: New test. - * gm2/projects/pim/run/pass/pegfive/projects-pim-run-pass-pegfive.exp: New test. - -2024-01-25 Robin Dapp <rdapp.gcc@gmail.com> - - * gcc.target/riscv/rvv/autovec/pr112971.c: New test. - -2024-01-25 Robin Dapp <rdapp@ventanamicro.com> - - PR testsuite/113558 - * gcc.dg/vect/no-scevccp-outer-7.c: Add target check. - * gcc.dg/vect/vect-outer-4c-big-array.c: Ditto. - * 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-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. - -2024-01-25 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/112969 - * c-c++-common/analyzer/compound-assignment-5.c (test_3): Remove - xfails, reorder tests. - * c-c++-common/analyzer/compound-assignment-pr112969.c: New test. - * gcc.dg/plugin/infoleak-pr112969.c: New test. - * gcc.dg/plugin/plugin.exp: Add infoleak-pr112969.c to - analyzer_kernel_plugin.c tests. - -2024-01-25 Mary Bennett <mary.bennett@embecosm.com> - - * gcc.target/riscv/cv-simd-abs-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-abs-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-add-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-add-div2-compile-1.c: New test. - * gcc.target/riscv/cv-simd-add-div4-compile-1.c: New test. - * gcc.target/riscv/cv-simd-add-div8-compile-1.c: New test. - * gcc.target/riscv/cv-simd-add-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-add-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-add-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-and-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-and-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-and-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-and-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-avg-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-avg-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-avgu-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-avgu-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpeq-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpeq-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpge-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpge-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpge-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpge-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgeu-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgeu-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgt-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgt-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgtu-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpgtu-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmple-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmple-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmple-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmple-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpleu-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpleu-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmplt-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmplt-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmplt-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmplt-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpltu-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpltu-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpne-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpne-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpne-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cmpne-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxconj-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxmul-i-div2-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxmul-i-div4-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxmul-i-div8-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxmul-r-div2-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxmul-r-div4-compile-1.c: New test. - * gcc.target/riscv/cv-simd-cplxmul-r-div8-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotsp-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotsp-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotsp-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotsp-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotup-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotup-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotup-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotup-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotusp-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotusp-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotusp-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-dotusp-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-extract-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-extract-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-extractu-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-extractu-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-insert-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-insert-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-march-compile-1.c: New test. - * gcc.target/riscv/cv-simd-max-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-max-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-max-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-max-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-maxu-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-maxu-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-maxu-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-maxu-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-min-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-min-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-min-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-min-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-minu-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-minu-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-minu-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-minu-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-neg-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-neg-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-or-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-or-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-or-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-or-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-pack-compile-1.c: New test. - * gcc.target/riscv/cv-simd-pack-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-packhi-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-packlo-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotsp-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotsp-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotsp-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotsp-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotup-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotup-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotup-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotup-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotusp-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotusp-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotusp-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sdotusp-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-shuffle-sci-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-shuffle2-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-shuffle2-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-shufflei0-sci-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-shufflei1-sci-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-shufflei2-sci-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-shufflei3-sci-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sll-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sll-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sll-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sll-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sra-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sra-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sra-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sra-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-srl-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-srl-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-srl-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-srl-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sub-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sub-div2-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sub-div4-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sub-div8-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sub-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sub-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-sub-sc-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-subrotmj-compile-1.c: New test. - * gcc.target/riscv/cv-simd-subrotmj-div2-compile-1.c: New test. - * gcc.target/riscv/cv-simd-subrotmj-div4-compile-1.c: New test. - * gcc.target/riscv/cv-simd-subrotmj-div8-compile-1.c: New test. - * gcc.target/riscv/cv-simd-xor-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-xor-h-compile-1.c: New test. - * gcc.target/riscv/cv-simd-xor-sc-b-compile-1.c: New test. - * gcc.target/riscv/cv-simd-xor-sc-h-compile-1.c: New test. - * lib/target-supports.exp: Add proc for XCVsimd extension. - -2024-01-25 Yanzhang Wang <yanzhang.wang@intel.com> - - PR target/113538 - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Fix the asm - check. - * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-1.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-2.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-3.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-4.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-error-1.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-return-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-return.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-variant_cc.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-2.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-69.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-70.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-71.c: Ditto. - * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vadd.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vfadd.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vget_vset.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vloxseg2ei16.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vreinterpret.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vadd.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vfadd.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vget_vset.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vloxseg2ei16.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vreinterpret.c: Ditto. - * gcc.target/riscv/rvv/base/spill-10.c: Ditto. - * gcc.target/riscv/rvv/base/spill-11.c: Ditto. - * gcc.target/riscv/rvv/base/spill-9.c: Ditto. - * gcc.target/riscv/rvv/base/tuple_vundefined.c: Ditto. - * gcc.target/riscv/rvv/base/vcreate.c: Ditto. - * gcc.target/riscv/rvv/base/vlmul_ext-1.c: Ditto. - * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Ditto. - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Ditto. - * lib/target-supports.exp: Remove the flag. - -2024-01-25 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113574 - * gcc.dg/torture/bitint-52.c: New test. - -2024-01-25 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113572 - * gcc.target/aarch64/sve/pr113572.c: New test. - -2024-01-25 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113550 - * gcc.target/aarch64/pr113550.c: New test. - -2024-01-25 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113485 - * gcc.target/aarch64/pr113485.c: New test. - * gcc.target/aarch64/pr113573.c: Likewise. - -2024-01-25 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/113548 - * gcc.dg/vect/slp-reduc-10a.c: Use `__SIZETYPE__` instead of `unsigned long`. - * gcc.dg/vect/slp-reduc-10b.c: Likewise. - * gcc.dg/vect/slp-reduc-10c.c: Likewise. - * gcc.dg/vect/slp-reduc-10d.c: Likewise. - * gcc.dg/vect/slp-reduc-10e.c: Likewise. - * gcc.dg/vect/vect-cond-arith-2.c: Likewise. - * gcc.dg/vect/vect-ifcvt-19.c: Likewise. - -2024-01-25 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113576 - * gcc.dg/vect/pr113576.c: New testcase. - -2024-01-25 Haochen Gui <guihaoc@gcc.gnu.org> - - * gcc.target/powerpc/block-cmp-1.c: Exclude m32 and mpowerpc64. - * gcc.target/powerpc/block-cmp-4.c: Likewise. - * gcc.target/powerpc/block-cmp-8.c: New. - -2024-01-25 liuhongt <hongtao.liu@intel.com> - - * c-c++-common/hwasan/alloca-outside-caught.c: Adjust - testcase. - * c-c++-common/hwasan/hwasan-poison-optimisation.c: Ditto. - * c-c++-common/hwasan/vararray-outside-caught.c: Ditto. - -2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113405 - * g++.dg/modules/concept-9.h: New test. - * g++.dg/modules/concept-9_a.C: New test. - * g++.dg/modules/concept-9_b.C: New test. - * g++.dg/modules/concept-10_a.H: New test. - * g++.dg/modules/concept-10_b.C: New test. - -2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/100707 - * g++.dg/modules/indirect-1_b.C: Adjust to handle namespaces not - being attached to the module they were imported from. - * g++.dg/modules/indirect-1_c.C: Likewise. - * g++.dg/modules/indirect-2_b.C: Likewise. - * g++.dg/modules/indirect-2_c.C: Likewise. - * g++.dg/modules/indirect-3_b.C: Likewise. - * g++.dg/modules/indirect-3_c.C: Likewise. - * g++.dg/modules/indirect-4_b.C: Likewise. - * g++.dg/modules/indirect-4_c.C: Likewise. - * g++.dg/modules/namespace-5_a.C: New test. - * g++.dg/modules/namespace-5_b.C: New test. - * g++.dg/modules/namespace-5_c.C: New test. - -2024-01-25 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/adx-check.h: Include stdio.h when DEBUG - is defined. - * gcc.target/i386/avx512fp16-vscalefph-1b.c: Do not define - DEBUG. - * gcc.target/i386/avx512fp16vl-vaddph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vcmpph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vdivph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vfpclassph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vgetexpph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vgetmantph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vmaxph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vminph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vmulph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrcpph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vreduceph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrndscaleph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vrsqrtph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vscalefph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vsqrtph-1b.c: Ditto. - * gcc.target/i386/avx512fp16vl-vsubph-1b.c: Ditto. - * gcc.target/i386/readeflags-1.c: Include stdio.h when DEBUG - is defined. - * gcc.target/i386/rtm-check.h: Ditto. - * gcc.target/i386/sha-check.h: Ditto. - * gcc.target/i386/writeeflags-1.c: Ditto. - -2024-01-25 Andrew Pinski <quic_apinski@quicinc.com> - - * lib/target-supports.exp (check_effective_target_vect_long_mult): Fix - small typo for aarch64*-*-*. - -2024-01-24 Patrick Palka <ppalka@redhat.com> - - PR c++/113529 - * g++.dg/cpp2a/spaceship-sfinae3.C: New test. - -2024-01-24 Jason Merrill <jason@redhat.com> - - PR c++/113347 - * g++.dg/eh/return3.C: New test. - -2024-01-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113377 - * gfortran.dg/optional_absent_10.f90: New test. - -2024-01-24 Andrew Pinski <quic_apinski@quicinc.com> - - PR testsuite/109705 - * lib/target-supports.exp (check_effective_target_vect_long_mult): - Fix aarch64*-*-* checks. - -2024-01-24 Martin Jambor <mjambor@suse.cz> - - PR ipa/108007 - PR ipa/112616 - * gcc.dg/ipa/pr108007.c: New test. - * gcc.dg/ipa/pr112616.c: Likewise. - -2024-01-24 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113486 - * gcc.target/aarch64/builtin_apply-1.c: New test. - -2024-01-24 Monk Chiang <monk.chiang@sifive.com> - - * gcc.target/riscv/sfb.c: New test. - * gcc.target/riscv/pr113095.c: New test. - -2024-01-24 Tamar Christina <tamar.christina@arm.com> - - PR target/109636 - * gcc.target/aarch64/sve/pr109636_1.c: New test. - * gcc.target/aarch64/sve/pr109636_2.c: New test. - * gcc.target/aarch64/sve2/pr109636_1.c: New test. - -2024-01-24 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113552 - * gcc.target/aarch64/pr113552.c: New test. - * gcc.target/aarch64/simd_pcs_attribute-3.c: Remove bogus check. - -2024-01-24 Martin Jambor <mjambor@suse.cz> - - PR ipa/113490 - * gcc.dg/ipa/pr113490.c: New test. - -2024-01-24 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/112977 - * gcc.dg/plugin/plugin.exp: Add taint-pr112977.c. - * gcc.dg/plugin/taint-pr112977.c: New test. - -2024-01-24 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/112927 - * gcc.dg/plugin/analyzer_kernel_plugin.c - (class known_function___check_object_size): New. - (kernel_analyzer_init_cb): Register it. - * gcc.dg/plugin/plugin.exp: Add taint-pr112927.c. - * gcc.dg/plugin/taint-pr112927.c: New test. - -2024-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR target/113556 - * gcc.dg/vect/vect-simd-clone-16c.c: Don't wildcard x86_64 in - target specs. Allow any i?86 target instead of i686 only. - * gcc.dg/vect/vect-simd-clone-16d.c: Likewise. - * gcc.dg/vect/vect-simd-clone-17c.c: Likewise. - * gcc.dg/vect/vect-simd-clone-17d.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18c.c: Likewise. - * gcc.dg/vect/vect-simd-clone-18d.c: Likewise. - -2024-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * gcc.target/i386/pr80833-1.c: Add -mno-stackrealign to dg-options. - -2024-01-24 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113364 - * gcc.dg/vect/vect-early-break_107-pr113364.c: New test. - -2024-01-24 Patrick O'Neill <patrick@rivosinc.com> - - PR target/113429 - * gcc.target/riscv/rvv/vsetvl/pr113429.c: New test. - -2024-01-24 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113495 - * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: Adapt test. - -2024-01-23 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/pr113292_c.C: Require TLS. - -2024-01-23 Marek Polacek <polacek@redhat.com> - - PR c++/113256 - PR c++/111607 - PR c++/109640 - * g++.dg/warn/Wdangling-reference14.C: New test. - * g++.dg/warn/Wdangling-reference15.C: New test. - * g++.dg/warn/Wdangling-reference16.C: New test. - -2024-01-23 Jakub Jelinek <jakub@redhat.com> - - PR c/113518 - * gcc.dg/bitint-77.c: New test. - -2024-01-23 Andrew Pinski <quic_apinski@quicinc.com> - Richard Sandiford <richard.sandiford@arm.com> - - PR target/100942 - * gcc.target/aarch64/ccmp_3.c: New test. - * gcc.target/aarch64/ccmp_4.c: New test. - * gcc.target/aarch64/ccmp_5.c: New test. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113089 - * gcc.c-torture/compile/pr113089.c: New test. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113356 - * gcc.target/aarch64/pr113356.C: New test. - -2024-01-23 Xi Ruoyao <xry111@xry111.site> - - * g++.target/loongarch/got-load.C (dg-options): Add - -fno-stack-protector. - -2024-01-23 H.J. Lu <(no_default)> - - PR rtl-optimization/113255 - * gcc.dg/torture/pr113255.c (dg-additional-options): Add only - if not ia32. - -2024-01-23 Alex Coplan <alex.coplan@arm.com> - - PR target/113114 - * gcc.c-torture/compile/pr113114.c: New test. - * gcc.target/aarch64/pr113114.c: New test. - -2024-01-23 Richard Biener <rguenther@suse.de> - - PR debug/107058 - * c-c++-common/pr107058.c: New testcase. - -2024-01-23 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/112820 - PR c++/102607 - * g++.dg/modules/debug-2_a.C: New test. - * g++.dg/modules/debug-2_b.C: New test. - * g++.dg/modules/debug-2_c.C: New test. - * g++.dg/modules/debug-3_a.C: New test. - * g++.dg/modules/debug-3_b.C: New test. - -2024-01-23 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c: Check - for la.tls.ld and la.tls.gd. - -2024-01-23 Richard Biener <rguenther@suse.de> - - PR rtl-optimization/113255 - * gcc.dg/torture/pr113255.c: New testcase. - -2024-01-23 Richard Biener <rguenther@suse.de> - - PR debug/112718 - * gcc.dg/debug/pr112718.c: New testcase. - -2024-01-22 Marek Polacek <polacek@redhat.com> - - PR c++/109642 - * g++.dg/warn/Wdangling-reference17.C: Additional testing. - -2024-01-22 John David Anglin <danglin@gcc.gnu.org> - - PR debug/113382 - * gcc.dg/debug/btf/btf-bitfields-3.c: Add -gno-strict-dwarf - option to dg-options. - * gcc.dg/debug/btf/btf-enum-1.c: Likewise. - * gcc.dg/debug/btf/btf-enum-small.c: Likewise. - * gcc.dg/debug/btf/btf-enum64-1.c: Likewise. - -2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/vsetvl/attribute-2.c: New test. - * gcc.target/riscv/rvv/vsetvl/attribute-3.c: New test. - -2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/109092 - * gcc.target/riscv/rvv/base/pr109092.c: New test. - -2024-01-22 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113373 - * gcc.dg/vect/vect-early-break_104-pr113373.c: New testcase. - -2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/vsetvl/attribute-1.c: New test. - -2024-01-22 xuli <xuli1@eswincomputing.com> - - PR target/113420 - * gcc.target/riscv/rvv/base/pr113420-1.c: New test. - * gcc.target/riscv/rvv/base/pr113420-2.c: New test. - -2024-01-22 Jeff Law <jlaw@ventanamicro.com> - - * gcc.target/sh/pr59533-1.c: Adjust expected output. - -2024-01-21 Mary Bennett <mary.bennett@embecosm.com> - - * gcc.target/riscv/cv-alu-fail-compile.c: Change warning to error. - -2024-01-21 Co-authored-by: Thorsten Otto <admin@tho-otto.de> - - PR target/82420 - * gcc.target/m68k/pr82420.c: New test. - -2024-01-21 Roger Sayle <roger@nextmovesoftware.com> - Richard Biener <rguenther@suse.de> - - PR rtl-optimization/111267 - * gcc.target/i386/pr111267.c: New test case. - -2024-01-21 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113377 - * gfortran.dg/optional_absent_9.f90: New test. - -2024-01-21 Martin Uecker <uecker@tugraz.at> - - PR c/113492 - * gcc.dg/pr113492.c: New test. - -2024-01-20 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/ipa/iinline-4.c: Remove dg-final xfail for - 32-bit hppa*-*-*. - * gcc.dg/ipa/inline-5.c: Likewise. - * gcc.dg/ipa/ipcp-cstagg-7.c: Likewise. - * gcc.dg/tree-ssa/vector-4.c: Likewise. - -2024-01-20 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/tree-ssa/slsr-13.c: xfail scan-tree-dump-times - checks on hppa*64*-*-*. - -2024-01-20 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/torture/pr110422.c: Require target lra. - -2024-01-20 Marek Polacek <polacek@redhat.com> - - PR c++/111410 - * g++.dg/warn/Wdangling-reference17.C: New test. - -2024-01-20 Andrew Pinski <quic_apinski@quicinc.com> - - PR ipa/110705 - * gcc.c-torture/compile/pr110705-1.c: New test. - -2024-01-20 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113462 - * gcc.dg/bitint-76.c: New test. - -2024-01-20 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113491 - * gcc.dg/torture/bitint-51.c: New test. - -2024-01-19 Mikael Pettersson <mikpelinux@gmail.com> - - PR target/110934 - * gcc.target/m68k/pr110934.c: New test. - -2024-01-19 Mikael Pettersson <mikpelinux@gmail.com> - - PR target/108640 - * gcc.target/m68k/pr108640.c: New test. - -2024-01-19 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: New test. - * jit.dg/test-popcount.c: New test. - -2024-01-19 Antoni Boucher <bouanto@zoho.com> - - * jit.dg/test-reflection.c: Add check to make sure - gcc_jit_type_is_integral returns 0 on a vector type. - -2024-01-19 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113471 - * gfortran.dg/bounds_check_24.f90: New test. - -2024-01-19 Jason Merrill <jason@redhat.com> - - PR c++/113498 - * g++.dg/cpp2a/concepts-using4.C: New test. - -2024-01-19 Jason Merrill <jason@redhat.com> - - PR c++/112632 - PR c++/112594 - PR c++/111357 - PR c++/104594 - PR c++/67898 - * g++.dg/cpp0x/alias-decl-nontype1.C: New test. - * g++.dg/cpp2a/concepts-narrowing1.C: New test. - * g++.dg/cpp2a/nontype-class63.C: New test. - * g++.dg/cpp2a/nontype-class63a.C: New test. - -2024-01-19 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/torture/pr47917.c: Limit dg-xfail-run-if for - hpux11.[012]* to -O0. - -2024-01-19 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/pthread-init-2.c: Change dg-options for hpux - to define _HPUX_SOURCE. - -2024-01-19 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/pr84877.c: Only xfail on 32-bit hppa*-*-*. - -2024-01-19 John David Anglin <danglin@gcc.gnu.org> - - PR analyzer/112705 - * gcc.dg/analyzer/pr94688.c: Skip on hppa*64*-*-*. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/arch-27.c: Update scan message. - * gcc.target/riscv/arch-28.c: Ditto. - * gcc.target/riscv/attribute-10.c: Ditto. - * gcc.target/riscv/rvv/base/big_endian-2.c: Ditto. - * gcc.target/riscv/rvv/base/zvl-unimplemented-1.c: Ditto. - * gcc.target/riscv/rvv/base/zvl-unimplemented-2.c: Ditto. - -2024-01-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113464 - * gcc.dg/bitint-75.c: New test. - -2024-01-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113463 - * gcc.dg/bitint-74.c: New test. - -2024-01-19 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113459 - * gcc.dg/bitint-73.c: New test. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/arch-23.c: Update test. - * gcc.target/riscv/arch-27.c: Ditto. - * gcc.target/riscv/arch-28.c: Ditto. - * gcc.target/riscv/attribute-10.c: Ditto. - -2024-01-19 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/arch-33.c: New. - * gcc.target/riscv/arch-34.c: New. - -2024-01-19 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/part-vect-copysignhf.c: Remove - -ftree-vectorize from dg-options. - -2024-01-19 liuhongt <hongtao.liu@intel.com> - - PR testsuite/113437 - * gcc.dg/tree-ssa/pr95906.c: Scan either MAX_EXPR or - VEC_COND_EXPR. - -2024-01-18 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/pic-2.c: Skip on hppa*64*-*-*. - -2024-01-18 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/111361 - * c-c++-common/analyzer/strlen-pr111361.c: New test. - * c-c++-common/analyzer/strncpy-1.c (test_zero_fill): Remove fixed - xfail. - * c-c++-common/analyzer/strncpy-pr111361.c: New test. - -2024-01-18 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/112811 - * c-c++-common/analyzer/strlen-pr112811.c: New test. - -2024-01-18 H.J. Lu <(no_default)> - - * lib/hwasan-dg.exp (hwasan_init): Always set target_hwasan_flags. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/rvv/xtheadvector/vlb-vsb.c: New test. - * gcc.target/riscv/rvv/xtheadvector/vlbu-vsb.c: New test. - * gcc.target/riscv/rvv/xtheadvector/vlh-vsh.c: New test. - * gcc.target/riscv/rvv/xtheadvector/vlhu-vsh.c: New test. - * gcc.target/riscv/rvv/xtheadvector/vlw-vsw.c: New test. - * gcc.target/riscv/rvv/xtheadvector/vlwu-vsw.c: New test. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/rvv/base/pragma-1.c: Add XTheadVector. - * gcc.target/riscv/rvv/base/abi-1.c: Exclude XTheadVector. - * lib/target-supports.exp: Add target for XTheadVector. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/rvv/xtheadvector/prefix.c: New test. - -2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> - Jin Ma <jinma@linux.alibaba.com> - Xianmiao Qu <cooper.qu@linux.alibaba.com> - Christoph Müllner <christoph.muellner@vrull.eu> - - * gcc.target/riscv/predef-__riscv_th_v_intrinsic.c: New test. - * gcc.target/riscv/rvv/xtheadvector.c: New test. - -2024-01-18 Marek Polacek <polacek@redhat.com> - - PR c++/113389 - * g++.dg/cpp23/explicit-obj-diagnostics10.C: New test. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * jit.dg/test-ggc-bugfix.c: Add libSystem for Darwin. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * jit.dg/test-always_inline-attribute.c: Handle Darwin in - jit-verify-assembler-output. - * jit.dg/test-noinline-attribute.c: Likewise. - * jit.dg/test-setting-alignment.c: Likewise. - * jit.dg/test-used-attribute.c: Likewise. - * jit.dg/test-variable-attribute.c: Likewise. - * jit.dg/test-weak-attribute.c: Likewise. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * jit.dg/jit.exp: Accept target clauses in jit-verify-assembler - handling. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * jit.dg/test-link-section-assembler.c: Accept any whitespace - between the .section directive and its arguments. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - * jit.dg/test-alias-attribute.c: Require target alias - support. - -2024-01-18 Iain Sandoe <iain@sandoe.co.uk> - - PR target/105522 - * gcc.dg/pr105522.c: New file. - -2024-01-18 Jakub Jelinek <jakub@redhat.com> - - PR bootstrap/113445 - * gcc.dg/pr113445.c: New test. - -2024-01-18 Martin Jambor <mjambor@suse.cz> - - PR tree-optimization/110422 - * gcc.dg/torture/pr110422.c: New test. - -2024-01-18 H.J. Lu <hjl.tools@gmail.com> - - * lib/hwasan-dg.exp (check_effective_target_hwaddress_exec): - Return 1 if Intel LAM_U57 is enabled. - (hwasan_init): Add -mlam=u57 on x86-64. - -2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-1.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-2.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-3.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-4.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-5.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-6.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-7.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-8.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-9.c: New test. - * gcc.target/riscv/rvv/autovec/cmp/macro.h: New test. - -2024-01-18 Jakub Jelinek <jakub@redhat.com> - - PR target/113122 - * gcc.target/i386/pr113122-1.c: New test. - * gcc.target/i386/pr113122-2.c: New test. - * gcc.target/i386/pr113122-3.c: New test. - * gcc.target/i386/pr113122-4.c: New test. - -2024-01-18 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/112774 - PR testsuite/113446 - * gcc.dg/tree-ssa/scev-16.c: Move test ... - * gcc.dg/vect/pr112774.c: ... here. Add PR comment line, use - dg-additional-options instead of dg-options and drop - -fdump-tree-vect-details. - -2024-01-18 Jakub Jelinek <jakub@redhat.com> - - PR testsuite/113452 - * gcc.target/i386/sse4_1-stv-1.c: Add -fno-tree-vectorize to - dg-options. - -2024-01-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113431 - * gcc.dg/vect/pr113431.c: New testcase. - -2024-01-18 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113374 - * gcc.dg/vect/vect-early-break_106-pr113374.c: New testcase. - -2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/bb-slp-subgroups-3.c: Add !vect128. - -2024-01-18 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.dg/tree-ssa/gen-vect-2.c: Added detection of compilation - behavior and "-mlsx" option on LoongArch. - * gcc.dg/tree-ssa/gen-vect-25.c: Dito. - -2024-01-18 Lulu Cheng <chenglulu@loongson.cn> - - * g++.target/loongarch/got-load.C: New test. - -2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/bb-slp-43.c: Add vect128. - -2024-01-18 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/111850 - * gcc.target/powerpc/fold-vec-extract-char.p7.c: Update the - checking count of addi to 6. - -2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113429 - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: Adapt test. - * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Ditto. - -2024-01-17 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/112588 - * g++.dg/modules/merge-16.h: New test. - * g++.dg/modules/merge-16_a.C: New test. - * g++.dg/modules/merge-16_b.C: New test. - -2024-01-17 Andrew Pinski <quic_apinski@quicinc.com> - - PR target/113221 - * gcc.c-torture/compile/pr113221-1.c: New test. - -2024-01-17 Patrick Palka <ppalka@redhat.com> - - PR c++/113242 - PR c++/99493 - * g++.dg/cpp2a/nontype-class61.C: New test. - * g++.dg/cpp2a/nontype-class62.C: New test. - -2024-01-17 Hans-Peter Nilsson <hp@bitrange.com> - - * gcc.dg/torture/inline-mem-cpy-1.c: Pass -DRUN_FRACTION=11 - when testing in a simulator. - * gcc.dg/memcmp-1.c [RUN_FRACTION]: Add machinery to run only - for each RUN_FRACTION:th iteration. - (main): Call initialize_skip_iteration_count. - (test_driver_memcmp): Check SKIP_ITERATION for each iteration. - -2024-01-17 Jan Hubicka <jh@suse.cz> - Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/110852 - * gcc.dg/predict-18.c: Update template to expect combined value predictor. - * gcc.dg/predict-23.c: New test. - * gcc.dg/tree-ssa/predict-1.c: New test. - * gcc.dg/tree-ssa/predict-2.c: New test. - * gcc.dg/tree-ssa/predict-3.c: New test. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113421 - * gcc.dg/torture/bitint-50.c: New test. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113410 - * gcc.dg/bitint-72.c: New test. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113408 - * gcc.dg/bitint-71.c: New test. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR middle-end/113406 - * gcc.dg/bitint-70.c: New test. - -2024-01-17 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/110251 - * gcc.c-torture/compile/pr110251.c: New test. - -2024-01-17 Pan Li <pan2.li@intel.com> - - * gcc.target/riscv/rvv/autovec/vls/shift-1.c: Fix asm check - count. - * gcc.target/riscv/rvv/autovec/vls/shift-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto. - -2024-01-17 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113371 - * gcc.dg/vect/pr113371.c: New testcase. - -2024-01-17 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/mips.exp (mips_option_groups): - Add -mxgot/-mno-xgot options. - * gcc.target/mips/xgot-n32-avoid-gp.c: New test. - * gcc.target/mips/xgot-n32-need-gp.c: New test. - -2024-01-16 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/113292 - * g++.dg/modules/pr113292_a.H: New test. - * g++.dg/modules/pr113292_b.C: New test. - * g++.dg/modules/pr113292_c.C: New test. - -2024-01-16 Marek Polacek <polacek@redhat.com> - - PR c++/113340 - * g++.dg/cpp23/explicit-obj-diagnostics9.C: New test. - -2024-01-16 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/pr111409.c: Add hppa*-*-hpux* to targets which do - not support split DWARF. - -2024-01-16 waffl3x <waffl3x@protonmail.com> - - PR c++/113307 - * g++.dg/cpp23/explicit-obj-diagnostics3.C: Add test for - rejection of packs. - -2024-01-16 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/array-quals-1.c: Add .data.rel.ro.local to read only - sections. - -2024-01-16 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/atomic/stdatomic-flag.c: Remove xfail. - * gcc.dg/atomic/stdatomic-flag-2.c: Likewise. - -2024-01-16 John David Anglin <danglin@gcc.gnu.org> - - PR tree-optimization/110794 - * g++.dg/pr99966.C: xfail scan-tree-dump-not throw on hppa*64*-*-*. - -2024-01-16 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/c23-tag-alias-2.c: Require target lto. - * gcc.dg/c23-tag-alias-3.c: Likewise. - * gcc.dg/gnu23-tag-alias-3.c: Likewise. - * gcc.dg/scantest-lto.c: Likewise. - -2024-01-16 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/cmp-mem-const-3.c: Skip on lp64 hppa*-*-*. - * gcc.dg/cmp-mem-const-4.c: Likewise. - * gcc.dg/cmp-mem-const-5.c: Likewise. - * gcc.dg/cmp-mem-const-6.c: Likewise. - -2024-01-16 John David Anglin <danglin@gcc.gnu.org> - - PR tree-optimization/91624 - * gcc.dg/tree-ssa/sra-17.c: xfail all scan-tree-dump-times - checks on hppa*64*-*-*. - * gcc.dg/tree-ssa/sra-18.c: Likewise. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/tuple_float_index.rs: New test. - -2024-01-16 Raiki Tamura <tamaron1203@gmail.com> - - * rust/compile/v0-mangle2.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/invalid_variadics.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/invalid_label_name.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/lifetime_name_validation.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/pattern_variadic.rs: New test. - * rust/execute/torture/named_variadic.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/extern_c_named_variadic.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/parse_variadic_function.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/issue-2709.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/not_a_float_literal_tuple_index.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/issue-2665.rs: New test. - -2024-01-16 Jakub Dupak <dev@jakubdupak.com> - - * rust/compile/tupple_struct_pattern_tuple.rs: New test. - -2024-01-16 Raiki Tamura <tamaron1203@gmail.com> - - * rust/compile/v0-mangle1.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/closure_in_closure.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/macro-issue2653.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/macro57.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/macro_rules_macro_rules.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/while_break_expr.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/range_from_expr_for_loop.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/parse_item_default_macro.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/parse_generic_path_expr.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/match_break.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/parse_pub_unit_type.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/parse_global_path_generic.rs: New test. - -2024-01-16 Jakub Dupak <dev@jakubdupak.com> - - * rust/compile/issue-2645.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/wrong_lhs_assignment.rs: update error message - * rust/compile/issue-2391.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/variadic.rs: Added new checks. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/assume.rs: New test. - -2024-01-16 Dave Evans <dave@dmetwo.org> - - * rust/compile/issue-2431.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/privacy6.rs: Uncomment commented out functions. - * rust/compile/privacy9.rs: Fix unused variables. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/privacy9.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/cfg2.rs: Updated according to new message. - * rust/compile/issue-2139.rs: likewise. - * rust/compile/issue-2190-1.rs: likewise. - * rust/compile/method1.rs: likewise. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/execute/torture/iter1.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/generics7.rs: Added Errorcode hint. - * rust/compile/generics8.rs: Updated dejagnu comment. - * rust/compile/issue-925.rs: Added Errorcode hint. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/issue-2029.rs: - Updated for dejagnu testcase. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/privacy1.rs: Added errorcode. - * rust/compile/privacy3.rs: likewise. - * rust/compile/privacy4.rs: likewise. - * rust/compile/privacy5.rs: likewise. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/type-if.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/let_alt.rs: Updated comment. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/iterators1.rs: this should be casting to the $ty - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/execute/torture/issue-2583.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/nested_macro_definition.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/match4.rs: - Updated new error commment. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/issue-1725-2.rs: - Updated dejagnu message. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/iterators1.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/generics13.rs: - for dejagnu, - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/issue-2479.rs: Updated comment. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/issue-1589.rs: Updated comment for dejagnu. - * rust/compile/trait-cycle.rs: New relevant test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/generics10.rs: for dejagnu. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/generics6.rs: Updated dejagnu comment. - * rust/compile/generics7.rs: likewise. - * rust/compile/issue-925.rs: likewise. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/issue-2514.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/match5.rs: - Updated comment for dejagnu. - * rust/compile/pattern-struct.rs: New test for ICE. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/inline_2.rs: Added new message. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/auto_trait_invalid.rs: - Updated comment. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/bad_inner_doc.rs: - Updated comment to pass testcase. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/inline_2.rs: Added new case. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/bad_as_bool_char.rs: - Updated comment to pass test case. - * rust/compile/cast1.rs: likewise. - * rust/compile/cast4.rs: likewise. - * rust/compile/cast5.rs: likewise. - * rust/compile/all-cast.rs: New test for all error codes. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/attr_deprecated_2.rs: - Updated comment to pass the testcase. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/abi-options1.rs: updated comment for testcase. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/arrays2.rs: changed comment to pass - testcase. - -2024-01-16 Raiki Tamura <tamaron1203@gmail.com> - - * rust/compile/unicode_norm1.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/name_resolution10.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/name_resolution6.rs: New test. - * rust/compile/name_resolution7.rs: New test. - * rust/compile/name_resolution8.rs: New test. - * rust/compile/name_resolution9.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/undeclared_label.rs: New test for E0426. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/feature.rs: Added new unknown feature. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/arrays1.rs: changed comment to pass testcase. - * rust/compile/bad_type1.rs: likewise. - * rust/compile/bad_type2.rs: likewise. - * rust/compile/const_generics_6.rs: likewise. - * rust/compile/deadcode_err1.rs: likewise. - * rust/compile/deadcode_err2.rs: likewise. - * rust/compile/func1.rs: likewise. - * rust/compile/func3.rs: likewise. - * rust/compile/func4.rs: likewise. - * rust/compile/func5.rs: likewise. - * rust/compile/generics1.rs: likewise. - * rust/compile/generics2.rs: likewise. - * rust/compile/generics3.rs: likewise. - * rust/compile/implicit_returns_err1.rs: likewise. - * rust/compile/implicit_returns_err2.rs: likewise. - * rust/compile/implicit_returns_err3.rs: likewise. - * rust/compile/implicit_returns_err4.rs: likewise. - * rust/compile/issue-1152.rs: likewise. - * rust/compile/issue-2477.rs: likewise. - * rust/compile/reference1.rs: likewise. - * rust/compile/stmt_with_block_err1.rs: likewise. - * rust/compile/traits1.rs: likewise. - * rust/compile/traits2.rs: likewise. - * rust/compile/tuple_mismatch.rs: likewise. - * rust/compile/tuple_struct3.rs: likewise. - * rust/compile/mismatched-types.rs: New test from rustc. - -2024-01-16 Marc Poulhiès <dkm@kataplop.net> - - * rust/compile/empty_file: New file. - * rust/compile/issue-2421_str.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2479.rs: New test. - -2024-01-16 Raiki Tamura <tamaron1203@gmail.com> - - * rust/compile/bad-crate-name.rs: Moved to... - * rust/compile/bad-crate-name1.rs: ...here. - * rust/compile/bad-crate-name2.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2477.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/bounds1.rs: Apply sized trait - * rust/compile/canonical_paths1.rs: likewise - * rust/compile/cast_generics.rs: likewise - * rust/compile/closure_no_type_anno.rs: likewise - * rust/compile/complex_qualified_path_in_expr.rs: likewise - * rust/compile/const-issue1440.rs: likewise - * rust/compile/const_generics_1.rs: likewise - * rust/compile/const_generics_8.rs: likewise - * rust/compile/derive_macro1.rs: likewise - * rust/compile/derive_macro3.rs: likewise - * rust/compile/derive_macro4.rs: likewise - * rust/compile/derive_macro6.rs: likewise - * rust/compile/expected_type_args2.rs: likewise - * rust/compile/expected_type_args3.rs: likewise - * rust/compile/generics1.rs: likewise - * rust/compile/generics11.rs: likewise - * rust/compile/generics12.rs: likewise - * rust/compile/generics2.rs: likewise - * rust/compile/generics3.rs: likewise - * rust/compile/generics4.rs: likewise - * rust/compile/generics6.rs: likewise - * rust/compile/generics7.rs: likewise - * rust/compile/generics8.rs: likewise - * rust/compile/if_let_expr.rs: likewise - * rust/compile/issue-1005.rs: likewise - * rust/compile/issue-1019.rs: likewise - * rust/compile/issue-1031.rs: likewise - * rust/compile/issue-1034.rs: likewise - * rust/compile/issue-1128.rs: likewise - * rust/compile/issue-1129-2.rs: likewise - * rust/compile/issue-1130.rs: likewise - * rust/compile/issue-1131.rs: likewise - * rust/compile/issue-1165.rs: likewise - * rust/compile/issue-1173.rs: likewise - * rust/compile/issue-1235.rs: likewise - * rust/compile/issue-1237.rs: likewise - * rust/compile/issue-1289.rs: likewise - * rust/compile/issue-1383.rs: likewise - * rust/compile/issue-1447.rs: likewise - * rust/compile/issue-1589.rs: likewise - * rust/compile/issue-1725-1.rs: likewise - * rust/compile/issue-1725-2.rs: likewise - * rust/compile/issue-1773.rs: likewise - * rust/compile/issue-1786.rs: likewise - * rust/compile/issue-1893.rs: likewise - * rust/compile/issue-1901.rs: likewise - * rust/compile/issue-1930.rs: likewise - * rust/compile/issue-1981.rs: likewise - * rust/compile/issue-2019-1.rs: likewise - * rust/compile/issue-2019-2.rs: likewise - * rust/compile/issue-2019-3.rs: likewise - * rust/compile/issue-2036.rs: likewise - * rust/compile/issue-2037.rs: likewise - * rust/compile/issue-2070.rs: likewise - * rust/compile/issue-2105.rs: likewise - * rust/compile/issue-2106.rs: likewise - * rust/compile/issue-2135.rs: likewise - * rust/compile/issue-2136-1.rs: likewise - * rust/compile/issue-2136-2.rs: likewise - * rust/compile/issue-2139.rs: likewise - * rust/compile/issue-2142.rs: likewise - * rust/compile/issue-2165.rs: likewise - * rust/compile/issue-2166.rs: likewise - * rust/compile/issue-2190-1.rs: likewise - * rust/compile/issue-2190-2.rs: likewise - * rust/compile/issue-2195.rs: likewise - * rust/compile/issue-2238.rs: likewise - * rust/compile/issue-2304.rs: likewise - * rust/compile/issue-850.rs: likewise - * rust/compile/issue-855.rs: likewise - * rust/compile/issue-925.rs: likewise - * rust/compile/macro-issue1400.rs: likewise - * rust/compile/macro20.rs: likewise - * rust/compile/macro23.rs: likewise - * rust/compile/macro40.rs: likewise - * rust/compile/macro54.rs: likewise - * rust/compile/name_resolution2.rs: likewise - * rust/compile/name_resolution4.rs: likewise - * rust/compile/nested_generic.rs: likewise - * rust/compile/parse_associated_type_as_generic_arg.rs: likewise - * rust/compile/parse_associated_type_as_generic_arg2.rs: likewise - * rust/compile/parse_associated_type_as_generic_arg3.rs: likewise - * rust/compile/parse_complex_generic_application.rs: likewise - * rust/compile/parse_complex_generic_application2.rs: likewise - * rust/compile/path_as_generic_arg.rs: likewise - * rust/compile/privacy4.rs: likewise - * rust/compile/privacy6.rs: likewise - * rust/compile/sizeof-stray-infer-var-bug.rs: likewise - * rust/compile/stmt_with_block_dot.rs: likewise - * rust/compile/torture/associated_types1.rs: likewise - * rust/compile/torture/forward_decl_5.rs: likewise - * rust/compile/torture/generics1.rs: likewise - * rust/compile/torture/generics10.rs: likewise - * rust/compile/torture/generics11.rs: likewise - * rust/compile/torture/generics12.rs: likewise - * rust/compile/torture/generics13.rs: likewise - * rust/compile/torture/generics14.rs: likewise - * rust/compile/torture/generics15.rs: likewise - * rust/compile/torture/generics16.rs: likewise - * rust/compile/torture/generics17.rs: likewise - * rust/compile/torture/generics18.rs: likewise - * rust/compile/torture/generics19.rs: likewise - * rust/compile/torture/generics2.rs: likewise - * rust/compile/torture/generics20.rs: likewise - * rust/compile/torture/generics21.rs: likewise - * rust/compile/torture/generics22.rs: likewise - * rust/compile/torture/generics23.rs: likewise - * rust/compile/torture/generics24.rs: likewise - * rust/compile/torture/generics25.rs: likewise - * rust/compile/torture/generics26.rs: likewise - * rust/compile/torture/generics27.rs: likewise - * rust/compile/torture/generics28.rs: likewise - * rust/compile/torture/generics29.rs: likewise - * rust/compile/torture/generics3.rs: likewise - * rust/compile/torture/generics30.rs: likewise - * rust/compile/torture/generics31.rs: likewise - * rust/compile/torture/generics32.rs: likewise - * rust/compile/torture/generics4.rs: likewise - * rust/compile/torture/generics5.rs: likewise - * rust/compile/torture/generics6.rs: likewise - * rust/compile/torture/generics7.rs: likewise - * rust/compile/torture/generics8.rs: likewise - * rust/compile/torture/generics9.rs: likewise - * rust/compile/torture/intrinsics-2.rs: likewise - * rust/compile/torture/intrinsics-6.rs: likewise - * rust/compile/torture/intrinsics-7.rs: likewise - * rust/compile/torture/intrinsics-8.rs: likewise - * rust/compile/torture/issue-1024.rs: likewise - * rust/compile/torture/issue-1075.rs: likewise - * rust/compile/torture/issue-1432.rs: likewise - * rust/compile/torture/issue-1555.rs: likewise - * rust/compile/torture/issue-368.rs: likewise - * rust/compile/torture/issue-808.rs: likewise - * rust/compile/torture/issue-862.rs: likewise - * rust/compile/torture/issue-893-2.rs: likewise - * rust/compile/torture/issue-893.rs: likewise - * rust/compile/torture/must_use2.rs: likewise - * rust/compile/torture/nested_fn2.rs: likewise - * rust/compile/torture/phantom_data.rs: likewise - * rust/compile/torture/range-lang-item1.rs: likewise - * rust/compile/torture/traits1.rs: likewise - * rust/compile/torture/traits11.rs: likewise - * rust/compile/torture/traits12.rs: likewise - * rust/compile/torture/traits13.rs: likewise - * rust/compile/torture/traits14.rs: likewise - * rust/compile/torture/traits15.rs: likewise - * rust/compile/torture/traits16.rs: likewise - * rust/compile/torture/traits17.rs: likewise - * rust/compile/torture/traits18.rs: likewise - * rust/compile/torture/traits19.rs: likewise - * rust/compile/torture/traits2.rs: likewise - * rust/compile/torture/traits3.rs: likewise - * rust/compile/torture/traits4.rs: likewise - * rust/compile/torture/traits5.rs: likewise - * rust/compile/torture/traits6.rs: likewise - * rust/compile/torture/traits7.rs: likewise - * rust/compile/torture/traits8.rs: likewise - * rust/compile/torture/traits9.rs: likewise - * rust/compile/torture/transmute-size-check-1.rs: likewise - * rust/compile/torture/transmute1.rs: likewise - * rust/compile/torture/uninit-intrinsic-1.rs: likewise - * rust/compile/torture/utf8_identifiers.rs: likewise - * rust/compile/traits1.rs: likewise - * rust/compile/traits10.rs: likewise - * rust/compile/traits11.rs: likewise - * rust/compile/traits12.rs: likewise - * rust/compile/traits2.rs: likewise - * rust/compile/traits3.rs: likewise - * rust/compile/traits4.rs: likewise - * rust/compile/traits5.rs: likewise - * rust/compile/traits6.rs: likewise - * rust/compile/traits7.rs: likewise - * rust/compile/traits8.rs: likewise - * rust/compile/traits9.rs: likewise - * rust/compile/type-bindings1.rs: likewise - * rust/compile/unconstrained_type_param.rs: likewise - * rust/compile/unsafe10.rs: likewise - * rust/execute/torture/closure1.rs: likewise - * rust/execute/torture/closure2.rs: likewise - * rust/execute/torture/closure3.rs: likewise - * rust/execute/torture/closure4.rs: likewise - * rust/execute/torture/coercion1.rs: likewise - * rust/execute/torture/coercion2.rs: likewise - * rust/execute/torture/coercion3.rs: likewise - * rust/execute/torture/copy_nonoverlapping1.rs: likewise - * rust/execute/torture/derive_macro1.rs: likewise - * rust/execute/torture/derive_macro3.rs: likewise - * rust/execute/torture/derive_macro4.rs: likewise - * rust/execute/torture/index1.rs: likewise - * rust/execute/torture/issue-1120.rs: likewise - * rust/execute/torture/issue-1133.rs: likewise - * rust/execute/torture/issue-1198.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-1720-2.rs: likewise - * rust/execute/torture/issue-1720.rs: likewise - * rust/execute/torture/issue-2052.rs: likewise - * rust/execute/torture/issue-2179.rs: likewise - * rust/execute/torture/issue-2180.rs: likewise - * rust/execute/torture/issue-2236.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/macros23.rs: likewise - * rust/execute/torture/macros28.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_3.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/prefetch_data.rs: likewise - * rust/execute/torture/ref-pattern2.rs: likewise - * rust/execute/torture/slice-magic.rs: likewise - * rust/execute/torture/slice-magic2.rs: likewise - * rust/execute/torture/slice1.rs: likewise - * rust/execute/torture/str-layout1.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/transmute1.rs: likewise - * rust/execute/torture/wrapping_op1.rs: likewise - * rust/execute/torture/wrapping_op2.rs: likewise - * rust/link/generic_function_0.rs: likewise - * rust/link/generic_function_1.rs: likewise - * rust/compile/issue-2375.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/non_member_const.rs: add missing error message - * rust/compile/issue-2478.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/break2.rs: Modified file to pass test case. - * rust/compile/break_with_value_inside_loop.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_attribute_non_root_function.rs: New test. - * rust/compile/proc_macro_attribute_non_root_method.rs: New test. - * rust/compile/proc_macro_attribute_non_root_module.rs: New test. - * rust/compile/proc_macro_derive_non_root_function.rs: New test. - * rust/compile/proc_macro_derive_non_root_method.rs: New test. - * rust/compile/proc_macro_derive_non_root_module.rs: New test. - * rust/compile/proc_macro_non_root_function.rs: New test. - * rust/compile/proc_macro_non_root_method.rs: New test. - * rust/compile/proc_macro_non_root_module.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_pub_function.rs: New test. - * rust/compile/proc_macro_pub_module.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_attribute_crate_type.rs: Replace - dg-excess-errors with dg-error and fix the line so the test - can pass. - * rust/compile/proc_macro_crate_type.rs: Likewise. - * rust/compile/proc_macro_derive_crate_type.rs: Likewise. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_attribute_private.rs: New test. - * rust/compile/proc_macro_derive_private.rs: New test. - * rust/compile/proc_macro_private.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_derive_non_function.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_attribute_non_function.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_non_function.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/abi-vardaic.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/non_member_const.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/break1.rs: Modified to pass test case. - * rust/compile/continue1.rs: likewise. - * rust/compile/break_continue_outside_loop.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_derive_malformed.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/proc_macro_attribute_crate_type.rs: New test. - * rust/compile/proc_macro_crate_type.rs: New test. - * rust/compile/proc_macro_derive_crate_type.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/found_struct.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/changed_intrinsics.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/torture/intrinsics-3.rs: Updated comment to pass the test case. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/bad_pub_enumitems.rs: changed comment to pass test cases. - * rust/compile/dup_fields.rs: likewise. - * rust/execute/same_field_name.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/wrong_lhs_assignment.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/func2.rs: updated comment to pass new test cases. - * rust/compile/tuple_struct2.rs: likewise. - * rust/compile/wrong_no_of_parameters.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - GuillaumeGomez <guillaume1.gomez@gmail.com> - - * rust/compile/name_resolution1.rs: New test. - * rust/compile/name_resolution2.rs: New test. - * rust/compile/name_resolution3.rs: New test. - * rust/compile/name_resolution4.rs: New test. - * rust/compile/name_resolution5.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/link/trait_import_0.rs: Mark test as xfail. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/break-rust2.rs: Updated comment to pass testcase. - * rust/compile/const_generics_3.rs: likewise. - * rust/compile/const_generics_4.rs: likewise. - * rust/compile/not_find_value_in_scope.rs: New test. - -2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> - - * rust/compile/missing_constructor_fields.rs: New test. - -2024-01-16 Raiki Tamura <tamaron1203@gmail.com> - - * rust/compile/broken_utf8.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro-issue2273.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2105.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/rust_abi.rs: New test. - -2024-01-16 Raiki Tamura <tamaron1203@gmail.com> - - * rust/compile/bytecharstring.rs:add test for it - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro56.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1981.rs: Fix badly copied libcore code test - * rust/compile/issue-2330.rs: New test. - -2024-01-16 Raiki Tamura <tamaron1203@gmail.com> - - * rust/compile/torture/raw_identifiers.rs: New test. - * rust/compile/torture/utf8_identifiers.rs: New test. - -2024-01-16 Raiki Tamura <tamaron1203@gmail.com> - - * rust/compile/torture/utf8_whitespaces.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro-issue2268.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro-issue2264.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2304.rs: New test. - -2024-01-16 Matthew Jasper <mjjasper1@gmail.com> - - * rust/compile/macro54.rs: New test. - * rust/compile/macro55.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1893.rs: fully compile the test case - -2024-01-16 Matthew Jasper <mjjasper1@gmail.com> - - * rust/compile/braced_macro_arm.rs: New test. - * rust/compile/braced_macro_statements1.rs: New test. - * rust/compile/braced_macro_statements2.rs: New test. - * rust/compile/braced_macro_statements3.rs: New test. - * rust/compile/issue-2225.rs: Update test. - * rust/compile/macro53.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro6.rs: Remove check for direct error. - * rust/compile/macro7.rs: Likewise. - * rust/compile/macro-issue2229.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2036.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2019-2.rs: New test. - * rust/compile/issue-2019-3.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2019-1.rs: New test. - -2024-01-16 Dave Evans <dave@dmetwo.org> - - * rust/compile/issue-1813.rs: New test. - -2024-01-16 TieWay59 <tieway59@foxmail.com> - - * rust/compile/break1.rs: remove dg-error "failed to type resolve expression" - * rust/compile/break2.rs: Likewise - * rust/compile/cfg2.rs: Likewise - * rust/compile/continue1.rs: Likewise - * rust/compile/generics4.rs: Likewise - * rust/compile/generics6.rs: Likewise - * rust/compile/generics7.rs: Likewise - * rust/compile/issue-2029.rs: Likewise - * rust/compile/issue-2139.rs: Likewise - * rust/compile/issue-2190-1.rs: Likewise - * rust/compile/issue-925.rs: Likewise - * rust/compile/method1.rs: Likewise - * rust/compile/shadow1.rs: Likewise - * rust/compile/type-bindings1.rs: Likewise - * rust/compile/unary_negation.rs: Likewise - * rust/compile/unary_not.rs: Likewise - * rust/compile/unconstrained_type_param.rs: Likewise - * rust/compile/usize1.rs: Likewise - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/traits2.rs: update error message - * rust/compile/traits3.rs: update error message - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/derive_empty.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/test_mod.rs: Moved to... - * rust/compile/issue-1089/test_mod.rs: ...here. - * rust/compile/mod_missing_middle.rs: Fix paths. - * rust/compile/missing_middle/both_path.rs: Moved to... - * rust/compile/mod_missing_middle/missing_middle/both_path.rs: ...here. - * rust/compile/missing_middle/explicit.not.rs: Moved to... - * rust/compile/mod_missing_middle/missing_middle/explicit.not.rs: ...here. - * rust/compile/missing_middle/other.rs: Moved to... - * rust/compile/mod_missing_middle/missing_middle/explicit.not/other.rs: ...here. - * rust/compile/missing_middle/inner_path.rs: Moved to... - * rust/compile/mod_missing_middle/missing_middle/inner_path.rs: ...here. - * rust/compile/missing_middle/outer_path.rs: Moved to... - * rust/compile/mod_missing_middle/missing_middle/outer_path.rs: ...here. - * rust/compile/missing_middle/sub/mod.rs: Moved to... - * rust/compile/mod_missing_middle/missing_middle/sub/mod.rs: ...here. - * rust/compile/torture/modules/mod.rs: Moved to... - * rust/compile/torture/extern_mod1/modules/mod.rs: ...here. - * rust/execute/torture/modules/mod.rs: Moved to... - * rust/execute/torture/extern_mod4/modules/mod.rs: ...here. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/derive_macro8.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2165.rs: New test. - * rust/compile/issue-2166.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/struct-expr-parse.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/derive_macro7.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/derive_macro4.rs: New test. - * rust/compile/derive_macro6.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/execute/torture/derive_macro4.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro-delim.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/macro43.rs: Fix test with new derive macros. - * rust/compile/derive_macro1.rs: New test. - * rust/compile/derive_macro3.rs: New test. - * rust/execute/torture/derive_macro1.rs: New test. - * rust/execute/torture/derive_macro3.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/cfg6.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2195.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2238.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/issue-2225.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/issue-2207.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/execute/torture/issue-2236.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2190-1.rs: New test. - * rust/compile/issue-2190-2.rs: New test. - -2024-01-16 Matthew Jasper <mjjasper1@gmail.com> - - * rust/compile/nested_macro_use3.rs: New test. - -2024-01-16 Matthew Jasper <mjjasper1@gmail.com> - - * rust/compile/cfg-attr.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/doc_macro.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro-issue2194.rs: New test. - -2024-01-16 Matthew Jasper <mjjasper1@gmail.com> - - * rust/compile/for_expr.rs: New test. - * rust/compile/issue-407-2.rs: Update compiler output. - * rust/compile/issue-407.rs: Update compiler output. - * rust/compile/issue-867.rs: Update compiler output. - * rust/compile/issue-2189.rs: New test. - * rust/compile/macro_call_statement.rs: New test. - * rust/compile/stmt_with_block_dot.rs: New test. - * rust/compile/torture/loop8.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro-issue2192.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/const-issue1440.rs: Remove LE conditional compilation. - * rust/compile/torture/issue-1432.rs: Likewise. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/execute/torture/coercion3.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/execute/torture/issue-2179.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/execute/torture/issue-2180.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2188.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/parse_specialization.rs: - Add "default unsafe" coverage. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2178.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/macro_use1.rs: New test. - * rust/execute/torture/macro_use1.rs: New test. - * rust/compile/nested_macro_use1.rs: New test. - * rust/compile/nested_macro_use2.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/issue-1446.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/execute/torture/cfg-tail.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro52.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/issue-2125.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2135.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2106.rs: New test. - * rust/compile/issue-1524.rs: regression (placeholder generic) - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2142.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2136-1.rs: New test. - * rust/compile/issue-2136-2.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2139.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1893.rs: regression - * rust/compile/traits12.rs: rustc uses a custom error message here - * rust/compile/unconstrained_type_param.rs: extra error message - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/execute/torture/issue-1852-1.rs: New test. - * rust/execute/torture/issue-1852.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/issue-1807.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/let_alt.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-852.rs: New test. - -2024-01-16 Sergey Bugaev <bugaevc@gmail.com> - - * lib/prune.exp (prune_ices): - Also prune "You have broken GCC Rust. This is a feature." - * rust/compile/break-rust1.rs: New test - * rust/compile/break-rust2.rs: New test - * rust/compile/break-rust3.rs: New test - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/if_let_expr.rs: Increase test coverage. - -2024-01-16 Sebastian Kirmayer <gnu@kirmayer.eu> - - * rust/compile/macro-issue2092.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/macro51.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2070.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/execute/torture/issue-2080.rs: New test. - -2024-01-16 Emanuele Micheletti <micheletti.emanuele@hotmail.com> - - * rust/compile/cast5.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/const_generics_5.rs: update test case - * rust/compile/issue-2043.rs: New test. - * rust/compile/issue-2039.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2042.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-925.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/bounds1.rs: Moved to... - * rust/compile/bounds1.rs: ...here. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2029.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/execute/torture/issue-2052.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/array4.rs: New test. - * rust/execute/torture/arrays.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/privacy8.rs: New test. - -2024-01-16 emanuele-em <micheletti.emanuele@hotmail.com> - - * rust/compile/cast4.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/macro49.rs: New test. - * rust/compile/macro50.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-2037.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1893.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-850.rs: New test. - * rust/compile/issue-855.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1981.rs: New test. - -2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> - - * rust/compile/torture/alt_patterns1.rs: New test. - -2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> - - * rust/compile/multiple_bindings2.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/sizeof-stray-infer-var-bug.rs: New test. - -2024-01-16 Tage Johansson <frans.tage@gmail.com> - - * rust/compile/macro47.rs: Test that :vis can be followed by some keywords - * rust/compile/macro48.rs: Test that :vis cannot be followed by the keyword priv - -2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> - - * rust/compile/multiple_bindings1.rs: New test. - -2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> - - * rust/execute/torture/closure4.rs: New test. - * rust/execute/torture/ref-pattern2.rs: New test. - -2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> - - * rust/compile/ref_pattern_fn_param.rs: Moved to... - * rust/compile/ref_pattern_fn_param1.rs: ...here. - * rust/compile/ref_pattern_fn_param2.rs: New test. - * rust/execute/torture/ref-pattern1.rs: New test. - -2024-01-16 goar5670 <mahadelr19@gmail.com> - - * rust/compile/ref_pattern_fn_param.rs: New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/lang-impl.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/stringify.rs: Add a basic test with some text. - * rust/execute/torture/builtin_macro_stringify.rs: Verify the - text is left as is without any other macro expansion. - -2024-01-16 Nikos Alexandris <nikos-alexandris@protonmail.com> - - * rust/compile/tuple_mismatch.rs: New test. - -2024-01-16 goar5670 <mahadelr19@gmail.com> - - * rust/compile/complex_qualified_path_in_expr.rs : New test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/closure_no_type_anno.rs: Extend test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1524.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/parse_associated_type_as_generic_arg3.rs: remove -fsyntax-only - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/parse_associated_type_as_generic_arg.rs: it now works without -fsyntax-only - * rust/compile/parse_associated_type_as_generic_arg2.rs: likewise - -2024-01-16 goar5670 <mahadelr19@gmail.com> - - * rust/compile/closure_no_type_anno.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/while_let_expr.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/torture/uninit-intrinsic-1.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/zero_sized_slice.rs: New test. - -2024-01-16 Nikos Alexandris <nikos-alexandris@protonmail.com> - - * rust/compile/builtin_macro_include_bytes_location_info.rs: New test. - * rust/compile/builtin_macro_include_str_location_info.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/slice_rest_pattern.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/if_let_expr.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/torture/intrinsics-8.rs: New test. - -2024-01-16 mxlol233 <mxlol233@outlook.com> - - * rust/compile/feature_extern_types.rs:New file. - -2024-01-16 bl7awy <mahadelr19@gmail.com> - - * rust/compile/cast_generics.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1901.rs: New test. - -2024-01-16 Philip Herron <herron.philip@googlemail.com> - - * rust/compile/issue-1930.rs: New test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/extern_type_item_missing_semi.rs: New failing - test. - -2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> - - * rust/compile/extern_type_item.rs: New test. - -2024-01-16 omkar-mohanty <franzohouser@gmail.com> - - * rust/compile/builtin_macro_eager3.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/parse_invalid_specialization.rs: New test. - * rust/compile/parse_specialization.rs: New test. - * rust/compile/default_not_a_kw.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/expand_macro_qual_path_in_type.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/auto_trait_invalid.rs: New test. - * rust/compile/auto_trait_valid.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/parse_associated_type_as_generic_arg3.rs: New test. - -2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> - - * rust/compile/parse_associated_type_as_generic_arg.rs: New test. - * rust/compile/parse_associated_type_as_generic_arg2.rs: New test. - * rust/compile/path_as_generic_arg.rs: New test. - * rust/compile/nested_generic.rs: New test. - -2024-01-16 mxlol233 <mxlol233@outlook.com> - - * rust/compile/builtin_macro_compile_error.rs: Add - crate feature `rustc_attri`. - * rust/compile/builtin_macro_concat.rs: Likewise. - * rust/compile/builtin_macro_eager1.rs: Likewise. - * rust/compile/builtin_macro_eager2.rs: Likewise. - * rust/compile/builtin_macro_env.rs: Likewise. - * rust/compile/builtin_macro_include_bytes.rs: - Likewise. - * rust/compile/builtin_macro_include_str.rs: - Likewise. - * rust/compile/builtin_macro_not_found.rs: - Likewise. - * rust/compile/builtin_macro_recurse2.rs: - Likewise. - * rust/compile/feature_rust_attri0.rs:New file. - * rust/compile/feature_rust_attri1.rs:New file. - * rust/compile/include_empty.rs:Add crate feature - `rustc_attri`. - * rust/compile/issue-1830_bytes.rs:Likewise. - * rust/compile/issue-1830_str.rs:Likewise. - * rust/compile/macro42.rs:Likewise. - * rust/execute/torture/builtin_macro_cfg.rs: - Likewise. - * 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/macros29.rs:Likewise. - * rust/execute/torture/macros30.rs:Likewise. - * rust/execute/torture/macros31.rs:Likewise. - -2024-01-16 Wilco Dijkstra <wilco.dijkstra@arm.com> - - PR target/112573 - * gcc.target/aarch64/pr112573.c: Add new test. - -2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> - - * rust/compile/pattern-or.rs: New test. - -2024-01-16 Daniel Cederman <cederman@gaisler.com> - - * gcc.dg/lto/pr88077_0.c: Change type to match alignment for SPARC - -2024-01-16 Daniel Cederman <cederman@gaisler.com> - - * gcc.dg/ifcvt-4.c: Skip for SPARC V8 - -2024-01-16 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113372 - PR middle-end/90348 - PR middle-end/110115 - PR middle-end/111422 - * gcc.dg/torture/bitint-49.c: New test. - * gcc.c-torture/execute/pr90348.c: New test. - * gcc.c-torture/execute/pr110115.c: New test. - * gcc.c-torture/execute/pr111422.c: New test. - -2024-01-16 Feng Xue <fxue@os.amperecomputing.com> - - * gcc.target/aarch64/bb-slp-pr113091.c: New test. - -2024-01-16 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113404 - * gcc.target/riscv/rvv/base/big_endian-1.c: New test. - * gcc.target/riscv/rvv/base/big_endian-2.c: New test. - -2024-01-16 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/109705 - * lib/target-supports.exp (check_effective_target_vect_long_mult): - Fix powerpc*-*-* checks. - -2024-01-16 Yanzhang Wang <yanzhang.wang@intel.com> - - * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: Delete the - -Wno-psabi. - * gcc.target/riscv/rvv/base/abi-call-args-1.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-2.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-3.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-args-4.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-error-1.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-return-run.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-return.c: Ditto. - * gcc.target/riscv/rvv/base/abi-call-variant_cc.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-1.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: Ditto. - * gcc.target/riscv/rvv/base/abi-callee-saved-2.c: Ditto. - * gcc.target/riscv/rvv/base/fixed-point-vxrm-error.c: Ditto. - * gcc.target/riscv/rvv/base/fixed-point-vxrm.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-cvt-f.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-cvt-x.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-cvt-xu.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-1.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-10.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-11.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-16.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-17.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-18.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-19.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-2.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-20.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-21.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-22.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-23.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-24.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-25.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-26.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-27.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-28.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-29.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-3.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-31.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-32.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-33.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-34.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-35.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-36.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-37.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-38.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-39.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-4.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-40.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-41.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-42.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-43.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-44.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-45.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-46.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-47.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-5.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-51.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-53.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-56.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-59.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-6.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-60.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-61.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-62.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-63.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-64.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-65.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-66.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-67.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-68.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-69.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-7.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-70.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-71.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-72.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-73.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-74.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-75.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-76.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-77.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-8.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-dynamic-frm-9.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-autovec-1.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-autovec-2.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-autovec-3.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-autovec-4.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-error.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: Ditto. - * 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-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-frm-run-4.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm-run-5.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-frm.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-fwmacc.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-macc.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-madd.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-msac.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-msub.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-ncvt-f.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-ncvt-x.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-ncvt-xu.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-nmacc.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-nmadd.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-nmsac.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-nmsub.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-rec7.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-redosum.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-redusum.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-single-div.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-single-mul.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-single-rdiv.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-single-rsub.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-single-sub.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-sqrt.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-wcvt-x.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-wcvt-xu.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-widening-add.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-widening-mul.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-widening-sub.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-wmsac.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-wnmacc.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-wnmsac.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-wredosum.c: Ditto. - * gcc.target/riscv/rvv/base/float-point-wredusum.c: Ditto. - * gcc.target/riscv/rvv/base/intrisinc-vrgatherei16.c: Ditto. - * gcc.target/riscv/rvv/base/no-honor-frm-1.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vadd.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vfadd.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vget_vset.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vloxseg2ei16.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vmv.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv32_vreinterpret.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vadd.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vfadd.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vget_vset.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vloxseg2ei16.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vmv.c: Ditto. - * gcc.target/riscv/rvv/base/overloaded_rv64_vreinterpret.c: Ditto. - * gcc.target/riscv/rvv/base/pr110119-1.c: Ditto. - * gcc.target/riscv/rvv/base/pr110119-2.c: Ditto. - * gcc.target/riscv/rvv/base/pr110265-1.c: Ditto. - * gcc.target/riscv/rvv/base/pr110265-2.c: Ditto. - * gcc.target/riscv/rvv/base/pr110265-3.c: Ditto. - * gcc.target/riscv/rvv/base/pr110277-1.c: Ditto. - * gcc.target/riscv/rvv/base/pr110277-2.c: Ditto. - * gcc.target/riscv/rvv/base/pr110299-1.c: Ditto. - * gcc.target/riscv/rvv/base/pr110299-2.c: Ditto. - * gcc.target/riscv/rvv/base/pr110299-3.c: Ditto. - * gcc.target/riscv/rvv/base/pr110299-4.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-0.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-1.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-10.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-2.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-3.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-4.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-5.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-6.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-7.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-8.c: Ditto. - * gcc.target/riscv/rvv/base/pr111720-9.c: Ditto. - * gcc.target/riscv/rvv/base/pr111935.c: Ditto. - * gcc.target/riscv/rvv/base/scalar-move-merged-run-1.c: Ditto. - * gcc.target/riscv/rvv/base/simplify-vdiv.c: Ditto. - * gcc.target/riscv/rvv/base/simplify-vrsub.c: Ditto. - * gcc.target/riscv/rvv/base/tuple-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/tuple_vundefined.c: Ditto. - * gcc.target/riscv/rvv/base/vcreate.c: Ditto. - * gcc.target/riscv/rvv/base/vlmul_ext-2.c: Ditto. - * gcc.target/riscv/rvv/base/vslide1down-1.c: Ditto. - * gcc.target/riscv/rvv/base/vslide1down-2.c: Ditto. - * gcc.target/riscv/rvv/base/vslide1down-3.c: Ditto. - * gcc.target/riscv/rvv/base/vslide1up-1.c: Ditto. - * gcc.target/riscv/rvv/base/vslide1up-2.c: Ditto. - * gcc.target/riscv/rvv/base/vslide1up-3.c: Ditto. - * gcc.target/riscv/rvv/base/zvbb-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvbb_vandn_vx_constraint.c: Ditto. - * gcc.target/riscv/rvv/base/zvbc-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvbc_vx_constraint-1.c: Ditto. - * gcc.target/riscv/rvv/base/zvbc_vx_constraint-2.c: Ditto. - * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvkg-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvkned-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvknha-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvknhb-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvksed-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvksh-intrinsic.c: Ditto. - -2024-01-16 Yanzhang Wang <yanzhang.wang@intel.com> - - * gcc.target/riscv/rvv/base/binop_vx_constraint-120.c: Delete the -Wno-psabi. - * gcc.target/riscv/rvv/base/integer_compare_insn_shortcut.c: Ditto. - * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: Ditto. - * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: Ditto. - * gcc.target/riscv/rvv/base/pr110109-2.c: Ditto. - * gcc.target/riscv/rvv/base/scalar_move-9.c: Ditto. - * gcc.target/riscv/rvv/base/spill-10.c: Ditto. - * gcc.target/riscv/rvv/base/spill-11.c: Ditto. - * gcc.target/riscv/rvv/base/spill-9.c: Ditto. - * gcc.target/riscv/rvv/base/vlmul_ext-1.c: Ditto. - * gcc.target/riscv/rvv/base/zero_base_load_store_optimization.c: Ditto. - * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: Ditto. - * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Ditto. - * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: Ditto. - * gcc.target/riscv/rvv/base/vector-abi-1.c: Removed. - * gcc.target/riscv/rvv/base/vector-abi-2.c: Removed. - * gcc.target/riscv/rvv/base/vector-abi-3.c: Removed. - * gcc.target/riscv/rvv/base/vector-abi-4.c: Removed. - * gcc.target/riscv/rvv/base/vector-abi-5.c: Removed. - * gcc.target/riscv/rvv/base/vector-abi-6.c: Removed. - * gcc.target/riscv/rvv/base/vector-abi-7.c: Removed. - * gcc.target/riscv/rvv/base/vector-abi-8.c: Removed. - -2024-01-16 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/106229 - * c-c++-common/analyzer/taint-index-pr106229.c: New test. - -2024-01-16 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/113333 - * c-c++-common/analyzer/calloc-1.c: Add tests. - * c-c++-common/analyzer/pr96639.c: Update expected results. - * gcc.dg/analyzer/data-model-9.c: Likewise. - -2024-01-15 Marek Polacek <polacek@redhat.com> - - PR c++/110065 - * g++.dg/concepts/auto8.C: New test. - * g++.dg/concepts/auto8a.C: New test. - -2024-01-15 Patrick Palka <ppalka@redhat.com> - - * g++.dg/template/partial-specialization14.C: New test. - -2024-01-15 Patrick Palka <ppalka@redhat.com> - - PR c++/104634 - * g++.dg/cpp2a/concepts-explicit-inst6.C: New test. - -2024-01-15 Patrick Palka <ppalka@redhat.com> - - PR c++/109899 - * g++.dg/cpp0x/initlist-array21.C: New test. - -2024-01-15 H.J. Lu <hjl.tools@gmail.com> - - PR testsuite/113369 - * g++.dg/abi/ref-temp1.C: Remove --save-temps. - * g++.target/i386/bfloat_cpp_typecheck.C: Likewise. - * gcc.dg/debug/dwarf2/pr111080.c: Likewise. - * gcc.dg/debug/dwarf2/pr47939-1.c: Likewise. - * gcc.dg/debug/dwarf2/pr47939-2.c: Likewise. - * gcc.dg/debug/dwarf2/pr47939-3.c: Likewise. - * gcc.dg/debug/dwarf2/pr47939-4.c: Likewise. - -2024-01-15 Jakub Jelinek <jakub@redhat.com> - - PR rtl-optimization/113048 - * gcc.target/i386/pr113048.c: New test. - -2024-01-15 Liao Shihua <shihua@iscas.ac.cn> - - * gcc.target/riscv/scalar_bitmanip_intrinsic-32.c: New test. - * gcc.target/riscv/scalar_bitmanip_intrinsic-64-emulated.c: New test. - * gcc.target/riscv/scalar_bitmanip_intrinsic-64.c: New test. - -2024-01-15 Liao Shihua <shihua@iscas.ac.cn> - - * gcc.target/riscv/scalar_crypto_intrinsic-32.c: New test. - * gcc.target/riscv/scalar_crypto_intrinsic-64.c: New test. - -2024-01-15 Liao Shihua <shihua@iscas.ac.cn> - - * gcc.target/riscv/zbb_32_bswap-2.c: Moved to... - * gcc.target/riscv/zbb_bswap16.c: ...here. - * gcc.target/riscv/zbkb32.c: Remove __builtin_riscv_(un)zip and - zip,__builtin_riscv_brev8. - * gcc.target/riscv/zbkb64.c: Remove __builtin_riscv_brev8. - * gcc.target/riscv/zbb_32_bswap-1.c: Removed. - * gcc.target/riscv/zbb_bswap-1.c: Removed. - * gcc.target/riscv/zbb_bswap-2.c: Removed. - * gcc.target/riscv/zbbw.c: Removed. - * gcc.target/riscv/zbc32.c: Removed. - * gcc.target/riscv/zbc64.c: Removed. - * gcc.target/riscv/zbkc32.c: Removed. - * gcc.target/riscv/zbkc64.c: Removed. - * gcc.target/riscv/zbkx32.c: Removed. - * gcc.target/riscv/zbkx64.c: Removed. - * gcc.target/riscv/zknd32-2.c: Removed. - * gcc.target/riscv/zknd64-2.c: Removed. - * gcc.target/riscv/zkne32-2.c: Removed. - * gcc.target/riscv/zkne64-2.c: Removed. - * gcc.target/riscv/zknh-sha256-32.c: Removed. - * gcc.target/riscv/zknh-sha256-64.c: Removed. - * gcc.target/riscv/zknh-sha512-32.c: Removed. - * gcc.target/riscv/zknh-sha512-64.c: Removed. - * gcc.target/riscv/zksed32-2.c: Removed. - * gcc.target/riscv/zksed64-2.c: Removed. - * gcc.target/riscv/zksh32.c: Removed. - * gcc.target/riscv/zksh64.c: Removed. - -2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113247 - * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: Adapt test. - * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/pr113247-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/pr113247-2.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/pr113247-3.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/pr113247-4.c: New test. - -2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113281 - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-3.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-4.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-5.c: New test. - -2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/vls/reduc-1.c: Add dump check. - * gcc.target/riscv/rvv/autovec/vls/reduc-10.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-11.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-12.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-13.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-14.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-15.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-16.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-17.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-18.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-7.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-8.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/reduc-9.c: Ditto. - -2024-01-15 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113370 - * gcc.dg/torture/bitint-48.c: New test. - -2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113393 - * gcc.target/riscv/rvv/autovec/pr113393-1.c: New test. - * gcc.target/riscv/rvv/autovec/pr113393-2.c: New test. - * gcc.target/riscv/rvv/autovec/pr113393-3.c: New test. - -2024-01-15 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/unaligned-2.c: Add -mno-abicalls option. - -2024-01-14 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/builtin-object-size-1.c: Disable tests for strdup/strndup - on __hpux__. - * gcc.dg/builtin-object-size-2.c: Likewise. - * gcc.dg/builtin-object-size-3.c: Likewise. - * gcc.dg/builtin-object-size-4.c: Likewise. - -2024-01-14 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/builtin-dynamic-object-size-0.c: Skip on hppa*-*-hpux*. - * gcc.dg/builtin-dynamic-object-size-1.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-2.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-3.c: Likewise. - * gcc.dg/builtin-dynamic-object-size-4.c: Likewise. - -2024-01-14 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/Wattributes-6.c: Fix dg-warning on hppa*64*-*-*. - -2024-01-14 John David Anglin <danglin@gcc.gnu.org> - - PR analyzer/113150 - * c-c++-common/analyzer/fd-glibc-byte-stream-socket.c: Skip - on hppa*-*-hpux*. - * c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c: Likewise. - * c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c: Likewise. - * c-c++-common/analyzer/fd-symbolic-socket.c: Likewise. - * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: Likewise. - -2024-01-14 Georg-Johann Lay <avr@gjlay.de> - - PR target/112944 - * gcc.target/avr/torture/pr112944-flmap-0.c: New test. - * gcc.target/avr/torture/pr112944-flmap-1.c: New test. - -2024-01-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/67277 - * gfortran.dg/ishftc_optional_size_1.f90: New test. - -2024-01-13 John David Anglin <danglin@gcc.gnu.org> - - * gfortran.dg/fmt_f_default_field_width_3.f90: Add hppa*64*-*-hpux* - to real_16 dg-error targets. - * gfortran.dg/fmt_g_default_field_width_3.f90: Likewise. - -2024-01-13 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113305 - * gfortran.dg/do_concurrent_7.f90: New test. - -2024-01-13 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113361 - * gcc.dg/torture/bitint-47.c: New test. - -2024-01-13 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113287 - * gcc.dg/vect/vect-early-break_100-pr113287.c: Use long long instead - of long. - -2024-01-13 Jakub Jelinek <jakub@redhat.com> - - * g++.dg/abi/mangle79.C: New test. - -2024-01-13 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/107823 - PR tree-optimization/110768 - PR tree-optimization/110941 - PR tree-optimization/110450 - PR tree-optimization/110841 - * gcc.dg/tree-ssa/ssa-thread-22.c: New test. - * gcc.dg/tree-ssa/vrp-loop-1.c: New test. - * gcc.dg/tree-ssa/vrp-loop-2.c: New test. - * gcc.dg/tree-ssa/vrp-unreachable-1.c: New test. - * gcc.dg/tree-ssa/vrp-unreachable-2.c: New test. - -2024-01-12 Jason Merrill <jason@redhat.com> - - PR c++/113038 - * g++.dg/modules/pr106304_b.C: Add dynamic_cast. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * gcc.target/arm/simd/vld1_base_xN_1.c: Updated. - * gcc.target/arm/simd/vld1_bf16_xN_1.c: Updated. - * gcc.target/arm/simd/vld1_fp16_xN_1.c: Updated. - * gcc.target/arm/simd/vld1_p64_xN_1.c: Updated. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * gcc.target/arm/simd/vld1_base_xN_1.c: Updated. - * gcc.target/arm/simd/vld1_bf16_xN_1.c: Updated. - * gcc.target/arm/simd/vld1_fp16_xN_1.c: Updated. - * gcc.target/arm/simd/vld1_p64_xN_1.c: Updated. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * gcc.target/arm/simd/vst1q_base_xN_1.c: Updated - * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Updated - * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Updated - * gcc.target/arm/simd/vst1q_p64_xN_1.c: Updated - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * gcc.target/arm/simd/vst1_base_xN_1.c: Updated. - * gcc.target/arm/simd/vst1_bf16_xN_1.c: Updated. - * gcc.target/arm/simd/vst1_fp16_xN_1.c: Updated. - * gcc.target/arm/simd/vst1_p64_xN_1.c: Updated. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * gcc.target/arm/simd/vst1_base_xN_1.c: Updated. - * gcc.target/arm/simd/vst1_bf16_xN_1.c: Updated. - * gcc.target/arm/simd/vst1_fp16_xN_1.c: Updated. - * gcc.target/arm/simd/vst1_p64_xN_1.c: Updated. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * gcc.target/arm/simd/vld1q_base_xN_1.c: Updated. - * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Updated. - * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Updated. - * gcc.target/arm/simd/vld1q_p64_xN_1.c: Updated. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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. - -2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> - - * 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. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR c/113315 - * gcc.dg/bitint-65.c: New test. - * gcc.dg/bitint-66.c: New test. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113287 - * gcc.dg/vect/vect-early-break_100-pr113287.c: Support non-bitint. - * gcc.dg/vect/vect-early-break_99-pr113287.c: Likewise. - * lib/target-supports.exp (bitint, bitint128, bitint575, bitint65535): - Document them. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113178 - * gcc.dg/vect/vect-early-break_101-pr113178.c: New test. - * gcc.dg/vect/vect-early-break_102-pr113178.c: New test. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113237 - * gcc.dg/vect/vect-early-break_98-pr113237.c: New test. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113137 - PR tree-optimization/113136 - PR tree-optimization/113172 - PR tree-optimization/113178 - * g++.dg/vect/vect-early-break_4-pr113137.cc: New test. - * g++.dg/vect/vect-early-break_5-pr113137.cc: New test. - * gcc.dg/vect/vect-early-break_95-pr113137.c: New test. - * gcc.dg/vect/vect-early-break_96-pr113136.c: New test. - * gcc.dg/vect/vect-early-break_97-pr113172.c: New test. - -2024-01-12 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113135 - * gcc.dg/vect/vect-early-break_103-pr113135.c: New test. - -2024-01-12 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp2a/concepts-memfun4.C: Change expected - reversed handling. - -2024-01-12 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113196 - * gcc.target/aarch64/pr113196.c: New test. - * gcc.target/aarch64/simd/vmovl_high_1.c: Remove double include. - Expect uxtl2 rather than zip2. - * gcc.target/aarch64/vect_mixed_sizes_8.c: Expect zip1 rather - than uxtl. - * gcc.target/aarch64/vect_mixed_sizes_9.c: Likewise. - * gcc.target/aarch64/vect_mixed_sizes_10.c: Likewise. - -2024-01-12 Richard Sandiford <richard.sandiford@arm.com> - - PR target/112989 - * gcc.target/aarch64/sve/acle/general-c/clamp_1.c: Remove bogus - error test. - -2024-01-12 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113281 - * gcc.target/riscv/rvv/autovec/pr113209.c: Adapt test. - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-1.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/pr113281-2.c: New test. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113334 - * gcc.dg/torture/bitint-46.c: New test. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113330 - * gcc.dg/bitint-69.c: New test. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113323 - * gcc.dg/bitint-68.c: New test. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113316 - * gcc.dg/bitint-67.c: New test. - -2024-01-12 Guillaume Gomez <guillaume1.gomez@gmail.com> - Antoni Boucher <bouanto@zoho.com> - - * jit.dg/all-non-failing-tests.h: Add new attributes tests. - * jit.dg/jit.exp: Add `jit-verify-assembler-output-not` test command. - * jit.dg/test-restrict-attribute.c: New test. - * jit.dg/test-alias-attribute.c: New test. - * jit.dg/test-always_inline-attribute.c: New test. - * jit.dg/test-cold-attribute.c: New test. - * jit.dg/test-const-attribute.c: New test. - * jit.dg/test-noinline-attribute.c: New test. - * jit.dg/test-nonnull-attribute.c: New test. - * jit.dg/test-pure-attribute.c: New test. - * jit.dg/test-used-attribute.c: New test. - * jit.dg/test-variable-attribute.c: New test. - * jit.dg/test-weak-attribute.c: New test. - -2024-01-12 Jakub Jelinek <jakub@redhat.com> - - * gcc.dg/bitint-31.c: Fix up #if conditions checking whether - __*_MANT_DIG__ is equal to a particular precision. - -2024-01-12 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/fold-min-poly.c: Remove -fno-vect-cost-model - -2024-01-12 Li Wei <liwei@loongson.cn> - - * gcc.target/loongarch/sign-extend-2.c: Adjust. - -2024-01-12 Li Wei <liwei@loongson.cn> - - * gcc.target/loongarch/sign-extend.c: Moved to... - * gcc.target/loongarch/sign-extend-1.c: ...here. - * gcc.target/loongarch/sign-extend-2.c: New test. - -2024-01-11 Julian Brown <julian@codesourcery.com> - - * gcc.dg/gomp/bad-array-section-c-1.c: New test. - * gcc.dg/gomp/bad-array-section-c-2.c: New test. - * gcc.dg/gomp/bad-array-section-c-3.c: New test. - * gcc.dg/gomp/bad-array-section-c-4.c: New test. - * gcc.dg/gomp/bad-array-section-c-5.c: New test. - * gcc.dg/gomp/bad-array-section-c-6.c: New test. - * gcc.dg/gomp/bad-array-section-c-7.c: New test. - * gcc.dg/gomp/bad-array-section-c-8.c: New test. - -2024-01-11 Jason Merrill <jason@redhat.com> - - PR c++/113191 - * g++.dg/cpp2a/concepts-memfun4.C: New test. - -2024-01-11 Jin Ma <jinma@linux.alibaba.com> - - * gcc.target/riscv/xtheadfmemidx-medany.c: New test. - -2024-01-11 Andrew Pinski <quic_apinski@quicinc.com> - - PR middle-end/113322 - * gcc.c-torture/compile/pr113322-1.c: New test. - -2024-01-11 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/113301 - * gcc.dg/tree-ssa/divide-8.c: New test. - -2024-01-11 Jason Merrill <jason@redhat.com> - - * g++.dg/cpp23/explicit-obj-diagnostics7.C: Remove xfail. - -2024-01-11 Tamar Christina <tamar.christina@arm.com> - - PR testsuite/113319 - * gcc.dg/bic-bitmask-13.c: Remove -save-temps. - * gcc.dg/bic-bitmask-14.c: Likewise. - * gcc.dg/bic-bitmask-15.c: Likewise. - * gcc.dg/bic-bitmask-16.c: Likewise. - * gcc.dg/bic-bitmask-17.c: Likewise. - * gcc.dg/bic-bitmask-18.c: Likewise. - * gcc.dg/bic-bitmask-19.c: Likewise. - * gcc.dg/bic-bitmask-20.c: Likewise. - * gcc.dg/bic-bitmask-21.c: Likewise. - * gcc.dg/bic-bitmask-22.c: Likewise. - * gcc.dg/bic-bitmask-7.c: Likewise. - * gcc.dg/vect/vect-early-break-run_1.c: Likewise. - * gcc.dg/vect/vect-early-break-run_10.c: Likewise. - * gcc.dg/vect/vect-early-break-run_2.c: Likewise. - * gcc.dg/vect/vect-early-break-run_3.c: Likewise. - * gcc.dg/vect/vect-early-break-run_4.c: Likewise. - * gcc.dg/vect/vect-early-break-run_5.c: Likewise. - * gcc.dg/vect/vect-early-break-run_6.c: Likewise. - * gcc.dg/vect/vect-early-break-run_7.c: Likewise. - * gcc.dg/vect/vect-early-break-run_8.c: Likewise. - * gcc.dg/vect/vect-early-break-run_9.c: Likewise. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/112505 - * gcc.dg/vect/pr112505.c: New testcase. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113126 - * gcc.dg/torture/pr113126.c: New testcase. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/112636 - * gcc.dg/pr112636.c: New testcase. - -2024-01-11 Pan Li <pan2.li@intel.com> - - * gcc.dg/pr30957-1.c: Remove. - -2024-01-11 Alex Coplan <alex.coplan@arm.com> - - PR target/113077 - * gcc.target/aarch64/pr113077.c: New test. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR tree-optimization/111003 - * gcc.dg/tree-ssa/pr111003.c: New testcase. - -2024-01-11 Richard Biener <rguenther@suse.de> - - PR middle-end/112740 - * gcc.dg/pr112740.c: New testcase. - -2024-01-11 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Remove xfail. - * 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. - -2024-01-11 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/sign-extend-bitwise.c: New test. - -2024-01-11 liuhongt <hongtao.liu@intel.com> - - * gcc.target/i386/pr104401.c: New test. - * gcc.dg/tree-ssa/pr95906.c: Adjust testcase. - -2024-01-11 Gaius Mulley <gaiusmod2@gmail.com> - - PR modula2/112946 - * gm2/pim/fail/badbecomes.mod: New test. - * gm2/pim/fail/badexpression.mod: New test. - * gm2/pim/fail/badexpression2.mod: New test. - * gm2/pim/fail/badifin.mod: New test. - * gm2/pim/pass/goodifin.mod: New test. - -2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: Fix test. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: Ditto. - * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: Ditto. - -2024-01-10 Antoni Boucher <bouanto@zoho.com> - - PR jit/111396 - * jit.dg/all-non-failing-tests.h: Add note about test-ggc-bugfix. - * jit.dg/test-ggc-bugfix.c: New test. - -2024-01-10 Jin Ma <jinma@linux.alibaba.com> - - * gcc.target/riscv/xtheadint-push-pop.c: New test. - -2024-01-10 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/112468 - * gcc.dg/fold-copysign-1.c: Modify tests based on if target supports - IFN_COPYSIGN. - * gcc.dg/pr55152-2.c: Likewise. - * gcc.dg/tree-ssa/abs-4.c: Likewise. - * gcc.dg/tree-ssa/backprop-6.c: Likewise. - * gcc.dg/tree-ssa/copy-sign-2.c: Likewise. - * gcc.dg/tree-ssa/mult-abs-2.c: Likewise. - * lib/target-supports.exp (check_effective_target_ifn_copysign): New. - -2024-01-10 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/112581 - * gcc.c-torture/execute/pr112581-1.c: New test. - -2024-01-10 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/pr105314.c: Fix comment termination. - -2024-01-10 Maciej W. Rozycki <macro@embecosm.com> - - * gcc.target/riscv/cset-sext-sfb.c: New test. - * gcc.target/riscv/cset-sext-thead.c: New test. - * gcc.target/riscv/cset-sext-ventana.c: New test. - * gcc.target/riscv/cset-sext-zicond.c: New test. - * gcc.target/riscv/cset-sext.c: New test. - -2024-01-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/112734 - * gcc.dg/bitint-64.c: New test. - -2024-01-10 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113287 - * gcc.dg/vect/vect-early-break_100-pr113287.c: New test. - * gcc.dg/vect/vect-early-break_99-pr113287.c: New test. - -2024-01-10 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113078 - * gcc.dg/vect/vect-reduc-cond-sub.c: New testcase. - * gcc.target/i386/vect-pr113078.c: Likewise. - -2024-01-10 Julian Brown <julian@codesourcery.com> - - * g++.dg/gomp/bad-array-section-10.C: Adjust diagnostics for C++23 and - up. - -2024-01-10 Julian Brown <julian@codesourcery.com> - - * g++.dg/gomp/array-section-1.C: Fix scan output for 32-bit target. - * g++.dg/gomp/array-section-2.C: Likewise. - * g++.dg/gomp/bad-array-section-4.C: Adjust error output for 32-bit - target. - -2024-01-10 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113144 - PR tree-optimization/113145 - * gcc.dg/vect/vect-early-break_94-pr113144.c: New test. - -2024-01-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113297 - * gcc.dg/bitint-63.c: Fix PR number. - -2024-01-10 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.dg/vect/slp-21.c: Add loongarch. - -2024-01-10 chenxiaolong <chenxiaolong@loongson.cn> - - * lib/target-supports.exp: Removed an issue with "target keyword" - checking errors on LoongArch architecture. - -2024-01-10 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113120 - * gcc.dg/bitint-63.c: New test. - -2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/autovec/vls/avg-1.c: Adapt test. - * gcc.target/riscv/rvv/autovec/vls/avg-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/avg-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/avg-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/avg-5.c: Ditto. - * gcc.target/riscv/rvv/autovec/vls/avg-6.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv32gcv.c: Ditto. - * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv64gcv.c: Ditto. - -2024-01-10 Kewen Lin <linkw@linux.ibm.com> - - PR testsuite/112751 - * gcc.target/powerpc/pcrel-sibcall-1.c: Replace noinline as noipa. - -2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Add assembler-not check. - -2024-01-09 Jason Merrill <jason@redhat.com> - - * g++.dg/torture/accessor-fixits-9-xobj.C: New test. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - - PR c++/102609 - PR c++/102609 - C++23 P0847R7 (deducing this) - CWG2586. - * g++.dg/cpp23/explicit-obj-basic6.C: New test. - * g++.dg/cpp23/explicit-obj-default1.C: New test. - * g++.dg/cpp23/explicit-obj-default2.C: New test. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - - PR c++/102609 - PR c++/102609 - C++23 P0847R7 (deducing this) - xobj lambdas. - * g++.dg/cpp23/explicit-obj-diagnostics8.C: New test. - * g++.dg/cpp23/explicit-obj-lambda1.C: New test. - * g++.dg/cpp23/explicit-obj-lambda10.C: New test. - * g++.dg/cpp23/explicit-obj-lambda11.C: New test. - * g++.dg/cpp23/explicit-obj-lambda12.C: New test. - * g++.dg/cpp23/explicit-obj-lambda13.C: New test. - * g++.dg/cpp23/explicit-obj-lambda2.C: New test. - * g++.dg/cpp23/explicit-obj-lambda3.C: New test. - * g++.dg/cpp23/explicit-obj-lambda4.C: New test. - * g++.dg/cpp23/explicit-obj-lambda5.C: New test. - * g++.dg/cpp23/explicit-obj-lambda6.C: New test. - * g++.dg/cpp23/explicit-obj-lambda7.C: New test. - * g++.dg/cpp23/explicit-obj-lambda8.C: New test. - * g++.dg/cpp23/explicit-obj-lambda9.C: New test. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - - PR c++/102609 - PR c++/102609 - C++23 P0847R7 (deducing this) - diagnostics. - * g++.dg/cpp23/feat-cxx2b.C: Test existance and value of - __cpp_explicit_this_parameter feature test macro. - * g++.dg/cpp26/feat-cxx26.C: Likewise. - * g++.dg/cpp23/explicit-obj-cxx-dialect-A.C: New test. - * g++.dg/cpp23/explicit-obj-cxx-dialect-B.C: New test. - * g++.dg/cpp23/explicit-obj-cxx-dialect-C.C: New test. - * g++.dg/cpp23/explicit-obj-cxx-dialect-D.C: New test. - * g++.dg/cpp23/explicit-obj-cxx-dialect-E.C: New test. - * g++.dg/cpp23/explicit-obj-diagnostics1.C: New test. - * g++.dg/cpp23/explicit-obj-diagnostics2.C: New test. - * g++.dg/cpp23/explicit-obj-diagnostics3.C: New test. - * g++.dg/cpp23/explicit-obj-diagnostics4.C: New test. - * g++.dg/cpp23/explicit-obj-diagnostics5.C: New test. - * g++.dg/cpp23/explicit-obj-diagnostics6.C: New test. - * g++.dg/cpp23/explicit-obj-diagnostics7.C: New test. - -2024-01-09 waffl3x <waffl3x@protonmail.com> - - PR c++/102609 - PR c++/102609 - C++23 P0847R7 (deducing this) - initial functionality. - * g++.dg/cpp23/explicit-obj-basic1.C: New test. - * g++.dg/cpp23/explicit-obj-basic2.C: New test. - * g++.dg/cpp23/explicit-obj-basic3.C: New test. - * g++.dg/cpp23/explicit-obj-basic4.C: New test. - * g++.dg/cpp23/explicit-obj-basic5.C: New test. - * g++.dg/cpp23/explicit-obj-by-value1.C: New test. - * g++.dg/cpp23/explicit-obj-by-value2.C: New test. - * g++.dg/cpp23/explicit-obj-by-value3.C: New test. - * g++.dg/cpp23/explicit-obj-by-value4.C: New test. - * g++.dg/cpp23/explicit-obj-constraints.C: New test. - * g++.dg/cpp23/explicit-obj-constraints2.C: New test. - * g++.dg/cpp23/explicit-obj-ops-mem-arrow.C: New test. - * g++.dg/cpp23/explicit-obj-ops-mem-assignment.C: New test. - * g++.dg/cpp23/explicit-obj-ops-mem-call.C: New test. - * g++.dg/cpp23/explicit-obj-ops-mem-subscript.C: New test. - * g++.dg/cpp23/explicit-obj-ops-non-mem-dep.C: New test. - * g++.dg/cpp23/explicit-obj-ops-non-mem-non-dep.C: New test. - * g++.dg/cpp23/explicit-obj-ops-non-mem.h: New test. - * g++.dg/cpp23/explicit-obj-ops-requires-mem.C: New test. - * g++.dg/cpp23/explicit-obj-ops-requires-non-mem.C: New test. - * g++.dg/cpp23/explicit-obj-redecl.C: New test. - * g++.dg/cpp23/explicit-obj-redecl2.C: New test. - * g++.dg/cpp23/explicit-obj-redecl3.C: New test. - * g++.dg/cpp23/explicit-obj-redecl4.C: New test. - -2024-01-09 Jakub Jelinek <jakub@redhat.com> - - PR c/113262 - * gcc.dg/pr113262.c: New test. - -2024-01-09 Tamar Christina <tamar.christina@arm.com> - - PR tree-optimization/113199 - * gcc.target/gcn/pr113199.c: New test. - -2024-01-09 Tamar Christina <tamar.christina@arm.com> - - * gcc.target/arm/vect-early-break-cbranch.c: Accept thumb output. - -2024-01-09 Tamar Christina <tamar.christina@arm.com> - - PR c/113267 - * gcc.dg/pr113267.c: New test. - -2024-01-09 Tamar Christina <tamar.christina@arm.com> - - PR middle-end/113163 - * gcc.target/gcn/pr113163.c: New test. - -2024-01-09 Julian Brown <julian@codesourcery.com> - - * c-c++-common/gomp/map-6.c: Update expected output. - * c-c++-common/gomp/target-enter-data-1.c: Update scan test. - * g++.dg/gomp/array-section-1.C: New test. - * g++.dg/gomp/array-section-2.C: New test. - * g++.dg/gomp/bad-array-section-1.C: New test. - * g++.dg/gomp/bad-array-section-2.C: New test. - * g++.dg/gomp/bad-array-section-3.C: New test. - * g++.dg/gomp/bad-array-section-4.C: New test. - * g++.dg/gomp/bad-array-section-5.C: New test. - * g++.dg/gomp/bad-array-section-6.C: New test. - * g++.dg/gomp/bad-array-section-7.C: New test. - * g++.dg/gomp/bad-array-section-8.C: New test. - * g++.dg/gomp/bad-array-section-9.C: New test. - * g++.dg/gomp/bad-array-section-10.C: New test. - * g++.dg/gomp/bad-array-section-11.C: New test. - * g++.dg/gomp/has_device_addr-non-lvalue-1.C: New test. - * g++.dg/gomp/pr67522.C: Update expected output. - * g++.dg/gomp/ind-base-3.C: New test. - * g++.dg/gomp/map-assignment-1.C: New test. - * g++.dg/gomp/map-inc-1.C: New test. - * g++.dg/gomp/map-lvalue-ref-1.C: New test. - * g++.dg/gomp/map-ptrmem-1.C: New test. - * g++.dg/gomp/map-ptrmem-2.C: New test. - * g++.dg/gomp/map-static-cast-lvalue-1.C: New test. - * g++.dg/gomp/map-ternary-1.C: New test. - * g++.dg/gomp/member-array-2.C: New test. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/bip_prim_func2.adb: New test. - * gnat.dg/bip_prim_func2_pkg.ads, gnat.dg/bip_prim_func2_pkg.adb: - New helper package. - -2024-01-09 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113210 - * gcc.c-torture/compile/pr113210.c: New test. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * gnat.dg/specs/anon4.ads: New test. - -2024-01-09 Eric Botcazou <ebotcazou@adacore.com> - - * g++.dg/opt/delay-slot-2.C: New test. - -2024-01-09 Roger Sayle <roger@nextmovesoftware.com> - Hongtao Liu <hongtao.liu@intel.com> - - * gcc.target/i386/auto-init-8.c: Update test case. - * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Likewise. - * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Likewise. - * gcc.target/i386/avx512fp16-13.c: Likewise. - * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Likewise. - * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Likewise. - * gcc.target/i386/pr100865-1.c: Likewise. - * gcc.target/i386/pr100865-10a.c: Likewise. - * gcc.target/i386/pr100865-10b.c: Likewise. - * gcc.target/i386/pr100865-2.c: Likewise. - * gcc.target/i386/pr100865-3.c: Likewise. - * gcc.target/i386/pr100865-4a.c: Likewise. - * gcc.target/i386/pr100865-4b.c: Likewise. - * gcc.target/i386/pr100865-5a.c: Likewise. - * gcc.target/i386/pr100865-5b.c: Likewise. - * gcc.target/i386/pr100865-9a.c: Likewise. - * gcc.target/i386/pr100865-9b.c: Likewise. - * gcc.target/i386/pr102021.c: Likewise. - * gcc.target/i386/pr90773-17.c: Likewise. - -2024-01-09 Haochen Jiang <haochen.jiang@intel.com> - - * gcc.target/i386/avx512fp16-xorsign-1.c: Fix testcase. - * gcc.target/i386/part-vect-absneghf.c: Ditto. - -2024-01-09 Jiahao Xu <xujiahao@loongson.cn> - - * gcc.target/loongarch/vector/lasx/lasx-vec-init-2.c: New test. - -2024-01-09 Feng Wang <wangfeng@eswincomputing.com> - - * gcc.target/riscv/rvv/base/zvbb-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvbb_vandn_vx_constraint.c: New test. - * gcc.target/riscv/rvv/base/zvbc-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvbc_vx_constraint-1.c: New test. - * gcc.target/riscv/rvv/base/zvbc_vx_constraint-2.c: New test. - * gcc.target/riscv/rvv/base/zvkg-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvkned-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvknha-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvknhb-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvksed-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvksh-intrinsic.c: New test. - * gcc.target/riscv/zvkb.c: New test. - -2024-01-08 John David Anglin <danglin@gcc.gnu.org> - - * gcc.dg/tree-ssa/ssa-sink-18.c: xfail dg-final "Sunk statements: 5" - on hppa*64*-*-*. - -2024-01-08 John David Anglin <danglin@gcc.gnu.org> - - * gfortran.dg/dec_math.f90: Skip on hppa*-*-hpux*. - -2024-01-08 John David Anglin <danglin@gcc.gnu.org> - - PR testsuite/94253 - * gfortran.dg/bind_c_coms.f90: Add -fcommon option on hppa*-*-*. - * gfortran.dg/bind_c_vars.f90: Likewise. - -2024-01-08 Cupertino Miranda <cupertino.miranda@oracle.com> - - * gcc.target/bpf/attr-kernel-helper.c: New test. - -2024-01-08 Harald Anlauf <anlauf@gmx.de> - - PR fortran/113245 - * gfortran.dg/size_optional_dim_2.f90: New test. - -2024-01-08 Richard Biener <rguenther@suse.de> - - PR tree-optimization/113026 - * gcc.dg/torture/pr113026-1.c: New testcase. - * gcc.dg/torture/pr113026-2.c: Likewise. - -2024-01-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113228 - * gcc.c-torture/compile/pr113228.c: New test. - -2024-01-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113120 - * gcc.dg/bitint-62.c: New test. - -2024-01-08 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113119 - * gcc.dg/bitint-61.c: New test. - -2024-01-08 Georg-Johann Lay <avr@gjlay.de> - - PR target/112952 - * gcc.target/avr/attribute-io.h: New file. - * gcc.target/avr/pr112952-0.c: New test. - * gcc.target/avr/pr112952-1.c: New test. - * gcc.target/avr/pr112952-2.c: New test. - * gcc.target/avr/pr112952-3.c: New test. - -2024-01-08 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.h: Use - check + abort rather than assert. - -2024-01-07 Georg-Johann Lay <avr@gjlay.de> - - * gcc.target/avr/lra-cpymem_qi.c: Remove duplicate -mmcu=. - * gcc.target/avr/lra-elim.c: Same. - * gcc.target/avr/pr112830.c: Skip for Reduced Tiny. - * gcc.target/avr/pr46779-1.c: Same. - * gcc.target/avr/pr46779-2.c: Same. - * gcc.target/avr/pr86869.c: Skip for Reduced Tiny and add -std=gnu99 - for GNU-C due to address spaces. - * gcc.target/avr/pr89270.c: Same. - * gcc.target/avr/torture/builtins-2-flash.c: Only test address - space __flash1 if we have it. - * gcc.target/avr/torture/addr-space-1-1.c: Same. - * gcc.target/avr/torture/addr-space-2-1.c: Same. - -2024-01-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - * gfortran.dg/dtio_25.f90: Update. - * gfortran.dg/namelist_57.f90: Update. - * gfortran.dg/namelist_65.f90: Update. - -2024-01-07 Roger Sayle <roger@nextmovesoftware.com> - Uros Bizjak <ubizjak@gmail.com> - - PR target/113231 - * gcc.target/i386/pr113231.c: New test case. - -2024-01-07 Tamar Christina <tamar.christina@arm.com> - - * gcc.dg/vect/vect-early-break_2.c: Skip Arm. - * gcc.dg/vect/vect-early-break_7.c: Likewise. - * gcc.dg/vect/vect-early-break_75.c: Likewise. - * gcc.dg/vect/vect-early-break_77.c: Likewise. - * gcc.dg/vect/vect-early-break_82.c: Likewise. - * gcc.dg/vect/vect-early-break_88.c: Likewise. - * lib/target-supports.exp (add_options_for_vect_early_break, - check_effective_target_vect_early_break_hw, - check_effective_target_vect_early_break): Support AArch32. - * gcc.target/arm/vect-early-break-cbranch.c: New test. - -2024-01-07 Jeff Law <jlaw@ventanamicro.com> - - * gcc.dg/tree-ssa/phi-opt-25b.c: Remove extraneous "short". - -2024-01-07 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - * gcc.dg/torture/pr110838.c: Use proper shift offset to get MSB or int. - * gcc.dg/torture/pr112282.c: Use at least 32 bits for :20 bit-fields. - * gcc.dg/tree-ssa/bitcmp-5.c: Use integral type with 32 bits or more. - * gcc.dg/tree-ssa/bitcmp-6.c: Same. - * gcc.dg/tree-ssa/cltz-complement-max.c: Same. - * gcc.dg/tree-ssa/cltz-max.c: Same. - * gcc.dg/tree-ssa/if-to-switch-8.c: Use literals that fit int. - * gcc.dg/tree-ssa/if-to-switch-9.c [avr]: Set case-values-threshold=3. - * gcc.dg/tree-ssa/negneg-3.c: Discriminate [not] large_double. - * gcc.dg/tree-ssa/phi-opt-25b.c: Use types of correct widths for - __builtin_bswapN. - * gcc.dg/tree-ssa/pr55177-1.c: Same. - * gcc.dg/tree-ssa/popcount-max.c: Use int32_t where required. - * gcc.dg/tree-ssa/pr111583-1.c: Use intptr_t as needed. - * gcc.dg/tree-ssa/pr111583-2.c: Same. - -2024-01-07 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - * gcc.dg/memchr-3.c [avr]: Anticipate -Wbuiltin-declaration-mismatch. - * gcc.dg/pr103207.c: Use __INT32_TYPE__ instead of int. - * gcc.dg/pr103451.c [void* != long]: Anticipate -Wpointer-to-int-cast. - * gcc.dg/pr110496.c [void* != long]: Anticipate -Wint-to-pointer-cast. - * gcc.dg/pr109977.c: Use __SIZEOF_DOUBLE__ instead of 8. - * gcc.dg/pr110506-2.c: Use __UINT32_TYPE__ for uint32_t. - * gcc.dg/pr110582.c: Require int32plus. - * gcc.dg/pr111039.c: [sizeof(int) < 4]: Use __INT32_TYPE__. - * gcc.dg/pr111599.c: Same. - * gcc.dg/builtin-dynamic-object-size-0.c: Require size20plus. - * gcc.dg/builtin-object-size-1.c [avr]: Skip tests with strndup. - * gcc.dg/builtin-object-size-2.c: Same. - * gcc.dg/builtin-object-size-3.c: Same. - * gcc.dg/builtin-object-size-4.c: Same. - * gcc.dg/pr111070.c: Use __UINTPTR_TYPE__ instead of unsigned long. - * gcc.dg/debug/btf/btf-pr106773.c: Same. - * gcc.dg/debug/btf/btf-bitfields-2.c: [sizeof(int) < 4]: Use - __UINT32_TYPE__. - -2024-01-07 Georg-Johann Lay <avr@gjlay.de> - - PR testsuite/52641 - * gcc.c-torture/compile/attr-complex-method-2.c [target=avr]: Check - for "divsc3" as double = float per default. - * gcc.c-torture/compile/pr106537-1.c: Use __INTPTR_TYPE__ instead of - hard-coded "long". - * gcc.c-torture/compile/pr106537-2.c: Same. - * gcc.c-torture/compile/pr106537-3.c: Same. - * gcc.c-torture/execute/20230630-3.c: Use __INT32_TYPE__ for bit-field - wider than 16 bits. - * gcc.c-torture/execute/20230630-4.c: Same. - * gcc.c-torture/execute/pr109938.c: Require int32plus. - * gcc.c-torture/execute/pr109986.c: Same. - * gcc.dg/fold-ior-4.c: Same. - * gcc.dg/fold-ior-5.c: Same - * gcc.dg/fold-parity-5.c: Same. - * gcc.dg/fold-popcount-5.c: Same. - * gcc.dg/builtin-bswap-13.c [sizeof(int) < 4]: Use __INT32_TYPE__ - instead of int. - * gcc.dg/builtin-bswap-14.c: Use __INT32_TYPE__ instead of int where - required by code. - * gcc.dg/c23-constexpr-9.c: Require large_double. - * gcc.dg/c23-nullptr-1.c [target=avr]: xfail. - * gcc.dg/loop-unswitch-10.c: Require size32plus. - * gcc.dg/loop-unswitch-14.c: Same. - * gcc.dg/loop-unswitch-11.c: Require int32. - * gcc.dg/pr101836.c: Use __SIZEOF_INT instead of hard-coded 4. - * gcc.dg/pr101836_1.c: Same. - * gcc.dg/pr101836_2.c: Same. - * gcc.dg/pr101836_3.c: Same. - -2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> - - * g++.dg/modules/init-5_a.C: New test. - * g++.dg/modules/init-5_b.C: New test. - -2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/109679 - * g++.dg/modules/using-11.h: New test. - * g++.dg/modules/using-11_a.C: New test. - * g++.dg/modules/using-11_b.C: New test. - -2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> - - PR c++/110808 - * g++.dg/modules/part-hdr-1_c.C: Fix syntax. - * g++.dg/modules/part-mac-1_c.C: Likewise. - * g++.dg/modules/mod-invalid-1.C: New test. - * g++.dg/modules/part-8_a.C: New test. - * g++.dg/modules/part-8_b.C: New test. - * g++.dg/modules/part-8_c.C: New test. - -2024-01-06 Harald Anlauf <anlauf@gmx.de> - José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/96724 - * gfortran.dg/repeat_8.f90: New test. - -2024-01-06 Jiahao Xu <xujiahao@loongson.cn> - - * gcc.target/loongarch/vector/lasx/lasx-xvpremi.c: Removed. - * gcc.target/loongarch/vector/lasx/lasx-xvpermi_q.c: New test. - -2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113248 - * gcc.target/riscv/rvv/vsetvl/pr113248.c: New test. - -2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-12.c: New test. - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-14.c: New test. - -2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/vf_avl-4.c: New test. - -2024-01-05 Richard Sandiford <richard.sandiford@arm.com> - - PR target/113104 - * gcc.target/aarch64/pr113104.c: New test. - * gcc.target/aarch64/sve/cond_arith_1.c: Update for new parameter - names. - * gcc.target/aarch64/sve/cond_arith_1_run.c: Likewise. - * gcc.target/aarch64/sve/cond_arith_3.c: Likewise. - * gcc.target/aarch64/sve/cond_arith_3_run.c: Likewise. - * gcc.target/aarch64/sve/gather_load_6.c: Likewise. - * gcc.target/aarch64/sve/gather_load_7.c: Likewise. - * gcc.target/aarch64/sve/load_const_offset_2.c: Likewise. - * gcc.target/aarch64/sve/load_const_offset_3.c: Likewise. - * gcc.target/aarch64/sve/mask_gather_load_6.c: Likewise. - * gcc.target/aarch64/sve/mask_gather_load_7.c: Likewise. - * gcc.target/aarch64/sve/mask_load_slp_1.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_1.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_store_1_run.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise. - * gcc.target/aarch64/sve/mask_struct_store_2_run.c: Likewise. - * gcc.target/aarch64/sve/pack_1.c: Likewise. - * gcc.target/aarch64/sve/reduc_4.c: Likewise. - * gcc.target/aarch64/sve/scatter_store_6.c: Likewise. - * gcc.target/aarch64/sve/scatter_store_7.c: Likewise. - * gcc.target/aarch64/sve/strided_load_3.c: Likewise. - * gcc.target/aarch64/sve/strided_store_3.c: Likewise. - * gcc.target/aarch64/sve/unpack_fcvt_signed_1.c: Likewise. - * gcc.target/aarch64/sve/unpack_fcvt_unsigned_1.c: Likewise. - * gcc.target/aarch64/sve/unpack_signed_1.c: Likewise. - * gcc.target/aarch64/sve/unpack_unsigned_1.c: Likewise. - * gcc.target/aarch64/sve/unpack_unsigned_1_run.c: Likewise. - * gcc.target/aarch64/sve/vcond_11.c: Likewise. - * gcc.target/aarch64/sve/vcond_11_run.c: Likewise. - -2024-01-05 Lulu Cheng <chenglulu@loongson.cn> - - * gcc.target/loongarch/vect-ld-st-imm12.c: New test. - -2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.dg/fma-3.c: The intermediate file corresponding to the - function does not produce the corresponding FNMA symbol, so the test - rules should be skipped when testing. - * gcc.dg/fma-4.c: The intermediate file corresponding to the - function does not produce the corresponding FNMS symbol, so skip the - test rules when testing. - * gcc.dg/fma-6.c: The cause is the same as fma-3.c. - * gcc.dg/fma-7.c: The cause is the same as fma-4.c - -2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.dg/vect/bb-slp-pattern-1.c: If you are testing on the - LoongArch architecture, you need to add the "-mlasx" compilation - option to generate vectorized code. - * gcc.dg/vect/slp-widen-mult-half.c: Dito. - * gcc.dg/vect/vect-widen-mult-const-s16.c: Dito. - * gcc.dg/vect/vect-widen-mult-const-u16.c: Dito. - * gcc.dg/vect/vect-widen-mult-half-u8.c: Dito. - * gcc.dg/vect/vect-widen-mult-half.c: Dito. - * gcc.dg/vect/vect-widen-mult-u16.c: Dito. - * gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: Dito. - * gcc.dg/vect/vect-widen-mult-u8-u32.c: Dito. - * gcc.dg/vect/vect-widen-mult-u8.c: Dito. - -2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> - - * gfortran.dg/vect/pr60510.f: Delete the default behavior of the - program. - -2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> - - * gfortran.dg/bind_c_array_params_2.f90: Add code test rules to - support testing of the loongArch architecture. - -2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.dg/vect/vect-82.c: Add the LoongArch architecture to the - object detection framework. - * gcc.dg/vect/vect-83.c: Dito. - -2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.dg/vect/vect-bic-bitmask-12.c: Change the default - setting of assembly to compile. - * gcc.dg/vect/vect-bic-bitmask-23.c: Dito. - -2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> - - * lib/target-supports.exp: Add LoongArch to the list of supported - targets. - -2024-01-05 Alex Coplan <alex.coplan@arm.com> - - PR target/113217 - * g++.dg/pr113217.C: New test. - -2024-01-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/113201 - * gcc.c-torture/compile/pr113201.c: New test. - -2024-01-05 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/90693 - * gcc.target/i386/pr90693-2.c: New test. - -2024-01-05 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.h: - Fix the check condition. - -2024-01-05 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/rvv/autovec/binop/shift-scalar-template.h: - Use __builtin_abort instead of assert. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Drop math.h. - * 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_fmax_zvfh-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c: Ditto. - * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.h: Use - __builtin_abort instead of assert. - * gcc.target/riscv/rvv/autovec/pr112694-1.c: Ditto. - * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.h: Ditto. - * gcc.target/riscv/rvv/autovec/unop/abs-template.h: Drop stdlib.h. - * gcc.target/riscv/rvv/autovec/unop/vneg-template.h: Ditto. - * gcc.target/riscv/rvv/autovec/unop/vnot-template.h: Ditto. - -2024-01-05 Pan Li <pan2.li@intel.com> - - Revert: - 2024-01-05 Feng Wang <wangfeng@eswincomputing.com> - - * gcc.target/riscv/rvv/base/zvbb-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvbb_vandn_vx_constraint.c: New test. - * gcc.target/riscv/rvv/base/zvbc-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvbc_vx_constraint-1.c: New test. - * gcc.target/riscv/rvv/base/zvbc_vx_constraint-2.c: New test. - * gcc.target/riscv/rvv/base/zvkg-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvkned-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvknha-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvknhb-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvksed-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvksh-intrinsic.c: New test. - * gcc.target/riscv/zvkb.c: New test. - -2024-01-05 Feng Wang <wangfeng@eswincomputing.com> - - * gcc.target/riscv/rvv/base/zvbb-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvbb_vandn_vx_constraint.c: New test. - * gcc.target/riscv/rvv/base/zvbc-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvbc_vx_constraint-1.c: New test. - * gcc.target/riscv/rvv/base/zvbc_vx_constraint-2.c: New test. - * gcc.target/riscv/rvv/base/zvkg-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvkned-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvknha-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvknhb-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvksed-intrinsic.c: New test. - * gcc.target/riscv/rvv/base/zvksh-intrinsic.c: New test. - * gcc.target/riscv/zvkb.c: New test. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test. - -2024-01-04 Andrew Pinski <quic_apinski@quicinc.com> - - PR tree-optimization/113186 - * gcc.dg/tree-ssa/bitops-bool-1.c: New test. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - * lib/gcc-dg.exp: Set TERM to xterm. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/112790 - * c-c++-common/analyzer/deref-before-check-pr112790.c: New test. - -2024-01-04 David Malcolm <dmalcolm@redhat.com> - - PR analyzer/113222 - * gcc.dg/analyzer/out-of-bounds-diagram-pr113222.c: New test. - -2024-01-04 Kuan-Lin Chen <rufus@andestech.com> - Patrick Lin <patrick@andestech.com> - Rufus Chen <rufus@andestech.com> - Monk Chiang <monk.chiang@sifive.com> - - * gcc.target/riscv/_Float16-nanboxing.c: New test. - -2024-01-04 Pan Li <pan2.li@intel.com> - - Revert: - 2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test. - -2024-01-04 Kito Cheng <kito.cheng@sifive.com> - - * gcc.target/riscv/interrupt-misaligned.c: New. - -2024-01-04 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.dg/vect/slp-26.c: Add loongarch. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-11.c: New test. - -2024-01-04 chenxiaolong <chenxiaolong@loongson.cn> - - * gcc.target/loongarch/vector/lasx/lasx-xvstelm.c:Add compile - option "-fno-vect-cost-model" to dg-options. - -2024-01-04 YunQiang Su <syq@gcc.gnu.org> - - * gcc.c-torture/compile/mipscop-1.c: Include stdio.h. - * gcc.c-torture/compile/mipscop-2.c: Ditto. - * gcc.c-torture/compile/mipscop-3.c: Ditto. - * gcc.c-torture/compile/mipscop-4.c: Ditto. - -2024-01-04 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/pr104914.c: New test. - -2024-01-04 YunQiang Su <syq@gcc.gnu.org> - - * gcc.target/mips/data-sym-multi-pool.c: Skip Os or -O0. - -2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113206 - PR target/113209 - * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Adapt test. - * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Robostify test. - * 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_conflict-5.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/autovec/pr113206-1.c: New test. - * gcc.target/riscv/rvv/autovec/pr113206-2.c: New test. - * gcc.target/riscv/rvv/autovec/pr113209.c: New test. - -2024-01-03 Patrick Palka <ppalka@redhat.com> - - PR c++/113064 - * g++.dg/cpp0x/rv-conv4.C: New test. - * g++.dg/cpp0x/rv-conv5.C: New test. - -2024-01-03 Xi Ruoyao <xry111@xry111.site> - - * gcc.target/loongarch/vfmax-vfmin.c: New test. - -2024-01-03 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113112 - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-5.c: New test. - -2024-01-02 Szabolcs Nagy <szabolcs.nagy@arm.com> - - * gfortran.dg/vect/vect-8.f90: Accept more vectorized loops. - -2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - * gcc.target/riscv/rvv/base/vf_avl-3.c: New test. - -2024-01-02 Lulu Cheng <chenglulu@loongson.cn> - - * lib/target-supports.exp: Add a function to check whether binutil supports - TLS Le Relax. - * gcc.target/loongarch/tls-le-relax.c: New test. - -2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> - - PR target/113112 - * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: New test. - -Copyright (C) 2024 Free Software Foundation, Inc. +Copyright (C) 2025 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-1993-2007 b/gcc/testsuite/ChangeLog-1993-2007 index cf9bb00ba820..f3b31fce8738 100644 --- a/gcc/testsuite/ChangeLog-1993-2007 +++ b/gcc/testsuite/ChangeLog-1993-2007 @@ -60908,7 +60908,6 @@ rlsruhe.de> correspond to c-torture 1.11. * New file. - Copyright (C) 1993-2007 Free Software Foundation, Inc. diff --git a/gcc/testsuite/ChangeLog-2008 b/gcc/testsuite/ChangeLog-2008 index 2c354ff448f7..56e1ba13982e 100644 --- a/gcc/testsuite/ChangeLog-2008 +++ b/gcc/testsuite/ChangeLog-2008 @@ -12918,7 +12918,6 @@ * gcc.target/i386/i386.exp (check_effective_target_sse5): Use __v8hi rather than __v2di type. - Copyright (C) 2008 Free Software Foundation, Inc. diff --git a/gcc/testsuite/ChangeLog-2009 b/gcc/testsuite/ChangeLog-2009 index 4c14e744fabc..475cac11d7d7 100644 --- a/gcc/testsuite/ChangeLog-2009 +++ b/gcc/testsuite/ChangeLog-2009 @@ -12669,7 +12669,6 @@ PR c/36489 * gcc.dg/pr36489.c: New test. - Copyright (C) 2009 Free Software Foundation, Inc. diff --git a/gcc/testsuite/ChangeLog-2010 b/gcc/testsuite/ChangeLog-2010 index 47f39a3bc4aa..c437f810e0de 100644 --- a/gcc/testsuite/ChangeLog-2010 +++ b/gcc/testsuite/ChangeLog-2010 @@ -15586,7 +15586,6 @@ PR middle-end/42559 * gcc.c-torture/compile/pr42559.c: New testcase. - Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/gcc/testsuite/ChangeLog-2011 b/gcc/testsuite/ChangeLog-2011 index b1b7e3705880..4431956a6a57 100644 --- a/gcc/testsuite/ChangeLog-2011 +++ b/gcc/testsuite/ChangeLog-2011 @@ -15861,7 +15861,6 @@ * gcc.target/arm/vfp-1.c (test_ldst): Fixed fsts test to scan for newline '\n'. - Copyright (C) 2011 Free Software Foundation, Inc. diff --git a/gcc/testsuite/ChangeLog-2022 b/gcc/testsuite/ChangeLog-2022 index 97827840cd14..f212f2e9a3e5 100644 --- a/gcc/testsuite/ChangeLog-2022 +++ b/gcc/testsuite/ChangeLog-2022 @@ -21429,7 +21429,6 @@ PR objc/103639 * objc.dg/pr103639.m: New test. - Copyright (C) 2022 Free Software Foundation, Inc. diff --git a/gcc/testsuite/ChangeLog-2023 b/gcc/testsuite/ChangeLog-2023 index 7e37126ebee6..4b88d58302ab 100644 --- a/gcc/testsuite/ChangeLog-2023 +++ b/gcc/testsuite/ChangeLog-2023 @@ -53045,7 +53045,6 @@ * gcc.target/i386/extendditi2-1.c: New test case. * gcc.target/i386/extendditi2-2.c: Likewise. - Copyright (C) 2023 Free Software Foundation, Inc. diff --git a/gcc/testsuite/ChangeLog-2024 b/gcc/testsuite/ChangeLog-2024 new file mode 100644 index 000000000000..eb6132cf5bad --- /dev/null +++ b/gcc/testsuite/ChangeLog-2024 @@ -0,0 +1,41227 @@ +2024-12-31 Jiahao Xu <xujiahao@loongson.cn> + Deng Jianbo <dengjianbo@loongson.cn> + + * lib/target-supports.exp (check_effective_target_vect_early_break_hw, + check_effective_target_vect_early_break): Support LoongArch LSX. + * gcc.target/loongarch/vector/lasx/lasx-vseteqz.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-vseteqz.c: New test. + +2024-12-31 Jeff Law <jlaw@ventanamicro.com> + + PR target/115375 + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-9.c: Adjust expected + output. + +2024-12-30 Jeff Law <jlaw@ventanamicro.com> + + PR testsuite/114182 + * gcc.c-torture/compile/attr-complex-method.c: Use + "large_double" to select between scan outputs. + * gcc.c-torture/compile/attr-complex-method-2.c: Similarly. + +2024-12-30 Jeff Law <jlaw@ventanamicro.com> + + PR target/106544 + * gcc.target/riscv/pr106544.c: New test. + +2024-12-30 Steven G. Kargl <kargls@comcast.net> + + PR fortran/117643 + * gfortran.dg/f_c_string1.f90: New test. + * gfortran.dg/f_c_string2.f90: New test. + +2024-12-30 Jeff Law <jlaw@ventanamicro.com> + + PR target/118122 + * gcc.target/riscv/pr118122.c: New test. + +2024-12-30 Richard Sandiford <richard.sandiford@arm.com> + Saurabh Jha <saurabh.jha@arm.com> + + * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Add mfloat8 + support. + * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vbsl.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcombine.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vcreate.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vext.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vget_high.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1x2.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1x3.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vrev.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vset_lane.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vst1x2.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vst1x3.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vst1x4.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vtbX.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: Likewise. + * gcc.target/aarch64/simd/lut.c: Likewise. + * gcc.target/aarch64/vdup_lane_1.c: Likewise. + * gcc.target/aarch64/vdup_lane_2.c: Likewise. + * gcc.target/aarch64/vdup_n_1.c: Likewise. + * gcc.target/aarch64/vect_copy_lane_1.c: Likewise. + * gcc.target/aarch64/simd/mf8_data_1.c: New test. + * gcc.target/aarch64/simd/mf8_data_2.c: Likewise. + +2024-12-30 kelefth <konstantinos.eleftheriou@vrull.eu> + + PR rtl-optimization/117835 + PR rtl-optimization/117872 + * gcc.target/i386/pr117835.c: New test. + +2024-12-30 Lewis Hyatt <lhyatt@gmail.com> + + PR tree-optimization/118205 + * c-c++-common/pr118205.c: New test. + +2024-12-29 Jeff Law <jlaw@ventanamicro.com> + + PR target/116715 + * gcc.target/riscv/pr116715.c: New test. + +2024-12-29 Jeff Law <jlaw@ventanamicro.com> + + PR target/116720 + * gcc.target/riscv/pr116720.c: New test. + +2024-12-29 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/106221 + PR c++/110680 + * g++.dg/cpp2a/lambda-uneval19.C: New test. + +2024-12-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/118207 + * gcc.dg/pr118207.c: New test. + * c-c++-common/cpp/embed-29.c: New file. + +2024-12-27 Jiahao Xu <xujiahao@loongson.cn> + + * gcc.target/loongarch/vector/lasx/lasx-vcond-3.c: New test. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc.target/alpha/memclr-a2-o1-c9-ptr.c: Remove XFAILs. + * gcc.target/alpha/memcpy-di-aligned.c: New file. + * gcc.target/alpha/memcpy-di-unaligned.c: New file. + * gcc.target/alpha/memcpy-di-unaligned-dst.c: New file. + * gcc.target/alpha/memcpy-di-unaligned-src.c: New file. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc.target/alpha/memclr-a2-o1-c9-ptr.c: New file. + * gcc.target/alpha/memclr-a2-o1-c9-run.c: New file. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc.target/alpha/stlx0.c: New file. + * gcc.target/alpha/stqx0.c: New file. + * gcc.target/alpha/stwx0.c: New file. + * gcc.target/alpha/stwx0-bwx.c: New file. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc.c-torture/execute/misalign.c: New file. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc.c-torture/execute/memclr.c: New file. + +2024-12-25 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc.target/alpha/alpha.exp: Use `gcc-dg-runtest' rather than + `dg-runtest'. Add `-Og -g' and `-Oz' variants via + ADDITIONAL_TORTURE_OPTIONS. + * gcc.target/alpha/20000715-1.c: Adjust test options + accordingly. + * gcc.target/alpha/20011018-1.c: Likewise. + * gcc.target/alpha/980217-1.c: Likewise. + * gcc.target/alpha/asm-1.c: Likewise. + * gcc.target/alpha/pr105209.c: Likewise. + * gcc.target/alpha/pr106966.c: Likewise. + * gcc.target/alpha/pr115297.c: Likewise. + * gcc.target/alpha/pr115526.c: Likewise. + * gcc.target/alpha/pr19518.c: Likewise. + * gcc.target/alpha/pr22093.c: Likewise. + * gcc.target/alpha/pr24178.c: Likewise. + * gcc.target/alpha/pr39740.c: Likewise. + * gcc.target/alpha/pr42113.c: Likewise. + * gcc.target/alpha/pr42269-1.c: Likewise. + * gcc.target/alpha/pr42448-1.c: Likewise. + * gcc.target/alpha/pr42448-2.c: Likewise. + * gcc.target/alpha/pr42774.c: Likewise. + * gcc.target/alpha/pr61586.c: Likewise. + * gcc.target/alpha/pr66140.c: Likewise. + * gcc.target/alpha/pr83628-1.c: Likewise. + * gcc.target/alpha/pr83628-2.c: Likewise. + * gcc.target/alpha/pr83628-3.c: Likewise. + * gcc.target/alpha/pr86984.c: Likewise. + * gcc.target/alpha/sqrt.c: Likewise. + * gcc.target/alpha/base-2.c: Remove file. + * gcc.target/alpha/cix-2.c: Remove file. + * gcc.target/alpha/max-2.c: Remove file. + +2024-12-24 Hans-Peter Nilsson <hp@bitrange.com> + + * gcc.dg/memcmp-1.c: Pass -DRUN_FRACTION=7 when testing in a simulator. + +2024-12-23 Harald Anlauf <anlauf@gmx.de> + + PR fortran/118179 + * gfortran.dg/null_actual_7.f90: Extend testcase to also cover + scalar variants with pointer or allocatable dummy with or without + specified intent. + +2024-12-23 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/107635 + * gfortran.dg/coarray_lib_comm_1.f90: Use less complicated + pattern, because all we need is the right count. + +2024-12-23 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.dg/tree-ssa/pr118149.c: Disable for AArch64. + +2024-12-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + PR testsuite/103298 + * gcc.target/arm/pr43920-2.c: Change to assembler pattern + "(cmp|mov|orr|and)(eq|ne)" for the check. Remove size check. + +2024-12-22 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray_atomic_5.f90: Adapted to look for + get_by_ct. + * gfortran.dg/coarray_lib_comm_1.f90: Same. + * gfortran.dg/coarray_stat_function.f90: Same. + +2024-12-21 Arsen Arsenović <arsen@aarsen.me> + + PR middle-end/109224 + * g++.dg/warn/Wmismatched-new-delete-9.C: New test. + * g++.dg/warn/pr109224.C: New file. + +2024-12-21 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104819 + * gfortran.dg/null_actual_7.f90: New test. + +2024-12-21 Jeff Law <jlaw@ventanamicro.com> + + PR middle-end/118084 + * gcc.target/riscv/pr118084.c: New test. + +2024-12-20 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/118007 + * gcc.dg/strub-pr118007.c: New. + +2024-12-20 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/113506 + * gcc.target/riscv/pr113506.c: New. + +2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.dg/tree-ssa/satd-hadamard.c: Rename dg-additional-options + to dg-options. + * gcc.dg/tree-ssa/vector-10.c: Rename dg-additional-options + to dg-options and add -msse2 to it. + * gcc.dg/tree-ssa/vector-11.c: Likewise. + * gcc.dg/tree-ssa/vector-8.c: Rename dg-additional-options + to dg-options. + * gcc.dg/tree-ssa/vector-9.c: Likewise. + +2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.dg/tree-ssa/pr118149-2.c: New test. + * gcc.dg/tree-ssa/pr118149.c: New test. + +2024-12-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/118120 + PR fortran/113928 + * gfortran.dg/aliasing_complex_pointer.f90: New test. + +2024-12-20 Tamar Christina <tamar.christina@arm.com> + + PR target/96342 + * gcc.target/aarch64/vect-simd-clone-2.c: New test. + +2024-12-20 Tamar Christina <tamar.christina@arm.com> + Victor Do Nascimento <victor.donascimento@arm.com> + + PR target/96342 + * gcc.target/aarch64/declare-simd-2.c: Add SVE clone scan. + * gcc.target/aarch64/vect-simd-clone-1.c: New test. + * g++.target/aarch64/vect-simd-clone-1.C: New test. + +2024-12-20 Tamar Christina <tamar.christina@arm.com> + + PR target/96342 + * c-c++-common/gomp/declare-variant-14.c: Make i?86 and x86_64 target + only test. + * gfortran.dg/gomp/declare-variant-14.f90: Likewise. + +2024-12-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Take + tree-optimized pass for standard name check, and adjust the times. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto + +2024-12-20 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.dg/tree-ssa/vector-11.c: New test. + +2024-12-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/attr-maybe_unused1.C: New test. + * g++.dg/cpp0x/alignas21.C: Add test for int && alignas (int). + +2024-12-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/attr-deprecated1.C: New test. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116401 + * g++.dg/modules/macro-4_c.H: Add missing 'inline'. + * g++.dg/modules/pr106761.h: Likewise. + * g++.dg/modules/pr98843_b.H: Likewise. + * g++.dg/modules/pr99468.H: Likewise. + * g++.dg/modules/pragma-1_a.H: Likewise. + * g++.dg/modules/tpl-ary-1.h: Likewise. + * g++.dg/modules/hdr-2.H: New test. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/export-3.C: Adjust error message. + * g++.dg/modules/export-6.C: New test. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/internal-9_a.H: New test. + * g++.dg/modules/internal-9_b.C: New test. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/internal-5_a.C: New test. + * g++.dg/modules/internal-5_b.C: New test. + * g++.dg/modules/internal-6.C: New test. + * g++.dg/modules/internal-7_a.C: New test. + * g++.dg/modules/internal-7_b.C: New test. + * g++.dg/modules/internal-8_a.C: New test. + * g++.dg/modules/xtreme-header-8.C: New test. + +2024-12-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/block-decl-2.C: Adjust messages. + * g++.dg/modules/internal-1.C: Adjust messages, remove XFAILs. + * g++.dg/modules/linkage-2.C: Adjust messages, remove XFAILS. + * g++.dg/modules/internal-3.C: New test. + * g++.dg/modules/internal-4_a.H: New test. + * g++.dg/modules/internal-4_b.C: New test. + +2024-12-19 Marek Polacek <polacek@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/117980 + * g++.dg/cpp0x/constexpr-prvalue2.C: New test. + * g++.dg/cpp0x/constexpr-prvalue3.C: New test. + +2024-12-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/memset-inline-4.c: Only check assembler output. + * gcc.target/arm/memset-inline-5.c: Likewise. + * gcc.target/arm/memset-inline-6.c: Likewise. + * gcc.target/arm/memset-inline-8.c: Likewise. + * gcc.target/arm/memset-inline-9.c: Likewise. + * gcc.target/arm/memset-inline-4-exe.c: New test. + * gcc.target/arm/memset-inline-5-exe.c: Likewise. + * gcc.target/arm/memset-inline-6-exe.c: Likewise. + * gcc.target/arm/memset-inline-8-exe.c: Likewise. + * gcc.target/arm/memset-inline-9-exe.c: Likewise. + +2024-12-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/abi/arm_rtti1.C: Check for expected symbol in C++26. + +2024-12-19 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/toplevel-asm-1.c: Use %cc3 %cc4 instead of %c3 %c4 + on riscv. + +2024-12-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Adjust + the vsse check times based on optimization option. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto. + +2024-12-19 Pan Li <pan2.li@intel.com> + + PR target/118075 + * gcc.target/riscv/rvv/base/pr118075-run-1.c: New test. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/field-merge-16.c: New. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/field-merge-15.c: New. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/117915 + * gcc.dg/pr117915.c: New. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + PR testsuite/118025 + * gcc.dg/field-merge-9.c (q): Drop overcorrection for + big-endian. + * gcc.dg/field-merge-12.c: Include stdbool.h. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/118046 + * gcc.dg/field-merge-14.c: New. + +2024-12-19 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/field-merge-13.c: New. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/118081 + * gcc.dg/pr118081.c: New test. + +2024-12-18 Tobias Burnus <tburnus@baylibre.com> + + * c-c++-common/gomp/declare-variant-2.c: Update dg-error msg. + * c-c++-common/gomp/dispatch-12.c: Likewise. + * c-c++-common/gomp/dispatch-11.c: Likewise and extend a bit. + * c-c++-common/gomp/append-args-1.c: New test. + * c-c++-common/gomp/append-args-2.c: New test. + * c-c++-common/gomp/append-args-3.c: New test. + * g++.dg/gomp/append-args-1.C: New test. + * g++.dg/gomp/append-args-2.C: New test. + * g++.dg/gomp/append-args-3.C: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/alignas1.C: Add dg-options "". + * g++.dg/cpp0x/alignas2.C: Likewise. + * g++.dg/cpp0x/alignas7.C: Likewise. + * g++.dg/cpp0x/alignas21.C: New test. + * g++.dg/ext/bitfield9.C: Expect a warning. + * g++.dg/cpp2a/is-layout-compatible3.C: Add dg-options -pedantic. + Expect a warning. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/attr-likely1.C: New test. + * g++.dg/cpp0x/attr-unlikely1.C: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/attr-fallthrough1.C: New test. + * g++.dg/cpp0x/attr-fallthrough2.C: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/attr-carries_dependency2.C: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/attr-assume1.C: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/gen-attrs-86.C: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/gen-attrs-85.C: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + PR c/41045 + * c-c++-common/toplevel-asm-4.c: Add missing %cc2 use in template, add + bar, x, &y operands with "-i" and "-s" constraints. + (x, y): New variables. + (bar): Declare. + * c-c++-common/toplevel-asm-7.c: New test. + * c-c++-common/toplevel-asm-8.c: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/toplevel-asm-4.c: Don't use -fno-pie option. + Use cc modifier instead of c. + (v, w): Add extern keyword. + * c-c++-common/toplevel-asm-6.c: New test. + +2024-12-18 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/toplevel-asm-4.c: New test. + * c-c++-common/toplevel-asm-5.c: New test. + +2024-12-18 Xi Ruoyao <xry111@xry111.site> + + * g++.target/loongarch/crc.C: New test. + * g++.target/loongarch/crc-scan.C: New test. + +2024-12-17 Marek Polacek <polacek@redhat.com> + + PR c++/118073 + * g++.dg/diagnostic/arg-pack1.C: New test. + +2024-12-17 Marek Polacek <polacek@redhat.com> + + PR c++/117985 + * g++.dg/cpp0x/initlist-array23.C: New test. + * g++.dg/cpp0x/initlist-array24.C: New test. + +2024-12-17 Oliver Kozul <Oliver.Kozul@rt-rk.com> + + * gcc.target/riscv/pr114087-1.c: New test. + +2024-12-17 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/torture/pr81812.C: Add xfail for thumb1. + +2024-12-17 Anton Blanchard <antonb@tenstorrent.com> + + * gcc.target/riscv/mcpu-tt-ascalon-d8.c: New test. + +2024-12-17 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * lib/target-supports.exp: Added corresponding -mtune= option + for each fo the arm_cpu_* effective targets. + +2024-12-17 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/constraint-R.c: New. + +2024-12-17 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/modifier-N-fpr.c: New. + * gcc.target/riscv/modifier-N-vr.c: New. + * gcc.target/riscv/modifier-N.c: New. + +2024-12-17 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/constraint-cf-zfinx.c: New. + * gcc.target/riscv/constraint-cf.c: New. + * gcc.target/riscv/constraint-cr.c: New. + +2024-12-17 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/ipa/vrp9.c: New test. + +2024-12-17 Jakub Jelinek <jakub@redhat.com> + + PR c++/116108 + * g++.dg/cpp1z/class-deduction117.C: New test. + +2024-12-17 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/associate_71.f90: New test. + +2024-12-16 Hans-Peter Nilsson <hp@axis.com> + + PR tree-optimization/118055 + * gcc.dg/tree-ssa/pr83403-1.c, gcc.dg/tree-ssa/pr83403-2.c: Add + cris-*-* to targets passing --param=max-completely-peeled-insns=300. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + * sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links.sarif: New test. + * sarif-replay.dg/2.1.0-valid/malloc-vs-local-4.c.sarif: Update + expected output for handling the embedded links. + * sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: Likewise. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + * libgdiagnostics.dg/test-logical-location.c: Include <assert.h>. + Verify that creating a diagnostic_logical_location with equal + values yields the same instance. + * sarif-replay.dg/2.1.0-valid/malloc-vs-local-4.c.sarif: New test. + * sarif-replay.dg/2.1.0-valid/signal-1.c.moved.sarif: Update + expected output to show logical location and for consolidation of + events into runs. + * sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: Likewise. + * sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: Likewise. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + PR sarif-replay/117943 + * sarif-replay.dg/2.1.0-valid/error-with-note.sarif: Update + expected output to include quoted source code and underlines. + * sarif-replay.dg/2.1.0-valid/signal-1.c.moved.sarif: New test. + * sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: Update expected + output to include quoted source code and underlines. + +2024-12-16 David Malcolm <dmalcolm@redhat.com> + + PR sarif-replay/117943 + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.cc + (custom_diagnostic_text_finalizer): Use source-printing options + from text_output. + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc + (xhtml_builder::make_element_for_diagnostic): Use source-printing + options from diagnostic_context. + * gcc.dg/plugin/expensive_selftests_plugin.cc (test_richloc): + Likewise. + +2024-12-16 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/pr117816.c: Require effective target int32plus. + +2024-12-16 Robin Dapp <rdapp@ventanamicro.com> + + PR target/117383 + * gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c: + Expect tu. + * gcc.target/riscv/rvv/autovec/pr117383.c: New test. + +2024-12-16 Robin Dapp <rdapp@ventanamicro.com> + + PR target/118019 + * gcc.target/riscv/rvv/autovec/pr118019.c: New test. + +2024-12-15 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/tree-ssa/ivopts-1.c: Enable TImode tests on hppa64. + +2024-12-15 John David Anglin <danglin@gcc.gnu.org> + + * c-c++-common/gomp/unroll-4.c: xfail scan-assembler-times + "dummy" for hppa*-*-hpux*. + * c-c++-common/gomp/unroll-5.c: Likewise. + +2024-12-15 John David Anglin <danglin@gcc.gnu.org> + + * g++.dg/modules/enum-14.C: Require lto. + +2024-12-15 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/98935 + * g++.dg/coroutines/pr98935.C: New test. + +2024-12-15 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117897 + * gfortran.dg/finalize_59.f90: New test. + +2024-12-14 Jovan Vukic <Jovan.Vukic@rt-rk.com> + + * gcc.dg/tree-ssa/bitops-11.c: New test. + +2024-12-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/118023 + * gcc.dg/bitint-119.c: New test. + +2024-12-14 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/118024 + * gcc.dg/pr118024.c: New test. + +2024-12-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/90321 + * g++.dg/cpp1z/decomp62.C: New test. + +2024-12-13 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/117095 + * gcc.c-torture/execute/pr117095.c: New test. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + Jakub Jelinek <jakub@redhat.com> + + PR target/114801 + * gcc.target/arm/mve/pr108443.c: Update predicate constant. + * gcc.target/arm/mve/pr108443-run.c: Likewise. + * gcc.target/arm/mve/pr114801.c: New test. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: + Update expected output. + * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c: + Likewise. + +2024-12-13 Christophe Lyon <christophe.lyon@linaro.org> + + * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_s64.c: Update + expected output. + * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_u64.c: + Likewise. + +2024-12-13 Tobias Burnus <tburnus@baylibre.com> + + * g++.dg/gomp/pr108607.C: Update dg-error. + * g++.dg/gomp/pr79664.C: Update dg-error. + * g++.dg/gomp/omp-constexpr.C: New test. + +2024-12-13 Jakub Jelinek <jakub@redhat.com> + + PR target/116979 + * gcc.target/i386/pr116979.c: New test. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/pr112599-2.c: Adjust test + expectation. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-evenodd-run.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-evenodd.c: New test. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-interleave-run.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-interleave.c: New test. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide-run.c: New test. + * gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide.c: New test. + +2024-12-13 Robin Dapp <rdapp@ventanamicro.com> + + PR target/117353 + PR target/117878 + * gcc.target/riscv/rvv/autovec/pr117353.c: New test. + +2024-12-13 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/embed-1.c: Use #error rather than #errror. + +2024-12-13 Pan Li <pan2.li@intel.com> + + PR target/117990 + * gcc.target/riscv/rvv/base/pr117990-run-1.c: New test. + +2024-12-12 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/115127 + * c-c++-common/ubsan/builtin-2.c: New test. + +2024-12-12 Tobias Burnus <tburnus@baylibre.com> + + * c-c++-common/gomp/adjust-args-3.c: New test. + * gcc.dg/gomp/adjust-args-2.c: New test. + +2024-12-12 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117797 + * gfortran.dg/pr117797.f90: New test. + +2024-12-12 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/matrix1.adb: New test. + +2024-12-12 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/field-merge-1.c: New. + * gcc.dg/field-merge-2.c: New. + * gcc.dg/field-merge-3.c: New. + * gcc.dg/field-merge-4.c: New. + * gcc.dg/field-merge-5.c: New. + * gcc.dg/field-merge-6.c: New. + * gcc.dg/field-merge-7.c: New. + * gcc.dg/field-merge-8.c: New. + * gcc.dg/field-merge-9.c: New. + * gcc.dg/field-merge-10.c: New. + * gcc.dg/field-merge-11.c: New. + * gcc.dg/field-merge-12.c: New. + * gcc.target/aarch64/long_branch_1.c: Disable ifcombine. + +2024-12-12 Georg-Johann Lay <avr@gjlay.de> + + PR target/118001 + * gcc.target/avr/torture/addr-space-1.h [AVR_HAVE_ELPM]: + Use a function to bump .progmemx.data to a high address. + * gcc.target/avr/torture/addr-space-2.h: Same. + * gcc.target/avr/torture/addr-space-1-fx.c: New test. + * gcc.target/avr/torture/addr-space-2-fx.c: New test. + +2024-12-12 Martin Uecker <uecker@tugraz.at> + + PR c/113688 + PR c/114014 + PR c/114713 + PR c/117724 + * gcc.dg/pr113688.c: New test. + * gcc.dg/pr114014.c: New test. + * gcc.dg/pr114713.c: New test. + * gcc.dg/pr117724.c: New test. + +2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/thumb-ifcvt.c: Use -mtune=cortex-m4. + +2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/thumb2-slow-flash-data-3.c: Added argument to + fn1 to avoid compile error. + +2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/thumb1-far-jump-2.c: Write to volatile memmory + in macro to avoid optimization. + +2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/lto/pr96939_0.c: Use effective-target + arm_arch_v8a. + * gcc.target/arm/lto/pr96939_1.c: Remove dg-options. + +2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + PR testsuite/94531 + * gcc.target/arm/its.c: Removed. + * gcc.target/arm/its-1.c: Copy of gcc.target/arm/its.c. Use + effective-target arm_cpu_cortex_m7. + * gcc.target/arm/its-2.c: Copy of gcc.target/arm/its.c. Use + effective-target arm_cpu_cortex_m3. + +2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.dg/pr41574.c: Added option "-mcpu=unset". + * gcc.dg/pr59418.c: Likewise. + * lib/target-supports.exp (add_options_for_vect_early_break): + Likewise. + (add_options_for_arm_v8_neon): Likewise. + (check_effective_target_arm_neon_ok_nocache): Likewise. + (check_effective_target_arm_simd32_ok_nocache): Likewise. + (check_effective_target_arm_sat_ok_nocache): Likewise. + (check_effective_target_arm_dsp_ok_nocache): Likewise. + (check_effective_target_arm_crc_ok_nocache): Likewise. + (check_effective_target_arm_v8_neon_ok_nocache): Likewise. + (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Likewise. + (check_effective_target_arm_v8_1a_neon_ok_nocache): Likewise. + (check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): + Likewise. + (check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): + Likewise. + (check_effective_target_arm_v8_2a_dotprod_neon_ok_nocache): + Likewise. + (check_effective_target_arm_v8_1m_mve_ok_nocache): Likewise. + (check_effective_target_arm_v8_2a_i8mm_ok_nocache): Likewise. + (check_effective_target_arm_fp16fml_neon_ok_nocache): Likewise. + (check_effective_target_arm_v8_2a_bf16_neon_ok_nocache): + Likewise. + (check_effective_target_arm_v8m_main_cde_ok_nocache): Likewise. + (check_effective_target_arm_v8m_main_cde_fp_ok_nocache): + Likewise. + (check_effective_target_arm_v8_1m_main_cde_mve_ok_nocache): + Likewise. + (check_effective_target_arm_v8_1m_main_cde_mve_fp_ok_nocache): + Likewise. + (check_effective_target_arm_v8_3a_complex_neon_ok_nocache): + Likewise. + (check_effective_target_arm_v8_3a_fp16_complex_neon_ok_nocache): + Likewise. + (check_effective_target_arm_v8_1_lob_ok): Likewise. + +2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/bfloat16_scalar_1_1.c: Use effective-target + arm_arch_v8_2a_bf16_hard. + * gcc.target/arm/bfloat16_scalar_2_1.c: Likewise. + * gcc.target/arm/bfloat16_scalar_3_1.c: Likewise. + * gcc.target/arm/bfloat16_scalar_1_2.c: Use effective-target + arm_arch_v8_2a_bf16. + * gcc.target/arm/bfloat16_scalar_2_2.c: Likewise. + * gcc.target/arm/bfloat16_scalar_3_2.c: Likewise. + * lib/target-supports.exp: Define effective-target + v8_2a_bf16 and v8_2a_bf16_hard. + +2024-12-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/other/pr56184.C: Use effective-target + arm_arch_v7a_neon_thumb. + * g++.dg/other/pr59985.C: Use effective-target + arm_arch_v7a_fp_hard. + * lib/target-supports.exp: Define effective-target + arm_arch_v7a_fp_hard, arm_arch_v7a_neon_thumb + +2024-12-11 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117901 + * gfortran.dg/pr117901.f90: New test. + +2024-12-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/117614 + * g++.dg/cpp2a/constexpr-union8.C: New test. + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + * g++.dg/diagnostic/long-short-colorization.C: New test. + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + PR other/116253 + * g++.dg/concepts/nested-diagnostics-1-truncated.C: Update + expected output. + * g++.dg/concepts/nested-diagnostics-1.C: Likewise. + * g++.dg/concepts/nested-diagnostics-2.C: Likewise. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented-show-levels.c: + Likewise. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented-unicode.c: + Likewise. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented.c: Likewise. + +2024-12-11 David Malcolm <dmalcolm@redhat.com> + + * g++.dg/concepts/diagnostic9.C: Update expected + results for candidate count and numbering. + * g++.dg/concepts/nested-diagnostics-1-truncated.C: + * g++.dg/concepts/nested-diagnostics-1.C: Likewise. + * g++.dg/concepts/nested-diagnostics-2.C: Likewise. + * g++.dg/cpp23/explicit-obj-lambda11.C: Likewise. + * g++.dg/cpp2a/desig4.C: Likewise. + * g++.dg/cpp2a/desig6.C: Likewise. + * g++.dg/cpp2a/spaceship-eq15.C: Likewise. + * g++.dg/diagnostic/function-color1.C: Likewise. + * g++.dg/diagnostic/param-type-mismatch-2.C: Likewise. + * g++.dg/diagnostic/pr100716-1.C: Likewise. + * g++.dg/diagnostic/pr100716.C: Likewise. + * g++.dg/lookup/operator-2.C: Likewise. + * g++.dg/lookup/pr80891-5.C: Likewise. + * g++.dg/modules/adhoc-1_b.C: Likewise. + * g++.dg/modules/err-1_c.C: Likewise. + * g++.dg/modules/err-1_d.C: Likewise. + * g++.dg/other/return2.C: Likewise. + * g++.dg/overload/error6.C: Likewise. + * g++.dg/template/local6.C: Likewise. + +2024-12-11 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114932 + * gfortran.dg/addressing-modes_2.f90: New test. + +2024-12-11 Soumya AR <soumyaa@nvidia.com> + Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/sve-asrd.c: New test. + +2024-12-11 Soumya AR <soumyaa@nvidia.com> + + * gcc.target/aarch64/sve/bitsel.c: New test. + +2024-12-11 liuhongt <hongtao.liu@intel.com> + + * gcc.dg/pr117888-2.c: New test. + * gcc.dg/vect/pr117888-1.c: Ditto. + * gcc.dg/tree-ssa/pr83403-1.c: Add + --param max-completely-peeled-insns=300 for arm*-*-*. + * gcc.dg/tree-ssa/pr83403-2.c: Ditto. + +2024-12-10 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/117120 + * gm2/pim/pass/forloopnulchar.mod: New test. + * gm2/pim/pass/nulcharcase.mod: New test. + * gm2/pim/pass/nulcharvar.mod: New test. + +2024-12-10 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/117946 + * gcc.target/i386/pr117946.c: New. + +2024-12-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/117819 + * gfortran.dg/pr117819.f90: New test. + +2024-12-10 Marek Polacek <polacek@redhat.com> + + PR c++/117880 + * g++.dg/warn/Wduplicated-branches8.C: New test. + +2024-12-10 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/117675 + * gcc.target/arm/pr117675.c: Add new test. + +2024-12-10 Wilco Dijkstra <wdijkstr@ip-10-252-53-150.eu-west-1.compute.internal> + + * gcc.target/aarch64/torture/simd-abi-8.c: Update to check for LDP/STP. + +2024-12-10 Marek Polacek <polacek@redhat.com> + + PR c++/117788 + * c-c++-common/Warray-compare-1.c: Expect an error in C++26. + * c-c++-common/Warray-compare-3.c: Likewise. + * c-c++-common/Warray-compare-4.c: New test. + * c-c++-common/Warray-compare-5.c: New test. + * g++.dg/warn/Warray-compare-1.C: New test. + +2024-12-10 Hans-Peter Nilsson <hp@axis.com> + + * gcc.dg/tree-ssa/pr117973-1.c: New test. + +2024-12-10 Jonathan Wakely <jwakely@redhat.com> + + * g++.dg/cpp0x/trivial1.C: Add -Wno-deprecated for C++26. + +2024-12-10 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc.c-torture/execute/memcpy-a1.c: Mark as expensive. + * gcc.c-torture/execute/memcpy-a2.c: Likewise. + * gcc.c-torture/execute/memcpy-a4.c: Likewise. + * gcc.c-torture/execute/memcpy-a8.c: Likewise. + +2024-12-10 Saurabh Jha <saurabh.jha@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test TARGET_FP8FMA. + * gcc.target/aarch64/simd/vmla_fpm.c: New test. + * gcc.target/aarch64/simd/vmla_lane_indices_1.c: Likewise. + +2024-12-10 Saurabh Jha <saurabh.jha@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test fp8dot2 and fp8dot4. + * gcc.target/aarch64/simd/vdot2_fpm.c: New test. + * gcc.target/aarch64/simd/vdot4_fpm.c: New test. + * gcc.target/aarch64/simd/vdot_lane_indices_1.c: New test. + +2024-12-10 Saurabh Jha <saurabh.jha@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/acle/fp8.c: Remove check that fp8 feature + macro doesn't exist and... + * gcc.target/aarch64/pragma_cpp_predefs_4.c: ...test that it does here. + * gcc.target/aarch64/simd/scale_fpm.c: New test. + * gcc.target/aarch64/simd/vcvt_fpm.c: New test. + +2024-12-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117912 + * c-c++-common/torture/pr117912-1.c: New testcase. + * c-c++-common/torture/pr117912-2.c: Likewise. + * c-c++-common/torture/pr117912-3.c: Likewise. + +2024-12-10 Hans-Peter Nilsson <hp@axis.com> + + PR tree-optimization/117954 + * gcc.dg/tree-ssa/pr111456-1.c: Pass + --param=logical-op-non-short-circuit=1. + +2024-12-10 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i16.c: Take + tree-optimized pass for standard name check, and adjust the times. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i8.c: Ditto. + +2024-12-10 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i16-to-i8.c: Take + tree-optimized pass for standard name check, and adjust the times. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i8.c: Ditto. + +2024-12-10 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s16.c: Take + tree-optimized pass for standard name check, and adjust the times. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s8.c: Ditto. + +2024-12-10 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c: Take + tree-optimized pass for standard name check, and adjust the times. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c: Ditto. + +2024-12-10 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u16.c: Take + tree-optimized pass for standard name check, and adjust the times. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip.c: Ditto. + +2024-12-10 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u16.c: Take + tree-optimized pass for standard name check, and adjust the times. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u8.c: Ditto. + +2024-12-09 Mariam Arutunian <mariamarutunian@gmail.com> + + * gcc.target/aarch64/crc-builtin-pmul64.c: New test. + +2024-12-09 Mariam Arutunian <mariamarutunian@gmail.com> + Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/crc-1-pmul.c: New test. + * gcc.target/aarch64/crc-10-pmul.c: Likewise. + * gcc.target/aarch64/crc-12-pmul.c: Likewise. + * gcc.target/aarch64/crc-13-pmul.c: Likewise. + * gcc.target/aarch64/crc-14-pmul.c: Likewise. + * gcc.target/aarch64/crc-17-pmul.c: Likewise. + * gcc.target/aarch64/crc-18-pmul.c: Likewise. + * gcc.target/aarch64/crc-21-pmul.c: Likewise. + * gcc.target/aarch64/crc-22-pmul.c: Likewise. + * gcc.target/aarch64/crc-23-pmul.c: Likewise. + * gcc.target/aarch64/crc-4-pmul.c: Likewise. + * gcc.target/aarch64/crc-5-pmul.c: Likewise. + * gcc.target/aarch64/crc-6-pmul.c: Likewise. + * gcc.target/aarch64/crc-7-pmul.c: Likewise. + * gcc.target/aarch64/crc-8-pmul.c: Likewise. + * gcc.target/aarch64/crc-9-pmul.c: Likewise. + * gcc.target/aarch64/crc-CCIT-data16-pmul.c: Likewise. + * gcc.target/aarch64/crc-CCIT-data8-pmul.c: Likewise. + * gcc.target/aarch64/crc-coremark-16bitdata-pmul.c: Likewise. + * gcc.target/aarch64/crc-crc32-data16.c: Likewise. + * gcc.target/aarch64/crc-crc32-data32.c: Likewise. + * gcc.target/aarch64/crc-crc32-data8.c: Likewise. + * gcc.target/aarch64/crc-crc32c-data16.c: Likewise. + * gcc.target/aarch64/crc-crc32c-data32.c: Likewise. + * gcc.target/aarch64/crc-crc32c-data8.c: Likewise. + +2024-12-09 Marek Polacek <polacek@redhat.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/116416 + * g++.dg/analyzer/pr97116.C: Adjust dg-message. + * g++.dg/tree-ssa/pr78687.C: Add XFAIL. + * g++.dg/tree-ssa/pr90883.C: Adjust dg-final. + * g++.dg/cpp0x/constexpr-prvalue1.C: New test. + * g++.dg/cpp1y/constexpr-prvalue1.C: New test. + +2024-12-09 Mariam Arutunian <mariamarutunian@gmail.com> + + * gcc.target/riscv/crc-1-zbc.c: New test. + * gcc.target/riscv/crc-1-zbkc.c: Likewise. + * gcc.target/riscv/crc-10-zbc.c: Likewise. + * gcc.target/riscv/crc-10-zbkc.c: Likewise. + * gcc.target/riscv/crc-12-zbc.c: Likewise. + * gcc.target/riscv/crc-12-zbkc.c: Likewise. + * gcc.target/riscv/crc-13-zbc.c: Likewise. + * gcc.target/riscv/crc-13-zbkc.c: Likewise. + * gcc.target/riscv/crc-14-zbc.c: Likewise. + * gcc.target/riscv/crc-14-zbkc.c: Likewise. + * gcc.target/riscv/crc-17-zbc.c: Likewise. + * gcc.target/riscv/crc-17-zbkc.c: Likewise. + * gcc.target/riscv/crc-18-zbc.c: Likewise. + * gcc.target/riscv/crc-18-zbkc.c: Likewise. + * gcc.target/riscv/crc-21-rv64-zbc.c: Likewise. + * gcc.target/riscv/crc-21-rv64-zbkc.c: Likewise. + * gcc.target/riscv/crc-22-zbc.c: Likewise. + * gcc.target/riscv/crc-22-zbkc.c: Likewise. + * gcc.target/riscv/crc-23-zbc.c: Likewise. + * gcc.target/riscv/crc-23-zbkc.c: Likewise. + * gcc.target/riscv/crc-4-zbc.c: Likewise. + * gcc.target/riscv/crc-4-zbkb.c: Likewise. + * gcc.target/riscv/crc-4-zbkc.c: Likewise. + * gcc.target/riscv/crc-5-zbc.c: Likewise. + * gcc.target/riscv/crc-5-zbkb.c: Likewise. + * gcc.target/riscv/crc-5-zbkc.c: Likewise. + * gcc.target/riscv/crc-6-zbc.c: Likewise. + * gcc.target/riscv/crc-6-zbkc.c: Likewise. + * gcc.target/riscv/crc-7-zbc.c: Likewise. + * gcc.target/riscv/crc-7-zbkc.c: Likewise. + * gcc.target/riscv/crc-8-zbc.c: Likewise. + * gcc.target/riscv/crc-8-zbkc.c: Likewise. + * gcc.target/riscv/crc-9-zbc.c: Likewise. + * gcc.target/riscv/crc-9-zbkc.c: Likewise. + * gcc.target/riscv/crc-CCIT-data16-zbc.c: Likewise. + * gcc.target/riscv/crc-CCIT-data16-zbkc.c: Likewise. + * gcc.target/riscv/crc-CCIT-data8-zbc.c: Likewise. + * gcc.target/riscv/crc-CCIT-data8-zbkc.c: Likewise. + * gcc.target/riscv/crc-coremark-16bitdata-zbc.c: Likewise. + * gcc.target/riscv/crc-coremark-16bitdata-zbkc.c: Likewise. + * lib/target-supports.exp (check_effective_target_riscv_zbc_ok): Set + gcc_march before compiling test program. + (check_effective_target_riscv_zbkc_ok): Likewise. + (check_effective_target_riscv_zbkb_ok): Likewise. + Co-authored-by: Jeff Law <jlaw@ventanamicro.com> + * gcc.target/riscv/crc-22-zbkb.c: New file. + * gcc.target/riscv/crc-8-zbkb.c: New file. + +2024-12-09 Juergen Christ <jchrist@linux.ibm.com> + + * gcc.target/s390/ccusage.c: New test. + +2024-12-09 Matthew Malcomson <mmalcomson@nvidia.com> + + * g++.dg/template/builtin-atomic-overloads.def: New test. + * g++.dg/template/builtin-atomic-overloads1.C: New test. + * g++.dg/template/builtin-atomic-overloads2.C: New test. + * g++.dg/template/builtin-atomic-overloads3.C: New test. + * g++.dg/template/builtin-atomic-overloads4.C: New test. + * g++.dg/template/builtin-atomic-overloads5.C: New test. + * g++.dg/template/builtin-atomic-overloads6.C: New test. + * g++.dg/template/builtin-atomic-overloads7.C: New test. + * g++.dg/template/builtin-atomic-overloads8.C: New test. + * g++.dg/template/builtin-sfinae-check-function-arguments.C: New test. + * g++.dg/template/builtin-speculation-overloads.def: New test. + * g++.dg/template/builtin-speculation-overloads1.C: New test. + * g++.dg/template/builtin-speculation-overloads2.C: New test. + * g++.dg/template/builtin-speculation-overloads3.C: New test. + * g++.dg/template/builtin-speculation-overloads4.C: New test. + * g++.dg/template/builtin-speculation-overloads5.C: New test. + * g++.dg/template/builtin-validate-nargs.C: New test. + +2024-12-09 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115328 + * gm2/pim/fail/forward.mod: Move to... + * gm2/pim/pass/forward.mod: ...here. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c: Take tree-optimized + pass for standard name check, and adjust the times. + * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c: Ditto. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_s_sub-1-i16.c: Take tree-optimized + pass for standard name check, and adjust the times. + * gcc.target/riscv/sat/sat_s_sub-1-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-1-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-1-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-2-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-2-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-2-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-2-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-3-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-3-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-3-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-3-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-4-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-4-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-4-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-4-i8.c: Ditto. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_s_add-1-i16.c: Take tree-optimized + pass for standard name check, and adjust the times. + * gcc.target/riscv/sat/sat_s_add-1-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-1-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-1-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-2-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-2-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-2-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-2-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-3-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-3-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-3-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-3-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-4-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-4-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-4-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-4-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-1-1.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-1.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-2-1.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-2.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-3-1.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-3.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-4.c: Ditto. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_u_trunc-1-u16.c: Take tree-optimized + pass for standard name check, and adjust the times. + * gcc.target/riscv/sat/sat_u_trunc-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-4-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-5-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-5-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-5-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-5-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-6-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-6-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-6-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-6-u8.c: Ditto. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_u_sub-1-u16.c: Take tree-optimized + pass for standard name check, and adjust the times. + * gcc.target/riscv/sat/sat_u_sub-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-10-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-10-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-10-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-10-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-11-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-11-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-11-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-11-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-12-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-12-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-12-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-12-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-4-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-5-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-5-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-5-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-5-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-6-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-6-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-6-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-6-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-7-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-7-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-7-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-7-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-8-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-8-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-8-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-8-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-9-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-9-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-9-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-9-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u64-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8.c: Ditto. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_u_add-1-u16.c: Take tree-optimized + pass for standard name check, and adjust the times. + * gcc.target/riscv/sat/sat_u_add-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-4-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-5-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-5-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-5-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-5-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-6-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-6-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-6-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-6-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-1-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-4-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-10.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-11.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-12.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-13.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-14.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-15.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-17.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-18.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-19.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-20.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-21.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-22.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-23.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-24.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-25.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-26.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-27.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-28.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-29.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-30.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-31.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-33.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-34.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-35.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-36.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-37.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-38.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-39.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-40.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-41.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-42.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-43.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-44.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-45.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-46.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-47.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-48.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-49.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-5.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-50.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-51.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-52.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-53.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-54.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-55.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-56.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-57.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-58.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-59.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-6.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-60.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-7.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-9.c: Ditto. + +2024-12-09 Simon Martin <simon@nasilyan.com> + + PR c++/117845 + * g++.dg/asan/pr117845-2.C: New test. + * g++.dg/asan/pr117845.C: New test. + +2024-12-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117901 + * gfortran.dg/class_transformational_1.f90: Temporary fix for + ICE with some compile options by setting dummy arg of + 'unlimited rebar' to be allocatable. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization + options passing to testcases. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c: Skip + m8 as it has different body layout. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-1.c: Add build option + condition when check asm dumps. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-9.c: Ditto. + +2024-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization + options passing to testcases. + +2024-12-08 Lewis Hyatt <lhyatt@gmail.com> + + * g++.dg/diagnostic/pr77949.C: Adapt the test for 64-bit location_t, + when the previously expected failure doesn't actually happen. + * g++.dg/modules/loc-prune-4.C: Adjust the expected output for the + 64-bit location_t case. + * gcc.dg/plugin/expensive_selftests_plugin.cc: Don't try to test + the maximum supported column number in 64-bit location_t mode. + * gcc.dg/plugin/location_overflow_plugin.cc: Adjust the base_location + so it can effectively test 64-bit location_t. + +2024-12-08 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/asm-op-modifier.c: New test. + +2024-12-07 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/117948 + * gm2/pim/fail/forward.mod: New test. + +2024-12-07 Jakub Jelinek <jakub@redhat.com> + + PR target/117930 + * gcc.target/i386/pr117930.c: New test. + +2024-12-06 David Malcolm <dmalcolm@redhat.com> + + PR other/116253 + * g++.dg/concepts/nested-diagnostics-1-truncated.C: New test. + * g++.dg/concepts/nested-diagnostics-1.C: New test. + * g++.dg/concepts/nested-diagnostics-2.C: New test. + +2024-12-06 Uros Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/pr101716.c (dg-options): Add -dp. + (dg-final): Scan for zero_extendsidi. + (sample1): Change the code to use pseudos only. + +2024-12-06 Christophe Lyon <christophe.lyon@linaro.org> + + * gcc.target/arm/mve/dlstp-int8x16.c: Add -mtune=cortex-m55 + +2024-12-06 Uros Bizjak <ubizjak@gmail.com> + + PR target/117926 + * gcc.target/i386/pr117926.c: New test. + +2024-12-06 Richard Earnshaw <rearnsha@arm.com> + + * gcc.target/arm/20031108-1.c: Add -std=c17. + * gcc.target/arm/fp16-unprototyped-1.c: Likewise. + * gcc.target/arm/fp16-unprototyped-2.c: Likewise. + * gcc.target/arm/neon-thumb2-move.c: Likewise. + * gcc.target/arm/pr67756.c: Likewise. + * gcc.target/arm/pr81863.c: Likewise. + +2024-12-06 David Malcolm <dmalcolm@redhat.com> + + * g++.dg/concepts/missing-header.C: New test. + * g++.dg/concepts/misspelled-concept.C: New test. + +2024-12-06 kelefth <konstantinos.eleftheriou@vrull.eu> + + PR rtl-optimization/117816 + * gcc.dg/pr117816.c: New test. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/march-map=sm_89.c: Adjust. + * gcc.target/nvptx/march-map=sm_90.c: Likewise. + * gcc.target/nvptx/march-map=sm_90a.c: Likewise. + * gcc.target/nvptx/march=sm_89.c: New. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/mptx=7.8.c: New. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/march-map=sm_52.c: Adjust. + * gcc.target/nvptx/march=sm_52.c: New. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/march-map=sm_37.c: Adjust. + * gcc.target/nvptx/march-map=sm_50.c: Likewise. + * gcc.target/nvptx/march-map=sm_52.c: Likewise. + * gcc.target/nvptx/march=sm_37.c: New. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/mptx=4.1.c: New. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/mptx=4.2.c: New. + +2024-12-06 Christophe Lyon <christophe.lyon@linaro.org> + + * gcc.target/arm/mve/dlstp-compile-asm-1.c: Add -mtune=cortex-m55 + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/march-map.c: Remove; expanded into... + * gcc.target/nvptx/march-map=sm_50.c: ... this. + * gcc.target/nvptx/march-map=sm_30.c: New. + * gcc.target/nvptx/march-map=sm_32.c: Likewise. + * gcc.target/nvptx/march-map=sm_35.c: Likewise. + * gcc.target/nvptx/march-map=sm_37.c: Likewise. + * gcc.target/nvptx/march-map=sm_52.c: Likewise. + * gcc.target/nvptx/march-map=sm_53.c: Likewise. + * gcc.target/nvptx/march-map=sm_60.c: Likewise. + * gcc.target/nvptx/march-map=sm_61.c: Likewise. + * gcc.target/nvptx/march-map=sm_62.c: Likewise. + * gcc.target/nvptx/march-map=sm_70.c: Likewise. + * gcc.target/nvptx/march-map=sm_72.c: Likewise. + * gcc.target/nvptx/march-map=sm_75.c: Likewise. + * gcc.target/nvptx/march-map=sm_80.c: Likewise. + * gcc.target/nvptx/march-map=sm_86.c: Likewise. + * gcc.target/nvptx/march-map=sm_87.c: Likewise. + * gcc.target/nvptx/march-map=sm_89.c: Likewise. + * gcc.target/nvptx/march-map=sm_90.c: Likewise. + * gcc.target/nvptx/march-map=sm_90a.c: Likewise. + * gcc.target/nvptx/main.c: Remove. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/sm30.c: Remove; expanded into... + * gcc.target/nvptx/march=sm_30.c: ... this. + * gcc.target/nvptx/sm35.c: Remove; expanded into... + * gcc.target/nvptx/march=sm_35.c: ... this. + * gcc.target/nvptx/sm53.c: Remove; expanded into... + * gcc.target/nvptx/march=sm_53.c: ... this. + * gcc.target/nvptx/sm70.c: Remove; expanded into... + * gcc.target/nvptx/march=sm_70.c: ... this. + * gcc.target/nvptx/sm75.c: Remove; expanded into... + * gcc.target/nvptx/march=sm_75.c: ... this. + * gcc.target/nvptx/sm80.c: Remove; expanded into... + * gcc.target/nvptx/march=sm_80.c: ... this. + * gcc.target/nvptx/march.c: Remove. + +2024-12-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/ptx31.c: Remove; expanded into... + * gcc.target/nvptx/mptx=3.1.c: ... this. + * gcc.target/nvptx/ptx60.c: Remove; expanded into... + * gcc.target/nvptx/mptx=6.0.c: ... this. + * gcc.target/nvptx/ptx63.c: Remove; expanded into... + * gcc.target/nvptx/mptx=6.3.c: ... this. + * gcc.target/nvptx/ptx70.c: Remove; expanded into... + * gcc.target/nvptx/mptx=7.0.c: ... this. + * gcc.target/nvptx/mptx=_.c: New. + +2024-12-06 Richard Biener <rguenther@suse.de> + + PR testsuite/117714 + * gcc.dg/vect/slp-reduc-4.c: Add vect_no_int_min_max to the + XFAIL for the VEC_PERM_EXPR scan. + +2024-12-06 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/embed-22.c: New test. + * c-c++-common/cpp/embed-23.c: New test. + * g++.dg/cpp/embed-4.C: New test. + * g++.dg/cpp/embed-5.C: New test. + * g++.dg/cpp/embed-6.C: New test. + * g++.dg/cpp/embed-7.C: New test. + * g++.dg/cpp/embed-8.C: New test. + * g++.dg/cpp/embed-9.C: New test. + * g++.dg/cpp/embed-10.C: New test. + * g++.dg/cpp/embed-11.C: New test. + * g++.dg/cpp/embed-12.C: New test. + * g++.dg/cpp/embed-13.C: New test. + * g++.dg/cpp/embed-14.C: New test. + +2024-12-06 Jennifer Schmitz <jschmitz@nvidia.com> + + PR target/106329 + * gcc.target/aarch64/pfalse-binary_0.h: New test. + * gcc.target/aarch64/pfalse-unary_0.h: New test. + * gcc.target/aarch64/sve/pfalse-binary.c: New test. + * gcc.target/aarch64/sve/pfalse-binary_int_opt_n.c: New test. + * gcc.target/aarch64/sve/pfalse-binary_opt_n.c: New test. + * gcc.target/aarch64/sve/pfalse-binary_opt_single_n.c: New test. + * gcc.target/aarch64/sve/pfalse-binary_rotate.c: New test. + * gcc.target/aarch64/sve/pfalse-binary_uint64_opt_n.c: New test. + * gcc.target/aarch64/sve/pfalse-binary_uint_opt_n.c: New test. + * gcc.target/aarch64/sve/pfalse-binaryxn.c: New test. + * gcc.target/aarch64/sve/pfalse-clast.c: New test. + * gcc.target/aarch64/sve/pfalse-compare_opt_n.c: New test. + * gcc.target/aarch64/sve/pfalse-compare_wide_opt_n.c: New test. + * gcc.target/aarch64/sve/pfalse-count_pred.c: New test. + * gcc.target/aarch64/sve/pfalse-fold_left.c: New test. + * gcc.target/aarch64/sve/pfalse-load.c: New test. + * gcc.target/aarch64/sve/pfalse-load_ext.c: New test. + * gcc.target/aarch64/sve/pfalse-load_ext_gather_index.c: New test. + * gcc.target/aarch64/sve/pfalse-load_ext_gather_offset.c: New test. + * gcc.target/aarch64/sve/pfalse-load_gather_sv.c: New test. + * gcc.target/aarch64/sve/pfalse-load_gather_vs.c: New test. + * gcc.target/aarch64/sve/pfalse-load_replicate.c: New test. + * gcc.target/aarch64/sve/pfalse-prefetch.c: New test. + * gcc.target/aarch64/sve/pfalse-prefetch_gather_index.c: New test. + * gcc.target/aarch64/sve/pfalse-prefetch_gather_offset.c: New test. + * gcc.target/aarch64/sve/pfalse-ptest.c: New test. + * gcc.target/aarch64/sve/pfalse-rdffr.c: New test. + * gcc.target/aarch64/sve/pfalse-reduction.c: New test. + * gcc.target/aarch64/sve/pfalse-reduction_wide.c: New test. + * gcc.target/aarch64/sve/pfalse-shift_right_imm.c: New test. + * gcc.target/aarch64/sve/pfalse-store.c: New test. + * gcc.target/aarch64/sve/pfalse-store_scatter_index.c: New test. + * gcc.target/aarch64/sve/pfalse-store_scatter_offset.c: New test. + * gcc.target/aarch64/sve/pfalse-storexn.c: New test. + * gcc.target/aarch64/sve/pfalse-ternary_opt_n.c: New test. + * gcc.target/aarch64/sve/pfalse-ternary_rotate.c: New test. + * gcc.target/aarch64/sve/pfalse-unary.c: New test. + * gcc.target/aarch64/sve/pfalse-unary_convert_narrowt.c: New test. + * gcc.target/aarch64/sve/pfalse-unary_convertxn.c: New test. + * gcc.target/aarch64/sve/pfalse-unary_n.c: New test. + * gcc.target/aarch64/sve/pfalse-unary_pred.c: New test. + * gcc.target/aarch64/sve/pfalse-unary_to_uint.c: New test. + * gcc.target/aarch64/sve/pfalse-unaryxn.c: New test. + * gcc.target/aarch64/sve2/pfalse-binary.c: New test. + * gcc.target/aarch64/sve2/pfalse-binary_int_opt_n.c: New test. + * gcc.target/aarch64/sve2/pfalse-binary_int_opt_single_n.c: New test. + * gcc.target/aarch64/sve2/pfalse-binary_opt_n.c: New test. + * gcc.target/aarch64/sve2/pfalse-binary_opt_single_n.c: New test. + * gcc.target/aarch64/sve2/pfalse-binary_to_uint.c: New test. + * gcc.target/aarch64/sve2/pfalse-binary_uint_opt_n.c: New test. + * gcc.target/aarch64/sve2/pfalse-binary_wide.c: New test. + * gcc.target/aarch64/sve2/pfalse-compare.c: New test. + * gcc.target/aarch64/sve2/pfalse-load_ext_gather_index_restricted.c: + New test. + * gcc.target/aarch64/sve2/pfalse-load_ext_gather_offset_restricted.c: + New test. + * gcc.target/aarch64/sve2/pfalse-load_gather_sv_restricted.c: New test. + * gcc.target/aarch64/sve2/pfalse-load_gather_vs.c: New test. + * gcc.target/aarch64/sve2/pfalse-shift_left_imm_to_uint.c: New test. + * gcc.target/aarch64/sve2/pfalse-shift_right_imm.c: New test. + * gcc.target/aarch64/sve2/pfalse-store_scatter_index_restricted.c: + New test. + * gcc.target/aarch64/sve2/pfalse-store_scatter_offset_restricted.c: + New test. + * gcc.target/aarch64/sve2/pfalse-unary.c: New test. + * gcc.target/aarch64/sve2/pfalse-unary_convert.c: New test. + * gcc.target/aarch64/sve2/pfalse-unary_convert_narrowt.c: New test. + * gcc.target/aarch64/sve2/pfalse-unary_to_int.c: New test. + +2024-12-06 Marek Polacek <polacek@redhat.com> + + PR c++/117898 + * g++.dg/cpp26/pack-indexing2.C: Adjust. + * g++.dg/cpp26/pack-indexing12.C: New test. + +2024-12-06 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/unop/bswap16-0.c: Update + the vector register RE to cover v10 - v31. + +2024-12-06 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization + options passing to testcases. + +2024-12-05 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/117904 + * gm2/iso/pass/forloopbyconst.mod: New test. + +2024-12-05 Uros Bizjak <ubizjak@gmail.com> + + PR target/117860 + * gcc.target/i386/pr117860.c: New test. + +2024-12-05 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/113994 + PR rtl-optimization/116799 + * gcc.c-torture/execute/pr116799.c: New test. + * g++.dg/torture/pr113994.C: New test. + +2024-12-05 Jakub Jelinek <jakub@redhat.com> + + PR c/107980 + * gcc.dg/c23-stdarg-4.c: Expect extra warning. + * gcc.dg/c23-stdarg-6.c: Likewise. + * gcc.dg/c23-stdarg-7.c: Likewise. + * gcc.dg/c23-stdarg-8.c: Likewise. + * gcc.dg/c23-stdarg-10.c: New test. + * gcc.dg/c23-stdarg-11.c: New test. + * gcc.dg/torture/c23-stdarg-split-1a.c: Expect extra warning. + * gcc.dg/torture/c23-stdarg-split-1b.c: Likewise. + +2024-12-05 Jakub Jelinek <jakub@redhat.com> + + PR c/41045 + * c-c++-common/toplevel-asm-1.c: New test. + * c-c++-common/toplevel-asm-2.c: New test. + * c-c++-common/toplevel-asm-3.c: New test. + +2024-12-04 David Malcolm <dmalcolm@redhat.com> + + PR c++/116771 + * g++.dg/spellcheck-pr116771.C: New test. + +2024-12-04 Vineet Gupta <vineetg@rivosinc.com> + + PR target/114729 + * gcc.target/riscv/riscv.exp: Enable new tests to build. + * gcc.target/riscv/sched1-spills/spill1.cpp: Add new test. + +2024-12-04 Simon Martin <simon@nasilyan.com> + + PR c++/117615 + * g++.dg/cpp2a/constexpr-virtual22.C: New test. + +2024-12-04 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117243 + PR tree-optimization/116749 + * gcc.dg/torture/pr117243-1.c: New test. + * gcc.dg/torture/pr117243-2.c: New test. + +2024-12-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/117820 + * gfortran.dg/pr117820.f90: New test. + +2024-12-03 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + PR testsuite/109123 + PR testsuite/114661 + PR testsuite/117828 + PR testsuite/116481 + PR testsuite/91069 + * gcc.dg/Wuse-after-free-pr109123.c: Use size_t + instead of long unsigned int. + * gcc.dg/c23-tag-bitfields-1.c: Requires int32plus. + * gcc.dg/pr114661.c: Same. + * gcc.dg/pr117828.c: Same. + * gcc.dg/flex-array-counted-by-2.c: Use uintptr_t + instead of unsigned long. + * gcc.dg/pr116481.c: Same. + * gcc.dg/lto/tag-1_0.c: Use int32_t instead of int. + * gcc.dg/lto/tag-1_1.c: Use int16_t instead of short. + * gcc.dg/pr91069.c: Require double64. + * gcc.dg/type-convert-var.c: Require double64plus. + +2024-12-03 Georg-Johann Lay <avr@gjlay.de> + + * gcc.c-torture/execute/ieee/cdivchkd.x: New file. + * gcc.c-torture/execute/ieee/cdivchkf.x: New file. + * gcc.dg/flex-array-counted-by.c: Require wchar. + * gcc.dg/fold-copysign-1.c [avr]: Add -mdouble=64. + +2024-12-03 Georg-Johann Lay <avr@gjlay.de> + + * gcc.dg/Warray-bounds-33.c: Adjust for avr diagnostics. + * gcc.dg/pr56228.c: Same. + * gcc.dg/pr86124.c: Same. + * gcc.dg/pr94291.c: Same. + * gcc.dg/tree-ssa/pr82059.c: Same. + +2024-12-03 Jeff Law <jlaw@ventanamicro.com> + + * gcc.dg/crc-linux-1.c: Moved to from gcc.dg/torture. + * gcc.dg/crc-linux-2.c: Likewise. + * gcc.dg/crc-linux-4.c: Likewise. + * gcc.dg/crc-linux-5.c: Likewise. + * gcc.dg/crc-not-crc-15.c: Likewise. + * gcc.dg/crc-side-instr-1.c: Likewise. + * gcc.dg/crc-side-instr-2.c: Likewise. + * gcc.dg/crc-side-instr-3.c: Likewise. + * gcc.dg/crc-side-instr-4.c: Likewise. + * gcc.dg/crc-side-instr-5.c: Likewise. + * gcc.dg/crc-side-instr-6.c: Likewise. + * gcc.dg/crc-side-instr-7.c: Likewise. + * gcc.dg/crc-side-instr-8.c: Likewise. + * gcc.dg/crc-side-instr-9.c: Likewise. + * gcc.dg/crc-side-instr-10.c: Likewise. + * gcc.dg/crc-side-instr-11.c: Likewise. + * gcc.dg/crc-side-instr-12.c: Likewise. + * gcc.dg/crc-side-instr-13.c: Likewise. + * gcc.dg/crc-side-instr-14.c: Likewise. + * gcc.dg/crc-side-instr-15.c: Likewise. + * gcc.dg/crc-side-instr-16.c: Likewise. + * gcc.dg/crc-side-instr-17.c: Likewise. + * gcc.dg/torture/crc-linux-1.c: New file. + * gcc.dg/torture/crc-linux-2.c: New file. + * gcc.dg/torture/crc-linux-4.c: New file. + * gcc.dg/torture/crc-linux-5.c: New file. + * gcc.dg/torture/crc-not-crc-15.c: New file. + * gcc.dg/torture/crc-side-instr-1.c: New file. + * gcc.dg/torture/crc-side-instr-10.c: New file. + * gcc.dg/torture/crc-side-instr-11.c: New file. + * gcc.dg/torture/crc-side-instr-12.c: New file. + * gcc.dg/torture/crc-side-instr-13.c: New file. + * gcc.dg/torture/crc-side-instr-14.c: New file. + * gcc.dg/torture/crc-side-instr-15.c: New file. + * gcc.dg/torture/crc-side-instr-16.c: New file. + * gcc.dg/torture/crc-side-instr-17.c: New file. + * gcc.dg/torture/crc-side-instr-2.c: New file. + * gcc.dg/torture/crc-side-instr-3.c: New file. + * gcc.dg/torture/crc-side-instr-4.c: New file. + * gcc.dg/torture/crc-side-instr-5.c: New file. + * gcc.dg/torture/crc-side-instr-6.c: New file. + * gcc.dg/torture/crc-side-instr-7.c: New file. + * gcc.dg/torture/crc-side-instr-8.c: New file. + * gcc.dg/torture/crc-side-instr-9.c: New file. + +2024-12-03 Nina Ranns <dinka.ranns@googlemail.com> + + PR c++/117579 + * g++.dg/contracts/pr117579.C: New test. + +2024-12-03 Edwin Lu <ewlu@rivosinc.com> + + * gcc.target/riscv/crc-builtin-zbc32.c: Fix selector. + * gcc.target/riscv/crc-builtin-zbc64.c: Ditto. + +2024-12-03 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/102689 + * gfortran.dg/class_transformational_1.f90: New test for class- + valued reshape. + * gfortran.dg/class_transformational_2.f90: New test for other + class_valued transformational intrinsics. + +2024-12-03 Joseph Myers <josmyers@redhat.com> + + PR c/117162 + * gcc.dg/cpp/c17-ucn-1.c, gcc.dg/cpp/c17-ucn-2.c, + gcc.dg/cpp/c17-ucn-3.c, gcc.dg/cpp/c17-ucn-4.c, + gcc.dg/cpp/c23-ucn-2.c, gcc.dg/cpp/c23-ucnid-2.c: New tests. + * c-c++-common/cpp/delimited-escape-seq-3.c, + c-c++-common/cpp/named-universal-char-escape-3.c, + gcc.dg/cpp/c23-ucn-1.c, gcc.dg/cpp/c2y-delimited-escape-seq-3.c: + Update expected messages + * gcc.dg/cpp/ucs.c: Use -pedantic-errors. Update expected + messages. + +2024-12-03 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117420 + * gcc.dg/tree-ssa/pr117420.c: New test. + +2024-12-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117847 + * gcc.dg/torture/bitint-75.c: New test. + +2024-12-03 Tobias Burnus <tburnus@baylibre.com> + + * c-c++-common/gomp/allocate-18.c: Check that alignof is unaffected + by 'omp allocate'. + * c-c++-common/gomp/allocate-19.c: Likewise. + +2024-12-03 Saurabh Jha <saurabh.jha@arm.com> + Vladimir Miloserdov <vladimir.miloserdov@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/simd/lut-incorrect-range.c: New test. + * gcc.target/aarch64/simd/lut-no-flag.c: New test. + * gcc.target/aarch64/simd/lut.c: New test. + +2024-12-03 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization + options passing to testcases. + +2024-12-03 Heiko Eißfeldt <heiko@hexco.de> + Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114540 + * gcc.dg/pr114540.c: New test. + +2024-12-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117874 + * gcc.dg/vect/pr117874.c: New testcase. + +2024-12-03 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization + options passing to testcases. + +2024-12-02 Jakub Jelinek <jakub@redhat.com> + + * g++.target/aarch64/pr94515-2.C: Add newline at the end of the file. + * g++.target/aarch64/return_address_sign_ab_exception.C: Likewise. + * gcc.target/arm/thumb2-switchstatement.c: Likewise. + * gcc.target/riscv/rvv/base/vssubu-2.c: Likewise. + * gcc.target/riscv/rvv/base/vssubu-1.c: Likewise. + * gcc.target/riscv/and-shift32.c: Likewise. + * gcc.target/riscv/crc-builtin-zbc32.c: Likewise. + * gcc.target/riscv/and-shift64.c: Likewise. + * gcc.target/riscv/xtheadbb-extu-4.c: Likewise. + * gcc.target/i386/avx2-bf16-vec-absneg.c: Likewise. + * gcc.target/i386/avx512f-bf16-vec-absneg.c: Likewise. + * gcc.target/aarch64/cpunative/native_cpu_26.c: Likewise. + * gcc.target/aarch64/cpunative/info_26: Likewise. + * gcc.target/aarch64/cpunative/info_25: Likewise. + * g++.dg/contracts/pr116607.C: Likewise. + * gfortran.dg/pr108889.f90: Likewise. + * gcc.dg/crc-not-crc-14.c: Likewise. + * gcc.dg/crc-from-fedora-packages-13.c: Likewise. + * gcc.dg/crc-not-crc-25.c: Likewise. + * gcc.dg/crc-from-fedora-packages-29.c: Likewise. + * gcc.dg/crc-from-fedora-packages-10.c: Likewise. + * gcc.dg/crc-side-instr-10.c: Likewise. + * gcc.dg/crc-side-instr-1.c: Likewise. + * gcc.dg/crc-side-instr-3.c: Likewise. + * gcc.dg/crc-side-instr-2.c: Likewise. + * gcc.dg/crc-not-crc-17.c: Likewise. + * gcc.dg/crc-from-fedora-packages-7.c: Likewise. + * gcc.dg/crc-side-instr-12.c: Likewise. + * gcc.dg/crc-side-instr-16.c: Likewise. + * gcc.dg/crc-not-crc-16.c: Likewise. + * gcc.dg/crc-from-fedora-packages-4.c: Likewise. + * gcc.dg/crc-not-crc-20.c: Likewise. + * gcc.dg/crc-linux-3.c: Likewise. + * gcc.dg/crc-from-fedora-packages-27.c: Likewise. + * gcc.dg/pr109393.c: Likewise. + * gcc.dg/crc-side-instr-7.c: Likewise. + * gcc.dg/crc-side-instr-4.c: Likewise. + * gcc.dg/tree-ssa/ldexp.c: Likewise. + * gcc.dg/tree-ssa/pr114760-2.c: Likewise. + * gcc.dg/tree-ssa/pr114760-1.c: Likewise. + * gcc.dg/crc-side-instr-15.c: Likewise. + * gcc.dg/crc-side-instr-9.c: Likewise. + * gcc.dg/crc-not-crc-26.c: Likewise. + * gcc.dg/crc-side-instr-8.c: Likewise. + * gcc.dg/crc-not-crc-23.c: Likewise. + * gcc.dg/crc-not-crc-19.c: Likewise. + * gcc.dg/crc-from-fedora-packages-22.c: Likewise. + * gcc.dg/crc-from-fedora-packages-16.c: Likewise. + * gcc.dg/crc-side-instr-11.c: Likewise. + * gcc.dg/crc-from-fedora-packages-5.c: Likewise. + * gcc.dg/crc-not-crc-22.c: Likewise. + * gcc.dg/crc-side-instr-17.c: Likewise. + * gcc.dg/crc-linux-4.c: Likewise. + * gcc.dg/crc-side-instr-14.c: Likewise. + * gcc.dg/crc-not-crc-18.c: Likewise. + * gcc.dg/crc-from-fedora-packages-23.c: Likewise. + * gcc.dg/crc-not-crc-21.c: Likewise. + * gcc.dg/crc-linux-2.c: Likewise. + * gcc.dg/crc-from-fedora-packages-1.c: Likewise. + * gcc.dg/crc-from-fedora-packages-30.c: Likewise. + * gcc.dg/torture/crc-11.c: Likewise. + * gcc.dg/torture/crc-27.c: Likewise. + * gcc.dg/torture/crc-2.c: Likewise. + * gcc.dg/torture/crc-24.c: Likewise. + * gcc.dg/torture/crc-crc8.c: Likewise. + * gcc.dg/torture/crc-crc8-data8-xorOustideFor.c: Likewise. + * gcc.dg/torture/crc-16.c: Likewise. + * gcc.dg/torture/crc-crc64-data64.c: Likewise. + * gcc.dg/crc-from-fedora-packages-32.c: Likewise. + * gcc.dg/crc-side-instr-6.c: Likewise. + * gcc.dg/crc-side-instr-5.c: Likewise. + * gcc.dg/crc-side-instr-13.c: Likewise. + * gcc.dg/crc-not-crc-15.c: Likewise. + * gcc.dg/crc-not-crc-13.c: Likewise. + * gcc.dg/crc-from-fedora-packages-6.c: Likewise. + * gcc.dg/crc-not-crc-24.c: Likewise. + +2024-12-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116352 + PR tree-optimization/117876 + * gcc.dg/vect/pr116352.c: New testcase. + * gcc.dg/vect/bb-slp-49.c: Remove vectorization check. + +2024-12-02 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/117663 + * gcc.target/powerpc/rs6000-ldouble-2.c: Add -std=gnu17 to dg-options. + +2024-12-02 yulong <shiyulong@iscas.ac.cn> + + * gcc.target/riscv/rvv/xsfvector/sf_vfnrclip_x_f_qf.c: New test. + * gcc.target/riscv/rvv/xsfvector/sf_vfnrclip_xu_f_qf.c: New test. + +2024-12-02 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization + options passing to testcases. + +2024-12-02 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Fix + the failed test by target any-opts and/or no-opts. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto + +2024-12-01 Jovan Vukic <Jovan.Vukic@rt-rk.com> + + * gcc.dg/tree-ssa/phi-opt-11.c: Add more tests. + +2024-12-01 Mariam Arutunian <mariamarutunian@gmail.com> + + * gcc.dg/crc-from-fedora-packages-1.c: New test. + * gcc.dg/crc-from-fedora-packages-2.c: Likewise. + * gcc.dg/crc-from-fedora-packages-3.c: Likewise. + * gcc.dg/crc-from-fedora-packages-4.c: Likewise. + * gcc.dg/crc-from-fedora-packages-5.c: Likewise. + * gcc.dg/crc-from-fedora-packages-6.c: Likewise. + * gcc.dg/crc-from-fedora-packages-7.c: Likewise. + * gcc.dg/crc-from-fedora-packages-8.c: Likewise. + * gcc.dg/crc-from-fedora-packages-9.c: Likewise. + * gcc.dg/crc-from-fedora-packages-10.c: Likewise. + * gcc.dg/crc-from-fedora-packages-11.c: Likewise. + * gcc.dg/crc-from-fedora-packages-12.c: Likewise. + * gcc.dg/crc-from-fedora-packages-13.c: Likewise. + * gcc.dg/crc-from-fedora-packages-14.c: Likewise. + * gcc.dg/crc-from-fedora-packages-15.c: Likewise. + * gcc.dg/crc-from-fedora-packages-16.c: Likewise. + * gcc.dg/crc-from-fedora-packages-17.c: Likewise. + * gcc.dg/crc-from-fedora-packages-18.c: Likewise. + * gcc.dg/crc-from-fedora-packages-19.c: Likewise. + * gcc.dg/crc-from-fedora-packages-20.c: Likewise. + * gcc.dg/crc-from-fedora-packages-21.c: Likewise. + * gcc.dg/crc-from-fedora-packages-22.c: Likewise. + * gcc.dg/crc-from-fedora-packages-23.c: Likewise. + * gcc.dg/crc-from-fedora-packages-24.c: Likewise. + * gcc.dg/crc-from-fedora-packages-25.c: Likewise. + * gcc.dg/crc-from-fedora-packages-26.c: Likewise. + * gcc.dg/crc-from-fedora-packages-27.c: Likewise. + * gcc.dg/crc-from-fedora-packages-28.c: Likewise. + * gcc.dg/crc-from-fedora-packages-29.c: Likewise. + * gcc.dg/crc-from-fedora-packages-30.c: Likewise. + * gcc.dg/crc-from-fedora-packages-31.c: Likewise. + * gcc.dg/crc-from-fedora-packages-32.c: Likewise. + * gcc.dg/crc-linux-1.c: Likewise. + * gcc.dg/crc-linux-2.c: Likewise. + * gcc.dg/crc-linux-3.c: Likewise. + * gcc.dg/crc-linux-4.c: Likewise. + * gcc.dg/crc-linux-5.c: Likewise. + * gcc.dg/crc-not-crc-1.c: Likewise. + * gcc.dg/crc-not-crc-2.c: Likewise. + * gcc.dg/crc-not-crc-3.c: Likewise. + * gcc.dg/crc-not-crc-4.c: Likewise. + * gcc.dg/crc-not-crc-5.c: Likewise. + * gcc.dg/crc-not-crc-6.c: Likewise. + * gcc.dg/crc-not-crc-7.c: Likewise. + * gcc.dg/crc-not-crc-8.c: Likewise. + * gcc.dg/crc-not-crc-9.c: Likewise. + * gcc.dg/crc-not-crc-10.c: Likewise. + * gcc.dg/crc-not-crc-11.c: Likewise. + * gcc.dg/crc-not-crc-12.c: Likewise. + * gcc.dg/crc-not-crc-13.c: Likewise. + * gcc.dg/crc-not-crc-14.c: Likewise. + * gcc.dg/crc-not-crc-15.c: Likewise. + * gcc.dg/crc-not-crc-16.c: Likewise. + * gcc.dg/crc-not-crc-17.c: Likewise. + * gcc.dg/crc-not-crc-18.c: Likewise. + * gcc.dg/crc-not-crc-19.c: Likewise. + * gcc.dg/crc-not-crc-20.c: Likewise. + * gcc.dg/crc-not-crc-21.c: Likewise. + * gcc.dg/crc-not-crc-22.c: Likewise. + * gcc.dg/crc-not-crc-23.c: Likewise. + * gcc.dg/crc-not-crc-24.c: Likewise. + * gcc.dg/crc-not-crc-25.c: Likewise. + * gcc.dg/crc-not-crc-26.c: Likewise. + * gcc.dg/crc-side-instr-1.c: Likewise. + * gcc.dg/crc-side-instr-2.c: Likewise. + * gcc.dg/crc-side-instr-3.c: Likewise. + * gcc.dg/crc-side-instr-4.c: Likewise. + * gcc.dg/crc-side-instr-5.c: Likewise. + * gcc.dg/crc-side-instr-6.c: Likewise. + * gcc.dg/crc-side-instr-7.c: Likewise. + * gcc.dg/crc-side-instr-8.c: Likewise. + * gcc.dg/crc-side-instr-9.c: Likewise. + * gcc.dg/crc-side-instr-10.c: Likewise. + * gcc.dg/crc-side-instr-11.c: Likewise. + * gcc.dg/crc-side-instr-12.c: Likewise. + * gcc.dg/crc-side-instr-13.c: Likewise. + * gcc.dg/crc-side-instr-14.c: Likewise. + * gcc.dg/crc-side-instr-15.c: Likewise. + * gcc.dg/crc-side-instr-16.c: Likewise. + * gcc.dg/crc-side-instr-17.c: Likewise. + * gcc.dg/torture/crc-1.c: Likewise. + * gcc.dg/torture/crc-2.c: Likewise. + * gcc.dg/torture/crc-3.c: Likewise. + * gcc.dg/torture/crc-4.c: Likewise. + * gcc.dg/torture/crc-5.c: Likewise. + * gcc.dg/torture/crc-6.c: Likewise. + * gcc.dg/torture/crc-7.c: Likewise. + * gcc.dg/torture/crc-8.c: Likewise. + * gcc.dg/torture/crc-9.c: Likewise. + * gcc.dg/torture/crc-10.c: Likewise. + * gcc.dg/torture/crc-11.c: Likewise. + * gcc.dg/torture/crc-12.c: Likewise. + * gcc.dg/torture/crc-13.c: Likewise. + * gcc.dg/torture/crc-14.c: Likewise. + * gcc.dg/torture/crc-15.c: Likewise. + * gcc.dg/torture/crc-16.c: Likewise. + * gcc.dg/torture/crc-17.c: Likewise. + * gcc.dg/torture/crc-18.c: Likewise. + * gcc.dg/torture/crc-19.c: Likewise. + * gcc.dg/torture/crc-20.c: Likewise. + * gcc.dg/torture/crc-21.c: Likewise. + * gcc.dg/torture/crc-22.c: Likewise. + * gcc.dg/torture/crc-23.c: Likewise. + * gcc.dg/torture/crc-24.c: Likewise. + * gcc.dg/torture/crc-25.c: Likewise. + * gcc.dg/torture/crc-26.c: Likewise. + * gcc.dg/torture/crc-27.c: Likewise. + * gcc.dg/torture/crc-28.c: Likewise. + * gcc.dg/torture/crc-29.c: Likewise. + * gcc.dg/torture/crc-CCIT-data16-xorOutside_InsideFor.c: Likewise. + * gcc.dg/torture/crc-coremark16-data16.c: Likewise. + * gcc.dg/torture/crc-coremark32-data16.c: Likewise. + * gcc.dg/torture/crc-coremark32-data32.c: Likewise. + * gcc.dg/torture/crc-coremark32-data8.c: Likewise. + * gcc.dg/torture/crc-coremark64-data64.c: Likewise. + * gcc.dg/torture/crc-coremark8-data8.c: Likewise. + * gcc.dg/torture/crc-CCIT-data16.c: Likewise. + * gcc.dg/torture/crc-CCIT-data8.c: Likewise. + * gcc.dg/torture/crc-crc32-data16.c: Likewise. + * gcc.dg/torture/crc-crc32-data24.c: Likewise. + * gcc.dg/torture/crc-crc32-data8.c: Likewise. + * gcc.dg/torture/crc-crc32.c: Likewise. + * gcc.dg/torture/crc-crc64-data32.c: Likewise. + * gcc.dg/torture/crc-crc64-data64.c: Likewise. + * gcc.dg/torture/crc-crc8-data8-loop-xorInFor.c: Likewise. + * gcc.dg/torture/crc-crc8-data8-xorOustideFor.c: Likewise. + * gcc.dg/torture/crc-crc8.c: Likewise. + Co-Authored: Jeff Law <jlaw@ventanamicro.com> + * gcc.dg/torture/crc-coremark64-data32.c: New file. + * gcc.dg/torture/crc-crc8-data8-loop-xorOutsideFor.c: New file. + +2024-12-01 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/pr117806.c: Test can spill excess + errors for default_packed targets. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117859 + * gcc.dg/torture/pr117859-1.c: New test. + * gcc.dg/torture/pr117859-2.c: New test. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c: Remove + error message on taking address of an element of a vector. + * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c: Likewise. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_1.C: Remove + error message on taking address of an element of a vector. + * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_2.C: Likewise. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + * g++.dg/ext/sve-sizeless-1.C: Add error message for line 164 + for C++98 only. + * g++.dg/ext/sve-sizeless-2.C: Likewise. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + * g++.dg/ext/sve-sizeless-1.C: SVE vectors are now aggregates. + * g++.dg/ext/sve-sizeless-2.C: Likewise. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + * g++.dg/ext/sve-sizeless-1.C: Update error message for line 165. + * g++.dg/ext/sve-sizeless-2.C: Likewise. + +2024-12-01 Andrew Pinski <quic_apinski@quicinc.com> + + * g++.dg/ext/sve-sizeless-2.C: Add declaration of bar. + +2024-12-01 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> + + PR rtl-optimization/112398 + PR rtl-optimization/117476 + * gcc.target/riscv/pr112398.c: New test. + * gcc.dg/torture/pr117476-1.c: New test. From Zhendong Su. + * gcc.dg/torture/pr117476-2.c: New test. From Zdenek Sojka. + +2024-11-30 Joseph Myers <josmyers@redhat.com> + Richard Biener <rguenther@suse.de> + + PR c/100501 + PR c/100792 + * gcc.dg/pr100501-1.c, gcc.dg/pr100792-1.c: New tests. + * gcc.dg/pr48552-1.c, gcc.dg/pr48552-2.c, + gcc.dg/torture/pr98601.c: Update expected errors. + +2024-11-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117057 + * gcc.dg/strlenopt-32.c: Remove xfail and vect_slp_v2qi_store_unalign + specific scan-tree-dump-times directive. + * gcc.dg/strlenopt-96.c: New test. + +2024-11-30 Jinyang He <hejinyang@loongson.cn> + + * gcc.target/loongarch/vector/lasx/lasx-shift-sameimm-vec.c: New test. + * gcc.target/loongarch/vector/lsx/lsx-shift-sameimm-vec.c: New test. + +2024-11-30 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/lasx-andn-iorn.c: + Add '-fdump-tree-optimized'. + * gcc.target/loongarch/lsx-andn-iorn.c: + Likewise. + +2024-11-30 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/vect-frint-scalar.c: Add + '-ffp-int-builtin-inexact'. + +2024-11-30 Martin Uecker <uecker@tugraz.at> + + PR c/117806 + * gcc.dg/pr117806.c: New test. + +2024-11-30 Andrew Pinski <quic_apinski@quicinc.com> + + PR c/117749 + * gcc.dg/gimplefe-55.c: New test. + +2024-11-30 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp26/variadic-comma1.C: New test. + * g++.dg/cpp26/variadic-comma2.C: New test. + * g++.dg/cpp26/variadic-comma3.C: New test. + * g++.dg/cpp26/variadic-comma4.C: New test. + * g++.dg/cpp26/variadic-comma5.C: New test. + * g++.dg/cpp1z/fold10.C: Expect a warning for C++26. + * g++.dg/ext/attrib33.C: Likewise. + * g++.dg/cpp1y/lambda-generic-variadic19.C: Likewise. + * g++.dg/cpp2a/lambda-generic10.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-const3.C: Likewise. + * g++.dg/cpp0x/variadic164.C: Likewise. + * g++.dg/cpp0x/variadic17.C: Likewise. + * g++.dg/cpp0x/udlit-args-neg.C: Likewise. + * g++.dg/cpp0x/variadic28.C: Likewise. + * g++.dg/cpp0x/gen-attrs-33.C: Likewise. + * g++.dg/cpp23/explicit-obj-diagnostics3.C: Likewise. + * g++.old-deja/g++.law/operators15.C: Likewise. + * g++.old-deja/g++.mike/p811.C: Likewise. + * g++.old-deja/g++.mike/p12306.C (printf): Add , before ... . + * g++.dg/analyzer/fd-bind-pr107783.C (bind): Likewise. + * g++.dg/cpp0x/vt-65790.C (printf): Likewise. + +2024-11-29 David Malcolm <dmalcolm@redhat.com> + + * libdiagnostics.dg/*: Rename to libgdiagnostics.dg, renaming + "libdiagnostics" to "libgdiagnostics" throughout. + * libgdiagnostics.dg/libgdiagnostics.exp: New file. + * libgdiagnostics.dg/sarif.py: New file. + * libgdiagnostics.dg/test-dump.c: New file. + * libgdiagnostics.dg/test-error-c.py: New file. + * libgdiagnostics.dg/test-error-with-note-c.py: New file. + * libgdiagnostics.dg/test-error-with-note.c: New file. + * libgdiagnostics.dg/test-error-with-note.cc: New file. + * libgdiagnostics.dg/test-error.c: New file. + * libgdiagnostics.dg/test-error.cc: New file. + * libgdiagnostics.dg/test-example-1.c: New file. + * libgdiagnostics.dg/test-fix-it-hint-c.py: New file. + * libgdiagnostics.dg/test-fix-it-hint.c: New file. + * libgdiagnostics.dg/test-fix-it-hint.cc: New file. + * libgdiagnostics.dg/test-helpers++.h: New file. + * libgdiagnostics.dg/test-helpers.h: New file. + * libgdiagnostics.dg/test-labelled-ranges.c: New file. + * libgdiagnostics.dg/test-labelled-ranges.cc: New file. + * libgdiagnostics.dg/test-labelled-ranges.py: New file. + * libgdiagnostics.dg/test-logical-location-c.py: New file. + * libgdiagnostics.dg/test-logical-location.c: New file. + * libgdiagnostics.dg/test-metadata-c.py: New file. + * libgdiagnostics.dg/test-metadata.c: New file. + * libgdiagnostics.dg/test-multiple-lines-c.py: New file. + * libgdiagnostics.dg/test-multiple-lines.c: New file. + * libgdiagnostics.dg/test-no-column-c.py: New file. + * libgdiagnostics.dg/test-no-column.c: New file. + * libgdiagnostics.dg/test-no-diagnostics-c.py: New file. + * libgdiagnostics.dg/test-no-diagnostics.c: New file. + * libgdiagnostics.dg/test-note-with-fix-it-hint-c.py: New file. + * libgdiagnostics.dg/test-note-with-fix-it-hint.c: New file. + * libgdiagnostics.dg/test-text-sink-options.c: New file. + * libgdiagnostics.dg/test-warning-c.py: New file. + * libgdiagnostics.dg/test-warning-with-path-c.py: New file. + * libgdiagnostics.dg/test-warning-with-path.c: New file. + * libgdiagnostics.dg/test-warning.c: New file. + * libgdiagnostics.dg/test-write-sarif-to-file-c.py: New file. + * libgdiagnostics.dg/test-write-sarif-to-file.c: New file. + * libgdiagnostics.dg/test-write-text-to-file.c: New file. + +2024-11-29 Georg-Johann Lay <avr@gjlay.de> + + * gcc.c-torture/execute/memcpy-a1.c + * gcc.c-torture/execute/memcpy-a2.c + * gcc.c-torture/execute/memcpy-a4.c + * gcc.c-torture/execute/memcpy-a8.c + +2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/117665 + * g++.target/aarch64/lane-bound-1.C: New test. + * gcc.target/aarch64/lane-bound-3.c: New test. + +2024-11-29 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/117814 + * gcc.target/arm/mve/dlstp-invalid-asm.c (test10): Renamed to... + (test10a): ... this. + (test10b): Variation of test10a with a small change to trigger wrong + codegen. + +2024-11-29 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/arm/mve/dlstp-loop-form.c: Add -std=c99 to avoid warning + message. + +2024-11-29 Andre Vieira <andre.simoesdiasvieira@arm.com> + + PR target/117814 + * gcc.target/arm/mve/dlstp-compile-asm-2.c (test7): Add an optional + vmsr to the check-function-bodies. + +2024-11-29 Co-author: Jeff Law <jlaw@ventanamicro.com> + + * lib/target-supports.exp (check_effective_target_riscv_zbc): New + target supports predicate. + (check_effective_target_riscv_zbkb): Likewise. + (check_effective_target_riscv_zbkc): Likewise. + (check_effective_target_zbc_ok): Likewise. + (check_effective_target_zbkb_ok): Likewise. + (check_effective_target_zbkc_ok): Likewise. + (riscv_get_arch): Add zbkb and zbkc support. + * gcc.target/riscv/crc-builtin-zbc32.c: New file. + * gcc.target/riscv/crc-builtin-zbc64.c: Likewise. + +2024-11-29 yulong <shiyulong@iscas.ac.cn> + + * gcc.target/riscv/rvv/rvv.exp: + * gcc.target/riscv/rvv/xsfvector/sf_vqmacc_2x8x2.c: New test. + * gcc.target/riscv/rvv/xsfvector/sf_vqmacc_4x8x4.c: New test. + * gcc.target/riscv/rvv/xsfvector/sf_vqmaccsu_2x8x2.c: New test. + * gcc.target/riscv/rvv/xsfvector/sf_vqmaccsu_4x8x4.c: New test. + * gcc.target/riscv/rvv/xsfvector/sf_vqmaccu_2x8x2.c: New test. + * gcc.target/riscv/rvv/xsfvector/sf_vqmaccu_4x8x4.c: New test. + * gcc.target/riscv/rvv/xsfvector/sf_vqmaccus_2x8x2.c: New test. + * gcc.target/riscv/rvv/xsfvector/sf_vqmaccus_4x8x4.c: New test. + +2024-11-29 Martin Uecker <uecker@tugraz.at> + + PR c/117828 + * gcc.dg/c23-tag-bitfields-1.c: New test. + * gcc.dg/pr117828.c: New test. + +2024-11-29 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/cpunative/info_30: New test. + * gcc.target/aarch64/cpunative/info_31: New test. + * gcc.target/aarch64/cpunative/info_32: New test. + * gcc.target/aarch64/cpunative/info_33: New test. + * gcc.target/aarch64/cpunative/native_cpu_30.c: New test. + * gcc.target/aarch64/cpunative/native_cpu_31.c: New test. + * gcc.target/aarch64/cpunative/native_cpu_32.c: New test. + * gcc.target/aarch64/cpunative/native_cpu_33.c: New test. + * gcc.target/aarch64/erratas_opt_0.c: New test. + * gcc.target/aarch64/erratas_opt_1.c: New test. + * gcc.target/aarch64/erratas_opt_10.c: New test. + * gcc.target/aarch64/erratas_opt_11.c: New test. + * gcc.target/aarch64/erratas_opt_12.c: New test. + * gcc.target/aarch64/erratas_opt_13.c: New test. + * gcc.target/aarch64/erratas_opt_14.c: New test. + * gcc.target/aarch64/erratas_opt_15.c: New test. + * gcc.target/aarch64/erratas_opt_2.c: New test. + * gcc.target/aarch64/erratas_opt_3.c: New test. + * gcc.target/aarch64/erratas_opt_4.c: New test. + * gcc.target/aarch64/erratas_opt_5.c: New test. + * gcc.target/aarch64/erratas_opt_6.c: New test. + * gcc.target/aarch64/erratas_opt_7.c: New test. + * gcc.target/aarch64/erratas_opt_8.c: New test. + * gcc.target/aarch64/erratas_opt_9.c: New test. + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_1.c: Add new. + gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_lane_group_selection_1.c: + Likewise. + * gcc.target/aarch64/sve2/acle/asm/dot_lane_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dot_mf8.c: Likewise. + * lib/target-supports.exp: Add dg-require-effective-target support for + aarch64_asm_fp8dot2_ok, aarch64_asm_fp8dot4_ok, + aarch64_asm_ssve-fp8dot2_ok and aarch64_asm_ssve-fp8dot4_ok. + * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_lane_group_selection_1.c: New file. + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h + (TEST_DUAL_Z_REV, TEST_DUAL_LANE_REG, TEST_DUAL_ZD) Add fpm0 argument. + * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_opt_n_1.c: Add + new shape test. + * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_lane_1.c: + Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlalb_lane_mf8.c: Add new test. + * gcc.target/aarch64/sve2/acle/asm/mlalb_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlallbb_lane_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlallbb_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlallbt_lane_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlallbt_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlalltb_lane_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlalltb_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlalltt_lane_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlalltt_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlalt_lane_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mlalt_mf8.c: Likewise. + * lib/target-supports.exp: Add check_effective_target for fp8fma and + ssve-fp8fma + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h + (TEST_DUAL_Z): Add fpm0 argument + * gcc.target/aarch64/sve/acle/general-c/unary_convertxn_narrow_1.c: + Add new tests. + * gcc.target/aarch64/sve/acle/general-c/unary_convertxn_narrowt_1.c: + Likewise. + * gcc.target/aarch64/sve2/acle/asm/cvt_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/cvtlt_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/cvtn_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/cvtnb_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/cvtnt_mf8.c: Likewise. + * lib/target-supports.exp: Add aarch64_asm_fp8_ok check. + +2024-11-29 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * g++.target/aarch64/sve/acle/general-c++/mangle_1.C: Test mangling + of svmfloat8_t. + * g++.target/aarch64/sve/acle/general-c++/mangle_2.C: Likewise for + __SVMfloat8_t. + * gcc.target/aarch64/sve/acle/asm/clasta_mf8.c: New test. + * gcc.target/aarch64/sve/acle/asm/clastb_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/create2_1.c (create2_mf8): Likewise. + * gcc.target/aarch64/sve/acle/asm/create3_1.c (create_mf8): Likewise. + * gcc.target/aarch64/sve/acle/asm/create4_1.c (create_mf8): Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_neonq_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dupq_lane_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ext_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/get_neonq_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/get2_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/get3_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/get4_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/insr_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lasta_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/lastb_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ld1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ld1ro_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ld1rq_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ld2_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ld3_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ld4_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ldff1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ldnf1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/ldnt1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/len_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_bf16.c + (reinterpret_bf16_mf8_tied1, reinterpret_bf16_mf8_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_f16.c + (reinterpret_f16_mf8_tied1, reinterpret_f16_mf8_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_f32.c + (reinterpret_f32_mf8_tied1, reinterpret_f32_mf8_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_f64.c + (reinterpret_f64_mf8_tied1, reinterpret_f64_mf8_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_s16.c + (reinterpret_s16_mf8_tied1, reinterpret_s16_mf8_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_s32.c + (reinterpret_s32_mf8_tied1, reinterpret_s32_mf8_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_s64.c + (reinterpret_s64_mf8_tied1, reinterpret_s64_mf8_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_s8.c + (reinterpret_s8_mf8_tied1, reinterpret_s8_mf8_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_u16.c + (reinterpret_u16_mf8_tied1, reinterpret_u16_mf8_untied) + (reinterpret_u16_mf8_x3_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_u32.c + (reinterpret_u32_mf8_tied1, reinterpret_u32_mf8_untied) + (reinterpret_u32_mf8_x3_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_u64.c + (reinterpret_u64_mf8_tied1, reinterpret_u64_mf8_untied) + (reinterpret_u64_mf8_x3_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/reinterpret_u8.c + (reinterpret_u8_mf8_tied1, reinterpret_u8_mf8_untied) + (reinterpret_u8_mf8_x3_untied): Likewise. + * gcc.target/aarch64/sve/acle/asm/rev_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/sel_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/set_neonq_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/set2_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/set3_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/set4_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/splice_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/st1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/st2_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/st3_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/st4_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/stnt1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/undef2_1.c (mfloat8_t): Likewise. + * gcc.target/aarch64/sve/acle/asm/undef3_1.c (mfloat8_t): Likewise. + * gcc.target/aarch64/sve/acle/asm/undef4_1.c (mfloat8_t): Likewise. + * gcc.target/aarch64/sve/acle/asm/undef_1.c (mfloat8_t): Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2_mf8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_mf8.c: Likewise. + * gcc.target/aarch64/sve/pcs/annotate_1.c (ret_mf8, ret_mf8x2) + (ret_mf8x3, ret_mf8x4): Likewise. + * gcc.target/aarch64/sve/pcs/annotate_2.c (fn_mf8, fn_mf8x2) + (fn_mf8x3, fn_mf8x4): Likewise. + * gcc.target/aarch64/sve/pcs/annotate_3.c (fn_mf8, fn_mf8x2) + (fn_mf8x3, fn_mf8x4): Likewise. + * gcc.target/aarch64/sve/pcs/annotate_4.c (fn_mf8, fn_mf8x2) + (fn_mf8x3, fn_mf8x4): Likewise. + * gcc.target/aarch64/sve/pcs/annotate_5.c (fn_mf8, fn_mf8x2) + (fn_mf8x3, fn_mf8x4): Likewise. + * gcc.target/aarch64/sve/pcs/annotate_6.c (fn_mf8, fn_mf8x2) + (fn_mf8x3, fn_mf8x4): Likewise. + * gcc.target/aarch64/sve/pcs/annotate_7.c (fn_mf8, fn_mf8x2) + (fn_mf8x3, fn_mf8x4): Likewise. + * gcc.target/aarch64/sve/pcs/args_5_be_mf8.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_5_le_mf8.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_6_be_mf8.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_6_le_mf8.c: Likewise. + * gcc.target/aarch64/sve/pcs/gnu_vectors_1.c (mfloat8x32_t): New + typedef. + (mfloat8_callee, mfloat8_caller): New tests. + * gcc.target/aarch64/sve/pcs/gnu_vectors_2.c (mfloat8x32_t): New + typedef. + (mfloat8_callee, mfloat8_caller): New tests. + * gcc.target/aarch64/sve/pcs/return_4_128.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_4_256.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_4_512.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_4_1024.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_4_2048.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_4.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_5_128.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_5_256.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_5_512.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_5_1024.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_5_2048.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_5.c + (CALLER_NON_NUMERIC): Renamed CALLER_BF16 macro. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_6.c (mfloat8_t): New typedef. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_6_128.c (mfloat8_t): New typedef. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_6_256.c (mfloat8_t): New typedef. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_6_512.c (mfloat8_t): New typedef. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_6_1024.c (mfloat8_t): New typedef. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_6_2048.c (mfloat8_t): New typedef. + (callee_mf8, caller_mf8): New tests. + * gcc.target/aarch64/sve/pcs/return_7.c (callee_mf8): New tests. + (caller_mf8): Likewise. + * gcc.target/aarch64/sve/pcs/return_8.c (callee_mf8): Likewise + (caller_mf8): Likewise. + * gcc.target/aarch64/sve/pcs/return_9.c (callee_mf8): Likewise + (caller_mf8): Likewise. + * gcc.target/aarch64/sve/pcs/varargs_2_mf8.c: New tests + * gcc.target/aarch64/sve2/acle/asm/tbl2_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbx_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilerw_mf8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilewr_mf8.c: Likewise. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * g++.dg/ext/sve-sizeless-1.C: Update test to test initialize error. + * g++.dg/ext/sve-sizeless-2.C: Likewise. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c: Update test. + * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. + * gcc.target/aarch64/sve/acle/general/attributes_7.c: Likewise. + * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_1.C: Likewise. + * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_2.C: Likewise. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * gcc.target/aarch64/sve/acle/general/cops.c: New test. + +2024-11-29 Tejas Belagod <tejas.belagod@arm.com> + + * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Update test to + test initialize error. + * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. + +2024-11-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/117844 + * g++.dg/vect/pr117776.cc: Check vect_unpack. + +2024-11-29 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117065 + * gcc.dg/pr117065.c: New test. + +2024-11-29 Jakub Jelinek <jakub@redhat.com> + + PR target/117608 + * gcc.dg/builtin-prefetch-1.c (good): Add tests with second argument + 2. + * gcc.target/i386/pr117608-1.c: New test. + * gcc.target/i386/pr117608-2.c: New test. + +2024-11-29 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/117723 + * gcc.dg/torture/ifcmb-1.c: New. + +2024-11-28 Steven G. Kargl <kargls@comcast.net> + + PR fortran/117765 + * gfortran.dg/impure_fcn_do_concurrent.f90: Update test to catch + calls to an impure subroutine. + +2024-11-28 Harald Anlauf <anlauf@gmx.de> + + PR fortran/117791 + * gfortran.dg/bounds_check_array_io.f90: New test. + +2024-11-28 Marek Polacek <polacek@redhat.com> + + PR c++/113798 + * g++.dg/cpp26/feat-cxx26.C (__cpp_pack_indexing): Add test. + +2024-11-28 Marek Polacek <polacek@redhat.com> + + PR c++/113798 + * g++.dg/cpp26/pack-indexing1.C: New test. + * g++.dg/cpp26/pack-indexing2.C: New test. + * g++.dg/cpp26/pack-indexing3.C: New test. + * g++.dg/cpp26/pack-indexing4.C: New test. + * g++.dg/cpp26/pack-indexing5.C: New test. + * g++.dg/cpp26/pack-indexing6.C: New test. + * g++.dg/cpp26/pack-indexing7.C: New test. + * g++.dg/cpp26/pack-indexing8.C: New test. + * g++.dg/cpp26/pack-indexing9.C: New test. + * g++.dg/cpp26/pack-indexing10.C: New test. + * g++.dg/cpp26/pack-indexing11.C: New test. + * g++.dg/modules/pack-index-1_a.C: New test. + * g++.dg/modules/pack-index-1_b.C: New test. + +2024-11-28 Mariam Arutunian <mariamarutunian@gmail.com> + + * gcc.dg/crc-builtin-rev-target32.c: New test. + * gcc.dg/crc-builtin-rev-target64.c: New test. + * gcc.dg/crc-builtin-target32.c: New test. + * gcc.dg/crc-builtin-target64.c: New test. + Signed-off-by: Mariam Arutunian <mariamarutunian@gmail.com> + Co-authored-by: Joern Rennecke <joern.rennecke@embecosm.com> + Co-authored-by: Jeff Law <jlaw@ventanamicro.com> + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR target/116675 + * gcc.target/i386/pr116675.c: Add -save-temps to dg-options. + Scan for pand\t rather than pand. + +2024-11-28 Thomas Schwinge <tschwinge@baylibre.com> + + * g++.dg/tree-ssa/empty-loop.C: Address UNRESOLVED. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c/117023 + * gcc.dg/nonnull-8.c: New test. + * gcc.dg/nonnull-9.c: New test. + * gcc.dg/nonnull-10.c: New test. + * c-c++-common/ubsan/nonnull-6.c: New test. + * c-c++-common/ubsan/nonnull-7.c: New test. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + * gcc.target/powerpc/asm-redzone-1.c: New test. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/asm-redzone-1.c: New test. + * gcc.target/i386/asm-redzone-1.c: New test. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c++/78620 + PR c++/117256 + * g++.dg/cpp0x/zero-init1.C: New file. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c++/116416 + * gcc.dg/plugin/infoleak-1.c (test_union_2b, test_union_4b): Expect + diagnostics. + * gcc.dg/c23-empty-init-5.c: New test. + * gcc.dg/gnu11-empty-init-1.c: New test. + * gcc.dg/gnu11-empty-init-2.c: New test. + * gcc.dg/gnu11-empty-init-3.c: New test. + * gcc.dg/gnu11-empty-init-4.c: New test. + +2024-11-28 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/117557 + * gcc.target/aarch64/pr117557.c: New test. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117358 + * gcc.c-torture/compile/pr117358.c: New test. + +2024-11-28 Jakub Jelinek <jakub@redhat.com> + + PR c/117802 + * gcc.dg/builtin-iseqsig-1.c: New test. + * gcc.dg/bitint-118.c: New test. + +2024-11-28 Joseph Myers <josmyers@redhat.com> + + PR c/117757 + * gcc.dg/pr117757-1.c: New test. + +2024-11-28 David Malcolm <dmalcolm@redhat.com> + + PR c/82892 + * c-c++-common/spellcheck-missing-option.c: New test. + +2024-11-28 David Malcolm <dmalcolm@redhat.com> + + PR c++/87850 + * c-c++-common/indirection-fixits.c: New test. + * g++.dg/template/error60.C: Add fix-it hint to expected output. + * g++.dg/template/error60a.C: Likewise. + +2024-11-27 Jan Hubicka <hubicka@ucw.cz> + + * g++.dg/tree-ssa/empty-loop.C: xfail optimization at cddce2 and check + it happens at cddce3. + * g++.dg/tree-ssa/string-1.C: New test. + +2024-11-27 Joseph Myers <josmyers@redhat.com> + + PR c/91193 + * gcc.dg/pr91193-1.c, gcc.dg/pr91193-2.c: New tests. + +2024-11-27 Uros Bizjak <ubizjak@gmail.com> + + PR target/36503 + * gcc.target/i386/pr36503-3.c: New test. + * gcc.target/i386/pr36503-4.c: New test. + +2024-11-27 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117776 + * g++.dg/vect/pr117776.cc: New test. + * gcc.dg/tree-ssa/cast-3.c: New test. + +2024-11-27 Jakub Jelinek <jakub@redhat.com> + + PR c/117745 + * gcc.dg/pr117745.c: New test. + +2024-11-27 Pan Li <pan2.li@intel.com> + + PR target/112600 + * gcc.target/i386/pr112600-5-u16.c: New test. + * gcc.target/i386/pr112600-5-u32.c: New test. + * gcc.target/i386/pr112600-5-u64.c: New test. + * gcc.target/i386/pr112600-5-u8.c: New test. + * gcc.target/i386/pr112600-5.h: New test. + +2024-11-27 Joseph Myers <josmyers@redhat.com> + + PR c/117781 + * gcc.dg/c23-typeof-5.c: New test. + +2024-11-27 Jakub Jelinek <jakub@redhat.com> + + PR target/117642 + * gcc.target/i386/pr117642-1.c: New test. + * gcc.target/i386/pr117642-2.c: New test. + +2024-11-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117692 + * gcc.dg/tree-ssa/mulexactdiv-5.c: Expect 8 nop_exprs. + * gcc.dg/tree-ssa/pr117692.c: New test. + +2024-11-27 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117768 + * gfortran.dg/pr117768.f90: New test. + +2024-11-27 Florian Weimer <fweimer@redhat.com> + + * gcc.dg/Wfree-labels-1.c: New test. + * gcc.dg/Wfree-labels-2.c: New test. + * gcc.dg/Wfree-labels-3.c: New test. + +2024-11-27 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/static-3_b.C: New test. + * g++.dg/modules/static-3_a.H: New test. + +2024-11-27 Jason Merrill <jason@redhat.com> + + * g++.dg/tree-ssa/pr15791-1.C: Add -Wno-array-compare. + +2024-11-27 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/dashinclude-1_b.C: Add an #error. + * g++.dg/modules/dashinclude-1_a.H: Remove dg-module-do run. + +2024-11-26 Andrew Pinski <quic_apinski@quicinc.com> + + * g++.dg/ext/sve-sizeless-2.C: Update the expected error message + for __builtin_launder. + +2024-11-26 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.target/aarch64/fp8_scalar_1.c (stacktest1): Fix for new + improved code generation. + +2024-11-26 David Malcolm <dmalcolm@redhat.com> + + * g++.dg/plugin/plugin.exp (plugin_test_list): Update for renaming + of all plugin implementation files from .c to .cc. + * g++.dg/plugin/attribute_plugin.c: Rename to... + * g++.dg/plugin/attribute_plugin.cc: ...this. + * g++.dg/plugin/comment_plugin.c: Rename to... + * g++.dg/plugin/comment_plugin.cc: ...this. + * g++.dg/plugin/decl_plugin.c: Rename to... + * g++.dg/plugin/decl_plugin.cc: ...this. + * g++.dg/plugin/def_plugin.c: Rename to... + * g++.dg/plugin/def_plugin.cc: ...this. + * g++.dg/plugin/dumb_plugin.c: Rename to... + * g++.dg/plugin/dumb_plugin.cc: ...this. + * g++.dg/plugin/header_plugin.c: Rename to... + * g++.dg/plugin/header_plugin.cc: ...this. + * g++.dg/plugin/pragma_plugin.c: Rename to... + * g++.dg/plugin/pragma_plugin.cc: ...this. + * g++.dg/plugin/selfassign.c: Rename to... + * g++.dg/plugin/selfassign.cc: ...this. + * g++.dg/plugin/show_template_tree_color_plugin.c: Rename to... + * g++.dg/plugin/show_template_tree_color_plugin.cc: ...this. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Update for renaming + of all plugin implementation files from .c to .cc. + * gcc.dg/plugin/analyzer_cpython_plugin.c: Rename to... + * gcc.dg/plugin/analyzer_cpython_plugin.cc: ...this. + * gcc.dg/plugin/analyzer_gil_plugin.c: Rename to... + * gcc.dg/plugin/analyzer_gil_plugin.cc: ...this. + * gcc.dg/plugin/analyzer_kernel_plugin.c: Rename to... + * gcc.dg/plugin/analyzer_kernel_plugin.cc: ...this. + * gcc.dg/plugin/analyzer_known_fns_plugin.c: Rename to... + * gcc.dg/plugin/analyzer_known_fns_plugin.cc: ...this. + * gcc.dg/plugin/crash_test_plugin.c: Rename to... + * gcc.dg/plugin/crash_test_plugin.cc: ...this. + * gcc.dg/plugin/diagnostic_group_plugin.c: Rename to... + * gcc.dg/plugin/diagnostic_group_plugin.cc: ...this. + * gcc.dg/plugin/diagnostic_plugin_show_trees.c: Rename to... + * gcc.dg/plugin/diagnostic_plugin_show_trees.cc: ...this. + * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: Rename to... + * gcc.dg/plugin/diagnostic_plugin_test_inlining.cc: ...this. + * gcc.dg/plugin/diagnostic_plugin_test_metadata.c: Rename to... + * gcc.dg/plugin/diagnostic_plugin_test_metadata.cc: ...this. + * gcc.dg/plugin/diagnostic_plugin_test_nesting.c: Rename to... + * gcc.dg/plugin/diagnostic_plugin_test_nesting.cc: ...this. + * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Rename to... + * gcc.dg/plugin/diagnostic_plugin_test_paths.cc: ...this. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Rename to... + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.cc: ...this. + * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Rename + * gcc.dg/plugin/diagnostic_plugin_test_string_literals.cc: ..to + this. + * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: Rename to... + * gcc.dg/plugin/diagnostic_plugin_test_text_art.cc: ...this. + * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.c: + Rename to... + * gcc.dg/plugin/diagnostic_plugin_test_tree_expression_range.cc: + ...this. + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Rename to... + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc: ...this. + * gcc.dg/plugin/dump_plugin.c: Rename to... + * gcc.dg/plugin/dump_plugin.cc: ...this. + * gcc.dg/plugin/expensive_selftests_plugin.c: Rename to... + * gcc.dg/plugin/expensive_selftests_plugin.cc: ...this. + * gcc.dg/plugin/finish_unit_plugin.c: Rename to... + * gcc.dg/plugin/finish_unit_plugin.cc: ...this. + * gcc.dg/plugin/ggcplug.c: Rename to... + * gcc.dg/plugin/ggcplug.cc: ...this. + * gcc.dg/plugin/location_overflow_plugin.c: Rename to... + * gcc.dg/plugin/location_overflow_plugin.cc: ...this. + * gcc.dg/plugin/must_tail_call_plugin.c: Rename to... + * gcc.dg/plugin/must_tail_call_plugin.cc: ...this. + * gcc.dg/plugin/one_time_plugin.c: Rename to... + * gcc.dg/plugin/one_time_plugin.cc: ...this. + * gcc.dg/plugin/poly-int-01_plugin.c: Rename to... + * gcc.dg/plugin/poly-int-01_plugin.cc: ...this. + * gcc.dg/plugin/poly-int-02_plugin.c: Rename to... + * gcc.dg/plugin/poly-int-02_plugin.cc: ...this. + * gcc.dg/plugin/poly-int-03_plugin.c: Rename to... + * gcc.dg/plugin/poly-int-03_plugin.cc: ...this. + * gcc.dg/plugin/poly-int-04_plugin.c: Rename to... + * gcc.dg/plugin/poly-int-04_plugin.cc: ...this. + * gcc.dg/plugin/poly-int-05_plugin.c: Rename to... + * gcc.dg/plugin/poly-int-05_plugin.cc: ...this. + * gcc.dg/plugin/poly-int-06_plugin.c: Rename to... + * gcc.dg/plugin/poly-int-06_plugin.cc: ...this. + * gcc.dg/plugin/poly-int-07_plugin.c: Rename to... + * gcc.dg/plugin/poly-int-07_plugin.cc: ...this. + * gcc.dg/plugin/selfassign.c: Rename to... + * gcc.dg/plugin/selfassign.cc: ...this. + * gcc.dg/plugin/start_unit_plugin.c: Rename to... + * gcc.dg/plugin/start_unit_plugin.cc: ...this. + * gcc.dg/plugin/wide-int_plugin.c: Rename to... + * gcc.dg/plugin/wide-int_plugin.cc: ...this. + * obj-c++.dg/plugin/plugin.exp: Update for renaming of plugin + implementation file from .c to .cc. + * objc.dg/plugin/plugin.exp: Likewise. + +2024-11-26 yulong <shiyulong@iscas.ac.cn> + + * gcc.target/riscv/predef-sf-2.c: Modify the char string. + +2024-11-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/117774 + * gfortran.dg/assumed_rank_25.f90: New test. + +2024-11-26 David Malcolm <dmalcolm@redhat.com> + + PR c/94370 + * gcc.dg/format/proto.c: Update wording of message. + +2024-11-26 David Malcolm <dmalcolm@redhat.com> + + PR translation/80760 + * gcc.dg/tree-ssa/pr79803.c: Add ':' to expected warning. + +2024-11-26 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-12-zvbb.c: + Adjust the dump check times. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: + Remove unnecessary option and add target no-opts/any-tops. + * 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. + +2024-11-26 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization + options passing to testcases. + +2024-11-26 Jan Hubicka <hubicka@ucw.cz> + + * g++.dg/tree-ssa/deque-1.C: New test. + * g++.dg/tree-ssa/deque-2.C: New test. + +2024-11-26 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117763 + * gfortran.dg/pr117763.f90: New test. + +2024-11-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/102674 + * gcc.dg/dfp/pr102674.c: New test. + +2024-11-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/43374 + * gcc.dg/dfp/pr43374.c: New test. + +2024-11-26 Cui, Lili <lili.cui@intel.com> + + PR target/116675 + * gcc.target/i386/pr116675.c: New test. + +2024-11-26 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Correct 128bit + mask usage. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. + +2024-11-26 Joseph Myers <josmyers@redhat.com> + + PR c/98195 + PR c/117755 + * gcc.dg/pr98195-1.c, gcc.dg/pr117755-1.c: New tests. + * gcc.dg/noncompile/20020207-1.c, gcc.dg/pr14765-1.c, + objc.dg/method-11.m: Update expected error messages. + +2024-11-25 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/117777 + * gm2/extensions/asm/pass/conststr.mod: New test. + +2024-11-25 H.J. Lu <hjl.tools@gmail.com> + + PR middle-end/117098 + * gcc.dg/sibcall-12.c: New test. + +2024-11-25 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/117105 + * gcc.target/i386/pr117105.c: New test. + +2024-11-25 Sandra Loosemore <sloosemore@baylibre.com> + + * g++.target/nios2/*: Delete entire directory. + * gcc.target/nios2/*: Delete entire directory. + * g++.dg/cpp0x/constexpr-rom.C: Remove refences to nios2. + * g++.old-deja/g++.jason/thunk3.C: Likewise. + * gcc.c-torture/execute/20101011-1.c: Likewise. + * gcc.c-torture/execute/pr47237.c: Likewise. + * gcc.dg/20020312-2.c: Likewise. + * gcc.dg/20021029-1.c: Likewise. + * gcc.dg/debug/btf/btf-datasec-1.c: Likewise. + * gcc.dg/ifcvt-4.c: Likewise. + * gcc.dg/stack-usage-1.c: Likewise. + * gcc.dg/struct-by-value-1.c: Likewise. + * gcc.dg/tree-ssa/reassoc-33.c: Likewise. + * gcc.dg/tree-ssa/reassoc-34.c: Likewise. + * gcc.dg/tree-ssa/reassoc-35.c: Likewise. + * gcc.dg/tree-ssa/reassoc-36.c: Likewise. + * lib/target-supports.exp: Likewise. + +2024-11-25 Steve Kargl <kargls@comcast.net> + + PR fortran/117765 + * gfortran.dg/impure_fcn_do_concurrent.f90: New test. + +2024-11-25 Robin Dapp <rdapp@ventanamicro.com> + + PR target/117544 + * gcc.target/riscv/rvv/base/abi-call-args-4.c: Expect vsetvl. + * gcc.target/riscv/rvv/base/pr117544.c: New test. + +2024-11-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117767 + * gcc.dg/vect/pr117767.c: New testcase. + +2024-11-25 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/117663 + * gcc.target/powerpc/pr58673-1.c: Add -std=gnu17 to dg-options. + * gcc.target/powerpc/pr64505.c: Likewise. + * gcc.target/powerpc/pr116170.c: Likewise. + * gcc.target/powerpc/pr58673-2.c: Likewise. + * gcc.target/powerpc/pr64019.c: Likewise. + * gcc.target/powerpc/pr96506-1.c: Likewise. + * gcc.target/powerpc/swaps-stack-protector.c: Likewise. + * gcc.target/powerpc/pr78543.c: Likewise. + * gcc.dg/vect/pr48765.c: Add -std=gnu17 to dg-additional-options. + +2024-11-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115825 + * gcc.dg/tree-ssa/cunroll-17.c: New testcase. + * gcc.dg/tree-ssa/cunroll-2.c: Adjust to not expect unrolling. + * gcc.dg/pr94600-1.c: Force unrolling. + * c-c++-common/ubsan/unreachable-3.c: Likewise. + * g++.dg/warn/Warray-bounds-20.C: XFAIL cases we rely on + unrolling loops created by new expressions and not inlined + CTOR invocations. + +2024-11-25 Kito Cheng <kito.cheng@sifive.com> + + * g++.dg/asan/asan_test.cc: Update the testcase for dynamic + offset. + +2024-11-25 Dongyan Chen <chendongyan@isrc.iscas.ac.cn> + + * gcc.target/riscv/arch-44.c: New test. + +2024-11-25 Haochen Jiang <haochen.jiang@intel.com> + + * lib/target-supports.exp (check_effective_target_avx10_2): + Remove AVX10.2 option. + (check_effective_target_avx10_2_512): Ditto. + +2024-11-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> + Philipp Tomsich <philipp.tomsich@vrull.eu> + + * gcc.target/aarch64/avoid-store-forwarding-1.c: New test. + * gcc.target/aarch64/avoid-store-forwarding-2.c: New test. + * gcc.target/aarch64/avoid-store-forwarding-3.c: New test. + * gcc.target/aarch64/avoid-store-forwarding-4.c: New test. + * gcc.target/aarch64/avoid-store-forwarding-5.c: New test. + * gcc.target/x86_64/abi/callabi/avoid-store-forwarding-1.c: New test. + * gcc.target/x86_64/abi/callabi/avoid-store-forwarding-2.c: New test. + +2024-11-24 Uros Bizjak <ubizjak@gmail.com> + + * lib/target-supports.exp (add_options_for_float16): Add -mpfpmath=sse. + +2024-11-24 Uros Bizjak <ubizjak@gmail.com> + + PR target/36503 + * gcc.target/i386/pr36503-1.c: New test. + * gcc.target/i386/pr36503-2.c: New test. + +2024-11-24 Andrew Pinski <quic_apinski@quicinc.com> + + PR c/117741 + * gcc.dg/gimplefe-54.c: New test. + +2024-11-24 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.target/sparc/20230328-1.c: Adjust to new mnemonics. + * gcc.target/sparc/20230328-4.c: Likewise. + * gcc.target/sparc/fcmp.c: Likewise. + * gcc.target/sparc/fucmp.c: Likewise. + +2024-11-24 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/specs/bss1.ads: New test. + +2024-11-24 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/84869 + * gfortran.dg/pr84869.f90: Copy of test below with number + corrected. + * gfortran.dg/pr85869.f90: deleted. + +2024-11-24 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/85869 + * gfortran.dg/pr85869.f90: Comment out test of component refs. + +2024-11-24 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117730 + PR fortran/84674 + * gfortran.dg/pr117730_a.f90: New test. + * gfortran.dg/pr117730_b.f90: New test. + * gfortran.dg/pr84674.f90: New test. + +2024-11-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Take + the target any-ops instead of xfail. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto. + +2024-11-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i16.c: Refine + the include file, remove unnecessary options and reconcile the + dump check based on options. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i16-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i32-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i32-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip.c: Ditto. + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Removed. + +2024-11-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i64.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-1-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i64.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-2-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i64.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-3-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i64.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-4-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i64.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-1-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i64.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-2-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i64.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-3-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i64.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_sub-run-4-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-1-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-2-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-3-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-4-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-5-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-6-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-7-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-8-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-1-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-2-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-3-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-4-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-5-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-6-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-7-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i16-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i16-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i32-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i32-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i32-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i32-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_trunc-run-8-i64-to-i8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip-run.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip-run.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_zip.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vvv_run.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vvx_run.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx_run.h: Removed. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Removed. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_data.h: Removed. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_unary_vv_run.h: Removed. + +2024-11-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c: + Refine the include file and remove unnecessary optimization options. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c: Ditto + +2024-11-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h: Merge the + same file name under autovec/unop. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-5-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-6-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-5-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_trunc-run-6-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_unary_vv_run.h: New test. + +2024-11-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u16.c: + Refactor the test case for include, unnecessary option and + target on opts. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u8.c: Ditto. + +2024-11-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-10-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-5-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-6-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-7-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-8-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-9-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-38.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-39.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-40.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-37.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-10-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-18.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-19.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-20.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-17.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-5-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-22.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-23.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-24.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-21.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-6-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-26.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-27.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-28.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-25.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-7-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-30.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-31.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-29.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-8-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-34.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-35.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-36.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-33.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub-run-9-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_imm-run-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_sub_trunc-run-1-u8.c: ...here. + +2024-11-23 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/117118 + * c-c++-common/raw-string-directive-3.c: New test. + * c-c++-common/raw-string-directive-4.c: New test. + +2024-11-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/88052 + * gfortran.dg/comma_format_extension_4.f: Add missing comma. + * gfortran.dg/dollar_edit_descriptor_2.f: Likewise. + * gfortran.dg/fmt_error_9.f: Likewise. + * gfortran.dg/fmt_g0_5.f08: Likewise. + * gfortran.dg/fmt_t_2.f90: Likewise. + * gfortran.dg/pr88052.f90: New test. + +2024-11-23 Maciej W. Rozycki <macro@orcam.me.uk> + + * gcc.c-torture/execute/memcpy-a1.c: New file. + * gcc.c-torture/execute/memcpy-a2.c: New file. + * gcc.c-torture/execute/memcpy-a4.c: New file. + * gcc.c-torture/execute/memcpy-a8.c: New file. + * gcc.c-torture/execute/memcpy-ax.h: New file. + +2024-11-22 Jeff Law <jlaw@ventanamicro.com> + + PR target/109279 + * gcc.target/riscv/synthesis-16.c: New test. + +2024-11-22 Joseph Myers <josmyers@redhat.com> + + PR c/112841 + * gcc.dg/c23-typeof-4.c: New test. + +2024-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org> + + PR tree-optimization/117355 + * g++.dg/ext/builtin-object-size2.C (test9): New test. + (main): Call it. + * gcc.dg/builtin-object-size-3.c (test10): Adjust expected size. + +2024-11-22 Jakub Jelinek <jakub@redhat.com> + + PR c++/110137 + PR middle-end/101480 + * g++.dg/tree-ssa/pr110137-1.C: New test. + * g++.dg/tree-ssa/pr110137-2.C: New test. + * g++.dg/tree-ssa/pr110137-3.C: New test. + * g++.dg/tree-ssa/pr110137-4.C: New test. + * g++.dg/torture/pr10148.C: Add -fno-assume-sane-operators-new-delete + as dg-additional-options. + * g++.dg/warn/Warray-bounds-16.C: Revert 2021-11-10 changes. + +2024-11-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117420 + * gcc.dg/torture/pr117420.c: New test. + +2024-11-22 Jakub Jelinek <jakub@redhat.com> + + PR c/117641 + * gcc.dg/bitint-117.c: New test. + +2024-11-22 Dimitar Dimitrov <dimitar@dinux.eu> + + PR target/117603 + * lib/target-supports.exp (riscv_get_arch): Add comment about + function purpose. Add E ISA to list of possible + modifiers. + (check_vect_support_and_set_flags): Do not advertise vector + support if V extension cannot be enabled. + +2024-11-22 Tobias Burnus <tburnus@baylibre.com> + + * c-c++-common/gomp/dispatch-11.c: New test. + * c-c++-common/gomp/dispatch-12.c: New test. + +2024-11-22 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.dg/gomp/interop-1.f90: Update for parser changes, + spec changes and add new tests. + * gfortran.dg/gomp/interop-2.f90: Likewise. + * gfortran.dg/gomp/interop-3.f90: Likewise. + * c-c++-common/gomp/interop-1.c: New test. + * c-c++-common/gomp/interop-2.c: New test. + * c-c++-common/gomp/interop-3.c: New test. + * c-c++-common/gomp/interop-4.c: New test. + * g++.dg/gomp/interop-5.C: New test. + * gfortran.dg/gomp/interop-4.f90: New test. + +2024-11-22 Jakub Jelinek <jakub@redhat.com> + + PR target/117165 + * gcc.target/i386/pr117165.c: New test. + +2024-11-22 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/tree-ssa/satd-hadamard.c: Add -msse2 as dg-additional-options + on x86. Also scan-tree-dump on i?86-*-*. + * gcc.dg/tree-ssa/vector-8.c: Likewise. + * gcc.dg/tree-ssa/vector-9.c: Likewise. + * gcc.dg/tree-ssa/vector-10.c: Add -Wno-psabi to dg-additional-options. + +2024-11-22 Haochen Jiang <haochen.jiang@intel.com> + + PR target/117697 + * gcc.target/i386/avx10_2-vmovd-1.c: Both check %esp and %ebp. + * gcc.target/i386/avx10_2-vmovw-1.c: Ditto. + +2024-11-22 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/vector/lsx/lsx-builtin.c (__lsx_vorn_v): + Change arguments and return value to v16u8. + * gcc.target/loongarch/vector/lasx/lasx-builtin.c + (__lasx_xvorn_v): Change arguments and return value to v32u8. + +2024-11-21 Jeff Law <jlaw@ventanamicro.com> + + PR target/117690 + * gcc.target/riscv/pr117690.c: New test. + * gcc.target/riscv/synthesis-13.c: Adjust expected output. + +2024-11-21 Joseph Myers <josmyers@redhat.com> + + PR c/114816 + * gcc.dg/c2y-void-parm-1.c: New test. + * gcc.dg/noncompile/920616-2.c, gcc.dg/noncompile/921116-1.c, + gcc.dg/parm-incomplete-1.c: Update expected diagnostics. + +2024-11-21 David Malcolm <dmalcolm@redhat.com> + + * lib/print-stack.exp: New file. + +2024-11-21 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.dg/tree-ssa/satd-hadamard.c: Restrict to aarch64 and x86-64. + * gcc.dg/tree-ssa/vector-8.c: Likewise. + * gcc.dg/tree-ssa/vector-9.c: Likewise. + +2024-11-21 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/inline-1_a.C: New test. + * g++.dg/modules/inline-1_b.C: New test. + +2024-11-21 Jeff Law <jlaw@ventanamicro.com> + + PR target/116590 + * gcc.target/riscv/pr116590.c: New test. + +2024-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/102296 + * gcc.target/i386/struct-size.c: Enable on *-*-solaris*. + +2024-11-21 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.dg/tree-ssa/satd-hadamard.c: New test. + * gcc.dg/tree-ssa/vector-10.c: New test. + * gcc.dg/tree-ssa/vector-8.c: New test. + * gcc.dg/tree-ssa/vector-9.c: New test. + * gcc.target/aarch64/sve/satd-hadamard.c: New test. + +2024-11-21 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/apx-ndd-tls-1a.c: -std=gnu17. + * gcc.target/i386/apx-ndd-tls-1b.c: Likewise. + +2024-11-21 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/94589 + PR tree-optimization/117612 + * gcc.dg/pr94589-5.c: New test. + * gcc.dg/pr94589-6.c: New test. + * g++.dg/opt/pr94589-5.C: New test. + * g++.dg/opt/pr94589-6.C: New test. + +2024-11-21 Jakub Jelinek <jakub@redhat.com> + + PR c/117024 + * gcc.c-torture/execute/builtins/lib/abs.c (uintmax_t): New typedef. + (uabs, ulabs, ullabs, uimaxabs): New functions. + * gcc.c-torture/execute/builtins/uabs-1.c: New test. + * gcc.c-torture/execute/builtins/uabs-1.x: New file. + * gcc.c-torture/execute/builtins/uabs-1-lib.c: New file. + * gcc.c-torture/execute/builtins/uabs-2.c: New test. + * gcc.c-torture/execute/builtins/uabs-2.x: New file. + * gcc.c-torture/execute/builtins/uabs-2-lib.c: New file. + * gcc.c-torture/execute/builtins/uabs-3.c: New test. + * gcc.c-torture/execute/builtins/uabs-3.x: New test. + * gcc.c-torture/execute/builtins/uabs-3-lib.c: New test. + +2024-11-21 Kewen Lin <linkw@linux.ibm.com> + + PR target/114567 + * gcc.target/powerpc/pr114567.c: New test. + +2024-11-21 Kewen Lin <linkw@linux.ibm.com> + + * gcc.target/powerpc/p8vector-int128-3.c: New test. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/opt/pr69175.C: Added option "-mcpu=unset". + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/cortex-m55-nodsp-flag-hard.c: Added option + "-march=unset". + * gcc.target/arm/cortex-m55-nodsp-flag-softfp.c: Likewise. + * gcc.target/arm/cortex-m55-nodsp-nofp-flag-softfp.c: Likesie. + * gcc.target/arm/cortex-m55-nofp-flag-hard.c: Likewise. + * gcc.target/arm/cortex-m55-nofp-flag-softfp.c: Likewise. + * gcc.target/arm/cortex-m55-nofp-nomve-flag-softfp.c: Likewise. + * gcc.target/arm/cortex-m55-nomve-flag-hard.c: Likewise. + * gcc.target/arm/cortex-m55-nomve-flag-softfp.c: Likewise. + * gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c: Likewise. + * gcc.target/arm/cortex-m55-nomve.fp-flag-softfp.c: Likewise. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/ext/pr57735.C: Use effective-target arm_cpu_xscale_arm. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.target/arm/mve/general-c++/nomve_fp_1.c: Added option + "-mcpu=unset". + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/vect-early-break-cbranch.c: Use + effective-target arm_arch_v8a_hard. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.target/arm/pr103676.C: Use effective-target + arm_cpu_cortex_m7. + * gcc.target/arm/no-volatile-in-it.c: Likewise. + * gcc.target/arm/fma-sp.c: Use effective-target + arm_cpu_cortex_m4_hard. + * gcc.target/arm/pr53859.c: Use effective-target + arm_cpu_cortex_m4. + * gcc.target/arm/mve/intrinsics/pr97327.c: Use effective-target + arm_cpu_cortex_m55. + * gcc.target/arm/pr65067.c: Use effective-target + arm_cpu_cortex_m3. + * lib/target-supports.exp: Define effective-target + arm_cpu_cortex_m3, arm_cpu_cortex_m4, arm_cpu_cortex_m4_hard, + arm_cpu_cortex_m7 and arm_cpu_cortex_m55. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/thumb2-slow-flash-data-2.c: Use + effective-target arm_arch_v7em_hard. + * gcc.target/arm/thumb2-slow-flash-data-3.c: Likewise. + * gcc.target/arm/thumb2-slow-flash-data-4.c: Likewise. + * gcc.target/arm/thumb2-slow-flash-data-5.c: Likewise. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/small-multiply-m0-1.c: Use effective-target + arm_arch_v6m and added option "-march=unset". + * gcc.target/arm/small-multiply-m0-2.c: Likewise. + * gcc.target/arm/small-multiply-m0-3.c: Likewise. + * gcc.target/arm/small-multiply-m0plus-1.c: Likewise. + * gcc.target/arm/small-multiply-m0plus-2.c: Likewise. + * gcc.target/arm/small-multiply-m0plus-3.c: Likewise. + * gcc.target/arm/small-multiply-m1-1.c: Likewise. + * gcc.target/arm/small-multiply-m1-2.c: Likewise. + * gcc.target/arm/small-multiply-m1-3.c: Likewise. + * lib/target-supports.exp: Define effective-target + arm_cpu_cortex_m0_small, arm_cpu_cortex_m0plus_small and + arm_cpu_cortex_m1_small. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/pure-code/no-literal-pool-m0.c: Use + effective-target arm_cpu_cortex-m0. + * gcc.target/arm/pure-code/no-literal-pool-m23.c: Use + effective-target arm_cpu_cortex-m23. + * gcc.target/arm/pure-code/pr94538-1.c: Likewise. + * gcc.target/arm/pure-code/pr109800.c: Use effective-target + arm_arch_v7em_hard. + * lib/target-supports.exp: Define effective-target + arm_cpu_cortex_m0, arm_cpu_cortex_m23 and arm_arch_v7em_hard. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/acle/crc_hf_1.c: Use effective-target + arm_arch_v8a_crc_hard. + * lib/target-supports.exp: Define effective-target + arm_arch_v8a_crc_hard. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/acle/pacbti-m-predef-1.c: Use effective-target + arm_arch_v8_1m_main. + * gcc.target/arm/acle/pacbti-m-predef-2.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-3.c: Likewise. + * 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-6.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. + +2024-11-21 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * gcc.target/arm/pac-1.c: Use effective-target + arm_arch_v8_1m_main_pacbti. + * 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-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. + * gcc.target/arm/pac-12.c: Added option "-mcpu=unset". + * gcc.target/arm/pac-13.c: Likewise. + * gcc.target/arm/pac-14.c: Likewise. + * lib/target-supports.exp + (check_effective_target_arm_pacbti_hw): Likewise. + * gcc.target/arm/pac-6.c: Use effective-target + arm_arch_v8_1m_main. + * gcc.target/arm/pac-15.c: Use effective-target + arm_arch_v8_1m_main_pacbti and added option "-mcpu=unset". + +2024-11-20 Harald Anlauf <anlauf@gmx.de> + + PR fortran/83135 + * gfortran.dg/protected_10.f90: New test. + +2024-11-20 Joseph Myers <josmyers@redhat.com> + + PR c/114266 + * gcc.dg/c23-empty-init-4.c: New test. + +2024-11-20 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: New test. + * jit.dg/test-output-ident.c: New test. + +2024-01-18 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: Mention test-temp.c. + * jit.dg/test-temp.c: New test. + +2024-11-20 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/116587 + * gcc.target/i386/pr116587.c: New test. + +2024-11-20 Antoni Boucher <bouanto@zoho.com> + + PR jit/108762 + * jit.dg/all-non-failing-tests.h: New test test-target-builtins.c. + * jit.dg/test-target-builtins.c: New test. + +2024-11-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/117680 + * gcc.target/aarch64/pic-constantpool1.c: Add -Wno-old-style-definition. + * gcc.target/aarch64/pic-symrefplus.c: Likewise. + * gcc.target/aarch64/pr113573.c: Add `-std=gnu17` + * gcc.target/aarch64/sme/streaming_mode_1.c: Correct testcase. + * gcc.target/aarch64/sme/za_state_1.c: Likewise. + * gcc.target/aarch64/sme/za_state_2.c: Likewise. + +2024-11-20 Edwin Lu <ewlu@rivosinc.com> + + * gcc.target/riscv/pr117595.c: Restrict to non vector targets. + +2024-11-20 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/test-types.c: Add checks comparing aligned types. + +2024-11-20 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/test-special-chars.c: New test. + +2024-11-20 Antoni Boucher <bouanto@zoho.com> + + PR jit/112602 + * jit.dg/all-non-failing-tests.h: New test test-vector-perm.c. + * jit.dg/test-vector-perm.c: New test. + +2024-11-20 Paul-Antoine Arras <parras@baylibre.com> + + * c-c++-common/gomp/declare-variant-2.c: Adjust dg-error directives. + * c-c++-common/gomp/adjust-args-1.c: New test. + * c-c++-common/gomp/adjust-args-2.c: New test. + * c-c++-common/gomp/declare-variant-dup-match-clause.c: New test. + * c-c++-common/gomp/dispatch-1.c: New test. + * c-c++-common/gomp/dispatch-2.c: New test. + * c-c++-common/gomp/dispatch-3.c: New test. + * c-c++-common/gomp/dispatch-4.c: New test. + * c-c++-common/gomp/dispatch-5.c: New test. + * c-c++-common/gomp/dispatch-6.c: New test. + * c-c++-common/gomp/dispatch-7.c: New test. + * c-c++-common/gomp/dispatch-8.c: New test. + * c-c++-common/gomp/dispatch-9.c: New test. + * c-c++-common/gomp/dispatch-10.c: New test. + +2024-11-20 Paul-Antoine Arras <parras@baylibre.com> + + * g++.dg/gomp/adjust-args-1.C: New test. + * g++.dg/gomp/adjust-args-2.C: New test. + * g++.dg/gomp/adjust-args-3.C: New test. + * g++.dg/gomp/dispatch-1.C: New test. + * g++.dg/gomp/dispatch-2.C: New test. + * g++.dg/gomp/dispatch-3.C: New test. + * g++.dg/gomp/dispatch-4.C: New test. + * g++.dg/gomp/dispatch-5.C: New test. + * g++.dg/gomp/dispatch-6.C: New test. + * g++.dg/gomp/dispatch-7.C: New test. + +2024-11-20 Paul-Antoine Arras <parras@baylibre.com> + + * gcc.dg/gomp/adjust-args-1.c: New test. + * gcc.dg/gomp/dispatch-1.c: New test. + * gcc.dg/gomp/dispatch-2.c: New test. + * gcc.dg/gomp/dispatch-3.c: New test. + * gcc.dg/gomp/dispatch-4.c: New test. + * gcc.dg/gomp/dispatch-5.c: New test. + +2024-11-20 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/test-error-bad-assignment-op.c: New test. + +2024-11-20 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: Add test-signed-char.c. + * jit.dg/test-signed-char.c: New test. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * lib/target-supports.exp: Test the assembler for sve-b16b16 support. + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add tests for + __ARM_FEATURE_SME2p1. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za128.c: New test. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za16.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za16_vg2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za16_vg4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za32.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za32_vg2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za32_vg4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za64.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za64_vg2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za64_vg4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za8.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za8_vg2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_hor_za8_vg4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za16.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za16_vg2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za16_vg4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za32.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za32_vg2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za32_vg4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za64.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za64_vg2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za64_vg4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za8.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za8_vg2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_ver_za8_vg4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_za16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_za16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_za32_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_za32_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_za64_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_za64_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_za8_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/readz_za8_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg2x1.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg2x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg2x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg4x1.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg4x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/zero_za64_vg4x4.c: Likewise. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * lib/target-supports.exp: Test the assembler for sve-b16b16 support. + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add tests for + __ARM_FEATURE_SME_B16B16. + * gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x2.c: New test. + * gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mopa_za16_bf16.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mops_za16_bf16.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/sub_za16_bf16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/sub_za16_bf16_vg1x4.c: Likewise. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * lib/target-supports.exp: Test the assembler for sve-f16f16 support. + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add tests for + __ARM_FEATURE_SME_F16F16. Also extend the existing SME tests. + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h + (TEST_X2_WIDE): New macro + * gcc.target/aarch64/sme2/acle-asm/add_za16_f16_vg1x2.c: New test. + * gcc.target/aarch64/sme2/acle-asm/add_za16_f16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/cvt_f32_f16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/cvtl_f32_f16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_f16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_f16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mla_za16_f16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mla_za16_f16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_f16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_f16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mls_za16_f16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mls_za16_f16_vg1x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mopa_za16_f16.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/mops_za16_f16.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/sub_za16_f16_vg1x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/sub_za16_f16_vg1x4.c: Likewise. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * lib/target-supports.exp: Test the assembler for sve-b16b16 support. + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Test the new B16B16 + macros. + * gcc.target/aarch64/sve/fmad_1.c: Test bfloat16 too. + * gcc.target/aarch64/sve/fmla_1.c: Likewise. + * gcc.target/aarch64/sve/fmls_1.c: Likewise. + * gcc.target/aarch64/sve/fmsb_1.c: Likewise. + * gcc.target/aarch64/sve/cond_mla_9.c: New test. + * gcc.target/aarch64/sme2/acle-asm/clamp_bf16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/clamp_bf16_x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/max_bf16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/max_bf16_x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/maxnm_bf16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/maxnm_bf16_x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/min_bf16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/min_bf16_x4.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/minnm_bf16_x2.c: Likewise. + * gcc.target/aarch64/sme2/acle-asm/minnm_bf16_x4.c: Likewise. + * gcc.target/aarch64/sve/bf16_arith_1.c: Likewise. + * gcc.target/aarch64/sve/bf16_arith_1.h: Likewise. + * gcc.target/aarch64/sve/bf16_arith_2.c: Likewise. + * gcc.target/aarch64/sve/bf16_arith_3.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/add_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/max_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxnm_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/min_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minnm_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mla_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mla_lane_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mls_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mls_lane_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mul_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/mul_lane_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sub_bf16.c: Likewise. + +2024-11-20 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/maxloc_8.f90: New test. + * gfortran.dg/minloc_9.f90: New test. + +2024-11-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/pr117232-1.c (scan-assembler-times): Allow for + cmovl.nc etc. + * gcc.target/i386/pr117232-apx-1.c: Likewise. + +2024-11-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s16.c: Remove + the unnecessary option and refine the rtl IFN dump check. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u8.c: Ditto. + +2024-11-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Add the vector sat folder to + the rvv.exp testsuite. + +2024-11-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-1-s8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-2-s8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-3-s8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-4-s8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-1-s8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-2-s8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-3-s8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_s_add-run-4-s8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-5-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-6-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-7-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-8-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-18.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-19.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-20.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-17.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-5-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-22.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-23.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-24.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-21.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-6-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-26.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-27.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-28.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-25.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-7-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-30.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-31.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-32.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-29.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add-run-8-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-16.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm-run-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-2.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-3.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-4.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-1.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-1-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-6.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-7.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-8.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-5.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-2-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-10.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-11.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-12.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u64.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-9.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-3-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-14.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u16.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-15.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u32.c: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-13.c: Move to... + * gcc.target/riscv/rvv/autovec/sat/vec_sat_u_add_imm_reconcile-4-u8.c: ...here. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_arith.h: New test. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_binary_vvv_run.h: New test. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_binary_vvx_run.h: New test. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_binary_vx_run.h: New test. + * gcc.target/riscv/rvv/autovec/sat/vec_sat_data.h: New test. + +2024-11-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117574 + * gcc.dg/torture/pr117574-1.c: New testcase. + +2024-11-20 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/abs_bf_1.c: New test. + * gcc.target/aarch64/neg_bf_1.c: Likewise. + * gcc.target/aarch64/neg_bf_2.c: Likewise. + +2024-11-20 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/arm/mve/dlstp-loop-form.c: Add loop that triggered ICE. + +2024-11-20 Mikael Morin <mikael@gcc.gnu.org> + + * gfortran.dg/minmaxloc_22.f90: New test. + +2024-11-20 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/pure-code/no-literal-pool-m0.c: Only check for + absence of literal pools. + +2024-11-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: Remove + unnecessary optimization option and xfail O2/O3 diff IFN times + from the rtl expand dump. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: Ditto. + +2024-11-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Fix the incorrect optimization options. + +2024-11-20 yulong <shiyulong@iscas.ac.cn> + + * gcc.target/riscv/predef-sf-3.c: New test. + * gcc.target/riscv/predef-sf-4.c: New test. + * gcc.target/riscv/predef-sf-5.c: New test. + +2024-11-20 Jeff Law <jlaw@ventanamicro.com> + + PR target/117649 + * gcc.target/riscv/branch-1.c: Update expected output. + * gcc.target/riscv/pr117649.c: New test. + +2024-11-20 Joseph Myers <josmyers@redhat.com> + + PR c/115515 + * gcc.dg/c23-constexpr-10.c, gcc.dg/gnu23-constexpr-2.c: New + tests. + +2024-11-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_s_sub-1-i16.c: Remove flto + dg-skip workaround and -O3 option. + * gcc.target/riscv/sat/sat_s_sub-1-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-1-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-1-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-2-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-2-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-2-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-2-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-3-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-3-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-3-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-3-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-4-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-4-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-4-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_sub-4-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c: Ditto. + +2024-11-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_s_sub-1-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-1-i16.c: ...here. + * gcc.target/riscv/sat_s_sub-1-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-1-i32.c: ...here. + * gcc.target/riscv/sat_s_sub-1-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-1-i64.c: ...here. + * gcc.target/riscv/sat_s_sub-1-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-1-i8.c: ...here. + * gcc.target/riscv/sat_s_sub-2-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-2-i16.c: ...here. + * gcc.target/riscv/sat_s_sub-2-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-2-i32.c: ...here. + * gcc.target/riscv/sat_s_sub-2-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-2-i64.c: ...here. + * gcc.target/riscv/sat_s_sub-2-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-2-i8.c: ...here. + * gcc.target/riscv/sat_s_sub-3-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-3-i16.c: ...here. + * gcc.target/riscv/sat_s_sub-3-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-3-i32.c: ...here. + * gcc.target/riscv/sat_s_sub-3-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-3-i64.c: ...here. + * gcc.target/riscv/sat_s_sub-3-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-3-i8.c: ...here. + * gcc.target/riscv/sat_s_sub-4-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-4-i16.c: ...here. + * gcc.target/riscv/sat_s_sub-4-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-4-i32.c: ...here. + * gcc.target/riscv/sat_s_sub-4-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-4-i64.c: ...here. + * gcc.target/riscv/sat_s_sub-4-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-4-i8.c: ...here. + * gcc.target/riscv/sat_s_sub-run-1-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-1-i16.c: ...here. + * gcc.target/riscv/sat_s_sub-run-1-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-1-i32.c: ...here. + * gcc.target/riscv/sat_s_sub-run-1-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-1-i64.c: ...here. + * gcc.target/riscv/sat_s_sub-run-1-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-1-i8.c: ...here. + * gcc.target/riscv/sat_s_sub-run-2-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-2-i16.c: ...here. + * gcc.target/riscv/sat_s_sub-run-2-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-2-i32.c: ...here. + * gcc.target/riscv/sat_s_sub-run-2-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-2-i64.c: ...here. + * gcc.target/riscv/sat_s_sub-run-2-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-2-i8.c: ...here. + * gcc.target/riscv/sat_s_sub-run-3-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-3-i16.c: ...here. + * gcc.target/riscv/sat_s_sub-run-3-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-3-i32.c: ...here. + * gcc.target/riscv/sat_s_sub-run-3-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-3-i64.c: ...here. + * gcc.target/riscv/sat_s_sub-run-3-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-3-i8.c: ...here. + * gcc.target/riscv/sat_s_sub-run-4-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-4-i16.c: ...here. + * gcc.target/riscv/sat_s_sub-run-4-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-4-i32.c: ...here. + * gcc.target/riscv/sat_s_sub-run-4-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-4-i64.c: ...here. + * gcc.target/riscv/sat_s_sub-run-4-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_sub-run-4-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-1-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-1-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-1-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-2-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-2-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-2-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-3-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-3-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-3-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-4-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-4-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-4-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-5-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-5-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-5-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-6-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-6-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-6-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-7-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-7-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-7-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-8-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-8-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-8-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-1-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-1-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-1-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-1-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-2-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-2-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-2-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-2-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-3-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-3-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-3-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-3-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-4-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-4-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-4-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-4-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-5-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-5-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-5-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-5-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-6-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-6-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-6-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-6-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-7-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-7-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-7-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-7-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-8-i16-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-8-i16-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-8-i32-to-i8.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i16.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i32.c: ...here. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_trunc-run-8-i64-to-i8.c: ...here. + * gcc.target/riscv/sat_arith.h: Removed. + * gcc.target/riscv/sat_arith_data.h: Removed. + +2024-11-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/minmaxloc_21.f90: New test. + +2024-11-19 Joseph Myers <josmyers@redhat.com> + + PR c/114869 + * gcc.dg/c23-nullptr-5.c: Use typeof (nullptr) not nullptr_t. + * gcc.dg/c11-nullptr-2.c, gcc.dg/c11-nullptr-3.c, + gcc.dg/c23-nullptr-7.c: New tests + +2024-11-19 Jakub Jelinek <jakub@redhat.com> + + PR c/117641 + * gcc.dg/bitint-115.c: New test. + +2024-11-19 Jakub Jelinek <jakub@redhat.com> + + PR c/117456 + * gcc.dg/builtin-stdc-rotate-4.c: New test. + +2024-11-19 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + PR testsuite/116488 + PR testsuite/116915 + * gcc.dg/torture/pr116488.c: Require int32plus. + * gcc.dg/torture/pr116915.c: Require int32plus. + +2024-11-19 Martin Uecker <uecker@tugraz.at> + + PR c/117490 + * gcc.dg/gnu23-tag-alias-4.c: Adapt test. + * gcc.dg/gnu23-tag-alias-7.c: Adapt test. + * gcc.dg/guality/zero-length-array.c: Restrict to c17. + * gcc.dg/pr117490.c: New test. + +2024-11-19 Edwin Lu <ewlu@rivosinc.com> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-3.c: Update + function definition. + +2024-11-19 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/test-shift.h: New file. + * gcc.target/avr/torture/shift-l-u32.c: New test. + * gcc.target/avr/torture/shift-r-u32.c: New test. + * gcc.target/avr/torture/shift-r-i32.c: New test. + * gcc.target/avr/torture/shift-l-u24.c: New test. + * gcc.target/avr/torture/shift-r-u24.c: New test. + * gcc.target/avr/torture/shift-r-i24.c: New test. + * gcc.target/avr/torture/shift-l-u16.c: New test. + * gcc.target/avr/torture/shift-r-u16.c: New test. + * gcc.target/avr/torture/shift-r-i16.c: New test. + * gcc.target/avr/torture/shift-l-u8.c: New test. + * gcc.target/avr/torture/shift-r-u8.c: New test. + * gcc.target/avr/torture/shift-r-i8.c: New test. + +2024-11-19 Andreas Schwab <schwab@suse.de> + + * gcc.target/m68k/20100512-1.c (doTest1, doTest2): Add asm that + references foo. + +2024-11-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/maxloc_bounds_8.f90: Accept the error message + generated by the scalarizer in case the MAXLOC intrinsic call is + implemented through inline code. + * gfortran.dg/minmaxloc_20.f90: New test. + +2024-11-19 Jason Merrill <jason@redhat.com> + + * g++.dg/warn/deprecated-21.C: New test. + * g++.dg/modules/warn-spec-2_a.C: New test. + * g++.dg/modules/warn-spec-2_b.C: New test. + +2024-11-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/maxloc_bounds_1.f90: Also accept the error message + generated by the scalarizer in case the function call is implemented + through inline code. + * gfortran.dg/maxloc_bounds_2.f90: Likewise. + * gfortran.dg/maxloc_bounds_3.f90: Likewise. + * gfortran.dg/minmaxloc_19.f90: New test. + +2024-11-19 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/ieee/maxloc_nan_2.f90: New test. + * gfortran.dg/ieee/minloc_nan_2.f90: New test. + * gfortran.dg/maxloc_with_dim_1.f90: New test. + * gfortran.dg/maxloc_with_dim_and_mask_1.f90: New test. + * gfortran.dg/minloc_with_dim_1.f90: New test. + * gfortran.dg/minloc_with_dim_and_mask_1.f90: New test. + +2024-11-19 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/vls/merge-1.c: Check for vlm and + no vmsleu etc. + * gcc.target/riscv/rvv/autovec/vls/merge-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/merge-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/merge-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/merge-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/merge-6.c: Ditto. + +2024-11-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117458 + * gcc.dg/bitint-116.c: New test. + +2024-11-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117459 + * gcc.dg/torture/bitint-74.c: New test. + +2024-11-19 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117571 + * gcc.dg/bitint-114.c: New test. + +2024-11-19 Andreas Schwab <schwab@suse.de> + + * gcc.target/m68k/crash1.c (seq_printf): Add prototype. + * gcc.target/m68k/pr63347.c (oof): Add missing parameter. + +2024-11-19 Soumya AR <soumyaa@nvidia.com> + + * gcc.dg/tree-ssa/pow-to-ldexp.c: Require c99_runtime. + +2024-11-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_u_trunc-1-u16.c: Remove flto + dg-skip workaround and -O3 option. + * gcc.target/riscv/sat/sat_u_trunc-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-4-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-5-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-5-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-5-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-5-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-6-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-6-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-6-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_trunc-6-u8.c: Ditto. + * gcc.target/riscv/sat/scalar_sat_unary.h: New test. + +2024-11-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_u_trunc-2.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-1-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-3.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-1-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-4.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-1-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-1.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-1-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-6.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-2-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-7.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-2-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-8.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-2-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-5.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-2-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-10.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-3-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-11.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-3-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-12.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-3-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-9.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-3-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-14.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-4-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-15.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-4-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-16.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-4-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-13.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-4-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-18.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-5-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-19.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-5-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-20.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-5-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-17.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-5-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-22.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-6-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-23.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-6-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-24.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-6-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-21.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-6-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-2.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-1-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-3.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-1-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-4.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-1-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-1.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-1-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-6.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-2-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-7.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-2-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-8.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-2-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-5.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-2-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-10.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-3-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-11.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-3-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-12.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-3-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-9.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-3-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-14.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-4-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-15.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-4-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-16.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-4-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-13.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-4-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-18.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-5-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-19.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-5-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-20.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-5-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-17.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-5-u8.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-22.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-6-u16.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-23.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-6-u32.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-24.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-6-u64.c: ...here. + * gcc.target/riscv/sat_u_trunc-run-21.c: Move to... + * gcc.target/riscv/sat/sat_u_trunc-run-6-u8.c: ...here. + +2024-11-18 Joseph Myers <josmyers@redhat.com> + + PR c/112556 + * gcc.dg/c11-null-pointer-constant-1.c, + gcc.dg/c23-null-pointer-constant-1.c: New tests. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + PR other/96032 + * lib/gcc-dg.exp (gcc-dg-test-1): Add "replay-sarif". + * lib/sarif-replay-dg.exp: New file. + * lib/sarif-replay.exp: New file. + * sarif-replay.dg/2.1.0-invalid/3.1-not-an-object.sarif: New test. + * sarif-replay.dg/2.1.0-invalid/3.11.11-malformed-placeholder.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.11.11-missing-arguments-for-placeholders.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.11.11-not-enough-arguments-for-placeholders.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.13.2-no-version.sarif: New test. + * sarif-replay.dg/2.1.0-invalid/3.13.2-version-not-a-string.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.13.4-bad-runs.sarif: New test. + * sarif-replay.dg/2.1.0-invalid/3.13.4-no-runs.sarif: New test. + * sarif-replay.dg/2.1.0-invalid/3.13.4-non-object-in-runs.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.27.10-bad-level.sarif: New test. + * sarif-replay.dg/2.1.0-unhandled/3.27.10-none-level.sarif: New test. + * sarif-replay.dg/2.1.0-valid/error-with-note.sarif: New test. + * sarif-replay.dg/2.1.0-valid/escaped-braces.sarif: New test. + * sarif-replay.dg/2.1.0-valid/null-runs.sarif: New test. + * sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: New test. + * sarif-replay.dg/2.1.0-valid/spec-example-1.sarif: New test. + * sarif-replay.dg/2.1.0-valid/spec-example-2.sarif: New test. + * sarif-replay.dg/2.1.0-valid/spec-example-3.sarif: New test. + * sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: New test. + * sarif-replay.dg/2.1.0-valid/tutorial-example.sarif: New test. + * sarif-replay.dg/dg.exp: New script. + * sarif-replay.dg/malformed-json/array-missing-comma.sarif: New test. + * sarif-replay.dg/malformed-json/array-with-trailing-comma.sarif: + New test. + * sarif-replay.dg/malformed-json/bad-token.sarif: New test. + * sarif-replay.dg/malformed-json/object-missing-comma.sarif: New test. + * sarif-replay.dg/malformed-json/object-with-trailing-comma.sarif: + New test. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + * libdiagnostics.dg/libdiagnostics.exp: New, adapted from jit.exp. + * libdiagnostics.dg/sarif.py: New. + * libdiagnostics.dg/test-dump.c: New test. + * libdiagnostics.dg/test-error-c.py: New test. + * libdiagnostics.dg/test-error-with-note-c.py: New test. + * libdiagnostics.dg/test-error-with-note.c: New test. + * libdiagnostics.dg/test-error-with-note.cc: New test. + * libdiagnostics.dg/test-error.c: New test. + * libdiagnostics.dg/test-error.cc: New test. + * libdiagnostics.dg/test-example-1.c: New test. + * libdiagnostics.dg/test-fix-it-hint-c.py: New test. + * libdiagnostics.dg/test-fix-it-hint.c: New test. + * libdiagnostics.dg/test-fix-it-hint.cc: New test. + * libdiagnostics.dg/test-helpers++.h: New test. + * libdiagnostics.dg/test-helpers.h: New test. + * libdiagnostics.dg/test-labelled-ranges.c: New test. + * libdiagnostics.dg/test-labelled-ranges.cc: New test. + * libdiagnostics.dg/test-labelled-ranges.py: New test. + * libdiagnostics.dg/test-logical-location-c.py: New test. + * libdiagnostics.dg/test-logical-location.c: New test. + * libdiagnostics.dg/test-metadata-c.py: New test. + * libdiagnostics.dg/test-metadata.c: New test. + * libdiagnostics.dg/test-multiple-lines-c.py: New test. + * libdiagnostics.dg/test-multiple-lines.c: New test. + * libdiagnostics.dg/test-no-column-c.py: New test. + * libdiagnostics.dg/test-no-column.c: New test. + * libdiagnostics.dg/test-no-diagnostics-c.py: New test. + * libdiagnostics.dg/test-no-diagnostics.c: New test. + * libdiagnostics.dg/test-note-with-fix-it-hint-c.py: New test. + * libdiagnostics.dg/test-note-with-fix-it-hint.c: New test. + * libdiagnostics.dg/test-text-sink-options.c: New test. + * libdiagnostics.dg/test-warning-c.py: New test. + * libdiagnostics.dg/test-warning-with-path-c.py: New test. + * libdiagnostics.dg/test-warning-with-path.c: New test. + * libdiagnostics.dg/test-warning.c: New test. + * libdiagnostics.dg/test-write-sarif-to-file-c.py: New test. + * libdiagnostics.dg/test-write-sarif-to-file.c: New test. + * libdiagnostics.dg/test-write-text-to-file.c: New test. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + * lib/dg-test-cleanup.exp: New file, from material moved from + lib/gcc-dg.exp. + * lib/gcc-dg.exp: Add load_lib of dg-test-cleanup.exp. + (cleanup-after-saved-dg-test): Move to lib/dg-test-cleanup.exp. + (dg-test): Likewise for override. + (initialize_prune_notes): Likewise. + +2024-11-18 Uros Bizjak <ubizjak@gmail.com> + + PR target/117357 + * gcc.target/i386/pr117357.c: New test. + +2024-11-18 Martin Uecker <uecker@tugraz.at> + + PR testsuite/117419 + * gcc.dg/enum-alias-1.c: Add __INT_MAX__. + * gcc.dg/enum-alias-2.c: Likewise. + * gcc.dg/enum-alias-3.c: Likewise. + +2024-11-18 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/early_ra_1.c: New test. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + PR other/116253 + * gcc.dg/plugin/diagnostic-test-nesting-sarif.c: New test. + * gcc.dg/plugin/diagnostic-test-nesting-sarif.py: New test. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented-show-levels.c: + New test. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented-unicode.c: + New test. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented.c: New test. + * gcc.dg/plugin/diagnostic-test-nesting-text-plain.c: New test. + * gcc.dg/plugin/diagnostic_plugin_test_nesting.c: New test plugin. + * gcc.dg/plugin/plugin.exp: Add the above. + +2024-11-18 Georg-Johann Lay <avr@gjlay.de> + + PR target/84211 + * gcc.target/avr/torture/test-gprs.h: New file. + * gcc.target/avr/torture/pr84211-fuse-move-1.c: New test. + * gcc.target/avr/torture/pr84211-fuse-move-2.c: New test. + +2024-11-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/53357 + * gfortran.dg/auto_char_len_4.f90: Adjust patterns. + * gfortran.dg/typebound_override_1.f90: Likewise. + * gfortran.dg/bounds_check_strlen_10.f90: New test. + +2024-11-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117594 + * gcc.dg/vect/pr117594.c: New testcase. + +2024-11-18 Jeff Law <jlaw@ventanamicro.com> + + PR target/117595 + * gcc.target/riscv/pr117595.c: New test. + +2024-11-18 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/117660 + * gm2/iso/fail/arraymismatch.mod: New test. + +2024-11-18 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/117371 + * gm2/iso/fail/forloopbyzero.mod: New test. + +2024-11-18 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/117093 + * gcc.dg/tree-ssa/pr117093.c: Move to gcc.target/aarch64. + * gcc.target/aarch64/pr117093.c: New test. + +2024-11-18 Robin Dapp <rdapp@ventanamicro.com> + + PR middle-end/115336 + PR middle-end/116059 + * gcc.target/riscv/rvv/autovec/pr115336.c: New test. + * gcc.target/riscv/rvv/autovec/pr116059.c: New test. + +2024-11-18 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117646 + * gcc.dg/torture/minmaxneeqptr-1.c: New test. + +2024-11-18 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/dep-4.H: New test. + +2024-11-18 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/117494 + * gcc.dg/vect/pr101145inf.c: Remove dg-do and replace + with dg-require-effective-target of signal. + * gcc.dg/vect/pr101145inf_1.c: Likewise. + * gcc.dg/vect/pr101145inf.inc: Rename main to main1 + and mark as noinline. + Include tree-vect.h. Have main call check_vect and main1. + +2024-11-18 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/ext-dce-1.c: New test. + +2024-11-17 Florian Weimer <fweimer@redhat.com> + + PR c/95445 + * gcc.dg/Wdeprecated-non-prototype-1.c: New test. + * gcc.dg/Wdeprecated-non-prototype-2.c: New test. + * gcc.dg/Wdeprecated-non-prototype-3.c: New test. + * gcc.dg/Wdeprecated-non-prototype-4.c: New test. + +2024-11-17 Jan Hubicka <hubicka@ucw.cz> + + PR tree-optimization/109442 + * g++.dg/tree-ssa/pr109442.C: New test. + +2024-11-16 Jan Hubicka <hubicka@ucw.cz> + + * g++.dg/tree-ssa/pr109442.C: New file. + +2024-11-16 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115275 + * g++.dg/tree-ssa/pr115275.C: New test. + * gcc.dg/tree-ssa/max_eqne-1.c: New test. + * gcc.dg/tree-ssa/max_eqne-2.c: New test. + +2024-11-16 Eikansh Gupta <quic_eikagupt@quicinc.com> + + PR tree-optimization/109401 + * gcc.dg/tree-ssa/pr109401.c: New test. + * gcc.dg/tree-ssa/pr109401-1.c: New test. + +2024-11-16 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/cmo-32.c: Pass in -std=gnu17. + * gcc.target/riscv/cmo-64.c: Likewise. + * gcc.target/riscv/pr98777.c: Likewise. + * gcc.target/riscv/rvv/vsetvl/pr115214.c: Likewise. + * gcc.target/riscv/rvv/autovec/pr113469.c: Likewise. + * gcc.target/riscv/rvv/autovec/pr111391-1.c: Fix prototype for c23. + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Likewise. + * gcc.target/riscv/sum-of-two-s12-const-2.c: Likewise. + * gcc.target/riscv/target-attr-01.c: Likewise. + * gcc.target/riscv/target-attr-02.c: Likewise. + * gcc.target/riscv/target-attr-03.c: Likewise. + * gcc.target/riscv/target-attr-04.c: Likewise. + * gcc.target/riscv/target-attr-05.c: Likewise. + * gcc.target/riscv/target-attr-06.c: Likewise. + * gcc.target/riscv/target-attr-07.c: Likewise. + * gcc.target/riscv/target-attr-08.c: Likewise. + * gcc.target/riscv/target-attr-09.c: Likewise. + * gcc.target/riscv/target-attr-10.c: Likewise. + * gcc.target/riscv/target-attr-11.c: Likewise. + * gcc.target/riscv/target-attr-12.c: Likewise. + * gcc.target/riscv/target-attr-13.c: Likewise. + * gcc.target/riscv/target-attr-14.c: Likewise. + * gcc.target/riscv/target-attr-15.c: Likewise. + * gcc.target/riscv/target-attr-bad-01.c: Likewise. + * gcc.target/riscv/target-attr-bad-02.c: Likewise. + * gcc.target/riscv/target-attr-bad-03.c: Likewise. + * gcc.target/riscv/target-attr-bad-04.c: Likewise. + * gcc.target/riscv/target-attr-bad-05.c: Likewise. + * gcc.target/riscv/target-attr-bad-06.c: Likewise. + * gcc.target/riscv/target-attr-bad-07.c: Likewise. + * gcc.target/riscv/target-attr-bad-08.c: Likewise. + * gcc.target/riscv/target-attr-bad-09.c: Likewise. + * gcc.target/riscv/target-attr-bad-10.c: Likewise. + +2024-11-16 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/arc/add_n-combine.c: Pass in -std=gnu17. + +2024-11-16 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/109066 + * gfortran.dg/defined_assignment_12.f90: New test. + +2024-11-16 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/sh/pr51244-15.c: Use "mybool" rather than "bool". + * gcc.target/sh/pr52933-1.c: Similarly. + * gcc.target/sh/pr54089-1.c: Similarly. + * gcc.target/sh/pr54089-7.c: Similarly. + * gcc.target/sh/pr54089-8.c: Similarly. + * gcc.target/sh/pr54089-9.c: Similarly. + * gcc.target/sh/pr64366.c: Use -std=gnu17. + +2024-11-16 Jeff Law <jlaw@ventanamicro.com> + + * lib/wrapper.exp (${tool}_maybe_build_wrapper): Pass -std=gnu17 flag + to build testglue wrapper. + +2024-11-16 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/pr64366.c (foobar): Provide full function + delaration. + +2024-11-16 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_42.f90: New test. + +2024-11-16 Jan Hubicka <hubicka@ucw.cz> + + * gcc.dg/ipa/fnsummary-1.c: New test. + +2024-11-16 Jason Merrill <jason@redhat.com> + + * g++.dg/template/error25.C: Adjust export diagnostic. + * g++.old-deja/g++.benjamin/tem05.C: Likewise. + * g++.old-deja/g++.pt/export1.C: Likewise. + * g++.dg/pch/pch.exp: Specify -fno-modules. + +2024-11-16 Martin Uecker <uecker@tugraz.at> + + PR c/117548 + * gcc.dg/pr117548.c: New test. + +2024-11-16 Sam James <sam@gentoo.org> + + * gcc.target/i386/pr66891.c: Pass -std=gnu17. + +2024-11-16 Sam James <sam@gentoo.org> + + * gcc.dg/graphite/id-15.c: Pass -Wno-old-style-definition. + * gcc.dg/graphite/pr38413.c: Ditto. + * gcc.dg/graphite/pr38510.c: Ditto. + +2024-11-16 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_u_sub-1-u16.c: Remove flto dg-skip + workaround and -O3 option. + * gcc.target/riscv/sat/sat_u_sub-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-10-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-10-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-10-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-10-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-11-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-11-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-11-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-11-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-12-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-12-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-12-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-12-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-4-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-5-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-5-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-5-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-5-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-6-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-6-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-6-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-6-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-7-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-7-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-7-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-7-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-8-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-8-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-8-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-8-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-9-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-9-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-9-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub-9-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u64-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8.c: Ditto. + +2024-11-15 Joseph Myers <josmyers@redhat.com> + + * c-c++-common/analyzer/asm-x86-dyndbg-2.c, + c-c++-common/analyzer/asm-x86-lp64-2.c, + c-c++-common/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c, + c-c++-common/analyzer/coreutils-cksum-pr108664.c, + c-c++-common/analyzer/feasibility-3.c, + c-c++-common/analyzer/pr105783.c, c-c++-common/analyzer/sock-1.c, + c-c++-common/attributes-4.c, gcc.dg/Warray-bounds-78.c, + gcc.dg/analyzer/asm-x86-dyndbg-1.c: Do not define bool, true or + false. + * gcc.dg/debug/ctf/ctf-function-pointers-2.c: Use -std-gnu17. + * gcc.dg/gnu23-version-2.c: New test. + * gcc.dg/simulate-thread/atomic-load-int.c, + gcc.dg/simulate-thread/atomic-load-longlong.c, + gcc.dg/simulate-thread/atomic-load-short.c: Add more noinline + attributes. + * gcc.dg/torture/pr117496-1.c: Use -std=gnu17. + +2024-11-15 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/117371 + * gm2/iso/fail/forloopbyvar.mod: New test. + * gm2/iso/fail/forloopbyvar4.mod: New test. + * gm2/iso/fail/forloopbyvar5.mod: New test. + * gm2/iso/pass/forloopbyvar3.mod: New test. + +2024-11-15 Jennifer Schmitz <jschmitz@nvidia.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/117093 + * gcc.dg/tree-ssa/pr117093.c: New test. + +2024-11-15 Joseph Myers <josmyers@redhat.com> + + PR c/117164 + * gcc.dg/nested-func-13.c, gcc.dg/nested-func-14.c: + gcc.dg/nested-func-15.c, gcc.dg/nested-func-16.c, + gcc.dg/nested-func-17.c: New tests. + * gcc.dg/nested-func-15.c: New file. + * gcc.dg/nested-func-16.c: New file. + * gcc.dg/nested-func-17.c: New file. + +2024-11-15 Christophe Lyon <christophe.lyon@linaro.org> + + PR testsuite/116080 + * lib/target-supports.exp (check_effective_target_tail_call): + Remove foo's body. + (check_effective_target_musttail): Likewise. + +2024-11-15 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_u_sub-2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-1-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-1-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-4.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-1-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-1-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-38.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-10-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-39.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-10-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-40.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-10-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-37.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-10-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-42.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-11-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-43.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-11-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-44.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-11-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-41.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-11-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-46.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-12-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-47.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-12-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-48.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-12-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-45.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-12-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-6.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-2-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-7.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-2-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-8.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-2-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-5.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-2-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-10.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-3-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-11.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-3-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-12.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-3-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-9.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-3-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-14.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-4-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-15.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-4-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-16.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-4-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-13.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-4-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-18.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-5-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-19.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-5-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-20.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-5-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-17.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-5-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-22.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-6-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-23.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-6-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-24.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-6-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-21.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-6-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-26.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-7-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-27.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-7-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-28.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-7-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-25.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-7-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-30.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-8-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-31.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-8-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-32.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-8-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-29.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-8-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-34.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-9-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-35.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-9-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-36.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-9-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-33.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-9-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-1-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-1-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-4.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-1-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-1-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-38.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-10-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-39.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-10-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-40.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-10-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-37.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-10-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-42.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-11-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-43.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-11-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-44.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-11-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-41.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-11-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-46.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-12-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-47.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-12-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-48.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-12-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-45.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-12-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-6.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-2-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-7.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-2-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-8.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-2-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-5.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-2-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-10.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-3-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-11.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-3-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-12.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-3-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-9.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-3-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-14.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-4-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-15.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-4-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-16.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-4-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-13.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-4-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-18.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-5-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-19.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-5-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-20.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-5-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-17.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-5-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-22.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-6-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-23.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-6-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-24.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-6-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-21.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-6-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-26.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-7-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-27.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-7-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-28.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-7-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-25.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-7-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-30.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-8-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-31.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-8-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-32.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-8-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-29.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-8-u8.c: ...here. + * gcc.target/riscv/sat_u_sub-run-34.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-9-u16.c: ...here. + * gcc.target/riscv/sat_u_sub-run-35.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-9-u32.c: ...here. + * gcc.target/riscv/sat_u_sub-run-36.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-9-u64.c: ...here. + * gcc.target/riscv/sat_u_sub-run-33.c: Move to... + * gcc.target/riscv/sat/sat_u_sub-run-9-u8.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-2_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-2_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-2_3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-3.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-2_4.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16-4.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u16.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-3_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-3_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-3_3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-3.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-3_4.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32-4.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u32.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-4_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-4_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-4.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u64.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-1_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-1_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-1_3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-3.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-1_4.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8-4.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-1-u8.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-6_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-6_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-6_3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16-3.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-6.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u16.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-15_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-15_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-7_3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32-3.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-7.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u32.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-8_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u64-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-16.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u64.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-5_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-5_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-5_3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8-3.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-5.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-2-u8.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-10_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-10_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-10.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u16.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-11_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-11_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-11.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u32.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-12.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u64.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-9_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-9_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-9.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-3-u8.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-14_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-14_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-14.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u16.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-7_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-7_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-15.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u32.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-8.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u64.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-13_1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-1.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-13_2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8-2.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-13.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-4-u8.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-2.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-1-u16.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-3.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-1-u32.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-4.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-1-u64.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-1.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-1-u8.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-6.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-2-u16.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-7.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-2-u32.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-8.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-2-u64.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-5.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-2-u8.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-10.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-3-u16.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-11.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-3-u32.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-12.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-3-u64.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-9.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-3-u8.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-14.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-4-u16.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-15.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-4-u32.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-16.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-4-u64.c: ...here. + * gcc.target/riscv/sat_u_sub_imm-run-13.c: Move to... + * gcc.target/riscv/sat/sat_u_sub_imm-run-4-u8.c: ...here. + +2024-11-15 Florian Weimer <fweimer@redhat.com> + + * gcc.dg/Wmissing-parameter-name-1.c: New test. + * gcc.dg/Wmissing-parameter-name-2.c: New test. + * gcc.dg/Wmissing-parameter-name-3.c: New test. + +2024-11-15 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat/sat_s_add-1-i16.c: Remove flto + dg-skip workaround and -O3 option. + * gcc.target/riscv/sat/sat_s_add-1-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-1-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-1-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-2-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-2-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-2-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-2-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-3-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-3-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-3-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-3-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-4-i16.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-4-i32.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-4-i64.c: Ditto. + * gcc.target/riscv/sat/sat_s_add-4-i8.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-1-1.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-1.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-2-1.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-2.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-3-1.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-3.c: Ditto. + * gcc.target/riscv/sat/sat_s_add_imm-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-1-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-4-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-5-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-5-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-5-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-5-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-6-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-6-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-6-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add-6-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-1-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-1-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-1-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-1-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-2-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-2-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-2-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-2-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-3-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-3-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-3-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-3-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-4-u16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-4-u32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-4-u64.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm-4-u8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-1.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-10.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-11.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-12.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-13.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-14.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-15.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-16.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-17.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-18.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-19.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-2.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-20.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-21.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-22.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-23.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-24.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-25.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-26.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-27.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-28.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-29.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-3.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-30.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-31.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-32.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-33.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-34.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-35.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-36.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-37.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-38.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-39.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-4.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-40.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-41.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-42.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-43.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-44.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-45.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-46.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-47.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-48.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-49.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-5.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-50.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-51.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-52.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-53.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-54.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-55.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-56.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-57.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-58.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-59.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-6.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-60.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-7.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-8.c: Ditto. + * gcc.target/riscv/sat/sat_u_add_imm_type_check-9.c: Ditto. + +2024-11-15 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/tree-ssa/pr116868.C: Change effective target from c++14 to + c++11. + * g++.dg/tree-ssa/pr96945.C: Likewise. + * g++.dg/tree-ssa/pr110819.C: Likewise. + +2024-11-15 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/dfp/c11-decimal64x-1.c: New test. + * gcc.dg/dfp/c11-decimal64x-2.c: New test. + * gcc.dg/dfp/c23-decimal64x-1.c: New test. + * gcc.dg/dfp/c23-decimal64x-2.c: New test. + * gcc.dg/dfp/c23-decimal64x-3.c: New test. + * gcc.dg/dfp/c23-decimal64x-4.c: New test. + +2024-11-15 Marek Polacek <polacek@redhat.com> + + * g++.dg/tree-ssa/pr58483.C: Run in C++11 and up. + +2024-11-15 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/riscv.exp: Add new folder sat under riscv + and add 5 options for each sat test. + * gcc.target/riscv/sat_s_add-1-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_add-1-i16.c: ...here. + * gcc.target/riscv/sat_s_add-1-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_add-1-i32.c: ...here. + * gcc.target/riscv/sat_s_add-1-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_add-1-i64.c: ...here. + * gcc.target/riscv/sat_s_add-1-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_add-1-i8.c: ...here. + * gcc.target/riscv/sat_s_add-2-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_add-2-i16.c: ...here. + * gcc.target/riscv/sat_s_add-2-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_add-2-i32.c: ...here. + * gcc.target/riscv/sat_s_add-2-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_add-2-i64.c: ...here. + * gcc.target/riscv/sat_s_add-2-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_add-2-i8.c: ...here. + * gcc.target/riscv/sat_s_add-3-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_add-3-i16.c: ...here. + * gcc.target/riscv/sat_s_add-3-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_add-3-i32.c: ...here. + * gcc.target/riscv/sat_s_add-3-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_add-3-i64.c: ...here. + * gcc.target/riscv/sat_s_add-3-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_add-3-i8.c: ...here. + * gcc.target/riscv/sat_s_add-4-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_add-4-i16.c: ...here. + * gcc.target/riscv/sat_s_add-4-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_add-4-i32.c: ...here. + * gcc.target/riscv/sat_s_add-4-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_add-4-i64.c: ...here. + * gcc.target/riscv/sat_s_add-4-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_add-4-i8.c: ...here. + * gcc.target/riscv/sat_s_add-run-1-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-1-i16.c: ...here. + * gcc.target/riscv/sat_s_add-run-1-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-1-i32.c: ...here. + * gcc.target/riscv/sat_s_add-run-1-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-1-i64.c: ...here. + * gcc.target/riscv/sat_s_add-run-1-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-1-i8.c: ...here. + * gcc.target/riscv/sat_s_add-run-2-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-2-i16.c: ...here. + * gcc.target/riscv/sat_s_add-run-2-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-2-i32.c: ...here. + * gcc.target/riscv/sat_s_add-run-2-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-2-i64.c: ...here. + * gcc.target/riscv/sat_s_add-run-2-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-2-i8.c: ...here. + * gcc.target/riscv/sat_s_add-run-3-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-3-i16.c: ...here. + * gcc.target/riscv/sat_s_add-run-3-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-3-i32.c: ...here. + * gcc.target/riscv/sat_s_add-run-3-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-3-i64.c: ...here. + * gcc.target/riscv/sat_s_add-run-3-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-3-i8.c: ...here. + * gcc.target/riscv/sat_s_add-run-4-i16.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-4-i16.c: ...here. + * gcc.target/riscv/sat_s_add-run-4-i32.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-4-i32.c: ...here. + * gcc.target/riscv/sat_s_add-run-4-i64.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-4-i64.c: ...here. + * gcc.target/riscv/sat_s_add-run-4-i8.c: Move to... + * gcc.target/riscv/sat/sat_s_add-run-4-i8.c: ...here. + * gcc.target/riscv/sat_s_add_imm-1-1.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-1-1.c: ...here. + * gcc.target/riscv/sat_s_add_imm-1.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-1.c: ...here. + * gcc.target/riscv/sat_s_add_imm-2-1.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-2-1.c: ...here. + * gcc.target/riscv/sat_s_add_imm-2.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-2.c: ...here. + * gcc.target/riscv/sat_s_add_imm-3-1.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-3-1.c: ...here. + * gcc.target/riscv/sat_s_add_imm-3.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-3.c: ...here. + * gcc.target/riscv/sat_s_add_imm-4.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-4.c: ...here. + * gcc.target/riscv/sat_s_add_imm-run-1.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-run-1.c: ...here. + * gcc.target/riscv/sat_s_add_imm-run-2.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-run-2.c: ...here. + * gcc.target/riscv/sat_s_add_imm-run-3.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-run-3.c: ...here. + * gcc.target/riscv/sat_s_add_imm-run-4.c: Move to... + * gcc.target/riscv/sat/sat_s_add_imm-run-4.c: ...here. + * gcc.target/riscv/sat_u_add-1-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-1-u16.c: ...here. + * gcc.target/riscv/sat_u_add-1-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-1-u32.c: ...here. + * gcc.target/riscv/sat_u_add-1-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-1-u64.c: ...here. + * gcc.target/riscv/sat_u_add-1-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-1-u8.c: ...here. + * gcc.target/riscv/sat_u_add-2-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-2-u16.c: ...here. + * gcc.target/riscv/sat_u_add-2-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-2-u32.c: ...here. + * gcc.target/riscv/sat_u_add-2-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-2-u64.c: ...here. + * gcc.target/riscv/sat_u_add-2-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-2-u8.c: ...here. + * gcc.target/riscv/sat_u_add-3-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-3-u16.c: ...here. + * gcc.target/riscv/sat_u_add-3-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-3-u32.c: ...here. + * gcc.target/riscv/sat_u_add-3-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-3-u64.c: ...here. + * gcc.target/riscv/sat_u_add-3-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-3-u8.c: ...here. + * gcc.target/riscv/sat_u_add-4-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-4-u16.c: ...here. + * gcc.target/riscv/sat_u_add-4-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-4-u32.c: ...here. + * gcc.target/riscv/sat_u_add-4-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-4-u64.c: ...here. + * gcc.target/riscv/sat_u_add-4-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-4-u8.c: ...here. + * gcc.target/riscv/sat_u_add-5-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-5-u16.c: ...here. + * gcc.target/riscv/sat_u_add-5-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-5-u32.c: ...here. + * gcc.target/riscv/sat_u_add-5-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-5-u64.c: ...here. + * gcc.target/riscv/sat_u_add-5-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-5-u8.c: ...here. + * gcc.target/riscv/sat_u_add-6-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-6-u16.c: ...here. + * gcc.target/riscv/sat_u_add-6-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-6-u32.c: ...here. + * gcc.target/riscv/sat_u_add-6-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-6-u64.c: ...here. + * gcc.target/riscv/sat_u_add-6-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-6-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-1-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-1-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-1-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-1-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-1-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-1-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-1-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-1-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-2-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-2-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-2-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-2-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-2-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-2-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-2-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-2-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-3-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-3-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-3-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-3-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-3-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-3-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-3-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-3-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-4-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-4-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-4-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-4-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-4-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-4-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-4-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-4-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-5-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-5-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-5-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-5-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-5-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-5-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-5-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-5-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-6-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-6-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-6-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-6-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-6-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-6-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-6-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add-run-6-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-1-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-1-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-1-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-1-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-1-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-1-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-1-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-1-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-2-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-2-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-2-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-2-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-2-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-2-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-2-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-2-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-3-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-3-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-3-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-3-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-3-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-3-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-3-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-3-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-4-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-4-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-4-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-4-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-4-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-4-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-4-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-4-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-1-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-1-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-1-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-1-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-1-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-1-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-1-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-1-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-2-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-2-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-2-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-2-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-2-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-2-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-2-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-2-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-3-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-3-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-3-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-3-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-3-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-3-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-3-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-3-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-4-u16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-4-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-4-u32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-4-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-4-u64.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-4-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-4-u8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm-run-4-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-1.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-1.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-10.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-10.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-11.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-11.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-12.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-12.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-13.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-13.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-14.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-14.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-15.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-15.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-16.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-16.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-17.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-17.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-18.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-18.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-19.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-19.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-2.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-2.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-20.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-20.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-21.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-21.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-22.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-22.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-23.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-23.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-24.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-24.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-25.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-25.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-26.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-26.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-27.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-27.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-28.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-28.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-29.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-29.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-3.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-3.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-30.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-30.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-31.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-31.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-32.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-32.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-33.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-33.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-34.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-34.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-35.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-35.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-36.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-36.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-37.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-37.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-38.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-38.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-39.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-39.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-4.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-4.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-40.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-40.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-41.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-41.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-42.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-42.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-43.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-43.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-44.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-44.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-45.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-45.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-46.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-46.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-47.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-47.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-48.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-48.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-49.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-49.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-5.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-5.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-50.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-50.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-51.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-51.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-52.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-52.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-53.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-53.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-54.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-54.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-55.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-55.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-56.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-56.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-57.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-57.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-58.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-58.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-59.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-59.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-6.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-6.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-60.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-60.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-7.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-7.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-8.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-8.c: ...here. + * gcc.target/riscv/sat_u_add_imm_type_check-9.c: Move to... + * gcc.target/riscv/sat/sat_u_add_imm_type_check-9.c: ...here. + * gcc.target/riscv/sat/sat_arith.h: New test. + * gcc.target/riscv/sat/sat_arith_data.h: New test. + * gcc.target/riscv/sat/scalar_sat_binary.h: New test. + * gcc.target/riscv/sat/scalar_sat_binary_run_xxx.h: New test. + +2024-11-15 Kewen Lin <linkw@linux.ibm.com> + + * gcc.target/powerpc/vcond-fp.c: New test. + +2024-11-14 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104819 + * gfortran.dg/null_actual_6.f90: New test. + +2024-11-14 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/namespace-7_a.C: New test. + * g++.dg/modules/namespace-7_b.C: New test. + +2024-11-14 Yury Khrustalev <yury.khrustalev@arm.com> + + * gcc.target/aarch64/gcs-nonlocal-3.c: New test. + * gcc.target/aarch64/sme/nonlocal_goto_4.c: Update. + * gcc.target/aarch64/sme/nonlocal_goto_5.c: Update. + * gcc.target/aarch64/sme/nonlocal_goto_6.c: Update. + +2024-11-14 Matthieu Longo <matthieu.longo@arm.com> + + * g++.target/aarch64/return_address_sign_ab_exception.C: Update. + * gcc.target/aarch64/eh_return.c: Update. + +2024-11-14 Richard Ball <richard.ball@arm.com> + Yury Khrustalev <yury.khrustalev@arm.com> + + * gcc.target/aarch64/indirect_return-1.c: New test. + * gcc.target/aarch64/indirect_return-2.c: New test. + * gcc.target/aarch64/indirect_return-3.c: New test. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add gcs specific + tests. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * gcc.target/aarch64/pragma_cpp_predefs_1.c: GCS test. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * gcc.target/aarch64/gcs-nonlocal-1.c: New test. + * gcc.target/aarch64/gcs-nonlocal-1-track-speculation.c: New test. + * gcc.target/aarch64/gcs-nonlocal-2.c: New test. + * gcc.target/aarch64/gcs-nonlocal-2-track-speculation.c: New test. + * gcc.target/aarch64/gcs-nonlocal-1.h: New header file. + * gcc.target/aarch64/gcs-nonlocal-2.h: New header file. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + Yury Khrustalev <yury.khrustalev@arm.com> + + * gcc.target/aarch64/acle/gcs-1.c: New test. + * gcc.target/aarch64/gcspopm-1.c: New test. + * gcc.target/aarch64/gcspr-1.c: New test. + * gcc.target/aarch64/gcsss-1.c: New test. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + Yury Khrustalev <yury.khrustalev@arm.com> + Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/acle/chkfeat-1.c: New test. + * gcc.target/aarch64/chkfeat-1.c: New test. + * gcc.target/aarch64/chkfeat-2.c: New test. + +2024-11-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add branch-protection + tests. + +2024-11-14 Jan Hubicka <hubicka@ucw.cz> + + * g++.dg/tree-ssa/dce-1.C: New test. + +2024-11-14 Jan Hubicka <hubicka@ucw.cz> + + * g++.dg/cdce3.C: Disable allocation dce. + * g++.dg/tree-ssa/pr19476-1.C: Likewise. + * g++.dg/tree-ssa/pr19476-2.C: Likewise. + * g++.dg/tree-ssa/pr19476-3.C: Likewise. + * g++.dg/tree-ssa/pr19476-4.C: Likewise. + * gcc.dg/analyzer/pr101837.c: Disable malloc dce. + * gcc.dg/tree-ssa/pr19831-3.c: Update. + * gfortran.dg/pr68078.f90: Disable malloc DCE. + +2024-11-14 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/ipa/ipcp-agg-1.c: Add a scan dump for a constant value in + the latice dump. + +2024-11-14 Jan Hubicka <hubicka@ucw.cz> + + PR tree-optimization/110819 + PR tree-optimization/116868 + PR tree-optimization/58483 + * g++.dg/tree-ssa/pr96945.C: cleanup + * g++.dg/tree-ssa/pr110819.C: New test. + * g++.dg/tree-ssa/pr116868.C: New test. + * g++.dg/tree-ssa/pr58483.C: New test. + +2024-11-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117567 + * gcc.dg/torture/pr117567.c: New testcase. + +2024-11-14 Eikansh Gupta <quic_eikagupt@quicinc.com> + + PR tree-optimization/109906 + * gcc.dg/tree-ssa/pr109906.c: New test. + +2024-11-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117556 + PR tree-optimization/117553 + * gcc.dg/vect/vect-live-slp-3.c: Expect us to SLP even for + VLA vectors (in single-lane mode). + +2024-11-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_s_add-2.c: Move to... + * gcc.target/riscv/sat_s_add-1-i16.c: ...here. + * gcc.target/riscv/sat_s_add-3.c: Move to... + * gcc.target/riscv/sat_s_add-1-i32.c: ...here. + * gcc.target/riscv/sat_s_add-4.c: Move to... + * gcc.target/riscv/sat_s_add-1-i64.c: ...here. + * gcc.target/riscv/sat_s_add-1.c: Move to... + * gcc.target/riscv/sat_s_add-1-i8.c: ...here. + * gcc.target/riscv/sat_s_add-6.c: Move to... + * gcc.target/riscv/sat_s_add-2-i16.c: ...here. + * gcc.target/riscv/sat_s_add-7.c: Move to... + * gcc.target/riscv/sat_s_add-2-i32.c: ...here. + * gcc.target/riscv/sat_s_add-8.c: Move to... + * gcc.target/riscv/sat_s_add-2-i64.c: ...here. + * gcc.target/riscv/sat_s_add-5.c: Move to... + * gcc.target/riscv/sat_s_add-2-i8.c: ...here. + * gcc.target/riscv/sat_s_add-10.c: Move to... + * gcc.target/riscv/sat_s_add-3-i16.c: ...here. + * gcc.target/riscv/sat_s_add-11.c: Move to... + * gcc.target/riscv/sat_s_add-3-i32.c: ...here. + * gcc.target/riscv/sat_s_add-12.c: Move to... + * gcc.target/riscv/sat_s_add-3-i64.c: ...here. + * gcc.target/riscv/sat_s_add-9.c: Move to... + * gcc.target/riscv/sat_s_add-3-i8.c: ...here. + * gcc.target/riscv/sat_s_add-14.c: Move to... + * gcc.target/riscv/sat_s_add-4-i16.c: ...here. + * gcc.target/riscv/sat_s_add-15.c: Move to... + * gcc.target/riscv/sat_s_add-4-i32.c: ...here. + * gcc.target/riscv/sat_s_add-16.c: Move to... + * gcc.target/riscv/sat_s_add-4-i64.c: ...here. + * gcc.target/riscv/sat_s_add-13.c: Move to... + * gcc.target/riscv/sat_s_add-4-i8.c: ...here. + * gcc.target/riscv/sat_s_add-run-2.c: Move to... + * gcc.target/riscv/sat_s_add-run-1-i16.c: ...here. + * gcc.target/riscv/sat_s_add-run-3.c: Move to... + * gcc.target/riscv/sat_s_add-run-1-i32.c: ...here. + * gcc.target/riscv/sat_s_add-run-4.c: Move to... + * gcc.target/riscv/sat_s_add-run-1-i64.c: ...here. + * gcc.target/riscv/sat_s_add-run-1.c: Move to... + * gcc.target/riscv/sat_s_add-run-1-i8.c: ...here. + * gcc.target/riscv/sat_s_add-run-6.c: Move to... + * gcc.target/riscv/sat_s_add-run-2-i16.c: ...here. + * gcc.target/riscv/sat_s_add-run-7.c: Move to... + * gcc.target/riscv/sat_s_add-run-2-i32.c: ...here. + * gcc.target/riscv/sat_s_add-run-8.c: Move to... + * gcc.target/riscv/sat_s_add-run-2-i64.c: ...here. + * gcc.target/riscv/sat_s_add-run-5.c: Move to... + * gcc.target/riscv/sat_s_add-run-2-i8.c: ...here. + * gcc.target/riscv/sat_s_add-run-10.c: Move to... + * gcc.target/riscv/sat_s_add-run-3-i16.c: ...here. + * gcc.target/riscv/sat_s_add-run-11.c: Move to... + * gcc.target/riscv/sat_s_add-run-3-i32.c: ...here. + * gcc.target/riscv/sat_s_add-run-12.c: Move to... + * gcc.target/riscv/sat_s_add-run-3-i64.c: ...here. + * gcc.target/riscv/sat_s_add-run-9.c: Move to... + * gcc.target/riscv/sat_s_add-run-3-i8.c: ...here. + * gcc.target/riscv/sat_s_add-run-14.c: Move to... + * gcc.target/riscv/sat_s_add-run-4-i16.c: ...here. + * gcc.target/riscv/sat_s_add-run-15.c: Move to... + * gcc.target/riscv/sat_s_add-run-4-i32.c: ...here. + * gcc.target/riscv/sat_s_add-run-16.c: Move to... + * gcc.target/riscv/sat_s_add-run-4-i64.c: ...here. + * gcc.target/riscv/sat_s_add-run-13.c: Move to... + * gcc.target/riscv/sat_s_add-run-4-i8.c: ...here. + * gcc.target/riscv/sat_u_add-2.c: Move to... + * gcc.target/riscv/sat_u_add-1-u16.c: ...here. + * gcc.target/riscv/sat_u_add-3.c: Move to... + * gcc.target/riscv/sat_u_add-1-u32.c: ...here. + * gcc.target/riscv/sat_u_add-4.c: Move to... + * gcc.target/riscv/sat_u_add-1-u64.c: ...here. + * gcc.target/riscv/sat_u_add-1.c: Move to... + * gcc.target/riscv/sat_u_add-1-u8.c: ...here. + * gcc.target/riscv/sat_u_add-6.c: Move to... + * gcc.target/riscv/sat_u_add-2-u16.c: ...here. + * gcc.target/riscv/sat_u_add-7.c: Move to... + * gcc.target/riscv/sat_u_add-2-u32.c: ...here. + * gcc.target/riscv/sat_u_add-8.c: Move to... + * gcc.target/riscv/sat_u_add-2-u64.c: ...here. + * gcc.target/riscv/sat_u_add-5.c: Move to... + * gcc.target/riscv/sat_u_add-2-u8.c: ...here. + * gcc.target/riscv/sat_u_add-10.c: Move to... + * gcc.target/riscv/sat_u_add-3-u16.c: ...here. + * gcc.target/riscv/sat_u_add-11.c: Move to... + * gcc.target/riscv/sat_u_add-3-u32.c: ...here. + * gcc.target/riscv/sat_u_add-12.c: Move to... + * gcc.target/riscv/sat_u_add-3-u64.c: ...here. + * gcc.target/riscv/sat_u_add-9.c: Move to... + * gcc.target/riscv/sat_u_add-3-u8.c: ...here. + * gcc.target/riscv/sat_u_add-14.c: Move to... + * gcc.target/riscv/sat_u_add-4-u16.c: ...here. + * gcc.target/riscv/sat_u_add-15.c: Move to... + * gcc.target/riscv/sat_u_add-4-u32.c: ...here. + * gcc.target/riscv/sat_u_add-16.c: Move to... + * gcc.target/riscv/sat_u_add-4-u64.c: ...here. + * gcc.target/riscv/sat_u_add-13.c: Move to... + * gcc.target/riscv/sat_u_add-4-u8.c: ...here. + * gcc.target/riscv/sat_u_add-18.c: Move to... + * gcc.target/riscv/sat_u_add-5-u16.c: ...here. + * gcc.target/riscv/sat_u_add-19.c: Move to... + * gcc.target/riscv/sat_u_add-5-u32.c: ...here. + * gcc.target/riscv/sat_u_add-20.c: Move to... + * gcc.target/riscv/sat_u_add-5-u64.c: ...here. + * gcc.target/riscv/sat_u_add-17.c: Move to... + * gcc.target/riscv/sat_u_add-5-u8.c: ...here. + * gcc.target/riscv/sat_u_add-22.c: Move to... + * gcc.target/riscv/sat_u_add-6-u16.c: ...here. + * gcc.target/riscv/sat_u_add-23.c: Move to... + * gcc.target/riscv/sat_u_add-6-u32.c: ...here. + * gcc.target/riscv/sat_u_add-24.c: Move to... + * gcc.target/riscv/sat_u_add-6-u64.c: ...here. + * gcc.target/riscv/sat_u_add-21.c: Move to... + * gcc.target/riscv/sat_u_add-6-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-2.c: Move to... + * gcc.target/riscv/sat_u_add-run-1-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-3.c: Move to... + * gcc.target/riscv/sat_u_add-run-1-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-4.c: Move to... + * gcc.target/riscv/sat_u_add-run-1-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-1.c: Move to... + * gcc.target/riscv/sat_u_add-run-1-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-6.c: Move to... + * gcc.target/riscv/sat_u_add-run-2-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-7.c: Move to... + * gcc.target/riscv/sat_u_add-run-2-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-8.c: Move to... + * gcc.target/riscv/sat_u_add-run-2-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-5.c: Move to... + * gcc.target/riscv/sat_u_add-run-2-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-10.c: Move to... + * gcc.target/riscv/sat_u_add-run-3-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-11.c: Move to... + * gcc.target/riscv/sat_u_add-run-3-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-12.c: Move to... + * gcc.target/riscv/sat_u_add-run-3-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-9.c: Move to... + * gcc.target/riscv/sat_u_add-run-3-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-14.c: Move to... + * gcc.target/riscv/sat_u_add-run-4-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-15.c: Move to... + * gcc.target/riscv/sat_u_add-run-4-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-16.c: Move to... + * gcc.target/riscv/sat_u_add-run-4-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-13.c: Move to... + * gcc.target/riscv/sat_u_add-run-4-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-18.c: Move to... + * gcc.target/riscv/sat_u_add-run-5-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-19.c: Move to... + * gcc.target/riscv/sat_u_add-run-5-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-20.c: Move to... + * gcc.target/riscv/sat_u_add-run-5-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-17.c: Move to... + * gcc.target/riscv/sat_u_add-run-5-u8.c: ...here. + * gcc.target/riscv/sat_u_add-run-22.c: Move to... + * gcc.target/riscv/sat_u_add-run-6-u16.c: ...here. + * gcc.target/riscv/sat_u_add-run-23.c: Move to... + * gcc.target/riscv/sat_u_add-run-6-u32.c: ...here. + * gcc.target/riscv/sat_u_add-run-24.c: Move to... + * gcc.target/riscv/sat_u_add-run-6-u64.c: ...here. + * gcc.target/riscv/sat_u_add-run-21.c: Move to... + * gcc.target/riscv/sat_u_add-run-6-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-2.c: Move to... + * gcc.target/riscv/sat_u_add_imm-1-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-3.c: Move to... + * gcc.target/riscv/sat_u_add_imm-1-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-4.c: Move to... + * gcc.target/riscv/sat_u_add_imm-1-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-1.c: Move to... + * gcc.target/riscv/sat_u_add_imm-1-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-6.c: Move to... + * gcc.target/riscv/sat_u_add_imm-2-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-7.c: Move to... + * gcc.target/riscv/sat_u_add_imm-2-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-8.c: Move to... + * gcc.target/riscv/sat_u_add_imm-2-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-5.c: Move to... + * gcc.target/riscv/sat_u_add_imm-2-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-10.c: Move to... + * gcc.target/riscv/sat_u_add_imm-3-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-11.c: Move to... + * gcc.target/riscv/sat_u_add_imm-3-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-12.c: Move to... + * gcc.target/riscv/sat_u_add_imm-3-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-9.c: Move to... + * gcc.target/riscv/sat_u_add_imm-3-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-14.c: Move to... + * gcc.target/riscv/sat_u_add_imm-4-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-15.c: Move to... + * gcc.target/riscv/sat_u_add_imm-4-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-16.c: Move to... + * gcc.target/riscv/sat_u_add_imm-4-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-13.c: Move to... + * gcc.target/riscv/sat_u_add_imm-4-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-2.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-1-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-3.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-1-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-4.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-1-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-1.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-1-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-6.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-2-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-7.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-2-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-8.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-2-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-5.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-2-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-10.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-3-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-11.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-3-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-12.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-3-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-9.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-3-u8.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-14.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-4-u16.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-15.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-4-u32.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-16.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-4-u64.c: ...here. + * gcc.target/riscv/sat_u_add_imm-run-13.c: Move to... + * gcc.target/riscv/sat_u_add_imm-run-4-u8.c: ...here. + +2024-11-14 Hongyu Wang <hongyu.wang@intel.com> + + PR target/117495 + * gcc.target/i386/pr117495.c: New test. + +2024-11-13 Jin Ma <jinma@linux.alibaba.com> + + PR target/116591 + * gcc.target/riscv/rvv/xtheadvector/pr116591.c: New test. + +2024-11-13 Filip Kastl <fkastl@suse.cz> + + PR target/56504 + * gcc.target/i386/vectorize-aocl1.c: New test. + +2024-11-13 Soumya AR <soumyaa@nvidia.com> + + PR target/57492 + * gcc.dg/tree-ssa/ldexp.c: New test. + * gcc.dg/tree-ssa/pow-to-ldexp.c: New test. + +2024-11-13 Yangyu Chen <cyy@cyyself.name> + + * g++.target/riscv/mv-symbols1.C: New test. + * g++.target/riscv/mv-symbols2.C: New test. + * g++.target/riscv/mv-symbols3.C: New test. + * g++.target/riscv/mv-symbols4.C: New test. + * g++.target/riscv/mv-symbols5.C: New test. + * g++.target/riscv/mvc-symbols1.C: New test. + * g++.target/riscv/mvc-symbols2.C: New test. + * g++.target/riscv/mvc-symbols3.C: New test. + * g++.target/riscv/mvc-symbols4.C: New test. + +2024-11-13 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/105054 + * gfortran.dg/ptr_func_assign_6.f08: New test. + +2024-11-13 Martin Uecker <uecker@tugraz.at> + + PR c/117059 + * gcc.dg/Wzero-as-null-pointer-constant.c: New test. + +2024-11-13 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/dfp/c11-constants-3.c: New test. + * gcc.dg/dfp/c11-constants-4.c: New test. + * gcc.dg/dfp/c23-constants-3.c: New test. + * gcc.dg/dfp/c23-constants-4.c: New test. + +2024-11-13 Jakub Jelinek <jakub@redhat.com> + + PR c/117029 + * gcc.dg/cpp/pr7263-3.c: Adjust expected diagnostic wording. + * gcc.dg/c23-imaginary-constants-1.c: New test. + * gcc.dg/c23-imaginary-constants-2.c: New test. + * gcc.dg/c23-imaginary-constants-3.c: New test. + * gcc.dg/c23-imaginary-constants-4.c: New test. + * gcc.dg/c23-imaginary-constants-5.c: New test. + * gcc.dg/c23-imaginary-constants-6.c: New test. + * gcc.dg/c23-imaginary-constants-7.c: New test. + * gcc.dg/c23-imaginary-constants-8.c: New test. + * gcc.dg/c23-imaginary-constants-9.c: New test. + * gcc.dg/c23-imaginary-constants-10.c: New test. + * gcc.dg/c2y-imaginary-constants-1.c: New test. + * gcc.dg/c2y-imaginary-constants-2.c: New test. + * gcc.dg/c2y-imaginary-constants-3.c: New test. + * gcc.dg/c2y-imaginary-constants-4.c: New test. + * gcc.dg/c2y-imaginary-constants-5.c: New test. + * gcc.dg/c2y-imaginary-constants-6.c: New test. + * gcc.dg/c2y-imaginary-constants-7.c: New test. + * gcc.dg/c2y-imaginary-constants-8.c: New test. + * gcc.dg/c2y-imaginary-constants-9.c: New test. + * gcc.dg/c2y-imaginary-constants-10.c: New test. + * gcc.dg/c2y-imaginary-constants-11.c: New test. + * gcc.dg/c2y-imaginary-constants-12.c: New test. + +2024-11-13 Soumya AR <soumyaa@nvidia.com> + + * gcc.target/aarch64/sve/fscale.c: New test. + +2024-11-13 xuli <xuli1@eswincomputing.com> + + PR target/117483 + * gcc.target/riscv/pr117483.c: New test. + +2024-11-13 Hu, Lin1 <lin1.hu@intel.com> + + PR target/117418 + * gcc.target/i386/pr117418-1.c: New test. + +2024-11-13 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-11-13 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> + + PR rtl-optimization/112398 + * gcc.target/riscv/pr112398.c: New test. + +2024-11-12 Yangyu Chen <cyy@cyyself.name> + + * gcc.target/riscv/target-attr-norelax.c: Fix testcase. + +2024-11-12 Pan Li <pan2.li@intel.com> + + Revert: + 2024-11-12 Pan Li <pan2.li@intel.com> + + * gcc.dg/tree-ssa/sat_u_add-simplify-1-u16.c: New test. + * gcc.dg/tree-ssa/sat_u_add-simplify-1-u32.c: New test. + * gcc.dg/tree-ssa/sat_u_add-simplify-1-u64.c: New test. + * gcc.dg/tree-ssa/sat_u_add-simplify-1-u8.c: New test. + +2024-11-12 Edwin Lu <ewlu@rivosinc.com> + + * g++.target/riscv/rvv/base/bug-10.C: Remove cstdalign header. + * g++.target/riscv/rvv/base/bug-11.C: Ditto. + * g++.target/riscv/rvv/base/bug-12.C: Ditto. + * g++.target/riscv/rvv/base/bug-13.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-2.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-4.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-7.C: Ditto. + * g++.target/riscv/rvv/base/bug-8.C: Ditto. + * g++.target/riscv/rvv/base/bug-9.C: Ditto. + +2024-11-12 Jan Hubicka <hubicka@ucw.cz> + + PR tree-optimization/96945 + * g++.dg/tree-ssa/pr96945.C: New test. + +2024-11-12 Andrew Carlotti <andrew.carlotti@arm.com> + + PR tree-optimization/112376 + * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expectation. + +2024-11-12 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macro. + * gcc.target/riscv/sat_s_add-run-5.c: Take form 2 for run test. + * gcc.target/riscv/sat_s_add-run-6.c: Ditto. + * gcc.target/riscv/sat_s_add-run-7.c: Ditto. + * gcc.target/riscv/sat_s_add-run-8.c: Ditto. + +2024-11-12 yulong <shiyulong@iscas.ac.cn> + + * gcc.target/riscv/target-attr-norelax.c: New file. + +2024-11-12 Kito Cheng <kito.cheng@sifive.com> + + * c-c++-common/ubsan/builtin-1.c: Update test case due to + sanitizer has change the error message. + +2024-11-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117417 + * gcc.dg/torture/pr117417.c: New testcase. + +2024-11-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117484 + * gcc.dg/vect/pr117484-1.c: New testcase. + * gcc.dg/vect/pr117484-2.c: Likewise. + +2024-11-12 Soumya AR <soumyaa@nvidia.com> + + * gcc.dg/tree-ssa/log_exp.c: New test. + +2024-11-11 Simon Martin <simon@nasilyan.com> + + PR c++/117463 + * g++.dg/init/new54.C: New test. + +2024-11-11 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/ext/builtin-operator-new-1.C: New test. + * g++.dg/ext/builtin-operator-new-2.C: New test. + * g++.dg/ext/builtin-operator-new-3.C: New test. + +2024-11-11 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/c2y-if-decls-1.c: Require target that supports atomic + operations on int and long types. + * gcc.dg/c2y-if-decls-11.c: Ditto. + * gcc.dg/c2y-if-decls-4.c: Ditto. + * gcc.dg/c2y-if-decls-8.c: Ditto. + +2024-11-11 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Remove + xfail from test. + +2024-11-11 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * gcc.target/aarch64/fp8_scalar_1.c: + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/pragma_cpp_predefs_3.c: Add SVE2p1 tests. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_1.c, + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_1.c, + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_2.c, + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_3.c, + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_4.c, + * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_5.c: + Adjust the "did you mean" suggestion. + * gcc.target/aarch64/sve/acle/general-c/ld1sh_gather_1.c: Removed. + * gcc.target/aarch64/sve/acle/general-c/extq_1.c: New test. + * gcc.target/aarch64/sve/acle/general-c/load_gather64_sv_index_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/load_gather64_sv_offset_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/pmov_from_vector_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/pmov_from_vector_lane_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/pmov_to_vector_lane_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/pmov_to_vector_lane_2.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/store_scatter64_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/store_scatter64_index_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/store_scatter64_offset_1.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/unary_lane_1.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/addqv_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/andqv_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/andqv_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/andqv_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/andqv_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/andqv_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/andqv_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/andqv_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/andqv_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dup_laneq_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/eorqv_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/eorqv_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/eorqv_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/eorqv_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/eorqv_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/eorqv_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/eorqv_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/eorqv_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/extq_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1udq_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1udq_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1udq_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1uwq_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1uwq_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1uwq_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld2q_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld3q_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld4q_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxnmqv_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxnmqv_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxnmqv_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/maxqv_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minnmqv_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minnmqv_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minnmqv_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/minqv_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/orqv_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/orqv_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/orqv_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/orqv_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/orqv_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/orqv_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/orqv_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/orqv_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmov_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmov_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmov_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmov_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmov_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmov_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmov_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pmov_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1dq_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1dq_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1dq_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1wq_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1wq_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1wq_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st2q_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st3q_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st4q_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tblq_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/tbxq_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq1_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/uzpq2_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq1_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/zipq2_u8.c: Likewise. + * gcc.target/aarch64/sve2/dupq_1.c: Likewise. + * gcc.target/aarch64/sve2/extq_1.c: Likewise. + * gcc.target/aarch64/sve2/uzpq_1.c: Likewise. + * gcc.target/aarch64/sve2/zipq_1.c: Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/clamp_3.c: New test. + * gcc.target/aarch64/sve/clamp_4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bfmlslb_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bfmlslb_lane_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bfmlslt_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/bfmlslt_lane_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/cntp_c16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/cntp_c32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/cntp_c64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/cntp_c8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dot_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dot_lane_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dot_lane_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dot_lane_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dot_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/dot_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_bf16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_bf16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_f16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_f16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_f32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_f32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_f64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_f64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_s16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_s16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_s32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_s32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_s64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_s64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_s8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_s8_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_u16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_u16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_u32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_u32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_u64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_u64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_u8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ld1_u8_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_bf16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_bf16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_f16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_f16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_f32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_f32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_f64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_f64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_s16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_s16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_s32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_s32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_s64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_s64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_s8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_s8_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_u16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_u16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_u32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_u32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_u64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_u64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_u8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1_u8_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pext_lane_c16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pext_lane_c16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pext_lane_c32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pext_lane_c32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pext_lane_c64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pext_lane_c64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pext_lane_c8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/pext_lane_c8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ptrue_c16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ptrue_c32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ptrue_c64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ptrue_c8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qcvtn_s16_s32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qcvtn_u16_s32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qcvtn_u16_u32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qrshrn_s16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qrshrn_u16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/qrshrun_u16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_bf16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_bf16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_f16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_f16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_f32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_f32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_f64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_f64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_s16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_s16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_s32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_s32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_s64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_s64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_s8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_s8_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_u16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_u16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_u32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_u32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_u64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_u64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_u8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/st1_u8_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_bf16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_bf16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_f16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_f16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_f32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_f32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_f64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_f64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_s16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_s16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_s32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_s32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_s64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_s64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_s8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_s8_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_u16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_u16_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_u32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_u32_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_u64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_u64_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_u8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1_u8_x4.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilege_b16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilege_b32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilege_b64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilege_b8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilege_c16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilege_c32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilege_c64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilege_c8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilegt_b16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilegt_b32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilegt_b64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilegt_b8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilegt_c16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilegt_c32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilegt_c64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilegt_c8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilele_b16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilele_b32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilele_b64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilele_b8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilele_c16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilele_c32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilele_c64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilele_c8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilelt_b16_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilelt_b32_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilelt_b64_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilelt_b8_x2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilelt_c16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilelt_c32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilelt_c64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/whilelt_c8.c: Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * lib/target-supports.exp + (check_effective_target_aarch64_asm_sve2p1_ok): New procedure. + * gcc.target/aarch64/sve/clamp_1.c: New test. + * gcc.target/aarch64/sve/clamp_2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/clamp_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/psel_lane_b16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/psel_lane_b32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/psel_lane_b64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/psel_lane_b8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/psel_lane_c16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/psel_lane_c32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/psel_lane_c64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/psel_lane_c8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_bf16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/revd_u8.c: Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/acle/general-c/create_5.c: Expect svcreate4 + to succeed for svbool_ts. + * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h + (TEST_UNDEF_B): New macro. + * gcc.target/aarch64/sve/acle/asm/create4_1.c: Test _b form. + * gcc.target/aarch64/sve/acle/asm/undef2_1.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/undef4_1.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/get4_b.c: New test. + * gcc.target/aarch64/sve/acle/asm/set4_b.c: Likewise. + * gcc.target/aarch64/sve/acle/general-c/svboolx4_1.c: Likewise. + +2024-11-11 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/acle/asm/dup_lane_bf16.c: Wrap the second + TBL operand in braces + * gcc.target/aarch64/sve/acle/asm/dup_lane_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_lane_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_bf16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/tbl_u8.c: Likewise. + * gcc.target/aarch64/sve/slp_perm_6.c: Likewise. + * gcc.target/aarch64/sve/slp_perm_7.c: Likewise. + * gcc.target/aarch64/sve/vec_perm_1.c: Likewise. + * gcc.target/aarch64/sve/vec_perm_const_1.c: Likewise. + * gcc.target/aarch64/sve/vec_perm_const_1_overrun.c: Likewise. + * gcc.target/aarch64/sve/vec_perm_const_single_1.c: Likewise. + * gcc.target/aarch64/sve/vec_perm_single_1.c: Likewise. + * gcc.target/aarch64/sve/uzp1_1.c: Shorten the scan-assembler-nots + to just "\ttbl\". + * gcc.target/aarch64/sve/uzp2_1.c: Likewise. + +2024-11-11 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/109345 + * gfortran.dg/character_workout_1.f90: Cut trailing whitespace. + * gfortran.dg/pr109345.f90: New test. + +2024-11-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117510 + * gcc.dg/vect/vect-outer-pr117510.c: New testcase. + +2024-11-11 Gaius Mulley <gaiusmod2@gmail.com> + + * gm2/iso/fail/badexpression3.mod: New test. + * gm2/iso/fail/badparam4.def: New test. + * gm2/iso/fail/badparam4.mod: New test. + +2024-11-11 Tomas Trnka <trnka@scm.com> + Paul Thomas <pault@gcc.gnu.org> + + PR fortran/116388 + * gfortran.dg/finalize_58.f90: New test. + +2024-11-11 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_41.f90: New test. + +2024-11-11 Haochen Jiang <haochen.jiang@intel.com> + + * g++.target/i386/mv16.C: Ditto. + * gcc.target/i386/funcspec-56.inc: Handle new march. + +2024-11-11 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx512bf16-truncsfbf.c: Add -ffast-math. + * gcc.target/i386/avx512bw-extendbf2sf.c: Ditto. + * gcc.target/i386/avx512bw-truncsfbf.c: Ditto. + * gcc.target/i386/sse2-extendbf2sf.c: Ditto. + * gcc.target/i386/ssse3-truncsfbf.c: Ditto. + +2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/117492 + * gcc.dg/torture/pr117492-1.c: New test. + +2024-11-09 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117496 + * gcc.dg/torture/pr117496-1.c: New test. + +2024-11-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + PR target/117408 + * gcc.target/arm/mve/pr117408-1.c: New test. + * gcc.target/arm/mve/pr117408-2.c: Likewise. + +2024-11-09 Martin Uecker <uecker@tugraz.at> + + PR c/116284 + PR c/117391 + * gcc.dg/pr116284.c: New test. + * gcc.dg/pr117391.c: New test. + +2024-11-08 Marek Polacek <polacek@redhat.com> + + PR c/117019 + * gcc.dg/c23-if-decls-1.c: New test. + * gcc.dg/c23-if-decls-2.c: New test. + * gcc.dg/c2y-if-decls-1.c: New test. + * gcc.dg/c2y-if-decls-2.c: New test. + * gcc.dg/c2y-if-decls-3.c: New test. + * gcc.dg/c2y-if-decls-4.c: New test. + * gcc.dg/c2y-if-decls-5.c: New test. + * gcc.dg/c2y-if-decls-6.c: New test. + * gcc.dg/c2y-if-decls-7.c: New test. + * gcc.dg/c2y-if-decls-8.c: New test. + * gcc.dg/c2y-if-decls-9.c: New test. + * gcc.dg/c2y-if-decls-10.c: New test. + * gcc.dg/c2y-if-decls-11.c: New test. + * gcc.dg/gnu2y-if-decls-1.c: New test. + * gcc.dg/gnu99-if-decls-1.c: New test. + * gcc.dg/gnu99-if-decls-2.c: New test. + +2024-11-08 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/bb-slp-77.c: Add x86_64-*-* and i?86-*-* to + the list of expected failing targets. + +2024-11-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/117317 + * g++.dg/cpp2a/pr117317-1.C: New test. + * g++.dg/cpp2a/pr117317-2.C: New test. + +2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/epilog-1.c: Use check-function-bodies. + +2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Richard Earnshaw <rearnsha@arm.com> + + * gcc.target/arm/pr68620.c: Use effective-target + arm_libc_fp_abi. + * lib/target-supports.exp: Define effective-target + arm_libc_fp_abi. + +2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/pr40457-2.c: Add vst1.32 as an allowed + instruction. + +2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/vect/pr84556.cc: Change from "dg-do run" with selector + to instead use dg-require-effective-target with the same + selector. + +2024-11-08 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect-early-break_21.c: Remove disabling of + x86_64 and i?86. + +2024-11-08 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.target/arm/mve/general-c++/nomve_fp_1.c: Use + effective-target arm_fp. + +2024-11-08 xuli <xuli1@eswincomputing.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: add data for vec sat_sub. + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: add unsigned imm vec sat_sub form1. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-4.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_imm-run-4.c: New test. + +2024-11-07 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme2/acle-asm/bfmlslb_f32.c: Replace bfmla* + with bfmls* + +2024-11-07 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme2/acle-asm/psel_lane_b16.c: Move to... + * gcc.target/aarch64/sme/acle-asm/psel_lane_b16.c: ...here. + * gcc.target/aarch64/sme2/acle-asm/psel_lane_b32.c: Move to... + * gcc.target/aarch64/sme/acle-asm/psel_lane_b32.c: ...here. + * gcc.target/aarch64/sme2/acle-asm/psel_lane_b64.c: Move to... + * gcc.target/aarch64/sme/acle-asm/psel_lane_b64.c: ...here. + * gcc.target/aarch64/sme2/acle-asm/psel_lane_b8.c: Move to... + * gcc.target/aarch64/sme/acle-asm/psel_lane_b8.c: ...here. + * gcc.target/aarch64/sme2/acle-asm/psel_lane_c16.c: Move to... + * gcc.target/aarch64/sme/acle-asm/psel_lane_c16.c: ...here. + * gcc.target/aarch64/sme2/acle-asm/psel_lane_c32.c: Move to... + * gcc.target/aarch64/sme/acle-asm/psel_lane_c32.c: ...here. + * gcc.target/aarch64/sme2/acle-asm/psel_lane_c64.c: Move to... + * gcc.target/aarch64/sme/acle-asm/psel_lane_c64.c: ...here. + * gcc.target/aarch64/sme2/acle-asm/psel_lane_c8.c: Move to... + * gcc.target/aarch64/sme/acle-asm/psel_lane_c8.c: ...here. + +2024-11-07 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme/clamp_3.c: Force sme2 + * gcc.target/aarch64/sme/clamp_4.c: Likewise. + * gcc.target/aarch64/sme/clamp_5.c: New test. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/85605 + * g++.dg/tree-ssa/ifcombine-ccmp-1.C: New test. + * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-7.c: New test. + * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-8.c: New test. + * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-9.c: New test. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117414 + * gcc.dg/tree-ssa/fre-predicated-4.c: New test. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117414 + * gcc.dg/tree-ssa/fre-predicated-3.c: New test. + +2024-11-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117414 + * gcc.dg/tree-ssa/fre-predicated-1.c: New test. + * gcc.dg/tree-ssa/fre-predicated-2.c: New test. + +2024-11-07 Jakub Jelinek <jakub@redhat.com> + + PR target/116725 + * gcc.target/i386/pr116725.c: Add dg-require-effective-target + avx512{dq,fp16,vl}. + +2024-11-07 Andrew Stubbs <ams@baylibre.com> + + * gcc.dg/gomp/max_vf-1.c: Add -mno-avx. + +2024-11-07 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/avx10_2-comibf-3.c: New test. + * gcc.target/i386/avx10_2-comibf-4.c: Likewise. + +2024-11-07 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/pr117304-1.c: Modify regexp. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/i386/no-callee-saved-13.c: Disable PIE on ia32. + * gcc.target/i386/no-callee-saved-14.c: Likewise. + * gcc.target/i386/no-callee-saved-15.c: Likewise. + * gcc.target/i386/no-callee-saved-17.c: Likewise. + * gcc.target/i386/pr100865-1.c: Likewise. + * gcc.target/i386/pr100865-7a.c: Likewise. + * gcc.target/i386/pr100865-7c.c: Likewise. + * gcc.target/i386/sse2-stv-1.c: Likewise. + +2024-11-07 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/i386/pr70321.c: Cope with non-bx get_pc_thunk. + +2024-11-07 xuli <xuli1@eswincomputing.com> + + * gcc.target/riscv/sat_arith.h: Support signed + imm SAT_ADD form1. + * gcc.target/riscv/sat_s_add_imm-1-1.c: New test. + * gcc.target/riscv/sat_s_add_imm-1.c: New test. + * gcc.target/riscv/sat_s_add_imm-2-1.c: New test. + * gcc.target/riscv/sat_s_add_imm-2.c: New test. + * gcc.target/riscv/sat_s_add_imm-3-1.c: New test. + * gcc.target/riscv/sat_s_add_imm-3.c: New test. + * gcc.target/riscv/sat_s_add_imm-4.c: New test. + * gcc.target/riscv/sat_s_add_imm-run-1.c: New test. + * gcc.target/riscv/sat_s_add_imm-run-2.c: New test. + * gcc.target/riscv/sat_s_add_imm-run-3.c: New test. + * gcc.target/riscv/sat_s_add_imm-run-4.c: New test. + +2024-11-06 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/avx10_2-comibf-2.c: Require avx10_2 target. + +2024-11-06 Alexey Merzlyakov <alexey.merzlyakov@samsung.com> + + PR rtl-optimization/112398 + * gcc.target/riscv/pr112398.c: New test. + +2024-11-06 Andrew Stubbs <ams@baylibre.com> + + * gcc.dg/gomp/max_vf-1.c: New test. + +2024-11-06 David Malcolm <dmalcolm@redhat.com> + + PR c++/63388 + * g++.dg/analyzer/infinite-recursion-pr63388.C: New test. + +2024-11-06 Jonathan Wakely <jwakely@redhat.com> + + * g++.old-deja/g++.other/headers1.C: Do not include ciso646 for + C++17 and later. + +2024-11-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/117439 + * g++.dg/opt/pr117439.C: New test. + +2024-11-06 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117434 + * gfortran.dg/proc_ptr_54.f90: New test. This is temporarily + compile-only until one one seven four five five is fixed. + * gfortran.dg/proc_ptr_55.f90: New test. + * gfortran.dg/proc_ptr_56.f90: New test. + +2024-11-06 Hu, Lin1 <lin1.hu@intel.com> + + PR target/117304 + * gcc.target/i386/pr117304-1.c: New test. + +2024-11-06 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/avx10_2-512-movrs-1.c: Also scan (%e.x). + * gcc.target/i386/avx10_2-movrs-1.c: Likewise. + * gcc.target/i386/movrs-1.c: Likewise. + +2024-11-06 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/apx-ndd.c: Also scan (%edi). + +2024-11-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/pr68620.c: Use effective-target arm_neon. + * gcc.target/arm/pr78041.c: Use effective-target arm_arch_v7a. + +2024-11-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + PR testsuite/116623 + * gcc.target/arm/mve/dlstp-compile-asm-2.c: Align test5 and + test8 with changes in r15-1619-g3b9b8d6cfdf. + +2024-11-05 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/pr98636.c: Use effective-target + arm_fp16_alternative. + +2024-11-05 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117449 + * gcc.c-torture/compile/pr117449.c: New test. + +2024-11-05 Peter Bergner <bergner@linux.ibm.com> + + PR testsuite/117444 + * gcc.target/powerpc/safe-indirect-jump-3.c: Add -fjump-tables to + dg-options. + +2024-11-05 Jason Merrill <jason@redhat.com> + + PR c++/116634 + * g++.dg/diagnostic/aggr-init1.C: Expect warning with -fpermissive. + * g++.dg/init/array62.C: Adjust diagnostic. + * g++.dg/init/array63.C: Adjust diagnostic. + * g++.dg/init/array64.C: Adjust diagnostic. + +2024-11-05 Simon Martin <simon@nasilyan.com> + + PR c++/117099 + PR c++/117129 + * g++.dg/parse/crash78.C: New test. + * g++.dg/parse/crash78a.C: New test. + * g++.dg/parse/crash79.C: New test. + +2024-11-05 Simon Martin <simon@nasilyan.com> + + PR c++/117101 + * g++.dg/init/new52.C: New test. + * g++.dg/init/new53.C: New test. + +2024-11-05 Simon Martin <simon@nasilyan.com> + + PR c++/117158 + * g++.dg/cpp1z/eval-order13.C: New test. + * g++.dg/parse/crash77.C: New test. + +2024-11-05 Di Zhao <dizhao@os.amperecomputing.com> + + PR tree-optimization/110279 + * gcc.dg/pr110279-1.c: add target selector. + +2024-11-05 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx512bw-extendbf2sf.c: New test. + * gcc.target/i386/sse2-extendbf2sf.c: New test. + +2024-11-05 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx512bf16-truncsfbf.c: New test. + * gcc.target/i386/avx512bw-truncsfbf.c: New test. + * gcc.target/i386/ssse3-truncsfbf.c: New test. + +2024-11-05 Hu, Lin1 <lin1.hu@intel.com> + + PR target/117416 + * gcc.target/i386/pr117416-1.c: New test. + * gcc.target/i386/pr117416-2.c: Ditto. + +2024-11-05 Richard Biener <rguenther@suse.de> + + PR middle-end/117433 + * gcc.dg/pr117433.c: New testcase. + +2024-11-05 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-comibf-1.c: New test. + * gcc.target/i386/avx10_2-comibf-2.c: Ditto. + +2024-11-05 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99274 + * g++.dg/modules/lambda-7.h: Skip ODR-violating declaration when + testing ODR deduplication. + * g++.dg/modules/lambda-7_b.C: Note we're testing ODR + deduplication. + * g++.dg/modules/default-arg-1_a.H: New test. + * g++.dg/modules/default-arg-1_b.C: New test. + * g++.dg/modules/default-arg-2_a.H: New test. + * g++.dg/modules/default-arg-2_b.C: New test. + * g++.dg/modules/default-arg-3.h: New test. + * g++.dg/modules/default-arg-3_a.H: New test. + * g++.dg/modules/default-arg-3_b.C: New test. + +2024-11-04 H.J. Lu <hjl.tools@gmail.com> + + PR testsuite/117300 + * g++.dg/simulate-thread/simulate-thread.exp: Set DEBUGINFOD_URLS + to "" and restore it if it exists. + * gcc.dg/simulate-thread/simulate-thread.exp: Likewise. + +2024-11-04 H.J. Lu <hjl.tools@gmail.com> + Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/117300 + * g++.dg/guality/guality.exp: Set DEBUGINFOD_URLS to "" and + restore it if it exists. + * gcc.dg/guality/guality.exp: Likewise. + * gfortran.dg/guality/guality.exp: Likewise. + +2024-11-04 Craig Blackmore <craig.blackmore@embecosm.com> + + * gcc.target/riscv/rvv/autovec/pr113469.c: Expect mf2 setmem. + * gcc.target/riscv/rvv/base/setmem-2.c: Update f1 to expect + straight-line vector memset. + * gcc.target/riscv/rvv/base/setmem-3.c: Likewise. + +2024-11-04 Craig Blackmore <craig.blackmore@embecosm.com> + + * gcc.target/riscv/rvv/base/setmem-3.c: Expect smaller lmul. + +2024-11-04 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: New test. + * jit.dg/test-convert-vector.c: New test. + +2024-11-04 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: Mention test-readonly.c. + * jit.dg/test-error-assign-readonly.c: New test. + * jit.dg/test-readonly.c: New test. + +2024-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/pr51534.c: Ensure -mfloat-abi=hard is used. + +2024-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/acle/data-intrinsics-assembly.c: Use + effective-target arm_arch_v6_arm. + +2024-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/vect-early-break-cbranch.c: Ignore exact + branch. + +2024-11-04 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/armv8_2-fp16-neon-2.c: Expect 3 vdup.16 q* r* + when in arm_hf_eabi else 2. + +2024-11-04 Antoni Boucher <bouanto@zoho.com> + + PR target/116725 + * gcc.target/i386/pr116725.c: Add test using those AVX builtins. + +2024-11-04 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/117398 + * gcc.dg/pr117398.c: New. + +2024-11-04 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/specs/array7.ads: New test. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * gcc.target/aarch64/rot_to_bswap.c: New test. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * gcc.target/aarch64/rotate_xar_1.c: New test. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * gcc.target/aarch64/vec-rot-exec.c: New test. + * gcc.target/aarch64/simd/pr117048_2.c: New test. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117048 + * gcc.target/aarch64/simd/pr117048.c: New test. + +2024-11-04 Kyrylo Tkachov <ktkachov@nvidia.com> + + * gcc.target/aarch64/xar_neon_modes.c: New test. + * gcc.target/aarch64/xar_v2di_nonsve.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/xar_s16.c: Scan for EOR rather than + XAR. + * gcc.target/aarch64/sve2/acle/asm/xar_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/xar_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/xar_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/xar_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/xar_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/xar_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/xar_u8.c: Likewise. + +2024-11-03 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117363 + * gcc.dg/torture/pr117363-1.c: New test. + * gcc.dg/torture/pr117363-2.c: New test. + +2024-11-03 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/115700 + * gfortran.dg/associate_69.f90: Remove the test that produces a + variable string length because the optimized count depends on + the platform. This is tested in associate_70.f90. + +2024-11-02 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/pr116887.c: Require effective target fpic. + +2024-11-02 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.dg/pr117245.c: Require effective target with trampolines. + +2024-11-02 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_39.f90: New test. + +2024-11-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117384 + * c-c++-common/init-7.c: New test. + +2024-11-02 Nathaniel Shead <nathanieloshead@gmail.com> + Jason Merrill <jason@redhat.com> + + PR c++/113814 + * g++.dg/modules/partial-6.h: New test. + * g++.dg/modules/partial-6_a.H: New test. + * g++.dg/modules/partial-6_b.H: New test. + * g++.dg/modules/partial-6_c.C: New test. + +2024-11-02 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116317 + * g++.dg/modules/late-ret-4_a.H: New test. + * g++.dg/modules/late-ret-4_b.C: New test. + +2024-11-02 Jeff Law <jlaw@ventanamicro.com> + + * lib/target-supports.exp (check_effective_target_trampolines): ft32 + does not support trampolines. + +2024-11-01 Andrew MacLeod <amacleod@redhat.com> + + * g++.dg/cpp23/attr-assume-opt.C (f2b): Alternate flow test. + +2024-11-01 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/117287 + * g++.dg/cpp23/pr117287-attr.C: New. + +2024-11-01 Jakub Jelinek <jakub@redhat.com> + + PR c++/114461 + * g++.dg/modules/cpp-7.C: New test. + * g++.dg/modules/cpp-8.C: New test. + * g++.dg/modules/cpp-9.C: New test. + * g++.dg/modules/cpp-10.C: New test. + * g++.dg/modules/cpp-11.C: New test. + * g++.dg/modules/cpp-12.C: New test. + * g++.dg/modules/cpp-13.C: New test. + * g++.dg/modules/cpp-14.C: New test. + * g++.dg/modules/cpp-15.C: New test. + * g++.dg/modules/cpp-16.C: New test. + * g++.dg/modules/cpp-17.C: New test. + * g++.dg/modules/cpp-18.C: New test. + * g++.dg/modules/cpp-19.C: New test. + * g++.dg/modules/cpp-20.C: New test. + * g++.dg/modules/pmp-4.C: New test. + * g++.dg/modules/pmp-5.C: New test. + * g++.dg/modules/pmp-6.C: New test. + * g++.dg/modules/token-6.C: New test. + * g++.dg/modules/token-7.C: New test. + * g++.dg/modules/token-8.C: New test. + * g++.dg/modules/token-9.C: New test. + * g++.dg/modules/token-10.C: New test. + * g++.dg/modules/token-11.C: New test. + * g++.dg/modules/token-12.C: New test. + * g++.dg/modules/token-13.C: New test. + * g++.dg/modules/token-14.C: New test. + * g++.dg/modules/token-15.C: New test. + * g++.dg/modules/token-16.C: New test. + * g++.dg/modules/dir-only-3.C: Expect an error. + * g++.dg/modules/dir-only-4.C: Expect an error. + * g++.dg/modules/dir-only-5.C: New test. + * g++.dg/modules/atom-preamble-2_a.C: In export module malcolm; + replace malcolm with kevin. Don't define malcolm macro. + * g++.dg/modules/atom-preamble-4.C: Expect an error. + * g++.dg/modules/atom-preamble-5.C: New test. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/cmpccxadd-1b.c: New test. + +2024-11-01 Xi Ruoyao <xry111@xry111.site> + + * gcc.c-torture/execute/builtin-prefetch-1.c (rws): Use + "read_shared" instead of "read-shared" as the identifier for + enum value. + * gcc.dg/builtin-prefetch-1.c (rws): Likewise. + +2024-11-01 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/jump-table-annotate.c + (dg-additional-options): Add -O. + +2024-11-01 Simon Martin <simon@nasilyan.com> + + PR c++/101887 + * g++.dg/init/delete5.C: Add testcase from PR c++/101887. + +2024-11-01 Xi Ruoyao <xry111@xry111.site> + + PR target/116887 + * gcc.dg/pr116887.c: New test. + +2024-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_38.f90: Add -pedantic and adjust error + message. + * gfortran.dg/unsigned_40.f90: New test. + +2024-11-01 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/gomp/declare-variant-10.C: New test. + +2024-11-01 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/115700 + * gfortran.dg/associate_69.f90: Activate commented out tests. + * gfortran.dg/associate_70.f90: Test correct functioning of + references in associate_69.f90 tests. + +2024-11-01 Hu, Lin1 <lin1.hu@intel.com> + + * g++.dg/other/i386-2.C: Add -mamx-movrs. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/amx-check.h: Add new check for amx-movrs. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mamx-movrs. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add amx-movrs. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp (check_effective_target_amx_movrs): New. + * gcc.target/i386/amxmovrs-asmatt-1.c: New test. + * gcc.target/i386/amxmovrs-asmintel-1.c: Ditto. + * gcc.target/i386/amxmovrs-t2rpntlvw-2.c: Ditto. + * gcc.target/i386/amxmovrs-tileloaddrs-2.c: Ditto. + +2024-11-01 Hu, Lin1 <lin1.hu@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * g++.dg/other/i386-2.C: Add -mmovrs. + * g++.dg/other/i386-3.C: Ditto. + * gcc.c-torture/execute/builtin-prefetch-1.c: Expand rws. + * gcc.dg/builtin-prefetch-1.c: Ditto. + * gcc.target/i386/avx-1.c: Ditto. + * gcc.target/i386/avx-2.c: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mmovrs. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add movrs. + * gcc.target/i386/sse-23.c: Ditto + * gcc.target/i386/avx10_2-512-movrs-1.c: New test. + * gcc.target/i386/avx10_2-movrs-1.c: Ditto. + * gcc.target/i386/movrs-1.c: Ditto. + +2024-11-01 Liwei Xu <liwei.xu@intel.com> + Hu, Lin1 <lin1.hu@intel.com> + + * g++.dg/other/i386-2.C: Add -mamx-fp8. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/amx-check.h: Check for amx-fp8. + * gcc.target/i386/amx-helper.h: Ditto. + * gcc.target/i386/fp8-helper.h: Ditto. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mamx-fp8. + * 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. + * lib/target-supports.exp: New proc. + * gcc.target/i386/amxfp8-asmatt-1.c: New test. + * gcc.target/i386/amxfp8-asmintel-1.c: Ditto. + * gcc.target/i386/amxfp8-dpbf8ps-2.c: Ditto. + * gcc.target/i386/amxfp8-dpbhf8ps-2.c: Ditto. + * gcc.target/i386/amxfp8-dphbf8ps-2.c: Ditto. + * gcc.target/i386/amxfp8-dphf8ps-2.c: Ditto. + * gcc.target/i386/fp-emulation.h: Emulates NaN behaviour. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * g++.dg/other/i386-2.C: Add -mamx-transpose. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/amx-check.h: Add new check for amx-transpose. + (__tilepair): New. + (zero_pair_tile_src): New. + (check_pair_tile_register): New. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/amx-helper.h: Add amx-transpose support. + (init_pair_tile_src): New function. + * gcc.target/i386/sse-12.c: Add -mamx-tranpose. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add amx-transpose. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp (check_effective_target_amx_transposed): New. + * gcc.target/i386/amxtranspose-asmatt-1.c: New test. + * gcc.target/i386/amxtranspose-asmintel-1.c: Ditto. + * gcc.target/i386/amxtranspose-2rpntlvw-2.c: Ditto. + * gcc.target/i386/amxtranspose-conjtcmmimfp16ps-2.c: Ditto. + * gcc.target/i386/amxtranspose-conjtfp16-2.c: Ditto. + * gcc.target/i386/amxtranspose-tcmmimfp16ps-2.c: Ditto. + * gcc.target/i386/amxtranspose-tcmmrlfp16ps-2.c: Ditto. + * gcc.target/i386/amxtranspose-tdpbf16ps-2.c: Ditto. + * gcc.target/i386/amxtranspose-tdpfp16ps-2.c: Ditto. + * gcc.target/i386/amxtranspose-tmmultf32ps-2.c: Ditto. + * gcc.target/i386/amxtranspose-transposed-2.c: Ditto. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * g++.dg/other/i386-2.C: Add -mamx-tf32. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/amx-check.h: Add cpu check for AMX-TF32. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mamx-tf32. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add amx-tf32. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp (check_effective_target_amx_tf32): New. + * gcc.target/i386/amx-helper.h: New file for tf32 support. + * gcc.target/i386/amxtf32-asmatt-1.c: New test. + * gcc.target/i386/amxtf32-asmintel-1.c: Ditto. + * gcc.target/i386/amxtf32-mmultf32ps-2.c: Ditto. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + Yu, Bing <bing1.yu@intel.com> + + * g++.dg/other/i386-2.C: Add -mamx-avx512. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/amx-check.h: Add cpu check for AMX-AVX512. + * gcc.target/i386/amx-helper.h: Support amx-avx512. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * gcc.target/i386/sse-12.c: Add -mamx-avx512. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add amx-avx512. + * gcc.target/i386/sse-23.c: Ditto. + * lib/target-supports.exp (check_effective_target_amx_avx512): New. + * gcc.target/i386/amxavx512-asmatt-1.c: New test. + * gcc.target/i386/amxavx512-asmintel-1.c: Ditto. + * gcc.target/i386/amxavx512-cvtrowd2ps-2.c: Ditto. + * gcc.target/i386/amxavx512-cvtrowps2pbf16-2.c: Ditto. + * gcc.target/i386/amxavx512-cvtrowps2ph-2.c: Ditto. + * gcc.target/i386/amxavx512-movrow-2.c: Ditto. + +2024-11-01 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/sm4-check.h: Add zmm test. + * gcc.target/i386/sm4-avx10_2-1.c: New test. + * gcc.target/i386/sm4-avx10_2-512-1.c: Ditto. + * gcc.target/i386/sm4key4-avx10_2-512-2.c: Ditto. + * gcc.target/i386/sm4rnds4-avx10_2-512-2.c: Ditto. + +2024-11-01 Sam James <sam@gentoo.org> + + PR debug/15736 + PR debug/46240 + * g++.dg/debug/pr15736.cc: Move to... + * g++.dg/debug/pr15736.C: ...here. + * g++.dg/debug/pr46240.cc: Move to... + * g++.dg/debug/pr46240.C: ...here. + +2024-11-01 Sam James <sam@gentoo.org> + + PR tree-optimization/111520 + * g++.dg/torture/harden-comp-pr111520.cc: Move to... + * g++.dg/torture/harden-comp-pr111520.C: ...here. + +2024-11-01 Sam James <sam@gentoo.org> + + PR c++/90313 + * g++.dg/torture/pr90313.cc: Move to... + * g++.dg/torture/pr90313.C: ...here. + +2024-11-01 Sam James <sam@gentoo.org> + + PR target/66655 + * g++.dg/pr66655.C: Adjust filename in dg-additional-sources. + +2024-10-31 Sam James <sam@gentoo.org> + + PR target/66655 + * g++.dg/pr66655_1.cc: Move to... + * g++.dg/pr66655_1.C: ...here. + +2024-10-31 Sam James <sam@gentoo.org> + + PR other/42965 + * g++.dg/warn/unused-result1-Werror.c: Move to... + * g++.dg/warn/unused-result1-Werror.C: ...here. + +2024-10-31 Sam James <sam@gentoo.org> + + PR tree-optimization/105820 + * g++.dg/tree-ssa/pr105820.c: Move to... + * g++.dg/tree-ssa/pr105820.C: ...here. + +2024-10-31 Sam James <sam@gentoo.org> + + PR target/47333 + * g++.dg/lto/pr47333_0.C: Move to... + * g++.dg/torture/pr47333.C: ...here. + +2024-10-31 Sam James <sam@gentoo.org> + + PR c++/95677 + * g++.dg/lto/pr95677_0.C: Move to... + * g++.dg/torture/pr95677.C: ...here. + +2024-10-31 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/acle/general/amin_1.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amax_f16.c: Enabled sve2 and + (for streaming mode) sme2. + * gcc.target/aarch64/sve2/acle/asm/amax_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/amax_f64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/amin_f16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/amin_f32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/amin_f64.c: Likewise. + +2024-10-31 Richard Sandiford <richard.sandiford@arm.com> + + * g++.target/aarch64/sve/aarch64-ssve.exp: Add tests for trn[12]q, + uzp[12].c, and zip[12]q. + * gcc.target/aarch64/sve/acle/asm/trn1q_bf16.c: Skip for + STREAMING_COMPATIBLE. + * gcc.target/aarch64/sve/acle/asm/trn1q_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn1q_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_bf16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/trn2q_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_bf16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp1q_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_bf16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/uzp2q_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_bf16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip1q_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_bf16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_s16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_s32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_s64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_u16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_u32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_u64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/zip2q_u8.c: Likewise. + +2024-10-31 Sam James <sam@gentoo.org> + + PR testsuite/117183 + * gcc.dg/c23-constexpr-2a.c: Use dg-do run. + +2024-10-31 Martin Uecker <uecker@tugraz.at> + + PR c/117145 + PR c/117245 + PR c/100420 + * gcc.dg/c23-tag-composite-11.c: New test. + * gcc.dg/Warray-parameter-4.c: Resolve xfails. + * gcc.dg/Wvla-parameter-2.c: Resolve xfails. + * gcc.dg/Wvla-parameter-3.c: Resolve xfails. + * gcc.dg/pr117145-1.c: New test. + * gcc.dg/pr117145-2.c: New test. + * gcc.dg/pr117245.c: New test. + +2024-10-31 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/pr114115.c (foo_ifunc2): Return void. + +2024-10-31 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/simulate-thread/simulate-thread.h + (simulate_thread_wrapper_final_verify): Mark noinline. + +2024-10-31 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.target/riscv/rvv/autovec/slp-interleave-5.c: New test. + +2024-10-31 Craig Blackmore <craig.blackmore@embecosm.com> + + * gcc.target/riscv/rvv/base/cpymem-1.c: Fix and rework f3. + +2024-10-31 Sam James <sam@gentoo.org> + + PR middle-end/90348 + PR tree-optimization/106073 + * gcc.dg/pr106073.c: New test. + +2024-10-31 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/117176 + * gcc.dg/vect/vect-early-break_130-pr117176.c: New test. + +2024-10-31 Tobias Burnus <tburnus@baylibre.com> + + * g++.dg/gomp/declare-variant-9.C: New test. + +2024-10-31 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117354 + * gcc.dg/bitint-113.c: New test. + +2024-10-31 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/115700 + * gfortran.dg/associate_70.f90: New test. + +2024-10-31 Sam James <sam@gentoo.org> + + PR middle-end/92936 + * gcc.dg/Wstringop-overflow-59.c: Fix dg-* syntax. + +2024-10-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> + + * gcc.dg/vect/bb-slp-77.c: New test. + +2024-10-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> + + * g++.dg/alias-checks.C: New test. + +2024-10-30 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/builtin-stdc-bit-3.c: New test. + * gcc.dg/builtin-stdc-rotate-3.c: New test. + +2024-10-30 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/116607 + * g++.dg/contracts/pr116607.C: New test. + +2024-10-30 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr117318.c: New test. + +2024-10-30 Jakub Jelinek <jakub@redhat.com> + + PR target/117296 + * gcc.target/i386/pr117296.c: New test. + +2024-10-30 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/117335 + * gfortran.dg/pr115070.f90: Delete. + * gfortran.dg/ieee/pr115070.f90: Moved to ieee directory to + prevent failures on incompatible architectures. + +2024-10-30 Jakub Jelinek <jakub@redhat.com> + + PR c/117021 + * gcc.dg/switch-6.c: Expect different diagnostics. Add -std=gnu23 + to dg-options. + * gcc.dg/switch-7.c: Expect different diagnostics. Add -std=c23 + to dg-options. + * gcc.dg/gnu23-switch-1.c: New test. + * gcc.dg/gnu23-switch-2.c: New test. + * gcc.dg/c23-switch-1.c: New test. + * gcc.dg/c2y-switch-1.c: New test. + * gcc.dg/c2y-switch-2.c: New test. + * gcc.dg/c2y-switch-3.c: New test. + +2024-10-30 Haochen Jiang <haochen.jiang@intel.com> + + PR target/117301 + * lib/target-supports.exp (check_effective_target_avx10_2): + Use inline asm instead of intrin for check_effective_target. + (check_effective_target_avx10_2_512): Ditto. + +2024-10-30 xuli <xuli1@eswincomputing.com> + + * gcc.target/riscv/sat_u_sub_imm-run-5.c: add run case for imm=1. + * gcc.target/riscv/sat_u_sub_imm-run-6.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-run-7.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-run-8.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-5_3.c: New test. + * gcc.target/riscv/sat_u_sub_imm-6_3.c: New test. + * gcc.target/riscv/sat_u_sub_imm-7_3.c: New test. + * gcc.target/riscv/sat_u_sub_imm-8_1.c: New test. + +2024-10-30 xuli <xuli1@eswincomputing.com> + + * gcc.dg/tree-ssa/phi-opt-44.c: New test. + * gcc.dg/tree-ssa/phi-opt-45.c: New test. + +2024-10-29 Andi Kleen <ak@gcc.gnu.org> + + Revert: + 2024-10-29 Andi Kleen <ak@gcc.gnu.org> + + * gcc.dg/tree-ssa/if-to-switch-6.c: Allow condition chain. + * gcc.dg/tree-ssa/switch-1.c: Allow more bit tests. + * gcc.dg/pr21643.c: Use -fno-bit-tests + * gcc.target/aarch64/pr99988.c: Use -fno-bit-tests + +2024-10-29 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc.dg/plugin/analyzer_cpython_plugin.c (dump_refcnt_info): + Update for global_dc's m_printer becoming reference printer. + * gcc.dg/plugin/crash-test-ice-in-header-sarif-2.2.c: Replace usage + of -fdiagnostics-format=sarif-file-2.2-prerelease with + -fdiagnostics-set-output=sarif:version=2.2-prerelease. + * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Update for + global_dc's m_printer becoming reference printer. + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Update for + changes to output formats. + * gcc.dg/plugin/expensive_selftests_plugin.c: Update for + global_dc's m_printer becoming reference printer. + * gcc.dg/sarif-output/add-output-sarif-defaults.c: New test. + * gcc.dg/sarif-output/bad-binary-op.c: New test. + * gcc.dg/sarif-output/bad-binary-op.py: New support script. + * gcc.dg/sarif-output/multiple-outputs.c: New test. + * gcc.dg/sarif-output/multiple-outputs.py: New support script. + * lib/scansarif.exp (verify-sarif-file): Add an optional second + argument specifying the expected filename of the .sarif file. + +2024-10-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/117346 + * gcc.target/aarch64/imm_choice_comparison-1.c: New test. + +2024-10-29 Andi Kleen <ak@gcc.gnu.org> + + * gcc.dg/tree-ssa/if-to-switch-6.c: Allow condition chain. + * gcc.dg/tree-ssa/switch-1.c: Allow more bit tests. + * gcc.dg/pr21643.c: Use -fno-bit-tests + * gcc.target/aarch64/pr99988.c: Use -fno-bit-tests + +2024-10-29 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.c-torture/execute/20241029-1.c: New test. + +2024-10-29 Jakub Jelinek <jakub@redhat.com> + + PR c/117313 + * c-c++-common/init-6.c: New test. + +2024-10-29 Jason Merrill <jason@redhat.com> + + PR c++/30854 + PR c++/116634 + * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: Adjust + diagnostic. + * g++.dg/diagnostic/aggr-init1.C: New test. + +2024-10-29 Co-Authored-By: Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/attribute-15.c: Add _zmmul1p0 to arch string. + * gcc.target/riscv/attribute-16.c: Ditto. + * gcc.target/riscv/attribute-17.c: Ditto. + * gcc.target/riscv/attribute-18.c: Ditto. + * gcc.target/riscv/attribute-19.c: Ditto. + * gcc.target/riscv/pr110696.c: Ditto. + * gcc.target/riscv/target-attr-01.c: Ditto. + * 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-08.c: Ditto. + * gcc.target/riscv/target-attr-11.c: Ditto. + * gcc.target/riscv/target-attr-14.c: Ditto. + * gcc.target/riscv/target-attr-15.c: Ditto. + * gcc.target/riscv/target-attr-16.c: Ditto. + * gcc.target/riscv/rvv/base/pr114352-1.c: Likewise. + * gcc.target/riscv/rvv/base/pr114352-3.c: Likewise. + * gcc.dg/pr90838.c: Fix search string for rv64. + +2024-10-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117341 + * g++.dg/torture/pr117341-1.C: New test. + +2024-10-29 yulong <shiyulong@iscas.ac.cn> + + * gcc.target/riscv/cmo-32.c: New test. + * gcc.target/riscv/cmo-64.c: New test. + +2024-10-29 Pan Li <pan2.li@intel.com> + Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/rvv.exp: Add strided folder. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f16.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f32.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i16.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i32.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i8.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u16.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u32.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u8.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-f16.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-f32.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-f64.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-i16.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-i32.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-i64.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-i8.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-u16.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-u32.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-u64.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-run-1-u8.c: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st.h: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st_data.h: New test. + * gcc.target/riscv/rvv/autovec/strided/strided_ld_st_run.h: New test. + +2024-10-29 Pan Li <pan2.li@intel.com> + Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: + Adjust IR for MASK_LEN_LOAD check. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-1.c: + Ditto but for store. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-2.c: + Ditto. + +2024-10-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117333 + * gcc.dg/torture/pr117333.c: New testcase. + +2024-10-29 Alfie Richards <Alfie.Richards@arm.com> + Christophe Lyon <christophe.lyon@arm.com> + + * gcc.target/arm/pr112337.c: Call intrinsic instead of builtin. + +2024-10-29 Alfie Richards <Alfie.Richards@arm.com> + + * gcc.target/arm/mve/intrinsics/vst1q_p_f16.c: Remove `return`. + * gcc.target/arm/mve/intrinsics/vst1q_p_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst1q_p_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst1q_p_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst1q_p_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst1q_p_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst1q_p_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst1q_p_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst2q_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst2q_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst2q_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst2q_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst2q_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst2q_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst2q_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst2q_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst4q_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst4q_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst4q_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst4q_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst4q_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst4q_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst4q_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vst4q_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrbq_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrhq_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c: + Likewise. + * gcc.target/arm/mve/intrinsics/vstrwq_u32.c: Likewise. + +2024-10-29 Jakub Jelinek <jakub@redhat.com> + + PR c/117030 + * gcc.dg/builtin-stdc-rotate-1.c: New test. + * gcc.dg/builtin-stdc-rotate-2.c: New test. + * gcc.dg/ubsan/builtin-stdc-rotate-1.c: New test. + * gcc.dg/ubsan/builtin-stdc-rotate-2.c: New test. + +2024-10-28 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/sarif-output/test-bad-pragma.py: Rename to... + * gcc.dg/sarif-output/bad-pragma.py: ...this. + * gcc.dg/sarif-output/bad-pragma.c: Update for script renaming. + * gcc.dg/sarif-output/test-include-chain-1.py: Rename to... + * gcc.dg/sarif-output/include-chain-1.py: ...this. + * gcc.dg/sarif-output/include-chain-1.c: Update for script renaming. + * gcc.dg/sarif-output/test-include-chain-2.py: Rename to... + * gcc.dg/sarif-output/include-chain-2.py: ...this. + * gcc.dg/sarif-output/include-chain-2.c: Update for script renaming. + * gcc.dg/sarif-output/test-missing-semicolon.py: Rename to... + * gcc.dg/sarif-output/missing-semicolon.py: ...this. + * gcc.dg/sarif-output/missing-semicolon.c: Update for script renaming. + * gcc.dg/sarif-output/test-no-diagnostics.py: Rename to... + * gcc.dg/sarif-output/no-diagnostics.py: ...this. + * gcc.dg/sarif-output/no-diagnostics.c: Update for script renaming. + * gcc.dg/sarif-output/test-werror.py: Rename to... + * gcc.dg/sarif-output/werror.py: ...this. + * gcc.dg/sarif-output/werror.c: Update for script renaming. + +2024-10-28 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117330 + * gcc.dg/torture/pr117330-1.c: New test. + +2024-10-28 Dimitar Dimitrov <dimitar@dinux.eu> + + * g++.dg/lto/pr47333_0.C: Require target that supports atomic + operations on int and long types. + +2024-10-28 Sam James <sam@gentoo.org> + + PR tree-optimization/107467 + PR middle-end/115110 + * g++.dg/lto/pr107467_0.C: New test. + +2024-10-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117307 + * gcc.dg/vect/pr117307.c: New testcase. + +2024-10-28 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/111285 + * g++.dg/torture/vect-absu-1.C: New test. + +2024-10-28 xuli <xuli1@eswincomputing.com> + + PR target/117286 + * gcc.target/riscv/rvv/base/pr117286.c: New test. + +2024-10-28 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/pr53533-1.c: Adjust assembly scan. + * gcc.target/i386/pr53533-3.c: Likewise. + +2024-10-27 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/Wtrailing-whitespace-2.c: Use + -Wtrailing-whitespace=blanks rather than -Wtrailing-whitespace=blank. + * c-c++-common/cpp/Wtrailing-whitespace-3.c: Use + -Wtrailing-whitespace=any rather than -Wtrailing-whitespace=space. + * c-c++-common/cpp/Wtrailing-whitespace-7.c: Use + -Wtrailing-whitespace=blanks rather than -Wtrailing-whitespace=blank. + * c-c++-common/cpp/Wtrailing-whitespace-8.c: Use + -Wtrailing-whitespace=any rather than -Wtrailing-whitespace=space. + +2024-10-27 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/vec-perm-lower.c: Add -Wno-psabi to dg-options. + +2024-10-27 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/115070 + PR fortran/115348 + * gfortran.dg/pr115070.f90: New test. + * gfortran.dg/pr115348.f90: New test. + +2024-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * gcc.target/arm/bti-1.c: Check for asm instructions starting + with a tab. + * gcc.target/arm/bti-2.c: Likewise. + * gcc.target/arm/pac-1.c: Likewise. + * 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-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. + * gcc.target/arm/pac-15.c: Likewise. + * gcc.target/arm/pac-sibcall.c: Likewise. + +2024-10-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/117234 + * g++.dg/eh/noncall-fp-1.C: New test. + * g++.target/aarch64/sve/noncall-eh-fp-1.C: New test. + * gcc.dg/tree-ssa/trapping-1.c: New test. + * gcc.target/aarch64/sve/trapping-1.c: New test. + +2024-10-26 Sam James <sam@gentoo.org> + + PR testsuite/117299 + * gcc.dg/lto/tbaa_0.c: Move to... + * gcc.dg/tbaa.c: ...here. + +2024-10-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR rtl-optimization/58195 + * gcc.target/aarch64/csel-neg-1.c: New test. + * gcc.target/aarch64/csel-neg-2.c: New test. + +2024-10-25 Sam James <sam@gentoo.org> + + PR lto/47333 + * g++.dg/lto/pr47333_0.C: Ignore -Wtemplate-body. + +2024-10-25 Sam James <sam@gentoo.org> + + PR lto/62026 + * g++.dg/lto/pr62026_0.C: Pass -Wno-return-type. + +2024-10-25 Sam James <sam@gentoo.org> + + PR c++/95677 + * g++.dg/lto/pr95677_0.C: Use dg-lto-*. + +2024-10-25 Sam James <sam@gentoo.org> + + * gcc.dg/lto/tbaa_0.c: Use dg-lto directives, pass -std=gnu89, and + use -flto-partition=none. + +2024-10-25 Sam James <sam@gentoo.org> + + * gcc.dg/lto/tbaa-1.c: Move to... + * gcc.dg/lto/tbaa_0.c: ...here. + +2024-10-25 Sam James <sam@gentoo.org> + + PR target/47333 + * g++.dg/lto/pr47333.C: Move to... + * g++.dg/lto/pr47333_0.C: ...here. + +2024-10-25 Sam James <sam@gentoo.org> + + PR lto/62026 + * g++.dg/lto/pr62026.C: Move to... + * g++.dg/lto/pr62026_0.C: ...here. + +2024-10-25 Sam James <sam@gentoo.org> + + PR c++/95677 + * g++.dg/lto/pr95677.C: Move to... + * g++.dg/lto/pr95677_0.C: ...here. + +2024-10-25 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.target/aarch64/cpunative/info_25: New file. + * gcc.target/aarch64/cpunative/info_26: New file. + * gcc.target/aarch64/cpunative/native_cpu_25.c: New test. + * gcc.target/aarch64/cpunative/native_cpu_26.c: New test. + +2024-10-25 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/117292 + * gcc.target/aarch64/sve/single_5.c: Remove xfails. + * gcc.target/aarch64/pr117292.c: New test. + +2024-10-25 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/79685 + * gfortran.dg/use_rename_13.f90: New test. + +2024-10-25 Sam James <sam@gentoo.org> + + PR rtl-optimization/115933 + * gcc.dg/pr115933.c: New test. + +2024-10-25 Andrew Carlotti <andrew.carlotti@arm.com> + + * gcc.target/aarch64/advsimd-intrinsics/mf8-reinterpret.c: New test. + +2024-10-25 Andrew Carlotti <andrew.carlotti@arm.com> + + * gcc.target/aarch64/movv16qi_2.c: Test mfloat as well. + * gcc.target/aarch64/movv16qi_3.c: Ditto. + * gcc.target/aarch64/movv2x16qi_1.c: Ditto. + * gcc.target/aarch64/movv3x16qi_1.c: Ditto. + * gcc.target/aarch64/movv4x16qi_1.c: Ditto. + * gcc.target/aarch64/movv8qi_2.c: Ditto. + * gcc.target/aarch64/movv8qi_3.c: Ditto. + * gcc.target/aarch64/mfloat-init-1.c: New test. + +2024-10-25 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.dg/tree-ssa/pow_fold_1.c: New test. + +2024-10-25 Pan Li <pan2.li@intel.com> + + * gcc.dg/tree-ssa/sat_u_add-simplify-1-u16.c: New test. + * gcc.dg/tree-ssa/sat_u_add-simplify-1-u32.c: New test. + * gcc.dg/tree-ssa/sat_u_add-simplify-1-u64.c: New test. + * gcc.dg/tree-ssa/sat_u_add-simplify-1-u8.c: New test. + +2024-10-25 Jakub Jelinek <jakub@redhat.com> + + PR lto/117201 + PR lto/117288 + * gcc.dg/lto/pr117201_0.c: New test. + * gcc.dg/lto/pr117288_0.c: New test. + +2024-10-25 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/tree-ssa/shifts-3.c: Accept widen_mult for f2 too. + +2024-10-25 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/116551 + * gnat.dg/specs/vfa3.ads: New test. + +2024-10-25 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve2/acle/asm/aba_s32.c: New tests. + * gcc.target/aarch64/sve2/acle/asm/aba_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/aba_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/aba_u64.c: Likewise. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/class-10_a.H: New test. + * g++.dg/modules/class-10_b.C: New test. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/clone-2_a.C: New test. + * g++.dg/modules/clone-2_b.C: New test. + * g++.dg/modules/clone-3_a.C: New test. + * g++.dg/modules/clone-3_b.C: New test. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115007 + * g++.dg/modules/virt-6_a.C: New test. + * g++.dg/modules/virt-6_b.C: New test. + +2024-10-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/virt-5_a.C: New test. + * g++.dg/modules/virt-5_b.C: New test. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc.dg/plugin/analyzer_cpython_plugin.c: Convert call outcomes + from "get_desc" to print_desc". + * gcc.dg/plugin/analyzer_gil_plugin.c: Update for changes to + pending_diagnostic vfuncs. + +2024-10-24 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/stack-check-2.c: Use -fno-ipa-icf. + +2024-10-24 Dimitar Dimitrov <dimitar@dinux.eu> + + PR ipa/113197 + * gcc.dg/lto/pr113197_0.c: Require effective target pie. + +2024-10-24 David Malcolm <dmalcolm@redhat.com> + Gaius Mulley <gaiusmod2@gmail.com> + + PR other/116613 + * gcc.dg/plugin/diagnostic_group_plugin.c: Update for use of + std::unique_ptr. + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Likewise. + * gcc.dg/plugin/ggcplug.c: Likewise. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/cnt_fold_6.c: New test. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/tree-ssa/shifts-3.c: New test. + * gcc.dg/tree-ssa/shifts-4.c: Likewise. + * gcc.target/aarch64/sve/cnt_fold_5.c: Likewise. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/cnt_fold_4.c: New test. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/tree-ssa/shifts-1.c: New test. + * gcc.dg/tree-ssa/shifts-2.c: Likewise. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/tree-ssa/mulexactdiv-5.c: New test. + * gcc.dg/tree-ssa/mulexactdiv-6.c: Likewise. + * gcc.dg/tree-ssa/mulexactdiv-7.c: Likewise. + * gcc.dg/tree-ssa/mulexactdiv-8.c: Likewise. + * gcc.target/aarch64/sve/cnt_fold_3.c: Likewise. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/tree-ssa/mulexactdiv-1.c: New test. + * gcc.dg/tree-ssa/mulexactdiv-2.c: Likewise. + * gcc.dg/tree-ssa/mulexactdiv-3.c: Likewise. + * gcc.dg/tree-ssa/mulexactdiv-4.c: Likewise. + * gcc.target/aarch64/sve/cnt_fold_1.c: Likewise. + * gcc.target/aarch64/sve/cnt_fold_2.c: Likewise. + +2024-10-24 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/tree-ssa/cmpexactdiv-6.c: New test. + +2024-10-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/117259 + * g++.dg/ubsan/pr117259.C: New test. + +2024-10-24 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/117209 + * gcc.dg/asan/pr117209.c: New test. + +2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve2/acle/asm/sra_s32.c: New test. + * gcc.target/aarch64/sve2/acle/asm/sra_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sra_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/sra_u64.c: Likewise. + +2024-10-24 Soumya AR <soumyaa@nvidia.com> + + * gcc.target/aarch64/sve/const_fold_lsl_1.c: New test. + +2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/acle/asm/div_s32.c: New test. + * gcc.target/aarch64/sve/acle/asm/mul_s16.c: Adjust expected outcome. + * gcc.target/aarch64/sve/acle/asm/mul_s32.c: New test. + * gcc.target/aarch64/sve/acle/asm/mul_s64.c: Adjust expected outcome. + * gcc.target/aarch64/sve/acle/asm/mul_s8.c: Likewise. + * gcc.target/aarch64/sve/div_const_run.c: New test. + * gcc.target/aarch64/sve/mul_const_run.c: Likewise. + +2024-10-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/index_const_fold.c: New test. + +2024-10-24 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/116488 + PR rtl-optimization/117226 + * gcc.dg/torture/pr116488.c (c, e): Change type from char to + signed char. + * gcc.dg/torture/pr117226.c (main): Change f type from char to + signed char. + +2024-10-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-16.c: New test. + +2024-10-23 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113860 + * gcc.target/aarch64/popcnt-sve.c: Update test. + * gcc.target/aarch64/popcnt11.c: New test. + * gcc.target/aarch64/popcnt12.c: New test. + +2024-10-23 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/117222 + * g++.dg/pr117222.C: New. + +2024-10-23 David Malcolm <dmalcolm@redhat.com> + + PR fortran/105916 + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Include + "diagnostic-buffer.h". + (class diagnostic_xhtml_format_buffer): New subclass. + (class xhtml_builder): Add friend + class diagnostic_xhtml_format_buffer. + (diagnostic_xhtml_format_buffer::dump): New. + (diagnostic_xhtml_format_buffer::empty_p): New. + (diagnostic_xhtml_format_buffer::move_to): New. + (diagnostic_xhtml_format_buffer::clear): New. + (diagnostic_xhtml_format_buffer::flush): New. + (xhtml_builder::on_report_diagnostic): Add "buffer" param, and use + it. + (xhtml_output_format::dump): Fix typo. + (xhtml_output_format::make_per_format_buffer): New. + (xhtml_output_format::set_buffer): New. + (xhtml_output_format::on_report_diagnostic): Fix whitespace. Pass + m_buffer to xhtml_builder::on_report_diagnostic. + (xhtml_output_format::xhtml_output_format): Initialize m_buffer. + (xhtml_output_format::m_buffer): New field. + * gfortran.dg/diagnostic-format-json-pr105916.F90: New test. + * gfortran.dg/diagnostic-format-sarif-1.F90: New test. + * gfortran.dg/diagnostic-format-sarif-1.py: New support script. + * gfortran.dg/diagnostic-format-sarif-pr105916.f90: New test. + +2024-10-23 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/116733 + * gfortran.dg/associate_3.f03: Change error message. + * gfortran.dg/f202y/f202y.exp: Enable tests of f202y features. + * gfortran.dg/f202y/generic_assumed_rank_1.f90: New test. + * gfortran.dg/f202y/generic_assumed_rank_2.f90: New test. + * gfortran.dg/f202y/generic_assumed_rank_3.f90: New test. + +2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * gcc.target/aarch64/copysign_3.c: New test. + * gcc.target/aarch64/copysign_4.c: New test. + * gcc.target/aarch64/fneg-abs_2.c: Fixup test. + * gcc.target/aarch64/sve/fneg-abs_2.c: Likewise. + +2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * gcc.target/aarch64/sve/simd_imm.c: New test. + +2024-10-23 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * gcc.target/aarch64/sve/acle/asm/insr_s64.c: Allow SVE MOV imm. + * gcc.target/aarch64/sve/acle/asm/insr_u64.c: Likewise. + * gcc.target/aarch64/sve/fneg-abs_1.c: Update to check for ORRI. + * gcc.target/aarch64/sve/fneg-abs_2.c: Likewise. + * gcc.target/aarch64/sve/simd_imm_mov.c: New test. + +2024-10-23 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr117240_avx.c: New test. + * gcc.target/i386/pr117240_avx512f.c: New test. + +2024-10-23 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/117142 + * gcc.dg/tree-ssa/pr117142.c: New test. + +2024-10-23 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/Wleading-whitespace-1.c: New test. + * c-c++-common/cpp/Wleading-whitespace-2.c: New test. + * c-c++-common/cpp/Wleading-whitespace-3.c: New test. + * c-c++-common/cpp/Wleading-whitespace-4.c: New test. + +2024-10-23 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr117232-1.c: New test. + * gcc.target/i386/pr117232-apx-1.c: New test. + +2024-10-23 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/gnu17-tag-1.c, gcc.dg/gnu23-tag-5.c: New tests. + +2024-10-22 Jason Merrill <jason@redhat.com> + + PR c++/117107 + PR c++/92687 + * g++.dg/cpp2a/decomp10.C: New test. + +2024-10-22 Jason Merrill <jason@redhat.com> + + PR c++/116929 + * g++.dg/modules/enum-14.C: New test. + +2024-10-22 Jakub Jelinek <jakub@redhat.com> + + PR c/117190 + * c-c++-common/init-5.c: New test. + +2024-10-22 Jakub Jelinek <jakub@redhat.com> + + PR c/117230 + * c-c++-common/Wsizeof-pointer-memaccess5.c: New test. + +2024-10-22 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/117199 + * gcc.dg/lto/pr117199_0.c: New test. + +2024-10-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/fp16-aapcs-1.c: Use check-function-bodies. + * gcc.target/arm/fp16-aapcs-2.c: Likewise. + * gcc.target/arm/fp16-aapcs-3.c: Likewise. + * gcc.target/arm/fp16-aapcs-4.c: Likewise. + +2024-10-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: Allow lsl and + lsr instructions. + * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: Likewise. + * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: Likewise. + * gcc.target/arm/cmse/mainline/8_1m/bitfield-and-union.c: Likewise. + * gcc.target/arm/cmse/mainline/8_1m/union-2.c: Likewise. + +2024-10-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-5.c: Use + check-function-bodies. + * gcc.target/arm/cmse/mainline/8m/hard/cmse-5.c: Likewise. + * gcc.target/arm/cmse/mainline/8m/soft/cmse-5.c: Likewise. + * gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c: Likewise. + * gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c: Likewise. + * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-5.c: Likewise. + * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-5.c: Likewise. + * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-5.c: Likewise. + * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c: + Likewise. + * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-5.c: Likewise. + +2024-10-22 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.dg/tree-ssa/log_ident.c: Add scan for removal of + link_error in optimized tree dump. + +2024-10-22 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/torture/pr112305.c: Skip at -O0 and -O1 for simulators. + +2024-10-22 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/inst-4_b.C: Adjust pending-entity count. + * g++.dg/modules/member-def-1_c.C: Likewise. + * g++.dg/modules/member-def-2_c.C: Likewise. + * g++.dg/modules/tpl-spec-3_b.C: Likewise. + * g++.dg/modules/tpl-spec-4_b.C: Likewise. + * g++.dg/modules/tpl-spec-5_b.C: Likewise. + * g++.dg/modules/class-9_a.H: New test. + * g++.dg/modules/class-9_b.H: New test. + * g++.dg/modules/class-9_c.C: New test. + +2024-10-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117254 + * gcc.dg/pr117254.c: New testcase. + +2024-10-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117123 + * g++.dg/tree-ssa/pr117123.C: New testcase. + +2024-10-22 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * g++.dg/cpp23/ext-floating19.C: Fix typo for bfloat16 guard. + +2024-10-22 xuli <xuli1@eswincomputing.com> + + * gcc.target/riscv/sat_u_sub_imm-1_4.c: New test. + * gcc.target/riscv/sat_u_sub_imm-2_4.c: New test. + * gcc.target/riscv/sat_u_sub_imm-3_4.c: New test. + * gcc.target/riscv/sat_u_sub_imm-4_2.c: New test. + +2024-10-22 xuli <xuli1@eswincomputing.com> + + * gcc.target/riscv/sat_u_sub_imm-1_3.c: New test. + * gcc.target/riscv/sat_u_sub_imm-2_3.c: New test. + * gcc.target/riscv/sat_u_sub_imm-3_3.c: New test. + * gcc.target/riscv/sat_u_sub_imm-4_1.c: New test. + +2024-10-21 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116488 + PR rtl-optimization/116579 + PR rtl-optimization/116915 + PR rtl-optimization/117226 + * gcc.dg/torture/pr116488.c: New test. + * gcc.dg/torture/pr116579.c: New test. + * gcc.dg/torture/pr116915.c: New test. + * gcc.dg/torture/pr117226.c: New test. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-8-i64-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-8-i64-to-i8.c: New test. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-7-i64-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-7-i64-to-i8.c: New test. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-6-i64-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-6-i64-to-i8.c: New test. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-5-i64-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-5-i64-to-i8.c: New test. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-4-i64-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-4-i64-to-i8.c: New test. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-3-i64-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-3-i64-to-i8.c: New test. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-2-i64-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-2-i64-to-i8.c: New test. + +2024-10-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/unop/vec_sat_data.h: Add test data for + signed SAT_TRUNC. + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-1-i64-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i16-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i32-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i32-to-i8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i32.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_s_trunc-run-1-i64-to-i8.c: New test. + +2024-10-21 Alex Coplan <alex.coplan@arm.com> + + PR rtl-optimization/116783 + * g++.dg/torture/pr116783.C: New test. + +2024-10-21 xuli <xuli1@eswincomputing.com> + + * gcc.target/riscv/sat_s_add-1.c: Skip flag -flto. + * gcc.target/riscv/sat_s_add-10.c: Ditto. + * gcc.target/riscv/sat_s_add-11.c: Ditto. + * gcc.target/riscv/sat_s_add-12.c: Ditto. + * gcc.target/riscv/sat_s_add-13.c: Ditto. + * gcc.target/riscv/sat_s_add-14.c: Ditto. + * gcc.target/riscv/sat_s_add-15.c: Ditto. + * gcc.target/riscv/sat_s_add-16.c: Ditto. + * gcc.target/riscv/sat_s_add-2.c: Ditto. + * gcc.target/riscv/sat_s_add-3.c: Ditto. + * gcc.target/riscv/sat_s_add-4.c: Ditto. + * gcc.target/riscv/sat_s_add-5.c: Ditto. + * gcc.target/riscv/sat_s_add-6.c: Ditto. + * gcc.target/riscv/sat_s_add-7.c: Ditto. + * gcc.target/riscv/sat_s_add-8.c: Ditto. + * gcc.target/riscv/sat_s_add-9.c: Ditto. + * gcc.target/riscv/sat_s_sub-1-i16.c: Ditto. + * gcc.target/riscv/sat_s_sub-1-i32.c: Ditto. + * gcc.target/riscv/sat_s_sub-1-i64.c: Ditto. + * gcc.target/riscv/sat_s_sub-1-i8.c: Ditto. + * gcc.target/riscv/sat_s_sub-2-i16.c: Ditto. + * gcc.target/riscv/sat_s_sub-2-i32.c: Ditto. + * gcc.target/riscv/sat_s_sub-2-i64.c: Ditto. + * gcc.target/riscv/sat_s_sub-2-i8.c: Ditto. + * gcc.target/riscv/sat_s_sub-3-i16.c: Ditto. + * gcc.target/riscv/sat_s_sub-3-i32.c: Ditto. + * gcc.target/riscv/sat_s_sub-3-i64.c: Ditto. + * gcc.target/riscv/sat_s_sub-3-i8.c: Ditto. + * gcc.target/riscv/sat_s_sub-4-i16.c: Ditto. + * gcc.target/riscv/sat_s_sub-4-i32.c: Ditto. + * gcc.target/riscv/sat_s_sub-4-i64.c: Ditto. + * gcc.target/riscv/sat_s_sub-4-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c: Ditto. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c: Ditto. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c: Ditto. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c: Ditto. + * gcc.target/riscv/sat_u_add-1.c: Ditto. + * gcc.target/riscv/sat_u_add-10.c: Ditto. + * gcc.target/riscv/sat_u_add-11.c: Ditto. + * gcc.target/riscv/sat_u_add-12.c: Ditto. + * gcc.target/riscv/sat_u_add-13.c: Ditto. + * gcc.target/riscv/sat_u_add-14.c: Ditto. + * gcc.target/riscv/sat_u_add-15.c: Ditto. + * gcc.target/riscv/sat_u_add-16.c: Ditto. + * gcc.target/riscv/sat_u_add-17.c: Ditto. + * gcc.target/riscv/sat_u_add-18.c: Ditto. + * gcc.target/riscv/sat_u_add-19.c: Ditto. + * gcc.target/riscv/sat_u_add-2.c: Ditto. + * gcc.target/riscv/sat_u_add-20.c: Ditto. + * gcc.target/riscv/sat_u_add-21.c: Ditto. + * gcc.target/riscv/sat_u_add-22.c: Ditto. + * gcc.target/riscv/sat_u_add-23.c: Ditto. + * gcc.target/riscv/sat_u_add-24.c: Ditto. + * gcc.target/riscv/sat_u_add-3.c: Ditto. + * gcc.target/riscv/sat_u_add-4.c: Ditto. + * gcc.target/riscv/sat_u_add-5.c: Ditto. + * gcc.target/riscv/sat_u_add-6.c: Ditto. + * gcc.target/riscv/sat_u_add-7.c: Ditto. + * gcc.target/riscv/sat_u_add-8.c: Ditto. + * gcc.target/riscv/sat_u_add-9.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-1.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-10.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-11.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-12.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-13.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-14.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-15.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-16.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-2.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-3.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-4.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-5.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-6.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-7.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-8.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-9.c: Ditto. + * gcc.target/riscv/sat_u_sub-1.c: Ditto. + * gcc.target/riscv/sat_u_sub-10.c: Ditto. + * gcc.target/riscv/sat_u_sub-11.c: Ditto. + * gcc.target/riscv/sat_u_sub-12.c: Ditto. + * gcc.target/riscv/sat_u_sub-13.c: Ditto. + * gcc.target/riscv/sat_u_sub-14.c: Ditto. + * gcc.target/riscv/sat_u_sub-15.c: Ditto. + * gcc.target/riscv/sat_u_sub-16.c: Ditto. + * gcc.target/riscv/sat_u_sub-17.c: Ditto. + * gcc.target/riscv/sat_u_sub-18.c: Ditto. + * gcc.target/riscv/sat_u_sub-19.c: Ditto. + * gcc.target/riscv/sat_u_sub-2.c: Ditto. + * gcc.target/riscv/sat_u_sub-20.c: Ditto. + * gcc.target/riscv/sat_u_sub-21.c: Ditto. + * gcc.target/riscv/sat_u_sub-22.c: Ditto. + * gcc.target/riscv/sat_u_sub-23.c: Ditto. + * gcc.target/riscv/sat_u_sub-24.c: Ditto. + * gcc.target/riscv/sat_u_sub-25.c: Ditto. + * gcc.target/riscv/sat_u_sub-26.c: Ditto. + * gcc.target/riscv/sat_u_sub-27.c: Ditto. + * gcc.target/riscv/sat_u_sub-28.c: Ditto. + * gcc.target/riscv/sat_u_sub-29.c: Ditto. + * gcc.target/riscv/sat_u_sub-3.c: Ditto. + * gcc.target/riscv/sat_u_sub-30.c: Ditto. + * gcc.target/riscv/sat_u_sub-31.c: Ditto. + * gcc.target/riscv/sat_u_sub-32.c: Ditto. + * gcc.target/riscv/sat_u_sub-33.c: Ditto. + * gcc.target/riscv/sat_u_sub-34.c: Ditto. + * gcc.target/riscv/sat_u_sub-35.c: Ditto. + * gcc.target/riscv/sat_u_sub-36.c: Ditto. + * gcc.target/riscv/sat_u_sub-37.c: Ditto. + * gcc.target/riscv/sat_u_sub-38.c: Ditto. + * gcc.target/riscv/sat_u_sub-39.c: Ditto. + * gcc.target/riscv/sat_u_sub-4.c: Ditto. + * gcc.target/riscv/sat_u_sub-40.c: Ditto. + * gcc.target/riscv/sat_u_sub-41.c: Ditto. + * gcc.target/riscv/sat_u_sub-42.c: Ditto. + * gcc.target/riscv/sat_u_sub-43.c: Ditto. + * gcc.target/riscv/sat_u_sub-44.c: Ditto. + * gcc.target/riscv/sat_u_sub-45.c: Ditto. + * gcc.target/riscv/sat_u_sub-46.c: Ditto. + * gcc.target/riscv/sat_u_sub-47.c: Ditto. + * gcc.target/riscv/sat_u_sub-48.c: Ditto. + * gcc.target/riscv/sat_u_sub-5.c: Ditto. + * gcc.target/riscv/sat_u_sub-6.c: Ditto. + * gcc.target/riscv/sat_u_sub-7.c: Ditto. + * gcc.target/riscv/sat_u_sub-8.c: Ditto. + * gcc.target/riscv/sat_u_sub-9.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-10.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-10_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-10_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-11.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-11_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-11_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-12.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-13.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-13_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-13_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-14.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-14_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-14_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-15.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-15_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-15_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-16.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-1_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-1_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-2_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-2_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-3.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-3_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-3_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-4.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-5.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-5_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-5_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-6.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-6_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-6_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-7.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-7_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-7_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-8.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-9.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-9_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-9_2.c: Ditto. + * gcc.target/riscv/sat_u_trunc-1.c: Ditto. + * gcc.target/riscv/sat_u_trunc-10.c: Ditto. + * gcc.target/riscv/sat_u_trunc-11.c: Ditto. + * gcc.target/riscv/sat_u_trunc-12.c: Ditto. + * gcc.target/riscv/sat_u_trunc-13.c: Ditto. + * gcc.target/riscv/sat_u_trunc-14.c: Ditto. + * gcc.target/riscv/sat_u_trunc-15.c: Ditto. + * gcc.target/riscv/sat_u_trunc-16.c: Ditto. + * gcc.target/riscv/sat_u_trunc-17.c: Ditto. + * gcc.target/riscv/sat_u_trunc-18.c: Ditto. + * gcc.target/riscv/sat_u_trunc-19.c: Ditto. + * gcc.target/riscv/sat_u_trunc-2.c: Ditto. + * gcc.target/riscv/sat_u_trunc-20.c: Ditto. + * gcc.target/riscv/sat_u_trunc-21.c: Ditto. + * gcc.target/riscv/sat_u_trunc-22.c: Ditto. + * gcc.target/riscv/sat_u_trunc-23.c: Ditto. + * gcc.target/riscv/sat_u_trunc-24.c: Ditto. + * gcc.target/riscv/sat_u_trunc-3.c: Ditto. + * gcc.target/riscv/sat_u_trunc-4.c: Ditto. + * gcc.target/riscv/sat_u_trunc-5.c: Ditto. + * gcc.target/riscv/sat_u_trunc-6.c: Ditto. + * gcc.target/riscv/sat_u_trunc-7.c: Ditto. + * gcc.target/riscv/sat_u_trunc-8.c: Ditto. + * gcc.target/riscv/sat_u_trunc-9.c: Ditto. + +2024-10-21 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/arm/bti-1.c: Require arch, use its opts, drop skip. + * gcc.target/arm/bti-2.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-11.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-12.c: Likewise. + * gcc.target/arm/acle/pacbti-m-predef-7.c: Likewise. + * g++.target/arm/pac-1.C: Likewise. Drop +mve. + +2024-10-21 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr117159.c: New test. + * gcc.target/i386/avx512bw-pr103750-1.c: Remove xfail. + * gcc.target/i386/avx512bw-pr103750-2.c: Remove xfail. + +2024-10-20 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-10-20 Craig Blackmore <craig.blackmore@embecosm.com> + + * gcc.target/riscv/rvv/autovec/pr113469.c: Expect mf2 setmem. + * gcc.target/riscv/rvv/base/setmem-2.c: Update f1 to expect + straight-line vector memset. + * gcc.target/riscv/rvv/base/setmem-3.c: Likewise. + +2024-10-19 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/114423 + * c-c++-common/cpp/pragma-diagnostic-loc.c: New test. + * c-c++-common/cpp/diagnostic-pragma-1.c: Adjust expected output. + * g++.dg/pch/operator-1.C: Likewise. + +2024-10-19 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/112418 + * gcc.dg/tree-ssa/factor_op_phi-1.c: New test. + * gcc.dg/tree-ssa/factor_op_phi-2.c: New test. + * gcc.dg/tree-ssa/factor_op_phi-3.c: New test. + * gcc.dg/tree-ssa/factor_op_phi-4.c: New test. + +2024-10-19 Greg McGary <gkm@rivosinc.com> + + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-1.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-2.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-3.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-4.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-5.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-6.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg-7.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-3.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-4.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-5.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-6.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_noseg_run-7.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-1.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-2.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-3.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-4.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-5.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-6.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg-7.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-1.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-2.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-3.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-4.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-5.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-6.c: + New test. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_noseg_run-7.c: + New test. + * gcc.target/riscv/rvv/autovec/no-segment.c: New test. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-1.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-10.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-11.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-12.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-13.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-14.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-15.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-16.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-17.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-18.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-2.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-3.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-4.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-5.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-6.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-7.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-8.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg-9.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-1.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-10.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-11.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-12.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-13.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-14.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-15.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-16.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-17.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-18.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-2.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-3.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-4.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-5.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-6.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-7.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-8.c: New file. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_noseg_run-9.c: New file. + +2024-10-19 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/117225 + * gfortran.dg/unsigned_38.f90: Add missing dg-error directive. + +2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> + + * gcc.target/riscv/rvv/autovec/pr113469.c: Expect mf2 setmem. + * gcc.target/riscv/rvv/base/setmem-2.c: Update f1 to expect + straight-line vector memset. + * gcc.target/riscv/rvv/base/setmem-3.c: Likewise. + +2024-10-19 Craig Blackmore <craig.blackmore@embecosm.com> + + * gcc.target/riscv/rvv/autovec/pr113206-1.c: Add + -mrvv-max-lmul=m8. + * gcc.target/riscv/rvv/autovec/pr113206-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: Add + -mrvv-max-lmul=m8 and adjust assembly scans. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: + Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: + Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: + Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: + Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: + Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: + Likewise. + * gcc.target/riscv/rvv/autovec/vls/spill-4.c: Add + -mrvv-max-lmul=m8. + * gcc.target/riscv/rvv/autovec/vls/spill-7.c: Likewise. + * gcc.target/riscv/rvv/base/cpymem-1.c: Expect m1 in f1 and f2. + * gcc.target/riscv/rvv/base/cpymem-2.c: Add -mrvv-max-lmul=m8. + * gcc.target/riscv/rvv/base/movmem-1.c: Adjust f1 to a length + that will not get vectorized. + * gcc.target/riscv/rvv/base/pr111720-0.c: Add -mrvv-max-lmul=m8. + * gcc.target/riscv/rvv/base/pr111720-1.c: Likewise. + * gcc.target/riscv/rvv/base/pr111720-2.c: Likewise. + * gcc.target/riscv/rvv/base/pr111720-3.c: Likewise. + * gcc.target/riscv/rvv/base/pr111720-4.c: Likewise. + * gcc.target/riscv/rvv/base/pr111720-5.c: Likewise. + * gcc.target/riscv/rvv/base/pr111720-6.c: Likewise. + * gcc.target/riscv/rvv/base/pr111720-7.c: Likewise. + * gcc.target/riscv/rvv/base/pr111720-8.c: Likewise. + * gcc.target/riscv/rvv/base/pr111720-9.c: Likewise. + * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: Expect memcpy m1 + loops. + * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Likewise. + +2024-10-19 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115328 + * gm2/iso/fail/badparam.def: New test. + * gm2/iso/fail/badparam.mod: New test. + * gm2/iso/fail/badparam2.def: New test. + * gm2/iso/fail/badparam2.mod: New test. + * gm2/iso/fail/badparam3.def: New test. + * gm2/iso/fail/badparam3.mod: New test. + * gm2/iso/fail/badparamarray.def: New test. + * gm2/iso/fail/badparamarray.mod: New test. + * gm2/iso/fail/simpledef1.def: New test. + * gm2/iso/fail/simpledef1.mod: New test. + * gm2/iso/fail/simpleforward.mod: New test. + * gm2/iso/fail/simpleforward2.mod: New test. + * gm2/iso/fail/simpleforward3.mod: New test. + * gm2/iso/fail/simpleforward4.mod: New test. + * gm2/iso/fail/simpleforward5.mod: New test. + * gm2/iso/fail/simpleforward7.mod: New test. + * gm2/iso/pass/simpleforward.mod: New test. + * gm2/iso/pass/simpleforward6.mod: New test. + +2024-10-19 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.dg/bounds_check_25.f90: Update expected column + in the diagnostic. + * gfortran.dg/goacc/pr92793-1.f90: Likewise. + * gfortran.dg/gomp/allocate-14.f90: Likewise. + * gfortran.dg/gomp/polymorphic-mapping.f90: Likewise. + * gfortran.dg/gomp/reduction5.f90: Likewise. + * gfortran.dg/gomp/reduction6.f90: Likewise. + +2024-10-19 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/117225 + * gfortran.dg/unsigned_38.f90: New test. + +2024-10-19 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c + (xhtml_output_format::dump): New. + +2024-10-19 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/wtr-gnu17-1.c, gcc.dg/wtr-gnu23-1.c: New tests. + +2024-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_37.f90: New test. + +2024-10-18 Craig Blackmore <craig.blackmore@embecosm.com> + + * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: Expect smaller lmul. + * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Likewise. + * gcc.target/riscv/rvv/base/cpymem-3.c: New test. + +2024-10-18 Uros Bizjak <ubizjak@gmail.com> + + PR target/117192 + * gcc.target/i386/pr117192.c: New test. + +2024-10-18 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/acle/asm/div_s32.c: Adjust expected outcome. + * 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/fold_div_zero.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/mul_s16.c: New test. + * 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/mul_const_run.c: Likewise. + +2024-10-18 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect.exp: Remove special-casing of tests + named trapv-* + * gcc.dg/vect/trapv-vect-reduc-4.c: Add dg-additional-options -ftrapv. + +2024-10-18 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect.exp: Remove special-casing of tests + named wrapv-* + * gcc.dg/vect/wrapv-vect-7.c: Add dg-additional-options -fwrapv. + * gcc.dg/vect/wrapv-vect-reduc-2char.c: Likewise. + * gcc.dg/vect/wrapv-vect-reduc-2short.c: Likewise. + * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise. + * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Likewise. + +2024-10-18 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect.exp: Remove special-casing of tests + named fast-math-* + * gcc.dg/vect/fast-math-bb-slp-call-1.c: Add dg-additional-options + -ffast-math. + * gcc.dg/vect/fast-math-bb-slp-call-2.c: Likewise. + * gcc.dg/vect/fast-math-bb-slp-call-3.c: Likewise. + * gcc.dg/vect/fast-math-ifcvt-1.c: Likewise. + * gcc.dg/vect/fast-math-pr35982.c: Likewise. + * gcc.dg/vect/fast-math-pr43074.c: Likewise. + * gcc.dg/vect/fast-math-pr44152.c: Likewise. + * gcc.dg/vect/fast-math-pr55281.c: Likewise. + * gcc.dg/vect/fast-math-slp-27.c: Likewise. + * gcc.dg/vect/fast-math-slp-38.c: Likewise. + * gcc.dg/vect/fast-math-vect-call-1.c: Likewise. + * gcc.dg/vect/fast-math-vect-call-2.c: Likewise. + * gcc.dg/vect/fast-math-vect-complex-3.c: Likewise. + * gcc.dg/vect/fast-math-vect-outer-7.c: Likewise. + * gcc.dg/vect/fast-math-vect-pow-1.c: Likewise. + * gcc.dg/vect/fast-math-vect-pow-2.c: Likewise. + * gcc.dg/vect/fast-math-vect-pr25911.c: Likewise. + * gcc.dg/vect/fast-math-vect-pr29925.c: Likewise. + * gcc.dg/vect/fast-math-vect-reduc-5.c: Likewise. + * gcc.dg/vect/fast-math-vect-reduc-7.c: Likewise. + * gcc.dg/vect/fast-math-vect-reduc-8.c: Likewise. + * gcc.dg/vect/fast-math-vect-reduc-9.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c: + Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c: + Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: + Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: + Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c: + Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c: + Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c: + Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: + Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: + Likewise. + * gcc.dg/vect/complex/fast-math-complex-mla-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mla-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise. + * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise. + +2024-10-18 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect.exp: Remove special-casing of tests + named no-vfa-* + * gcc.dg/vect/no-vfa-pr29145.c: Add dg-additional-options + --param vect-max-version-for-alias-checks=0. + * gcc.dg/vect/no-vfa-vect-101.c: Likewise. + * gcc.dg/vect/no-vfa-vect-102.c: Likewise. + * gcc.dg/vect/no-vfa-vect-102a.c: Likewise. + * gcc.dg/vect/no-vfa-vect-37.c: Likewise. + * gcc.dg/vect/no-vfa-vect-43.c: Likewise. + * gcc.dg/vect/no-vfa-vect-45.c: Likewise. + * gcc.dg/vect/no-vfa-vect-49.c: Likewise. + * gcc.dg/vect/no-vfa-vect-51.c: Likewise. + * gcc.dg/vect/no-vfa-vect-53.c: Likewise. + * gcc.dg/vect/no-vfa-vect-57.c: Likewise. + * gcc.dg/vect/no-vfa-vect-61.c: Likewise. + * gcc.dg/vect/no-vfa-vect-79.c: Likewise. + * gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise. + * gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise. + * gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise. + * gcc.dg/vect/no-vfa-vect-dv-2.c: Likewise. + +2024-10-18 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/lto/pr115815_0.c: Add dejagu directives. + +2024-10-18 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/117140 + * gcc.dg/vect/vect-early-break_129-pr117140.c: New test. + +2024-10-18 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vec-perm-lower.c: New test. + +2024-10-18 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/const_create_using_fmov.c: New test. + +2024-10-18 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/ldp_stp_18.c: Update zero regexpr. + * gcc.target/aarch64/memset-corner-cases.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_bf16.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_f16.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_f32.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_f64.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_s16.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_s32.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_s64.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_s8.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_u16.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_u32.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_u64.c: Likewise. + * gcc.target/aarch64/sme/acle-asm/revd_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acge_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acge_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acge_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acgt_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acgt_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acgt_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acle_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acle_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/acle_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/aclt_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/aclt_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/aclt_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_s8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/bic_u8.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/cmpuo_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/cmpuo_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/cmpuo_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_f16.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_f32.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_f64.c: Likewise. + * gcc.target/aarch64/sve/acle/asm/dup_s16.c: Likewise. + * 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_s8.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. + * gcc.target/aarch64/sve/acle/asm/dup_u8.c: Likewise. + * gcc.target/aarch64/sve/const_fold_div_1.c: Likewise. + * gcc.target/aarch64/sve/const_fold_mul_1.c: Likewise. + * gcc.target/aarch64/sve/dup_imm_1.c: Likewise. + * gcc.target/aarch64/sve/fdup_1.c: Likewise. + * gcc.target/aarch64/sve/fold_div_zero.c: Likewise. + * gcc.target/aarch64/sve/fold_mul_zero.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_2.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_3.c: Likewise. + * gcc.target/aarch64/sve/pcs/args_4.c: Likewise. + * gcc.target/aarch64/vect-fmovd-zero.c: Likewise. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c: Use pointer + parameter in foo2. + * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c: Likewise. + * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c: Likewise. + +2024-10-18 Christophe Lyon <christophe.lyon@linaro.org> + + * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u16.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u32.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u8.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vddupq_wb_u16.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vddupq_wb_u32.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vddupq_wb_u8.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u16.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u32.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u8.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u16.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u32.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u8.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_wb_u16.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_wb_u32.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_wb_u8.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u16.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u32.c: Remove foo2. + * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u8.c: Remove foo2. + +2024-10-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/acle/cde-mve-error-1.c: Corrected quotation in + expected error message. + +2024-10-18 Victor Rodriguez <victor.rodriguez.bahena@intel.com> + + * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8-2.c: Fix typo. + * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. + +2024-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/105361 + * gfortran.dg/pr105361.f90: In the comparisons of + real values after a read, use a tolerance so that + subtle differences in results between different + architectures do not fail. + +2024-10-17 Georg-Johann Lay <avr@gjlay.de> + + PR rtl-optimization/117191 + * gcc.target/avr/torture/pr117189.c: Rename to... + * gcc.target/avr/torture/pr117191.c: ...this. + +2024-10-17 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * gcc.dg/builtin-object-size-1.c (test12): New test. + (main): Call it. + +2024-10-17 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/lra-pr116550-2.c: Rename to... + * gcc.target/avr/torture/pr117189.c: ...this. + +2024-10-17 Georg-Johann Lay <avr@gjlay.de> + + PR rtl-optimization/116550 + * gcc.target/avr/torture/lra-pr116550-1.c: New file. + * gcc.target/avr/torture/lra-pr116550-2.c: New file. + +2024-10-17 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect.exp: Process no-fast-math-* and + no-math-errno-* in the main set. + * gcc.dg/vect/no-fast-math-vect16.c: Add -fno-fast-math. + * gcc.dg/vect/no-math-errno-slp-32.c: Add -fno-math-errno. + * gcc.dg/vect/no-math-errno-vect-pow-1.c: Likewise. + +2024-10-17 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx10_1-25.c: Add -march=x86-64-v3. + * gcc.target/i386/avx10_1-26.c: Ditto. + * gcc.target/i386/avx10_2-512-bf-vector-cmpp-1.c: Ditto. + * gcc.target/i386/avx10_2-512-bf-vector-fma-1.c: Ditto. + * gcc.target/i386/avx10_2-512-bf-vector-operations-1.c: Ditto. + * gcc.target/i386/avx10_2-512-bf-vector-smaxmin-1.c: Ditto. + * gcc.target/i386/avx10_2-512-bf16-1.c: Ditto. + * gcc.target/i386/avx10_2-512-convert-1.c: Ditto. + * gcc.target/i386/avx10_2-512-media-1.c: Ditto. + * gcc.target/i386/avx10_2-512-minmax-1.c: Ditto. + * gcc.target/i386/avx10_2-512-satcvt-1.c: Ditto. + * gcc.target/i386/avx10_2-512-vaddnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcmppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvt2ps2phx-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvthf82ph-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vdivnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vdpphps-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfnmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfnmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vgetexppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmaxpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxpd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxph-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxps-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmpsadbw-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmulnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbssds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbsud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbuud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbuuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwsud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwusd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwusds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwuud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwuuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrcppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vreducenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vscalefpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vsubnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-bf-vector-cmpp-1.c: Ditto. + * gcc.target/i386/avx10_2-bf-vector-fma-1.c: Ditto. + * gcc.target/i386/avx10_2-bf-vector-operations-1.c: Ditto. + * gcc.target/i386/avx10_2-bf-vector-smaxmin-1.c: Ditto. + * gcc.target/i386/avx10_2-bf16-1.c: Ditto. + * gcc.target/i386/avx10_2-builtin-1.c: Ditto. + * gcc.target/i386/avx10_2-builtin-2.c: Ditto. + * gcc.target/i386/avx10_2-compare-1.c: Ditto. + * gcc.target/i386/avx10_2-compare-1b.c: Ditto. + * gcc.target/i386/avx10_2-convert-1.c: Ditto. + * gcc.target/i386/avx10_2-media-1.c: Ditto. + * gcc.target/i386/avx10_2-minmax-1.c: Ditto. + * gcc.target/i386/avx10_2-partial-bf-vector-fast-math-1.c: Ditto. + * gcc.target/i386/avx10_2-partial-bf-vector-fma-1.c: Ditto. + * gcc.target/i386/avx10_2-partial-bf-vector-operations-1.c: Ditto. + * gcc.target/i386/avx10_2-partial-bf-vector-smaxmin-1.c: Ditto. + * gcc.target/i386/avx10_2-rounding-1.c: Ditto. + * gcc.target/i386/avx10_2-rounding-2.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Ditto. + * gcc.target/i386/avx10_2-satcvt-1.c: Ditto. + * gcc.target/i386/avx10_2-vaddnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vcmppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vcomsbf16-1.c: Ditto. + * gcc.target/i386/avx10_2-vcomsbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvt2ps2phx-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtbiasph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtbiasph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtbiasph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtbiasph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvthf82ph-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtne2ph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtne2ph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtne2ph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtne2ph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtneph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtneph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtneph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtneph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttpd2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttpd2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttpd2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttpd2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttsd2sis-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttsd2usis-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttss2sis-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttss2usis-2.c: Ditto. + * gcc.target/i386/avx10_2-vdivnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vdpphps-2.c: Ditto. + * gcc.target/i386/avx10_2-vfmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfnmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfnmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfpclasspbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vgetexppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vgetmantpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vmaxpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxpd-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxph-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxps-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxsd-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxsh-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxss-2.c: Ditto. + * gcc.target/i386/avx10_2-vminpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vmovd-1.c: Ditto. + * gcc.target/i386/avx10_2-vmovd-2.c: Ditto. + * gcc.target/i386/avx10_2-vmovw-1.c: Ditto. + * gcc.target/i386/avx10_2-vmovw-2.c: Ditto. + * gcc.target/i386/avx10_2-vmpsadbw-2.c: Ditto. + * gcc.target/i386/avx10_2-vmulnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbssd-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbssds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbsud-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbuud-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbuuds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwsud-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwusd-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwusds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwuud-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwuuds-2.c: Ditto. + * gcc.target/i386/avx10_2-vrcppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vreducenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vrndscalenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vrsqrtpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vscalefpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vsqrtnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vsubnepbf16-2.c: Ditto. + +2024-10-17 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray/add_sources/submodule_1_sub.f90: New test. + * gfortran.dg/coarray/submodule_1.f90: New test. + +2024-10-17 Jakub Jelinek <jakub@redhat.com> + + PR c/117028 + * gcc.dg/bitint-112.c: New test. + * gcc.dg/c23-digit-separators-1.c: Add _Static_assert for + valid binary constant with digit separator. + * gcc.dg/c23-octal-constants-1.c: New test. + * gcc.dg/c23-octal-constants-2.c: New test. + * gcc.dg/c2y-digit-separators-1.c: New test. + * gcc.dg/c2y-digit-separators-2.c: New test. + * gcc.dg/c2y-octal-constants-1.c: New test. + * gcc.dg/c2y-octal-constants-2.c: New test. + * gcc.dg/c2y-octal-constants-3.c: New test. + * gcc.dg/cpp/c23-delimited-escape-seq-1.c: New test. + * gcc.dg/cpp/c23-delimited-escape-seq-2.c: New test. + * gcc.dg/cpp/c2y-delimited-escape-seq-1.c: New test. + * gcc.dg/cpp/c2y-delimited-escape-seq-2.c: New test. + * gcc.dg/cpp/c2y-delimited-escape-seq-3.c: New test. + * gcc.dg/cpp/c2y-delimited-escape-seq-4.c: New test. + * gcc.dg/octal-constants-1.c: New test. + * gcc.dg/octal-constants-2.c: New test. + * gcc.dg/octal-constants-3.c: New test. + * gcc.dg/octal-constants-4.c: New test. + * gcc.dg/system-octal-constants-1.c: New test. + * gcc.dg/system-octal-constants-1.h: New file. + +2024-10-17 Jakub Jelinek <jakub@redhat.com> + + PR c/117177 + * c-c++-common/init-4.c: New test. + +2024-10-17 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr116940.c: New test. + +2024-10-17 Cui, Lili <lili.cui@intel.com> + + * g++.target/i386/vect-cmp.C: New test. + +2024-10-16 Siddhesh Poyarekar <siddhesh@gotplt.org> + + * gcc.dg/builtin-object-size-3.c (test9): Adjust test. + * gcc.dg/builtin-object-size-4.c (test8): Likewise. + +2024-10-16 Jolen Li <jolen.li@arm.com> + Christophe Lyon <christophe.lyon@arm.com> + + * gcc.target/arm/mve/intrinsics/vdupq_n_u8.c (foo1): Update + expected code. + * gcc.target/arm/mve/intrinsics/vdupq_n_u16.c (foo1): Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_n_u32.c (foo1): Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_n_s8.c: Add test with + immediate argument. + * gcc.target/arm/mve/intrinsics/vdupq_n_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_n_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_n_f16.c (foo1): Update + expected code. + * gcc.target/arm/mve/intrinsics/vdupq_n_f32.c (foo1): Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_m_n_s16.c: Add test with + immediate argument. + * gcc.target/arm/mve/intrinsics/vdupq_m_n_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_m_n_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_x_n_s16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_x_n_s32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_x_n_s8.c: Likewise. + * gcc.target/arm/mve/intrinsics/vdupq_n_f32-2.c: New test. + * gcc.target/arm/mve/intrinsics/vdupq_n_s16-2.c: New test. + * gcc.target/arm/mve/intrinsics/vdupq_n_s32-2.c: New test. + * gcc.target/arm/mve/intrinsics/vdupq_n_u16-2.c: New test. + * gcc.target/arm/mve/intrinsics/vdupq_n_u32-2.c: New test. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: Remove xfail. + * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: Likewise. + * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: Likewise. + +2024-10-16 David Malcolm <dmalcolm@redhat.com> + + PR other/116602 + * gcc.dg/plugin/crash-test-ice-in-header-sarif-2_1.py: Add check + for backtrace. + * gcc.dg/plugin/crash-test-ice-in-header-sarif-2_2.py: Likewise. + +2024-10-16 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Update for + removal of ICE callback. + +2024-10-16 Joseph Myers <josmyers@redhat.com> + + * c-c++-common/Wcast-function-type.c: Add -std=gnu17 for C. + * c-c++-common/Wformat-pr84258.c: Add -std=gnu17 for C. + * c-c++-common/Wvarargs.c: Add -std=gnu17 for C. + * c-c++-common/analyzer/data-model-12.c: Add -std=gnu17 for C. + * c-c++-common/builtins.c: Add -std=gnu17 for C. + * c-c++-common/pointer-to-fn1.c: Add -std=gnu17 for C. + * c-c++-common/pragma-diag-17.c: Add -std=gnu17 for C. + * c-c++-common/sizeof-array-argument.c: Add + -Wno-old-style-definition for C. + * g++.dg/lto/pr54625-1_0.c: Add -std=gnu17. + * g++.dg/lto/pr54625-2_0.c: Add -std=gnu17. + * gcc.c-torture/compile/20040214-2.c: Add -std=gnu17. + * gcc.c-torture/compile/921011-2.c: Add -std=gnu17. + * gcc.c-torture/compile/931102-1.c: Add -std=gnu17. + * gcc.c-torture/compile/990801-1.c: Add -std=gnu17. + * gcc.c-torture/compile/nested-1.c: Add -std=gnu17. + * gcc.c-torture/compile/pr100241-1.c: Add -std=gnu17. + * gcc.c-torture/compile/pr106101.c: Add -std=gnu17. + * gcc.c-torture/compile/pr113616.c: Add -std=gnu17. + * gcc.c-torture/compile/pr47967.c: Add -std=gnu17. + * gcc.c-torture/compile/pr51694.c: Add -std=gnu17. + * gcc.c-torture/compile/pr71109.c: Add -std=gnu17. + * gcc.c-torture/compile/pr83051-2.c: Add -std=gnu17. + * gcc.c-torture/compile/pr89663-1.c: Add -std=gnu17. + * gcc.c-torture/compile/pr94238.c: Add -std=gnu17. + * gcc.c-torture/compile/pr96796.c: Add -std=gnu17. + * gcc.c-torture/compile/pr97576.c: Add -std=gnu17. + * gcc.c-torture/compile/udivmod4.c: Add -std=gnu17. + * gcc.c-torture/execute/20010605-2.c: Add -std=gnu17. + * gcc.c-torture/execute/20020404-1.c: Add -std=gnu17. + * gcc.c-torture/execute/20030714-1.c: Add -std=gnu17. + * gcc.c-torture/execute/20051012-1.c: Add -std=gnu17. + * gcc.c-torture/execute/20190820-1.c: Add -std=gnu17. + * gcc.c-torture/execute/920612-1.c: Add -Wno-old-style-definition. + * gcc.c-torture/execute/930608-1.c: Add -std=gnu17. + * gcc.c-torture/execute/comp-goto-1.c: Add -std=gnu17. + * gcc.c-torture/execute/ieee/fp-cmp-1.x: Add -std=gnu17. + * gcc.c-torture/execute/ieee/fp-cmp-2.x: Add -std=gnu17. + * gcc.c-torture/execute/ieee/fp-cmp-3.x: Add -std=gnu17. + * gcc.c-torture/execute/ieee/fp-cmp-4.x: New file. + * gcc.c-torture/execute/ieee/fp-cmp-4f.x: New file. + * gcc.c-torture/execute/ieee/fp-cmp-4l.x: New file. + * gcc.c-torture/execute/loop-9.c: Add -std=gnu17. + * gcc.c-torture/execute/pr103209.c: Add -std=gnu17. + * gcc.c-torture/execute/pr28289.c: Add -std=gnu17. + * gcc.c-torture/execute/pr34982.c: Add -std=gnu17. + * gcc.c-torture/execute/pr67037.c: Add -std=gnu17. + * gcc.c-torture/execute/va-arg-2.c: Add -std=gnu17. + * gcc.dg/20010202-1.c: Add -std=gnu17. + * gcc.dg/20020430-1.c: Add -std=gnu17. + * gcc.dg/20031218-3.c: Add -std=gnu17. + * gcc.dg/20040127-1.c: Add -std=gnu17. + * gcc.dg/20041014-1.c: Add -Wno-old-style-definition. + * gcc.dg/20041122-1.c: Add -std=gnu17. + * gcc.dg/20050309-1.c: Add -std=gnu17. + * gcc.dg/20061026.c: Add -std=gnu17. + * gcc.dg/20101010-1.c: Add -std=gnu17. + * gcc.dg/Warray-parameter-10.c: Add -std=gnu17. + * gcc.dg/Wbuiltin-declaration-mismatch-2.c: Add -std=gnu17. + * gcc.dg/Wbuiltin-declaration-mismatch-3.c: Add -std=gnu17. + * gcc.dg/Wbuiltin-declaration-mismatch-4.c: Add -std=gnu17. + * gcc.dg/Wbuiltin-declaration-mismatch-5.c: Add -std=gnu17. + * gcc.dg/Wbuiltin-declaration-mismatch.c: Add -std=gnu17. + * gcc.dg/Wcxx-compat-2.c: Add -std=gnu17. + * gcc.dg/Wdouble-promotion.c: Add -std=gnu17. + * gcc.dg/Wfree-nonheap-object-7.c: Add -std=gnu17. + * gcc.dg/Wimplicit-int-1.c: Add -std=gnu17. + * gcc.dg/Wimplicit-int-1a.c: Add -std=gnu17. + * gcc.dg/Wimplicit-int-2.c: Add -std=gnu17. + * gcc.dg/Wimplicit-int-3.c: Add -std=gnu17. + * gcc.dg/Wimplicit-int-4.c: Add -std=gnu17. + * gcc.dg/Wimplicit-int-4a.c: Add -std=gnu17. + * gcc.dg/Wincompatible-pointer-types-1.c: Add -std=gnu17. + * gcc.dg/Wrestrict-19.c: Add -std=gnu17. + * gcc.dg/Wrestrict-4.c: Add -std=gnu17. + * gcc.dg/Wrestrict-5.c: Add -std=gnu17. + * gcc.dg/Wstrict-overflow-20.c: Add -std=gnu17. + * gcc.dg/Wstringop-overflow-13.c: Add -std=gnu17. + * gcc.dg/analyzer/doom-d_main-IdentifyVersion.c: Add -std=gnu17. + * gcc.dg/analyzer/doom-s_sound-pr108867.c: Add -std=gnu17. + * gcc.dg/analyzer/pr93032-mztools-signed-char.c: Add + -Wno-old-style-definition. + * gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Add + -Wno-old-style-definition. + * gcc.dg/analyzer/pr93355-localealias.c: Add + -Wno-old-style-definition. + * gcc.dg/analyzer/pr93375.c: Add -std=gnu17. + * gcc.dg/analyzer/pr94688.c: Add -std=gnu17. + * gcc.dg/analyzer/sensitive-1.c: Add -std=gnu17. + * gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_timeout-full.c: + Add -std=gnu17. + * gcc.dg/analyzer/torture/pr104863.c: Add -std=gnu17. + * gcc.dg/analyzer/torture/pr93379.c: Add -std=gnu17. + * gcc.dg/array-quals-2.c: Add -std=gnu17. + * gcc.dg/attr-invalid.c: Add -Wno-old-style-definition. + * gcc.dg/auto-init-uninit-A.c: Add -Wno-old-style-definition. + * gcc.dg/builtin-choose-expr.c: Declare exit with (int) prototype. + * gcc.dg/builtin-tgmath-err-1.c: Add -std=gnu17. + * gcc.dg/builtins-30.c: Add -std=gnu17. + * gcc.dg/cast-function-1.c: Add -std=gnu17. + * gcc.dg/cleanup-1.c: Add -std=gnu17. + * gcc.dg/compat/struct-complex-1_x.c: Add -std=gnu17. + * gcc.dg/compat/struct-complex-2_x.c: Add -std=gnu17. + * gcc.dg/compat/union-m128-1_x.c: Add -std=gnu17. + * gcc.dg/debug/dwarf2/pr66482.c: Add -std=gnu17. + * gcc.dg/dfp/composite-type-2.c: Add -std=gnu17. + * gcc.dg/dfp/composite-type.c: Add -std=gnu17. + * gcc.dg/dfp/keywords-pedantic.c: Add -std=gnu17. + * gcc.dg/dremf-type-compat-1.c: Add -std=gnu17. + * gcc.dg/dremf-type-compat-2.c: Add -std=gnu17. + * gcc.dg/dremf-type-compat-3.c: Add -std=gnu17. + * gcc.dg/dremf-type-compat-4.c: Add -std=gnu17. + * gcc.dg/enum-compat-1.c: Add -std=gnu17. + * gcc.dg/enum-compat-2.c: Add -std=gnu17. + * gcc.dg/floatn-errs.c: Add -std=gnu17. + * gcc.dg/fltconst-pedantic-dfp.c: Add -std=gnu17. + * gcc.dg/format/proto.c: Add -std=gnu17. + * gcc.dg/format/sentinel-1.c: Add -std=gnu17. + * gcc.dg/gomp/declare-simd-1.c: Add -Wno-old-style-definition. + * gcc.dg/ifelse-1.c: Add -Wno-old-style-definition. + * gcc.dg/inline-33.c: Add -std=gnu17. + * gcc.dg/ipa/inline-5.c: Add -std=gnu17. + * gcc.dg/ipa/ipa-sra-21.c: Add -std=gnu17. + * gcc.dg/ipa/pr102714.c: Add -std=gnu17. + * gcc.dg/ipa/pr104813.c: Add -std=gnu17. + * gcc.dg/ipa/pr108679.c: Add -std=gnu17. + * gcc.dg/ipa/pr42706.c: Add -std=gnu17. + * gcc.dg/ipa/pr88214.c: Add -Wno-old-style-definition. + * gcc.dg/ipa/pr91853.c: Add -Wno-old-style-definition. + * gcc.dg/ipa/pr93763.c: Add -std=gnu17. + * gcc.dg/ipa/pr96482-2.c: Add -std=gnu17. + * gcc.dg/lto/20091013-1_2.c: Add -std=gnu17. + * gcc.dg/lto/20091015-1_2.c: Add -std=gnu17. + * gcc.dg/lto/pr113197_1.c: Add -std=gnu17. + * gcc.dg/lto/pr54702_1.c: Add -std=gnu17. + * gcc.dg/lto/pr99849_0.c: Add -std=gnu17. + * gcc.dg/noncompile/920923-1.c: Add -std=gnu17. + * gcc.dg/noncompile/old-style-parm-1.c: Add + -Wno-old-style-definition. + * gcc.dg/noncompile/old-style-parm-3.c: Add + -Wno-old-style-definition. + * gcc.dg/noncompile/pr30552-2.c: Add -Wno-old-style-definition. + * gcc.dg/noncompile/pr30552-3.c: Add -std=gnu17. + * gcc.dg/noncompile/pr71265.c: Add -Wno-old-style-definition. + * gcc.dg/noncompile/pr79758-2.c: Add -Wno-old-style-definition. + * gcc.dg/noncompile/pr79758.c: Add -Wno-old-style-definition. + * gcc.dg/noncompile/va-arg-1.c: Add -std=gnu17. + * gcc.dg/old-style-prom-1.c: Add -std=gnu17. + * gcc.dg/old-style-prom-2.c: Add -std=gnu17. + * gcc.dg/old-style-prom-3.c: Add -std=gnu17. + * gcc.dg/old-style-then-proto-1.c: Add -std=gnu17. + * gcc.dg/parm-incomplete-1.c: Add -std=gnu17. + * gcc.dg/parm-mismatch-1.c: Add -std=gnu17. + * gcc.dg/permerror-default.c: Add -std=gnu17. + * gcc.dg/permerror-fpermissive-nowarning.c: Add -std=gnu17. + * gcc.dg/permerror-fpermissive.c: Add -std=gnu17. + * gcc.dg/permerror-noerror.c: Add -std=gnu17. + * gcc.dg/permerror-nowarning.c: Add -std=gnu17. + * gcc.dg/permerror-pedantic.c: Add -std=gnu17. + * gcc.dg/plugin/infoleak-net-ethtool-ioctl.c: Add -std=gnu17. + * gcc.dg/pointer-array-quals-1.c: Add -std=gnu17. + * gcc.dg/pointer-array-quals-2.c: Add -std=gnu17. + * gcc.dg/pr100791.c: Add -std=gnu17. + * gcc.dg/pr100843.c: Add -std=gnu17. + * gcc.dg/pr102273.c: Add -std=gnu17. + * gcc.dg/pr102385.c: Add -std=gnu17. + * gcc.dg/pr103222.c: Add -std=gnu17. + * gcc.dg/pr105140.c: Add -std=gnu17. + * gcc.dg/pr105150.c: Add -std=gnu17. + * gcc.dg/pr105250.c: Add -std=gnu17. + * gcc.dg/pr105972.c: Add -Wno-old-style-definition. + * gcc.dg/pr111039.c: Add -std=gnu17. + * gcc.dg/pr111407.c: Add -std=gnu17. + * gcc.dg/pr111922.c: Add -Wno-old-style-definition. + * gcc.dg/pr15236.c: Add -std=gnu17. + * gcc.dg/pr17188-1.c: Add -std=gnu17. + * gcc.dg/pr20368-1.c: Add -std=gnu17. + * gcc.dg/pr20368-2.c: Add -std=gnu17. + * gcc.dg/pr20368-3.c: Add -std=gnu17. + * gcc.dg/pr27331.c: Add -Wno-old-style-definition. + * gcc.dg/pr27861-1.c: Add -std=gnu17. + * gcc.dg/pr28121.c: Add -std=gnu17. + * gcc.dg/pr28243.c: Add -std=gnu17. + * gcc.dg/pr28888.c: Add -std=gnu17. + * gcc.dg/pr29254.c: Add -std=gnu17. + * gcc.dg/pr34457-1.c: Add -std=gnu17. + * gcc.dg/pr36015.c: Add -std=gnu17. + * gcc.dg/pr38245-3.c: Add -std=gnu17. + * gcc.dg/pr38245-4.c: Add -std=gnu17. + * gcc.dg/pr41241.c: Add -std=gnu17. + * gcc.dg/pr43058.c: Add -std=gnu17. + * gcc.dg/pr44539.c: Add -std=gnu17. + * gcc.dg/pr45055.c: Add -std=gnu17. + * gcc.dg/pr50908.c: Add -Wno-old-style-definition. + * gcc.dg/pr60647-1.c: Add -Wno-old-style-definition. + * gcc.dg/pr63762.c: Add -std=gnu17. + * gcc.dg/pr63804.c: Add -std=gnu17. + * gcc.dg/pr68306-3.c: Add -std=gnu17. + * gcc.dg/pr68533.c: Add -std=gnu17. + * gcc.dg/pr69156.c: Add -std=gnu17. + * gcc.dg/pr7356-2.c: Add -Wno-old-style-definition. + * gcc.dg/pr79983.c: Add -std=gnu17. + * gcc.dg/pr83463.c: Add -std=gnu17. + * gcc.dg/pr87347.c: Add -std=gnu17. + * gcc.dg/pr89521-1.c: Add -std=gnu17. + * gcc.dg/pr89521-2.c: Add -std=gnu17. + * gcc.dg/pr90648.c: Add -std=gnu17. + * gcc.dg/pr93573-1.c: Add -std=gnu17. + * gcc.dg/pr94167.c: Add -std=gnu17. + * gcc.dg/pr94705.c: Add -std=gnu17. + * gcc.dg/pr95118.c: Add -std=gnu17. + * gcc.dg/pr96335.c: Add -std=gnu17. + * gcc.dg/pr97830.c: Add -std=gnu17. + * gcc.dg/pr97882.c: Add -std=gnu17. + * gcc.dg/pr99122-2.c: Add -std=gnu17. + * gcc.dg/pr99122-3.c: Add -std=gnu17. + * gcc.dg/qual-component-1.c: Add -std=gnu17. + * gcc.dg/sibcall-6.c: Add -Wno-old-style-definition. + * gcc.dg/sms-2.c: Add -Wno-old-style-definition. + * gcc.dg/tm/20091221.c: Add -std=gnu17. + * gcc.dg/torture/bfloat16-basic.c: Add -Wno-old-style-definition. + * gcc.dg/torture/float128-basic.c: Add -Wno-old-style-definition. + * gcc.dg/torture/float128x-basic.c: Add -Wno-old-style-definition. + * gcc.dg/torture/float16-basic.c: Add -Wno-old-style-definition. + * gcc.dg/torture/float32-basic.c: Add -Wno-old-style-definition. + * gcc.dg/torture/float32x-basic.c: Add -Wno-old-style-definition. + * gcc.dg/torture/float64-basic.c: Add -Wno-old-style-definition. + * gcc.dg/torture/float64x-basic.c: Add -Wno-old-style-definition. + * gcc.dg/torture/pr102762.c: Add -std=gnu17. + * gcc.dg/torture/pr103987.c: Add -std=gnu17. + * gcc.dg/torture/pr104825.c: Add -Wno-old-style-definition. + * gcc.dg/torture/pr105166.c: Add -std=gnu17. + * gcc.dg/torture/pr105185.c: Add -Wno-old-style-definition. + * gcc.dg/torture/pr109652.c: Add -std=gnu17. + * gcc.dg/torture/pr112444.c: Add -std=gnu17. + * gcc.dg/torture/pr113895-3.c: Add -std=gnu17. + * gcc.dg/torture/pr24626-2.c: Add -std=gnu17. + * gcc.dg/torture/pr25183.c: Add -std=gnu17. + * gcc.dg/torture/pr38948.c: Add -std=gnu17. + * gcc.dg/torture/pr44807.c: Add -std=gnu17. + * gcc.dg/torture/pr47281.c: Add -std=gnu17. + * gcc.dg/torture/pr47958-1.c: Add -Wno-old-style-definition. + * gcc.dg/torture/pr48063.c: Add -std=gnu17. + * gcc.dg/torture/pr57036-1.c: Add -std=gnu17. + * gcc.dg/torture/pr57330.c: Add -std=gnu17. + * gcc.dg/torture/pr57584.c: Add -std=gnu17. + * gcc.dg/torture/pr67741.c: Add -std=gnu17. + * gcc.dg/torture/pr68104.c: Add -std=gnu17. + * gcc.dg/torture/pr69242.c: Add -std=gnu17. + * gcc.dg/torture/pr70457.c: Add -std=gnu17. + * gcc.dg/torture/pr70985.c: Add -std=gnu17. + * gcc.dg/torture/pr71606.c: Add -std=gnu17. + * gcc.dg/torture/pr71816.c: Add -std=gnu17. + * gcc.dg/torture/pr77286.c: Add -std=gnu17. + * gcc.dg/torture/pr77646.c: Add -std=gnu17. + * gcc.dg/torture/pr77677-2.c: Add -std=gnu17. + * gcc.dg/torture/pr78365.c: Add -Wno-old-style-definition. + * gcc.dg/torture/pr79732.c: Add -std=gnu17. + * gcc.dg/torture/pr80612.c: Add -std=gnu17. + * gcc.dg/torture/pr80764.c: Add -std=gnu17. + * gcc.dg/torture/pr80842.c: Add -std=gnu17. + * gcc.dg/torture/pr81900.c: Add -std=gnu17. + * gcc.dg/torture/pr82276.c: Add -std=gnu17. + * gcc.dg/torture/pr84803.c: Add -std=gnu17. + * gcc.dg/torture/pr93124.c: Add -std=gnu17. + * gcc.dg/torture/pr97330-1.c: Add -Wno-old-style-definition. + * gcc.dg/tree-prof/comp-goto-1.c: Add -std=gnu17. + * gcc.dg/tree-ssa/20030703-2.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030708-1.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030709-2.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030709-3.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030710-1.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030711-1.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030711-2.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030711-3.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030714-1.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030714-2.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030728-1.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030807-10.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030807-11.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030807-3.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030807-6.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030807-7.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030814-4.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030814-5.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030814-6.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20030918-1.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/20040514-2.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/loadpre7.c: Add -Wno-old-style-definition. + * gcc.dg/tree-ssa/pr111003.c: Add -std=gnu17. + * gcc.dg/tree-ssa/pr115128.c: Add -std=gnu17. + * gcc.dg/tree-ssa/pr115191.c: Add -std=gnu17. + * gcc.dg/tree-ssa/pr24840.c: Add -std=gnu17. + * gcc.dg/tree-ssa/pr69666.c: Add -std=gnu17. + * gcc.dg/tree-ssa/pr70232.c: Add -std=gnu17. + * gcc.dg/ubsan/pr79757-1.c: Add -Wno-old-style-definition. + * gcc.dg/ubsan/pr79757-2.c: Add -Wno-old-style-definition. + * gcc.dg/ubsan/pr79757-3.c: Add -Wno-old-style-definition. + * gcc.dg/ubsan/pr81223.c: Add -std=gnu17. + * gcc.dg/uninit-10-O0.c: Add -Wno-old-style-definition. + * gcc.dg/uninit-10.c: Add -Wno-old-style-definition. + * gcc.dg/uninit-32.c: Add -std=gnu17. + * gcc.dg/uninit-41.c: Add -std=gnu17. + * gcc.dg/uninit-A-O0.c: Add -Wno-old-style-definition. + * gcc.dg/uninit-A.c: Add -Wno-old-style-definition. + * gcc.dg/unused-1.c: Add -Wno-old-style-definition. + * gcc.dg/vect/bb-slp-pr114249.c: Add -std=gnu17. + * gcc.dg/vect/bb-slp-pr97486.c: Add -std=gnu17. + * gcc.dg/vect/bb-slp-subgroups-1.c: Add -std=gnu17. + * gcc.dg/vect/bb-slp-subgroups-2.c: Add -std=gnu17. + * gcc.dg/vect/bb-slp-subgroups-3.c: Add -std=gnu17. + * gcc.dg/vect/vect-early-break_111-pr113731.c: Add -std=gnu17. + * gcc.dg/vect/vect-early-break_122-pr114239.c: Add -std=gnu17. + * gcc.dg/vect/vect-multi-peel-gaps.c: Add -std=gnu17. + * gcc.dg/vla-stexp-2.c: Add -std=gnu17. + * gcc.dg/warn-1.c: Add -Wno-old-style-definition. + * gcc.dg/winline-10.c: Add -Wno-old-style-definition. + * gcc.dg/wtr-label-1.c: Add -Wno-old-style-definition. + * gcc.dg/wtr-switch-1.c: Add -Wno-old-style-definition. + * gcc.target/i386/excess-precision-3.c: Add + -Wno-old-style-definition. + * gcc.target/i386/fma4-256-nmsubXX.c: Add -std=gnu17. + * gcc.target/i386/fma4-nmsubXX.c: Add -std=gnu17. + * gcc.target/i386/nop-mcount.c: Add -Wno-old-style-definition. + * gcc.target/i386/pr102627.c: Add -std=gnu17. + * gcc.target/i386/pr106994.c: Add -std=gnu17. + * gcc.target/i386/pr68349.c: Add -std=gnu17. + * gcc.target/i386/pr97313.c: Add -std=gnu17. + * gcc.target/i386/pr99454.c: Add -std=gnu17. + * gcc.target/i386/record-mcount.c: Add -Wno-old-style-definition. + +2024-10-16 Andi Kleen <ak@gcc.gnu.org> + + * gcc.dg/vect/vect-switch-ifcvt-3.c: New test. + +2024-10-16 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/pr65518.c: Adjust. + +2024-10-16 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/c23-version-1.c, gcc.dg/c23-version-2.c, + gcc.dg/gnu23-version-1.c: New tests. + +2024-10-16 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/pr116655.c: New test. + +2024-10-16 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/init-1.c: New test. + * c-c++-common/init-2.c: New test. + * c-c++-common/init-3.c: New test. + +2024-10-16 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/embed-24.c: New test. + +2024-10-16 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/embed-20.c: New test. + * c-c++-common/cpp/embed-21.c: New test. + * c-c++-common/cpp/embed-28.c: New test. + * gcc.dg/cpp/embed-8.c: New test. + * gcc.dg/cpp/embed-9.c: New test. + * gcc.dg/cpp/embed-10.c: New test. + * gcc.dg/cpp/embed-11.c: New test. + * gcc.dg/cpp/embed-12.c: New test. + * gcc.dg/cpp/embed-13.c: New test. + * gcc.dg/cpp/embed-14.c: New test. + * gcc.dg/cpp/embed-15.c: New test. + * gcc.dg/cpp/embed-16.c: New test. + * gcc.dg/pch/embed-1.c: New test. + * gcc.dg/pch/embed-1.hs: New test. + * gcc.dg/lto/embed-1_0.c: New test. + * gcc.dg/lto/embed-1_1.c: New test. + +2024-10-16 liuhongt <hongtao.liu@intel.com> + + PR testsuite/115365 + * gcc.dg/pr100927.c: Adjust testcase to avoid scan FIX in REG_EQUIV. + +2024-10-15 Qing Zhao <qing.zhao@oracle.com> + + PR c/116016 + * gcc.dg/builtin-counted-by-ref-1.c: New test. + * gcc.dg/builtin-counted-by-ref.c: New test. + +2024-10-15 Jakub Jelinek <jakub@redhat.com> + + PR c/117022 + * gcc.dg/c23-named-loops-1.c: New test. + * gcc.dg/c23-named-loops-5.c: New test. + * gcc.dg/c2y-named-loops-1.c: New test. + * gcc.dg/c2y-named-loops-2.c: New test. + * gcc.dg/c2y-named-loops-4.c: New test. + * gcc.dg/c2y-named-loops-5.c: New test. + * gcc.dg/c2y-named-loops-6.c: New test. + * gcc.dg/c2y-named-loops-7.c: New test. + * gcc.dg/gnu99-named-loops-1.c: New test. + * gcc.dg/gnu99-named-loops-2.c: New test. + * gcc.dg/gnu99-named-loops-3.c: New test. + * gcc.dg/gnu99-named-loops-4.c: New test. + * gcc.dg/gnu2y-named-loops-3.c: New test. + * gcc.dg/gomp/named-loops-1.c: New test. + * gcc.dg/gomp/named-loops-2.c: New test. + * objc.dg/named-loops-1.m: New test. + +2024-10-15 Patrick Palka <ppalka@redhat.com> + + PR c++/80637 + * g++.dg/cpp2a/concepts-fn9.C: New test. + +2024-10-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116891 + * gcc.dg/pr116891.c: New test. + * gcc.target/i386/fma-pr116891.c: New test. + +2024-10-15 Patrick Palka <ppalka@redhat.com> + + PR c++/116710 + * g++.dg/template/unify12.C: New test. + +2024-10-15 Patrick Palka <ppalka@redhat.com> + + PR c++/117054 + * g++.dg/cpp2a/lambda-targ9.C: New test. + +2024-10-15 Uros Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/pr107432-9.c: Require AVX2 effective target. + Include avx2-check.h instead of avx-check.h. Define TEST to avx2_test. + +2024-10-15 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_cpython_plugin.c: Use success_call_info + in a couple of places to avoid reimplementing get_desc. + +2024-10-15 David Malcolm <dmalcolm@redhat.com> + + * jit.dg/test-error-pr63969-missing-driver.c (create_code): When + breaking PATH, use setenv with a bogus value, rather than + unsetenv, in case the system uses a default path that contains + the driver binary. + +2024-10-15 Uros Bizjak <ubizjak@gmail.com> + + PR target/117116 + * gcc.target/i386/pr117116.c: New test. + +2024-10-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117147 + * gcc.dg/vect/pr117147.c: New testcase. + +2024-10-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117138 + * gcc.dg/torture/pr117138.c: New testcase. + +2024-10-15 Richard Biener <rguenther@suse.de> + + PR middle-end/117137 + * gcc.dg/torture/pr117137.c: New testcase. + +2024-10-15 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/acle/asm/mul_s8.c: New test. + * 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_u8.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/mul_const_run.c: Likewise. + +2024-10-15 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/Wtrailing-whitespace-1.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-2.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-3.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-4.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-5.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-6.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-7.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-8.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-9.c: New test. + * c-c++-common/cpp/Wtrailing-whitespace-10.c: New test. + +2024-10-15 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Add + compile option for expanding check. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Ditto. + +2024-10-14 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/cpp-2_c.C: Expect only one space after import. + * g++.dg/modules/cpp-5_c.C + * g++.dg/modules/dep-2.C + * g++.dg/modules/dir-only-2_b.C + * g++.dg/modules/pr99050_b.C + * g++.dg/modules/inc-xlate-1_b.H + * g++.dg/modules/legacy-3_b.H + * g++.dg/modules/legacy-3_c.H: Likewise. + +2024-10-14 Jason Merrill <jason@redhat.com> + + * g++.dg/DRs/dr2918.C: New test. + +2024-10-14 Andre Vieira <andre.simoesdiasvieira@arm.com> + Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/vect/pr116997.c: New test. + +2024-10-14 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/114436 + * c-c++-common/cpp/pragma-system-header-1.h: New test. + * c-c++-common/cpp/pragma-system-header-2.h: New test. + * c-c++-common/cpp/pragma-system-header.c: New test. + +2024-10-14 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/109704 + * c-c++-common/cpp/pragma-push-pop-utf8.c: New test. + * g++.dg/pch/pushpop-2.C: New test. + * g++.dg/pch/pushpop-2.Hs: New test. + * gcc.dg/pch/pushpop-2.c: New test. + * gcc.dg/pch/pushpop-2.hs: New test. + +2024-10-14 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray/dummy_3.f90: New test. + +2024-10-14 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116956 + * gfortran.dg/vect/pr116956.f90: New test. + +2024-10-14 Tamar Christina <tamar.christina@arm.com> + + PR rtl-optimization/117012 + * gcc.target/aarch64/pr117012.c: New test. + +2024-10-14 Tamar Christina <tamar.christina@arm.com> + + PR target/116371 + * gcc.target/aarch64/sme2/acle-asm/psel_b16.c, + gcc.target/aarch64/sme2/acle-asm/psel_b32.c, + gcc.target/aarch64/sme2/acle-asm/psel_b64.c, + gcc.target/aarch64/sme2/acle-asm/psel_b8.c, + gcc.target/aarch64/sme2/acle-asm/psel_c16.c, + gcc.target/aarch64/sme2/acle-asm/psel_c32.c, + gcc.target/aarch64/sme2/acle-asm/psel_c64.c, + gcc.target/aarch64/sme2/acle-asm/psel_c8.c: Renamed to.... + * gcc.target/aarch64/sme2/acle-asm/psel_lane_b16.c, + gcc.target/aarch64/sme2/acle-asm/psel_lane_b32.c, + gcc.target/aarch64/sme2/acle-asm/psel_lane_b64.c, + gcc.target/aarch64/sme2/acle-asm/psel_lane_b8.c, + gcc.target/aarch64/sme2/acle-asm/psel_lane_c16.c, + gcc.target/aarch64/sme2/acle-asm/psel_lane_c32.c, + gcc.target/aarch64/sme2/acle-asm/psel_lane_c64.c, + gcc.target/aarch64/sme2/acle-asm/psel_lane_c8.c: ... These. + +2024-10-14 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vect/vect-early-break_126.c: New test. + * gcc.dg/vect/vect-early-break_127.c: New test. + * gcc.dg/vect/vect-early-break_128.c: New test. + +2024-10-14 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114593 + * gnat.dg/specs/generic_inst2-child2.ads: New test. + * gnat.dg/specs/generic_inst2.ads: New helper. + * gnat.dg/specs/generic_inst2-child1.ads: Likewise. + +2024-10-14 Richard Sandiford <richard.sandiford@arm.com> + + PR target/116999 + PR target/117045 + * gcc.target/aarch64/sve/acle/general/whilele_5.c: Fix bogus + expected result. + * gcc.target/aarch64/sve/acle/general/whilele_11.c: New test. + * gcc.target/aarch64/sve/acle/general/whilele_12.c: Likewise. + +2024-10-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i64.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-4-i8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i64.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-4-i8.c: New test. + +2024-10-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i64.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-3-i8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i64.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-3-i8.c: New test. + +2024-10-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i64.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-2-i8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i64.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-2-i8.c: New test. + +2024-10-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116290 + * gcc.dg/pr116290.c: New testcase. + +2024-10-14 Oleg Endo <olegendo@gcc.gnu.org> + + * gcc.target/sh/pr53512-1.c: Add -fno-math-errno option. + * gcc.target/sh/pr53512-2.c: Likewise. + * gcc.target/sh/pr53512-3.c: Likewise. + * gcc.target/sh/pr53512-4.c: Likewise. + * gcc.target/sh/pr54680.c: Likewise. + +2024-10-13 Simon Martin <simon@nasilyan.com> + + Revert: + 2024-10-13 Simon Martin <simon@nasilyan.com> + + PR c++/109918 + * g++.dg/warn/Woverloaded-virt1.C: Check that no warning is + emitted for non virtual base methods. + * g++.dg/warn/Woverloaded-virt5.C: New test. + * g++.dg/warn/Woverloaded-virt6.C: New test. + * g++.dg/warn/Woverloaded-virt7.C: New test. + * g++.dg/warn/Woverloaded-virt8.C: New test. + * g++.dg/warn/Woverloaded-virt9.C: New test. + +2024-10-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116481 + * gcc.dg/pr116481.c: New testcase. + +2024-10-12 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_36.f90: New test. + +2024-10-12 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/116985 + * gcc.dg/vect/pr116985.c: New testcase. + +2024-10-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117104 + * gcc.dg/pr117104.c: New testcase. + +2024-10-12 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.dg/gomp/polymorphic-mapping.f90: New test. + * gfortran.dg/gomp/polymorphic-mapping-2.f90: New test. + +2024-10-12 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/pr55583.c: Use long long for 64-bit integer. + +2024-10-12 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/pr115749.c (uword): New. + (func): Replace unsigned long with uword. + +2024-10-12 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/invariant-ternlog-1.c: Also scan (%edx). + +2024-10-12 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/counter-2.c: Adjust expected diagnostics for + libcpp diagnostic formatting changes. + * c-c++-common/cpp/embed-3.c: Likewise. + * c-c++-common/cpp/embed-4.c: Likewise. + * c-c++-common/cpp/embed-16.c: Likewise. + * c-c++-common/cpp/embed-18.c: Likewise. + * c-c++-common/cpp/eof-2.c: Likewise. + * c-c++-common/cpp/eof-3.c: Likewise. + * c-c++-common/cpp/fmax-include-depth.c: Likewise. + * c-c++-common/cpp/has-builtin.c: Likewise. + * c-c++-common/cpp/line-2.c: Likewise. + * c-c++-common/cpp/line-3.c: Likewise. + * c-c++-common/cpp/macro-arg-count-1.c: Likewise. + * c-c++-common/cpp/macro-arg-count-2.c: Likewise. + * c-c++-common/cpp/macro-ranges.c: Likewise. + * c-c++-common/cpp/named-universal-char-escape-4.c: Likewise. + * c-c++-common/cpp/named-universal-char-escape-5.c: Likewise. + * c-c++-common/cpp/pr88974.c: Likewise. + * c-c++-common/cpp/va-opt-error.c: Likewise. + * c-c++-common/cpp/va-opt-pedantic.c: Likewise. + * c-c++-common/cpp/Wheader-guard-2.c: Likewise. + * c-c++-common/cpp/Wheader-guard-3.c: Likewise. + * c-c++-common/cpp/Winvalid-utf8-1.c: Likewise. + * c-c++-common/cpp/Winvalid-utf8-2.c: Likewise. + * c-c++-common/cpp/Winvalid-utf8-3.c: Likewise. + * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-1.c: + Likewise. + * c-c++-common/diagnostic-format-sarif-file-bad-utf8-pr109098-3.c: + Likewise. + * c-c++-common/pr68833-3.c: Likewise. + * c-c++-common/raw-string-directive-1.c: Likewise. + * gcc.dg/analyzer/named-constants-Wunused-macros.c: Likewise. + * gcc.dg/binary-constants-4.c: Likewise. + * gcc.dg/builtin-redefine.c: Likewise. + * gcc.dg/cpp/19951025-1.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/c23-elifdef-2.c: Likewise. + * gcc.dg/cpp/c23-warning-2.c: Likewise. + * gcc.dg/cpp/embed-2.c: Likewise. + * gcc.dg/cpp/embed-3.c: Likewise. + * gcc.dg/cpp/embed-4.c: Likewise. + * gcc.dg/cpp/expr.c: Likewise. + * gcc.dg/cpp/gnu11-elifdef-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/gnu23-warning-2.c: Likewise. + * gcc.dg/cpp/include6.c: Likewise. + * gcc.dg/cpp/pr35322.c: Likewise. + * gcc.dg/cpp/tr-warn6.c: Likewise. + * gcc.dg/cpp/undef2.c: Likewise. + * gcc.dg/cpp/warn-comments.c: Likewise. + * gcc.dg/cpp/warn-comments-2.c: Likewise. + * gcc.dg/cpp/warn-comments-3.c: Likewise. + * gcc.dg/cpp/warn-cxx-compat.c: Likewise. + * gcc.dg/cpp/warn-cxx-compat-2.c: Likewise. + * gcc.dg/cpp/warn-deprecated.c: Likewise. + * gcc.dg/cpp/warn-deprecated-2.c: Likewise. + * gcc.dg/cpp/warn-long-long.c: Likewise. + * gcc.dg/cpp/warn-long-long-2.c: Likewise. + * gcc.dg/cpp/warn-normalized-1.c: Likewise. + * gcc.dg/cpp/warn-normalized-2.c: Likewise. + * gcc.dg/cpp/warn-normalized-3.c: Likewise. + * gcc.dg/cpp/warn-normalized-4-bytes.c: Likewise. + * gcc.dg/cpp/warn-normalized-4-unicode.c: Likewise. + * gcc.dg/cpp/warn-redefined.c: Likewise. + * gcc.dg/cpp/warn-redefined-2.c: Likewise. + * gcc.dg/cpp/warn-traditional.c: Likewise. + * gcc.dg/cpp/warn-traditional-2.c: Likewise. + * gcc.dg/cpp/warn-trigraphs-1.c: Likewise. + * gcc.dg/cpp/warn-trigraphs-2.c: Likewise. + * gcc.dg/cpp/warn-trigraphs-3.c: Likewise. + * gcc.dg/cpp/warn-trigraphs-4.c: Likewise. + * gcc.dg/cpp/warn-undef.c: Likewise. + * gcc.dg/cpp/warn-undef-2.c: Likewise. + * gcc.dg/cpp/warn-unused-macros.c: Likewise. + * gcc.dg/cpp/warn-unused-macros-2.c: Likewise. + * gcc.dg/pch/counter-2.c: Likewise. + * g++.dg/cpp0x/udlit-error1.C: Likewise. + * g++.dg/cpp23/named-universal-char-escape1.C: Likewise. + * g++.dg/cpp23/named-universal-char-escape2.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-1.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-2.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-3.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-4.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-5.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-6.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-7.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-8.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-9.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-10.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-11.C: Likewise. + * g++.dg/cpp23/Winvalid-utf8-12.C: Likewise. + * g++.dg/cpp/elifdef-3.C: Likewise. + * g++.dg/cpp/elifdef-5.C: Likewise. + * g++.dg/cpp/elifdef-6.C: Likewise. + * g++.dg/cpp/elifdef-7.C: Likewise. + * g++.dg/cpp/embed-1.C: Likewise. + * g++.dg/cpp/embed-2.C: Likewise. + * g++.dg/cpp/pedantic-errors.C: Likewise. + * g++.dg/cpp/warning-1.C: Likewise. + * g++.dg/cpp/warning-2.C: Likewise. + * g++.dg/ext/bitint1.C: Likewise. + * g++.dg/ext/bitint2.C: Likewise. + +2024-10-12 Uros Bizjak <ubizjak@gmail.com> + + PR middle-end/112600 + * gcc.target/i386/pr112600-4a.c: New test. + * gcc.target/i386/pr112600-4b.c: New test. + +2024-10-12 Simon Martin <simon@nasilyan.com> + + PR c++/109918 + * g++.dg/warn/Woverloaded-virt1.C: Check that no warning is + emitted for non virtual base methods. + * g++.dg/warn/Woverloaded-virt5.C: New test. + * g++.dg/warn/Woverloaded-virt6.C: New test. + * g++.dg/warn/Woverloaded-virt7.C: New test. + * g++.dg/warn/Woverloaded-virt8.C: New test. + * g++.dg/warn/Woverloaded-virt9.C: New test. + +2024-10-12 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Add test + data for run test. + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper + macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i64.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-1-i8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i64.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_sub-run-1-i8.c: New test. + +2024-10-11 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/bmi2-pr112526.c: Replace long with long long. + * gcc.target/i386/pr105854.c: Likewise. + * gcc.target/i386/pr112943.c: Likewise. + * gcc.target/i386/pr67325.c: Likewise. + * gcc.target/i386/pr97971.c: Likewise. + +2024-10-11 H.J. Lu <hjl.tools@gmail.com> + + * g++.target/i386/pr105953.C: Skip for x32. + +2024-10-11 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/pr115407.c: Only run for lp64. + +2024-10-11 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/117048 + * g++.target/aarch64/pr117048.C: New test. + +2024-10-11 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/116826 + PR tree-optimization/86710 + * gcc.dg/tree-ssa/log_ident.c: New test. + +2024-10-11 Saurabh Jha <saurabh.jha@arm.com> + + * gcc.target/aarch64/sve/faminmax_1.c: New test. + * gcc.target/aarch64/sve/faminmax_2.c: New test. + +2024-10-11 Saurabh Jha <saurabh.jha@arm.com> + + * gcc.target/aarch64/sve2/acle/asm/amax_f16.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amax_f32.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amax_f64.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amin_f16.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amin_f32.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amin_f64.c: New test. + +2024-10-11 Richard Biener <rguenther@suse.de> + + PR middle-end/117086 + * gcc.dg/torture/pr117086.c: New testcase. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i8.c: New test. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i8.c: New test. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i8.c: New test. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i8.c: New test. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i8.c: New test. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i8.c: New test. + +2024-10-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i8.c: New test. + +2024-10-11 Jakub Jelinek <jakub@redhat.com> + + PR target/117053 + * g++.target/i386/pr116896-3.C: New test. + +2024-10-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117050 + * gcc.dg/vect/pr117050.c: New testcase. + +2024-10-10 Richard Ball <richard.ball@arm.com> + + PR tree-optimization/116258 + * gcc.target/aarch64/pr116258.c: + Alter test to add big-endian support. + +2024-10-10 Li Xu <xuli1@eswincomputing.com> + + PR target/116883 + * g++.target/riscv/rvv/base/pr116883.C: New test. + +2024-10-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117060 + * gfortran.dg/pr117060.f90: New testcase. + +2024-10-10 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/116831 + * gcc.dg/torture/pr116831.c: New test. + +2024-10-10 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-57.c: New testcase. + * gcc.dg/Wstringop-overflow-47.c: Adjust. + * gcc.dg/strlenopt-32.c: XFAIL parts. + +2024-10-10 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx256_avoid_vec_perm.c: New test. + +2024-10-10 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/sse_movcc_use_blendv.c: New file. + +2024-10-10 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/truncsfbf-1.c: New test. + * gcc.target/i386/truncsfbf-2.c: New test. + +2024-10-09 liuhongt <hongtao.liu@intel.com> + + * gcc.dg/fstack-protector-strong.c: Adjust + scan-assembler-times. + * gcc.dg/graphite/scop-6.c: Refine the testcase to avoid array + out of bounds. + * gcc.dg/graphite/scop-9.c: Ditto. + * gcc.dg/tree-ssa/ivopts-lt-2.c: Add -fno-tree-vectorize. + * gcc.dg/tree-ssa/ivopts-lt.c: Ditto. + * gcc.dg/tree-ssa/loop-16.c: Ditto. + * gcc.dg/tree-ssa/loop-28.c: Ditto. + * gcc.dg/tree-ssa/loop-bound-2.c: Ditto. + * gcc.dg/tree-ssa/loop-bound-4.c: Ditto. + * gcc.dg/tree-ssa/loop-bound-6.c: Ditto. + * gcc.dg/tree-ssa/predcom-4.c: Ditto. + * gcc.dg/tree-ssa/predcom-5.c: Ditto. + * gcc.dg/tree-ssa/scev-11.c: Ditto. + * gcc.dg/tree-ssa/scev-9.c: Ditto. + * gcc.dg/tree-ssa/split-path-11.c: Ditto. + * gcc.dg/unroll-8.c: Ditto. + * gcc.dg/var-expand1.c: Ditto. + * gcc.dg/vect/vect-cost-model-6.c: Removed. + * gcc.target/i386/pr86270.c: Ditto. + * gcc.target/i386/pr86722.c: Ditto. + * gcc.target/x86_64/abi/callabi/leaf-2.c: Ditto. + +2024-10-09 Jovan Vukic <Jovan.Vukic@rt-rk.com> + + PR target/115921 + * gcc.target/riscv/branch-1.c: Additional tests. + +2024-10-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/mod_2.c: Corrected effective-target to + arm_cpu_cortex_a57_ok. + * gcc.target/arm/mod_256.c: Likewise. + +2024-10-09 Richard Sandiford <richard.sandiford@arm.com> + + PR target/116629 + * gcc.target/aarch64/sve/acle/general/pr106326_2.c: New test. + +2024-10-09 Richard Sandiford <richard.sandiford@arm.com> + + * lib/scanasm.exp (check-function-bodies): Look in ltrans0.ltrans.s + if the test appears to be using LTO. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + * g++.dg/cpp0x/initlist-opt1.C: Adjust for different diagnostics + from std::construct_at by adding -fconcepts-diagnostics-depth=2. + +2024-10-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117041 + * gcc.dg/torture/pr117041.c: New testcase. + +2024-10-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/pr65647.c: Use effective-target arm_arch_v6m. + Removed unneeded dg-skip-if. + * gcc.target/arm/mod_2.c: Use effective-target arm_cpu_cortex_a57. + * gcc.target/arm/mod_256.c: Likewise. + * gcc.target/arm/vseleqdf.c: Likewise. + * gcc.target/arm/vseleqsf.c: Likewise. + * gcc.target/arm/vselgedf.c: Likewise. + * gcc.target/arm/vselgesf.c: Likewise. + * gcc.target/arm/vselgtdf.c: Likewise. + * gcc.target/arm/vselgtsf.c: Likewise. + * gcc.target/arm/vselledf.c: Likewise. + * gcc.target/arm/vsellesf.c: Likewise. + * gcc.target/arm/vselltdf.c: Likewise. + * gcc.target/arm/vselltsf.c: Likewise. + * gcc.target/arm/vselnedf.c: Likewise. + * gcc.target/arm/vselnesf.c: Likewise. + * gcc.target/arm/vselvcdf.c: Likewise. + * gcc.target/arm/vselvcsf.c: Likewise. + * gcc.target/arm/vselvsdf.c: Likewise. + * gcc.target/arm/vselvssf.c: Likewise. + * lib/target-supports.exp: Define effective-target arm_cpu_cortex_a57. + Update effective-target arm_v8_1_lob_ok to use -mcpu=unset. + +2024-10-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116575 + PR tree-optimization/114375 + * gcc.dg/vect/vect-pr114375.c: Expect vectorization now with avx2. + +2024-10-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/117000 + * gcc.target/i386/pr117000.c: New testcase. + +2024-10-09 Ken Matsui <kmatsui@gcc.gnu.org> + + PR preprocessor/89808 + * g++.dg/warn/Wno-pragma-once-outside-header.C: New test. + * g++.dg/warn/Wpragma-once-outside-header.C: New test. + +2024-10-09 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + * gcc.dg/tree-ssa/pr116024-2.c: New test. + * gcc.dg/tree-ssa/pr116024-2-fwrapv.c: Ditto. + * gcc.target/aarch64/gtu_to_ltu_cmp_1.c: Adjust. + +2024-10-09 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + * gcc.dg/tree-ssa/pr116024-1-fwrapv.c: New test. + +2024-10-08 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + * gcc.dg/tree-ssa/pr116024-1.c: New test. + +2024-10-08 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + * gcc.dg/tree-ssa/pr116024.c: New test. + * gcc.dg/pr67089-6.c: Adjust. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/116190 + * gnat.dg/aggr31.adb: New test. + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115535 + * gnat.dg/put_image1.adb: New test + +2024-10-08 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114636 + * gnat.dg/specs/generic_inst1.ads: New test. + +2024-10-08 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_arith_data.h: Add test data for SAT_TRUNC. + * gcc.target/riscv/sat_s_trunc-1-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-1-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-1-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-1-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-1-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-1-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-1-i64-to-i8.c: New test. + +2024-10-08 Soumya AR <soumyaa@nvidia.com> + + PR target/109498 + * gcc.target/aarch64/sve/ctz.c: New test. + +2024-10-08 Co-authored-by: Jeff Law <jlaw@ventanamicro.com> + + PR target/116615 + * gcc.target/riscv/cset-sext-sfb.c: Skip for -Os. + +2024-10-08 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/pr102532.f90: Fix dg-errors: Add new error. + * gfortran.dg/coarray/substring_1.f90: New test. + +2024-10-08 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_sub-4-i16.c: New test. + * gcc.target/riscv/sat_s_sub-4-i32.c: New test. + * gcc.target/riscv/sat_s_sub-4-i64.c: New test. + * gcc.target/riscv/sat_s_sub-4-i8.c: New test. + * gcc.target/riscv/sat_s_sub-run-4-i16.c: New test. + * gcc.target/riscv/sat_s_sub-run-4-i32.c: New test. + * gcc.target/riscv/sat_s_sub-run-4-i64.c: New test. + * gcc.target/riscv/sat_s_sub-run-4-i8.c: New test. + +2024-10-08 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_sub-3-i16.c: New test. + * gcc.target/riscv/sat_s_sub-3-i32.c: New test. + * gcc.target/riscv/sat_s_sub-3-i64.c: New test. + * gcc.target/riscv/sat_s_sub-3-i8.c: New test. + * gcc.target/riscv/sat_s_sub-run-3-i16.c: New test. + * gcc.target/riscv/sat_s_sub-run-3-i32.c: New test. + * gcc.target/riscv/sat_s_sub-run-3-i64.c: New test. + * gcc.target/riscv/sat_s_sub-run-3-i8.c: New test. + +2024-10-08 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116896 + * gcc.target/i386/pr116896.c: New test. + +2024-10-08 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/named-universal-char-escape-1.c: Add tests + for some Unicode 16.0 characters, both normal and generated. + +2024-10-08 Andreas Schwab <schwab@suse.de> + + * gfortran.dg/pr95690.f90: Allow matching error message anywhere. + +2024-10-08 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/jump-table-annotate.c: New test. + +2024-10-08 Xiao Zeng <zengxiao@eswincomputing.com> + + * gcc.target/riscv/predef-38.c: New test. + * gcc.target/riscv/predef-39.c: New test. + +2024-10-07 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.dg/gomp/allocate-static.f90: Move to libgomp/testsuite/. + +2024-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_35.f90: New test. + +2024-10-07 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/cset-sext-sfb.c: Turn off ssa-phiopt. + * gcc.target/riscv/cset-sext-thead.c: Do not check CE output anymore. + * gcc.target/riscv/cset-sext-ventana.c: Similarly. Adjust branch cost. + * gcc.target/riscv/cset-sext-zicond.c: Similarly. + * gcc.target/riscv/cset-sext.c: Similarly. No longer allow + "neg" in asm output. + +2024-10-07 qing zhao <qing.zhao@oracle.com> + + PR c/116735 + * gcc.dg/flex-array-counted-by-9.c: New test. + +2024-10-07 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp0x/auto43.C: Adjust diagnostic. + * g++.dg/cpp2a/lambda-generic7.C: Likewise. + +2024-10-07 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/macro-8_a.H: New test. + * g++.dg/modules/macro-8_b.C: New test. + * g++.dg/modules/macro-8_c.C: New test. + * g++.dg/modules/macro-8_d.C: New test. + +2024-10-07 Jakub Jelinek <jakub@redhat.com> + + * gcc.target/aarch64/uxtl-combine-1.c: Remove executable permissions. + * gcc.target/aarch64/uxtl-combine-2.c: Likewise. + * gcc.target/aarch64/uxtl-combine-3.c: Likewise. + * gcc.target/aarch64/uxtl-combine-4.c: Likewise. + * gcc.target/aarch64/uxtl-combine-5.c: Likewise. + * gcc.target/aarch64/uxtl-combine-6.c: Likewise. + * gcc.target/gcn/complex.c: Likewise. + * gcc.target/i386/avx2-bf16-vec-absneg.c: Likewise. + * gcc.target/i386/avx512f-bf16-vec-absneg.c: Likewise. + * gcc.target/i386/pr104371-2.c: Likewise. + * gcc.target/i386/pr115146.c: Likewise. + * gcc.target/i386/vpermt2-special-bf16-shufflue.c: Likewise. + * g++.target/i386/pr107563-a.C: Likewise. + * g++.target/i386/pr107563-b.C: Likewise. + +2024-10-07 Victor Do Nascimento <victor.donascimento@arm.com> + + * gcc.dg/vect/vect-fncall-mask-math.c: New. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/116583 + * gcc.dg/vect/slp-13.c: Remove xfail for vect_variable_length. + * gcc.dg/vect/slp-13-big-array.c: Likewise. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sve/permute_5.c: New test. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + PR target/116583 + * gcc.target/aarch64/sve/permute_1.c: New test. + * gcc.target/aarch64/sve/permute_2.c: Likewise. + * gcc.target/aarch64/sve/permute_3.c: Likewise. + * gcc.target/aarch64/sve/permute_4.c: Likewise. + +2024-10-07 Richard Sandiford <richard.sandiford@arm.com> + + * lib/gcc-dg.exp (gcc-dg-runtest): Unset torture_current_flags + after each test. + +2024-10-07 Alex Coplan <alex.coplan@arm.com> + + PR testsuite/116683 + * g++.dg/ext/pragma-unroll-lambda-lto.C (main): Add #pragma to + prevent unrolling of the setup loop. + +2024-10-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116896 + * g++.target/i386/pr116896-1.C: New test. + * g++.target/i386/pr116896-2.C: New test. + +2024-10-07 Tobias Burnus <tburnus@baylibre.com> + + * c-c++-common/gomp/allocate-9.c: Update for removed sorry. + * gfortran.dg/gomp/allocate-15.f90: Likewise. + * gfortran.dg/gomp/allocate-pinned-1.f90: Likewise. + * gfortran.dg/gomp/allocate-4.f90: Likewise; add dg-error for + previously missing diagnostic. + * c-c++-common/gomp/allocate-18.c: New test. + * c-c++-common/gomp/allocate-19.c: New test. + * gfortran.dg/gomp/allocate-clause.f90: New test. + * gfortran.dg/gomp/allocate-static-2.f90: New test. + * gfortran.dg/gomp/allocate-static.f90: New test. + +2024-10-07 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.dg/vect/slp-26.c: Adjust GCN. + +2024-10-07 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.misc-tests/options.exp: Re-enable for nvptx. + +2024-10-07 Thomas Schwinge <thomas@codesourcery.com> + + * c-c++-common/torture/complex-sign-mixed-add.c: Re-enable all + variants for nvptx. + * c-c++-common/torture/complex-sign-mixed-sub.c: Likewise. + +2024-10-07 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.dg/special/weak-2.c: Re-enable for nvptx. + +2024-10-07 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.c-torture/execute/20020529-1.c: Re-enable all variants for + nvptx. + +2024-10-07 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.c-torture/execute/printf-1.c: XFAIL for nvptx. + * gcc.c-torture/execute/printf-chk-1.c: Likewise. + * gcc.c-torture/execute/vprintf-1.c: Likewise. + * gcc.c-torture/execute/vprintf-chk-1.c: Likewise. + * lib/target-supports.exp (check_effective_target_freestanding): + Disable for nvptx. + +2024-10-07 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.c-torture/compile/920501-4.c: Re-enable nvptx + "ptxas times out" variants. + * gcc.c-torture/compile/921011-1.c: Likewise. + * gcc.c-torture/compile/pr34334.c: Likewise. + * gcc.c-torture/compile/pr37056.c: Likewise. + * gcc.c-torture/compile/pr39423-1.c: Likewise. + * gcc.c-torture/compile/pr49049.c: Likewise. + * gcc.c-torture/compile/pr59417.c: Likewise. + * gcc.c-torture/compile/limits-fndefn.c: Likewise. + Specify '-Wa,--no-verify' for nvptx '-O0'. + +2024-10-07 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.c-torture/compile/20080721-1.c: Re-enable for nvptx. + +2024-10-06 John David Anglin <danglin@gcc.gnu.org> + + * g++.dg/cpp0x/noexcept87.C: Require lto. + * g++.dg/ext/pragma-unroll-lambda-lto.C: Likewise. + * gcc.dg/enum-alias-3.c: Likewise. + +2024-10-05 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/auto_var_init.adb: New test. + +2024-10-04 H.J. Lu <hjl.tools@gmail.com> + + PR target/116962 + * gcc.target/i386/pr116962.c: New file. + +2024-10-04 Saurabh Jha <saurabh.jha@arm.com> + + PR target/116934 + * gcc.target/aarch64/sve2/pr116934.c: New test. + +2024-10-04 Georg-Johann Lay <avr@gjlay.de> + + PR target/116953 + * gcc.target/avr/torture/pr116953.c: New test. + +2024-10-04 Georg-Johann Lay <avr@gjlay.de> + + * lib/target-supports.exp (check_effective_target_double_float32xplus): + New proc. + * gcc.dg/torture/float32x-builtin.c: Add + dg-require-effective-target double_float32xplus. + * gcc.dg/torture/float32x-tg-2.c: Same. + * gcc.dg/torture/float32x-tg.c: Same. + * gcc.dg/torture/float64-builtin.c: Add + dg-require-effective-target double64plus. + * gcc.dg/torture/float64-tg-2.c: Same. + * gcc.dg/torture/float64-tg.c: Same. + +2024-10-04 Thiago Jung Bauermann <thiago.bauermann@linaro.org> + + * gcc.target/arm/pr59858.c: Add -fpermissive. + * gcc.target/arm/pr65647.c: Likewise. + * gcc.target/arm/pr65710.c: Likewise. + * gcc.target/arm/pr97969.c: Likewise. + +2024-10-04 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp26/unevalstr1.C: Revert the 2024-10-03 changes, instead + expect extra warnings. Add another set of tests without space + between " and _. + * g++.dg/cpp26/unevalstr2.C: Expect extra warnings for C++23. Add + another set of tests without space between " and _. + +2024-10-04 Jakub Jelinek <jakub@redhat.com> + + PR target/116921 + * gcc.target/i386/pr116921.c: New test. + +2024-10-04 Jakub Jelinek <jakub@redhat.com> + + PR target/116925 + * g++.target/i386/avx-pr116925.C: New test. + +2024-10-04 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113266 + PR c++/116911 + * g++.dg/cpp0x/nontype6.C: New test. + +2024-10-04 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116913 + * g++.dg/lookup/using70.C: New test. + +2024-10-04 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/pr65947-8.c: Adjust. + +2024-10-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/99856 + * gcc.dg/vect/pr99856.c: Fix copy&paste errors. + +2024-10-04 Sam James <sam@gentoo.org> + + * gcc.dg/Wstringop-overflow-79.c: Fix index for notes. + * gcc.dg/Wstringop-overflow-80.c: Ditto. + +2024-10-04 Sam James <sam@gentoo.org> + + * c-c++-common/analyzer/flex-without-call-summaries.c: Add missing brace. + * c-c++-common/analyzer/malloc-callbacks.c: Ditto. + * gcc.dg/Wstringop-overflow-79.c: Ditto. + * gcc.dg/Wstringop-overflow-80.c: Ditto. + +2024-10-04 Georg-Johann Lay <avr@gjlay.de> + + * gcc.c-torture/execute/ieee/pr108540-1.c: Un-preprocess + __SIZE_TYPE__ and __INT64_TYPE__. + * gcc.c-torture/execute/ieee/pr108540-1.x: New file, requires double64. + +2024-10-04 Sam James <sam@gentoo.org> + + * gnat.dg/pack13.adb: Fix 'dg-...' directive syntax. + * gnat.dg/size_attribute.adb: Ditto. + * gnat.dg/subp_elim_errors.adb: Ditto. + +2024-10-03 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/specs/size_clause6.ads: New test. + +2024-10-03 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp0x/udlit-string-literal.h + * g++.dg/cpp0x/Wliteral-suffix2.C + * g++.dg/cpp0x/constexpr-55708.C + * g++.dg/cpp0x/gnu_fext-numeric-literals.C + * g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C + * g++.dg/cpp0x/pr51420.C + * g++.dg/cpp0x/pr60209-neg.C + * g++.dg/cpp0x/pr60209.C + * g++.dg/cpp0x/pr61038.C + * g++.dg/cpp0x/std_fext-numeric-literals.C + * g++.dg/cpp0x/std_fno-ext-numeric-literals.C + * g++.dg/cpp0x/udlit-addr.C + * g++.dg/cpp0x/udlit-args-neg.C + * g++.dg/cpp0x/udlit-args.C + * g++.dg/cpp0x/udlit-args2.C + * g++.dg/cpp0x/udlit-clink-neg.C + * g++.dg/cpp0x/udlit-concat-neg.C + * g++.dg/cpp0x/udlit-concat.C + * g++.dg/cpp0x/udlit-constexpr.C + * g++.dg/cpp0x/udlit-cpp98-neg.C + * g++.dg/cpp0x/udlit-declare-neg.C + * g++.dg/cpp0x/udlit-embed-quote.C + * g++.dg/cpp0x/udlit-extended-id-1.C + * g++.dg/cpp0x/udlit-extended-id-3.C + * g++.dg/cpp0x/udlit-extern-c.C + * g++.dg/cpp0x/udlit-friend.C + * g++.dg/cpp0x/udlit-general.C + * g++.dg/cpp0x/udlit-implicit-conv-neg-char8_t.C + * g++.dg/cpp0x/udlit-implicit-conv-neg.C + * g++.dg/cpp0x/udlit-inline.C + * g++.dg/cpp0x/udlit-mangle.C + * g++.dg/cpp0x/udlit-member-neg.C + * g++.dg/cpp0x/udlit-namespace.C + * g++.dg/cpp0x/udlit-nofunc-neg.C + * g++.dg/cpp0x/udlit-nonempty-str-neg.C + * g++.dg/cpp0x/udlit-nosuffix-neg.C + * g++.dg/cpp0x/udlit-nounder-neg.C + * g++.dg/cpp0x/udlit-operator-neg.C + * g++.dg/cpp0x/udlit-overflow-neg.C + * g++.dg/cpp0x/udlit-overflow.C + * g++.dg/cpp0x/udlit-preproc-neg.C + * g++.dg/cpp0x/udlit-raw-length.C + * g++.dg/cpp0x/udlit-raw-op-string-neg.C + * g++.dg/cpp0x/udlit-raw-op.C + * g++.dg/cpp0x/udlit-raw-str.C + * g++.dg/cpp0x/udlit-resolve-char8_t.C + * g++.dg/cpp0x/udlit-resolve.C + * g++.dg/cpp0x/udlit-shadow-neg.C + * g++.dg/cpp0x/udlit-string-length.C + * g++.dg/cpp0x/udlit-suffix-neg.C + * g++.dg/cpp0x/udlit-template.C + * g++.dg/cpp0x/udlit-tmpl-arg-neg.C + * g++.dg/cpp0x/udlit-tmpl-arg-neg2.C + * g++.dg/cpp0x/udlit-tmpl-arg.C + * g++.dg/cpp0x/udlit-tmpl-parms-neg.C + * g++.dg/cpp0x/udlit-tmpl-parms.C + * g++.dg/cpp1y/pr57640.C + * g++.dg/cpp1y/pr88872.C + * g++.dg/cpp26/unevalstr1.C + * g++.dg/cpp2a/concepts-pr60391.C + * g++.dg/cpp2a/consteval-prop21.C + * g++.dg/cpp2a/nontype-class6.C + * g++.dg/cpp2a/udlit-class-nttp-ctad-neg.C + * g++.dg/cpp2a/udlit-class-nttp-ctad-neg2.C + * g++.dg/cpp2a/udlit-class-nttp-ctad.C + * g++.dg/cpp2a/udlit-class-nttp-neg.C + * g++.dg/cpp2a/udlit-class-nttp-neg2.C + * g++.dg/cpp2a/udlit-class-nttp.C + * g++.dg/ext/is_convertible2.C + * g++.dg/lookup/pr87269.C + * g++.dg/cpp0x/udlit_system_header: Adjust for C++23 deprecated + operator "" _suffix. + * g++.dg/DRs/dr2521.C: New test. + +2024-10-03 Georg-Johann Lay <avr@gjlay.de> + + * gcc.dg/c23-stdarg-9.c (struct S) [AVR]: Only use int a[500]. + +2024-10-03 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/116927 + * g++.dg/torture/pr116927-1.C: New test. + +2024-10-03 David Malcolm <dmalcolm@redhat.com> + + PR other/116301 + * gcc.dg/plugin/crash-test-ice-in-header-sarif-2.1.c: New test. + * gcc.dg/plugin/crash-test-ice-in-header-sarif-2.2.c: New test. + * gcc.dg/plugin/crash-test-ice-in-header-sarif-2_1.py: Support + script for new test. + * gcc.dg/plugin/crash-test-ice-in-header-sarif-2_2.py: Likewise. + * gcc.dg/plugin/crash-test-ice-in-header.h: New header. + * gcc.dg/plugin/plugin.exp: Add the new tests. + * lib/sarif-schema-2.2-prerelease-2024-08-08.json: New schema + file. + * lib/scansarif.exp (verify-sarif-file): Add optional argument for + specifying which version of the schema to validate against, + supporting "2.1" and "2.2", defaulting to the former. + Update the test name to capture the version of the schema tested + against. + +2024-10-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116098 + * c-c++-common/torture/pr116098-2.c: New test. + * g++.dg/torture/pr116098-1.C: New test. + +2024-10-02 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + * gcc.dg/strict-flex-array-3.c (expect) [AVR]: Use custom + version due to AVR-LibC limitations. + (stuff): Use __SIZEOF_INT__ instead of hard-coded values. + +2024-10-02 Georg-Johann Lay <avr@gjlay.de> + + * gcc.dg/pr113596.c: Require less memory so it works on AVR. + +2024-10-02 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + * gcc.dg/pr93820-2.c: Add dg-require-effective-target int32. + +2024-10-02 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + * gcc.dg/signbit-6.c (main): Initialize a[0] and b[0] + with INT32_MIN (instead of with INT_MIN). + +2024-10-02 Victor Do Nascimento <victor.donascimento@arm.com> + + * gcc.dg/vect/vect-fncall-mask.c: New. + +2024-10-02 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/arm/mve/dlstp-loop-form.c: New test. + +2024-10-02 Filip Kastl <fkastl@suse.cz> + + PR tree-optimization/116616 + * gcc.target/i386/switch-exp-transform-1.c: Don't test for + presence of the POPCOUNT internal fn call. + +2024-10-02 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-12a.c: Adjust. + +2024-10-02 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-19c.c: Adjust expectation. + +2024-10-02 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect-double-reduc-5.c: Un-XFAIL everywhere. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR testsuite/116596 + * gcc.dg/vect/slp-11a.c: Fix. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113197 + * gcc.dg/lto/pr113197_0.c: New testcase. + * gcc.dg/lto/pr113197_1.c: Likewise. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR testsuite/116660 + * gcc.dg/vect/no-scevccp-outer-12.c: Add vect_pack_trunc. + * gcc.dg/vect/vect-multitypes-6.c: Add vect_char_add, remove + explicit 32bit sparc XFAIL. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116566 + * gcc.dg/tree-ssa/reassoc-46.c: When using partial vectors + the dump-scan doesn't look for the required .COND_ADD so + skip for partial vectors. + +2024-10-02 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/96842 + * c-c++-common/cpp/Wheader-guard-1.c: New test. + * c-c++-common/cpp/Wheader-guard-1-1.h: New test. + * c-c++-common/cpp/Wheader-guard-1-2.h: New test. + * c-c++-common/cpp/Wheader-guard-1-3.h: New test. + * c-c++-common/cpp/Wheader-guard-1-4.h: New test. + * c-c++-common/cpp/Wheader-guard-1-5.h: New test. + * c-c++-common/cpp/Wheader-guard-1-6.h: New test. + * c-c++-common/cpp/Wheader-guard-1-7.h: New test. + * c-c++-common/cpp/Wheader-guard-1-8.h: New test. + * c-c++-common/cpp/Wheader-guard-1-9.h: New test. + * c-c++-common/cpp/Wheader-guard-1-10.h: New test. + * c-c++-common/cpp/Wheader-guard-1-11.h: New test. + * c-c++-common/cpp/Wheader-guard-1-12.h: New test. + * c-c++-common/cpp/Wheader-guard-2.c: New test. + * c-c++-common/cpp/Wheader-guard-2.h: New test. + * c-c++-common/cpp/Wheader-guard-3.c: New test. + * c-c++-common/cpp/Wheader-guard-3.h: New test. + +2024-10-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116922 + * gcc.dg/torture/pr116922.c: New test. + +2024-10-02 Richard Biener <rguenther@suse.de> + + * gcc.dg/pr116905.c: Add float16 options. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR testsuite/116654 + * gcc.target/powerpc/p9-vec-length-full-8.c: Adjust. + +2024-10-02 Richard Biener <rguenther@suse.de> + + PR testsuite/116654 + * gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Adjust. + +2024-10-02 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_sub-2-i16.c: New test. + * gcc.target/riscv/sat_s_sub-2-i32.c: New test. + * gcc.target/riscv/sat_s_sub-2-i64.c: New test. + * gcc.target/riscv/sat_s_sub-2-i8.c: New test. + * gcc.target/riscv/sat_s_sub-run-2-i16.c: New test. + * gcc.target/riscv/sat_s_sub-run-2-i32.c: New test. + * gcc.target/riscv/sat_s_sub-run-2-i64.c: New test. + * gcc.target/riscv/sat_s_sub-run-2-i8.c: New test. + +2024-10-01 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_34.f90: New test. + +2024-10-01 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/lto28.adb: New test. + * gnat.dg/lto28_pkg1.ads: New helper. + * gnat.dg/lto28_pkg2.ads: Likewise. + * gnat.dg/lto28_pkg2.adb: Likewise. + * gnat.dg/lto28_pkg3.ads: Likewise. + +2024-10-01 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * g++.dg/ext/is_virtual_base_of.C: New test. + * g++.dg/ext/is_virtual_base_of_diagnostic.C: New test. + +2024-10-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116890 + * gcc.dg/tree-ssa/phi-opt-7.c: Update testcase for no ifs left. + * gcc.dg/tree-ssa/phi-opt-42.c: New test. + * gcc.dg/tree-ssa/phi-opt-43.c: New test. + +2024-10-01 Claudio Bantaloukas <Claudio.Bantaloukas@arm.com> + + * g++.target/aarch64/fp8_mangling.C: New tests exercising mangling. + * g++.target/aarch64/fp8_scalar_typecheck_2.C: New tests in C++. + * gcc.target/aarch64/fp8_scalar_1.c: New tests in C. + * gcc.target/aarch64/fp8_scalar_typecheck_1.c: Likewise. + +2024-10-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116902 + PR tree-optimization/116842 + * g++.dg/torture/pr116902.C: New testcase. + +2024-10-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116905 + * gcc.dg/pr116905.c: New testcase. + +2024-10-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116906 + * gcc.dg/pr116906-1.c: New testcase. + * gcc.dg/pr116906-2.c: Likewise. + +2024-10-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116899 + * gcc.dg/bitint-111.c: New test. + +2024-10-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116898 + * gcc.dg/bitint-110.c: New test. + +2024-09-30 Kugan Vivekanandarajah <kvivekananda@nvidia.com> + + * gcc.dg/tree-ssa/absfloat16.c: Fix testcase. + +2024-09-30 Marek Polacek <polacek@redhat.com> + + PR c++/109859 + * g++.dg/cpp2a/concepts-defarg3.C: New test. + * g++.dg/cpp2a/lambda-targ8.C: New test. + +2024-09-30 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/lto27.adb: New test. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc.dg/plugin/expensive_selftests_plugin.c (test_richloc): + Explicitly pass in dc.m_printer to diagnostic_show_locus. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc.dg/plugin/diagnostic_group_plugin.c + (test_diagnostic_start_span_fn): Update for change to callback + type. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc.dg/plugin/diagnostic_group_plugin.c + (test_output_format::on_begin_group): Use get_printer () rather + than accessing m_context.m_printer. + (test_output_format::on_end_group): Likewise. + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c + (xhtml_builder::m_printer): New field. + (xhtml_builder::xhtml_builder): Add "pp" param and use it to + initialize m_printer. + (xhtml_builder::on_report_diagnostic): Drop "context" param. + (xhtml_builder::make_element_for_diagnostic): Likewise. Use + this->m_printer rather than the context's m_printer. Pass + m_printer to call to diagnostic_show_locus. + (xhtml_builder::emit_diagram): Drop "context" param. + (xhtml_output_format::on_report_diagnostic): Drop context param + from call to m_builder. + (xhtml_output_format::on_diagram): Likewise. + (xhtml_output_format::xhtml_output_format): Pass result of + get_printer as printer for builder. + (diagnostic_output_format_init_xhtml): Use the fmt's printer + rather than the context's. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * c-c++-common/analyzer/escaping-1.c: Update expected results to + remove type information from C++ results. Previously we were + using %qD with default_tree_printer, which used + lang_hooks.decl_printable_name, whereas now we're using %qD with + a clone of the cxx_pretty_printer. + +2024-09-30 David Malcolm <dmalcolm@redhat.com> + + PR other/116792 + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: Fix stray + reference to JSON. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * lib/target-supports.exp (check_effective_target_vect_dotprod_hisi): + New. + * gcc.dg/vect/vect-dotprod-conv-optab.c: Likewise. + * gcc.target/aarch64/vect-dotprod-twoway-hisi.c: Likewise. + +2024-09-30 Victor Do Nascimento <victor.donascimento@arm.com> + + * gcc.target/aarch64/sme/vect-dotprod-twoway.c (udot2): New. + +2024-09-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116879 + * gcc.dg/pr116879.c: New testcase. + +2024-09-30 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116817 + * g++.dg/vect/pr116817.cc: New test. + +2024-09-30 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray/pr81265.f90: New test. + +2024-09-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116842 + * g++.dg/torture/pr116842.C: New testcase. + +2024-09-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116850 + * gcc.dg/pr116850.c: New testcase. + +2024-09-29 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_arith_data.h: Add test data for SAT_SUB. + * gcc.target/riscv/sat_s_sub-1-i16.c: New test. + * gcc.target/riscv/sat_s_sub-1-i32.c: New test. + * gcc.target/riscv/sat_s_sub-1-i64.c: New test. + * gcc.target/riscv/sat_s_sub-1-i8.c: New test. + * gcc.target/riscv/sat_s_sub-run-1-i16.c: New test. + * gcc.target/riscv/sat_s_sub-run-1-i32.c: New test. + * gcc.target/riscv/sat_s_sub-run-1-i64.c: New test. + * gcc.target/riscv/sat_s_sub-run-1-i8.c: New test. + +2024-09-29 Sam James <sam@gentoo.org> + + PR fortran/116858 + * gfortran.dg/initialization_25.f90: Fix dg-error arguments. + +2024-09-29 Mikael Pettersson <mikpelinux@gmail.com> + + PR testsuite/116806 + * gcc.dg/cpp/charconst-3.c: Perform arithmetic in unsigned + type to avoid integer overflow. + +2024-09-29 Jovan Vukic <Jovan.Vukic@rt-rk.com> + + PR target/108038 + * gcc.target/riscv/slt-1.c: New test. + +2024-09-28 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_33.f90: New test. + +2024-09-28 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_31.f90: New test. + * gfortran.dg/unsigned_32.f90: New test. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116160 + * g++.dg/cpp0x/using-enum-3.C: No longer expect an error. + * g++.dg/lookup/using53.C: Remove XFAIL. + * g++.dg/cpp2a/using-enum-11.C: New test. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116748 + * g++.dg/lookup/using59.C: Update location. + * g++.dg/lookup/using69.C: New test. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116803 + * g++.dg/modules/merge-18_a.H: New test. + * g++.dg/modules/merge-18_b.H: New test. + * g++.dg/modules/merge-18_c.C: New test. + +2024-09-27 Marek Polacek <polacek@redhat.com> + + PR c++/102594 + * g++.dg/cpp1z/decomp61.C: New test. + +2024-09-27 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/116847 + * g++.dg/pch/pr116847.C: New test. + * g++.dg/pch/pr116847.Hs: New test. + +2024-09-27 Pan Li <pan2.li@intel.com> + + PR middle-end/116861 + * gcc.dg/torture/pr116861-1.c: New test. + +2024-09-27 Arsen Arsenović <arsen@aarsen.me> + + PR c++/116793 + * g++.dg/coroutines/pr116793-1.C: New test. + +2024-09-27 Arsen Arsenović <arsen@aarsen.me> + + * g++.dg/coroutines/nodiscard-1.C: New test. + +2024-09-27 Arsen Arsenović <arsen@aarsen.me> + + PR c++/116502 + * g++.dg/coroutines/maybe-unused-1.C: New test. + * g++.dg/coroutines/pr116502.C: New test. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/cexpr-5_a.C: New test. + * g++.dg/modules/cexpr-5_b.C: New test. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/using-10.C: Add tests for no-linkage, fix + expected linkage of aliases. + * g++.dg/modules/using-12.C: Likewise. + * g++.dg/modules/using-27.C: New test. + * g++.dg/modules/using-28_a.C: New test. + * g++.dg/modules/using-28_b.C: New test. + * g++.dg/modules/using-29.H: New test. + +2024-09-27 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/mod-sym-4.C: Update test to account for + non-static internal-linkage variables new mangling. + +2024-09-27 Hans-Peter Nilsson <hp@axis.com> + + * gfortran.dg/open_errors_2.f90: Remove now-redundant file deletion. + +2024-09-26 Marek Polacek <polacek@redhat.com> + + PR c++/116731 + * g++.dg/warn/Wrange-loop-construct3.C: New test. + +2024-09-26 Sam James <sam@gentoo.org> + + PR fortran/35779 + PR fortran/116858 + * gfortran.dg/initialization_25.f90: Mark as XFAIL. + +2024-09-26 Sam James <sam@gentoo.org> + + * g++.dg/modules/reparent-1_c.C: Fix whitespace around '-' in dg directive. + * gfortran.dg/initialization_25.f90: Ditto. + +2024-09-26 Sam James <sam@gentoo.org> + + * gfortran.dg/coarray/caf.exp: Fix 'dg-do-run' typo. + * lib/gfortran-dg.exp: Ditto. + * lib/gm2-dg.exp: Ditto. + * lib/go-dg.exp: Ditto. + +2024-09-26 Kugan Vivekanandarajah <kvivekananda@nvidia.com> + + * g++.dg/absvect.C: New test. + * gcc.dg/tree-ssa/absfloat16.c: New test. + +2024-09-26 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/part-vect-popcount-1.c: New test. + +2024-09-26 liuhongt <hongtao.liu@intel.com> + + * gcc.dg/rtl/x86_64/vector_eq.c: New test. + +2024-09-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116846 + * g++.dg/modules/indirect-1_b.C: Fix testcase. + +2024-09-26 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-9.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-9.c: New test. + +2024-09-25 Hans-Peter Nilsson <hp@axis.com> + + PR testsuite/116701 + * lib/fortran-modules.exp (fortran-delete-unit-files): New proc. + * lib/gfortran-dg.exp (gfortran-dg-runtest): Call + fortran-delete-unit-files after executing test. + * lib/fortran-torture.exp (fortran-torture-execute): Ditto. + +2024-09-25 Sam James <sam@gentoo.org> + + PR c++/116846 + * g++.dg/modules/indirect-1_b.C: Add XFAIL. + +2024-09-25 Sam James <sam@gentoo.org> + + PR debug/30161 + PR c++/91826 + PR c++/116846 + * g++.dg/debug/dwarf2/template-func-params-7.C: Fix errant underscore. + Cleanup whitespace in directives too. + * g++.dg/lookup/pr91826.C: Fix errant underscore. + * g++.dg/modules/indirect-1_b.C: Ditto. + * gcc.target/powerpc/vsx-builtin-msum.c: Ditto. + +2024-09-25 Jakub Jelinek <jakub@redhat.com> + + PR target/116738 + * gcc.target/i386/avx512f-pr116738-1.c: New test. + * gcc.target/i386/avx512f-pr116738-2.c: New test. + +2024-09-25 H.J. Lu <hjl.tools@gmail.com> + + PR target/116839 + * gcc.target/i386/pr116839.c: New file. + +2024-09-25 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_25.f90: Change KIND=16 to KIND=8. + +2024-09-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/70740 + * gcc.dg/torture/pr70740-1.c: New test. + +2024-09-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116772 + * gcc.dg/torture/pr116772-1.c: New test. + +2024-09-25 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/DRs/dr2874.C: New test. + +2024-09-25 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/DRs/dr2836.C: New test. + +2024-09-25 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/DRs/dr2728.C: New test. + +2024-09-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> + + PR tree-optimization/114326 + * gcc.dg/tree-ssa/fold-xor-and-or.c: New test. + * gcc.dg/tree-ssa/fold-xor-or.c: New test. + +2024-09-25 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu> + + PR tree-optimization/109393 + * gcc.dg/pr109393.c: New test. + +2024-09-25 Jason Merrill <jason@redhat.com> + + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C + * g++.dg/diagnostic/disable.C: #define _GLIBCXX_SYSHDR. + +2024-09-25 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.dg/gomp/interop-1.f90: Add dg-error for missing + omp requires requirement and declare_variant usage. + * gfortran.dg/gomp/requires-8.f90: Likewise. + +2024-09-25 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/scalar_sat_binary_run_xxx.h: Remove printf + code for debugging. + +2024-09-25 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Remove + func body check and take scan asm times instead. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Ditto. + +2024-09-25 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Remove + func body check and take scan asm times instead. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: Ditto. + +2024-09-25 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-1.c: Remove + func body check and take scan asm times instead. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-9.c: Ditto. + +2024-09-25 Sandra Loosemore <sloosemore@baylibre.com> + + * c-c++-common/gomp/declare-variant-duplicates.c: Avoid using + "i386" as an identifier. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_30.f90: New test. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_29.f90: New test. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_25.f90: New test. + * gfortran.dg/unsigned_26.f90: New test. + +2024-09-24 Jakub Jelinek <jakub@redhat.com> + + PR c++/107637 + * g++.dg/cpp23/range-for1.C: New test. + * g++.dg/cpp23/range-for2.C: New test. + * g++.dg/cpp23/range-for3.C: New test. + * g++.dg/cpp23/range-for4.C: New test. + * g++.dg/cpp23/range-for5.C: New test. + * g++.dg/cpp23/range-for6.C: New test. + * g++.dg/cpp23/range-for7.C: New test. + * g++.dg/cpp23/range-for8.C: New test. + * g++.dg/cpp23/feat-cxx2b.C (__cpp_range_based_for): Check for + 202212L rather than 201603L. + * g++.dg/cpp26/feat-cxx26.C (__cpp_range_based_for): Likewise. + * g++.dg/warn/Wdangling-reference4.C: Don't expect warning for C++23 + or newer. Use dg-additional-options rather than dg-options. + +2024-09-24 Nina Dinka Ranns <dinka.ranns@googlemail.com> + + PR c++/116490 + * g++.dg/contracts/pr116490.C: New test. + +2024-09-24 Sandra Loosemore <sloosemore@baylibre.com> + + * c-c++-common/gomp/declare-variant-10.c: Fix broken tests. + * c-c++-common/gomp/declare-variant-3.c: Likewise. + * c-c++-common/gomp/declare-variant-9.c: Likewise. + * c-c++-common/gomp/declare-variant-any.c: New. + * c-c++-common/gomp/declare-variant-duplicates.c: New. + * gfortran.dg/gomp/declare-variant-10.f90: Fix broken tests. + * gfortran.dg/gomp/declare-variant-3.f90: Likewise. + * gfortran.dg/gomp/declare-variant-9.f90: Likewise. + * gfortran.dg/gomp/declare-variant-any.f90: New. + * gfortran.dg/gomp/declare-variant-duplicates.f90: New. + +2024-09-24 Pan Li <pan2.li@intel.com> + + PR middle-end/116814 + * g++.dg/torture/pr116814-1.C: New test. + +2024-09-24 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-1.c: Expect + length-controlled loop. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: + Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: + Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Ditto. + +2024-09-24 Robin Dapp <rdapp@ventanamicro.com> + + * lib/target-supports.exp: Fix effective target check. + +2024-09-24 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray/proc_pointer_assign_1.f90: New test. + +2024-09-24 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray/alloc_comp_10.f90: New test. + +2024-09-24 Tobias Burnus <tburnus@baylibre.com> + + * c-c++-common/gomp/declare-variant-1.c: Add self_maps test. + * c-c++-common/gomp/requires-4.c: Likewise. + * gfortran.dg/gomp/declare-variant-3.f90: Likewise. + * c-c++-common/gomp/requires-2.c: Update dg-error msg. + * gfortran.dg/gomp/requires-2.f90: Likewise. + * gfortran.dg/gomp/requires-self-maps-aux.f90: New. + * gfortran.dg/gomp/requires-self-maps.f90: New. + +2024-09-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gcc.dg/darwin-minversion-link.c: Account for macOS 15. + +2024-09-24 Prathamesh Kulkarni <prathameshk@nvidia.com> + Thomas Schwinge <tschwinge@baylibre.com> + + PR target/104957 + * gcc.target/nvptx/alias-to-alias-1.c: Adjust. + +2024-09-23 Marek Polacek <polacek@redhat.com> + + PR c++/116798 + * g++.dg/cpp23/explicit-obj-diagnostics12.C: New test. + +2024-09-23 Saurabh Jha <saurabh.jha@arm.com> + + * gcc.target/aarch64/simd/faminmax-codegen-no-flag.c: New test. + * gcc.target/aarch64/simd/faminmax-codegen.c: New test. + * gcc.target/aarch64/simd/faminmax-no-codegen.c: New test. + +2024-09-23 Saurabh Jha <saurabh.jha@arm.com> + + * gcc.target/aarch64/simd/faminmax-builtins-no-flag.c: New test. + * gcc.target/aarch64/simd/faminmax-builtins.c: New test. + +2024-09-23 Matthieu Longo <matthieu.longo@arm.com> + + * g++.target/aarch64/pr94515-1.C: Improve test documentation. + * g++.target/aarch64/pr94515-2.C: Same. + +2024-09-23 Matthieu Longo <matthieu.longo@arm.com> + + * g++.target/aarch64/pr94515-1.C: Replace SPARC CFI directive by + AArch64 one. + * g++.target/aarch64/pr94515-2.C: Same. + +2024-09-23 Simon Martin <simon@nasilyan.com> + + PR c++/109790 + PR c++/100632 + * g++.dg/cpp0x/decltype83.C: New test. + * g++.dg/cpp0x/decltype83a.C: New test. + * g++.dg/cpp1y/lambda-ice3.C: New test. + * g++.dg/cpp1y/lambda-ice3a.C: New test. + * g++.dg/cpp2a/nontype-class67.C: New test. + +2024-09-23 Simon Martin <simon@nasilyan.com> + + PR c++/116722 + * g++.dg/cpp0x/constexpr-ctor22.C: New test. + +2024-09-23 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116812 + * gcc.dg/vect/pr116812.c: New test. + +2024-09-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116791 + * gcc.dg/vect/pr116791.c: New testcase. + +2024-09-23 Pan Li <pan2.li@intel.com> + + PR target/116795 + * gcc.dg/torture/pr116795-1.c: New test. + +2024-09-23 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-8.c: New test. + +2024-09-23 Hans-Peter Nilsson <hp@axis.com> + + PR testsuite/116701 + * gfortran.dg/unsigned_22.f90: Add missing close with delete. + +2024-09-22 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_add-13.c: New test. + * gcc.target/riscv/sat_s_add-14.c: New test. + * gcc.target/riscv/sat_s_add-15.c: New test. + * gcc.target/riscv/sat_s_add-16.c: New test. + * gcc.target/riscv/sat_s_add-run-13.c: New test. + * gcc.target/riscv/sat_s_add-run-14.c: New test. + * gcc.target/riscv/sat_s_add-run-15.c: New test. + * gcc.target/riscv/sat_s_add-run-16.c: New test. + +2024-09-22 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_add-10.c: New test. + * gcc.target/riscv/sat_s_add-11.c: New test. + * gcc.target/riscv/sat_s_add-12.c: New test. + * gcc.target/riscv/sat_s_add-9.c: New test. + * gcc.target/riscv/sat_s_add-run-10.c: New test. + * gcc.target/riscv/sat_s_add-run-11.c: New test. + * gcc.target/riscv/sat_s_add-run-12.c: New test. + * gcc.target/riscv/sat_s_add-run-9.c: New test. + +2024-09-22 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/coroutines/torture/special-termination-00-sync-completion.C: New test. + * g++.dg/coroutines/torture/special-termination-01-self-destruct.C: New test. + +2024-09-22 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vect/bb-slp-conditional_store_1.c: New test. + * gcc.dg/vect/vect-conditional_store_5.c: New test. + * gcc.dg/vect/vect-conditional_store_6.c: New test. + +2024-09-22 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/sve/asrdiv_4.c: Update bounds. + * gcc.target/aarch64/sve/cond_asrd_2.c: Likewise. + * gcc.target/aarch64/sve/cond_uxt_6.c: Likewise. + * gcc.target/aarch64/sve/cond_uxt_7.c: Likewise. + * gcc.target/aarch64/sve/cond_uxt_8.c: Likewise. + * gcc.target/aarch64/sve/miniloop_1.c: Likewise. + * gcc.target/aarch64/sve/spill_6.c: Likewise. + * gcc.target/aarch64/sve/sve_iters_low_1.c: New test. + * gcc.target/aarch64/sve/sve_iters_low_2.c: New test. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/minmaxloc_18.f90: New test. + * gfortran.dg/minmaxloc_18a.f90: New test. + * gfortran.dg/minmaxloc_18b.f90: New test. + * gfortran.dg/minmaxloc_18c.f90: New test. + * gfortran.dg/minmaxloc_18d.f90: New test. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/maxloc_bounds_5.f90: Additionally accept error + messages reported by the scalarizer. + * gfortran.dg/maxloc_bounds_6.f90: Ditto. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/maxloc_bounds_7.f90: Additionally accept the error message + reported by the scalarizer. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/maxloc_bounds_4.f90: Additionally accept the error + message emitted by the scalarizer. + +2024-09-21 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/90608 + * gfortran.dg/ieee/maxloc_nan_1.f90: New test. + * gfortran.dg/ieee/minloc_nan_1.f90: New test. + * gfortran.dg/maxloc_7.f90: New test. + * gfortran.dg/maxloc_with_mask_1.f90: New test. + * gfortran.dg/minloc_8.f90: New test. + * gfortran.dg/minloc_with_mask_1.f90: New test. + +2024-09-20 David Malcolm <dmalcolm@redhat.com> + + PR other/116792 + * gcc.dg/plugin/diagnostic-test-xhtml-1.c: New test. + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.c: New test plugin. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above. + +2024-09-20 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * g++.dg/plugin/show_template_tree_color_plugin.c + (noop_starter_fn): Rename to... + (noop_text_starter_fn): ...this. Update first param from dc to + text_output. + (plugin_init): Update for renamings. + * gcc.dg/plugin/diagnostic_group_plugin.c + (test_diagnostic_starter): Rename to... + (test_diagnostic_text_starter): ...this. Update first param from + dc to text_output. + (plugin_init): Update for renaming. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Include + "diagnostic-format-text.h". + (custom_diagnostic_finalizer): Rename to... + (custom_diagnostic_text_finalizer): ...this. Update first param + from dc to text_output. + (test_show_locus): Update for renamings. + * gcc.dg/plugin/location_overflow_plugin.c: Include + "diagnostic-format-text.h". + (original_finalizer): Rename to... + (original_text_finalizer): ...this and update type. + (verify_unpacked_ranges): Update first param from dc to + text_output. Update for this and for renamings. + (verify_no_columns): Likewise. + (plugin_init): Update for renamings. + +2024-09-20 Martin Uecker <uecker@tugraz.at> + + PR c/116726 + * gcc.dg/pr116726.c: New test. + +2024-09-20 Patrick Palka <ppalka@redhat.com> + + DR 2789 + * g++.dg/cpp2a/concepts-memfun4.C: Adjust expected result + involving reversed candidate. + +2024-09-20 Gaius Mulley <gaiusmod2@gmail.com> + + * gm2/iso/fail/testarrayunbounded2.mod: New test. + * gm2/iso/fail/testarrayunbounded3.mod: New test. + * gm2/iso/fail/testarrayunbounded4.mod: New test. + * gm2/iso/fail/testarrayunbounded5.mod: New test. + * gm2/iso/fail/testarrayunbounded6.mod: New test. + * gm2/iso/pass/testarrayunbounded.mod: New test. + +2024-09-20 Patrick Palka <ppalka@redhat.com> + + PR c++/116492 + DR 2789 + * g++.dg/cpp2a/concepts-memfun4.C: Also compile in C++20 mode. + Expect ambiguity when candidates come from different classes. + * g++.dg/cpp2a/concepts-inherit-ctor12.C: New test. + +2024-09-20 Patrick Palka <ppalka@redhat.com> + + DR 2273 + * g++.dg/cpp1z/using1.C: Expect ambiguity for non-constructor call. + * g++.dg/overload/using5.C: Likewise. + +2024-09-20 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/rtl/aarch64/vector-eq.c: New test. + +2024-09-20 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116628 + * gcc.dg/vect/pr116628.c: Update cmdline. + +2024-09-20 Richard Biener <rguenther@suse.de> + + * gfortran.dg/vect/vect-8.f90: Allow one more vectorized loop. + +2024-09-20 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * gcc.target/s390/TI-constants-nolra.c: Removed. + * gcc.target/s390/pr79895.c: Removed. + +2024-09-20 Richard Biener <rguenther@suse.de> + + PR testsuite/116397 + * gcc.dg/vect/slp-reduc-3.c: Look for " = VEC_PERM_EXPR" + instead of "VEC_PERM_EXPR". + +2024-09-20 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.dg/ipa/modref-4.c: New test. + +2024-09-20 Sam James <sam@gentoo.org> + + * gcc.target/m68k/pr108640.c: Fix dg directive typo. + * gcc.target/m68k/pr110934.c: Ditto. + * gcc.target/m68k/pr82420.c: Ditto. + * gcc.target/powerpc/pr99708.c: Ditto. + +2024-09-20 Uros Bizjak <ubizjak@gmail.com> + Jakub Jelinek <jakub@redhat.com> + + PR target/116738 + * gcc.target/i386/sse-pr116738.c: New test. + +2024-09-20 Richard Biener <rguenther@suse.de> + + PR testsuite/116784 + * gcc.dg/vect/slp-perm-9.c: Use vect_perm_short also for + the SLP check. + +2024-09-20 Sam James <sam@gentoo.org> + + * gcc.dg/debug/btf/btf-datasec-1.c: Fix whitespace. + +2024-09-20 Sam James <sam@gentoo.org> + + * g++.dg/other/operator2.C: Fix dg-do directive. + * gcc.dg/Warray-bounds-67.c: Ditto. + * gcc.dg/cpp/builtin-macro-1.c: Ditto. + * gcc.dg/tree-ssa/builtin-snprintf-3.c: Ditto. + * obj-c++.dg/empty-private-1.mm: Ditto. + +2024-09-20 Sam James <sam@gentoo.org> + + * gcc.dg/debug/btf/btf-array-1.c: Fix dg-do directive syntax. + * gcc.dg/debug/btf/btf-bitfields-1.c: Ditto. + * gcc.dg/debug/btf/btf-bitfields-2.c: Ditto. + * gcc.dg/debug/btf/btf-datasec-1.c: Ditto. + * gcc.dg/debug/btf/btf-union-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-anonymous-struct-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-anonymous-union-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-array-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-array-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-array-4.c: Ditto. + * gcc.dg/debug/ctf/ctf-array-5.c: Ditto. + * gcc.dg/debug/ctf/ctf-array-6.c: Ditto. + * gcc.dg/debug/ctf/ctf-attr-mode-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-attr-used-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-bitfields-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-bitfields-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-bitfields-3.c: Ditto. + * gcc.dg/debug/ctf/ctf-bitfields-4.c: Ditto. + * gcc.dg/debug/ctf/ctf-complex-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-cvr-quals-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-cvr-quals-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-cvr-quals-3.c: Ditto. + * gcc.dg/debug/ctf/ctf-cvr-quals-4.c: Ditto. + * gcc.dg/debug/ctf/ctf-enum-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-enum-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-file-scope-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-float-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-forward-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-forward-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-func-index-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-function-pointers-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-function-pointers-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-function-pointers-3.c: Ditto. + * gcc.dg/debug/ctf/ctf-function-pointers-4.c: Ditto. + * gcc.dg/debug/ctf/ctf-functions-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-int-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-objt-index-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-pointers-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-pointers-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-preamble-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-str-table-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-struct-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-struct-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-struct-array-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-struct-array-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-typedef-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-typedef-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-typedef-3.c: Ditto. + * gcc.dg/debug/ctf/ctf-typedef-struct-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-typedef-struct-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-typedef-struct-3.c: Ditto. + * gcc.dg/debug/ctf/ctf-union-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-variables-1.c: Ditto. + * gcc.dg/debug/ctf/ctf-variables-2.c: Ditto. + * gcc.dg/debug/ctf/ctf-variables-3.c: Ditto. + +2024-09-19 Marek Polacek <polacek@redhat.com> + + PR c++/116162 + * g++.dg/cpp0x/defaulted15.C: Add dg-warning/dg-error. + * g++.dg/cpp0x/defaulted51.C: Likewise. + * g++.dg/cpp0x/defaulted52.C: Likewise. + * g++.dg/cpp0x/defaulted53.C: Likewise. + * g++.dg/cpp0x/defaulted54.C: Likewise. + * g++.dg/cpp0x/defaulted56.C: Likewise. + * g++.dg/cpp0x/defaulted57.C: Likewise. + * g++.dg/cpp0x/defaulted58.C: Likewise. + * g++.dg/cpp0x/defaulted59.C: Likewise. + * g++.dg/cpp0x/defaulted63.C: New test. + * g++.dg/cpp0x/defaulted64.C: New test. + * g++.dg/cpp0x/defaulted65.C: New test. + * g++.dg/cpp0x/defaulted66.C: New test. + * g++.dg/cpp0x/defaulted67.C: New test. + * g++.dg/cpp0x/defaulted68.C: New test. + * g++.dg/cpp0x/defaulted69.C: New test. + * g++.dg/cpp23/defaulted1.C: New test. + +2024-09-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_add-5.c: New test. + * gcc.target/riscv/sat_s_add-6.c: New test. + * gcc.target/riscv/sat_s_add-7.c: New test. + * gcc.target/riscv/sat_s_add-8.c: New test. + * gcc.target/riscv/sat_s_add-run-5.c: New test. + * gcc.target/riscv/sat_s_add-run-6.c: New test. + * gcc.target/riscv/sat_s_add-run-7.c: New test. + * gcc.target/riscv/sat_s_add-run-8.c: New test. + +2024-09-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116768 + * gcc.dg/torture/pr116768.c: New testcase. + +2024-09-19 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect-outer-slp-1.c: Adjust. + +2024-09-19 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/recursive_alloc_comp_5.f90: New test. + +2024-09-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Adjust + the dump check times from 2 to 4. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. + +2024-09-19 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray/alloc_comp_9.f90: New test. + +2024-09-19 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/const_fold_mul_1.c: Adjust expected + outcome. + * gcc.target/aarch64/sve/fold_mul_zero.c: New test. + +2024-09-19 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx10_2-512-vcvt2ps2phx-2.c: Enhance mask test. + * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvthf82ph-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. + * gcc.target/i386/avx512f-helper.h: Fix a typo in macro define. + +2024-09-19 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Include + avx512f-mask-type.h. + * gcc.target/i386/avx10_2-vminmaxsd-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxsh-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxss-2.c: Ditto. + +2024-09-19 Hans-Peter Nilsson <hp@axis.com> + + * gcc.dg/pr84877.c: Try to make the test result consistent by + misaligning the stack. + +2024-09-18 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_s_add-4.c: Update test for int64_t + instead of int8_t. + +2024-09-18 Patrick Palka <ppalka@redhat.com> + + PR c++/116714 + PR c++/107390 + * g++.dg/cpp2a/lambda-uneval18.C: New test. + +2024-09-18 Jin Ma <jinma@linux.alibaba.com> + + * gcc.target/riscv/zfa-fmovh-fmovp-bug.c: New test. + +2024-09-18 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * gcc.target/riscv/xtheadbb-extu-4.c: New. + +2024-09-18 Bohan Lei <garthlei@linux.alibaba.com> + + * gcc.target/riscv/rvv/base/vssubu-1.c: New test. + * gcc.target/riscv/rvv/base/vssubu-2.c: New test. + +2024-09-18 Jason Merrill <jason@redhat.com> + + * g++.dg/warn/Wdangling-reference1.C: Adjust diagnostic. + +2024-09-18 Jason Merrill <jason@redhat.com> + + PR c++/115361 + * g++.dg/ext/attr-no-dangling6.C + * g++.dg/ext/attr-no-dangling7.C + * g++.dg/ext/attr-no-dangling8.C + * g++.dg/ext/attr-no-dangling9.C + * g++.dg/warn/Wdangling-reference1.C + * g++.dg/warn/Wdangling-reference2.C + * g++.dg/warn/Wdangling-reference3.C: Make classes non-empty. + * g++.dg/warn/Wdangling-reference23.C: New test. + +2024-09-18 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/116569 + * gcc.dg/torture/pr116569.c: New test. + +2024-09-18 Georg-Johann Lay <avr@gjlay.de> + + PR rtl-optimization/116326 + * gcc.target/avr/torture/lra-pr116324.c: New test. + * gcc.target/avr/torture/lra-pr116325.c: New test. + +2024-09-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116585 + * gcc.dg/torture/pr116585.c: New testcase. + +2024-09-18 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Add test + data for vector ssadd. + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper + macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-4.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_s_add-run-4.c: New test. + +2024-09-18 Michael Meissner <meissner@linux.ibm.com> + + PR target/89213 + * gcc.target/powerpc/pr89213.c: New test. + * gcc.target/powerpc/vec-rlmi-rlnm.c: Update instruction count. + +2024-09-17 Marek Polacek <polacek@redhat.com> + + PR c++/116741 + * g++.dg/cpp26/constexpr-voidptr4.C: New test. + +2024-09-17 Marek Polacek <polacek@redhat.com> + + PR c++/116534 + * g++.dg/warn/Wtautological-compare4.C: New test. + +2024-09-17 Marek Polacek <polacek@redhat.com> + + PR c++/116676 + * g++.dg/cpp1z/constexpr-116676.C: New test. + +2024-09-17 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/fold_div_zero.c: New test. + * gcc.target/aarch64/sve/const_fold_div_1.c: Adjust expected + outcome. + +2024-09-16 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113328 + * gcc.target/aarch64/sve/acle/general/dupq_1.c: Update test to use + SVE's INDEX instruction. + * gcc.target/aarch64/sve/acle/general/dupq_2.c: Likewise. + * gcc.target/aarch64/sve/acle/general/dupq_3.c: Likewise. + * gcc.target/aarch64/sve/acle/general/dupq_4.c: Likewise. + * gcc.target/aarch64/sve/vec_init_3.c: New test. + +2024-09-16 Soumya AR <soumyaa@nvidia.com> + + * gcc.target/aarch64/sve/acle/asm/lsl_s16.c: Updated instances of lsl-1 + with corresponding add. + * 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/adr_1.c: Likewise. + * gcc.target/aarch64/sve/adr_6.c: Likewise. + * gcc.target/aarch64/sve/cond_mla_7.c: Likewise. + * gcc.target/aarch64/sve/cond_mla_8.c: Likewise. + * gcc.target/aarch64/sve/shift_2.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rshl_s16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rshl_s32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rshl_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rshl_s8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rshl_u16.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rshl_u32.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rshl_u64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/rshl_u8.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c: Likewise. + * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c: Likewise. + * gcc.target/aarch64/sve/sve_shl_add.c: New test. + +2024-09-16 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/cmp-lsr-i32.c: New test. + * gcc.target/avr/torture/cmp-lsr-u16.c: New test. + * gcc.target/avr/torture/cmp-lsr-u24.c: New test. + * gcc.target/avr/torture/cmp-lsr-u32.c: New test. + * gcc.target/avr/torture/cmp-lsr-u64.c: New test. + +2024-09-15 Jason Merrill <jason@redhat.com> + + * g++.dg/warn/Wconditionally-supported-1.C: Add __extension__ cases. + +2024-09-15 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp2a/srcloc17.C: Adjust initialization. + +2024-09-15 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/115905 + * g++.dg/coroutines/torture/pr115905.C: New test. + +2024-09-15 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116699 + * gcc.dg/tree-ssa/phi-opt-factor-1.c: New test. + +2024-09-14 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/116716 + * gcc.c-torture/execute/pr52286.c: Fix inline-asm for 16bit case. + +2024-09-14 Simon Martin <simon@nasilyan.com> + + PR c++/116681 + * g++.dg/cpp2a/concepts-pr116681.C: New test. + +2024-09-14 Jason Merrill <jason@redhat.com> + + * c-c++-common/pragma-diag-17.c: Handle !dfp targets. + +2024-09-14 Jonathan Wakely <jwakely@redhat.com> + + * g++.dg/ext/sve-sizeless-1.C: Adjust dg-error string. + +2024-09-14 Alexandre Oliva <oliva@adacore.com> + + * g++.dg/coroutines/pr108620.C: Skip if !hostedlib because of + unavailable headers. + * g++.dg/other/profile1.C: Likewise. + * g++.dg/ext/pragma-unroll-lambda-lto.C: Skip if !hostedlib + because of unavailable declarations. + +2024-09-13 Jason Merrill <jason@redhat.com> + + PR c++/116696 + * g++.dg/DRs/dr2478.C: Prune extra diagnostic. + * g++.dg/ext/fimplicit-constexpr1.C: New test. + +2024-09-13 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/116661 + * gfortran.dg/gomp/interop-1.f90: Extend, update dg-*. + * gfortran.dg/gomp/interop-2.f90: Update dg-error. + * gfortran.dg/gomp/interop-3.f90: Add dg-warning. + +2024-09-13 Jakub Jelinek <jakub@redhat.com> + + PR c++/116678 + * g++.dg/warn/deprecated-20.C: New test. + +2024-09-13 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * gcc.target/s390/vector/long-double-asm-abi.c: Adapt + scan-assembler directive. + * gcc.target/s390/vector/long-double-to-i64.c: Adapt + scan-assembler directive. + * gcc.target/s390/pr115860-1.c: New test. + +2024-09-13 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR fortran/116653 + * gfortran.dg/unsigned_21.f90: + * gfortran.dg/unsigned_21_be.f90: New test. + +2024-09-12 Alexandre Oliva <oliva@adacore.com> + Olivier Hainque <hainque@adacore.com> + + * lib/target-supports.exp (check_effective_target_hostedlib): + New. + * g++.dg/contracts/contracts-access1.C: Skip if !hostedlib + because of libstdc++exp. + * g++.dg/contracts/contracts-assume3.C: Likewise. + * g++.dg/contracts/contracts-assume4.C: Likewise. + * g++.dg/contracts/contracts-config1.C: Likewise. + * g++.dg/contracts/contracts-constexpr1.C: Likewise. + * g++.dg/contracts/contracts-deduced2.C: Likewise. + * g++.dg/contracts/contracts-externC.C: Likewise. + * g++.dg/contracts/contracts-friend1.C: Likewise. + * g++.dg/contracts/contracts-multiline1.C: Likewise. + * g++.dg/contracts/contracts-nested-class2.C: Likewise. + * g++.dg/contracts/contracts-post2.C: Likewise. + * g++.dg/contracts/contracts-post3.C: Likewise. + * g++.dg/contracts/contracts-pre2a2.C: Likewise. + * g++.dg/contracts/contracts10.C: Likewise. + * g++.dg/contracts/contracts18.C: Likewise. + * g++.dg/contracts/contracts19.C: Likewise. + * g++.dg/contracts/contracts2.C: Likewise. + * g++.dg/contracts/contracts24.C: Likewise. + * g++.dg/contracts/contracts25.C: Likewise. + * g++.dg/contracts/contracts3.C: Likewise. + * g++.dg/contracts/contracts4.C: Likewise. + * g++.dg/contracts/contracts5.C: Likewise. + * g++.dg/contracts/contracts6.C: Likewise. + * g++.dg/contracts/contracts7.C: Likewise. + * g++.dg/contracts/contracts9.C: Likewise. + * g++.dg/contracts/pr110159.C: Likewise. + * g++.dg/contracts/pr115434.C: Likewise. Adjust line numbers. + * c-c++-common/pr36513-2.c: Skip if !hostedlib because of + unavailable headers. + * c-c++-common/analyzer/pr93290.c: Likewise. + * g++.dg/analyzer/pr93212.C: Likewise. + * g++.dg/analyzer/vfunc-2.C: Likewise. + * g++.dg/cdce3.C: Likewise. Adjust line numbers. + * g++.dg/concepts/expression.C: Likewise. + * g++.dg/concepts/fn3.C: Likewise. + * g++.dg/concepts/fn9.C: Likewise. + * g++.dg/concepts/generic-fn.C: Likewise. + * g++.dg/contracts/contracts-assume2.C: Likewise. + * g++.dg/contracts/contracts-ignore2.C: Likewise. + * g++.dg/contracts/contracts-post7.C: Likewise. + * g++.dg/contracts/contracts-pre10.C: Likewise. + * g++.dg/contracts/contracts-pre2.C: Likewise. + * g++.dg/contracts/contracts-pre3.C: Likewise. + * g++.dg/contracts/contracts-pre4.C: Likewise. + * g++.dg/contracts/contracts-pre5.C: Likewise. + * g++.dg/contracts/contracts-pre7.C: Likewise. + * g++.dg/contracts/contracts-pre9.C: Likewise. + * g++.dg/contracts/contracts-redecl3.C: Likewise. + * g++.dg/contracts/contracts-redecl4.C: Likewise. + * g++.dg/contracts/contracts-redecl6.C: Likewise. + * g++.dg/contracts/contracts-redecl7.C: Likewise. + * g++.dg/contracts/contracts-tmpl-spec1.C: Likewise. + * g++.dg/contracts/contracts-tmpl-spec2.C: Likewise. + * g++.dg/contracts/contracts-tmpl-spec3.C: Likewise. + * g++.dg/contracts/contracts14.C: Likewise. + * g++.dg/contracts/contracts15.C: Likewise. + * g++.dg/contracts/contracts16.C: Likewise. + * g++.dg/contracts/contracts17.C: Likewise. + * g++.dg/contracts/contracts22.C: Likewise. + * g++.dg/contracts/contracts35.C: Likewise. + * g++.dg/coroutines/pr100611.C: Likewise. + * g++.dg/coroutines/pr100772-b.C: Likewise. + * g++.dg/coroutines/pr101133.C: Likewise. + * g++.dg/coroutines/pr101367.C: Likewise. + * g++.dg/coroutines/pr101976.C: Likewise. + * g++.dg/coroutines/pr102454.C: Likewise. + * g++.dg/coroutines/pr104051.C: Likewise. + * g++.dg/coroutines/pr110635.C: Likewise. + * g++.dg/coroutines/pr110871.C: Likewise. Adjust line numbers. + * g++.dg/coroutines/pr110872.C: Likewise. Likewise. + * g++.dg/coroutines/pr94288.C: Likewise. + * g++.dg/coroutines/pr95520.C: Likewise. + * g++.dg/coroutines/pr95736.C: Likewise. + * g++.dg/coroutines/pr97587.C: Likewise. + * g++.dg/coroutines/pr99576_1.C: Likewise. + * g++.dg/coroutines/pr99576_2.C: Likewise. + * g++.dg/coroutines/ramp-return-a.C: Likewise. + * g++.dg/coroutines/ramp-return-b.C: Likewise. + * g++.dg/coroutines/ramp-return-c.C: Likewise. + * g++.dg/coroutines/symmetric-transfer-00-basic.C: Likewise. + * g++.dg/coroutines/torture/co-await-16-template-traits.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: + Likewise. + * g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: + Likewise. + * g++.dg/coroutines/torture/extern-c-coroutine.C: Likewise. + * g++.dg/coroutines/torture/func-params-08.C: Likewise. + * g++.dg/coroutines/torture/func-params-09-awaitable-parms.C: + Likewise. + * g++.dg/coroutines/torture/local-var-05-awaitable.C: + Likewise. + * g++.dg/coroutines/torture/pr95615-01.C: Likewise. + * g++.dg/coroutines/torture/pr95615-02.C: Likewise. + * g++.dg/coroutines/torture/pr95615-03.C: Likewise. + * g++.dg/coroutines/torture/pr95615-04.C: Likewise. + * g++.dg/coroutines/torture/pr95615-05.C: Likewise. + * g++.dg/coroutines/torture/pr98704.C: Likewise. + * g++.dg/cpp/pr80005.C: Likewise. + * g++.dg/cpp0x/Wliteral-suffix.C: Likewise. + * g++.dg/cpp0x/Wpessimizing-move2.C: Likewise. + * g++.dg/cpp0x/constexpr-70001-3.C: Likewise. + * g++.dg/cpp0x/constexpr-ice16.C: Likewise. + * g++.dg/cpp0x/dc5.C: Likewise. + * g++.dg/cpp0x/enum35.C: Likewise. + * g++.dg/cpp0x/enum36.C: Likewise. + * g++.dg/cpp0x/initlist-opt1.C: Likewise. + * g++.dg/cpp0x/initlist-vect2.C: Likewise. + * g++.dg/cpp0x/initlist13.C: Likewise. + * g++.dg/cpp0x/initlist15.C: Likewise. + * g++.dg/cpp0x/initlist25.C: Likewise. + * g++.dg/cpp0x/initlist54.C: Likewise. + * g++.dg/cpp0x/initlist92.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-capture-const-ref.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-const-neg.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-const.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-deduce.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-in-class-neg.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-in-class.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-mixed.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-mutable.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-nested.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-non-const.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-nop.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-nullptr.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-pass.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-recursive.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-ref-default.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-ref.C: Likewise. + * g++.dg/cpp0x/nullptr20.C: Likewise. + * g++.dg/cpp0x/pr61038.C: Likewise. + * g++.dg/cpp0x/rv-trivial-bug.C: Likewise. + * g++.dg/cpp0x/udlit-concat-neg.C: Likewise. + * g++.dg/cpp0x/udlit-concat.C: Likewise. + * g++.dg/cpp0x/udlit-embed-quote.C: Likewise. + * g++.dg/cpp0x/udlit-extended-id-1.C: Likewise. + * g++.dg/cpp0x/udlit-general.C: Likewise. + * g++.dg/cpp0x/udlit-namespace.C: Likewise. + * g++.dg/cpp0x/udlit-raw-op.C: Likewise. + * g++.dg/cpp0x/udlit-raw-str.C: Likewise. + * g++.dg/cpp0x/udlit-resolve-char8_t.C: Likewise. + * g++.dg/cpp0x/udlit-resolve.C: Likewise. + * g++.dg/cpp0x/udlit-sfinae.C: Likewise. + * g++.dg/cpp0x/udlit-string-literal.C: Likewise. + * g++.dg/cpp0x/udlit-suffix-neg.C: Likewise. + * g++.dg/cpp1y/udlit-userdef-string.C: Likewise. + * g++.dg/cpp0x/udlit-template.C: Likewise. + * g++.dg/cpp0x/variadic-bind.C: Likewise. + * g++.dg/cpp0x/variadic-function.C: Likewise. + * g++.dg/cpp0x/variadic-mem_fn.C: Likewise. + * g++.dg/cpp0x/variadic-tuple.C: Likewise. + * g++.dg/cpp1y/auto-fn45.C: Likewise. + * g++.dg/cpp1y/complex_literals1.C: Likewise. + * g++.dg/cpp1y/complex_literals1a.C: Likewise. + * g++.dg/cpp1y/constexpr-66093.C: Likewise. + * g++.dg/cpp1y/constexpr-assert1.C: Likewise. + * g++.dg/cpp1y/constexpr-assert2.C: Likewise. + * g++.dg/cpp1y/feat-cxx14.C: Likewise. + * g++.dg/cpp1y/lambda-generic-69078-2.C: Likewise. + * g++.dg/cpp1y/lambda-generic-x.C: Likewise. + * g++.dg/cpp1y/lambda-init8.C: Likewise. + * g++.dg/cpp1y/new2.C: Likewise. + * g++.dg/cpp1y/nsdmi-aggr12.C: Likewise. + * g++.dg/cpp1y/pr57640.C: Likewise. + * g++.dg/cpp1y/pr77786.C: Likewise. + * g++.dg/cpp1y/pr95226.C: Likewise. + * g++.dg/cpp1y/udlit-char-template-sfinae.C: Likewise. + * g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C: + Likewise. + * g++.dg/cpp1z/class-deduction14.C: Likewise. + * g++.dg/cpp1z/constexpr-asm-1.C: Likewise. + * g++.dg/cpp1z/constexpr-asm-3.C: Likewise. + * g++.dg/cpp1z/decomp37.C: Likewise. + * g++.dg/cpp1z/eval-order2.C: Likewise. + * g++.dg/cpp1z/feat-cxx1z.C: Likewise. + * g++.dg/cpp1z/fold1.C: Likewise. + * g++.dg/cpp1z/init-statement6.C: Likewise. + * g++.dg/cpp1z/launder3.C: Likewise. + * g++.dg/cpp1z/launder4.C: Likewise. + * g++.dg/cpp1z/launder5.C: Likewise. + * g++.dg/cpp1z/launder6.C: Likewise. + * g++.dg/cpp1z/utf8.C: Likewise. + * g++.dg/cpp23/ext-floating12.C: Likewise. + * g++.dg/cpp23/feat-cxx2b.C: Likewise. + * g++.dg/cpp26/constexpr-voidptr1.C: Likewise. + * g++.dg/cpp26/feat-cxx26.C: Likewise. + * g++.dg/cpp2a/concepts-cmath.C: Likewise. + * g++.dg/cpp2a/concepts-explicit-spec1.C: Likewise. + * g++.dg/cpp2a/concepts-explicit-spec4.C: Likewise. + * g++.dg/cpp2a/concepts-explicit-spec5.C: Likewise. + * g++.dg/cpp2a/concepts-memfun.C: Likewise. + * g++.dg/cpp2a/concepts-pr67774.C: Likewise. + * g++.dg/cpp2a/cond-triv2.C: Likewise. + * g++.dg/cpp2a/feat-cxx2a.C: Likewise. + * g++.dg/cpp2a/nontype-float1.C: Likewise. + * g++.dg/diagnostic/disable.C: Likewise. + * g++.dg/diagnostic/missing-header-pr110164.C: Likewise. + * g++.dg/diagnostic/pr65923.C: Likewise. + * g++.dg/eh/arm-vfp-unwind.C: Likewise. + * g++.dg/eh/crossjump1.C: Likewise. + * g++.dg/eh/omit-frame-pointer.C: Likewise. + * g++.dg/eh/simd-3.C: Likewise. + * g++.dg/ext/bases.C: Likewise. + * g++.dg/ext/builtin-line1.C: Likewise. + * g++.dg/ext/builtin10.C: Likewise. + * g++.dg/ext/complex4.C: Likewise. + * g++.dg/ext/has_nothrow_assign.C: Likewise. + * g++.dg/ext/has_nothrow_assign_odr.C: Likewise. + * g++.dg/ext/has_nothrow_constructor.C: Likewise. + * g++.dg/ext/has_nothrow_constructor_odr.C: Likewise. + * g++.dg/ext/has_nothrow_copy-1.C: Likewise. + * g++.dg/ext/has_nothrow_copy-2.C: Likewise. + * g++.dg/ext/has_nothrow_copy-3.C: Likewise. + * g++.dg/ext/has_nothrow_copy-4.C: Likewise. + * g++.dg/ext/has_nothrow_copy-5.C: Likewise. + * g++.dg/ext/has_nothrow_copy-6.C: Likewise. + * g++.dg/ext/has_nothrow_copy-7.C: Likewise. + * g++.dg/ext/has_nothrow_copy_odr.C: Likewise. + * g++.dg/ext/has_trivial_assign.C: Likewise. + * g++.dg/ext/has_trivial_constructor.C: Likewise. + * g++.dg/ext/has_trivial_copy.C: Likewise. + * g++.dg/ext/has_trivial_destructor-1.C: Likewise. + * g++.dg/ext/has_virtual_destructor.C: Likewise. + * g++.dg/ext/is_abstract.C: Likewise. + * g++.dg/ext/is_aggregate.C: Likewise. + * g++.dg/ext/is_base_of.C: Likewise. + * g++.dg/ext/is_class.C: Likewise. + * g++.dg/ext/is_convertible2.C: Likewise. + * g++.dg/ext/is_empty.C: Likewise. + * g++.dg/ext/is_enum.C: Likewise. + * g++.dg/ext/is_pod.C: Likewise. + * g++.dg/ext/is_polymorphic.C: Likewise. + * g++.dg/ext/is_union.C: Likewise. + * g++.dg/ext/underlying_type10.C: Likewise. + * g++.dg/ext/underlying_type4.C: Likewise. + * g++.dg/gcov/gcov-14.C: Likewise. + * g++.dg/gcov/gcov-18.C: Likewise. + * g++.dg/gcov/pr88045.C: Likewise. + * g++.dg/gcov/pr88263-2.C: Likewise. + * g++.dg/gcov/pr88263.C: Likewise. + * g++.dg/gomp/has_device_addr-non-lvalue-1.C: Likewise. + * g++.dg/gomp/ind-base-3.C: Likewise. + * g++.dg/gomp/map-assignment-1.C: Likewise. + * g++.dg/gomp/map-lvalue-ref-1.C: Likewise. + * g++.dg/gomp/map-ptrmem-1.C: Likewise. + * g++.dg/gomp/map-ptrmem-2.C: Likewise. + * g++.dg/gomp/map-static-cast-lvalue-1.C: Likewise. + * g++.dg/gomp/map-ternary-1.C: Likewise. + * g++.dg/gomp/member-array-2.C: Likewise. + * g++.dg/gomp/pr71910.C: Likewise. + * g++.dg/gomp/pr91118-1.C: Likewise. + * g++.dg/gomp/sink-2.C: Likewise. + * g++.dg/gomp/target-this-3.C: Likewise. + * g++.dg/gomp/target-this-4.C: Likewise. + * g++.dg/gomp/tile-1.C: Likewise. + * g++.dg/gomp/tile-2.C: Likewise. + * g++.dg/gomp/unroll-1.C: Likewise. + * g++.dg/gomp/unroll-2.C: Likewise. + * g++.dg/gomp/unroll-3.C: Likewise. + * g++.dg/graphite/id-1.C: Likewise. + * g++.dg/graphite/pr42130.C: Likewise. + * g++.dg/inherit/virtual8.C: Likewise. + * g++.dg/init/array4.C: Likewise. + * g++.dg/init/new18.C: Likewise. + * g++.dg/init/new39.C: Likewise. + * g++.dg/init/new40.C: Likewise. + * g++.dg/ipa/devirt-29.C: Likewise. + * g++.dg/ipa/pr85549.C: Likewise. + * g++.dg/lookup/missing-std-include-3.C: Likewise. + * g++.dg/lookup/pr21802.C: Likewise. + * g++.dg/lto/20091022-2_0.C: Likewise. + * g++.dg/lto/20091219_0.C: Likewise. + * g++.dg/lto/pr80287_0.C: Likewise. + * g++.dg/lto/pr89358_0.C: Likewise. + * g++.dg/lto/pr89358_1.C: Likewise. + * g++.dg/modules/binding-1_a.H: Likewise. + * g++.dg/modules/binding-1_b.H: Likewise. + * g++.dg/modules/contracts-1_a.C: Likewise. + * g++.dg/modules/contracts-1_b.C: Likewise. + * g++.dg/modules/contracts-2_a.C: Likewise. + * g++.dg/modules/contracts-2_b.C: Likewise. + * g++.dg/modules/contracts-3_a.C: Likewise. + * g++.dg/modules/contracts-3_b.C: Likewise. + * g++.dg/modules/contracts-4_a.C: Likewise. + * g++.dg/modules/contracts-4_d.C: Likewise. + * g++.dg/modules/global-3_a.C: Likewise. + * g++.dg/modules/hello-1_a.C: Likewise. + * g++.dg/modules/hello-2_a.C: Likewise. + * g++.dg/modules/hello-2_b.C: Likewise. + * g++.dg/modules/iostream-1_a.H: Likewise. + * g++.dg/modules/p1689-2.C: Likewise. + * g++.dg/modules/part-5_c.C: Likewise. + * g++.dg/modules/pr99023_a.X: Likewise. + * g++.dg/modules/pr99166_a.X: Likewise. + * g++.dg/modules/pr99166_b.C: Likewise. + * g++.dg/modules/pr99425-2_a.X: Likewise. + * g++.dg/modules/pr99425-2_b.X: Likewise. + * g++.dg/modules/string-1_a.H: Likewise. + * g++.dg/modules/string-1_b.C: Likewise. + * g++.dg/modules/string-view1.C: Likewise. + * g++.dg/modules/xtreme-header-1_a.H: Likewise. + * g++.dg/modules/xtreme-header-1_b.C: Likewise. + * g++.dg/modules/xtreme-header-2_a.H: Likewise. + * g++.dg/modules/xtreme-header-2_b.C: Likewise. + * g++.dg/modules/xtreme-header-3_a.H: Likewise. + * g++.dg/modules/xtreme-header-3_b.C: Likewise. + * g++.dg/modules/xtreme-header-4_a.H: Likewise. + * g++.dg/modules/xtreme-header-4_b.C: Likewise. + * g++.dg/modules/xtreme-header-5_a.H: Likewise. + * g++.dg/modules/xtreme-header-5_b.C: Likewise. + * g++.dg/modules/xtreme-header-6_a.H: Likewise. + * g++.dg/modules/xtreme-header-6_b.C: Likewise. + * g++.dg/modules/xtreme-header-7_a.H: Likewise. + * g++.dg/modules/xtreme-header-7_b.C: Likewise. + * g++.dg/modules/xtreme-header_a.H: Likewise. + * g++.dg/modules/xtreme-header_b.C: Likewise. + * g++.dg/modules/xtreme-tr1_a.H: Likewise. + * g++.dg/modules/xtreme-tr1_b.C: Likewise. + * g++.dg/opt/builtins2.C: Likewise. + * g++.dg/opt/dtor4-aux.cc: Likewise. + * g++.dg/opt/dtor4.C: Likewise. + * g++.dg/opt/nrv17.C: Likewise. + * g++.dg/opt/pr102970.C: Likewise. + * g++.dg/opt/pr109434.C: Likewise. + * g++.dg/opt/pr110879.C: Likewise. + * g++.dg/opt/pr15551.C: Likewise. + * g++.dg/opt/pr30965.C: Likewise. + * g++.dg/opt/pr65074.C: Likewise. + * g++.dg/opt/pr66119.C: Likewise. + * g++.dg/opt/pr77844.C: Likewise. + * g++.dg/opt/pr85393.C: Likewise. + * g++.dg/opt/pr94223.C: Likewise. + * g++.dg/other/final7.C: Likewise. + * g++.dg/other/pr40561.C: Likewise. + * g++.dg/parse/lookup1.C: Likewise. + * g++.dg/parse/parse5.C: Likewise. + * g++.dg/pch/system-1.C: Likewise. + * g++.dg/pch/system-1.Hs: Likewise. + * g++.dg/pch/system-2.C: Likewise. + * g++.dg/pch/system-2.Hs: Likewise. + * g++.dg/pr100253.C: Likewise. + * g++.dg/pr104547.C: Likewise. + * g++.dg/pr107087.C: Likewise. + * g++.dg/pr71488.C: Likewise. + * g++.dg/pr71655.C: Likewise. + * g++.dg/pr79095-3.C: Likewise. + * g++.dg/pr83239.C: Likewise. + * g++.dg/pr99966.C: Likewise. + * g++.dg/rtti/typeid4.C: Likewise. + * g++.dg/spellcheck-inttypes.C: Likewise. + * g++.dg/template/friend10.C: Likewise. + * g++.dg/template/pr69961a.C: Likewise. + * g++.dg/template/show-template-tree-3.C: Likewise. + * g++.dg/tm/inherit2.C: Likewise. + * g++.dg/tm/pr46270.C: Likewise. + * g++.dg/torture/alias-1.C: Likewise. + * g++.dg/torture/builtin-location.C: Likewise. + * g++.dg/torture/pr103669.C: Likewise. + * g++.dg/torture/pr104601.C: Likewise. + * g++.dg/torture/pr106922.C: Likewise. + * g++.dg/torture/pr111019.C: Likewise. + * g++.dg/torture/pr33572.C: Likewise. + * g++.dg/torture/pr33735.C: Likewise. + * g++.dg/torture/pr34099.C: Likewise. + * g++.dg/torture/pr39417.C: Likewise. + * g++.dg/torture/pr44972.C: Likewise. + * g++.dg/torture/pr46364.C: Likewise. + * g++.dg/torture/pr49628.C: Likewise. + * g++.dg/torture/pr49938.C: Likewise. + * g++.dg/torture/pr51903.C: Likewise. + * g++.dg/torture/pr54498.C: Likewise. + * g++.dg/torture/pr60750.C: Likewise. + * g++.dg/torture/pr67600.C: Likewise. + * g++.dg/torture/pr82084.C: Likewise. + * g++.dg/torture/pr86763.C: Likewise. + * g++.dg/torture/pr95493-1.C: Likewise. + * g++.dg/tree-ssa/allocator-opt1.C: Likewise. + * g++.dg/tree-ssa/copyprop.C: Likewise. + * g++.dg/tree-ssa/empty-loop.C: Likewise. + * g++.dg/tree-ssa/initlist-opt1.C: Likewise. + * g++.dg/tree-ssa/initlist-opt2.C: Likewise. + * g++.dg/tree-ssa/initlist-opt3.C: Likewise. + * g++.dg/tree-ssa/initlist-opt5.C: Likewise. + * g++.dg/tree-ssa/loop-cond-split-1.C: Likewise. + * g++.dg/tree-ssa/loop-split-1.C: Likewise. + * g++.dg/tree-ssa/pr101839.C: Likewise. + * g++.dg/tree-ssa/pr104529.C: Likewise. + * g++.dg/tree-ssa/pr109849.C: Likewise. + * g++.dg/tree-ssa/pr14703.C: Likewise. + * g++.dg/tree-ssa/pr19786.C: Likewise. + * g++.dg/tree-ssa/pr46228.C: Likewise. + * g++.dg/tree-ssa/pr63841.C: Likewise. + * g++.dg/tree-ssa/pr69336.C: Likewise. + * g++.dg/tree-ssa/pr78847.C: Likewise. + * g++.dg/tree-ssa/pr95638.C: Likewise. + * g++.dg/uninit-pr105937.C: Likewise. + * g++.dg/vect/pr102421.cc: Likewise. + * g++.dg/vect/pr105053.cc: Likewise. + * g++.dg/vect/pr33426-ivdep-4.cc: Likewise. + * g++.dg/vect/pr64410.cc: Likewise. + * g++.dg/vect/slp-pr87105.cc: Likewise. + * g++.dg/vect/vect-novector-pragma.cc: Likewise. + * g++.dg/warn/Warray-bounds-27.C: Likewise. + * g++.dg/warn/Wdangling-pointer-pr110055.C: Likewise. + * g++.dg/warn/Wdangling-reference10.C: Likewise. + * g++.dg/warn/Wdangling-reference14.C: Likewise. + * g++.dg/warn/Wdangling-reference17.C: Likewise. + * g++.dg/warn/Wdangling-reference4.C: Likewise. + * g++.dg/warn/Wdangling-reference5.C: Likewise. + * g++.dg/warn/Wfree-nonheap-object-3.C: Likewise. + * g++.dg/warn/Winline-3.C: Likewise. + * g++.dg/warn/Wmemset-elt-size1.C: Likewise. + * g++.dg/warn/Wparentheses-34.C: Likewise. + * g++.dg/warn/Wstrict-aliasing-bogus-escape-2.C: Likewise. + * g++.dg/warn/Wstrict-aliasing-bogus-escape.C: Likewise. + * g++.dg/warn/Wstringop-overflow-6.C: Likewise. + * g++.dg/warn/Wstringop-overflow-8.C: Likewise. + * g++.dg/warn/Wstringop-overread-1.C: Likewise. + * g++.dg/warn/Wuninitialized-33.C: Likewise. + * g++.dg/warn/Wuninitialized-pr111123-1.C: Likewise. + * g++.dg/warn/format1.C: Likewise. + * g++.dg/warn/huge-val1.C: Likewise. + * g++.dg/warn/string1.C: Likewise. + * g++.dg/warn/uninit-pr105562.C: Likewise. + * g++.old-deja/g++.benjamin/15071.C: Likewise. + * g++.old-deja/g++.brendan/copy9.C: Likewise. + * g++.old-deja/g++.brendan/crash15.C: Likewise. + * g++.old-deja/g++.brendan/crash20.C: Likewise. + * g++.old-deja/g++.brendan/crash30.C: Likewise. + * g++.old-deja/g++.brendan/crash38.C: Likewise. + * g++.old-deja/g++.brendan/crash39.C: Likewise. + * g++.old-deja/g++.brendan/crash49.C: Likewise. + * g++.old-deja/g++.brendan/crash52.C: Likewise. + * g++.old-deja/g++.brendan/crash62.C: Likewise. + * g++.old-deja/g++.brendan/cvt1.C: Likewise. + * g++.old-deja/g++.brendan/err-msg3.C: Likewise. + * g++.old-deja/g++.brendan/nest21.C: Likewise. + * g++.old-deja/g++.brendan/ptolemy2.C: Likewise. + * g++.old-deja/g++.jason/2371.C: Likewise. + * g++.old-deja/g++.jason/template24.C: Likewise. + * g++.old-deja/g++.jason/template31.C: Likewise. + * g++.old-deja/g++.jason/typeid1.C: Likewise. + * g++.old-deja/g++.law/arg1.C: Likewise. + * g++.old-deja/g++.law/arg8.C: Likewise. + * g++.old-deja/g++.law/arm12.C: Likewise. + * g++.old-deja/g++.law/arm9.C: Likewise. + * g++.old-deja/g++.law/bad-error7.C: Likewise. + * g++.old-deja/g++.law/code-gen5.C: Likewise. + * g++.old-deja/g++.law/ctors10.C: Likewise. + * g++.old-deja/g++.law/ctors12.C: Likewise. + * g++.old-deja/g++.law/ctors13.C: Likewise. + * g++.old-deja/g++.law/ctors17.C: Likewise. + * g++.old-deja/g++.law/ctors6.C: Likewise. + * g++.old-deja/g++.law/cvt16.C: Likewise. + * g++.old-deja/g++.law/cvt2.C: Likewise. + * g++.old-deja/g++.law/cvt7.C: Likewise. + * g++.old-deja/g++.law/except5.C: Likewise. + * g++.old-deja/g++.law/missed-error2.C: Likewise. + * g++.old-deja/g++.law/nest3.C: Likewise. + * g++.old-deja/g++.law/operators32.C: Likewise. + * g++.old-deja/g++.law/operators4.C: Likewise. + * g++.old-deja/g++.law/vbase1.C: Likewise. + * g++.old-deja/g++.law/virtual3.C: Likewise. + * g++.old-deja/g++.law/visibility1.C: Likewise. + * g++.old-deja/g++.law/visibility10.C: Likewise. + * g++.old-deja/g++.law/visibility13.C: Likewise. + * g++.old-deja/g++.law/visibility17.C: Likewise. + * g++.old-deja/g++.law/visibility2.C: Likewise. + * g++.old-deja/g++.law/visibility22.C: Likewise. + * g++.old-deja/g++.law/visibility25.C: Likewise. + * g++.old-deja/g++.law/visibility7.C: Likewise. + * g++.old-deja/g++.law/weak.C: Likewise. + * g++.old-deja/g++.martin/new1.C: Likewise. + * g++.old-deja/g++.mike/dyncast7.C: Likewise. + * g++.old-deja/g++.mike/eh13.C: Likewise. + * g++.old-deja/g++.mike/eh2.C: Likewise. + * g++.old-deja/g++.mike/net34.C: Likewise. + * g++.old-deja/g++.mike/net46.C: Likewise. + * g++.old-deja/g++.mike/p658.C: Likewise. + * g++.old-deja/g++.mike/rtti1.C: Likewise. + * g++.old-deja/g++.ns/using4.C: Likewise. + * g++.old-deja/g++.ns/using6.C: Likewise. + * g++.old-deja/g++.other/defarg6.C: Likewise. + * g++.old-deja/g++.other/headers1.C: Likewise. + * g++.old-deja/g++.other/init9.C: Likewise. + * g++.old-deja/g++.other/inline14.C: Likewise. + * g++.old-deja/g++.other/inline2.C: Likewise. + * g++.old-deja/g++.other/inline7.C: Likewise. + * g++.old-deja/g++.other/inline8.C: Likewise. + * g++.old-deja/g++.other/optimize2.C: Likewise. + * g++.old-deja/g++.other/sibcall1.C: Likewise. + * g++.old-deja/g++.other/unchanging1.C: Likewise. + * g++.old-deja/g++.pt/crash68.C: Likewise. + * g++.old-deja/g++.pt/memtemp100.C: Likewise. + * g++.old-deja/g++.robertl/eb109.C: Likewise. + * g++.old-deja/g++.robertl/eb113.C: Likewise. + * g++.old-deja/g++.robertl/eb115.C: Likewise. + * g++.old-deja/g++.robertl/eb124.C: Likewise. + * g++.old-deja/g++.robertl/eb127.C: Likewise. + * g++.old-deja/g++.robertl/eb129.C: Likewise. + * g++.old-deja/g++.robertl/eb129a.C: Likewise. + * g++.old-deja/g++.robertl/eb130.C: Likewise. + * g++.old-deja/g++.robertl/eb132.C: Likewise. + * g++.old-deja/g++.robertl/eb15.C: Likewise. + * g++.old-deja/g++.robertl/eb21.C: Likewise. + * g++.old-deja/g++.robertl/eb24.C: Likewise. + * g++.old-deja/g++.robertl/eb27.C: Likewise. + * g++.old-deja/g++.robertl/eb28.C: Likewise. + * g++.old-deja/g++.robertl/eb29.C: Likewise. + * g++.old-deja/g++.robertl/eb3.C: Likewise. + * g++.old-deja/g++.robertl/eb30.C: Likewise. + * g++.old-deja/g++.robertl/eb31.C: Likewise. + * g++.old-deja/g++.robertl/eb33.C: Likewise. + * g++.old-deja/g++.robertl/eb36.C: Likewise. + * g++.old-deja/g++.robertl/eb39.C: Likewise. + * g++.old-deja/g++.robertl/eb4.C: Likewise. + * g++.old-deja/g++.robertl/eb41.C: Likewise. + * g++.old-deja/g++.robertl/eb43.C: Likewise. + * g++.old-deja/g++.robertl/eb44.C: Likewise. + * g++.old-deja/g++.robertl/eb46.C: Likewise. + * g++.old-deja/g++.robertl/eb54.C: Likewise. + * g++.old-deja/g++.robertl/eb55.C: Likewise. + * g++.old-deja/g++.robertl/eb59.C: Likewise. + * g++.old-deja/g++.robertl/eb60.C: Likewise. + * g++.old-deja/g++.robertl/eb62.C: Likewise. + * g++.old-deja/g++.robertl/eb66.C: Likewise. + * g++.old-deja/g++.robertl/eb7.C: Likewise. + * g++.old-deja/g++.robertl/eb73.C: Likewise. + * g++.old-deja/g++.robertl/eb77.C: Likewise. + * g++.old-deja/g++.robertl/eb79.C: Likewise. + * g++.old-deja/g++.warn/iomanip.C: Likewise. + * g++.target/i386/pr105638.C: Likewise. + * g++.target/i386/pr110170.C: Likewise. + * g++.target/i386/pr80566-1.C: Likewise. + * g++.target/i386/pr80566-2.C: Likewise. + * c-c++-common/analyzer/allocation-size-1.c: Skip if + !hostedlib because of unavailable declarations. + * c-c++-common/analyzer/allocation-size-2.c: Likewise. + * c-c++-common/analyzer/allocation-size-3.c: Likewise. + * c-c++-common/analyzer/allocation-size-4.c: Likewise. + * c-c++-common/analyzer/analyzer-verbosity-0.c: Likewise. + * c-c++-common/analyzer/analyzer-verbosity-1.c: Likewise. + * c-c++-common/analyzer/analyzer-verbosity-2.c: Likewise. + * c-c++-common/analyzer/analyzer-verbosity-3.c: Likewise. + * c-c++-common/analyzer/call-summaries-1.c: Likewise. + * c-c++-common/analyzer/call-summaries-malloc.c: Likewise. + * c-c++-common/analyzer/callbacks-1.c: Likewise. + * c-c++-common/analyzer/callbacks-2.c: Likewise. + * c-c++-common/analyzer/capacity-1.c: Likewise. + * c-c++-common/analyzer/capacity-2.c: Likewise. + * c-c++-common/analyzer/capacity-3.c: Likewise. + * c-c++-common/analyzer/compound-assignment-1.c: Likewise. + * c-c++-common/analyzer/data-model-14.c: Likewise. + * c-c++-common/analyzer/data-model-20.c: Likewise. + * c-c++-common/analyzer/data-model-5d.c: Likewise. + * c-c++-common/analyzer/disabling.c: Likewise. + * c-c++-common/analyzer/dump-state.c: Likewise. + * c-c++-common/analyzer/edges-2.c: Likewise. + * c-c++-common/analyzer/first-field-2.c: Likewise. + * c-c++-common/analyzer/flex-with-call-summaries.c: Likewise. + * c-c++-common/analyzer/flex-without-call-summaries.c: + Likewise. + * c-c++-common/analyzer/flexible-array-member-1.c: Likewise. + * c-c++-common/analyzer/function-ptr-2.c: Likewise. + * c-c++-common/analyzer/function-ptr-3.c: Likewise. + * c-c++-common/analyzer/function-ptr-4.c: Likewise. + * c-c++-common/analyzer/gzio.c: Likewise. + * c-c++-common/analyzer/imprecise-floating-point-1.c: + Likewise. + * c-c++-common/analyzer/leak-2.c: Likewise. + * c-c++-common/analyzer/leak-3.c: Likewise. + * c-c++-common/analyzer/leak-4.c: Likewise. + * c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: + Likewise. + * c-c++-common/analyzer/loop-3.c: Likewise. + * c-c++-common/analyzer/malloc-3.c: Likewise. + * c-c++-common/analyzer/malloc-5.c: Likewise. + * c-c++-common/analyzer/malloc-CWE-401-example.c: Likewise. + * c-c++-common/analyzer/malloc-CWE-415-examples.c: Likewise. + * c-c++-common/analyzer/malloc-CWE-416-examples.c: Likewise. + * c-c++-common/analyzer/malloc-CWE-590-examples.c: Likewise. + * c-c++-common/analyzer/malloc-callbacks.c: Likewise. + * c-c++-common/analyzer/malloc-dce.c: Likewise. + * c-c++-common/analyzer/malloc-dedupe-1.c: Likewise. + * c-c++-common/analyzer/malloc-in-loop.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-1.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-10.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-11.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-12.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-13a.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-2.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-3.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-4.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-5.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-6.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-7.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-9.c: Likewise. + * c-c++-common/analyzer/malloc-macro-inline-events.c: + Likewise. + * c-c++-common/analyzer/malloc-macro-separate-events.c: + Likewise. + * c-c++-common/analyzer/malloc-many-paths-3.c: Likewise. + * c-c++-common/analyzer/malloc-meaning-1.c: Likewise. + * c-c++-common/analyzer/malloc-paths-1.c: Likewise. + * c-c++-common/analyzer/malloc-paths-2.c: Likewise. + * c-c++-common/analyzer/malloc-paths-3.c: Likewise. + * c-c++-common/analyzer/malloc-paths-4.c: Likewise. + * c-c++-common/analyzer/malloc-paths-5.c: Likewise. + * c-c++-common/analyzer/malloc-paths-6.c: Likewise. + * c-c++-common/analyzer/malloc-paths-7.c: Likewise. + * c-c++-common/analyzer/malloc-paths-8.c: Likewise. + * c-c++-common/analyzer/malloc-paths-9-noexcept.c: Likewise. + * c-c++-common/analyzer/malloc-sarif-1.c: Likewise. + * c-c++-common/analyzer/malloc-vs-local-1a.c: Likewise. + * c-c++-common/analyzer/malloc-vs-local-1b.c: Likewise. + * c-c++-common/analyzer/malloc-vs-local-2.c: Likewise. + * c-c++-common/analyzer/malloc-vs-local-3.c: Likewise. + * c-c++-common/analyzer/out-of-bounds-1.c: Likewise. + * c-c++-common/analyzer/out-of-bounds-2.c: Likewise. + * c-c++-common/analyzer/out-of-bounds-diagram-3.c: Likewise. + * c-c++-common/analyzer/out-of-bounds-diagram-8.c: Likewise. + * c-c++-common/analyzer/paths-3.c: Likewise. + * c-c++-common/analyzer/paths-6.c: Likewise. + * c-c++-common/analyzer/paths-7.c: Likewise. + * c-c++-common/analyzer/pr103526.c: Likewise. + * c-c++-common/analyzer/pr106539.c: Likewise. + * c-c++-common/analyzer/pr94399.c: Likewise. + * c-c++-common/analyzer/pr94851-1.c: Likewise. + * c-c++-common/analyzer/pr94851-2.c: Likewise. + * c-c++-common/analyzer/pr94851-4.c: Likewise. + * c-c++-common/analyzer/pr97608.c: Likewise. + * c-c++-common/analyzer/pr98918.c: Likewise. + * c-c++-common/analyzer/pr99716-2.c: Likewise. + * c-c++-common/analyzer/pr99716-3.c: Likewise. + * c-c++-common/analyzer/pragma-1.c: Likewise. + * c-c++-common/analyzer/pragma-2.c: Likewise. + * c-c++-common/analyzer/sarif-path-role.c: Likewise. + * c-c++-common/analyzer/scope-1.c: Likewise. + * c-c++-common/analyzer/strndup-1.c: Likewise. + * c-c++-common/analyzer/taint-alloc-3.c: Likewise. + * c-c++-common/analyzer/taint-realloc.c: Likewise. + * c-c++-common/analyzer/use-after-free-3.c: Likewise. + * c-c++-common/analyzer/zlib-4.c: Likewise. + * c-c++-common/goacc/kernels-counter-vars-function-scope.c: + Likewise. + * c-c++-common/goacc/kernels-loop-2.c: Likewise. + * c-c++-common/goacc/kernels-loop-3.c: Likewise. + * c-c++-common/goacc/kernels-loop-data-2.c: Likewise. + * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: + Likewise. + * c-c++-common/goacc/kernels-loop-data-enter-exit.c: + Likewise. + * c-c++-common/goacc/kernels-loop-data-update.c: Likewise. + * c-c++-common/goacc/kernels-loop-data.c: Likewise. + * c-c++-common/goacc/kernels-loop-g.c: Likewise. + * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise. + * c-c++-common/goacc/kernels-loop-n.c: Likewise. + * c-c++-common/goacc/kernels-loop.c: Likewise. + * c-c++-common/goacc/kernels-one-counter-var.c: Likewise. + * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: + Likewise. + * c-c++-common/gomp/pr103642.c: Likewise. + * c-c++-common/gomp/target-implicit-map-2.c: Likewise. + * c-c++-common/simulate-thread/bitfields-4.c: Likewise. + * c-c++-common/tm/malloc.c: Likewise. + * g++.dg/abi/mangle36.C: Likewise. + * g++.dg/abi/mangle40.C: Likewise. + * g++.dg/abi/mangle41.C: Likewise. + * g++.dg/analyzer/cstdlib.C: Likewise. + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C: + Likewise. + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C: + Likewise. + * g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C: + Likewise. + * g++.dg/analyzer/malloc.C: Likewise. + * g++.dg/analyzer/new-vs-malloc.C: Likewise. + * g++.dg/analyzer/placement-new-size.C: Likewise. + * g++.dg/analyzer/vfunc-3.C: Likewise. + * g++.dg/analyzer/vfunc-5.C: Likewise. + * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: + Likewise. + * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: + Likewise. + * g++.dg/coroutines/pr101765.C: Likewise. + * g++.dg/coroutines/pr95477.C: Likewise. + * g++.dg/coroutines/pr95599.C: Likewise. + * g++.dg/coroutines/pr95711.C: Likewise. + * g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C: + Likewise. + * g++.dg/coroutines/torture/alloc-01-overload-newdel.C: + Likewise. + * g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C: + Likewise. + * g++.dg/coroutines/torture/alloc-03-overload-new-1.C: + Likewise. + * g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C: + Likewise. + * g++.dg/coroutines/torture/call-00-co-aw-arg.C: Likewise. + * g++.dg/coroutines/torture/call-01-multiple-co-aw.C: + Likewise. + * g++.dg/coroutines/torture/call-02-temp-co-aw.C: Likewise. + * g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C: + Likewise. + * g++.dg/coroutines/torture/class-00-co-ret.C: Likewise. + * g++.dg/coroutines/torture/class-01-co-ret-parm.C: Likewise. + * g++.dg/coroutines/torture/class-02-templ-parm.C: Likewise. + * g++.dg/coroutines/torture/class-03-operator-templ-parm.C: + Likewise. + * g++.dg/coroutines/torture/class-04-lambda-1.C: Likewise. + * g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C: + Likewise. + * g++.dg/coroutines/torture/class-06-lambda-capture-ref.C: + Likewise. + * g++.dg/coroutines/torture/class-07-data-member.C: Likewise. + * g++.dg/coroutines/torture/co-await-00-trivial.C: Likewise. + * g++.dg/coroutines/torture/co-await-01-with-value.C: + Likewise. + * g++.dg/coroutines/torture/co-await-02-xform.C: Likewise. + * g++.dg/coroutines/torture/co-await-03-rhs-op.C: Likewise. + * g++.dg/coroutines/torture/co-await-04-control-flow.C: + Likewise. + * g++.dg/coroutines/torture/co-await-05-loop.C: Likewise. + * g++.dg/coroutines/torture/co-await-06-ovl.C: Likewise. + * g++.dg/coroutines/torture/co-await-07-tmpl.C: Likewise. + * g++.dg/coroutines/torture/co-await-08-cascade.C: Likewise. + * g++.dg/coroutines/torture/co-await-09-pair.C: Likewise. + * g++.dg/coroutines/torture/co-await-10-template-fn-arg.C: + Likewise. + * g++.dg/coroutines/torture/co-await-11-forwarding.C: + Likewise. + * g++.dg/coroutines/torture/co-await-12-operator-2.C: + Likewise. + * g++.dg/coroutines/torture/co-await-13-return-ref.C: + Likewise. + * g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C: + Likewise. + * g++.dg/coroutines/torture/co-await-15-return-non-triv.C: + Likewise. + * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: + Likewise. + * g++.dg/coroutines/torture/co-await-18-if-cond.C: Likewise. + * g++.dg/coroutines/torture/co-await-19-while-cond.C: + Likewise. + * g++.dg/coroutines/torture/co-await-20-do-while-cond.C: + Likewise. + * g++.dg/coroutines/torture/co-await-21-switch-value.C: + Likewise. + * g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C: + Likewise. + * g++.dg/coroutines/torture/co-await-24-for-init.C: Likewise. + * g++.dg/coroutines/torture/co-await-25-for-condition.C: + Likewise. + * g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-05-return-value.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-13-template-2.C: Likewise. + * g++.dg/coroutines/torture/co-ret-14-template-3.C: Likewise. + * g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C: + Likewise. + * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: + Likewise. + * g++.dg/coroutines/torture/co-yield-00-triv.C: Likewise. + * g++.dg/coroutines/torture/co-yield-01-multi.C: Likewise. + * g++.dg/coroutines/torture/co-yield-02-loop.C: Likewise. + * g++.dg/coroutines/torture/co-yield-03-tmpl.C: Likewise. + * g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C: + Likewise. + * g++.dg/coroutines/torture/co-yield-05-co-aw.C: Likewise. + * g++.dg/coroutines/torture/co-yield-06-fun-parm.C: Likewise. + * g++.dg/coroutines/torture/co-yield-07-template-fn-param.C: + Likewise. + * g++.dg/coroutines/torture/co-yield-08-more-refs.C: + Likewise. + * g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C: + Likewise. + * g++.dg/coroutines/torture/exceptions-test-0.C: Likewise. + * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: + Likewise. + * g++.dg/coroutines/torture/func-params-00.C: Likewise. + * g++.dg/coroutines/torture/func-params-01.C: Likewise. + * g++.dg/coroutines/torture/func-params-02.C: Likewise. + * g++.dg/coroutines/torture/func-params-03.C: Likewise. + * g++.dg/coroutines/torture/func-params-04.C: Likewise. + * g++.dg/coroutines/torture/func-params-05.C: Likewise. + * g++.dg/coroutines/torture/func-params-06.C: Likewise. + * g++.dg/coroutines/torture/func-params-07.C: Likewise. + * g++.dg/coroutines/torture/lambda-00-co-ret.C: Likewise. + * g++.dg/coroutines/torture/lambda-01-co-ret-parm.C: + Likewise. + * g++.dg/coroutines/torture/lambda-02-co-yield-values.C: + Likewise. + * g++.dg/coroutines/torture/lambda-03-auto-parm-1.C: + Likewise. + * g++.dg/coroutines/torture/lambda-04-templ-parm.C: Likewise. + * g++.dg/coroutines/torture/lambda-05-capture-copy-local.C: + Likewise. + * g++.dg/coroutines/torture/lambda-06-multi-capture.C: + Likewise. + * g++.dg/coroutines/torture/lambda-07-multi-yield.C: + Likewise. + * g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C: + Likewise. + * g++.dg/coroutines/torture/lambda-09-init-captures.C: + Likewise. + * g++.dg/coroutines/torture/lambda-10-mutable.C: Likewise. + * g++.dg/coroutines/torture/local-var-00-const.C: Likewise. + * g++.dg/coroutines/torture/local-var-01-single.C: Likewise. + * g++.dg/coroutines/torture/local-var-02-conditional.C: + Likewise. + * g++.dg/coroutines/torture/local-var-03-with-awaits.C: + Likewise. + * g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C: + Likewise. + * g++.dg/coroutines/torture/local-var-06-structured-binding.C: + Likewise. + * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: + Likewise. + * g++.dg/coroutines/torture/pr95003.C: Likewise. + * g++.dg/coroutines/torture/pr95519-00-return_void.C: + Likewise. + * g++.dg/coroutines/torture/pr95519-01-initial-suspend.C: + Likewise. + * g++.dg/coroutines/torture/pr95519-02-final_suspend.C: + Likewise. + * g++.dg/coroutines/torture/pr95519-03-return-value.C: + Likewise. + * g++.dg/coroutines/torture/pr95519-04-yield-value.C: + Likewise. + * g++.dg/coroutines/torture/pr95519-05-gro.C: Likewise. + * g++.dg/coroutines/torture/pr95519-06-grooaf.C: Likewise. + * g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C: + Likewise. + * g++.dg/cpp0x/lambda/lambda-std-function.C: Likewise. + * g++.dg/cpp0x/lambda/lambda-this8.C: Likewise. + * g++.dg/cpp0x/pr70887.C: Likewise. + * g++.dg/cpp1y/lambda-generic-variadic2.C: Likewise. + * g++.dg/cpp23/subscript5.C: Likewise. + * g++.dg/cpp23/subscript6.C: Likewise. + * g++.dg/cpp26/constexpr-new2.C: Likewise. + * g++.dg/cpp2a/destroying-delete5.C: Likewise. + * g++.dg/eh/filter2.C: Likewise. + * g++.dg/eh/uncaught1.C: Likewise. + * g++.dg/eh/uncaught2.C: Likewise. + * g++.dg/expr/anew1.C: Likewise. + * g++.dg/expr/anew2.C: Likewise. + * g++.dg/expr/anew3.C: Likewise. + * g++.dg/expr/anew4.C: Likewise. + * g++.dg/ext/cleanup-10.C: Likewise. + * g++.dg/ext/cleanup-11.C: Likewise. + * g++.dg/ext/cleanup-5.C: Likewise. + * g++.dg/ext/cleanup-8.C: Likewise. + * g++.dg/ext/cleanup-9.C: Likewise. + * g++.dg/ext/is_invocable2.C: Likewise. + * g++.dg/goacc/pr107028-2.C: Likewise. + * g++.dg/gomp/target-lambda-2.C: Likewise. + * g++.dg/init/new11.C: Likewise. + * g++.dg/init/value3.C: Likewise. + * g++.dg/lto/pr66180_0.C: Likewise. + * g++.dg/opt/eh4.C: Likewise. + * g++.dg/opt/pr103989.C: Likewise. + * g++.dg/opt/pr80385.C: Likewise. + * g++.dg/opt/reload3.C: Likewise. + * g++.dg/other/i386-1.C: Likewise. + * g++.dg/other/i386-11.C: Likewise. + * g++.dg/other/i386-2.C: Likewise. + * g++.dg/other/i386-3.C: Likewise. + * g++.dg/other/i386-4.C: Likewise. + * g++.dg/other/i386-7.C: Likewise. + * g++.dg/other/i386-8.C: Likewise. + * g++.dg/other/mmintrin.C: Likewise. + * g++.dg/other/pr34435.C: Likewise. + * g++.dg/other/pr40446.C: Likewise. + * g++.dg/other/pr49133.C: Likewise. + * g++.dg/other/ucnid-1-utf8.C: Likewise. + * g++.dg/other/ucnid-1.C: Likewise. + * g++.dg/pr80481.C: Likewise. + * g++.dg/torture/pr10148.C: Likewise. + * g++.dg/torture/pr91334.C: Likewise. + * g++.dg/torture/pr91606.C: Likewise. + * g++.dg/tree-ssa/pr102216-2.C: Likewise. + * g++.dg/vect/slp-pr98855.cc: Likewise. + * g++.dg/warn/Wsystem-headers1a.C: Likewise. + * g++.dg/warn/noreturn-1.C: Likewise. + * g++.old-deja/g++.abi/arraynew.C: Likewise. + * g++.old-deja/g++.abi/cxa_vec.C: Likewise. + * g++.old-deja/g++.brendan/new3.C: Likewise. + * g++.old-deja/g++.eh/new1.C: Likewise. + * g++.old-deja/g++.eh/new2.C: Likewise. + * g++.old-deja/g++.jason/template44.C: Likewise. + * g++.old-deja/g++.law/arm13.C: Likewise. + * g++.old-deja/g++.law/scope2.C: Likewise. + * g++.old-deja/g++.mike/eh47.C: Likewise. + * g++.old-deja/g++.mike/ns15.C: Likewise. + * g++.old-deja/g++.mike/p710.C: Likewise. + * g++.old-deja/g++.mike/p9706.C: Likewise. + * g++.old-deja/g++.oliva/new1.C: Likewise. + * g++.old-deja/g++.other/delete8.C: Likewise. + * g++.target/i386/avx-pr54700-1.C: Likewise. + * g++.target/i386/avx-pr54700-2.C: Likewise. + * g++.target/i386/avx2-pr54700-1.C: Likewise. + * g++.target/i386/avx2-pr54700-2.C: Likewise. + * g++.target/i386/avx512bw-pr96246-2.C: Likewise. + * g++.target/i386/avx512vl-pr54700-1a.C: Likewise. + * g++.target/i386/avx512vl-pr54700-1b.C: Likewise. + * g++.target/i386/avx512vl-pr54700-2a.C: Likewise. + * g++.target/i386/avx512vl-pr54700-2b.C: Likewise. + * g++.target/i386/avx512vl-pr96246-2.C: Likewise. + * g++.target/i386/mvc4.C: Likewise. + * g++.target/i386/pr100885.C: Likewise. + * g++.target/i386/pr102166.C: Likewise. + * g++.target/i386/pr103750-fwprop-1.C: Likewise. + * g++.target/i386/pr105593.C: Likewise. + * g++.target/i386/pr112443.C: Likewise. + * g++.target/i386/pr113560.C: Likewise. + * g++.target/i386/pr88152.C: Likewise. + * g++.target/i386/pr88998.C: Likewise. + * g++.target/i386/pr94046-1.C: Likewise. + * g++.target/i386/pr94046-2.C: Likewise. + * g++.target/i386/sse4_1-pr54700-1.C: Likewise. + * g++.target/i386/sse4_1-pr54700-2.C: Likewise. + * g++.dg/tree-ssa/pr20458.C: Skip if !hostedlib because of + unavailable library definitions. + +2024-09-12 Jonathan Wakely <jwakely@redhat.com> + + PR c++/116673 + * g++.dg/cpp1z/launder2.C: Adjust dg-error strings. + * g++.dg/cpp1z/launder10.C: New test. + +2024-09-12 Steven G. Kargl <kargl@gcc.gnu.org> + + * gfortran.dg/unsigned_kiss.f90: New test. + +2024-09-12 Uros Bizjak <ubizjak@gmail.com> + + PR target/112600 + * gcc.target/i386/pr112600-3a.c: New test. + * gcc.target/i386/pr112600-3b.c: New test. + +2024-09-12 Patrick Palka <ppalka@redhat.com> + + PR c++/116418 + * g++.dg/eh/pr84968.C: No longer expect an ahead of time diagnostic + for the statement-expresssion. Instantiate the template and expect + an incomplete type error instead. + * g++.dg/ext/stmtexpr26.C: New test. + +2024-09-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/116636 + * g++.dg/warn/deprecated-19.C: New test. + +2024-09-12 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/embed-17.c: New test. + * c-c++-common/cpp/embed-18.c: New test. + * c-c++-common/cpp/embed-19.c: New test. + * c-c++-common/cpp/embed-27.c: New test. + * gcc.dg/cpp/embed-6.c: New test. + * gcc.dg/cpp/embed-7.c: New test. + +2024-09-12 Jason Merrill <jason@redhat.com> + + * c-c++-common/pragma-diag-17.c: New test. + * g++.dg/cpp0x/va-opt1.C: New test. + * g++.dg/cpp23/named-universal-char-escape3.C: New test. + +2024-09-12 Richard Earnshaw <rearnsha@arm.com> + + * lib/target-supports.exp: Move xscale to new generator table. + (check_effective_target_arm_arch_FUNC_ok): Add -mcpu=unset to the + list of flags. + (add_options_for_arm_arch_FUNC): Likewise. + (check_effective_target_arm_cpu_FUNC_ok): New function. + (add_options_for_arm_cpu_FUNC): Likewise. + (check_effective_target_arm_cpu_FUNC_link): Likewise. + (check_effective_target_arm_cpu_FUNC_multilib): Likewise. + * gcc.target/arm/g2.c: Update dg directives. + * gcc.target/arm/scd42-2.c: Likewise. + +2024-09-12 Marek Polacek <polacek@redhat.com> + + PR c++/96097 + * g++.dg/template/ttp44.C: New test. + +2024-09-12 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/cpp/embed-15.c: New test. + * c-c++-common/cpp/embed-16.c: New test. + * gcc.dg/cpp/embed-5.c: New test. + +2024-09-12 Jakub Jelinek <jakub@redhat.com> + + PR c/105863 + * c-c++-common/cpp/embed-1.c: New test. + * c-c++-common/cpp/embed-2.c: New test. + * c-c++-common/cpp/embed-3.c: New test. + * c-c++-common/cpp/embed-4.c: New test. + * c-c++-common/cpp/embed-5.c: New test. + * c-c++-common/cpp/embed-6.c: New test. + * c-c++-common/cpp/embed-7.c: New test. + * c-c++-common/cpp/embed-8.c: New test. + * c-c++-common/cpp/embed-9.c: New test. + * c-c++-common/cpp/embed-10.c: New test. + * c-c++-common/cpp/embed-11.c: New test. + * c-c++-common/cpp/embed-12.c: New test. + * c-c++-common/cpp/embed-13.c: New test. + * c-c++-common/cpp/embed-14.c: New test. + * c-c++-common/cpp/embed-25.c: New test. + * c-c++-common/cpp/embed-26.c: New test. + * c-c++-common/cpp/embed-dir/embed-1.inc: New test. + * c-c++-common/cpp/embed-dir/embed-3.c: New test. + * c-c++-common/cpp/embed-dir/embed-4.c: New test. + * c-c++-common/cpp/embed-dir/magna-carta.txt: New test. + * gcc.dg/cpp/embed-1.c: New test. + * gcc.dg/cpp/embed-2.c: New test. + * gcc.dg/cpp/embed-3.c: New test. + * gcc.dg/cpp/embed-4.c: New test. + * g++.dg/cpp/embed-1.C: New test. + * g++.dg/cpp/embed-2.C: New test. + * g++.dg/cpp/embed-3.C: New test. + +2024-09-12 Simon Martin <simon@nasilyan.com> + + PR c++/116323 + * g++.dg/template/access43.C: New test. + +2024-09-12 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/part-vect-vec_cmpbf.c: New test. + +2024-09-12 Bohan Lei <garthlei@linux.alibaba.com> + + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-4.c: New test. + +2024-09-12 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx10-helper.h: Do not include + avx512f-mask-type.h. + * gcc.target/i386/avx10_2-512-vaddnepbf16-2.c: + Define SIZE and include avx512f-mask-type.h. + * gcc.target/i386/avx10_2-512-vcmppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vdivnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vdpphps-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfnmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfnmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vgetexppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmaxpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxpd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxph-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxps-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmpsadbw-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmulnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbssds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbsud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbuud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbuuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwsud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwusd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwusds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwuud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwuuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrcppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vreducenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vscalefpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vsubnepbf16-2.c: Ditto. + * gcc.target/i386/avx512fp16-vfpclassph-1b.c: Ditto. + +2024-09-12 garthlei <garthlei@linux.alibaba.com> + + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-3.c: New test. + +2024-09-12 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116496 + * g++.dg/modules/partial-5_a.C: New test. + * g++.dg/modules/partial-5_b.C: New test. + +2024-09-11 Richard Earnshaw <rearnsha@arm.com> + + PR target/116597 + * gcc.target/arm/pac-sibcall-2.c: New test. + * gcc.target/arm/pac-sibcall-3.c: New test. + +2024-09-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116674 + * g++.dg/vect/pr116674.cc: New testcase. + +2024-09-11 Alex Coplan <alex.coplan@arm.com> + + PR libstdc++/116140 + * g++.dg/ext/pragma-unroll-lambda-lto.C: New test. + +2024-09-11 Alex Coplan <alex.coplan@arm.com> + + PR libstdc++/116140 + * lib/gcc-dg.exp (schedule-cleanups): Relax ltrans dumpfile + cleanup pattern to handle missing cases. + +2024-09-11 Alex Coplan <alex.coplan@arm.com> + + PR libstdc++/116140 + * g++.dg/ext/pragma-unroll-lambda.C: New test. + +2024-09-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Adjust + asm check and make it robust. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: Ditto. + +2024-09-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/116449 + * g++.dg/ubsan/pr116449.C: New test. + +2024-09-10 Marek Polacek <polacek@redhat.com> + + PR c++/116369 + * g++.dg/tree-ssa/initlist-opt7.C: New test. + +2024-09-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116658 + * g++.dg/vect/pr116658.cc: New testcase. + +2024-09-10 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-partial-bf-vector-fma-1.c: Separated 32-bit scan + and removed register checks in spill situations. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116613 + * gcc.dg/plugin/analyzer_cpython_plugin.c (dump_refcnt_info): + Update for renaming of field "printer" to "m_printer". + * gcc.dg/plugin/diagnostic_group_plugin.c + (test_diagnostic_starter): Likewise. + (test_diagnostic_start_span_fn): Likewise. + (test_output_format::on_begin_group): Likewise. + (test_output_format::on_end_group): Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c + (custom_diagnostic_finalizer): Likewise. + +2024-09-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116603 + * gcc.dg/plugin/diagnostic-test-metadata-sarif.py (test_basics): + Update expected schema URL. + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.py: + Likewise. + * gcc.dg/sarif-output/test-include-chain-1.py: Likewise. + * gcc.dg/sarif-output/test-include-chain-2.py: Likewise. + * gcc.dg/sarif-output/test-missing-semicolon.py: Likewise. + * gcc.dg/sarif-output/test-no-diagnostics.py: Likewise. + * gcc.dg/sarif-output/test-werror.py: Likewise. + * lib/sarif-schema-2.1.0.json: Update with copy downloaded from + https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json + +2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/90693 + * gcc.target/aarch64/popcnt-le-1.c: New test. + * gcc.target/aarch64/popcnt-le-2.c: New test. + * gcc.target/aarch64/popcnt-le-3.c: New test. + +2024-09-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116514 + * gcc.dg/tree-ssa/ssa-ccp-44.c: New testcase. + +2024-09-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116647 + * gcc.dg/torture/pr116647.c: New testcase. + * gcc.dg/vect/no-scevccp-pr86725-2.c: Adjust expected pattern. + * gcc.dg/vect/no-scevccp-pr86725-4.c: Likewise. + +2024-09-09 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115250 + * gnat.dg/opt58_pkg.ads: Convert to Unix line ending. + * gnat.dg/opt58.adb: Likewise and pass -gnatws to the compiler. + +2024-09-09 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/115246 + * gnat.dg/alignment14.adb (My_Int2): Delete. + (Arr2): Likewise. + +2024-09-09 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116601 + * gcc.dg/pr78408-1.c: Adjust dump scan to match where + the optimization now happens. + * g++.dg/torture/except-2.C: New test. + +2024-09-09 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/fast-math-vect-call-2.c: Disable epilogue + vectorization. + +2024-09-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/116588 + * gcc.dg/pr116588.c: Remove -DDEBUG from dg-options. + (main): Remove debugging code and simplify. + +2024-09-09 Thomas Schwinge <tschwinge@baylibre.com> + + PR testsuite/116635 + * gcc.dg/opt-ordered-and-nonequal-1.c: Fix re + 'LOGICAL_OP_NON_SHORT_CIRCUIT'. + +2024-09-08 H.J. Lu <hjl.tools@gmail.com> + + PR target/116621 + * gcc.target/i386/pr116621.c: New test. + +2024-09-08 Jørgen Kvalsvik <j@lambda.is> + + * gcc.misc-tests/gcov-23.c: Use dg-compile, not gcc -c + +2024-09-07 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/pr116588.c: Require int128. + +2024-09-07 Jason Merrill <jason@redhat.com> + + * g++.dg/diagnostic/pr65923.C: Add noexcept. + * g++.dg/cpp1z/aligned-new3.C: Expect pedwarn. + * g++.dg/cpp1z/noexcept-type19.C: Add comment. + +2024-09-07 Patrick Palka <ppalka@redhat.com> + + PR c++/116567 + * g++.dg/cpp2a/lambda-targ7.C: New test. + +2024-09-07 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/116588 + * gcc.dg/pr116588.c: New. + +2024-09-07 Jin Ma <jinma@linux.alibaba.com> + + PR target/116592 + * gcc.target/riscv/rvv/xtheadvector/pr116592.c: New test. + +2024-09-07 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.dg/unsigned_1.f90: New test. + * gfortran.dg/unsigned_10.f90: New test. + * gfortran.dg/unsigned_11.f90: New test. + * gfortran.dg/unsigned_12.f90: New test. + * gfortran.dg/unsigned_13.f90: New test. + * gfortran.dg/unsigned_14.f90: New test. + * gfortran.dg/unsigned_15.f90: New test. + * gfortran.dg/unsigned_16.f90: New test. + * gfortran.dg/unsigned_17.f90: New test. + * gfortran.dg/unsigned_18.f90: New test. + * gfortran.dg/unsigned_19.f90: New test. + * gfortran.dg/unsigned_2.f90: New test. + * gfortran.dg/unsigned_20.f90: New test. + * gfortran.dg/unsigned_21.f90: New test. + * gfortran.dg/unsigned_22.f90: New test. + * gfortran.dg/unsigned_23.f90: New test. + * gfortran.dg/unsigned_24.f: New test. + * gfortran.dg/unsigned_3.f90: New test. + * gfortran.dg/unsigned_4.f90: New test. + * gfortran.dg/unsigned_5.f90: New test. + * gfortran.dg/unsigned_6.f90: New test. + * gfortran.dg/unsigned_7.f90: New test. + * gfortran.dg/unsigned_8.f90: New test. + * gfortran.dg/unsigned_9.f90: New test. + +2024-09-06 Jason Merrill <jason@redhat.com> + + PR tree-optimization/107919 + * g++.dg/warn/Wuninitialized-pr107919-1.C: Add -Wsystem-headers and + xfail. + +2024-09-06 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/lsbb-runnable.c: Add test cases for the vector + signed char and vector bool char instances of + vec_test_lsbb_all_zeros and vec_test_lsbb_all_ones built-ins. + * gcc.target/powerpc/lsbb.c: Add compile test cases for the vector + signed char and vector bool char instances of + vec_test_lsbb_all_zeros and vec_test_lsbb_all_ones built-ins. + +2024-09-06 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/116628 + * gcc.dg/vect/pr116628.c: New test. + +2024-09-06 Martin Jambor <mjambor@suse.cz> + + PR ipa/115815 + * gcc.dg/lto/pr115815_0.c: New test. + +2024-09-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/115769 + * g++.dg/DRs/dr2867-1.C: New test. + * g++.dg/DRs/dr2867-2.C: New test. + +2024-09-06 Georg-Johann Lay <avr@gjlay.de> + + PR rtl-optimization/116321 + * gcc.target/avr/torture/lra-pr116321.c: New test. + +2024-09-06 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.dg/gomp/interop-1.f90: New test. + * gfortran.dg/gomp/interop-2.f90: New test. + * gfortran.dg/gomp/interop-3.f90: New test. + +2024-09-06 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/O3-pr39675-2.c: Adjust expected number of SLP. + * gcc.dg/vect/fast-math-vect-call-1.c: Likewise. + * gcc.dg/vect/no-scevccp-slp-31.c: Likewise. + * gcc.dg/vect/slp-12b.c: Likewise. + * gcc.dg/vect/slp-12c.c: Likewise. + * gcc.dg/vect/slp-19a.c: Likewise. + * gcc.dg/vect/slp-19b.c: Likewise. + * gcc.dg/vect/slp-4-big-array.c: Likewise. + * gcc.dg/vect/slp-4.c: Likewise. + * gcc.dg/vect/slp-5.c: Likewise. + * gcc.dg/vect/slp-7.c: Likewise. + * gcc.dg/vect/slp-perm-7.c: Likewise. + * gcc.dg/vect/slp-37.c: Likewise. + * gcc.dg/vect/fast-math-vect-call-2.c: Likewise. + * gcc.dg/vect/slp-26.c: RISC-V can now SLP two instances. + * gcc.dg/vect/vect-outer-slp-3.c: Disable vectorization of + initialization loop. + * gcc.dg/vect/slp-reduc-5.c: Likewise. + * gcc.dg/vect/no-scevccp-outer-12.c: Un-XFAIL. SLP can handle + inner loop inductions with multiple vector stmt copies. + * gfortran.dg/vect/vect-8.f90: Adjust expected number of + vectorized loops. + * gcc.target/i386/vectorize1.c: Adjust what we scan for. + +2024-09-06 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * gcc.target/riscv/synthesis-15.c: New test. + +2024-09-06 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * gcc.target/riscv/synthesis-7.c: Adjust expected output. + * gcc.target/riscv/synthesis-12.c: New test. + * gcc.target/riscv/synthesis-13.c: New test. + * gcc.target/riscv/synthesis-14.c: New test. + +2024-09-06 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_add_imm_type_check-57.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-58.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-59.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-60.c: New test. + +2024-09-06 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_add_imm_type_check-53.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-54.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-55.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-56.c: New test. + +2024-09-06 Jason Merrill <jason@redhat.com> + + PR c++/46457 + PR c++/81665 + * c-c++-common/attr-flag-enum-1.c: New test. + +2024-09-06 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr115517.c: New test. + +2024-09-05 Jason Merrill <jason@redhat.com> + + * g++.dg/diagnostic/redeclaration-6.C: Add -fno-implicit-constexpr. + +2024-09-05 Harald Anlauf <anlauf@gmx.de> + + PR fortran/100273 + * gfortran.dg/pr100273.f90: New test. + +2024-09-05 Marek Polacek <polacek@redhat.com> + + PR c++/116606 + * g++.dg/ext/attr-unavailable-13.C: New test. + +2024-09-05 Patrick Palka <ppalka@redhat.com> + + PR c++/113063 + * g++.dg/cpp2a/spaceship-synth16.C: Also constant evaluate + the <=> expression. + * g++.dg/cpp2a/spaceship-synth16a.C: Likewise. + +2024-09-05 Marek Polacek <polacek@redhat.com> + + PR c++/116239 + * g++.dg/diagnostic/redeclaration-6.C: New test. + +2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/104957 + * g++.target/nvptx/alias-g++.dg_init_dtor2-1.C: Un-XFAIL. + * gcc.target/nvptx/alias-1.c: Likewise. + * gcc.target/nvptx/alias-3.c: Likewise. + * gcc.target/nvptx/alias-to-alias-1.c: Likewise. + +2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/104957 + * g++.target/nvptx/alias-g++.dg_init_dtor2-1.C: Add. + +2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/104957 + * gcc.target/nvptx/alias-1.c: Enhance assembler scanning. + * gcc.target/nvptx/alias-2.c: Likewise. + * gcc.target/nvptx/alias-3.c: Likewise. + * gcc.target/nvptx/alias-4.c: Likewise. + * gcc.target/nvptx/alias-to-alias-1.c: Likewise. + +2024-09-05 Thomas Schwinge <thomas@codesourcery.com> + + PR target/104957 + * gcc.target/nvptx/alias-2.c: Fix comment. + +2024-09-05 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/nvptx.exp + (check_effective_target_default_ptx_isa_version_at_least) + (check_effective_target_default_ptx_isa_version_at_least_6_0) + (check_effective_target_runtime_ptx_isa_version_at_least) + (check_effective_target_runtime_ptx_alias) + (add_options_for_ptx_alias): Move... + * lib/target-supports.exp + (check_nvptx_default_ptx_isa_version_at_least) + (check_effective_target_nvptx_default_ptx_isa_version_at_least_6_0) + (check_nvptx_runtime_ptx_isa_version_at_least) + (check_effective_target_nvptx_runtime_alias_ptx) + (add_options_for_nvptx_alias_ptx): ... here. + * gcc.target/nvptx/alias-1.c: Adjust. + * gcc.target/nvptx/alias-2.c: Likewise. + * gcc.target/nvptx/alias-3.c: Likewise. + * gcc.target/nvptx/alias-4.c: Likewise. + * gcc.target/nvptx/alias-to-alias-1.c: Likewise. + * gcc.target/nvptx/alias-weak-1.c: Likewise. + * gcc.target/nvptx/uniform-simt-5.c: Likewise. + +2024-09-05 Richard Biener <rguenther@suse.de> + + * gcc.target/aarch64/sve/mask_gather_load_7.c: Allow + p8-15 to be used for the destination of the compares. + +2024-09-05 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/signbit-5.c: Remove -fwrapv and change INT_MIN to INT_MIN+1. + +2024-09-05 Hu, Lin1 <lin1.hu@intel.com> + + PR testsuite/116608 + * gcc.target/i386/vect-double-2.c: Add extra option -mno-sse4 + * gcc.target/i386/xorsign.c: Ditto. + +2024-09-05 Palmer Dabbelt <palmer@rivosinc.com> + + * gcc.target/riscv/sge.c: Adjust regex to match the input. + * gcc.target/riscv/sgeu.c: Likewise. + * gcc.target/riscv/sle.c: Likewise. + * gcc.target/riscv/sleu.c: Likewise. + +2024-09-05 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-partial-bf-vector-fma-1.c: New test. + +2024-09-05 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.dg/opt-ordered-and-nonequal-1.c: New test. + * gcc.target/i386/optimize_one.c: Change name to opt-comi-1.c. + * gcc.target/i386/opt-comi-1.c: New test. + +2024-09-05 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/part-vect-absnegbf.c: New test. + +2024-09-04 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * gcc.target/riscv/synthesis-11.c: New test. + +2024-09-04 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Adjust + expected output. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-1.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-2.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-5.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-6.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-9.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-10.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-13.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-14.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-15.c: + Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Likewise. + +2024-09-04 Marek Polacek <polacek@redhat.com> + + PR c++/113108 + * g++.dg/cpp1z/noexcept-type28.C: New test. + +2024-09-04 Arsen Arsenović <arsen@aarsen.me> + + PR c++/108620 + * g++.dg/coroutines/pr108620.C: New test. + +2024-09-04 Arsen Arsenović <arsen@aarsen.me> + + PR c++/106973 + * g++.dg/coroutines/pr106973.C: New test. + +2024-09-04 Richard Biener <rguenther@suse.de> + + * gfortran.dg/vect/vect-8.f90: Use dg-additional-options. + +2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> + + PR middle-end/60797 + PR target/104957 + * gcc.dg/pr60797.c: For nvptx, specify '-mno-alias'. + +2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/104957 + * gcc.target/nvptx/alias-to-alias-1.c: New. + +2024-09-04 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/alias-weak-1.c: New. + +2024-09-04 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-46.c: Remove XFAIL. + +2024-09-04 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_u_add-11.c: Make asm check robust. + * gcc.target/riscv/sat_u_add-15.c: Ditto. + * gcc.target/riscv/sat_u_add-19.c: Ditto. + * gcc.target/riscv/sat_u_add-23.c: Ditto. + * gcc.target/riscv/sat_u_add-3.c: Ditto. + * gcc.target/riscv/sat_u_add-7.c: Ditto. + +2024-09-04 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/116589 + * gcc.target/aarch64/vec-init-22-speed.c: Update scan for better code gen. + +2024-09-03 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/112402 + * gcc.dg/tree-ssa/split-path-11.c: Update scan. + * gcc.dg/tree-ssa/split-path-2.c: Update scan. + * gcc.dg/tree-ssa/split-path-5.c: Update scan. + * gcc.dg/tree-ssa/split-path-6.c: Update scan. + * g++.dg/tree-ssa/pr88797.C: Update scan. + * gcc.dg/tree-ssa/split-path-13.c: New test. + +2024-09-03 Qing Zhao <qing.zhao@oracle.com> + + * g++.dg/ext/flex-array-counted-by.C: New test. + * g++.dg/ext/flex-array-counted-by-2.C: New test. + +2024-09-03 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp0x/gen-attrs-1.C: Also run in C++98 mode. + * g++.dg/cpp0x/gen-attrs-11.C: Likewise. + * g++.dg/cpp0x/gen-attrs-13.C: Likewise. + * g++.dg/cpp0x/gen-attrs-15.C: Likewise. + * g++.dg/cpp0x/gen-attrs-75.C: Don't expect C++98 warning after + __extension__. + +2024-09-03 Andi Kleen <ak@gcc.gnu.org> + + PR testsuite/116080 + * c-c++-common/musttail1.c: Use musttail target. + * c-c++-common/musttail12.c: Use struct_musttail target. + * c-c++-common/musttail2.c: Use musttail target. + * c-c++-common/musttail3.c: Likewise. + * c-c++-common/musttail4.c: Likewise. + * c-c++-common/musttail7.c: Likewise. + * c-c++-common/musttail8.c: Likewise. + * g++.dg/musttail10.C: Likewise. Replace powerpc checks with + external_musttail. + * g++.dg/musttail11.C: Use musttail target. + * g++.dg/musttail6.C: Use musttail target. Replace powerpc + checks with external_musttail. + * g++.dg/musttail9.C: Use musttail target. + * lib/target-supports.exp: Add musttail, struct_musttail, + external_musttail targets. Remove optimization for musttail. + Use unique file names for musttail. + +2024-09-03 Marek Polacek <polacek@redhat.com> + + PR c++/109095 + * g++.dg/cpp2a/nontype-class66.C: New test. + +2024-09-03 Jeff Law <jlaw@ventanamicro.com> + + PR target/115921 + * gcc.target/riscv/pr115921.c: New test. + +2024-09-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116575 + * gcc.dg/vect/pr116575.c: New testcase. + +2024-09-03 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx512fp16-vfpclassph-1c.c: New test. + +2024-09-03 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/116501 + * gcc.dg/torture/bitint-73.c: New test. + +2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/const_fold_mul_1.c: New test. + +2024-09-03 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/const_fold_div_1.c: New test. + +2024-09-03 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-partial-bf-vector-smaxmin-1.c: New test. + +2024-09-03 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-partial-bf-vector-fast-math-1.c: New test. + * gcc.target/i386/avx10_2-partial-bf-vector-operations-1.c: New test. + +2024-09-03 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_arith_data.h: Add test data. + * gcc.target/riscv/sat_s_add-1.c: New test. + * gcc.target/riscv/sat_s_add-2.c: New test. + * gcc.target/riscv/sat_s_add-3.c: New test. + * gcc.target/riscv/sat_s_add-4.c: New test. + * gcc.target/riscv/sat_s_add-run-1.c: New test. + * gcc.target/riscv/sat_s_add-run-2.c: New test. + * gcc.target/riscv/sat_s_add-run-3.c: New test. + * gcc.target/riscv/sat_s_add-run-4.c: New test. + * gcc.target/riscv/scalar_sat_binary_run_xxx.h: New test. + +2024-09-03 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/msa-reduc.c: New tests. + +2024-09-02 Jakub Jelinek <jakub@redhat.com> + + * gcc.target/i386/optimize_one.c: Add -msse2 to dg-options. + +2024-09-02 Alexandre Oliva <oliva@adacore.com> + + PR d/115295 + * g++.dg/vect/pr95401.cc: Add linkonly to dg-additional-sources. + * g++.dg/vect/pr68762-1.cc: Likewise. + * g++.dg/vect/simd-clone-3.cc: Likewise. + * g++.dg/vect/simd-clone-5.cc: Likewise. + * gcc.dg/vect/vect-simd-clone-10.c: Likewise. Drop dg-do run. + * gcc.dg/vect/vect-simd-clone-12.c: Likewise. Likewise. + * lib/gcc-defs.exp (additional_sources_omit_on_compile): New. + (dg-additional-sources): Add to it on linkonly. + (dg-additional-files-options): Omit select sources on compile. + +2024-09-02 Alex Coplan <alex.coplan@arm.com> + + * gcc.dg-selftests/dg-final.exp: Load scanltrans.exp instead of + scanltranstree.exp. + * lib/gcc-dg.exp: Likewise. + * lib/scanltranstree.exp: Rename to ... + * lib/scanltrans.exp: ... this. + +2024-09-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/116486 + * gcc.dg/bitint-109.c: New test. + +2024-09-02 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-55.c: New testcase. + * gcc.dg/vect/slp-56.c: Likewise. + * gcc.dg/vect/slp-11c.c: Adjust. + * gcc.dg/vect/slp-53.c: Likewise. + * gcc.dg/vect/slp-cond-1.c: Likewise. + * gcc.dg/vect/vect-complex-5.c: Likewise. + * gcc.dg/vect/slp-1.c: Likewise. + * gcc.dg/vect/slp-54.c: Remove riscv XFAIL. + * gcc.dg/vect/slp-perm-5.c: Adjust. + * gcc.dg/vect/slp-perm-7.c: Likewise. + * gcc.dg/vect/slp-perm-8.c: Likewise. + * gcc.dg/vect/slp-multitypes-11.c: Likewise. + * gcc.dg/vect/slp-multitypes-11-big-array.c: Likewise. + * gcc.dg/vect/slp-perm-9.c: Remove expected SLP fail due to + three-vector permute. + * gcc.dg/vect/slp-perm-6.c: Remove XFAIL. + * gcc.dg/vect/slp-perm-1.c: Adjust. + * gcc.dg/vect/slp-perm-2.c: Likewise. + * gcc.dg/vect/slp-perm-3.c: Likewise. + * gcc.dg/vect/slp-perm-4.c: Likewise. + * gcc.dg/vect/pr68445.c: Likewise. + * gcc.dg/vect/slp-11b.c: Likewise. + * gcc.dg/vect/slp-2.c: Likewise. + * gcc.dg/vect/slp-23.c: Likewise. + * gcc.dg/vect/slp-33.c: Likewise. + * gcc.dg/vect/slp-42.c: Likewise. + * gcc.dg/vect/slp-46.c: Likewise. + * gcc.dg/vect/slp-perm-10.c: Likewise. + +2024-09-02 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-11a.c: Expect SLP. + * gcc.dg/vect/slp-12a.c: Likewise. + * gcc.dg/vect/slp-51.c: New testcase. + * gcc.dg/vect/slp-52.c: New testcase. + +2024-09-02 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * gcc.target/riscv/rv32-movdf-cost.c: New test. + +2024-09-02 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116544 + * gcc.dg/torture/pr116544.c: New test. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-512-bf-vector-cmpp-1.c: New test. + * gcc.target/i386/avx10_2-bf-vector-cmpp-1.c: Ditto. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-512-bf-vector-smaxmin-1.c: New test. + * gcc.target/i386/avx10_2-bf-vector-smaxmin-1.c: New test. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-512-bf-vector-fma-1.c: New test. + * gcc.target/i386/avx10_2-bf-vector-fma-1.c: New test. + +2024-09-02 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10_2-512-bf-vector-operations-1.c: New test. + * gcc.target/i386/avx10_2-bf-vector-operations-1.c: Ditto. + +2024-09-02 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx10_2-compare-1b.c: New test. + +2024-09-02 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/optimize_one.c: New test. + +2024-09-02 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/vnniint16-auto-vectorize-2.c: Only define + TEST when not defined. + * gcc.target/i386/vnniint8-auto-vectorize-2.c: Ditto. + * gcc.target/i386/vnniint16-auto-vectorize-3.c: New test. + * gcc.target/i386/vnniint16-auto-vectorize-4.c: Ditto. + * gcc.target/i386/vnniint8-auto-vectorize-3.c: Ditto. + * gcc.target/i386/vnniint8-auto-vectorize-4.c: Ditto. + +2024-09-02 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_u_trunc-16.c: New test. + * gcc.target/riscv/sat_u_trunc-17.c: New test. + * gcc.target/riscv/sat_u_trunc-18.c: New test. + * gcc.target/riscv/sat_u_trunc-run-16.c: New test. + * gcc.target/riscv/sat_u_trunc-run-17.c: New test. + * gcc.target/riscv/sat_u_trunc-run-18.c: New test. + +2024-09-02 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_u_trunc-10.c: New test. + * gcc.target/riscv/sat_u_trunc-11.c: New test. + * gcc.target/riscv/sat_u_trunc-12.c: New test. + * gcc.target/riscv/sat_u_trunc-run-10.c: New test. + * gcc.target/riscv/sat_u_trunc-run-11.c: New test. + * gcc.target/riscv/sat_u_trunc-run-12.c: New test. + +2024-09-02 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-16.c: New test. + +2024-09-02 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-9.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-9.c: New test. + +2024-09-02 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_u_sub-11.c: Adjust asm check. + * gcc.target/riscv/sat_u_sub-15.c: Ditto. + * gcc.target/riscv/sat_u_sub-19.c: Ditto. + * gcc.target/riscv/sat_u_sub-23.c: Ditto. + * gcc.target/riscv/sat_u_sub-27.c: Ditto. + * gcc.target/riscv/sat_u_sub-3.c: Ditto. + * gcc.target/riscv/sat_u_sub-31.c: Ditto. + * gcc.target/riscv/sat_u_sub-35.c: Ditto. + * gcc.target/riscv/sat_u_sub-39.c: Ditto. + * gcc.target/riscv/sat_u_sub-43.c: Ditto. + * gcc.target/riscv/sat_u_sub-47.c: Ditto. + * gcc.target/riscv/sat_u_sub-7.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-11.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-11_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-11_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-15.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-15_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-15_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-3.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-3_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-3_2.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-7.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-7_1.c: Ditto. + * gcc.target/riscv/sat_u_sub_imm-7_2.c: Ditto. + +2024-09-01 Hans-Peter Nilsson <hp@axis.com> + + * g++.dg/modules/modules.exp (module_do_it): Prune compilation + messages. + +2024-08-31 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/movti-2.c: Change dg-options to -Os. + * gcc.target/i386/movti-4.c: Expected output of original movti-2.c. + +2024-08-31 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/coroutines/coro.h: Use a variadic macro for PRINTF to + avoid unused warnings when output is disabled. + * g++.dg/coroutines/torture/co-await-04-control-flow.C: Avoid + unused warnings. + * g++.dg/coroutines/torture/co-ret-13-template-2.C: Likewise. + * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: Likewise. + * g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C: + Likewise. + * g++.dg/coroutines/torture/pr109867.C: Likewise. + +2024-08-31 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/coroutines/torture/pr95615.inc: Check tha the + task object produced by get_return_object is correctly + deleted on exception. + +2024-08-31 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116098 + * c-c++-common/torture/pr116098-1.c: New test. + * gcc.target/aarch64/csel-1.c: New test. + +2024-08-31 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/tree-ssa/pr66726-2.c: Update scan dump message. + +2024-08-31 Harald Anlauf <anlauf@gmx.de> + + * gfortran.dg/pr88169_3.f90: Adjust pattern. + +2024-08-31 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/ext/attr-unsequenced-1.C: New test. + +2024-08-31 Jakub Jelinek <jakub@redhat.com> + + PR c/116130 + * c-c++-common/attr-reproducible-1.c: New test. + * c-c++-common/attr-reproducible-2.c: New test. + * c-c++-common/attr-unsequenced-1.c: New test. + * c-c++-common/attr-unsequenced-2.c: New test. + * gcc.dg/c23-attr-reproducible-1.c: New test. + * gcc.dg/c23-attr-reproducible-2.c: New test. + * gcc.dg/c23-attr-reproducible-3.c: New test. + * gcc.dg/c23-attr-reproducible-4.c: New test. + * gcc.dg/c23-attr-reproducible-5.c: New test. + * gcc.dg/c23-attr-reproducible-5-aux.c: New file. + * gcc.dg/c23-attr-unsequenced-1.c: New test. + * gcc.dg/c23-attr-unsequenced-2.c: New test. + * gcc.dg/c23-attr-unsequenced-3.c: New test. + * gcc.dg/c23-attr-unsequenced-4.c: New test. + * gcc.dg/c23-attr-unsequenced-5.c: New test. + * gcc.dg/c23-attr-unsequenced-5-aux.c: New file. + * gcc.dg/c23-has-c-attribute-2.c: Add tests for unsequenced + and reproducible attributes. + +2024-08-31 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/init-pad-1.c: New. + +2024-08-30 Marek Polacek <polacek@redhat.com> + + PR c++/101099 + * g++.dg/concepts/pr101099.C: New test. + +2024-08-30 Marek Polacek <polacek@redhat.com> + + PR c++/115616 + * g++.dg/template/friend83.C: New test. + +2024-08-30 Jason Merrill <jason@redhat.com> + + * g++.dg/diagnostic/used-inline1.C: New test. + +2024-08-30 Harald Anlauf <anlauf@gmx.de> + + PR fortran/98454 + * gfortran.dg/alloc_comp_class_4.f03: Remove bogus pattern. + * gfortran.dg/pdt_26.f03: Adjust expected count. + * gfortran.dg/derived_result_3.f90: New test. + +2024-08-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/gen-attrs-80.C: New test. + * g++.dg/cpp0x/gen-attrs-81.C: New test. + +2024-08-30 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr116512.c: New test. + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + PR other/116419 + * gcc.dg/sarif-output/bad-pragma.c: New test. + * gcc.dg/sarif-output/test-bad-pragma.py: New test. + * gcc.dg/sarif-output/test-include-chain-2.py + (test_location_relationships): Update expected text of event to + include an intra-sarif URI to the other event. + +2024-08-29 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/dump_plugin.c: Define INCLUDE_MEMORY. + +2024-08-29 Harald Anlauf <anlauf@gmx.de> + + PR fortran/116530 + * gfortran.dg/use_rename_12.f90: New test. + +2024-08-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116508 + * gcc.target/aarch64/popcnt-eq-1.c: New test. + +2024-08-29 Viljar Indus <indus@adacore.com> + + * gnat.dg/interface6.adb: Adjust test. + +2024-08-29 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/116516 + * gcc.c-torture/compile/pr116516.c: New test. + +2024-08-29 Georg-Johann Lay <avr@gjlay.de> + + PR target/115830 + * gcc.target/avr/pr115830-add.c: New test. + * gcc.target/avr/pr115830-add-c.c: New test. + * gcc.target/avr/pr115830-add-i.c: New test. + * gcc.target/avr/pr115830-and.c: New test. + * gcc.target/avr/pr115830-asl.c: New test. + * gcc.target/avr/pr115830-asr.c: New test. + * gcc.target/avr/pr115830-ior.c: New test. + * gcc.target/avr/pr115830-lsr.c: New test. + * gcc.target/avr/pr115830-asl32.c: New test. + * gcc.target/avr/pr115830-sub.c: New test. + * gcc.target/avr/pr115830-sub-ext.c: New test. + +2024-08-29 Arsen Arsenović <arsen@aarsen.me> + + PR c++/105104 + * g++.dg/coroutines/torture/pr105104.C: New test. + +2024-08-29 Alex Coplan <alex.coplan@arm.com> + + PR testsuite/116522 + * lib/scanltranstree.exp: Fix name of underlying scan function + used for scan-ltrans-{tree,rtl}-dump{,-not,-dem,-dem-not}. + +2024-08-29 Robin Dapp <rdapp@ventanamicro.com> + + PR target/116086 + * lib/target-supports.exp: Add effective target checks for + zvl256b and zvl512b. + * gcc.target/riscv/rvv/autovec/pr116086-2-run.c: New test. + * gcc.target/riscv/rvv/autovec/pr116086-2.c: New test. + * gcc.target/riscv/rvv/autovec/pr116086.c: New test. + +2024-08-28 Marek Polacek <polacek@redhat.com> + + PR c++/116476 + * g++.dg/cpp0x/initlist-opt2.C: New test. + +2024-08-28 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/ifelse-c.h: New file. + * gcc.target/avr/torture/ifelse-d.h: New file. + * gcc.target/avr/torture/ifelse-q.h: New file. + * gcc.target/avr/torture/ifelse-r.h: New file. + * gcc.target/avr/torture/ifelse-c-i8.c: New test. + * gcc.target/avr/torture/ifelse-d-i8.c: New test. + * gcc.target/avr/torture/ifelse-q-i8.c: New test. + * gcc.target/avr/torture/ifelse-r-i8.c: New test. + * gcc.target/avr/torture/ifelse-c-i16.c: New test. + * gcc.target/avr/torture/ifelse-d-i16.c: New test. + * gcc.target/avr/torture/ifelse-q-i16.c: New test. + * gcc.target/avr/torture/ifelse-r-i16.c: New test. + * gcc.target/avr/torture/ifelse-c-u16.c: New test. + * gcc.target/avr/torture/ifelse-d-u16.c: New test. + * gcc.target/avr/torture/ifelse-q-u16.c: New test. + * gcc.target/avr/torture/ifelse-r-u16.c: New test. + +2024-08-28 Marek Polacek <polacek@redhat.com> + + PR c++/116424 + * g++.dg/cpp2a/paren-init38.C: New test. + +2024-08-28 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/struct_zero.c: New test. + +2024-08-28 Filip Kastl <fkastl@suse.cz> + + PR tree-optimization/116355 + * gcc.target/i386/switch-exp-transform-1.c: Don't test for + presence of POPCOUNT internal fn after switch conversion. Test + for it after __builtin_popcount has had a chance to get + expanded. + * gcc.target/i386/switch-exp-transform-3.c: Also test char and + short. + +2024-08-28 Alex Coplan <alex.coplan@arm.com> + + PR libstdc++/116140 + * lib/scanltranstree.exp (scan-ltrans-rtl-dump): New. + (scan-ltrans-rtl-dump-not): New. + (scan-ltrans-rtl-dump-dem): New. + (scan-ltrans-rtl-dump-dem-not): New. + (scan-ltrans-rtl-dump-times): New. + +2024-08-28 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp0x/extern_template-7.C: New test. + * g++.dg/cpp23/ext-floating19.C: New test. + * g++.dg/cpp2a/abbrev-fn1.C: New test. + +2024-08-28 Pan Li <pan2.li@intel.com> + + PR target/116278 + * gcc.target/riscv/pr116278-run-1.c: Take compile instead of run. + * gcc.target/riscv/pr116278-run-2.c: Ditto. + * gcc.dg/torture/pr116278-run-1.c: New test. + * gcc.dg/torture/pr116278-run-2.c: New test. + +2024-08-28 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-4.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm_reconcile-9.c: New test. + +2024-08-28 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/autovec/rotr.c: New. + +2024-08-28 Joern Rennecke <joern.rennecke@riscy-ip.com> + + PR testsuite/116271 + * gcc.dg/vect/tsvc/vect-tsvc-s176.c [TRUNCATE_TEST]: Make sure + that m stays the same as the loop bound of the middle loop. + * gcc.dg/vect/tsvc/tsvc.h (get_expected_result) <s176> [TRUNCATE_TEST]: + Adjust expected value. + +2024-08-28 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_sub_imm-13.c: New test. + * gcc.target/riscv/sat_u_sub_imm-13_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-13_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-14.c: New test. + * gcc.target/riscv/sat_u_sub_imm-14_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-14_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-15.c: New test. + * gcc.target/riscv/sat_u_sub_imm-15_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-15_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-16.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-13.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-14.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-15.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-16.c: New test. + +2024-08-28 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_sub_imm-10.c: New test. + * gcc.target/riscv/sat_u_sub_imm-10_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-10_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-11.c: New test. + * gcc.target/riscv/sat_u_sub_imm-11_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-11_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-12.c: New test. + * gcc.target/riscv/sat_u_sub_imm-9.c: New test. + * gcc.target/riscv/sat_u_sub_imm-9_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-9_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-10.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-11.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-12.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-9.c: New test. + +2024-08-27 Andi Kleen <ak@gcc.gnu.org> + + * gcc.dg/vect/vect-switch-ifcvt-1.c: Use vect_condition to + check if vectorizing conditions is supported for target. + +2024-08-27 Arsen Arsenović <arsen@aarsen.me> + + PR c++/109867 + * g++.dg/coroutines/torture/pr109867.C: New test. + +2024-08-27 Simon Martin <simon@nasilyan.com> + + PR c++/105483 + * g++.dg/parse/error36.C: Adjust test expectation. + * g++.dg/tc1/dr147.C: Likewise. + * g++.old-deja/g++.other/typename1.C: Likewise. + * g++.dg/diagnostic/pr105483.C: New test. + +2024-08-27 Christophe Lyon <christophe.lyon@linaro.org> + + * gcc.target/arm/armv8_1m-fp64-move-1.c: Update expected code. + +2024-08-27 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/pr116174.c: Add the missing */. + +2024-08-27 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/pr116174.c: Use check-function-bodies. + * lib/scanasm.exp (parse_function_bodies): Append the line if + $up_config(matched) matches the line. + (check-function-bodies): Add an argument for matched. Set + up_config(matched) to $matched. Append the expected line without + $config(line_prefix) to function_regexp if it starts with ".L". + +2024-08-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.dg/pr108757-1.c: Fixed dg-comment. + * gcc.dg/pr71071.c: Likewise. + * gcc.dg/tree-ssa/noreturn-1.c: Likewise. + * gcc.dg/tree-ssa/pr56727.c: Likewise. + * gcc.target/arc/loop-2.cpp: Likewise. + * gcc.target/arc/loop-3.c: Likewise. + * gcc.target/arc/pr9001107555.c: Likewise. + * gcc.target/arm/armv8_1m-fp16-move-1.c: Likewise. + * gcc.target/arm/armv8_1m-fp32-move-1.c: Likewise. + * gcc.target/arm/armv8_1m-fp64-move-1.c: Likewise. + * gcc.target/i386/amxint8-asmatt-1.c: Likewise. + * gcc.target/i386/amxint8-asmintel-1.c: Likewise. + * gcc.target/i386/avx512bw-vpermt2w-1.c: Likewise. + * gcc.target/i386/avx512vbmi-vpermt2b-1.c: Likewise. + * gcc.target/i386/endbr_immediate.c: Likewise. + * gcc.target/i386/pr96539.c: Likewise. + * gcc.target/i386/sse2-pr98461-2.c: Likewise. + * gcc.target/m68k/pr39726.c: Likewise. + * gcc.target/m68k/pr52076-1.c: Likewise. + * gcc.target/m68k/pr52076-2.c: Likewise. + * gcc.target/nvptx/v2si-vec-set-extract.c: Likewise. + +2024-08-27 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.dg/signbit-5.c: Un-XFAIL for GCN. + +2024-08-27 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/116482 + * g++.dg/coroutines/pr116482.C: New test. + +2024-08-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116460 + * g++.dg/torture/pr116460.C: New testcase. + +2024-08-27 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR other/116462 + * gcc.dg/debug/dwarf2/inline7.c: Switch to -Os optimization. + +2024-08-27 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_sub_imm-5.c: New test. + * gcc.target/riscv/sat_u_sub_imm-5_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-5_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-6.c: New test. + * gcc.target/riscv/sat_u_sub_imm-6_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-6_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-7.c: New test. + * gcc.target/riscv/sat_u_sub_imm-7_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-7_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-8.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-5.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-6.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-7.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-8.c: New test. + +2024-08-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99243 + * g++.dg/modules/map-2.C: Prune additional fatal error message. + * g++.dg/modules/inc-xlate-4_a.H: New test. + * g++.dg/modules/inc-xlate-4_b.H: New test. + * g++.dg/modules/inc-xlate-4_c.H: New test. + +2024-08-27 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/110980 + * g++.dg/modules/inc-xlate-2_a.H: New test. + * g++.dg/modules/inc-xlate-2_b.H: New test. + * g++.dg/modules/inc-xlate-3.h: New test. + * g++.dg/modules/inc-xlate-3_a.H: New test. + +2024-08-26 Arsen Arsenović <arsen@aarsen.me> + + PR c++/113457 + * g++.dg/coroutines/pr113457-1.C: New test. + * g++.dg/coroutines/pr113457.C: New test. + +2024-08-26 Arsen Arsenović <arsen@aarsen.me> + + * g++.dg/coroutines/pr115858.C: New test. + +2024-08-26 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/diagnostic_group_plugin.c: Include + "diagnostic-format-text.h". + +2024-08-26 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-inline-events.c: + Update expected output. + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.py: + Likewise. + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-separate-events.c: + Likewise. + * gcc.dg/plugin/diagnostic_plugin_test_paths.c + (test_diagnostic_path::add_event_2): Return the id of the added + event. + (test_diagnostic_path::add_event_2_with_event_id): New. + (example_4): Add event IDs to the deadlock messages indicating + where the locks where acquired. + +2024-08-26 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/diagnostic-test-metadata-sarif.c: New test, + based on diagnostic-test-metadata.c. + * gcc.dg/plugin/diagnostic-test-metadata-sarif.py: New script. + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.c: + Replace scan-sarif-file directives with run-sarif-pytest, to + run... + * gcc.dg/plugin/diagnostic-test-paths-multithreaded-sarif.py: + ...this new test. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add + diagnostic-test-metadata-sarif.c. + * gcc.dg/sarif-output/sarif.py: Move to... + * lib/sarif.py: ...here. + * lib/scansarif.exp (run-sarif-pytest): Prepend "lib" to + PYTHONPATH before running python scripts. + +2024-08-26 Simon Martin <simon@nasilyan.com> + + PR c++/115716 + * g++.dg/template/spec42.C: New test. + * g++.dg/template/spec43.C: New test. + +2024-08-26 Xi Ruoyao <xry111@xry111.site> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/116348 + * gcc.c-torture/compile/pr116438.c: New test. + +2024-08-26 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_add_imm-11.c: Adjust test case for imm. + * gcc.target/riscv/sat_u_add_imm-12.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-15.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-16.c: Ditto. + * gcc.target/riscv/sat_u_add_imm_type_check-1.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-10.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-11.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-12.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-13.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-14.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-15.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-16.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-17.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-18.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-19.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-2.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-20.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-21.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-22.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-23.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-24.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-25.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-26.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-27.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-28.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-29.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-3.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-30.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-31.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-32.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-33.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-34.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-35.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-36.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-37.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-38.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-39.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-4.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-40.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-41.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-42.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-43.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-44.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-45.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-46.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-47.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-48.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-49.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-5.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-50.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-51.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-52.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-6.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-7.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-8.c: New test. + * gcc.target/riscv/sat_u_add_imm_type_check-9.c: New test. + +2024-08-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116480 + * gcc.dg/torture/pr116480-1.c: New test. + * gcc.dg/torture/pr116480-2.c: New test. + +2024-08-26 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx10_2-512-convert-1.c: Add tests for new + intrin. + * gcc.target/i386/avx10_2-convert-1.c: Ditto. + +2024-08-26 Zhang, Jun <jun.zhang@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + Hongtao Liu <hongtao.liu@intel.com> + + * gcc.target/i386/avx10_2-compare-1.c: New test. + +2024-08-26 Zhang, Jun <jun.zhang@intel.com> + + * gcc.target/i386/avx10_2-vmovd-1.c: New test. + * gcc.target/i386/avx10_2-vmovd-2.c: Ditto. + * gcc.target/i386/avx10_2-vmovw-1.c: Ditto. + * gcc.target/i386/avx10_2-vmovw-2.c: Ditto. + +2024-08-26 Mo, Zewei <zewei.mo@intel.com> + Hu, Lin1 <lin1.hu@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx-1.c: Add macros. + * 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/avx512f-helper.h: Add helper function. + * gcc.target/i386/avx10-minmax-helper.h: New helper file. + * gcc.target/i386/avx10_2-512-minmax-1.c: New test. + * gcc.target/i386/avx10_2-512-vminmaxnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxpd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxph-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminmaxps-2.c: Ditto. + * gcc.target/i386/avx10_2-minmax-1.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxsd-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxsh-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxss-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxpd-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxph-2.c: Ditto. + * gcc.target/i386/avx10_2-vminmaxps-2.c: Ditto. + +2024-08-26 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add macros. + * 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/avx10_2-satcvt-1.c: Add test. + * gcc.target/i386/avx10_2-512-satcvt-1.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c: New test. + * gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttpd2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttpd2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttpd2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttpd2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2dqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2qqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2udqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2uqqs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttsd2sis-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttsd2usis-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttss2sis-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttss2usis-2.c: Ditto. + +2024-08-26 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add macros. + * 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/avx512f-helper.h: Add new test macro. + * gcc.target/i386/m512-check.h: Add new type. + * gcc.target/i386/avx10_2-512-satcvt-1.c: New test. + * gcc.target/i386/avx10_2-512-vcvtnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-satcvt-1.c: Ditto. + * gcc.target/i386/avx10_2-vcvtnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttnebf162ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttnebf162iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttph2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttph2iubs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2ibs-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvttps2iubs-2.c: Ditto. + +2024-08-26 konglin1 <lingling.kong@intel.com> + Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx10-check.h: Add AVX10_SCALAR. + * gcc.target/i386/avx10-helper.h: Add helper functions. + * gcc.target/i386/avx10_2-512-bf16-1.c: Add new tests. + * gcc.target/i386/avx10_2-bf16-1.c: Ditto. + * gcc.target/i386/avx-1.c: Add macros. + * 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/avx10_2-512-vcmppbf16-2.c: New test. + * gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vgetexppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrcppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vreducenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vcmppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vcomsbf16-1.c: Ditto. + * gcc.target/i386/avx10_2-vcomsbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfpclasspbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vgetexppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vgetmantpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vrcppbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vreducenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vrndscalenepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vrsqrtpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vsqrtnepbf16-2.c: Ditto. + +2024-08-26 konglin1 <lingling.kong@intel.com> + Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx512f-helper.h: Add MAKE_MASK_MERGE and MAKE_MASK_ZERO + for bf16_uw. + * gcc.target/i386/m512-check.h: Add union512bf16_uw, union256bf16_uw, + union128bf16_uw and CHECK_EXP for them. + * gcc.target/i386/avx10-helper.h: New file. + * gcc.target/i386/avx10_2-512-bf16-1.c: New test. + * gcc.target/i386/avx10_2-512-vaddnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vdivnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfnmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vfnmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmaxpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vminpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vscalefpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vsubnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-bf16-1.c: Ditto. + * gcc.target/i386/avx10_2-vaddnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vdivnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfnmaddXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vfnmsubXXXnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vmaxpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vminpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vmulnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vscalefpbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-vsubnepbf16-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmulnepbf16-2.c: New file. + +2024-08-26 Levy Hsu <admin@levyhsu.com> + Kong Lingling <lingling.kong@intel.com> + + * gcc.target/i386/avx-1.c: Add macros for const. + * gcc.target/i386/avx-2.c: Ditto. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-512-convert-1.c: New test. + * gcc.target/i386/avx10_2-512-vcvt2ps2phx-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvthf82ph-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtne2ph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vcvtneph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-convert-1.c: Ditto. + * gcc.target/i386/avx10_2-vcvt2ps2phx-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtbiasph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtbiasph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtbiasph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtbiasph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvthf82ph-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtne2ph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtne2ph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtne2ph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtne2ph2hf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtneph2bf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtneph2bf8s-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtneph2hf8-2.c: Ditto. + * gcc.target/i386/avx10_2-vcvtneph2hf8s-2.c: Ditto. + * gcc.target/i386/fp8-helper.h: New helper file. + +2024-08-26 Haochen Jiang <haochen.jiang@intel.com> + Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/avxvnniint16-1.c: Add new macro test. + * gcc.target/i386/avx-1.c: Ditto. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-512-media-1.c: Add test. + * gcc.target/i386/avx10_2-media-1.c: Ditto. + * gcc.target/i386/avxvnniint16-builtin.c: New test. + * gcc.target/i386/avx10_2-512-vdpphps-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vmpsadbw-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwsud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwusd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwusds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwuud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpwuuds-2.c: Ditto. + * gcc.target/i386/avx10_2-builtin-2.c: Ditto. + * gcc.target/i386/avx10_2-vdpphps-2.c: Ditto. + * gcc.target/i386/avx10_2-vmpsadbw-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwsud-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwusd-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwusds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwuud-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpwuuds-2.c: Ditto. + +2024-08-26 Hongyu Wang <hongyu.wang@intel.com> + Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx512f-helper.h: Reuse AVX512F macros + for AVX10. + * gcc.target/i386/funcspec-56.inc: Add new target attribute. + * lib/target-supports.exp + (check_effective_target_avx10_2): New. + (check_effective_target_avx10_2_512): Ditto. + * gcc.target/i386/avx10-check.h: New test file. + * gcc.target/i386/avx10-helper.h: Ditto. + * gcc.target/i386/avx10_2-builtin-1.c: Ditto. + * gcc.target/i386/avx10_2-512-media-1.c: Ditto. + * gcc.target/i386/avx10_2-media-1.c: Ditto.. + * gcc.target/i386/avxvnniint8-builtin.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbssd-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbssds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbsud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbuud-2.c: Ditto. + * gcc.target/i386/avx10_2-512-vpdpbuuds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbssd-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbssds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbsud-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbsuds-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbuud-2.c: Ditto. + * gcc.target/i386/avx10_2-vpdpbuuds-2.c: Ditto. + * gcc.target/i386/avx10-os-support.h: New file. + +2024-08-26 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/m512-check.h: Wrap the function define with + correct vector size. + +2024-08-26 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macro. + * gcc.target/riscv/sat_u_sub_imm-1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-1_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-1_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-2_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-2_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-3.c: New test. + * gcc.target/riscv/sat_u_sub_imm-3_1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-3_2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-4.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-1.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-2.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-3.c: New test. + * gcc.target/riscv/sat_u_sub_imm-run-4.c: New test. + +2024-08-26 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-19.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-20.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-21.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-22.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-23.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-24.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-19.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-20.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-21.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-22.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-23.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-24.c: New test. + +2024-08-26 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_trunc-19.c: New test. + * gcc.target/riscv/sat_u_trunc-20.c: New test. + * gcc.target/riscv/sat_u_trunc-21.c: New test. + * gcc.target/riscv/sat_u_trunc-22.c: New test. + * gcc.target/riscv/sat_u_trunc-23.c: New test. + * gcc.target/riscv/sat_u_trunc-24.c: New test. + * gcc.target/riscv/sat_u_trunc-run-19.c: New test. + * gcc.target/riscv/sat_u_trunc-run-20.c: New test. + * gcc.target/riscv/sat_u_trunc-run-21.c: New test. + * gcc.target/riscv/sat_u_trunc-run-22.c: New test. + * gcc.target/riscv/sat_u_trunc-run-23.c: New test. + * gcc.target/riscv/sat_u_trunc-run-24.c: New test. + +2024-08-25 demin.han <demin.han@starfivetech.com> + + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Fix test. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv32gcv.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-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_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-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_fmul-5.c: Ditto. + +2024-08-25 Xianmiao Qu <cooper.qu@linux.alibaba.com> + + * gcc.target/riscv/pr43644.c: New test case. + +2024-08-25 Dimitar Dimitrov <dimitar@dinux.eu> + + * g++.dg/init/array54.C: Require sync_int_long effective target. + +2024-08-25 Andi Kleen <ak@gcc.gnu.org> + + PR tree-optimization/115866 + * gcc.dg/vect/vect-switch-ifcvt-1.c: New test. + * gcc.dg/vect/vect-switch-ifcvt-2.c: New test. + * gcc.dg/vect/vect-switch-search-line-fast.c: New test. + * gcc.dg/vect/vect-bitfield-read-1-not.c: Change to xfail. + +2024-08-25 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/cm_mv_rv32.c: Disable late-combine. + +2024-08-25 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: Update + expected output. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: Likewise. + +2024-08-25 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/shorten-memrefs-2.c: Turn off late-combine. + * gcc.target/riscv/shorten-memrefs-3.c: Likewise. + * gcc.target/riscv/shorten-memrefs-5.c: Likewise. + * gcc.target/riscv/shorten-memrefs-8.c: Likewise. + +2024-08-25 Gaius Mulley <gaiusmod2@gmail.com> + + * gm2/calling-c/libc/run/pass/calling-c-libc-run-pass.exp: New test. + * gm2/calling-c/libc/run/pass/testlibcstr.mod: New test. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/110635 + * g++.dg/coroutines/pr110635.C: New test. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/102051 + * g++.dg/coroutines/pr102051.C: New test. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/115908 + * g++.dg/coroutines/pr115908.C: New test. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/109682 + * g++.dg/coroutines/pr109682.C: New test. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/100476 + * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: + Adjust expected diagnostic. + * g++.dg/coroutines/pr102489.C: Avoid void get_return_object. + * g++.dg/coroutines/pr103868.C: Likewise. + * g++.dg/coroutines/pr94879-folly-1.C: Likewise. + * g++.dg/coroutines/pr94883-folly-2.C: Likewise. + * g++.dg/coroutines/pr96749-2.C: Likewise. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/113773 + * g++.dg/coroutines/torture/pr113773.C: New test. + +2024-08-24 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: Use revised + diagnostics. + * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: + Likewise. + * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: + Likewise. + * g++.dg/coroutines/coro-bad-grooaf-00-static.C: Likewise. + * g++.dg/coroutines/ramp-return-b.C: Likewise. + +2024-08-24 Simon Martin <simon@nasilyan.com> + + PR c++/113746 + * g++.dg/parse/crash76.C: New test. + +2024-08-24 Georg-Johann Lay <avr@gjlay.de> + + * gcc.dg/torture/pr115929-2.c: Add dg-require-effective-target scheduling. + * gcc.dg/torture/pr116343.c: Same. + +2024-08-23 Manolis Tsamis <manolis.tsamis@vrull.eu> + + PR rtl-optimization/116372 + PR rtl-optimization/116405 + * gcc.dg/pr116372.c: New test. + * gcc.dg/pr116405.c: New test. + +2024-08-23 Manolis Tsamis <manolis.tsamis@vrull.eu> + + PR middle-end/116358 + * gcc.target/aarch64/pr116358.c: New test. + +2024-08-23 Peter Bergner <bergner@linux.ibm.com> + + PR target/116415 + * gcc.target/powerpc/pr116415.c: New test. + +2024-08-23 Paul Thomas <pault@gcc.gnu.org> + + Revert: + 2024-08-23 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/102689 + * gfortran.dg/class_transformational_1.f90: New test for class- + valued reshape. + * gfortran.dg/class_transformational_2.f90: New test for other + class_valued transformational intrinsics. + +2024-08-23 Robin Dapp <rdapp@ventanamicro.com> + + PR middle-end/115495 + * gcc.target/riscv/rvv/autovec/pr115495.c: New test. + +2024-08-23 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: Adjust test + expectation. + * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/abs-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. + +2024-08-23 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR other/116462 + * gcc.dg/debug/dwarf2/inline7.c: Reduce test expectations. + +2024-08-23 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/116461 + * gcc.dg/vect/vect-mod-var.c: Change the initialization loop so that + `b[i]` is never 0. Use 1 in those places. + +2024-08-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/116464 + * gcc.dg/torture/pr116420.c: + +2024-08-22 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116420 + * gcc.dg/torture/pr116420.c: New test. + +2024-08-22 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * gcc.target/riscv/stack-check-cfa-3.c: Fix the expected output. + +2024-08-22 Andrew Pinski <quic_apinski@quicinc.com> + Richard Biener <rguenther@suse.de> + + PR middle-end/116454 + * gcc.dg/torture/pr116454-1.c: New test. + * gcc.dg/torture/pr116454-2.c: New test. + +2024-08-22 Jennifer Schmitz <jschmitz@nvidia.com> + + PR target/116365 + * gcc.target/aarch64/autovec_param_asimd-only.c: New test. + * gcc.target/aarch64/autovec_param_default.c: Likewise. + * gcc.target/aarch64/autovec_param_prefer-asimd.c: Likewise. + * gcc.target/aarch64/autovec_param_prefer-sve.c: Likewise. + * gcc.target/aarch64/autovec_param_sve-only.c: Likewise. + * gcc.target/aarch64/neoverse_v1_2.c: Update parameter value. + * gcc.target/aarch64/neoverse_v1_3.c: Likewise. + * gcc.target/aarch64/sve/cond_asrd_1.c: Likewise. + * 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/sve/cond_xorsign_2.c: Likewise. + * gcc.target/aarch64/sve/pr98268-1.c: Likewise. + * gcc.target/aarch64/sve/pr98268-2.c: Likewise. + +2024-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> + + * gcc.dg/debug/dwarf2/inline2.c: Add checks for inline entry_pc. + * gcc.dg/debug/dwarf2/inline6.c: Add -gno-as-loc-support and check + the resulting location views. + +2024-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> + + * gcc.dg/debug/dwarf2/inline7.c: New test. + +2024-08-22 Jennifer Schmitz <jschmitz@nvidia.com> + + PR tree-optimization/101390 + * gcc.dg/vect/vect-mod-var.c: New test. + * gcc.target/aarch64/sve/mod_1.c: Likewise. + * lib/target-supports.exp: New selector expression. + +2024-08-22 Alexandre Oliva <oliva@adacore.com> + + * lib/scandump.exp (dump-base): Support {} in dump base suffix + to drop it. + * gcc.dg/callgraph-info-1.c: New. + +2024-08-22 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pieces-memcpy-10.c: Add -mprefer-vector-width=128. + * gcc.target/i386/pieces-memcpy-6.c: Ditto. + * gcc.target/i386/pieces-memset-38.c: Ditto. + * gcc.target/i386/pieces-memset-40.c: Ditto. + * gcc.target/i386/pieces-memset-41.c: Ditto. + * gcc.target/i386/pieces-memset-42.c: Ditto. + * gcc.target/i386/pieces-memset-43.c: Ditto. + * gcc.target/i386/pieces-strcpy-2.c: Ditto. + * gcc.target/i386/pieces-memcpy-22.c: New test. + * gcc.target/i386/pieces-memset-51.c: New test. + * gcc.target/i386/pieces-strcpy-3.c: New test. + +2024-08-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-13.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-14.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-15.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-17.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-18.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-13.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-14.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-15.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-16.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-17.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-18.c: New test. + +2024-08-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: Add test helper macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-10.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-11.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-12.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-7.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-9.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-10.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-11.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-12.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-7.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-8.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-9.c: New test. + +2024-08-21 Richard Sandiford <richard.sandiford@arm.com> + + PR testsuite/116238 + * gcc.target/aarch64/sve/pr116238.c: New test. + +2024-08-21 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113042 + * gcc.target/aarch64/popcnt10.c: New test. + * gcc.target/aarch64/popcnt9.c: New test. + +2024-08-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116406 + * gcc.dg/tree-ssa/pr116406.c: New testcase. + * gcc.dg/tree-ssa/ssa-pre-30.c: On x86 dd -msse -mfpmath=sse. + +2024-08-21 Martin Jambor <mjambor@suse.cz> + + PR target/58416 + * gcc.dg/torture/pr58416.c: New test. + +2024-08-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116380 + * gcc.dg/torture/pr116380.c: New testcase. + +2024-08-21 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray_lib_this_image_2.f90: Fix array rank in + tree dump scan. + * gfortran.dg/coarray_lib_token_4.f90: Same. + * gfortran.dg/coarray/move_alloc_2.f90: New test. + +2024-08-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * g++.target/i386/pr116275-2.C (dg-options): Add -mstv + -mno-stackrealign. + +2024-08-21 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/77518 + * gfortran.dg/coarray/sizeof_1.f90: New test. + +2024-08-21 Kewen Lin <linkw@linux.ibm.com> + + * lib/target-supports.exp (check_vect_support_and_set_flags): Remove + the if arm checking powerpc-*paired*. + (check_750cl_hw_available): Remove. + (check_effective_target_vect_unpack): Remove the check on + powerpc-*paired*. + +2024-08-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Fix SAT_TRUNC typo. + * gcc.target/riscv/sat_u_trunc-1.c: Ditto. + * gcc.target/riscv/sat_u_trunc-13.c: Ditto. + * gcc.target/riscv/sat_u_trunc-14.c: Ditto. + * gcc.target/riscv/sat_u_trunc-15.c: Ditto. + * gcc.target/riscv/sat_u_trunc-2.c: Ditto. + * gcc.target/riscv/sat_u_trunc-3.c: Ditto. + * gcc.target/riscv/sat_u_trunc-4.c: Ditto. + * gcc.target/riscv/sat_u_trunc-5.c: Ditto. + * gcc.target/riscv/sat_u_trunc-6.c: Ditto. + * gcc.target/riscv/sat_u_trunc-7.c: Ditto. + * gcc.target/riscv/sat_u_trunc-8.c: Ditto. + * gcc.target/riscv/sat_u_trunc-9.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-1.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-13.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-14.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-15.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-2.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-3.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-4.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-5.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-6.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-7.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-8.c: Ditto. + * gcc.target/riscv/sat_u_trunc-run-9.c: Ditto. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/export-1.C: Remove message. + * g++.dg/modules/internal-1.C: Remove message. + * g++.dg/modules/ambig-2_b.C: Remove unnecessary pruning. + * g++.dg/modules/atom-decl-2.C: Likewise. + * g++.dg/modules/atom-pragma-3.C: Likewise. + * g++.dg/modules/atom-preamble-2_f.C: Likewise. + * g++.dg/modules/block-decl-2.C: Likewise. + * g++.dg/modules/dir-only-4.C: Likewise. + * g++.dg/modules/enum-12.C: Likewise. + * g++.dg/modules/exp-xlate-1_b.C: Likewise. + * g++.dg/modules/export-3.C: Likewise. + * g++.dg/modules/friend-3.C: Likewise. + * g++.dg/modules/friend-5_b.C: Likewise. + * g++.dg/modules/inc-xlate-1_e.C: Likewise. + * g++.dg/modules/linkage-2.C: Likewise. + * g++.dg/modules/local-extern-1.C: Likewise. + * g++.dg/modules/main-1.C: Likewise. + * g++.dg/modules/map-2.C: Likewise. + * g++.dg/modules/mod-decl-1.C: Likewise. + * g++.dg/modules/mod-decl-3.C: Likewise. + * g++.dg/modules/pr99174.H: Likewise. + * g++.dg/modules/pr99468.H: Likewise. + * g++.dg/modules/token-1.C: Likewise. + * g++.dg/modules/token-3.C: Likewise. + * g++.dg/modules/token-4.C: Likewise. + * g++.dg/modules/token-5.C: Likewise. + * g++.dg/modules/using-10.C: Likewise. + * g++.dg/modules/using-12.C: Likewise. + * g++.dg/modules/using-3.C: Likewise. + * g++.dg/modules/using-9.C: Likewise. + * g++.dg/modules/using-enum-2.C: Likewise. + * g++.dg/modules/permissive-error-1.C: New test. + * g++.dg/modules/permissive-error-2.C: New test. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116412 + * gcc.dg/torture/pr116412-1.c: New test. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116409 + * gcc.dg/torture/pr116409-1.c: New test. + * gcc.dg/torture/pr116409-2.c: New test. + +2024-08-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/gen-attrs-82.C: New test. + * g++.dg/gomp/attrs-3.C (foo): Expect different diagnostics for + omp::directive attribute after closing square bracket of an automatic + declaration and add a test with the attribute after array's + declarator-id. + +2024-08-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/gen-attrs-83.C: New test. + +2024-08-20 Edwin Lu <ewlu@rivosinc.com> + + * gcc.dg/signbit-5.c: Remove riscv xfail exception + +2024-08-20 Franciszek Witt <franek.witt@gmail.com> + + PR c++/101232 + * g++.dg/cpp0x/initlist-err1.C: New test. + * g++.dg/cpp0x/initlist-err2.C: New test. + * g++.dg/cpp0x/initlist-err3.C: New test. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/103660 + * g++.dg/tree-ssa/pr103660-4.C: New test. + * gcc.dg/tree-ssa/pr103660-4.c: New test. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/103660 + * g++.dg/tree-ssa/pr103660-2.C: New test. + * g++.dg/tree-ssa/pr103660-3.C: New test. + * gcc.dg/tree-ssa/pr103660-2.c: New test. + * gcc.dg/tree-ssa/pr103660-3.c: New test. + +2024-08-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/103660 + * g++.dg/tree-ssa/pr103660-0.C: New test. + * g++.dg/tree-ssa/pr103660-1.C: New test. + * gcc.dg/tree-ssa/pr103660-0.c: New test. + * gcc.dg/tree-ssa/pr103660-1.c: New test. + +2024-08-20 Patrick Palka <ppalka@redhat.com> + + PR c++/101463 + * g++.dg/cpp1z/nontype6.C: New test. + * g++.dg/cpp1z/nontype6a.C: New test. + +2024-08-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116274 + * gcc.target/i386/pr116274-2.c: New testcase. + +2024-08-20 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/84246 + * gfortran.dg/coarray_allocate_7.f08: Adapt to array being + allocate by caf_send. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115020 + * g++.dg/modules/pr115020_a.C: New test. + * g++.dg/modules/pr115020_b.C: New test. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116403 + * g++.dg/modules/dguide-4_a.C: New test. + * g++.dg/modules/dguide-4_b.C: New test. + * g++.dg/modules/dguide-4_c.C: New test. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116382 + * g++.dg/modules/tpl-nttp-1_a.C: New test. + * g++.dg/modules/tpl-nttp-1_b.C: New test. + +2024-08-20 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/116364 + * g++.dg/modules/tpl-spec-9_a.C: New test. + * g++.dg/modules/tpl-spec-9_b.C: New test. + * g++.dg/modules/tpl-spec-9_c.C: New test. + +2024-08-19 Marek Polacek <polacek@redhat.com> + + PR c++/115657 + * g++.dg/cpp1y/constexpr-recursion2.C: New test. + * g++.dg/template/conv21.C: New test. + +2024-08-19 Marek Polacek <polacek@redhat.com> + + PR c++/116384 + * g++.dg/cpp0x/vt-116384.C: New test. + +2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> + + PR target/112108 + * gcc.target/aarch64/acle/ls64_guard-1.c: New test. + * gcc.target/aarch64/acle/ls64_guard-2.c: New test. + * gcc.target/aarch64/acle/ls64_guard-3.c: New test. + * gcc.target/aarch64/acle/ls64_guard-4.c: New test. + +2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> + + PR target/112108 + * gcc.target/aarch64/acle/memtag_guard-1.c: New test. + * gcc.target/aarch64/acle/memtag_guard-2.c: New test. + * gcc.target/aarch64/acle/memtag_guard-3.c: New test. + * gcc.target/aarch64/acle/memtag_guard-4.c: New test. + +2024-08-19 Andrew Carlotti <andrew.carlotti@arm.com> + + PR target/112108 + * gcc.target/aarch64/acle/tme_guard-1.c: New test. + * gcc.target/aarch64/acle/tme_guard-2.c: New test. + * gcc.target/aarch64/acle/tme_guard-3.c: New test. + * gcc.target/aarch64/acle/tme_guard-4.c: New test. + +2024-08-19 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray/select_type_1.f90: New test. + * gfortran.dg/coarray/select_type_2.f90: New test. + * gfortran.dg/coarray/select_type_3.f90: New test. + +2024-08-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/warn/pr33738-2.C: dg-prune arm linker messages about + size of enums. + +2024-08-19 Richard Sandiford <richard.sandiford@arm.com> + + * lib/scanltranstree.exp: Redefine the routines using two + templates. + +2024-08-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/84244 + * gfortran.dg/coarray/ptr_comp_5.f08: New test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: New test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: New test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-3.c: New test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-2.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-2.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-2.c: New test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-1.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-1.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Add new macro test. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/avx10_2-rounding-1.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/sse-14.c: Add new macro test. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/avx10_2-rounding-1.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add new builtin test. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/sse-14.c: Add new macro test. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/avx10_2-rounding-1.c: Add test. + +2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/avx-1.c: Add -mavx10.2 and new builtin test. + * gcc.target/i386/avx-2.c: Ditto. + * gcc.target/i386/sse-13.c: Add new tests. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/avx10_2-rounding-1.c: New test. + +2024-08-18 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.target/i386/pr87007-5.c: Disable phi-opt. + +2024-08-18 Georg-Johann Lay <avr@gjlay.de> + + PR target/116407 + * gcc.target/avr/torture/pr116407-2.c: New test. + * gcc.target/avr/torture/pr116407-4.c: New test. + +2024-08-18 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Adjust + the expand dump check times. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto. + * gcc.target/riscv/sat_arith_data.h: Add test helper macros. + * gcc.target/riscv/sat_u_trunc-4.c: New test. + * gcc.target/riscv/sat_u_trunc-5.c: New test. + * gcc.target/riscv/sat_u_trunc-6.c: New test. + * gcc.target/riscv/sat_u_trunc-run-4.c: New test. + * gcc.target/riscv/sat_u_trunc-run-5.c: New test. + * gcc.target/riscv/sat_u_trunc-run-6.c: New test. + +2024-08-18 Pan Li <pan2.li@intel.com> + + PR target/116278 + * gcc.target/riscv/sat_u_add-11.c: Adjust asm check body. + * gcc.target/riscv/sat_u_add-15.c: Ditto. + * gcc.target/riscv/sat_u_add-19.c: Ditto. + * gcc.target/riscv/sat_u_add-23.c: Ditto. + * gcc.target/riscv/sat_u_add-3.c: Ditto. + * gcc.target/riscv/sat_u_add-7.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-11.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-15.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-3.c: Ditto. + * gcc.target/riscv/sat_u_add_imm-7.c: Ditto. + * gcc.target/riscv/pr116278-run-1.c: New test. + * gcc.target/riscv/pr116278-run-2.c: New test. + +2024-08-18 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_trunc-13.c: New test. + * gcc.target/riscv/sat_u_trunc-14.c: New test. + * gcc.target/riscv/sat_u_trunc-15.c: New test. + * gcc.target/riscv/sat_u_trunc-run-13.c: New test. + * gcc.target/riscv/sat_u_trunc-run-14.c: New test. + * gcc.target/riscv/sat_u_trunc-run-15.c: New test. + +2024-08-18 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_u_trunc-7.c: New test. + * gcc.target/riscv/sat_u_trunc-8.c: New test. + * gcc.target/riscv/sat_u_trunc-9.c: New test. + * gcc.target/riscv/sat_u_trunc-run-7.c: New test. + * gcc.target/riscv/sat_u_trunc-run-8.c: New test. + * gcc.target/riscv/sat_u_trunc-run-9.c: New test. + +2024-08-17 Jin Ma <jinma@linux.alibaba.com> + + * gcc.target/riscv/rvv/base/bug-7.c: New test. + * gcc.target/riscv/rvv/base/bug-8.c: New test. + +2024-08-17 Jeff Law <jlaw@ventanamicro.com> + + PR target/116282 + * gcc.target/riscv/pr116282.c: New test. + +2024-08-17 Jin Ma <jinma@linux.alibaba.com> + + * gcc.target/riscv/rvv/base/bug-9.c: New test. + +2024-08-17 Pan Li <pan2.li@intel.com> + + PR target/116280 + * gcc.target/riscv/rvv/base/pr116280-1.c: New test. + * gcc.target/riscv/rvv/base/pr116280-2.c: New test. + +2024-08-17 Feng Wang <wangfeng@eswincomputing.com> + + * gcc.target/riscv/rvv/autovec/binop/vrolr-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vrolr-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vrolr-template.h: New test. + +2024-08-17 Georg-Johann Lay <avr@gjlay.de> + + PR target/116390 + * gcc.target/avr/torture/pr116390.c: New test. + +2024-08-17 曾治金 <zhijin.zeng@spacemit.com> + + PR target/116305 + * gcc.target/riscv/rvv/base/scalable_vector_cfi.c: New test. + +2024-08-16 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/warn/pr33738.C: Added -fno-short-enums. + * g++.dg/warn/pr33738-2.C: Duplicate g++.dg/warn/pr33738.C with + -fshort-enums and removed xfail. + +2024-08-16 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * g++.dg/opt/pr97315-1.C: Add -fno-short-enums. + +2024-08-16 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + * gcc.dg/signbit-5.c: Add -fwrapv and remove x86 exception. + +2024-08-16 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/116378 + * gm2/extensions/run/pass/testopen.mod: Add third argument + for open. + * gm2/isolib/run/pass/openlibc.mod: Ditto. + * gm2/pim/run/pass/testaddr3.mod: Ditto. + +2024-08-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/110345 + * g++.dg/cpp0x/gen-attrs-84.C: New test. + +2024-08-16 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113042 + * gcc.target/aarch64/popcnt5.c: New test. + * gcc.target/aarch64/popcnt6.c: New test. + * gcc.target/aarch64/popcnt7.c: New test. + * gcc.target/aarch64/popcnt8.c: New test. + +2024-08-15 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.target/riscv/fclass.c: New tests. + +2024-08-15 Roger Sayle <roger@nextmovesoftware.com> + Uros Bizjak <ubizjak@gmail.com> + + * g++.target/i386/pr116275-2.C: New test case. + +2024-08-15 Patrick Palka <ppalka@redhat.com> + + PR c++/115583 + * g++.dg/cpp23/consteval-if13.C: Compile with -O. + +2024-08-15 Richard Sandiford <richard.sandiford@arm.com> + + PR testsuite/116343 + * gcc.dg/torture/pr116343.c: New test. + +2024-08-15 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/110033 + * gfortran.dg/coarray/associate_1.f90: New test. + +2024-08-15 Patrick Palka <ppalka@redhat.com> + + PR c++/116320 + * g++.dg/template/access42.C: New test. + +2024-08-15 Patrick Palka <ppalka@redhat.com> + + PR c++/116327 + PR c++/104981 + PR c++/115550 + * g++.dg/coroutines/pr104981-preview-this.C: Improve coverage by + adding a non-static data member use within the coroutine member + function. + * g++.dg/coroutines/pr116327-preview-this.C: New test. + +2024-08-15 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/fclass-compile.c: New test. + * gcc.target/loongarch/fclass-run.c: New test. + +2024-08-15 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr116274.c: New test. + * gcc.target/i386/pr113560.c: Scan either mulq or mulx. + +2024-08-15 Richard Sandiford <richard.sandiford@arm.com> + + PR target/116371 + * gcc.target/aarch64/sme2/acle-asm/pext_c16.c, + gcc.target/aarch64/sme2/acle-asm/pext_c16_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_c32.c, + gcc.target/aarch64/sme2/acle-asm/pext_c32_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_c64.c, + gcc.target/aarch64/sme2/acle-asm/pext_c64_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_c8.c, + gcc.target/aarch64/sme2/acle-asm/pext_c8_x2.c: Replace with... + * gcc.target/aarch64/sme2/acle-asm/pext_lane_c16.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c16_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c32.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c32_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c64.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c64_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c8.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c8_x2.c: ...these new tests, + testing for svpext_lane instead of svpext. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/float128-cmp2-runnable.c: Replace + ppc_float128_sw with ppc_float128_hw and remove p9vector_hw. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/97786 + * gcc.target/powerpc/pr97786-7.c: New test. + * gcc.target/powerpc/pr97786-8.c: New test. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/97786 + * gcc.target/powerpc/pr97786-4.c: New test. + * gcc.target/powerpc/pr97786-5.c: New test. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/97786 + * gcc.target/powerpc/pr97786-1.c: New test. + * gcc.target/powerpc/pr97786-2.c: New test. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.dg/tree-ssa/range-isnormal.c: New test. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.dg/tree-ssa/range-isfinite.c: New test. + +2024-08-15 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/114678 + * gcc.dg/tree-ssa/range-isinf.c: New test. + * gcc.dg/tree-ssa/range-sincos.c: Remove xfail for s390. + * gcc.dg/tree-ssa/vrp-float-abs-1.c: Likewise. + +2024-08-14 Marek Polacek <polacek@redhat.com> + + PR c++/116015 + * g++.dg/cpp1y/nsdmi-aggr23.C: New test. + +2024-08-14 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/pr113729.c: Add testcase for shift and rotate. + +2024-08-14 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/pr113729.c: Add more tests. + +2024-08-14 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/pr113729.c: Add more test. + * gcc.target/i386/pr113729-adc-sbb.c: New test. + +2024-08-14 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/pr113729.c: New test. + +2024-08-14 Mark Wielaard <mark@klomp.org> + + * gcc.target/riscv/rvv/base/pr116202-run-1.c (dg-do run): + Add target riscv_v. + +2024-08-14 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/move_alloc_19.f90: New test. + +2024-08-14 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-08-14 Jeff Law <jlaw@ventanamicro.com> + + * g++.target/m68k/m68k.exp: New test driver. + * g++.target/m68k/pr116244.C: New test. + +2024-08-14 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/116148 + * c-c++-common/fam-in-union-alone-in-struct-2.c: Change the type of + member a[] of union with_fam_3 with unsigned char. + +2024-08-14 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr116174.c: New test. + +2024-08-13 Dimitar Dimitrov <dimitar@dinux.eu> + + PR testsuite/116155 + * c-c++-common/fam-in-union-alone-in-struct-1.c: Adjust + check to account for default_packed targets. + +2024-08-13 Manolis Tsamis <manolis.tsamis@vrull.eu> + + PR tree-optimization/116353 + * gcc.target/i386/pr116353.c: New test. + +2024-08-13 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/114308 + * gfortran.dg/abstract_type_10.f90: New test. + +2024-08-13 Kewen Lin <linkw@linux.ibm.com> + + PR rtl-optimization/116170 + * gcc.target/powerpc/pr116170.c: New test. + +2024-08-12 Peter Bergner <bergner@linux.ibm.com> + + PR target/114759 + * gcc.target/powerpc/pr114759-1.c: New test. + +2024-08-12 Edwin Lu <ewlu@rivosinc.com> + + * gcc.target/riscv/rvv/base/pr116202-run-1.c: Add mabi arg + +2024-08-12 Jeff Law <jlaw@ventanamicro.com> + + * g++.target/m68k/m68k.exp: New test driver. + * g++.target/m68k/pr116244.C: New test. + +2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> + + * gcc.target/aarch64/ifcvt_multiple_sets_rewire.c: New test. + +2024-08-12 Manolis Tsamis <manolis.tsamis@vrull.eu> + + * gcc.target/aarch64/ifcvt_multiple_sets_arithm.c: New test. + +2024-08-12 Georg-Johann Lay <avr@gjlay.de> + + PR target/85624 + * gcc.target/avr/torture/pr85624.c: New test. + +2024-08-12 Joern Rennecke <joern.rennecke@riscy-ip.com> + + * gcc.c-torture/execute/20021120-1.c: Skip if not size20plus or -Os. + * gcc.dg/fixed-point/convert-float-4.c: Require size20plus. + * gcc.dg/torture/pr112282.c: Skip if -O0 unless size20plus. + * g++.dg/lookup/pr21802.C: Require size20plus. + +2024-08-12 Joern Rennecke <joern.rennecke@riscy-ip.com> + + * gcc.dg/pr107523.c: Make sure variables can fit numbers. + * gcc.dg/pr47893.c: Add dg-require-effective-target size20plus clause. + * c-c++-common/torture/builtin-clear-padding-2.c: + dg-require-effective-target size20plus. + * gcc.dg/pr115646.c: dg-require-effective-target int32plus. + * c-c++-common/analyzer/coreutils-sum-pr108666.c: + For c++, expect a warning about exceeding maximum object size + if not size20plus. + * gcc.dg/torture/inline-mem-cpy-1.c: + Like the included file, dg-require-effective-target ptr32plus. + * gcc.dg/torture/inline-mem-cmp-1.c: Likewise. + +2024-08-12 Kyrylo Tkachov <ktkachov@nvidia.com> + + * gcc.target/aarch64/advsimd_shl_add.c: New test. + +2024-08-12 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/85510 + * gfortran.dg/coarray/pr85510.f90: New test. + +2024-08-12 Haochen Jiang <haochen.jiang@intel.com> + + * g++.dg/other/i386-2.C: Ditto. + * g++.dg/other/i386-3.C: Ditto. + * gcc.target/i386/sse-12.c: Ditto. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + +2024-08-12 Roger Sayle <roger@nextmovesoftware.com> + + PR target/116275 + * g++.target/i386/pr116275.C: New test case. + +2024-08-12 Lulu Cheng <chenglulu@loongson.cn> + + * g++.target/loongarch/vect-ashr-lshr.C: New test. + +2024-08-12 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/lasx-andn-iorn.c: New test. + * gcc.target/loongarch/lsx-andn-iorn.c: New test. + +2024-08-10 Xi Ruoyao <xry111@xry111.site> + + PR testsuite/70150 + * gcc.target/i386/fentryname3.c (dg-final): Revert r13-1614 + change. + +2024-08-10 Xi Ruoyao <xry111@xry111.site> + + PR testsuite/70150 + * gcc.target/i386/pr113689-1.c (dg-options): Add -no-pie. + +2024-08-10 Jakub Jelinek <jakub@redhat.com> + + * gcc.target/powerpc/sse3-addsubps.c (TEST): Divide by + sizeof (vals[0]) rather than sizeof (vals). + +2024-08-10 Patrick Palka <ppalka@redhat.com> + + PR c++/116276 + * g++.dg/cpp23/class-deduction-inherited4.C: Remove an xfail. + * g++.dg/cpp23/class-deduction-inherited5.C: New test. + * g++.dg/cpp23/class-deduction-inherited6.C: New test. + +2024-08-09 Jeff Law <jlaw@ventanamicro.com> + + PR target/116283 + * gcc.target/riscv/pr116283.c: New test + +2024-08-09 Kyrylo Tkachov <ktkachov@nvidia.com> + + Revert: + 2024-08-09 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/116028 + * gcc.dg/ira-shrinkwrap-prep-1.c: Remove xfail for powerpc. + * gcc.dg/pr10474.c: Remove xfail for powerpc. + +2024-08-09 Simon Martin <simon@nasilyan.com> + + PR c++/115806 + * g++.dg/parse/enum15.C: New test. + +2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * gcc.target/riscv/stack-check-14.c: New test. + * gcc.target/riscv/stack-check-15.c: New test. + * gcc.target/riscv/stack-check-alloca-1.c: New test. + * gcc.target/riscv/stack-check-alloca-2.c: New test. + * gcc.target/riscv/stack-check-alloca-3.c: New test. + * gcc.target/riscv/stack-check-alloca-4.c: New test. + * gcc.target/riscv/stack-check-alloca-5.c: New test. + * gcc.target/riscv/stack-check-alloca-6.c: New test. + * gcc.target/riscv/stack-check-alloca-7.c: New test. + * gcc.target/riscv/stack-check-alloca-8.c: New test. + * gcc.target/riscv/stack-check-alloca-9.c: New test. + * gcc.target/riscv/stack-check-alloca-10.c: New test. + * gcc.target/riscv/stack-check-alloca.h: New. + +2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * gcc.target/riscv/stack-check-cfa-3.c: New test. + * gcc.target/riscv/stack-check-prologue-16.c: New test. + * gcc.target/riscv/struct_vect_24.c: New test. + +2024-08-09 Raphael Moreira Zinsly <rzinsly@ventanamicro.com> + + * gcc.dg/params/blocksort-part.c: Skip riscv for + stack-clash protection intervals. + * gcc.dg/pr82788.c: Skip riscv. + * gcc.dg/stack-check-6.c: Skip residual check for riscv. + * gcc.dg/stack-check-6a.c: Skip riscv. + * gcc.target/riscv/stack-check-12.c: New test. + * gcc.target/riscv/stack-check-13.c: New test. + * gcc.target/riscv/stack-check-cfa-1.c: New test. + * gcc.target/riscv/stack-check-cfa-2.c: New test. + * gcc.target/riscv/stack-check-prologue-1.c: New test. + * gcc.target/riscv/stack-check-prologue-10.c: New test. + * gcc.target/riscv/stack-check-prologue-11.c: New test. + * gcc.target/riscv/stack-check-prologue-12.c: New test. + * gcc.target/riscv/stack-check-prologue-13.c: New test. + * gcc.target/riscv/stack-check-prologue-14.c: New test. + * gcc.target/riscv/stack-check-prologue-15.c: New test. + * gcc.target/riscv/stack-check-prologue-2.c: New test. + * gcc.target/riscv/stack-check-prologue-3.c: New test. + * gcc.target/riscv/stack-check-prologue-4.c: New test. + * gcc.target/riscv/stack-check-prologue-5.c: New test. + * gcc.target/riscv/stack-check-prologue-6.c: New test. + * gcc.target/riscv/stack-check-prologue-7.c: New test. + * gcc.target/riscv/stack-check-prologue-8.c: New test. + * gcc.target/riscv/stack-check-prologue-9.c: New test. + * gcc.target/riscv/stack-check-prologue.h: New file. + * lib/target-supports.exp + (check_effective_target_supports_stack_clash_protection): + Add riscv. + (check_effective_target_caller_implicit_probes): Likewise. + +2024-08-09 Patrick Palka <ppalka@redhat.com> + + PR c++/116289 + PR c++/113063 + * g++.dg/cpp2a/spaceship-synth16a.C: New test. + +2024-08-09 Jakub Jelinek <jakub@redhat.com> + + PR target/116287 + * gcc.target/i386/bmi-pr116287.c: New test. + * gcc.target/i386/bmi2-pr116287.c: New test. + * gcc.target/i386/tbm-pr116287.c: New test. + +2024-08-08 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/116041 + * gcc.target/aarch64/if-compare_2.c: Support bit and bif for + both bar1 and bar2; add comment on why too. + +2024-08-08 Tamar Christina <tamar.christina@arm.com> + + PR target/116229 + * gcc.target/aarch64/pr116229.c: New test. + +2024-08-08 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/pr116295.c: New test. + +2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/xtheadfmemidx-xtheadfmv-medany.c: Adjust. + * gcc.target/riscv/xtheadfmemidx-zfa-medany.c: Likewise. + +2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/116131 + * gcc.target/riscv/pr116131.c: New test. + +2024-08-08 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/xtheadfmemidx-medany.c: Move to... + * gcc.target/riscv/xtheadfmemidx-xtheadfmv-medany.c: ...here. + * gcc.target/riscv/xtheadfmemidx-zfa-medany.c: New test. + +2024-08-08 Jeff Law <jlaw@ventanamicro.com> + + PR target/116240 + * gcc.target/riscv/pr116240.c: New test. + +2024-08-08 Manolis Tsamis <manolis.tsamis@vrull.eu> + + PR tree-optimization/98138 + * gcc.target/aarch64/vect-slp-two-operator.c: New test. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115062 + * g++.dg/modules/pr115062_a.H: New test. + * g++.dg/modules/pr115062_b.H: New test. + * g++.dg/modules/pr115062_c.C: New test. + +2024-08-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/115744 + * g++.dg/cpp2a/construct_at.h (operator new, operator new[]): + Use constexpr instead of inline if __cpp_constexpr >= 202406L. + * g++.dg/cpp26/constexpr-new1.C: New test. + * g++.dg/cpp26/constexpr-new2.C: New test. + * g++.dg/cpp26/constexpr-new3.C: New test. + * g++.dg/cpp26/feat-cxx26.C (__cpp_constexpr): Adjust expected + value. + +2024-08-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116258 + * gcc.target/i386/pr116258.c: Also allow vpermilps. + +2024-08-08 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/116028 + * gcc.dg/ira-shrinkwrap-prep-1.c: Remove xfail for powerpc. + * gcc.dg/pr10474.c: Remove xfail for powerpc. + +2024-08-08 Jiawei <jiawei@iscas.ac.cn> + + * gcc.target/riscv/arch-42.c: New test. + * gcc.target/riscv/arch-43.c: New test. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115801 + * g++.dg/modules/tpl-friend-16_a.C: New test. + * g++.dg/modules/tpl-friend-16_b.C: New test. + * g++.dg/template/friend82.C: New test. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114950 + * g++.dg/modules/tpl-friend-13_e.C: Adjust error message. + * g++.dg/modules/ambig-2_a.C: New test. + * g++.dg/modules/ambig-2_b.C: New test. + * g++.dg/modules/part-9_a.C: New test. + * g++.dg/modules/part-9_b.C: New test. + * g++.dg/modules/part-9_c.C: New test. + * g++.dg/modules/tpl-friend-15.h: New test. + * g++.dg/modules/tpl-friend-15_a.C: New test. + * g++.dg/modules/tpl-friend-15_b.C: New test. + * g++.dg/modules/tpl-friend-15_c.C: New test. + +2024-08-08 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/enum-bad-1_b.C: Update error message. + +2024-08-07 Patrick Palka <ppalka@redhat.com> + + PR c++/116064 + * g++.dg/template/permissive-error2.C: New test. + +2024-08-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/109126 + * g++.dg/DRs/dr2387.C: New test. + * g++.dg/DRs/dr2387-aux.cc: New file. + +2024-08-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116258 + PR middle-end/116259 + * gcc.target/aarch64/pr116258.c: New test. + * gcc.target/aarch64/sve/pr116259-1.c: New test. + +2024-08-07 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/vec-shift-double-runnable-int128.c: New test + file. + +2024-08-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116258 + * gcc.target/i386/pr116258.c: New testcase. + +2024-08-07 Roger Sayle <roger@nextmovesoftware.com> + + * g++.dg/other/sse2-pr85572-1.C: Update expected output after + my recent patch for ashrv2di3. Now with one less instruction. + +2024-08-07 Simon Martin <simon@nasilyan.com> + + PR c++/111592 + * g++.dg/cpp0x/variadic186.C: New test. + +2024-08-07 Xi Ruoyao <xry111@xry111.site> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/116142 + * gcc.target/i386/pr116142.c: New test. + +2024-08-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/116175 + * g++.dg/ext/attr-format4.C: New test. + +2024-08-07 Kewen Lin <linkw@linux.ibm.com> + + * gcc.target/powerpc/pr78056-1.c: Check for powerpc_altivec rather than + powerpc_vsx. + * gcc.target/powerpc/pr78056-3.c: Likewise. + * gcc.target/powerpc/pr78056-5.c: Drop powerpc_vsx_ok check. + * gcc.target/powerpc/pr78056-7.c: Check for powerpc_fprs rather than + dfp_hw. + * gcc.target/powerpc/pr78056-2.c: Remove. + * gcc.target/powerpc/pr78056-4.c: Remove. + * gcc.target/powerpc/pr78056-6.c: Remove. + +2024-08-07 Kewen Lin <linkw@linux.ibm.com> + + * gcc.target/powerpc/swaps-p8-46.c: Check for p8vector_hw rather than + powerpc_vsx_ok. + * gcc.target/powerpc/ppc64-abi-2.c: Check for vmx_hw rather than + powerpc_altivec_ok. + * gcc.target/powerpc/pr96139-c.c: Likewise. + +2024-08-07 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114842 + * gcc.target/powerpc/error-1.c: Replace powerpc_vsx_ok check with + powerpc_vsx. + * gcc.target/powerpc/warn-2.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Likewise. + * gcc.target/powerpc/ppc-fortran/pr80108-1.f90: Replace powerpc_vsx_ok + check with powerpc_vsx and remove useless -mfloat128. + * gcc.target/powerpc/pragma_power8.c: Replace powerpc_vsx_ok check with + powerpc_vsx. + +2024-08-07 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114842 + * gcc.target/powerpc/bswap64-2.c: Replace powerpc_vsx_ok check with + has_arch_pwr7. + * gcc.target/powerpc/ppc-fpconv-2.c: Replace powerpc_vsx_ok check with + powerpc_fprs. + * gcc.target/powerpc/ppc-fpconv-6.c: Likewise. + * gcc.target/powerpc/ppc-pow.c: Likewise. + * gcc.target/powerpc/ppc-target-1.c: Likewise. + * gcc.target/powerpc/ppc-target-2.c: Likewise. + * gcc.target/powerpc/ppc-target-3.c: Likewise. + * gcc.target/powerpc/ppc-target-4.c: Likewise. + * gcc.target/powerpc/ppc-fpconv-4.c: Check for powerpc_fprs. + * gcc.target/powerpc/fold-vec-select-char.c: Replace powerpc_vsx_ok + with powerpc_altivec check and move it after dg-options line. + * gcc.target/powerpc/fold-vec-select-float.c: Likewise. + * gcc.target/powerpc/fold-vec-select-int.c: Likewise. + * gcc.target/powerpc/fold-vec-select-short.c: Likewise. + * gcc.target/powerpc/p9-novsx.c: Likewise. + * gcc.target/powerpc/p9-options-1.c: Likewise. + +2024-08-07 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114842 + * gcc.target/powerpc/amo2.c: Remove powerpc_vsx_ok effective target + check as p9vector_hw already covers it. + * gcc.target/powerpc/p9-sign_extend-runnable.c: Likewise. + * gcc.target/powerpc/clone2.c: Remove powerpc_vsx_ok effective target + check as ppc_cpu_supports_hw already covers it. + * gcc.target/powerpc/pr47251.c: Remove powerpc_vsx_ok effective target + check as it doesn't need VSX. + * gcc.target/powerpc/pr60137.c: Likewise. + * gcc.target/powerpc/pr80098-1.c: Likewise. + * gcc.target/powerpc/pr80098-2.c: Likewise. + * gcc.target/powerpc/pr80098-3.c: Likewise. + * gcc.target/powerpc/sd-pwr6.c: Likewise. + * gcc.target/powerpc/pr57744.c: Remove powerpc_vsx_ok effective target + check and option -mvsx as it doesn't need VSX. + * gcc.target/powerpc/pr69548.c: Remove powerpc_vsx_ok effective target + check as it doesn't need VSX, remove lp64 and use int128 instead. + * gcc.target/powerpc/vec-cmpne-long.c: Remove powerpc_vsx_ok effective + target check as p8vector_hw already covers it. + * gcc.target/powerpc/darwin-save-world-1.c: Remove powerpc_altivec_ok + effective target check as vmx_hw already covers it. + +2024-08-07 Kewen Lin <linkw@linux.ibm.com> + + * lib/target-supports.exp (check_vsx_hw_available): Modify C source + code used for testing with type vector long long and constraint wa + which require VSX feature. + (check_p8vector_hw_available): Likewise. + (check_vmx_hw_available): Modify C source code used for testing with + type vector int and constraint v which require Altivec feature. + * gcc.target/powerpc/divkc3-1.c: Specify -mdejagnu-cpu=power8 for + !has_arch_pwr8 to ensure power8 support. + * gcc.target/powerpc/mulkc3-1.c: Likewise. + * gcc.target/powerpc/pr96264.c: Likewise. + +2024-08-07 Jiawei <jiawei@iscas.ac.cn> + + * gcc.dg/Wstringop-overflow-47.c: Remove xfail target. + +2024-08-07 Joern Rennecke <joern.rennecke@riscy-ip.com> + + * g++.dg/vect/pr115278.cc: Make cast's type agree with + assignment destination WRITE. + +2024-08-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115231 + * g++.dg/modules/dguide-1_a.C: New test. + * g++.dg/modules/dguide-1_b.C: New test. + * g++.dg/modules/dguide-2_a.C: New test. + * g++.dg/modules/dguide-2_b.C: New test. + * g++.dg/modules/dguide-3_a.C: New test. + * g++.dg/modules/dguide-3_b.C: New test. + * g++.dg/modules/dguide-3_c.C: New test. + * g++.dg/modules/dguide-3_d.C: New test. + +2024-08-07 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/template/explicit-instantiation9.C: New test. + +2024-08-07 Joern Rennecke <joern.rennecke@riscy-ip.com> + + * gcc.dg/vect/tsvc/tsvc.h (iterations): Allow to override, + default to 10. + (get_expected_result): Add values for iterations counts + 10, 256 and 3200. + (run): Add code to output values for new iterations counts. + * gcc.dg/vect/tsvc/vect-tsvc-s1119.c (dg-additional-options): + Add -Diterations=LEN_2D . + * gcc.dg/vect/tsvc/vect-tsvc-s115.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s119.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s125.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s2102.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s2233.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s2275.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s231.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s235.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s176.c: (dg-additional-options): + Add -Diterations=3200 . + [!run_expensive_tests]: dg-additional-options "-DTRUNCATE_TEST" . + [TRUNCATE_TEST]: Set m to 32. + +2024-08-07 Pan Li <pan2.li@intel.com> + + PR target/116202 + * gcc.target/riscv/rvv/base/pr116202-run-1.c: New test. + +2024-08-07 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Adjust + asm check times from 2 to 4. + +2024-08-07 Patrick Palka <ppalka@redhat.com> + + PR c++/116064 + * g++.dg/ext/typedef-init.C: Downgrade error inside template + to warning due to -fpermissive. + * g++.dg/pr84492.C: Likewise. + * g++.old-deja/g++.pt/crash51.C: Remove unneeded dg-options. + * g++.dg/template/permissive-error1.C: New test. + * g++.dg/template/permissive-error1a.C: New test. + * g++.dg/template/permissive-error1b.C: New test. + * g++.dg/template/permissive-error1c.C: New test. + +2024-08-06 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/116207 + * gcc.target/aarch64/simd/vmmla.c: Add -save-temps to the + options. + +2024-08-06 David Malcolm <dmalcolm@redhat.com> + + PR other/116177 + * gcc.dg/sarif-output/include-chain-2.c: Remove pruning of + "exit status is 1", as we expect this to exit with 0. + * gcc.dg/sarif-output/no-diagnostics.c: New test. + * gcc.dg/sarif-output/test-include-chain-1.py + (test_execution_unsuccessful): Add. + * gcc.dg/sarif-output/test-include-chain-2.py + (test_execution_successful): Add. + * gcc.dg/sarif-output/test-missing-semicolon.py + (test_execution_unsuccessful): Add. + * gcc.dg/sarif-output/test-no-diagnostics.py: New test. + * gcc.dg/sarif-output/test-werror.py: New test. + * gcc.dg/sarif-output/werror.c: New test. + +2024-08-06 Jason Merrill <jason@redhat.com> + + PR c++/116223 + PR c++/112632 + * g++.dg/cpp1z/nontype-auto25.C: New test. + +2024-08-06 Jason Merrill <jason@redhat.com> + + PR c++/94568 + * g++.dg/cpp2a/nontype-class36.C: Remove xfail. + * g++.dg/cpp2a/nontype-class37.C: Remove xfail. + * g++.dg/cpp1z/nontype-auto26.C: New test. + +2024-08-06 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/sse2-stv-2.c: New test case. + +2024-08-06 Patrick O'Neill <patrick@rivosinc.com> + Jakub Jelinek <jakub@redhat.com> + + * gcc.target/riscv/predef-9.c: Update testcase. + +2024-08-06 Patrick Palka <ppalka@redhat.com> + + PR c++/96780 + * g++.dg/opt/pr96780.C: Also test std::forward_like folding. + +2024-08-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116241 + * g++.dg/vect/pr116241.cc: New testcase. + +2024-08-06 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/116037 + PR testsuite/116245 + * gcc.dg/torture/pr116037.c (foo): Fix up for big end middle endian. + +2024-08-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/116224 + * gcc.dg/torture/bitint-72.c: New test. + +2024-08-06 Richard Biener <rguenther@suse.de> + + PR middle-end/111821 + * gcc.dg/torture/pr111821.c: New testcase. + +2024-08-06 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/102689 + * gfortran.dg/class_transformational_1.f90: New test for class- + valued reshape. + * gfortran.dg/class_transformational_2.f90: New test for other + class_valued transformational intrinsics. + +2024-08-06 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/116189 + * c-c++-common/torture/pr116189-1.c: New test. + +2024-08-06 Marek Polacek <polacek@redhat.com> + + * g++.dg/concepts/decl-diagnose.C: Adjust dg-error. + * g++.dg/concepts/fn-concept2.C: Likewise. + * g++.dg/concepts/pr71128.C: Likewise. + * g++.dg/concepts/var-concept6.C: Likewise. + * g++.dg/cpp2a/concepts.C: Likewise. + +2024-08-05 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/predef-9.c: Add check for warning. + +2024-08-05 Marek Polacek <polacek@redhat.com> + + PR c++/115987 + * g++.dg/ext/attr-no-dangling6.C: Adjust. + * g++.dg/ext/attr-no-dangling7.C: Likewise. + * g++.dg/warn/Wdangling-reference22.C: New test. + +2024-08-05 Jose E. Marchesi <jose.marchesi@oracle.com> + + * gcc.target/bpf/atomic-op-1.c (test_used_atomic_add): New + function. + (test_used_atomic_sub): Likewise. + (test_used_atomic_and): Likewise. + (test_used_atomic_nand): Likewise. + (test_used_atomic_or): Likewise. + (test_used_atomic_xor): Likewise. + * gcc.target/bpf/atomic-op-2.c (test_used_atomic_add): Likewise. + (test_used_atomic_sub): Likewise. + (test_used_atomic_and): Likewise. + (test_used_atomic_nand): Likewise. + (test_used_atomic_or): Likewise. + (test_used_atomic_xor): Likewise. + * gcc.target/bpf/sync-fetch-and-add.c: Expected results updated. + +2024-08-05 Jiawei <jiawei@iscas.ac.cn> + + * gcc.dg/attr-alloc_size-11.c: Add RISC-V to the list + of targets excluding xfail on lines 50 and 51. + +2024-08-05 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR tree-optimization/116139 + * gcc.target/aarch64/pr116139.c: New test. + +2024-08-05 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/116000 + * gcc.dg/vect/vect-reduc-chain-dot-slp-1.c: Skip target with no dot- + product instruction. + * gcc.dg/vect/vect-reduc-chain-dot-slp-2.c: Likewise. + * gcc.dg/vect/vect-reduc-chain-dot-slp-3.c: Likewise. + * gcc.dg/vect/vect-reduc-chain-dot-slp-4.c: Likewise. + +2024-08-05 Richard Sandiford <richard.sandiford@arm.com> + + Revert: + 2024-08-05 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/116145 + * gcc.target/aarch64/sve/acle/general/pr116145.c: New test. + +2024-08-05 Andrew Pinski <quic_apinski@quicinc.com> + + PR rtl-optimization/116179 + * g++.dg/torture/pr116179-1.C: New test. + +2024-08-04 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116199 + * gcc.dg/torture/pr116199.c: New test. + +2024-08-03 Steve Kargl <kargls@comcast.net> + + PR fortran/104626 + * gfortran.dg/pr104626.f90: New test. + +2024-08-02 Arsen Arsenović <arsen@aarsen.me> + + PR c++/105475 + * g++.dg/coroutines/pr103868.C: Add std::coroutine_handle + members we check for now. + * g++.dg/coroutines/pr105287.C: Ditto. + * g++.dg/coroutines/pr105301.C: Ditto. + * g++.dg/coroutines/pr94528.C: Ditto. + * g++.dg/coroutines/pr94879-folly-1.C: Ditto. + * g++.dg/coroutines/pr94883-folly-2.C: Ditto. + * g++.dg/coroutines/pr98118.C: Ditto. + * g++.dg/coroutines/pr105475.C: New test. + * g++.dg/coroutines/pr105475-1.C: New test. + * g++.dg/coroutines/pr105475-2.C: New test. + * g++.dg/coroutines/pr105475-3.C: New test. + * g++.dg/coroutines/pr105475-4.C: New test. + * g++.dg/coroutines/pr105475-5.C: New test. + * g++.dg/coroutines/pr105475-6.C: New test. + * g++.dg/coroutines/pr105475-broken-spec.C: New test. + * g++.dg/coroutines/pr105475-broken-spec-2.C: New test. + +2024-08-02 Mikael Morin <mikael@gcc.gnu.org> + + * gfortran.dg/maxloc_6.f90: New test. + * gfortran.dg/minloc_7.f90: New test. + +2024-08-02 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/arm/mve/ivopts-3.c: Add require target and options. + +2024-08-02 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/fuse_cmp_csel.c: New test. + * gcc.target/aarch64/fuse_cmp_cset.c: Likewise. + +2024-08-02 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/116145 + * gcc.target/aarch64/sve/acle/general/pr116145.c: New test. + +2024-08-02 Marek Polacek <polacek@redhat.com> + + PR c++/116169 + * g++.dg/DRs/dr882.C: New test. + +2024-08-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116156 + * c-c++-common/torture/pr116156-1.c: New test. + +2024-08-02 Martin Uecker <uecker@tugraz.at> + + * gcc.dg/c2y-byte-alias-1.c: New test. + * gcc.dg/c2y-byte-alias-2.c: New test. + * gcc.dg/c2y-byte-alias-3.c: New test. + +2024-08-02 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113860 + * gcc.target/aarch64/popcnt-sve.c: New test. + +2024-08-02 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/116148 + * c-c++-common/fam-in-union-alone-in-struct-2.c: Define macros + WITH_FAM_2_V_B[03] and WITH_FAM_3_V_A[07] as endianness, update the + checking with these macros and initialize with_fam_3_v.b[1] with + 0x5f6f7f8f instead of 0x5f6f7f7f. + +2024-08-01 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/pr116149.c: New test. + +2024-08-01 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/arch-41.c: New test. + * gcc.target/riscv/pr116111.c: New test. + +2024-08-01 Jakub Jelinek <jakub@redhat.com> + + PR c++/116113 + * g++.dg/cpp26/decomp11.C: New test. + +2024-08-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116120 + * g++.dg/tree-ssa/pr111150.C: Add extra checks on the test. + * gcc.dg/tree-ssa/pr111150-1.c: Likewise. + * gcc.dg/tree-ssa/pr111150.c: Likewise. + * g++.dg/torture/pr116120-1.C: New test. + * g++.dg/torture/pr116120-2.C: New test. + +2024-08-01 Dimitar Dimitrov <dimitar@dinux.eu> + + PR testsuite/116155 + * g++.dg/abi/nsdmi-aggr1a.C: Disable test for effective + default_packed targets. + * g++.dg/abi/nullptr-align2.C: Ignore warning for default_packed + targets. + * g++.dg/cpp1z/aligned-new9.C: Disable test for effective + default_packed targets. + * g++.dg/cpp2a/bit-cast5.C: Ignore dg-error for default_packed + targets. + * g++.dg/pr53037-1.C: Match any default packing value. + * g++.dg/warn/Wpadded-1.C: Ignore warning for default_packed + targets. + +2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/name_resolution25.rs: New test. + +2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/match-never-ltype.rs: New test. + * rust/compile/match-never-rtype.rs: New test. + +2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/raw-byte-string-loc.rs: Use dg-error instead of + dg-excess-error. + * rust/compile/raw-string-loc.rs: Likewise. + +2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/raw-string-loc.rs: New test. + +2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/func-const-unsafe.rs: New test. + +2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/unstable-fn.rs: New test. + +2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/deprecated-fn.rs: New test. + +2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/raw-byte-string-loc.rs: New test. + +2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/name_resolution23.rs: New test. + * rust/compile/name_resolution24.rs: New test. + +2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/name_resolution13.rs: Add new module and remove compile + step. + * rust/compile/name_resolution14.rs: New test. + * rust/compile/name_resolution15.rs: New test. + * rust/compile/name_resolution16.rs: New test. + * rust/compile/name_resolution17.rs: New test. + * rust/compile/name_resolution18.rs: New test. + * rust/compile/name_resolution19.rs: New test. + * rust/compile/name_resolution20.rs: New test. + * rust/compile/name_resolution21.rs: New test. + +2024-08-01 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/name_resolution22.rs: New test. + +2024-08-01 Arsen Arsenović <arsen@aarsen.me> + + PR c++/112341 + * g++.dg/coroutines/pr112341-2.C: New test. + * g++.dg/coroutines/pr112341-3.C: New test. + * g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C: New + test. + * g++.dg/coroutines/pr112341.C: New test. + +2024-08-01 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr116096.c: New test. + +2024-08-01 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/format_args_basic_expansion.rs: New test. + +2024-08-01 0xn4utilus <gyanendrabanjare8@gmail.com> + + * rust/compile/extern_func_with_body.rs: New test. + +2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/pattern-struct.rs: Fix test. + +2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/bad_stmt_enums.rs: Adjust redefinition error. + * rust/compile/bad_toplevel_enums.rs: Likewise. + * rust/compile/redef_error1.rs: Likewise. + * rust/compile/redef_error3.rs: Likewise. + * rust/compile/redef_error4.rs: Likewise. + * rust/compile/redef_error6.rs: Likewise. + +2024-08-01 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/let_alt.rs: Check for false positive. + +2024-08-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114659 + * gcc.target/i386/pr114659.c: New testcase. + +2024-08-01 Jakub Jelinek <jakub@redhat.com> + + PR target/115981 + * gcc.target/i386/avx512dq-pr90991-1.c: Add tests for no separate + zero extension instructions. + * gcc.target/i386/avx512dq-pr90991-2.c: Likewise. + +2024-08-01 Xiao Zeng <zengxiao@eswincomputing.com> + + * gcc.target/riscv/pr105314-rtl.c: Skip zicond. + * gcc.target/riscv/pr105314-rtl32.c: Ditto. + * gcc.target/riscv/pr105314.c: Ditto. + +2024-08-01 David Malcolm <dmalcolm@redhat.com> + + * jit.dg/jit.exp: Add load_lib valgrind.exp. + (proc report_leak): Move to valgrind.exp, and add argument + leak_report_function rather than hardcoding xfail. + (parse_valgrind_logfile): Likewise. + (fixed_host_execute): Pass xfail to parse_valgrind_logfile. + * lib/valgrind.exp: New file, based on the above. + +2024-08-01 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/sarif-output/sarif.py: Drop unused import of gzip. + +2024-08-01 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/sarif-output/missing-semicolon.c: New test. + * gcc.dg/sarif-output/sarif.py (get_location_physical_region): New. + (get_location_snippet_text): New. + * gcc.dg/sarif-output/test-missing-semicolon.py: New test. + +2024-07-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105361 + * gfortran.dg/pr105361.f90: Add newline character to test + input to provide more compliant test. + +2024-07-31 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/116134 + * gcc.dg/torture/pr116134-1.c: New test. + +2024-07-31 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/section-anchors-1.c: New test. + * gcc.target/pru/section-anchors-2.c: New test. + +2024-07-31 Dimitar Dimitrov <dimitar@dinux.eu> + + PR testsuite/116154 + * gcc.dg/torture/pr67947.c: Use volatile variable instead of + argc. + +2024-07-31 Sam James <sam@gentoo.org> + + * gcc.dg/tree-prof/crossmodule-indir-call-topn-1.c: Fix dg-require-profiling + directive order. + * gcc.dg/tree-prof/crossmodule-indir-call-topn-2.c: Likewise. + +2024-07-31 Sam James <sam@gentoo.org> + + * gcc.target/aarch64/aapcs64/func-ret-3.c: Fix dg-require-effective-target directive order. + * gcc.target/aarch64/aapcs64/func-ret-4.c: Likewise. + * gfortran.dg/PR100914.f90: Likewise. + +2024-07-31 Sam James <sam@gentoo.org> + + PR target/106828 + * g++.target/loongarch/pr106828.C: Fix 'dg-do compile' typo. + +2024-07-31 Sam James <sam@gentoo.org> + + PR target/69194 + PR c++/92024 + PR c++/110057 + * c-c++-common/Wshadow-1.c: Fix 'dg-do compile' typo. + * g++.dg/tree-ssa/devirt-array-destructor-1.C: Likewise. + * g++.dg/tree-ssa/devirt-array-destructor-2.C: Likewise. + * gcc.target/arm/pr69194.c: Likewise. + +2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * gcc.target/aarch64/acle/fp8-helpers-neon.c: New test of fpmr helper + functions. + * gcc.target/aarch64/acle/fp8-helpers-sve.c: New test of fpmr helper + functions presence. + * gcc.target/aarch64/acle/fp8-helpers-sme.c: New test of fpmr helper + functions presence. + +2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * gcc.target/aarch64/acle/fp8.c: New tests. + +2024-07-31 Claudio Bantaloukas <claudio.bantaloukas@arm.com> + + * gcc.target/aarch64/acle/fp8.c: New test. + +2024-07-31 Marek Polacek <polacek@redhat.com> + + PR c++/115645 + * g++.dg/cpp2a/constexpr-new23.C: New test. + +2024-07-31 Filip Kastl <fkastl@suse.cz> + + * gcc.target/i386/switch-exp-transform-3.c: Set the long long + int test to only execute with 64bit targets. + +2024-07-31 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/revb.c: New test. + +2024-07-31 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/bstrins-4.c: New test. + +2024-07-31 Richard Biener <rguenther@suse.de> + + PR middle-end/101478 + * gcc.dg/pr101478.c: New testcase. + +2024-07-31 Hongyu Wang <hongyu.wang@intel.com> + + PR target/116065 + * gcc.target/i386/pr116065.c: New test. + +2024-07-31 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115881 + * gcc.c-torture/compile/pr115881.c: New test. + +2024-07-31 Kewen Lin <linkw@linux.ibm.com> + + PR target/105359 + * gcc.target/powerpc/pr79004.c: Remove xfails. + +2024-07-31 Kewen Lin <linkw@linux.ibm.com> + + * gcc.target/powerpc/abd-vectorize-1.c: New test. + * gcc.target/powerpc/abd-vectorize-2.c: New test. + +2024-07-31 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/bitwise_extend.c: New test. + +2024-07-30 Sam James <sam@gentoo.org> + + PR target/68015 + PR c++/83979 + * c-c++-common/goacc/loop-shape.c: Fix 'dg-compile' typo. + * g++.dg/pr83979.C: Likewise. + * g++.target/aarch64/sve/acle/general-c++/attributes_2.C: Likewise. + * gcc.dg/tree-ssa/builtin-sprintf-7.c: Likewise. + * gcc.dg/tree-ssa/builtin-sprintf-8.c: Likewise. + * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-char.c: Likewise. + * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-short.c: Likewise. + * gcc.target/s390/20181024-1.c: Likewise. + * gcc.target/s390/addr-constraints-1.c: Likewise. + * gcc.target/s390/arch12/aghsghmgh-1.c: Likewise. + * gcc.target/s390/arch12/mul-1.c: Likewise. + * gcc.target/s390/arch13/bitops-1.c: Likewise. + * gcc.target/s390/arch13/bitops-2.c: Likewise. + * gcc.target/s390/arch13/fp-signedint-convert-1.c: Likewise. + * gcc.target/s390/arch13/fp-unsignedint-convert-1.c: Likewise. + * gcc.target/s390/arch13/popcount-1.c: Likewise. + * gcc.target/s390/pr68015.c: Likewise. + * gcc.target/s390/vector/fp-signedint-convert-1.c: Likewise. + * gcc.target/s390/vector/fp-unsignedint-convert-1.c: Likewise. + * gcc.target/s390/vector/reverse-elements-1.c: Likewise. + * gcc.target/s390/vector/reverse-elements-2.c: Likewise. + * gcc.target/s390/vector/reverse-elements-3.c: Likewise. + * gcc.target/s390/vector/reverse-elements-4.c: Likewise. + * gcc.target/s390/vector/reverse-elements-5.c: Likewise. + * gcc.target/s390/vector/reverse-elements-6.c: Likewise. + * gcc.target/s390/vector/reverse-elements-7.c: Likewise. + * gnat.dg/alignment15.adb: Likewise. + * gnat.dg/debug4.adb: Likewise. + * gnat.dg/inline21.adb: Likewise. + * gnat.dg/inline22.adb: Likewise. + * gnat.dg/opt37.adb: Likewise. + * gnat.dg/warn13.adb: Likewise. + +2024-07-30 Uros Bizjak <ubizjak@gmail.com> + + PR target/51492 + * gcc.target/i386/pr51492.c: New test. + +2024-07-30 Sam James <sam@gentoo.org> + + PR middle-end/54400 + PR target/98161 + * gcc.dg/vect/bb-slp-layout-18.c: Fix whitespace in dg directive. + * gcc.dg/vect/bb-slp-pr54400.c: Likewise. + * gcc.target/i386/pr98161.c: Likewise. + +2024-07-30 Filip Kastl <fkastl@suse.cz> + + * gcc.dg/tree-ssa/switch-3.c: Disable switch conversion. + * gcc.target/i386/switch-exp-transform-1.c: New test. + * gcc.target/i386/switch-exp-transform-2.c: New test. + * gcc.target/i386/switch-exp-transform-3.c: New test. + +2024-07-30 Sam James <sam@gentoo.org> + + * gcc.target/aarch64/simd/vmmla.c: Fix whitespace in dg directive. + +2024-07-30 Sam James <sam@gentoo.org> + + PR preprocessor/90581 + * c-c++-common/cpp/fmax-include-depth.c: Fix whitespace in dg directive. + +2024-07-30 Sam James <sam@gentoo.org> + + PR rtl-optimization/48633 + PR tree-optimization/83072 + PR tree-optimization/83073 + PR tree-optimization/96542 + PR tree-optimization/96707 + PR tree-optimization/97567 + PR target/69225 + PR target/89929 + PR target/96562 + * g++.dg/pr48633.C: Fix whitespace in dg directive. + * g++.dg/pr96707.C: Likewise. + * g++.target/i386/mv28.C: Likewise. + * gcc.dg/Warray-bounds-flex-arrays-1.c: Likewise. + * gcc.dg/pr83072-2.c: Likewise. + * gcc.dg/pr83073.c: Likewise. + * gcc.dg/pr96542.c: Likewise. + * gcc.dg/pr97567-2.c: Likewise. + * gcc.target/i386/avx512fp16-11a.c: Likewise. + * gcc.target/i386/avx512fp16-13.c: Likewise. + * gcc.target/i386/avx512fp16-14.c: Likewise. + * gcc.target/i386/avx512fp16-conjugation-1.c: Likewise. + * gcc.target/i386/avx512fp16-neg-1a.c: Likewise. + * gcc.target/i386/avx512fp16-set1-pch-1a.c: Likewise. + * gcc.target/i386/avx512fp16vl-conjugation-1.c: Likewise. + * gcc.target/i386/avx512fp16vl-neg-1a.c: Likewise. + * gcc.target/i386/avx512fp16vl-set1-pch-1a.c: Likewise. + * gcc.target/i386/avx512vlfp16-11a.c: Likewise. + * gcc.target/i386/pr69225-1.c: Likewise. + * gcc.target/i386/pr69225-2.c: Likewise. + * gcc.target/i386/pr69225-3.c: Likewise. + * gcc.target/i386/pr69225-4.c: Likewise. + * gcc.target/i386/pr69225-5.c: Likewise. + * gcc.target/i386/pr69225-6.c: Likewise. + * gcc.target/i386/pr69225-7.c: Likewise. + * gcc.target/i386/pr96562-1.c: Likewise. + * gcc.target/riscv/rv32e_stack.c: Likewise. + * gfortran.dg/c-interop/removed-restrictions-3.f90: Likewise. + * gnat.dg/renaming1.adb: Likewise. + +2024-07-30 Gianluca Guida <gianluca@rivosinc.com> + Patrick O'Neill <patrick@rivosinc.com> + + * lib/target-supports.exp: Add zacas testsuite infra support. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c: + Remove zacas to continue to test the lr/sc pairs. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: Ditto. + * gcc.target/riscv/amo/zabha-zacas-preferred-over-zalrsc.c: New test. + * gcc.target/riscv/amo/zacas-char-requires-zabha.c: New test. + * gcc.target/riscv/amo/zacas-char-requires-zacas.c: New test. + * gcc.target/riscv/amo/zacas-preferred-over-zalrsc.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acq-rel.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acquire.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-relaxed.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-release.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-seq-cst.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping-no-fence.c: + New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping.cc: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acq-rel.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acquire.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-relaxed.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-release.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-seq-cst.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acq-rel.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acquire.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-relaxed.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-release.c: New test. + * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-seq-cst.c: New test. + * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char-seq-cst.c: New test. + * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char.c: New test. + * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping-no-fence.c: + New test. + * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping.cc: New test. + * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int-seq-cst.c: New test. + * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int.c: New test. + * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short-seq-cst.c: New test. + * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short.c: New test. + +2024-07-30 Arsen Arsenović <arsen@aarsen.me> + + PR c++/115906 + * g++.dg/coroutines/pr115906-yield.C: New test. + * g++.dg/coroutines/pr115906.C: New test. + * g++.dg/coroutines/co-await-syntax-02-outside-fn.C: Don't rely + on default arguments. + * g++.dg/coroutines/co-yield-syntax-01-outside-fn.C: Ditto. + +2024-07-30 Arsen Arsenovic <arsen@aarsen.me> + + PR c++/115906 + * g++.dg/coroutines/coro-function-decl.C: New test. + +2024-07-30 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/div_const_run.c: New test. + * 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. + +2024-07-30 Arsen Arsenović <arsen@aarsen.me> + + PR c++/110855 + * g++.dg/coroutines/pr110855.C: New test. + +2024-07-30 Sam James <sam@gentoo.org> + + PR c/53548 + PR target/101529 + PR tree-optimization/102359 + * c-c++-common/fam-in-union-alone-in-struct-1.c: Fix whitespace in dg directive. + * c-c++-common/fam-in-union-alone-in-struct-2.c: Likewise. + * c-c++-common/torture/builtin-shufflevector-2.c: Likewise. + * g++.dg/pr102359_2.C: Likewise. + * g++.target/i386/mvc1.C: Likewise. + +2024-07-30 Tobias Burnus <tburnus@baylibre.com> + + * gfortran.dg/compiler-directive_2.f: Update dg-error. + +2024-07-30 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr116043.c: New test. + +2024-07-30 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/prefetchi-1b.c: New test. + +2024-07-29 Sam James <sam@gentoo.org> + + PR ipa/111613 + * gcc.c-torture/pr111613.c: Rename to.. + * gcc.c-torture/execute/pr111613.c: ...this. + +2024-07-29 Patrick Palka <ppalka@redhat.com> + + PR c++/88313 + * g++.dg/cpp2a/lambda-targ6.C: New test. + +2024-07-29 Andi Kleen <ak@gcc.gnu.org> + + Revert: + 2024-07-26 Andi Kleen <ak@gcc.gnu.org> + + PR testsuite/116080 + * g++.dg/musttail10.C: Use external tail call target check. + * g++.dg/musttail6.C: Dito. + * lib/target-supports.exp: Add external_tail_call. Disable + optimization for tail call checks. + +2024-07-29 Sam James <sam@gentoo.org> + + PR middle-end/115277 + * gcc.c-torture/compile/pr115277.c: Rename to... + * gcc.c-torture/execute/pr115277.c: ...this. + +2024-07-29 Jakub Jelinek <jakub@redhat.com> + + PR c++/115986 + * g++.dg/cpp2a/consteval-prop21.C (operator "" _c): Use + unsigned long long rather than __uint128_t for return type if int128 + is unsupported. + +2024-07-29 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx512bw-vpalignr-1b.c: New test. + * gcc.target/i386/avx512dq-vfpclasssd-1b.c: Ditto. + * gcc.target/i386/avx512dq-vfpclassss-1b.c: Ditto. + * gcc.target/i386/avx512dq-vreducesd-1b.c: Ditto. + * gcc.target/i386/avx512dq-vreducess-1b.c: Ditto. + * gcc.target/i386/avx512vl-valignq-1b.c: Ditto. + +2024-07-28 Sam James <sam@gentoo.org> + + * gcc.target/riscv/rvv/base/cmpmem-2.c: Fix dg-add-options order. + +2024-07-28 Sam James <sam@gentoo.org> + + PR middle-end/25521 + PR debug/93122 + * gcc.dg/pr25521.c: Fix dg-do directive order. + * gcc.dg/vect/vect-simd-clone-19.c: Likewise. + * gcc.target/arm/stack-protector-7.c: Likewise. + * gcc.target/arm/stack-protector-8.c: Likewise. + * gcc.target/powerpc/pr93122.c: Likewise. + +2024-07-28 Jason Merrill <jason@redhat.com> + + PR c++/115583 + * g++.dg/cpp23/consteval-if13.C: New test. + +2024-07-28 Georg-Johann Lay <avr@gjlay.de> + + PR target/116056 + * gcc.target/avr/torture/signal_n-1.c: New test. + * gcc.target/avr/torture/signal_n-2.c: New test. + * gcc.target/avr/torture/signal_n-3.c: New test. + * gcc.target/avr/torture/signal_n-4.cpp: New test. + +2024-07-28 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115823 + * gm2/builtins/run/pass/testisnormal.mod: Change to an + implementation module. + * gm2/builtins/run/pass/testisnormal.def: New test. + * gm2/builtins/run/pass/testsinl.def: New test. + * gm2/builtins/run/pass/testsinl.mod: New test. + +2024-07-28 John David Anglin <danglin@gcc.gnu.org> + + PR testsuite/92550 + * gcc.dg/ipa/ipa-sra-8.c: Change get_a argument type to SSS. + * gcc.dg/ipa/ipa-sra-9.c: Likewise. + +2024-07-27 Jason Merrill <jason@redhat.com> + + PR c++/115986 + * g++.dg/cpp2a/consteval-prop21.C: New test. + +2024-07-27 Jason Merrill <jason@redhat.com> + + PR c++/115561 + * g++.dg/cpp2a/concepts-lambda21.C: New test. + +2024-07-27 Jason Merrill <jason@redhat.com> + + * lib/gcc-dg.exp (get_matching_lines): New. + * lib/g++-dg.exp: Improve std_list selection. + +2024-07-27 Roger Sayle <roger@nextmovesoftware.com> + Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/fold-ctz-1.c: New test case. + * gcc.dg/fold-ctz-2.c: Likewise. + +2024-07-27 David Malcolm <dmalcolm@redhat.com> + + PR middle-end/107941 + * gcc.dg/sarif-output/include-chain-1-1.h: New test. + * gcc.dg/sarif-output/include-chain-1-2.h: New test. + * gcc.dg/sarif-output/include-chain-1.c: New test. + * gcc.dg/sarif-output/include-chain-1.h: New test. + * gcc.dg/sarif-output/include-chain-2.c: New test. + * gcc.dg/sarif-output/include-chain-2.h: New test. + * gcc.dg/sarif-output/sarif-output.exp: New file. + * gcc.dg/sarif-output/sarif.py: New test, adapted from + g++.dg/gcov/gcov.py. + * gcc.dg/sarif-output/test-include-chain-1.py: New test. + * gcc.dg/sarif-output/test-include-chain-2.py: New test. + * lib/scansarif.exp (sarif-pytest-format-line): New, taken + from lib/gcov.exp. + (run-sarif-pytest): New, adapted from run-gcov-pytest in + lib/gcov.exp. + +2024-07-26 Jeff Law <jlaw@ventanamicro.com> + + PR target/116085 + * gcc.target/riscv/pr116085.c: New test. + +2024-07-26 Jason Merrill <jason@redhat.com> + + PR c++/116052 + * g++.dg/ext/decay1.C: New test. + +2024-07-26 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp/ucn-1.C (main): Expect error on c\u0024c identifier also + for C++26. + +2024-07-26 Sam James <sam@gentoo.org> + + PR target/7559 + PR c++/9704 + PR c++/16115 + PR c++/19317 + PR rtl-optimization/11536 + PR target/20322 + PR tree-optimization/31966 + PR rtl-optimization/41033 + PR tree-optimization/67947 + * g++.dg/cpp1z/byte1.C: Add dg-do run directive. + * g++.dg/init/call1.C: Ditto. + * g++.dg/init/copy5.C: Ditto. + * g++.dg/opt/nrv9.C: Ditto. + * gcc.dg/20021006-1.c: Ditto. + * gcc.dg/20030721-1.c: Ditto. + * gcc.dg/20050307-1.c: Ditto. + * gcc.dg/pr41033.c: Ditto. + * gcc.dg/torture/pr67947.c: Ditto. + * gcc.dg/tree-ssa/pr31966.c: Ditto. + * gcc.dg/tree-ssa/tailcall-3.c: Ditto. + * gcc.dg/tree-ssa/vrp74.c: Ditto. + * gcc.target/nvptx/abort.c: Fix whitespace in dg directive. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + * g++.target/aarch64/vect_cmp-1.C: New test. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/116065 + * gcc.target/aarch64/sve/target_optimization-1.c: New test. + +2024-07-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116101 + * gcc.dg/tree-ssa/dup_compare_cond-1.c: New test. + * gcc.dg/tree-ssa/dup_compare_cond-2.c: New test. + * gcc.dg/tree-ssa/dup_compare_cond-3.c: New test. + +2024-07-26 Andi Kleen <ak@gcc.gnu.org> + + PR testsuite/116080 + * g++.dg/musttail10.C: Use external tail call target check. + * g++.dg/musttail6.C: Dito. + * lib/target-supports.exp: Add external_tail_call. Disable + optimization for tail call checks. + +2024-07-26 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/base/pr116036.c: Adjust expected error + string. + +2024-07-26 Tamar Christina <tamar.christina@arm.com> + + PR target/116074 + * g++.target/aarch64/pr116074.C: New test. + +2024-07-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115757 + * g++.dg/modules/warn-spec-1_a.C: New test. + * g++.dg/modules/warn-spec-1_b.C: New test. + +2024-07-25 Jason Merrill <jason@redhat.com> + + PR c++/115403 + PR c++/109753 + * g++.dg/ext/pragma-target1.C: New test. + +2024-07-25 Patrick Palka <ppalka@redhat.com> + + PR c++/115897 + * g++.dg/cpp0x/alias-decl-79.C: Remove xfails. + * g++.dg/cpp0x/alias-decl-79a.C: New test. + +2024-07-25 Patrick Palka <ppalka@redhat.com> + + PR c++/115897 + * g++.dg/cpp0x/alias-decl-78.C: New test. + * g++.dg/cpp0x/alias-decl-79.C: New test. + * g++.dg/cpp0x/alias-decl-pr92206-1a.C: New test. + +2024-07-25 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/vsx-builtin-3.c: Remove test cases for the + __builtin_vsx_set_2df built-in. + +2024-07-25 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/vsx-builtin-3.c (do_cmp): Replace + __builtin_vsx_xvcmp{eq,gt,ge}{sp,dp} by vec_cmp{eq,gt,ge} + respectively and add explicit casts to vector {float,double}. + Add more testing code assigning result to vector boolean types. + +2024-07-25 Jakub Jelinek <jakub@redhat.com> + + PR c++/110343 + * c-c++-common/raw-string-1.c: Use { c || c++11 } effective target, + remove c++ specific dg-options. + * c-c++-common/raw-string-2.c: Likewise. + * c-c++-common/raw-string-4.c: Likewise. + * c-c++-common/raw-string-5.c: Likewise. Expect some diagnostics + only for non-c++26, for c++26 expect different. + * c-c++-common/raw-string-6.c: Use { c || c++11 } effective target, + remove c++ specific dg-options. + * c-c++-common/raw-string-11.c: Likewise. + * c-c++-common/raw-string-13.c: Likewise. + * c-c++-common/raw-string-14.c: Likewise. + * c-c++-common/raw-string-15.c: Use { c || c++11 } effective target, + change c++ specific dg-options to just -Wtrigraphs. + * c-c++-common/raw-string-16.c: Likewise. + * c-c++-common/raw-string-17.c: Use { c || c++11 } effective target, + remove c++ specific dg-options. + * c-c++-common/raw-string-18.c: Use { c || c++11 } effective target, + remove -std=c++11 from c++ specific dg-options. + * c-c++-common/raw-string-19.c: Likewise. + * g++.dg/cpp26/raw-string1.C: New test. + * g++.dg/cpp26/raw-string2.C: New test. + +2024-07-25 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116039 + * gcc.dg/torture/pr116039.c: New test. + +2024-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105361 + * gfortran.dg/pr105361.f90: New test. + +2024-07-25 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/116033 + * gcc.target/riscv/pr116033.c: New test. + +2024-07-25 Arsen Arsenović <arsen@aarsen.me> + + PR c++/110171 + * g++.dg/coroutines/pr110171-1.C: New test. + * g++.dg/coroutines/pr110171.C: New test. + +2024-07-25 Arsen Arsenović <arsen@aarsen.me> + + PR c++/111728 + * g++.dg/coroutines/pr111728.C: New test. + +2024-07-25 Jeff Law <jlaw@ventanamicro.com> + + * gcc.dg/torture/pr116037.c: Fix target selector. + +2024-07-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116079 + * gcc.dg/torture/pr116079.c: New testcase. + +2024-07-25 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/arch-31.c: Add m to arch string and expect it. + * gcc.target/riscv/arch-32.c: Ditto. + * gcc.target/riscv/arch-37.c: Ditto. + * gcc.target/riscv/arch-38.c: Ditto. + * gcc.target/riscv/predef-14.c: Ditto. + * gcc.target/riscv/predef-15.c: Ditto. + * gcc.target/riscv/predef-16.c: Ditto. + * gcc.target/riscv/predef-26.c: Ditto. + * gcc.target/riscv/predef-27.c: Ditto. + * gcc.target/riscv/predef-32.c: Ditto. + * gcc.target/riscv/predef-33.c: Ditto. + * gcc.target/riscv/predef-36.c: Ditto. + * gcc.target/riscv/predef-37.c: Ditto. + * gcc.target/riscv/rvv/autovec/pr111486.c: Add m to arch string. + * gcc.target/riscv/compare-debug-1.c: Ditto. + * gcc.target/riscv/compare-debug-2.c: Ditto. + * gcc.target/riscv/rvv/base/pr116036.c: New test. + +2024-07-25 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/poly_licm-1.c: New test. + * gcc.target/riscv/rvv/autovec/poly_licm-2.c: New test. + * gcc.target/riscv/rvv/autovec/poly_licm-3.c: New test. + +2024-07-25 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/pr115749.c: New test. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/diagnostic-format-sarif-file-Wbidi-chars.c: Verify + that we have an "annotations" property for the labelled + ranges (§3.28.6). + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/diagnostic-format-sarif-file-1.c: Verify that we have + "startTimeUtc" and "endTimeUtc" properties of the correct form. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/diagnostic-format-sarif-file-1.c: Verify that we + have an "arguments" property (§3.20.2). + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/diagnostic-format-sarif-file-1.c: Verify that we have + a "workingDirectory" property. + +2024-07-24 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/diagnostic-format-sarif-file-Wbidi-chars.c: Verify + that we have a property bag with property "gcc/escapeNonAscii": true. + Verify that we have a "rendered" property for a snippet. + * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Include + "text-range-label.h". + +2024-07-24 Jason Merrill <jason@redhat.com> + + PR c++/116071 + * g++.dg/parse/pr116071.C: New test. + +2024-07-24 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/116037 + * gcc.dg/torture/pr116037.c: New test + +2024-07-24 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/116034 + PR testsuite/116061 + * gcc.dg/pr116034.c (g): Change type from int to unsigned short. + (foo): Guard memmove call on __SIZEOF_SHORT__ == 2. + +2024-07-24 Jason Merrill <jason@redhat.com> + + PR c++/109997 + * g++.dg/ext/is_assignable1.C: New test. + +2024-07-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/116057 + * gcc.dg/torture/pr116057.c: New testcase. + +2024-07-24 Kyrylo Tkachov <ktkachov@nvidia.com> + + Revert: + 2024-07-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/cmp_csel_fuse.c: New test. + * gcc.target/aarch64/cmp_cset_fuse.c: Likewise. + +2024-07-24 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/cmp_csel_fuse.c: New test. + * gcc.target/aarch64/cmp_cset_fuse.c: Likewise. + +2024-07-24 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/116035 + * gcc.target/riscv/pr116035-1.c: New test. + * gcc.target/riscv/pr116035-2.c: New test. + +2024-07-24 Lingling Kong <lingling.kong@intel.com> + + PR target/115978 + * gcc.target/i386/pr115978-1.c: New test. + * gcc.target/i386/pr115978-2.c: Ditto. + +2024-07-24 Pan Li <pan2.li@intel.com> + + PR target/115961 + * g++.dg/torture/pr115961-run-1.C: New test. + +2024-07-24 Jeff Law <jlaw@ventanamicro.com> + + PR rtl-optimization/115877 + * gcc.dg/torture/pr115877.c: New test. + +2024-07-23 Andi Kleen <ak@linux.intel.com> + + * lib/target-supports.exp: + (check_effective_target_struct_tail_call): New function. + * c-c++-common/musttail1.c: New test. + * c-c++-common/musttail12.c: New test. + * c-c++-common/musttail13.c: New test. + * c-c++-common/musttail2.c: New test. + * c-c++-common/musttail3.c: New test. + * c-c++-common/musttail4.c: New test. + * c-c++-common/musttail5.c: New test. + * c-c++-common/musttail7.c: New test. + * c-c++-common/musttail8.c: New test. + * g++.dg/musttail10.C: New test. + * g++.dg/musttail11.C: New test. + * g++.dg/musttail6.C: New test. + * g++.dg/musttail9.C: New test. + +2024-07-23 Patrick Palka <ppalka@redhat.com> + + PR c++/115656 + * g++.dg/cpp2a/concepts-ttp7.C: New test. + +2024-07-23 Patrick Palka <ppalka@redhat.com> + + PR c++/115296 + * g++.dg/cpp2a/class-deduction-alias23.C: New test. + +2024-07-23 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/116048 + * gm2/errors/fail/errors-fail.exp: Remove -Wstudents + and add -Wuninit-variable-checking=all. + Replace gm2_init_pim with gm2_init_iso. + * gm2/errors/fail/testfio.mod: Modify test code to + provoke an error in the first basic block. + * gm2/errors/fail/testparam.mod: Ditto. + * gm2/errors/fail/array1.mod: Ditto. + * gm2/errors/fail/badtype.mod: New test. + * gm2/errors/fail/badvar.mod: New test. + +2024-07-23 Arsen Arsenović <arsen@aarsen.me> + + PR c++/103953 + * g++.dg/coroutines/torture/pr103953.C: New test. + +2024-07-23 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/96866 + * gcc.target/powerpc/pr96866-1.c: New test. + * gcc.target/powerpc/pr96866-2.c: New test. + +2024-07-23 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + PR testsuite/115826 + * gcc.dg/vect/tsvc/vect-tsvc-s1281.c: Use -fno-finite-math-only. + +2024-07-23 Jakub Jelinek <jakub@redhat.com> + Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/116034 + * gcc.dg/pr116034.c: New test. + +2024-07-23 liuhongt <hongtao.liu@intel.com> + + * g++.target/i386/pr115982.C: New test. + +2024-07-23 Kewen Lin <linkw@linux.ibm.com> + + PR target/115713 + * gcc.target/powerpc/pr115713-2.c: New test. + +2024-07-23 Kewen Lin <linkw@linux.ibm.com> + + PR target/115713 + * gcc.target/powerpc/pr115713-1.c: New test. + * gcc.target/powerpc/ppc-target-4.c: Adjust by specifying altivec + in target attribute. + +2024-07-23 Kewen Lin <linkw@linux.ibm.com> + + PR target/115713 + * gcc.target/powerpc/warn-1.c: Move to ... + * gcc.target/powerpc/error-1.c: ... here. Adjust dg-warning with + dg-error and remove ineffective scan. + +2024-07-23 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/prefetchi-1.c: Check (%rip). + +2024-07-23 Alexandre Oliva <oliva@adacore.com> + + PR target/106069 + * g++.target/powerpc/pr106069.C: Reorder dg directives. + +2024-07-23 Patrick Palka <ppalka@redhat.com> + + PR c++/104981 + PR c++/115550 + * g++.dg/coroutines/pr104981-preview-this.C: New test. + * g++.dg/coroutines/pr115550-preview-this.C: New test. + +2024-07-23 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test helper macro. + * gcc.target/riscv/sat_arith_data.h: New test. + * gcc.target/riscv/sat_u_trunc-1.c: New test. + * gcc.target/riscv/sat_u_trunc-2.c: New test. + * gcc.target/riscv/sat_u_trunc-3.c: New test. + * gcc.target/riscv/sat_u_trunc-run-1.c: New test. + * gcc.target/riscv/sat_u_trunc-run-2.c: New test. + * gcc.target/riscv/sat_u_trunc-run-3.c: New test. + * gcc.target/riscv/scalar_sat_unary.h: New test. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/111613 + * gcc.c-torture/pr111613.c: New test. + +2024-07-22 Michael Meissner <meissner@linux.ibm.com> + + * gcc.target/powerpc/power11-1.c: New test. + * gcc.target/powerpc/power11-2.c: Likewise. + * gcc.target/powerpc/power11-3.c: Likewise. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/115033 + * gcc.c-torture/execute/pr115033.c: New test. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/114207 + * gcc.c-torture/execute/pr114207.c: New test. + +2024-07-22 Jan Hubicka <hubicka@ucw.cz> + + * gcc.c-torture/compile/pr115277.c: New test. + +2024-07-22 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/116009 + * gcc.c-torture/compile/pr116009.c: New test. + +2024-07-22 Richard Sandiford <richard.sandiford@arm.com> + + PR target/115969 + * gcc.target/aarch64/pr115969.c: New test. + +2024-07-22 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/88624 + * gfortran.dg/coarray/dummy_1.f90: Add calling function trough + function. + * gfortran.dg/pr88624.f90: New test. + +2024-07-22 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/115531 + * gcc.dg/vect/vect-conditional_store_1.c: New test. + * gcc.dg/vect/vect-conditional_store_2.c: New test. + * gcc.dg/vect/vect-conditional_store_3.c: New test. + * gcc.dg/vect/vect-conditional_store_4.c: New test. + +2024-07-22 Sam James <sam@gentoo.org> + + PR target/108699 + * gcc.target/powerpc/pr108699.c: Fix 'dg-run' typo. + +2024-07-22 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary.h: Move to... + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vvv_run.h: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_scalar.h: Move to... + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vvx_run.h: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx.h: Move to... + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx_run.h: ...here. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Adjust + the include file names. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-22.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-23.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-24.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-25.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-26.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-27.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-28.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-29.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-30.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-31.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-32.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-5.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-6.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-7.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-8.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-9.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-1.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-2.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-3.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-4.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-1.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-2.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-3.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-4.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-5.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-6.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-7.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-8.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-1.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-10.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-11.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-12.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-13.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-14.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-15.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-16.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-17.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-18.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-19.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-2.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-20.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-21.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-22.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-23.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-24.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-25.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-26.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-27.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-28.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-29.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-3.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-30.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-31.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-32.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-33.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-34.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-35.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-36.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-37.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-38.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-39.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-4.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-40.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-5.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-6.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-7.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-8.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-9.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-1.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-2.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-3.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip-run.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c: Ditto + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Move to... + * gcc.target/riscv/rvv/autovec/vec_sat_arith.h: ...here. + +2024-07-21 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/59104 + * gfortran.dg/dependent_decls_3.f90: New test. + +2024-07-20 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/pr116003.c: Require bitint575 target. + +2024-07-20 Andi Kleen <ak@gcc.gnu.org> + + Revert: + 2024-07-20 Andi Kleen <ak@linux.intel.com> + + * lib/target-supports.exp: + (check_effective_target_struct_tail_call): New function. + * c-c++-common/musttail1.c: New test. + * c-c++-common/musttail12.c: New test. + * c-c++-common/musttail13.c: New test. + * c-c++-common/musttail2.c: New test. + * c-c++-common/musttail3.c: New test. + * c-c++-common/musttail4.c: New test. + * c-c++-common/musttail5.c: New test. + * c-c++-common/musttail7.c: New test. + * c-c++-common/musttail8.c: New test. + * g++.dg/musttail10.C: New test. + * g++.dg/musttail11.C: New test. + * g++.dg/musttail6.C: New test. + * g++.dg/musttail9.C: New test. + +2024-07-20 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/pr116003.c : Add target bitint. + +2024-07-20 Andi Kleen <ak@linux.intel.com> + + * lib/target-supports.exp: + (check_effective_target_struct_tail_call): New function. + * c-c++-common/musttail1.c: New test. + * c-c++-common/musttail12.c: New test. + * c-c++-common/musttail13.c: New test. + * c-c++-common/musttail2.c: New test. + * c-c++-common/musttail3.c: New test. + * c-c++-common/musttail4.c: New test. + * c-c++-common/musttail5.c: New test. + * c-c++-common/musttail7.c: New test. + * c-c++-common/musttail8.c: New test. + * g++.dg/musttail10.C: New test. + * g++.dg/musttail11.C: New test. + * g++.dg/musttail6.C: New test. + * g++.dg/musttail9.C: New test. + +2024-07-19 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/116003 + * gcc.dg/pr116003.c: New. + +2024-07-19 Richard Sandiford <richard.sandiford@arm.com> + + PR middle-end/115406 + * gcc.dg/torture/pr115406.c: New test. + +2024-07-19 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/arm/fp16-aapcs-2.c: Expect the return value to be + loaded directly from the stack. Test that the swap generates + two moves out of r0/r1 and two moves in. + * gcc.target/arm/fp16-aapcs-4.c: Likewise. + +2024-07-19 Patrick Palka <ppalka@redhat.com> + + PR c++/115783 + * g++.dg/cpp23/explicit-obj-diagnostics11.C: New test. + +2024-07-19 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/builtin-mask1.c: New test. + +2024-07-19 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103115 + * gfortran.dg/string_array_constructor_4.f90: New test. + +2024-07-19 Peter Bergner <bergner@linux.ibm.com> + + PR target/114759 + PR target/115988 + * gcc.target/powerpc/pr114759-3.c: Catch unsupported ABI errors. + +2024-07-19 Patrick Palka <ppalka@redhat.com> + + PR c++/109464 + * g++.dg/template/explicit-instantiation8.C: New test. + +2024-07-19 Cupertino Miranda <cupertino.miranda@oracle.com> + + * gcc.target/bpf/pseudoc-atomic-memaddr-op.c: Add test. + +2024-07-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/114460 + * g++.dg/cpp26/aggr-init1.C: New test. + * g++.dg/cpp26/aggr-init2.C: New test. + +2024-07-19 Pan Li <pan2.li@intel.com> + + PR target/115863 + * gcc.target/i386/pr115863-1.c: New test. + +2024-07-18 Marek Polacek <polacek@redhat.com> + + PR c++/108769 + PR c++/58074 + PR c++/115522 + PR c++/85723 + * g++.dg/warn/Wclass-memaccess.C: Add dg-warning. + * g++.dg/ext/is_trivial1.C: New test. + * g++.dg/ext/is_trivial2.C: New test. + * g++.dg/ext/is_trivial3.C: New test. + * g++.dg/ext/is_trivial4.C: New test. + * g++.dg/ext/is_trivial5.C: New test. + * g++.dg/ext/is_trivial6.C: New test. + +2024-07-18 René Rebe <rene@exactcode.de> + Peter Bergner <bergner@linux.ibm.com> + + PR target/97367 + * gcc.target/powerpc/pr97367.c: New test. + +2024-07-18 Carl Love <cel@us.ibm.com> + + * gcc.target/powerpc/builtins-10-runnable.c: Add + target int128. + * gcc.target/powerpc/builtins-10.c: Add + target int128. + * gcc.target/powerpc/vec_perm-runnable-i128.c: Add + target int128. + +2024-07-18 Marek Polacek <polacek@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + PR c++/115865 + * g++.dg/asan/initlist2.C: New test. + +2024-07-18 Richard Biener <rguenther@suse.de> + + PR middle-end/115641 + * gcc.dg/torture/pr115641.c: New testcase. + +2024-07-18 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/78466 + PR fortran/80774 + * gfortran.dg/coarray/poly_run_1.f90: Activate old test code. + * gfortran.dg/coarray/poly_run_2.f90: Activate test. It was + stopping before and passing without an error. + +2024-07-18 Sam James <sam@gentoo.org> + + PR c++/53288 + PR c++/57437 + PR c/65345 + PR libstdc++/88101 + PR tree-optimization/96369 + PR tree-optimization/102124 + PR tree-optimization/108692 + * c-c++-common/pr96369.c: Add dg-do run directive. + * gcc.dg/torture/pr102124.c: Ditto. + * gcc.dg/pr108692.c: Ditto. + * gcc.dg/atomic/pr65345-4.c: Ditto. + * g++.dg/cpp0x/lambda/lambda-return1.C: Ditto. + * g++.dg/init/lifetime4.C: Ditto. + * g++.dg/torture/builtin-clear-padding-1.C: Ditto. + * g++.dg/torture/builtin-clear-padding-2.C: Ditto. + * g++.dg/torture/builtin-clear-padding-3.C: Ditto. + * g++.dg/torture/builtin-clear-padding-4.C: Ditto. + * g++.dg/torture/builtin-clear-padding-5.C: Ditto. + +2024-07-18 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/108889 + * gfortran.dg/pr108889.f90: New test. + +2024-07-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/104515 + * g++.dg/opt/pr104515.C: New testcase. + +2024-07-18 Roger Sayle <roger@nextmovesoftware.com> + + * c-c++-common/pr57371-4.c: Update comment. + * c-c++-common/pr57371-5.c: Add missing testcases from pr57371-4.c + and update for -fno-signaling-nans -fno-trapping-math. + +2024-07-18 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/82904 + * gfortran.dg/deferred_character_38.f90: New test. + +2024-07-18 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/torture/builtin-clear-padding-3.c (main): Compare + s2.b.a against -1 rather than (char) -1. + +2024-07-18 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/apx-egprs-names.c: Use ax for short and + al for char instead of eax. + * gcc.target/i386/avx512bw-kandnq-1.c: Do not run the test + under -m32 since kmovq with register is invalid. Use long + long to use 64 bit register instead of 32 bit register for + kmovq. + * gcc.target/i386/avx512bw-kandq-1.c: Ditto. + * gcc.target/i386/avx512bw-knotq-1.c: Ditto. + * gcc.target/i386/avx512bw-korq-1.c: Ditto. + * gcc.target/i386/avx512bw-kshiftlq-1.c: Ditto. + * gcc.target/i386/avx512bw-kshiftrq-1.c: Ditto. + * gcc.target/i386/avx512bw-kxnorq-1.c: Ditto. + * gcc.target/i386/avx512bw-kxorq-1.c: Ditto. + +2024-07-18 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr115843.c: New test. + +2024-07-18 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115165 + * g++.dg/modules/timevar-1_a.H: New test. + * g++.dg/modules/timevar-1_b.C: New test. + +2024-07-18 Patrick Palka <ppalka@redhat.com> + + PR c++/112288 + * g++.dg/template/friend80.C: New test. + * g++.dg/template/friend81.C: New test. + * g++.dg/template/friend81a.C: New test. + +2024-07-18 Patrick Palka <ppalka@redhat.com> + + PR c++/114104 + * g++.dg/warn/Wunused-20.C: New test. + +2024-07-18 Patrick Palka <ppalka@redhat.com> + + * g++.dg/cpp0x/alignas18.C: Expect name lookup error for U::X. + * g++.dg/cpp0x/forw_enum13.C: Expect name lookup error for + D3::A and D4<T>::A. + * g++.dg/parse/access13.C: Declare A::E::V to avoid name lookup + failure and preserve intent of the test. + * g++.dg/parse/enum11.C: Expect extra errors, matching the + non-template case. + * g++.dg/template/crash123.C: Avoid name lookup failure to + preserve intent of the test. + * g++.dg/template/crash124.C: Likewise. + * g++.dg/template/crash7.C: Adjust expected diagnostics. + * g++.dg/template/dtor6.C: Declare A::~A() to avoid name lookup + failure and preserve intent of the test. + * g++.dg/template/error22.C: Adjust expected diagnostics. + * g++.dg/template/static30.C: Avoid name lookup failure to + preserve intent of the test. + * g++.old-deja/g++.other/decl5.C: Adjust expected diagnostics. + * g++.dg/template/non-dependent34.C: New test. + +2024-07-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/111150 + * gcc.dg/tree-ssa/pr111150.c: Add -Wno-psabi to dg-options. + * g++.dg/tree-ssa/pr111150.C: Likewise. + +2024-07-17 Jørgen Kvalsvik <j@lambda.is> + + * lib/gcov.exp: Use foreach, not lmap, for tcl <= 8.5 compat. + +2024-07-17 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115929 + * gcc.dg/torture/pr115929-2.c: New test. + +2024-07-17 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115928 + * gcc.dg/torture/pr115928.c: New test. + +2024-07-17 Marek Polacek <polacek@redhat.com> + + PR c++/115900 + * g++.dg/cpp2a/constexpr-init23.C: New test. + +2024-07-17 Edwin Lu <ewlu@rivosinc.com> + + * gcc.target/riscv/target-attr-16.c: Update expected assembly + +2024-07-17 Eikansh Gupta <quic_eikagupt@quicinc.com> + + PR tree-optimization/111150 + * gcc.dg/tree-ssa/pr111150.c: New test. + * gcc.dg/tree-ssa/pr111150-1.c: New test. + * g++.dg/tree-ssa/pr111150.C: New test. + +2024-07-17 Uros Bizjak <ubizjak@gmail.com> + + PR target/115526 + * gcc.target/alpha/pr115526.c: New test. + +2024-07-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/115887 + * gcc.dg/bitint-108.c: New test. + +2024-07-17 Patrick Palka <ppalka@redhat.com> + + PR c++/111890 + * g++.dg/cpp2a/concepts-partial-spec15.C: New test. + +2024-07-17 Feng Xue <fxue@os.amperecomputing.com> + + PR tree-optimization/114440 + * gcc.dg/vect/vect-reduc-chain-1.c + * gcc.dg/vect/vect-reduc-chain-2.c + * gcc.dg/vect/vect-reduc-chain-3.c + * gcc.dg/vect/vect-reduc-chain-dot-slp-1.c + * gcc.dg/vect/vect-reduc-chain-dot-slp-2.c + * gcc.dg/vect/vect-reduc-chain-dot-slp-3.c + * gcc.dg/vect/vect-reduc-chain-dot-slp-4.c + * gcc.dg/vect/vect-reduc-dot-slp-1.c + +2024-07-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115959 + * gcc.dg/vect/pr115959.c: New testcase. + +2024-07-17 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/torture/builtin-convertvector-1.c: Add dg-do run + directive. + +2024-07-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/115527 + * c-c++-common/torture/builtin-clear-padding-1.c: Add dg-do run + directive. + * c-c++-common/torture/builtin-clear-padding-2.c: Likewise. + * c-c++-common/torture/builtin-clear-padding-3.c: Likewise. + * c-c++-common/torture/builtin-clear-padding-4.c: Likewise. + * c-c++-common/torture/builtin-clear-padding-5.c: Likewise. + * c-c++-common/torture/builtin-clear-padding-6.c: New test. + +2024-07-17 Peter Bergner <bergner@linux.ibm.com> + + PR target/114759 + * gcc.target/powerpc/pr114759-3.c: New test. + +2024-07-17 Peter Bergner <bergner@linux.ibm.com> + + PR target/114759 + * gcc.target/powerpc/pr114759-2.c: New test. + * lib/target-supports.exp (rop_ok): Use + check_effective_target_has_arch_pwr8. + +2024-07-17 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99242 + * g++.dg/modules/pr99242_a.H: New test. + * g++.dg/modules/pr99242_b.H: New test. + * g++.dg/modules/pr99242_c.H: New test. + * g++.dg/modules/pr99242_d.C: New test. + +2024-07-16 Nina Ranns <dinka.ranns@gmail.com> + + PR c++/110159 + * g++.dg/contracts/pr110159.C: New test. + +2024-07-16 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/isr-test.h: Attribute ipa implies noinline and noclone. + * gcc.target/avr/pr114981-powif.c: Same. + * gcc.target/avr/pr114981-powil.c: Same. + * gcc.target/avr/pr71676-1.c: Same. + * gcc.target/avr/pr71676-2.c: Same. + * gcc.target/avr/pr71676-3.c: Same. + * gcc.target/avr/pr71676.c: Same. + * gcc.target/avr/torture/add-extend.c: Same. + * gcc.target/avr/torture/fix-types.h: Same. + * gcc.target/avr/torture/fuse-add.c: Same. + * gcc.target/avr/torture/get-mem.c: Same. + * gcc.target/avr/torture/insv-anyshift-hi.c: Same. + * gcc.target/avr/torture/insv-anyshift-si.c: Same. + * gcc.target/avr/torture/isr-02-call.c: Same. + * gcc.target/avr/torture/isr-03-fixed.c: Same. + * gcc.target/avr/torture/pr109650-1.c: Same. + * gcc.target/avr/torture/pr109650-2.c: Same. + * gcc.target/avr/torture/pr109907-1.c: Same. + * gcc.target/avr/torture/pr109907-2.c: Same. + * gcc.target/avr/torture/pr114132-2.c: Same. + * gcc.target/avr/torture/pr39633.c: Same. + * gcc.target/avr/torture/pr51782-1.c: Same. + * gcc.target/avr/torture/pr61055.c: Same. + * gcc.target/avr/torture/pr61443.c: Same. + * gcc.target/avr/torture/pr64331.c: Same. + * gcc.target/avr/torture/pr77326.c: Same. + * gcc.target/avr/torture/pr83729.c: Same. + * gcc.target/avr/torture/pr83801.c: Same. + * gcc.target/avr/torture/pr87376.c: Same. + * gcc.target/avr/torture/pr88236-pr115726.c: Same. + * gcc.target/avr/torture/pr92606.c: Same. + * gcc.target/avr/torture/pr98762.c: Same. + * gcc.target/avr/torture/sat-hr-plus-minus.c: Same. + * gcc.target/avr/torture/sat-k-plus-minus.c: Same. + * gcc.target/avr/torture/sat-llk-plus-minus.c: Same. + * gcc.target/avr/torture/sat-r-plus-minus.c: Same. + * gcc.target/avr/torture/sat-uhr-plus-minus.c: Same. + * gcc.target/avr/torture/sat-uk-plus-minus.c: Same. + * gcc.target/avr/torture/sat-ullk-plus-minus.c: Same. + * gcc.target/avr/torture/sat-ur-plus-minus.c: Same. + * gcc.target/avr/torture/set-mem.c: Same. + * gcc.target/avr/torture/sub-extend.c: Same. + * gcc.target/avr/torture/tiny-progmem.c: Same. + +2024-07-16 Iain Sandoe <iain@sandoe.co.uk> + + PR c++/115434 + PR c++/110871 + PR c++/110872 + * g++.dg/contracts/pr115434.C: New test. + * g++.dg/coroutines/pr110871.C: New test. + * g++.dg/coroutines/pr110872.C: New test. + +2024-07-16 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/isr-test.h: Add noipa function attribute + to noclone functions. + * gcc.target/avr/pr114981-powif.c: Same. + * gcc.target/avr/pr114981-powil.c: Same. + * gcc.target/avr/pr71676-1.c: Same. + * gcc.target/avr/pr71676-2.c: Same. + * gcc.target/avr/pr71676-3.c: Same. + * gcc.target/avr/pr71676.c: Same. + * gcc.target/avr/torture/fix-types.h: Same. + * gcc.target/avr/torture/fuse-add.c: Same. + * gcc.target/avr/torture/get-mem.c: Same. + * gcc.target/avr/torture/insv-anyshift-hi.c: Same. + * gcc.target/avr/torture/insv-anyshift-si.c: Same. + * gcc.target/avr/torture/isr-02-call.c: Same. + * gcc.target/avr/torture/isr-03-fixed.c: Same. + * gcc.target/avr/torture/pr109650-1.c: Same. + * gcc.target/avr/torture/pr109650-2.c: Same. + * gcc.target/avr/torture/pr109907-1.c: Same. + * gcc.target/avr/torture/pr109907-2.c: Same. + * gcc.target/avr/torture/pr114132-2.c: Same. + * gcc.target/avr/torture/pr39633.c: Same. + * gcc.target/avr/torture/pr51782-1.c: Same. + * gcc.target/avr/torture/pr61055.c: Same. + * gcc.target/avr/torture/pr61443.c: Same. + * gcc.target/avr/torture/pr64331.c: Same. + * gcc.target/avr/torture/pr77326.c: Same. + * gcc.target/avr/torture/pr83729.c: Same. + * gcc.target/avr/torture/pr83801.c: Same. + * gcc.target/avr/torture/pr87376.c: Same. + * gcc.target/avr/torture/pr88236-pr115726.c: Same. + * gcc.target/avr/torture/pr92606.c: Same. + * gcc.target/avr/torture/pr98762.c: Same. + * gcc.target/avr/torture/sat-hr-plus-minus.c: Same. + * gcc.target/avr/torture/sat-k-plus-minus.c: Same. + * gcc.target/avr/torture/sat-llk-plus-minus.c: Same. + * gcc.target/avr/torture/sat-r-plus-minus.c: Same. + * gcc.target/avr/torture/sat-uhr-plus-minus.c: Same. + * gcc.target/avr/torture/sat-uk-plus-minus.c: Same. + * gcc.target/avr/torture/sat-ullk-plus-minus.c: Same. + * gcc.target/avr/torture/sat-ur-plus-minus.c: Same. + * gcc.target/avr/torture/set-mem.c: Same. + * gcc.target/avr/torture/tiny-progmem.c: Same. + +2024-07-16 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/84868 + * gfortran.dg/pr84868.f90: New test. + +2024-07-16 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115929 + * gcc.dg/torture/pr115929-1.c: New test. + +2024-07-16 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115901 + * gcc.dg/torture/pr115901.c: New test. + +2024-07-16 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115891 + * gcc.target/i386/pr115891.c: New test. + +2024-07-16 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/add-extend.c: New test. + * gcc.target/avr/torture/sub-extend.c: New test. + +2024-07-16 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115957 + * gm2/errors/fail/badconst.mod: New test. + * gm2/pim/fail/tinyadr.mod: New test. + +2024-07-16 Prathamesh Kulkarni <prathameshk@nvidia.com> + + * gfortran.dg/array_memset_3.f90: New test. + +2024-07-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115841 + * gcc.dg/vect/pr115841.c: New testcase. + +2024-07-16 Paul-Antoine Arras <parras@baylibre.com> + + * gcc.target/i386/indirect-thunk-extern-1.c: Replace character with + invalid encoding with `?`. + +2024-07-16 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * gcc.target/s390/vector/vec-cmp-emu-1.c: New test. + * gcc.target/s390/vector/vec-cmp-emu-2.c: New test. + * gcc.target/s390/vector/vec-cmp-emu-3.c: New test. + +2024-07-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115843 + * gcc.dg/vect/pr115843.c: New testcase. + +2024-07-16 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/114661 + * gcc.dg/pr114661.c: New test case. + +2024-07-16 Hu, Lin1 <lin1.hu@intel.com> + + PR target/107432 + * gcc.target/i386/pr107432-10.c: New test. + +2024-07-15 Jeff Law <jlaw@ventanamicro.com> + + * g++.dg/torture/pr115916.C: New test. + Co-author: Andreas Schwab <schwab@linux-m68k.org> + Co-author: Sergei Trofimovich <slyfox at gentoo dot org> + +2024-07-15 Patrick Palka <ppalka@redhat.com> + + PR c++/115897 + * g++.dg/cpp0x/alias-decl-77.C: New test. + +2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/pr115554.c: Change expected fail to expected pass. + * gcc.target/riscv/target-attr-16.c: New test. + +2024-07-15 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/115554 + PR target/115562 + * gcc.target/riscv/target-attr-01.c: Add test for option-arch directive. + * gcc.target/riscv/target-attr-02.c: Likewise. + * gcc.target/riscv/target-attr-03.c: Likewise. + * gcc.target/riscv/target-attr-04.c: Likewise. + * gcc.target/riscv/target-attr-05.c: Fix formatting. + * gcc.target/riscv/target-attr-06.c: Likewise. + * gcc.target/riscv/target-attr-07.c: Likewise. + * gcc.target/riscv/pr115554.c: New test. + * gcc.target/riscv/pr115562.c: New test. + * gcc.target/riscv/target-attr-08.c: New test. + * gcc.target/riscv/target-attr-09.c: New test. + * gcc.target/riscv/target-attr-10.c: New test. + * gcc.target/riscv/target-attr-11.c: New test. + * gcc.target/riscv/target-attr-12.c: New test. + * gcc.target/riscv/target-attr-13.c: New test. + * gcc.target/riscv/target-attr-14.c: New test. + * gcc.target/riscv/target-attr-15.c: New test. + +2024-07-15 Edwin Lu <ewlu@rivosinc.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx.h: + initialize variable + +2024-07-15 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr115872.c: New test. + +2024-07-15 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/apx-nf-2.c: New test. + +2024-07-15 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR testsuite/115894 + * gcc.target/arm/pr111235.c: Update expected output. + +2024-07-15 Monk Chiang <monk.chiang@sifive.com> + + * gcc.target/riscv/prefetch-zicbop.c: New test. + * gcc.target/riscv/prefetch-zihintntl.c: New test. + +2024-07-15 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR testsuite/115892 + * gcc.target/aarch64/sve/acle/general/cpy_1.c: Update expected + output. + +2024-07-15 Hans-Peter Nilsson <hp@axis.com> + + * gcc.dg/tree-ssa/loop-1.c: Remove target-specific test + and xfail to adjust for recent changes in register allocation. + +2024-07-15 Hongyu Wang <hongyu.wang@intel.com> + + PR target/115889 + * gcc.target/i386/vpermt2-special-bf16-shufflue.c: Adjust output + scan. + +2024-07-14 Alejandro Colomar <alx@kernel.org> + + PR c/115185 + * gcc.dg/Wcxx-compat-14.c: Adapt the test to match the new text + of the warning, which doesn't say anything about C++ anymore. + * gcc.dg/Wunterminated-string-initialization.c: New test. + +2024-07-13 Mikael Morin <mikael@gcc.gnu.org> + + * gfortran.dg/minmaxloc_17.f90: New test. + +2024-07-13 David Malcolm <dmalcolm@redhat.com> + + * g++.dg/diagnostic/bad-binary-ops-highlight-colors.C: New test. + * g++.dg/diagnostic/bad-binary-ops-no-highlight-colors.C: New test. + * g++.dg/plugin/plugin.exp (plugin_test_list): Add + show-template-tree-color-no-highlight-colors.C to + show_template_tree_color_plugin.c. + * g++.dg/plugin/show-template-tree-color-labels.C: Update expected + output to reflect use of highlight-a and highlight-b to contrast + mismatches. + * g++.dg/plugin/show-template-tree-color-no-elide-type.C: + Likewise. + * g++.dg/plugin/show-template-tree-color-no-highlight-colors.C: + New test. + * g++.dg/plugin/show-template-tree-color.C: Update expected output + to reflect use of highlight-a and highlight-b to contrast + mismatches. + * g++.dg/warn/Wformat-gcc_diag-1.C: New test. + * g++.dg/warn/Wformat-gcc_diag-2.C: New test. + * g++.dg/warn/Wformat-gcc_diag-3.C: New test. + * gcc.dg/bad-binary-ops-highlight-colors.c: New test. + * gcc.dg/format/colors.c: New test. + * gcc.dg/plugin/diagnostic_plugin_show_trees.c (show_tree): Pass + nullptr for new param of gcc_rich_location::add_expr. + * gcc.dg/bad-binary-ops-no-highlight-colors.c: New file. + +2024-07-12 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115785 + * g++.dg/torture/pr115785.C: New test. + +2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115798 + * g++.dg/modules/using-26_a.C: New test. + * g++.dg/modules/using-26_b.C: New test. + * g++.dg/modules/using-26_c.C: New test. + +2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/using-19_a.C: New test. + * g++.dg/modules/using-19_b.C: New test. + +2024-07-12 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114683 + * g++.dg/lookup/using29.C: Update errors. + * g++.dg/lookup/using53.C: Update errors, add XFAILs. + * g++.dg/modules/using-22_b.C: Remove xfails. + * g++.dg/warn/Wunused-var-18.C: Update error, add check. + * g++.dg/lookup/using68.C: New test. + * g++.dg/modules/using-24_a.C: New test. + * g++.dg/modules/using-24_b.C: New test. + * g++.dg/modules/using-25_a.C: New test. + * g++.dg/modules/using-25_b.C: New test. + * g++.dg/modules/using-enum-4_a.C: New test. + * g++.dg/modules/using-enum-4_b.C: New test. + * g++.dg/modules/using-enum-4_c.C: New test. + +2024-07-12 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * gcc.target/s390/vector/vec-copysign.c: Change to non-extended + mnemonic. + * gcc.target/s390/vector/vec-genmask-1.c: Change to non-extended + mnemonic. + * gcc.target/s390/vector/vec-init-1.c: Change to non-extended + mnemonic. + * gcc.target/s390/vector/vec-vrepi-1.c: Change to non-extended + mnemonic. + * gcc.target/s390/zvector/autovec-double-quiet-uneq.c: Change to + non-extended mnemonic. + * gcc.target/s390/zvector/autovec-float-quiet-uneq.c: Change to + non-extended mnemonic. + * gcc.target/s390/zvector/vec-genmask-1.c: Change to + non-extended mnemonic. + * gcc.target/s390/zvector/vec-splat-1.c: Change to non-extended + mnemonic. + * gcc.target/s390/zvector/vec-splat-2.c: Change to non-extended + mnemonic. + * gcc.target/s390/vector/vgbm-double-1.c: New test. + * gcc.target/s390/vector/vgbm-float-1.c: New test. + * gcc.target/s390/vector/vgbm-int128-1.c: New test. + * gcc.target/s390/vector/vgbm-integer-1.c: New test. + * gcc.target/s390/vector/vgbm-longdouble-1.c: New test. + * gcc.target/s390/vector/vgm-df-1.c: New test. + * gcc.target/s390/vector/vgm-di-1.c: New test. + * gcc.target/s390/vector/vgm-hi-1.c: New test. + * gcc.target/s390/vector/vgm-int128-1.c: New test. + * gcc.target/s390/vector/vgm-longdouble-1.c: New test. + * gcc.target/s390/vector/vgm-qi-1.c: New test. + * gcc.target/s390/vector/vgm-sf-1.c: New test. + * gcc.target/s390/vector/vgm-si-1.c: New test. + * gcc.target/s390/vector/vgm-tf-1.c: New test. + * gcc.target/s390/vector/vgm-ti-1.c: New test. + * gcc.target/s390/vector/vrepi-df-1.c: New test. + * gcc.target/s390/vector/vrepi-di-1.c: New test. + * gcc.target/s390/vector/vrepi-hi-1.c: New test. + * gcc.target/s390/vector/vrepi-int128-1.c: New test. + * gcc.target/s390/vector/vrepi-qi-1.c: New test. + * gcc.target/s390/vector/vrepi-sf-1.c: New test. + * gcc.target/s390/vector/vrepi-si-1.c: New test. + * gcc.target/s390/vector/vrepi-tf-1.c: New test. + * gcc.target/s390/vector/vrepi-ti-1.c: New test. + +2024-07-12 YunQiang Su <yunqiang@isrc.iscas.ac.cn> + + * gcc.dg/vect/pr115840.c: New testcase. + +2024-07-12 Mikael Morin <morin-mikael@orange.fr> + + * gfortran.dg/maxloc_5.f90: New test. + * gfortran.dg/minloc_5.f90: New test. + +2024-07-12 xuli <xuli1@eswincomputing.com> + + PR target/115862 + * gcc.target/riscv/rvv/base/pr115862.c: New file. + +2024-07-12 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/predef-sf-1.c: New. + * gcc.target/riscv/predef-sf-2.c: New. + +2024-07-12 Lulu Cheng <chenglulu@loongson.cn> + + PR target/115752 + * gcc.target/loongarch/pr115752.c: New test. + +2024-07-11 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/arm/mve/intrinsics/vsetq_lane_su64.c: New test. + +2024-07-11 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115782 + * gcc.dg/pr115782.c: New test. + +2024-07-11 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/array42.adb, gnat.dg/array42_pkg.ads: New test. + +2024-07-11 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/sub-zerox.c: New test. + +2024-07-11 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99241 + * g++.dg/modules/pr99241_a.H: New test. + * g++.dg/modules/pr99241_b.H: New test. + * g++.dg/modules/pr99241_c.C: New test. + +2024-07-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test + helper macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: Add test + data for .SAT_SUB in zip benchmark. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_vx.h: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_zip.c: New test. + +2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/96992 + * gfortran.dg/class_dummy_11.f90: New test. + +2024-07-11 Jørgen Kvalsvik <j@lambda.is> + + * lib/gcov.exp: Add filtering test function. + * g++.dg/gcov/gcov-19.C: New test. + * g++.dg/gcov/gcov-20.C: New test. + * g++.dg/gcov/gcov-21.C: New test. + * gcc.misc-tests/gcov-25.c: New test. + * gcc.misc-tests/gcov-26.c: New test. + * gcc.misc-tests/gcov-27.c: New test. + * gcc.misc-tests/gcov-28.c: New test. + +2024-07-11 Fei Gao <gaofei@eswincomputing.com> + + * gcc.target/riscv/attribute-15.c: adapt TC. + * gcc.target/riscv/attribute-16.c: likewise. + * gcc.target/riscv/attribute-17.c: likewise. + * gcc.target/riscv/attribute-18.c: likewise. + * gcc.target/riscv/pr110696.c: likewise. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: likewise. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: likewise. + * gcc.target/riscv/rvv/base/pr114352-1.c: likewise. + * gcc.target/riscv/rvv/base/pr114352-3.c: likewise. + * gcc.target/riscv/arch-39.c: New test. + * gcc.target/riscv/arch-40.c: New test. + +2024-07-10 Marek Polacek <polacek@redhat.com> + + * g++.dg/concepts/auto3.C: Compile with -fconcepts. Run in C++17 and + up. Add dg-error. + * g++.dg/concepts/auto5.C: Likewise. + * g++.dg/concepts/auto7.C: Compile with -fconcepts. Add dg-error. + * g++.dg/concepts/auto8a.C: Compile with -fconcepts. + * g++.dg/concepts/class-deduction1.C: Compile with -fconcepts. Run in + C++17 and up. Convert to C++20. + * g++.dg/concepts/class5.C: Likewise. + * g++.dg/concepts/class6.C: Likewise. + * g++.dg/concepts/debug1.C: Likewise. + * g++.dg/concepts/decl-diagnose.C: Compile with -fconcepts. Run in + C++17 and up. Add dg-error. + * g++.dg/concepts/deduction-constraint1.C: Compile with -fconcepts. + Run in C++17 and up. Convert to C++20. + * g++.dg/concepts/diagnostic1.C: Likewise. + * g++.dg/concepts/dr1430.C: Likewise. + * g++.dg/concepts/equiv.C: Likewise. + * g++.dg/concepts/equiv2.C: Likewise. + * g++.dg/concepts/expression.C: Likewise. + * g++.dg/concepts/expression2.C: Likewise. + * g++.dg/concepts/expression3.C: Likewise. + * g++.dg/concepts/fn-concept2.C: Compile with -fconcepts. Run in + C++17 and up. Remove code. Add dg-prune-output. + * g++.dg/concepts/fn-concept3.C: Compile with -fconcepts. Run in + C++17 and up. Convert to C++20. + * g++.dg/concepts/fn1.C: Likewise. + * g++.dg/concepts/fn10.C: Likewise. + * g++.dg/concepts/fn2.C: Likewise. + * g++.dg/concepts/fn3.C: Likewise. + * g++.dg/concepts/fn4.C: Likewise. + * g++.dg/concepts/fn5.C: Likewise. + * g++.dg/concepts/fn6.C: Likewise. + * g++.dg/concepts/fn7.C: Compile with -fconcepts. Add dg-error. + * g++.dg/concepts/fn8.C: Compile with -fconcepts. Run in C++17 and up. + Convert to C++20. + * g++.dg/concepts/fn9.C: Likewise. + * g++.dg/concepts/generic-fn-err.C: Likewise. + * g++.dg/concepts/generic-fn.C: Likewise. + * g++.dg/concepts/inherit-ctor1.C: Likewise. + * g++.dg/concepts/inherit-ctor3.C: Likewise. + * g++.dg/concepts/intro1.C: Likewise. + * g++.dg/concepts/locations1.C: Compile with -fconcepts. Run in C++17 + and up. Add dg-prune-output. + * g++.dg/concepts/partial-concept-id1.C: Compile with -fconcepts. + Run in C++17 and up. Convert to C++20. + * g++.dg/concepts/partial-concept-id2.C: Likewise. + * g++.dg/concepts/partial-spec5.C: Likewise. + * g++.dg/concepts/placeholder2.C: Likewise. + * g++.dg/concepts/placeholder3.C: Likewise. + * g++.dg/concepts/placeholder4.C: Likewise. + * g++.dg/concepts/placeholder5.C: Likewise. + * g++.dg/concepts/placeholder6.C: Likewise. + * g++.dg/concepts/pr65634.C: Likewise. + * g++.dg/concepts/pr65636.C: Likewise. + * g++.dg/concepts/pr65681.C: Likewise. + * g++.dg/concepts/pr65848.C: Likewise. + * g++.dg/concepts/pr67249.C: Likewise. + * g++.dg/concepts/pr67595.C: Likewise. + * g++.dg/concepts/pr68434.C: Likewise. + * g++.dg/concepts/pr71127.C: Likewise. + * g++.dg/concepts/pr71128.C: Compile with -fconcepts. Run in C++17 + and up. Add dg-error. + * g++.dg/concepts/pr71131.C: Compile with -fconcepts. Run in C++17 + and up. Convert to C++20. + * g++.dg/concepts/pr71385.C: Likewise. + * g++.dg/concepts/pr85065.C: Likewise. + * g++.dg/concepts/pr92804-2.C: Compile with -fconcepts. Convert to + C++20. + * g++.dg/concepts/template-parm11.C: Compile with -fconcepts. Run in + C++17 and up. Convert to C++20. + * g++.dg/concepts/template-parm12.C: Likewise. + * g++.dg/concepts/template-parm2.C: Likewise. + * g++.dg/concepts/template-parm3.C: Likewise. + * g++.dg/concepts/template-parm4.C: Likewise. + * g++.dg/concepts/template-template-parm1.C: Likewise. + * g++.dg/concepts/var-concept1.C: Likewise. + * g++.dg/concepts/var-concept2.C: Likewise. + * g++.dg/concepts/var-concept3.C: Likewise. + * g++.dg/concepts/var-concept4.C: Likewise. + * g++.dg/concepts/var-concept5.C: Likewise. + * g++.dg/concepts/var-concept6.C: Likewise. + * g++.dg/concepts/var-concept7.C: Likewise. + * g++.dg/concepts/var-templ1.C: Run in C++17 and up. + * g++.dg/concepts/var-templ2.C: Compile with -fconcepts. Run in C++17 + and up. Convert to C++20. + * g++.dg/concepts/var-templ3.C: Likewise. + * g++.dg/concepts/variadic1.C: Likewise. + * g++.dg/concepts/variadic2.C: Likewise. + * g++.dg/concepts/variadic3.C: Likewise. + * g++.dg/concepts/variadic4.C: Likewise. + * g++.dg/cpp2a/concepts-pr65575.C: Likewise. + * g++.dg/cpp2a/concepts-pr66091.C: Likewise. + * g++.dg/cpp2a/concepts-pr67148.C: Compile with -fconcepts. Convert + to C++20. + * g++.dg/cpp2a/concepts-pr67225-1.C: Likewise. + * g++.dg/cpp2a/concepts-pr67225-2.C: Likewise. + * g++.dg/cpp2a/concepts-pr67225-3.C: Likewise. + * g++.dg/cpp2a/concepts-pr67225-4.C: Likewise. + * g++.dg/cpp2a/concepts-pr67225-5.C: Likewise. + * g++.dg/cpp2a/concepts-pr67319.C: Likewise. + * g++.dg/cpp2a/concepts-pr67427.C: Likewise. + * g++.dg/cpp2a/concepts-pr67654.C: Likewise. + * g++.dg/cpp2a/concepts-pr67658.C: Likewise. + * g++.dg/cpp2a/concepts-pr67684.C: Likewise. + * g++.dg/cpp2a/concepts-pr67697.C: Likewise. + * g++.dg/cpp2a/concepts-pr67719.C: Likewise. + * g++.dg/cpp2a/concepts-pr67774.C: Likewise. + * g++.dg/cpp2a/concepts-pr67825.C: Likewise. + * g++.dg/cpp2a/concepts-pr67860.C: Likewise. + * g++.dg/cpp2a/concepts-pr67862.C: Likewise. + * g++.dg/cpp2a/concepts-pr67969.C: Likewise. + * g++.dg/cpp2a/concepts-pr68093-2.C: Likewise. + * g++.dg/cpp2a/concepts-pr68372.C: Likewise. + * g++.dg/cpp2a/concepts-pr68812.C: Likewise. + * g++.dg/cpp2a/concepts-pr69235.C: Likewise. + * g++.dg/cpp2a/concepts-pr78752-2.C: Likewise. + * g++.dg/cpp2a/concepts-pr78752.C: Likewise. + * g++.dg/cpp2a/concepts-pr79759.C: Likewise. + * g++.dg/cpp2a/concepts-pr80746.C: Likewise. + * g++.dg/cpp2a/concepts-pr80773.C: Likewise. + * g++.dg/cpp2a/concepts-pr82507.C: Likewise. + * g++.dg/cpp2a/concepts-pr82740.C: Likewise. + * g++.dg/cpp2a/concepts-pr84980.C: Compile with -fconcepts. Run in + C++17 and up. Convert to C++20. + * g++.dg/cpp2a/concepts-pr85265.C: Likewise. + * g++.dg/cpp2a/concepts-pr85808.C: Compile with -fconcepts. Convert + to C++20. + * g++.dg/cpp2a/concepts-pr86269.C: Likewise. + * g++.dg/cpp2a/concepts-pr87441.C: Likewise. + * g++.dg/cpp2a/concepts-requires5.C: Compile with -fconcepts. + Adjust dg-error. Add same_as. + * g++.dg/cpp2a/nontype-class50a.C: Compile with -fconcepts. + * g++.dg/concepts/auto1.C: Removed. + * g++.dg/concepts/auto4.C: Removed. + * g++.dg/concepts/auto6.C: Removed. + * g++.dg/concepts/fn-concept1.C: Removed. + * g++.dg/concepts/intro2.C: Removed. + * g++.dg/concepts/intro3.C: Removed. + * g++.dg/concepts/intro4.C: Removed. + * g++.dg/concepts/intro5.C: Removed. + * g++.dg/concepts/intro6.C: Removed. + * g++.dg/concepts/intro7.C: Removed. + * g++.dg/cpp2a/concepts-ts1.C: Removed. + * g++.dg/cpp2a/concepts-ts2.C: Removed. + * g++.dg/cpp2a/concepts-ts3.C: Removed. + * g++.dg/cpp2a/concepts-ts4.C: Removed. + * g++.dg/cpp2a/concepts-ts5.C: Removed. + * g++.dg/cpp2a/concepts-ts6.C: Removed. + +2024-07-10 Marek Polacek <polacek@redhat.com> + + PR c/115642 + * gcc.dg/noncompile/sizeof-1.c: New test. + +2024-07-10 Marek Polacek <polacek@redhat.com> + + PR c/115549 + * c-c++-common/attr-aligned-2.c: New test. + +2024-07-10 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + PR target/105090 + * gcc.target/arm/copysign_softfloat_1.c: Drop check for lsr + +2024-07-10 Edwin Lu <ewlu@rivosinc.com> + + * g++.target/riscv/redundant-bitmap-1.C: Use gcb instead of + zba_zbb_zbs + * g++.target/riscv/redundant-bitmap-2.C: Ditto + * g++.target/riscv/redundant-bitmap-3.C: Ditto + * g++.target/riscv/redundant-bitmap-4.C: Ditto + * gcc.target/riscv/shift-add-1.c: Ditto + * gcc.target/riscv/shift-add-2.c: Ditto + * gcc.target/riscv/synthesis-1.c: Ditto + * gcc.target/riscv/synthesis-2.c: Ditto + * gcc.target/riscv/synthesis-3.c: Ditto + * gcc.target/riscv/synthesis-4.c: Ditto + * gcc.target/riscv/synthesis-5.c: Ditto + * gcc.target/riscv/synthesis-6.c: Ditto + * gcc.target/riscv/synthesis-7.c: Ditto + * gcc.target/riscv/synthesis-8.c: Ditto + * gcc.target/riscv/zba_zbs_and-1.c: Ditto + * gcc.target/riscv/zbs-zext-3.c: Ditto + * lib/target-supports.exp: Add b to riscv_get_arch + +2024-07-10 Marek Polacek <polacek@redhat.com> + + PR c++/115645 + * g++.dg/expr/anew7.C: New test. + +2024-07-10 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/i386/pr105033.c: Expect vmovhps for the ia32 version + of foo. + * gcc.target/i386/vect-bfloat16-2b.c: Expect more vpinsrws. + +2024-07-10 Nina Ranns <dinka.ranns@gmail.com> + + PR c++/113968 + * g++.dg/contracts/pr113968.C: New test. + +2024-07-10 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115823 + * gm2/builtins/run/pass/testalloa.mod: New test. + +2024-07-10 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sqrt_div_float16.c: New test. + +2024-07-10 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/vect/slp-gap-1.c: Support matching `{_1, { 0, 0, 0, 0 }}` + in addition to `{_1, 0}`. + +2024-07-10 Fei Gao <gaofei@eswincomputing.com> + + * gcc.target/riscv/rv32e_zcmp.c: Adapt TC. + * gcc.target/riscv/rv32i_zcmp.c: Likewise. + +2024-07-09 Martin Uecker <uecker@tugraz.at> + + PR testsuite/115545 + * gcc.dg/pr115109.c: Adapt test. + * gcc.dg/c23-tag-enum-6.c: Adapt test. + * gcc.dg/c23-tag-enum-7.c: Adapt test. + +2024-07-09 Martin Uecker <uecker@tugraz.at> + + PR c/114727 + * gcc.dg/pr114727.c: New test. + +2024-07-09 Martin Uecker <uecker@tugraz.at> + + PR c/115696 + * gcc.dg/pr115696.c: New test. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/vec_perm-runnable-i128.c: New test file. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/vsx-builtin-3.c (__builtin_vsx_vperm_16qi_uns, + __builtin_vsx_vperm_1ti, __builtin_vsx_vperm_1ti_uns, + __builtin_vsx_vperm_2df, __builtin_vsx_vperm_2di, + __builtin_vsx_vperm_2di_uns, __builtin_vsx_vperm_4sf, + __builtin_vsx_vperm_4si, __builtin_vsx_vperm_4si_uns, + __builtin_vsx_vperm): Change call to built-in to the overloaded + built-in vec_perm. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/vsx-builtin-3.c (__builtin_vsx_xxsel_4si, + __builtin_vsx_xxsel_8hi, __builtin_vsx_xxsel_16qi, + __builtin_vsx_xxsel_4sf, __builtin_vsx_xxsel_2df, + __builtin_vsx_xxsel): Change built-in call to overloaded built-in + call vec_sel. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/builtins-10-runnable.c: New runnable test + file. + * gcc.target/powerpc/builtins-10.c: New compile only test file. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/builtins-3-runnable.c + (test_unsigned_int_result, test_ll_unsigned_int_result): Add + new argument. + (vec_signede, vec_signedo, vec_unsignede, vec_unsignedo): New + tests for the overloaded built-ins. + +2024-07-09 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/builtins-3-runnable.c: Add tests for + vec_unsignede and vec_unsignedo with negative arguments. + +2024-07-09 Uros Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/sattrunc-1.c: New test. + +2024-07-09 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/interrupt-misaligned.c: Remove + "-fno-fat-lto-objects" from skip condition. + * gcc.target/riscv/pr93202.c: Likewise. + +2024-07-09 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/tile-11.c: Adjust expected diagnostics for c. + * c-c++-common/gomp/tile-12.c: Likewise. + +2024-07-09 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/cpp26/constexpr-voidptr3.C: New test. + * g++.dg/cpp0x/constexpr-cast2.C: Adjust expected diagnostics for + C++26. + * g++.dg/cpp0x/constexpr-cast4.C: Likewise. + +2024-07-09 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr115796.c: New test. + +2024-07-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add help + test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-8.c: New test. + +2024-07-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add help + test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_data.h: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-4.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add_imm-run-4.c: New test. + +2024-07-08 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/aarch64/sve/pred_clobber_1.c: Update expected output. + * gcc.target/aarch64/sve/pred_clobber_2.c: Likewise. + * gcc.target/aarch64/sve/pred_clobber_3.c: Likewise. + * gcc.target/aarch64/tbz_2.c: Likewise. + * gcc.target/riscv/core_bench_list.c: New test. + * gcc.target/riscv/core_init_matrix.c: New test. + * gcc.target/riscv/core_list_init.c: New test. + * gcc.target/riscv/matrix_add_const.c: New test. + * gcc.target/riscv/mem-extend.c: New test. + * gcc.target/riscv/pr111384.c: New test. + Co-authored-by: Jivan Hakobyan <jivanhakobyan9@gmail.com> + Co-authored-by: Joern Rennecke <joern.rennecke@embecosm.com> + +2024-07-08 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/avx2-bf16-vec-absneg.c: New test. + * gcc.target/i386/avx512f-bf16-vec-absneg.c: New test. + +2024-07-08 Jeevitha Palanisamy <jeevitha@linux.ibm.com> + + PR target/110040 + * gcc.target/powerpc/pr110040-1.c: New testcase. + * gcc.target/powerpc/pr110040-2.c: New testcase. + +2024-07-08 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + test macros. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_data.h: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-3.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-4.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-5.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-6.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-4.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-5.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_u_trunc-run-6.c: New test. + * gcc.target/riscv/rvv/autovec/unop/vec_sat_unary_vv_run.h: New test. + +2024-07-08 Kewen Lin <linkw@linux.ibm.com> + + PR target/115688 + * gcc.target/powerpc/pr115688.c: New test. + +2024-07-07 Maciej W. Rozycki <macro@orcam.me.uk> + + * lib/gnat.exp (local_find_gnatmake, find_gnatclean): Use + '-cross' suffix where testing a cross-compiler. + +2024-07-06 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/binv-for-simode-1.c: New test. + * gcc.target/riscv/bset-for-simode-1.c: New test. + * gcc.target/riscv/bclr-for-simode-1.c: New test. + +2024-07-06 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + * gcc.dg/analyzer/torture/boxed-ptr-1.c: Requires size24plus. + * gcc.dg/analyzer/torture/pr102692.c: Use intptr_t instead of long. + * gcc.dg/ipa/pr102714.c: Use uintptr_t instead of unsigned long. + * gcc.dg/torture/pr115387-1.c: Same. + * gcc.dg/torture/pr113895-1.c : Same. + * gcc.dg/ipa/pr108007.c: Require int32plus. + * gcc.dg/ipa/pr109318.c: Same. + * gcc.dg/ipa/pr96040.c: Use size_t instead of unsigned long. + * gcc.dg/torture/pr113126.c: Use vectors of same dimension. + * gcc.dg/tree-ssa/builtin-sprintf-9.c: Requires double64. + * gcc.dg/spellcheck-inttypes.c [avr]: Avoid include of inttypes.h. + * gcc.dg/analyzer/torture/pr104159.c [avr]: Skip. + * gcc.dg/torture/pr84682-2.c [avr]: Skip. + * gcc.dg/wtr-conversion-1.c [avr]: Remove avr selector since + long double is a 64-bit type by now. + +2024-07-06 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/torture/fuse-add.c: New test. + +2024-07-06 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/array41.ads, gnat.dg/array41.adb: New test. + +2024-07-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.dg/ieee/signaling_2.f90: Adjust test. + * gfortran.dg/ieee/signaling_2_c.c: Adjust test. + +2024-07-05 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/115153 + * gcc.target/arm/pr115153.c: Add new test. + * lib/target-supports.exp: Add arm_arch_v7ve_neon target support. + +2024-07-05 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/test-types.c: Add array type comparison to the test. + +2024-07-05 Antoni Boucher <bouanto@zoho.com> + + PR jit/112574 + * jit.dg/all-non-failing-tests.h: New test test-bfloat16.c. + * jit.dg/test-types.c: Test GCC_JIT_TYPE_BFLOAT16. + * jit.dg/test-bfloat16.c: New test. + +2024-07-05 Robin Dapp <rdapp@ventanamicro.com> + + PR target/115725 + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Adjust + test expectation. + * 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. + +2024-07-05 Georg-Johann Lay <avr@gjlay.de> + + PR target/87376 + * gcc.target/avr/torture/pr87376.c: New test. + +2024-07-05 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/tbl_with_zero_1.c: New test. + * gcc.target/aarch64/tbl_with_zero_2.c: New test. + +2024-07-05 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/msa.c: Fix test7_v2f64, test7_v4f32 and + test43_v2i64. + +2024-07-05 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/call-clobbered-1.c: Add -mfpxx. + +2024-07-05 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/umips-save-restore-1.c: Be sure lwm/swm + are used for more callee-saved registers with addtional + 2 more function calls. + +2024-07-05 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-53.c: New testcase. + * gcc.dg/vect/slp-54.c: New testcase. + +2024-07-04 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_gil_plugin.c: Update all uses of + sm_context * to sm_context &. + +2024-07-04 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/115724 + * c-c++-common/analyzer/error-pr115724.c: New test. + +2024-07-04 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/rvv/base/vcreate.c: Update expected output. + +2024-07-04 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/115537 + * gcc.dg/vect/pr115537.c: Update flag from neoverse-n1 to neoverse-v1. + +2024-07-04 Tamar Christina <tamar.christina@arm.com> + + PR c++/115623 + * g++.dg/vect/vect-novector-pragma_2.cc: New test. + +2024-07-04 Siarhei Volkau <lis8215@gmail.com> + + * gcc.target/arm/thumb1-load-store-64bit.c: Add new test. + +2024-07-04 Alfie Richards <alfie.richards@arm.com> + + PR target/114890 + * gcc.target/aarch64/vector_intrinsics_asm.c: Remove xfail. + +2024-07-04 Alfie Richards <alfie.richards@arm.com> + + * gcc.target/aarch64/vector_intrinsics_asm.c: New test. + +2024-07-04 Richard Biener <rguenther@suse.de> + + PR middle-end/115426 + * gcc.dg/pr115426.c: New testcase. + +2024-07-04 liuhongt <hongtao.liu@intel.com> + + PR target/115748 + * gcc.target/i386/avx512-check.h: Use __builtin_cpu_support + instead of __get_cpuid_count. + +2024-07-04 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/xchg-4.c: New test case. + +2024-07-04 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/apx-ppx-2.c: New test. + * gcc.target/i386/apx-ppx-3.c: Likewise. + +2024-07-04 Jason Merrill <jason@redhat.com> + + * g++.dg/warn/pr61945.C: Adjust diagnostic. + +2024-07-04 Hu, Lin1 <lin1.hu@intel.com> + + PR tree-optimization/115753 + * gcc.dg/vect/pr115753-1.c: New test. + * gcc.dg/vect/pr115753-2.c: Ditto. + * gcc.dg/vect/pr115753-3.c: Ditto. + +2024-07-03 Harald Anlauf <anlauf@gmx.de> + + PR fortran/115700 + * gfortran.dg/associate_69.f90: New test. + +2024-07-03 Gianluca Guida <gianluca@rivosinc.com> + Patrick O'Neill <patrick@rivosinc.com> + + * lib/target-supports.exp: Add zabha testsuite infra support. + * gcc.target/riscv/amo/inline-atomics-1.c: Remove zabha to continue to + test the lr/sc subword patterns. + * gcc.target/riscv/amo/inline-atomics-2.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acq-rel.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acquire.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-seq-cst.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acq-rel.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acquire.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-seq-cst.c: Ditto. + * gcc.target/riscv/amo/zabha-all-amo-ops-char-run.c: New test. + * gcc.target/riscv/amo/zabha-all-amo-ops-short-run.c: New test. + * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-char.c: New test. + * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-short.c: New test. + * gcc.target/riscv/amo/zabha-rvwmo-amo-add-char.c: New test. + * gcc.target/riscv/amo/zabha-rvwmo-amo-add-short.c: New test. + * gcc.target/riscv/amo/zabha-ztso-amo-add-char.c: New test. + * gcc.target/riscv/amo/zabha-ztso-amo-add-short.c: New test. + +2024-07-03 Luis Silva <Luis.Silva1@synopsys.com> + + * gcc.target/arc/pr9001184797.c: Fix compiler warnings. + +2024-07-03 Pan Li <pan2.li@intel.com> + + PR target/115763 + * gcc.target/riscv/rvv/base/scalar_move-5.c: Adjust asm check. + * gcc.target/riscv/rvv/base/scalar_move-6.c: Ditto. + * gcc.target/riscv/rvv/base/scalar_move-7.c: Ditto. + * gcc.target/riscv/rvv/base/scalar_move-8.c: Ditto. + * gcc.target/riscv/rvv/base/pr115763-1.c: New test. + * gcc.target/riscv/rvv/base/pr115763-2.c: New test. + +2024-07-03 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.dg/tree-ssa/sqrt_div.c: New test. + +2024-07-03 Alexandre Oliva <oliva@adacore.com> + + * gnat.dg/bias1.adb: Count occurrences of -7.*DW_AT_GNU_bias. + +2024-07-03 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/115475 + * gcc.target/aarch64/acle/bf16_sve_feature.c: New test. + +2024-07-03 Kyrylo Tkachov <ktkachov@nvidia.com> + + PR target/115457 + * gcc.target/aarch64/acle/bf16_feature.c: New test. + +2024-07-03 Georg-Johann Lay <avr@gjlay.de> + + PR target/98762 + * gcc.target/avr/torture/pr98762.c: New test. + +2024-07-03 liuhongt <hongtao.liu@intel.com> + + PR target/115748 + * gcc.target/i386/avx512-check.h: Move runtime check into a + separate function and guard it with target ("no-avx"). + +2024-07-03 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: + Update vssubu check from vv to vx. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: + Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: + Ditto. + +2024-07-03 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115764 + * gcc.dg/vect/bb-slp-76.c: New testcase. + +2024-07-03 Lewis Hyatt <lhyatt@gmail.com> + + PR pch/115312 + * g++.dg/pch/pr115312.C: New test. + * g++.dg/pch/pr115312.Hs: New test. + +2024-07-02 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113859 + * gcc.target/aarch64/popcnt-udot.c: New test. + * gcc.target/aarch64/popcnt-vec.c: New test. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/110473 + PR tree-optimization/107432 + * gcc.target/aarch64/vect-convert-1.c: New test. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/pow-sqrt-synth-1.c: Update testcase for renamed pass. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/tree-ssa/cabs-3.c: New test. + * gcc.dg/tree-ssa/cabs-4.c: New test. + * gcc.dg/tree-ssa/cabs-5.c: New test. + * gcc.dg/tree-ssa/cabs-6.c: New test. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115710 + * gcc.dg/tree-ssa/cabs-1.c: New test. + * gcc.dg/tree-ssa/cabs-2.c: New test. + * gfortran.dg/vect/pr115710.f90: New test. + +2024-07-02 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/tree-ssa/complex-8.c: New test. + +2024-07-02 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/115754 + * g++.dg/cpp26/pr115754.C: New test. + +2024-07-02 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/115747 + * g++.dg/init/delete1.C: Adjust expected diagnostics for C++26. + * g++.dg/warn/Wdelete-incomplete-1.C: Likewise. + * g++.dg/warn/incomplete1.C: Likewise. + * g++.dg/ipa/pr85607.C: Likewise. + * g++.dg/cpp26/delete1.C: New test. + * g++.dg/cpp26/delete2.C: New test. + * g++.dg/cpp26/delete3.C: New test. + +2024-07-02 Jakub Jelinek <jakub@redhat.com> + + PR c++/115745 + * g++.dg/cpp1z/decomp16.C: Adjust expected diagnostics. + * g++.dg/cpp26/decomp3.C: New test. + * g++.dg/cpp26/decomp4.C: New test. + * g++.dg/cpp26/decomp5.C: New test. + * g++.dg/cpp26/decomp6.C: New test. + * g++.dg/cpp26/decomp7.C: New test. + * g++.dg/cpp26/decomp8.C: New test. + * g++.dg/cpp26/decomp9.C: New test. + * g++.dg/cpp26/decomp10.C: New test. + +2024-07-02 David Faust <david.faust@oracle.com> + Cupertino Miranda <cupertino.miranda@oracle.com> + + * gcc.dg/debug/btf/btf-variables-5.c: Adjust one test for bpf-*-* + target. + +2024-07-02 David Faust <david.faust@oracle.com> + + * gcc.dg/debug/btf/btf-prune-1.c: New test. + * gcc.dg/debug/btf/btf-prune-2.c: Likewise. + * gcc.dg/debug/btf/btf-prune-3.c: Likewise. + * gcc.dg/debug/btf/btf-prune-maps.c: Likewise. + +2024-07-02 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/115188 + * gcc.target/arm/pr115188.c: Add new test. + +2024-07-02 Simon Martin <simon@nasilyan.com> + + PR c++/111160 + * g++.dg/overload/error8.C: New test. + * g++.dg/overload/volatile2.C: New test. + +2024-07-02 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/apx-ndd.c: Add test for imul ndd. + +2024-07-02 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/explicit-relocs-extreme-tls-desc.c: + Add compilation options '-fno-late-combine-instructions'. + * gcc.target/loongarch/explicit-relocs-tls-desc.c: Likewise. + +2024-07-01 Marek Polacek <polacek@redhat.com> + + PR c++/115469 + * g++.dg/ext/label17.C: New test. + +2024-07-01 Marek Polacek <polacek@redhat.com> + + * g++.dg/cpp2a/spaceship-narrowing1.C: Use __INT64_TYPE__. + +2024-07-01 Marek Polacek <polacek@redhat.com> + + PR c++/115430 + * g++.dg/cpp0x/noexcept41.C: Remove dg-error. + * g++.dg/overload/addr3.C: New test. + +2024-07-01 Marek Polacek <polacek@redhat.com> + + DR 2627 + PR c++/94058 + PR c++/104392 + * g++.dg/DRs/dr2627.C: New test. + * g++.dg/cpp0x/Wnarrowing22.C: New test. + * g++.dg/cpp2a/spaceship-narrowing1.C: New test. + * g++.dg/cpp2a/spaceship-narrowing2.C: New test. + +2024-07-01 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper test macro. + * gcc.target/riscv/sat_u_add_imm-13.c: New test. + * gcc.target/riscv/sat_u_add_imm-14.c: New test. + * gcc.target/riscv/sat_u_add_imm-15.c: New test. + * gcc.target/riscv/sat_u_add_imm-16.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-13.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-14.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-15.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-16.c: New test. + +2024-07-01 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper test macro. + * gcc.target/riscv/sat_u_add_imm-10.c: New test. + * gcc.target/riscv/sat_u_add_imm-11.c: New test. + * gcc.target/riscv/sat_u_add_imm-12.c: New test. + * gcc.target/riscv/sat_u_add_imm-9.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-10.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-11.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-12.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-9.c: New test. + +2024-07-01 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper test macro. + * gcc.target/riscv/sat_u_add_imm-5.c: New test. + * gcc.target/riscv/sat_u_add_imm-6.c: New test. + * gcc.target/riscv/sat_u_add_imm-7.c: New test. + * gcc.target/riscv/sat_u_add_imm-8.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-5.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-6.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-7.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-8.c: New test. + +2024-07-01 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper test macro. + * gcc.target/riscv/sat_u_add_imm-1.c: New test. + * gcc.target/riscv/sat_u_add_imm-2.c: New test. + * gcc.target/riscv/sat_u_add_imm-3.c: New test. + * gcc.target/riscv/sat_u_add_imm-4.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-1.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-2.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-3.c: New test. + * gcc.target/riscv/sat_u_add_imm-run-4.c: New test. + +2024-07-01 Roger Sayle <roger@nextmovesoftware.com> + + PR middle-end/102464 + * gcc.target/i386/pr102464-vrndscaleph.c: Define __NO_MATH_INLINES + to resovle FAILs with -m32 on older RedHat systems. + +2024-07-01 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/lea-3.c: New test case. + +2024-07-01 Georg-Johann Lay <avr@gjlay.de> + + PR target/88236 + PR target/115726 + * gcc.target/avr/torture/pr88236-pr115726.c: New test. + +2024-07-01 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + * gcc.dg/analyzer/pr109577.c: Use __SIZE_TYPE__ instead of "unsigned long". + * gcc.dg/analyzer/pr93032-mztools-signed-char.c: Requires int32plus. + * gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Requires int32plus. + * gcc.dg/analyzer/putenv-1.c: Skip on avr. + * gcc.dg/torture/type-generic-1.c: Skip on avr. + +2024-07-01 Andrew Stubbs <ams@baylibre.com> + Thomas Schwinge <thomas@codesourcery.com> + + * gfortran.dg/gomp/allocate-pinned-1.f90: New test. + +2024-07-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115723 + * gcc.dg/vect/pr115723.c: New testcase. + +2024-07-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115694 + * g++.dg/torture/pr115694.C: New testcase. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr111023-2.c: Adjust testcase. + * gcc.target/i386/vect-div-1.c: Ditto. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115517 + * g++.target/i386/pr100637-1b.C: Add xfail and -mno-sse4.1. + * g++.target/i386/pr100637-1w.C: Ditto. + * g++.target/i386/pr103861-1.C: Ditto. + * gcc.target/i386/pr88540.c: Ditto. + * gcc.target/i386/pr103941-2.c: Add -mno-avx512f. + * g++.target/i386/sse4_1-pr100637-1b.C: New test. + * g++.target/i386/sse4_1-pr100637-1w.C: New test. + * g++.target/i386/sse4_1-pr103861-1.C: New test. + * gcc.target/i386/sse4_1-pr88540.c: New test. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Adjus + testcase. + * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Ditto. + * gcc.target/i386/avx512f-fmadd-sf-zmm-7.c: Ditto. + * gcc.target/i386/avx512f-fmsub-sf-zmm-7.c: Ditto. + * gcc.target/i386/avx512f-fnmadd-sf-zmm-7.c: Ditto. + * gcc.target/i386/avx512f-fnmsub-sf-zmm-7.c: Ditto. + * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Ditto. + * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Ditto. + * gcc.target/i386/pr91333.c: Ditto. + * gcc.target/i386/vect-strided-4.c: Ditto. + +2024-07-01 liuhongt <hongtao.liu@intel.com> + + PR target/115610 + * gcc.target/i386/avx512bitalg-vpopcntb.c: Define mask as + extern instead of uninitialized local variables. + * gcc.target/i386/avx512bitalg-vpopcntbvl.c: Ditto. + * gcc.target/i386/avx512bitalg-vpopcntw.c: Ditto. + * gcc.target/i386/avx512bitalg-vpopcntwvl.c: Ditto. + * gcc.target/i386/avx512vpopcntdq-vpopcntd.c: Ditto. + * gcc.target/i386/avx512vpopcntdq-vpopcntq.c: Ditto. + +2024-06-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115701 + * gcc.dg/torture/pr115701.c: New testcase. + +2024-06-30 Feng Xue <fxue@os.amperecomputing.com> + + * gcc.dg/vect/vect-shift-6.c + * gcc.dg/vect/vect-shift-7.c + +2024-06-29 Sergei Lewis <slewis@rivosinc.com> + + PR target/112109 + * gcc.target/riscv/rvv/base/movmem-1.c: New test + +2024-06-29 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114019 + * gfortran.dg/allocate_with_source_33.f90: New test. + +2024-06-28 Patrick Palka <ppalka@redhat.com> + + PR c++/106760 + * g++.dg/ext/conv3.C: New test. + +2024-06-28 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/unlimited_polymorphic_11.f90: Remove unnecessary + casts in gd-final expression. + +2024-06-28 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/concatditi-1.c: New test case. + +2024-06-28 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/avx512f-andn-di-zmm-2.c: Match decimal instead + of hexadecimal immediate operand to ternlog. + * gcc.target/i386/avx512f-andn-si-zmm-2.c: Likewise. + * gcc.target/i386/avx512f-orn-si-zmm-1.c: Likewise. + * gcc.target/i386/avx512f-orn-si-zmm-2.c: Likewise. + * gcc.target/i386/pr100711-3.c: Likewise. + * gcc.target/i386/pr100711-4.c: Likewise. + * gcc.target/i386/pr100711-5.c: Likewise. + +2024-06-27 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: New test. + * jit.dg/test-alignof.c: New test. + +2024-06-27 Martin Uecker <uecker@tugraz.at> + + * gcc.dg/c99-arraydecl-4.c: New test. + +2024-06-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115669 + * gcc.dg/vect/pr115669.c: New testcase. + +2024-06-27 Hu, Lin1 <lin1.hu@intel.com> + + PR target/107432 + * gcc.target/i386/pr107432-8.c: New test. + * gcc.target/i386/pr107432-9.c: Ditto. + * gcc.target/i386/pr92645-4.c: Modify test. + +2024-06-27 Hu, Lin1 <lin1.hu@intel.com> + + PR target/107432 + * gcc.target/i386/pr107432-1.c: Modify test. + * gcc.target/i386/pr107432-6.c: Add test. + * gcc.target/i386/pr108938-3.c: This patch supports + truncv4hiv4qi affect bswap optimization, so I added + the -mno-avx option for now, and open a bugzilla. + +2024-06-27 Hu, Lin1 <lin1.hu@intel.com> + + PR target/107432 + * gcc.target/i386/pr107432-1.c: New test. + * gcc.target/i386/pr107432-2.c: Ditto. + * gcc.target/i386/pr107432-3.c: Ditto. + * gcc.target/i386/pr107432-4.c: Ditto. + * gcc.target/i386/pr107432-5.c: Ditto. + * gcc.target/i386/pr107432-6.c: Ditto. + * gcc.target/i386/pr107432-7.c: Ditto. + +2024-06-27 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + test macros. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary_scalar.h: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub_trunc-run-3.c: New test. + +2024-06-27 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/bstrins-3.c: New test. + +2024-06-27 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr115462.c: New test. + +2024-06-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115629 + * gcc.dg/tree-ssa/tail-merge-1.c: New testcase. + +2024-06-26 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo/a-rvwmo-fence.c: Replace A.6 reference with PSABI. + * gcc.target/riscv/amo/a-rvwmo-load-acquire.c: Ditto. + * gcc.target/riscv/amo/a-rvwmo-load-relaxed.c: Ditto. + * gcc.target/riscv/amo/a-rvwmo-load-seq-cst.c: Ditto. + * gcc.target/riscv/amo/a-rvwmo-store-compat-seq-cst.c: Ditto. + * gcc.target/riscv/amo/a-rvwmo-store-relaxed.c: Ditto. + * gcc.target/riscv/amo/a-rvwmo-store-release.c: Ditto. + * gcc.target/riscv/amo/a-ztso-fence.c: Ditto. + * gcc.target/riscv/amo/a-ztso-load-acquire.c: Ditto. + * gcc.target/riscv/amo/a-ztso-load-relaxed.c: Ditto. + * gcc.target/riscv/amo/a-ztso-load-seq-cst.c: Ditto. + * gcc.target/riscv/amo/a-ztso-store-compat-seq-cst.c: Ditto. + * gcc.target/riscv/amo/a-ztso-store-relaxed.c: Ditto. + * gcc.target/riscv/amo/a-ztso-store-release.c: Ditto. + * gcc.target/riscv/amo/zaamo-rvwmo-amo-add-int.c: Ditto. + * gcc.target/riscv/amo/zaamo-ztso-amo-add-int.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acq-rel.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acquire.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-seq-cst.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acq-rel.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acquire.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-relaxed.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-release.c: Ditto. + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-seq-cst.c: Ditto. + +2024-06-26 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-fence-1.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-fence-2.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-fence-3.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-fence-4.c: Removed. + * gcc.target/riscv/amo/amo-table-a-6-fence-5.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-1.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-2.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-3.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-4.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-5.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-fence-1.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-fence-2.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-fence-3.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-fence-4.c: Removed. + * gcc.target/riscv/amo/amo-table-ztso-fence-5.c: Removed. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: Removed. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: Removed. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: Removed. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: Removed. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: Removed. + * gcc.target/riscv/amo/a-rvwmo-fence.c: New test. + * gcc.target/riscv/amo/a-ztso-fence.c: New test. + * gcc.target/riscv/amo/zaamo-rvwmo-amo-add-int.c: New test. + * gcc.target/riscv/amo/zaamo-ztso-amo-add-int.c: New test. + * gcc.target/riscv/amo/zalrsc-rvwmo-amo-add-int.c: New test. + * gcc.target/riscv/amo/zalrsc-ztso-amo-add-int.c: New test. + +2024-06-26 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Move to... + * gcc.target/riscv/amo/a-rvwmo-load-acquire.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Move to... + * gcc.target/riscv/amo/a-rvwmo-load-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Move to... + * gcc.target/riscv/amo/a-rvwmo-load-seq-cst.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Move to... + * gcc.target/riscv/amo/a-rvwmo-store-compat-seq-cst.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Move to... + * gcc.target/riscv/amo/a-rvwmo-store-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Move to... + * gcc.target/riscv/amo/a-rvwmo-store-release.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-load-2.c: Move to... + * gcc.target/riscv/amo/a-ztso-load-acquire.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-load-1.c: Move to... + * gcc.target/riscv/amo/a-ztso-load-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-load-3.c: Move to... + * gcc.target/riscv/amo/a-ztso-load-seq-cst.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-store-3.c: Move to... + * gcc.target/riscv/amo/a-ztso-store-compat-seq-cst.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-store-1.c: Move to... + * gcc.target/riscv/amo/a-ztso-store-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-store-2.c: Move to... + * gcc.target/riscv/amo/a-ztso-store-release.c: ...here. + * gcc.target/riscv/amo/amo-zaamo-preferred-over-zalrsc.c: Move to... + * gcc.target/riscv/amo/zaamo-preferred-over-zalrsc.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acq-rel.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-acquire.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-release.c: ...here. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: Move to... + * gcc.target/riscv/amo/zalrsc-rvwmo-subword-amo-add-char-seq-cst.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-6.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-3.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-2.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-1.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-4.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-7.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-5.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-4.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acq-rel.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-2.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-acquire.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-1.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-relaxed.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-3.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-release.c: ...here. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-5.c: Move to... + * gcc.target/riscv/amo/zalrsc-ztso-subword-amo-add-char-seq-cst.c: ...here. + +2024-06-26 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/altivec-1-runnable.c: Change the name to + altivec-38.c. + * gcc.target/powerpc/altivec-2-runnable.c: Change the name to + p8vector-builtin-9.c. + * gcc.target/powerpc/altivec-38.c: New file. + * gcc.target/powerpc/p8vector-builtin-9.c: New file. + +2024-06-26 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/altivec-2-runnable.c: Change the + require-effective-target for the test. + +2024-06-26 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/altivec-1-runnable.c: Change the + require-effective-target for the test. + +2024-06-26 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/sh/pr54602-1.c: Delete test. + +2024-06-26 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/xtheadmempair-3.c: Update expected output. + +2024-06-26 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/arm/mve/ivopts-3.c: New test. + +2024-06-26 Kewen Lin <linkw@linux.ibm.com> + Xionghu Luo <xionghuluo@tencent.com> + + PR target/106069 + PR target/115355 + * gcc.target/powerpc/pr106069-2.c: New test. + +2024-06-26 Kewen Lin <linkw@linux.ibm.com> + Xionghu Luo <xionghuluo@tencent.com> + + PR target/106069 + PR target/115355 + * gcc.target/powerpc/pr106069-1.c: New test. + +2024-06-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115646 + * gcc.dg/pr115646.c: New testcase. + +2024-06-26 Alexandre Oliva <oliva@adacore.com> + Richard Earnshaw <Richard.Earnshaw@arm.com> + + PR tree-optimization/113281 + * gcc.target/arm/simd/mve-vshr.c: Add expected ranges. + +2024-06-26 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx2-pr115517.c: New test. + * gcc.target/i386/avx512-pr115517.c: New test. + * g++.target/i386/avx2-pr115517.C: New test. + * g++.target/i386/avx512-pr115517.C: New test. + * g++.dg/tree-ssa/pr88152-1.C: Adjust testcase. + +2024-06-26 David Malcolm <dmalcolm@redhat.com> + + PR testsuite/109360 + * lib/scansarif.exp (verify-sarif-file): Use check-jsonschema + rather than jsonschema, updating the invocation accordingly. + * lib/target-supports.exp (check_effective_target_jsonschema): Convert + to... + (check_effective_target_check_jsonschema): ...this. + +2024-06-26 Patrick Palka <ppalka@redhat.com> + + PR c++/115504 + * g++.dg/cpp1y/decltype-auto8.C: New test. + +2024-06-25 Marek Polacek <polacek@redhat.com> + + PR c++/115476 + * g++.dg/cpp1z/has-unique-obj-representations4.C: New test. + +2024-06-25 Sergei Lewis <slewis@rivosinc.com> + + * gcc.target/riscv/rvv/base/cmpmem-1.c: New codegen tests + * gcc.target/riscv/rvv/base/cmpmem-2.c: New execution tests + * gcc.target/riscv/rvv/base/cmpmem-3.c: New codegen tests + * gcc.target/riscv/rvv/base/cmpmem-4.c: New codegen tests + * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: Turn off vector mem* and + str* handling. + +2024-06-25 Marek Polacek <polacek@redhat.com> + + PR c++/115425 + * g++.dg/cpp2a/lambda-generic12.C: New test. + +2024-06-25 Marek Polacek <polacek@redhat.com> + + PR c++/115501 + * g++.dg/rtti/dyncast8.C: New test. + +2024-06-25 Surya Kumari Jangala <jskumari@linux.ibm.com> + + PR rtl-optimization/111673 + * gcc.target/powerpc/pr111673.c: New test. + +2024-06-25 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115536 + * gm2/iso/const/pass/constbool4.mod: New test. + * gm2/iso/const/pass/constbool5.mod: New test. + * gm2/iso/run/pass/condtest2.mod: New test. + * gm2/iso/run/pass/condtest3.mod: New test. + * gm2/iso/run/pass/condtest4.mod: New test. + * gm2/iso/run/pass/condtest5.mod: New test. + * gm2/iso/run/pass/constbool4.mod: New test. + +2024-06-25 Patrick Palka <ppalka@redhat.com> + + PR c++/115198 + * g++.dg/cpp2a/class-deduction-alias22.C: New test. + +2024-06-25 Patrick Palka <ppalka@redhat.com> + + PR c++/115358 + * g++.dg/template/array37.C: New test. + +2024-06-25 Jakub Jelinek <jakub@redhat.com> + Martin Uecker <uecker@tugraz.at> + + PR c/114930 + PR c/115502 + * gcc.dg/pr114574-1.c: Require lto effective target. + * gcc.dg/pr114574-2.c: Likewise. + * gcc.dg/pr114930.c: New test. + * gcc.dg/pr115502.c: New test. + +2024-06-25 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Adjust + expected test output after late-combine changes. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv64gcv.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv32gcv.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vrem-rv64gcv.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv-nofm.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv32gcv.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-rv64gcv.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-1.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-5.c: Likewise. + +2024-06-24 Sergei Lewis <slewis@rivosinc.com> + + * gcc.target/riscv/rvv/base/setmem-1.c: New tests + * gcc.target/riscv/rvv/base/setmem-2.c: New tests + * gcc.target/riscv/rvv/base/setmem-3.c: New tests + +2024-06-24 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: Add dg-remove-options + for ztso. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-fence-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-fence-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-fence-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-fence-4.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-fence-5.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: Replace manually + specified -march string with dg-add/remove-options directives. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: Ditto. + * lib/target-supports-dg.exp: Add dg-remove-options. + * lib/target-supports.exp: Add dg-remove-options and consolidate z* + extension add/remove-option code. + +2024-06-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/55978 + * gfortran.dg/optional_absent_12.f90: New test. + +2024-06-24 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR tree-optimization/113673 + * g++.dg/pr113673.C: New test case. + +2024-06-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115602 + * gcc.dg/vect/pr115602.c: New testcase. + +2024-06-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115528 + * gfortran.dg/vect/pr115528.f: New testcase. + +2024-06-24 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/106594 + * gcc.dg/ira-shrinkwrap-prep-1.c: Restrict XFAIL to non-aarch64 + targets. + * gcc.dg/ira-shrinkwrap-prep-2.c: Likewise. + * gcc.dg/stack-check-4.c: Add -fno-shrink-wrap. + * gcc.target/aarch64/bitfield-bitint-abi-align16.c: Add + -fno-late-combine-instructions. + * gcc.target/aarch64/bitfield-bitint-abi-align8.c: Likewise. + * gcc.target/aarch64/sve/cond_asrd_3.c: Remove XFAILs. + * gcc.target/aarch64/sve/cond_convert_3.c: Likewise. + * gcc.target/aarch64/sve/cond_fabd_5.c: Likewise. + * gcc.target/aarch64/sve/cond_convert_6.c: Expect the MOVPRFX /Zs + described in the comment. + * gcc.target/aarch64/sve/cond_unary_4.c: Likewise. + * gcc.target/aarch64/pr106594_1.c: New test. + +2024-06-24 Haochen Gui <guihaoc@gcc.gnu.org> + + PR target/113325 + * gcc.target/powerpc/pr113325.c: New. + +2024-06-23 Artemiy Volkov <Artemiy.Volkov@synopsys.com> + + * gcc.target/riscv/zicond-ice-5.c: New test. + +2024-06-23 Jeff Law <jlaw@ventanamicro.com> + + PR target/114139 + * gcc.target/riscv/pr114139.c: New test. + +2024-06-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115579 + * gcc.dg/pr115579.c: New testcase. + +2024-06-23 Craig Blackmore <craig.blackmore@embecosm.com> + + * gcc.target/riscv/mcpu-6.c: Skip for -O0, -O1, -Og. + * gcc.target/riscv/mcpu-7.c: Likewise. + +2024-06-23 demin.han <demin.han@starfivetech.com> + + * gcc.target/riscv/rvv/base/integer-cmp-eqne.c: New test. + +2024-06-22 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zbs-ext-2.c: Also skip for -Oz. + +2024-06-21 David Malcolm <dmalcolm@redhat.com> + + PR testsuite/109360 + * lib/sarif-schema-2.1.0.json: New file, downloaded from + https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/schemas/sarif-schema-2.1.0.json + Licensing information can be seen at + https://github.com/oasis-tcs/sarif-spec/issues/583 + which states "They are free to incorporate it into their + implementation. No need for special permission or paperwork from + OASIS." + * lib/scansarif.exp (verify-sarif-file): If "jsonschema" is + available, use it to verify that the .sarif file complies with the + SARIF schema. + * lib/target-supports.exp (check_effective_target_jsonschema): + New. + +2024-06-21 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/atomic10.adb: Adjust. + +2024-06-21 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/vect/pr68855.c: New test. + * gfortran.dg/vect/pr68855.f90: New test. + +2024-06-21 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/movcc-2.c: Add k?100:1000 test. + +2024-06-21 Kewen Lin <linkw@linux.ibm.com> + Xionghu Luo <xionghuluo@tencent.com> + + PR target/106069 + PR target/115355 + * g++.target/powerpc/pr106069.C: New test. + * gcc.target/powerpc/pr115355.c: New test. + +2024-06-20 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/apx-ccmp-2.c: Remove -mno-apxf in option. + * gcc.target/i386/funcspec-56.inc: Drop uintr tests. + * gcc.target/i386/funcspec-6.c: Add uintr tests. + +2024-06-20 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/59104 + * gfortran.dg/dependent_decls_2.f90: New test. + +2024-06-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114413 + * gcc.dg/vect/bb-slp-32.c: Expect CSE and vectorization on x86. + +2024-06-19 demin.han <demin.han@starfivetech.com> + + * gcc.target/riscv/rvv/base/float-point-cmp-eqne.c: New test. + +2024-06-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/115544 + * gcc.dg/bitint-107.c: New test. + +2024-06-19 mayshao <mayshao-oc@zhaoxin.com> + + * g++.target/i386/mv32.C: Handle new -march + * gcc.target/i386/funcspec-56.inc: Ditto. + +2024-06-19 Harald Anlauf <anlauf@gmx.de> + + PR fortran/115390 + * gfortran.dg/bind_c_char_11.f90: New test. + +2024-06-19 Andre Vieira <andre.simoesdiasvieira@arm.com> + Stam Markianos-Wright <stam.markianos-wright@arm.com> + + * gcc.target/arm/lob.h: Add new helpers. + * gcc.target/arm/lob1.c: Use new helpers. + * gcc.target/arm/lob6.c: Likewise. + * gcc.target/arm/mve/dlstp-compile-asm-1.c: New test. + * gcc.target/arm/mve/dlstp-compile-asm-2.c: New test. + * gcc.target/arm/mve/dlstp-compile-asm-3.c: New test. + * gcc.target/arm/mve/dlstp-int8x16.c: New test. + * gcc.target/arm/mve/dlstp-int8x16-run.c: New test. + * gcc.target/arm/mve/dlstp-int16x8.c: New test. + * gcc.target/arm/mve/dlstp-int16x8-run.c: New test. + * gcc.target/arm/mve/dlstp-int32x4.c: New test. + * gcc.target/arm/mve/dlstp-int32x4-run.c: New test. + * gcc.target/arm/mve/dlstp-int64x2.c: New test. + * gcc.target/arm/mve/dlstp-int64x2-run.c: New test. + * gcc.target/arm/mve/dlstp-invalid-asm.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-37.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-38.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-39.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-40.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-37.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-38.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-39.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-40.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-33.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-34.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-35.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-36.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-33.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-34.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-35.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-36.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-29.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-30.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-31.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-29.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-30.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-31.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-32.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-25.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-26.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-27.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-28.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-25.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-26.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-27.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-28.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-21.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-22.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-23.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-24.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-21.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-22.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-23.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-24.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-17.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-18.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-19.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-20.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-17.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-18.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-19.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-20.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-16.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add test macro. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-9.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-9.c: New test. + +2024-06-19 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/bb-slp-32.c: Add check for correctness. + +2024-06-19 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/90076 + * gfortran.dg/class_76.f90: Add declared vtab occurrence. + * gfortran.dg/class_78.f90: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + macro for testing. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-29.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-30.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-31.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-32.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-29.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-30.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-31.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-32.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + macro for testing. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-25.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-26.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-27.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-28.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-25.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-26.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-27.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-28.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + macro for testing. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-21.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-22.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-23.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-24.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-21.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-22.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-23.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-24.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + macro for testing. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-17.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-18.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-19.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-20.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-17.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-18.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-19.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-20.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + macro for testing. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-16.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-13.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-14.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-15.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-16.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + macro for testing. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-9.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-10.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-11.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-12.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-9.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: Add helper + macro for testing. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-8.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for + testing. + * gcc.target/riscv/sat_u_sub-45.c: New test. + * gcc.target/riscv/sat_u_sub-46.c: New test. + * gcc.target/riscv/sat_u_sub-47.c: New test. + * gcc.target/riscv/sat_u_sub-48.c: New test. + * gcc.target/riscv/sat_u_sub-run-45.c: New test. + * gcc.target/riscv/sat_u_sub-run-46.c: New test. + * gcc.target/riscv/sat_u_sub-run-47.c: New test. + * gcc.target/riscv/sat_u_sub-run-48.c: New test. + +2024-06-19 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper + macro for testing. + * gcc.target/riscv/sat_u_sub-41.c: New test. + * gcc.target/riscv/sat_u_sub-42.c: New test. + * gcc.target/riscv/sat_u_sub-43.c: New test. + * gcc.target/riscv/sat_u_sub-44.c: New test. + * gcc.target/riscv/sat_u_sub-run-41.c: New test. + * gcc.target/riscv/sat_u_sub-run-42.c: New test. + * gcc.target/riscv/sat_u_sub-run-43.c: New test. + * gcc.target/riscv/sat_u_sub-run-44.c: New test. + +2024-06-18 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zbs-ext-2.c: Do not run for -Os. + +2024-06-18 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Include + "simple-diagnostic-path.h". + +2024-06-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115537 + * gcc.dg/vect/pr115537.c: New testcase. + +2024-06-18 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zbs-ext-2.c: New file. + +2024-06-18 Richard Sandiford <richard.sandiford@arm.com> + + PR target/115464 + * gcc.target/aarch64/sve/acle/general/pr115464_2.c: New test. + +2024-06-18 Martin Uecker <uecker@tugraz.at> + + PR c/115109 + * gcc.dg/pr115109.c: New test. + * gcc.dg/c23-tag-enum-6.c: New test. + * gcc.dg/c23-tag-enum-7.c: New test. + +2024-06-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/111793 + * gcc.dg/vect/vect-simd-clone-21.c: New testcase. + +2024-06-18 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114842 + * c-c++-common/pr72747-1.c: Replace powerpc_altivec_ok with + powerpc_altivec, move dg-options and dg-additional-options lines + before dg-require-effective-target lines when it doesn't cause + any side effect like note message. + * c-c++-common/pr72747-2.c: Likewise. + * g++.dg/torture/pr79905.C: Likewise. + * g++.target/powerpc/altivec-1.C: Likewise. + * g++.target/powerpc/altivec-10.C: Likewise. + * g++.target/powerpc/altivec-11.C: Likewise. + * g++.target/powerpc/altivec-12.C: Likewise. + * g++.target/powerpc/altivec-13.C: Likewise. + * g++.target/powerpc/altivec-14.C: Likewise. + * g++.target/powerpc/altivec-15.C: Likewise. + * g++.target/powerpc/altivec-16.C: Likewise. + * g++.target/powerpc/altivec-17.C: Likewise. + * g++.target/powerpc/altivec-18.C: Likewise. + * g++.target/powerpc/altivec-2.C: Likewise. + * g++.target/powerpc/altivec-4.C: Likewise. + * g++.target/powerpc/altivec-5.C: Likewise. + * g++.target/powerpc/altivec-6.C: Likewise. + * g++.target/powerpc/altivec-7.C: Likewise. + * g++.target/powerpc/altivec-8.C: Likewise. + * g++.target/powerpc/altivec-9.C: Likewise. + * g++.target/powerpc/altivec-cell-1.C: Likewise. + * g++.target/powerpc/altivec-cell-5.C: Likewise. + * g++.target/powerpc/altivec-types-1.C: Likewise. + * g++.target/powerpc/altivec-types-2.C: Likewise. + * g++.target/powerpc/altivec-types-3.C: Likewise. + * g++.target/powerpc/altivec-types-4.C: Likewise. + * gcc.target/powerpc/altivec-1-runnable.c: Likewise. + * gcc.target/powerpc/altivec-11.c: Likewise. + * gcc.target/powerpc/altivec-13.c: Likewise. + * gcc.target/powerpc/altivec-14.c: Likewise. + * gcc.target/powerpc/altivec-15.c: Likewise. + * gcc.target/powerpc/altivec-16.c: Likewise. + * gcc.target/powerpc/altivec-17.c: Likewise. + * gcc.target/powerpc/altivec-18.c: Likewise. + * gcc.target/powerpc/altivec-19.c: Likewise. + * gcc.target/powerpc/altivec-2.c: Likewise. + * gcc.target/powerpc/altivec-21.c: Likewise. + * gcc.target/powerpc/altivec-22.c: Likewise. + * gcc.target/powerpc/altivec-23.c: Likewise. + * gcc.target/powerpc/altivec-25.c: Likewise. + * gcc.target/powerpc/altivec-26.c: Likewise. + * gcc.target/powerpc/altivec-27.c: Likewise. + * gcc.target/powerpc/altivec-28.c: Likewise. + * gcc.target/powerpc/altivec-29.c: Likewise. + * gcc.target/powerpc/altivec-30.c: Likewise. + * gcc.target/powerpc/altivec-31.c: Likewise. + * gcc.target/powerpc/altivec-32.c: Likewise. + * gcc.target/powerpc/altivec-33.c: Likewise. + * gcc.target/powerpc/altivec-34.c: Likewise. + * gcc.target/powerpc/altivec-35.c: Likewise. + * gcc.target/powerpc/altivec-36.c: Likewise. + * gcc.target/powerpc/altivec-4.c: Likewise. + * gcc.target/powerpc/altivec-5.c: Likewise. + * gcc.target/powerpc/altivec-6.c: Likewise. + * gcc.target/powerpc/altivec-7.c: Likewise. + * gcc.target/powerpc/altivec-8.c: Likewise. + * gcc.target/powerpc/altivec-9.c: Likewise. + * gcc.target/powerpc/altivec-cell-1.c: Likewise. + * gcc.target/powerpc/altivec-cell-5.c: Likewise. + * gcc.target/powerpc/altivec-cell-6.c: Likewise. + * gcc.target/powerpc/altivec-cell-7.c: Likewise. + * gcc.target/powerpc/altivec-perm-1.c: Likewise. + * gcc.target/powerpc/altivec-perm-2.c: Likewise. + * gcc.target/powerpc/altivec-perm-3.c: Likewise. + * gcc.target/powerpc/altivec-perm-4.c: Likewise. + * gcc.target/powerpc/altivec-pr22085.c: Likewise. + * gcc.target/powerpc/altivec-splat.c: Likewise. + * gcc.target/powerpc/altivec-types-1.c: Likewise. + * gcc.target/powerpc/altivec-types-2.c: Likewise. + * gcc.target/powerpc/altivec-types-3.c: Likewise. + * gcc.target/powerpc/altivec-types-4.c: Likewise. + * gcc.target/powerpc/altivec-volatile.c: Likewise. + * gcc.target/powerpc/altivec_vld_vst_addr-1.c: Likewise. + * gcc.target/powerpc/bool2-av.c: Likewise. + * gcc.target/powerpc/bool2-p5.c: Likewise. + * gcc.target/powerpc/bool3-av.c: Likewise. + * gcc.target/powerpc/builtin-vec-sums-be-int.c: Likewise. + * gcc.target/powerpc/builtins-3.c: Likewise. + * gcc.target/powerpc/cell_builtin-3.c: Likewise. + * gcc.target/powerpc/cell_builtin-5.c: Likewise. + * gcc.target/powerpc/cell_builtin-6.c: Likewise. + * gcc.target/powerpc/cell_builtin-7.c: Likewise. + * gcc.target/powerpc/cell_builtin-8.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-char-fwrapv.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-char.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int-fwrapv.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int-fwrapv.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int-fwrapv.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-short-fwrapv.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-short.c: Likewise. + * gcc.target/powerpc/fold-vec-add-1.c: Likewise. + * gcc.target/powerpc/fold-vec-add-2.c: Likewise. + * gcc.target/powerpc/fold-vec-add-3.c: Likewise. + * gcc.target/powerpc/fold-vec-add-5.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-double.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-ld-char.c: Likewise. + * gcc.target/powerpc/fold-vec-ld-float.c: Likewise. + * gcc.target/powerpc/fold-vec-ld-int.c: Likewise. + * gcc.target/powerpc/fold-vec-ld-short.c: Likewise. + * gcc.target/powerpc/fold-vec-madd-short.c: Likewise. + * gcc.target/powerpc/fold-vec-mergehl-char.c: Likewise. + * gcc.target/powerpc/fold-vec-mergehl-float.c: Likewise. + * gcc.target/powerpc/fold-vec-mergehl-int.c: Likewise. + * gcc.target/powerpc/fold-vec-mergehl-short.c: Likewise. + * gcc.target/powerpc/fold-vec-minmax-char.c: Likewise. + * gcc.target/powerpc/fold-vec-minmax-int.c: Likewise. + * gcc.target/powerpc/fold-vec-minmax-short.c: Likewise. + * gcc.target/powerpc/fold-vec-missing-lhs.c: Likewise. + * gcc.target/powerpc/fold-vec-msum-char.c: Likewise. + * gcc.target/powerpc/fold-vec-msum-short.c: Likewise. + * gcc.target/powerpc/fold-vec-mule-char.c: Likewise. + * gcc.target/powerpc/fold-vec-mule-short.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-char.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-short.c: Likewise. + * gcc.target/powerpc/fold-vec-pack-int.c: Likewise. + * gcc.target/powerpc/fold-vec-pack-short.c: Likewise. + * gcc.target/powerpc/fold-vec-perm-char.c: Likewise. + * gcc.target/powerpc/fold-vec-perm-float.c: Likewise. + * gcc.target/powerpc/fold-vec-perm-int.c: Likewise. + * gcc.target/powerpc/fold-vec-perm-pixel.c: Likewise. + * gcc.target/powerpc/fold-vec-perm-short.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-char.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-int.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-left-fwrapv.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-left.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-short.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-32.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-8.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-char.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-int.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-short.c: Likewise. + * gcc.target/powerpc/fold-vec-splats-char.c: Likewise. + * gcc.target/powerpc/fold-vec-splats-int.c: Likewise. + * gcc.target/powerpc/fold-vec-splats-short.c: Likewise. + * gcc.target/powerpc/fold-vec-st-char.c: Likewise. + * gcc.target/powerpc/fold-vec-st-float.c: Likewise. + * gcc.target/powerpc/fold-vec-st-int.c: Likewise. + * gcc.target/powerpc/fold-vec-st-short.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-char.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-float.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-int.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-short.c: Likewise. + * gcc.target/powerpc/fold-vec-sums-int.c: Likewise. + * gcc.target/powerpc/fold-vec-unpack-char.c: Likewise. + * gcc.target/powerpc/fold-vec-unpack-pixel.c: Likewise. + * gcc.target/powerpc/fold-vec-unpack-short.c: Likewise. + * gcc.target/powerpc/ppc-fma-3.c: Likewise. + * gcc.target/powerpc/ppc-fma-4.c: Likewise. + * gcc.target/powerpc/ppc-fma-7.c: Likewise. + * gcc.target/powerpc/ppc-vector-memcpy.c: Likewise. + * gcc.target/powerpc/ppc-vector-memset.c: Likewise. + * gcc.target/powerpc/pr100645.c: Likewise. + * gcc.target/powerpc/pr101384-1.c: Likewise. + * gcc.target/powerpc/pr101384-2.c: Likewise. + * gcc.target/powerpc/pr103353.c: Likewise. + * gcc.target/powerpc/pr103702.c: Likewise. + * gcc.target/powerpc/pr108348-1.c: Likewise. + * gcc.target/powerpc/pr108348-2.c: Likewise. + * gcc.target/powerpc/pr109932-1.c: Likewise. + * gcc.target/powerpc/pr109932-2.c: Likewise. + * gcc.target/powerpc/pr110776.c: Likewise. + * gcc.target/powerpc/pr16155.c: Likewise. + * gcc.target/powerpc/pr16286.c: Likewise. + * gcc.target/powerpc/pr27158.c: Likewise. + * gcc.target/powerpc/pr37168.c: Likewise. + * gcc.target/powerpc/pr47197.c: Likewise. + * gcc.target/powerpc/pr67071-1.c: Likewise. + * gcc.target/powerpc/pr67071-2.c: Likewise. + * gcc.target/powerpc/pr67071-3.c: Likewise. + * gcc.target/powerpc/pr70010-2.c: Likewise. + * gcc.target/powerpc/pr70010-3.c: Likewise. + * gcc.target/powerpc/pr71297.c: Likewise. + * gcc.target/powerpc/pr82112.c: Likewise. + * gcc.target/powerpc/pr84220-sld.c: Likewise. + * gcc.target/powerpc/pr84878.c: Likewise. + * gcc.target/powerpc/pr86731-fwrapv.c: Likewise. + * gcc.target/powerpc/pr86731.c: Likewise. + * gcc.target/powerpc/pr88100.c: Likewise. + * gcc.target/powerpc/pragma_power6.c: Likewise. + * gcc.target/powerpc/pragma_power7.c: Likewise. + * gcc.target/powerpc/pragma_power9.c: Likewise. + * gcc.target/powerpc/swaps-p8-21.c: Likewise. + * gcc.target/powerpc/unpack-vectorize-1.c: Likewise. + * gcc.target/powerpc/vec-cg.c: Likewise. + * gcc.target/powerpc/vec-cmpne.c: Likewise. + * gcc.target/powerpc/vec-constvolatile.c: Likewise. + * gcc.target/powerpc/vec-mult-char-2.c: Likewise. + * gcc.target/powerpc/vec-rotate-1.c: Likewise. + * gcc.target/powerpc/vec-rotate-3.c: Likewise. + * gcc.target/powerpc/vec-shift.c: Likewise. + * g++.target/powerpc/altivec-3.C: Likewise. + * g++.target/powerpc/altivec-cell-2.C: Likewise. + * g++.target/powerpc/altivec-cell-3.C: Likewise. + * g++.target/powerpc/altivec-cell-4.C: Likewise. + * g++.target/powerpc/const2.C: Likewise. + * gcc.dg/debug/dwarf2/const-2.c: Likewise. + * gcc.dg/dfp/altivec-types.c: Likewise. + * gcc.dg/ubsan/pr88234.c: Likewise. + * gcc.dg/vect/vect-82_64.c: Likewise. + * gcc.dg/vect/vect-83_64.c: Likewise. + * gcc.target/powerpc/altivec-1.c: Likewise. + * gcc.target/powerpc/altivec-10.c: Likewise. + * gcc.target/powerpc/altivec-12.c: Likewise. + * gcc.target/powerpc/altivec-20.c: Likewise. + * gcc.target/powerpc/altivec-24.c: Likewise. + * gcc.target/powerpc/altivec-3.c: Likewise. + * gcc.target/powerpc/altivec-cell-2.c: Likewise. + * gcc.target/powerpc/altivec-cell-3.c: Likewise. + * gcc.target/powerpc/altivec-cell-4.c: Likewise. + * gcc.target/powerpc/altivec-consts.c: Likewise. + * gcc.target/powerpc/altivec-macros.c: Likewise. + * gcc.target/powerpc/altivec-varargs-1.c: Likewise. + * gcc.target/powerpc/altivec-vec-merge.c: Likewise. + * gcc.target/powerpc/darwin-save-world-1.c: Likewise. + * gcc.target/powerpc/le-altivec-consts.c: Likewise. + * gcc.target/powerpc/pr35907.c: Likewise. + * gcc.target/powerpc/vec-mult-char-1.c: Likewise. + +2024-06-18 Hu, Lin1 <lin1.hu@intel.com> + + * gcc.target/i386/sse-cmp-1.c: New test. + * gcc.target/i386/sse-cmp-2.c: Ditto. + * gcc.target/i386/sse-cmp-error.c: Ditto. + +2024-06-17 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/97405 + * gcc.target/aarch64/sve/pr97405-1.c: New test. + +2024-06-17 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zbs-zext-3.c: New test. + +2024-06-17 Jakub Jelinek <jakub@redhat.com> + + PR driver/115440 + * g++.dg/cpp1z/pr115440.C: New test. + +2024-06-17 Andreas Krebbel <krebbel@linux.ibm.com> + + * g++.dg/torture/vshuf-mem.C: Use -march=z14 only, if the we are + on a machine which can actually run it. + +2024-06-17 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/c23-align-10.c, gcc.dg/c2y-align-1.c, + gcc.dg/c2y-align-2.c: New tests. + +2024-06-17 Jakub Jelinek <jakub@redhat.com> + + PR c/115290 + * c-c++-common/Warray-compare-3.c: New test. + +2024-06-17 Jakub Jelinek <jakub@redhat.com> + + PR target/111343 + PR c++/115511 + * g++.dg/cpp23/ext-floating18.C: New test. + +2024-06-17 Peter Bergner <bergner@linux.ibm.com> + + PR target/115389 + * gcc.target/powerpc/pr115389.c: New test. + +2024-06-17 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zbs-zext-2.c: New test. + +2024-06-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115508 + * gcc.target/i386/pr115508.c: New testcase. + +2024-06-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115492 + * gcc.dg/torture/pr115492.c: New testcase. + +2024-06-17 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/apx-zu-1.c: Add attribute for noinline, + and target apx. + * gcc.target/i386/apx-zu-2.c: Add target-support check. + +2024-06-17 Hu, Lin1 <lin1.hu@intel.com> + + PR target/115161 + * gcc.target/i386/pr115161-1.c: New test. + +2024-06-17 Andre Vehreschild <vehre@gcc.gnu.org> + + * gfortran.dg/coarray_alloc_comp_3.f08: Moved to... + * gfortran.dg/coarray/alloc_comp_8.f90: ...here. + Should be tested for both -fcoarray=single and lib, resp. + * gfortran.dg/coarray_alloc_comp_4.f08: Fix program name. + +2024-06-17 Levy Hsu <admin@levyhsu.com> + + * gcc.target/i386/vpermt2-special-bf16-shufflue.c: New test. + +2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/vector/vgm-df-1.c: Removed. + * gcc.target/s390/vector/vgm-di-1.c: Removed. + * gcc.target/s390/vector/vgm-hi-1.c: Removed. + * gcc.target/s390/vector/vgm-int128-1.c: Removed. + * gcc.target/s390/vector/vgm-longdouble-1.c: Removed. + * gcc.target/s390/vector/vgm-qi-1.c: Removed. + * gcc.target/s390/vector/vgm-sf-1.c: Removed. + * gcc.target/s390/vector/vgm-si-1.c: Removed. + * gcc.target/s390/vector/vgm-ti-1.c: Removed. + +2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/vector/vec-extend-3.c: New test. + * gcc.target/s390/vector/vgm-df-1.c: New file. + * gcc.target/s390/vector/vgm-di-1.c: New file. + * gcc.target/s390/vector/vgm-hi-1.c: New file. + * gcc.target/s390/vector/vgm-int128-1.c: New file. + * gcc.target/s390/vector/vgm-longdouble-1.c: New file. + * gcc.target/s390/vector/vgm-qi-1.c: New file. + * gcc.target/s390/vector/vgm-sf-1.c: New file. + * gcc.target/s390/vector/vgm-si-1.c: New file. + * gcc.target/s390/vector/vgm-ti-1.c: New file. + +2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/vector/vec-extend-1.c: New test. + * gcc.target/s390/vector/vec-extend-2.c: New test. + +2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/nobp-table-jump-inline-z10.c: Do not perform + IPA. + * gcc.target/s390/nobp-table-jump-inline-z900.c: Dito. + * gcc.target/s390/nobp-table-jump-z10.c: Dito. + * gcc.target/s390/nobp-table-jump-z900.c: Dito. + +2024-06-17 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/ifcvt-one-insn-bool.c: Fix loc. + +2024-06-16 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zbs-zext.c: New test. + +2024-06-15 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-8.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-5.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-6.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-7.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-8.c: New test. + +2024-06-15 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: Leverage + the new header file for vector part. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-4.c: Ditto. + * gcc.target/riscv/sat_arith.h: Move vector part out. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_arith.h: New test. + +2024-06-14 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/torture/vshuf-mem.C: Add -Wno-psabi to dg-options. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for test. + * gcc.target/riscv/sat_u_sub-37.c: New test. + * gcc.target/riscv/sat_u_sub-38.c: New test. + * gcc.target/riscv/sat_u_sub-39.c: New test. + * gcc.target/riscv/sat_u_sub-40.c: New test. + * gcc.target/riscv/sat_u_sub-run-37.c: New test. + * gcc.target/riscv/sat_u_sub-run-38.c: New test. + * gcc.target/riscv/sat_u_sub-run-39.c: New test. + * gcc.target/riscv/sat_u_sub-run-40.c: New test. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for test. + * gcc.target/riscv/sat_u_sub-33.c: New test. + * gcc.target/riscv/sat_u_sub-34.c: New test. + * gcc.target/riscv/sat_u_sub-35.c: New test. + * gcc.target/riscv/sat_u_sub-36.c: New test. + * gcc.target/riscv/sat_u_sub-run-33.c: New test. + * gcc.target/riscv/sat_u_sub-run-34.c: New test. + * gcc.target/riscv/sat_u_sub-run-35.c: New test. + * gcc.target/riscv/sat_u_sub-run-36.c: New test. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for test. + * gcc.target/riscv/sat_u_sub-29.c: New test. + * gcc.target/riscv/sat_u_sub-30.c: New test. + * gcc.target/riscv/sat_u_sub-31.c: New test. + * gcc.target/riscv/sat_u_sub-32.c: New test. + * gcc.target/riscv/sat_u_sub-run-29.c: New test. + * gcc.target/riscv/sat_u_sub-run-30.c: New test. + * gcc.target/riscv/sat_u_sub-run-31.c: New test. + * gcc.target/riscv/sat_u_sub-run-32.c: New test. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for test. + * gcc.target/riscv/sat_u_sub-25.c: New test. + * gcc.target/riscv/sat_u_sub-26.c: New test. + * gcc.target/riscv/sat_u_sub-27.c: New test. + * gcc.target/riscv/sat_u_sub-28.c: New test. + * gcc.target/riscv/sat_u_sub-run-25.c: New test. + * gcc.target/riscv/sat_u_sub-run-26.c: New test. + * gcc.target/riscv/sat_u_sub-run-27.c: New test. + * gcc.target/riscv/sat_u_sub-run-28.c: New test. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for test. + * gcc.target/riscv/sat_u_sub-21.c: New test. + * gcc.target/riscv/sat_u_sub-22.c: New test. + * gcc.target/riscv/sat_u_sub-23.c: New test. + * gcc.target/riscv/sat_u_sub-24.c: New test. + * gcc.target/riscv/sat_u_sub-run-21.c: New test. + * gcc.target/riscv/sat_u_sub-run-22.c: New test. + * gcc.target/riscv/sat_u_sub-run-23.c: New test. + * gcc.target/riscv/sat_u_sub-run-24.c: New test. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for test. + * gcc.target/riscv/sat_u_sub-17.c: New test. + * gcc.target/riscv/sat_u_sub-18.c: New test. + * gcc.target/riscv/sat_u_sub-19.c: New test. + * gcc.target/riscv/sat_u_sub-20.c: New test. + * gcc.target/riscv/sat_u_sub-run-17.c: New test. + * gcc.target/riscv/sat_u_sub-run-18.c: New test. + * gcc.target/riscv/sat_u_sub-run-19.c: New test. + * gcc.target/riscv/sat_u_sub-run-20.c: New test. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for test. + * gcc.target/riscv/sat_u_sub-13.c: New test. + * gcc.target/riscv/sat_u_sub-14.c: New test. + * gcc.target/riscv/sat_u_sub-15.c: New test. + * gcc.target/riscv/sat_u_sub-16.c: New test. + * gcc.target/riscv/sat_u_sub-run-13.c: New test. + * gcc.target/riscv/sat_u_sub-run-14.c: New test. + * gcc.target/riscv/sat_u_sub-run-15.c: New test. + * gcc.target/riscv/sat_u_sub-run-16.c: New test. + +2024-06-14 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for test. + * gcc.target/riscv/sat_u_sub-10.c: New test. + * gcc.target/riscv/sat_u_sub-11.c: New test. + * gcc.target/riscv/sat_u_sub-12.c: New test. + * gcc.target/riscv/sat_u_sub-9.c: New test. + * gcc.target/riscv/sat_u_sub-run-10.c: New test. + * gcc.target/riscv/sat_u_sub-run-11.c: New test. + * gcc.target/riscv/sat_u_sub-run-12.c: New test. + * gcc.target/riscv/sat_u_sub-run-9.c: New test. + +2024-06-14 Richard Biener <rguenther@suse.de> + + * gcc.target/i386/vect-strided-3.c: Disable SSE4 instead of AVX. + +2024-06-14 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-reduc-12.c: New testcase. + +2024-06-14 Pan Li <pan2.li@intel.com> + + PR target/115456 + * gcc.target/riscv/rvv/base/pr115456-2.c: New test. + * gcc.target/riscv/rvv/base/pr115456-3.c: New test. + +2024-06-14 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/pr115385.c: Enable AVX2 if available. + +2024-06-14 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/avx2-pr98461.c: Scan either notl or + vpternlog. + * gcc.target/i386/avx512f-pr96891-3.c: Also scan for inversed + condition. + * gcc.target/i386/avx512f-vpternlogd-3.c: Adjust vpternlog + number to 673. + * gcc.target/i386/avx512f-vpternlogd-4.c: Ditto. + * gcc.target/i386/avx512f-vpternlogd-5.c: Ditto. + * gcc.target/i386/sse2-v1ti-vne.c: Add -mno-avx512f. + +2024-06-14 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/i386/pr115407.c: New test case. + +2024-06-14 Alexandre Oliva <oliva@gnu.org> + + Revert: + 2024-06-14 Alexandre Oliva <oliva@adacore.com> + + * gnat.dg/bias1.adb: Count occurrences of -7.*DW_AT_GNU_bias. + +2024-06-13 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Increase test coverage to + include longs, shorts, chars, and bools. + * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-load-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-load-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-load-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-store-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-store-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-store-3.c: Ditto. + +2024-06-13 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/c23-complex-1.c, gcc.dg/c23-complex-2.c, + gcc.dg/c23-complex-3.c, gcc.dg/c23-complex-4.c, + gcc.dg/c2y-complex-1.c, gcc.dg/c2y-complex-2.c: New tests. + +2024-06-13 Carl Love <cel@linux.ibm.com> + + * gcc.target/powerpc/altivec-2-runnable.c: Change dg-do + argument to run. + +2024-06-13 Jason Merrill <jason@redhat.com> + + PR c++/114683 + * g++.dg/modules/using-22_a.C: New test. + * g++.dg/modules/using-22_b.C: New test. + +2024-06-13 Jason Merrill <jason@redhat.com> + + PR c++/115194 + * g++.dg/modules/using-23_a.C: New test. + * g++.dg/modules/using-23_b.C: New test. + +2024-06-13 Patrick Palka <ppalka@redhat.com> + + PR c++/99678 + * g++.dg/cpp2a/concepts-requires38.C: New test. + +2024-06-13 Patrick Palka <ppalka@redhat.com> + + PR c++/115239 + * g++.dg/overload/error7.C: New test. + +2024-06-13 Richard Sandiford <richard.sandiford@arm.com> + + PR target/115464 + * gcc.target/aarch64/sve/acle/general/pr115464.c: New test. + +2024-06-13 Pan Li <pan2.li@intel.com> + + PR target/115456 + * gcc.target/riscv/rvv/base/pr115456-1.c: New test. + +2024-06-13 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/apx-ccmp-1.c: Adjust output to scan ctest. + * gcc.target/i386/apx-ccmp-2.c: Adjust some condition to + compare with 0. + +2024-06-13 Richard Biener <rguenther@suse.de> + + * gcc.target/i386/vect-strided-1.c: New testcase. + * gcc.target/i386/vect-strided-2.c: Likewise. + * gcc.target/i386/vect-strided-3.c: Likewise. + * gcc.target/i386/vect-strided-4.c: Likewise. + +2024-06-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115385 + * gcc.dg/vect/pr115385.c: New testcase. + * gcc.target/i386/vect-pr115385.c: Likewise. + +2024-06-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114107 + PR tree-optimization/110445 + * gcc.dg/vect/pr114107.c: New testcase. + * gcc.dg/vect/pr103116-1.c: Adjust. + * gcc.dg/vect/pr103116-2.c: Likewise. + +2024-06-13 Andi Kleen <ak@linux.intel.com> + + * g++.dg/cpp1z/constexpr-asm-3.C: Adjust for new message. + +2024-06-13 Andi Kleen <ak@linux.intel.com> + + * g++.dg/cpp1z/constexpr-asm-1.C: Use std::std_string_view. + * g++.dg/cpp1z/constexpr-asm-3.C: Dito. + +2024-06-13 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr115452.c: New test. + +2024-06-13 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/pr115387-1.c: Move to... + * gcc.dg/torture/pr115387-1.c: ...here. + * gcc.target/riscv/pr115387-2.c: Move to... + * gcc.dg/torture/pr115387-2.c: ...here. + +2024-06-13 Peter Bergner <bergner@linux.ibm.com> + + PR testsuite/115262 + * gcc.target/powerpc/pr66144-3.c (dg-do): Compile for all targets. + (dg-options): Add -fno-unroll-loops and remove -mvsx. + (scan-assembler): Change from this... + (scan-assembler-times): ...to this. Tweak regex to accept multiple + allowable instructions. + +2024-06-13 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/apx-zu-1.c: New test. + * gcc.target/i386/apx-zu-2.c: New test. + +2024-06-13 Patrick Palka <ppalka@redhat.com> + + PR c++/115283 + * g++.dg/template/linkage5.C: New test. + +2024-06-12 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/using-21_a.C: New test. + +2024-06-12 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/using-20_a.C: New test. + +2024-06-12 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp26/static_assert1.C: Fix diagnostic typos. + +2024-06-12 Patrick O'Neill <patrick@rivosinc.com> + + * lib/target-supports.exp: Cleanup whitespace. + +2024-06-12 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo/amo-table-a-6-load-1.c: Update temp register regex. + * gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-load-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-load-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-load-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-store-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-store-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-store-3.c: Ditto. + +2024-06-12 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: Update + __atomic_add_fetch args. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: Ditto. + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-4.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-amo-add-5.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-1.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-2.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-3.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-4.c: Ditto. + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-5.c: Ditto. + * gcc.target/riscv/amo/amo-zaamo-preferred-over-zalrsc.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: Ditto. + * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: Ditto. + +2024-06-12 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo-table-a-6-amo-add-1.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: ...here. + * gcc.target/riscv/amo-table-a-6-amo-add-2.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: ...here. + * gcc.target/riscv/amo-table-a-6-amo-add-3.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: ...here. + * gcc.target/riscv/amo-table-a-6-amo-add-4.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: ...here. + * gcc.target/riscv/amo-table-a-6-amo-add-5.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: ...here. + * gcc.target/riscv/amo-table-a-6-compare-exchange-1.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c: ...here. + * gcc.target/riscv/amo-table-a-6-compare-exchange-2.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c: ...here. + * gcc.target/riscv/amo-table-a-6-compare-exchange-3.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c: ...here. + * gcc.target/riscv/amo-table-a-6-compare-exchange-4.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c: ...here. + * gcc.target/riscv/amo-table-a-6-compare-exchange-5.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c: ...here. + * gcc.target/riscv/amo-table-a-6-compare-exchange-6.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c: ...here. + * gcc.target/riscv/amo-table-a-6-compare-exchange-7.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c: ...here. + * gcc.target/riscv/amo-table-a-6-fence-1.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-fence-1.c: ...here. + * gcc.target/riscv/amo-table-a-6-fence-2.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-fence-2.c: ...here. + * gcc.target/riscv/amo-table-a-6-fence-3.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-fence-3.c: ...here. + * gcc.target/riscv/amo-table-a-6-fence-4.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-fence-4.c: ...here. + * gcc.target/riscv/amo-table-a-6-fence-5.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-fence-5.c: ...here. + * gcc.target/riscv/amo-table-a-6-load-1.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-load-1.c: ...here. + * gcc.target/riscv/amo-table-a-6-load-2.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-load-2.c: ...here. + * gcc.target/riscv/amo-table-a-6-load-3.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-load-3.c: ...here. + * gcc.target/riscv/amo-table-a-6-store-1.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-store-1.c: ...here. + * gcc.target/riscv/amo-table-a-6-store-2.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-store-2.c: ...here. + * gcc.target/riscv/amo-table-a-6-store-compat-3.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: ...here. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-1.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: ...here. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-2.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: ...here. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-3.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: ...here. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-4.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: ...here. + * gcc.target/riscv/amo-table-a-6-subword-amo-add-5.c: Move to... + * gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: ...here. + * gcc.target/riscv/amo-table-ztso-amo-add-1.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-amo-add-1.c: ...here. + * gcc.target/riscv/amo-table-ztso-amo-add-2.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-amo-add-2.c: ...here. + * gcc.target/riscv/amo-table-ztso-amo-add-3.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-amo-add-3.c: ...here. + * gcc.target/riscv/amo-table-ztso-amo-add-4.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-amo-add-4.c: ...here. + * gcc.target/riscv/amo-table-ztso-amo-add-5.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-amo-add-5.c: ...here. + * gcc.target/riscv/amo-table-ztso-compare-exchange-1.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-1.c: ...here. + * gcc.target/riscv/amo-table-ztso-compare-exchange-2.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-2.c: ...here. + * gcc.target/riscv/amo-table-ztso-compare-exchange-3.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-3.c: ...here. + * gcc.target/riscv/amo-table-ztso-compare-exchange-4.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-4.c: ...here. + * gcc.target/riscv/amo-table-ztso-compare-exchange-5.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-5.c: ...here. + * gcc.target/riscv/amo-table-ztso-compare-exchange-6.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-6.c: ...here. + * gcc.target/riscv/amo-table-ztso-compare-exchange-7.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-compare-exchange-7.c: ...here. + * gcc.target/riscv/amo-table-ztso-fence-1.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-fence-1.c: ...here. + * gcc.target/riscv/amo-table-ztso-fence-2.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-fence-2.c: ...here. + * gcc.target/riscv/amo-table-ztso-fence-3.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-fence-3.c: ...here. + * gcc.target/riscv/amo-table-ztso-fence-4.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-fence-4.c: ...here. + * gcc.target/riscv/amo-table-ztso-fence-5.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-fence-5.c: ...here. + * gcc.target/riscv/amo-table-ztso-load-1.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-load-1.c: ...here. + * gcc.target/riscv/amo-table-ztso-load-2.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-load-2.c: ...here. + * gcc.target/riscv/amo-table-ztso-load-3.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-load-3.c: ...here. + * gcc.target/riscv/amo-table-ztso-store-1.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-store-1.c: ...here. + * gcc.target/riscv/amo-table-ztso-store-2.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-store-2.c: ...here. + * gcc.target/riscv/amo-table-ztso-store-3.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-store-3.c: ...here. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-1.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-1.c: ...here. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-2.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-2.c: ...here. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-3.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-3.c: ...here. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-4.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-4.c: ...here. + * gcc.target/riscv/amo-table-ztso-subword-amo-add-5.c: Move to... + * gcc.target/riscv/amo/amo-table-ztso-subword-amo-add-5.c: ...here. + * gcc.target/riscv/amo-zaamo-preferred-over-zalrsc.c: Move to... + * gcc.target/riscv/amo/amo-zaamo-preferred-over-zalrsc.c: ...here. + * gcc.target/riscv/amo-zalrsc-amo-add-1.c: Move to... + * gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: ...here. + * gcc.target/riscv/amo-zalrsc-amo-add-2.c: Move to... + * gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: ...here. + * gcc.target/riscv/amo-zalrsc-amo-add-3.c: Move to... + * gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: ...here. + * gcc.target/riscv/amo-zalrsc-amo-add-4.c: Move to... + * gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: ...here. + * gcc.target/riscv/amo-zalrsc-amo-add-5.c: Move to... + * gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: ...here. + * gcc.target/riscv/inline-atomics-1.c: Move to... + * gcc.target/riscv/amo/inline-atomics-1.c: ...here. + * gcc.target/riscv/inline-atomics-2.c: Move to... + * gcc.target/riscv/amo/inline-atomics-2.c: ...here. + * gcc.target/riscv/inline-atomics-3.c: Move to... + * gcc.target/riscv/amo/inline-atomics-3.c: ...here. + * gcc.target/riscv/inline-atomics-4.c: Move to... + * gcc.target/riscv/amo/inline-atomics-4.c: ...here. + * gcc.target/riscv/inline-atomics-5.c: Move to... + * gcc.target/riscv/amo/inline-atomics-5.c: ...here. + * gcc.target/riscv/inline-atomics-6.c: Move to... + * gcc.target/riscv/amo/inline-atomics-6.c: ...here. + * gcc.target/riscv/inline-atomics-7.c: Move to... + * gcc.target/riscv/amo/inline-atomics-7.c: ...here. + * gcc.target/riscv/inline-atomics-8.c: Move to... + * gcc.target/riscv/amo/inline-atomics-8.c: ...here. + * gcc.target/riscv/pr114130.c: Move to... + * gcc.target/riscv/amo/pr114130.c: ...here. + * gcc.target/riscv/pr89835.c: Move to... + * gcc.target/riscv/amo/pr89835.c: ...here. + * gcc.target/riscv/amo/amo.exp: New file. + +2024-06-12 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115449 + * gcc.dg/tree-ssa/bitops-10.c: New test. + +2024-06-12 Victor Do Nascimento <victor.donascimento@arm.com> + + * gcc.dg/vect/vect-prefetch-drop.c: New test. + * gcc.target/aarch64/vect-prefetch-drop.c: Likewise. + +2024-06-12 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_cpython_plugin.c (dump_refcnt_info): + Update for fields of pretty_printer becoming private. + +2024-06-12 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/bstrins-1.c: New test. + * gcc.target/loongarch/bstrins-2.c: New test. + +2024-06-12 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + Yvan ROUX <yvan.roux@foss.st.com> + + PR target/115253 + * gcc.target/arm/cmse/extend-return.c: Update test case + condition for Armv8.1-M. + +2024-06-12 Alexandre Oliva <oliva@adacore.com> + + PR tree-optimization/113681 + * c-c++-common/strub-pr113681.c: New. + +2024-06-12 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/arm/multilib.exp: Skip based on board cflags too. + +2024-06-12 Alexandre Oliva <oliva@adacore.com> + + * gnat.dg/bias1.adb: Count occurrences of -7.*DW_AT_GNU_bias. + +2024-06-12 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr115384.c: New test. + +2024-06-11 Joseph Myers <josmyers@redhat.com> + + * gcc.dg/c23-generic-1.c, gcc.dg/c23-generic-2.c, + gcc.dg/c23-generic-3.c, gcc.dg/c23-generic-4.c, + gcc.dg/c2y-generic-1.c, gcc.dg/c2y-generic-2.c, + gcc.dg/c2y-generic-3.c, gcc.dg/gnu2y-generic-1.c: New tests. + * gcc.dg/c23-tag-6.c: Use -pedantic-errors. + +2024-06-11 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo-zaamo-preferred-over-zalrsc.c: New test. + * gcc.target/riscv/amo-zalrsc-amo-add-1.c: New test. + * gcc.target/riscv/amo-zalrsc-amo-add-2.c: New test. + * gcc.target/riscv/amo-zalrsc-amo-add-3.c: New test. + * gcc.target/riscv/amo-zalrsc-amo-add-4.c: New test. + * gcc.target/riscv/amo-zalrsc-amo-add-5.c: New test. + +2024-06-11 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo-table-a-6-amo-add-1.c: Use Zaamo rather than A. + * 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: Use Zalrsc rather + than A. + * 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: Use Zaamo rather + than A. + * 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/amo-table-ztso-amo-add-1.c: Add Zaamo option. + * 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: Use Zalrsc rather + than A. + * 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-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 testsuite infrastructure support for + Zaamo and Zalrsc. + +2024-06-11 Edwin Lu <ewlu@rivosinc.com> + Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/attribute-15.c: Adjust expected arch string. + * gcc.target/riscv/attribute-16.c: Ditto. + * gcc.target/riscv/attribute-17.c: Ditto. + * gcc.target/riscv/attribute-18.c: Ditto. + * gcc.target/riscv/pr110696.c: Ditto. + * gcc.target/riscv/rvv/base/pr114352-1.c: Ditto. + * gcc.target/riscv/rvv/base/pr114352-3.c: Ditto. + +2024-06-11 Uros Bizjak <ubizjak@gmail.com> + + PR target/112600 + * gcc.target/i386/pr112600-a.c: Also scan for cmov. + * gcc.target/i386/pr112600-b.c: Ditto. + +2024-06-11 Pengxuan Zheng <quic_pzheng@quicinc.com> + + * gcc.target/aarch64/trunc-vec.c: New test. + +2024-06-11 Andi Kleen <ak@linux.intel.com> + + * g++.dg/ext/asm11.C: Adjust to new error message. + * g++.dg/ext/asm9.C: Dito. + * g++.dg/parse/asm1.C: Dito. + * g++.dg/parse/asm2.C: Dito. + * g++.dg/parse/asm3.C: Dito. + * g++.dg/cpp1z/constexpr-asm-1.C: New test. + * g++.dg/cpp1z/constexpr-asm-2.C: New test. + * g++.dg/cpp1z/constexpr-asm-3.C: New test. + +2024-06-11 Andi Kleen <ak@linux.intel.com> + + * g++.dg/cpp26/static_assert1.C: Update to new error message. + * g++.dg/cpp0x/udlit-error1.C: Dito. + +2024-06-11 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114529 + * gm2/base-lang/pass/SYSTEM.def: New test. + * gm2/base-lang/pass/base-lang-test.sh: New test. + * gm2/base-lang/pass/globalproctype.def: New test. + * gm2/base-lang/pass/globalproctype.mod: New test. + * gm2/base-lang/pass/globalvar.def: New test. + * gm2/base-lang/pass/globalvar.mod: New test. + * gm2/base-lang/pass/globalvarassign.def: New test. + * gm2/base-lang/pass/globalvarassign.mod: New test. + * gm2/base-lang/pass/localproctype.def: New test. + * gm2/base-lang/pass/localproctype.mod: New test. + * gm2/base-lang/pass/localvar.def: New test. + * gm2/base-lang/pass/localvar.mod: New test. + * gm2/base-lang/pass/localvarassign.def: New test. + * gm2/base-lang/pass/localvarassign.mod: New test. + * gm2/base-lang/pass/opaquefield.def: New test. + * gm2/base-lang/pass/opaquefield.mod: New test. + * gm2/base-lang/pass/opaquenew.def: New test. + * gm2/base-lang/pass/opaquenew.mod: New test. + * gm2/base-lang/pass/opaqueparam.def: New test. + * gm2/base-lang/pass/opaqueparam.mod: New test. + * gm2/base-lang/pass/opaquestr.def: New test. + * gm2/base-lang/pass/opaqueuse.def: New test. + * gm2/base-lang/pass/opaqueuse.mod: New test. + * gm2/base-lang/pass/opaqueusestr.def: New test. + * gm2/base-lang/pass/opaqueusestr.mod: New test. + * gm2/base-lang/pass/opaquevariant.def: New test. + * gm2/base-lang/pass/opaquevariant.mod: New test. + * gm2/base-lang/pass/opaquevarparam.def: New test. + * gm2/base-lang/pass/opaquevarparam.mod: New test. + * gm2/base-lang/pass/simplelist.def: New test. + * gm2/base-lang/pass/simplelist.mod: New test. + * gm2/base-lang/pass/simplelistiter.def: New test. + * gm2/base-lang/pass/simplelistiter.mod: New test. + * gm2/base-lang/pass/simpleopaque.def: New test. + * gm2/base-lang/pass/simpleopaque.mod: New test. + * gm2/base-lang/pass/straddress.def: New test. + * gm2/base-lang/pass/straddress.mod: New test. + * gm2/base-lang/pass/straddressexport.def: New test. + * gm2/base-lang/pass/straddressexport.mod: New test. + * gm2/base-lang/pass/unboundedarray.def: New test. + * gm2/base-lang/pass/unboundedarray.mod: New test. + +2024-06-11 Roger Sayle <roger@nextmovesoftware.com> + + PR target/115397 + * gcc.target/i386/pr115397.c: New test case. + +2024-06-11 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macros for test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-4.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_sub-run-4.c: New test. + +2024-06-11 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/round_32.c: Delete. + +2024-06-10 Raphael Zinsly <rzinsly@ventanamicro.com> + + * gcc.target/riscv/zbs-ext.c: New test. + +2024-06-10 Pan Li <pan2.li@intel.com> + + PR target/115387 + * gcc.target/riscv/pr115387-1.c: New test. + * gcc.target/riscv/pr115387-2.c: New test. + +2024-06-10 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/115415 + PR tree-optimization/115388 + * gcc.dg/torture/pr115388.c: Use `signed char` directly instead + of plain `char`. + +2024-06-10 Raphael Zinsly <rzinsly@ventanamicro.com> + + * gcc.target/riscv/bext-ext.c: New test. + +2024-06-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115388 + * gcc.dg/torture/pr115388.c: New testcase. + +2024-06-10 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114708 + * gnat.dg/incomplete8.adb: New test. + +2024-06-10 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/114398 + * gnat.dg/access11.adb: New test. + +2024-06-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115395 + * gcc.dg/vect/pr115395.c: New testcase. + +2024-06-10 Andreas Krebbel <krebbel@linux.ibm.com> + + * g++.dg/torture/vshuf-mem.C: New test. + +2024-06-10 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/r10k-cache-barrier-13.c: Add -mno-branch-likely + option. + +2024-06-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115383 + * gcc.dg/vect/pr115383.c: New testcase. + +2024-06-09 Uros Bizjak <ubizjak@gmail.com> + + PR target/112600 + * gcc.target/i386/pr112600-b.c: New test. + +2024-06-08 Simon Martin <simon@nasilyan.com> + + PR c++/108438 + * g++.dg/parse/crash75.C: New test. + +2024-06-08 Uros Bizjak <ubizjak@gmail.com> + + PR target/112600 + * gcc.target/i386/pr112600-a.c: New test. + +2024-06-08 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test macros and comments. + * gcc.target/riscv/sat_u_sub-1.c: New test. + * gcc.target/riscv/sat_u_sub-2.c: New test. + * gcc.target/riscv/sat_u_sub-3.c: New test. + * gcc.target/riscv/sat_u_sub-4.c: New test. + * gcc.target/riscv/sat_u_sub-5.c: New test. + * gcc.target/riscv/sat_u_sub-6.c: New test. + * gcc.target/riscv/sat_u_sub-7.c: New test. + * gcc.target/riscv/sat_u_sub-8.c: New test. + * gcc.target/riscv/sat_u_sub-run-1.c: New test. + * gcc.target/riscv/sat_u_sub-run-2.c: New test. + * gcc.target/riscv/sat_u_sub-run-3.c: New test. + * gcc.target/riscv/sat_u_sub-run-4.c: New test. + * gcc.target/riscv/sat_u_sub-run-5.c: New test. + * gcc.target/riscv/sat_u_sub-run-6.c: New test. + * gcc.target/riscv/sat_u_sub-run-7.c: New test. + * gcc.target/riscv/sat_u_sub-run-8.c: New test. + +2024-06-07 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/taint-alloc-4.c: Update expected result to + reflect change in message due to + region_model::get_representative_path_var_1 now handling RK_CAST. + +2024-06-07 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/105892 + * c-c++-common/analyzer/out-of-bounds-pr110387.c: Add + expected warnings about pointer subtraction. + * c-c++-common/analyzer/ptr-subtraction-1.c: New test. + * c-c++-common/analyzer/ptr-subtraction-CWE-469-example.c: New test. + +2024-06-07 Simon Martin <simon@nasilyan.com> + + PR c++/107575 + * g++.dg/parse/crash74.C: New test. + +2024-06-07 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/dashinclude-1_b.C: New test. + * g++.dg/modules/dashinclude-1_a.H: New test. + +2024-06-07 Patrick Palka <ppalka@redhat.com> + + PR c++/115378 + * g++.dg/cpp1y/decltype-auto-103497.C: Adjust expected diagnostic. + * g++.dg/template/pr95672.C: Likewise. + * g++.dg/cpp2a/lambda-targ5.C: New test. + +2024-06-07 Roger Sayle <roger@nextmovesoftware.com> + + PR target/115351 + * g++.target/i386/pr115351.C: New test case. + +2024-06-07 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + * gcc.target/i386/avx512f-vpternlogd-1.c: Update test case. + * gcc.target/i386/avx512f-vpternlogq-1.c: Likewise. + * gcc.target/i386/avx512vl-vpternlogd-1.c: Likewise. + * gcc.target/i386/avx512vl-vpternlogq-1.c: Likewise. + * gcc.target/i386/pr100711-4.c: Likewise. + * gcc.target/i386/pr100711-5.c: Likewise. + * gcc.target/i386/avx512f-vpternlogd-3.c: New 128-bit test case. + * gcc.target/i386/avx512f-vpternlogd-4.c: New 256-bit test case. + * gcc.target/i386/avx512f-vpternlogd-5.c: New 512-bit test case. + * gcc.target/i386/avx512f-vpternlogq-3.c: New test case. + +2024-06-07 Michal Jires <mjires@suse.cz> + + * gcc.dg/completion-2.c: Add -flto-partition=cache. + +2024-06-07 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/90068 + * gfortran.dg/finalize_57.f90: New test. + +2024-06-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/115352 + * gcc.dg/torture/bitint-71.c: New test. + +2024-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR go/87589 + * go.test/go-test.exp (go-gc-tests): Require split-stack support + for index0.go. + +2024-06-07 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/90072 + * gfortran.dg/class_77.f90: New test. + +2024-06-07 liuhongt <hongtao.liu@intel.com> + + * gcc.dg/vect/pr112325.c:Add additional option --param + max-completely-peeled-insns=200 for power64*-*-*. + +2024-06-07 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test macro for form 5. + * gcc.target/riscv/sat_u_add-21.c: New test. + * gcc.target/riscv/sat_u_add-22.c: New test. + * gcc.target/riscv/sat_u_add-23.c: New test. + * gcc.target/riscv/sat_u_add-24.c: New test. + * gcc.target/riscv/sat_u_add-run-21.c: New test. + * gcc.target/riscv/sat_u_add-run-22.c: New test. + * gcc.target/riscv/sat_u_add-run-23.c: New test. + * gcc.target/riscv/sat_u_add-run-24.c: New test. + +2024-06-07 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test macro for form 4. + * gcc.target/riscv/sat_u_add-17.c: New test. + * gcc.target/riscv/sat_u_add-18.c: New test. + * gcc.target/riscv/sat_u_add-19.c: New test. + * gcc.target/riscv/sat_u_add-20.c: New test. + * gcc.target/riscv/sat_u_add-run-17.c: New test. + * gcc.target/riscv/sat_u_add-run-18.c: New test. + * gcc.target/riscv/sat_u_add-run-19.c: New test. + * gcc.target/riscv/sat_u_add-run-20.c: New test. + +2024-06-07 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test macro for form 3. + * gcc.target/riscv/sat_u_add-13.c: New test. + * gcc.target/riscv/sat_u_add-14.c: New test. + * gcc.target/riscv/sat_u_add-15.c: New test. + * gcc.target/riscv/sat_u_add-16.c: New test. + * gcc.target/riscv/sat_u_add-run-13.c: New test. + * gcc.target/riscv/sat_u_add-run-14.c: New test. + * gcc.target/riscv/sat_u_add-run-15.c: New test. + * gcc.target/riscv/sat_u_add-run-16.c: New test. + +2024-06-07 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add test macro for form 2. + * gcc.target/riscv/sat_u_add-10.c: New test. + * gcc.target/riscv/sat_u_add-11.c: New test. + * gcc.target/riscv/sat_u_add-12.c: New test. + * gcc.target/riscv/sat_u_add-9.c: New test. + * gcc.target/riscv/sat_u_add-run-10.c: New test. + * gcc.target/riscv/sat_u_add-run-11.c: New test. + * gcc.target/riscv/sat_u_add-run-12.c: New test. + * gcc.target/riscv/sat_u_add-run-9.c: New test. + +2024-06-07 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/sat_arith.h: Add helper macro for form 1. + * gcc.target/riscv/sat_u_add-5.c: New test. + * gcc.target/riscv/sat_u_add-6.c: New test. + * gcc.target/riscv/sat_u_add-7.c: New test. + * gcc.target/riscv/sat_u_add-8.c: New test. + * gcc.target/riscv/sat_u_add-run-5.c: New test. + * gcc.target/riscv/sat_u_add-run-6.c: New test. + * gcc.target/riscv/sat_u_add-run-7.c: New test. + * gcc.target/riscv/sat_u_add-run-8.c: New test. + +2024-06-06 Jakub Jelinek <jakub@redhat.com> + + PR c/114493 + * gcc.dg/pr114493-1.c: New test. + * gcc.dg/pr114493-2.c: New test. + +2024-06-06 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/113880 + PR target/113869 + * gcc.target/aarch64/extend-vec.c: New test. + +2024-06-06 Uros Bizjak <ubizjak@gmail.com> + + PR middle-end/112600 + * gcc.target/i386/pr112600-2a.c: New test. + * gcc.target/i386/pr112600-2b.c: New test. + +2024-06-06 Richard Ball <richard.ball@arm.com> + + * gcc.target/arm/thumb2-switchstatement.c: New test. + +2024-06-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/nvptx/nvptx.exp + (check_effective_target_default_ptx_isa_version_at_least_6_0): + New. + * gcc.target/nvptx/uniform-simt-2.c: Adjust. + * gcc.target/nvptx/uniform-simt-5.c: New. + +2024-06-06 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/apx-ccmp-1.c: Add test for fp compare. + * gcc.target/i386/apx-ccmp-2.c: Likewise. + +2024-06-06 Hongyu Wang <hongyu.wang@intel.com> + + * gcc.target/i386/apx-ccmp-1.c: New compile test. + * gcc.target/i386/apx-ccmp-2.c: New runtime test. + +2024-06-06 Hongyu Wang <hongyu.wang@intel.com> + + PR target/115341 + * lib/target-supports.exp (check_effective_target_apxf): + Check for all apx sub-features. + +2024-06-06 liuhongt <hongtao.liu@intel.com> + + PR target/115365 + * gcc.dg/pr100927.c: Don't scan fix:SI from the note. + +2024-06-06 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr114428.c: New test. + +2024-06-06 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr114428-1.c: New test. + +2024-06-05 Robin Dapp <rdapp.gcc@gmail.com> + + * lib/target-supports.exp: Add + check_effective_target_riscv_v_misalign_ok. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Add + -mno-vector-strict-align. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: Ditto. + +2024-06-05 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/sve/pred_clobber_1.c: New test. + * gcc.target/aarch64/sve/pred_clobber_2.c: New test. + * gcc.target/aarch64/sve/pred_clobber_3.c: New test. + * gcc.target/aarch64/sve/pred_clobber_4.c: New test. + +2024-06-05 Jakub Jelinek <jakub@redhat.com> + Frederik Harwath <frederik@codesourcery.com> + Sandra Loosemore <sandra@codesourcery.com> + + * c-c++-common/gomp/attrs-tile-1.c: New test. + * c-c++-common/gomp/attrs-tile-2.c: New test. + * c-c++-common/gomp/attrs-tile-3.c: New test. + * c-c++-common/gomp/attrs-tile-4.c: New test. + * c-c++-common/gomp/attrs-tile-5.c: New test. + * c-c++-common/gomp/attrs-tile-6.c: New test. + * c-c++-common/gomp/attrs-unroll-1.c: New test. + * c-c++-common/gomp/attrs-unroll-2.c: New test. + * c-c++-common/gomp/attrs-unroll-3.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-1.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-2.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-3.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-4.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-5.c: New test. + * c-c++-common/gomp/imperfect-attributes.c: Adjust expected + diagnostics. + * c-c++-common/gomp/imperfect-loop-nest.c: New test. + * c-c++-common/gomp/ordered-5.c: New test. + * c-c++-common/gomp/scan-7.c: New test. + * c-c++-common/gomp/tile-1.c: New test. + * c-c++-common/gomp/tile-2.c: New test. + * c-c++-common/gomp/tile-3.c: New test. + * c-c++-common/gomp/tile-4.c: New test. + * c-c++-common/gomp/tile-5.c: New test. + * c-c++-common/gomp/tile-6.c: New test. + * c-c++-common/gomp/tile-7.c: New test. + * c-c++-common/gomp/tile-8.c: New test. + * c-c++-common/gomp/tile-9.c: New test. + * c-c++-common/gomp/tile-10.c: New test. + * c-c++-common/gomp/tile-11.c: New test. + * c-c++-common/gomp/tile-12.c: New test. + * c-c++-common/gomp/tile-13.c: New test. + * c-c++-common/gomp/tile-14.c: New test. + * c-c++-common/gomp/tile-15.c: New test. + * c-c++-common/gomp/unroll-1.c: New test. + * c-c++-common/gomp/unroll-2.c: New test. + * c-c++-common/gomp/unroll-3.c: New test. + * c-c++-common/gomp/unroll-4.c: New test. + * c-c++-common/gomp/unroll-5.c: New test. + * c-c++-common/gomp/unroll-6.c: New test. + * c-c++-common/gomp/unroll-7.c: New test. + * c-c++-common/gomp/unroll-8.c: New test. + * c-c++-common/gomp/unroll-9.c: New test. + * c-c++-common/gomp/unroll-inner-1.c: New test. + * c-c++-common/gomp/unroll-inner-2.c: New test. + * c-c++-common/gomp/unroll-inner-3.c: New test. + * c-c++-common/gomp/unroll-non-rect-1.c: New test. + * c-c++-common/gomp/unroll-non-rect-2.c: New test. + * c-c++-common/gomp/unroll-non-rect-3.c: New test. + * c-c++-common/gomp/unroll-simd-1.c: New test. + * gcc.dg/gomp/attrs-4.c: Adjust expected diagnostics. + * gcc.dg/gomp/for-1.c: Likewise. + * gcc.dg/gomp/for-11.c: Likewise. + * g++.dg/gomp/attrs-4.C: Likewise. + * g++.dg/gomp/for-1.C: Likewise. + * g++.dg/gomp/pr94512.C: Likewise. + * g++.dg/gomp/tile-1.C: New test. + * g++.dg/gomp/tile-2.C: New test. + * g++.dg/gomp/unroll-1.C: New test. + * g++.dg/gomp/unroll-2.C: New test. + * g++.dg/gomp/unroll-3.C: New test. + * gfortran.dg/gomp/inner-loops-1.f90: New test. + * gfortran.dg/gomp/inner-loops-2.f90: New test. + * gfortran.dg/gomp/pure-1.f90: Add tests for !$omp unroll + and !$omp tile. + * gfortran.dg/gomp/pure-2.f90: Remove those tests from here. + * gfortran.dg/gomp/scan-9.f90: New test. + * gfortran.dg/gomp/tile-1.f90: New test. + * gfortran.dg/gomp/tile-2.f90: New test. + * gfortran.dg/gomp/tile-3.f90: New test. + * gfortran.dg/gomp/tile-4.f90: New test. + * gfortran.dg/gomp/tile-5.f90: New test. + * gfortran.dg/gomp/tile-6.f90: New test. + * gfortran.dg/gomp/tile-7.f90: New test. + * gfortran.dg/gomp/tile-8.f90: New test. + * gfortran.dg/gomp/tile-9.f90: New test. + * gfortran.dg/gomp/tile-10.f90: New test. + * gfortran.dg/gomp/tile-imperfect-nest-1.f90: New test. + * gfortran.dg/gomp/tile-imperfect-nest-2.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-1.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-2.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-3.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-4.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-5.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-6.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-7.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-8.f90: New test. + * gfortran.dg/gomp/tile-non-rectangular-1.f90: New test. + * gfortran.dg/gomp/tile-non-rectangular-2.f90: New test. + * gfortran.dg/gomp/tile-non-rectangular-3.f90: New test. + * gfortran.dg/gomp/tile-unroll-1.f90: New test. + * gfortran.dg/gomp/tile-unroll-2.f90: New test. + * gfortran.dg/gomp/unroll-1.f90: New test. + * gfortran.dg/gomp/unroll-2.f90: New test. + * gfortran.dg/gomp/unroll-3.f90: New test. + * gfortran.dg/gomp/unroll-4.f90: New test. + * gfortran.dg/gomp/unroll-5.f90: New test. + * gfortran.dg/gomp/unroll-6.f90: New test. + * gfortran.dg/gomp/unroll-7.f90: New test. + * gfortran.dg/gomp/unroll-8.f90: New test. + * gfortran.dg/gomp/unroll-9.f90: New test. + * gfortran.dg/gomp/unroll-10.f90: New test. + * gfortran.dg/gomp/unroll-11.f90: New test. + * gfortran.dg/gomp/unroll-12.f90: New test. + * gfortran.dg/gomp/unroll-13.f90: New test. + * gfortran.dg/gomp/unroll-inner-loop-1.f90: New test. + * gfortran.dg/gomp/unroll-inner-loop-2.f90: New test. + * gfortran.dg/gomp/unroll-no-clause-1.f90: New test. + * gfortran.dg/gomp/unroll-non-rect-1.f90: New test. + * gfortran.dg/gomp/unroll-non-rect-2.f90: New test. + * gfortran.dg/gomp/unroll-simd-1.f90: New test. + * gfortran.dg/gomp/unroll-simd-2.f90: New test. + * gfortran.dg/gomp/unroll-simd-3.f90: New test. + * gfortran.dg/gomp/unroll-tile-1.f90: New test. + * gfortran.dg/gomp/unroll-tile-2.f90: New test. + * gfortran.dg/gomp/unroll-tile-inner-1.f90: New test. + +2024-06-05 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * lib/scanasm.exp (configure_check-function-bodies): Allow single-char + function names. + +2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> + + * c-c++-common/initpri1_part_c1.c: Consider 'CDTOR_LINKAGE'. + * c-c++-common/initpri1_part_c2.c: Likewise. + * c-c++-common/initpri1_part_c3.c: Likewise. + * c-c++-common/initpri1_part_cd4.c: Likewise. + * c-c++-common/initpri1_part_d1.c: Likewise. + * c-c++-common/initpri1_part_d2.c: Likewise. + * c-c++-common/initpri1_part_d3.c: Likewise. + * c-c++-common/initpri1.c: Specify it. + * c-c++-common/initpri1-lto.c: Likewise. + * c-c++-common/initpri1-split.c: Likewise. + * c-c++-common/initpri1-static.c: New. + * c-c++-common/initpri1-lto-static.c: Likewise. + * c-c++-common/initpri1-split-static.c: Likewise. + +2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> + + * c-c++-common/initpri1.c: Split into... + * c-c++-common/initpri1_part_c1.c: ... this, and... + * c-c++-common/initpri1_part_c2.c: ... this, and... + * c-c++-common/initpri1_part_c3.c: ... this, and... + * c-c++-common/initpri1_part_cd4.c: ... this, and... + * c-c++-common/initpri1_part_d1.c: ... this, and... + * c-c++-common/initpri1_part_d2.c: ... this, and... + * c-c++-common/initpri1_part_d3.c: ... this, and... + * c-c++-common/initpri1_part_main.c: ... this part. + * c-c++-common/initpri1-split.c: New. + +2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.dg/initpri1-lto.c: Integrate this... + * c-c++-common/initpri1-lto.c: ... here. + +2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.dg/initpri1.c: Integrate this... + * g++.dg/special/initpri1.C: ..., and this... + * c-c++-common/initpri1.c: ... here. + * gcc.dg/initpri1-lto.c: Adjust. + * gcc.dg/initpri2.c: Integrate this... + * g++.dg/special/initpri2.C: ..., and this... + * c-c++-common/initpri2.c: ... here. + +2024-06-05 Thomas Schwinge <tschwinge@baylibre.com> + + PR lto/46083 + * gcc.dg/initpri3.c: Remove. + * gcc.dg/initpri1-lto.c: New. + +2024-06-05 liuhongt <hongtao.liu@intel.com> + + * gcc.dg/pr100927.c: New test. + * c-c++-common/Wconversion-1.c: Add -fno-trapping-math. + * c-c++-common/dfp/convert-int-saturate.c: Ditto. + * g++.dg/ubsan/pr63956.C: Ditto. + * g++.dg/warn/Wconversion-real-integer.C: Ditto. + * gcc.c-torture/execute/20031003-1.c: Ditto. + * gcc.dg/Wconversion-complex-c99.c: Ditto. + * gcc.dg/Wconversion-real-integer.c: Ditto. + * gcc.dg/c90-const-expr-11.c: Ditto. + * gcc.dg/overflow-warn-8.c: Ditto. + +2024-06-05 Xiao Zeng <zengxiao@eswincomputing.com> + + * gcc.target/riscv/zfbfmin-bf16_arithmetic.c: New test. + * gcc.target/riscv/zfbfmin-bf16_comparison.c: New test. + * gcc.target/riscv/zfbfmin-bf16_float_libcall_convert.c: New test. + * gcc.target/riscv/zfbfmin-bf16_integer_libcall_convert.c: New test. + +2024-06-04 Simon Martin <simon@nasilyan.com> + + PR c++/103388 + * g++.dg/parse/crash73.C: New test. + +2024-06-04 Harald Anlauf <anlauf@gmx.de> + + PR fortran/83865 + * gfortran.dg/allocate_with_source_32.f90: New test. + +2024-06-04 Simon Martin <simon@nasilyan.com> + + PR c++/111106 + * g++.dg/cpp2a/consteval37.C: New test. + +2024-06-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/115337 + * gcc.dg/bitint-106.c: New test. + +2024-06-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/avx10_1-25.c: Require ifunc support. + * gcc.target/i386/avx10_1-26.c: Likewise. + +2024-06-04 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/108789 + * gcc.c-torture/execute/pr108789.c: New test. + +2024-06-04 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/slp-24.c: Expect another SLP instance for the + reduction. + * gcc.dg/vect/slp-24-big-array.c: Likewise. + * gcc.dg/vect/slp-reduc-6.c: Remove scan for zero SLP instances. + +2024-06-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR analyzer/107750 + * gcc.dg/analyzer/fd-accept.c: Skip on *-*-solaris2*. + * gcc.dg/analyzer/fd-access-mode-target-headers.c: Likewise. + * gcc.dg/analyzer/fd-connect.c: Likewise. + * 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. + +2024-06-04 liuhongt <hongtao.liu@intel.com> + + PR target/115299 + * gcc.target/i386/pr86722.c: Also scan for blendvpd. + +2024-06-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/115012 + * g++.dg/cpp0x/variadic185.C: New test. + +2024-06-03 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/analyzer/sarif-path-role.c: New test. + * c-c++-common/analyzer/sarif-path-role.h: New header for above + test. + * c-c++-common/diagnostic-format-sarif-file-1.c: Verify the + artifact's "role" property. + * c-c++-common/diagnostic-format-sarif-file-header-role.c: New + test. + * c-c++-common/diagnostic-format-sarif-file-header-role.h: New + header for above test. + * c-c++-common/diagnostic-format-sarif-file-no-results.c: New + test. + +2024-06-03 Uros Bizjak <ubizjak@gmail.com> + + PR target/115321 + * gcc.target/i386/pr115321.c: New test. + +2024-06-03 Richard Biener <rguenther@suse.de> + + PR testsuite/115304 + * gcc.dg/vect/slp-gap-1.c: Require vect_unpack and vect_perm. + +2024-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR tree-optimization/115303 + * gcc.dg/vect/pr112325.c: Require vect_shift. + +2024-06-03 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/no-scevccp-outer-7.c: Adjust scanning for + succeeded analysis not interrupted by failure. + * gcc.dg/vect/no-scevccp-vect-iv-3.c: Likewise. + * gcc.dg/vect/vect-cond-reduc-4.c: Likewise. + * gcc.dg/vect/vect-live-2.c: Likewise. + * gcc.dg/vect/vect-outer-4c-big-array.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-s16a.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-u16a.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-u8a.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-u8b.c: Likewise. + * gcc.dg/vect/vect-reduc-pattern-1a.c: Likewise. + * gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Likewise. + * gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Likewise. + * gcc.dg/vect/vect-reduc-pattern-2a.c: Likewise. + * gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Likewise. + * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise. + +2024-06-03 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr115299.c: New test. + * gcc.target/i386/pr86722.c: Adjust testcase. + +2024-06-03 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx10_1-25.c: New test. + * gcc.target/i386/avx10_1-26.c: Ditto. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/apx-nf.c: Add test. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + + * gcc.target/i386/apx-nf.c: New test. + +2024-06-03 Lingling Kong <lingling.kong@intel.com> + Hongyu Wong <hongyu.wang@intel.com> + + * gcc.target/i386/apx-ndd.c: Fixed test. + +2024-06-03 Hu, Lin1 <lin1.hu@intel.com> + + PR target/113609 + * gcc.target/i386/pr113609-1.c: New test. + * gcc.target/i386/pr113609-2.c: Ditto. + +2024-06-02 Simon Martin <simon@nasilyan.com> + + PR c++/109958 + * g++.dg/overload/using6.C: New test. + +2024-06-01 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106203 + * c-c++-common/analyzer/allocation-size-1.c (test_9): Remove + xfail. + * c-c++-common/analyzer/allocation-size-2.c (test_8): Likewise. + * gcc.dg/analyzer/allocation-size-multiline-4.c: New test. + * gcc.dg/plugin/analyzer_cpython_plugin.c + (refcnt_stmt_finder::update_event_loc_info): New. + +2024-06-01 Georg-Johann Lay <avr@gjlay.de> + + PR target/115317 + * gcc.target/avr/torture/pr115317-isinf.c: New test. + +2024-06-01 Georg-Johann Lay <avr@gjlay.de> + + PR tree-optimization/115307 + * gcc.target/avr/torture/pr115307-isinf.c: New test. + +2024-06-01 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-10.c: New test. + +2024-06-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114867 + * g++.dg/modules/using-17_a.C: New test. + * g++.dg/modules/using-17_b.C: New test. + * g++.dg/modules/using-18_a.C: New test. + * g++.dg/modules/using-18_b.C: New test. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/unop/popcount-1.c: Adjust check + for zvbb. + * gcc.target/riscv/rvv/autovec/unop/popcount-run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/popcount-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/unop/popcount-3.c: New test. + * gcc.target/riscv/rvv/autovec/unop/popcount-template.h: New test. + * gcc.target/riscv/rvv/autovec/unop/clz-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/clz-run.c: New test. + * gcc.target/riscv/rvv/autovec/unop/clz-template.h: New test. + * gcc.target/riscv/rvv/autovec/unop/ctz-1.c: New test. + * gcc.target/riscv/rvv/autovec/unop/ctz-run.c: New test. + * gcc.target/riscv/rvv/autovec/unop/ctz-template.h: New test. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/binop/vandn-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vandn-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vandn-template.h: New test. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * lib/target-supports.exp: Add zvbb. + * gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_64-12-zvbb.c: New test. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/binop/vwsll-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vwsll-run.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vwsll-template.h: New test. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/base/pr115068.c: Add vwadd.wx/vwsub.wx + tests. + * gcc.target/riscv/rvv/base/pr115068-run.c: Include pr115068.c. + * gcc.target/riscv/rvv/base/vwaddsub-1.c: New test. + +2024-05-31 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/base/pr115068-run.c: New test. + * gcc.target/riscv/rvv/base/pr115068.c: New test. + +2024-05-31 Pengxuan Zheng <quic_pzheng@quicinc.com> + + * gcc.target/aarch64/vget_low_2.c: Add -mlittle-endian. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * gcc.dg/flex-array-counted-by-6.c: New test. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * gcc.dg/ubsan/flex-array-counted-by-bounds-2.c: New test. + * gcc.dg/ubsan/flex-array-counted-by-bounds-3.c: New test. + * gcc.dg/ubsan/flex-array-counted-by-bounds-4.c: New test. + * gcc.dg/ubsan/flex-array-counted-by-bounds.c: New test. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * gcc.dg/builtin-object-size-common.h: Add a new macro EXPECT. + * gcc.dg/flex-array-counted-by-3.c: New test. + * gcc.dg/flex-array-counted-by-4.c: New test. + * gcc.dg/flex-array-counted-by-5.c: New test. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * gcc.dg/flex-array-counted-by-2.c: New test. + +2024-05-31 Qing Zhao <qing.zhao@oracle.com> + + * gcc.dg/flex-array-counted-by.c: New test. + * gcc.dg/flex-array-counted-by-7.c: New test. + * gcc.dg/flex-array-counted-by-8.c: New test. + +2024-05-31 Uros Bizjak <ubizjak@gmail.com> + + PR target/115297 + * gcc.target/alpha/pr115297.c: New test. + +2024-05-31 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.dg/no_profile_instrument_function-attr-1.c: GCC/nvptx is + 'NO_DOT_IN_LABEL' but not 'NO_DOLLAR_IN_LABEL', so '$' may apper + in identifiers. + * lib/target-supports.exp + (check_effective_target_global_constructor): Enable for nvptx. + +2024-05-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115278 + * g++.dg/vect/pr115278.cc: New testcase. + +2024-05-31 Marc Poulhiès <poulhies@adacore.com> + + * ada/acats/tests/cxa/cxa4001.a: Use function result. + +2024-05-31 Martin Uecker <uecker@tugraz.at> + + * gcc.dg/gnu23-tag-alias-8.c: New test. + +2024-05-31 Martin Uecker <uecker@tugraz.at> + + PR tree-optimization/115157 + PR tree-optimization/115177 + * gcc.dg/enum-alias-1.c: New test. + * gcc.dg/enum-alias-2.c: New test. + * gcc.dg/enum-alias-3.c: New test. + * gcc.dg/enum-alias-4.c: New test. + +2024-05-30 Uros Bizjak <ubizjak@gmail.com> + + PR target/115102 + * gcc.target/i386/pr115102.c: New test. + +2024-05-30 Richard Sandiford <richard.sandiford@arm.com> + + PR rtl-optimization/115281 + * gfortran.dg/pr115281.f90: New test. + +2024-05-30 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/analyzer_cpython_plugin.c: Define INCLUDE_VECTOR. + * gcc.dg/plugin/analyzer_gil_plugin.c: Likewise. + * gcc.dg/plugin/analyzer_kernel_plugin.c: Likewise. + * gcc.dg/plugin/analyzer_known_fns_plugin.c: Likewise. + +2024-05-30 Alexandre Oliva <oliva@adacore.com> + + PR testsuite/101169 + * gcc.target/powerpc/fold-vec-extract-double.p7.c: Adjust addi + counts for ilp32. + * gcc.target/powerpc/fold-vec-extract-float.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-float.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-int.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-short.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise. + +2024-05-30 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr114125.c: New test. + +2024-05-30 liuhongt <hongtao.liu@intel.com> + + * gcc.dg/vect/pr112325.c: New test. + +2024-05-30 Alexandre Oliva <oliva@adacore.com> + + * lib/gcc-defs.exp (dg-additional-sources): Support target + selectors. Make it cumulative. + (dg-additional-files-options): Take dest and type. Note + unsupported additional sources when not linking and naming the + compiler output. Adjust source dirname prepending to cope + with leading blanks. + * lib/g++.exp (g++_target_compile): Pass dest and type on to + dg-additional-files-options. + * lib/gcc.exp (gcc_target_compile): Likewise. + * lib/gdc.exp (gdb_target_compile): Likewise. + * lib/gfortran.exp (gfortran_target_compile): Likewise. + * lib/go.exp (go_target_compile): Likewise. + * lib/obj-c++.exp (obj-c++_target_compile): Likewise. + * lib/objc.exp (objc_target_compile): Likewise. + * lib/rust.exp (rust_target_compile): Likewise. + * lib/profopt.exp (profopt-execute): Likewise-ish. + +2024-05-30 Jiawei <jiawei@iscas.ac.cn> + + * gcc.target/riscv/rvv/vsetvl/pr115214.c: New test. + +2024-05-29 Martin Uecker <uecker@tugraz.at> + + * gcc.dg/c23-tag-incomplete-alias-1.c: New test. + +2024-05-29 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/msa-builtins.c: Use 254 instead of 255 for + bseli.b, as `bseli.b $w0,$w1,255` is same as `or.v $w0,$w0,$w1`. + +2024-05-29 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115276 + * gm2/isolib/run/pass/testinittm.mod: New test. + +2024-05-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115224 + * gcc.dg/tree-ssa/bitops-8.c: New test. + +2024-05-29 Richard Sandiford <richard.sandiford@arm.com> + + PR target/115258 + * gcc.target/aarch64/pr115258.c: New test. + +2024-05-29 Jason Merrill <jason@redhat.com> + + PR c++/109753 + * g++.dg/opt/always_inline1.C: New test. + +2024-05-29 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-9.c: New test. + +2024-05-29 Jason Merrill <jason@redhat.com> + + * g++.dg/modules/dep-1_a.C + * g++.dg/modules/dep-1_b.C + * g++.dg/modules/dep-2.C: Change .c++m to .c++-module. + +2024-05-29 Oskari Pirhonen <xxc3ncoredxx@gmail.com> + + * g++.dg/spellcheck-stdlib.C: Add check for strerror. + * gcc.dg/spellcheck-stdlib-2.c: New test. + +2024-05-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115252 + * gcc.dg/vect/slp-gap-1.c: New testcase. + +2024-05-29 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114435 + * gcc.dg/vect/bb-slp-pr114435.c: New testcase. + +2024-05-29 Patrick Palka <ppalka@redhat.com> + + PR c++/115223 + * g++.dg/cpp0x/noexcept87.C: New test. + +2024-05-29 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/90069 + * gfortran.dg/class_76.f90: New test. + +2024-05-29 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114842 + * g++.dg/ext/pr85503.C: Replace powerpc_vsx_ok with powerpc_vsx, + move dg-options and dg-additional-options lines before + dg-require-effective-target lines when it doesn't cause any side + effect like note message. + * g++.dg/pr69667.C: Likewise. + * g++.target/powerpc/altivec-19.C: Likewise. + * g++.target/powerpc/pr101168.C: Likewise. + * g++.target/powerpc/pr65240-1.C: Likewise. + * g++.target/powerpc/pr65240-2.C: Likewise. + * g++.target/powerpc/pr65240-3.C: Likewise. + * g++.target/powerpc/pr65240-4.C: Likewise. + * g++.target/powerpc/pr65242.C: Likewise. + * g++.target/powerpc/pr67211.C: Likewise. + * g++.target/powerpc/pr71294.C: Likewise. + * g++.target/powerpc/pr84279.C: Likewise. + * g++.target/powerpc/pr93974.C: Likewise. + * g++.target/powerpc/undef-bool-1.C: Likewise. + * gcc.dg/gomp/pr82374.c: Likewise. + * gcc.dg/vect/costmodel/ppc/costmodel-slp-perm.c: Likewise. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-reversed.c: Likewise. + * gcc.dg/vect/costmodel/ppc/costmodel-vect-store-2.c: Likewise. + * gcc.dg/vect/pr109011-1.c: Likewise. + * gcc.dg/vect/pr109011-2.c: Likewise. + * gcc.dg/vect/pr109011-3.c: Likewise. + * gcc.dg/vect/pr109011-4.c: Likewise. + * gcc.dg/vect/pr109011-5.c: Likewise. + * gcc.dg/vmx/extract-vsx.c: Likewise. + * gcc.dg/vmx/insert-vsx.c: Likewise. + * gcc.dg/vmx/ld-vsx.c: Likewise. + * gcc.dg/vmx/ldl-vsx.c: Likewise. + * gcc.dg/vmx/merge-vsx.c: Likewise. + * gcc.dg/vmx/splat-vsx.c: Likewise. + * gcc.dg/vmx/st-vsx.c: Likewise. + * gcc.dg/vmx/stl-vsx.c: Likewise. + * gcc.target/powerpc/altivec-2-runnable.c: Likewise. + * gcc.target/powerpc/altivec-37.c: Likewise. + * gcc.target/powerpc/altivec_vld_vst_addr-2.c: Likewise. + * gcc.target/powerpc/amo1.c: Likewise. + * gcc.target/powerpc/atomic-p7.c: Likewise. + * gcc.target/powerpc/atomic-p8.c: Likewise. + * gcc.target/powerpc/atomic_load_store-p8.c: Likewise. + * gcc.target/powerpc/bcd-1.c: Likewise. + * gcc.target/powerpc/bcd-2.c: Likewise. + * gcc.target/powerpc/bcd-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-6.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-9.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-8.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-exp-0.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-sig-0.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-sig-1.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-0.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-4.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-5.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-0.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-1.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise. + * gcc.target/powerpc/bmi2-pext64-1a.c: Likewise. + * gcc.target/powerpc/bool2-p7.c: Likewise. + * gcc.target/powerpc/bool2-p8.c: Likewise. + * gcc.target/powerpc/bool3-p7.c: Likewise. + * gcc.target/powerpc/bool3-p8.c: Likewise. + * gcc.target/powerpc/builtins-1.c: Likewise. + * gcc.target/powerpc/builtins-3-p8.c: Likewise. + * gcc.target/powerpc/builtins-3-p9.c: Likewise. + * gcc.target/powerpc/builtins-4.c: Likewise. + * gcc.target/powerpc/builtins-5.c: Likewise. + * gcc.target/powerpc/builtins-9.c: Likewise. + * gcc.target/powerpc/byte-in-either-range-0.c: Likewise. + * gcc.target/powerpc/byte-in-either-range-1.c: Likewise. + * gcc.target/powerpc/byte-in-range-0.c: Likewise. + * gcc.target/powerpc/byte-in-range-1.c: Likewise. + * gcc.target/powerpc/byte-in-set-0.c: Likewise. + * gcc.target/powerpc/byte-in-set-1.c: Likewise. + * gcc.target/powerpc/byte-in-set-2.c: Likewise. + * gcc.target/powerpc/clone1.c: Likewise. + * gcc.target/powerpc/conv-vectorize-1.c: Likewise. + * gcc.target/powerpc/conv-vectorize-2.c: Likewise. + * gcc.target/powerpc/crypto-builtin-1.c: Likewise. + * gcc.target/powerpc/crypto-builtin-2.c: Likewise. + * gcc.target/powerpc/ctz-3.c: Likewise. + * gcc.target/powerpc/ctz-4.c: Likewise. + * gcc.target/powerpc/darn-0.c: Likewise. + * gcc.target/powerpc/darn-1.c: Likewise. + * gcc.target/powerpc/darn-2.c: Likewise. + * gcc.target/powerpc/dform-1.c: Likewise. + * gcc.target/powerpc/dform-2.c: Likewise. + * gcc.target/powerpc/dform-3.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-0.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-10.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-13.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-15.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-16.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-18.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-20.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-21.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-23.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-25.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-26.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-28.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-3.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-30.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-31.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-33.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-35.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-36.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-38.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-40.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-41.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-43.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-45.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-46.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-48.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-5.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-50.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-51.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-53.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-55.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-56.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-58.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-6.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-60.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-61.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-63.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-65.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-66.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-68.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-70.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-71.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-73.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-75.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-76.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-78.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-8.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise. + * gcc.target/powerpc/direct-move-double1.c: Likewise. + * gcc.target/powerpc/direct-move-float1.c: Likewise. + * gcc.target/powerpc/direct-move-float3.c: Likewise. + * gcc.target/powerpc/direct-move-long1.c: Likewise. + * gcc.target/powerpc/direct-move-vector.c: Likewise. + * gcc.target/powerpc/direct-move-vint1.c: Likewise. + * gcc.target/powerpc/divkc3-2.c: Likewise. + * gcc.target/powerpc/divkc3-3.c: Likewise. + * gcc.target/powerpc/extend-divide-1.c: Likewise. + * gcc.target/powerpc/extend-divide-2.c: Likewise. + * gcc.target/powerpc/float128-3.c: Likewise. + * gcc.target/powerpc/float128-3b.c: Likewise. + * gcc.target/powerpc/float128-5.c: Likewise. + * gcc.target/powerpc/float128-fma1.c: Likewise. + * gcc.target/powerpc/float128-hw.c: Likewise. + * gcc.target/powerpc/float128-hw10.c: Likewise. + * gcc.target/powerpc/float128-hw2.c: Likewise. + * gcc.target/powerpc/float128-hw3.c: Likewise. + * gcc.target/powerpc/float128-hw4.c: Likewise. + * gcc.target/powerpc/float128-hw5.c: Likewise. + * gcc.target/powerpc/float128-hw6.c: Likewise. + * gcc.target/powerpc/float128-hw7.c: Likewise. + * gcc.target/powerpc/float128-hw8.c: Likewise. + * gcc.target/powerpc/float128-hw9.c: Likewise. + * gcc.target/powerpc/float128-odd.c: Likewise. + * gcc.target/powerpc/float128-sqrt1.c: Likewise. + * gcc.target/powerpc/float128-type-1.c: Likewise. + * gcc.target/powerpc/float128-type-2.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int-fwrapv.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-add-4.c: Likewise. + * gcc.target/powerpc/fold-vec-add-6.c: Likewise. + * gcc.target/powerpc/fold-vec-add-7.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-char.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-char.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-double.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-float.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-int.h: Likewise. + * gcc.target/powerpc/fold-vec-cmp-int.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-int.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-int.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-short.h: Likewise. + * gcc.target/powerpc/fold-vec-cmp-short.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-short.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-cntlz-char.c: Likewise. + * gcc.target/powerpc/fold-vec-cntlz-int.c: Likewise. + * gcc.target/powerpc/fold-vec-cntlz-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-cntlz-short.c: Likewise. + * gcc.target/powerpc/fold-vec-div-float.c: Likewise. + * gcc.target/powerpc/fold-vec-div-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-div-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-char.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-char.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-char.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-double.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-float.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-float.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-float.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-int.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-longlong.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-short.p7.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-short.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-char-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-double.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-ld-double.c: Likewise. + * gcc.target/powerpc/fold-vec-ld-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-ld-misc.c: Likewise. + * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c: Likewise. + * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c: Likewise. + * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c: Likewise. + * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c: Likewise. + * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_xl-char.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_xl-double.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_xl-float.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_xl-int.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-load-vec_xl-short.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ands-char.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ands-int.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ands-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ands-short.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-char.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-float.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-int.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-short.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ors-char.c: Likewise. + * 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. + * gcc.target/powerpc/fold-vec-madd-double.c: Likewise. + * gcc.target/powerpc/fold-vec-madd-float.c: Likewise. + * gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-mergeeo-int.c: Likewise. + * gcc.target/powerpc/fold-vec-mergeeo-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-mergehl-double.c: Likewise. + * gcc.target/powerpc/fold-vec-mergehl-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-mergehl-pixel.c: Likewise. + * gcc.target/powerpc/fold-vec-minmax-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-minmax-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-float.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-int.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-int128-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-int128-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-char.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-int.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-int.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-int.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-longlong.h: Likewise. + * gcc.target/powerpc/fold-vec-neg-longlong.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-longlong.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-short.c: Likewise. + * gcc.target/powerpc/fold-vec-pack-double.c: Likewise. + * gcc.target/powerpc/fold-vec-pack-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-perm-double.c: Likewise. + * gcc.target/powerpc/fold-vec-perm-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-select-double.c: Likewise. + * gcc.target/powerpc/fold-vec-select-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-left-longlong-fwrapv.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-left-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-16.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-misc-invalid.c: Likewise. + * gcc.target/powerpc/fold-vec-splat-pixel.c: Likewise. + * gcc.target/powerpc/fold-vec-splats-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-splats-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-st-double.c: Likewise. + * gcc.target/powerpc/fold-vec-st-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-st-pixel.c: Likewise. + * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c: Likewise. + * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c: Likewise. + * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c: Likewise. + * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c: Likewise. + * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_xst-char.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_xst-double.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_xst-float.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_xst-int.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-store-vec_xst-short.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-int128.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-unpack-float.c: Likewise. + * gcc.target/powerpc/fold-vec-unpack-int.c: Likewise. + * gcc.target/powerpc/fusion.c: Likewise. + * gcc.target/powerpc/fusion2.c: Likewise. + * gcc.target/powerpc/gnuattr1.c: Likewise. + * gcc.target/powerpc/gnuattr2.c: Likewise. + * gcc.target/powerpc/gnuattr3.c: Likewise. + * gcc.target/powerpc/mul-vectorize-1.c: Likewise. + * gcc.target/powerpc/mulkc3-2.c: Likewise. + * gcc.target/powerpc/mulkc3-3.c: Likewise. + * gcc.target/powerpc/p8-vec-xl-xst-v2.c: Likewise. + * gcc.target/powerpc/p8-vec-xl-xst.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-1.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-2.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-3.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-4.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-5.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-6.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-7.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-8.c: Likewise. + * gcc.target/powerpc/p8vector-fp.c: Likewise. + * gcc.target/powerpc/p8vector-int128-1.c: Likewise. + * gcc.target/powerpc/p8vector-ldst.c: Likewise. + * gcc.target/powerpc/p8vector-vbpermq.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-1.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-2.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-3.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-4.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-5.c: Likewise. + * gcc.target/powerpc/p9-dimode1.c: Likewise. + * gcc.target/powerpc/p9-dimode2.c: Likewise. + * gcc.target/powerpc/p9-extract-1.c: Likewise. + * gcc.target/powerpc/p9-extract-2.c: Likewise. + * gcc.target/powerpc/p9-extract-3.c: Likewise. + * gcc.target/powerpc/p9-extract-4.c: Likewise. + * gcc.target/powerpc/p9-fpcvt-1.c: Likewise. + * gcc.target/powerpc/p9-fpcvt-2.c: Likewise. + * gcc.target/powerpc/p9-fpcvt-3.c: Likewise. + * gcc.target/powerpc/p9-lxvx-stxvx-1.c: Likewise. + * gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise. + * gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise. + * gcc.target/powerpc/p9-minmax-1.c: Likewise. + * gcc.target/powerpc/p9-minmax-2.c: Likewise. + * gcc.target/powerpc/p9-minmax-3.c: Likewise. + * gcc.target/powerpc/p9-permute.c: Likewise. + * gcc.target/powerpc/p9-splat-1.c: Likewise. + * gcc.target/powerpc/p9-splat-2.c: Likewise. + * gcc.target/powerpc/p9-splat-3.c: Likewise. + * gcc.target/powerpc/p9-splat-4.c: Likewise. + * gcc.target/powerpc/p9-splat-5.c: Likewise. + * gcc.target/powerpc/p9-vbpermd.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-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-vneg.c: Likewise. + * gcc.target/powerpc/p9-vparity.c: Likewise. + * gcc.target/powerpc/p9-vpermr.c: Likewise. + * gcc.target/powerpc/p9-xxbr-1.c: Likewise. + * gcc.target/powerpc/p9-xxbr-2.c: Likewise. + * gcc.target/powerpc/p9-xxbr-3.c: Likewise. + * gcc.target/powerpc/ppc-fma-1.c: Likewise. + * gcc.target/powerpc/ppc-fma-2.c: Likewise. + * gcc.target/powerpc/ppc-fortran/pr102767.f90: Likewise. + * gcc.target/powerpc/ppc-fpconv-1.c: Likewise. + * gcc.target/powerpc/ppc-fpconv-10.c: Likewise. + * gcc.target/powerpc/ppc-fpconv-5.c: Likewise. + * gcc.target/powerpc/ppc-fpconv-9.c: Likewise. + * gcc.target/powerpc/ppc-round.c: Likewise. + * gcc.target/powerpc/ppc-round2.c: Likewise. + * gcc.target/powerpc/ppc-round3.c: Likewise. + * gcc.target/powerpc/pr100866-1.c: Likewise. + * gcc.target/powerpc/pr100866-2.c: Likewise. + * gcc.target/powerpc/pr102868.c: Likewise. + * gcc.target/powerpc/pr103124.c: Likewise. + * gcc.target/powerpc/pr103605-1.c: Likewise. + * gcc.target/powerpc/pr103605-2.c: Likewise. + * gcc.target/powerpc/pr104015-1.c: Likewise. + * gcc.target/powerpc/pr104124.c: Likewise. + * gcc.target/powerpc/pr104239-1.c: Likewise. + * gcc.target/powerpc/pr104239-2.c: Likewise. + * gcc.target/powerpc/pr104239-3.c: Likewise. + * gcc.target/powerpc/pr104482.c: Likewise. + * gcc.target/powerpc/pr105271.c: Likewise. + * gcc.target/powerpc/pr106769-p8.c: Likewise. + * gcc.target/powerpc/pr106769-p9.c: Likewise. + * gcc.target/powerpc/pr107412.c: Likewise. + * gcc.target/powerpc/pr108396.c: Likewise. + * gcc.target/powerpc/pr109069-2.c: Likewise. + * gcc.target/powerpc/pr109082.c: Likewise. + * gcc.target/powerpc/pr110429.c: Likewise. + * gcc.target/powerpc/pr111449-1.c: Likewise. + * gcc.target/powerpc/pr111449-2.c: Likewise. + * gcc.target/powerpc/pr113950.c: Likewise. + * gcc.target/powerpc/pr42747.c: Likewise. + * gcc.target/powerpc/pr43154.c: Likewise. + * gcc.target/powerpc/pr47755.c: Likewise. + * gcc.target/powerpc/pr47862.c: Likewise. + * gcc.target/powerpc/pr48053-1.c: Likewise. + * gcc.target/powerpc/pr48053-2.c: Likewise. + * gcc.target/powerpc/pr48053-3.c: Likewise. + * gcc.target/powerpc/pr48192.c: Likewise. + * gcc.target/powerpc/pr48226.c: Likewise. + * gcc.target/powerpc/pr48258-1.c: Likewise. + * gcc.target/powerpc/pr48258-2.c: Likewise. + * gcc.target/powerpc/pr48857.c: Likewise. + * gcc.target/powerpc/pr52199.c: Likewise. + * gcc.target/powerpc/pr53487.c: Likewise. + * gcc.target/powerpc/pr56605.c: Likewise. + * gcc.target/powerpc/pr57150.c: Likewise. + * gcc.target/powerpc/pr58673-1.c: Likewise. + * gcc.target/powerpc/pr58673-2.c: Likewise. + * gcc.target/powerpc/pr59054.c: Likewise. + * gcc.target/powerpc/pr60203.c: Likewise. + * gcc.target/powerpc/pr60676.c: Likewise. + * gcc.target/powerpc/pr64019.c: Likewise. + * gcc.target/powerpc/pr66144-1.c: Likewise. + * gcc.target/powerpc/pr66144-2.c: Likewise. + * gcc.target/powerpc/pr66144-3.c: Likewise. + * gcc.target/powerpc/pr67808.c: Likewise. + * gcc.target/powerpc/pr68163.c: Likewise. + * gcc.target/powerpc/pr70243.c: Likewise. + * gcc.target/powerpc/pr70669.c: Likewise. + * gcc.target/powerpc/pr71186.c: Likewise. + * gcc.target/powerpc/pr71309.c: Likewise. + * gcc.target/powerpc/pr71656-1.c: Likewise. + * gcc.target/powerpc/pr71656-2.c: Likewise. + * gcc.target/powerpc/pr71670.c: Likewise. + * gcc.target/powerpc/pr71680.c: Likewise. + * gcc.target/powerpc/pr71698.c: Likewise. + * gcc.target/powerpc/pr71720.c: Likewise. + * gcc.target/powerpc/pr71763.c: Likewise. + * gcc.target/powerpc/pr71977-1.c: Likewise. + * gcc.target/powerpc/pr71977-2.c: Likewise. + * gcc.target/powerpc/pr72717.c: Likewise. + * gcc.target/powerpc/pr72804.c: Likewise. + * gcc.target/powerpc/pr72853.c: Likewise. + * gcc.target/powerpc/pr77289.c: Likewise. + * gcc.target/powerpc/pr78056-1.c: Likewise. + * gcc.target/powerpc/pr78056-3.c: Likewise. + * gcc.target/powerpc/pr78102.c: Likewise. + * gcc.target/powerpc/pr78543.c: Likewise. + * gcc.target/powerpc/pr78604.c: Likewise. + * gcc.target/powerpc/pr78658.c: Likewise. + * gcc.target/powerpc/pr78953.c: Likewise. + * gcc.target/powerpc/pr79004.c: Likewise. + * gcc.target/powerpc/pr79038-1.c: Likewise. + * gcc.target/powerpc/pr79179.c: Likewise. + * gcc.target/powerpc/pr79251.p7.c: Likewise. + * gcc.target/powerpc/pr79251.p8.c: Likewise. + * gcc.target/powerpc/pr79251.p9.c: Likewise. + * gcc.target/powerpc/pr79354.c: Likewise. + * gcc.target/powerpc/pr79544.c: Likewise. + * gcc.target/powerpc/pr79799-1.c: Likewise. + * gcc.target/powerpc/pr79799-2.c: Likewise. + * gcc.target/powerpc/pr79799-3.c: Likewise. + * gcc.target/powerpc/pr79799-5.c: Likewise. + * gcc.target/powerpc/pr79907.c: Likewise. + * gcc.target/powerpc/pr79951.c: Likewise. + * gcc.target/powerpc/pr80315-1.c: Likewise. + * gcc.target/powerpc/pr80315-2.c: Likewise. + * gcc.target/powerpc/pr80315-3.c: Likewise. + * gcc.target/powerpc/pr80315-4.c: Likewise. + * gcc.target/powerpc/pr80510-1.c: Likewise. + * gcc.target/powerpc/pr80510-2.c: Likewise. + * gcc.target/powerpc/pr80695-p8.c: Likewise. + * gcc.target/powerpc/pr80695-p9.c: Likewise. + * gcc.target/powerpc/pr80718.c: Likewise. + * gcc.target/powerpc/pr81348.c: Likewise. + * gcc.target/powerpc/pr81622.c: Likewise. + * gcc.target/powerpc/pr81959.c: Likewise. + * gcc.target/powerpc/pr82015.c: Likewise. + * gcc.target/powerpc/pr82748-1.c: Likewise. + * gcc.target/powerpc/pr82748-2.c: Likewise. + * gcc.target/powerpc/pr83399.c: Likewise. + * gcc.target/powerpc/pr83862.c: Likewise. + * gcc.target/powerpc/pr84154-1.c: Likewise. + * gcc.target/powerpc/pr84154-2.c: Likewise. + * gcc.target/powerpc/pr84154-3.c: Likewise. + * gcc.target/powerpc/pr84220-sld2.c: Likewise. + * gcc.target/powerpc/pr84220-sldw.c: Likewise. + * gcc.target/powerpc/pr84220-xxperm.c: Likewise. + * gcc.target/powerpc/pr84220-xxsld.c: Likewise. + * gcc.target/powerpc/pr84226.c: Likewise. + * gcc.target/powerpc/pr85456.c: Likewise. + * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Likewise. + * gcc.target/powerpc/pr86731-longlong.c: Likewise. + * gcc.target/powerpc/pr88309.c: Likewise. + * gcc.target/powerpc/pr88558-p8.c: Likewise. + * gcc.target/powerpc/pr88845.c: Likewise. + * gcc.target/powerpc/pr88965.c: Likewise. + * gcc.target/powerpc/pr90763.c: Likewise. + * gcc.target/powerpc/pr91903.c: Likewise. + * gcc.target/powerpc/pr92398.p9+.c: Likewise. + * gcc.target/powerpc/pr92398.p9-.c: Likewise. + * gcc.target/powerpc/pr92923-1.c: Likewise. + * gcc.target/powerpc/pr92923-2.c: Likewise. + * gcc.target/powerpc/pr93073.c: Likewise. + * gcc.target/powerpc/pr93658.c: Likewise. + * gcc.target/powerpc/pr96125.c: Likewise. + * gcc.target/powerpc/pr96139-a.c: Likewise. + * gcc.target/powerpc/pr96139-b.c: Likewise. + * gcc.target/powerpc/pr96933-1.c: Likewise. + * gcc.target/powerpc/pr96933-2.c: Likewise. + * gcc.target/powerpc/pr97019.c: Likewise. + * gcc.target/powerpc/pr98914.c: Likewise. + * gcc.target/powerpc/pragma_misc9.c: Likewise. + * gcc.target/powerpc/pure-builtin-redundant-load.c: Likewise. + * gcc.target/powerpc/recip-5.c: Likewise. + * gcc.target/powerpc/sad-vectorize-1.c: Likewise. + * gcc.target/powerpc/sad-vectorize-2.c: Likewise. + * gcc.target/powerpc/sd-vsx.c: Likewise. + * gcc.target/powerpc/signbit-1.c: Likewise. + * gcc.target/powerpc/signbit-2.c: Likewise. + * gcc.target/powerpc/sldoi_to_mov.c: Likewise. + * gcc.target/powerpc/swaps-p8-1.c: Likewise. + * gcc.target/powerpc/swaps-p8-12.c: Likewise. + * gcc.target/powerpc/swaps-p8-14.c: Likewise. + * gcc.target/powerpc/swaps-p8-15.c: Likewise. + * gcc.target/powerpc/swaps-p8-16.c: Likewise. + * gcc.target/powerpc/swaps-p8-17.c: Likewise. + * gcc.target/powerpc/swaps-p8-18.c: Likewise. + * gcc.target/powerpc/swaps-p8-19.c: Likewise. + * gcc.target/powerpc/swaps-p8-2.c: Likewise. + * gcc.target/powerpc/swaps-p8-22.c: Likewise. + * gcc.target/powerpc/swaps-p8-23.c: Likewise. + * gcc.target/powerpc/swaps-p8-24.c: Likewise. + * gcc.target/powerpc/swaps-p8-25.c: Likewise. + * gcc.target/powerpc/swaps-p8-26.c: Likewise. + * gcc.target/powerpc/swaps-p8-27.c: Likewise. + * gcc.target/powerpc/swaps-p8-3.c: Likewise. + * gcc.target/powerpc/swaps-p8-30.c: Likewise. + * gcc.target/powerpc/swaps-p8-33.c: Likewise. + * gcc.target/powerpc/swaps-p8-36.c: Likewise. + * gcc.target/powerpc/swaps-p8-39.c: Likewise. + * gcc.target/powerpc/swaps-p8-4.c: Likewise. + * gcc.target/powerpc/swaps-p8-42.c: Likewise. + * gcc.target/powerpc/swaps-p8-45.c: Likewise. + * gcc.target/powerpc/swaps-p8-5.c: Likewise. + * gcc.target/powerpc/undef-bool-2.c: Likewise. + * gcc.target/powerpc/unpack-vectorize-2.c: Likewise. + * gcc.target/powerpc/unpack-vectorize-3.c: Likewise. + * gcc.target/powerpc/upper-regs-df.c: Likewise. + * gcc.target/powerpc/upper-regs-sf.c: Likewise. + * gcc.target/powerpc/vadsdu-0.c: Likewise. + * gcc.target/powerpc/vadsdu-1.c: Likewise. + * gcc.target/powerpc/vadsdu-2.c: Likewise. + * gcc.target/powerpc/vadsdu-3.c: Likewise. + * gcc.target/powerpc/vadsdu-4.c: Likewise. + * gcc.target/powerpc/vadsdu-5.c: Likewise. + * gcc.target/powerpc/vadsdub-1.c: Likewise. + * gcc.target/powerpc/vadsdub-2.c: Likewise. + * gcc.target/powerpc/vadsduh-1.c: Likewise. + * gcc.target/powerpc/vadsduh-2.c: Likewise. + * gcc.target/powerpc/vadsduw-1.c: Likewise. + * gcc.target/powerpc/vadsduw-2.c: Likewise. + * gcc.target/powerpc/vec-cmp-sel.c: Likewise. + * gcc.target/powerpc/vec-cmp.c: Likewise. + * gcc.target/powerpc/vec-extract-1.c: Likewise. + * gcc.target/powerpc/vec-extract-2.c: Likewise. + * gcc.target/powerpc/vec-extract-3.c: Likewise. + * gcc.target/powerpc/vec-extract-4.c: Likewise. + * gcc.target/powerpc/vec-extract-5.c: Likewise. + * gcc.target/powerpc/vec-extract-6.c: Likewise. + * gcc.target/powerpc/vec-extract-7.c: Likewise. + * gcc.target/powerpc/vec-extract-8.c: Likewise. + * gcc.target/powerpc/vec-extract-9.c: Likewise. + * gcc.target/powerpc/vec-init-10.c: Likewise. + * gcc.target/powerpc/vec-init-3.c: Likewise. + * gcc.target/powerpc/vec-init-6.c: Likewise. + * gcc.target/powerpc/vec-init-7.c: Likewise. + * gcc.target/powerpc/vec-minmax-1.c: Likewise. + * gcc.target/powerpc/vec-minmax-2.c: Likewise. + * gcc.target/powerpc/vec-mul.c: Likewise. + * gcc.target/powerpc/vec-perm-ctor.c: Likewise. + * gcc.target/powerpc/vec-set-char.c: Likewise. + * gcc.target/powerpc/vec-set-int.c: Likewise. + * gcc.target/powerpc/vec-set-short.c: Likewise. + * gcc.target/powerpc/vec_reve_1.c: Likewise. + * gcc.target/powerpc/vec_reve_2.c: Likewise. + * gcc.target/powerpc/vector_float.c: Likewise. + * gcc.target/powerpc/versioned-copy-loop.c: Likewise. + * gcc.target/powerpc/vslv-0.c: Likewise. + * gcc.target/powerpc/vslv-1.c: Likewise. + * gcc.target/powerpc/vsrv-0.c: Likewise. + * gcc.target/powerpc/vsrv-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-10.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-11.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-12.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-13.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-9.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-11.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-12.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-13.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-9.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-10.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-11.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-12.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-9.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-10.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-11.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-9.c: Likewise. + * gcc.target/powerpc/vsx-13.c: Likewise. + * gcc.target/powerpc/vsx-7.c: Likewise. + * gcc.target/powerpc/vsx-builtin-1.c: Likewise. + * gcc.target/powerpc/vsx-builtin-2.c: Likewise. + * gcc.target/powerpc/vsx-builtin-3.c: Likewise. + * gcc.target/powerpc/vsx-builtin-4.c: Likewise. + * gcc.target/powerpc/vsx-builtin-5.c: Likewise. + * gcc.target/powerpc/vsx-builtin-6.c: Likewise. + * gcc.target/powerpc/vsx-builtin-7.c: Likewise. + * gcc.target/powerpc/vsx-builtin-8.c: Likewise. + * gcc.target/powerpc/vsx-builtin-msum.c: Likewise. + * gcc.target/powerpc/vsx-extract-1.c: Likewise. + * gcc.target/powerpc/vsx-extract-2.c: Likewise. + * gcc.target/powerpc/vsx-extract-3.c: Likewise. + * gcc.target/powerpc/vsx-extract-4.c: Likewise. + * gcc.target/powerpc/vsx-extract-5.c: Likewise. + * gcc.target/powerpc/vsx-extract-6.c: Likewise. + * gcc.target/powerpc/vsx-extract-7.c: Likewise. + * gcc.target/powerpc/vsx-float0.c: Likewise. + * gcc.target/powerpc/vsx-himode.c: Likewise. + * gcc.target/powerpc/vsx-himode2.c: Likewise. + * gcc.target/powerpc/vsx-himode3.c: Likewise. + * gcc.target/powerpc/vsx-mass-1.c: Likewise. + * gcc.target/powerpc/vsx-qimode.c: Likewise. + * gcc.target/powerpc/vsx-qimode2.c: Likewise. + * gcc.target/powerpc/vsx-qimode3.c: Likewise. + * gcc.target/powerpc/vsx-sfminmax.c: Likewise. + * gcc.target/powerpc/vsx-simode.c: Likewise. + * gcc.target/powerpc/vsx-simode2.c: Likewise. + * gcc.target/powerpc/vsx-simode3.c: Likewise. + * gcc.target/powerpc/vsx-vector-1.c: Likewise. + * gcc.target/powerpc/vsx-vector-2.c: Likewise. + * gcc.target/powerpc/vsx-vector-3.c: Likewise. + * gcc.target/powerpc/vsx-vector-4.c: Likewise. + * gcc.target/powerpc/vsx-vector-6-func-1op.c: Likewise. + * gcc.target/powerpc/vsx-vector-6-func-2lop.c: Likewise. + * gcc.target/powerpc/vsx-vector-6-func-2op.c: Likewise. + * gcc.target/powerpc/vsx-vector-6-func-3op.c: Likewise. + * gcc.target/powerpc/vsx-vector-6-func-cmp-all.c: Likewise. + * gcc.target/powerpc/vsx-vector-6-func-cmp.c: Likewise. + * gcc.target/powerpc/vsx-vector-7.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-1.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-2.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-3.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-4.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-5.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-6.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-7.c: Likewise. + * gcc.target/powerpc/vsx-vectorize-8.c: Likewise. + * gcc.target/powerpc/vsxcopy.c: Likewise. + * gfortran.dg/nint_p7.f90: Likewise. + * gfortran.dg/pr102860.f90: Likewise. + +2024-05-29 Kewen Lin <linkw@linux.ibm.com> + + PR target/114846 + * gcc.target/powerpc/pr114846.c: New test. + +2024-05-28 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr67325.c: New test. + +2024-05-28 Marek Polacek <polacek@redhat.com> + + PR c++/109396 + * g++.dg/warn/Wself-move2.C: New test. + +2024-05-28 Andrew MacLeod <amacleod@redhat.com> + + PR tree-optimization/115221 + * gcc.dg/pr115221.c: New. + +2024-05-28 Andrew MacLeod <amacleod@redhat.com> + + * gcc.dg/Wstringop-overflow-10.c: Add truncating warning. + +2024-05-28 Tobias Burnus <tburnus@baylibre.com> + + * c-c++-common/gomp/lastprivate-conditional-1.c: Remove + '{ dg-prune-output "not supported yet" }'. + * c-c++-common/gomp/requires-1.c: Likewise. + * c-c++-common/gomp/requires-2.c: Likewise. + * c-c++-common/gomp/reverse-offload-1.c: Likewise. + * g++.dg/gomp/requires-1.C: Likewise. + * gfortran.dg/gomp/requires-1.f90: Likewise. + * gfortran.dg/gomp/requires-2.f90: Likewise. + * gfortran.dg/gomp/requires-4.f90: Likewise. + * gfortran.dg/gomp/requires-5.f90: Likewise. + * gfortran.dg/gomp/requires-6.f90: Likewise. + * gfortran.dg/gomp/requires-7.f90: Likewise. + +2024-05-28 Lyut Nersisyan <lyut.nersisyan@gmail.com> + + * gcc.target/riscv/pack32.c: New test. + * gcc.target/riscv/pack64.c: New test. + * gcc.target/riscv/packh32.c: New test. + * gcc.target/riscv/packh64.c: New test. + * gcc.target/riscv/packw.c: New test. + Co-authored-by: Jeffrey A Law <jlaw@ventanamicro.com> + +2024-05-28 Richard Biener <rguenther@suse.de> + + PR target/115254 + * gcc.dg/vect/vect-gather-4.c: Adjust dump scan. + +2024-05-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115236 + * gcc.dg/pr115236.c: New testcase. + +2024-05-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115254 + * gcc.dg/vect/slp-cond-2-big-array.c: Expect 4 times SLP. + * gcc.dg/vect/slp-cond-2.c: Likewise. + +2024-05-28 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/tree-ssa/bitops-9.c: Look at cdcde1 rather than optmization. + +2024-05-27 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115238 + * gcc.dg/tree-ssa/bitops-9.c: New test. + +2024-05-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115220 + PR tree-optimization/115226 + * gcc.dg/torture/pr115220.c: New testcase. + * gcc.dg/torture/pr115226.c: New testcase. + +2024-05-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115232 + * g++.dg/pr115232.C: New testcase. + +2024-05-27 Simon Martin <simartin@gcc.gnu.org> + + PR c++/105229 + * g++.dg/parse/crash72.C: New test. + +2024-05-27 Liao Shihua <shihua@iscas.ac.cn> + + * gcc.target/riscv/zmmul-3.c: New test. + +2024-05-27 Lyut Nersisyan <lyut.nersisyan@gmail.com> + + * gcc.target/riscv/and-shift32.c: New test. + * gcc.target/riscv/and-shift64.c: New test. + Co-authored-by: Jeffrey A Law <jlaw@ventanamicro.com> + +2024-05-27 Levy Hsu <admin@levyhsu.com> + H.J. Lu <hjl.tools@gmail.com> + + PR target/115146 + * g++.target/i386/pr107563-a.C: Append '-mno-sse3' to compile option + to avoid test failure on hosts with SSE3 support. + * g++.target/i386/pr107563-b.C: Append '-mno-sse3' to compile option + to avoid test failure on hosts with SSE3 support. + * gcc.target/i386/pr115146.c: New test. + +2024-05-26 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-8.c: New test. + +2024-05-26 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-7.c: New test. + +2024-05-25 Jeff Law <jlaw@ventanamicro.com> + + * g++.target/riscv/redundant-bitmap-1.C: New test. + * g++.target/riscv/redundant-bitmap-2.C: New test. + * g++.target/riscv/redundant-bitmap-3.C: New test. + * g++.target/riscv/redundant-bitmap-4.C: New test. + +2024-05-25 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/102345 + * g++.dg/modules/enum-12.C: Test for updated error. + +2024-05-24 Harald Anlauf <anlauf@gmx.de> + Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/93635 + * gfortran.dg/c-interop/c1255-2.f90: Adjust pattern. + * gfortran.dg/pr87907.f90: Likewise. + * gfortran.dg/pr93635.f90: New test. + +2024-05-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/86100 + * gfortran.dg/bounds_check_25.f90: New test. + +2024-05-24 Martin Uecker <uecker@tugraz.at> + + PR c/114831 + * gcc.dg/pr114831-1.c: New test. + * gcc.dg/pr114831-2.c: New test. + * gcc.dg/gnu23-varmod-1.c: New test. + * gcc.dg/gnu23-varmod-2.c: New test. + +2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/115200 + * g++.dg/modules/mod-decl-1.C: Update error messages. + * g++.dg/modules/mod-decl-6.C: New test. + * g++.dg/modules/mod-decl-7.C: New test. + * g++.dg/modules/mod-decl-8.C: New test. + +2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/linkage-1_a.C: Remove anonymous type test. + * g++.dg/modules/linkage-1_b.C: Likewise. + * g++.dg/modules/linkage-1_c.C: Likewise. + * g++.dg/modules/linkage-2.C: Add note about anonymous types. + +2024-05-24 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-6.c: New test. + +2024-05-24 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/115192 + * gcc.dg/vect/pr115192.c: New test. + +2024-05-24 Manolis Tsamis <manolis.tsamis@vrull.eu> + + * gcc.dg/fold-perm-2.c: New test. + +2024-05-24 Alexandre Oliva <oliva@adacore.com> + Kewen Lin <linkw@linux.ibm.com> + + * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c (N): Tweak. + +2024-05-24 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect-gather-4.c: Scan for not vectorizing using + SLP. + +2024-05-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115144 + * gcc.dg/tree-ssa/ssa-sink-22.c: New testcase. + +2024-05-24 liuhongt <hongtao.liu@intel.com> + + PR target/114148 + * gcc.target/i386/pr106010-7b.c: Refine testcase. + +2024-05-24 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/pr97428.c: Expect a single store SLP group. + * gcc.dg/vect/slp-11c.c: Likewise, if !vect_load_lanes. + * gcc.dg/vect/vect-complex-5.c: Likewise. + * gcc.dg/vect/slp-12a.c: Do not expect SLP. + * gcc.dg/vect/slp-21.c: Remove not important scanning for SLP. + * gcc.dg/vect/slp-cond-1.c: Expect one more SLP if !vect_load_lanes. + * gcc.dg/vect/vect-gather-2.c: Expect SLP to be used. + * gcc.target/i386/pr52252-atom.c: XFAIL test for palignr. + +2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114947 + * g++.dg/modules/partial-4_a.C: New test. + * g++.dg/modules/partial-4_b.C: New test. + +2024-05-23 Jason Merrill <jason@redhat.com> + + PR c++/115187 + * g++.dg/cpp1z/array-prvalue3.C: New test. + +2024-05-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115197 + * gcc.dg/pr115197.c: New testcase. + +2024-05-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115199 + * gcc.dg/torture/pr115199.c: New testcase. + +2024-05-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115138 + * gcc.dg/torture/pr115138.c: New testcase. + +2024-05-23 Jiufu Guo <guojiufu@linux.ibm.com> + + * gcc.target/powerpc/pr106550.c: Adjust by requiring has_arch_ppc64 + effective target. And remove power10_ok. + +2024-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR tree-optimization/114072 + * gcc.dg/vect/vect-pr111779.c (scan-tree-dump): Require + vect_shift_char on big-endian targets. + +2024-05-23 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/103312 + * gfortran.dg/pr103312.f90: New test. + +2024-05-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/ccor.c: Order of loads are reversed, now, as a + consequence the condition has to be reversed. + +2024-05-23 Alexandre Oliva <oliva@adacore.com> + + PR target/105359 + * gcc.target/powerpc/pr79004.c: Xfail opcodes not available on + longdouble64. + * lib/target-supports.exp + (check_effective_target_long_double_64bit): Drop. + (add_options_for_long_double_64bit): Likewise. + +2024-05-23 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/115191 + * gcc.dg/tree-ssa/pr115191.c: New test. + +2024-05-22 Patrick Palka <ppalka@redhat.com> + + PR c++/115159 + * g++.dg/modules/noexcept-2_a.H: New test. + * g++.dg/modules/noexcept-2_b.C: New test. + +2024-05-22 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/102171 + * gcc.target/aarch64/vget_high_2.c: New test. + * gcc.target/aarch64/vget_high_2_be.c: New test. + +2024-05-22 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/cmse/extend-param.c: Add regression test. Add + -fshort-enums. + * gcc.target/arm/cmse/extend-return.c: Add -fshort-enums option. + +2024-05-22 Eric Botcazou <ebotcazou@adacore.com> + + * g++.dg/opt/fmo1.C: New test. + +2024-05-22 Tom de Vries <tdevries@suse.de> + + PR debug/115066 + * gcc.dg/pr115066.c (scan-assembler): Allow for alternative form + of Define macro. + +2024-05-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/115152 + * gcc.dg/pr115152.c: New test. + +2024-05-22 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/115172 + * gcc.dg/asan/pr115172.c: New test. + +2024-05-22 Haochen Jiang <haochen.jiang@intel.com> + + PR target/115069 + * gcc.target/i386/pr115069.c: New. + +2024-05-22 xuli <xuli1@eswincomputing.com> + + * gcc.dg/vect/vect-early-break_124-pr114403.c: Enable vectrization for RISC-V target. + +2024-05-22 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/abi/main.C: Check pedwarn for main with linkage-spec. + * g++.dg/modules/contracts-1_b.C: Don't declare main in named + module. + * g++.dg/modules/contracts-3_b.C: Likewise. + * g++.dg/modules/contracts-4_d.C: Likewise. + * g++.dg/modules/horcrux-1_a.C: Export declarations, so that... + * g++.dg/modules/horcrux-1_b.C: Don't declare main in named + module. + * g++.dg/modules/main-1.C: New test. + * g++.dg/parse/linkage5.C: New test. + * g++.dg/parse/linkage6.C: New test. + +2024-05-21 Patrick Palka <ppalka@redhat.com> + + PR c++/115139 + * g++.dg/template/non-dependent33.C: New test. + +2024-05-21 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.target/riscv/pr105733.c: New Test. + * gcc.target/riscv/rvv/autovec/vls/spill-1.c: Adjust to not + expect LUI 4096. + * 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-4.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/vls/spill-7.c: Ditto. + +2024-05-21 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115154 + * c-c++-common/ubsan/signed1bitfield-1.c: New test. + * gcc.c-torture/execute/signed1bitfield-1.c: New test. + +2024-05-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115137 + * gcc.dg/torture/pr115137.c: New testcase. + +2024-05-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/115149 + * gcc.dg/pr115149.c: New testcase. + +2024-05-21 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr114427.c: New test. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114842 + * lib/target-supports.exp (check_effective_target_powerpc_altivec): + Take current_compiler_flags into account. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114842 + * lib/target-supports.exp (check_effective_target_powerpc_vsx): Take + current_compiler_flags into account. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * gcc.target/powerpc/405-dlmzb-strlen-1.c: Remove the line using + powerpc_405_nocache check. + * gcc.target/powerpc/405-macchw-1.c: Likewise. + * gcc.target/powerpc/405-macchw-2.c: Likewise. + * gcc.target/powerpc/405-macchwu-1.c: Likewise. + * gcc.target/powerpc/405-macchwu-2.c: Likewise. + * gcc.target/powerpc/405-machhw-1.c: Likewise. + * gcc.target/powerpc/405-machhw-2.c: Likewise. + * gcc.target/powerpc/405-machhwu-1.c: Likewise. + * gcc.target/powerpc/405-machhwu-2.c: Likewise. + * gcc.target/powerpc/405-maclhw-1.c: Likewise. + * gcc.target/powerpc/405-maclhw-2.c: Likewise. + * gcc.target/powerpc/405-maclhwu-1.c: Likewise. + * gcc.target/powerpc/405-maclhwu-2.c: Likewise. + * gcc.target/powerpc/405-mulchw-1.c: Likewise. + * gcc.target/powerpc/405-mulchw-2.c: Likewise. + * gcc.target/powerpc/405-mulchwu-1.c: Likewise. + * gcc.target/powerpc/405-mulchwu-2.c: Likewise. + * gcc.target/powerpc/405-mulhhw-1.c: Likewise. + * gcc.target/powerpc/405-mulhhw-2.c: Likewise. + * gcc.target/powerpc/405-mulhhwu-1.c: Likewise. + * gcc.target/powerpc/405-mulhhwu-2.c: Likewise. + * gcc.target/powerpc/405-mullhw-1.c: Likewise. + * gcc.target/powerpc/405-mullhw-2.c: Likewise. + * gcc.target/powerpc/405-mullhwu-1.c: Likewise. + * gcc.target/powerpc/405-mullhwu-2.c: Likewise. + * gcc.target/powerpc/405-nmacchw-1.c: Likewise. + * gcc.target/powerpc/405-nmacchw-2.c: Likewise. + * gcc.target/powerpc/405-nmachhw-1.c: Likewise. + * gcc.target/powerpc/405-nmachhw-2.c: Likewise. + * gcc.target/powerpc/405-nmaclhw-1.c: Likewise. + * gcc.target/powerpc/405-nmaclhw-2.c: Likewise. + * lib/target-supports.exp + (check_effective_target_powerpc_405_nocache): Remove. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * lib/target-supports.exp + (check_effective_target_vect_cmdline_needed): Remove + check_effective_target_powerpc_spe. + (check_effective_target_powerpc_spe_nocache): Remove. + (check_effective_target_powerpc_spe): Remove. + (check_ppc_cpu_supports_hw_available): Remove powerpc*-*-eabispe check. + (check_p8vector_hw_available): Likewise. + (check_p9vector_hw_available): Likewise. + (check_p9modulo_hw_available): Likewise. + (check_ppc_float128_sw_available): Likewise. + (check_ppc_float128_hw_available): Likewise. + (check_vsx_hw_available): Likewise. + (check_vmx_hw_available): Likewise. + (check_ppc_recip_hw_available): Likewise. + (check_dfp_hw_available): Likewise. + (check_htm_hw_available): Likewise. + * g++.dg/ext/spe1.C: Remove. + * g++.dg/other/opaque-1.C: Remove. + * g++.dg/other/opaque-2.C: Remove. + * g++.dg/other/opaque-3.C: Remove. + * g++.target/powerpc/simd-5.C: Remove. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * lib/target-supports.exp (check_effective_target_powerpc_popcntb_ok): + Remove. + * gcc.target/powerpc/cmpb-2.c: Adjust with dg-skip-if as + powerpc_popcntb_ok gets removed. + * gcc.target/powerpc/cmpb-3.c: Likewise. + * gcc.target/powerpc/cmpb32-2.c: Likewise. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * lib/target-supports.exp (check_effective_target_vect_int): Remove + the check on powerpc-*-linux*paired*. + (check_effective_target_vect_intfloat_cvt): Likewise. + (check_effective_target_vect_uintfloat_cvt): Likewise. + (check_effective_target_vect_floatint_cvt): Likewise. + (check_effective_target_vect_floatuint_cvt): Likewise. + (check_effective_target_powerpc_altivec_ok): Likewise. + (check_effective_target_powerpc_p9modulo_ok): Likewise. + (check_effective_target_powerpc_float128_sw_ok): Likewise. + (check_effective_target_powerpc_float128_hw_ok): Likewise. + (check_effective_target_powerpc_vsx_ok): Likewise. + (check_effective_target_powerpc_htm_ok): Likewise. + (check_effective_target_vect_shift): Likewise. + (check_effective_target_vect_char_add): Likewise. + (check_effective_target_vect_shift_char): Likewise. + (check_effective_target_vect_long): Likewise. + (check_effective_target_ifn_copysign): Likewise. + (check_effective_target_vect_sdot_hi): Likewise. + (check_effective_target_vect_udot_hi): Likewise. + (check_effective_target_vect_pack_trunc): Likewise. + (check_effective_target_vect_int_mult): Likewise. + * gcc.target/powerpc/paired-1.c: Remove. + * gcc.target/powerpc/paired-10.c: Remove. + * gcc.target/powerpc/paired-2.c: Remove. + * gcc.target/powerpc/paired-3.c: Remove. + * gcc.target/powerpc/paired-4.c: Remove. + * gcc.target/powerpc/paired-5.c: Remove. + * gcc.target/powerpc/paired-6.c: Remove. + * gcc.target/powerpc/paired-7.c: Remove. + * gcc.target/powerpc/paired-8.c: Remove. + * gcc.target/powerpc/paired-9.c: Remove. + * gcc.target/powerpc/ppc-paired.c: Remove. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * lib/target-supports.exp + (check_effective_target_powerpc_altivec_ok): Remove checks for + aix[456].* + (check_effective_target_powerpc_p9modulo_ok): Likewise. + (check_effective_target_powerpc_float128_sw_ok): Likewise. + (check_effective_target_powerpc_float128_hw_ok): Likewise. + (check_effective_target_powerpc_vsx_ok): Likewise. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + * gcc.dg/torture/vector-1.c: Fix typo. + * gcc.dg/torture/vector-2.c: Likewise. + +2024-05-21 Kewen Lin <linkw@linux.ibm.com> + + PR target/114402 + * gcc.target/powerpc/pr114402.c: New test. + +2024-05-21 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115164 + * gm2/isolib/run/pass/testlowread.mod: New test. + * gm2/isolib/run/pass/testwritereal.mod: New test. + +2024-05-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/115143 + * gcc.c-torture/compile/pr115143-1.c: New test. + * gcc.c-torture/compile/pr115143-2.c: New test. + * gcc.c-torture/compile/pr115143-3.c: New test. + +2024-05-20 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/99798 + * gfortran.dg/submodule_33.f08: New test. + +2024-05-20 Pengxuan Zheng <quic_pzheng@quicinc.com> + + PR target/102171 + * gcc.target/aarch64/pr113573.c: Replace __builtin_aarch64_get_lowv8hi + with vget_low_s16. + * gcc.target/aarch64/vget_low_2.c: New test. + * gcc.target/aarch64/vget_low_2_be.c: New test. + +2024-05-20 Steve Baird <baird@adacore.com> + + * gnat.dg/specs/alignment2.ads: Adjust. + * gnat.dg/specs/alignment2_bis.ads: New test. + +2024-05-20 Tobias Burnus <tburnus@baylibre.com> + + PR fortran/115150 + * gfortran.dg/shape_12.f90: New test. + +2024-05-20 Haochen Jiang <haochen.jiang@intel.com> + + * g++.dg/other/i386-2.C: Remove Xeon Phi ISAs. + * g++.dg/other/i386-3.C: Ditto. + * g++.target/i386/mv28.C: Ditto. + * gcc.target/i386/builtin_target.c: Ditto. + * gcc.target/i386/sse-12.c: Ditto. + * gcc.target/i386/sse-13.c: Ditto. + * gcc.target/i386/sse-14.c: Ditto. + * gcc.target/i386/sse-22.c: Ditto. + * gcc.target/i386/sse-23.c: Ditto. + * gcc.target/i386/sse-26.c: Ditto. + * gcc.target/i386/avx5124fmadd-v4fmaddps-1.c: Removed. + * 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-check.h: 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/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/pr104448.c: Ditto. + * gcc.target/i386/pr82941-2.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-6.c: Ditto. + * gcc.target/i386/pr82990-7.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/prefetchwt1-1.c: Ditto. + +2024-05-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/bug-6.c: New test. + +2024-05-19 Jeff Law <jlaw@ventanamicro.com> + + PR target/115142 + * gcc.target/riscv/pr115142.c: New test. + +2024-05-19 Iain Sandoe <iain@sandoe.co.uk> + + PR testsuite/114982 + * g++.dg/tree-ssa/cxa_atexit-6.C: Skip for Darwin. + +2024-05-19 Iain Sandoe <iain@sandoe.co.uk> + + * gcc.dg/darwin-weakimport-3.c: Suppress unwind frames. + +2024-05-18 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/shift-add-1.c: New test. + +2024-05-18 Xiao Zeng <zengxiao@eswincomputing.com> + + * gcc.target/riscv/_Bfloat16-nanboxing.c: Move to... + * gcc.target/riscv/__bf16-nanboxing.c: ...here. + * gcc.target/riscv/bf16_arithmetic.c: Modify _Bfloat16 to __bf16. + * gcc.target/riscv/bf16_call.c: Ditto. + * gcc.target/riscv/bf16_comparison.c: Ditto. + * gcc.target/riscv/bf16_float_libcall_convert.c: Ditto. + * gcc.target/riscv/bf16_integer_libcall_convert.c: Ditto. + +2024-05-18 Pan Li <pan2.li@intel.com> + + PR target/51492 + PR target/112600 + * gcc.target/riscv/rvv/autovec/binop/vec_sat_binary.h: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-4.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-run-4.c: New test. + * gcc.target/riscv/sat_arith.h: New test. + * gcc.target/riscv/sat_u_add-1.c: New test. + * gcc.target/riscv/sat_u_add-2.c: New test. + * gcc.target/riscv/sat_u_add-3.c: New test. + * gcc.target/riscv/sat_u_add-4.c: New test. + * gcc.target/riscv/sat_u_add-run-1.c: New test. + * gcc.target/riscv/sat_u_add-run-2.c: New test. + * gcc.target/riscv/sat_u_add-run-3.c: New test. + * gcc.target/riscv/sat_u_add-run-4.c: New test. + * gcc.target/riscv/scalar_sat_binary.h: New test. + +2024-05-17 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Adjust test. + +2024-05-17 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/pr113474.c: New test. + +2024-05-17 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/event-links-ascii.c: New test. + * gcc.dg/analyzer/event-links-color.c: New test. + * gcc.dg/analyzer/event-links-disabled.c: New test. + * gcc.dg/analyzer/event-links-unicode.c: New test. + +2024-05-17 Uros Bizjak <ubizjak@gmail.com> + + PR middle-end/112600 + * gcc.target/i386/pr112600-1a.c: New test. + * gcc.target/i386/pr112600-1b.c: New test. + +2024-05-17 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/114874 + * gfortran.dg/pr114874_1.f90: New test for valid code. + * gfortran.dg/pr114874_2.f90: New test for invalid code. + +2024-05-17 Patrick Palka <ppalka@redhat.com> + + PR c++/115114 + * g++.dg/cpp2a/class-deduction-aggr15.C: New test. + +2024-05-17 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/pr115128.c: New test. + +2024-05-17 Richard Biener <rguenther@suse.de> + + * gcc.dg/torture/20240517-1.c: New testcase. + +2024-05-16 Pan Li <pan2.li@intel.com> + + * gcc.dg/vect/slp-mask-store-1.c: Add pragma novector as it will + have 2 times LOOP VECTORIZED in RISC-V. + * gcc.dg/vect/vect-early-break_124-pr114403.c: Xfail for the + riscv backend. + * lib/target-supports.exp: Add RISC-V backend. + +2024-05-16 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/early-break-1.c: New test. + * gcc.target/riscv/rvv/autovec/early-break-2.c: New test. + +2024-05-16 Jan Hubicka <jh@suse.cz> + + * gcc.c-torture/execute/pr113787.c: New test. + +2024-05-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/13962 + PR tree-optimization/96564 + * gcc.dg/tree-ssa/alias-39.c: New testcase. + * g++.dg/vect/pr68145.cc: Use -fno-tree-pta to avoid UB + to manifest in transforms no longer vectorizing this testcase + for an ICE. + +2024-05-16 Richard Biener <rguenther@suse.de> + + * gcc.dg/tree-ssa/alias-38.c: New testcase. + +2024-05-16 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cmpmemsi-1.c: Drop options. + * gcc.target/riscv/cpymemsi-1.c: Likewise. + +2024-05-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/79958 + PR tree-optimization/109087 + PR tree-optimization/100314 + PR tree-optimization/114774 + * gcc.dg/tree-ssa/ssa-dse-48.c: New testcase. + * gcc.dg/tree-ssa/ssa-dse-49.c: Likewise. + * gcc.dg/tree-ssa/ssa-dse-50.c: Likewise. + * gcc.dg/tree-ssa/ssa-dse-51.c: Likewise. + * gcc.dg/graphite/pr80906.c: Avoid DSE of last data reference + in loop. + * g++.dg/ipa/devirt-24.C: Adjust for extra DSE. + * g++.dg/warn/Wuninitialized-pr107919-1.C: Use more important + -O2 optimization level, -O1 regresses. + +2024-05-16 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: Update expected + output to use unicode for depth indication. + * gcc.dg/analyzer/out-of-bounds-diagram-1-unicode.c: Likewise. + +2024-05-16 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/analyzer/out-of-bounds-diagram-1-emoji.c: Update expected + output to include warning emoji. + * gcc.dg/analyzer/warning-emoji.c: New test. + +2024-05-16 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/analyzer/allocation-size-multiline-1.c: Update + expected results for purely intraprocedural path. + * c-c++-common/analyzer/allocation-size-multiline-2.c: Likewise. + * c-c++-common/analyzer/allocation-size-multiline-3.c: Likewise. + * c-c++-common/analyzer/analyzer-verbosity-0.c: Likewise. + * c-c++-common/analyzer/analyzer-verbosity-1.c: Likewise. + * c-c++-common/analyzer/analyzer-verbosity-2.c: Likewise. + * c-c++-common/analyzer/analyzer-verbosity-3.c: Likewise. + * c-c++-common/analyzer/malloc-macro-inline-events.c: Likewise. + Doing so for this file requires a rewrite since the paths + prefixing the "in expansion of macro" lines become the only thing + on their line and so are no longer pruned by multiline.exp logic + for pruning extra content on non-blank lines. + * c-c++-common/analyzer/malloc-paths-9-noexcept.c: Likewise. + * c-c++-common/analyzer/setjmp-2.c: Likewise. + * gcc.dg/analyzer/malloc-paths-9.c: Likewise. + * gcc.dg/analyzer/out-of-bounds-multiline-2.c: Likewise. + * gcc.dg/plugin/diagnostic-test-paths-2.c: Likewise. + +2024-05-16 Xiao Zeng <zengxiao@eswincomputing.com> + + * gcc.target/riscv/arch-37.c: New test. + * gcc.target/riscv/arch-38.c: New test. + * gcc.target/riscv/predef-36.c: New test. + * gcc.target/riscv/predef-37.c: New test. + +2024-05-16 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr114514-shufb.c: New test. + +2024-05-16 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr114514-shift.c: New test. + +2024-05-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/114899 + * c-c++-common/analyzer/out-of-bounds-diagram-pr114899.c: New test. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cmpmemsi-1.c: New test. + * gcc.target/riscv/cmpmemsi-2.c: New test. + * gcc.target/riscv/cmpmemsi-3.c: New test. + * gcc.target/riscv/cmpmemsi.c: New test. + +2024-05-15 Marek Polacek <polacek@redhat.com> + + PR c++/114854 + * g++.dg/cpp1y/nsdmi-aggr22.C: New test. + +2024-05-15 Marek Polacek <polacek@redhat.com> + + DR 1693 + PR c++/113760 + DR 569 + * g++.dg/diagnostic/semicolon1.C: New test. + * g++.dg/diagnostic/semicolon10.C: New test. + * g++.dg/diagnostic/semicolon11.C: New test. + * g++.dg/diagnostic/semicolon12.C: New test. + * g++.dg/diagnostic/semicolon13.C: New test. + * g++.dg/diagnostic/semicolon14.C: New test. + * g++.dg/diagnostic/semicolon15.C: New test. + * g++.dg/diagnostic/semicolon16.C: New test. + * g++.dg/diagnostic/semicolon17.C: New test. + * g++.dg/diagnostic/semicolon2.C: New test. + * g++.dg/diagnostic/semicolon3.C: New test. + * g++.dg/diagnostic/semicolon4.C: New test. + * g++.dg/diagnostic/semicolon5.C: New test. + * g++.dg/diagnostic/semicolon6.C: New test. + * g++.dg/diagnostic/semicolon7.C: New test. + * g++.dg/diagnostic/semicolon8.C: New test. + * g++.dg/diagnostic/semicolon9.C: New test. + +2024-05-15 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR lto/113208 + * g++.dg/abi/comdat3.C: New test. + * g++.dg/abi/comdat4.C: New test. + +2024-05-15 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114902 + PR rtl-optimization/115092 + * gcc.dg/pr114902.c: New test. + * gcc.dg/pr115092.c: New test. + +2024-05-15 Jakub Jelinek <jakub@redhat.com> + + PR c/115103 + * c-c++-common/gomp/clause-dups-1.c: Add 2 further expected errors. + * gfortran.dg/gomp/pr115103.f90: New test. + +2024-05-15 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114589 + * gfortran.dg/streamio_9.f90: Use -ffloat-store to avoid + excess precision when not spilling. + * g++.dg/tree-ssa/pr114589.C: New testcase. + +2024-05-15 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/115057 + * gm2/isolib/run/pass/testrestline.mod: New test. + * gm2/isolib/run/pass/testrestline2.mod: New test. + * gm2/isolib/run/pass/testrestline3.mod: New test. + +2024-05-15 Marek Polacek <polacek@redhat.com> + + DR 2855 + * g++.dg/DRs/dr2855.C: New test. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cmo-zicboz-zic64-1.c: Fix for rv32. + +2024-05-15 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * gcc.target/aarch64/ldp_stp_16.c: Update to check for UZP1. + * gcc.target/aarch64/pr109072_1.c: Likewise. + * gcc.target/aarch64/vec-init-14.c: Likewise. + * gcc.target/aarch64/vec-init-9.c: Likewise. + +2024-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR ipa/85656 + * gcc.dg/ipa/ipa-icf-38.c: Require linker_plugin. + +2024-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * g++.target/i386/pr97054.C (dg-options): Add -fomit-frame-pointer. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cpymem-32-ooo.c: Adjustments for overlapping + access. + * gcc.target/riscv/cpymem-32.c: Adjustments for code emitted by + by-pieces. + * gcc.target/riscv/cpymem-64-ooo.c: Adjustments for overlapping + access. + * gcc.target/riscv/cpymem-64.c: Adjustments for code emitted by + by-pieces. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cpymem-32-ooo.c: Adjust for overlapping + access. + * gcc.target/riscv/cpymem-64-ooo.c: Likewise. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cpymem-32-ooo.c: Adjust for unaligned access. + * gcc.target/riscv/cpymem-64-ooo.c: Likewise. + +2024-05-15 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cpymem-32-ooo.c: New test. + * gcc.target/riscv/cpymem-32.c: New test. + * gcc.target/riscv/cpymem-64-ooo.c: New test. + * gcc.target/riscv/cpymem-64.c: New test. + +2024-05-15 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/cmo-zicboz-zic64-1.c: Don't run on rv32. + +2024-05-15 Levy Hsu <admin@levyhsu.com> + + PR target/107563 + * g++.target/i386/pr107563-a.C: New test. + * g++.target/i386/pr107563-b.C: New test. + +2024-05-15 Patrick Palka <ppalka@redhat.com> + + PR c++/114994 + * g++.dg/template/non-dependent32.C: New test. + +2024-05-15 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/shift-add-2.c: New test. + +2024-05-14 Simon Martin <simon-l.martin@laposte.net> + + PR c++/105760 + * g++.dg/parse/error66.C: New test. + +2024-05-14 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.target/riscv/sum-of-two-s12-const-1.c: New test: checks + for new patterns output. + * gcc.target/riscv/sum-of-two-s12-const-2.c: Ditto. + * gcc.target/riscv/sum-of-two-s12-const-3.c: New test: should not + ICE. + +2024-05-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/99954 + * gcc.dg/tree-ssa/ldist-40.c: New testcase. + +2024-05-14 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cmo-zicboz-zic64-1.c: New file. + +2024-05-14 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cmo-zicbom-1.c: Add \t to test pattern. + * gcc.target/riscv/cmo-zicbom-2.c: Likewise. + * gcc.target/riscv/cmo-zicbop-1.c: Likewise. + * gcc.target/riscv/cmo-zicbop-2.c: Likewise. + * gcc.target/riscv/cmo-zicboz-1.c: Likewise. + * gcc.target/riscv/cmo-zicboz-2.c: Likewise. + +2024-05-14 Tom de Vries <tdevries@suse.de> + + * gcc.dg/pr115066.c: Don't match comment marker. + +2024-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR analyzer/107750 + * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: + Include <string.h>. + +2024-05-14 Tom de Vries <tdevries@suse.de> + + PR debug/115066 + * gcc.dg/pr115066.c: New test. + +2024-05-14 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/block-cmp-9.c: New. + +2024-05-14 Jeff Law <jlaw@ventanamicro.com> + + Revert: + 2024-05-14 Sergei Lewis <slewis@rivosinc.com> + + PR target/112109 + * gcc.target/riscv/rvv/base/movmem-1.c: New test + +2024-05-13 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zba_zbs_and-1.c: New test. + +2024-05-13 Sergei Lewis <slewis@rivosinc.com> + + PR target/112109 + * gcc.target/riscv/rvv/base/movmem-1.c: New test + +2024-05-13 Pan Li <pan2.li@intel.com> + + PR target/114988 + * gcc.target/riscv/rvv/base/pr114988-1.c: New test. + * gcc.target/riscv/rvv/base/pr114988-2.c: New test. + +2024-05-13 Patrick Palka <ppalka@redhat.com> + + PR c++/114974 + PR c++/114901 + PR c++/114903 + * g++.dg/cpp2a/class-deduction-aggr14.C: New test. + * g++.dg/cpp2a/class-deduction-alias20.C: New test. + * g++.dg/cpp2a/class-deduction-alias21.C: New test. + +2024-05-13 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zbs-bext-2.c: New test. + * gcc.target/riscv/zbs-bext.c: Fix one of the possible expectes sequences. + +2024-05-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR c++/98529 + * g++.dg/modules/stdio-1_a.H (scan-lang-dump): Allow for + ::std::printf. + +2024-05-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113982 + * gcc.dg/pr113982.c: New test. + +2024-05-13 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/113363 + * gfortran.dg/pr113363.f90: New test. + +2024-05-13 YunQiang Su <syq@debian.org> + + Revert: + 2024-05-13 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/msa-inline-asm.c: New test. + +2024-05-12 Roger Sayle <roger@nextmovesoftware.com> + Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> + Roger Sayle <roger@nextmovesoftware.com> + Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> + + * gcc.target/arm/extend-ror.c: New test. + +2024-05-12 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-5.c: New test. + +2024-05-12 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-4.c: New test + +2024-05-12 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/84006 + PR fortran/100027 + PR fortran/98534 + * gfortran.dg/storage_size_7.f90: New test. + * gfortran.dg/transfer_class_4.f90: New test. + +2024-05-11 Harald Anlauf <anlauf@gmx.de> + + PR fortran/115039 + * gfortran.dg/statement_function_5.f90: New test. + +2024-05-11 Mark Harmstone <mark@harmstone.com> + + * gcc.dg/debug/codeview/codeview-1.c: New test. + * gcc.dg/debug/codeview/codeview.exp: New testsuite driver. + +2024-05-11 dzhao.ampere <di.zhao@amperecomputing.com> + + PR tree-optimization/114760 + * gcc.dg/tree-ssa/pr114760-1.c: New test. + * gcc.dg/tree-ssa/pr114760-2.c: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of + __is_nothrow_invocable. + * g++.dg/ext/is_nothrow_invocable.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_invocable. + * g++.dg/ext/is_invocable1.C: New test. + * g++.dg/ext/is_invocable2.C: New test. + * g++.dg/ext/is_invocable3.C: New test. + * g++.dg/ext/is_invocable4.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of __array_rank. + * g++.dg/ext/rank.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of __decay. + * g++.dg/ext/decay.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of + __add_rvalue_reference. + * g++.dg/ext/add_rvalue_reference.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of + __add_lvalue_reference. + * g++.dg/ext/add_lvalue_reference.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of + __remove_all_extents. + * g++.dg/ext/remove_all_extents.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of __remove_extent. + * g++.dg/ext/remove_extent.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of __add_pointer. + * g++.dg/ext/add_pointer.C: New test. + +2024-05-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of + __is_unbounded_array. + * g++.dg/ext/is_unbounded_array.C: New test. + +2024-05-10 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-1.c: Also count shNadd instructions. + * gcc.target/riscv/synthesis-3.c: New test. + +2024-05-10 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + * gcc.target/i386/vect-shiftv4qi.c: Specify -mno-avx512vl. + * gcc.target/i386/vect-shiftv8qi.c: Likewise. + * gcc.target/i386/vect-shiftv4qi-2.c: New test case. + * gcc.target/i386/vect-shiftv8qi-2.c: Likewise. + +2024-05-10 Vladimir N. Makarov <vmakarov@redhat.com> + + PR target/114942 + * gcc.target/i386/pr114942.c: New. + +2024-05-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114998 + * gcc.dg/torture/pr114998.c: New testcase. + +2024-05-10 Richard Biener <rguenther@suse.de> + + * gcc.dg/vect/vect-reduc-sad-9.c: New testcase. + +2024-05-10 Georg-Johann Lay <avr@gjlay.de> + + PR target/114981 + * gcc.target/avr/pr114981-powif.c: New test. + +2024-05-10 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zba-shadduw.c: New test. + +2024-05-09 Marek Polacek <polacek@redhat.com> + + PR c++/114983 + * g++.dg/warn/Wsizeof-array-div3.C: New test. + +2024-05-09 Jakub Jelinek <jakub@redhat.com> + + PR target/84508 + * gcc.target/i386/pr84508-1.c: Move to ... + * gcc.dg/ubsan/pr84508-1.c: ... here. Restrict to i?86/x86_64 + non-ia32 targets. + * gcc.target/i386/pr84508-2.c: Move to ... + * gcc.dg/ubsan/pr84508-2.c: ... here. Restrict to i?86/x86_64 + non-ia32 targets. + +2024-05-09 Marek Polacek <polacek@redhat.com> + + PR c++/85889 + * g++.dg/cpp2a/decomp3.C: Use -Wno-c++20-extensions. + * g++.dg/cpp1z/decomp60.C: New test. + +2024-05-09 Martin Jambor <mjambor@suse.cz> + + * g++.dg/tree-ssa/pr109849.C: Also check that the aggeegate store + to cur disappears. + * gcc.dg/tree-ssa/ssa-dse-26.c: Instead of relying on DSE, + check that the unwanted stores were removed at early SRA time. + +2024-05-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: + Introduce extern func use to get rid of ccp4 optimization. + +2024-05-09 Jakub Jelinek <jakub@redhat.com> + + PR c++/89224 + * g++.dg/torture/vector-subaccess-1.C: Add -Wno-psabi as additional + options. + +2024-05-09 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/msa-inline-asm.c: New test. + +2024-05-09 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/cpymemsi-1.c: New test. + * gcc.target/riscv/cpymemsi-2.c: New test. + * gcc.target/riscv/cpymemsi-3.c: New test. + * gcc.target/riscv/cpymemsi.c: New test. + +2024-05-09 Hu, Lin1 <lin1.hu@intel.com> + + PR target/84508 + * gcc.target/i386/pr84508-1.c: New test. + * gcc.target/i386/pr84508-2.c: Ditto. + +2024-05-08 Xiao Zeng <zengxiao@eswincomputing.com> + + * gcc.target/riscv/_Bfloat16-nanboxing.c: New test. + +2024-05-08 Georg-Johann Lay <avr@gjlay.de> + + PR target/114981 + * gcc.target/avr/pr114981-powil.c: New test. + +2024-05-08 Marek Polacek <polacek@redhat.com> + + PR c++/113582 + * g++.dg/warn/Wunused-label-4.C: New test. + +2024-05-08 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/112392 + * gcc.dg/tree-ssa/phi-opt-41.c: New test. + +2024-05-08 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com> + + PR tree-optimization/81953 + * gcc.dg/tree-ssa/ssa-sink-21.c: New test. + +2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/extend-shift-helpers.h: Add helpers for + sign-extension. + * gcc.target/riscv/sign-extend-rshift-32.c: New test. + * gcc.target/riscv/sign-extend-rshift-64.c: New test. + * gcc.target/riscv/sign-extend-rshift.c: New test. + +2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/111501 + * gcc.target/riscv/extend-shift-helpers.h: New test. + * gcc.target/riscv/pr111501.c: New test. + * gcc.target/riscv/zero-extend-rshift-32.c: New test. + * gcc.target/riscv/zero-extend-rshift-64.c: New test. + * gcc.target/riscv/zero-extend-rshift.c: New test. + +2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/sign-extend-1.c: Test sraiw 24 and sraiw 16. + +2024-05-08 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/sign-extend-1.c: New test. + +2024-05-08 Georg-Johann Lay <avr@gjlay.de> + + PR target/114975 + * gcc.target/avr/pr114975-parity.c: New test. + +2024-05-08 Georg-Johann Lay <avr@gjlay.de> + + PR target/114975 + * gcc.target/avr/pr114975-popcount.c: New test. + +2024-05-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114965 + * gcc.c-torture/execute/pr114965.c: New test. + +2024-05-08 konglin1 <lingling.kong@intel.com> + + * gcc.target/i386/cmov6.c: Fixed. + +2024-05-08 Hans-Peter Nilsson <hp@axis.com> + + Revert: + 2024-04-10 Hans-Peter Nilsson <hp@axis.com> + + Revert: + 2024-04-05 Hans-Peter Nilsson <hp@axis.com> + + * gcc.target/cris/pr93372-2.c: Tweak scan-assembler + checks to cover recent combine improvement. + +2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114856 + * g++.dg/modules/pr114856.h: New test. + * g++.dg/modules/pr114856_a.H: New test. + * g++.dg/modules/pr114856_b.C: New test. + +2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR c++/89224 + * g++.dg/torture/vector-subaccess-1.C: New test. + * gcc.dg/pr83415.c: Change warning to error. + +2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/19661 + * g++.dg/tree-ssa/cxa_atexit-1.C: New test. + * g++.dg/tree-ssa/cxa_atexit-2.C: New test. + * g++.dg/tree-ssa/cxa_atexit-3.C: New test. + * g++.dg/tree-ssa/cxa_atexit-4.C: New test. + * g++.dg/tree-ssa/cxa_atexit-5.C: New test. + * g++.dg/tree-ssa/cxa_atexit-6.C: New test. + +2024-05-07 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/114894 + * gcc.dg/tree-ssa/phi-opt-value-5.c: New test. + +2024-05-07 Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/memcpy-nonoverlapping.c: New test. + * gcc.target/riscv/memset-nonoverlapping.c: New test. + +2024-05-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/114459 + * g++.dg/cpp26/feat-cxx26.C (__cpp_variadic_friend): Add test. + * g++.dg/cpp26/variadic-friend1.C: New test. + +2024-05-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114907 + * gcc.dg/pr114907.c: New test. + +2024-05-07 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/114956 + * gcc.dg/asan/pr114956.c: New test. + +2024-05-07 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114133 + * gm2/extensions/run/pass/callingc10.mod: Convert constant + literal numbers into INTEGER. + * gm2/extensions/run/pass/callingc11.mod: Ditto. + * gm2/extensions/run/pass/vararg2.mod: Ditto. + * gm2/iso/run/pass/packed.mod: Emit a printf as a runtime + diagnostic. + +2024-05-07 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/zbb-strlen-disabled-2.c: Turn off inlining. + +2024-05-07 Alex Coplan <alex.coplan@arm.com> + + PR target/114674 + * gcc.target/aarch64/pr114674.c: New test. + +2024-05-07 Richard Biener <rguenther@suse.de> + + PR middle-end/27800 + * gcc.dg/pr27800.c: New testcase. + +2024-05-07 Richard Biener <rguenther@suse.de> + + PR middle-end/114931 + * gcc.dg/pr114931.c: New testcase. + +2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * lib/target-supports.exp (check_effective_target_pie): Always + enable on *-*-solaris2*. + +2024-05-07 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr113079.c: New test. + * gcc.target/i386/pr113079-2.c: New test. + * gcc.target/i386/sse4-pr113079-2.c: New test. + +2024-05-07 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr113090.c: New test. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * g++.target/pru/minrt-1.cc: New test. + * g++.target/pru/minrt-2.cc: New test. + * g++.target/pru/minrt-3.cc: New test. + * g++.target/pru/pru.exp: New test. + * gcc.target/pru/minrt-1.c: New test. + * gcc.target/pru/minrt-2.c: New test. + * gcc.target/pru/minrt-3.c: New test. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/noreturn-prologue-1.c: New test. + * gcc.target/pru/noreturn-prologue-2.c: New test. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/extzv-1.c: Update to mark the new more + efficient generated code sequence. + * gcc.target/pru/extzv-2.c: Ditto. + * gcc.target/pru/extzv-3.c: Ditto. + * gcc.target/pru/zero_extend-op0.c: New test. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/ashiftrt.c: Minor update due to new (but + equivalent) generated code sequence. + * gcc.target/pru/extzv-1.c: New test. + * gcc.target/pru/extzv-2.c: New test. + * gcc.target/pru/extzv-3.c: New test. + * gcc.target/pru/insv-1.c: New test. + * gcc.target/pru/insv-2.c: New test. + * gcc.target/pru/insv-3.c: New test. + * gcc.target/pru/insv-4.c: New test. + +2024-05-07 Dimitar Dimitrov <dimitar@dinux.eu> + + * gcc.target/pru/mov-0.c: New test. + +2024-05-07 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + PR target/106060 + * gcc.target/i386/auto-init-8.c: Update test case. + * gcc.target/i386/avx512fp16-13.c: Likewise. + * gcc.target/i386/pr100865-9a.c: Likewise. + * gcc.target/i386/pr101796-1.c: Likewise. + * gcc.target/i386/pr106060-1.c: New test case. + * gcc.target/i386/pr106060-2.c: Likewise. + * gcc.target/i386/pr106060-3.c: Likewise. + * gcc.target/i386/pr70314.c: Update test case. + * gcc.target/i386/vect-shiftv4qi.c: Likewise. + * gcc.target/i386/vect-shiftv8qi.c: Likewise. + +2024-05-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114954 + * g++.dg/modules/pr114954.C: New test. + +2024-05-06 Xiao Zeng <zengxiao@eswincomputing.com> + + * gcc.target/riscv/arch-35.c: New test. + * gcc.target/riscv/arch-36.c: New test. + * gcc.target/riscv/predef-34.c: New test. + * gcc.target/riscv/predef-35.c: New test. + +2024-05-06 Robin Dapp <rdapp@ventanamicro.com> + + PR tree-optimization/114749 + * gcc.target/riscv/rvv/autovec/pr114749.c: New test. + +2024-05-06 Xiao Zeng <zengxiao@eswincomputing.com> + Jin Ma <jinma@linux.alibaba.com> + + * gcc.target/riscv/bf16_arithmetic.c: New test. + * gcc.target/riscv/bf16_call.c: New test. + * gcc.target/riscv/bf16_comparison.c: New test. + * gcc.target/riscv/bf16_float_libcall_convert.c: New test. + * gcc.target/riscv/bf16_integer_libcall_convert.c: New test. + +2024-05-06 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-2.c: New test. + +2024-05-06 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/114177 + * gcc.target/aarch64/sve/loop_add_6.c: Use __SIZETYPE__ instead + of `unsigned long` for index and offset variables. + +2024-05-06 Qing Zhao <qing.zhao@oracle.com> + + PR c/53548 + * c-c++-common/fam-in-union-alone-in-struct-bos-1.c: New test. + * c-c++-common/fam-in-union-alone-in-struct-bos.c: New test. + +2024-05-06 Qing Zhao <qing.zhao@oracle.com> + + PR c/53548 + * c-c++-common/fam-in-union-alone-in-struct-1.c: New testcase. + * c-c++-common/fam-in-union-alone-in-struct-2.c: New testcase. + * c-c++-common/fam-in-union-alone-in-struct-3.c: New testcase. + +2024-05-06 Qing Zhao <qing.zhao@oracle.com> + + PR c/53548 + * c-c++-common/builtin-clear-padding-3.c: Adjust testcase. + * g++.dg/ext/flexary12.C: Likewise. + * g++.dg/ext/flexary19.C: Likewise. + * g++.dg/ext/flexary2.C: Likewise. + * g++.dg/ext/flexary3.C: Likewise. + * g++.dg/ext/flexary36.C: Likewise. + * g++.dg/ext/flexary4.C: Likewise. + * g++.dg/ext/flexary5.C: Likewise. + * g++.dg/ext/flexary8.C: Likewise. + * g++.dg/torture/pr64280.C: Likewise. + * gcc.dg/20050620-1.c: Likewise. + * gcc.dg/940510-1.c: Likewise. + +2024-05-06 Georg-Johann Lay <avr@gjlay.de> + + PR ipa/92606 + * gcc.target/avr/torture/pr92606.c: New test. + +2024-05-06 YunQiang Su <syq@gcc.gnu.org> + + PR target/113179 + * gcc.target/mips/pr113179.c: New tests. + +2024-05-05 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114827 + * gfortran.dg/asan/unlimited_polymorphic_34.f90: New test. + +2024-05-03 Andrew Pinski <quic_apinski@quicinc.com> + + * gfortran.dg/gomp/atomic-21.f90: Update testcase for the removal of `;`. + +2024-05-03 Jason Merrill <jason@redhat.com> + + PR c++/114935 + * g++.dg/cpp0x/initlist-eh1.C: New test. + +2024-05-03 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114929 + * gm2/pim/run/pass/testforloopchar.mod: New test. + * gm2/pim/run/pass/testforloopchar2.mod: New test. + * gm2/pim/run/pass/testforloopenum.mod: New test. + +2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_pointer. + Arrange the order lexically around __is_pointer. + * g++.dg/ext/is_pointer.C: New test. + +2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_volatile. + * g++.dg/ext/is_volatile.C: New test. + +2024-05-03 Ken Matsui <kmatsui@gcc.gnu.org> + + * g++.dg/ext/has-builtin-1.C: Test existence of __is_const. + * g++.dg/ext/is_const.C: New test. + +2024-05-03 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/111475 + * c-c++-common/analyzer/fd-glibc-byte-stream-socket.c: Add + -fno-exceptions for now. + * c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c: Likewise. + * c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c: Rename to... + * c-c++-common/analyzer/fd-manpage-getaddrinfo-server.c: ...this, and + add -fno-exceptions for now. + * c-c++-common/analyzer/fd-socket-meaning.c: Add -fno-exceptions + for now. + * c-c++-common/analyzer/fd-symbolic-socket.c: Likewise. + * c-c++-common/analyzer/flexible-array-member-1.c: Use regexp to + handle C vs C++ differences in spelling of function name, which + could have a "std::" prefix on some targets. + * c-c++-common/analyzer/pr106539.c: Likewise. + * c-c++-common/analyzer/malloc-ipa-8-unchecked.c: Move back to... + * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: ...here, dropping + attempt to generalize output for C vs C++. + * c-c++-common/analyzer/signal-4a.c: Move back to... + * gcc.dg/analyzer/signal-4a.c: ...here, dropping attempt to + generalize output for C vs C++. + * c-c++-common/analyzer/signal-4b.c: Move back to... + * gcc.dg/analyzer/signal-4b.c: ...here, dropping attempt to + generalize output for C vs C++. + +2024-05-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113596 + * gcc.dg/pr113596.c: New test. + * gcc.dg/tree-ssa/pr113596.c: New test. + +2024-05-03 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114929 + * gm2/pim/run/pass/testforloopzero.mod: New test. + * gm2/pim/run/pass/testforloopzero2.mod: New test. + * gm2/pim/run/pass/testforloopzero3.mod: New test. + * gm2/pim/run/pass/testforloopzero4.mod: New test. + +2024-05-02 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/synthesis-1.c: New test. + +2024-05-02 Patrick O'Neill <patrick@rivosinc.com> + + PR middle-end/114734 + * gcc.target/riscv/rvv/autovec/pr114734.c: New test. + +2024-05-02 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/round_32.c: Add require-effective-target glibc. + * gcc.target/riscv/round_64.c: Likewise. + +2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114917 + * g++.dg/modules/export-5_a.C: New test. + * g++.dg/modules/export-5_b.C: New test. + * g++.dg/parse/linkage4.C: New test. + +2024-05-02 Jakub Jelinek <jakub@redhat.com> + + PR c++/114458 + * g++.dg/cpp26/feat-cxx26.C (__cpp_deleted_function): Add test. + * g++.dg/cpp26/delete-reason1.C: New test. + * g++.dg/cpp26/delete-reason2.C: New test. + * g++.dg/parse/error65.C (f1): Adjust expected diagnostics. + +2024-05-02 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/risbg-ll-2.c: Fix start offset for rosbg of + f10. + +2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114630 + * g++.dg/modules/partial-3.C: New test. + +2024-05-02 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.dg/zero_bits_compound-1.c: Fix for s390. + +2024-05-02 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/105224 + * g++.dg/modules/virt-2_a.C: Update linkage requirements. + * g++.dg/modules/virt-2_b.C: Likewise. + * g++.dg/modules/virt-2_c.C: Likewise. + * g++.dg/modules/virt-4_a.C: New test. + * g++.dg/modules/virt-4_b.C: New test. + +2024-05-01 Jason Merrill <jason@redhat.com> + + * g++.dg/debug/dwarf2/array-3.C: No more 'int' for in-chrg parm. + * g++.dg/debug/dwarf2/array-4.C: Likewise. + +2024-05-01 Jason Merrill <jason@redhat.com> + + PR c++/113706 + * g++.dg/opt/const-builtin1.C: New test. + * c-c++-common/pr103798-2.c: Remove xfail. + +2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/using-16_a.C: New test. + * g++.dg/modules/using-16_b.C: New test. + * g++.dg/modules/using-16_c.C: New test. + +2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114868 + * g++.dg/modules/using-15_a.C: New test. + * g++.dg/modules/using-15_b.C: New test. + * g++.dg/modules/using-15_c.C: New test. + +2024-05-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/107688 + * g++.dg/modules/contracts-1_a.C: Avoid now-illegal syntax. + * g++.dg/modules/contracts-2_a.C: Likewise. + * g++.dg/modules/contracts-3_a.C: Likewise. + * g++.dg/modules/contracts-4_a.C: Likewise. + * g++.dg/modules/lang-1_c.C: Clarify now-legal syntax. + * g++.dg/modules/pr101582-1.C: Remove now-legal XFAILS. + * g++.dg/template/crash71.C: Update error messages. + * g++.dg/cpp2a/linkage-spec1.C: New test. + * g++.dg/modules/export-3.C: New test. + * g++.dg/modules/export-4_a.C: New test. + * g++.dg/modules/export-4_b.C: New test. + +2024-04-30 Jivan Hakobyan <jivanhakobyan9@gmail.com> + + * gcc.target/riscv/fix.c: New test. + * gcc.target/riscv/round.c: New test. + * gcc.target/riscv/round_32.c: New test. + * gcc.target/riscv/round_64.c: New test. + +2024-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR modula2/114886 + * lib/gm2.exp: Don't load timeout-dg.exp. + Don't set gm2_previous_timeout. + Don't call dg-timeout. + (gm2_push_timeout, gm2_pop_timeout): Remove. + (gm2_init): Don't call dg-timeout. + * lib/gm2-torture.exp: Don't load timeout-dg.exp. + Don't set gm2_previous_timeout. + Don't call dg-timeout. + (gm2_push_timeout, gm2_pop_timeout): Remove. + * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: Don't + load timeout-dg.exp. + Don't call gm2_push_timeout, gm2_pop_timeout. + * gm2/examples/map/pass/examples-map-pass.exp: Don't call + gm2_push_timeout, gm2_pop_timeout. + * gm2/iso/run/pass/iso-run-pass.exp: Don't load timeout-dg.exp. + Don't call gm2_push_timeout, gm2_pop_timeout. + * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: Don't load + timeout-dg.exp. + Don't call gm2_push_timeout, gm2_pop_timeout. + * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: + Don't call gm2_push_timeout, gm2_pop_timeout. + * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: + Don't load timeout-dg.exp. + Don't call gm2_push_timeout, gm2_pop_timeout. + +2024-04-30 Richard Biener <rguenther@suse.de> + + * gcc.dg/gimplefe-53.c: New testcase. + +2024-04-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114876 + * gcc.dg/pr114876.c: New test. + * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust expected + diagnostics. + +2024-04-30 Jakub Jelinek <jakub@redhat.com> + Hongtao Liu <hongtao.liu@intel.com> + + PR tree-optimization/114883 + * gfortran.dg/pr114883.f90: New test. + +2024-04-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/114456 + * g++.dg/cpp26/decomp1.C: New test. + * g++.dg/cpp26/decomp2.C: New test. + * g++.dg/cpp26/feat-cxx26.C (__cpp_structured_bindings): Expect + 202403 rather than 201606. + +2024-04-30 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/105320 + PR c++/114275 + * g++.dg/modules/tpl-friend-10_a.C: New test. + * g++.dg/modules/tpl-friend-10_b.C: New test. + * g++.dg/modules/tpl-friend-10_c.C: New test. + * g++.dg/modules/tpl-friend-10_d.C: New test. + * g++.dg/modules/tpl-friend-11_a.C: New test. + * g++.dg/modules/tpl-friend-11_b.C: New test. + * g++.dg/modules/tpl-friend-12_a.C: New test. + * g++.dg/modules/tpl-friend-12_b.C: New test. + * g++.dg/modules/tpl-friend-12_c.C: New test. + * g++.dg/modules/tpl-friend-12_d.C: New test. + * g++.dg/modules/tpl-friend-12_e.C: New test. + * g++.dg/modules/tpl-friend-12_f.C: New test. + * g++.dg/modules/tpl-friend-13_a.C: New test. + * g++.dg/modules/tpl-friend-13_b.C: New test. + * g++.dg/modules/tpl-friend-13_c.C: New test. + * g++.dg/modules/tpl-friend-13_d.C: New test. + * g++.dg/modules/tpl-friend-13_e.C: New test. + * g++.dg/modules/tpl-friend-13_f.C: New test. + * g++.dg/modules/tpl-friend-13_g.C: New test. + * g++.dg/modules/tpl-friend-14_a.C: New test. + * g++.dg/modules/tpl-friend-14_b.C: New test. + * g++.dg/modules/tpl-friend-14_c.C: New test. + * g++.dg/modules/tpl-friend-14_d.C: New test. + * g++.dg/modules/tpl-friend-9.C: New test. + +2024-04-30 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/enum-12.C: Update error message. + * g++.dg/modules/friend-5_b.C: Likewise. + * g++.dg/modules/shadow-1_b.C: Likewise. + +2024-04-30 Patrick Palka <ppalka@redhat.com> + + PR c++/114889 + * g++.dg/modules/friend-8_a.H: New test. + * g++.dg/modules/friend-8_b.C: New test. + +2024-04-30 Patrick Palka <ppalka@redhat.com> + + PR c++/114888 + * g++.dg/template/sizeof19.C: New test. + +2024-04-29 Alexandre Oliva <oliva@gnu.org> + + Revert: + 2024-04-28 Alexandre Oliva <oliva@adacore.com> + + * lib/target-supports.exp (check_vect_support_and_set_flags): + Decay to link rather than compile. + +2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.dg/selected_logical_kind_1.f90: New test. + * gfortran.dg/selected_logical_kind_2.f90: New test. + * gfortran.dg/selected_logical_kind_3.f90: New test. + * gfortran.dg/selected_logical_kind_4.f90: New test. + +2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.dg/iso_fortran_env_8.f90: New test. + * gfortran.dg/iso_fortran_env_9.f90: New test. + +2024-04-29 demin.han <demin.han@starfivetech.com> + + PR target/114506 + * gcc.dg/vect/costmodel/riscv/rvv/pr114506.c: New test. + +2024-04-29 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/114959 + * gfortran.dg/pr114959.f90: New test. + +2024-04-29 Jie Mei <jie.mei@oss.cipunited.com> + + * gcc.target/mips/mips-minmax1.c: New test for MIPS R6. + * gcc.target/mips/mips-minmax2.c: Same as above. + +2024-04-28 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/zero_extendkmask.c: New file. + +2024-04-28 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/cdce3.c: Require sqrt_insn effective target. + * gcc.target/powerpc/pr46728-10.c: Likewise. Drop darwin + explicit skipping. + * gcc.target/powerpc/pr46728-11.c: Likewise. Likewise. + * gcc.target/powerpc/pr46728-13.c: Likewise. Likewise. + * gcc.target/powerpc/pr46728-14.c: Likewise. Likewise. + +2024-04-28 Alexandre Oliva <oliva@adacore.com> + + PR target/58684 + * gcc.dg/torture/pr91323.c: Expect execution fail on + powerpc*-*-*. + +2024-04-28 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/powerpc/vec-mul.c: Run on target vsx_hw, just + compile otherwise. + +2024-04-28 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Disable + ldist. + +2024-04-28 Olivier Hainque <hainque@adacore.com> + + * gcc.target/powerpc/swaps-p8-20.c: Change powerpc_altivec_ok + require-effective-target test into vmx_hw. + * gcc.target/powerpc/vsx-vector-5.c: Change powerpc_vsx_ok + require-effective-target test into vsx_hw. + +2024-04-28 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/powerpc/pr106680-1.c: Error on vxworks too. + * gcc.target/powerpc/pr106680-2.c: Likewise. + * gcc.target/powerpc/pr106680-3.c: Likewise. + +2024-04-28 Alexandre Oliva <oliva@adacore.com> + + * lib/target-supports.exp (check_vect_support_and_set_flags): + Decay to link rather than compile. + +2024-04-28 Jiufu Guo <guojiufu@linux.ibm.com> + + PR target/95782 + * g++.target/s390/pr95782.C: New test. + +2024-04-27 Xi Ruoyao <xry111@xry111.site> + + PR target/114861 + * gcc.target/loongarch/pr114861.c: New test. + +2024-04-26 Wilco Dijkstra <wilco.dijkstra@arm.com> + + * gcc.target/aarch64/ldp_stp_q_disable.c: Remove test. + +2024-04-26 Patrick Palka <ppalka@redhat.com> + + * g++.dg/concepts/diagnostic2.C: Expect source line printed + for the "required from here" message. + * g++.dg/template/error60a.C: New test. + +2024-04-26 Haochen Jiang <haochen.jiang@intel.com> + + PR target/110621 + * gcc.target/i386/pr105354-2.c: As mentioned. + +2024-04-25 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/bpf-debug-options-1.c: New test. + * gcc.target/bpf/bpf-debug-options-2.c: Likewise. + * gcc.target/bpf/bpf-debug-options-3.c: Likewise. + * gcc.target/bpf/core-options-4.c: Likewise. + +2024-04-25 Jakub Jelinek <jakub@redhat.com> + + PR c++/111284 + * g++.dg/cpp1z/constexpr-111284.C: New test. + * g++.dg/cpp1y/constexpr-lifetime7.C: Expect one error on a different + line. + +2024-04-25 Jakub Jelinek <jakub@redhat.com> + + PR lto/113208 + * g++.dg/abi/comdat2.C: New test. + * g++.dg/abi/comdat5.C: New test. + * g++.dg/lto/pr113208_0.C: New test. + * g++.dg/lto/pr113208_1.C: New file. + * g++.dg/lto/pr113208.h: New file. + +2024-04-25 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/core-options-1.c: New test. + * gcc.target/bpf/core-options-2.c: Likewise. + * gcc.target/bpf/core-options-3.c: Likewise. + +2024-04-25 Jakub Jelinek <jakub@redhat.com> + + PR fortran/114825 + * gfortran.dg/gomp/pr114825.f90: New test. + +2024-04-25 Jose E. Marchesi <jose.marchesi@oracle.com> + + * gcc.target/bpf/alu-1.c: Specify conventional asm dialect. + * gcc.target/bpf/xbpf-indirect-call-1.c: Likewise. + * gcc.target/bpf/sync-fetch-and-add.c: Likewise. + * gcc.target/bpf/smov-2.c: Likewise. + * gcc.target/bpf/smov-1.c: Likewise. + * gcc.target/bpf/smod-1.c: Likewise. + * gcc.target/bpf/sload-1.c: Likewise. + * gcc.target/bpf/sdiv-1.c: Likewise. + * gcc.target/bpf/nop-1.c: Likewise. + * gcc.target/bpf/neg-1.c: Likewise. + * gcc.target/bpf/ldxdw.c: Likewise. + * gcc.target/bpf/jmp-1.c: Likewise. + * gcc.target/bpf/inline-memops-threshold-1.c: Likewise. + * gcc.target/bpf/float-1.c: Likewise. + * gcc.target/bpf/double-2.c: Likewise. + * gcc.target/bpf/double-1.c: Likewise. + * gcc.target/bpf/core-builtin-type-id.c: Likewise. + * gcc.target/bpf/core-builtin-type-based.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-size-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-sign-2.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-sign-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-rshift-2.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-rshift-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-2.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-le.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-be.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-existence-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-errors-2.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-errors-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-const-elimination.c: + Likewise. + * gcc.target/bpf/core-builtin-exprlist-4.c: Likewise. + * gcc.target/bpf/core-builtin-exprlist-3.c: Likewise. + * gcc.target/bpf/core-builtin-exprlist-2.c: Likewise. + * gcc.target/bpf/core-builtin-exprlist-1.c: Likewise. + * gcc.target/bpf/core-builtin-enumvalue-opt.c: Likewise. + * gcc.target/bpf/core-builtin-enumvalue-errors.c: Likewise. + * gcc.target/bpf/core-builtin-enumvalue.c: Likewise. + * gcc.target/bpf/core-builtin-3.c: Likewise. + * gcc.target/bpf/core-builtin-2.c: Likewise. + * gcc.target/bpf/core-builtin-1.c: Likewise. + * gcc.target/bpf/core-attr-struct-as-array.c: Likewise. + * gcc.target/bpf/core-attr-6.c: Likewise. + * gcc.target/bpf/core-attr-5.c: Likewise. + * gcc.target/bpf/core-attr-4.c: Likewise. + * gcc.target/bpf/core-attr-3.c: Likewise. + * gcc.target/bpf/core-attr-2.c: Likewise. + * gcc.target/bpf/core-attr-1.c: Likewise. + * gcc.target/bpf/builtin-load.c: Likewise. + * gcc.target/bpf/btfext-funcinfo-nocore.c: Likewise. + * gcc.target/bpf/btfext-funcinfo.c: Likewise. + * gcc.target/bpf/bswap-1.c: Likewise. + * gcc.target/bpf/bswap-2.c: Likewise. + * gcc.target/bpf/attr-kernel-helper.c: Likewise. + * gcc.target/bpf/atomic-xchg-2.c: Likewise. + * gcc.target/bpf/atomic-xchg-1.c: Likewise. + * gcc.target/bpf/atomic-op-3.c: Likewise. + * gcc.target/bpf/atomic-op-2.c: Likewise. + * gcc.target/bpf/atomic-op-1.c: Likewise. + * gcc.target/bpf/atomic-fetch-op-3.c: Likewise. + * gcc.target/bpf/atomic-fetch-op-2.c: Likewise. + * gcc.target/bpf/atomic-fetch-op-1.c: Likewise. + * gcc.target/bpf/atomic-cmpxchg-2.c: Likewise. + * gcc.target/bpf/atomic-cmpxchg-1.c: Likewise. + * gcc.target/bpf/alu-2.c: Likewise. + +2024-04-25 Richard Ball <richard.ball@arm.com> + + * gcc.target/arm/cmse/extend-param.c: New test. + * gcc.target/arm/cmse/extend-return.c: New test. + +2024-04-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114792 + * gcc.dg/torture/pr114792.c: New testcase. + +2024-04-25 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.target/sparc/small-struct-1.c: New test. + * gcc.target/sparc/pr105573.c: Rename to... + * gcc.target/sparc/20230425-1.c: ...this. + * gcc.target/sparc/pr109541.c: Rename to... + * gcc.target/sparc/20230607-1.c: ...this + +2024-04-25 Pan Li <pan2.li@intel.com> + Kito Cheng <kito.cheng@sifive.com> + + PR target/114714 + * g++.target/riscv/rvv/base/pr114714-1.C: New test. + * g++.target/riscv/rvv/base/pr114714-2.C: New test. + +2024-04-25 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/93678 + * gfortran.dg/pr93678.f90: New test. + +2024-04-25 Paul Thomas <pault@gcc.gnu.org> + Jakub Jelinek <jakub@gcc.gnu.org> + + PR fortran/89462 + * gfortran.dg/pr89462.f90: New test. + +2024-04-25 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/bcd-4.c: Adjust the number of bcdadd and + bcdsub. + +2024-04-25 Pan Li <pan2.li@intel.com> + + * 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. + +2024-04-24 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/pr99023_a.X: Run only in C++20 mode. + * g++.dg/modules/pr99023_b.X: Likewise. + +2024-04-24 Patrick Palka <ppalka@redhat.com> + + PR c++/114709 + * g++.dg/cpp0x/constexpr-union8.C: New test. + +2024-04-24 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-24 Juzhe-Zhong <juzhe.zhong@rivai.ai> + kito-cheng <kito.cheng@sifive.com> + kito-cheng <kito.cheng@gmail.com> + + 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. + +2024-04-24 Jose E. Marchesi <jose.marchesi@oracle.com> + + * gcc.target/bpf/feature-macro-1.c: New test. + * gcc.target/bpf/feature-macro-2.c: Likewise. + +2024-04-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114787 + * gcc.dg/torture/pr114787.c: New testcase. + +2024-04-24 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114832 + * gcc.dg/vect/pr114832.c: New testcase. + +2024-04-24 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx10_1-24.c: New test. + +2024-04-24 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/unop_v_constraint-2.c: Adjust asm + check cond. + * 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. + +2024-04-24 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-24 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * 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. + +2024-04-23 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/cpp23/explicit-obj-basic7.C: New test. + +2024-04-23 Jakub Jelinek <jakub@redhat.com> + + PR target/114810 + * g++.target/i386/pr114810.C: New test. + +2024-04-23 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103496 + * gfortran.dg/c_sizeof_8.f90: New test. + +2024-04-23 Patrick Palka <ppalka@redhat.com> + + PR c++/114795 + * g++.dg/modules/auto-4_a.H: New test. + * g++.dg/modules/auto-4_b.C: New test. + +2024-04-23 Jakub Jelinek <jakub@redhat.com> + + * objc.dg/attributes/nullability-00.m: Adjust expected diagnostic + spelling: recognised -> recognized. + * obj-c++.dg/attributes/nullability-00.mm: Likewise. + +2024-04-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.dg/tree-ssa/forwprop-40.c: Xfail for s390. + * gcc.dg/tree-ssa/forwprop-41.c: Xfail for s390. + * lib/target-supports.exp: Add target check s390_mvx. + +2024-04-23 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/102597 + * gfortran.dg/pr102597.f90: New test. + +2024-04-23 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114799 + * gcc.dg/vect/bb-slp-pr114799.c: New testcase. + +2024-04-23 Andreas Krebbel <krebbel@linux.ibm.com> + + PR target/114676 + * gcc.target/s390/zvector/pr114676.c: New test. + +2024-04-23 Jakub Jelinek <jakub@redhat.com> + + PR c++/114784 + * g++.dg/cpp0x/inh-ctor39.C: New test. + +2024-04-23 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114078 + * g++.dg/cpp23/explicit-obj-ops-alloc.C: New test. + +2024-04-22 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114811 + * lib/gm2-torture.exp: Correct regexp checking for internal + compiler error strings in compiler output. + +2024-04-22 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114807 + * gm2/pim/fail/badproctype.mod: Change MYSHORTREAL + to SHORTREAL. + * gm2/pim/fail/badprocbool.mod: New test. + * gm2/pim/fail/badproccard.mod: New test. + * gm2/pim/fail/badprocint.mod: New test. + * gm2/pim/fail/badprocint2.mod: New test. + * gm2/pim/pass/goodproccard2.mod: New test. + * gm2/pim/pass/goodprocint.mod: New test. + * gm2/pim/pass/goodprocint3.mod: New test. + * gm2/pim/run/pass/genconststr.mod: New test. + +2024-04-22 Marek Polacek <polacek@redhat.com> + + * lib/prune.exp (prune_gcc_output): Also prune -freport-bug output. + +2024-04-22 Pan Li <pan2.li@intel.com> + + * 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. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + 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. + +2024-04-22 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/pr112431-34.c: Remove xfail for vluxei8 check. + * 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. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + 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. + +2024-04-22 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/vxe/popcount-1.c: Remove xfail. + +2024-04-22 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/pr112431-37.c: New test. + * gcc.target/riscv/rvv/base/pr112431-38.c: New test. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-37.c: New test. + * gcc.target/riscv/rvv/base/pr112431-38.c: New test. + +2024-04-22 Pan Li <pan2.li@intel.com> + + * 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. + +2024-04-22 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + 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. + +2024-04-22 Pan Li <pan2.li@intel.com> + + * 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. + +2024-04-21 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/103471 + * gfortran.dg/pr103471.f90: New test. + +2024-04-21 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-21 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + 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. + +2024-04-21 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/pr112431-34.c: New test. + +2024-04-20 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-20 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112431 + * gcc.target/riscv/rvv/base/pr112431-34.c: New test. + +2024-04-20 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/112893 + * gm2/pim/pass/another.mod: Correct bug exposed by type checker. + Swap ProcA and ProcB assignments. + * gm2/pim/pass/proccard.mod: Use VAL to convert procedure into a + cardinal. + * gm2/iso/const/fail/castproctype.mod: New test. + * gm2/pim/fail/badproctype.mod: New test. + +2024-04-20 Pan Li <pan2.li@intel.com> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c: Xfail csr check. + * 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. + +2024-04-20 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-20 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + 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. + +2024-04-20 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/pr112431-42.c: New test. + +2024-04-20 Pan Li <pan2.li@intel.com> + + Revert: + 2024-04-20 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/112432 + * gcc.target/riscv/rvv/base/pr112432-42.c: New test. + +2024-04-19 Jakub Jelinek <jakub@redhat.com> + + PR target/114783 + * gcc.target/i386/avx2-pr114783.c: New test. + +2024-04-19 Jakub Jelinek <jakub@redhat.com> + + PR c/114780 + * gcc.dg/format/sentinel-2.c: New test. + +2024-04-19 Martin Uecker <uecker@tugraz.at> + Jakub Jelinek <jakub@redhat.com> + + PR lto/114574 + PR c/114361 + * gcc.dg/pr114574-1.c: New test. + * gcc.dg/pr114574-2.c: New test. + * gcc.dg/pr114361.c: New test. + * gcc.dg/c23-tag-incomplete-1.c: New test. + * gcc.dg/c23-tag-incomplete-2.c: New test. + +2024-04-19 Thomas Schwinge <tschwinge@baylibre.com> + + PR testsuite/114768 + * gcc.dg/pr114768.c: Enable for nvptx target. + +2024-04-19 Cupertino Miranda <cupertino.miranda@oracle.com> + + * gcc.target/bpf/btfext-funcinfo.c: Updated to changes. + * gcc.target/bpf/core-builtin-fieldinfo-const-elimination.c: + Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-existence-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-be.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-le.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-lshift-2.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-rshift-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-rshift-2.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-sign-1.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-sign-2.c: Likewise. + * gcc.target/bpf/core-builtin-fieldinfo-size-1.c: Likewise. + +2024-04-19 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/111650 + * gdc.dg/pr111650.d: New test. + +2024-04-19 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114768 + * gcc.dg/pr114768.c: New test. + +2024-04-19 Jakub Jelinek <jakub@redhat.com> + + PR libgcc/114762 + * gcc.dg/torture/bitint-70.c: New test. + +2024-04-18 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/114739 + * gfortran.dg/pr114739.f90: New test. + * gfortran.dg/derived_comp_array_ref_8.f90: Add 'implicit none' + for consistency with expected error message. + * gfortran.dg/nullify_4.f90: ditto + * gfortran.dg/pointer_init_6.f90: ditto + * gfortran.dg/pr107397.f90: ditto + * gfortran.dg/pr88138.f90: ditto + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/i386/bf16_short_warn.c: Add -msse2. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/i386/pr107261.c: Add -fomit-frame-pointer. + * gcc.target/i386/pr69482-1.c: Likewise. + * gcc.target/i386/pr69482-2.c: Likewise. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * gcc.target/arm/bfloat16_scalar_typecheck.c: Accept C23 + empty initializers. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * g++.dg/contracts/contracts9.C: Don't assume string literals + have non-negative addresses. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + Olivier Hainque <hainque@adacore.com> + + * gcc.target/aarch64/pr94201.c: Add missing + dg-require-effective-target fpic. + * gcc.target/aarch64/pr103085.c: Likewise. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * g++.target/i386/pr111497.C: Require fpic support. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + PR testsuite/113706 + * c-c++-common/pr103798-2.c: XFAIL in C++ on vxworks too. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: + Include sys/select.h if present. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/analyzer/pipe-glibc.c: Require fork. + * gcc.dg/analyzer/pipe-manpages.c: Likewise. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/analyzer/fd-access-mode-target-headers.c: Skip on + vxworks as well. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * gcc.dg/analyzer/fd-4.c: Define macro to avoid mode_t on + vxworks. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * lib/target-supports.exp (check_effective_target_strndup): New. + * gcc.dg/builtin-dynamic-object-size-0.c: Skip strndup tests + when the function is not available. + * gcc.dg/builtin-dynamic-object-size-1.c: Likewise. + * gcc.dg/builtin-dynamic-object-size-2.c: Likewise. + * gcc.dg/builtin-dynamic-object-size-3.c: Likewise. + * gcc.dg/builtin-dynamic-object-size-4.c: Likewise. + * gcc.dg/builtin-object-size-1.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. + +2024-04-18 Tamar Christina <tamar.christina@arm.com> + + PR target/114741 + * gcc.target/aarch64/fneg-abs_2.c: Update codegen. + * gcc.target/aarch64/fneg-abs_4.c: xfail for now. + * gcc.target/aarch64/pr114741.c: New test. + +2024-04-18 Jakub Jelinek <jakub@redhat.com> + + PR libgcc/114755 + * gcc.dg/torture/bitint-69.c: New test. + +2024-04-18 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114753 + * gcc.dg/pr114753.c: New test. + +2024-04-18 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114744 + * gcc.target/powerpc/builtins-6-p9-runnable.c: Adjust for BE by fixing + data_{u,}128, their uses and vec_uc_expected1, also adjust some formats. + +2024-04-18 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/bcd-4.c: Enable the case to be tested on P9. + Enable the case to be run on big endian. Fix function maxbcd and + other misc. problems. + +2024-04-17 Thomas Schwinge <tschwinge@baylibre.com> + + * lib/target-supports.exp (check_effective_target_vect_long_long): + Enable for GCN. + +2024-04-17 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/114743 + * gcc.dg/asan/pr112709-2.c (freddy): New function from + gcc.dg/ubsan/pr112709-2.c version of the test. + +2024-04-16 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114745 + * gm2/iso/const/pass/constcast.mod: New test. + * gm2/iso/const/pass/constodd.mod: New test. + * gm2/pim/pass/tinyindr.mod: New test. + +2024-04-16 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114403 + * gcc.dg/vect/vect-early-break_124-pr114403.c: Fix check loop. + +2024-04-16 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113793 + * gfortran.dg/allocate_with_source_29.f90: New test. + * gfortran.dg/allocate_with_source_30.f90: New test. + * gfortran.dg/allocate_with_source_31.f90: New test. + +2024-04-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114736 + * gfortran.dg/vect/pr114736.f90: New testcase. + +2024-04-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114733 + * gcc.dg/vect/pr114733.c: New testcase. + +2024-04-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/114706 + * g++.dg/cpp2a/bit-cast17.C: New test. + +2024-04-16 Fei Gao <gaofei@eswincomputing.com> + + * gcc.target/riscv/zicond-prefer-add-to-or.c: New test. + +2024-04-16 Alexandre Oliva <oliva@adacore.com> + + PR middle-end/112938 + * g++.dg/strub-internal-pr112938.cc: New. + +2024-04-15 Jørgen Kvalsvik <j@lambda.is> + + PR gcov-profile/114720 + * gcc.misc-tests/gcov-22.c: Guard longjmp to not loop. + +2024-04-15 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/pr114668.c: New test. + +2024-04-15 Richard Biener <rguenther@suse.de> + + PR gcov-profile/114715 + * gcc.misc-tests/gcov-24.c: New testcase. + +2024-04-15 H.J. Lu <hjl.tools@gmail.com> + + PR target/114696 + * gcc.target/i386/apx-ndd-x32-2a.c: New test. + * gcc.target/i386/apx-ndd-x32-2b.c: Likewise. + * gcc.target/i386/apx-ndd-x32-2c.c: Likewise. + * gcc.target/i386/apx-ndd-x32-2d.c: Likewise. + +2024-04-15 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/114403 + * gcc.dg/vect/vect-early-break_124-pr114403.c: New test. + * gcc.dg/vect/vect-early-break_125-pr114403.c: New test. + +2024-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/fhardened-1.c: Restrict to Linux/GNU. + * gcc.target/i386/fhardened-2.c: Likewise. + +2024-04-15 Jakub Jelinek <jakub@redhat.com> + + PR c++/114634 + * g++.dg/ext/attrib68.C: New test. + +2024-04-15 Nathaniel Shead <nathanieloshead@gmail.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/114600 + * g++.dg/modules/using-14.C: New test. + +2024-04-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/106820 + * g++.dg/modules/pr106820_a.H: New test. + * g++.dg/modules/pr106820_b.C: New test. + +2024-04-12 Andrew Carlotti <andrew.carlotti@arm.com> + + * gcc.target/aarch64/cpunative/info_24: Include lrcpc and ilrcpc. + +2024-04-12 Marek Polacek <polacek@redhat.com> + + PR c++/109966 + * g++.dg/cpp1y/nsdmi-aggr20.C: New test. + * g++.dg/cpp1y/nsdmi-aggr21.C: New test. + +2024-04-12 Will Schmidt <will_schmidt@linux.ibm.com> + Peter Bergner <bergner@linux.ibm.com> + + PR target/101865 + * gcc.target/powerpc/predefine-p7-novsx.c: New test. + * gcc.target/powerpc/predefine-p8-noaltivec-novsx.c: New test. + * gcc.target/powerpc/predefine-p8-noaltivec.c: New test. + * gcc.target/powerpc/predefine-p8-novsx.c: New test. + * gcc.target/powerpc/predefine-p8-pragma-vsx.c: New test. + * gcc.target/powerpc/predefine-p9-novsx.c: New test. + +2024-04-12 Patrick Palka <ppalka@redhat.com> + + PR c++/99426 + * g++.dg/modules/merge-17.h: New test. + * g++.dg/modules/merge-17_a.H: New test. + * g++.dg/modules/merge-17_b.C: New test. + * g++.dg/modules/xtreme-header-7_a.H: New test. + * g++.dg/modules/xtreme-header-7_b.C: New test. + +2024-04-12 Jason Merrill <jason@redhat.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/113141 + * g++.dg/conversion/ref12.C: New test. + +2024-04-12 Jason Merrill <jason@redhat.com> + Patrick Palka <ppalka@redhat.com> + + DR 1996 + PR c++/113141 + * g++.dg/cpp0x/initlist-ref1.C: New test. + * g++.dg/cpp0x/initlist-ref2.C: New test. + * g++.dg/cpp0x/initlist-ref3.C: New test. + +2024-04-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/114691 + * g++.dg/ext/pr114691.C: New test. + +2024-04-12 Patrick Palka <ppalka@redhat.com> + + PR c++/114393 + * g++.dg/cpp2a/lambda-targ2a.C: New test. + +2024-04-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/114426 + * g++.dg/cpp2a/pr114426.C: New test. + * g++.dg/cpp2a/constexpr-dtor16.C: New test. + +2024-04-12 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/114666 + * gcc.c-torture/execute/bitfld-signed1-1.c: New test. + +2024-04-12 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme/acle-asm/zero_mask_za.c (zero_mask_za_ab) + (zero_mask_za_d7, zero_mask_za_bf): Expect a list of .d tiles instead + of a mixture. + +2024-04-12 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.dg/tree-ssa/range-sincos.c: Xfail for s390. + * gcc.dg/tree-ssa/vrp-float-abs-1.c: Dito. + +2024-04-12 Patrick Palka <ppalka@redhat.com> + + PR c++/114393 + PR c++/107457 + PR c++/93595 + * g++.dg/cpp2a/lambda-targ2.C: New test. + * g++.dg/cpp2a/lambda-targ3.C: New test. + * g++.dg/cpp2a/lambda-targ4.C: New test. + +2024-04-12 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/114687 + * gcc.dg/asan/pr114687.c: New test. + +2024-04-12 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.dg/tree-ssa/loop-interchange-16.c: Prevent loop unrolling + of the innermost loop. + +2024-04-12 Pan Li <pan2.li@intel.com> + + PR target/114639 + * gcc.target/riscv/pr114639-1.c: New test. + * gcc.target/riscv/pr114639-2.c: New test. + * gcc.target/riscv/pr114639-3.c: New test. + * gcc.target/riscv/pr114639-4.c: New test. + +2024-04-11 David Faust <david.faust@oracle.com> + + * gcc.dg/debug/btf/btf-bitfields-4.c: Add two new checks. + +2024-04-11 Andre Vieira (lists) <andre.simoesdiasvieira@arm.com> + + * gcc.target/aarch64/bitfield-bitint-abi-align16.c (g1, g8, g16, g1p, g8p, + g16p): Remove unnecessary sbfx. + * gcc.target/aarch64/bitfield-bitint-abi-align8.c (g1, g8, g16, g1p, g8p, + g16p): Likewise. + +2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> + + * g++.target/aarch64/mv-1.C: New test. + +2024-04-11 Andrew Carlotti <andrew.carlotti@arm.com> + + * gcc.target/aarch64/cpunative/native_cpu_21.c: Reorder features. + * gcc.target/aarch64/cpunative/native_cpu_22.c: Ditto. + +2024-04-11 Patrick Palka <ppalka@redhat.com> + + PR c++/114303 + * g++.dg/cpp1z/constexpr-if-lambda6.C: New test. + +2024-04-11 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/110027 + * gcc.dg/asan/pr110027.c: New test. + +2024-04-11 Richard Biener <rguenther@suse.de> + + PR middle-end/114681 + * gcc.misc-tests/gcov-pr114681.c: New testcase. + +2024-04-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/114409 + * g++.dg/ext/pr114409-2.C: New test. + +2024-04-11 Pan Li <pan2.li@intel.com> + + * g++.target/riscv/rvv/base/pr109244.C: Remove deprecated + -Wno-psabi option. + * g++.target/riscv/rvv/base/pr109535.C: Ditto. + * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-2.c: Ditto. + * 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/autovec/vls-vlmax/vec_extract-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-1u.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-2u.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-3u.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-4u.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-runu.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Ditto. + * 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. + +2024-04-11 Pan Li <pan2.li@intel.com> + + PR target/114639 + * g++.target/riscv/rvv/base/pr114639-1.C: New test. + * gcc.target/riscv/rvv/base/pr114639-1.c: New test. + +2024-04-11 Indu Bhagat <indu.bhagat@oracle.com> + + * gcc.dg/debug/btf/btf-bitfields-4.c: Update the vlen check. + * gcc.dg/debug/btf/btf-struct-2.c: Check that member named 'f' + with void data type is emitted. + +2024-04-11 Indu Bhagat <indu.bhagat@oracle.com> + + PR debug/112878 + * gcc.dg/debug/ctf/ctf-bitfields-5.c: New test. + +2024-04-10 Hans-Peter Nilsson <hp@axis.com> + + Revert: + 2024-04-05 Hans-Peter Nilsson <hp@axis.com> + + * gcc.target/cris/pr93372-2.c: Tweak scan-assembler + checks to cover recent combine improvement. + +2024-04-10 Marek Polacek <polacek@redhat.com> + + PR target/114606 + * gcc.target/i386/fhardened-1.c: New test. + * gcc.target/i386/fhardened-2.c: New test. + +2024-04-10 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/analyzer/out-of-bounds-pr114472.c: New test. + +2024-04-10 David Malcolm <dmalcolm@redhat.com> + + * c-c++-common/analyzer/memset-1.c: Clarify some comments. + +2024-04-10 David Malcolm <dmalcolm@redhat.com> + + * gcc.dg/plugin/copy_from_user-1.c: Add missing directives for an + analyzer test. + * gcc.dg/plugin/taint-CVE-2011-0521-1-fixed.c: Add missing + -fanalyzer to options. + * gcc.dg/plugin/taint-CVE-2011-0521-1.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-2-fixed.c: Likewise. + (dvb_usercopy): Add default case to avoid complaints about NULL + derefs. + * gcc.dg/plugin/taint-CVE-2011-0521-2.c: Likewise. + * gcc.dg/plugin/taint-CVE-2011-0521-3-fixed.c: Add missing + -fanalyzer to options. + * gcc.dg/plugin/taint-CVE-2011-0521-3.c: Likewise. Drop + xfail. + +2024-04-10 Harald Anlauf <anlauf@gmx.de> + + PR fortran/106500 + * gfortran.dg/c_sizeof_6.f90: Remove wrong dg-error. + * gfortran.dg/sizeof_2.f90: Adjust pattern. + * gfortran.dg/c_f_pointer_tests_9.f90: New test. + * gfortran.dg/c_sizeof_7.f90: New test. + +2024-04-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114672 + * gcc.dg/torture/pr114672.c: New testcase. + +2024-04-10 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.target/aarch64/bitint-alignments.c: New test. + * gcc.target/aarch64/bitint-args.c: New test. + * gcc.target/aarch64/bitint-sizes.c: New test. + * gcc.target/aarch64/bitfield-bitint-abi.h: New header. + * gcc.target/aarch64/bitfield-bitint-abi-align16.c: New test. + * gcc.target/aarch64/bitfield-bitint-abi-align8.c: New test. + +2024-04-10 Jakub Jelinek <jakub@redhat.com> + + PR c++/114462 + * g++.dg/cpp26/trivial-infinite-loop1.C: New test. + * g++.dg/cpp26/trivial-infinite-loop2.C: New test. + * g++.dg/cpp26/trivial-infinite-loop3.C: New test. + +2024-04-10 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114662 + * gcc.dg/lto/pr113359-2_0.c: Use unsigned long long instead of + unsigned long. + * gcc.dg/lto/pr113359-2_1.c: Likewise. + +2024-04-10 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/104040 + * g++.dg/modules/pr104040_a.C: New test. + * g++.dg/modules/pr104040_b.C: New test. + +2024-04-10 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99377 + * g++.dg/modules/pr99377-3_a.H: New test. + * g++.dg/modules/pr99377-3_b.C: New test. + * g++.dg/modules/pr99377-3_c.C: New test. + * g++.dg/modules/pr99377-3_d.C: New test. + +2024-04-09 David Faust <david.faust@oracle.com> + + PR testsuite/114642 + * gcc.dg/debug/btf/btf-datasec-3.c: Make test more robust on different + architectures. + +2024-04-09 Juergen Christ <jchrist@linux.ibm.com> + + * gcc.target/s390/vector/vec-expand-replicate.c: New test. + +2024-04-09 David Faust <david.faust@oracle.com> + + PR debug/114608 + * gcc.dg/debug/btf/btf-datasec-1.c: Check bts_offset symbol references + only for BPF target. + * gcc.dg/debug/btf/btf-datasec-2.c: Likewise. + * gcc.dg/debug/btf/btf-pr106773.c: Likewise. + +2024-04-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/114535 + * gfortran.dg/pr114535d.f90: New test. + * gfortran.dg/pr114535iv.f90: Additional source. + +2024-04-09 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/113956 + * gfortran.dg/pr113956.f90: New test. + +2024-04-09 Jørgen Kvalsvik <j@lambda.is> + + PR gcov-profile/114601 + * gcc.misc-tests/gcov-pr114601.c: New test. + +2024-04-09 Jakub Jelinek <jakub@redhat.com> + + PR target/114576 + * gcc.target/i386/aes-pr114576.c: New test. + +2024-04-09 Yang Yujie <yangyujie@loongson.cn> + + PR target/113233 + * lib/target-supports.exp: Define condition loongarch_sx_as. + * gcc.dg/lto/pr113233_0.c: New test. + +2024-04-09 Jørgen Kvalsvik <j@lambda.is> + + PR middle-end/114599 + * gcc.misc-tests/gcov-19.c: New test. + +2024-04-09 Jakub Jelinek <jakub@redhat.com> + + PR c++/114580 + * g++.dg/cpp2a/is-constant-evaluated15.C: New test. + +2024-04-09 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114628 + * gcc.dg/bitint-105.c: New test. + +2024-04-09 H.J. Lu <hjl.tools@gmail.com> + + PR target/114587 + * gcc.target/i386/apx-3.c: Likewise. + +2024-04-09 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/114614 + * gcc.misc-tests/gcov-20.c: Add effective target check + profile_update_atomic. + +2024-04-09 Kewen Lin <linkw@linux.ibm.com> + Andrew Pinski <quic_apinski@quicinc.com> + + PR target/88309 + * gcc.target/powerpc/pr88309.c: New test. + +2024-04-09 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114648 + * gm2/cpp/default/pass/AdvParse.def: New test. + * gm2/cpp/default/pass/AdvParse.mod: New test. + * gm2/cpp/default/pass/cpp-default-pass.exp: New test. + +2024-04-08 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/gcn/cond_fmaxnm_1.c: Specify + '--param=gcn-preferred-vectorization-factor=64'. + * gcc.target/gcn/cond_fmaxnm_2.c: Likewise. + * gcc.target/gcn/cond_fmaxnm_3.c: Likewise. + * gcc.target/gcn/cond_fmaxnm_4.c: Likewise. + * gcc.target/gcn/cond_fmaxnm_5.c: Likewise. + * gcc.target/gcn/cond_fmaxnm_6.c: Likewise. + * gcc.target/gcn/cond_fmaxnm_7.c: Likewise. + * gcc.target/gcn/cond_fmaxnm_8.c: Likewise. + * gcc.target/gcn/cond_fminnm_1.c: Likewise. + * gcc.target/gcn/cond_fminnm_2.c: Likewise. + * gcc.target/gcn/cond_fminnm_3.c: Likewise. + * gcc.target/gcn/cond_fminnm_4.c: Likewise. + * gcc.target/gcn/cond_fminnm_5.c: Likewise. + * gcc.target/gcn/cond_fminnm_6.c: Likewise. + * gcc.target/gcn/cond_fminnm_7.c: Likewise. + * gcc.target/gcn/cond_fminnm_8.c: Likewise. + * gcc.target/gcn/cond_shift_3.c: Likewise. + * gcc.target/gcn/cond_shift_4.c: Likewise. + * gcc.target/gcn/cond_shift_8.c: Likewise. + * gcc.target/gcn/cond_shift_9.c: Likewise. + * gcc.target/gcn/cond_smax_1.c: Likewise. + * gcc.target/gcn/cond_smin_1.c: Likewise. + * gcc.target/gcn/cond_umax_1.c: Likewise. + * gcc.target/gcn/cond_umin_1.c: Likewise. + * gcc.target/gcn/simd-math-1.c: Likewise. + * gcc.target/gcn/simd-math-5-char.c: Likewise. + * gcc.target/gcn/simd-math-5-long.c: Likewise. + * gcc.target/gcn/simd-math-5-short.c: Likewise. + * gcc.target/gcn/simd-math-5.c: Likewise. + * gcc.target/gcn/smax_1.c: Likewise. + * gcc.target/gcn/smin_1.c: Likewise. + * gcc.target/gcn/umax_1.c: Likewise. + * gcc.target/gcn/umin_1.c: Likewise. + +2024-04-08 Thomas Schwinge <tschwinge@baylibre.com> + + * lib/target-supports.exp (check_effective_target_lra): Add + comment. + (check_effective_target_asm_goto_with_outputs): New. + * gcc.c-torture/compile/asmgoto-2.c: Use it. + * gcc.c-torture/compile/asmgoto-5.c: Likewise. + * gcc.c-torture/compile/asmgoto-6.c: Likewise. + * gcc.c-torture/compile/pr98096.c: Likewise. + * gcc.dg/pr100590.c: Likewise. + * gcc.dg/pr107385.c: Likewise. + * gcc.dg/pr108095.c: Likewise. + * gcc.dg/pr97954.c: Likewise. + * gcc.dg/torture/pr100329.c: Likewise. + * gcc.dg/torture/pr100398.c: Likewise. + * gcc.dg/torture/pr100519.c: Likewise. + * gcc.dg/torture/pr110422.c: Likewise. + * gcc.dg/pr110079.c: Special-case nvptx target. + +2024-04-08 Tobias Burnus <tburnus@baylibre.com> + + PR libfortran/114304 + * gfortran.dg/pr114304-2.f90: New test. + +2024-04-08 Martin Jambor <mjambor@suse.cz> + + PR ipa/113359 + * gcc.dg/lto/pr113359-1_0.c: New. + * gcc.dg/lto/pr113359-1_1.c: Likewise. + * gcc.dg/lto/pr113359-2_0.c: Likewise. + * gcc.dg/lto/pr113359-2_1.c: Likewise. + * gcc.dg/lto/pr113359-3_0.c: Likewise. + * gcc.dg/lto/pr113359-3_1.c: Likewise. + * gcc.dg/lto/pr113359-4_0.c: Likewise. + * gcc.dg/lto/pr113359-4_1.c: Likewise. + * gcc.dg/lto/pr113359-5_0.c: Likewise. + * gcc.dg/lto/pr113359-5_1.c: Likewise. + +2024-04-08 Martin Jambor <mjambor@suse.cz> + + PR ipa/113907 + * gcc.dg/lto/pr113907_0.c: New. + * gcc.dg/lto/pr113907_1.c: Likewise. + * gcc.dg/lto/pr113907_2.c: Likewise. + +2024-04-08 Richard Sandiford <richard.sandiford@arm.com> + + PR target/114607 + * gcc.target/aarch64/sve/acle/asm/sudot_s32.c: New test. + +2024-04-08 Tatsuyuki Ishi <ishitatsuyuki@gmail.com> + + * gcc.target/riscv/tls_1.x: Add TLSDESC GD test case. + * gcc.target/riscv/tlsdesc.c: Same as above. + +2024-04-08 Jakub Jelinek <jakub@redhat.com> + + PR target/114605 + * gcc.dg/pr114605.c: New test. + +2024-04-08 Swinney, Jonathan <jswinney@amazon.com> + + * gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: Exit with a nonzero + code if the test fails. + +2024-04-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114624 + * gcc.dg/torture/pr114624.c: New testcase. + +2024-04-08 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-7.c: Adjust + the error message for v extension. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-8.c: Ditto. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-1.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-10.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-2.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-3.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-4.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-5.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-6.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-7.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-8.c: New test. + * gcc.target/riscv/rvv/base/intrinsic_required_ext-9.c: New test. + +2024-04-08 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/pr109479-1.c: Adjust the existing test + scenarios and add new error check tests. + * gcc.target/riscv/rvv/base/pr109479-2.c: Ditto. + * gcc.target/riscv/rvv/base/pr109479-3.c: Ditto. + * gcc.target/riscv/rvv/base/pr109479-4.c: Diito. + * gcc.target/riscv/rvv/base/pr109479-5.c: Diito. + * gcc.target/riscv/rvv/base/pr109479-6.c: Diito. + * gcc.target/riscv/rvv/base/user-10.c: Ditto. + * gcc.target/riscv/rvv/base/user-12.c: Ditto. + * gcc.target/riscv/rvv/base/user-13.c: Ditto. + * gcc.target/riscv/rvv/base/user-14.c: Ditto. + * gcc.target/riscv/rvv/base/user-15.c: Ditto. + * gcc.target/riscv/rvv/base/user-2.c: Ditto. + * gcc.target/riscv/rvv/base/user-3.c: Ditto. + * gcc.target/riscv/rvv/base/user-5.c: Ditto. + * gcc.target/riscv/rvv/base/user-6.c: Ditto. + * gcc.target/riscv/rvv/base/user-9.c: Ditto. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-10.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-11.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-12.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-13.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-14.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-15.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-16.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-17.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-18.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-19.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-20.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-21.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-22.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-23.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-24.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-25.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-26.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-27.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-28.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-29.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-30.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-31.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-32.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-33.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-34.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-35.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-36.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-37.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-38.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-39.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-40.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-41.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-42.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-43.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-44.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-45.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-46.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-47.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-48.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-49.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-50.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-51.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-52.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-53.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-9.c: New test. + +2024-04-06 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114617 + * gm2/iso/const/pass/iso-const-pass.exp: New test. + +2024-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/114304 + PR libfortran/105473 + * gfortran.dg/pr105473.f90: Modify to verify new error message. + * gfortran.dg/pr114304.f90: New test. + +2024-04-06 Jørgen Kvalsvik <j@lambda.is> + + PR middle-end/114599 + * gcc.misc-tests/gcov-pr114599.c: New test. + +2024-04-06 Jørgen Kvalsvik <j@lambda.is> + + * gcc.misc-tests/gcov-19.c: Remove test. + +2024-04-05 Iain Sandoe <iain@sandoe.co.uk> + + * lib/scanasm.exp: Add 'LB*' to the local labels that are + ignored for Darwin. + +2024-04-05 Marek Polacek <polacek@redhat.com> + + PR c++/91079 + DR 1881 + * g++.dg/ext/is_std_layout5.C: New test. + +2024-04-05 Patrick O'Neill <patrick@rivosinc.com> + Martin Jambor <mjambor@suse.cz> + + PR ipa/113964 + * gcc.dg/ipa/pr114247.c: New test. + +2024-04-05 Richard Sandiford <richard.sandiford@arm.com> + + PR target/114603 + * gcc.target/aarch64/sve/acle/general/cnot_1.c: New test. + +2024-04-05 Marek Polacek <polacek@redhat.com> + + PR c++/111132 + * g++.dg/cpp0x/constexpr-redeclaration3.C: New test. + * g++.dg/cpp0x/constexpr-redeclaration4.C: New test. + +2024-04-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114566 + * gcc.target/i386/avx512f-pr114566.c: New test. + +2024-04-05 Martin Uecker <uecker@tugraz.at> + + Revert: + 2024-04-02 Martin Uecker <uecker@tugraz.at> + + PR c/114361 + * gcc.dg/pr114361.c: New test. + * gcc.dg/c23-tag-incomplete-1.c: New test. + * gcc.dg/c23-tag-incomplete-2.c: New test. + +2024-04-05 Jakub Jelinek <jakub@redhat.com> + + * gdc.dg/dg.exp: Prune gcov*.d from the list of tests to run. + * gdc.dg/gcov.exp: Update copyright years. + +2024-04-05 Hans-Peter Nilsson <hp@axis.com> + + * gcc.target/cris/pr93372-2.c: Tweak scan-assembler + checks to cover recent combine improvement. + +2024-04-05 Hans-Peter Nilsson <hp@axis.com> + + * gcc.dg/debug/btf/btf-datasec-1.c: Adjust pattern for targets with + symbols having a leading underscore. + +2024-04-04 centurion <centurion009@proton.me> + + PR c++/114377 + * g++.dg/cpp2a/class-deduction-alias19.C: New test. + +2024-04-04 Martin Jambor <mjambor@suse.cz> + + PR ipa/111571 + * gcc.dg/ipa/pr111571.c: New test. + +2024-04-04 Vladimir N. Makarov <vmakarov@redhat.com> + + PR rtl-optimization/114415 + * gcc.target/i386/pr114415.c: New test. + +2024-04-04 H.J. Lu <hjl.tools@gmail.com> + + PR target/114587 + * gcc.target/i386/apx-2.c: New test. + +2024-04-04 Jørgen Kvalsvik <j@lambda.is> + + * gdc.dg/gcov.exp: New test. + * gdc.dg/gcov1.d: New test. + +2024-04-04 Jørgen Kvalsvik <j@lambda.is> + + * lib/gcov.exp: Add condition coverage test function. + * g++.dg/gcov/gcov-18.C: New test. + * gcc.misc-tests/gcov-19.c: New test. + * gcc.misc-tests/gcov-20.c: New test. + * gcc.misc-tests/gcov-21.c: New test. + * gcc.misc-tests/gcov-22.c: New test. + * gcc.misc-tests/gcov-23.c: New test. + +2024-04-04 Richard Sandiford <richard.sandiford@arm.com> + + PR target/114577 + * gcc.target/aarch64/sve/acle/general/pr114577_1.c: New test. + * gcc.target/aarch64/sve/acle/general/pr114577_2.c: Likewise. + +2024-04-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114485 + * gcc.dg/vect/pr114485.c: New testcase. + +2024-04-04 Jakub Jelinek <jakub@redhat.com> + + PR c++/114537 + * g++.dg/cpp2a/bit-cast16.C: New test. + +2024-04-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114555 + * gcc.dg/bitint-103.c: New test. + * gcc.dg/bitint-104.c: New test. + +2024-04-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114551 + * gcc.dg/torture/pr114551.c: New testcase. + +2024-04-03 H.J. Lu <hjl.tools@gmail.com> + + PR tree-optimization/114115 + * gcc.dg/pr114115.c: New test. + +2024-04-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114552 + * gcc.c-torture/execute/pr114552.c: New test. + +2024-04-03 Jiahao Xu <xujiahao@loongson.cn> + + * gcc.target/loongarch/vector/lsx/lsx-abs.c: New test. + +2024-04-02 Martin Uecker <uecker@tugraz.at> + + PR c/114361 + * gcc.dg/pr114361.c: New test. + * gcc.dg/c23-tag-incomplete-1.c: New test. + * gcc.dg/c23-tag-incomplete-2.c: New test. + +2024-04-02 Marek Polacek <polacek@redhat.com> + + PR c++/114479 + * g++.dg/ext/is_array.C: Extend. + +2024-04-02 Marek Polacek <polacek@redhat.com> + + PR c++/103825 + * g++.dg/cpp0x/enum44.C: New test. + +2024-04-02 Jason Merrill <jason@redhat.com> + + PR c++/114561 + PR c++/114562 + * g++.dg/conversion/ref10.C: New test. + * g++.dg/conversion/ref11.C: New test. + +2024-04-02 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/106999 + * gfortran.dg/pr106999.f90: New test. + +2024-04-02 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/112407 + * gfortran.dg/pr112407a.f90: New test. + * gfortran.dg/pr112407b.f90: New test. + +2024-04-02 Iain Sandoe <iain@sandoe.co.uk> + + PR testsuite/114034 + * g++.dg/gcov/gcov-dump-1.C: Remove extra -lgcov. + * g++.dg/gcov/gcov-dump-2.C: Likewise. + +2024-04-02 Iain Sandoe <iain@sandoe.co.uk> + + PR testsuite/114036 + * gcc.misc-tests/gcov-14.c: Allow for 'Foo' to be undefined + on Darwin link lines. + +2024-04-02 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/modules/bad-mapper-1.C: Update expected test output + for earlier Darwin. + +2024-04-02 mengqinggang <mengqinggang@loongson.cn> + Lulu Cheng <chenglulu@loongson.cn> + Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/cmodel-extreme-1.c: Add -mtls-dialect=trad. + * gcc.target/loongarch/cmodel-extreme-2.c: Ditto. + * gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c: Ditto. + * gcc.target/loongarch/explicit-relocs-medium-call36-auto-tls-ld-gd.c: + Ditto. + * gcc.target/loongarch/func-call-medium-1.c: Ditto. + * gcc.target/loongarch/func-call-medium-2.c: Ditto. + * gcc.target/loongarch/func-call-medium-3.c: Ditto. + * gcc.target/loongarch/func-call-medium-4.c: Ditto. + * gcc.target/loongarch/tls-extreme-macro.c: Ditto. + * gcc.target/loongarch/tls-gd-noplt.c: Ditto. + * gcc.target/loongarch/explicit-relocs-auto-extreme-tls-desc.c: New test. + * gcc.target/loongarch/explicit-relocs-auto-tls-desc.c: New test. + * gcc.target/loongarch/explicit-relocs-extreme-tls-desc.c: New test. + * gcc.target/loongarch/explicit-relocs-tls-desc.c: New test. + +2024-04-01 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114548 + * gm2/iso/const/fail/expression.mod: New test. + * gm2/iso/const/fail/iso-const-fail.exp: New test. + * gm2/iso/const/fail/testabs.mod: New test. + * gm2/iso/const/fail/testaddadr.mod: New test. + * gm2/iso/const/fail/testcap.mod: New test. + * gm2/iso/const/fail/testcap2.mod: New test. + * gm2/iso/const/fail/testchr.mod: New test. + * gm2/iso/const/fail/testchr2.mod: New test. + * gm2/iso/const/fail/testcmplx.mod: New test. + * gm2/iso/const/fail/testfloat.mod: New test. + * gm2/iso/const/fail/testim.mod: New test. + * gm2/iso/const/fail/testint.mod: New test. + * gm2/iso/const/fail/testlength.mod: New test. + * gm2/iso/const/fail/testodd.mod: New test. + * gm2/iso/const/fail/testord.mod: New test. + * gm2/iso/const/fail/testre.mod: New test. + * gm2/iso/const/fail/testtrunc.mod: New test. + * gm2/iso/const/fail/testval.mod: New test. + * gm2/iso/const/pass/constbool.mod: New test. + * gm2/iso/const/pass/constbool2.mod: New test. + * gm2/iso/const/pass/constbool3.mod: New test. + +2024-04-01 Jason Merrill <jason@redhat.com> + + * g++.dg/conversion/pr16333.C: Change dg-warning to dg-message. + * g++.dg/cpp0x/constexpr-48324.C + * g++.dg/other/pr94326.C + * g++.dg/warn/Wreturn-local-addr-2.C + * g++.old-deja/g++.jason/warning8.C: Likewise. + * g++.dg/cpp1y/auto-fn6.C: Check that others don't complain. + * g++.dg/warn/Wreturn-local-addr-5.C: Expect error in C++26. + +2024-03-31 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-7.c: + Adjust test dg-error. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-8.c: + Ditto. + +2024-03-29 Guillaume Gomez <guillaume1.gomez@gmail.com> + + * jit.dg/test-pointer_size.c: New file. + +2024-03-29 Christophe Lyon <christophe.lyon@linaro.org> + + * gcc.target/aarch64/cpunative/native_cpu_24.c: Fix GCC_CPUINFO. + +2024-03-29 Thomas Schwinge <tschwinge@baylibre.com> + + * lib/target-supports.exp (check_effective_target_vect_long_mult): + Enable for GCN. + +2024-03-29 Thomas Schwinge <tschwinge@baylibre.com> + + * lib/target-supports.exp + (check_effective_target_vect_hw_misalign): Enable for GCN. + (check_effective_target_vect_element_align): Adjust. + +2024-03-29 Thomas Schwinge <thomas@codesourcery.com> + + * lib/target-supports.exp + (check_effective_target_vect_early_break) + (check_effective_target_vect_early_break_hw): Enable for GCN. + +2024-03-29 Harald Anlauf <anlauf@gmx.de> + + PR fortran/50410 + * gfortran.dg/data_initialized_4.f90: New test. + +2024-03-29 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/110987 + * gfortran.dg/finalize_56.f90: New test. + +2024-03-29 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/113885 + * gfortran.dg/finalize_54.f90: New test. + * gfortran.dg/finalize_55.f90: New test. + +2024-03-29 Xi Ruoyao <xry111@xry111.site> + + * gcc.dg/vect/vect-neg-zero.c: New test. + +2024-03-28 John David Anglin <danglin@gcc.gnu.org> + + PR analyzer/111289 + * c-c++-common/analyzer/stdarg-pr111289-int.c: Don't include + <limits.h>. + +2024-03-28 Jason Merrill <jason@redhat.com> + + PR c++/100667 + * g++.dg/ext/is_constructible8.C: New test. + +2024-03-28 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114474 + * gfortran.dg/data_pointer_3.f90: New test. + +2024-03-28 Vineet Gupta <vineetg@rivosinc.com> + + * gcc.target/riscv/rvv/vtype-call-clobbered.c: New Test. + +2024-03-28 Gaius Mulley <(no_default)> + + PR modula2/114517 + * gm2/cpp/fail/hashfirstcolumn2.mod: New test. + * gm2/imports/fail/imports-fail.exp: New test. + * gm2/imports/fail/localmodule2.mod: New test. + * gm2/imports/run/pass/localmodule.mod: New test. + +2024-03-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/112303 + * gcc.c-torture/compile/pr112303.c: New test. + +2024-03-28 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> + + PR testsuite/114307 + * gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c: Remove dg-run. + * gcc.dg/vect/complex/complex-operations-run.c: Likewise. + * gcc.dg/vect/pr113576.c: Remove dg-run. Use dg-additional-options for + test-specific flags. + * gcc.dg/vect/gimplefe-40.c: Use dg-additional-options for + test-specific flags. + * gcc.dg/vect/gimplefe-41.c: Likewise. + * gcc.dg/vect/pr101145inf.c: Likewise. + * gcc.dg/vect/pr101145inf_1.c: Likewise. + * gcc.dg/vect/pr108316.c: Likewise. + * gcc.dg/vect/pr109011-1.c: Likewise. + * gcc.dg/vect/pr109011-2.c: Likewise. + * gcc.dg/vect/pr109011-3.c: Likewise. + * gcc.dg/vect/pr109011-4.c: Likewise. + * gcc.dg/vect/pr109011-5.c: Likewise. + * gcc.dg/vect/pr111846.c: Likewise. + * gcc.dg/vect/pr111860-2.c: Likewise. + * gcc.dg/vect/pr111860-3.c: Likewise. + * gcc.dg/vect/pr113002.c: Likewise. + * gcc.dg/vect/pr84711.c: Likewise. + * gcc.dg/vect/pr85597.c: Likewise. + * gcc.dg/vect/pr88497-1.c: Likewise. + * gcc.dg/vect/pr88497-2.c: Likewise. + * gcc.dg/vect/pr88497-3.c: Likewise. + * gcc.dg/vect/pr88497-4.c: Likewise. + * gcc.dg/vect/pr88497-5.c: Likewise. + * gcc.dg/vect/pr88497-7.c: Likewise. + * gcc.dg/vect/pr92347.c: Likewise. + * gcc.dg/vect/pr93069.c: Likewise. + * gcc.dg/vect/pr97241.c: Likewise. + * gcc.dg/vect/pr99102.c: Likewise. + * gcc.dg/vect/vect-early-break_65.c: Likewise. + * gcc.dg/vect/vect-fold-1.c: Likewise. + * gcc.dg/vect/vect-ifcvt-19.c: Likewise. + * gcc.dg/vect/vect-ifcvt-20.c: Likewise. + * gcc.dg/vect/vect-reduc-epilogue-gaps.c: Likewise. + * gcc.dg/vect/vect-singleton_1.c: Likewise. + * g++.dg/vect/pr84556.cc: Likewise. + * gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise. + * gfortran.dg/vect/pr77848.f: Likewise. + * gfortran.dg/vect/pr90913.f90: Likewise. + +2024-03-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/109925 + * gcc.c-torture/execute/pr109925.c: New test. + +2024-03-28 Mikael Morin <mikael@gcc.gnu.org> + Harald Anlauf <anlauf@gmx.de> + + PR fortran/111781 + PR fortran/114475 + * gfortran.dg/spec_expr_10.f90: New test. + +2024-03-27 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/114473 + * gcc.dg/analyzer/call-summaries-pr114473.c: New test. + +2024-03-27 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/debug/btf/btf-cvr-quals-1.c: Use dg-additional-options + instead of multiple dg-options. + * gcc.dg/debug/btf/btf-datasec-1.c: Likewise. Accept all supported + unaligned 4 byte assembler directives rather than assuming it must + be .4byte. + +2024-03-27 Jakub Jelinek <jakub@redhat.com> + + * lib/target-supports.exp (add_options_for_bfloat16): Add -msse2 on + i?86/x86_64. + * g++.dg/cpp23/ext-floating3.C: Add dg-add-options float16. + * g++.dg/cpp23/ext-floating12.C: Add dg-add-options float16 and + bfloat16. + +2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com> + + * gcc.target/aarch64/cpunative/info_24: New. + * gcc.target/aarch64/cpunative/native_cpu_24.c: Likewise. + +2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com> + + * gcc.target/aarch64/lse128-flag.c: New. + * gcc.target/aarch64/cpunative/info_23: Likewise. + * gcc.target/aarch64/cpunative/native_cpu_23.c: Likewise. + +2024-03-27 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.dg/tree-ssa/copy-headers-8.c: Set + LOGICAL_OP_NON_SHORT_CIRCUIT to true. + +2024-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/107031 + * gfortran.dg/endfile_5.f90: New test. + +2024-03-26 Cupertino Miranda <cupertino.miranda@oracle.com> + + * gcc.dg/debug/btf/btf-datasec-1.c: Correct for new + implementation. + * gcc.dg/debug/btf/btf-datasec-2.c: Likewise + * gcc.dg/debug/btf/btf-pr106773.c: Likewise + +2024-03-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/111151 + PR testsuite/114486 + * gcc.c-torture/execute/pr111151.c (main): Fix up expected value for + f. + +2024-03-26 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114478 + * gm2/builtins/run/pass/builtins-run-pass.exp: New test. + * gm2/builtins/run/pass/testcomparisons.mod: New test. + * gm2/builtins/run/pass/testisnormal.mod: New test. + * gm2/pimlib/run/pass/testchar.mod: New test. + +2024-03-26 Marek Polacek <polacek@redhat.com> + + PR c++/100557 + * g++.dg/cpp2a/concepts-pr100557.C: New test. + +2024-03-26 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/decltype-1_a.C: Add missing } to dg-module-do + directive. + * g++.dg/modules/lambda-5_a.C: Likewise. + +2024-03-26 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/torture/pr113126.c: Add -Wno-psabi as dg-additional-options. + +2024-03-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/111151 + * gcc.c-torture/execute/pr111151.c: New test. + +2024-03-26 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/111736 + * gcc.dg/tsan/pr111736.c: New test. + +2024-03-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114471 + * gcc.dg/vect/pr114471.c: New testcase. + +2024-03-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114464 + * g++.dg/vect/pr114464.cc: New testcase. + +2024-03-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114027 + * gcc.dg/vect/pr114027.c: Fix iteration count. + +2024-03-25 Marek Polacek <polacek@redhat.com> + + PR c++/114349 + * g++.dg/cpp0x/noexcept85.C: New test. + * g++.dg/cpp0x/noexcept86.C: New test. + +2024-03-25 Marek Polacek <polacek@redhat.com> + + PR c++/114439 + * g++.dg/init/array65.C: New test. + +2024-03-25 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/pragma-1.c: Remove. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-1.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-2.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-3.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-4.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-5.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-6.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-7.c: New test. + * gcc.target/riscv/rvv/base/target_attribute_v_with_intrinsic-8.c: New test. + +2024-03-23 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114443 + * gm2/pim/fail/missingquote.mod: New test. + +2024-03-23 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/114408 + * c-c++-common/analyzer/deref-before-check-pr114408.c: New test. + * c-c++-common/ubsan/analyzer-ice-pr114408.c: New test. + +2024-03-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114433 + * gcc.dg/torture/bitint-68.c: New test. + +2024-03-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114425 + * gcc.dg/torture/bitint-67.c: New test. + +2024-03-23 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/111683 + * gcc.dg/pr111683-1.c: New test. + * gcc.dg/pr111683-2.c: New test. + +2024-03-22 Harald Anlauf <anlauf@gmx.de> + + PR fortran/55978 + * gfortran.dg/null_actual_5.f90: New test. + +2024-03-22 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/amo-table-ztso-amo-add-1.c: Add + dg_add_options riscv_a + * 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-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. + +2024-03-22 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/112974 + PR analyzer/112975 + * gcc.dg/plugin/plugin.exp (plugin_test_list): Add + taint-pr112974.c and taint-pr112975.c to analyzer_kernel_plugin.c. + * gcc.dg/plugin/taint-pr112974.c: New test. + * gcc.dg/plugin/taint-pr112975.c: New test. + +2024-03-22 Marek Polacek <polacek@redhat.com> + + PR c++/59465 + * g++.dg/init/array62.C: New test. + * g++.dg/init/array63.C: New test. + * g++.dg/init/array64.C: New test. + +2024-03-22 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/107426 + * gfortran.dg/pr89943_3.f90: Update error pattern. + * gfortran.dg/pr89943_4.f90: Likewise. + * gfortran.dg/use_31.f90: New test. + +2024-03-22 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/111781 + * gfortran.dg/spec_expr_8.f90: New test. + * gfortran.dg/spec_expr_9.f90: New test. + +2024-03-22 Mikael Morin <mikael@gcc.gnu.org> + + * gfortran.dg/graphite/pr107865.f90: Declare array bound variable(s) + as dummy argument(s). + * gfortran.dg/pr101267.f90: Likewise. + * gfortran.dg/pr112404.f90: Likewise. + * gfortran.dg/pr78061.f: Likewise. + * gfortran.dg/pr79315.f90: Likewise. + * gfortran.dg/vect/pr90681.f: Likewise. + * gfortran.dg/vect/pr97761.f90: Likewise. + * gfortran.dg/vect/pr99746.f90: Likewise. + +2024-03-22 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-1.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-10.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-11.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-12.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-13.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-14.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-15.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-16.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-17.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-18.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-2.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-3.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-4.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-5.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-6.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-7.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-8.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits-9.c: New test. + * gcc.target/riscv/rvv/base/riscv_rvv_vector_bits.h: New test. + +2024-03-22 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.dg/tree-ssa/backprop-6.c: On s390 we also have a copysign + optab for long double. Thus, scan 3 instead of 2 times for it. + +2024-03-22 Jakub Jelinek <jakub@redhat.com> + + PR c++/112724 + * c-c++-common/gomp/depobj-3.c: Add -fexcess-precision=fast as + dg-additional-options. + +2024-03-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR c/109619 + * gcc.dg/redecl-26.c: New test. + +2024-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR tree-optimization/96147 + * gcc.dg/vect/bb-slp-32.c (dg-final): Remove. + +2024-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/114150 + * gcc.target/i386/avx512cd-vpbroadcastmb2q-2.c: Skip on + Solaris/x86 with as. + * gcc.target/i386/avx512cd-vpbroadcastmw2d-2.c: Likewise. + +2024-03-22 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/111736 + * gcc.dg/ubsan/pr111736.c: New test. + +2024-03-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114405 + * gcc.dg/torture/bitint-66.c: New test. + +2024-03-22 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.dg/tree-ssa/abs-4.c: On s390 we also have a copysign optab + for long double. Thus, scan 3 instead of 2 times for it. + +2024-03-22 Christoph Müllner <christoph.muellner@vrull.eu> + + PR target/114194 + * gcc.target/riscv/rvv/xtheadvector/pr114194.c: New test. + +2024-03-22 Pan Li <pan2.li@intel.com> + + PR target/114352 + * gcc.target/riscv/rvv/base/pr114352-3.c: New test. + +2024-03-22 Pan Li <pan2.li@intel.com> + + PR target/114352 + * gcc.target/riscv/rvv/base/pr114352-1.c: New test. + * gcc.target/riscv/rvv/base/pr114352-2.c: New test. + +2024-03-22 liuhongt <hongtao.liu@intel.com> + + PR tree-optimization/114396 + * gcc.target/i386/pr114396.c: Move to... + * gcc.c-torture/execute/pr114396.c: ...here. + +2024-03-22 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114422 + * gm2/iso/fail/badset.mod: New test. + * gm2/iso/fail/badset2.mod: New test. + * gm2/iso/fail/badset3.mod: New test. + +2024-03-21 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/113619 + * c-c++-common/analyzer/taint-divisor-pr113619.c: New test. + +2024-03-21 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114418 + * gm2/pim/fail/missingtsize.mod: New test. + * gm2/pim/fail/missingtsize2.mod: New test. + +2024-03-21 Harald Anlauf <anlauf@gmx.de> + + PR fortran/30802 + * gfortran.dg/bounds_check_17.f90: Adjust pattern. + * gfortran.dg/bounds_check_fail_8.f90: New test. + +2024-03-21 Marek Polacek <polacek@redhat.com> + + PR c++/110323 + * g++.dg/template/explicit-instantiation6.C: New test. + * g++.dg/template/explicit-instantiation7.C: New test. + +2024-03-21 Jakub Jelinek <jakub@redhat.com> + + PR libgcc/114397 + * gcc.dg/torture/bitint-65.c: New test. + +2024-03-21 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr114396.c: New test. + +2024-03-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/111736 + * gcc.target/i386/pr111736.c: New testcase. + +2024-03-21 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113727 + * gcc.dg/torture/pr113727.c: New testcase. + +2024-03-20 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/109251 + * c-c++-common/analyzer/deref-before-check-pr109251-1.c: New test. + * c-c++-common/analyzer/deref-before-check-pr109251-2.c: New test. + +2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> + + * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Add + testcase for unnamed fields. + +2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> + + * gcc.target/bpf/core-builtin-type-based.c: Correct. + * gcc.target/bpf/core-builtin-type-id.c: Correct. + +2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com> + + * gcc.target/bpf/core-attr-5.c: Correct. + * gcc.target/bpf/core-attr-6.c: Likewise. + * gcc.target/bpf/core-attr-struct-as-array.c: Add test case for + pointer arithmetics as array access use case. + +2024-03-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114365 + * gcc.dg/bitint-102.c: New test. + +2024-03-20 Hao Liu <hliu@os.amperecomputing.com> + + PR tree-optimization/114322 + * gcc.dg/vect/pr114322.c: New testcase. + +2024-03-20 demin.han <demin.han@starfivetech.com> + + PR target/112651 + * g++.target/riscv/rvv/autovec/bug-2.C: Replace option + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-1.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-2.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-ice-3.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c: Ditto + * 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-10.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-11.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-12.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-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-11.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-12.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-14.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/pr111317.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr111848.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-3.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-5.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113247-1.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113247-2.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-3.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-4.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-5.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/pr114264.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-2.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-3.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-4.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-5.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-6.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-7.c: Ditto + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-9.c: Ditto + * gcc.target/riscv/rvv/autovec/bug-1.c: Ditto + * gcc.target/riscv/rvv/autovec/bug-2.c: Ditto + * gcc.target/riscv/rvv/autovec/bug-3.c: Ditto + * gcc.target/riscv/rvv/autovec/bug-4.c: Ditto + * gcc.target/riscv/rvv/autovec/bug-5.c: Ditto + * gcc.target/riscv/rvv/autovec/bug-8.c: Ditto + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-3.c: Ditto + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-4.c: Ditto + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-7.c: Ditto + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-8.c: Ditto + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: Ditto + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: Ditto + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: Ditto + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: Ditto + * gcc.target/riscv/rvv/autovec/fold-min-poly.c: Ditto + * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: Ditto + * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: Ditto + * 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/autovec/pr112450.c: Ditto + * gcc.target/riscv/rvv/autovec/pr112598-1.c: Ditto + * gcc.target/riscv/rvv/autovec/pr112598-2.c: Ditto + * gcc.target/riscv/rvv/autovec/pr112694-1.c: Ditto + * gcc.target/riscv/rvv/autovec/pr112999.c: Ditto + * gcc.target/riscv/rvv/autovec/pr113393-2.c: Ditto + * gcc.target/riscv/rvv/autovec/series-1.c: Ditto + * gcc.target/riscv/rvv/autovec/series_run-1.c: Ditto + * gcc.target/riscv/rvv/autovec/slp-interleave-1.c: Ditto + * gcc.target/riscv/rvv/autovec/slp-interleave-2.c: Ditto + * gcc.target/riscv/rvv/autovec/slp-interleave-3.c: Ditto + * gcc.target/riscv/rvv/autovec/slp-interleave-4.c: Ditto + * gcc.target/riscv/rvv/autovec/unop/math-lroundf16-rv64-ice-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/abs-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/abs-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/and-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/and-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/and-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/avg-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/avg-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/avg-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/avg-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/avg-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/avg-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/bswap16-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cmp-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cmp-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cmp-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cmp-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cmp-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cmp-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-10.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-11.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-12.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-13.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-14.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-8.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/combine-merge-9.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/compress-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/compress-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/compress-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/compress-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/compress-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/compress-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_abs-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_add-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_add-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_and-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-10.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-11.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-12.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-8.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_convert-9.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_copysign-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_div-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_div-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_ext-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_ext-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_ext-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_ext-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_ext-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_fma-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_fma-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_fms-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_fnma-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_fnma-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_fnms-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_ior-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_max-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_max-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_min-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_min-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_mod-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_mul-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_mul-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_mulh-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_narrow-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_narrow-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_neg-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_neg-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_not-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_shift-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_shift-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_sqrt-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_sub-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_sub-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_trunc-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wadd-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wadd-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wadd-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wadd-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wfma-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wfma-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wfms-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wfnma-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wmul-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wmul-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wmul-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wsub-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wsub-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wsub-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_wsub-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cond_xor-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/consecutive-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/consecutive-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/const-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/const-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/const-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/const-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/const-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-10.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-11.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-12.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-8.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/convert-9.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/cvt-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/div-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/dup-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/dup-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/dup-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/dup-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/dup-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/dup-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/dup-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/ext-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/ext-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/ext-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/ext-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/ext-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/extract-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/extract-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-add-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-add-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-add-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-div-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-div-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-div-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-max-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-min-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-mul-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnj-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-sgnjx-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/floating-point-sub-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fma-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fma-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fma-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fma-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fma-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fma-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fma-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fms-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fms-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fms-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnma-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnma-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnma-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnma-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnma-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnma-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnma-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnms-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnms-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/fnms-3.c: Ditto + * 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 + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/ior-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/ior-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/ior-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/mask-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/mask-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/mask-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-ceil-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-floor-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-iceil-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-iceil-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-ifloor-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-ifloor-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-irint-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-irint-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-iround-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-iround-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lceil-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lceil-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lceil-rv32-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lceilf-rv64-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lfloor-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lfloor-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lfloor-rv32-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lfloorf-rv64-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llceil-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llceilf-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llfloor-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llfloorf-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llrint-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llrintf-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llrintf16-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llround-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llroundf-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-llroundf16-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lrint-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lrint-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lrint-rv32-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lrintf-rv64-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv32-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lrintf16-rv64-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lround-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lround-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lround-rv32-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lroundf-rv64-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv32-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-lroundf16-rv64-0.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-nearbyint-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-rint-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-round-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-roundeven-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/math-trunc-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/max-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/merge-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/merge-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/merge-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/merge-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/merge-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/merge-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/merge-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/min-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/minus-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/minus-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/minus-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/misalign-1.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/mulh-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/mult-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/narrow-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/narrow-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/narrow-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/neg-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/neg-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/not-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/perm-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/perm-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/perm-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/perm-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/perm-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/perm-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/perm-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/plus-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/plus-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/plus-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-10.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-11.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-12.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-13.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-14.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-15.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-16.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-17.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-18.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-8.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/reduc-9.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-8.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/repeat-9.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/series-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/series-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/series-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/series-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/shift-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/shift-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/shift-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/shift-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/shift-6.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/vls/sqrt-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trailing-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trailing-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trailing-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trailing-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trailing-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trailing-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trailing-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trunc-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trunc-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trunc-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trunc-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/trunc-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-10.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-11.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-12.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-13.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-14.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-15.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-16.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-17.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-18.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-19.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-20.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-21.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-22.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-7.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-8.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/vec-set-9.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wadd-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wadd-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wadd-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wadd-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wfma-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wfma-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wfma-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wfms-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wfnma-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wfnms-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wmul-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wmul-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wmul-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wred-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wred-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wred-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wsub-1.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wsub-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wsub-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/wsub-4.c: Ditto + * gcc.target/riscv/rvv/autovec/widen/widen_reduc-1.c: Ditto + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-2.c: Ditto + * gcc.target/riscv/rvv/autovec/zve32f-3.c: Ditto + * gcc.target/riscv/rvv/autovec/zve32x-3.c: Ditto + * gcc.target/riscv/rvv/autovec/zve64d-3.c: Ditto + * gcc.target/riscv/rvv/autovec/zve64f-3.c: Ditto + * gcc.target/riscv/rvv/autovec/zve64x-3.c: Ditto + * gcc.target/riscv/rvv/base/cpymem-1.c: Ditto + * gcc.target/riscv/rvv/base/cpymem-2.c: Ditto + * gcc.target/riscv/rvv/rvv.exp: Ditto + * gcc.target/riscv/rvv/vsetvl/pr111255.c: Ditto + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Ditto + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: Ditto + +2024-03-20 Richard Biener <rguenther@suse.de> + + PR middle-end/113396 + * gcc.dg/torture/pr113396.c: New testcase. + +2024-03-20 Lewis Hyatt <lhyatt@gmail.com> + + PR c++/111918 + * g++.dg/cpp0x/Wnarrowing21a.C: New test. + * g++.dg/cpp0x/Wnarrowing21b.C: New test. + * g++.dg/cpp0x/Wnarrowing21c.C: New test. + * g++.dg/cpp0x/Wnarrowing21d.C: New test. + +2024-03-19 Martin Jambor <mjambor@suse.cz> + + PR ipa/108802 + PR ipa/114254 + * g++.dg/ipa/iinline-4.C: New test. + * g++.dg/ipa/pr108802.C: Likewise. + +2024-03-19 Marek Polacek <polacek@redhat.com> + + * g++.dg/cpp2a/linkage-1.C: Use target c++14. + +2024-03-19 Jakub Jelinek <jakub@redhat.com> + + PR analyzer/113505 + * gcc.dg/analyzer/pr113505.c: New test. + +2024-03-19 Edwin Lu <ewlu@rivosinc.com> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Disable scheduling + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-1.c: Update test expectancies + * gcc.target/riscv/rvv/base/pr108185-2.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-3.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-4.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-5.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-6.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-7.c: Ditto + * gcc.target/riscv/rvv/base/vcreate.c: Disable scheduling and update + test expectancies + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: Disable scheduling + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: Ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Update test + expectancies + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.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-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 + +2024-03-19 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/114286 + * c-c++-common/analyzer/atomic-builtins-pr114286.c: New test. + +2024-03-19 Iain Sandoe <iain@sandoe.co.uk> + + PR target/114049 + * gcc.dg/framework-1.c: Use an IOKit header instead of a + Kernel one. + +2024-03-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114151 + PR tree-optimization/114269 + PR tree-optimization/114322 + PR tree-optimization/114074 + * gcc.dg/pr68317.c: Revert last change. + +2024-03-19 Christophe Lyon <christophe.lyon@linaro.org> + + PR target/114323 + * gcc.target/arm/mve/pr114323.c: New. + +2024-03-19 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * gcc.dg/c23-stdarg-9.c: New test. + +2024-03-19 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114375 + * gcc.dg/vect/vect-pr114375.c: New testcase. + +2024-03-19 Mary Bennett <mary.bennett@embecosm.com> + + * gcc.target/riscv/cv-bi-beqimm-compile-1.c: New test. + * gcc.target/riscv/cv-bi-beqimm-compile-2.c: New test. + * gcc.target/riscv/cv-bi-bneimm-compile-1.c: New test. + * gcc.target/riscv/cv-bi-bneimm-compile-2.c: New test. + * lib/target-supports.exp: Add proc for XCVbi. + +2024-03-19 Chen Jiawei <jiawei@iscas.ac.cn> + + * gcc.target/riscv/mcpu-xiangshan-nanhu.c: New test. + Co-Authored by: Lin Jiawei <jiawei.lin@epfl.ch> + +2024-03-19 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/cpp2a/linkage-1.C: New test. + * g++.dg/modules/block-decl-3.h: New test. + * g++.dg/modules/block-decl-3_a.C: New test. + * g++.dg/modules/block-decl-3_b.C: New test. + * g++.dg/modules/block-decl-3_c.C: New test. + * g++.dg/modules/linkage-1_a.C: New test. + * g++.dg/modules/linkage-1_b.C: New test. + * g++.dg/modules/linkage-1_c.C: New test. + * g++.dg/modules/linkage-2.C: New test. + +2024-03-18 Jonathan Yong <10walls@gmail.com> + + * c-c++-common/Wrestrict.c: Fix typos in comments and + enable for LLP64 testing. + +2024-03-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/110902 + PR analyzer/110928 + PR analyzer/111305 + PR analyzer/111441 + * c-c++-common/analyzer/out-of-bounds-const-fn.c: New test. + * c-c++-common/analyzer/out-of-bounds-diagram-11.c: Update + expected diagram output. + * c-c++-common/analyzer/out-of-bounds-diagram-pr110928.c: New test. + * c-c++-common/analyzer/out-of-bounds-diagram-pr111305.c: New test. + * c-c++-common/analyzer/out-of-bounds-diagram-pr111441.c: New test. + +2024-03-18 Uros Bizjak <ubizjak@gmail.com> + + PR target/111822 + * g++.target/i386/pr111822.C (dg-do): Compile only for ia32 targets. + (dg-options): Add -march=x86-64. + +2024-03-18 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103715 + * gfortran.dg/pr103715.f90: New test. + +2024-03-18 Thiago Jung Bauermann <thiago.bauermann@linaro.org> + + * gcc.target/arm/acle/cde-mve-error-2.c: Add -fpermissive. Use + relative offsets for line numbers. + +2024-03-18 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114380 + * gm2/pim/fail/badset7.mod: New test. + +2024-03-18 Nathaniel Shead <nathanieloshead@gmail.com> + + PR testsuite/114320 + * g++.dg/modules/target-powerpc-1_a.C: Suppress -Wpsabi. + * g++.dg/modules/target-powerpc-1_b.C: Likewise. + +2024-03-18 Jan Hubicka <jh@suse.cz> + Karthiban Anbazhagan <Karthiban.Anbazhagan@amd.com> + + * g++.target/i386/mv29.C: Handle znver5 arch. + * gcc.target/i386/funcspec-56.inc:Likewise. + +2024-03-18 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * c-c++-common/analyzer/strndup-1.c: Define _POSIX_C_SOURCE. + +2024-03-18 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr114334.c: New test. + +2024-03-17 Harald Anlauf <anlauf@gmx.de> + + PR fortran/101135 + * gfortran.dg/missing_optional_dummy_6a.f90: Adjust diagnostic pattern. + * gfortran.dg/ubsan/missing_optional_dummy_8.f90: New test. + +2024-03-17 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114296 + * gm2/pim/fail/badtype2.mod: New test. + +2024-03-16 Jakub Jelinek <jakub@redhat.com> + + PR target/114175 + * gcc.dg/c23-stdarg-7.c: New test. + * gcc.dg/c23-stdarg-8.c: New test. + +2024-03-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114329 + * gcc.dg/bitint-101.c: New test. + +2024-03-16 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/112631 + * g++.dg/modules/block-decl-1_a.C: New test. + * g++.dg/modules/block-decl-1_b.C: New test. + * g++.dg/modules/block-decl-2.C: New test. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + PR libgcc/114327 + * gcc.dg/torture/bitint-63.c: New test. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113431 + * gcc.dg/vect/pr113431.c: Restrict scan-tree-dump-times to + vect_hw_misalign targets. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + PR target/114339 + * gcc.target/i386/pr114339.c: New test. + +2024-03-15 Joe Ramsay <Joe.Ramsay@arm.com> + + * gcc.target/aarch64/no_merge_trunc_signed_zero.c: New test. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114332 + * gcc.dg/torture/bitint-64.c: New file. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/torture/pr104601.C: Add -Wno-unused-result to dg-options. + +2024-03-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113466 + * gcc.dg/bitint-100.c: New test. + +2024-03-15 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/87477 + PR fortran/89645 + PR fortran/99065 + PR fortran/114141 + PR fortran/114280 + * gfortran.dg/associate_64.f90 : New test + * gfortran.dg/associate_66.f90 : New test + * gfortran.dg/associate_67.f90 : New test + * gfortran.dg/associate_65.f90 : New test + * gfortran.dg/associate_68.f90 : New test + +2024-03-15 Tejas Belagod <tejas.belagod@arm.com> + + * gcc.dg/vect/pr114108.c: New test. + +2024-03-15 Chenghui Pan <panchenghui@loongson.cn> + + * gcc.target/loongarch/vector/lasx/lasx-xvpermi_q.c: + Reposition operand 3's value into instruction's defined accept range. + +2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114294 + * gm2/pim/pass/log: Removed. + * gm2/pim/pass/highexp.mod: New test. + +2024-03-14 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113907 + * gcc.dg/pr113907-1.c: New test. + +2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114333 + * gm2/pim/fail/badset5.mod: New test. + * gm2/pim/fail/badset6.mod: New test. + +2024-03-14 Thomas Schwinge <tschwinge@baylibre.com> + + * c-c++-common/goacc/readonly-1.c: Add basic OpenACC 'declare' + testing. + * gfortran.dg/goacc/readonly-1.f90: Likewise. + +2024-03-14 Jakub Jelinek <jakub@redhat.com> + + PR target/114310 + * gcc.dg/pr114310.c: New test. + +2024-03-14 Juergen Christ <jchrist@linux.ibm.com> + + * gcc.target/s390/htm-builtins-1.c: Fix. + * gcc.target/s390/htm-builtins-2.c: Fix. + +2024-03-14 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/110558 + * c-c++-common/cpp/has-include-2.c: New test. + * c-c++-common/cpp/has-include-2.h: New test. + +2024-03-14 Lewis Hyatt <lhyatt@gmail.com> + + * lib/gcc-defs.exp (dg-additional-options): Make $srcdir usable in a + dg-additional-options directive. + * c-c++-common/cpp/has-include-next-2-dir/has-include-next-2.h: New test. + * c-c++-common/cpp/has-include-next-2.c: New test. + +2024-03-14 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114333 + * gm2/cse/pass/testcse54.mod: New test. + * gm2/iso/run/pass/array9.mod: New test. + * gm2/iso/run/pass/strcons3.mod: New test. + * gm2/iso/run/pass/strcons4.mod: New test. + * gm2/pim/fail/badset1.mod: New test. + * gm2/pim/fail/badset2.mod: New test. + * gm2/pim/fail/badset3.mod: New test. + * gm2/pim/fail/badset4.mod: New test. + +2024-03-14 Chung-Lin Tang <cltang@baylibre.com> + + * c-c++-common/goacc/readonly-1.c: New test. + * gfortran.dg/goacc/readonly-1.f90: New test. + +2024-03-14 Andreas Krebbel <krebbel@linux.ibm.com> + + * gcc.target/s390/aligned-1.c: Add weak and void variables + incorporating the cases from unaligned-2.c. + * gcc.target/s390/unaligned-1.c: Likewise. + * gcc.target/s390/unaligned-2.c: Removed. + +2024-03-14 liuhongt <hongtao.liu@intel.com> + + * g++.target/i386/pr111822.C: New test. + +2024-03-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114001 + * gfortran.dg/is_contiguous_4.f90: New test. + +2024-03-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114319 + * gcc.target/i386/pr114319.c: New test. + +2024-03-13 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * c-c++-common/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: + Added dg-bogus with target on offending line for short_enums. + +2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> + + * gcc.target/s390/md/rXsbg_mode_sXl.c: Fix tests rosbg_si_srl + and rxsbg_si_srl. + +2024-03-13 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114313 + * gcc.dg/torture/bitint-62.c: New test. + +2024-03-13 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/112709 + * gcc.dg/asan/pr112709-2.c: New test. + +2024-03-13 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/112709 + * gcc.dg/ubsan/pr112709-1.c: New test. + * gcc.dg/ubsan/pr112709-2.c: New test. + +2024-03-12 Harald Anlauf <anlauf@gmx.de> + + PR fortran/110826 + * gfortran.dg/proc_ptr_comp_53.f90: New test. + +2024-03-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114121 + * gcc.dg/torture/pr114312.c: New testcase. + +2024-03-12 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/98645 + PR c++/98688 + PR c++/111224 + * g++.dg/modules/target-aarch64-1_a.C: New test. + * g++.dg/modules/target-aarch64-1_b.C: New test. + * g++.dg/modules/target-powerpc-1_a.C: New test. + * g++.dg/modules/target-powerpc-1_b.C: New test. + * g++.dg/modules/target-powerpc-2_a.C: New test. + * g++.dg/modules/target-powerpc-2_b.C: New test. + +2024-03-12 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/112709 + * gcc.dg/asan/pr112709-1.c: New test. + * g++.dg/asan/pr69276.C: Adjust expected output for some targets. + +2024-03-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114293 + * gcc.dg/pr114293.c: New test. + +2024-03-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114297 + * gcc.dg/vect/vect-early-break_123-pr114297.c: New testcase. + +2024-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105437 + PR libfortran/114304 + * gfortran.dg/pr105473.f90: Add additional checks to address + the case of semicolon at the end of a line. + +2024-03-11 Richard Earnshaw <rearnsha@arm.com> + + PR testsuite/113428 + * gcc.dg/gomp/bad-array-section-c-3.c: Use signed char instead + of int. + +2024-03-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR tree-optimization/98238 + * gcc.dg/vect/vect-cost-model-1.c (scan-tree-dump): Also require + vect_hw_misalign. + * gcc.dg/vect/vect-cost-model-3.c: Likewise. + * gcc.dg/vect/vect-cost-model-5.c: Likewise. + +2024-03-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR tree-optimization/114071 + PR tree-optimization/113557 + PR testsuite/96109 + * gcc.dg/vect/pr37027.c: Require vect_perm. + * gcc.dg/vect/pr67790.c: Likewise. + * gcc.dg/vect/slp-reduc-1.c: Likewise. + * gcc.dg/vect/slp-reduc-2.c: Likewise. + * gcc.dg/vect/slp-reduc-7.c: Likewise. + * gcc.dg/vect/slp-reduc-8.c: Likewise. + * gcc.dg/vect/vect-multi-peel-gaps.c (scan-tree-dump): Also + require vect_perm. + * gcc.dg/vect/slp-47.c: Require vect_perm. + * gcc.dg/vect/slp-48.c: Likewise. + +2024-03-11 Richard Biener <rguenther@suse.de> + + PR middle-end/114299 + * gcc.target/i386/pr114299.c: New testcase. + +2024-03-11 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114278 + * gcc.dg/bitint-99.c: New test. + +2024-03-11 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.dg/sso-20.c: New test. + * gcc.dg/sso-21.c: Likewise. + +2024-03-11 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/95351 + * gcc.dg/float_opposite_arm-1.c: New test. + +2024-03-10 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/112285 + PR d/112290 + * gdc.dg/pr112285.d: New test. + * gdc.dg/pr112290.d: New test. + +2024-03-10 jlaw <jeffreyalaw@gmail.com> + + PR tree-optimization/110199 + * gcc.dg/tree-ssa/minmax-27.c: New test. + * gcc.dg/tree-ssa/minmax-28.c: New test. + +2024-03-10 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/pr114195-1.c: New test. + +2024-03-10 jlaw <jeffreyalaw@gmail.com> + + Revert: + 2024-01-22 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/sh/pr59533-1.c: Adjust expected output. + +2024-03-10 jlaw <jeffreyalaw@gmail.com> + + PR target/111362 + * gcc.target/riscv/compare-debug-1.c: New test. + * gcc.target/riscv/compare-debug-2.c: New test. + +2024-03-09 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/tls-ie-relax.c: New test. + * gcc.target/loongarch/tls-ie-norelax.c: New test. + * gcc.target/loongarch/tls-ie-extreme.c: New test. + +2024-03-09 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/regname-fp-s9.c: Add compilation option + '-Wno-pedantic -std=gnu90'. + +2024-03-09 Lulu Cheng <chenglulu@loongson.cn> + + * g++.target/loongarch/atomic-cas-int.C: New test. + +2024-03-08 Martin Jambor <mjambor@suse.cz> + + PR ipa/113757 + * g++.dg/ipa/pr113757.C: New test. + +2024-03-08 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/inline-memops-threshold-1.c: New test. + * gcc.target/bpf/inline-memops-threshold-2.c: New test. + +2024-03-08 Richard Earnshaw <rearnsha@arm.com> + + PR target/113542 + * gcc.target/arm/bics_3.c: Adjust code to something which should + always result in BICS. + +2024-03-08 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/memset-1.c: Move error test case to... + * gcc.target/bpf/memset-2.c: ... here. New test. + +2024-03-08 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/113915 + * gcc.target/arm/builtin-bswap.x: Fix test to avoid emitting CBZ. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/113617 + PR target/114233 + * g++.dg/other/pr113617.C: Define -DSHARED when linking with -shared. + * g++.dg/other/pr113617-aux.cc: Add definitions for used methods and + templates not defined elsewhere. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + PR target/38534 + * gcc.target/i386/pr38534-1.c: Add -mnoreturn-no-callee-saved-registers + to dg-options. + * gcc.target/i386/pr38534-2.c: Likewise. + * gcc.target/i386/pr38534-3.c: Likewise. + * gcc.target/i386/pr38534-4.c: Likewise. + * gcc.target/i386/pr38534-5.c: Likewise. + * gcc.target/i386/pr38534-6.c: Likewise. + * gcc.target/i386/pr114097-1.c: Likewise. + * gcc.target/i386/stack-check-17.c: Likewise. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/ext/atomic-5.C: New test. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + PR debug/113918 + * c-c++-common/dwarf2/pr113918.c: New test. + +2024-03-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/113802 + * g++.dg/cpp23/explicit-obj-diagnostics3.C (S0, S1, S2, S3, S4): Don't + expect any diagnostics on f and fd member function templates, add + similar templates with ...Selves instead of Selves as k and kd and + expect diagnostics for those. Expect extra diagnostics in error + recovery for g and gd member function templates. + +2024-03-08 Richard Biener <rguenther@suse.de> + + PR testsuite/108355 + * gcc.dg/tree-ssa/ssa-fre-104.c: Align e. + +2024-03-08 Gaius Mulley <gaiusmod2@gmail.com> + + * gm2/iso/pass/arrayconst.mod: New test. + * gm2/iso/pass/arrayconst2.mod: New test. + * gm2/iso/pass/arrayconst3.mod: New test. + * gm2/iso/pass/arrayconst4.mod: New test. + +2024-03-08 demin.han <demin.han@starfivetech.com> + + PR target/114264 + * gcc.dg/vect/costmodel/riscv/rvv/pr114264.c: New test. + +2024-03-08 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/fwprop-1.c: New. + +2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114229 + * g++.dg/modules/virt-2_b.C: Update test to acknowledge that we + now emit vtables here too. + * g++.dg/modules/virt-3_a.C: New test. + * g++.dg/modules/virt-3_b.C: New test. + * g++.dg/modules/virt-3_c.C: New test. + * g++.dg/modules/virt-3_d.C: New test. + +2024-03-07 Patrick Palka <ppalka@redhat.com> + + PR c++/103994 + * g++.dg/modules/pr99425-1_b.H: s/alias/decl in dump scan. + * g++.dg/modules/tpl-alias-1_a.H: Likewise. + * g++.dg/modules/tpl-alias-2_a.H: New test. + * g++.dg/modules/tpl-alias-2_b.C: New test. + +2024-03-07 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/113618 + * gcc.target/aarch64/pr113618.c: New test. + +2024-03-07 Patrick Palka <ppalka@redhat.com> + + PR c++/110730 + PR c++/105512 + * g++.dg/modules/hello-2_a.C: New test. + * g++.dg/modules/hello-2_b.C: New test. + * g++.dg/modules/namespace-6_a.H: New test. + * g++.dg/modules/namespace-6_b.C: New test. + +2024-03-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR target/114233 + * lib/target-supports.exp: Fix test for C++. + +2024-03-07 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/aarch64/pr114196.c: New test. + * gcc.target/riscv/rvv/autovec/pr114196.c: New test. + +2024-03-07 Marek Polacek <polacek@redhat.com> + + PR c++/110031 + * g++.dg/cpp1z/inline-var11.C: New test. + +2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com> + + PR target/113950 + * gcc.target/powerpc/pr113950.c: New testcase. + +2024-03-07 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/predicate15.adb: New test. + +2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/98356 + * g++.dg/pr98356.C: New test. + +2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/98881 + * g++.dg/modules/tpl-tpl-parm-3.h: New test. + * g++.dg/modules/tpl-tpl-parm-3_a.H: New test. + * g++.dg/modules/tpl-tpl-parm-3_b.C: New test. + * g++.dg/modules/tpl-tpl-parm-3_c.C: New test. + +2024-03-07 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/110079 + * gcc.dg/pr110079.c: New test. + +2024-03-07 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/105533 + * gcc.dg/pr105533.c: New test. + +2024-03-07 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c: Replace + ASSERTEQ_64 with the macro ASSERTEQ_32. + * gcc.target/loongarch/vector/lasx/lasx-xvshuf_b.c: Modify the expected + test results of some functions according to the function of the vector + instruction. + * gcc.target/loongarch/vector/lsx/lsx-vfrint_s.c: Same + modification as lasx-xvfrint_s.c. + * gcc.target/loongarch/vector/lsx/lsx-vshuf.c: Same + modification as lasx-xvshuf_b.c. + * gcc.target/loongarch/vector/simd_correctness_check.h: Use the llabs() + function instead of abs() to check the correctness of the results. + +2024-03-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114009 + * gcc.dg/tree-ssa/pr114009.c: New test. + +2024-03-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105456 + * gfortran.dg/pr105456.f90: Revise using '%' characters + in users error message. + +2024-03-06 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/pr114200.c: New test. + * gcc.target/riscv/rvv/autovec/pr114202.c: New test. + +2024-03-06 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.dg/vect/costmodel/riscv/rvv/vse-slp-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/vse-slp-2.c: New test. + +2024-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/113915 + * gcc.target/arm/builtin-bswap-1.c: Fix test to allow conditional + execution both for Arm and Thumb-2. + +2024-03-06 Jeff Law <jlaw@ventanamicro.com> + + PR target/113001 + PR target/112871 + * gcc.target/riscv/zicond-ice-3.c: New test. + * gcc.target/riscv/zicond-ice-4.c: New test. + +2024-03-06 Harald Anlauf <anlauf@gmx.de> + + PR fortran/103707 + PR fortran/106987 + * gfortran.dg/pr99350.f90: + * gfortran.dg/arithmetic_overflow_3.f90: New test. + +2024-03-06 Marek Polacek <polacek@redhat.com> + + PR c++/114114 + * g++.dg/cpp0x/noexcept84.C: New test. + +2024-03-06 Thomas Schwinge <tschwinge@baylibre.com> + + * gcc.target/gcn/sram-ecc-3.c: Adjust. + * gcc.target/gcn/sram-ecc-4.c: Likewise. + * gcc.target/gcn/sram-ecc-7.c: Likewise. + * gcc.target/gcn/sram-ecc-8.c: Likewise. + +2024-03-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114239 + * gcc.dg/vect/vect-early-break_122-pr114239.c: New testcase. + +2024-03-06 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/vfcmp-f.c: Rewrite to avoid named + registers. + * gcc.target/loongarch/vfcmp-d.c: Likewise. + * gcc.target/loongarch/xvfcmp-f.c: Likewise. + * gcc.target/loongarch/xvfcmp-d.c: Likewise. + +2024-03-06 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113629 + * g++.dg/cpp23/explicit-obj-conv-op.C: New test. + +2024-03-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114249 + * gcc.dg/vect/bb-slp-pr114249.c: New testcase. + +2024-03-06 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114246 + * gcc.dg/torture/pr114246.c: New testcase. + +2024-03-06 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114190 + * gcc.target/i386/avx-pr114190.c: New test. + +2024-03-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105456 + * gfortran.dg/pr105456-nmlr.f90: New test. + * gfortran.dg/pr105456-nmlw.f90: New test. + * gfortran.dg/pr105456-ruf.f90: New test. + * gfortran.dg/pr105456-wf.f90: New test. + * gfortran.dg/pr105456-wuf.f90: New test. + +2024-03-06 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/friend-7.h: New test. + * g++.dg/modules/friend-7_a.H: New test. + * g++.dg/modules/friend-7_b.C: New test. + +2024-03-05 Cupertino Miranda <cupertino.miranda@oracle.com> + Indu Bhagat <indu.bhagat@oracle.com> + + PR debug/114186 + * gcc.dg/debug/ctf/ctf-array-6.c: Add test. + +2024-03-05 Richard Sandiford <richard.sandiford@arm.com> + + PR sanitizer/97696 + * gcc.target/aarch64/sve/pr97696.c: New test. + +2024-03-05 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme/strided_1.c (test5): Remove. + +2024-03-05 Saurabh Jha <saujha01@e130340.arm.com> + + PR target/112337 + * gcc.target/arm/pr112337.c: Check for, then use the right MVE + options. + +2024-03-05 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/regname-fp-s9.c: New test. + +2024-03-05 Roger Sayle <roger@nextmovesoftware.com> + + * gcc.target/avr/torture/insv-anyshift-hi.c: New test. + * gcc.target/avr/torture/insv-anyshift-si.c: New test. + +2024-03-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114231 + * gcc.dg/vect/pr114231.c: New testcase. + +2024-03-05 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114211 + * gcc.dg/pr114211.c: New test. + +2024-03-05 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114157 + * gcc.dg/bitint-98.c: New test. + * gcc.target/i386/avx2-pr114157.c: New test. + * gcc.target/i386/avx512f-pr114157.c: New test. + +2024-03-05 Jakub Jelinek <jakub@redhat.com> + + PR target/114116 + * gcc.target/i386/pr38534-1.c: Allow push/pop of bp. + * gcc.target/i386/pr38534-4.c: Likewise. + * gcc.target/i386/pr38534-2.c: Likewise. + * gcc.target/i386/pr38534-3.c: Likewise. + * gcc.target/i386/pr114097-1.c: Likewise. + * gcc.target/i386/stack-check-17.c: Expect no pop on ! ia32. + +2024-03-05 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/friend-6_a.C: Pass -Wno-global-module instead + of -Wno-pedantic. Remove now unnecessary preprocessing + directives from GMF. + +2024-03-04 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/using-12.C: New test. + * g++.dg/modules/using-13.h: New test. + * g++.dg/modules/using-13_a.C: New test. + * g++.dg/modules/using-13_b.C: New test. + +2024-03-04 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/memset-1.c: New test. + +2024-03-04 Jan Dubiec <jdx@o2.pl> + + * gcc.c-torture/execute/20101011-1.c: Do not test on H8 series. + +2024-03-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114197 + * gcc.dg/torture/pr114197.c: New testcase. + +2024-03-04 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114203 + * gcc.dg/torture/pr114203.c: New testcase. + +2024-03-04 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114209 + * gcc.dg/bitint-97.c: New test. + +2024-03-04 Xi Ruoyao <xry111@xry111.site> + + PR testsuite/113418 + * gcc.dg/pr104992.c (dg-options): Use -fdump-tree-forwprop2 + instead of -fdump-tree-optimized. + (dg-final): Scan forwprop2 dump instead of optimized, and remove + the use of vect_int_mod. + * lib/target-supports.exp (check_effective_target_vect_int_mod): + Remove because it's not used anymore. + +2024-03-04 Jakub Jelinek <jakub@redhat.com> + + PR target/114184 + * gcc.target/i386/pr114184.c: New test. + +2024-03-04 Roger Sayle <roger@nextmovesoftware.com> + + PR target/114187 + * g++.target/i386/pr114187.C: New test case. + +2024-03-03 Greg McGary <gkm@rivosinc.com> + + * gcc.c-torture/execute/pr113010.c: New test. + +2024-03-03 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/114171 + * gdc.dg/torture/pr114171.d: New test. + +2024-03-01 Patrick Palka <ppalka@redhat.com> + + PR c++/104919 + PR c++/106009 + * g++.dg/modules/tdef-7.h: Remove outdated comment. + * g++.dg/modules/tdef-7_b.C: Don't expect two TYPE_DECLs. + * g++.dg/modules/enum-13_a.C: New test. + * g++.dg/modules/enum-13_b.C: New test. + +2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114170 + * g++.dg/modules/var-tpl-2_a.H: New test. + * g++.dg/modules/var-tpl-2_b.C: New test. + +2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/114005 + * g++.dg/modules/pr114005_a.C: New test. + * g++.dg/modules/pr114005_b.C: New test. + +2024-03-01 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: Turn off + second phase scheduler. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: Likewise. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: Likewise. + +2024-03-01 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/cexpr-4_a.C: New test. + * g++.dg/modules/cexpr-4_b.C: New test. + +2024-03-01 Marek Polacek <polacek@redhat.com> + + PR c++/110358 + PR c++/109642 + * g++.dg/ext/attr-no-dangling1.C: New test. + * g++.dg/ext/attr-no-dangling2.C: New test. + * g++.dg/ext/attr-no-dangling3.C: New test. + * g++.dg/ext/attr-no-dangling4.C: New test. + * g++.dg/ext/attr-no-dangling5.C: New test. + * g++.dg/ext/attr-no-dangling6.C: New test. + * g++.dg/ext/attr-no-dangling7.C: New test. + * g++.dg/ext/attr-no-dangling8.C: New test. + * g++.dg/ext/attr-no-dangling9.C: New test. + +2024-03-01 David Faust <david.faust@oracle.com> + + * gcc.dg/debug/ctf/ctf-file-scope-1.c (SFOO): Make array member + fixed-length. + +2024-03-01 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104819 + * gfortran.dg/assumed_rank_9.f90: Adjust testcase use of NULL(). + * gfortran.dg/pr101329.f90: Adjust testcase to conform to interp. + * gfortran.dg/null_actual_4.f90: New test. + +2024-03-01 Patrick Palka <ppalka@redhat.com> + + PR c++/110025 + PR c++/114138 + * g++.dg/cpp23/auto-fncast16.C: New test. + * g++.dg/cpp23/auto-fncast17.C: New test. + * g++.dg/cpp23/auto-fncast18.C: New test. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + + PR c++/92687 + * g++.dg/cpp1z/decomp59.C: New test. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + Tobias Burnus <tburnus@baylibre.com> + + PR c++/110347 + * g++.dg/gomp/target-lambda-1.C: Moved to become a + run-time test under testsuite/libgomp.c++. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + + PR debug/114015 + * gcc.dg/debug/dwarf2/pr114015.c: New test. + +2024-03-01 xuli <xuli1@eswincomputing.com> + + * g++.target/riscv/rvv/base/attribute-riscv_vector_cc-error.C: New test. + * gcc.target/riscv/rvv/base/attribute-riscv_vector_cc-callee-saved.c: New test. + * gcc.target/riscv/rvv/base/attribute-riscv_vector_cc-error.c: New test. + +2024-03-01 Pan Li <pan2.li@intel.com> + + PR target/112817 + * g++.target/riscv/rvv/base/pr111296.C: Replace + param=riscv-autovec-preference to mrvv-vector-bits. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-6.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-12.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-1.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-3.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-5.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113247-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113247-4.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-2.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/align-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/align-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/copysign-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/copysign-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/copysign-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/copysign-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmax-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmax_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmax_zvfh_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmin-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/fmin_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/binop/mulh-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/mulh-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/mulh_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/mulh_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/narrow-1.c: Ditto. + * 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/binop/narrow_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/narrow_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/narrow_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/shift-immediate.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/shift-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-run-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vadd-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vand-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vand-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vand-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vcompress-avlprop-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vdiv-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vdiv-rv32gcv-nofm.c: Ditto. + * 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/vdiv-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmax-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmax-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmax-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmax-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmin-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmin-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmin-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmin-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-run-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vmul-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vor-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vor-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vor-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vrem-run.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/vsub-run-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv-nofm.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vsub-zvfh-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vxor-run.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vxor-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/binop/vxor-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/bug-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/bug-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/bug-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/bug-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/bug-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/bug-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/bug-8.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/cmp/vcond_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cmp/vcond_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith-11.c: Ditto. + * 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_arith_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_arith_run-9.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_float2float_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2float_run-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_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_float2int_zvfh-rv32-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv32-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv64-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh-rv64-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_float2int_zvfh_run-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_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_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_convert_int2int_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_convert_int2int_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_copysign-run.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_copysign-zvfh-run.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_fadd_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fadd_run-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: + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fma_fnma_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms-6.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fms_fnms_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_fmul_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_logical_min_max_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_mulh_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_narrow_shift_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-6.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-7.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-8.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift-9.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_shift_run-9.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-zvfh-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt-zvfh-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-zvfh-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-6.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-7.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary-8.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_unary_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-3.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-4.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-5.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-6.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-7.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-8.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_complicate-9.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/cond_widen_reduc_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/cond/pr111401.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vec-narrow-int64-float16.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vec-widen-float16-int64.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt-itof-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfcvt_rtz-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-ftoi-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-itof-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfncvt-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-ftoi-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-itof-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vfwcvt-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vncvt-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vsext-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vsext-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vsext-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vzext-run.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vzext-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/conversions/vzext-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: Diito. + * gcc.target/riscv/rvv/autovec/fold-min-poly.c: Diito. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-1.c: Diito. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_load-2.c: Diito. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-1.c: Diito. + * gcc.target/riscv/rvv/autovec/gather-scatter/strided_store-2.c: Diito. + * gcc.target/riscv/rvv/autovec/madd-split2-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/gimple_fold-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/live-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/live-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/live_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/live_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-3.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup-4.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/multiple_rgroup_zbb.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/select_vl-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/select_vl-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-10.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-11.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-12.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-13.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-14.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-15.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-16.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-17.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-18.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-19.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-3.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-4.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-5.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-6.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-7.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-8.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp-9.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-10.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-11.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-12.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-13.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-14.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-15.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-16.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-17.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-18.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-19.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/partial/slp_run-9.c: Diito. + * gcc.target/riscv/rvv/autovec/post-ra-avl.c: Diito. + * gcc.target/riscv/rvv/autovec/pr110950.c: Diito. + * gcc.target/riscv/rvv/autovec/pr110964.c: Diito. + * gcc.target/riscv/rvv/autovec/pr110989.c: Diito. + * gcc.target/riscv/rvv/autovec/pr111232.c: Diito. + * gcc.target/riscv/rvv/autovec/pr111295.c: Diito. + * gcc.target/riscv/rvv/autovec/pr111313.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112326.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112552.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112554.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112561.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112597-1.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112599-1.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112599-3.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112694-1.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112854.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112872.c: Diito. + * gcc.target/riscv/rvv/autovec/pr112999.c: Diito. + * gcc.target/riscv/rvv/autovec/pr113393-1.c: Diito. + * gcc.target/riscv/rvv/autovec/pr113393-2.c: Diito. + * gcc.target/riscv/rvv/autovec/pr113393-3.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-1.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-10.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-11.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-12.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-13.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-14.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-2.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-3.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-4.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-5.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-6.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-7.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-8.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last-9.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-10.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-11.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-12.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-13.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-14.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/extract_last_run-9.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-1.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-10.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-2.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-3.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-4.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-5.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-6.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-7.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-8.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc-9.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-1.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-3.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-4.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-5.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-10.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-1.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-2.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-3.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-4.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-5.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-6.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict-7.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_strict_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh-10.c: Diito. + * gcc.target/riscv/rvv/autovec/reduc/reduc_zvfh_run-10.c: Diito. + * gcc.target/riscv/rvv/autovec/scalable-1.c: Diito. + * gcc.target/riscv/rvv/autovec/series-1.c: Diito. + * gcc.target/riscv/rvv/autovec/series_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/slp-mask-1.c: Diito. + * gcc.target/riscv/rvv/autovec/slp-mask-run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-1.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-2.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-3.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-4.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-5.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-6.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load-7.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_load_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-1.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-2.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-3.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-4.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-5.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-6.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store-7.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/mask_struct_store_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-1.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-10.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-11.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-12.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-13.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-14.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-15.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-16.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-17.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-18.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-2.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-3.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-4.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-5.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-6.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-7.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-8.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect-9.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-10.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-11.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-12.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-13.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-14.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-15.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-16.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-17.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-18.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/struct/struct_vect_run-9.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-10.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-11.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-12.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-4.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-5.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-6.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-7.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-8.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop-9.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-2.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-10.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-11.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-12.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-9.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-10.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-11.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-12.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run-9.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-1.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-10.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-11.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-12.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-2.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-3.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-4.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-5.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-6.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-7.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-8.c: Diito. + * gcc.target/riscv/rvv/autovec/ternop/ternop_run_zvfh-9.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/abs-run.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/abs-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/abs-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/abs-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/popcount-1.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/popcount-2.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-run.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vfsqrt-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vneg-run.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vneg-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vneg-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vneg-zvfh-run.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vnot-run.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vnot-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/unop/vnot-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/v-1.c: Diito. + * gcc.target/riscv/rvv/autovec/v-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-10.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-11.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-12.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-13.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-14.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-7.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-8.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/bitmask-9.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/compress_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/consecutive_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/insert_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge-7.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/merge_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/perm_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/pr110985.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/repeat_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-10.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-8.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-9.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/vls/pr110994.c: Diito. + * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv32.c: Diito. + * gcc.target/riscv/rvv/autovec/vmv-imm-fixed-rv64.c: Diito. + * gcc.target/riscv/rvv/autovec/vmv-imm-run.c: Diito. + * gcc.target/riscv/rvv/autovec/vmv-imm-rv32.c: Diito. + * gcc.target/riscv/rvv/autovec/vmv-imm-rv64.c: Diito. + * gcc.target/riscv/rvv/autovec/vreinterpet-fixed.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-run.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv32gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv64gcv.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-1.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-10.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-11.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-12.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-2.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-3.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-4.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-5.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-6.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-7.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-8.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-9.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-3.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-4.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-5.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-6.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-7.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-8.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen-complicate-9.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc-1.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-1.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order-2.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_order_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_reduc_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-10.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-11.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-12.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-4.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-7.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-8.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run-9.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-10.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-11.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-12.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-3.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-7.c: Diito. + * gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-8.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f-3.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f_zvl1024b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f_zvl2048b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f_zvl256b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f_zvl4096b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32f_zvl512b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x-3.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x_zvl1024b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x_zvl2048b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x_zvl256b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x_zvl4096b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve32x_zvl512b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d-3.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d_zvl1024b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d_zvl2048b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d_zvl256b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d_zvl4096b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64d_zvl512b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f-3.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f_zvl1024b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f_zvl2048b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f_zvl256b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f_zvl4096b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64f_zvl512b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x-3.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x_zvl1024b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-2.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x_zvl2048b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x_zvl256b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x_zvl4096b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zve64x_zvl512b-1.c: Diito. + * gcc.target/riscv/rvv/autovec/zvfhmin-1.c: Diito. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: Diito. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: Diito. + * gcc.target/riscv/rvv/base/cpymem-1.c: Diito. + * gcc.target/riscv/rvv/base/cpymem-2.c: Diito. + * gcc.target/riscv/rvv/base/cpymem-strategy-3.c: Diito. + * gcc.target/riscv/rvv/base/cpymem-strategy-4.c: Diito. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-77.c: Diito. + * gcc.target/riscv/rvv/base/float-point-frm-autovec-1.c: Diito. + * gcc.target/riscv/rvv/base/float-point-frm-autovec-2.c: Diito. + * gcc.target/riscv/rvv/base/float-point-frm-autovec-3.c: Diito. + * gcc.target/riscv/rvv/base/float-point-frm-autovec-4.c: Diito. + * gcc.target/riscv/rvv/base/poly-selftest-1.c: Diito. + * gcc.target/riscv/rvv/base/pr110119-1.c: Diito. + * gcc.target/riscv/rvv/base/pr110119-2.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-0.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-1.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-10.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-2.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-3.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-4.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-5.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-6.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-7.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-8.c: Diito. + * gcc.target/riscv/rvv/base/pr111720-9.c: Diito. + * gcc.target/riscv/rvv/base/vf_avl-1.c: Diito. + * gcc.target/riscv/rvv/base/vf_avl-2.c: Diito. + * gcc.target/riscv/rvv/base/vf_avl-3.c: Diito. + * gcc.target/riscv/rvv/base/vf_avl-4.c: Diito. + * gcc.target/riscv/rvv/base/zvl-unimplemented-1.c: Diito. + * gcc.target/riscv/rvv/base/zvl-unimplemented-2.c: Diito. + * gcc.target/riscv/rvv/rvv.exp: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_multiple-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_prop-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_prop-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-100.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-101.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-102.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-103.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-104.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-105.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-106.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-108.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-109.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-18.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-19.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-20.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-21.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-22.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-24.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-25.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-26.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-27.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-28.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-29.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-30.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-31.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-32.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-33.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-34.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-35.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-36.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-37.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-38.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-39.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-40.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-41.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-42.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-43.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-44.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-45.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-46.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-47.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-48.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-49.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-50.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-51.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-52.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-53.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-54.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-55.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-56.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-57.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-58.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-59.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-60.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-61.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-62.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-63.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-64.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-65.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-66.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-67.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-68.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-69.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-70.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-71.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-72.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-73.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-74.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-75.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-76.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-77.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-78.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-79.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-80.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-81.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-82.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-83.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-84.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-85.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-86.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-87.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-88.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-89.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-90.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-91.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-92.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-93.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-94.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-95.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-96.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-97.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-98.c: Diito. + * gcc.target/riscv/rvv/vsetvl/avl_single-99.c: Diito. + * gcc.target/riscv/rvv/vsetvl/dump-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/ffload-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/ffload-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/ffload-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/ffload-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/ffload-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/ffload-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_bb_prop-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_conflict-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_loop_invariant-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/imm_switch-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr108270.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109399.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109547.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109615.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109743-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109743-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109743-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109743-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109748.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109773-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109773-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr109974.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr111037-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr111037-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr111037-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr111037-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr111234.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr111255.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr111927.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr111947.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr112092-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr112092-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr112713-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr112713-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr112776.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr112813-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr112929-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr112988-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr113248.c: Diito. + * gcc.target/riscv/rvv/vsetvl/pr113696.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-18.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-19.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-20.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-21.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-22.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-23.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-24.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-25.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-26.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-27.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-28.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-29.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-30.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-31.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-32.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-34.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-35.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-36.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-37.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-38.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-40.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-41.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-42.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-43.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-44.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-45.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-46.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-21.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-22.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-23.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-24.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-25.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-26.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-27.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-28.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-18.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-19.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-20.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-21.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-22.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-23.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-24.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-25.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-26.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-27.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-28.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_miss_default-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_single_vtype-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vlmax_switch_vtype-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-18.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-19.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-20.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-21.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-22.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-23.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-24.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl_bug-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl_int.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvl_pre-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-1.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-10.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-11.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-12.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-13.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-14.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-15.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-16.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-17.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-18.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-19.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-2.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-20.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-3.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-4.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-5.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-6.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-7.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-8.c: Diito. + * gcc.target/riscv/rvv/vsetvl/vsetvlmax-9.c: Diito. + * gcc.target/riscv/rvv/vsetvl/wredsum_vlmax.c: Diito. + * gcc.target/riscv/rvv/base/rvv-vector-bits-1.c: New test. + * gcc.target/riscv/rvv/base/rvv-vector-bits-2.c: New test. + * gcc.target/riscv/rvv/base/rvv-vector-bits-3.c: New test. + * gcc.target/riscv/rvv/base/rvv-vector-bits-4.c: New test. + * gcc.target/riscv/rvv/base/rvv-vector-bits-5.c: New test. + * gcc.target/riscv/rvv/base/rvv-vector-bits-6.c: New test. + +2024-03-01 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114156 + * gcc.dg/bitint-96.c: New test. + +2024-02-29 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/114159 + * c-c++-common/analyzer/call-summaries-pr114159.c: New test. + +2024-02-29 Georg-Johann Lay <avr@gjlay.de> + + PR target/114132 + * gcc.target/avr/pr114132-1.c: New test. + * gcc.target/avr/torture/pr114132-2.c: New test. + +2024-02-29 Marek Polacek <polacek@redhat.com> + + PR c++/113987 + * g++.dg/warn/Wuninitialized-15.C: Turn dg-warning into dg-bogus. + * g++.dg/warn/Wuninitialized-34.C: New test. + +2024-02-29 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/102344 + * gm2/pim/pass/TestLong4.mod: Rewrite. + * gm2/cpp/pass/testlong4.mod: New test. + +2024-02-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/108174 + * gcc.target/aarch64/acle/memtag_4.c: New test. + +2024-02-29 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/crc-sext.c: New test; + +2024-02-29 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/111710 + * g++.dg/modules/lambda-7.h: New test. + * g++.dg/modules/lambda-7_a.H: New test. + * g++.dg/modules/lambda-7_b.C: New test. + * g++.dg/modules/lambda-7_c.C: New test. + +2024-02-29 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/pr114130.c: New. + +2024-02-29 Alexander Westbrooks <alexanderw@gcc.gnu.org> + + PR fortran/82943 + PR fortran/86148 + PR fortran/86268 + * gfortran.dg/pdt_4.f03: Update modified error message. + * gfortran.dg/pdt_34.f03: New test. + * gfortran.dg/pdt_35.f03: New test. + * gfortran.dg/pdt_36.f03: New test. + * gfortran.dg/pdt_37.f03: New test. + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + Patrick Palka <ppalka@redhat.com> + + PR c++/113976 + * g++.dg/cpp1y/var-templ87.C: New test. + +2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com> + + PR target/113453 + PR target/113453 + * gcc.target/bpf/btfext-funcinfo-nocore.c: Add. + * gcc.target/bpf/btfext-funcinfo.c: Add. + * gcc.target/bpf/core-attr-5.c: Fix regexp. + * gcc.target/bpf/core-attr-6.c: Fix regexp. + * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Fix regexp. + * gcc.target/bpf/core-section-1.c: Fix regexp. + +2024-02-28 Harald Anlauf <anlauf@gmx.de> + + * gfortran.dg/pr101026.f: Let variables used in specification + expression be passed as dummy arguments + +2024-02-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113831 + PR tree-optimization/108355 + * gcc.dg/tree-ssa/ssa-fre-104.c: XFAIL. + +2024-02-28 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114121 + * gcc.dg/torture/pr114121.c: New testcase. + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/111462 + * gcc.dg/tree-ssa/ssa-sink-18.c: XFAIL also on powerpc64. + +2024-02-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR tree-optimization/91567 + * gcc.dg/tree-ssa/builtin-snprintf-6.c (scan-tree-dump-times): + Treat i?86-*-* like x86_64-*-*. + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114075 + * gcc.dg/gomp/pr114075.c: New test. + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114041 + * gcc.dg/graphite/run-id-pr114041-1.c: New test. + * gcc.dg/graphite/run-id-pr114041-2.c: New test. + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113988 + * gcc.dg/bitint-91.c: New test. + +2024-02-28 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/c23-stdarg-6.c: New test. + +2024-02-28 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113970 + PR c++/114013 + * g++.dg/cpp1z/inline-var10.C: New test. + +2024-02-27 Uros Bizjak <ubizjak@gmail.com> + + PR target/113871 + * gcc.target/i386/pr113871-5a.c: New test. + * gcc.target/i386/pr113871-5b.c: New test. + +2024-02-27 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/opt104.ads, gnat.dg/opt104.adb: New test. + +2024-02-27 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/111881 + * c-c++-common/analyzer/conditionals-pr111881.c: New test. + +2024-02-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114074 + * gcc.dg/torture/pr114074.c: New testcase. + * gcc.dg/pr68317.c: Adjust expected location of diagnostic. + * gcc.dg/vect/vect-early-break_119-pr114068.c: Do not expect + loop to be vectorized. + +2024-02-27 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114044 + * gcc.dg/bitint-95.c: New test. + +2024-02-27 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114081 + * gcc.dg/vect/vect-early-break_121-pr114081.c: New testcase. + +2024-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR ipa/70582 + * gcc.dg/attr-weakref-1.c (dg-additional-options): Define + SOLARIS_X86_AS as appropriate. + (lv3, Wv3a, pv3a): Wrap in !SOLARIS_X86_AS. + (main): Likewise for chk (pv3a). + +2024-02-26 Harald Anlauf <anlauf@gmx.de> + + PR fortran/114012 + * gfortran.dg/pr114012.f90: New test. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + H.J. Lu <hjl.tools@gmail.com> + + PR rtl-optimization/113617 + * g++.dg/other/pr113617.C: New test. + * g++.dg/other/pr113617.h: New test. + * g++.dg/other/pr113617-aux.cc: New test. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + + PR c/114042 + * gcc.dg/builtin-stdc-bit-2.c: Adjust testcase for actual builtin + names rather than names of builtin replacements. + +2024-02-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114099 + * gcc.dg/vect/vect-early-break_120-pr114099.c: New testcase. + +2024-02-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114068 + * gcc.dg/vect/vect-early-break_118-pr114068.c: New testcase. + * gcc.dg/vect/vect-early-break_119-pr114068.c: Likewise. + +2024-02-26 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/access10.adb: New test. + +2024-02-26 H.J. Lu <hjl.tools@gmail.com> + + PR target/114097 + * gcc.target/i386/pr114097-1.c: New test. + +2024-02-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR ipa/61159 + * gcc.c-torture/compile/pr61159.c: xfail on Solaris/x86 with as. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114090 + * gcc.dg/pr114090.c: New test. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114084 + * gcc.dg/bitint-94.c: New test. + +2024-02-26 Richard Biener <rguenther@suse.de> + + PR middle-end/114070 + * gcc.dg/torture/pr114070.c: New testcase. + +2024-02-26 Jakub Jelinek <jakub@redhat.com> + + PR target/114094 + * gcc.target/i386/pr114094.c: New test. + +2024-02-26 H.J. Lu <hjl.tools@gmail.com> + + PR target/114098 + * gcc.target/i386/amxtile-4.c: New test. + +2024-02-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105456 + * gfortran.dg/pr105456.f90: New test. + +2024-02-24 Richard Sandiford <richard.sandiford@arm.com> + + PR tree-optimization/113205 + * gcc.dg/torture/pr113205.c: New test. + +2024-02-24 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/114073 + * gcc.dg/bitint-93.c: New test. + +2024-02-24 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.dg/rtl/aarch64/pr113295-1.c: Restrict to aarc64*-*-*. + +2024-02-23 Steve Kargl <kargl@gcc.gnu.org> + Harald Anlauf <anlauf@gmx.de> + + PR fortran/114024 + * gfortran.dg/allocate_with_source_27.f90: New test. + * gfortran.dg/allocate_with_source_28.f90: New test. + +2024-02-23 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/pr114028.c: New test. + +2024-02-23 Jakub Jelinek <jakub@redhat.com> + + PR c++/113083 + * g++.dg/cpp0x/constexpr-113083.C: New test. + +2024-02-23 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113613 + * gcc.target/aarch64/pr113613.c: New test. + +2024-02-23 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113295 + * gcc.target/aarch64/pr113295-2.c: New test. + +2024-02-23 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113295 + * gcc.dg/rtl/aarch64/pr113295-1.c: New test. + +2024-02-23 H.J. Lu <hjl.tools@gmail.com> + + * gcc.target/i386/apx-ndd-tls-1b.c: New test. + * lib/target-supports.exp + (check_effective_target_code_6_gottpoff_reloc): New. + +2024-02-23 Richard Earnshaw <rearnsha@arm.com> + + PR target/108120 + * gcc.target/arm/neon-recip-div-1.c: New file. + +2024-02-23 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/114054 + * gcc.dg/bitint-92.c: New test. + +2024-02-23 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114040 + * gcc.dg/torture/bitint-60.c: New test. + * gcc.dg/torture/bitint-61.c: New test. + +2024-02-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.dg/vect/vect-bic-bitmask-12.c: Move dg-skip-if down. + * gcc.dg/vect/vect-bic-bitmask-23.c: Likewise. + +2024-02-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.dg/plugin/crash-test-write-though-null-sarif.c + (scan-sarif-file): Allow for "Segmentation Fault", too. + +2024-02-22 Marek Polacek <polacek@redhat.com> + + * g++.dg/warn/Wmismatched-new-delete-8.C: Use __SIZE_TYPE__. + +2024-02-22 Jakub Jelinek <jakub@redhat.com> + + PR c/114007 + * gcc.dg/c23-attr-syntax-6.c: Adjust testcase for :: being valid + even in -std=c11 even without __extension__ and : : etc. not being + valid anymore even with __extension__. + * gcc.dg/c23-attr-syntax-7.c: Likewise. + * gcc.dg/c23-attr-syntax-8.c: New test. + +2024-02-22 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/109804 + * g++.dg/warn/Wmismatched-new-delete-8.C: New test. + +2024-02-22 Tamar Christina <tamar.christina@arm.com> + + PR target/112375 + * gcc.target/aarch64/vget_set_lane_1.c: Update test output. + +2024-02-22 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114055 + * gm2/pim/fail/forloopby.mod: New test. + * gm2/pim/pass/forloopby2.mod: New test. + +2024-02-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114048 + * gcc.dg/torture/pr114048.c: New testcase. + +2024-02-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114027 + * gcc.dg/vect/pr114027.c: New testcase. + +2024-02-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113993 + * gcc.dg/tree-ssa/pr113993.c: New test. + +2024-02-22 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/114038 + * gcc.dg/torture/bitint-59.c: New test. + +2024-02-22 Kewen Lin <linkw@linux.ibm.com> + + PR target/109987 + * lib/target-supports.exp + (check_effective_target_powerpc_p8vector_ok): Remove. + (check_effective_target_powerpc_p9vector_ok): Remove. + (check_p8vector_hw_available): Replace -mpower8-vector with + -mcpu=power8. + (check_p9vector_hw_available): Replace -mpower9-vector with + -mcpu=power9. + (check_ppc_float128_hw_available): Likewise. + (check_vect_support_and_set_flags): Replace -mpower8-vector with + -mcpu=power8, replace -mpower9-vector with -mcpu=power9 or + nothing if check_power10_hw_available and place -mcpu=970 first + if needed to avoid possible overriding. + * g++.target/powerpc/altivec-19.C: Replace powerpc_p9vector_ok with + powerpc_vsx_ok and append -mvsx to dg-options. + * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-6.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise. + * gcc.target/powerpc/bfp/scalar-insert-exp-9.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-5.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-8.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-0.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-1.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-4.c: Likewise. + * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-exp-0.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-sig-0.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-sig-1.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise. + * gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-0.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-1.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-4.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-5.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise. + * gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-0.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-1.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-4.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-5.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-6.c: Likewise. + * gcc.target/powerpc/bfp/vec-test-data-class-7.c: Likewise. + * gcc.target/powerpc/builtins-3-p9.c: Likewise. + * gcc.target/powerpc/byte-in-either-range-0.c: Likewise. + * gcc.target/powerpc/byte-in-either-range-1.c: Likewise. + * gcc.target/powerpc/byte-in-range-0.c: Likewise. + * gcc.target/powerpc/byte-in-range-1.c: Likewise. + * gcc.target/powerpc/byte-in-set-0.c: Likewise. + * gcc.target/powerpc/byte-in-set-1.c: Likewise. + * gcc.target/powerpc/byte-in-set-2.c: Likewise. + * gcc.target/powerpc/clone1.c: Likewise. + * gcc.target/powerpc/ctz-3.c: Likewise. + * gcc.target/powerpc/ctz-4.c: Likewise. + * gcc.target/powerpc/darn-0.c: Likewise. + * gcc.target/powerpc/darn-1.c: Likewise. + * gcc.target/powerpc/darn-2.c: Likewise. + * gcc.target/powerpc/dform-3.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-0.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-10.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-13.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-15.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-16.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-18.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-20.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-21.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-23.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-25.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-26.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-28.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-3.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-30.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-31.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-33.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-35.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-36.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-38.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-40.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-41.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-43.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-45.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-46.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-48.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-5.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-50.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-51.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-53.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-55.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-56.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-58.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-6.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-60.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-61.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-63.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-65.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-66.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-68.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-70.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-71.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-73.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-75.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-76.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-78.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-8.c: Likewise. + * gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise. + * gcc.target/powerpc/direct-move-vector.c: Likewise. + * gcc.target/powerpc/float128-type-2.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int-fwrapv.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-int.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-char.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-short.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-char.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-float.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-short.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-float-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-short-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-int128-p9.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-int.p9.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-longlong.p9.c: Likewise. + * gcc.target/powerpc/p9-dimode1.c: Likewise. + * gcc.target/powerpc/p9-dimode2.c: Likewise. + * gcc.target/powerpc/p9-extract-1.c: Likewise. + * gcc.target/powerpc/p9-extract-2.c: Likewise. + * gcc.target/powerpc/p9-extract-3.c: Likewise. + * gcc.target/powerpc/p9-extract-4.c: Likewise. + * gcc.target/powerpc/p9-fpcvt-1.c: Likewise. + * gcc.target/powerpc/p9-fpcvt-2.c: Likewise. + * gcc.target/powerpc/p9-fpcvt-3.c: Likewise. + * gcc.target/powerpc/p9-lxvx-stxvx-1.c: Likewise. + * gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise. + * gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise. + * gcc.target/powerpc/p9-minmax-1.c: Likewise. + * gcc.target/powerpc/p9-minmax-2.c: Likewise. + * gcc.target/powerpc/p9-minmax-3.c: Likewise. + * gcc.target/powerpc/p9-novsx.c: Likewise. + * gcc.target/powerpc/p9-permute.c: Likewise. + * gcc.target/powerpc/p9-sign_extend-runnable.c: Likewise. + * gcc.target/powerpc/p9-splat-1.c: Likewise. + * gcc.target/powerpc/p9-splat-2.c: Likewise. + * gcc.target/powerpc/p9-splat-3.c: Likewise. + * gcc.target/powerpc/p9-splat-4.c: Likewise. + * gcc.target/powerpc/p9-splat-5.c: Likewise. + * gcc.target/powerpc/p9-vbpermd.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-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-vneg.c: Likewise. + * gcc.target/powerpc/p9-vparity.c: Likewise. + * gcc.target/powerpc/p9-vpermr.c: Likewise. + * gcc.target/powerpc/p9-xxbr-1.c: Likewise. + * gcc.target/powerpc/p9-xxbr-2.c: Likewise. + * gcc.target/powerpc/p9-xxbr-3.c: Likewise. + * gcc.target/powerpc/ppc-fortran/pr80108-1.f90: Likewise. + * gcc.target/powerpc/ppc-round3.c: Likewise. + * gcc.target/powerpc/pr103124.c: Likewise. + * gcc.target/powerpc/pr104015-1.c: Likewise. + * gcc.target/powerpc/pr106769-p9.c: Likewise. + * gcc.target/powerpc/pr107412.c: Likewise. + * gcc.target/powerpc/pr110429.c: Likewise. + * gcc.target/powerpc/pr66144-1.c: Likewise. + * gcc.target/powerpc/pr71186.c: Likewise. + * gcc.target/powerpc/pr71309.c: Likewise. + * gcc.target/powerpc/pr71670.c: Likewise. + * gcc.target/powerpc/pr71698.c: Likewise. + * gcc.target/powerpc/pr71720.c: Likewise. + * gcc.target/powerpc/pr72853.c: Likewise. + * gcc.target/powerpc/pr78056-1.c: Likewise. + * gcc.target/powerpc/pr78658.c: Likewise. + * gcc.target/powerpc/pr78953.c: Likewise. + * gcc.target/powerpc/pr79004.c: Likewise. + * gcc.target/powerpc/pr79038-1.c: Likewise. + * gcc.target/powerpc/pr79179.c: Likewise. + * gcc.target/powerpc/pr79251.p9.c: Likewise. + * gcc.target/powerpc/pr79799-1.c: Likewise. + * gcc.target/powerpc/pr79799-2.c: Likewise. + * gcc.target/powerpc/pr79799-3.c: Likewise. + * gcc.target/powerpc/pr79799-5.c: Likewise. + * gcc.target/powerpc/pr80695-p9.c: Likewise. + * gcc.target/powerpc/pr81348.c: Likewise. + * gcc.target/powerpc/pr81622.c: Likewise. + * gcc.target/powerpc/pr84154-3.c: Likewise. + * gcc.target/powerpc/pr90763.c: Likewise. + * gcc.target/powerpc/pr96933-1.c: Likewise. + * gcc.target/powerpc/sad-vectorize-1.c: Likewise. + * gcc.target/powerpc/sad-vectorize-2.c: Likewise. + * gcc.target/powerpc/signbit-2.c: Likewise. + * gcc.target/powerpc/vadsdu-0.c: Likewise. + * gcc.target/powerpc/vadsdu-1.c: Likewise. + * gcc.target/powerpc/vadsdu-2.c: Likewise. + * gcc.target/powerpc/vadsdu-3.c: Likewise. + * gcc.target/powerpc/vadsdu-4.c: Likewise. + * gcc.target/powerpc/vadsdu-5.c: Likewise. + * gcc.target/powerpc/vadsdub-1.c: Likewise. + * gcc.target/powerpc/vadsdub-2.c: Likewise. + * gcc.target/powerpc/vadsduh-1.c: Likewise. + * gcc.target/powerpc/vadsduh-2.c: Likewise. + * gcc.target/powerpc/vadsduw-1.c: Likewise. + * gcc.target/powerpc/vadsduw-2.c: Likewise. + * gcc.target/powerpc/vec-extract-4.c: Likewise. + * gcc.target/powerpc/vec-init-3.c: Likewise. + * gcc.target/powerpc/vec-minmax-1.c: Likewise. + * gcc.target/powerpc/vec-minmax-2.c: Likewise. + * gcc.target/powerpc/vec-set-char.c: Likewise. + * gcc.target/powerpc/vec-set-int.c: Likewise. + * gcc.target/powerpc/vec-set-short.c: Likewise. + * gcc.target/powerpc/vec_reve_2.c: Likewise. + * gcc.target/powerpc/vector_float.c: Likewise. + * gcc.target/powerpc/vslv-0.c: Likewise. + * gcc.target/powerpc/vslv-1.c: Likewise. + * gcc.target/powerpc/vsrv-0.c: Likewise. + * gcc.target/powerpc/vsrv-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-10.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-11.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-12.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-13.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-ne-9.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-11.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-12.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-13.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpne-9.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-10.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-11.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-12.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-xl-len-9.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-xlx-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-xrx-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-0.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-1.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-10.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-11.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-2.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-3.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-4.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-5.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-6.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-7.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-8.c: Likewise. + * gcc.target/powerpc/vsu/vec-xst-len-9.c: Likewise. + * gcc.target/powerpc/vsx-builtin-msum.c: Likewise. + * gcc.target/powerpc/vsx-himode.c: Likewise. + * gcc.target/powerpc/vsx-himode2.c: Likewise. + * gcc.target/powerpc/vsx-himode3.c: Likewise. + * gcc.target/powerpc/vsx-qimode.c: Likewise. + * gcc.target/powerpc/vsx-qimode2.c: Likewise. + * gcc.target/powerpc/vsx-qimode3.c: Likewise. + * g++.target/powerpc/pr65240-1.C: Replace powerpc_p8vector_ok with + powerpc_vsx_ok and append -mvsx to dg-options. + * g++.target/powerpc/pr65240-2.C: Likewise. + * g++.target/powerpc/pr65240-3.C: Likewise. + * g++.target/powerpc/pr65242.C: Likewise. + * g++.target/powerpc/pr67211.C: Likewise. + * g++.target/powerpc/pr71294.C: Likewise. + * g++.target/powerpc/pr84279.C: Likewise. + * g++.target/powerpc/pr93974.C: Likewise. + * gcc.target/powerpc/atomic-p8.c: Likewise. + * gcc.target/powerpc/atomic_load_store-p8.c: Likewise. + * gcc.target/powerpc/bcd-2.c: Likewise. + * gcc.target/powerpc/bcd-3.c: Likewise. + * gcc.target/powerpc/bool2-p8.c: Likewise. + * gcc.target/powerpc/bool3-p8.c: Likewise. + * gcc.target/powerpc/builtins-1.c: Likewise. + * gcc.target/powerpc/builtins-3-p8.c: Likewise. + * gcc.target/powerpc/builtins-5.c: Likewise. + * gcc.target/powerpc/builtins-9.c: Likewise. + * gcc.target/powerpc/crypto-builtin-1.c: Likewise. + * gcc.target/powerpc/crypto-builtin-2.c: Likewise. + * gcc.target/powerpc/direct-move-double1.c: Likewise. + * gcc.target/powerpc/direct-move-float1.c: Likewise. + * gcc.target/powerpc/direct-move-long1.c: Likewise. + * gcc.target/powerpc/direct-move-vint1.c: Likewise. + * gcc.target/powerpc/float128-type-1.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-char.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-double.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-float.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-char-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-float-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-int-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-insert-short-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-char.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-int.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-short.c: Likewise. + * gcc.target/powerpc/fold-vec-select-double.c: Likewise. + * gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c: Likewise. + * gcc.target/powerpc/fusion.c: Likewise. + * gcc.target/powerpc/fusion2.c: Likewise. + * gcc.target/powerpc/mul-vectorize-1.c: Likewise. + * gcc.target/powerpc/p8-vec-xl-xst-v2.c: Likewise. + * gcc.target/powerpc/p8-vec-xl-xst.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-1.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-2.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-3.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-4.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-5.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-6.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-7.c: Likewise. + * gcc.target/powerpc/p8vector-fp.c: Likewise. + * gcc.target/powerpc/p8vector-int128-1.c: Likewise. + * gcc.target/powerpc/p8vector-ldst.c: Likewise. + * gcc.target/powerpc/p8vector-vbpermq.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-1.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-2.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-3.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-4.c: Likewise. + * gcc.target/powerpc/p8vector-vectorize-5.c: Likewise. + * gcc.target/powerpc/ppc-round2.c: Likewise. + * gcc.target/powerpc/pr100866-1.c: Likewise. + * gcc.target/powerpc/pr100866-2.c: Likewise. + * gcc.target/powerpc/pr104239-1.c: Likewise. + * gcc.target/powerpc/pr104239-2.c: Likewise. + * gcc.target/powerpc/pr104239-3.c: Likewise. + * gcc.target/powerpc/pr106769-p8.c: Likewise. + * gcc.target/powerpc/pr108396.c: Likewise. + * gcc.target/powerpc/pr111449-1.c: Likewise. + * gcc.target/powerpc/pr57744.c: Likewise. + * gcc.target/powerpc/pr58673-1.c: Likewise. + * gcc.target/powerpc/pr58673-2.c: Likewise. + * gcc.target/powerpc/pr60137.c: Likewise. + * gcc.target/powerpc/pr60203.c: Likewise. + * gcc.target/powerpc/pr66144-2.c: Likewise. + * gcc.target/powerpc/pr66144-3.c: Likewise. + * gcc.target/powerpc/pr68163.c: Likewise. + * gcc.target/powerpc/pr69548.c: Likewise. + * gcc.target/powerpc/pr70669.c: Likewise. + * gcc.target/powerpc/pr71977-1.c: Likewise. + * gcc.target/powerpc/pr71977-2.c: Likewise. + * gcc.target/powerpc/pr72717.c: Likewise. + * gcc.target/powerpc/pr78056-3.c: Likewise. + * gcc.target/powerpc/pr78056-4.c: Likewise. + * gcc.target/powerpc/pr78102.c: Likewise. + * gcc.target/powerpc/pr78543.c: Likewise. + * gcc.target/powerpc/pr78604.c: Likewise. + * gcc.target/powerpc/pr79251.p8.c: Likewise. + * gcc.target/powerpc/pr79354.c: Likewise. + * gcc.target/powerpc/pr79544.c: Likewise. + * gcc.target/powerpc/pr79907.c: Likewise. + * gcc.target/powerpc/pr79951.c: Likewise. + * gcc.target/powerpc/pr80315-1.c: Likewise. + * gcc.target/powerpc/pr80315-2.c: Likewise. + * gcc.target/powerpc/pr80315-3.c: Likewise. + * gcc.target/powerpc/pr80315-4.c: Likewise. + * gcc.target/powerpc/pr80510-2.c: Likewise. + * gcc.target/powerpc/pr80695-p8.c: Likewise. + * gcc.target/powerpc/pr80718.c: Likewise. + * gcc.target/powerpc/pr84154-2.c: Likewise. + * gcc.target/powerpc/pr88558-p8.c: Likewise. + * gcc.target/powerpc/pr88845.c: Likewise. + * gcc.target/powerpc/pr91903.c: Likewise. + * gcc.target/powerpc/pr92923-2.c: Likewise. + * gcc.target/powerpc/pr96933-2.c: Likewise. + * gcc.target/powerpc/pr97019.c: Likewise. + * gcc.target/powerpc/pragma_power8.c: Likewise. + * gcc.target/powerpc/signbit-1.c: Likewise. + * gcc.target/powerpc/swaps-p8-1.c: Likewise. + * gcc.target/powerpc/swaps-p8-12.c: Likewise. + * gcc.target/powerpc/swaps-p8-14.c: Likewise. + * gcc.target/powerpc/swaps-p8-15.c: Likewise. + * gcc.target/powerpc/swaps-p8-16.c: Likewise. + * gcc.target/powerpc/swaps-p8-17.c: Likewise. + * gcc.target/powerpc/swaps-p8-18.c: Likewise. + * gcc.target/powerpc/swaps-p8-19.c: Likewise. + * gcc.target/powerpc/swaps-p8-2.c: Likewise. + * gcc.target/powerpc/swaps-p8-22.c: Likewise. + * gcc.target/powerpc/swaps-p8-23.c: Likewise. + * gcc.target/powerpc/swaps-p8-24.c: Likewise. + * gcc.target/powerpc/swaps-p8-25.c: Likewise. + * gcc.target/powerpc/swaps-p8-26.c: Likewise. + * gcc.target/powerpc/swaps-p8-27.c: Likewise. + * gcc.target/powerpc/swaps-p8-3.c: Likewise. + * gcc.target/powerpc/swaps-p8-30.c: Likewise. + * gcc.target/powerpc/swaps-p8-33.c: Likewise. + * gcc.target/powerpc/swaps-p8-36.c: Likewise. + * gcc.target/powerpc/swaps-p8-39.c: Likewise. + * gcc.target/powerpc/swaps-p8-4.c: Likewise. + * gcc.target/powerpc/swaps-p8-42.c: Likewise. + * gcc.target/powerpc/swaps-p8-45.c: Likewise. + * gcc.target/powerpc/swaps-p8-46.c: Likewise. + * gcc.target/powerpc/swaps-p8-5.c: Likewise. + * gcc.target/powerpc/unpack-vectorize-3.c: Likewise. + * gcc.target/powerpc/upper-regs-sf.c: Likewise. + * gcc.target/powerpc/vec-cmp.c: Likewise. + * gcc.target/powerpc/vec-extract-1.c: Likewise. + * gcc.target/powerpc/vec-extract-3.c: Likewise. + * gcc.target/powerpc/vec-extract-5.c: Likewise. + * gcc.target/powerpc/vec-extract-6.c: Likewise. + * gcc.target/powerpc/vec-extract-7.c: Likewise. + * gcc.target/powerpc/vec-extract-8.c: Likewise. + * gcc.target/powerpc/vec-extract-9.c: Likewise. + * gcc.target/powerpc/vec-init-10.c: Likewise. + * gcc.target/powerpc/vec-init-6.c: Likewise. + * gcc.target/powerpc/vec-init-7.c: Likewise. + * gcc.target/powerpc/vsx-extract-3.c: Likewise. + * gcc.target/powerpc/vsx-extract-4.c: Likewise. + * gcc.target/powerpc/vsx-extract-5.c: Likewise. + * gcc.target/powerpc/vsx-simode.c: Likewise. + * gcc.target/powerpc/vsx-simode2.c: Likewise. + * gcc.target/powerpc/vsx-simode3.c: Likewise. + * gcc.target/powerpc/builtins-4-int128-runnable.c: Replace + powerpc_p8vector_ok with powerpc_vsx_ok, replace -mpower8-vector + with -mvsx, and add dg-additional-options -mdejagnu-cpu=power8 + if !has_arch_pwr8. + * gcc.target/powerpc/builtins-mergew-mergow.c: Likewise. + * gcc.target/powerpc/direct-move-float3.c: Likewise. + * gcc.target/powerpc/divkc3-2.c: Likewise. + * gcc.target/powerpc/divkc3-3.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-add-4.c: Likewise. + * gcc.target/powerpc/fold-vec-add-7.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-int.h: Likewise. + * gcc.target/powerpc/fold-vec-cmp-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-short.h: Likewise. + * gcc.target/powerpc/fold-vec-cntlz-char.c: Likewise. + * gcc.target/powerpc/fold-vec-cntlz-int.c: Likewise. + * gcc.target/powerpc/fold-vec-cntlz-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-cntlz-short.c: Likewise. + * gcc.target/powerpc/fold-vec-ld-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-char.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-float.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-int.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-eqv-short.c: Likewise. + * gcc.target/powerpc/fold-vec-logical-ors-longlong.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. + * gcc.target/powerpc/fold-vec-mergehl-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-minmax-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-int.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-int.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-longlong.h: Likewise. + * gcc.target/powerpc/fold-vec-pack-double.c: Likewise. + * gcc.target/powerpc/fold-vec-pack-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-left-longlong-fwrapv.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-left-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-shift-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-st-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-int128.c: Likewise. + * gcc.target/powerpc/fold-vec-sub-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-unpack-float.c: Likewise. + * gcc.target/powerpc/fold-vec-unpack-int.c: Likewise. + * gcc.target/powerpc/mmx-packs.c: Likewise. + * gcc.target/powerpc/mmx-packssdw-1.c: Likewise. + * gcc.target/powerpc/mmx-packsswb-1.c: Likewise. + * gcc.target/powerpc/mmx-packuswb-1.c: Likewise. + * gcc.target/powerpc/mmx-paddb-1.c: Likewise. + * gcc.target/powerpc/mmx-paddd-1.c: Likewise. + * gcc.target/powerpc/mmx-paddsb-1.c: Likewise. + * gcc.target/powerpc/mmx-paddsw-1.c: Likewise. + * gcc.target/powerpc/mmx-paddusb-1.c: Likewise. + * gcc.target/powerpc/mmx-paddusw-1.c: Likewise. + * gcc.target/powerpc/mmx-paddw-1.c: Likewise. + * gcc.target/powerpc/mmx-pcmpeqb-1.c: Likewise. + * gcc.target/powerpc/mmx-pcmpeqd-1.c: Likewise. + * gcc.target/powerpc/mmx-pcmpeqw-1.c: Likewise. + * gcc.target/powerpc/mmx-pcmpgtb-1.c: Likewise. + * gcc.target/powerpc/mmx-pcmpgtd-1.c: Likewise. + * gcc.target/powerpc/mmx-pcmpgtw-1.c: Likewise. + * gcc.target/powerpc/mmx-pmaddwd-1.c: Likewise. + * gcc.target/powerpc/mmx-pmulhw-1.c: Likewise. + * gcc.target/powerpc/mmx-pmullw-1.c: Likewise. + * gcc.target/powerpc/mmx-pslld-1.c: Likewise. + * gcc.target/powerpc/mmx-psllw-1.c: Likewise. + * gcc.target/powerpc/mmx-psrad-1.c: Likewise. + * gcc.target/powerpc/mmx-psraw-1.c: Likewise. + * gcc.target/powerpc/mmx-psrld-1.c: Likewise. + * gcc.target/powerpc/mmx-psrlw-1.c: Likewise. + * gcc.target/powerpc/mmx-psubb-2.c: Likewise. + * gcc.target/powerpc/mmx-psubd-2.c: Likewise. + * gcc.target/powerpc/mmx-psubsb-1.c: Likewise. + * gcc.target/powerpc/mmx-psubsw-1.c: Likewise. + * gcc.target/powerpc/mmx-psubusb-1.c: Likewise. + * gcc.target/powerpc/mmx-psubusw-1.c: Likewise. + * gcc.target/powerpc/mmx-psubw-2.c: Likewise. + * gcc.target/powerpc/mmx-punpckhbw-1.c: Likewise. + * gcc.target/powerpc/mmx-punpckhdq-1.c: Likewise. + * gcc.target/powerpc/mmx-punpckhwd-1.c: Likewise. + * gcc.target/powerpc/mmx-punpcklbw-1.c: Likewise. + * gcc.target/powerpc/mmx-punpckldq-1.c: Likewise. + * gcc.target/powerpc/mmx-punpcklwd-1.c: Likewise. + * gcc.target/powerpc/mulkc3-2.c: Likewise. + * gcc.target/powerpc/mulkc3-3.c: Likewise. + * gcc.target/powerpc/p8vector-builtin-8.c: Likewise. + * gcc.target/powerpc/pr37191.c: Likewise. + * gcc.target/powerpc/pr83862.c: Likewise. + * gcc.target/powerpc/pr84154-1.c: Likewise. + * gcc.target/powerpc/pr84220-sld2.c: Likewise. + * gcc.target/powerpc/pr85456.c: Likewise. + * gcc.target/powerpc/pr86731-longlong.c: Likewise. + * gcc.target/powerpc/sse-addps-1.c: Likewise. + * gcc.target/powerpc/sse-addss-1.c: Likewise. + * gcc.target/powerpc/sse-andnps-1.c: Likewise. + * gcc.target/powerpc/sse-andps-1.c: Likewise. + * gcc.target/powerpc/sse-cmpss-1.c: Likewise. + * gcc.target/powerpc/sse-cvtpi16ps-1.c: Likewise. + * gcc.target/powerpc/sse-cvtpi32ps-1.c: Likewise. + * gcc.target/powerpc/sse-cvtpi32x2ps-1.c: Likewise. + * gcc.target/powerpc/sse-cvtpi8ps-1.c: Likewise. + * gcc.target/powerpc/sse-cvtpspi16-1.c: Likewise. + * gcc.target/powerpc/sse-cvtpspi8-1.c: Likewise. + * gcc.target/powerpc/sse-cvtpu16ps-1.c: Likewise. + * gcc.target/powerpc/sse-cvtpu8ps-1.c: Likewise. + * gcc.target/powerpc/sse-cvtsi2ss-1.c: Likewise. + * gcc.target/powerpc/sse-cvtsi2ss-2.c: Likewise. + * gcc.target/powerpc/sse-cvtss2si-1.c: Likewise. + * gcc.target/powerpc/sse-cvtss2si-2.c: Likewise. + * gcc.target/powerpc/sse-cvttss2si-1.c: Likewise. + * gcc.target/powerpc/sse-cvttss2si-2.c: Likewise. + * gcc.target/powerpc/sse-divps-1.c: Likewise. + * gcc.target/powerpc/sse-divss-1.c: Likewise. + * gcc.target/powerpc/sse-maxps-1.c: Likewise. + * gcc.target/powerpc/sse-maxps-2.c: Likewise. + * gcc.target/powerpc/sse-maxss-1.c: Likewise. + * gcc.target/powerpc/sse-minps-1.c: Likewise. + * gcc.target/powerpc/sse-minps-2.c: Likewise. + * gcc.target/powerpc/sse-minss-1.c: Likewise. + * gcc.target/powerpc/sse-movaps-1.c: Likewise. + * gcc.target/powerpc/sse-movaps-2.c: Likewise. + * gcc.target/powerpc/sse-movhlps-1.c: Likewise. + * gcc.target/powerpc/sse-movhps-1.c: Likewise. + * gcc.target/powerpc/sse-movhps-2.c: Likewise. + * gcc.target/powerpc/sse-movlhps-1.c: Likewise. + * gcc.target/powerpc/sse-movlps-1.c: Likewise. + * gcc.target/powerpc/sse-movlps-2.c: Likewise. + * gcc.target/powerpc/sse-movmskb-1.c: Likewise. + * gcc.target/powerpc/sse-movmskps-1.c: Likewise. + * gcc.target/powerpc/sse-movss-1.c: Likewise. + * gcc.target/powerpc/sse-movss-2.c: Likewise. + * gcc.target/powerpc/sse-movss-3.c: Likewise. + * gcc.target/powerpc/sse-mulps-1.c: Likewise. + * gcc.target/powerpc/sse-mulss-1.c: Likewise. + * gcc.target/powerpc/sse-orps-1.c: Likewise. + * gcc.target/powerpc/sse-pavgw-1.c: Likewise. + * gcc.target/powerpc/sse-pmaxsw-1.c: Likewise. + * gcc.target/powerpc/sse-pmaxub-1.c: Likewise. + * gcc.target/powerpc/sse-pminsw-1.c: Likewise. + * gcc.target/powerpc/sse-pminub-1.c: Likewise. + * gcc.target/powerpc/sse-pmulhuw-1.c: Likewise. + * gcc.target/powerpc/sse-psadbw-1.c: Likewise. + * gcc.target/powerpc/sse-rcpps-1.c: Likewise. + * gcc.target/powerpc/sse-rsqrtps-1.c: Likewise. + * gcc.target/powerpc/sse-shufps-1.c: Likewise. + * gcc.target/powerpc/sse-sqrtps-1.c: Likewise. + * gcc.target/powerpc/sse-subps-1.c: Likewise. + * gcc.target/powerpc/sse-subss-1.c: Likewise. + * gcc.target/powerpc/sse-ucomiss-1.c: Likewise. + * gcc.target/powerpc/sse-ucomiss-2.c: Likewise. + * gcc.target/powerpc/sse-ucomiss-3.c: Likewise. + * gcc.target/powerpc/sse-ucomiss-4.c: Likewise. + * gcc.target/powerpc/sse-ucomiss-5.c: Likewise. + * gcc.target/powerpc/sse-ucomiss-6.c: Likewise. + * gcc.target/powerpc/sse-unpckhps-1.c: Likewise. + * gcc.target/powerpc/sse-unpcklps-1.c: Likewise. + * gcc.target/powerpc/sse-xorps-1.c: Likewise. + * gcc.target/powerpc/sse2-addpd-1.c: Likewise. + * gcc.target/powerpc/sse2-addsd-1.c: Likewise. + * gcc.target/powerpc/sse2-andnpd-1.c: Likewise. + * gcc.target/powerpc/sse2-andpd-1.c: Likewise. + * gcc.target/powerpc/sse2-cmppd-1.c: Likewise. + * gcc.target/powerpc/sse2-cmpsd-1.c: Likewise. + * gcc.target/powerpc/sse2-comisd-1.c: Likewise. + * gcc.target/powerpc/sse2-comisd-2.c: Likewise. + * gcc.target/powerpc/sse2-comisd-3.c: Likewise. + * gcc.target/powerpc/sse2-comisd-4.c: Likewise. + * gcc.target/powerpc/sse2-comisd-5.c: Likewise. + * gcc.target/powerpc/sse2-comisd-6.c: Likewise. + * gcc.target/powerpc/sse2-cvtdq2pd-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtdq2ps-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtpd2dq-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtpd2ps-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtps2dq-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtps2pd-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtsd2si-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtsd2si-2.c: Likewise. + * gcc.target/powerpc/sse2-cvtsd2ss-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtsi2sd-1.c: Likewise. + * gcc.target/powerpc/sse2-cvtsi2sd-2.c: Likewise. + * gcc.target/powerpc/sse2-cvtss2sd-1.c: Likewise. + * gcc.target/powerpc/sse2-cvttpd2dq-1.c: Likewise. + * gcc.target/powerpc/sse2-cvttps2dq-1.c: Likewise. + * gcc.target/powerpc/sse2-cvttsd2si-1.c: Likewise. + * gcc.target/powerpc/sse2-cvttsd2si-2.c: Likewise. + * gcc.target/powerpc/sse2-divpd-1.c: Likewise. + * gcc.target/powerpc/sse2-divsd-1.c: Likewise. + * gcc.target/powerpc/sse2-maxpd-1.c: Likewise. + * gcc.target/powerpc/sse2-maxsd-1.c: Likewise. + * gcc.target/powerpc/sse2-minpd-1.c: Likewise. + * gcc.target/powerpc/sse2-minsd-1.c: Likewise. + * gcc.target/powerpc/sse2-mmx.c: Likewise. + * gcc.target/powerpc/sse2-movhpd-1.c: Likewise. + * gcc.target/powerpc/sse2-movhpd-2.c: Likewise. + * gcc.target/powerpc/sse2-movlpd-1.c: Likewise. + * gcc.target/powerpc/sse2-movlpd-2.c: Likewise. + * gcc.target/powerpc/sse2-movmskpd-1.c: Likewise. + * gcc.target/powerpc/sse2-movq-1.c: Likewise. + * gcc.target/powerpc/sse2-movq-2.c: Likewise. + * gcc.target/powerpc/sse2-movq-3.c: Likewise. + * gcc.target/powerpc/sse2-movsd-1.c: Likewise. + * gcc.target/powerpc/sse2-movsd-2.c: Likewise. + * gcc.target/powerpc/sse2-movsd-3.c: Likewise. + * gcc.target/powerpc/sse2-mulpd-1.c: Likewise. + * gcc.target/powerpc/sse2-mulsd-1.c: Likewise. + * gcc.target/powerpc/sse2-orpd-1.c: Likewise. + * gcc.target/powerpc/sse2-packssdw-1.c: Likewise. + * gcc.target/powerpc/sse2-packsswb-1.c: Likewise. + * gcc.target/powerpc/sse2-packuswb-1.c: Likewise. + * gcc.target/powerpc/sse2-paddb-1.c: Likewise. + * gcc.target/powerpc/sse2-paddd-1.c: Likewise. + * gcc.target/powerpc/sse2-paddq-1.c: Likewise. + * gcc.target/powerpc/sse2-paddsb-1.c: Likewise. + * gcc.target/powerpc/sse2-paddsw-1.c: Likewise. + * gcc.target/powerpc/sse2-paddusb-1.c: Likewise. + * gcc.target/powerpc/sse2-paddusw-1.c: Likewise. + * gcc.target/powerpc/sse2-paddw-1.c: Likewise. + * gcc.target/powerpc/sse2-pand-1.c: Likewise. + * gcc.target/powerpc/sse2-pandn-1.c: Likewise. + * gcc.target/powerpc/sse2-pavgb-1.c: Likewise. + * gcc.target/powerpc/sse2-pavgw-1.c: Likewise. + * gcc.target/powerpc/sse2-pcmpeqb-1.c: Likewise. + * gcc.target/powerpc/sse2-pcmpeqd-1.c: Likewise. + * gcc.target/powerpc/sse2-pcmpeqw-1.c: Likewise. + * gcc.target/powerpc/sse2-pcmpgtb-1.c: Likewise. + * gcc.target/powerpc/sse2-pcmpgtd-1.c: Likewise. + * gcc.target/powerpc/sse2-pcmpgtw-1.c: Likewise. + * gcc.target/powerpc/sse2-pextrw.c: Likewise. + * gcc.target/powerpc/sse2-pinsrw.c: Likewise. + * gcc.target/powerpc/sse2-pmaddwd-1.c: Likewise. + * gcc.target/powerpc/sse2-pmaxsw-1.c: Likewise. + * gcc.target/powerpc/sse2-pmaxub-1.c: Likewise. + * gcc.target/powerpc/sse2-pminsw-1.c: Likewise. + * gcc.target/powerpc/sse2-pminub-1.c: Likewise. + * gcc.target/powerpc/sse2-pmovmskb-1.c: Likewise. + * gcc.target/powerpc/sse2-pmulhuw-1.c: Likewise. + * gcc.target/powerpc/sse2-pmulhw-1.c: Likewise. + * gcc.target/powerpc/sse2-pmullw-1.c: Likewise. + * gcc.target/powerpc/sse2-pmuludq-1.c: Likewise. + * gcc.target/powerpc/sse2-por-1.c: Likewise. + * gcc.target/powerpc/sse2-psadbw-1.c: Likewise. + * gcc.target/powerpc/sse2-pshufd-1.c: Likewise. + * gcc.target/powerpc/sse2-pshufhw-1.c: Likewise. + * gcc.target/powerpc/sse2-pshuflw-1.c: Likewise. + * gcc.target/powerpc/sse2-pslld-1.c: Likewise. + * gcc.target/powerpc/sse2-pslld-2.c: Likewise. + * gcc.target/powerpc/sse2-pslldq-1.c: Likewise. + * gcc.target/powerpc/sse2-psllq-1.c: Likewise. + * gcc.target/powerpc/sse2-psllq-2.c: Likewise. + * gcc.target/powerpc/sse2-psllw-1.c: Likewise. + * gcc.target/powerpc/sse2-psllw-2.c: Likewise. + * gcc.target/powerpc/sse2-psrad-1.c: Likewise. + * gcc.target/powerpc/sse2-psrad-2.c: Likewise. + * gcc.target/powerpc/sse2-psraw-1.c: Likewise. + * gcc.target/powerpc/sse2-psraw-2.c: Likewise. + * gcc.target/powerpc/sse2-psrld-1.c: Likewise. + * gcc.target/powerpc/sse2-psrld-2.c: Likewise. + * gcc.target/powerpc/sse2-psrldq-1.c: Likewise. + * gcc.target/powerpc/sse2-psrlq-1.c: Likewise. + * gcc.target/powerpc/sse2-psrlq-2.c: Likewise. + * gcc.target/powerpc/sse2-psrlw-1.c: Likewise. + * gcc.target/powerpc/sse2-psrlw-2.c: Likewise. + * gcc.target/powerpc/sse2-psubb-1.c: Likewise. + * gcc.target/powerpc/sse2-psubd-1.c: Likewise. + * gcc.target/powerpc/sse2-psubq-1.c: Likewise. + * gcc.target/powerpc/sse2-psubsb-1.c: Likewise. + * gcc.target/powerpc/sse2-psubsw-1.c: Likewise. + * gcc.target/powerpc/sse2-psubusb-1.c: Likewise. + * gcc.target/powerpc/sse2-psubusw-1.c: Likewise. + * gcc.target/powerpc/sse2-psubw-1.c: Likewise. + * gcc.target/powerpc/sse2-punpckhbw-1.c: Likewise. + * gcc.target/powerpc/sse2-punpckhdq-1.c: Likewise. + * gcc.target/powerpc/sse2-punpckhqdq-1.c: Likewise. + * gcc.target/powerpc/sse2-punpckhwd-1.c: Likewise. + * gcc.target/powerpc/sse2-punpcklbw-1.c: Likewise. + * gcc.target/powerpc/sse2-punpckldq-1.c: Likewise. + * gcc.target/powerpc/sse2-punpcklqdq-1.c: Likewise. + * gcc.target/powerpc/sse2-punpcklwd-1.c: Likewise. + * gcc.target/powerpc/sse2-pxor-1.c: Likewise. + * gcc.target/powerpc/sse2-shufpd-1.c: Likewise. + * gcc.target/powerpc/sse2-sqrtpd-1.c: Likewise. + * gcc.target/powerpc/sse2-subpd-1.c: Likewise. + * gcc.target/powerpc/sse2-subsd-1.c: Likewise. + * gcc.target/powerpc/sse2-ucomisd-1.c: Likewise. + * gcc.target/powerpc/sse2-ucomisd-2.c: Likewise. + * gcc.target/powerpc/sse2-ucomisd-3.c: Likewise. + * gcc.target/powerpc/sse2-ucomisd-4.c: Likewise. + * gcc.target/powerpc/sse2-ucomisd-5.c: Likewise. + * gcc.target/powerpc/sse2-ucomisd-6.c: Likewise. + * gcc.target/powerpc/sse2-unpckhpd-1.c: Likewise. + * gcc.target/powerpc/sse2-unpcklpd-1.c: Likewise. + * gcc.target/powerpc/sse2-xorpd-1.c: Likewise. + * gcc.target/powerpc/sse3-addsubpd.c: Likewise. + * gcc.target/powerpc/sse3-addsubps.c: Likewise. + * gcc.target/powerpc/sse3-haddpd.c: Likewise. + * gcc.target/powerpc/sse3-haddps.c: Likewise. + * gcc.target/powerpc/sse3-hsubpd.c: Likewise. + * gcc.target/powerpc/sse3-hsubps.c: Likewise. + * gcc.target/powerpc/sse3-lddqu.c: Likewise. + * gcc.target/powerpc/sse3-movddup.c: Likewise. + * gcc.target/powerpc/sse3-movshdup.c: Likewise. + * gcc.target/powerpc/sse3-movsldup.c: Likewise. + * gcc.target/powerpc/sse4_1-blendpd.c: Likewise. + * gcc.target/powerpc/sse4_1-blendps-2.c: Likewise. + * gcc.target/powerpc/sse4_1-blendps.c: Likewise. + * gcc.target/powerpc/sse4_1-blendvpd.c: Likewise. + * gcc.target/powerpc/sse4_1-blendvps.c: Likewise. + * gcc.target/powerpc/sse4_1-ceilpd.c: Likewise. + * gcc.target/powerpc/sse4_1-ceilps.c: Likewise. + * gcc.target/powerpc/sse4_1-ceilsd.c: Likewise. + * gcc.target/powerpc/sse4_1-ceilss.c: Likewise. + * gcc.target/powerpc/sse4_1-floorpd.c: Likewise. + * gcc.target/powerpc/sse4_1-floorps.c: Likewise. + * gcc.target/powerpc/sse4_1-floorsd.c: Likewise. + * gcc.target/powerpc/sse4_1-floorss.c: Likewise. + * gcc.target/powerpc/sse4_1-pblendvb.c: Likewise. + * gcc.target/powerpc/sse4_1-pblendw-2.c: Likewise. + * gcc.target/powerpc/sse4_1-pblendw.c: Likewise. + * gcc.target/powerpc/sse4_1-pcmpeqq.c: Likewise. + * gcc.target/powerpc/sse4_1-pinsrb.c: Likewise. + * gcc.target/powerpc/sse4_1-pinsrd.c: Likewise. + * gcc.target/powerpc/sse4_1-pinsrq.c: Likewise. + * gcc.target/powerpc/sse4_1-pmovsxbq.c: Likewise. + * gcc.target/powerpc/sse4_1-pmovsxdq.c: Likewise. + * gcc.target/powerpc/sse4_1-pmovsxwq.c: Likewise. + * gcc.target/powerpc/sse4_1-pmuldq.c: Likewise. + * gcc.target/powerpc/sse4_1-ptest-1.c: Likewise. + * gcc.target/powerpc/sse4_1-roundpd-2.c: Likewise. + * gcc.target/powerpc/sse4_1-roundpd-3.c: Likewise. + * gcc.target/powerpc/sse4_2-pcmpgtq.c: Likewise. + * gcc.target/powerpc/ssse3-pabsb.c: Likewise. + * gcc.target/powerpc/ssse3-pabsd.c: Likewise. + * gcc.target/powerpc/ssse3-pabsw.c: Likewise. + * gcc.target/powerpc/ssse3-palignr.c: Likewise. + * gcc.target/powerpc/ssse3-phaddd.c: Likewise. + * gcc.target/powerpc/ssse3-phaddsw.c: Likewise. + * gcc.target/powerpc/ssse3-phaddw.c: Likewise. + * gcc.target/powerpc/ssse3-phsubd.c: Likewise. + * gcc.target/powerpc/ssse3-phsubsw.c: Likewise. + * gcc.target/powerpc/ssse3-phsubw.c: Likewise. + * gcc.target/powerpc/ssse3-pmaddubsw.c: Likewise. + * gcc.target/powerpc/ssse3-pmulhrsw.c: Likewise. + * gcc.target/powerpc/ssse3-pshufb.c: Likewise. + * gcc.target/powerpc/ssse3-psignb.c: Likewise. + * gcc.target/powerpc/ssse3-psignd.c: Likewise. + * gcc.target/powerpc/ssse3-psignw.c: Likewise. + * gcc.target/powerpc/vec-cmp-sel.c: Likewise. + * gcc.target/powerpc/vec-sld-modulo.c: Likewise. + * gcc.target/powerpc/vec-srad-modulo.c: Likewise. + * gcc.target/powerpc/vec-srd-modulo.c: Likewise. + * gcc.target/powerpc/amo1.c: Replace powerpc_p9vector_ok with + powerpc_vsx_ok, replace -mpower9-vector with -mvsx, and add + dg-additional-options -mdejagnu-cpu=power9 if !has_arch_pwr9. + * gcc.target/powerpc/amo2.c: Likewise. + * gcc.target/powerpc/dform-1.c: Likewise. + * gcc.target/powerpc/dform-2.c: Likewise. + * gcc.target/powerpc/float128-5.c: Likewise. + * gcc.target/powerpc/float128-complex-2.c: Likewise. + * gcc.target/powerpc/float128-fma1.c: Likewise. + * gcc.target/powerpc/float128-hw.c: Likewise. + * gcc.target/powerpc/float128-hw10.c: Likewise. + * gcc.target/powerpc/float128-hw11.c: Likewise. + * gcc.target/powerpc/float128-hw2.c: Likewise. + * gcc.target/powerpc/float128-hw3.c: Likewise. + * gcc.target/powerpc/float128-hw4.c: Likewise. + * gcc.target/powerpc/float128-hw5.c: Likewise. + * gcc.target/powerpc/float128-hw6.c: Likewise. + * gcc.target/powerpc/float128-hw7.c: Likewise. + * gcc.target/powerpc/float128-hw8.c: Likewise. + * gcc.target/powerpc/float128-hw9.c: Likewise. + * gcc.target/powerpc/float128-minmax.c: Likewise. + * gcc.target/powerpc/float128-odd.c: Likewise. + * gcc.target/powerpc/float128-sqrt1.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-int.p9.c: Likewise. + * gcc.target/powerpc/gnuattr2.c: Likewise. + * gcc.target/powerpc/pr71656-1.c: Likewise. + * gcc.target/powerpc/pr71656-2.c: Likewise. + * gcc.target/powerpc/pr81959.c: Likewise. + * gcc.target/powerpc/pr82748-1.c: Likewise. + * gcc.target/powerpc/pr82748-2.c: Likewise. + * gcc.target/powerpc/pr111449-2.c: Replace powerpc_p8vector_ok + with powerpc_vsx_ok. + * gcc.target/powerpc/pr98914.c: Likewise. + * gcc.target/powerpc/versioned-copy-loop.c: Replace + powerpc_p8vector_ok with powerpc_vsx_ok and append -mvsx to + dg-options. + * gcc.target/powerpc/clone2.c: Replace powerpc_p9vector_ok with + powerpc_vsx_ok. + * gcc.target/powerpc/p9-options-1.c: Replace powerpc_p9vector_ok + with powerpc_vsx_ok, replace -mno-power9-vector with -mno-vsx. + * gcc.target/powerpc/pr84226.c: Replace powerpc_p9vector_ok with + powerpc_vsx_ok and append -mvsx to dg-options. + * g++.dg/pr69667.C: Replace powerpc_p8vector_ok with + powerpc_vsx_ok and append -mvsx to dg-options. + * gcc.dg/vect/costmodel/ppc/costmodel-slp-perm.c: Replace + powerpc_p9vector_ok with powerpc_vsx_ok and replace + -mpower9-vector with -mvsx. + * gcc.dg/vect/pr109011-1.c: Replace powerpc_p8vector_ok with + powerpc_vsx_ok, and replace -mpower8-vector with + -mdejagnu-cpu=power8 -mvsx or -mvsx under different conditions. + * gcc.dg/vect/pr109011-2.c: Replace powerpc_p9vector_ok + with powerpc_vsx_ok, and replace -mpower9-vector with + -mdejagnu-cpu=power9 -mvsx or -mvsx under different conditions. + * gcc.dg/vect/pr109011-4.c: Likewise. + * gcc.dg/vect/pr109011-3.c: Replace powerpc_p8vector_ok with + powerpc_vsx_ok, and replace -mpower8-vector -mno-power9-vector + with -mdejagnu-cpu=power8 -mvsx. + * gcc.dg/vect/pr109011-5.c: Likewise. + * gcc.target/powerpc/altivec-35.c: Remove -mno-power8-vector. + * gcc.target/powerpc/vsx-vector-7.c: Replace -mno-power8-vector + with -mdejagnu-cpu=power7. + * gcc.dg/vect/O3-pr70130.c: Replace -mcpu=power7 with options + -mdejagnu-cpu=power7 -mvsx and remove option -mno-power9-vector + -mno-power8-vector. + * gfortran.dg/vect/pr45714-b.f: Likewise. + * gcc.dg/vect/pr48765.c: Remove dg-skip-if and replace -mcpu=power7 + with option -mdejagnu-cpu=power6. + * gcc.target/powerpc/pr78056-2.c: Likewise. + * gcc.target/powerpc/altivec-2-runnable.c: Replace + powerpc_p8vector_ok with powerpc_vsx_ok, remove -mpower8-vector + and add dg-additional-options -mdejagnu-cpu=power8 if !has_arch_pwr8. + * gcc.target/powerpc/altivec-37.c: Likewise. + * gcc.target/powerpc/fold-vec-abs-longlong-fwrapv.p8.c: Replace + powerpc_p8vector_ok with powerpc_vsx_ok and replace -mpower8-vector + with -mvsx. + * gcc.target/powerpc/fold-vec-abs-longlong.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-char.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-int.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-cmp-short.p8.c: Likewise. + * gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: Likewise. + * gcc.target/powerpc/fold-vec-mergeeo-int.c: Likewise. + * gcc.target/powerpc/fold-vec-mergeeo-longlong.c: Likewise. + * gcc.target/powerpc/fold-vec-mult-int128-p8.c: Likewise. + * gcc.target/powerpc/fold-vec-neg-longlong.p8.c: Likewise. + * gcc.target/powerpc/pr104124.c: Likewise. + * gcc.target/powerpc/vec-cmpne-long.c: Likewise. + * gcc.target/powerpc/pr86731-fwrapv-longlong.c: Replace + powerpc_p8vector_ok with powerpc_vsx_ok, replace -mpower8-vector with + -mvsx and add dg-additional-options -mdejagnu-cpu=power8 if + !has_arch_pwr8. + * gcc.target/powerpc/pr80098-1.c: Replace powerpc_p9vector_ok with + powerpc_vsx_ok and replace -mno-power9-vector with -mno-vsx. + * gcc.target/powerpc/pr80098-2.c: Replace powerpc_p8vector_ok with + powerpc_vsx_ok and replace -mno-power8-vector with -mno-vsx. + * gcc.target/powerpc/pragma_misc9.c: Replace powerpc_p9vector_ok + with powerpc_vsx_ok. + +2024-02-22 Pan Li <pan2.li@intel.com> + + PR target/114017 + * gcc.target/riscv/predef-__riscv_v_intrinsic.c: Update the + version to 0.12. + * gcc.target/riscv/rvv/base/pr114017-1.c: New test. + +2024-02-22 Fangrui Song <maskray@gcc.gnu.org> + + * gcc.target/riscv/asm-raw-symbol.c: New test. + +2024-02-21 Edwin Lu <ewlu@rivosinc.com> + + PR target/113249 + * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: + Rearrange and adjust asm-checker times + * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: Ditto + * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-12.c: + Rearrange assembly + * 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-19.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-35.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-44.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: Ditto + * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: Ditto + * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: Change expected vsetvl + +2024-02-21 Edwin Lu <ewlu@rivosinc.com> + + PR target/113249 + * g++.target/riscv/rvv/base/bug-1.C: Use default scheduling + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-12.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-19.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-35.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-44.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: Ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: Ditto + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-1.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-2.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-3.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-4.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-5.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-6.c: Ditto + * gcc.target/riscv/rvv/base/pr108185-7.c: Ditto + * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: Ditto + * gcc.target/riscv/rvv/vsetvl/pr111037-3.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-32.c: Ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: Ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: Ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: Ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.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-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 + * gfortran.dg/vect/vect-8.f90: Ditto + +2024-02-21 Edwin Lu <ewlu@rivosinc.com> + + PR target/113742 + * gcc.target/riscv/pr113742.c: change mcpu to mtune and add march + +2024-02-21 David Faust <david.faust@oracle.com> + + * gcc.target/bpf/memcpy-1.c: New test. + * gcc.target/bpf/memmove-1.c: New test. + * gcc.target/bpf/memmove-2.c: New test. + +2024-02-21 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/114026 + * gm2/extensions/run/pass/callingc10.mod: New test. + * gm2/extensions/run/pass/callingc11.mod: New test. + * gm2/extensions/run/pass/callingc9.mod: New test. + * gm2/extensions/run/pass/strconst.def: New test. + * gm2/pim/fail/forloop.mod: New test. + * gm2/pim/pass/forloop2.mod: New test. + +2024-02-21 0xn4utilus <gyanendrabanjare8@gmail.com> + + * rust/compile/issue-2850.rs: New test. + +2024-02-21 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/issue-2847-b.rs: New test. + +2024-02-21 Marc Poulhiès <dkm@kataplop.net> + + * rust/compile/torture/intrinsics-math.rs: Adjust pow test, add + test for powi. + +2024-02-21 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/rustc_const_stable.rs: New test. + +2024-02-21 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/use_2.rs: New test. + +2024-02-21 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/execute/torture/matches_macro.rs: New test. + +2024-02-21 Tamar Christina <tamar.christina@arm.com> + + * g++.target/aarch64/acle/ls64.C: Add +ls64. + * g++.target/aarch64/acle/ls64_lto.C: Likewise. + * gcc.target/aarch64/acle/ls64_lto.c: Likewise. + * gcc.target/aarch64/acle/pr110100.c: Likewise. + * gcc.target/aarch64/acle/pr110132.c: Likewise. + * gcc.target/aarch64/options_set_28.c: Drop check for nols64. + * gcc.target/aarch64/pragma_cpp_predefs_2.c: Correct header checks. + +2024-02-21 Tamar Christina <tamar.christina@arm.com> + + PR fortran/107071 + * gfortran.dg/ieee/modes_1.f90: skip aarch64, arm. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme/locally_streaming_1_ts.c: New test. + * gcc.target/aarch64/sme/sibcall_7_ts.c: Likewise. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme/sibcall_9.c: New test. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme/zt0_state_5.c (test3): Expect ZT0 rather + than ZA to be zeroed. + (test5): Remove zeroing of ZA. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + * gcc.target/aarch64/sme/zt0_state_5.c (test3, test5): Expect + zero { za }s. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113995 + * gcc.target/aarch64/sme/locally_streaming_1.c: Require + -fno-stack-clash-protection. + * gcc.target/aarch64/sme/locally_streaming_1_scp.c: New test. + +2024-02-21 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113220 + * gcc.target/aarch64/sme/call_sm_switch_5.c: Add + -fno-stack-clash-protection. + * gcc.target/aarch64/sme/call_sm_switch_5_scp.c: New test. + * gcc.target/aarch64/sme/sibcall_6_scp.c: New test. + * gcc.target/aarch64/sme/za_state_4.c: Add + -fno-stack-clash-protection. + * gcc.target/aarch64/sme/za_state_4_scp.c: New test. + * gcc.target/aarch64/sme/za_state_5.c: Add + -fno-stack-clash-protection. + * gcc.target/aarch64/sme/za_state_5_scp.c: New test. + +2024-02-21 Ilya Leoshkevich <iii@linux.ibm.com> + + * gcc.target/s390/zvector/autovec-double-signaling-eq.c: + Preserve exceptions. + * gcc.target/s390/zvector/autovec-float-signaling-eq.c: + Likewise. + +2024-02-21 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/113999 + * c-c++-common/analyzer/strlen-pr113999.c: New test. + * gcc.dg/analyzer/strlen-1.c: More test coverage. + +2024-02-21 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/113998 + * c-c++-common/analyzer/overlapping-buffers-pr113998.c: New test. + +2024-02-20 Peter Hill <peter.hill@york.ac.uk> + + PR fortran/105658 + * gfortran.dg/PR105658.f90: New test. + +2024-02-20 Peter Bergner <bergner@linux.ibm.com> + + PR target/112103 + * gcc.target/powerpc/rlwinm-0.c: Adjust expected instruction counts. + +2024-02-20 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113805 + * gcc.target/aarch64/sme/call_sm_switch_11.c: New test. + +2024-02-20 Jakub Jelinek <jakub@redhat.com> + + PR analyzer/113983 + * gcc.dg/analyzer/torture/vector-extract-1.c: Add -Wno-psabi as + dg-additional-options. + +2024-02-20 liuhongt <hongtao.liu@intel.com> + + PR target/113711 + * gcc.target/i386/apx-ndd-x32-1.c: Adjust testcase. + +2024-02-19 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/111289 + * c-c++-common/analyzer/stdarg-pr111289-int.c: New test. + * c-c++-common/analyzer/stdarg-pr111289-ptr.c: New test. + +2024-02-19 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/110520 + * c-c++-common/analyzer/null-deref-pr110520.c: New test. + +2024-02-19 Andrew Pinski <quic_apinski@quicinc.com> + + PR analyzer/113983 + * gcc.dg/analyzer/torture/vector-extract-1.c: New test. + +2024-02-19 Patrick Palka <ppalka@redhat.com> + + PR c++/113966 + * g++.dg/cpp2a/concepts-friend17.C: New test. + +2024-02-19 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com> + + * gcc.dg/bitint-86.c (__seg_gs): Replace with SEG MACRO. + +2024-02-19 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/113889 + * gm2/pim/run/pass/pim-run-pass.exp: Add filter for + constdef.mod. + * gm2/extensions/run/pass/callingc2.mod: New test. + * gm2/extensions/run/pass/callingc3.mod: New test. + * gm2/extensions/run/pass/callingc4.mod: New test. + * gm2/extensions/run/pass/callingc5.mod: New test. + * gm2/extensions/run/pass/callingc6.mod: New test. + * gm2/extensions/run/pass/callingc7.mod: New test. + * gm2/extensions/run/pass/callingc8.mod: New test. + * gm2/extensions/run/pass/fixedarray.mod: New test. + * gm2/extensions/run/pass/fixedarray2.mod: New test. + * gm2/pim/run/pass/constdef.def: New test. + * gm2/pim/run/pass/constdef.mod: New test. + * gm2/pim/run/pass/testimportconst.mod: New test. + +2024-02-19 Iain Buclaw <ibuclaw@gdcproject.org> + + * gdc.dg/bom_UTF16BE.d: New test. + * gdc.dg/bom_UTF16LE.d: New test. + * gdc.dg/bom_UTF32BE.d: New test. + * gdc.dg/bom_UTF32LE.d: New test. + * gdc.dg/bom_UTF8.d: New test. + * gdc.dg/bom_characters.d: New test. + * gdc.dg/bom_error_UTF8.d: New test. + * gdc.dg/bom_infer_UTF16BE.d: New test. + * gdc.dg/bom_infer_UTF16LE.d: New test. + * gdc.dg/bom_infer_UTF32BE.d: New test. + * gdc.dg/bom_infer_UTF32LE.d: New test. + * gdc.dg/bom_infer_UTF8.d: New test. + +2024-02-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113967 + * gcc.dg/pr113967.c: New test. + +2024-02-19 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113696 + * gcc.target/riscv/rvv/vsetvl/pr113696.c: New test. + +2024-02-18 H.J. Lu <hjl.tools@gmail.com> + + PR target/113912 + * gcc.target/i386/apx-push2pop2-2.c: New test. + +2024-02-18 Dimitar Dimitrov <dimitar@dinux.eu> + + PR middle-end/112344 + * gcc.dg/torture/pr112344.c: Run non-optimized variants only + if expensive tests are allowed. + +2024-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105473 + * gfortran.dg/pr105473.f90: New test. + +2024-02-17 Jakub Jelinek <jakub@redhat.com> + + PR fortran/113503 + * gfortran.dg/pr113503_1.f90: New test. + * gfortran.dg/pr113503_2.f90: New test. + +2024-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/107068 + * gfortran.dg/pr107068.f90: New test. + +2024-02-17 Marek Polacek <polacek@redhat.com> + + PR c++/113158 + * g++.dg/cpp0x/noexcept83.C: New test. + +2024-02-17 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113911 + * gfortran.dg/allocatable_length_2.f90: New test. + * gfortran.dg/bind_c_optional-2.f90: Enable deferred-length test. + +2024-02-17 Jakub Jelinek <jakub@redhat.com> + + * lib/target-supports.exp (check_effective_target_lra): Rewrite + to list some heavily used always LRA targets and otherwise check the + -fdump-rtl-reload-details dump for messages specific to LRA. + +2024-02-16 Andrew Pinski <quic_apinski@quicinc.com> + + * g++.dg/torture/vector-struct-1.C: Add -Wstrict-aliasing. + +2024-02-16 Marek Polacek <polacek@redhat.com> + + DR 1351 + * g++.dg/cpp0x/noexcept82.C: New test. + +2024-02-16 Andrew Pinski <quic_apinski@quicinc.com> + + PR c++/97990 + * g++.dg/torture/vector-struct-1.C: New test. + +2024-02-16 Edwin Lu <ewlu@rivosinc.com> + + * lib/scanasm.exp: add scan-assembler-bound + +2024-02-16 Patrick Palka <ppalka@redhat.com> + + PR c++/111682 + * g++.dg/cpp1y/var-templ86.C: New test. + +2024-02-16 Marek Polacek <polacek@redhat.com> + + PR c++/113789 + PR c++/113853 + * g++.dg/cpp0x/sfinae69.C: Remove dg-bogus. + * g++.dg/cpp0x/sfinae70.C: New test. + * g++.dg/cpp0x/sfinae71.C: New test. + * g++.dg/cpp0x/sfinae72.C: New test. + * g++.dg/cpp2a/implicit-move4.C: New test. + +2024-02-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/113929 + * g++.dg/parse/pr113929.C: New test. + +2024-02-16 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113895 + * gcc.dg/torture/pr113895-2.c: New testcase. + * gcc.dg/torture/pr113895-3.c: Likewise. + * gcc.dg/torture/pr113895-4.c: Likewise. + +2024-02-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR ipa/98237 + * lib/target-supports.exp (is-effective-target): Handle + linker_plugin. + * gcc.dg/lto/modref-3_0.c: Require linker_plugin support. + * gcc.dg/lto/modref-4_0.c: Likewise. + +2024-02-16 Tejas Belagod <tejas.belagod@arm.com> + + PR target/113780 + * lib/target-supports.exp (v8_1m_main_pacbti): Add __ARM_FEATURE_PAUTH. + * gcc.target/arm/pac-sibcall.c: New. + +2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com> + + * gfortran.dg/gomp/declare-target-4.f90 (f1): Update expected warning. + * gfortran.dg/gomp/declare-target-indirect-1.f90: New. + * gfortran.dg/gomp/declare-target-indirect-2.f90: New. + +2024-02-15 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/111266 + * c-c++-common/analyzer/out-of-bounds-pr111266.c: New test. + +2024-02-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/107385 + * gcc.dg/pr107385.c: Require lra effective target. + +2024-02-15 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.target/aarch64/vect_ctz_1.c (TEST): Use g form of the builtin and pass 32 + as the value expected at 0. + +2024-02-15 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + PR testsuite/113278 + * c-c++-common/analyzer/fileno-1.c: Define _POSIX_SOURCE. + * c-c++-common/analyzer/flex-with-call-summaries.c: Same. + * c-c++-common/analyzer/flex-without-call-summaries.c: Same. + +2024-02-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/107385 + * gcc.dg/pr107385.c: New test. + +2024-02-15 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113921 + * gcc.target/i386/pr113921.c: New test. + +2024-02-15 Matthieu Longo <matthieu.longo@arm.com> + + * gcc.target/arm/rev16_2.c: XFAIL when compiled with Thumb1. + +2024-02-15 Jakub Jelinek <jakub@redhat.com> + + * rust/compile/issue-1773.rs.bak: Rename to ... + * rust/compile/issue-1773.rs: ... this. Add dg-skip-if directive. + +2024-02-15 Martin Jambor <mjambor@suse.cz> + + * gcc.dg/guality/ipa-sra-1.c (get_val1): Move up in the file. + (get_val2): Likewise. + (bar): Do not return a constant. Extend xfail exception for all + targets. + +2024-02-15 Andreas Schwab <schwab@suse.de> + + * gnat.dg/div_zero.adb: Skip on RISC-V. + +2024-02-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113567 + * gcc.dg/bitint-90.c: New test. + +2024-02-14 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/105847 + * gfortran.dg/pr105847.f90: New test. + +2024-02-14 Uros Bizjak <ubizjak@gmail.com> + + * gcc.dg/vect/pr113576.c (dg-additional-options): + Use -march=skylake-avx512 for avx512f effective target. + * gcc.dg/vect/pr98308.c (dg-additional-options): + Use -march=skylake-avx512 for all x86 targets. + * gcc.dg/vect/tree-vect.h (check_vect): Handle __AVX512F__ + and __AVX512VL__. + +2024-02-14 Jakub Jelinek <jakub@redhat.com> + H.J. Lu <hjl.tools@gmail.com> + + PR target/113855 + * gcc.dg/heap-trampoline-1.c: New test. + * lib/target-supports.exp (check_effective_target_heap_trampoline): + New. + +2024-02-14 Uros Bizjak <ubizjak@gmail.com> + + PR target/113871 + * gcc.target/i386/pr113871-1a.c: New test. + * gcc.target/i386/pr113871-1b.c: New test. + * gcc.target/i386/pr113871-2a.c: New test. + * gcc.target/i386/pr113871-2b.c: New test. + * gcc.target/i386/pr113871-3a.c: New test. + * gcc.target/i386/pr113871-3b.c: New test. + * gcc.target/i386/pr113871-4a.c: New test. + +2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113708 + * g++.dg/debug/dwarf2/inline-var-1.C: Reference 'a' to ensure it + is emitted. + * g++.dg/debug/dwarf2/inline-var-3.C: Likewise. + * g++.dg/modules/init-7_a.H: New test. + * g++.dg/modules/init-7_b.C: New test. + +2024-02-14 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/113861 + * c-c++-common/gomp/pr63328.c: Remove dg-excess-errors. + * gcc.dg/gomp/pr87895-2.c: Likewise. + +2024-02-14 Jan Hubicka <jh@suse.cz> + + PR tree-optimization/111054 + * gcc.c-torture/compile/pr111054.c: New test. + +2024-02-14 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vect/vect-novect_gcond.c: New test. + +2024-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/99210 + * gfortran.dg/pr99210.f90: New test. + +2024-02-14 Jonathan Yong <10walls@gmail.com> + + * c-c++-common/analyzer/coreutils-sum-pr108666.c: Use + __SIZE_TYPE__ instead of long unsigned int for size_t + definition. + +2024-02-14 Patrick Palka <ppalka@redhat.com> + + PR c++/113908 + PR c++/113332 + * g++.dg/cpp0x/lambda/lambda-nsdmi11.C: New test. + * g++.dg/template/non-dependent31.C: New test. + +2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR d/104739 + * lib/gdc-utils.exp (gdc-convert-test) <UNICODE_NAMES>: Require + ucn support. + +2024-02-14 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/113899 + * gcc.dg/vect/vect-simd-clone-10.c: Add `dg-do run` + * gcc.dg/vect/vect-simd-clone-12.c: Likewise. + +2024-02-14 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/format/gcc_diag-1.c (foo): Add tests for z and t modifiers. + * gcc.dg/format/gcc_gfc-1.c (foo): Add tests for ll, z and t modifiers. + +2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/99573 + * g++.dg/modules/enum-12.C: New test. + +2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/113909 + * gcc.target/i386/pr113689-1.c: Skip on Solaris. + * gcc.target/i386/pr113689-2.c: Likewise. + * gcc.target/i386/pr113689-3.c: Likewise. + +2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gfortran.dg/fmt_en.f90 (dg-output): Don't xfail on + ?86-*-solaris2.9*. + * gfortran.dg/fmt_en_rd.f90: Likewise. + * gfortran.dg/fmt_en_rn.f90: Likewise. + * gfortran.dg/fmt_en_ru.f90: Likewise. + * gfortran.dg/fmt_en_rz.f90: Likewise. + +2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR c++/113706 + * c-c++-common/pr103798-2.c (scan-assembler-not): xfail for C++ on + Solaris. + +2024-02-13 Marek Polacek <polacek@redhat.com> + + DR 1693 + PR c++/113760 + * g++.dg/semicolon-fixits.C: Run in C++98 only. + * g++.dg/warn/pedantic2.C: Adjust dg-warning. + * g++.old-deja/g++.jason/parse11.C: Adjust dg-error. + * g++.dg/DRs/dr1693-1.C: New test. + * g++.dg/DRs/dr1693-2.C: New test. + +2024-02-13 H.J. Lu <hjl.tools@gmail.com> + + PR target/113876 + * gcc.target/i386/pr113876.c: New test. + +2024-02-13 Tobias Burnus <tburnus@baylibre.com> + + PR middle-end/113904 + * gfortran.dg/gomp/declare-variant-1.f90: Change 'condition' trait's + argument from integer to a logical expression. + * gfortran.dg/gomp/declare-variant-11.f90: Likewise. + * gfortran.dg/gomp/declare-variant-12.f90: Likewise. + * gfortran.dg/gomp/declare-variant-13.f90: Likewise. + * gfortran.dg/gomp/declare-variant-2.f90: Likewise. + * gfortran.dg/gomp/declare-variant-2a.f90: Likewise. + * gfortran.dg/gomp/declare-variant-3.f90: Likewise. + * gfortran.dg/gomp/declare-variant-4.f90: Likewise. + * gfortran.dg/gomp/declare-variant-6.f90: Likewise. + * gfortran.dg/gomp/declare-variant-8.f90: Likewise. + * gfortran.dg/gomp/declare-variant-20.f90: New test. + +2024-02-13 Patrick Palka <ppalka@redhat.com> + + * g++.dg/modules/friend-6_a.C: New test. + * g++.dg/modules/using-enum-3_a.C: New test. + * g++.dg/modules/using-enum-3_b.C: New test. + +2024-02-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113866 + * gfortran.dg/bind_c_optional-2.f90: New test. + +2024-02-13 Jason Merrill <jason@redhat.com> + + PR c++/113612 + * g++.dg/cpp1y/var-templ85.C: New test. + +2024-02-13 Monk Chiang <monk.chiang@sifive.com> + + * gcc.target/riscv/pr113742.c: New test. + +2024-02-13 Marek Polacek <polacek@redhat.com> + + PR c++/112436 + * g++.dg/cpp2a/concepts-pr112436.C: New test. + +2024-02-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113896 + * g++.dg/torture/pr113896.C: New testcase. + +2024-02-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113895 + * gcc.dg/torture/pr113895-1.c: New testcase. + +2024-02-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113902 + * gcc.dg/vect/pr113902.c: New testcase. + +2024-02-13 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113734 + * gcc.dg/vect/vect-early-break_117-pr113734.c: New test. + +2024-02-13 Alex Coplan <alex.coplan@arm.com> + + PR c++/113658 + * g++.dg/ext/has-feature2.C: New test. + +2024-02-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113898 + * gcc.dg/torture/pr113898.c: New testcase. + +2024-02-13 Steve Kargl <kargl@gcc.gnu.org> + + PR fortran/113883 + * gfortran.dg/allocatable_length.f90: New test. + +2024-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + * gfortran.dg/pr109358.f90: New test. + +2024-02-12 Marek Polacek <polacek@redhat.com> + + PR c++/113545 + * g++.dg/cpp1y/constexpr-reinterpret3.C: Remove dg-ice. + +2024-02-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113849 + * gcc.dg/torture/bitint-58.c: New test. + +2024-02-12 Jakub Jelinek <jakub@redhat.com> + + PR c++/113674 + * c-c++-common/Wattributes-3.c: New test. + +2024-02-12 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/pr113693.c: Guard _BitInt(837) use with + __BITINT_MAXWIDTH__ >= 837. Use dg-prune-output instead of + dg-message for dbgcnt message. + +2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/113125 + * gdc.dg/imports/pr113125.d: New test. + * gdc.dg/pr113125.d: New test. + +2024-02-12 Iain Buclaw <ibuclaw@gdcproject.org> + + PR d/113758 + * gdc.dg/torture/pr113758.d: New test. + +2024-02-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113831 + PR tree-optimization/108355 + * gcc.dg/torture/pr113831.c: New testcase. + * gcc.dg/tree-ssa/ssa-fre-104.c: Likewise. + +2024-02-12 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/base/pr113766-1.c: Adjust the test cases. + +2024-02-12 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113863 + * gcc.dg/vect/pr113863.c: New testcase. + +2024-02-11 John David Anglin <danglin@gcc.gnu.org> + + * gcc.c-torture/execute/ieee/cdivchkf.c: Use ilogb and + __builtin_fmax instead of ilogbf and __builtin_fmaxf. + +2024-02-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gcc.target/i386/asm-raw-symbol.c: Adjust asm patterns. + +2024-02-11 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.target/arm/pr97969.c: Update to comply with GCC14 changes. + +2024-02-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gcc.target/i386/pr113689-1.c: Skip test on darwin. + * gcc.target/i386/pr113689-2.c: Likewise. + * gcc.target/i386/pr113689-3.c: Likewise. + +2024-02-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gcc.dg/ssp-2.c: Ignore warning that + -multiply_defined is obsolete + +2024-02-10 Marek Polacek <polacek@redhat.com> + + DR 2237 + PR c++/107126 + PR c++/97202 + * g++.dg/DRs/dr2237.C: Adjust dg-error. + * g++.dg/parse/constructor2.C: Likewise. + * g++.dg/template/error34.C: Likewise. + * g++.old-deja/g++.pt/ctor2.C: Likewise. + * g++.dg/DRs/dr2237-2.C: New test. + * g++.dg/DRs/dr2237-3.C: New test. + * g++.dg/DRs/dr2237-4.C: New test. + * g++.dg/DRs/dr2237-5.C: New test. + * g++.dg/warn/Wtemplate-id-cdtor-1.C: New test. + * g++.dg/warn/Wtemplate-id-cdtor-2.C: New test. + * g++.dg/warn/Wtemplate-id-cdtor-3.C: New test. + * g++.dg/warn/Wtemplate-id-cdtor-4.C: New test. + +2024-02-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gcc.dg/darwin-ld-2.c: Ignore warning + that -bind_at_load is deprecated. + +2024-02-10 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/110754 + * gcc.dg/attr-assume-6.c: New test. + * g++.dg/cpp23/attr-assume12.C: New test. + +2024-02-10 Hans-Peter Nilsson <hp@axis.com> + + PR c++/113545 + * g++.dg/cpp1y/constexpr-reinterpret3.C, + g++.dg/cpp1y/constexpr-reinterpret4.C: New tests. + +2024-02-09 Marek Polacek <polacek@redhat.com> + + PR c++/113834 + * g++.dg/ext/type_pack_element4.C: New test. + +2024-02-09 Marek Polacek <polacek@redhat.com> + + PR c++/98388 + * g++.dg/cpp0x/sfinae69.C: New test. + +2024-02-09 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113799 + * gfortran.dg/arithmetic_overflow_2.f90: New test. + +2024-02-09 Patrick Palka <ppalka@redhat.com> + + PR c++/112580 + * g++.dg/modules/anon-3_a.H: New test. + * g++.dg/modules/anon-3_b.C: New test. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113783 + * gcc.dg/bitint-88.c: New test. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113415 + * gcc.target/i386/pr113415.c: New test. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113818 + * gcc.dg/bitint-89.c: New test. + +2024-02-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113774 + * gcc.dg/torture/bitint-57.c: New test. + +2024-02-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * gcc.misc-tests/options.exp: Allow other options before the + -quite option for cc1. + +2024-02-08 Edwin Lu <ewlu@rivosinc.com> + + * gcc.target/riscv/rvv/base/abi-1.c: change selector + * gcc.target/riscv/rvv/base/pragma-2.c: ditto + * gcc.target/riscv/rvv/base/pragma-3.c: ditto + +2024-02-08 Richard Earnshaw <rearnsha@arm.com> + + * lib/target-supports.exp + (check_effective_target_arm_fp16_alternative_ok_nocache): Use + et_arm_fp16_alternative_flags to cache the result. Improve test + for FP16 availability. + (add_options_for_arm_fp16_alternative): Use + et_arm_fp16_alternative_flags. + * g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: Update dg-* flags. + * g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: Likewise. + * gcc.dg/torture/arm-fp16-int-convert-alt.c: Likewise. + * gcc.dg/torture/arm-fp16-ops-3.c: Likewise. + * gcc.dg/torture/arm-fp16-ops-4.c: Likewise. + * gcc.target/arm/fp16-aapcs-3.c: Likewise. + * gcc.target/arm/fp16-aapcs-4.c: Likewise. + * gcc.target/arm/fp16-compile-alt-1.c: Likewise. + * gcc.target/arm/fp16-compile-alt-10.c: Likewise. + * gcc.target/arm/fp16-compile-alt-11.c: Likewise. + * gcc.target/arm/fp16-compile-alt-12.c: Likewise. + * gcc.target/arm/fp16-compile-alt-2.c: Likewise. + * gcc.target/arm/fp16-compile-alt-3.c: Likewise. + * gcc.target/arm/fp16-compile-alt-4.c: Likewise. + * gcc.target/arm/fp16-compile-alt-5.c: Likewise. + * gcc.target/arm/fp16-compile-alt-6.c: Likewise. + * gcc.target/arm/fp16-compile-alt-7.c: Likewise. + * gcc.target/arm/fp16-compile-alt-8.c: Likewise. + * gcc.target/arm/fp16-compile-alt-9.c: Likewise. + * gcc.target/arm/fp16-rounding-alt-1.c: Likewise. + +2024-02-08 Patrick Palka <ppalka@redhat.com> + + PR c++/113649 + * g++.dg/cpp2a/nontype-class65.C: New test. + +2024-02-08 Aldy Hernandez <aldyh@redhat.com> + + PR tree-optimization/113735 + * gcc.dg/tree-ssa/pr113735.c: New test. + +2024-02-08 H.J. Lu <hjl.tools@gmail.com> + + PR target/113711 + PR target/113733 + * gcc.target/i386/apx-ndd-2.c: New test. + * gcc.target/i386/apx-ndd-base-index-1.c: Likewise. + * gcc.target/i386/apx-ndd-no-seg-global-1.c: Likewise. + * gcc.target/i386/apx-ndd-seg-1.c: Likewise. + * gcc.target/i386/apx-ndd-seg-2.c: Likewise. + * gcc.target/i386/apx-ndd-seg-3.c: Likewise. + * gcc.target/i386/apx-ndd-seg-4.c: Likewise. + * gcc.target/i386/apx-ndd-seg-5.c: Likewise. + * gcc.target/i386/apx-ndd-tls-1a.c: Likewise. + * gcc.target/i386/apx-ndd-tls-2.c: Likewise. + * gcc.target/i386/apx-ndd-tls-3.c: Likewise. + * gcc.target/i386/apx-ndd-tls-4.c: Likewise. + * gcc.target/i386/apx-ndd-x32-1.c: Likewise. + +2024-02-08 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113808 + * gfortran.dg/vect/vect-early-break_1-PR113808.f90: Moved to... + * gfortran.dg/vect/vect-early-break_1-pr113808.f90: ...here. + +2024-02-08 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113808 + * gfortran.dg/vect/vect-early-break_1-PR113808.f90: New test. + +2024-02-08 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vect/vect-early-break_110-pr113467.c: Change unsigned long * + to uint64_t *. + +2024-02-08 Pan Li <pan2.li@intel.com> + + PR target/113766 + * gcc.target/riscv/rvv/base/pr113766-1.c: Add new cases. + +2024-02-08 Joseph Myers <josmyers@redhat.com> + + PR c/113776 + * gcc.dg/pr113776-1.c, gcc.dg/pr113776-2.c, gcc.dg/pr113776-3.c, + gcc.dg/pr113776-4.c: New tests. + +2024-02-08 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp2a/nontype-class64.C: New test. + +2024-02-07 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113796 + * gcc.dg/torture/pr113796.c: New testcase. + +2024-02-07 Roger Sayle <roger@nextmovesoftware.com> + Uros Bizjak <ubizjak@gmail.com> + + PR target/113690 + * gcc.target/i386/pr113690.c: New test case. + +2024-02-07 Victor Do Nascimento <victor.donascimento@arm.com> + + * gcc.target/aarch64/acle/rwsr-armv8p9.c: New. + +2024-02-07 Kushal Pal <kushalpal109@gmail.com> + + * rust/compile/issue-2040.rs: + Enclose 'const' in single quotes. + +2024-02-07 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2775.rs: New test. + +2024-02-07 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2782.rs: New test. + +2024-02-07 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1773.rs: Moved to... + * rust/compile/issue-1773.rs.bak: ...here. + * rust/compile/issue-2723-1.rs: New test. + * rust/compile/issue-2723-2.rs: New test. + +2024-02-07 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2747.rs: New test. + +2024-02-07 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2772-1.rs: New test. + * rust/compile/issue-2772-2.rs: New test. + +2024-02-07 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1483.rs: New test. + +2024-02-07 Kushal Pal <kushalpal109@gmail.com> + + * rust/compile/issue-2812.rs: New test. + +2024-02-07 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113750 + * gcc.dg/vect/vect-early-break_112-pr113750.c: New test. + * gcc.dg/vect/vect-early-break_113-pr113750.c: New test. + * gcc.dg/vect/vect-early-break_114-pr113750.c: New test. + * gcc.dg/vect/vect-early-break_115-pr113750.c: New test. + * gcc.dg/vect/vect-early-break_116-pr113750.c: New test. + +2024-02-07 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113731 + * gcc.dg/vect/vect-early-break_111-pr113731.c: New test. + +2024-02-07 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113467 + * gcc.dg/vect/vect-early-break_110-pr113467.c: New test. + +2024-02-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113756 + * gcc.dg/pr113756.c: New test. + +2024-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.dg/debug/dwarf2/inline5.c: Don't xfail scan-assembler-not on + { aix || solaris2 } && !gas. + +2024-02-07 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113753 + * gcc.dg/torture/bitint-56.c: New test. + * gcc.dg/bitint-87.c: New test. + +2024-02-07 Pan Li <pan2.li@intel.com> + + PR target/113766 + * gcc.target/riscv/rvv/base/pr113766-1.c: New test. + * gcc.target/riscv/rvv/base/pr113766-2.c: New test. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/113788 + * g++.dg/parse/pr113788.C: New test. + +2024-02-06 Marek Polacek <polacek@redhat.com> + + PR c++/94231 + * g++.dg/cpp0x/deleted17.C: New test. + +2024-02-06 Andrew Carlotti <andrew.carlotti@arm.com> + + * g++.target/aarch64/mv-symbols1.C: New test. + * g++.target/aarch64/mv-symbols2.C: Ditto. + * g++.target/aarch64/mv-symbols3.C: Ditto. + * g++.target/aarch64/mv-symbols4.C: Ditto. + * g++.target/aarch64/mv-symbols5.C: Ditto. + * g++.target/aarch64/mvc-symbols1.C: Ditto. + * g++.target/aarch64/mvc-symbols2.C: Ditto. + * g++.target/aarch64/mvc-symbols3.C: Ditto. + * g++.target/aarch64/mvc-symbols4.C: Ditto. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/110676 + * gcc.dg/asan/pr110676.c: New test. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113736 + * gcc.dg/bitint-86.c: New test. + +2024-02-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113759 + * gcc.c-torture/compile/pr113759.c: New test. + +2024-02-06 Jason Merrill <jason@redhat.com> + + PR c++/107291 + * g++.dg/cpp2a/spaceship-eq17.C: New test. + +2024-02-05 Jason Merrill <jason@redhat.com> + + PR c++/109359 + * g++.dg/ext/frounding-math1.C: New test. + +2024-02-05 Jason Merrill <jason@redhat.com> + + PR c++/111286 + * g++.dg/cpp0x/initlist-array22.C: New test. + +2024-02-05 H.J. Lu <hjl.tools@gmail.com> + + PR target/113689 + * gcc.target/i386/pr113689-1.c: New file. + * gcc.target/i386/pr113689-2.c: Likewise. + * gcc.target/i386/pr113689-3.c: Likewise. + +2024-02-05 Jakub Jelinek <jakub@redhat.com> + + PR c/113740 + * gcc.dg/bitint-85.c: New test. + +2024-02-05 Richard Ball <richard.ball@arm.com> + + * lib/target-supports.exp: Add v8_1_m_main_pacbti. + * g++.target/arm/bti_thunk.C: New test. + +2024-02-05 H.J. Lu <(no_default)> + + * gcc.target/i386/apx-ndd.c: Updated. + +2024-02-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113707 + * gcc.dg/torture/pr113707-1.c: New testcase. + * gcc.dg/torture/pr113707-2.c: Likewise. + +2024-02-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113737 + * gcc.dg/bitint-84.c: New test. + +2024-02-05 Monk Chiang <monk.chiang@sifive.com> + + * gcc.target/riscv/mcpu-sifive-p450.c: New test. + * gcc.target/riscv/mcpu-sifive-p670.c: New test. + +2024-02-04 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/riscv/reg_subreg_costs.c: New test. + Co-authored-by: Jivan Hakobyan <jivanhakobyan9@gmail.com> + +2024-02-03 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/pr84877.c: Adjust xfail parentheses. + +2024-02-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/111022 + * gfortran.dg/fmt_error_10.f: Show D+0 exponent. + * gfortran.dg/pr96436_4.f90: Show E+0 exponent. + * gfortran.dg/pr96436_5.f90: Show E+0 exponent. + * gfortran.dg/pr111022.f90: New test. + +2024-02-03 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113722 + * gcc.dg/pr113722.c: New test. + +2024-02-03 Patrick Palka <ppalka@redhat.com> + + PR c++/110006 + PR c++/112769 + * g++.dg/cpp2a/class-deduction-alias18.C: New test. + * g++.dg/cpp2a/concepts-friend16.C: New test. + +2024-02-03 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/113730 + * gm2/extensions/fail/arith1.mod: New test. + * gm2/extensions/fail/arith2.mod: New test. + * gm2/extensions/fail/arith3.mod: New test. + * gm2/extensions/fail/arith4.mod: New test. + * gm2/extensions/fail/arithpromote.mod: New test. + * gm2/extensions/fail/extensions-fail.exp: New test. + * gm2/linking/fail/badimp.def: New test. + * gm2/linking/fail/badimp.mod: New test. + * gm2/linking/fail/linking-fail.exp: New test. + * gm2/linking/fail/testbadimp.mod: New test. + +2024-02-02 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113588 + PR tree-optimization/113467 + * gcc.dg/vect/vect-early-break_108-pr113588.c: New test. + * gcc.dg/vect/vect-early-break_109-pr113588.c: New test. + +2024-02-02 Andrew Pinski <quic_apinski@quicinc.com> + + * gcc.dg/vect/vect-avg-1.c: Check optimized dump + for `vector *signed short` instead of the `vect` dump. + * gcc.dg/vect/vect-avg-11.c: Likewise. + * gcc.dg/vect/vect-avg-12.c: Likewise. + * gcc.dg/vect/vect-avg-13.c: Likewise. + * gcc.dg/vect/vect-avg-14.c: Likewise. + * gcc.dg/vect/vect-avg-2.c: Likewise. + * gcc.dg/vect/vect-avg-3.c: Likewise. + * gcc.dg/vect/vect-avg-4.c: Likewise. + * gcc.dg/vect/vect-avg-5.c: Likewise. + * gcc.dg/vect/vect-avg-6.c: Likewise. + * gcc.dg/vect/vect-avg-7.c: Likewise. + * gcc.dg/vect/vect-avg-8.c: Likewise. + +2024-02-02 Jakub Jelinek <jakub@redhat.com> + + PR libgcc/113604 + * gcc.dg/torture/bitint-53.c: New test. + * gcc.dg/torture/bitint-55.c: New test. + +2024-02-02 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: New test. + * jit.dg/test-sizeof.c: New test. + +2024-02-02 Jason Merrill <jason@redhat.com> + + PR c++/110084 + * g++.dg/cpp2a/spaceship-synth-neg3.C: Check error message. + * g++.dg/cpp2a/spaceship-eq16.C: New test. + +2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113697 + * gcc.target/riscv/rvv/autovec/pr113697.c: New test. + +2024-02-02 Iain Sandoe <iain@sandoe.co.uk> + + * lib/target-supports.exp (check_effective_target_shared): + Allow the external symbols referenced in the test to be undefined. + +2024-02-02 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/ubsan/ubsan.exp:Add a parameter to init to say that + we expect the C++ driver to provide paths for libstdc++. + * gcc.dg/ubsan/ubsan.exp: Add a parameter to init to say that + we need a path added for libstdc++. + * gdc.dg/ubsan/ubsan.exp: Likewise. + * gfortran.dg/ubsan/ubsan.exp: Likewise. + * lib/ubsan-dg.exp: Handle a single parameter to init that + requests addition of a path to libstdc++ to link flags. + +2024-02-02 Iain Sandoe <iain@sandoe.co.uk> + + * g++.dg/asan/asan.exp: Add a parameter to init to say that + we expect the C++ driver to provide paths for libstdc++. + * g++.dg/hwasan/hwasan.exp: Likewise + * gcc.dg/asan/asan.exp: Add a parameter to init to say that + we need a path added for libstdc++. + * gcc.dg/hwasan/hwasan.exp: Likewise. + * gdc.dg/asan/asan.exp: Likewise. + * gfortran.dg/asan/asan.exp: Likewise. + * lib/asan-dg.exp: Handle a single parameter to init that + requests addition of a path to libstdc++ to link flags. + * lib/hwasan-dg.exp: Likewise. + +2024-02-02 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113691 + * gcc.dg/bitint-83.c: New test. + +2024-02-02 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113692 + * gcc.dg/bitint-82.c: New test. + +2024-02-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113699 + * gcc.dg/bitint-81.c: New test. + +2024-02-02 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113705 + * g++.dg/opt/pr113705.C: New test. + +2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/pr71321.c (scan-assembler-not): Avoid multiline + matches. + +2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/sse2-stv-1.c (dg-options): Add -mno-stackrealign. + +2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/pr80569.c: Require gas. + +2024-02-02 Lehua Ding <lehua.ding@rivai.ai> + + Revert: + 2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/poly_licm-1.c: New test. + * gcc.target/riscv/rvv/autovec/poly_licm-2.c: New test. + +2024-02-02 Iain Sandoe <iain@sandoe.co.uk> + + PR target/112863 + * lib/obj-c++.exp: Decide on whether to present -B or -L to + reference the paths to uninstalled libobjc/libobjc-gnu and + libstdc++ and use that to generate the link flags. + +2024-02-02 Iain Sandoe <iain@sandoe.co.uk> + + PR target/112862 + * gfortran.dg/coarray/caf.exp: Remove duplicate additions of + libatomic handling. + * gfortran.dg/dg.exp: Likewise. + * lib/gfortran.exp: Decide on whether to present -B or -L to + reference the paths to uninstalled libgfortran, libqadmath and + libatomic and use that to generate the link flags. + +2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/poly_licm-1.c: New test. + * gcc.target/riscv/rvv/autovec/poly_licm-2.c: New test. + +2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/pieces-memcpy-7.c (dg-additional-options): Add + -mno-stackrealign. + * gcc.target/i386/pieces-memcpy-8.c: Likewise. + * gcc.target/i386/pieces-memcpy-9.c: Likewise. + * gcc.target/i386/pieces-memset-36.c: Likewise. + * gcc.target/i386/pieces-memset-40.c: Likewise. + * gcc.target/i386/pieces-memset-9.c: Likewise. + +2024-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/apx-ndd-cmov.c (scan-assembler-times): Allow for + cmovl.e, cmovl.ge. + +2024-02-02 Jason Merrill <jason@redhat.com> + + PR c++/112439 + * g++.dg/cpp2a/no_unique_address15.C: New test. + +2024-02-02 Jason Merrill <jason@redhat.com> + + PR c++/113638 + * g++.dg/cpp1y/var-templ-array1.C: New test. + +2024-02-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/vsetvl/vsetvl_pre-1.c: New test. + +2024-02-02 Jiahao Xu <xujiahao@loongson.cn> + + * gcc.target/loongarch/larch-frecipe-intrinsic.c: New test. + +2024-02-02 Li Wei <liwei@loongson.cn> + + * gfortran.dg/vect/vect-10.f90: New test. + +2024-02-02 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/func-call-extreme-1.c (dg-options): + Use -O2 instead of -O0 to ensure the pcalau12i/addi/lu32i/lu52i + instruction sequences are not reordered by the compiler. + (NOIPA): Disallow interprocedural optimizations. + * gcc.target/loongarch/func-call-extreme-2.c: Remove the content + duplicated from func-call-extreme-1.c, include it instead. + (dg-options): Likewise. + * gcc.target/loongarch/func-call-extreme-3.c (dg-options): + Likewise. + * gcc.target/loongarch/func-call-extreme-4.c (dg-options): + Likewise. + * gcc.target/loongarch/cmodel-extreme-1.c: New test. + * gcc.target/loongarch/cmodel-extreme-2.c: New test. + * g++.target/loongarch/cmodel-extreme-mi-thunk-1.C: New test. + * g++.target/loongarch/cmodel-extreme-mi-thunk-2.C: New test. + * g++.target/loongarch/cmodel-extreme-mi-thunk-3.C: New test. + +2024-02-02 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/explicit-relocs-medium-call36-auto-tls-ld-gd.c: New test. + +2024-02-02 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/explicit-relocs-extreme-auto-tls-ld-gd.c: New test. + * gcc.target/loongarch/explicit-relocs-medium-auto-tls-ld-gd.c: New test. + +2024-02-02 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/attr-model-5.c: New test. + * gcc.target/loongarch/func-call-extreme-5.c: New test. + * gcc.target/loongarch/func-call-extreme-6.c: New test. + * gcc.target/loongarch/tls-extreme-macro.c: New test. + +2024-02-01 Marek Polacek <polacek@redhat.com> + + * g++.dg/warn/Wdangling-reference21.C: New test. + +2024-02-01 John David Anglin <danglin@gcc.gnu.org> + + * gnat.dg/trampoline3.adb: xfail scan-assembler-not + check on hppa*-*-*. + +2024-02-01 Patrick Palka <ppalka@redhat.com> + + PR c++/112737 + * g++.dg/template/ttp42.C: New test. + * g++.dg/template/ttp43.C: New test. + +2024-02-01 Marek Polacek <polacek@redhat.com> + + PR c++/112437 + * g++.dg/cpp2a/concepts-throw1.C: New test. + * g++.dg/eh/throw4.C: New test. + +2024-02-01 Monk Chiang <monk.chiang@sifive.com> + + * gcc.target/riscv/za-ext.c: New test. + * gcc.target/riscv/zi-ext.c: New test. + +2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/pr38534-1.c: Add -fomit-frame-pointer to + dg-options. + * gcc.target/i386/pr38534-2.c: Likewise. + * gcc.target/i386/pr38534-3.c: Likewise. + * gcc.target/i386/pr38534-4.c: Likewise. + +2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/no-callee-saved-1.c: Add -fomit-frame-pointer to + dg-options. + * gcc.target/i386/no-callee-saved-2.c: Likewise. + +2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/avx512vl-stv-rotatedi-1.c: Add -mstv + -mno-stackrealign to dg-options. + +2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/pr70321.c: Add -fomit-frame-pointer to + dg-options. + +2024-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * g++.dg/ext/attr-section2.C (scan-assembler): Quote dots. Allow + for double-quoted section name. + * g++.dg/ext/attr-section2a.C: Likewise. + * g++.dg/ext/attr-section2b.C: Likewise. + +2024-02-01 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113693 + * gcc.dg/pr113693.c: New testcase. + +2024-02-01 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/113531 + * g++.dg/asan/initlist1.C: New test. + +2024-02-01 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR target/113560 + * g++.target/i386/pr113560.C: New test case. + * gcc.target/i386/pr113560.c: Likewise. + * gcc.dg/pr87954.c: Update test case. + +2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + Revert: + 2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + PR target/113249 + * g++.target/riscv/rvv/base/bug-1.C: use default scheduling + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-12.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-19.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-35.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-44.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: ditto + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: ditto + * gcc.target/riscv/rvv/base/pr108185-1.c: ditto + * gcc.target/riscv/rvv/base/pr108185-2.c: ditto + * gcc.target/riscv/rvv/base/pr108185-3.c: ditto + * gcc.target/riscv/rvv/base/pr108185-4.c: ditto + * gcc.target/riscv/rvv/base/pr108185-5.c: ditto + * gcc.target/riscv/rvv/base/pr108185-6.c: ditto + * gcc.target/riscv/rvv/base/pr108185-7.c: ditto + * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: ditto + * gcc.target/riscv/rvv/vsetvl/pr111037-3.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-32.c: ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.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-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 + * gfortran.dg/vect/vect-8.f90: ditto + +2024-02-01 Edwin Lu <ewlu@rivosinc.com> + + PR target/113249 + * g++.target/riscv/rvv/base/bug-1.C: use default scheduling + * gcc.target/riscv/rvv/autovec/reduc/reduc_call-2.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-12.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-19.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-35.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-44.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: ditto + * gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: ditto + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: ditto + * gcc.target/riscv/rvv/base/pr108185-1.c: ditto + * gcc.target/riscv/rvv/base/pr108185-2.c: ditto + * gcc.target/riscv/rvv/base/pr108185-3.c: ditto + * gcc.target/riscv/rvv/base/pr108185-4.c: ditto + * gcc.target/riscv/rvv/base/pr108185-5.c: ditto + * gcc.target/riscv/rvv/base/pr108185-6.c: ditto + * gcc.target/riscv/rvv/base/pr108185-7.c: ditto + * gcc.target/riscv/rvv/base/shift_vx_constraint-1.c: ditto + * gcc.target/riscv/rvv/vsetvl/pr111037-3.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-32.c: ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-33.c: ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-17.c: ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-18.c: ditto + * gcc.target/riscv/rvv/vsetvl/vlmax_single_block-19.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-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 + * gfortran.dg/vect/vect-8.f90: ditto + +2024-02-01 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113657 + * gcc.target/aarch64/acle/ls64_strict_align.c: New test. + +2024-01-31 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/113253 + * gcc.dg/analyzer/deref-before-check-pr113253.c: New test. + +2024-01-31 Joseph Myers <josmyers@redhat.com> + + PR c/112571 + * gcc.dg/c23-enum-9.c, gcc.dg/c23-enum-10.c: New tests. + +2024-01-31 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/aarch64/sve/pre_cond_share_1.c: XFAIL. + * gcc.target/riscv/rvv/autovec/pr113607-run.c: New test. + * gcc.target/riscv/rvv/autovec/pr113607.c: New test. + +2024-01-31 Martin Uecker <uecker@tugraz.at> + + PR c/113438 + * gcc.dg/pr113438.c: New test. + +2024-01-31 Jonathan Yong <10walls@gmail.com> + + * c-c++-common/analyzer/uninit-pr108968-register.c: + Use __UINTPTR_TYPE__ instead of unsigned long for LLP64. + +2024-01-31 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/111627 + * gm2/pim/pass/stdio.mod: Moved to... + * gm2/pim/pass/teststdio.mod: ...here. + * gm2/pim/run/pass/builtins.mod: Moved to... + * gm2/pim/run/pass/testbuiltins.mod: ...here. + * gm2/pim/run/pass/math.mod: Moved to... + * gm2/pim/run/pass/testmath.mod: ...here. + * gm2/pim/run/pass/math2.mod: Moved to... + * gm2/pim/run/pass/testmath2.mod: ...here. + +2024-01-31 Tamar Christina <tamar.christina@arm.com> + + PR testsuite/113502 + * gcc.target/aarch64/sve/vect-early-break-cbranch.c: Ignore exact branch. + * gcc.target/aarch64/vect-early-break-cbranch.c: Likewise. + +2024-01-31 Tamar Christina <tamar.christina@arm.com> + + PR sanitizer/112644 + * c-c++-common/hwasan/hwasan-thread-clears-stack.c: Update testcase. + +2024-01-31 Tamar Christina <tamar.christina@arm.com> + Matthew Malcomson <matthew.malcomson@arm.com> + + PR sanitizer/112644 + * c-c++-common/hwasan/builtin-special-handling.c: Update testcase. + +2024-01-31 Richard Biener <rguenther@suse.de> + + PR middle-end/110176 + * gcc.dg/torture/pr110176.c: New testcase. + +2024-01-31 Alex Coplan <alex.coplan@arm.com> + + PR target/111677 + * gcc.target/aarch64/torture/pr111677.c: New test. + +2024-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/auto-init-5.c: Add + -fno-asynchronous-unwind-tables to dg-options. + * gcc.target/i386/auto-init-6.c: Likewise. + +2024-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/111444 + * gcc.dg/torture/pr111444.c: New testcase. + +2024-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * g++.dg/cpp0x/udlit-extended-id-1.C: Require ucn support. + +2024-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113630 + * gcc.dg/torture/pr113630.c: New testcase. + +2024-01-31 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/113656 + * gcc.target/i386/pr113656.c: New test. + +2024-01-31 Jakub Jelinek <jakub@redhat.com> + + PR debug/113637 + * gcc.dg/bitint-80.c: New test. + +2024-01-31 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113639 + * gcc.dg/bitint-79.c: New test. + +2024-01-31 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113670 + * gcc.target/i386/pr113670.c: New testcase. + +2024-01-31 Alexandre Oliva <oliva@adacore.com> + + PR debug/113394 + * gcc.dg/strub-internal-pr113394.c: New. + +2024-01-31 Joseph Myers <josmyers@redhat.com> + + PR c/111059 + PR c/111911 + * gcc.c-torture/compile/pr111059-1.c, + gcc.c-torture/compile/pr111059-2.c, + gcc.c-torture/compile/pr111059-3.c, + gcc.c-torture/compile/pr111059-4.c, + gcc.c-torture/compile/pr111059-5.c, + gcc.c-torture/compile/pr111059-6.c, + gcc.c-torture/compile/pr111059-7.c, + gcc.c-torture/compile/pr111059-8.c, + gcc.c-torture/compile/pr111059-9.c, + gcc.c-torture/compile/pr111059-10.c, + gcc.c-torture/compile/pr111059-11.c, + gcc.c-torture/compile/pr111059-12.c, + gcc.c-torture/compile/pr111911-1.c, + gcc.c-torture/compile/pr111911-2.c: New tests. + +2024-01-31 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/113509 + * c-c++-common/analyzer/stdarg-pr113509.c: New test. + +2024-01-30 Fangrui Song <maskray@google.com> + + PR target/105576 + * gcc.target/i386/asm-raw-symbol.c: New testcase. + +2024-01-30 Marek Polacek <polacek@redhat.com> + + PR c++/110358 + PR c++/109640 + * g++.dg/warn/Wdangling-reference18.C: New test. + * g++.dg/warn/Wdangling-reference19.C: New test. + * g++.dg/warn/Wdangling-reference20.C: New test. + +2024-01-30 Patrick Palka <ppalka@redhat.com> + + PR c++/67898 + * g++.dg/cpp0x/temp_default8.C: New test. + +2024-01-30 Jason Merrill <jason@redhat.com> + + PR c++/112846 + * g++.dg/abi/anon6.C: Specify ABI v18. + * g++.dg/abi/anon6a.C: New test for ABI v19. + +2024-01-30 Jason Merrill <jason@redhat.com> + + PR c++/113451 + * g++.dg/abi/mangle-regparm1a.C: Use -Wabi=0. + +2024-01-30 Patrick Palka <ppalka@redhat.com> + + PR c++/113640 + * g++.dg/cpp23/explicit-obj-lambda14.C: New test. + +2024-01-30 Patrick Palka <ppalka@redhat.com> + + PR c++/113644 + * g++.dg/template/nontype30.C: New test. + +2024-01-30 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vls/def.h: Add new helper macro. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-10.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-6.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-8.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-9.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-1.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-2.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-3.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-4.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-5.c: New test. + * gcc.target/riscv/rvv/autovec/vls/calling-convention-run-6.c: New test. + +2024-01-30 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/113654 + * c-c++-common/analyzer/allocation-size-pr113654-1.c: New test. + +2024-01-30 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/execute/torture/builtin_macros1.rs: Fix output pattern. + * rust/execute/torture/coercion3.rs: Likewise. + * rust/execute/torture/issue-2080.rs: Likewise. + * rust/execute/torture/issue-2179.rs: Likewise. + * rust/execute/torture/issue-2180.rs: Likewise. + * rust/execute/torture/iter1.rs: Likewise. + +2024-01-30 Robert Goss <goss.robert@gmail.com> + + * rust/compile/missing_constructor_fields.rs: Added case with no initializers + +2024-01-30 Jakub Dupak <dev@jakubdupak.com> + + * rust/compile/for_lifetimes.rs: New test. + +2024-01-30 Jakub Dupak <dev@jakubdupak.com> + + * rust/compile/torture/utf8_identifiers.rs: add mising lifetime + +2024-01-30 Robert Goss <goss.robert@gmail.com> + + * rust/compile/repeated_constructor_fields.rs: Added case with constructor field repeated + +2024-01-30 Kushal Pal <kushalpal109@gmail.com> + + * rust/compile/issue-2788.rs: New test. + +2024-01-30 Kushal Pal <kushalpal109@gmail.com> + + * rust/compile/const_trait_fn.rs: + Enclose const in single quotes. + +2024-01-30 Kushal Pal <kushalpal109@gmail.com> + + * rust/compile/issue-2785.rs: New test. + +2024-01-30 Nirmal Patel <nirmal@nirmal.dev> + + * rust/compile/issue-2187.rs: New file. + * rust/execute/torture/issue-2187.rs: New file. + +2024-01-30 Kushal Pal <kushalpal109@gmail.com> + + * rust/compile/issue-2767.rs: New test. + +2024-01-30 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/torture/intrinsics-4.rs: Adjust. + * rust/compile/torture/intrinsics-math.rs: Adjust. + * rust/execute/torture/atomic_load.rs: Adjust. + * rust/execute/torture/atomic_store.rs: Adjust. + * rust/compile/torture/intrinsics-1.rs: Removed. + * rust/compile/torture/builtin_abort.rs: New test. + * rust/execute/torture/builtin_abort.rs: New test. + +2024-01-30 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/sized-stub.rs: New test. + +2024-01-30 Nobel Singh <nobel2073@gmail.com> + + * rust/compile/issue-2040.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/functions_without_body.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/execute/torture/name_resolution.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/name_resolution11.rs: New test. + * rust/compile/name_resolution12.rs: New test. + * rust/compile/name_resolution13.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/const_trait_fn.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/const_async_function.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/unsafe_module.rs: New test. + +2024-01-30 M V V S Manoj Kumar <mvvsmanojkumar@gmail.com> + + * rust/compile/issue-2650-1.rs: New test.(edition=2018) + * rust/compile/issue-2650-2.rs: New test.(edition=2015) + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/const_generics_8.rs: Fill the union with dummy values. + * rust/compile/empty_union.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/non_foreign_variadic_function.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/auto_trait_invalid.rs: Update old test with updated + error message. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/auto_trait_super_trait.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/generic_auto_trait.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/self_const_ptr.rs: New test. + * rust/compile/self_mut_ptr.rs: New test. + * rust/compile/self_ptr.rs: New test. + +2024-01-30 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/trait_pub_type.rs: New test. + +2024-01-30 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113659 + * gcc.dg/pr113659.c: New testcase. + +2024-01-30 Iain Sandoe <iain@sandoe.co.uk> + + PR target/112861 + * lib/gdc.exp: Decide on whether to present -B or -L to reference + the paths to uninstalled libphobos and libstdc++ and use that to + generate the link flags. + +2024-01-30 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113623 + * gcc.c-torture/compile/pr113623.c: New test. + +2024-01-30 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113636 + * go.dg/pr113636.go: New test. + +2024-01-30 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113603 + * gcc.c-torture/compile/pr113603.c: New test. + +2024-01-30 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/101195 + * gcc.dg/pr101195.c: New test. + +2024-01-30 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113622 + * gcc.target/i386/pr113622-2.c: Use -msse2 instead of -msse in + dg-options. + * gcc.target/i386/pr113622-3.c: Likewise. + +2024-01-30 Alexandre Oliva <oliva@adacore.com> + + Revert: + 2023-12-26 David Edelsohn <dje.gcc@gmail.com> + + * 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. + +2024-01-30 H.J. Lu <(no_default)> + + * gcc.target/i386/libcall-1.c: Limit to lp64 target. + * gcc.target/i386/pr107057.c: Likewise. + +2024-01-30 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/binop/shift-rv32gcv.c: Adapt test. + * gcc.target/riscv/rvv/autovec/binop/shift-rv64gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/mod-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/shift-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/shift-2.c: Ditto. + +2024-01-29 Alexandre Oliva <oliva@adacore.com> + + * lib/target-supports.exp (check_effective_target_shared): + Check for a static-only libc. + +2024-01-29 Alexandre Oliva <oliva@adacore.com> + + * c-c++-common/dfp/pr36800.c: Drop dg-do overrider. + * c-c++-common/dfp/pr39034.c: Likewise. + * c-c++-common/dfp/pr39035.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/builtin-snan-1.c: Likewise. + * gcc.dg/dfp/builtin-tgmath-dfp.c: Likewise. + * gcc.dg/dfp/c23-float-dfp-4.c: Likewise. + * gcc.dg/dfp/c23-float-dfp-5.c: Likewise. + * gcc.dg/dfp/c23-float-dfp-6.c: Likewise. + * gcc.dg/dfp/c23-float-dfp-7.c: Likewise. + * gcc.dg/dfp/pr108068.c: Likewise. + * gcc.dg/dfp/pr97439.c: Likewise. + * g++.dg/compat/decimal/pass-1_main.C: Require dfprt. + * g++.dg/compat/decimal/pass-2_main.C: Likewise. + * g++.dg/compat/decimal/pass-3_main.C: Likewise. + * g++.dg/compat/decimal/pass-4_main.C: Likewise. + * g++.dg/compat/decimal/pass-5_main.C: Likewise. + * g++.dg/compat/decimal/pass-6_main.C: Likewise. + * g++.dg/compat/decimal/return-1_main.C: Likewise. + * g++.dg/compat/decimal/return-2_main.C: Likewise. + * g++.dg/compat/decimal/return-3_main.C: Likewise. + * g++.dg/compat/decimal/return-4_main.C: Likewise. + * g++.dg/compat/decimal/return-5_main.C: Likewise. + * g++.dg/compat/decimal/return-6_main.C: Likewise. + * g++.dg/eh/dfp-1.C: Likewise. + * g++.dg/eh/dfp-2.C: Likewise. + * g++.dg/eh/dfp-saves-aarch64.C: Likewise. + * gcc.c-torture/execute/pr80692.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. + +2024-01-29 Jose E. Marchesi <jose.marchesi@oracle.com> + + * gcc.target/bpf/naked-1.c: Update test to not expect an exit + instruction in naked function. + * gcc.target/bpf/naked-2.c: New test. + +2024-01-29 Patrick O'Neill <patrick@rivosinc.com> + + * gcc.target/riscv/rvv/vsetvl/pr113429.c: Add + require-effective-target rv64 and riscv_v + +2024-01-29 Jason Merrill <jason@redhat.com> + + PR c++/113544 + * g++.dg/cpp1y/lambda-generic-nested3.C: New test. + +2024-01-29 Matthieu Longo <matthieu.longo@arm.com> + + PR target/108933 + * gcc.target/arm/rev16.c: Moved to... + * gcc.target/arm/rev16_1.c: ...here. + * gcc.target/arm/rev16_2.c: New test to check that rev16 is emitted. + +2024-01-29 Richard Biener <rguenther@suse.de> + + PR middle-end/113622 + * gcc.target/i386/pr113622-2.c: New testcase. + * gcc.target/i386/pr113622-3.c: Likewise. + +2024-01-29 Richard Biener <rguenther@suse.de> + + PR middle-end/113622 + * gcc.target/i386/pr113622-1.c: New testcase. + +2024-01-29 Alex Coplan <alex.coplan@arm.com> + + PR target/113616 + * gcc.c-torture/compile/pr113616.c: New test. + +2024-01-29 H.J. Lu <hjl.tools@gmail.com> + + PR target/38534 + * gcc.target/i386/pr38534-5.c: New file. + * gcc.target/i386/pr38534-6.c: Likewise. + +2024-01-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> + + PR target/112950 + * gcc.target/aarch64/sve/acle/general/dupq_5.c: Remove include directive + and instead use #pragma GCC for including arm_sve.h. + +2024-01-29 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113281 + * gcc.dg/vect/pr113281-1.c: New test. + * gcc.dg/vect/pr113281-2.c: Likewise. + * gcc.dg/vect/pr113281-3.c: Likewise. + * gcc.dg/vect/pr113281-4.c: Likewise. + * gcc.dg/vect/pr113281-5.c: Likewise. + +2024-01-29 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/110603 + * gcc.c-torture/compile/pr110603.c: New test. + +2024-01-29 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/109705 + * lib/target-supports.exp (check_effective_target_vect_long_mult): + Fix powerpc*-*-* checks by considering ilp32. + +2024-01-28 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113377 + * gfortran.dg/optional_absent_11.f90: New test. + +2024-01-28 Iain Sandoe <iain@sandoe.co.uk> + + * obj-c++.dg/encode-10.mm: Remove unneeded '-lobjc' option addition. + * obj-c++.dg/encode-9.mm: Likewise. + +2024-01-28 Iain Sandoe <iain@sandoe.co.uk> + + * jit.dg/jit.exp: Filter error output to remove per-run + variable content. + +2024-01-27 Jose E. Marchesi <jose.marchesi@oracle.com> + + * gcc.target/bpf/helper-skb-ancestor-cgroup-id.c: Add constant + version of kernel helper static pointer. + +2024-01-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/104908 + * gfortran.dg/pr104908.f90: New test. + +2024-01-27 H.J. Lu <hjl.tools@gmail.com> + + PR target/38534 + * gcc.target/i386/pr38534-1.c: New file. + * gcc.target/i386/pr38534-2.c: Likewise. + * gcc.target/i386/pr38534-3.c: Likewise. + * gcc.target/i386/pr38534-4.c: Likewise. + * gcc.target/i386/stack-check-17.c: Updated. + +2024-01-27 H.J. Lu <hjl.tools@gmail.com> + + PR target/103503 + PR target/113312 + * gcc.dg/torture/no-callee-saved-run-1a.c: New file. + * gcc.dg/torture/no-callee-saved-run-1b.c: Likewise. + * gcc.target/i386/no-callee-saved-1.c: Likewise. + * gcc.target/i386/no-callee-saved-2.c: Likewise. + * gcc.target/i386/no-callee-saved-3.c: Likewise. + * gcc.target/i386/no-callee-saved-4.c: Likewise. + * gcc.target/i386/no-callee-saved-5.c: Likewise. + * gcc.target/i386/no-callee-saved-6.c: Likewise. + * gcc.target/i386/no-callee-saved-7.c: Likewise. + * gcc.target/i386/no-callee-saved-8.c: Likewise. + * gcc.target/i386/no-callee-saved-9.c: Likewise. + * gcc.target/i386/no-callee-saved-10.c: Likewise. + * gcc.target/i386/no-callee-saved-11.c: Likewise. + * gcc.target/i386/no-callee-saved-12.c: Likewise. + * gcc.target/i386/no-callee-saved-13.c: Likewise. + * gcc.target/i386/no-callee-saved-14.c: Likewise. + * gcc.target/i386/no-callee-saved-15.c: Likewise. + * gcc.target/i386/no-callee-saved-16.c: Likewise. + * gcc.target/i386/no-callee-saved-17.c: Likewise. + * gcc.target/i386/no-callee-saved-18.c: Likewise. + +2024-01-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113614 + * gcc.dg/torture/bitint-54.c: New test. + +2024-01-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113568 + * gcc.dg/bitint-78.c: New test. + +2024-01-27 Lewis Hyatt <lhyatt@gmail.com> + + PR preprocessor/105608 + * g++.dg/pch/line-map-1.C: New test. + * g++.dg/pch/line-map-1.Hs: New test. + * g++.dg/pch/line-map-2.C: New test. + * g++.dg/pch/line-map-2.Hs: New test. + * g++.dg/pch/line-map-3.C: New test. + * g++.dg/pch/line-map-3.Hs: New test. + +2024-01-26 Hans-Peter Nilsson <hp@axis.com> + + * g++.dg/Wattributes-3.C: Adjust expected warning. + * gcc.dg/fail_always_inline.c: Ditto. + +2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113580 + * g++.dg/modules/pr113580_a.C: New test. + * g++.dg/modules/pr113580_b.C: New test. + +2024-01-26 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/cset-sext-rtl.c: New file. + * gcc.target/riscv/cset-sext-rtl32.c: New file. + * gcc.target/riscv/cset-sext-sfb-rtl.c: New file. + * gcc.target/riscv/cset-sext-sfb-rtl32.c: New file. + * gcc.target/riscv/cset-sext-thead-rtl.c: New file. + * gcc.target/riscv/cset-sext-ventana-rtl.c: New file. + * gcc.target/riscv/cset-sext-zicond-rtl.c: New file. + * gcc.target/riscv/cset-sext-zicond-rtl32.c: New file. + +2024-01-26 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/pr105314-rtl.c: New file. + * gcc.target/riscv/pr105314-rtl32.c: New file. + +2024-01-26 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/pr105314.c: Scan the RTL "ce1" pass too. + +2024-01-26 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/pr105314.c: Replace `dg-options' command with + `dg-skip-if'. Also reject "bne" with `dg-final'. + +2024-01-26 Gaius Mulley <gaiusmod2@gmail.com> + + * gm2/pim/fail/badpointer4.mod: New test. + * gm2/pim/fail/strconst.def: New test. + +2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/112899 + * g++.dg/modules/init-4_a.C: New test. + * g++.dg/modules/init-4_b.C: New test. + * g++.dg/modules/init-6_a.H: New test. + * g++.dg/modules/init-6_b.C: New test. + +2024-01-26 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113602 + * gcc.dg/pr113602.c: New testcase. + +2024-01-26 Jiahao Xu <xujiahao@loongson.cn> + + * gcc.target/loongarch/vect-extract.c: New test. + +2024-01-26 Jiahao Xu <xujiahao@loongson.cn> + + * gcc.target/loongarch/short-circuit.c: New test. + +2024-01-26 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.dg/signbit-2.c: Added additional "-mlsx" compilation options. + * gfortran.dg/graphite/vect-pr40979.f90: Dito. + * gfortran.dg/vect/fast-math-mgrid-resid.f: Dito. + +2024-01-26 Li Wei <liwei@loongson.cn> + + * gcc.target/loongarch/invariant-recip.c: New test. + +2024-01-26 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/109705 + * gcc.dg/vect/pr25413a.c: Expect 1 vectorized loops for !vect_long_mult + and 2 for vect_long_mult. + +2024-01-26 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113469 + * gcc.target/riscv/rvv/autovec/pr113469.c: New test. + +2024-01-25 Jakub Jelinek <jakub@redhat.com> + + PR c++/113599 + * g++.dg/expr/ptrmem11.C: New test. + +2024-01-25 Jason Merrill <jason@redhat.com> + + PR c++/113598 + * g++.dg/cpp0x/initlist-pmf2.C: New test. + +2024-01-25 Jason Merrill <jason@redhat.com> + + PR c++/109227 + * g++.dg/coroutines/co-await-initlist2.C: New test. + +2024-01-25 Gaius Mulley <gaiusmod2@gmail.com> + + * gm2/pim/fail/badpointer.mod: New test. + * gm2/pim/fail/badpointer2.mod: New test. + * gm2/pim/fail/badpointer3.mod: New test. + * gm2/projects/pim/run/pass/pegfive/pegfive.mod: New test. + * gm2/projects/pim/run/pass/pegfive/projects-pim-run-pass-pegfive.exp: New test. + +2024-01-25 Robin Dapp <rdapp.gcc@gmail.com> + + * gcc.target/riscv/rvv/autovec/pr112971.c: New test. + +2024-01-25 Robin Dapp <rdapp@ventanamicro.com> + + PR testsuite/113558 + * gcc.dg/vect/no-scevccp-outer-7.c: Add target check. + * gcc.dg/vect/vect-outer-4c-big-array.c: Ditto. + * 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-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. + +2024-01-25 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/112969 + * c-c++-common/analyzer/compound-assignment-5.c (test_3): Remove + xfails, reorder tests. + * c-c++-common/analyzer/compound-assignment-pr112969.c: New test. + * gcc.dg/plugin/infoleak-pr112969.c: New test. + * gcc.dg/plugin/plugin.exp: Add infoleak-pr112969.c to + analyzer_kernel_plugin.c tests. + +2024-01-25 Mary Bennett <mary.bennett@embecosm.com> + + * gcc.target/riscv/cv-simd-abs-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-abs-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-add-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-add-div2-compile-1.c: New test. + * gcc.target/riscv/cv-simd-add-div4-compile-1.c: New test. + * gcc.target/riscv/cv-simd-add-div8-compile-1.c: New test. + * gcc.target/riscv/cv-simd-add-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-add-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-add-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-and-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-and-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-and-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-and-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-avg-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-avg-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-avg-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-avg-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-avgu-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-avgu-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-avgu-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-avgu-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpeq-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpeq-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpeq-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpeq-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpge-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpge-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpge-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpge-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgeu-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgeu-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgeu-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgeu-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgt-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgt-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgt-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgt-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgtu-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgtu-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgtu-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpgtu-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmple-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmple-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmple-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmple-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpleu-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpleu-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpleu-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpleu-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmplt-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmplt-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmplt-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmplt-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpltu-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpltu-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpltu-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpltu-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpne-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpne-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpne-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cmpne-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxconj-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxmul-i-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxmul-i-div2-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxmul-i-div4-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxmul-i-div8-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxmul-r-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxmul-r-div2-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxmul-r-div4-compile-1.c: New test. + * gcc.target/riscv/cv-simd-cplxmul-r-div8-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotsp-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotsp-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotsp-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotsp-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotup-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotup-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotup-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotup-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotusp-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotusp-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotusp-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-dotusp-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-extract-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-extract-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-extractu-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-extractu-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-insert-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-insert-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-march-compile-1.c: New test. + * gcc.target/riscv/cv-simd-max-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-max-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-max-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-max-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-maxu-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-maxu-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-maxu-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-maxu-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-min-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-min-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-min-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-min-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-minu-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-minu-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-minu-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-minu-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-neg-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-neg-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-or-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-or-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-or-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-or-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-pack-compile-1.c: New test. + * gcc.target/riscv/cv-simd-pack-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-packhi-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-packlo-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotsp-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotsp-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotsp-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotsp-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotup-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotup-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotup-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotup-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotusp-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotusp-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotusp-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sdotusp-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-shuffle-sci-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-shuffle2-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-shuffle2-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-shufflei0-sci-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-shufflei1-sci-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-shufflei2-sci-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-shufflei3-sci-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sll-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sll-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sll-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sll-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sra-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sra-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sra-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sra-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-srl-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-srl-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-srl-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-srl-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sub-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sub-div2-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sub-div4-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sub-div8-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sub-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sub-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-sub-sc-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-subrotmj-compile-1.c: New test. + * gcc.target/riscv/cv-simd-subrotmj-div2-compile-1.c: New test. + * gcc.target/riscv/cv-simd-subrotmj-div4-compile-1.c: New test. + * gcc.target/riscv/cv-simd-subrotmj-div8-compile-1.c: New test. + * gcc.target/riscv/cv-simd-xor-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-xor-h-compile-1.c: New test. + * gcc.target/riscv/cv-simd-xor-sc-b-compile-1.c: New test. + * gcc.target/riscv/cv-simd-xor-sc-h-compile-1.c: New test. + * lib/target-supports.exp: Add proc for XCVsimd extension. + +2024-01-25 Yanzhang Wang <yanzhang.wang@intel.com> + + PR target/113538 + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c: Fix the asm + check. + * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-1.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-2.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-3.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-4.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-error-1.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-return-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-return.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-variant_cc.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-2.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-69.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-70.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-71.c: Ditto. + * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vadd.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vfadd.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vget_vset.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vloxseg2ei16.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vreinterpret.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vadd.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vfadd.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vget_vset.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vloxseg2ei16.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vreinterpret.c: Ditto. + * gcc.target/riscv/rvv/base/spill-10.c: Ditto. + * gcc.target/riscv/rvv/base/spill-11.c: Ditto. + * gcc.target/riscv/rvv/base/spill-9.c: Ditto. + * gcc.target/riscv/rvv/base/tuple_vundefined.c: Ditto. + * gcc.target/riscv/rvv/base/vcreate.c: Ditto. + * gcc.target/riscv/rvv/base/vlmul_ext-1.c: Ditto. + * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Ditto. + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Ditto. + * lib/target-supports.exp: Remove the flag. + +2024-01-25 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113574 + * gcc.dg/torture/bitint-52.c: New test. + +2024-01-25 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113572 + * gcc.target/aarch64/sve/pr113572.c: New test. + +2024-01-25 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113550 + * gcc.target/aarch64/pr113550.c: New test. + +2024-01-25 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113485 + * gcc.target/aarch64/pr113485.c: New test. + * gcc.target/aarch64/pr113573.c: Likewise. + +2024-01-25 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/113548 + * gcc.dg/vect/slp-reduc-10a.c: Use `__SIZETYPE__` instead of `unsigned long`. + * gcc.dg/vect/slp-reduc-10b.c: Likewise. + * gcc.dg/vect/slp-reduc-10c.c: Likewise. + * gcc.dg/vect/slp-reduc-10d.c: Likewise. + * gcc.dg/vect/slp-reduc-10e.c: Likewise. + * gcc.dg/vect/vect-cond-arith-2.c: Likewise. + * gcc.dg/vect/vect-ifcvt-19.c: Likewise. + +2024-01-25 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113576 + * gcc.dg/vect/pr113576.c: New testcase. + +2024-01-25 Haochen Gui <guihaoc@gcc.gnu.org> + + * gcc.target/powerpc/block-cmp-1.c: Exclude m32 and mpowerpc64. + * gcc.target/powerpc/block-cmp-4.c: Likewise. + * gcc.target/powerpc/block-cmp-8.c: New. + +2024-01-25 liuhongt <hongtao.liu@intel.com> + + * c-c++-common/hwasan/alloca-outside-caught.c: Adjust + testcase. + * c-c++-common/hwasan/hwasan-poison-optimisation.c: Ditto. + * c-c++-common/hwasan/vararray-outside-caught.c: Ditto. + +2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113405 + * g++.dg/modules/concept-9.h: New test. + * g++.dg/modules/concept-9_a.C: New test. + * g++.dg/modules/concept-9_b.C: New test. + * g++.dg/modules/concept-10_a.H: New test. + * g++.dg/modules/concept-10_b.C: New test. + +2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/100707 + * g++.dg/modules/indirect-1_b.C: Adjust to handle namespaces not + being attached to the module they were imported from. + * g++.dg/modules/indirect-1_c.C: Likewise. + * g++.dg/modules/indirect-2_b.C: Likewise. + * g++.dg/modules/indirect-2_c.C: Likewise. + * g++.dg/modules/indirect-3_b.C: Likewise. + * g++.dg/modules/indirect-3_c.C: Likewise. + * g++.dg/modules/indirect-4_b.C: Likewise. + * g++.dg/modules/indirect-4_c.C: Likewise. + * g++.dg/modules/namespace-5_a.C: New test. + * g++.dg/modules/namespace-5_b.C: New test. + * g++.dg/modules/namespace-5_c.C: New test. + +2024-01-25 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/adx-check.h: Include stdio.h when DEBUG + is defined. + * gcc.target/i386/avx512fp16-vscalefph-1b.c: Do not define + DEBUG. + * gcc.target/i386/avx512fp16vl-vaddph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vcmpph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vdivph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vfpclassph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vgetexpph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vgetmantph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vmaxph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vminph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vmulph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vrcpph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vreduceph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vrndscaleph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vrsqrtph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vscalefph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vsqrtph-1b.c: Ditto. + * gcc.target/i386/avx512fp16vl-vsubph-1b.c: Ditto. + * gcc.target/i386/readeflags-1.c: Include stdio.h when DEBUG + is defined. + * gcc.target/i386/rtm-check.h: Ditto. + * gcc.target/i386/sha-check.h: Ditto. + * gcc.target/i386/writeeflags-1.c: Ditto. + +2024-01-25 Andrew Pinski <quic_apinski@quicinc.com> + + * lib/target-supports.exp (check_effective_target_vect_long_mult): Fix + small typo for aarch64*-*-*. + +2024-01-24 Patrick Palka <ppalka@redhat.com> + + PR c++/113529 + * g++.dg/cpp2a/spaceship-sfinae3.C: New test. + +2024-01-24 Jason Merrill <jason@redhat.com> + + PR c++/113347 + * g++.dg/eh/return3.C: New test. + +2024-01-24 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113377 + * gfortran.dg/optional_absent_10.f90: New test. + +2024-01-24 Andrew Pinski <quic_apinski@quicinc.com> + + PR testsuite/109705 + * lib/target-supports.exp (check_effective_target_vect_long_mult): + Fix aarch64*-*-* checks. + +2024-01-24 Martin Jambor <mjambor@suse.cz> + + PR ipa/108007 + PR ipa/112616 + * gcc.dg/ipa/pr108007.c: New test. + * gcc.dg/ipa/pr112616.c: Likewise. + +2024-01-24 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113486 + * gcc.target/aarch64/builtin_apply-1.c: New test. + +2024-01-24 Monk Chiang <monk.chiang@sifive.com> + + * gcc.target/riscv/sfb.c: New test. + * gcc.target/riscv/pr113095.c: New test. + +2024-01-24 Tamar Christina <tamar.christina@arm.com> + + PR target/109636 + * gcc.target/aarch64/sve/pr109636_1.c: New test. + * gcc.target/aarch64/sve/pr109636_2.c: New test. + * gcc.target/aarch64/sve2/pr109636_1.c: New test. + +2024-01-24 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113552 + * gcc.target/aarch64/pr113552.c: New test. + * gcc.target/aarch64/simd_pcs_attribute-3.c: Remove bogus check. + +2024-01-24 Martin Jambor <mjambor@suse.cz> + + PR ipa/113490 + * gcc.dg/ipa/pr113490.c: New test. + +2024-01-24 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/112977 + * gcc.dg/plugin/plugin.exp: Add taint-pr112977.c. + * gcc.dg/plugin/taint-pr112977.c: New test. + +2024-01-24 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/112927 + * gcc.dg/plugin/analyzer_kernel_plugin.c + (class known_function___check_object_size): New. + (kernel_analyzer_init_cb): Register it. + * gcc.dg/plugin/plugin.exp: Add taint-pr112927.c. + * gcc.dg/plugin/taint-pr112927.c: New test. + +2024-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/113556 + * gcc.dg/vect/vect-simd-clone-16c.c: Don't wildcard x86_64 in + target specs. Allow any i?86 target instead of i686 only. + * gcc.dg/vect/vect-simd-clone-16d.c: Likewise. + * gcc.dg/vect/vect-simd-clone-17c.c: Likewise. + * gcc.dg/vect/vect-simd-clone-17d.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18c.c: Likewise. + * gcc.dg/vect/vect-simd-clone-18d.c: Likewise. + +2024-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * gcc.target/i386/pr80833-1.c: Add -mno-stackrealign to dg-options. + +2024-01-24 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113364 + * gcc.dg/vect/vect-early-break_107-pr113364.c: New test. + +2024-01-24 Patrick O'Neill <patrick@rivosinc.com> + + PR target/113429 + * gcc.target/riscv/rvv/vsetvl/pr113429.c: New test. + +2024-01-24 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113495 + * gcc.target/riscv/rvv/vsetvl/avl_single-107.c: Adapt test. + +2024-01-23 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/pr113292_c.C: Require TLS. + +2024-01-23 Marek Polacek <polacek@redhat.com> + + PR c++/113256 + PR c++/111607 + PR c++/109640 + * g++.dg/warn/Wdangling-reference14.C: New test. + * g++.dg/warn/Wdangling-reference15.C: New test. + * g++.dg/warn/Wdangling-reference16.C: New test. + +2024-01-23 Jakub Jelinek <jakub@redhat.com> + + PR c/113518 + * gcc.dg/bitint-77.c: New test. + +2024-01-23 Andrew Pinski <quic_apinski@quicinc.com> + Richard Sandiford <richard.sandiford@arm.com> + + PR target/100942 + * gcc.target/aarch64/ccmp_3.c: New test. + * gcc.target/aarch64/ccmp_4.c: New test. + * gcc.target/aarch64/ccmp_5.c: New test. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113089 + * gcc.c-torture/compile/pr113089.c: New test. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113356 + * gcc.target/aarch64/pr113356.C: New test. + +2024-01-23 Xi Ruoyao <xry111@xry111.site> + + * g++.target/loongarch/got-load.C (dg-options): Add + -fno-stack-protector. + +2024-01-23 H.J. Lu <(no_default)> + + PR rtl-optimization/113255 + * gcc.dg/torture/pr113255.c (dg-additional-options): Add only + if not ia32. + +2024-01-23 Alex Coplan <alex.coplan@arm.com> + + PR target/113114 + * gcc.c-torture/compile/pr113114.c: New test. + * gcc.target/aarch64/pr113114.c: New test. + +2024-01-23 Richard Biener <rguenther@suse.de> + + PR debug/107058 + * c-c++-common/pr107058.c: New testcase. + +2024-01-23 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/112820 + PR c++/102607 + * g++.dg/modules/debug-2_a.C: New test. + * g++.dg/modules/debug-2_b.C: New test. + * g++.dg/modules/debug-2_c.C: New test. + * g++.dg/modules/debug-3_a.C: New test. + * g++.dg/modules/debug-3_b.C: New test. + +2024-01-23 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c: Check + for la.tls.ld and la.tls.gd. + +2024-01-23 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/113255 + * gcc.dg/torture/pr113255.c: New testcase. + +2024-01-23 Richard Biener <rguenther@suse.de> + + PR debug/112718 + * gcc.dg/debug/pr112718.c: New testcase. + +2024-01-22 Marek Polacek <polacek@redhat.com> + + PR c++/109642 + * g++.dg/warn/Wdangling-reference17.C: Additional testing. + +2024-01-22 John David Anglin <danglin@gcc.gnu.org> + + PR debug/113382 + * gcc.dg/debug/btf/btf-bitfields-3.c: Add -gno-strict-dwarf + option to dg-options. + * gcc.dg/debug/btf/btf-enum-1.c: Likewise. + * gcc.dg/debug/btf/btf-enum-small.c: Likewise. + * gcc.dg/debug/btf/btf-enum64-1.c: Likewise. + +2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/vsetvl/attribute-2.c: New test. + * gcc.target/riscv/rvv/vsetvl/attribute-3.c: New test. + +2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/109092 + * gcc.target/riscv/rvv/base/pr109092.c: New test. + +2024-01-22 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113373 + * gcc.dg/vect/vect-early-break_104-pr113373.c: New testcase. + +2024-01-22 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/vsetvl/attribute-1.c: New test. + +2024-01-22 xuli <xuli1@eswincomputing.com> + + PR target/113420 + * gcc.target/riscv/rvv/base/pr113420-1.c: New test. + * gcc.target/riscv/rvv/base/pr113420-2.c: New test. + +2024-01-22 Jeff Law <jlaw@ventanamicro.com> + + * gcc.target/sh/pr59533-1.c: Adjust expected output. + +2024-01-21 Mary Bennett <mary.bennett@embecosm.com> + + * gcc.target/riscv/cv-alu-fail-compile.c: Change warning to error. + +2024-01-21 Co-authored-by: Thorsten Otto <admin@tho-otto.de> + + PR target/82420 + * gcc.target/m68k/pr82420.c: New test. + +2024-01-21 Roger Sayle <roger@nextmovesoftware.com> + Richard Biener <rguenther@suse.de> + + PR rtl-optimization/111267 + * gcc.target/i386/pr111267.c: New test case. + +2024-01-21 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113377 + * gfortran.dg/optional_absent_9.f90: New test. + +2024-01-21 Martin Uecker <uecker@tugraz.at> + + PR c/113492 + * gcc.dg/pr113492.c: New test. + +2024-01-20 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/ipa/iinline-4.c: Remove dg-final xfail for + 32-bit hppa*-*-*. + * gcc.dg/ipa/inline-5.c: Likewise. + * gcc.dg/ipa/ipcp-cstagg-7.c: Likewise. + * gcc.dg/tree-ssa/vector-4.c: Likewise. + +2024-01-20 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/tree-ssa/slsr-13.c: xfail scan-tree-dump-times + checks on hppa*64*-*-*. + +2024-01-20 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/torture/pr110422.c: Require target lra. + +2024-01-20 Marek Polacek <polacek@redhat.com> + + PR c++/111410 + * g++.dg/warn/Wdangling-reference17.C: New test. + +2024-01-20 Andrew Pinski <quic_apinski@quicinc.com> + + PR ipa/110705 + * gcc.c-torture/compile/pr110705-1.c: New test. + +2024-01-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113462 + * gcc.dg/bitint-76.c: New test. + +2024-01-20 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113491 + * gcc.dg/torture/bitint-51.c: New test. + +2024-01-19 Mikael Pettersson <mikpelinux@gmail.com> + + PR target/110934 + * gcc.target/m68k/pr110934.c: New test. + +2024-01-19 Mikael Pettersson <mikpelinux@gmail.com> + + PR target/108640 + * gcc.target/m68k/pr108640.c: New test. + +2024-01-19 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: New test. + * jit.dg/test-popcount.c: New test. + +2024-01-19 Antoni Boucher <bouanto@zoho.com> + + * jit.dg/test-reflection.c: Add check to make sure + gcc_jit_type_is_integral returns 0 on a vector type. + +2024-01-19 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113471 + * gfortran.dg/bounds_check_24.f90: New test. + +2024-01-19 Jason Merrill <jason@redhat.com> + + PR c++/113498 + * g++.dg/cpp2a/concepts-using4.C: New test. + +2024-01-19 Jason Merrill <jason@redhat.com> + + PR c++/112632 + PR c++/112594 + PR c++/111357 + PR c++/104594 + PR c++/67898 + * g++.dg/cpp0x/alias-decl-nontype1.C: New test. + * g++.dg/cpp2a/concepts-narrowing1.C: New test. + * g++.dg/cpp2a/nontype-class63.C: New test. + * g++.dg/cpp2a/nontype-class63a.C: New test. + +2024-01-19 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/torture/pr47917.c: Limit dg-xfail-run-if for + hpux11.[012]* to -O0. + +2024-01-19 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/pthread-init-2.c: Change dg-options for hpux + to define _HPUX_SOURCE. + +2024-01-19 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/pr84877.c: Only xfail on 32-bit hppa*-*-*. + +2024-01-19 John David Anglin <danglin@gcc.gnu.org> + + PR analyzer/112705 + * gcc.dg/analyzer/pr94688.c: Skip on hppa*64*-*-*. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/arch-27.c: Update scan message. + * gcc.target/riscv/arch-28.c: Ditto. + * gcc.target/riscv/attribute-10.c: Ditto. + * gcc.target/riscv/rvv/base/big_endian-2.c: Ditto. + * gcc.target/riscv/rvv/base/zvl-unimplemented-1.c: Ditto. + * gcc.target/riscv/rvv/base/zvl-unimplemented-2.c: Ditto. + +2024-01-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113464 + * gcc.dg/bitint-75.c: New test. + +2024-01-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113463 + * gcc.dg/bitint-74.c: New test. + +2024-01-19 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113459 + * gcc.dg/bitint-73.c: New test. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/arch-23.c: Update test. + * gcc.target/riscv/arch-27.c: Ditto. + * gcc.target/riscv/arch-28.c: Ditto. + * gcc.target/riscv/attribute-10.c: Ditto. + +2024-01-19 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/arch-33.c: New. + * gcc.target/riscv/arch-34.c: New. + +2024-01-19 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/part-vect-copysignhf.c: Remove + -ftree-vectorize from dg-options. + +2024-01-19 liuhongt <hongtao.liu@intel.com> + + PR testsuite/113437 + * gcc.dg/tree-ssa/pr95906.c: Scan either MAX_EXPR or + VEC_COND_EXPR. + +2024-01-18 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/pic-2.c: Skip on hppa*64*-*-*. + +2024-01-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/111361 + * c-c++-common/analyzer/strlen-pr111361.c: New test. + * c-c++-common/analyzer/strncpy-1.c (test_zero_fill): Remove fixed + xfail. + * c-c++-common/analyzer/strncpy-pr111361.c: New test. + +2024-01-18 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/112811 + * c-c++-common/analyzer/strlen-pr112811.c: New test. + +2024-01-18 H.J. Lu <(no_default)> + + * lib/hwasan-dg.exp (hwasan_init): Always set target_hwasan_flags. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/rvv/xtheadvector/vlb-vsb.c: New test. + * gcc.target/riscv/rvv/xtheadvector/vlbu-vsb.c: New test. + * gcc.target/riscv/rvv/xtheadvector/vlh-vsh.c: New test. + * gcc.target/riscv/rvv/xtheadvector/vlhu-vsh.c: New test. + * gcc.target/riscv/rvv/xtheadvector/vlw-vsw.c: New test. + * gcc.target/riscv/rvv/xtheadvector/vlwu-vsw.c: New test. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/rvv/base/pragma-1.c: Add XTheadVector. + * gcc.target/riscv/rvv/base/abi-1.c: Exclude XTheadVector. + * lib/target-supports.exp: Add target for XTheadVector. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/rvv/xtheadvector/prefix.c: New test. + +2024-01-18 Jun Sha (Joshua) <cooper.joshua@linux.alibaba.com> + Jin Ma <jinma@linux.alibaba.com> + Xianmiao Qu <cooper.qu@linux.alibaba.com> + Christoph Müllner <christoph.muellner@vrull.eu> + + * gcc.target/riscv/predef-__riscv_th_v_intrinsic.c: New test. + * gcc.target/riscv/rvv/xtheadvector.c: New test. + +2024-01-18 Marek Polacek <polacek@redhat.com> + + PR c++/113389 + * g++.dg/cpp23/explicit-obj-diagnostics10.C: New test. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * jit.dg/test-ggc-bugfix.c: Add libSystem for Darwin. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * jit.dg/test-always_inline-attribute.c: Handle Darwin in + jit-verify-assembler-output. + * jit.dg/test-noinline-attribute.c: Likewise. + * jit.dg/test-setting-alignment.c: Likewise. + * jit.dg/test-used-attribute.c: Likewise. + * jit.dg/test-variable-attribute.c: Likewise. + * jit.dg/test-weak-attribute.c: Likewise. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * jit.dg/jit.exp: Accept target clauses in jit-verify-assembler + handling. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * jit.dg/test-link-section-assembler.c: Accept any whitespace + between the .section directive and its arguments. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + * jit.dg/test-alias-attribute.c: Require target alias + support. + +2024-01-18 Iain Sandoe <iain@sandoe.co.uk> + + PR target/105522 + * gcc.dg/pr105522.c: New file. + +2024-01-18 Jakub Jelinek <jakub@redhat.com> + + PR bootstrap/113445 + * gcc.dg/pr113445.c: New test. + +2024-01-18 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/110422 + * gcc.dg/torture/pr110422.c: New test. + +2024-01-18 H.J. Lu <hjl.tools@gmail.com> + + * lib/hwasan-dg.exp (check_effective_target_hwaddress_exec): + Return 1 if Intel LAM_U57 is enabled. + (hwasan_init): Add -mlam=u57 on x86-64. + +2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-1.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-2.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-3.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-4.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-5.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-6.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-7.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-8.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/cmp_vi-9.c: New test. + * gcc.target/riscv/rvv/autovec/cmp/macro.h: New test. + +2024-01-18 Jakub Jelinek <jakub@redhat.com> + + PR target/113122 + * gcc.target/i386/pr113122-1.c: New test. + * gcc.target/i386/pr113122-2.c: New test. + * gcc.target/i386/pr113122-3.c: New test. + * gcc.target/i386/pr113122-4.c: New test. + +2024-01-18 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/112774 + PR testsuite/113446 + * gcc.dg/tree-ssa/scev-16.c: Move test ... + * gcc.dg/vect/pr112774.c: ... here. Add PR comment line, use + dg-additional-options instead of dg-options and drop + -fdump-tree-vect-details. + +2024-01-18 Jakub Jelinek <jakub@redhat.com> + + PR testsuite/113452 + * gcc.target/i386/sse4_1-stv-1.c: Add -fno-tree-vectorize to + dg-options. + +2024-01-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113431 + * gcc.dg/vect/pr113431.c: New testcase. + +2024-01-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113374 + * gcc.dg/vect/vect-early-break_106-pr113374.c: New testcase. + +2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/bb-slp-subgroups-3.c: Add !vect128. + +2024-01-18 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.dg/tree-ssa/gen-vect-2.c: Added detection of compilation + behavior and "-mlsx" option on LoongArch. + * gcc.dg/tree-ssa/gen-vect-25.c: Dito. + +2024-01-18 Lulu Cheng <chenglulu@loongson.cn> + + * g++.target/loongarch/got-load.C: New test. + +2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/bb-slp-43.c: Add vect128. + +2024-01-18 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/111850 + * gcc.target/powerpc/fold-vec-extract-char.p7.c: Update the + checking count of addi to 6. + +2024-01-18 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113429 + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-4.c: Adapt test. + * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-5.c: Ditto. + +2024-01-17 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/112588 + * g++.dg/modules/merge-16.h: New test. + * g++.dg/modules/merge-16_a.C: New test. + * g++.dg/modules/merge-16_b.C: New test. + +2024-01-17 Andrew Pinski <quic_apinski@quicinc.com> + + PR target/113221 + * gcc.c-torture/compile/pr113221-1.c: New test. + +2024-01-17 Patrick Palka <ppalka@redhat.com> + + PR c++/113242 + PR c++/99493 + * g++.dg/cpp2a/nontype-class61.C: New test. + * g++.dg/cpp2a/nontype-class62.C: New test. + +2024-01-17 Hans-Peter Nilsson <hp@bitrange.com> + + * gcc.dg/torture/inline-mem-cpy-1.c: Pass -DRUN_FRACTION=11 + when testing in a simulator. + * gcc.dg/memcmp-1.c [RUN_FRACTION]: Add machinery to run only + for each RUN_FRACTION:th iteration. + (main): Call initialize_skip_iteration_count. + (test_driver_memcmp): Check SKIP_ITERATION for each iteration. + +2024-01-17 Jan Hubicka <jh@suse.cz> + Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/110852 + * gcc.dg/predict-18.c: Update template to expect combined value predictor. + * gcc.dg/predict-23.c: New test. + * gcc.dg/tree-ssa/predict-1.c: New test. + * gcc.dg/tree-ssa/predict-2.c: New test. + * gcc.dg/tree-ssa/predict-3.c: New test. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113421 + * gcc.dg/torture/bitint-50.c: New test. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113410 + * gcc.dg/bitint-72.c: New test. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113408 + * gcc.dg/bitint-71.c: New test. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/113406 + * gcc.dg/bitint-70.c: New test. + +2024-01-17 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/110251 + * gcc.c-torture/compile/pr110251.c: New test. + +2024-01-17 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vls/shift-1.c: Fix asm check + count. + * gcc.target/riscv/rvv/autovec/vls/shift-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/shift-3.c: Ditto. + +2024-01-17 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113371 + * gcc.dg/vect/pr113371.c: New testcase. + +2024-01-17 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/mips.exp (mips_option_groups): + Add -mxgot/-mno-xgot options. + * gcc.target/mips/xgot-n32-avoid-gp.c: New test. + * gcc.target/mips/xgot-n32-need-gp.c: New test. + +2024-01-16 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/113292 + * g++.dg/modules/pr113292_a.H: New test. + * g++.dg/modules/pr113292_b.C: New test. + * g++.dg/modules/pr113292_c.C: New test. + +2024-01-16 Marek Polacek <polacek@redhat.com> + + PR c++/113340 + * g++.dg/cpp23/explicit-obj-diagnostics9.C: New test. + +2024-01-16 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/pr111409.c: Add hppa*-*-hpux* to targets which do + not support split DWARF. + +2024-01-16 waffl3x <waffl3x@protonmail.com> + + PR c++/113307 + * g++.dg/cpp23/explicit-obj-diagnostics3.C: Add test for + rejection of packs. + +2024-01-16 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/array-quals-1.c: Add .data.rel.ro.local to read only + sections. + +2024-01-16 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/atomic/stdatomic-flag.c: Remove xfail. + * gcc.dg/atomic/stdatomic-flag-2.c: Likewise. + +2024-01-16 John David Anglin <danglin@gcc.gnu.org> + + PR tree-optimization/110794 + * g++.dg/pr99966.C: xfail scan-tree-dump-not throw on hppa*64*-*-*. + +2024-01-16 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/c23-tag-alias-2.c: Require target lto. + * gcc.dg/c23-tag-alias-3.c: Likewise. + * gcc.dg/gnu23-tag-alias-3.c: Likewise. + * gcc.dg/scantest-lto.c: Likewise. + +2024-01-16 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/cmp-mem-const-3.c: Skip on lp64 hppa*-*-*. + * gcc.dg/cmp-mem-const-4.c: Likewise. + * gcc.dg/cmp-mem-const-5.c: Likewise. + * gcc.dg/cmp-mem-const-6.c: Likewise. + +2024-01-16 John David Anglin <danglin@gcc.gnu.org> + + PR tree-optimization/91624 + * gcc.dg/tree-ssa/sra-17.c: xfail all scan-tree-dump-times + checks on hppa*64*-*-*. + * gcc.dg/tree-ssa/sra-18.c: Likewise. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/tuple_float_index.rs: New test. + +2024-01-16 Raiki Tamura <tamaron1203@gmail.com> + + * rust/compile/v0-mangle2.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/invalid_variadics.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/invalid_label_name.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/lifetime_name_validation.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/pattern_variadic.rs: New test. + * rust/execute/torture/named_variadic.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/extern_c_named_variadic.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/parse_variadic_function.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/issue-2709.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/not_a_float_literal_tuple_index.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/issue-2665.rs: New test. + +2024-01-16 Jakub Dupak <dev@jakubdupak.com> + + * rust/compile/tupple_struct_pattern_tuple.rs: New test. + +2024-01-16 Raiki Tamura <tamaron1203@gmail.com> + + * rust/compile/v0-mangle1.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/closure_in_closure.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/macro-issue2653.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/macro57.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/macro_rules_macro_rules.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/while_break_expr.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/range_from_expr_for_loop.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/parse_item_default_macro.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/parse_generic_path_expr.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/match_break.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/parse_pub_unit_type.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/parse_global_path_generic.rs: New test. + +2024-01-16 Jakub Dupak <dev@jakubdupak.com> + + * rust/compile/issue-2645.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/wrong_lhs_assignment.rs: update error message + * rust/compile/issue-2391.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/variadic.rs: Added new checks. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/assume.rs: New test. + +2024-01-16 Dave Evans <dave@dmetwo.org> + + * rust/compile/issue-2431.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/privacy6.rs: Uncomment commented out functions. + * rust/compile/privacy9.rs: Fix unused variables. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/privacy9.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/cfg2.rs: Updated according to new message. + * rust/compile/issue-2139.rs: likewise. + * rust/compile/issue-2190-1.rs: likewise. + * rust/compile/method1.rs: likewise. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/execute/torture/iter1.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/generics7.rs: Added Errorcode hint. + * rust/compile/generics8.rs: Updated dejagnu comment. + * rust/compile/issue-925.rs: Added Errorcode hint. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/issue-2029.rs: + Updated for dejagnu testcase. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/privacy1.rs: Added errorcode. + * rust/compile/privacy3.rs: likewise. + * rust/compile/privacy4.rs: likewise. + * rust/compile/privacy5.rs: likewise. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/type-if.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/let_alt.rs: Updated comment. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/iterators1.rs: this should be casting to the $ty + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/execute/torture/issue-2583.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/nested_macro_definition.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/match4.rs: + Updated new error commment. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/issue-1725-2.rs: + Updated dejagnu message. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/iterators1.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/generics13.rs: + for dejagnu, + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/issue-2479.rs: Updated comment. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/issue-1589.rs: Updated comment for dejagnu. + * rust/compile/trait-cycle.rs: New relevant test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/generics10.rs: for dejagnu. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/generics6.rs: Updated dejagnu comment. + * rust/compile/generics7.rs: likewise. + * rust/compile/issue-925.rs: likewise. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/issue-2514.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/match5.rs: + Updated comment for dejagnu. + * rust/compile/pattern-struct.rs: New test for ICE. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/inline_2.rs: Added new message. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/auto_trait_invalid.rs: + Updated comment. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/bad_inner_doc.rs: + Updated comment to pass testcase. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/inline_2.rs: Added new case. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/bad_as_bool_char.rs: + Updated comment to pass test case. + * rust/compile/cast1.rs: likewise. + * rust/compile/cast4.rs: likewise. + * rust/compile/cast5.rs: likewise. + * rust/compile/all-cast.rs: New test for all error codes. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/attr_deprecated_2.rs: + Updated comment to pass the testcase. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/abi-options1.rs: updated comment for testcase. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/arrays2.rs: changed comment to pass + testcase. + +2024-01-16 Raiki Tamura <tamaron1203@gmail.com> + + * rust/compile/unicode_norm1.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/name_resolution10.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/name_resolution6.rs: New test. + * rust/compile/name_resolution7.rs: New test. + * rust/compile/name_resolution8.rs: New test. + * rust/compile/name_resolution9.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/undeclared_label.rs: New test for E0426. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/feature.rs: Added new unknown feature. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/arrays1.rs: changed comment to pass testcase. + * rust/compile/bad_type1.rs: likewise. + * rust/compile/bad_type2.rs: likewise. + * rust/compile/const_generics_6.rs: likewise. + * rust/compile/deadcode_err1.rs: likewise. + * rust/compile/deadcode_err2.rs: likewise. + * rust/compile/func1.rs: likewise. + * rust/compile/func3.rs: likewise. + * rust/compile/func4.rs: likewise. + * rust/compile/func5.rs: likewise. + * rust/compile/generics1.rs: likewise. + * rust/compile/generics2.rs: likewise. + * rust/compile/generics3.rs: likewise. + * rust/compile/implicit_returns_err1.rs: likewise. + * rust/compile/implicit_returns_err2.rs: likewise. + * rust/compile/implicit_returns_err3.rs: likewise. + * rust/compile/implicit_returns_err4.rs: likewise. + * rust/compile/issue-1152.rs: likewise. + * rust/compile/issue-2477.rs: likewise. + * rust/compile/reference1.rs: likewise. + * rust/compile/stmt_with_block_err1.rs: likewise. + * rust/compile/traits1.rs: likewise. + * rust/compile/traits2.rs: likewise. + * rust/compile/tuple_mismatch.rs: likewise. + * rust/compile/tuple_struct3.rs: likewise. + * rust/compile/mismatched-types.rs: New test from rustc. + +2024-01-16 Marc Poulhiès <dkm@kataplop.net> + + * rust/compile/empty_file: New file. + * rust/compile/issue-2421_str.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2479.rs: New test. + +2024-01-16 Raiki Tamura <tamaron1203@gmail.com> + + * rust/compile/bad-crate-name.rs: Moved to... + * rust/compile/bad-crate-name1.rs: ...here. + * rust/compile/bad-crate-name2.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2477.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/bounds1.rs: Apply sized trait + * rust/compile/canonical_paths1.rs: likewise + * rust/compile/cast_generics.rs: likewise + * rust/compile/closure_no_type_anno.rs: likewise + * rust/compile/complex_qualified_path_in_expr.rs: likewise + * rust/compile/const-issue1440.rs: likewise + * rust/compile/const_generics_1.rs: likewise + * rust/compile/const_generics_8.rs: likewise + * rust/compile/derive_macro1.rs: likewise + * rust/compile/derive_macro3.rs: likewise + * rust/compile/derive_macro4.rs: likewise + * rust/compile/derive_macro6.rs: likewise + * rust/compile/expected_type_args2.rs: likewise + * rust/compile/expected_type_args3.rs: likewise + * rust/compile/generics1.rs: likewise + * rust/compile/generics11.rs: likewise + * rust/compile/generics12.rs: likewise + * rust/compile/generics2.rs: likewise + * rust/compile/generics3.rs: likewise + * rust/compile/generics4.rs: likewise + * rust/compile/generics6.rs: likewise + * rust/compile/generics7.rs: likewise + * rust/compile/generics8.rs: likewise + * rust/compile/if_let_expr.rs: likewise + * rust/compile/issue-1005.rs: likewise + * rust/compile/issue-1019.rs: likewise + * rust/compile/issue-1031.rs: likewise + * rust/compile/issue-1034.rs: likewise + * rust/compile/issue-1128.rs: likewise + * rust/compile/issue-1129-2.rs: likewise + * rust/compile/issue-1130.rs: likewise + * rust/compile/issue-1131.rs: likewise + * rust/compile/issue-1165.rs: likewise + * rust/compile/issue-1173.rs: likewise + * rust/compile/issue-1235.rs: likewise + * rust/compile/issue-1237.rs: likewise + * rust/compile/issue-1289.rs: likewise + * rust/compile/issue-1383.rs: likewise + * rust/compile/issue-1447.rs: likewise + * rust/compile/issue-1589.rs: likewise + * rust/compile/issue-1725-1.rs: likewise + * rust/compile/issue-1725-2.rs: likewise + * rust/compile/issue-1773.rs: likewise + * rust/compile/issue-1786.rs: likewise + * rust/compile/issue-1893.rs: likewise + * rust/compile/issue-1901.rs: likewise + * rust/compile/issue-1930.rs: likewise + * rust/compile/issue-1981.rs: likewise + * rust/compile/issue-2019-1.rs: likewise + * rust/compile/issue-2019-2.rs: likewise + * rust/compile/issue-2019-3.rs: likewise + * rust/compile/issue-2036.rs: likewise + * rust/compile/issue-2037.rs: likewise + * rust/compile/issue-2070.rs: likewise + * rust/compile/issue-2105.rs: likewise + * rust/compile/issue-2106.rs: likewise + * rust/compile/issue-2135.rs: likewise + * rust/compile/issue-2136-1.rs: likewise + * rust/compile/issue-2136-2.rs: likewise + * rust/compile/issue-2139.rs: likewise + * rust/compile/issue-2142.rs: likewise + * rust/compile/issue-2165.rs: likewise + * rust/compile/issue-2166.rs: likewise + * rust/compile/issue-2190-1.rs: likewise + * rust/compile/issue-2190-2.rs: likewise + * rust/compile/issue-2195.rs: likewise + * rust/compile/issue-2238.rs: likewise + * rust/compile/issue-2304.rs: likewise + * rust/compile/issue-850.rs: likewise + * rust/compile/issue-855.rs: likewise + * rust/compile/issue-925.rs: likewise + * rust/compile/macro-issue1400.rs: likewise + * rust/compile/macro20.rs: likewise + * rust/compile/macro23.rs: likewise + * rust/compile/macro40.rs: likewise + * rust/compile/macro54.rs: likewise + * rust/compile/name_resolution2.rs: likewise + * rust/compile/name_resolution4.rs: likewise + * rust/compile/nested_generic.rs: likewise + * rust/compile/parse_associated_type_as_generic_arg.rs: likewise + * rust/compile/parse_associated_type_as_generic_arg2.rs: likewise + * rust/compile/parse_associated_type_as_generic_arg3.rs: likewise + * rust/compile/parse_complex_generic_application.rs: likewise + * rust/compile/parse_complex_generic_application2.rs: likewise + * rust/compile/path_as_generic_arg.rs: likewise + * rust/compile/privacy4.rs: likewise + * rust/compile/privacy6.rs: likewise + * rust/compile/sizeof-stray-infer-var-bug.rs: likewise + * rust/compile/stmt_with_block_dot.rs: likewise + * rust/compile/torture/associated_types1.rs: likewise + * rust/compile/torture/forward_decl_5.rs: likewise + * rust/compile/torture/generics1.rs: likewise + * rust/compile/torture/generics10.rs: likewise + * rust/compile/torture/generics11.rs: likewise + * rust/compile/torture/generics12.rs: likewise + * rust/compile/torture/generics13.rs: likewise + * rust/compile/torture/generics14.rs: likewise + * rust/compile/torture/generics15.rs: likewise + * rust/compile/torture/generics16.rs: likewise + * rust/compile/torture/generics17.rs: likewise + * rust/compile/torture/generics18.rs: likewise + * rust/compile/torture/generics19.rs: likewise + * rust/compile/torture/generics2.rs: likewise + * rust/compile/torture/generics20.rs: likewise + * rust/compile/torture/generics21.rs: likewise + * rust/compile/torture/generics22.rs: likewise + * rust/compile/torture/generics23.rs: likewise + * rust/compile/torture/generics24.rs: likewise + * rust/compile/torture/generics25.rs: likewise + * rust/compile/torture/generics26.rs: likewise + * rust/compile/torture/generics27.rs: likewise + * rust/compile/torture/generics28.rs: likewise + * rust/compile/torture/generics29.rs: likewise + * rust/compile/torture/generics3.rs: likewise + * rust/compile/torture/generics30.rs: likewise + * rust/compile/torture/generics31.rs: likewise + * rust/compile/torture/generics32.rs: likewise + * rust/compile/torture/generics4.rs: likewise + * rust/compile/torture/generics5.rs: likewise + * rust/compile/torture/generics6.rs: likewise + * rust/compile/torture/generics7.rs: likewise + * rust/compile/torture/generics8.rs: likewise + * rust/compile/torture/generics9.rs: likewise + * rust/compile/torture/intrinsics-2.rs: likewise + * rust/compile/torture/intrinsics-6.rs: likewise + * rust/compile/torture/intrinsics-7.rs: likewise + * rust/compile/torture/intrinsics-8.rs: likewise + * rust/compile/torture/issue-1024.rs: likewise + * rust/compile/torture/issue-1075.rs: likewise + * rust/compile/torture/issue-1432.rs: likewise + * rust/compile/torture/issue-1555.rs: likewise + * rust/compile/torture/issue-368.rs: likewise + * rust/compile/torture/issue-808.rs: likewise + * rust/compile/torture/issue-862.rs: likewise + * rust/compile/torture/issue-893-2.rs: likewise + * rust/compile/torture/issue-893.rs: likewise + * rust/compile/torture/must_use2.rs: likewise + * rust/compile/torture/nested_fn2.rs: likewise + * rust/compile/torture/phantom_data.rs: likewise + * rust/compile/torture/range-lang-item1.rs: likewise + * rust/compile/torture/traits1.rs: likewise + * rust/compile/torture/traits11.rs: likewise + * rust/compile/torture/traits12.rs: likewise + * rust/compile/torture/traits13.rs: likewise + * rust/compile/torture/traits14.rs: likewise + * rust/compile/torture/traits15.rs: likewise + * rust/compile/torture/traits16.rs: likewise + * rust/compile/torture/traits17.rs: likewise + * rust/compile/torture/traits18.rs: likewise + * rust/compile/torture/traits19.rs: likewise + * rust/compile/torture/traits2.rs: likewise + * rust/compile/torture/traits3.rs: likewise + * rust/compile/torture/traits4.rs: likewise + * rust/compile/torture/traits5.rs: likewise + * rust/compile/torture/traits6.rs: likewise + * rust/compile/torture/traits7.rs: likewise + * rust/compile/torture/traits8.rs: likewise + * rust/compile/torture/traits9.rs: likewise + * rust/compile/torture/transmute-size-check-1.rs: likewise + * rust/compile/torture/transmute1.rs: likewise + * rust/compile/torture/uninit-intrinsic-1.rs: likewise + * rust/compile/torture/utf8_identifiers.rs: likewise + * rust/compile/traits1.rs: likewise + * rust/compile/traits10.rs: likewise + * rust/compile/traits11.rs: likewise + * rust/compile/traits12.rs: likewise + * rust/compile/traits2.rs: likewise + * rust/compile/traits3.rs: likewise + * rust/compile/traits4.rs: likewise + * rust/compile/traits5.rs: likewise + * rust/compile/traits6.rs: likewise + * rust/compile/traits7.rs: likewise + * rust/compile/traits8.rs: likewise + * rust/compile/traits9.rs: likewise + * rust/compile/type-bindings1.rs: likewise + * rust/compile/unconstrained_type_param.rs: likewise + * rust/compile/unsafe10.rs: likewise + * rust/execute/torture/closure1.rs: likewise + * rust/execute/torture/closure2.rs: likewise + * rust/execute/torture/closure3.rs: likewise + * rust/execute/torture/closure4.rs: likewise + * rust/execute/torture/coercion1.rs: likewise + * rust/execute/torture/coercion2.rs: likewise + * rust/execute/torture/coercion3.rs: likewise + * rust/execute/torture/copy_nonoverlapping1.rs: likewise + * rust/execute/torture/derive_macro1.rs: likewise + * rust/execute/torture/derive_macro3.rs: likewise + * rust/execute/torture/derive_macro4.rs: likewise + * rust/execute/torture/index1.rs: likewise + * rust/execute/torture/issue-1120.rs: likewise + * rust/execute/torture/issue-1133.rs: likewise + * rust/execute/torture/issue-1198.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-1720-2.rs: likewise + * rust/execute/torture/issue-1720.rs: likewise + * rust/execute/torture/issue-2052.rs: likewise + * rust/execute/torture/issue-2179.rs: likewise + * rust/execute/torture/issue-2180.rs: likewise + * rust/execute/torture/issue-2236.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/macros23.rs: likewise + * rust/execute/torture/macros28.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_3.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/prefetch_data.rs: likewise + * rust/execute/torture/ref-pattern2.rs: likewise + * rust/execute/torture/slice-magic.rs: likewise + * rust/execute/torture/slice-magic2.rs: likewise + * rust/execute/torture/slice1.rs: likewise + * rust/execute/torture/str-layout1.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/transmute1.rs: likewise + * rust/execute/torture/wrapping_op1.rs: likewise + * rust/execute/torture/wrapping_op2.rs: likewise + * rust/link/generic_function_0.rs: likewise + * rust/link/generic_function_1.rs: likewise + * rust/compile/issue-2375.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/non_member_const.rs: add missing error message + * rust/compile/issue-2478.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/break2.rs: Modified file to pass test case. + * rust/compile/break_with_value_inside_loop.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_attribute_non_root_function.rs: New test. + * rust/compile/proc_macro_attribute_non_root_method.rs: New test. + * rust/compile/proc_macro_attribute_non_root_module.rs: New test. + * rust/compile/proc_macro_derive_non_root_function.rs: New test. + * rust/compile/proc_macro_derive_non_root_method.rs: New test. + * rust/compile/proc_macro_derive_non_root_module.rs: New test. + * rust/compile/proc_macro_non_root_function.rs: New test. + * rust/compile/proc_macro_non_root_method.rs: New test. + * rust/compile/proc_macro_non_root_module.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_pub_function.rs: New test. + * rust/compile/proc_macro_pub_module.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_attribute_crate_type.rs: Replace + dg-excess-errors with dg-error and fix the line so the test + can pass. + * rust/compile/proc_macro_crate_type.rs: Likewise. + * rust/compile/proc_macro_derive_crate_type.rs: Likewise. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_attribute_private.rs: New test. + * rust/compile/proc_macro_derive_private.rs: New test. + * rust/compile/proc_macro_private.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_derive_non_function.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_attribute_non_function.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_non_function.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/abi-vardaic.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/non_member_const.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/break1.rs: Modified to pass test case. + * rust/compile/continue1.rs: likewise. + * rust/compile/break_continue_outside_loop.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_derive_malformed.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/proc_macro_attribute_crate_type.rs: New test. + * rust/compile/proc_macro_crate_type.rs: New test. + * rust/compile/proc_macro_derive_crate_type.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/found_struct.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/changed_intrinsics.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/torture/intrinsics-3.rs: Updated comment to pass the test case. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/bad_pub_enumitems.rs: changed comment to pass test cases. + * rust/compile/dup_fields.rs: likewise. + * rust/execute/same_field_name.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/wrong_lhs_assignment.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/func2.rs: updated comment to pass new test cases. + * rust/compile/tuple_struct2.rs: likewise. + * rust/compile/wrong_no_of_parameters.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + GuillaumeGomez <guillaume1.gomez@gmail.com> + + * rust/compile/name_resolution1.rs: New test. + * rust/compile/name_resolution2.rs: New test. + * rust/compile/name_resolution3.rs: New test. + * rust/compile/name_resolution4.rs: New test. + * rust/compile/name_resolution5.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/link/trait_import_0.rs: Mark test as xfail. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/break-rust2.rs: Updated comment to pass testcase. + * rust/compile/const_generics_3.rs: likewise. + * rust/compile/const_generics_4.rs: likewise. + * rust/compile/not_find_value_in_scope.rs: New test. + +2024-01-16 Muhammad Mahad <mahadtxt@gmail.com> + + * rust/compile/missing_constructor_fields.rs: New test. + +2024-01-16 Raiki Tamura <tamaron1203@gmail.com> + + * rust/compile/broken_utf8.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro-issue2273.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2105.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/rust_abi.rs: New test. + +2024-01-16 Raiki Tamura <tamaron1203@gmail.com> + + * rust/compile/bytecharstring.rs:add test for it + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro56.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1981.rs: Fix badly copied libcore code test + * rust/compile/issue-2330.rs: New test. + +2024-01-16 Raiki Tamura <tamaron1203@gmail.com> + + * rust/compile/torture/raw_identifiers.rs: New test. + * rust/compile/torture/utf8_identifiers.rs: New test. + +2024-01-16 Raiki Tamura <tamaron1203@gmail.com> + + * rust/compile/torture/utf8_whitespaces.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro-issue2268.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro-issue2264.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2304.rs: New test. + +2024-01-16 Matthew Jasper <mjjasper1@gmail.com> + + * rust/compile/macro54.rs: New test. + * rust/compile/macro55.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1893.rs: fully compile the test case + +2024-01-16 Matthew Jasper <mjjasper1@gmail.com> + + * rust/compile/braced_macro_arm.rs: New test. + * rust/compile/braced_macro_statements1.rs: New test. + * rust/compile/braced_macro_statements2.rs: New test. + * rust/compile/braced_macro_statements3.rs: New test. + * rust/compile/issue-2225.rs: Update test. + * rust/compile/macro53.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro6.rs: Remove check for direct error. + * rust/compile/macro7.rs: Likewise. + * rust/compile/macro-issue2229.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2036.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2019-2.rs: New test. + * rust/compile/issue-2019-3.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2019-1.rs: New test. + +2024-01-16 Dave Evans <dave@dmetwo.org> + + * rust/compile/issue-1813.rs: New test. + +2024-01-16 TieWay59 <tieway59@foxmail.com> + + * rust/compile/break1.rs: remove dg-error "failed to type resolve expression" + * rust/compile/break2.rs: Likewise + * rust/compile/cfg2.rs: Likewise + * rust/compile/continue1.rs: Likewise + * rust/compile/generics4.rs: Likewise + * rust/compile/generics6.rs: Likewise + * rust/compile/generics7.rs: Likewise + * rust/compile/issue-2029.rs: Likewise + * rust/compile/issue-2139.rs: Likewise + * rust/compile/issue-2190-1.rs: Likewise + * rust/compile/issue-925.rs: Likewise + * rust/compile/method1.rs: Likewise + * rust/compile/shadow1.rs: Likewise + * rust/compile/type-bindings1.rs: Likewise + * rust/compile/unary_negation.rs: Likewise + * rust/compile/unary_not.rs: Likewise + * rust/compile/unconstrained_type_param.rs: Likewise + * rust/compile/usize1.rs: Likewise + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/traits2.rs: update error message + * rust/compile/traits3.rs: update error message + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/derive_empty.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/test_mod.rs: Moved to... + * rust/compile/issue-1089/test_mod.rs: ...here. + * rust/compile/mod_missing_middle.rs: Fix paths. + * rust/compile/missing_middle/both_path.rs: Moved to... + * rust/compile/mod_missing_middle/missing_middle/both_path.rs: ...here. + * rust/compile/missing_middle/explicit.not.rs: Moved to... + * rust/compile/mod_missing_middle/missing_middle/explicit.not.rs: ...here. + * rust/compile/missing_middle/other.rs: Moved to... + * rust/compile/mod_missing_middle/missing_middle/explicit.not/other.rs: ...here. + * rust/compile/missing_middle/inner_path.rs: Moved to... + * rust/compile/mod_missing_middle/missing_middle/inner_path.rs: ...here. + * rust/compile/missing_middle/outer_path.rs: Moved to... + * rust/compile/mod_missing_middle/missing_middle/outer_path.rs: ...here. + * rust/compile/missing_middle/sub/mod.rs: Moved to... + * rust/compile/mod_missing_middle/missing_middle/sub/mod.rs: ...here. + * rust/compile/torture/modules/mod.rs: Moved to... + * rust/compile/torture/extern_mod1/modules/mod.rs: ...here. + * rust/execute/torture/modules/mod.rs: Moved to... + * rust/execute/torture/extern_mod4/modules/mod.rs: ...here. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/derive_macro8.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2165.rs: New test. + * rust/compile/issue-2166.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/struct-expr-parse.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/derive_macro7.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/derive_macro4.rs: New test. + * rust/compile/derive_macro6.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/execute/torture/derive_macro4.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro-delim.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/macro43.rs: Fix test with new derive macros. + * rust/compile/derive_macro1.rs: New test. + * rust/compile/derive_macro3.rs: New test. + * rust/execute/torture/derive_macro1.rs: New test. + * rust/execute/torture/derive_macro3.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/cfg6.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2195.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2238.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/issue-2225.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/issue-2207.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/execute/torture/issue-2236.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2190-1.rs: New test. + * rust/compile/issue-2190-2.rs: New test. + +2024-01-16 Matthew Jasper <mjjasper1@gmail.com> + + * rust/compile/nested_macro_use3.rs: New test. + +2024-01-16 Matthew Jasper <mjjasper1@gmail.com> + + * rust/compile/cfg-attr.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/doc_macro.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro-issue2194.rs: New test. + +2024-01-16 Matthew Jasper <mjjasper1@gmail.com> + + * rust/compile/for_expr.rs: New test. + * rust/compile/issue-407-2.rs: Update compiler output. + * rust/compile/issue-407.rs: Update compiler output. + * rust/compile/issue-867.rs: Update compiler output. + * rust/compile/issue-2189.rs: New test. + * rust/compile/macro_call_statement.rs: New test. + * rust/compile/stmt_with_block_dot.rs: New test. + * rust/compile/torture/loop8.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro-issue2192.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/const-issue1440.rs: Remove LE conditional compilation. + * rust/compile/torture/issue-1432.rs: Likewise. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/execute/torture/coercion3.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/execute/torture/issue-2179.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/execute/torture/issue-2180.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2188.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/parse_specialization.rs: + Add "default unsafe" coverage. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2178.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/macro_use1.rs: New test. + * rust/execute/torture/macro_use1.rs: New test. + * rust/compile/nested_macro_use1.rs: New test. + * rust/compile/nested_macro_use2.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/issue-1446.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/execute/torture/cfg-tail.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro52.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/issue-2125.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2135.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2106.rs: New test. + * rust/compile/issue-1524.rs: regression (placeholder generic) + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2142.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2136-1.rs: New test. + * rust/compile/issue-2136-2.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2139.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1893.rs: regression + * rust/compile/traits12.rs: rustc uses a custom error message here + * rust/compile/unconstrained_type_param.rs: extra error message + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/execute/torture/issue-1852-1.rs: New test. + * rust/execute/torture/issue-1852.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/issue-1807.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/let_alt.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-852.rs: New test. + +2024-01-16 Sergey Bugaev <bugaevc@gmail.com> + + * lib/prune.exp (prune_ices): + Also prune "You have broken GCC Rust. This is a feature." + * rust/compile/break-rust1.rs: New test + * rust/compile/break-rust2.rs: New test + * rust/compile/break-rust3.rs: New test + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/if_let_expr.rs: Increase test coverage. + +2024-01-16 Sebastian Kirmayer <gnu@kirmayer.eu> + + * rust/compile/macro-issue2092.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/macro51.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2070.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/execute/torture/issue-2080.rs: New test. + +2024-01-16 Emanuele Micheletti <micheletti.emanuele@hotmail.com> + + * rust/compile/cast5.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/const_generics_5.rs: update test case + * rust/compile/issue-2043.rs: New test. + * rust/compile/issue-2039.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2042.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-925.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/bounds1.rs: Moved to... + * rust/compile/bounds1.rs: ...here. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2029.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/execute/torture/issue-2052.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/array4.rs: New test. + * rust/execute/torture/arrays.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/privacy8.rs: New test. + +2024-01-16 emanuele-em <micheletti.emanuele@hotmail.com> + + * rust/compile/cast4.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/macro49.rs: New test. + * rust/compile/macro50.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-2037.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1893.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-850.rs: New test. + * rust/compile/issue-855.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1981.rs: New test. + +2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> + + * rust/compile/torture/alt_patterns1.rs: New test. + +2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> + + * rust/compile/multiple_bindings2.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/sizeof-stray-infer-var-bug.rs: New test. + +2024-01-16 Tage Johansson <frans.tage@gmail.com> + + * rust/compile/macro47.rs: Test that :vis can be followed by some keywords + * rust/compile/macro48.rs: Test that :vis cannot be followed by the keyword priv + +2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> + + * rust/compile/multiple_bindings1.rs: New test. + +2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> + + * rust/execute/torture/closure4.rs: New test. + * rust/execute/torture/ref-pattern2.rs: New test. + +2024-01-16 Mahmoud Mohamed <mahadelr19@gmail.com> + + * rust/compile/ref_pattern_fn_param.rs: Moved to... + * rust/compile/ref_pattern_fn_param1.rs: ...here. + * rust/compile/ref_pattern_fn_param2.rs: New test. + * rust/execute/torture/ref-pattern1.rs: New test. + +2024-01-16 goar5670 <mahadelr19@gmail.com> + + * rust/compile/ref_pattern_fn_param.rs: New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/lang-impl.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/stringify.rs: Add a basic test with some text. + * rust/execute/torture/builtin_macro_stringify.rs: Verify the + text is left as is without any other macro expansion. + +2024-01-16 Nikos Alexandris <nikos-alexandris@protonmail.com> + + * rust/compile/tuple_mismatch.rs: New test. + +2024-01-16 goar5670 <mahadelr19@gmail.com> + + * rust/compile/complex_qualified_path_in_expr.rs : New test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/closure_no_type_anno.rs: Extend test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1524.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/parse_associated_type_as_generic_arg3.rs: remove -fsyntax-only + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/parse_associated_type_as_generic_arg.rs: it now works without -fsyntax-only + * rust/compile/parse_associated_type_as_generic_arg2.rs: likewise + +2024-01-16 goar5670 <mahadelr19@gmail.com> + + * rust/compile/closure_no_type_anno.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/while_let_expr.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/torture/uninit-intrinsic-1.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/zero_sized_slice.rs: New test. + +2024-01-16 Nikos Alexandris <nikos-alexandris@protonmail.com> + + * rust/compile/builtin_macro_include_bytes_location_info.rs: New test. + * rust/compile/builtin_macro_include_str_location_info.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/slice_rest_pattern.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/if_let_expr.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/torture/intrinsics-8.rs: New test. + +2024-01-16 mxlol233 <mxlol233@outlook.com> + + * rust/compile/feature_extern_types.rs:New file. + +2024-01-16 bl7awy <mahadelr19@gmail.com> + + * rust/compile/cast_generics.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1901.rs: New test. + +2024-01-16 Philip Herron <herron.philip@googlemail.com> + + * rust/compile/issue-1930.rs: New test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/extern_type_item_missing_semi.rs: New failing + test. + +2024-01-16 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> + + * rust/compile/extern_type_item.rs: New test. + +2024-01-16 omkar-mohanty <franzohouser@gmail.com> + + * rust/compile/builtin_macro_eager3.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/parse_invalid_specialization.rs: New test. + * rust/compile/parse_specialization.rs: New test. + * rust/compile/default_not_a_kw.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/expand_macro_qual_path_in_type.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/auto_trait_invalid.rs: New test. + * rust/compile/auto_trait_valid.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/parse_associated_type_as_generic_arg3.rs: New test. + +2024-01-16 Arthur Cohen <arthur.cohen@embecosm.com> + + * rust/compile/parse_associated_type_as_generic_arg.rs: New test. + * rust/compile/parse_associated_type_as_generic_arg2.rs: New test. + * rust/compile/path_as_generic_arg.rs: New test. + * rust/compile/nested_generic.rs: New test. + +2024-01-16 mxlol233 <mxlol233@outlook.com> + + * rust/compile/builtin_macro_compile_error.rs: Add + crate feature `rustc_attri`. + * rust/compile/builtin_macro_concat.rs: Likewise. + * rust/compile/builtin_macro_eager1.rs: Likewise. + * rust/compile/builtin_macro_eager2.rs: Likewise. + * rust/compile/builtin_macro_env.rs: Likewise. + * rust/compile/builtin_macro_include_bytes.rs: + Likewise. + * rust/compile/builtin_macro_include_str.rs: + Likewise. + * rust/compile/builtin_macro_not_found.rs: + Likewise. + * rust/compile/builtin_macro_recurse2.rs: + Likewise. + * rust/compile/feature_rust_attri0.rs:New file. + * rust/compile/feature_rust_attri1.rs:New file. + * rust/compile/include_empty.rs:Add crate feature + `rustc_attri`. + * rust/compile/issue-1830_bytes.rs:Likewise. + * rust/compile/issue-1830_str.rs:Likewise. + * rust/compile/macro42.rs:Likewise. + * rust/execute/torture/builtin_macro_cfg.rs: + Likewise. + * 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/macros29.rs:Likewise. + * rust/execute/torture/macros30.rs:Likewise. + * rust/execute/torture/macros31.rs:Likewise. + +2024-01-16 Wilco Dijkstra <wilco.dijkstra@arm.com> + + PR target/112573 + * gcc.target/aarch64/pr112573.c: Add new test. + +2024-01-16 Owen Avery <powerboat9.gamer@gmail.com> + + * rust/compile/pattern-or.rs: New test. + +2024-01-16 Daniel Cederman <cederman@gaisler.com> + + * gcc.dg/lto/pr88077_0.c: Change type to match alignment for SPARC + +2024-01-16 Daniel Cederman <cederman@gaisler.com> + + * gcc.dg/ifcvt-4.c: Skip for SPARC V8 + +2024-01-16 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113372 + PR middle-end/90348 + PR middle-end/110115 + PR middle-end/111422 + * gcc.dg/torture/bitint-49.c: New test. + * gcc.c-torture/execute/pr90348.c: New test. + * gcc.c-torture/execute/pr110115.c: New test. + * gcc.c-torture/execute/pr111422.c: New test. + +2024-01-16 Feng Xue <fxue@os.amperecomputing.com> + + * gcc.target/aarch64/bb-slp-pr113091.c: New test. + +2024-01-16 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113404 + * gcc.target/riscv/rvv/base/big_endian-1.c: New test. + * gcc.target/riscv/rvv/base/big_endian-2.c: New test. + +2024-01-16 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/109705 + * lib/target-supports.exp (check_effective_target_vect_long_mult): + Fix powerpc*-*-* checks. + +2024-01-16 Yanzhang Wang <yanzhang.wang@intel.com> + + * gcc.target/riscv/rvv/base/abi-call-args-1-run.c: Delete the + -Wno-psabi. + * gcc.target/riscv/rvv/base/abi-call-args-1.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-2-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-2.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-3-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-3.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-4-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-args-4.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-error-1.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-return-run.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-return.c: Ditto. + * gcc.target/riscv/rvv/base/abi-call-variant_cc.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-1.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: Ditto. + * gcc.target/riscv/rvv/base/abi-callee-saved-2.c: Ditto. + * gcc.target/riscv/rvv/base/fixed-point-vxrm-error.c: Ditto. + * gcc.target/riscv/rvv/base/fixed-point-vxrm.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-cvt-f.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-cvt-x.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-cvt-xu.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-1.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-10.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-11.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-16.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-17.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-18.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-19.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-2.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-20.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-21.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-22.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-23.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-24.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-25.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-26.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-27.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-28.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-29.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-3.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-30.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-31.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-32.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-33.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-34.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-35.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-36.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-37.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-38.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-39.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-4.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-40.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-41.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-42.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-43.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-44.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-45.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-46.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-47.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-5.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-51.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-53.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-56.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-59.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-6.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-60.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-61.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-62.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-63.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-64.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-65.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-66.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-67.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-68.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-69.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-7.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-70.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-71.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-72.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-73.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-74.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-75.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-76.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-77.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-8.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-dynamic-frm-9.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-autovec-1.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-autovec-2.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-autovec-3.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-autovec-4.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-error.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-insert-1.c: Ditto. + * 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-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-frm-run-4.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm-run-5.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-frm.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-fwmacc.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-macc.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-madd.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-msac.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-msub.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-ncvt-f.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-ncvt-x.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-ncvt-xu.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-nmacc.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-nmadd.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-nmsac.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-nmsub.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-rec7.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-redosum.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-redusum.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-single-div.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-single-mul.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-single-rdiv.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-single-rsub.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-single-sub.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-sqrt.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-wcvt-x.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-wcvt-xu.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-widening-add.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-widening-mul.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-widening-sub.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-wmsac.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-wnmacc.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-wnmsac.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-wredosum.c: Ditto. + * gcc.target/riscv/rvv/base/float-point-wredusum.c: Ditto. + * gcc.target/riscv/rvv/base/intrisinc-vrgatherei16.c: Ditto. + * gcc.target/riscv/rvv/base/no-honor-frm-1.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vadd.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vfadd.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vget_vset.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vloxseg2ei16.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vmv.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv32_vreinterpret.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vadd.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vfadd.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vget_vset.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vloxseg2ei16.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vmv.c: Ditto. + * gcc.target/riscv/rvv/base/overloaded_rv64_vreinterpret.c: Ditto. + * gcc.target/riscv/rvv/base/pr110119-1.c: Ditto. + * gcc.target/riscv/rvv/base/pr110119-2.c: Ditto. + * gcc.target/riscv/rvv/base/pr110265-1.c: Ditto. + * gcc.target/riscv/rvv/base/pr110265-2.c: Ditto. + * gcc.target/riscv/rvv/base/pr110265-3.c: Ditto. + * gcc.target/riscv/rvv/base/pr110277-1.c: Ditto. + * gcc.target/riscv/rvv/base/pr110277-2.c: Ditto. + * gcc.target/riscv/rvv/base/pr110299-1.c: Ditto. + * gcc.target/riscv/rvv/base/pr110299-2.c: Ditto. + * gcc.target/riscv/rvv/base/pr110299-3.c: Ditto. + * gcc.target/riscv/rvv/base/pr110299-4.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-0.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-1.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-10.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-2.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-3.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-4.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-5.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-6.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-7.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-8.c: Ditto. + * gcc.target/riscv/rvv/base/pr111720-9.c: Ditto. + * gcc.target/riscv/rvv/base/pr111935.c: Ditto. + * gcc.target/riscv/rvv/base/scalar-move-merged-run-1.c: Ditto. + * gcc.target/riscv/rvv/base/simplify-vdiv.c: Ditto. + * gcc.target/riscv/rvv/base/simplify-vrsub.c: Ditto. + * gcc.target/riscv/rvv/base/tuple-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/tuple_vundefined.c: Ditto. + * gcc.target/riscv/rvv/base/vcreate.c: Ditto. + * gcc.target/riscv/rvv/base/vlmul_ext-2.c: Ditto. + * gcc.target/riscv/rvv/base/vslide1down-1.c: Ditto. + * gcc.target/riscv/rvv/base/vslide1down-2.c: Ditto. + * gcc.target/riscv/rvv/base/vslide1down-3.c: Ditto. + * gcc.target/riscv/rvv/base/vslide1up-1.c: Ditto. + * gcc.target/riscv/rvv/base/vslide1up-2.c: Ditto. + * gcc.target/riscv/rvv/base/vslide1up-3.c: Ditto. + * gcc.target/riscv/rvv/base/zvbb-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvbb_vandn_vx_constraint.c: Ditto. + * gcc.target/riscv/rvv/base/zvbc-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvbc_vx_constraint-1.c: Ditto. + * gcc.target/riscv/rvv/base/zvbc_vx_constraint-2.c: Ditto. + * gcc.target/riscv/rvv/base/zvfhmin-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvkg-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvkned-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvknha-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvknhb-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvksed-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvksh-intrinsic.c: Ditto. + +2024-01-16 Yanzhang Wang <yanzhang.wang@intel.com> + + * gcc.target/riscv/rvv/base/binop_vx_constraint-120.c: Delete the -Wno-psabi. + * gcc.target/riscv/rvv/base/integer_compare_insn_shortcut.c: Ditto. + * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: Ditto. + * gcc.target/riscv/rvv/base/misc_vreinterpret_vbool_vint.c: Ditto. + * gcc.target/riscv/rvv/base/pr110109-2.c: Ditto. + * gcc.target/riscv/rvv/base/scalar_move-9.c: Ditto. + * gcc.target/riscv/rvv/base/spill-10.c: Ditto. + * gcc.target/riscv/rvv/base/spill-11.c: Ditto. + * gcc.target/riscv/rvv/base/spill-9.c: Ditto. + * gcc.target/riscv/rvv/base/vlmul_ext-1.c: Ditto. + * gcc.target/riscv/rvv/base/zero_base_load_store_optimization.c: Ditto. + * gcc.target/riscv/rvv/base/zvfh-intrinsic.c: Ditto. + * gcc.target/riscv/rvv/base/zvfh-over-zvfhmin.c: Ditto. + * gcc.target/riscv/rvv/vsetvl/vsetvl-1.c: Ditto. + * gcc.target/riscv/rvv/base/vector-abi-1.c: Removed. + * gcc.target/riscv/rvv/base/vector-abi-2.c: Removed. + * gcc.target/riscv/rvv/base/vector-abi-3.c: Removed. + * gcc.target/riscv/rvv/base/vector-abi-4.c: Removed. + * gcc.target/riscv/rvv/base/vector-abi-5.c: Removed. + * gcc.target/riscv/rvv/base/vector-abi-6.c: Removed. + * gcc.target/riscv/rvv/base/vector-abi-7.c: Removed. + * gcc.target/riscv/rvv/base/vector-abi-8.c: Removed. + +2024-01-16 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/106229 + * c-c++-common/analyzer/taint-index-pr106229.c: New test. + +2024-01-16 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/113333 + * c-c++-common/analyzer/calloc-1.c: Add tests. + * c-c++-common/analyzer/pr96639.c: Update expected results. + * gcc.dg/analyzer/data-model-9.c: Likewise. + +2024-01-15 Marek Polacek <polacek@redhat.com> + + PR c++/110065 + * g++.dg/concepts/auto8.C: New test. + * g++.dg/concepts/auto8a.C: New test. + +2024-01-15 Patrick Palka <ppalka@redhat.com> + + * g++.dg/template/partial-specialization14.C: New test. + +2024-01-15 Patrick Palka <ppalka@redhat.com> + + PR c++/104634 + * g++.dg/cpp2a/concepts-explicit-inst6.C: New test. + +2024-01-15 Patrick Palka <ppalka@redhat.com> + + PR c++/109899 + * g++.dg/cpp0x/initlist-array21.C: New test. + +2024-01-15 H.J. Lu <hjl.tools@gmail.com> + + PR testsuite/113369 + * g++.dg/abi/ref-temp1.C: Remove --save-temps. + * g++.target/i386/bfloat_cpp_typecheck.C: Likewise. + * gcc.dg/debug/dwarf2/pr111080.c: Likewise. + * gcc.dg/debug/dwarf2/pr47939-1.c: Likewise. + * gcc.dg/debug/dwarf2/pr47939-2.c: Likewise. + * gcc.dg/debug/dwarf2/pr47939-3.c: Likewise. + * gcc.dg/debug/dwarf2/pr47939-4.c: Likewise. + +2024-01-15 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/113048 + * gcc.target/i386/pr113048.c: New test. + +2024-01-15 Liao Shihua <shihua@iscas.ac.cn> + + * gcc.target/riscv/scalar_bitmanip_intrinsic-32.c: New test. + * gcc.target/riscv/scalar_bitmanip_intrinsic-64-emulated.c: New test. + * gcc.target/riscv/scalar_bitmanip_intrinsic-64.c: New test. + +2024-01-15 Liao Shihua <shihua@iscas.ac.cn> + + * gcc.target/riscv/scalar_crypto_intrinsic-32.c: New test. + * gcc.target/riscv/scalar_crypto_intrinsic-64.c: New test. + +2024-01-15 Liao Shihua <shihua@iscas.ac.cn> + + * gcc.target/riscv/zbb_32_bswap-2.c: Moved to... + * gcc.target/riscv/zbb_bswap16.c: ...here. + * gcc.target/riscv/zbkb32.c: Remove __builtin_riscv_(un)zip and + zip,__builtin_riscv_brev8. + * gcc.target/riscv/zbkb64.c: Remove __builtin_riscv_brev8. + * gcc.target/riscv/zbb_32_bswap-1.c: Removed. + * gcc.target/riscv/zbb_bswap-1.c: Removed. + * gcc.target/riscv/zbb_bswap-2.c: Removed. + * gcc.target/riscv/zbbw.c: Removed. + * gcc.target/riscv/zbc32.c: Removed. + * gcc.target/riscv/zbc64.c: Removed. + * gcc.target/riscv/zbkc32.c: Removed. + * gcc.target/riscv/zbkc64.c: Removed. + * gcc.target/riscv/zbkx32.c: Removed. + * gcc.target/riscv/zbkx64.c: Removed. + * gcc.target/riscv/zknd32-2.c: Removed. + * gcc.target/riscv/zknd64-2.c: Removed. + * gcc.target/riscv/zkne32-2.c: Removed. + * gcc.target/riscv/zkne64-2.c: Removed. + * gcc.target/riscv/zknh-sha256-32.c: Removed. + * gcc.target/riscv/zknh-sha256-64.c: Removed. + * gcc.target/riscv/zknh-sha512-32.c: Removed. + * gcc.target/riscv/zknh-sha512-64.c: Removed. + * gcc.target/riscv/zksed32-2.c: Removed. + * gcc.target/riscv/zksed64-2.c: Removed. + * gcc.target/riscv/zksh32.c: Removed. + * gcc.target/riscv/zksh64.c: Removed. + +2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113247 + * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: Adapt test. + * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/pr113247-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/pr113247-2.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/pr113247-3.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/pr113247-4.c: New test. + +2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113281 + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-3.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-4.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-5.c: New test. + +2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/vls/reduc-1.c: Add dump check. + * gcc.target/riscv/rvv/autovec/vls/reduc-10.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-11.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-12.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-13.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-14.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-15.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-16.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-17.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-18.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-19.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-20.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-21.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-7.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/reduc-9.c: Ditto. + +2024-01-15 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113370 + * gcc.dg/torture/bitint-48.c: New test. + +2024-01-15 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113393 + * gcc.target/riscv/rvv/autovec/pr113393-1.c: New test. + * gcc.target/riscv/rvv/autovec/pr113393-2.c: New test. + * gcc.target/riscv/rvv/autovec/pr113393-3.c: New test. + +2024-01-15 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/unaligned-2.c: Add -mno-abicalls option. + +2024-01-14 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/builtin-object-size-1.c: Disable tests for strdup/strndup + on __hpux__. + * gcc.dg/builtin-object-size-2.c: Likewise. + * gcc.dg/builtin-object-size-3.c: Likewise. + * gcc.dg/builtin-object-size-4.c: Likewise. + +2024-01-14 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/builtin-dynamic-object-size-0.c: Skip on hppa*-*-hpux*. + * gcc.dg/builtin-dynamic-object-size-1.c: Likewise. + * gcc.dg/builtin-dynamic-object-size-2.c: Likewise. + * gcc.dg/builtin-dynamic-object-size-3.c: Likewise. + * gcc.dg/builtin-dynamic-object-size-4.c: Likewise. + +2024-01-14 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/Wattributes-6.c: Fix dg-warning on hppa*64*-*-*. + +2024-01-14 John David Anglin <danglin@gcc.gnu.org> + + PR analyzer/113150 + * c-c++-common/analyzer/fd-glibc-byte-stream-socket.c: Skip + on hppa*-*-hpux*. + * c-c++-common/analyzer/fd-manpage-getaddrinfo-client.c: Likewise. + * c-c++-common/analyzer/fd-mappage-getaddrinfo-server.c: Likewise. + * c-c++-common/analyzer/fd-symbolic-socket.c: Likewise. + * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: Likewise. + +2024-01-14 Georg-Johann Lay <avr@gjlay.de> + + PR target/112944 + * gcc.target/avr/torture/pr112944-flmap-0.c: New test. + * gcc.target/avr/torture/pr112944-flmap-1.c: New test. + +2024-01-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/67277 + * gfortran.dg/ishftc_optional_size_1.f90: New test. + +2024-01-13 John David Anglin <danglin@gcc.gnu.org> + + * gfortran.dg/fmt_f_default_field_width_3.f90: Add hppa*64*-*-hpux* + to real_16 dg-error targets. + * gfortran.dg/fmt_g_default_field_width_3.f90: Likewise. + +2024-01-13 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113305 + * gfortran.dg/do_concurrent_7.f90: New test. + +2024-01-13 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113361 + * gcc.dg/torture/bitint-47.c: New test. + +2024-01-13 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113287 + * gcc.dg/vect/vect-early-break_100-pr113287.c: Use long long instead + of long. + +2024-01-13 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/abi/mangle79.C: New test. + +2024-01-13 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/107823 + PR tree-optimization/110768 + PR tree-optimization/110941 + PR tree-optimization/110450 + PR tree-optimization/110841 + * gcc.dg/tree-ssa/ssa-thread-22.c: New test. + * gcc.dg/tree-ssa/vrp-loop-1.c: New test. + * gcc.dg/tree-ssa/vrp-loop-2.c: New test. + * gcc.dg/tree-ssa/vrp-unreachable-1.c: New test. + * gcc.dg/tree-ssa/vrp-unreachable-2.c: New test. + +2024-01-12 Jason Merrill <jason@redhat.com> + + PR c++/113038 + * g++.dg/modules/pr106304_b.C: Add dynamic_cast. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * gcc.target/arm/simd/vld1_base_xN_1.c: Updated. + * gcc.target/arm/simd/vld1_bf16_xN_1.c: Updated. + * gcc.target/arm/simd/vld1_fp16_xN_1.c: Updated. + * gcc.target/arm/simd/vld1_p64_xN_1.c: Updated. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * gcc.target/arm/simd/vld1_base_xN_1.c: Updated. + * gcc.target/arm/simd/vld1_bf16_xN_1.c: Updated. + * gcc.target/arm/simd/vld1_fp16_xN_1.c: Updated. + * gcc.target/arm/simd/vld1_p64_xN_1.c: Updated. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * gcc.target/arm/simd/vst1q_base_xN_1.c: Updated + * gcc.target/arm/simd/vst1q_bf16_xN_1.c: Updated + * gcc.target/arm/simd/vst1q_fp16_xN_1.c: Updated + * gcc.target/arm/simd/vst1q_p64_xN_1.c: Updated + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * gcc.target/arm/simd/vst1_base_xN_1.c: Updated. + * gcc.target/arm/simd/vst1_bf16_xN_1.c: Updated. + * gcc.target/arm/simd/vst1_fp16_xN_1.c: Updated. + * gcc.target/arm/simd/vst1_p64_xN_1.c: Updated. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * gcc.target/arm/simd/vst1_base_xN_1.c: Updated. + * gcc.target/arm/simd/vst1_bf16_xN_1.c: Updated. + * gcc.target/arm/simd/vst1_fp16_xN_1.c: Updated. + * gcc.target/arm/simd/vst1_p64_xN_1.c: Updated. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * gcc.target/arm/simd/vld1q_base_xN_1.c: Updated. + * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Updated. + * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Updated. + * gcc.target/arm/simd/vld1q_p64_xN_1.c: Updated. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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. + +2024-01-12 Ezra Sitorus <ezra.sitorus@arm.com> + + * 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. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR c/113315 + * gcc.dg/bitint-65.c: New test. + * gcc.dg/bitint-66.c: New test. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113287 + * gcc.dg/vect/vect-early-break_100-pr113287.c: Support non-bitint. + * gcc.dg/vect/vect-early-break_99-pr113287.c: Likewise. + * lib/target-supports.exp (bitint, bitint128, bitint575, bitint65535): + Document them. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113178 + * gcc.dg/vect/vect-early-break_101-pr113178.c: New test. + * gcc.dg/vect/vect-early-break_102-pr113178.c: New test. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113237 + * gcc.dg/vect/vect-early-break_98-pr113237.c: New test. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113137 + PR tree-optimization/113136 + PR tree-optimization/113172 + PR tree-optimization/113178 + * g++.dg/vect/vect-early-break_4-pr113137.cc: New test. + * g++.dg/vect/vect-early-break_5-pr113137.cc: New test. + * gcc.dg/vect/vect-early-break_95-pr113137.c: New test. + * gcc.dg/vect/vect-early-break_96-pr113136.c: New test. + * gcc.dg/vect/vect-early-break_97-pr113172.c: New test. + +2024-01-12 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113135 + * gcc.dg/vect/vect-early-break_103-pr113135.c: New test. + +2024-01-12 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp2a/concepts-memfun4.C: Change expected + reversed handling. + +2024-01-12 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113196 + * gcc.target/aarch64/pr113196.c: New test. + * gcc.target/aarch64/simd/vmovl_high_1.c: Remove double include. + Expect uxtl2 rather than zip2. + * gcc.target/aarch64/vect_mixed_sizes_8.c: Expect zip1 rather + than uxtl. + * gcc.target/aarch64/vect_mixed_sizes_9.c: Likewise. + * gcc.target/aarch64/vect_mixed_sizes_10.c: Likewise. + +2024-01-12 Richard Sandiford <richard.sandiford@arm.com> + + PR target/112989 + * gcc.target/aarch64/sve/acle/general-c/clamp_1.c: Remove bogus + error test. + +2024-01-12 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113281 + * gcc.target/riscv/rvv/autovec/pr113209.c: Adapt test. + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-1.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/pr113281-2.c: New test. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113334 + * gcc.dg/torture/bitint-46.c: New test. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113330 + * gcc.dg/bitint-69.c: New test. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113323 + * gcc.dg/bitint-68.c: New test. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113316 + * gcc.dg/bitint-67.c: New test. + +2024-01-12 Guillaume Gomez <guillaume1.gomez@gmail.com> + Antoni Boucher <bouanto@zoho.com> + + * jit.dg/all-non-failing-tests.h: Add new attributes tests. + * jit.dg/jit.exp: Add `jit-verify-assembler-output-not` test command. + * jit.dg/test-restrict-attribute.c: New test. + * jit.dg/test-alias-attribute.c: New test. + * jit.dg/test-always_inline-attribute.c: New test. + * jit.dg/test-cold-attribute.c: New test. + * jit.dg/test-const-attribute.c: New test. + * jit.dg/test-noinline-attribute.c: New test. + * jit.dg/test-nonnull-attribute.c: New test. + * jit.dg/test-pure-attribute.c: New test. + * jit.dg/test-used-attribute.c: New test. + * jit.dg/test-variable-attribute.c: New test. + * jit.dg/test-weak-attribute.c: New test. + +2024-01-12 Jakub Jelinek <jakub@redhat.com> + + * gcc.dg/bitint-31.c: Fix up #if conditions checking whether + __*_MANT_DIG__ is equal to a particular precision. + +2024-01-12 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/fold-min-poly.c: Remove -fno-vect-cost-model + +2024-01-12 Li Wei <liwei@loongson.cn> + + * gcc.target/loongarch/sign-extend-2.c: Adjust. + +2024-01-12 Li Wei <liwei@loongson.cn> + + * gcc.target/loongarch/sign-extend.c: Moved to... + * gcc.target/loongarch/sign-extend-1.c: ...here. + * gcc.target/loongarch/sign-extend-2.c: New test. + +2024-01-11 Julian Brown <julian@codesourcery.com> + + * gcc.dg/gomp/bad-array-section-c-1.c: New test. + * gcc.dg/gomp/bad-array-section-c-2.c: New test. + * gcc.dg/gomp/bad-array-section-c-3.c: New test. + * gcc.dg/gomp/bad-array-section-c-4.c: New test. + * gcc.dg/gomp/bad-array-section-c-5.c: New test. + * gcc.dg/gomp/bad-array-section-c-6.c: New test. + * gcc.dg/gomp/bad-array-section-c-7.c: New test. + * gcc.dg/gomp/bad-array-section-c-8.c: New test. + +2024-01-11 Jason Merrill <jason@redhat.com> + + PR c++/113191 + * g++.dg/cpp2a/concepts-memfun4.C: New test. + +2024-01-11 Jin Ma <jinma@linux.alibaba.com> + + * gcc.target/riscv/xtheadfmemidx-medany.c: New test. + +2024-01-11 Andrew Pinski <quic_apinski@quicinc.com> + + PR middle-end/113322 + * gcc.c-torture/compile/pr113322-1.c: New test. + +2024-01-11 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/113301 + * gcc.dg/tree-ssa/divide-8.c: New test. + +2024-01-11 Jason Merrill <jason@redhat.com> + + * g++.dg/cpp23/explicit-obj-diagnostics7.C: Remove xfail. + +2024-01-11 Tamar Christina <tamar.christina@arm.com> + + PR testsuite/113319 + * gcc.dg/bic-bitmask-13.c: Remove -save-temps. + * gcc.dg/bic-bitmask-14.c: Likewise. + * gcc.dg/bic-bitmask-15.c: Likewise. + * gcc.dg/bic-bitmask-16.c: Likewise. + * gcc.dg/bic-bitmask-17.c: Likewise. + * gcc.dg/bic-bitmask-18.c: Likewise. + * gcc.dg/bic-bitmask-19.c: Likewise. + * gcc.dg/bic-bitmask-20.c: Likewise. + * gcc.dg/bic-bitmask-21.c: Likewise. + * gcc.dg/bic-bitmask-22.c: Likewise. + * gcc.dg/bic-bitmask-7.c: Likewise. + * gcc.dg/vect/vect-early-break-run_1.c: Likewise. + * gcc.dg/vect/vect-early-break-run_10.c: Likewise. + * gcc.dg/vect/vect-early-break-run_2.c: Likewise. + * gcc.dg/vect/vect-early-break-run_3.c: Likewise. + * gcc.dg/vect/vect-early-break-run_4.c: Likewise. + * gcc.dg/vect/vect-early-break-run_5.c: Likewise. + * gcc.dg/vect/vect-early-break-run_6.c: Likewise. + * gcc.dg/vect/vect-early-break-run_7.c: Likewise. + * gcc.dg/vect/vect-early-break-run_8.c: Likewise. + * gcc.dg/vect/vect-early-break-run_9.c: Likewise. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/112505 + * gcc.dg/vect/pr112505.c: New testcase. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113126 + * gcc.dg/torture/pr113126.c: New testcase. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/112636 + * gcc.dg/pr112636.c: New testcase. + +2024-01-11 Pan Li <pan2.li@intel.com> + + * gcc.dg/pr30957-1.c: Remove. + +2024-01-11 Alex Coplan <alex.coplan@arm.com> + + PR target/113077 + * gcc.target/aarch64/pr113077.c: New test. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/111003 + * gcc.dg/tree-ssa/pr111003.c: New testcase. + +2024-01-11 Richard Biener <rguenther@suse.de> + + PR middle-end/112740 + * gcc.dg/pr112740.c: New testcase. + +2024-01-11 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/partial/slp-1.c: Remove xfail. + * 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. + +2024-01-11 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/sign-extend-bitwise.c: New test. + +2024-01-11 liuhongt <hongtao.liu@intel.com> + + * gcc.target/i386/pr104401.c: New test. + * gcc.dg/tree-ssa/pr95906.c: Adjust testcase. + +2024-01-11 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/112946 + * gm2/pim/fail/badbecomes.mod: New test. + * gm2/pim/fail/badexpression.mod: New test. + * gm2/pim/fail/badexpression2.mod: New test. + * gm2/pim/fail/badifin.mod: New test. + * gm2/pim/pass/goodifin.mod: New test. + +2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: Fix test. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: Ditto. + +2024-01-10 Antoni Boucher <bouanto@zoho.com> + + PR jit/111396 + * jit.dg/all-non-failing-tests.h: Add note about test-ggc-bugfix. + * jit.dg/test-ggc-bugfix.c: New test. + +2024-01-10 Jin Ma <jinma@linux.alibaba.com> + + * gcc.target/riscv/xtheadint-push-pop.c: New test. + +2024-01-10 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/112468 + * gcc.dg/fold-copysign-1.c: Modify tests based on if target supports + IFN_COPYSIGN. + * gcc.dg/pr55152-2.c: Likewise. + * gcc.dg/tree-ssa/abs-4.c: Likewise. + * gcc.dg/tree-ssa/backprop-6.c: Likewise. + * gcc.dg/tree-ssa/copy-sign-2.c: Likewise. + * gcc.dg/tree-ssa/mult-abs-2.c: Likewise. + * lib/target-supports.exp (check_effective_target_ifn_copysign): New. + +2024-01-10 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/112581 + * gcc.c-torture/execute/pr112581-1.c: New test. + +2024-01-10 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/pr105314.c: Fix comment termination. + +2024-01-10 Maciej W. Rozycki <macro@embecosm.com> + + * gcc.target/riscv/cset-sext-sfb.c: New test. + * gcc.target/riscv/cset-sext-thead.c: New test. + * gcc.target/riscv/cset-sext-ventana.c: New test. + * gcc.target/riscv/cset-sext-zicond.c: New test. + * gcc.target/riscv/cset-sext.c: New test. + +2024-01-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/112734 + * gcc.dg/bitint-64.c: New test. + +2024-01-10 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113287 + * gcc.dg/vect/vect-early-break_100-pr113287.c: New test. + * gcc.dg/vect/vect-early-break_99-pr113287.c: New test. + +2024-01-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113078 + * gcc.dg/vect/vect-reduc-cond-sub.c: New testcase. + * gcc.target/i386/vect-pr113078.c: Likewise. + +2024-01-10 Julian Brown <julian@codesourcery.com> + + * g++.dg/gomp/bad-array-section-10.C: Adjust diagnostics for C++23 and + up. + +2024-01-10 Julian Brown <julian@codesourcery.com> + + * g++.dg/gomp/array-section-1.C: Fix scan output for 32-bit target. + * g++.dg/gomp/array-section-2.C: Likewise. + * g++.dg/gomp/bad-array-section-4.C: Adjust error output for 32-bit + target. + +2024-01-10 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113144 + PR tree-optimization/113145 + * gcc.dg/vect/vect-early-break_94-pr113144.c: New test. + +2024-01-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113297 + * gcc.dg/bitint-63.c: Fix PR number. + +2024-01-10 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.dg/vect/slp-21.c: Add loongarch. + +2024-01-10 chenxiaolong <chenxiaolong@loongson.cn> + + * lib/target-supports.exp: Removed an issue with "target keyword" + checking errors on LoongArch architecture. + +2024-01-10 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113120 + * gcc.dg/bitint-63.c: New test. + +2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/autovec/vls/avg-1.c: Adapt test. + * gcc.target/riscv/rvv/autovec/vls/avg-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/avg-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/avg-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/avg-5.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/avg-6.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv32gcv.c: Ditto. + * gcc.target/riscv/rvv/autovec/widen/vec-avg-rv64gcv.c: Ditto. + +2024-01-10 Kewen Lin <linkw@linux.ibm.com> + + PR testsuite/112751 + * gcc.target/powerpc/pcrel-sibcall-1.c: Replace noinline as noipa. + +2024-01-10 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Add assembler-not check. + +2024-01-09 Jason Merrill <jason@redhat.com> + + * g++.dg/torture/accessor-fixits-9-xobj.C: New test. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + + PR c++/102609 + PR c++/102609 + C++23 P0847R7 (deducing this) - CWG2586. + * g++.dg/cpp23/explicit-obj-basic6.C: New test. + * g++.dg/cpp23/explicit-obj-default1.C: New test. + * g++.dg/cpp23/explicit-obj-default2.C: New test. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + + PR c++/102609 + PR c++/102609 + C++23 P0847R7 (deducing this) - xobj lambdas. + * g++.dg/cpp23/explicit-obj-diagnostics8.C: New test. + * g++.dg/cpp23/explicit-obj-lambda1.C: New test. + * g++.dg/cpp23/explicit-obj-lambda10.C: New test. + * g++.dg/cpp23/explicit-obj-lambda11.C: New test. + * g++.dg/cpp23/explicit-obj-lambda12.C: New test. + * g++.dg/cpp23/explicit-obj-lambda13.C: New test. + * g++.dg/cpp23/explicit-obj-lambda2.C: New test. + * g++.dg/cpp23/explicit-obj-lambda3.C: New test. + * g++.dg/cpp23/explicit-obj-lambda4.C: New test. + * g++.dg/cpp23/explicit-obj-lambda5.C: New test. + * g++.dg/cpp23/explicit-obj-lambda6.C: New test. + * g++.dg/cpp23/explicit-obj-lambda7.C: New test. + * g++.dg/cpp23/explicit-obj-lambda8.C: New test. + * g++.dg/cpp23/explicit-obj-lambda9.C: New test. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + + PR c++/102609 + PR c++/102609 + C++23 P0847R7 (deducing this) - diagnostics. + * g++.dg/cpp23/feat-cxx2b.C: Test existance and value of + __cpp_explicit_this_parameter feature test macro. + * g++.dg/cpp26/feat-cxx26.C: Likewise. + * g++.dg/cpp23/explicit-obj-cxx-dialect-A.C: New test. + * g++.dg/cpp23/explicit-obj-cxx-dialect-B.C: New test. + * g++.dg/cpp23/explicit-obj-cxx-dialect-C.C: New test. + * g++.dg/cpp23/explicit-obj-cxx-dialect-D.C: New test. + * g++.dg/cpp23/explicit-obj-cxx-dialect-E.C: New test. + * g++.dg/cpp23/explicit-obj-diagnostics1.C: New test. + * g++.dg/cpp23/explicit-obj-diagnostics2.C: New test. + * g++.dg/cpp23/explicit-obj-diagnostics3.C: New test. + * g++.dg/cpp23/explicit-obj-diagnostics4.C: New test. + * g++.dg/cpp23/explicit-obj-diagnostics5.C: New test. + * g++.dg/cpp23/explicit-obj-diagnostics6.C: New test. + * g++.dg/cpp23/explicit-obj-diagnostics7.C: New test. + +2024-01-09 waffl3x <waffl3x@protonmail.com> + + PR c++/102609 + PR c++/102609 + C++23 P0847R7 (deducing this) - initial functionality. + * g++.dg/cpp23/explicit-obj-basic1.C: New test. + * g++.dg/cpp23/explicit-obj-basic2.C: New test. + * g++.dg/cpp23/explicit-obj-basic3.C: New test. + * g++.dg/cpp23/explicit-obj-basic4.C: New test. + * g++.dg/cpp23/explicit-obj-basic5.C: New test. + * g++.dg/cpp23/explicit-obj-by-value1.C: New test. + * g++.dg/cpp23/explicit-obj-by-value2.C: New test. + * g++.dg/cpp23/explicit-obj-by-value3.C: New test. + * g++.dg/cpp23/explicit-obj-by-value4.C: New test. + * g++.dg/cpp23/explicit-obj-constraints.C: New test. + * g++.dg/cpp23/explicit-obj-constraints2.C: New test. + * g++.dg/cpp23/explicit-obj-ops-mem-arrow.C: New test. + * g++.dg/cpp23/explicit-obj-ops-mem-assignment.C: New test. + * g++.dg/cpp23/explicit-obj-ops-mem-call.C: New test. + * g++.dg/cpp23/explicit-obj-ops-mem-subscript.C: New test. + * g++.dg/cpp23/explicit-obj-ops-non-mem-dep.C: New test. + * g++.dg/cpp23/explicit-obj-ops-non-mem-non-dep.C: New test. + * g++.dg/cpp23/explicit-obj-ops-non-mem.h: New test. + * g++.dg/cpp23/explicit-obj-ops-requires-mem.C: New test. + * g++.dg/cpp23/explicit-obj-ops-requires-non-mem.C: New test. + * g++.dg/cpp23/explicit-obj-redecl.C: New test. + * g++.dg/cpp23/explicit-obj-redecl2.C: New test. + * g++.dg/cpp23/explicit-obj-redecl3.C: New test. + * g++.dg/cpp23/explicit-obj-redecl4.C: New test. + +2024-01-09 Jakub Jelinek <jakub@redhat.com> + + PR c/113262 + * gcc.dg/pr113262.c: New test. + +2024-01-09 Tamar Christina <tamar.christina@arm.com> + + PR tree-optimization/113199 + * gcc.target/gcn/pr113199.c: New test. + +2024-01-09 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/arm/vect-early-break-cbranch.c: Accept thumb output. + +2024-01-09 Tamar Christina <tamar.christina@arm.com> + + PR c/113267 + * gcc.dg/pr113267.c: New test. + +2024-01-09 Tamar Christina <tamar.christina@arm.com> + + PR middle-end/113163 + * gcc.target/gcn/pr113163.c: New test. + +2024-01-09 Julian Brown <julian@codesourcery.com> + + * c-c++-common/gomp/map-6.c: Update expected output. + * c-c++-common/gomp/target-enter-data-1.c: Update scan test. + * g++.dg/gomp/array-section-1.C: New test. + * g++.dg/gomp/array-section-2.C: New test. + * g++.dg/gomp/bad-array-section-1.C: New test. + * g++.dg/gomp/bad-array-section-2.C: New test. + * g++.dg/gomp/bad-array-section-3.C: New test. + * g++.dg/gomp/bad-array-section-4.C: New test. + * g++.dg/gomp/bad-array-section-5.C: New test. + * g++.dg/gomp/bad-array-section-6.C: New test. + * g++.dg/gomp/bad-array-section-7.C: New test. + * g++.dg/gomp/bad-array-section-8.C: New test. + * g++.dg/gomp/bad-array-section-9.C: New test. + * g++.dg/gomp/bad-array-section-10.C: New test. + * g++.dg/gomp/bad-array-section-11.C: New test. + * g++.dg/gomp/has_device_addr-non-lvalue-1.C: New test. + * g++.dg/gomp/pr67522.C: Update expected output. + * g++.dg/gomp/ind-base-3.C: New test. + * g++.dg/gomp/map-assignment-1.C: New test. + * g++.dg/gomp/map-inc-1.C: New test. + * g++.dg/gomp/map-lvalue-ref-1.C: New test. + * g++.dg/gomp/map-ptrmem-1.C: New test. + * g++.dg/gomp/map-ptrmem-2.C: New test. + * g++.dg/gomp/map-static-cast-lvalue-1.C: New test. + * g++.dg/gomp/map-ternary-1.C: New test. + * g++.dg/gomp/member-array-2.C: New test. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/bip_prim_func2.adb: New test. + * gnat.dg/bip_prim_func2_pkg.ads, gnat.dg/bip_prim_func2_pkg.adb: + New helper package. + +2024-01-09 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113210 + * gcc.c-torture/compile/pr113210.c: New test. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/specs/anon4.ads: New test. + +2024-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * g++.dg/opt/delay-slot-2.C: New test. + +2024-01-09 Roger Sayle <roger@nextmovesoftware.com> + Hongtao Liu <hongtao.liu@intel.com> + + * gcc.target/i386/auto-init-8.c: Update test case. + * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Likewise. + * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Likewise. + * gcc.target/i386/avx512fp16-13.c: Likewise. + * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Likewise. + * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Likewise. + * gcc.target/i386/pr100865-1.c: Likewise. + * gcc.target/i386/pr100865-10a.c: Likewise. + * gcc.target/i386/pr100865-10b.c: Likewise. + * gcc.target/i386/pr100865-2.c: Likewise. + * gcc.target/i386/pr100865-3.c: Likewise. + * gcc.target/i386/pr100865-4a.c: Likewise. + * gcc.target/i386/pr100865-4b.c: Likewise. + * gcc.target/i386/pr100865-5a.c: Likewise. + * gcc.target/i386/pr100865-5b.c: Likewise. + * gcc.target/i386/pr100865-9a.c: Likewise. + * gcc.target/i386/pr100865-9b.c: Likewise. + * gcc.target/i386/pr102021.c: Likewise. + * gcc.target/i386/pr90773-17.c: Likewise. + +2024-01-09 Haochen Jiang <haochen.jiang@intel.com> + + * gcc.target/i386/avx512fp16-xorsign-1.c: Fix testcase. + * gcc.target/i386/part-vect-absneghf.c: Ditto. + +2024-01-09 Jiahao Xu <xujiahao@loongson.cn> + + * gcc.target/loongarch/vector/lasx/lasx-vec-init-2.c: New test. + +2024-01-09 Feng Wang <wangfeng@eswincomputing.com> + + * gcc.target/riscv/rvv/base/zvbb-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvbb_vandn_vx_constraint.c: New test. + * gcc.target/riscv/rvv/base/zvbc-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvbc_vx_constraint-1.c: New test. + * gcc.target/riscv/rvv/base/zvbc_vx_constraint-2.c: New test. + * gcc.target/riscv/rvv/base/zvkg-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvkned-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvknha-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvknhb-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvksed-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvksh-intrinsic.c: New test. + * gcc.target/riscv/zvkb.c: New test. + +2024-01-08 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/tree-ssa/ssa-sink-18.c: xfail dg-final "Sunk statements: 5" + on hppa*64*-*-*. + +2024-01-08 John David Anglin <danglin@gcc.gnu.org> + + * gfortran.dg/dec_math.f90: Skip on hppa*-*-hpux*. + +2024-01-08 John David Anglin <danglin@gcc.gnu.org> + + PR testsuite/94253 + * gfortran.dg/bind_c_coms.f90: Add -fcommon option on hppa*-*-*. + * gfortran.dg/bind_c_vars.f90: Likewise. + +2024-01-08 Cupertino Miranda <cupertino.miranda@oracle.com> + + * gcc.target/bpf/attr-kernel-helper.c: New test. + +2024-01-08 Harald Anlauf <anlauf@gmx.de> + + PR fortran/113245 + * gfortran.dg/size_optional_dim_2.f90: New test. + +2024-01-08 Richard Biener <rguenther@suse.de> + + PR tree-optimization/113026 + * gcc.dg/torture/pr113026-1.c: New testcase. + * gcc.dg/torture/pr113026-2.c: Likewise. + +2024-01-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113228 + * gcc.c-torture/compile/pr113228.c: New test. + +2024-01-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113120 + * gcc.dg/bitint-62.c: New test. + +2024-01-08 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113119 + * gcc.dg/bitint-61.c: New test. + +2024-01-08 Georg-Johann Lay <avr@gjlay.de> + + PR target/112952 + * gcc.target/avr/attribute-io.h: New file. + * gcc.target/avr/pr112952-0.c: New test. + * gcc.target/avr/pr112952-1.c: New test. + * gcc.target/avr/pr112952-2.c: New test. + * gcc.target/avr/pr112952-3.c: New test. + +2024-01-08 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.h: Use + check + abort rather than assert. + +2024-01-07 Georg-Johann Lay <avr@gjlay.de> + + * gcc.target/avr/lra-cpymem_qi.c: Remove duplicate -mmcu=. + * gcc.target/avr/lra-elim.c: Same. + * gcc.target/avr/pr112830.c: Skip for Reduced Tiny. + * gcc.target/avr/pr46779-1.c: Same. + * gcc.target/avr/pr46779-2.c: Same. + * gcc.target/avr/pr86869.c: Skip for Reduced Tiny and add -std=gnu99 + for GNU-C due to address spaces. + * gcc.target/avr/pr89270.c: Same. + * gcc.target/avr/torture/builtins-2-flash.c: Only test address + space __flash1 if we have it. + * gcc.target/avr/torture/addr-space-1-1.c: Same. + * gcc.target/avr/torture/addr-space-2-1.c: Same. + +2024-01-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + * gfortran.dg/dtio_25.f90: Update. + * gfortran.dg/namelist_57.f90: Update. + * gfortran.dg/namelist_65.f90: Update. + +2024-01-07 Roger Sayle <roger@nextmovesoftware.com> + Uros Bizjak <ubizjak@gmail.com> + + PR target/113231 + * gcc.target/i386/pr113231.c: New test case. + +2024-01-07 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vect/vect-early-break_2.c: Skip Arm. + * gcc.dg/vect/vect-early-break_7.c: Likewise. + * gcc.dg/vect/vect-early-break_75.c: Likewise. + * gcc.dg/vect/vect-early-break_77.c: Likewise. + * gcc.dg/vect/vect-early-break_82.c: Likewise. + * gcc.dg/vect/vect-early-break_88.c: Likewise. + * lib/target-supports.exp (add_options_for_vect_early_break, + check_effective_target_vect_early_break_hw, + check_effective_target_vect_early_break): Support AArch32. + * gcc.target/arm/vect-early-break-cbranch.c: New test. + +2024-01-07 Jeff Law <jlaw@ventanamicro.com> + + * gcc.dg/tree-ssa/phi-opt-25b.c: Remove extraneous "short". + +2024-01-07 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + * gcc.dg/torture/pr110838.c: Use proper shift offset to get MSB or int. + * gcc.dg/torture/pr112282.c: Use at least 32 bits for :20 bit-fields. + * gcc.dg/tree-ssa/bitcmp-5.c: Use integral type with 32 bits or more. + * gcc.dg/tree-ssa/bitcmp-6.c: Same. + * gcc.dg/tree-ssa/cltz-complement-max.c: Same. + * gcc.dg/tree-ssa/cltz-max.c: Same. + * gcc.dg/tree-ssa/if-to-switch-8.c: Use literals that fit int. + * gcc.dg/tree-ssa/if-to-switch-9.c [avr]: Set case-values-threshold=3. + * gcc.dg/tree-ssa/negneg-3.c: Discriminate [not] large_double. + * gcc.dg/tree-ssa/phi-opt-25b.c: Use types of correct widths for + __builtin_bswapN. + * gcc.dg/tree-ssa/pr55177-1.c: Same. + * gcc.dg/tree-ssa/popcount-max.c: Use int32_t where required. + * gcc.dg/tree-ssa/pr111583-1.c: Use intptr_t as needed. + * gcc.dg/tree-ssa/pr111583-2.c: Same. + +2024-01-07 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + * gcc.dg/memchr-3.c [avr]: Anticipate -Wbuiltin-declaration-mismatch. + * gcc.dg/pr103207.c: Use __INT32_TYPE__ instead of int. + * gcc.dg/pr103451.c [void* != long]: Anticipate -Wpointer-to-int-cast. + * gcc.dg/pr110496.c [void* != long]: Anticipate -Wint-to-pointer-cast. + * gcc.dg/pr109977.c: Use __SIZEOF_DOUBLE__ instead of 8. + * gcc.dg/pr110506-2.c: Use __UINT32_TYPE__ for uint32_t. + * gcc.dg/pr110582.c: Require int32plus. + * gcc.dg/pr111039.c: [sizeof(int) < 4]: Use __INT32_TYPE__. + * gcc.dg/pr111599.c: Same. + * gcc.dg/builtin-dynamic-object-size-0.c: Require size20plus. + * gcc.dg/builtin-object-size-1.c [avr]: Skip tests with strndup. + * gcc.dg/builtin-object-size-2.c: Same. + * gcc.dg/builtin-object-size-3.c: Same. + * gcc.dg/builtin-object-size-4.c: Same. + * gcc.dg/pr111070.c: Use __UINTPTR_TYPE__ instead of unsigned long. + * gcc.dg/debug/btf/btf-pr106773.c: Same. + * gcc.dg/debug/btf/btf-bitfields-2.c: [sizeof(int) < 4]: Use + __UINT32_TYPE__. + +2024-01-07 Georg-Johann Lay <avr@gjlay.de> + + PR testsuite/52641 + * gcc.c-torture/compile/attr-complex-method-2.c [target=avr]: Check + for "divsc3" as double = float per default. + * gcc.c-torture/compile/pr106537-1.c: Use __INTPTR_TYPE__ instead of + hard-coded "long". + * gcc.c-torture/compile/pr106537-2.c: Same. + * gcc.c-torture/compile/pr106537-3.c: Same. + * gcc.c-torture/execute/20230630-3.c: Use __INT32_TYPE__ for bit-field + wider than 16 bits. + * gcc.c-torture/execute/20230630-4.c: Same. + * gcc.c-torture/execute/pr109938.c: Require int32plus. + * gcc.c-torture/execute/pr109986.c: Same. + * gcc.dg/fold-ior-4.c: Same. + * gcc.dg/fold-ior-5.c: Same + * gcc.dg/fold-parity-5.c: Same. + * gcc.dg/fold-popcount-5.c: Same. + * gcc.dg/builtin-bswap-13.c [sizeof(int) < 4]: Use __INT32_TYPE__ + instead of int. + * gcc.dg/builtin-bswap-14.c: Use __INT32_TYPE__ instead of int where + required by code. + * gcc.dg/c23-constexpr-9.c: Require large_double. + * gcc.dg/c23-nullptr-1.c [target=avr]: xfail. + * gcc.dg/loop-unswitch-10.c: Require size32plus. + * gcc.dg/loop-unswitch-14.c: Same. + * gcc.dg/loop-unswitch-11.c: Require int32. + * gcc.dg/pr101836.c: Use __SIZEOF_INT instead of hard-coded 4. + * gcc.dg/pr101836_1.c: Same. + * gcc.dg/pr101836_2.c: Same. + * gcc.dg/pr101836_3.c: Same. + +2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> + + * g++.dg/modules/init-5_a.C: New test. + * g++.dg/modules/init-5_b.C: New test. + +2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/109679 + * g++.dg/modules/using-11.h: New test. + * g++.dg/modules/using-11_a.C: New test. + * g++.dg/modules/using-11_b.C: New test. + +2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/110808 + * g++.dg/modules/part-hdr-1_c.C: Fix syntax. + * g++.dg/modules/part-mac-1_c.C: Likewise. + * g++.dg/modules/mod-invalid-1.C: New test. + * g++.dg/modules/part-8_a.C: New test. + * g++.dg/modules/part-8_b.C: New test. + * g++.dg/modules/part-8_c.C: New test. + +2024-01-06 Harald Anlauf <anlauf@gmx.de> + José Rui Faustino de Sousa <jrfsousa@gmail.com> + + PR fortran/96724 + * gfortran.dg/repeat_8.f90: New test. + +2024-01-06 Jiahao Xu <xujiahao@loongson.cn> + + * gcc.target/loongarch/vector/lasx/lasx-xvpremi.c: Removed. + * gcc.target/loongarch/vector/lasx/lasx-xvpermi_q.c: New test. + +2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113248 + * gcc.target/riscv/rvv/vsetvl/pr113248.c: New test. + +2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-12.c: New test. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-14.c: New test. + +2024-01-06 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/vf_avl-4.c: New test. + +2024-01-05 Richard Sandiford <richard.sandiford@arm.com> + + PR target/113104 + * gcc.target/aarch64/pr113104.c: New test. + * gcc.target/aarch64/sve/cond_arith_1.c: Update for new parameter + names. + * gcc.target/aarch64/sve/cond_arith_1_run.c: Likewise. + * gcc.target/aarch64/sve/cond_arith_3.c: Likewise. + * gcc.target/aarch64/sve/cond_arith_3_run.c: Likewise. + * gcc.target/aarch64/sve/gather_load_6.c: Likewise. + * gcc.target/aarch64/sve/gather_load_7.c: Likewise. + * gcc.target/aarch64/sve/load_const_offset_2.c: Likewise. + * gcc.target/aarch64/sve/load_const_offset_3.c: Likewise. + * gcc.target/aarch64/sve/mask_gather_load_6.c: Likewise. + * gcc.target/aarch64/sve/mask_gather_load_7.c: Likewise. + * gcc.target/aarch64/sve/mask_load_slp_1.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_1.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_1_run.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_2_run.c: Likewise. + * gcc.target/aarch64/sve/pack_1.c: Likewise. + * gcc.target/aarch64/sve/reduc_4.c: Likewise. + * gcc.target/aarch64/sve/scatter_store_6.c: Likewise. + * gcc.target/aarch64/sve/scatter_store_7.c: Likewise. + * gcc.target/aarch64/sve/strided_load_3.c: Likewise. + * gcc.target/aarch64/sve/strided_store_3.c: Likewise. + * gcc.target/aarch64/sve/unpack_fcvt_signed_1.c: Likewise. + * gcc.target/aarch64/sve/unpack_fcvt_unsigned_1.c: Likewise. + * gcc.target/aarch64/sve/unpack_signed_1.c: Likewise. + * gcc.target/aarch64/sve/unpack_unsigned_1.c: Likewise. + * gcc.target/aarch64/sve/unpack_unsigned_1_run.c: Likewise. + * gcc.target/aarch64/sve/vcond_11.c: Likewise. + * gcc.target/aarch64/sve/vcond_11_run.c: Likewise. + +2024-01-05 Lulu Cheng <chenglulu@loongson.cn> + + * gcc.target/loongarch/vect-ld-st-imm12.c: New test. + +2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.dg/fma-3.c: The intermediate file corresponding to the + function does not produce the corresponding FNMA symbol, so the test + rules should be skipped when testing. + * gcc.dg/fma-4.c: The intermediate file corresponding to the + function does not produce the corresponding FNMS symbol, so skip the + test rules when testing. + * gcc.dg/fma-6.c: The cause is the same as fma-3.c. + * gcc.dg/fma-7.c: The cause is the same as fma-4.c + +2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.dg/vect/bb-slp-pattern-1.c: If you are testing on the + LoongArch architecture, you need to add the "-mlasx" compilation + option to generate vectorized code. + * gcc.dg/vect/slp-widen-mult-half.c: Dito. + * gcc.dg/vect/vect-widen-mult-const-s16.c: Dito. + * gcc.dg/vect/vect-widen-mult-const-u16.c: Dito. + * gcc.dg/vect/vect-widen-mult-half-u8.c: Dito. + * gcc.dg/vect/vect-widen-mult-half.c: Dito. + * gcc.dg/vect/vect-widen-mult-u16.c: Dito. + * gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: Dito. + * gcc.dg/vect/vect-widen-mult-u8-u32.c: Dito. + * gcc.dg/vect/vect-widen-mult-u8.c: Dito. + +2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> + + * gfortran.dg/vect/pr60510.f: Delete the default behavior of the + program. + +2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> + + * gfortran.dg/bind_c_array_params_2.f90: Add code test rules to + support testing of the loongArch architecture. + +2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.dg/vect/vect-82.c: Add the LoongArch architecture to the + object detection framework. + * gcc.dg/vect/vect-83.c: Dito. + +2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.dg/vect/vect-bic-bitmask-12.c: Change the default + setting of assembly to compile. + * gcc.dg/vect/vect-bic-bitmask-23.c: Dito. + +2024-01-05 chenxiaolong <chenxiaolong@loongson.cn> + + * lib/target-supports.exp: Add LoongArch to the list of supported + targets. + +2024-01-05 Alex Coplan <alex.coplan@arm.com> + + PR target/113217 + * g++.dg/pr113217.C: New test. + +2024-01-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/113201 + * gcc.c-torture/compile/pr113201.c: New test. + +2024-01-05 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/90693 + * gcc.target/i386/pr90693-2.c: New test. + +2024-01-05 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.h: + Fix the check condition. + +2024-01-05 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/rvv/autovec/binop/shift-scalar-template.h: + Use __builtin_abort instead of assert. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax-1.c: Drop math.h. + * 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_fmax_zvfh-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmax_zvfh-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-2.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-3.c: Ditto. + * gcc.target/riscv/rvv/autovec/cond/cond_fmin_zvfh-4.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-2.h: Use + __builtin_abort instead of assert. + * gcc.target/riscv/rvv/autovec/pr112694-1.c: Ditto. + * gcc.target/riscv/rvv/autovec/partial/single_rgroup-3.h: Ditto. + * gcc.target/riscv/rvv/autovec/unop/abs-template.h: Drop stdlib.h. + * gcc.target/riscv/rvv/autovec/unop/vneg-template.h: Ditto. + * gcc.target/riscv/rvv/autovec/unop/vnot-template.h: Ditto. + +2024-01-05 Pan Li <pan2.li@intel.com> + + Revert: + 2024-01-05 Feng Wang <wangfeng@eswincomputing.com> + + * gcc.target/riscv/rvv/base/zvbb-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvbb_vandn_vx_constraint.c: New test. + * gcc.target/riscv/rvv/base/zvbc-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvbc_vx_constraint-1.c: New test. + * gcc.target/riscv/rvv/base/zvbc_vx_constraint-2.c: New test. + * gcc.target/riscv/rvv/base/zvkg-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvkned-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvknha-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvknhb-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvksed-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvksh-intrinsic.c: New test. + * gcc.target/riscv/zvkb.c: New test. + +2024-01-05 Feng Wang <wangfeng@eswincomputing.com> + + * gcc.target/riscv/rvv/base/zvbb-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvbb_vandn_vx_constraint.c: New test. + * gcc.target/riscv/rvv/base/zvbc-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvbc_vx_constraint-1.c: New test. + * gcc.target/riscv/rvv/base/zvbc_vx_constraint-2.c: New test. + * gcc.target/riscv/rvv/base/zvkg-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvkned-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvknha-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvknhb-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvksed-intrinsic.c: New test. + * gcc.target/riscv/rvv/base/zvksh-intrinsic.c: New test. + * gcc.target/riscv/zvkb.c: New test. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test. + +2024-01-04 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/113186 + * gcc.dg/tree-ssa/bitops-bool-1.c: New test. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + * lib/gcc-dg.exp: Set TERM to xterm. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/112790 + * c-c++-common/analyzer/deref-before-check-pr112790.c: New test. + +2024-01-04 David Malcolm <dmalcolm@redhat.com> + + PR analyzer/113222 + * gcc.dg/analyzer/out-of-bounds-diagram-pr113222.c: New test. + +2024-01-04 Kuan-Lin Chen <rufus@andestech.com> + Patrick Lin <patrick@andestech.com> + Rufus Chen <rufus@andestech.com> + Monk Chiang <monk.chiang@sifive.com> + + * gcc.target/riscv/_Float16-nanboxing.c: New test. + +2024-01-04 Pan Li <pan2.li@intel.com> + + Revert: + 2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-13.c: New test. + +2024-01-04 Kito Cheng <kito.cheng@sifive.com> + + * gcc.target/riscv/interrupt-misaligned.c: New. + +2024-01-04 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.dg/vect/slp-26.c: Add loongarch. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-11.c: New test. + +2024-01-04 chenxiaolong <chenxiaolong@loongson.cn> + + * gcc.target/loongarch/vector/lasx/lasx-xvstelm.c:Add compile + option "-fno-vect-cost-model" to dg-options. + +2024-01-04 YunQiang Su <syq@gcc.gnu.org> + + * gcc.c-torture/compile/mipscop-1.c: Include stdio.h. + * gcc.c-torture/compile/mipscop-2.c: Ditto. + * gcc.c-torture/compile/mipscop-3.c: Ditto. + * gcc.c-torture/compile/mipscop-4.c: Ditto. + +2024-01-04 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/pr104914.c: New test. + +2024-01-04 YunQiang Su <syq@gcc.gnu.org> + + * gcc.target/mips/data-sym-multi-pool.c: Skip Os or -O0. + +2024-01-04 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113206 + PR target/113209 + * gcc.target/riscv/rvv/vsetvl/avl_single-23.c: Adapt test. + * gcc.target/riscv/rvv/vsetvl/vlmax_call-1.c: Robostify test. + * 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_conflict-5.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/autovec/pr113206-1.c: New test. + * gcc.target/riscv/rvv/autovec/pr113206-2.c: New test. + * gcc.target/riscv/rvv/autovec/pr113209.c: New test. + +2024-01-03 Patrick Palka <ppalka@redhat.com> + + PR c++/113064 + * g++.dg/cpp0x/rv-conv4.C: New test. + * g++.dg/cpp0x/rv-conv5.C: New test. + +2024-01-03 Xi Ruoyao <xry111@xry111.site> + + * gcc.target/loongarch/vfmax-vfmin.c: New test. + +2024-01-03 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113112 + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-5.c: New test. + +2024-01-02 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * gfortran.dg/vect/vect-8.f90: Accept more vectorized loops. + +2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + * gcc.target/riscv/rvv/base/vf_avl-3.c: New test. + +2024-01-02 Lulu Cheng <chenglulu@loongson.cn> + + * lib/target-supports.exp: Add a function to check whether binutil supports + TLS Le Relax. + * gcc.target/loongarch/tls-le-relax.c: New test. + +2024-01-02 Juzhe-Zhong <juzhe.zhong@rivai.ai> + + PR target/113112 + * gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c: New test. + +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 +notice and this notice are preserved. diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 31b0dfc95678..501b0062a9c4 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,466 +1,5 @@ -2024-12-24 Hans-Peter Nilsson <hp@axis.com> - - * caf/single.c (_gfortran_caf_get_by_ct): Correct type of free_buffer - to int32_t. - -2024-12-22 Andre Vehreschild <vehre@gcc.gnu.org> - - * caf/libcaf.h (_gfortran_caf_register_accessor): New function - to register access routines at runtime. - (_gfortran_caf_register_accessors_finish): New function to - finish registration of access routine and sort hash map. - (_gfortran_caf_get_remote_function_index): New function to - convert an hash to an index. - (_gfortran_caf_get_by_ct): New function to get data from a - remote image using the access routine given by an index. - * caf/single.c (struct accessor_hash_t): Hashmap type. - (_gfortran_caf_send): Fixed formatting. - (_gfortran_caf_register_accessor): Register a hash accessor - routine. - (hash_compare): Compare two hashes for sort() and bsearch(). - (_gfortran_caf_register_accessors_finish): Sort the hashmap to - allow bsearch()'s quick lookup. - (_gfortran_caf_get_remote_function_index): Map a hash to an - index. - (_gfortran_caf_get_by_ct): Get data from a remote image using - the index provided by get_remote_function_index(). - -2024-12-20 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/57598 - * caf/single.c (_gfortran_caf_stop_numeric): Report exceptions - on stop. And fix send_by_ref. - (_gfortran_caf_stop_str): Same. - (_gfortran_caf_error_stop_str): Same. - (_gfortran_caf_error_stop): Same. - * gfortran.map: Add report_exception for export. - * libgfortran.h (report_exception): Add to internal export. - * runtime/stop.c (report_exception): Same. - -2024-12-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/117819 - * io/read.c (read_decimal): If the read value is short of the - specified width and pad mode is PAD yes, check for BLANK ZERO - and adjust the value accordingly. - (read_decimal_unsigned): Likewise. - (read_radix): Likewise. - -2024-12-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/117820 - * io/write.c (write_b): Add test for zero needed by write_boz. - -2024-11-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/88052 - * io/format.c (parse_format_list): Reject missing comma in - format strings by default or if -std=f95 or higher. This is - a runtime error. - -2024-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> - - * Makefile.am: Add files for unsigned MINLOC and MAXLOC. - * Makefile.in: Regenerated. - * gfortran.map: Add files for unsigned MINLOC and MAXLOC. - * generated/maxloc0_16_m1.c: New file. - * generated/maxloc0_16_m16.c: New file. - * generated/maxloc0_16_m2.c: New file. - * generated/maxloc0_16_m4.c: New file. - * generated/maxloc0_16_m8.c: New file. - * generated/maxloc0_4_m1.c: New file. - * generated/maxloc0_4_m16.c: New file. - * generated/maxloc0_4_m2.c: New file. - * generated/maxloc0_4_m4.c: New file. - * generated/maxloc0_4_m8.c: New file. - * generated/maxloc0_8_m1.c: New file. - * generated/maxloc0_8_m16.c: New file. - * generated/maxloc0_8_m2.c: New file. - * generated/maxloc0_8_m4.c: New file. - * generated/maxloc0_8_m8.c: New file. - * generated/maxloc1_16_m1.c: New file. - * generated/maxloc1_16_m2.c: New file. - * generated/maxloc1_16_m4.c: New file. - * generated/maxloc1_16_m8.c: New file. - * generated/maxloc1_4_m1.c: New file. - * generated/maxloc1_4_m16.c: New file. - * generated/maxloc1_4_m2.c: New file. - * generated/maxloc1_4_m4.c: New file. - * generated/maxloc1_4_m8.c: New file. - * generated/maxloc1_8_m1.c: New file. - * generated/maxloc1_8_m16.c: New file. - * generated/maxloc1_8_m2.c: New file. - * generated/maxloc1_8_m4.c: New file. - * generated/maxloc1_8_m8.c: New file. - * generated/minloc0_16_m1.c: New file. - * generated/minloc0_16_m16.c: New file. - * generated/minloc0_16_m2.c: New file. - * generated/minloc0_16_m4.c: New file. - * generated/minloc0_16_m8.c: New file. - * generated/minloc0_4_m1.c: New file. - * generated/minloc0_4_m16.c: New file. - * generated/minloc0_4_m2.c: New file. - * generated/minloc0_4_m4.c: New file. - * generated/minloc0_4_m8.c: New file. - * generated/minloc0_8_m1.c: New file. - * generated/minloc0_8_m16.c: New file. - * generated/minloc0_8_m2.c: New file. - * generated/minloc0_8_m4.c: New file. - * generated/minloc0_8_m8.c: New file. - * generated/minloc1_16_m1.c: New file. - * generated/minloc1_16_m16.c: New file. - * generated/minloc1_16_m2.c: New file. - * generated/minloc1_16_m4.c: New file. - * generated/minloc1_16_m8.c: New file. - * generated/minloc1_4_m1.c: New file. - * generated/minloc1_4_m16.c: New file. - * generated/minloc1_4_m2.c: New file. - * generated/minloc1_4_m4.c: New file. - * generated/minloc1_4_m8.c: New file. - * generated/minloc1_8_m1.c: New file. - * generated/minloc1_8_m16.c: New file. - * generated/minloc1_8_m2.c: New file. - * generated/minloc1_8_m4.c: New file. - * generated/minloc1_8_m8.c: New file. - -2024-10-01 Thomas Koenig <tkoenig@gcc.gnu.org> - - * Makefile.am: Add minval and maxval files. - * Makefile.in: Regenerated. - * gfortran.map: Add new functions. - * generated/maxval_m1.c: New file. - * generated/maxval_m16.c: New file. - * generated/maxval_m2.c: New file. - * generated/maxval_m4.c: New file. - * generated/maxval_m8.c: New file. - * generated/minval_m1.c: New file. - * generated/minval_m16.c: New file. - * generated/minval_m2.c: New file. - * generated/minval_m4.c: New file. - * generated/minval_m8.c: New file. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.map: Add _gfortran_random_m1, _gfortran_random_m2, - _gfortran_random_m4, _gfortran_random_m8 and _gfortran_random_m16. - * intrinsics/random.c (random_m1): New function. - (random_m2): New function. - (random_m4): New function. - (random_m8): New function. - (random_m16): New function. - (arandom_m1): New function. - (arandom_m2): New function. - (arandom_m4): New function. - (arandom_m8): New funciton. - (arandom_m16): New function. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * generated/product_c10.c: Regenerated. - * generated/product_c16.c: Regenerated. - * generated/product_c17.c: Regenerated. - * generated/product_c4.c: Regenerated. - * generated/product_c8.c: Regenerated. - * generated/product_i1.c: Regenerated. - * generated/product_i16.c: Regenerated. - * generated/product_i2.c: Regenerated. - * generated/product_i4.c: Regenerated. - * generated/product_i8.c: Regenarated. - * generated/product_r10.c: Regenerated. - * generated/product_r16.c: Regenerated. - * generated/product_r17.c: Regenerated. - * generated/product_r4.c: Regenerated. - * generated/product_r8.c: Regenarated. - * generated/sum_c10.c: Regenerated. - * generated/sum_c16.c: Regenerated. - * generated/sum_c17.c: Regenerated. - * generated/sum_c4.c: Regenerated. - * generated/sum_c8.c: Regenerated. - * generated/sum_i1.c: Regenerated. - * generated/sum_i16.c: Regenerated. - * generated/sum_i2.c: Regenerated. - * generated/sum_i4.c: Regenerated. - * generated/sum_i8.c: Regenerated. - * generated/sum_r10.c: Regenerated. - * generated/sum_r16.c: Regenerated. - * generated/sum_r17.c: Regenerated. - * generated/sum_r4.c: Regenerated. - * generated/sum_r8.c: Regenerated. - * m4/ifunction.m4: Whitespace fix. - * m4/product.m4: If type is integer, change to unsigned. - * m4/sum.m4: Likewise. - -2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> - - * m4/iparm.m4: Add UNSIGED if type is m. - * m4/matmul.m4: If type is GFC_INTEGER, use GFC_UINTEGER instead. - Whitespace fixes. - * m4/matmul_internal.m4: Whitespace fixes. - * generated/matmul_c10.c: Regenerated. - * generated/matmul_c16.c: Regenerated. - * generated/matmul_c17.c: Regenerated. - * generated/matmul_c4.c: Regenerated. - * generated/matmul_c8.c: Regeneraated. - * generated/matmul_i1.c: Regenerated. - * generated/matmul_i16.c: Regenerated. - * generated/matmul_i2.c: Regenerated. - * generated/matmul_i4.c: Regenerated. - * generated/matmul_i8.c: Regenerated. - * generated/matmul_r10.c: Regenerated. - * generated/matmul_r16.c: Regenerated. - * generated/matmul_r17.c: Regenerated. - * generated/matmul_r4.c: Regenerated. - * generated/matmul_r8.c: Regenerated. - * libgfortran.h: Add array types for unsiged. - -2024-09-07 Thomas Koenig <tkoenig@gcc.gnu.org> - - * gfortran.map: Add _gfortran_transfer_unsgned and - _gfortran_transfer-signed. - * io/io.h (set_unsigned): New prototype. - (us_max): New prototype. - (read_decimal_unsigned): New prototype. - (write_iu): New prototype. - * io/list_read.c (convert_unsigned): New function. - (read_integer): Also handle unsigneds. - (list_formatted_read_scalar): Handle unsigneds. - (nml_read_obj): Likewise. - * io/read.c (set_unsigned): New function. - (us_max): New function. - (read_utf8): Whitespace fixes. - (read_default_char1): Whitespace fixes. - (read_a_char4): Whitespace fixes. - (next_char): Whiltespace fixes. - (read_decimal_unsigned): New function. - (read_f): Whitespace fixes. - (read_x): Whitespace fixes. - * io/transfer.c (transfer_unsigned): New function. - (transfer_unsigned_write): New function. - (require_one_of_two_types): New function. - (formatted_transfer_scalar_read): Use it. - (formatted_transfer_scalar_write): Also use it. - * io/write.c (write_decimal_unsigned): New function. - (write_iu): New function. - (write_unsigned): New function. - (list_formatted_write_scalar): Adjust for unsigneds. - * libgfortran.h (GFC_UINTEGER_1_HUGE): Define. - (GFC_UINTEGER_2_HUGE): Define. - (GFC_UINTEGER_4_HUGE): Define. - (GFC_UINTEGER_8_HUGE): Define. - (GFC_UINTEGER_16_HUGE): Define. - (HAVE_GFC_UINTEGER_1): Undefine (done by mk-kind-h.sh) - (HAVE_GFC_UINTEGER_4): Likewise. - * mk-kinds-h.sh: Add GFC_UINTEGER_*_HUGE. - -2024-08-20 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/84246 - * caf/single.c (send_by_ref): Created array's lbound is now 1 - and the offset set correctly. - -2024-08-18 Sergey Fedorov <vital.had@gmail.com> - - * config/fpu-macppc.h (new file): initial support for powerpc-darwin. - * configure.host: enable ieee_support for powerpc-darwin case, - set fpu_host='fpu-macppc'. - -2024-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105361 - * io/list_read.c (finish_list_read): Add a condition check for - a user defined derived type IO operation to avoid calling the - EOF error. - -2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/96992 - * Makefile.am: Add in_un-/pack_class.c to build. - * Makefile.in: Regenerated from Makefile.am. - * gfortran.map: Added new functions and bumped ABI. - * libgfortran.h (GFC_CLASS_T): Added for generating class - representation at runtime. - * runtime/in_pack_class.c: New file. - * runtime/in_unpack_class.c: New file. - -2024-06-06 Thomas Schwinge <tschwinge@baylibre.com> - Andrew Stubbs <ams@gcc.gnu.org> - - * configure.ac: No longer set 'LIBGFOR_MINIMAL' for nvptx. - * configure: Regenerate. - -2024-06-06 Thomas Schwinge <tschwinge@baylibre.com> - - PR target/85463 - * runtime/minimal.c [__nvptx__] (exit): Don't override. - -2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * Makefile.am [LIBGFOR_USE_SYMVER_SUN} (gfortran.ver-sun): Pass - $(libgfortran_la_OBJECTS), $(libgfortran_la_LIBADD) to - make_sunver.pl unmodified. - * Makefile.in: Regenerate. - -2024-05-06 David Edelsohn <dje.gcc@gmail.com> - - * config/t-aix (all-local, libcaf_single): Explicitly reference - caf/.libs/single.o - -2024-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * Makefile.am [LIBGFOR_USE_SYMVER_SUN] (gfortran.ver-sun): Handle - objects in subdirs. - * Makefile.in: Regenerate. - -2024-05-02 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * Makefile.am: Use sub-dirs, amend recipies accordingly. - * Makefile.in: Regenerate. - -2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * gfortran.map: Add _gfortran_selected_logical_kind. - * intrinsics/selected_int_kind.f90: Add SELECTED_LOGICAL_KIND. - -2024-04-12 Ian McInerney <i.mcinerney17@imperial.ac.uk> - - * runtime/error.c (gf_vsnprintf): Fix compilation - -2024-04-08 Tobias Burnus <tburnus@baylibre.com> - - PR libfortran/114304 - * io/list_read.c (eat_separator): Accept tab as alternative to space. - -2024-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/114304 - PR libfortran/105473 - * io/list_read.c (eat_separator): Add logic to handle spaces - preceding a comma or semicolon such that that a 'null' read - occurs without error at the end of comma or semicolon - terminated input lines. Add check and error message for ';'. - (list_formatted_read_scalar): Treat comma as a decimal point - when specified by the decimal mode on the first item. - -2024-04-02 Jakub Jelinek <jakub@redhat.com> - - * configure.host: Fix duplicated words; the the -> the. - -2024-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/107031 - * io/file_pos.c (st_endfile): Remove call to next_record(). - -2024-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105437 - PR libfortran/114304 - * io/list_read.c (eat_separator): Remove check for decimal - point mode and semicolon used as a seprator. Removes - the regression. - -2024-03-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105456 - * io/list_read.c (list_formatted_read_scalar): Use fstrcpy - from libgfortran/runtime/string.c to replace snprintf. - (nml_read_obj): Likewise. - * io/transfer.c (unformatted_read): Likewise. - (unformatted_write): Likewise. - (formatted_transfer_scalar_read): Likewise. - (formatted_transfer_scalar_write): Likewise. - * io/write.c (list_formatted_write_scalar): Likewise. - (nml_write_obj): Likewise. - -2024-03-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105456 - * io/io.h (IOMSG_LEN): Moved to here. - * io/list_read.c (MSGLEN): Removed MSGLEN. - (convert_integer): Changed MSGLEN to IOMSG_LEN. - (parse_repeat): Likewise. - (read_logical): Likewise. - (read_integer): Likewise. - (read_character): Likewise. - (parse_real): Likewise. - (read_complex): Likewise. - (read_real): Likewise. - (check_type): Likewise. - (list_formatted_read_scalar): Adjust to IOMSG_LEN. - (nml_read_obj): Add user defined error message. - * io/transfer.c (unformatted_read): Add user defined error - message. - (unformatted_write): Add user defined error message. - (formatted_transfer_scalar_read): Add user defined error message. - (formatted_transfer_scalar_write): Add user defined error message. - * io/write.c (list_formatted_write_scalar): Add user defined error message. - (nml_write_obj): Add user defined error message. - -2024-02-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105456 - * io/list_read.c (list_formatted_read_scalar): Add checks - for the case where a user defines their own error codes - and error messages and generate the runtime error. - * io/transfer.c (st_read_done): Whitespace. - -2024-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/105473 - * io/list_read.c (eat_separator): Reject comma as a - seprator when it is being used as a decimal point. - (parse_real): Reject a '.' when is should be a comma. - (read_real): Likewise. - * io/read.c (read_f): Add more checks for ',' and '.' - conditions. - -2024-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/107068 - * io/list_read.c (read_logical): When looking for a possible - variable name, check for left paren, indicating a possible - array reference. - -2024-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR fortran/99210 - * io/read.c (read_x): If UTF-8 encoding is enabled, use - read_utf8 to move one character over in the read buffer. - -2024-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - * io/transfer.c (formatted_transfer_scalar_write): Adjust - bytes_used and pos variable for stream access. - -2024-02-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - PR libfortran/111022 - * io/format.c (get_fnode): Update initialization of fnode. - (parse_format_list): Initialization. - * io/format.h (struct fnode): Added the new 'pushed' component. - * io/write.c (select_buffer): Whitespace. - (write_real): Whitespace. - (write_real_w0): Adjust logic for the d == 0 condition. - * io/write_float.def (determine_precision): Whitespace. - (build_float_string): Calculate width of ..E0 exponents and - adjust logic accordingly. - (build_infnan_string): Whitespace. - (CALCULATE_EXP): Whitespace. - (quadmath_snprintf): Whitespace. - (determine_en_precision): Whitespace. - -2024-01-15 Lipeng Zhu <lipeng.zhu@intel.com> - - * io/io.h (dec_waiting_unlocked): Use - __gthread_rwlock_wrlock/__gthread_rwlock_unlock or - __gthread_mutex_lock/__gthread_mutex_unlock functions - to replace WRLOCK and RWUNLOCK macros. - -2024-01-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> - - * io/write.c (namelist_write): If internal_unit precede with space. - -Copyright (C) 2024 Free Software Foundation, Inc. +Copyright (C) 2025 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-2002 b/libgfortran/ChangeLog-2002 index a7043dd90e23..9e7c62fe5fd6 100644 --- a/libgfortran/ChangeLog-2002 +++ b/libgfortran/ChangeLog-2002 @@ -58,7 +58,6 @@ 2002-08-17 Paul Brook <paul@nowt.org> * ALL: First release as more than just a single file - Copyright (C) 2002 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2003 b/libgfortran/ChangeLog-2003 index 98b3508f7190..ed347198c3be 100644 --- a/libgfortran/ChangeLog-2003 +++ b/libgfortran/ChangeLog-2003 @@ -540,7 +540,6 @@ * (*.m4) Move to m4/. * intrinsics/string.c (_gfor_string_index): New Function. - Copyright (C) 2003 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2004 b/libgfortran/ChangeLog-2004 index 4775115a3707..34a20ca8f182 100644 --- a/libgfortran/ChangeLog-2004 +++ b/libgfortran/ChangeLog-2004 @@ -1102,7 +1102,6 @@ * io/transfer.c (extract_real): Remove unused prototype. (st_set_nml_var): Make static. * io/write.c (extract_real): Make static. - Copyright (C) 2004 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2005 b/libgfortran/ChangeLog-2005 index 1e04f52d19a5..8bb3c609a632 100644 --- a/libgfortran/ChangeLog-2005 +++ b/libgfortran/ChangeLog-2005 @@ -2913,7 +2913,6 @@ PR fortran/18398 * transfer.c (next_record_r): always skip the eol search if it was found during sf_read. - Copyright (C) 2005 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2006 b/libgfortran/ChangeLog-2006 index 5c8dfef257d4..6d477406e55a 100644 --- a/libgfortran/ChangeLog-2006 +++ b/libgfortran/ChangeLog-2006 @@ -1632,7 +1632,6 @@ D * ChangeLog-2003: here. * ChangeLog-2004: here. * ChangeLog-2005: here. - Copyright (C) 2006 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2007 b/libgfortran/ChangeLog-2007 index 11f9df093557..9da4c2c10fc0 100644 --- a/libgfortran/ChangeLog-2007 +++ b/libgfortran/ChangeLog-2007 @@ -2478,7 +2478,6 @@ * ChangeLog: Copied to ... * ChangeLog-2006: here. - Copyright (C) 2007 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2008 b/libgfortran/ChangeLog-2008 index 6b3139995db2..79588317e6f1 100644 --- a/libgfortran/ChangeLog-2008 +++ b/libgfortran/ChangeLog-2008 @@ -2523,7 +2523,6 @@ array is finished. (next_record_r): Use the new flag to next_array_record(). (next_record_w): Likewise. - Copyright (C) 2008 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2009 b/libgfortran/ChangeLog-2009 index 2611ef1ae275..bc42fe9baae5 100644 --- a/libgfortran/ChangeLog-2009 +++ b/libgfortran/ChangeLog-2009 @@ -2493,7 +2493,6 @@ PR libfortran/38735 * io/unit.c (get_internal_unit): Set default BLANK= status to NULL for internal units. - Copyright (C) 2009 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2010 b/libgfortran/ChangeLog-2010 index 4b8b486032fa..8d9671070d12 100644 --- a/libgfortran/ChangeLog-2010 +++ b/libgfortran/ChangeLog-2010 @@ -1004,7 +1004,6 @@ (inquire_sequential): Likewise. (inquire_direct): Likewise. (inquire_formatted): Likewise. - Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2011 b/libgfortran/ChangeLog-2011 index f516bad10490..f024b7b2d64d 100644 --- a/libgfortran/ChangeLog-2011 +++ b/libgfortran/ChangeLog-2011 @@ -1476,7 +1476,6 @@ PR libgfortran/47154 * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the duplicate calls via next_record. - Copyright (C) 2011 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2022 b/libgfortran/ChangeLog-2022 index 8ebc0c107a32..f9bda5e63a2b 100644 --- a/libgfortran/ChangeLog-2022 +++ b/libgfortran/ChangeLog-2022 @@ -555,7 +555,6 @@ * Makefile.in: Regenerate. * ieee/ieee_helper.c: Use issignaling macro to recognized signaling NaNs. - Copyright (C) 2022 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2023 b/libgfortran/ChangeLog-2023 index 55e6befffa6b..1d46db645d3b 100644 --- a/libgfortran/ChangeLog-2023 +++ b/libgfortran/ChangeLog-2023 @@ -727,7 +727,6 @@ PR middle-end/108300 * intrinsics/sleep.c: Define `WIN32_LEAN_AND_MEAN` before <windows.h>. - Copyright (C) 2023 Free Software Foundation, Inc. diff --git a/libgfortran/ChangeLog-2024 b/libgfortran/ChangeLog-2024 new file mode 100644 index 000000000000..787f24183ae3 --- /dev/null +++ b/libgfortran/ChangeLog-2024 @@ -0,0 +1,466 @@ +2024-12-24 Hans-Peter Nilsson <hp@axis.com> + + * caf/single.c (_gfortran_caf_get_by_ct): Correct type of free_buffer + to int32_t. + +2024-12-22 Andre Vehreschild <vehre@gcc.gnu.org> + + * caf/libcaf.h (_gfortran_caf_register_accessor): New function + to register access routines at runtime. + (_gfortran_caf_register_accessors_finish): New function to + finish registration of access routine and sort hash map. + (_gfortran_caf_get_remote_function_index): New function to + convert an hash to an index. + (_gfortran_caf_get_by_ct): New function to get data from a + remote image using the access routine given by an index. + * caf/single.c (struct accessor_hash_t): Hashmap type. + (_gfortran_caf_send): Fixed formatting. + (_gfortran_caf_register_accessor): Register a hash accessor + routine. + (hash_compare): Compare two hashes for sort() and bsearch(). + (_gfortran_caf_register_accessors_finish): Sort the hashmap to + allow bsearch()'s quick lookup. + (_gfortran_caf_get_remote_function_index): Map a hash to an + index. + (_gfortran_caf_get_by_ct): Get data from a remote image using + the index provided by get_remote_function_index(). + +2024-12-20 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/57598 + * caf/single.c (_gfortran_caf_stop_numeric): Report exceptions + on stop. And fix send_by_ref. + (_gfortran_caf_stop_str): Same. + (_gfortran_caf_error_stop_str): Same. + (_gfortran_caf_error_stop): Same. + * gfortran.map: Add report_exception for export. + * libgfortran.h (report_exception): Add to internal export. + * runtime/stop.c (report_exception): Same. + +2024-12-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/117819 + * io/read.c (read_decimal): If the read value is short of the + specified width and pad mode is PAD yes, check for BLANK ZERO + and adjust the value accordingly. + (read_decimal_unsigned): Likewise. + (read_radix): Likewise. + +2024-12-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/117820 + * io/write.c (write_b): Add test for zero needed by write_boz. + +2024-11-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/88052 + * io/format.c (parse_format_list): Reject missing comma in + format strings by default or if -std=f95 or higher. This is + a runtime error. + +2024-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> + + * Makefile.am: Add files for unsigned MINLOC and MAXLOC. + * Makefile.in: Regenerated. + * gfortran.map: Add files for unsigned MINLOC and MAXLOC. + * generated/maxloc0_16_m1.c: New file. + * generated/maxloc0_16_m16.c: New file. + * generated/maxloc0_16_m2.c: New file. + * generated/maxloc0_16_m4.c: New file. + * generated/maxloc0_16_m8.c: New file. + * generated/maxloc0_4_m1.c: New file. + * generated/maxloc0_4_m16.c: New file. + * generated/maxloc0_4_m2.c: New file. + * generated/maxloc0_4_m4.c: New file. + * generated/maxloc0_4_m8.c: New file. + * generated/maxloc0_8_m1.c: New file. + * generated/maxloc0_8_m16.c: New file. + * generated/maxloc0_8_m2.c: New file. + * generated/maxloc0_8_m4.c: New file. + * generated/maxloc0_8_m8.c: New file. + * generated/maxloc1_16_m1.c: New file. + * generated/maxloc1_16_m2.c: New file. + * generated/maxloc1_16_m4.c: New file. + * generated/maxloc1_16_m8.c: New file. + * generated/maxloc1_4_m1.c: New file. + * generated/maxloc1_4_m16.c: New file. + * generated/maxloc1_4_m2.c: New file. + * generated/maxloc1_4_m4.c: New file. + * generated/maxloc1_4_m8.c: New file. + * generated/maxloc1_8_m1.c: New file. + * generated/maxloc1_8_m16.c: New file. + * generated/maxloc1_8_m2.c: New file. + * generated/maxloc1_8_m4.c: New file. + * generated/maxloc1_8_m8.c: New file. + * generated/minloc0_16_m1.c: New file. + * generated/minloc0_16_m16.c: New file. + * generated/minloc0_16_m2.c: New file. + * generated/minloc0_16_m4.c: New file. + * generated/minloc0_16_m8.c: New file. + * generated/minloc0_4_m1.c: New file. + * generated/minloc0_4_m16.c: New file. + * generated/minloc0_4_m2.c: New file. + * generated/minloc0_4_m4.c: New file. + * generated/minloc0_4_m8.c: New file. + * generated/minloc0_8_m1.c: New file. + * generated/minloc0_8_m16.c: New file. + * generated/minloc0_8_m2.c: New file. + * generated/minloc0_8_m4.c: New file. + * generated/minloc0_8_m8.c: New file. + * generated/minloc1_16_m1.c: New file. + * generated/minloc1_16_m16.c: New file. + * generated/minloc1_16_m2.c: New file. + * generated/minloc1_16_m4.c: New file. + * generated/minloc1_16_m8.c: New file. + * generated/minloc1_4_m1.c: New file. + * generated/minloc1_4_m16.c: New file. + * generated/minloc1_4_m2.c: New file. + * generated/minloc1_4_m4.c: New file. + * generated/minloc1_4_m8.c: New file. + * generated/minloc1_8_m1.c: New file. + * generated/minloc1_8_m16.c: New file. + * generated/minloc1_8_m2.c: New file. + * generated/minloc1_8_m4.c: New file. + * generated/minloc1_8_m8.c: New file. + +2024-10-01 Thomas Koenig <tkoenig@gcc.gnu.org> + + * Makefile.am: Add minval and maxval files. + * Makefile.in: Regenerated. + * gfortran.map: Add new functions. + * generated/maxval_m1.c: New file. + * generated/maxval_m16.c: New file. + * generated/maxval_m2.c: New file. + * generated/maxval_m4.c: New file. + * generated/maxval_m8.c: New file. + * generated/minval_m1.c: New file. + * generated/minval_m16.c: New file. + * generated/minval_m2.c: New file. + * generated/minval_m4.c: New file. + * generated/minval_m8.c: New file. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.map: Add _gfortran_random_m1, _gfortran_random_m2, + _gfortran_random_m4, _gfortran_random_m8 and _gfortran_random_m16. + * intrinsics/random.c (random_m1): New function. + (random_m2): New function. + (random_m4): New function. + (random_m8): New function. + (random_m16): New function. + (arandom_m1): New function. + (arandom_m2): New function. + (arandom_m4): New function. + (arandom_m8): New funciton. + (arandom_m16): New function. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * generated/product_c10.c: Regenerated. + * generated/product_c16.c: Regenerated. + * generated/product_c17.c: Regenerated. + * generated/product_c4.c: Regenerated. + * generated/product_c8.c: Regenerated. + * generated/product_i1.c: Regenerated. + * generated/product_i16.c: Regenerated. + * generated/product_i2.c: Regenerated. + * generated/product_i4.c: Regenerated. + * generated/product_i8.c: Regenarated. + * generated/product_r10.c: Regenerated. + * generated/product_r16.c: Regenerated. + * generated/product_r17.c: Regenerated. + * generated/product_r4.c: Regenerated. + * generated/product_r8.c: Regenarated. + * generated/sum_c10.c: Regenerated. + * generated/sum_c16.c: Regenerated. + * generated/sum_c17.c: Regenerated. + * generated/sum_c4.c: Regenerated. + * generated/sum_c8.c: Regenerated. + * generated/sum_i1.c: Regenerated. + * generated/sum_i16.c: Regenerated. + * generated/sum_i2.c: Regenerated. + * generated/sum_i4.c: Regenerated. + * generated/sum_i8.c: Regenerated. + * generated/sum_r10.c: Regenerated. + * generated/sum_r16.c: Regenerated. + * generated/sum_r17.c: Regenerated. + * generated/sum_r4.c: Regenerated. + * generated/sum_r8.c: Regenerated. + * m4/ifunction.m4: Whitespace fix. + * m4/product.m4: If type is integer, change to unsigned. + * m4/sum.m4: Likewise. + +2024-09-24 Thomas Koenig <tkoenig@gcc.gnu.org> + + * m4/iparm.m4: Add UNSIGED if type is m. + * m4/matmul.m4: If type is GFC_INTEGER, use GFC_UINTEGER instead. + Whitespace fixes. + * m4/matmul_internal.m4: Whitespace fixes. + * generated/matmul_c10.c: Regenerated. + * generated/matmul_c16.c: Regenerated. + * generated/matmul_c17.c: Regenerated. + * generated/matmul_c4.c: Regenerated. + * generated/matmul_c8.c: Regeneraated. + * generated/matmul_i1.c: Regenerated. + * generated/matmul_i16.c: Regenerated. + * generated/matmul_i2.c: Regenerated. + * generated/matmul_i4.c: Regenerated. + * generated/matmul_i8.c: Regenerated. + * generated/matmul_r10.c: Regenerated. + * generated/matmul_r16.c: Regenerated. + * generated/matmul_r17.c: Regenerated. + * generated/matmul_r4.c: Regenerated. + * generated/matmul_r8.c: Regenerated. + * libgfortran.h: Add array types for unsiged. + +2024-09-07 Thomas Koenig <tkoenig@gcc.gnu.org> + + * gfortran.map: Add _gfortran_transfer_unsgned and + _gfortran_transfer-signed. + * io/io.h (set_unsigned): New prototype. + (us_max): New prototype. + (read_decimal_unsigned): New prototype. + (write_iu): New prototype. + * io/list_read.c (convert_unsigned): New function. + (read_integer): Also handle unsigneds. + (list_formatted_read_scalar): Handle unsigneds. + (nml_read_obj): Likewise. + * io/read.c (set_unsigned): New function. + (us_max): New function. + (read_utf8): Whitespace fixes. + (read_default_char1): Whitespace fixes. + (read_a_char4): Whitespace fixes. + (next_char): Whiltespace fixes. + (read_decimal_unsigned): New function. + (read_f): Whitespace fixes. + (read_x): Whitespace fixes. + * io/transfer.c (transfer_unsigned): New function. + (transfer_unsigned_write): New function. + (require_one_of_two_types): New function. + (formatted_transfer_scalar_read): Use it. + (formatted_transfer_scalar_write): Also use it. + * io/write.c (write_decimal_unsigned): New function. + (write_iu): New function. + (write_unsigned): New function. + (list_formatted_write_scalar): Adjust for unsigneds. + * libgfortran.h (GFC_UINTEGER_1_HUGE): Define. + (GFC_UINTEGER_2_HUGE): Define. + (GFC_UINTEGER_4_HUGE): Define. + (GFC_UINTEGER_8_HUGE): Define. + (GFC_UINTEGER_16_HUGE): Define. + (HAVE_GFC_UINTEGER_1): Undefine (done by mk-kind-h.sh) + (HAVE_GFC_UINTEGER_4): Likewise. + * mk-kinds-h.sh: Add GFC_UINTEGER_*_HUGE. + +2024-08-20 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/84246 + * caf/single.c (send_by_ref): Created array's lbound is now 1 + and the offset set correctly. + +2024-08-18 Sergey Fedorov <vital.had@gmail.com> + + * config/fpu-macppc.h (new file): initial support for powerpc-darwin. + * configure.host: enable ieee_support for powerpc-darwin case, + set fpu_host='fpu-macppc'. + +2024-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105361 + * io/list_read.c (finish_list_read): Add a condition check for + a user defined derived type IO operation to avoid calling the + EOF error. + +2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/96992 + * Makefile.am: Add in_un-/pack_class.c to build. + * Makefile.in: Regenerated from Makefile.am. + * gfortran.map: Added new functions and bumped ABI. + * libgfortran.h (GFC_CLASS_T): Added for generating class + representation at runtime. + * runtime/in_pack_class.c: New file. + * runtime/in_unpack_class.c: New file. + +2024-06-06 Thomas Schwinge <tschwinge@baylibre.com> + Andrew Stubbs <ams@gcc.gnu.org> + + * configure.ac: No longer set 'LIBGFOR_MINIMAL' for nvptx. + * configure: Regenerate. + +2024-06-06 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/85463 + * runtime/minimal.c [__nvptx__] (exit): Don't override. + +2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * Makefile.am [LIBGFOR_USE_SYMVER_SUN} (gfortran.ver-sun): Pass + $(libgfortran_la_OBJECTS), $(libgfortran_la_LIBADD) to + make_sunver.pl unmodified. + * Makefile.in: Regenerate. + +2024-05-06 David Edelsohn <dje.gcc@gmail.com> + + * config/t-aix (all-local, libcaf_single): Explicitly reference + caf/.libs/single.o + +2024-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * Makefile.am [LIBGFOR_USE_SYMVER_SUN] (gfortran.ver-sun): Handle + objects in subdirs. + * Makefile.in: Regenerate. + +2024-05-02 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * Makefile.am: Use sub-dirs, amend recipies accordingly. + * Makefile.in: Regenerate. + +2024-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * gfortran.map: Add _gfortran_selected_logical_kind. + * intrinsics/selected_int_kind.f90: Add SELECTED_LOGICAL_KIND. + +2024-04-12 Ian McInerney <i.mcinerney17@imperial.ac.uk> + + * runtime/error.c (gf_vsnprintf): Fix compilation + +2024-04-08 Tobias Burnus <tburnus@baylibre.com> + + PR libfortran/114304 + * io/list_read.c (eat_separator): Accept tab as alternative to space. + +2024-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/114304 + PR libfortran/105473 + * io/list_read.c (eat_separator): Add logic to handle spaces + preceding a comma or semicolon such that that a 'null' read + occurs without error at the end of comma or semicolon + terminated input lines. Add check and error message for ';'. + (list_formatted_read_scalar): Treat comma as a decimal point + when specified by the decimal mode on the first item. + +2024-04-02 Jakub Jelinek <jakub@redhat.com> + + * configure.host: Fix duplicated words; the the -> the. + +2024-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/107031 + * io/file_pos.c (st_endfile): Remove call to next_record(). + +2024-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105437 + PR libfortran/114304 + * io/list_read.c (eat_separator): Remove check for decimal + point mode and semicolon used as a seprator. Removes + the regression. + +2024-03-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105456 + * io/list_read.c (list_formatted_read_scalar): Use fstrcpy + from libgfortran/runtime/string.c to replace snprintf. + (nml_read_obj): Likewise. + * io/transfer.c (unformatted_read): Likewise. + (unformatted_write): Likewise. + (formatted_transfer_scalar_read): Likewise. + (formatted_transfer_scalar_write): Likewise. + * io/write.c (list_formatted_write_scalar): Likewise. + (nml_write_obj): Likewise. + +2024-03-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105456 + * io/io.h (IOMSG_LEN): Moved to here. + * io/list_read.c (MSGLEN): Removed MSGLEN. + (convert_integer): Changed MSGLEN to IOMSG_LEN. + (parse_repeat): Likewise. + (read_logical): Likewise. + (read_integer): Likewise. + (read_character): Likewise. + (parse_real): Likewise. + (read_complex): Likewise. + (read_real): Likewise. + (check_type): Likewise. + (list_formatted_read_scalar): Adjust to IOMSG_LEN. + (nml_read_obj): Add user defined error message. + * io/transfer.c (unformatted_read): Add user defined error + message. + (unformatted_write): Add user defined error message. + (formatted_transfer_scalar_read): Add user defined error message. + (formatted_transfer_scalar_write): Add user defined error message. + * io/write.c (list_formatted_write_scalar): Add user defined error message. + (nml_write_obj): Add user defined error message. + +2024-02-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105456 + * io/list_read.c (list_formatted_read_scalar): Add checks + for the case where a user defines their own error codes + and error messages and generate the runtime error. + * io/transfer.c (st_read_done): Whitespace. + +2024-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/105473 + * io/list_read.c (eat_separator): Reject comma as a + seprator when it is being used as a decimal point. + (parse_real): Reject a '.' when is should be a comma. + (read_real): Likewise. + * io/read.c (read_f): Add more checks for ',' and '.' + conditions. + +2024-02-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/107068 + * io/list_read.c (read_logical): When looking for a possible + variable name, check for left paren, indicating a possible + array reference. + +2024-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/99210 + * io/read.c (read_x): If UTF-8 encoding is enabled, use + read_utf8 to move one character over in the read buffer. + +2024-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + * io/transfer.c (formatted_transfer_scalar_write): Adjust + bytes_used and pos variable for stream access. + +2024-02-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libfortran/111022 + * io/format.c (get_fnode): Update initialization of fnode. + (parse_format_list): Initialization. + * io/format.h (struct fnode): Added the new 'pushed' component. + * io/write.c (select_buffer): Whitespace. + (write_real): Whitespace. + (write_real_w0): Adjust logic for the d == 0 condition. + * io/write_float.def (determine_precision): Whitespace. + (build_float_string): Calculate width of ..E0 exponents and + adjust logic accordingly. + (build_infnan_string): Whitespace. + (CALCULATE_EXP): Whitespace. + (quadmath_snprintf): Whitespace. + (determine_en_precision): Whitespace. + +2024-01-15 Lipeng Zhu <lipeng.zhu@intel.com> + + * io/io.h (dec_waiting_unlocked): Use + __gthread_rwlock_wrlock/__gthread_rwlock_unlock or + __gthread_mutex_lock/__gthread_mutex_unlock functions + to replace WRLOCK and RWUNLOCK macros. + +2024-01-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + * io/write.c (namelist_write): If internal_unit precede with space. + +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 +notice and this notice are preserved. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index dbc78f99cf22..44d5b7b1a512 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -6,7164 +6,8 @@ * doc/html/manual/profile_mode_design.html: Ditto. * doc/html/manual/profile_mode_devel.html: Ditto. * doc/html/manual/profile_mode_impl.html: Ditto. - -2024-12-29 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/html/manual/profile_mode_diagnostics.html: Delete. - -2024-12-29 Hans-Peter Nilsson <hp@bitrange.com> - - * testsuite/std/time/year_month_day/3.cc (test01): Add ifdeffery to - limit the tested dates. For simulators, pass start and end dates - limiting the tested range to 100000 days, centered on days (0). - * testsuite/std/time/year_month_day/4.cc: Ditto. - -2024-12-28 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/118196 - * testsuite/24_iterators/range_generators/pr118196.cc: Include - <generator> rather than "<generator>". - -2024-12-27 Arsen Arsenović <arsen@aarsen.me> - - PR libstdc++/118196 - * include/std/generator (generator::operator=(generator)): Add - missing 'return *this;'. - * testsuite/24_iterators/range_generators/pr118196.cc: New test. - -2024-12-27 Arsen Arsenović <arsen@aarsen.me> - - PR libstdc++/118022 - * include/std/generator - (_Promise_erased::yield_value(const _Yielded_deref&)): Don't - implicit-constuct _Yielded_decvref. - * testsuite/24_iterators/range_generators/pr118022.cc: New test. - -2024-12-19 François Dumont <frs.dumont@gmail.com> - - PR libstdc++/57272 - * include/bits/stl_tree.h - [_GLIBCXX_USE_ALLOC_PTR_FOR_RB_TREE]: New macro to control usage of the - code required to support fancy allocator pointer type. - (_Rb_tree_node_base::_Const_Base_ptr): Remove. - (_Rb_tree_node_base::_S_minimum, _Rb_tree_node_base::_S_maximum): Remove - overloads for _Const_Base_ptr. - (_Rb_tree_node_base::_M_base_ptr()): New. - (_Rb_tree_node::_Link_type): Remove. - (_Rb_tree_node::_M_node_ptr()): New. - (__rb_tree::_Node_base<>): New. - (__rb_tree::_Header<>): New. - (__rb_tree::_Node<>): New. - (_Rb_tree_increment(const _Rb_tree_node_base*)): Remove declaration. - (_Rb_tree_decrement(const _Rb_tree_node_base*)): Remove declaration. - (_Rb_tree_iterator<>::_Self): Remove. - (_Rb_tree_iterator<>::_Link_type): Rename into... - (_Rb_tree_iterator<>::_Node_ptr): ...this. - (_Rb_tree_const_iterator<>::_Link_type): Rename into... - (_Rb_tree_const_iterator<>::_Node_ptr): ...this. - (_Rb_tree_const_iterator<>::_M_const_cast): Remove. - (_Rb_tree_const_iterator<>::_M_node): Change type into _Base_ptr. - (__rb_tree::_Iterator<>): New. - (__rb_tree::_Node_traits<>): New. - (_Rb_tree<>::_Node_base, _Rb_tree::_Node): New. - (_Rb_tree<>::_Link_type): Rename into... - (_Rb_tree<>::_Node_ptr): ...this. - (_Rb_tree<>::_Const_Base_ptr, _Rb_tree<>::_Const_Node_ptr): Remove. - (_Rb_tree<>::_M_mbegin): Remove. - (_Rb_tree<>::_M_begin_node()): New. - (_S_key(const _Node&)): New. - (_S_key(_Base_ptr)): New, call latter. - (_S_key(_Node_ptr)): Likewise. - (_Rb_tree<>::_S_left(_Const_Base_ptr)): Remove. - (_Rb_tree<>::_S_right(_Const_Base_ptr)): Remove. - (_Rb_tree<>::_S_maximum(_Const_Base_ptr)): Remove. - (_Rb_tree<>::_S_minimum(_Const_Base_ptr)): Remove. - * testsuite/23_containers/map/allocator/ext_ptr.cc: New test case. - * testsuite/23_containers/multimap/allocator/ext_ptr.cc: New test case. - * testsuite/23_containers/multiset/allocator/ext_ptr.cc: New test case. - * testsuite/23_containers/set/allocator/ext_ptr.cc: New test case. - * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr.cc: - New test case. - * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr_ignored.cc: - New test case. - -2024-12-19 Patrick Palka <ppalka@redhat.com> - Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add new header <flat_set>. - * include/Makefile.in: Regenerate. - * include/bits/version.def (__cpp_flat_set): Define. - * include/bits/version.h: Regenerate - * include/precompiled/stdc++.h: Include <flat_set>. - * include/std/flat_set: New file. - * src/c++23/std.cc.in: Export <flat_set>. - * testsuite/23_containers/flat_multiset/1.cc: New test. - * testsuite/23_containers/flat_set/1.cc: New test. - -2024-12-19 Patrick Palka <ppalka@redhat.com> - Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add new header <flat_map>. - * include/Makefile.in: Regenerate. - * include/bits/alloc_traits.h (__not_allocator_like): New concept. - * include/bits/stl_function.h (__transparent_comparator): Likewise. - * include/bits/stl_iterator_base_types.h (__has_input_iter_cat): - Likewise. - * include/bits/uses_allocator.h (__allocator_for): Likewise. - * include/bits/utility.h (sorted_unique_t): Define for C++23. - (sorted_unique): Likewise. - (sorted_equivalent_t): Likewise. - (sorted_equivalent): Likewise. - * include/bits/version.def (flat_map): Define. - * include/bits/version.h: Regenerate. - * include/precompiled/stdc++.h: Include <flat_map>. - * include/std/flat_map: New file. - * src/c++23/std.cc.in: Export <flat_map>. - * testsuite/23_containers/flat_map/1.cc: New test. - * testsuite/23_containers/flat_multimap/1.cc: New test. - -2024-12-19 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_base.h (__detail::__range_key_type): - Define as per P1206R7. - (__detail::__range_mapped_type): Likewise. - -2024-12-18 François Dumont <frs.dumont@gmail.com> - - * include/bits/move.h (std::addressof): Call __builtin_addressof. - -2024-12-18 Tamar Christina <tamar.christina@arm.com> - - * include/bits/hashtable.h - (_M_find_before_node): Make it likely that the map has at least one - entry and so we do at least one iteration. - -2024-12-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/118088 - * include/bits/stl_queue.h (priority_queue(priority_queue&&)): - Clear the source object after moving from it. - (priority_queue(priority_queue&&, const Alloc&)): Likewise. - (operator=(priority_queue&&)): Likewise. - * testsuite/23_containers/priority_queue/118088.cc: New test. - -2024-12-18 Tamar Christina <tamar.christina@arm.com> - - * include/bits/hashtable.h: Inline _M_locate. - -2024-12-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (__to_wstring_numeric): Add 'i' - and 'I' to mapping. - -2024-12-18 Luca Bacci <luca.bacci982@gmail.com> - - PR libstdc++/98723 - * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply): - Only use transform_primary when an equivalence set is used. - -2024-12-17 Jonathan Wakely <jwakely@redhat.com> - - * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): - Add parentheses to avoid -Wparentheses warning. - -2024-12-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/118035 - * include/bits/deque.tcc (_M_range_insert_aux): Return - immediately if inserting an empty range. - * testsuite/23_containers/deque/modifiers/insert/118035.cc: New - test. - -2024-12-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable_policy.h (_Local_iterator_base): Use - default member-initializers. - -2024-12-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable_policy.h: Replace typedefs with - alias-declarations. Remove redundant std:: qualification. - (_Mod_range_hashing, _Mask_range_hashing): Remove adaptable - function object typedefs. - -2024-12-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable_policy.h (_Hash_code_storage): Remove. - (_Hash_obj_storage): New class template. Store the hash - function as a union member instead of using a byte buffer. - (_Local_iterator_base): Use _Hash_obj_storage instead of - _Hash_code_storage, adjust members that construct and destroy - the hash object. - (_Local_iterator_base::_M_incr): Calculate bucket index. - -2024-12-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable::swap): Swap hash - function and equality predicate here. Inline allocator swap - instead of using __alloc_on_swap. - * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): - Replace EBO with no_unique_address attribute. Remove NTTP. - (_Hash_code_base): Replace base class with data member using - no_unique_address attribute. - (_Hash_code_base::_M_swap): Remove. - (_Hash_code_base::_M_hash): Remove. - (_Hashtable_base): Replace base class with data member using - no_unique_address attribute. - (_Hashtable_base::_M_swap): Remove. - (_Hashtable_alloc): Replace base class with data member using - no_unique_address attribute. - -2024-12-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/57272 - * include/bits/forward_list.h (__fwd_list::_Node): Add - user-provided special member functions to union. - * include/bits/stl_list.h (__list::_Node): Likewise. - (_Node_base::_M_hook, _Node_base::swap): Use _M_base() instead - of std::pointer_traits::pointer_to. - (_Node_base::_M_transfer): Likewise. Add noexcept. - (_List_base::_M_put_node): Use 'if constexpr' to avoid using - pointer_traits::pointer_to when not necessary. - (_List_base::_M_destroy_node): Fix parameter to be the pointer - type used internally, not the allocator's pointer. - (list::_M_create_node): Likewise. - * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc: - Check explicit instantiation of non-trivial value type. - * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc: - Likewise. - * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: - Fix macro name. - * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: - Likewise. - -2024-12-14 Abdo Eid <abdoeid.eg@ieee.org> - - * include/c_compatibility/wchar.h (fgetwc): Remove duplicate - using-declaration. - -2024-12-13 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/112349 - * include/bits/ranges_algo.h (__min_fn::operator()): Turn local - object __tmp into a reference. - * include/bits/ranges_util.h (__max_fn::operator()): Likewise. - * testsuite/25_algorithms/max/constrained.cc (test04): New test. - * testsuite/25_algorithms/min/constrained.cc (test04): New test. - -2024-12-13 Jonathan Wakely <jwakely@redhat.com> - - * include/std/spanstream (basic_spanbuf::seekoff): Return an - error for invalid seekdir values. - -2024-12-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_cmp.h (not_equal_to): Make order of - expressions in noexcept-specifier match the body. - * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: - Check noexcept. - -2024-12-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/regex.tcc: Fix -Wsign-compare warning. - -2024-12-13 Jonathan Wakely <jwakely@redhat.com> - - * include/pstl/parallel_backend_tbb.h (__merge_func): Fix order - of mem-initializers. - -2024-12-13 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/random/random_device/entropy.cc: Fix - indentation to avoid -Wmisleading-indentation warning. - -2024-12-12 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/unordered_map/modifiers/reserve.cc: - Cast to size_t to fix -Wsign-compare warning. - * testsuite/23_containers/unordered_set/hash_policy/71181.cc: - Likewise. - * testsuite/23_containers/unordered_set/insert/move_range.cc: - Likewise. - -2024-12-12 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable_policy.h (_Local_iterator_base): Fix - -Wsign-compare warnings. - -2024-12-12 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_dir.cc: Fix typo in comment. - -2024-12-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109517 - PR libstdc++/109976 - * include/debug/helper_functions.h (__valid_range_aux): Treat - all input iterator ranges as valid during constant evaluation. - -2024-12-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106212 - * include/std/array (operator==): Use std::__equal_aux1 instead - of std::equal. - * testsuite/23_containers/array/comparison_operators/106212.cc: - New test. - -2024-12-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117966 - * include/std/span (span(T (&)[N])): Do not delegate to - constructor that performs redundant checks. - (span(array<T, N>&), span(const array<T, N>&)): Likewise. - (span(Range&&), span(const span<T, N>&)): Likewise. - * testsuite/23_containers/span/117966.cc: New test. - -2024-12-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/generator (_Promise_alloc): Rename template - parameter. Use __alloc_rebind to rebind allocator. - (_Promise_alloc::operator new): Replace constraints with a - static_assert in the body. Rename allocator parameter. - (_Promise_alloc<void>::_M_allocate): Rename allocator parameter. - Use __alloc_rebind to rebind allocator. - (_Promise_alloc<void>::operator new): Rename allocator - parameter. - * testsuite/24_iterators/range_generators/alloc.cc: New test. - * testsuite/24_iterators/range_generators/lwg3900.cc: New test. - -2024-12-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ostream (println): Pass stream's locale to - std::format, as per LWG 4088. - * testsuite/27_io/basic_ostream/print/1.cc: Check std::println - with custom locale. Remove unused brit_punc class. - -2024-12-10 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/memory_resource.h (polymoprhic_allocator): Use - feature test macro for P0339R6 features. - -2024-12-10 Marek Polacek <polacek@redhat.com> - - PR c++/117788 - * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: Add a - FIXME, adjust. - -2024-12-10 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_uninitialized.h (__is_bitwise_relocatable): - Revert to depending on is_trivial. - -2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * include/std/type_traits: Deprecate is_trivial and - is_trivial_v. - * include/experimental/type_traits: Suppress the deprecation - warning. - * testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc: - Amend the test to suppress the deprecation warning. - * testsuite/20_util/is_trivial/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_trivial/value.cc: Likewise. - * testsuite/20_util/variable_templates_for_traits.cc: Likewise. - * testsuite/experimental/type_traits/value.cc: Likewise. - * testsuite/18_support/max_align_t/requirements/2.cc: Update the - test with P3247R2's new wording. - -2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc: - Port away from is_trivial. - * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: - Likewise. - * testsuite/23_containers/vector/cons/94540.cc: Likewise. - * testsuite/25_algorithms/copy/move_iterators/69478.cc: - Likewise. - * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: - Likewise. - * testsuite/25_algorithms/move/69478.cc: Likewise. - * testsuite/25_algorithms/move_backward/69478.cc: Likewise. - * testsuite/25_algorithms/rotate/constrained.cc: Likewise. - * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. - -2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * include/bits/ranges_uninitialized.h: port some if - constexpr away from is_trivial, and towards more specific - detections instead. - -2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * include/bits/stl_uninitialized.h: Amended the - __is_bitwise_relocatable type trait. - -2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * include/pstl/algorithm_impl.h (__remove_elements): Port away - from is_trivial. - (__pattern_inplace_merge): Likewise. - * include/pstl/glue_memory_impl.h (uninitialized_copy): Likewise. - (uninitialized_copy_n): Likewise. - (uninitialized_move): Likewise. - (uninitialized_move_n): Likewise. - (uninitialized_default_construct): Likewise. - (uninitialized_default_construct_n): Likewise. - (uninitialized_value_construct): Likewise. - (uninitialized_value_construct_n): 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_modifying_operations/partition.cc: - Likewise. - -2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * include/bits/basic_string.h: Add a static_assert on the - char-like type. - * include/std/string_view: Port away from is_trivial. - -2024-12-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/102259 - * config/io/basic_file_stdio.cc (basic_file::xsgetn): Limit n to - _GLIBCXX_MAX_READ_SIZE if that macro is defined. - * config/os/bsd/darwin/os_defines.h (_GLIBCXX_MAX_READ_SIZE): - Define to INT_MAX-1. - * config/os/bsd/freebsd/os_defines.h (_GLIBCXX_MAX_READ_SIZE): - Likewise. - -2024-12-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/allocator.h (allocator::is_always_equal): Do not - define for C++26. - (allocator<void>::is_always_equal): Likewise. - * testsuite/20_util/allocator/requirements/typedefs.cc: Check - that is_always_equal is not present in C++26. - * testsuite/20_util/allocator/void.cc: Do not require - is_always_equal for C++26. - * testsuite/23_containers/vector/bool/cons/constexpr.cc: Add - missing override of base's is_always_equal. - * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. - -2024-12-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117962 - * include/debug/safe_container.h: Make allocator-extended move - constructor a no-op during constant evaluation. - -2024-12-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117921 - * testsuite/23_containers/set/modifiers/swap/adl.cc: Add - equality comparison for Allocator. - * testsuite/23_containers/unordered_set/modifiers/swap-2.cc: - Likewise. - -2024-12-07 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format: Fix typo in Doxygen comment. - -2024-12-07 Matthew Malcomson <mmalcomson@nvidia.com> - - * .editorconfig: Adjust globbing style to standard syntax. - -2024-12-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117921 - * include/bits/hashtable_policy.h (_Hash_code_base::_M_swap): - Use ADL swap for Hash members. - (_Hashtable_base::_M_swap): Use ADL swap for _Equal members. - * include/bits/stl_tree.h (_Rb_tree::swap): Use ADL swap for - _Compare members. - * testsuite/23_containers/set/modifiers/swap/adl.cc: New test. - * testsuite/23_containers/unordered_set/modifiers/swap-2.cc: New - test. - -2024-12-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108236 - * include/pstl/glue_numeric_impl.h (exclusive_scan): Pass __init - as rvalue. - * include/pstl/numeric_impl.h (__brick_transform_scan): Do not - write through __result until after reading through __first. Move - __init into return value. - (__pattern_transform_scan): Pass __init as rvalue. - * include/std/numeric (exclusive_scan): Move construct instead - of copy constructing. - * testsuite/26_numerics/exclusive_scan/2.cc: New test. - * testsuite/26_numerics/pstl/numeric_ops/108236.cc: New test. - -2024-12-03 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h (__do_alloc_on_copy): Remove. - (__do_alloc_on_move __do_alloc_on_swap): Remove. - (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if - constexpr. - -2024-12-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/57272 - * include/bits/forward_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST): - Define. - (_Fwd_list_node_base::_M_base_ptr): New member functions. - (_Fwd_list_node::_M_node_ptr): New member function. - (_Fwd_list_iterator, _Fwd_list_const_iterator): Make internal - member functions and data member private. Declare forward_list - and _Fwd_list_base as friends. - (__fwdlist::_Node_base, __fwdlist::_Node, __fwdlist::_Iterator): - New class templates. - (__fwdlist::_Node_traits): New class template. - (_Fwd_list_base): Use _Node_traits to get types. Use _Base_ptr - instad of _Fwd_list_node_base*. Use _M_base_ptr() instead of - taking address of head node. - (forward_list): Likewise. - (_Fwd_list_base::_M_get_node): Do not define for versioned - namespace. - (_Fwd_list_base::_M_put_node): Only convert pointer if needed. - (_Fwd_list_base::_M_create_node): Use __allocate_guarded_obj. - (_Fwd_list_base::_M_destroy_node): New member function. - * include/bits/forward_list.tcc (_Fwd_list_base::_M_insert_after) - (forward_list::_M_splice_after, forward_list::insert_after): Use - const_iterator::_M_const_cast() instead of casting pointers. - (_Fwd_list_base::_M_erase_after): Use _M_destroy_node. - (forward_list::remove, forward_list::remove_if): Only do - downcasts when accessing the value. - (forward_list::sort): Likewise. - * testsuite/23_containers/forward_list/capacity/1.cc: Check - max_size for new node type. - * testsuite/23_containers/forward_list/capacity/node_sizes.cc: - New test. - * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc: - New test. - * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: - New test. - * testsuite/23_containers/forward_list/requirements/completeness.cc: New file. - -2024-12-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/57272 - PR libstdc++/110952 - * include/bits/allocated_ptr.h (__allocated_ptr::get): Add - const. - (__allocated_ptr::operator bool, __allocated_ptr::release): New - member functions. - (__allocate_guarded): Add inline. - (__allocated_obj): New class template. - (__allocate_guarded_obj): New function template. - * include/bits/list.tcc (_List_base::_M_clear()): Replace uses - of raw pointers. Use _M_destroy_node. - (list::emplace, list::insert): Likewise. - (list::sort): Adjust check for 0 or 1 wsize. Use template - argument list for _Scratch_list. - * include/bits/stl_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST): - Define. - (_List_node_base::_Base_ptr): New typedef. - (_List_node_base::_M_base): New member functions. - (_List_node_header::_M_base): Make public and add - using-declaration for base class overload. - (__list::_Node_traits, __list::_Node_base) - (__list::_Node_header, __list::_Node, __list::_Iterator): New - class templates. - (_Scratch_list): Turn class into class template. Use _Base_ptr - typedef instead of _List_node_base*. - (_List_node::_Node_ptr): New typedef. - (_List_node::_M_node_ptr): New member function. - (_List_base, _List_impl): Use _Node_traits to get node types. - (_List_base::_M_put_node): Convert to fancy pointer if needed. - (_List_base::_M_destroy_node): New member function. - (_List_base(_List_base&&, _Node_alloc_type&&)): Use if constexpr - to make function a no-op for fancy pointers. - (_List_base::_S_distance, _List_base::_M_distance) - (_List_base::_M_node_count): Likewise. - (list): Use _Node_traits to get iterator, node and pointer - types. - (list::_M_create_node): Use _Node_ptr typedef instead of _Node*. - Use __allocate_guarded_obj instead of _M_get_node. - (list::end, list::cend, list::empty): Use node header's - _M_base() function instead of taking its address. - (list::swap): Use _Node_traits to get node base type. - (list::_M_create_node, list::_M_insert): Use _Node_ptr instead - of _Node*. - (list::_M_erase): Likewise. Use _M_destroy_node. - (__distance): Overload for __list::_Iterator. - (_Node_base::swap, _Node_base::_M_transfer): Define non-inline - member functions of class templates. - (_Node_header::_M_reverse): Likewise. - * testsuite/23_containers/list/capacity/29134.cc: Check max_size - for allocator of new node type. - * testsuite/23_containers/list/capacity/node_sizes.cc: New test. - * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc: - New test. - * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: - New test. - * testsuite/23_containers/list/requirements/completeness.cc: New file. - -2024-12-03 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_list.h (_List_iterator): Remove _Self typedef - and just use injected-class-name instead. - (_List_const_iterator): Likewise. - -2024-12-03 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_list.h (_List_size): New struct. - (_List_node_header): Replace _M_size member with _List_size base - class. - (_List_node_header(_List_node_header&&)): Replace explicit uses - of _M_size with initializing the base. - (_List_node_header::_M_init): Likewise. - (_List_base::_S_distance, _List_base::_M_distance) - (_List_base::_M_node_count): Move to end of class body and add - comment. - (list::_S_distance, list::_M_node_count): Likewise. - (list::size): Inline _M_node_count effects to here. - (list::splice(iterator, list&, iterator, iterator)): Use #if and - call std::distance instead of _S_distance. - -2024-12-03 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_bvector.h (vector(const allocator_type&)): - Add noexcept, as per LWG 3778. - * testsuite/23_containers/vector/bool/cons/lwg3778.cc: New test. - -2024-12-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117889 - PR libstdc++/117858 - * include/std/optional (optional(const optional<U>&)): Fix copy - and paste error in constraints. - (optional(optional<U>&&)): Likewise. - * testsuite/20_util/optional/assignment/117858.cc: Move to ... - * testsuite/20_util/optional/cons/117858.cc: New test. - -2024-12-02 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_construct.h (_Destroy(FwdIter, FwdIter)): Use - 'if constexpr' instead of dispatching to a member function of a - class template. - (_Destroy_n(FwdIter, Size)): Likewise. - (_Destroy_aux, _Destroy_n_aux): Only define for C++98. - -2024-12-02 Jonathan Wakely <jwakely@redhat.com> - - * src/c++23/std.cc.in: Disable deprecated warnings when - exporting std::rel_ops members. - -2024-11-30 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117858 - * testsuite/20_util/optional/assignment/117858.cc: Also test - assignment from rvalue optional. - -2024-11-30 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117858 - * include/std/optional (operator=(const optional<U>&)): Fix copy - and paste error in constraints. - (operator=(optional<U>&&)): Likewise. - * testsuite/20_util/optional/assignment/117858.cc: New test. - -2024-11-30 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add bits/monostate.h. - * include/Makefile.in: Regenerate. - * include/std/utility: Include <bits/monostate.h>. - * include/std/variant (monostate, hash<monostate>): Move - definitions to ... - * include/bits/monostate.h: New file. - * testsuite/20_util/headers/utility/synopsis.cc: Add monostate - and hash<monostate> declarations. - * testsuite/20_util/monostate/requirements.cc: New test. - -2024-11-30 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/headers/utility/synopsis.cc: Add - declarations from C++11 and later. - -2024-11-30 Jakub Jelinek <jakub@redhat.com> - - * include/std/functional (_Bind_check_arity): Add , before ... . - * include/bits/refwrap.h (_Mem_fn_traits, _Weak_result_type_impl): - Likewise. - * include/tr1/type_traits (is_function): Likewise. - -2024-11-28 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::_M_impl::_M_resize): - Use std::_Destroy to destroy removed elements. - -2024-11-28 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py: Reorder registrations. - -2024-11-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117822 - * include/std/stacktrace (stacktrace(stacktrace&&, const A&)): - Fix typo in qualified-id for is_always_equal trait. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Test - allocator-extended constructors and allocator propagation. - -2024-11-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_relops.h (rel_ops): Add deprecated attribute. - * testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc: - Add dg-warning for -Wdeprecated warnings. - * testsuite/20_util/rel_ops.cc: Likewise. - * testsuite/util/testsuite_containers.h: Disable -Wdeprecated - warnings when using rel_ops. - -2024-11-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_list.h: Reduce duplication in doxygen - comments. - -2024-11-28 Marek Polacek <polacek@redhat.com> - - PR c++/113798 - * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust - dg-prune-output. - -2024-11-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117210 - * config/os/bsd/dragonfly/os_defines.h: Include <sys/cdefs.h>. - * config/os/bsd/freebsd/os_defines.h: Likewise. - -2024-11-27 Jan Hubicka <hubicka@ucw.cz> - - * include/bits/basic_string.h (basic_string::size(), - basic_string::length(), basic_string::capacity()): Add - __builtin_unreachable to declare value ranges. - (basic_string::empty()): Implement directly - (basic_string::max_size()): Account correctly the terminating 0 - and limits implied by ptrdiff_t. - -2024-11-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/c++config (__glibcxx_assert): Remove useless - __builtin_expect from constexpr-only assertion. Improve - comments. - -2024-11-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117650 - * include/bits/c++config (__glibcxx_assert_fail): Add cold - attribute. - * include/debug/formatter.h (_Error_formatter::_M_error): - Likewise. - -2024-11-27 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (views::__adaptor::_RangeAdaptorClosure): - Befriend both operator| overloads. - * src/c++23/std.cc.in: Don't export views::__adaptor::operator|. - -2024-11-27 Jason Merrill <jason@redhat.com> - - * src/c++23/std.cc.in: Fix iter_move/swap. Add fold_left_first, to, - concat, and some operators. - -2024-11-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/forward_list.h (forward_list::front): Add - non-empty assertions. - * include/bits/stl_list.h (list::front, list::back): Add - non-empty assertions. - -2024-11-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/forward_list.h (operator=(forward_list&&)): Use - if constexpr instead of dispatching to _M_move_assign. - (assign(InputIterator, InputIterator)): Use if constexpr instead - of dispatching to _M_assign. - (assign(size_type, const T&)): Use if constexpr instead of - dispatching to _M_assign_n. - (_M_move_assign, _M_assign_n): Do not define for versioned - namespace. - (_M_assign): Remove. - -2024-11-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_list.h (operator=(list&&)): Use if constexpr - instead of dispatching to _M_move_assign. - (_M_move_assign): Do not define for versioned namespace. - -2024-11-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105857 - * config/locale/dragonfly/codecvt_members.cc (do_length): Limit - size of alloca buffer to 4k. - * config/locale/gnu/codecvt_members.cc (do_length): Likewise. - * testsuite/22_locale/codecvt/length/wchar_t/105857.cc: New - test. - -2024-11-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117751 - * testsuite/18_support/50594.cc: Edit dg-options to include the - -fno-assume-sane-operators-new-delete option. - -2024-11-26 Jan Hubicka <hubicka@ucw.cz> - - * include/bits/deque.tcc (std::deque::_M_reallocate_map): Add - __builtin_unreachable check to declare that maps are not very large. - * include/bits/stl_deque.h (std::deque::size): Add __builtin_unreachable - to check for maximal size of map. - -2024-11-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/range_access.h (begin, end, ssize): Add - conditional noexcept. - * testsuite/18_support/initializer_list/range_access.cc: Check - results and noexcept-specifier for std::begin and std::end. - * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: - Check for conditional noexcept on std::begin and std::end. - * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: - Likewise. - * testsuite/24_iterators/range_access/range_access.cc: Check - conditional noexcept is correct. - * testsuite/24_iterators/range_access/range_access_cpp17.cc: - Check std::size, std::empty and std::data. - * testsuite/24_iterators/range_access/range_access_cpp20.cc: - Check conditional noexcept on std::ssize. - -2024-11-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/forward_list.h: Use Markdown in Doxygen comments. - -2024-11-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117630 - * src/c++11/Makefile.am: Add new file. - * src/c++11/Makefile.in: Regnerate. - * src/c++11/cow-stdexcept.cc (error_category::_M_message): Move - member function definition to ... - * src/c++11/cow-system_error.cc: New file. - -2024-11-20 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_set.h (set::find): Use const_iterator in - return type, not iterator. - -2024-11-20 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117686 - * include/bits/hashtable.h (_Hashtable::_M_emplace_uniq): - Adjust usage of __is_key_type to avoid false positive. - * testsuite/23_containers/unordered_set/insert/117686.cc: - New test. - -2024-11-19 Jason Merrill <jason@redhat.com> - - * src/c++23/libstdc++.modules.json.in: Remove C++ comment. - -2024-11-18 David Malcolm <dmalcolm@redhat.com> - - * testsuite/lib/libstdc++.exp: Add - "load_gcc_lib dg-test-cleanup.exp". - -2024-11-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable::_M_src_hash_code): - Improve comments. - (_Hashtable::_M_merge_unique(_Hashtable&)): Use pointer_traits - to get before-begin pointer. Only use static_cast on valid - nodes, not the before-begin pointer. Reuse a hash code cached in - the node when possible. - (_Hashtable::_M_merge_multi(_Hashtable&)): Likewise. - -2024-11-18 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/allocator.xml: Update reference to Angelika - Langer's article. - * doc/html/manual/memory.html: Regenerate. - -2024-11-17 Jason Merrill <jason@redhat.com> - - PR libstdc++/106852 - * include/bits/version.def: Add __cpp_lib_modules. - * include/bits/version.h: Regenerate. - * src/c++23/Makefile.am: Add modules std and std.compat. - * src/c++23/Makefile.in: Regenerate. - * src/c++23/std-clib.cc.in: New file. - * src/c++23/std.cc.in: New file. - * src/c++23/std.compat.cc.in: New file. - * src/c++23/libstdc++.modules.json.in: New file. - -2024-11-17 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/intro.xml: Move a gcc.gnu.org link to https. - * doc/html/manual/license.html: Regenerate. - -2024-11-17 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/io.xml: Update link to Angelika Langer's book. - * doc/html/manual/streambufs.html: Regenerate. - -2024-11-17 Jan Hubicka <hubicka@ucw.cz> - - PR tree-optimization/109442 - * include/bits/stl_vector.h: (vector::size(), - vector::capacity()): Add __builtin_unreachable call to announce - that size and capacity are non-negative. - -2024-11-16 Jonathan Wakely <jwakely@redhat.com> - - * Makefile.am: Use $(MAKE) -C dir instead of cd dir && $(MAKE). - * Makefile.in: Regenerate. - -2024-11-15 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_list.h (list::emplace_back): Fix indentation. - -2024-11-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_algo.h (__is_permutation_fn::operator()): - Short-circuit for sized ranges with different sizes, as per LWG - 3560. - * include/bits/ranges_algobase.h (__equal_fn::operator()): - Likewise. - * include/bits/stl_algo.h (__is_permutation): Use if-constexpr - for random access iterator branches. - * include/bits/stl_algobase.h (__equal4): Likewise. - * testsuite/25_algorithms/equal/lwg3560.cc: New test. - * testsuite/25_algorithms/is_permutation/lwg3560.cc: New test. - -2024-11-14 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (keys_view): Adjust as per LWG 3563. - (values_view): Likewise. - * testsuite/std/ranges/adaptors/elements.cc (test08): New test. - -2024-11-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_util.h (subrange::begin): Fix constraint, - as per LWG 3589. - * testsuite/std/ranges/subrange/lwg3589.cc: New test. - -2024-11-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/c++config (_GLIBCXX_NODISCARD): Expand for C++11 - and C++14. - * testsuite/22_locale/locale/cons/12438.cc: Adjust dg-warning to - expect nodiscard warnings for C++11 and C++14 as well. - * testsuite/22_locale/locale/operations/2.cc: Likewise. - * testsuite/25_algorithms/equal/debug/1_neg.cc: Likewise. - * testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise. - * testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise. - * testsuite/25_algorithms/find_first_of/concept_check_1.cc: - Likewise. - * testsuite/25_algorithms/is_permutation/2.cc: Likewise. - * testsuite/25_algorithms/lexicographical_compare/71545.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/33613.cc: Likewise. - * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: Likewise. - * testsuite/25_algorithms/minmax/3.cc: Likewise. - * testsuite/25_algorithms/search/78346.cc: Likewise. - * testsuite/25_algorithms/search_n/58358.cc: Likewise. - * testsuite/25_algorithms/unique/1.cc: Likewise. - * testsuite/25_algorithms/unique/11480.cc: Likewise. - * testsuite/25_algorithms/upper_bound/33613.cc: Likewise. - * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: Likewise. - * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: - Likewise. - * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: - Likewise. - * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: - Likewise. - * testsuite/ext/concept_checks.cc: Likewise. - * testsuite/ext/is_heap/47709.cc: Likewise. - * testsuite/ext/is_sorted/cxx0x.cc: Likewise. - -2024-11-14 Jason Merrill <jason@redhat.com> - - * include/precompiled/stdc++.h: <coroutine> is C++20. - -2024-11-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (operator+): Add constraint to - move_iterator operator. - * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: - -2024-11-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (__normal_iterator): Replace - enable_if constraint with requires-clause. - -2024-11-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h: Make use of feature test macros - more consistent. Improve doxygen comments. - -2024-11-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117560 - * include/bits/fs_dir.h (enable_borrowed_range, enable_view): - Define specializations for directory iterators, as per LWG 3480. - * testsuite/27_io/filesystem/iterators/lwg3480.cc: New test. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/evolution.xml: Document removal of nested types - from std::hash specializations. - * doc/html/manual/api.html: Regenerate. - * include/bits/functional_hash.h (__hash_base): Remove - deprecated nested types for C++20. - (__hash_empty_base): Define new class template. - (__is_hash_enabled_for): Define new variable template. - (__poison_hash): Remove. - (__hash_not_enabled): Define new class template. - (__hash_enum): Remove partial specialization for non-enums. - (hash): Derive from __hash_not_enabled for non-enums, instead of - __hash_enum. - * include/bits/unique_ptr.h (__uniq_ptr_hash): Derive from - __hash_base. Conditionally derive from __hash_empty_base. - (__uniq_ptr_hash<>): Remove disabled specialization. - (hash): Do not derive from __hash_base unconditionally. - Conditionally derive from either __uniq_ptr_hash or - __hash_not_enabled. - * include/std/optional (__optional_hash_call_base): Remove. - (__optional_hash): Define new class template. - (hash): Derive from either - (hash): Conditionally derive from either __optional_hash or - __hash_not_enabled. Remove nested typedefs. - * include/std/variant (_Base_dedup): Replace __poison_hash with - __hash_empty_base. - (__variant_hash_call_base_impl): Remove. - (__variant_hash): Define new class template. - (hash): Conditionally derive from either __variant_hash or - __hash_not_enabled. Remove nested typedefs. - * testsuite/20_util/optional/hash.cc: Check whether nested types - are present. - * testsuite/20_util/variant/hash.cc: Likewise. - * testsuite/20_util/optional/hash_abi.cc: New test. - * testsuite/20_util/unique_ptr/hash/abi.cc: New test. - * testsuite/20_util/unique_ptr/hash/types.cc: New test. - * testsuite/20_util/variant/hash_abi.cc: New test. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (__location_type): New struct. - (_M_locate): New member function. - (_M_find_before_node(const key_type&)): Remove. - (_M_find_node): Move variable initialization into condition. - (_M_find_node_tr): Likewise. - (operator=(initializer_list<T>), try_emplace, _M_reinsert_node) - (_M_merge_unique, find, erase(const key_type&)): Use _M_locate - for lookup. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_M_merge_unique): Add overload for - merging from same type. - (_M_merge_unique<Compatible>): Simplify size tracking. Add - comment. - (_M_merge_multi): Add overload for merging from same type. - (_M_merge_multi<Compatible>): Add comment. - * include/bits/unordered_map.h (unordered_map::merge): Check for - self-merge in the lvalue overload. Call _M_merge_unique directly - for the rvalue overload. - (unordered_multimap::merge): Likewise. - * include/bits/unordered_set.h (unordered_set::merge): Likewise. - (unordered_multiset::merge): Likewise. - * testsuite/23_containers/unordered_map/modifiers/merge.cc: - Add more tests. - * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: - Likewise. - * testsuite/23_containers/unordered_set/modifiers/merge.cc: - Likewise. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable_policy.h (_Hashtable_base::_S_equals): - Remove. - (_Hashtable_base::_S_node_equals): Remove. - (_Hashtable_base::_M_key_equals_tr): Fix inaccurate - static_assert string. - (_Hashtable_base::_M_equals, _Hashtable_base::_M_equals_tr): Use - 'if constexpr' instead of _S_equals. - (_Hashtable_base::_M_node_equals): Use 'if constexpr' instead of - _S_node_equals. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable): Remove _Equality base - class. - (_Hashtable::_M_equal): Define equality comparison here instead - of in _Equality::_M_equal. - * include/bits/hashtable_policy.h (_Equality): Remove. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable): Remove inheritance from - __detail::_Insert and move its members into _Hashtable. - * include/bits/hashtable_policy.h (__detail::_Insert): Remove. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (operator=(const _Hashtable&)): Use - RAII instead of try-catch. - (_M_assign(_Ht&&, _NodeGenerator&)): Likewise. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable::__fwd_value_for): - Remove. - (_Hashtable::_M_assign): Use static_cast instead of - __fwd_value_for. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable): Remove typedefs for - node generators. - (_Hashtable::_M_assign(_Ht&&)): Add new overload. - (_Hashtable::operator=(initializer_list<value_type>)): Add local - typedef for node generator. - (_Hashtable::_M_assign_elements): Likewise. - (_Hashtable::operator=(const _Hashtable&)): Use new _M_assign - overload. - (_Hashtable(const _Hashtable&)): Likewise. - (_Hashtable(const _Hashtable&, const allocator_type&)): - Likewise. - (_Hashtable(_Hashtable&&, __node_alloc_type&&, false_type)): - Likewise. - * include/bits/hashtable_policy.h (_Insert): Remove typedef for - node generator. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable::_M_erase): Remove - overloads for erasing by key, moving logic to ... - (_Hashtable::erase): ... here. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115285 - * include/bits/hashtable.h (_Hashtable::_M_emplace): Replace - with _M_emplace_uniq and _M_emplace_multi. - (_Hashtable::_S_forward_key, _Hashtable::_M_insert_unique) - (_Hashtable::_M_insert_unique_aux, _Hashtable::_M_insert): - Remove. - * include/bits/hashtable_policy.h (_ConvertToValueType): - Remove. - (_Insert_base::_M_insert_range): Remove overload for unique keys - and rename overload for non-unique keys to ... - (_Insert_base::_M_insert_range_multi): ... this. - (_Insert_base::insert): Call _M_emplace_uniq or _M_emplace_multi - instead of _M_insert. Add insert overloads from _Insert. - (_Insert_base): Rename to _Insert. - (_Insert): Remove - * testsuite/23_containers/unordered_map/96088.cc: Adjust - expected number of allocations. - * testsuite/23_containers/unordered_set/96088.cc: Likewise. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable_policy.h (_ReuseOrAllocNode::operator()): - Replace parameter pack with a single parameter. Assign to - existing value when possible. - * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc: - Adjust expected count of operations. - * testsuite/23_containers/unordered_set/allocator/move_assign.cc: - Likewise. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (operator=(initializer_list)): - Refactor to not use _M_insert_range. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_performance.h (time_counter): Add - comment about times. - (time_counter::system_time): Use correct split value. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * scripts/check_performance: Add timestamp to output file at - start of run. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_performance.h: Use - __gnu_cxx::__is_single_threaded instead of __gthread_active_p(). - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc: Replace - std::unary_function with result_type and argument_type typedefs. - * testsuite/util/performance/assoc/multimap_common_type.hpp: - Likewise. - -2024-11-13 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/performance/20_util/memory_resource/pools.cc: Fix - -Wunused-value warnings about unnamed std::lock_guard objects. - -2024-11-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): - Adjust strings passed to exception constructors. - -2024-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117520 - * include/std/text_encoding (aliases_view:_Iterator::operator+=): - Fix typos that caused == to be used instead of =. - (aliases_view::_Iterator): Fix friend declaration. - * testsuite/std/text_encoding/members.cc: Adjust expected - behaviour of invalid subscript. Add tests for other erroneous - operations on iterators. - -2024-11-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unicode.h (_Utf_iterator::_M_read_utf16): Add - parentheses. - -2024-11-08 Jakub Jelinek <jakub@redhat.com> - - * libsupc++/new (::operator new, ::operator new[]): Add malloc - attribute where missing. Add alloc_align attribute when - std::align_val_t is present and where it was missing. Formatting fix. - -2024-11-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable): Add 'inline' to some - one-line constructors. - -2024-11-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable_policy.h (_Insert_base::try_emplace): - Do not define for C++11 and C++14. - * include/debug/map.h (try_emplace): Use feature test macro. - * include/debug/unordered_map (try_emplace): Likewise. - * testsuite/17_intro/names.cc: Define try_emplace before C++17. - -2024-11-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable_policy.h (__distance_fw): Replace tag - dispatching with 'if constexpr'. - -2024-11-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_M_insert_unique_node): Improve - comment. - -2024-11-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115285 - * include/bits/hashtable.h (_Hashtable::_S_forward_key): Remove. - (_Hashtable::_M_insert_unique_aux): Replace _S_forward_key with - a static_cast to a type defined using conditional_t. - (_Hashtable::_M_insert): Replace _ConvertToValueType with a - static_cast to a type defined using conditional_t. - * include/bits/hashtable_policy.h (_ConvertToValueType): Remove. - * testsuite/23_containers/unordered_map/insert/115285.cc: New test. - * testsuite/23_containers/unordered_set/insert/115285.cc: New test. - * testsuite/23_containers/unordered_set/96088.cc: Adjust - expected number of allocations. - -2024-11-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_pair.h (__is_pair): Define for C++11 and - C++14 as well. - -2024-11-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable): Fix comment grammar. - -2024-11-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h: Add is_permutation to comment. - * include/bits/hashtable_policy.h: Remove it from comment. - -2024-11-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h: Fix spelling in comment. - -2024-11-06 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/evolution.xml: Document deprecations. - * doc/html/*: Regenerate. - * include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move - include guard to start of file. Include <complex> directly - instead of <ccomplex>. - * include/c_compatibility/tgmath.h: Include <cmath> and - <complex> directly, instead of <ctgmath>. - * include/c_global/ccomplex: Add deprecated #warning for C++17 - and #error for C++20 if _GLIBCXX_USE_DEPRECATED == 0. - * include/c_global/ciso646: Likewise. - * include/c_global/cstdalign: Likewise. - * include/c_global/cstdbool: Likewise. - * include/c_global/ctgmath: Likewise. - * include/c_std/ciso646: Likewise. - * include/precompiled/stdc++.h: Do not include ccomplex, - ciso646, cstdalign, cstdbool, or ctgmath in C++17 and later. - * testsuite/18_support/headers/cstdalign/macros.cc: Check for - warnings and errors for unsupported dialects. - * testsuite/18_support/headers/cstdbool/macros.cc: Likewise. - * testsuite/26_numerics/headers/ctgmath/complex.cc: Likewise. - * testsuite/27_io/objects/char/1.cc: Do not include <ciso646>. - * testsuite/27_io/objects/wchar_t/1.cc: Likewise. - * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Removed. - * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: Removed. - * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Removed. - * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Removed. - * testsuite/18_support/headers/ciso646/macros.cc: New test. - * testsuite/18_support/headers/ciso646/macros.h.cc: New test. - * testsuite/18_support/headers/cstdbool/macros.h.cc: New test. - * testsuite/26_numerics/headers/ccomplex/complex.cc: New test. - * testsuite/26_numerics/headers/ccomplex/complex.h.cc: New test. - * testsuite/26_numerics/headers/ctgmath/complex.h.cc: New test. - * testsuite/18_support/headers/cstdalign/macros.h.cc: New file. - -2024-11-06 Jonathan Wakely <jwakely@redhat.com> - - * include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move - include guard to start of the header. - * include/c_global/ctgmath (_GLIBCXX_CTGMATH): Likewise. - -2024-11-06 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_base.h (__shared_ptr_deref): New - function template. - (__shared_ptr_access, __shared_ptr_access<>): Use it. - -2024-11-06 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_dir.cc (fs::directory_iterator::operator*): Use - shared_ptr::operator* instead of shared_ptr::operator->. - (fs::recursive_directory_iterator::options): Likewise. - (fs::recursive_directory_iterator::depth): Likewise. - (fs::recursive_directory_iterator::recursion_pending): Likewise. - (fs::recursive_directory_iterator::operator*): Likewise. - (fs::recursive_directory_iterator::disable_recursion_pending): - Likewise. - -2024-11-04 Nathaniel Shead <nathanieloshead@gmail.com> - - PR testsuite/113710 - PR c++/113814 - * include/bits/stl_pair.h: Remove workaround. - -2024-11-04 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/117406 - * testsuite/26_numerics/headers/cmath/117406.cc: Use - std::numeric_limits<int>::max() instead of INT_MAX. - -2024-11-02 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/117406 - * include/c_global/cmath (std::ilogb(_Float16), std::llrint(_Float16), - std::llround(_Float16), std::lrint(_Float16), std::lround(_Float16)): - Don't cast __builtin_* return to _Float16. - (std::ilogb(__gnu_cxx::__bfloat16_t), - std::llrint(__gnu_cxx::__bfloat16_t), - std::llround(__gnu_cxx::__bfloat16_t), - std::lrint(__gnu_cxx::__bfloat16_t), - std::lround(__gnu_cxx::__bfloat16_t)): Don't cast __builtin_* return to - __gnu_cxx::__bfloat16_t. - * testsuite/26_numerics/headers/cmath/117406.cc: New test. - -2024-11-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unordered_map.h: Check __glibcxx_node_extract and - __glibcxx_unordered_map_try_emplace instead of __cplusplus. - * include/bits/unordered_set.h: Check __glibcxx_node_extract - instead of __cplusplus. - -2024-11-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h: Improve comments. - -2024-11-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111055 - * include/bits/forward_list.h - (forward_list(from_range, R&&, const Alloc&), assign_range) - (prepend_range, insert_range_after): Define. - * include/bits/stl_list.h (list(from_range, R&&, const Alloc&)) - (assign_range, prepend_range, append_range, insert_range): - Define. - * include/debug/forward_list - (forward_list(from_range, R&&, const Alloc&), assign_range) - (prepend_range, insert_range_after): Define. - * include/debug/list (list(from_range, R&&, const Alloc&)) - (assign_range, prepend_range, append_range, insert_range): - Define. - * testsuite/23_containers/forward_list/cons/from_range.cc: New - test. - * testsuite/23_containers/forward_list/modifiers/assign_range.cc: - New test. - * testsuite/23_containers/forward_list/modifiers/insert_range_after.cc: - New test. - * testsuite/23_containers/forward_list/modifiers/prepend_range.cc: - New test. - * testsuite/23_containers/list/cons/from_range.cc: New test. - * testsuite/23_containers/list/modifiers/append_range.cc: New - test. - * testsuite/23_containers/list/modifiers/assign/assign_range.cc: - New test. - * testsuite/23_containers/list/modifiers/insert/insert_range.cc: - New test. - * testsuite/23_containers/list/modifiers/prepend_range.cc: New - test. - -2024-11-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/unordered_set/pr115285.cc: Include - missing header for std::vector. - -2024-11-01 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/typeinfo: Remove whitespace in #endif - -2024-10-31 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/new (operator new): Add attribute align_alloc(2) to - overloads taking a std::align_val_t argument. - * testsuite/18_support/new_aligned_warn.cc: New test. - -2024-10-30 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/vector/cons/from_range.cc: Fix copy & - paste error in comment. - * testsuite/23_containers/vector/modifiers/append_range.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: - Likewise. - -2024-10-30 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/using_exceptions.xml: Fix typos and grammatical - errors. - * doc/html/manual/using_exceptions.html: Regenerate. - -2024-10-30 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/c++config (_GLIBCXX_DOUBLE_IS_IEEE_BINARY32): - Define. - (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY64): Define. - (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY32): Define. - * include/bits/cpp_type_traits.h (__memcpyable): Define - specializations when double and long double are compatible. - -2024-10-30 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/cpp_type_traits.h (__memcpyable): Add - specializations for compatible floating-point types. - -2024-10-29 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/112641 - * include/std/ranges (drop_view::begin): Reimplement const - overload so that it's O(1) always. - * testsuite/std/ranges/adaptors/drop.cc (test10): New test. - -2024-10-29 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/117321 - * include/c_global/cmath (nextafter(_Float16, _Float16)): Use - if consteval rather than if (std::__is_constant_evaluated()) around - the __builtin_nextafterf16 call. - (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Use - if consteval rather than if (std::__is_constant_evaluated()) around - the __builtin_nextafterf16b call. - * testsuite/26_numerics/headers/cmath/117321.cc: New test. - -2024-10-28 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/vector/bool/cons/from_range.cc: Use - dg-do run instead of compile. - (test_ranges): Use do_test instead of do_test_a for rvalue - range. - (test_constexpr): Call function template instead of just - instantiating it. - * testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc: - Use dg-do run instead of compile. - (do_test): Use same test logic for vector<bool> as for primary - template. - (test_constexpr): Call function template instead of just - instantiating it. - * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc: - Use dg-do run instead of compile. - (test_ranges): Use do_test instead of do_test_a for rvalue - range. - (test_constexpr): Call function template instead of just - instantiating it. - * testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc: - Use dg-do run instead of compile. - (do_test): Fix incorrect function arguments to match intended - results. - (test_ranges): Use do_test instead of do_test_a for rvalue - range. - (test_constexpr): Call function template instead of just - instantiating it. - * testsuite/23_containers/vector/cons/from_range.cc: Use dg-do - run instead of compile. - (test_ranges): Fix ill-formed call to do_test. - (test_constexpr): Call function template instead of just - instantiating it. - * testsuite/23_containers/vector/modifiers/append_range.cc: - Use dg-do run instead of compile. - (test_constexpr): Likewise. - * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: - Use dg-do run instead of compile. - (do_test): Do not reuse input ranges. - (test_constexpr): Call function template instead of just - instantiating it. - * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: - Use dg-do run instead of compile. - (do_test): Fix incorrect function arguments to match intended - results. - (test_constexpr): Call function template instead of just - instantiating it. - -2024-10-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111055 - * include/bits/ranges_base.h (__container_compatible_range): New - concept. - * include/bits/stl_bvector.h (vector(from_range, R&&, const Alloc&)) - (assign_range, insert_range, append_range): Define. - * include/bits/stl_uninitialized.h (__do_uninit_copy): Support - non-common ranges. - (__uninitialized_copy_a): Likewise. - * include/bits/stl_vector.h (_Vector_base::_M_append_range_to): - New function. - (_Vector_base::_M_append_range): Likewise. - (vector(from_range, R&&, const Alloc&), assign_range): Define. - (append_range): Define. - (insert_range): Declare. - * include/debug/vector (vector(from_range, R&&, const Alloc&)) - (assign_range, insert_range, append_range): Define. - * include/bits/vector.tcc (insert_range): Define. - * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_rval): - New class template. - * testsuite/23_containers/vector/bool/cons/from_range.cc: New test. - * testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc: - New test. - * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc: - New test. - * testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc: - New test. - * testsuite/23_containers/vector/cons/from_range.cc: New test. - * testsuite/23_containers/vector/modifiers/append_range.cc: New test. - * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: - New test. - * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: - New test. - -2024-10-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_bvector.h (emplace_back, emplace): Forward - parameter pack to preserve value category. - * testsuite/23_containers/vector/bool/emplace_rvalue.cc: New - test. - -2024-10-25 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/21_strings/basic_string/operators/char/op_plus_string_view.cc: - Check __cpp_lib_constexpr_string. - -2024-10-25 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * include/bits/basic_string.h: Implement the four operator+ - overloads between basic_string and (types convertible to) - basic_string_view. - * include/bits/version.def: Bump the feature-testing macro. - * include/bits/version.h: Regenerate. - * testsuite/21_strings/basic_string/operators/char/op_plus_fspath_neg.cc: New test. - * testsuite/21_strings/basic_string/operators/char/op_plus_string_view.cc: New test. - * testsuite/21_strings/basic_string/operators/char/op_plus_string_view_compat.cc: - New test. - -2024-10-25 Jakub Jelinek <jakub@redhat.com> - - * include/debug/debug.h: Remove trailing whitespace. - * include/parallel/base.h: Likewise. - * include/parallel/types.h: Likewise. - * include/parallel/settings.h: Likewise. - * include/parallel/multiseq_selection.h: Likewise. - * include/parallel/partition.h: Likewise. - * include/parallel/random_number.h: Likewise. - * include/parallel/find_selectors.h: Likewise. - * include/parallel/partial_sum.h: Likewise. - * include/parallel/list_partition.h: Likewise. - * include/parallel/search.h: Likewise. - * include/parallel/algorithmfwd.h: Likewise. - * include/parallel/random_shuffle.h: Likewise. - * include/parallel/multiway_mergesort.h: Likewise. - * include/parallel/sort.h: Likewise. - * include/parallel/algobase.h: Likewise. - * include/parallel/numericfwd.h: Likewise. - * include/parallel/multiway_merge.h: Likewise. - * include/parallel/losertree.h: Likewise. - * include/bits/basic_ios.h: Likewise. - * include/bits/stringfwd.h: Likewise. - * include/bits/ostream_insert.h: Likewise. - * include/bits/stl_heap.h: Likewise. - * include/bits/unordered_map.h: Likewise. - * include/bits/hashtable_policy.h: Likewise. - * include/bits/stl_iterator_base_funcs.h: Likewise. - * include/bits/valarray_before.h: Likewise. - * include/bits/regex.h: Likewise. - * include/bits/postypes.h: Likewise. - * include/bits/stl_iterator.h: Likewise. - * include/bits/localefwd.h: Likewise. - * include/bits/stl_algo.h: Likewise. - * include/bits/ios_base.h: Likewise. - * include/bits/stl_function.h: Likewise. - * include/bits/basic_string.h: Likewise. - * include/bits/hashtable.h: Likewise. - * include/bits/valarray_after.h: Likewise. - * include/bits/char_traits.h: Likewise. - * include/bits/gslice.h: Likewise. - * include/bits/locale_facets_nonio.h: Likewise. - * include/bits/mask_array.h: Likewise. - * include/bits/specfun.h: Likewise. - * include/bits/random.h: Likewise. - * include/bits/slice_array.h: Likewise. - * include/bits/valarray_array.h: Likewise. - * include/tr1/float.h: Likewise. - * include/tr1/functional_hash.h: Likewise. - * include/tr1/math.h: Likewise. - * include/tr1/hashtable_policy.h: Likewise. - * include/tr1/stdio.h: Likewise. - * include/tr1/complex.h: Likewise. - * include/tr1/stdbool.h: Likewise. - * include/tr1/stdarg.h: Likewise. - * include/tr1/inttypes.h: Likewise. - * include/tr1/fenv.h: Likewise. - * include/tr1/stdlib.h: Likewise. - * include/tr1/wchar.h: Likewise. - * include/tr1/tgmath.h: Likewise. - * include/tr1/limits.h: Likewise. - * include/tr1/wctype.h: Likewise. - * include/tr1/stdint.h: Likewise. - * include/tr1/ctype.h: Likewise. - * include/tr1/random.h: Likewise. - * include/tr1/shared_ptr.h: Likewise. - * include/ext/mt_allocator.h: Likewise. - * include/ext/sso_string_base.h: Likewise. - * include/ext/debug_allocator.h: Likewise. - * include/ext/vstring_fwd.h: Likewise. - * include/ext/pointer.h: Likewise. - * include/ext/pod_char_traits.h: Likewise. - * include/ext/malloc_allocator.h: Likewise. - * include/ext/vstring.h: Likewise. - * include/ext/bitmap_allocator.h: Likewise. - * include/ext/pool_allocator.h: Likewise. - * include/ext/type_traits.h: Likewise. - * include/ext/ropeimpl.h: Likewise. - * include/ext/codecvt_specializations.h: Likewise. - * include/ext/throw_allocator.h: Likewise. - * include/ext/extptr_allocator.h: Likewise. - * include/ext/atomicity.h: Likewise. - * include/ext/concurrence.h: Likewise. - * include/c_compatibility/wchar.h: Likewise. - * include/c_compatibility/stdint.h: Likewise. - * include/backward/hash_fun.h: Likewise. - * include/backward/binders.h: Likewise. - * include/backward/hashtable.h: Likewise. - * include/backward/auto_ptr.h: Likewise. - * libsupc++/eh_arm.cc: Likewise. - * libsupc++/unwind-cxx.h: Likewise. - * libsupc++/si_class_type_info.cc: Likewise. - * libsupc++/vec.cc: Likewise. - * libsupc++/class_type_info.cc: Likewise. - * libsupc++/vmi_class_type_info.cc: Likewise. - * libsupc++/guard_error.cc: Likewise. - * libsupc++/bad_typeid.cc: Likewise. - * libsupc++/eh_personality.cc: Likewise. - * libsupc++/atexit_arm.cc: Likewise. - * libsupc++/pmem_type_info.cc: Likewise. - * libsupc++/vterminate.cc: Likewise. - * libsupc++/eh_terminate.cc: Likewise. - * libsupc++/bad_cast.cc: Likewise. - * libsupc++/exception_ptr.h: Likewise. - * libsupc++/eh_throw.cc: Likewise. - * libsupc++/bad_alloc.cc: Likewise. - * libsupc++/nested_exception.cc: Likewise. - * libsupc++/pointer_type_info.cc: Likewise. - * libsupc++/pbase_type_info.cc: Likewise. - * libsupc++/bad_array_new.cc: Likewise. - * libsupc++/pure.cc: Likewise. - * libsupc++/eh_exception.cc: Likewise. - * libsupc++/bad_array_length.cc: Likewise. - * libsupc++/cxxabi.h: Likewise. - * libsupc++/guard.cc: Likewise. - * libsupc++/eh_catch.cc: Likewise. - * libsupc++/cxxabi_forced.h: Likewise. - * libsupc++/tinfo.h: Likewise. - -2024-10-24 François Dumont <frs.dumont@gmail.com> - - * testsuite/23_containers/unordered_map/96088.cc (test03): Fix increments - value when _GLIBCXX_USE_CXX11_ABI is equal to 0. - -2024-10-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/complex/ext_c++23.cc: Fix typo in macro. - * 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. - -2024-10-24 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant (__throw_bad_variant_access(unsigned)): - Define new function as inline friend, with namespace-scope - declaration using noreturn attribute. - (__throw_bad_variant_access(const char*)): Remove. - (__throw_bad_variant_access(bool)): Remove. - (visit, visit<R>): Adjust calls to __throw_bad_variant_access. - -2024-10-24 Ricardo Jesus <rjj@nvidia.com> - - * config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Replace uses - of __builtin_shuffle with __builtin_shufflevector. - (__aarch64_lsl_128): Move shift amount to a template parameter. - (__aarch64_lsr_128): Move shift amount to a template parameter. - (__aarch64_recursion): Update call sites of __aarch64_lsl_128 - and __aarch64_lsr_128. - -2024-10-23 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/headers/cstdalign/macros.cc: New test. - -2024-10-23 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/evolution.xml: Document that assertions are - enabled for unoptimized builds. - * doc/html/*: Regenerate. - -2024-10-23 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/test.xml: Add GLIBCXX_TESTSUITE_STDS example. - * doc/html/manual/test.html: Regenerate. - -2024-10-23 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (assign(Iter, Iter)): Call - std::to_address instead of __to_address. - -2024-10-23 François Dumont <frs.dumont@gmail.com> - - PR libstdc++/115285 - * include/bits/hashtable.h (_S_forward_key<_Kt>): Always return a temporary - key_type instance. - * testsuite/23_containers/unordered_map/96088.cc: Adapt to additional instanciation. - Also check that mapped_type is not instantiated when there is no insertion. - * testsuite/23_containers/unordered_multimap/96088.cc: Adapt to additional - instanciation. - * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. - * testsuite/23_containers/unordered_set/96088.cc: Likewise. - * testsuite/23_containers/unordered_set/pr115285.cc: New test case. - -2024-10-22 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (concat_view::begin): Add space after - 'requires' starting a requires-clause. - (concat_view::end): Likewise. Refine condition for returning an - iterator rather than default_sentinel as per LWG 4166. - * testsuite/std/ranges/concat/1.cc (test03): Verify LWG 4166 - example. - -2024-10-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (basic_string::assign): Replace - use of __to_address with __niter_base or std::to_address as - appropriate. - * include/bits/ptr_traits.h (__to_address): Add comment. - * include/bits/shared_ptr_base.h (__shared_ptr): Qualify calls - to __to_address. - * include/bits/stl_algo.h (find): Replace use of __to_address - with __niter_base or std::to_address as appropriate. Only use - either of them when the range is not empty. - * include/bits/stl_iterator.h (__to_address): Remove overload - for __normal_iterator. - * include/debug/safe_iterator.h (__to_address): Remove overload - for _Safe_iterator. - * include/std/ranges (views::counted): Replace use of - __to_address with std::to_address. - * testsuite/24_iterators/normal_iterator/to_address.cc: Removed. - -2024-10-21 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: - Move to ... - * testsuite/26_numerics/headers/cmath/specfun_c++17.cc: here and - adjust test to be valid for all -std dialects. - -2024-10-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_vector.h (vector::_M_data_ptr): Remove - non-const overloads. Always return non-const pointer. - -2024-10-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117220 - * include/bits/stl_iterator.h: Move _GLIBCXX_NODISCARD - annotations after __attribute__((__always_inline__)). - -2024-10-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_algobase.h (ranges::__assign_one): Remove. - (__copy_or_move, __copy_or_move_backward): Use std::__assign_one - instead of ranges::__assign_one. - -2024-10-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_algobase.h (__copy_move_a1, __copy_move_a) - (__copy_move_backward_a1, __copy_move_backward_a, move_backward) - (__fill_a1, __fill_a, fill, __fill_n_a, fill_n, __equal_aux): - Add always_inline attribute to one-line forwarding functions. - -2024-10-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_algo.h (find): Add nodiscard. - -2024-10-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115444 - PR libstdc++/114817 - * include/bits/stl_algo.h (__copy_n): Remove generic overload - and overload for random access iterators. - (copy_n): Inline generic version of __copy_n here. Do not defer - to std::copy for random access iterators. - * include/bits/stl_algobase.h (__copy_move): Remove. - (__nothrow_contiguous_iterator, __memcpyable_iterators): New - concepts. - (__assign_one, _GLIBCXX_TO_ADDR, _GLIBCXX_ADVANCE): New helpers. - (__copy_move_a2): Inline __copy_move logic and conditional - memmove optimization into the most generic overload. - (__copy_n_a): Likewise. - (__copy_move_backward): Remove. - (__copy_move_backward_a2): Inline __copy_move_backward logic and - memmove optimization into the most generic overload. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/114817.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/114817.cc: - New test. - * testsuite/25_algorithms/copy/114817.cc: New test. - * testsuite/25_algorithms/copy/115444.cc: New test. - * testsuite/25_algorithms/copy_n/114817.cc: New test. - -2024-10-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (__normal_iterator): Make all - members and overloaded operators constexpr before C++20, and add - always_inline attribute - (__to_address): Add nodiscard and always_inline attributes. - (__make_move_if_noexcept_iterator): Add nodiscard - and make unconditionally constexpr. - (__niter_base(__normal_iterator), __niter_base(Iter)): - Add nodiscard and always_inline attributes. - (__niter_base(reverse_iterator), __niter_base(move_iterator)) - (__miter_base): Add inline. - (__niter_wrap(From, To)): Add nodiscard attribute. - (__niter_wrap(const Iter&, Iter)): Add nodiscard and - always_inline attributes. - -2024-10-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/68350 - PR libstdc++/93059 - * include/bits/stl_uninitialized.h (__check_constructible) - (_GLIBCXX_USE_ASSIGN_FOR_INIT): Remove. - [C++98] (__unwrappable_niter): New trait. - (__uninitialized_copy<true>): Replace use of std::copy. - (uninitialized_copy): Fix Doxygen comments. Open-code memcpy - optimization for C++11 and later. - (__uninitialized_fill<true>): Replace use of std::fill. - (uninitialized_fill): Fix Doxygen comments. Open-code memset - optimization for C++11 and later. - (__uninitialized_fill_n<true>): Replace use of std::fill_n. - (uninitialized_fill_n): Fix Doxygen comments. Open-code memset - optimization for C++11 and later. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: - Adjust expected behaviour to match what the standard specifies. - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc: - Adjust dg-error directives. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/89164.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/89164.cc: - Likewise. - * testsuite/23_containers/vector/cons/89164.cc: Likewise. - * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise. - -2024-10-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_algobase.h (__niter_base, __niter_wrap): Move - to ... - * include/bits/stl_iterator.h: ... here. - (__niter_base, __miter_base): Move all overloads to the end of - the header. - * testsuite/24_iterators/normal_iterator/wrapping.cc: New test. - -2024-10-16 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (strip_fundts_namespace): New. - (StdExpAnyPrinter, StdExpOptionalPrinter): Use it. - -2024-10-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/106676 - * include/bits/iterator_concepts.h (__cpp17_fwd_iterator): Use - is_reference instead of is_value_reference. - rvalue references. - * include/std/ranges (transform_view:__iter_cat::_S_iter_cat): - Likewise. - (zip_transform_view::__iter_cat::_S_iter_cat): Likewise. - (adjacent_transform_view::__iter_cat::_S_iter_cat): Likewise. - (join_with_view::__iter_cat::_S_iter_cat): Likewise. - * testsuite/std/ranges/adaptors/transform.cc: Check - iterator_category when the transformation function returns an - rvalue reference type. - -2024-10-14 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ranges (transform_view:_Iterator): Use const F& - to determine value_type and iterator_category of - _Iterator<true>, as per LWG 3564. - * testsuite/std/ranges/adaptors/transform.cc: Check value_type - and iterator_category. - -2024-10-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117135 - * config/locale/generic/time_members.cc - (__timepunct<wchar_t>::_M_initialize_timepunc): Set - _M_date_time_format for C locale. Set %Ex formats to the same - values as the %x formats. - -2024-10-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (constrained_equality): Bump value. - * include/bits/version.h: Regenerate. - * include/std/expected (operator==): Add constraints and - noexcept specifiers. - * testsuite/20_util/optional/relops/constrained.cc: Adjust - check for feature test macro. - * testsuite/20_util/pair/comparison_operators/constrained.cc: - Likewise. - * testsuite/20_util/tuple/comparison_operators/constrained.cc: - Likewise. - * testsuite/20_util/variant/relops/constrained.cc: Likewise. - * testsuite/20_util/expected/equality_constrained.cc: New test. - -2024-10-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117094 - * include/bits/ranges_algobase.h (__fill_fn): Use std::move for - iterator that might not be copyable. - * testsuite/25_algorithms/fill/constrained.cc: Check - non-copyable iterator with sized sentinel. - -2024-10-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/93059 - * include/bits/stl_algobase.h (__fill_a1(T*, T*, const T&)): - Change template parameters and enable_if condition to allow the - fill value to be an integer. - -2024-10-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/93059 - * include/bits/cpp_type_traits.h (__memcpyable): Add partial - specialization for pointers to distinct types. - (__memcpyable_integer): New trait to control which types can use - cross-type memcpy optimizations. - -2024-10-13 Sam James <sam@gentoo.org> - - * testsuite/17_intro/names_fortify.cc: Undefine _FORTIFY_SOURCE. - -2024-10-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117121 - * include/bits/ranges_algobase.h (copy_backward): Decrement - output iterator before assigning one element through it. - * testsuite/25_algorithms/copy/108846.cc: Ensure the algorithm's - effects are correct for a single memcpyable element. - * testsuite/25_algorithms/copy_backward/108846.cc: Likewise. - * testsuite/25_algorithms/copy_n/108846.cc: Likewise. - -2024-10-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (__niter_base(move_iterator<I>)) - (__is_move_iterator, __miter_base, _GLIBCXX_MAKE_MOVE_ITERATOR) - (_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Move earlier in the - file. - -2024-10-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/cpp_type_traits.h (__is_byte<byte>): Guard with - __glibcxx_byte macro instead of checking __cplusplus. - -2024-10-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/117085 - * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add L - option to format string. - * testsuite/std/time/format.cc: Move to... - * testsuite/std/time/format/format.cc: ...here. - * testsuite/std/time/format_localized.cc: Move to... - * testsuite/std/time/format/localized.cc: ...here. - * testsuite/std/time/format/pr117085.cc: New test. - -2024-10-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/22_locale/time_get/get/char/5.cc: Fix dg-do - directive. - * testsuite/22_locale/time_get/get/wchar_t/5.cc: Likewise. - -2024-10-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/duration/io.cc [!__cpp_lib_char8_t]: Define - char8_t as a typedef for unsigned char. - * testsuite/std/format/parse_ctx_neg.cc: Skip for -fno-char8_t. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116210 - * testsuite/17_intro/names.cc (sz): Undef for versions of Glibc - that use it in the fortify wrappers. - * testsuite/17_intro/names_fortify.cc: New test. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116969 - * include/bits/locale_facets_nonio.tcc (money_put::__do_put): - Remove diagnostic pragmas. - (__glibcxx_snprintfibm128): Declare type manually, instead of - using __typeof__(__builtin_snprintf). - -2024-10-09 Frank Scheiner <frank.scheiner@web.de> - - * testsuite/17_intro/names.cc [__linux__ && __ia64__]: Undefine - 'u' as used in glibc headers. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116992 - * include/bits/semaphore_base.h (_GLIBCXX_USE_POSIX_SEMAPHORE): - Undefine and issue a warning if POSIX sem_t is not supported. - * testsuite/30_threads/semaphore/platform_try_acquire_for.cc: - Prune new warning. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116991 - * include/std/complex (__complex_acos): Cast literal to - destination type. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - * include/std/latch (latch::count_down): Add assertions for - preconditions. Cast parameter to avoid -Wsign-compare on some - targets. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112808 - * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document - implicit definition for -O0 compilation. - (_GLIBCXX_NO_ASSERTIONS): Document. - * doc/html/manual/using_macros.html: Regenerate. - * include/bits/c++config [!__OPTIMIZE__] (_GLIBCXX_ASSERTIONS): - Define for unoptimized builds. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/61458 - * doc/doxygen/user.cfg.in (GENERATE_BUGLIST): Set to NO. - * include/std/type_traits (__aligned_storage_msa): Remove. - (__aligned_storage_max_align_t): New struct. - (__aligned_storage_default_alignment): New function. - (aligned_storage): Use __aligned_storage_default_alignment for - default alignment. Replace union with a struct containing an - aligned buffer. Improve Doxygen comment. - (aligned_storage_t): Use __aligned_storage_default_alignment for - default alignment. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_base.h: Remove cv-qualifiers from - type managed by _Sp_counted_ptr_inplace, as per LWG 3210. - * include/bits/stl_construct.h: Do not cast away cv-qualifiers - when passing pointer to placement new. - * include/std/expected: Use remove_cv_t for union member, as per - LWG 3891. - * testsuite/20_util/allocator/void.cc: Do not test construction - via const pointer. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_construct.h (construct_at): Support array - types (LWG 3436). - * testsuite/20_util/specialized_algorithms/construct_at/array.cc: - New test. - * testsuite/20_util/specialized_algorithms/construct_at/array_neg.cc: - New test. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add - [[unlikely]] attribute to condition for missing %c format in - locale. Use %T instead of %H:%M:%S in fallback. - -2024-10-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116755 - * include/bits/chrono_io.h (operator<<): Use +d.count() for - duration inserter. - (__formatter_chrono::_M_format): Likewise for %Q format. - * testsuite/20_util/duration/io.cc: Test durations with - character types as reps. - -2024-10-08 Jakub Jelinek <jakub@redhat.com> - - * include/bits/unicode.h (std::__unicode::__v15_1_0): Rename inline - namespace to ... - (std::__unicode::__v16_0_0): ... this. - (_GLIBCXX_GET_UNICODE_DATA): Change from 150100 to 160000. - * include/bits/unicode-data.h: Regenerated. - * testsuite/ext/unicode/properties.cc: Check for _Gcb_SpacingMark - on U+11F03 rather than U+1D16D as the latter lost SpacingMark property - in Unicode 16.0. - -2024-10-05 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - * include/bits/version.def: Added the feature-testing macro. - * include/bits/version.h: Regenerated. - * include/std/type_traits: Add support for - std::is_virtual_base_of and std::is_virtual_base_of_v, - implemented in terms of the compiler builtin. - * testsuite/20_util/is_virtual_base_of/value.cc: New test. - -2024-10-05 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_base.h (__distance_fn::operator()): - Adjust iterator/sentinel overloads as per LWG 3664. - * testsuite/24_iterators/range_operations/distance.cc: - Test LWG 3664 example. - -2024-10-04 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (single_view::empty): Define as per LWG 4035. - (iota_view::empty): Define as per LWG 4001. - (lazy_split_view::_OuterIter::value_type): Remove default - constructor and make other constructor private as per LWG 4013. - (common_view::begin): Disable non-const overload for simple - views as per LWG 4012. - (common_view::end): Likewise. - (adjacent_view::base): Define as per LWG 3848. - (adjacent_transform_view::base): Likewise. - (chunk_view::_InnerIter::iter_move): Define as per LWG 3851. - (chunk_view::_InnerIter::itep_swap): Likewise. - (slide_view::base): Define as per LWG 3848. - (repeat_view): Adjust deduction guide as per LWG 4053. - (_Repeat::operator()): Adjust single-parameter overload as per - LWG 4054. - * testsuite/std/ranges/adaptors/adjacent/1.cc: Verify existence - of base member function. - * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk/1.cc: Test LWG 3851 example. - * testsuite/std/ranges/adaptors/slide/1.cc: Verify existence of - base member function. - * testsuite/std/ranges/iota/iota_view.cc: Test LWG 4001 example. - * testsuite/std/ranges/repeat/1.cc: Test LWG 4053/4054 examples. - -2024-10-04 Jonathan Wakely <jwakely@redhat.com> - - * include/parallel/algobase.h (search): Use sequential algorithm - for constant evaluation. - * include/parallel/algorithmfwd.h (search): Add - _GLIBCXX20_CONSTEXPR. - * include/parallel/multiway_merge.h: Remove stray semi-colon. - * include/parallel/multiseq_selection.h: Add diagnostic pragmas - for -Wlong-long warning. - * include/parallel/quicksort.h: Likewise. - * include/parallel/random_number.h: Likewise. - * include/parallel/settings.h: Likewise. - * include/parallel/workstealing.h: Replace ++ and -- on volatile - variables. - * testsuite/17_intro/names.cc: Skip names defined by - <tr1/random>. - * testsuite/20_util/pair/dangling_ref.cc: Skip test if Parallel - Mode is enabled. - * testsuite/20_util/tuple/dangling_ref.cc: Likewise. - -2024-10-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116964 - * include/std/shared_mutex (__shared_mutex_cv): Use [this] for - lambda captures. - (shared_timed_mutex) [!_GLIBCXX_USE_PTHREAD_RWLOCK_T]: Likewise. - -2024-10-03 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unicode.h (__unicode::__is_incb_linker): Use - _GLIBCXX_STD_A namespace for std::find. - -2024-10-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116944 - * include/parallel/base.h: Move diagnostic pragmas earlier. - -2024-10-03 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/locale_facets_nonio.tcc (money_put::__do_get): - Ignore -Wformat warning for __ibm128 arguments. - * include/tr1/tuple (ignore): Ignore -Wunused warning. - -2024-10-03 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/hashtable_policy.h (_NodeBuilder<>::_S_build): Remove - const qualification on _NodeGenerator instance. - (_ReuseOrAllocNode<>::operator()(_Args&&...)): Remove const qualification. - (_ReuseOrAllocNode<>::_M_nodes): Remove mutable. - (_Insert_base<>::_M_insert_range): Remove _NodeGetter const qualification. - (_Hash_code_base<>::_M_bucket_index(const _Hash_node_value<>&, size_t)): - Simplify noexcept declaration, we already static_assert that _RangeHash functor - is noexcept. - * include/bits/hashtable.h: Rework comments. Remove const qualifier on - _NodeGenerator& arguments. - -2024-10-02 Jonathan Wakely <jwakely@redhat.com> - - * config/locale/dragonfly/time_members.cc - (__timepunct<char>::_M_initialize_timepunc) - (__timepunct<wchar_t>::_M_initialize_timepunc): Set - _M_date_time_format for C locale. Set %Ex formats to the same - values as the %x formats. - * config/locale/generic/time_members.cc: Likewise. - * config/locale/gnu/time_members.cc: Likewise. - * testsuite/22_locale/time_get/get/char/5.cc: New test. - * testsuite/22_locale/time_get/get/wchar_t/5.cc: New test. - -2024-10-02 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__detail::__use_floor): New - function. - (__detail::__round): New function. - (from_stream): Use __detail::__round. - * testsuite/std/time/clock/file/io.cc: Check for expected - rounding in parse. - * testsuite/std/time/clock/gps/io.cc: Likewise. - -2024-10-02 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/postypes.h: Fix -Wlong-long warning. - -2024-10-01 Hans-Peter Nilsson <hp@axis.com> - - PR libstdc++/116895 - * config/os/newlib/ctype_base.h: Avoid signed-overflow warnings by - explicitly casting initializer expressions to mask. - -2024-09-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/istream.tcc: Add diagnostic pragmas around uses - of long long and extern template. - * include/bits/locale_facets.h: Likewise. - * include/bits/locale_facets.tcc: Likewise. - * include/bits/locale_facets_nonio.tcc: Likewise. - * include/bits/ostream.tcc: Likewise. - * include/bits/stl_algobase.h: Likewise. - * include/c_global/cstdlib: Likewise. - * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: - Likewise. - * include/ext/pointer.h: Likewise. - * include/ext/stdio_sync_filebuf.h: Likewise. - * include/std/istream: Likewise. - * include/std/ostream: Likewise. - * include/tr1/cmath: Likewise. - * include/tr1/type_traits: Likewise. - * include/tr1/functional_hash.h: Likewise. Remove semi-colons - at namespace scope that aren't needed after macro expansion. - * include/tr1/tuple: Remove semi-colon at namespace scope. - * include/bits/vector.tcc: Change LL suffix to just L. - -2024-09-27 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/bits/fs_path.h (path::_Cvt): Refactor to - use if-constexpr. - (path::string(const Allocator&)): Likewise. - -2024-09-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.tcc (resize_for_overwrite): Fix - -Wsign-compare warning. - * include/bits/cow_string.h (resize_for_overwrite): Likewise. - -2024-09-27 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/bind/dangling_ref.cc: Add an additional - dg-warning for -Wreturn-local-addr warning. - * testsuite/30_threads/packaged_task/cons/dangling_ref.cc: - Likewise. - -2024-09-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_base.h (__atomic_base<T*>::_M_type_size): - Replace overloaded functions with static _S_type_size. - * include/std/atomic (atomic<T*>): Use is_object_v instead of - is_object. - * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: - Add dg-warning for -Wpointer-arith warning. - -2024-09-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/cow_string.h (__resize_for_overwrite): Add - inline keyword to function with always_inline attribute. - -2024-09-26 Nathaniel Shead <nathanieloshead@gmail.com> - - PR libstdc++/115126 - * include/bits/shared_ptr.h (std::__is_shared_ptr): Remove - unnecessary 'static'. - * include/bits/unique_ptr.h (std::__is_unique_ptr): Likewise. - * include/std/future (std::__create_task_state): Likewise. - * include/std/shared_mutex (_GLIBCXX_GTRHW): Likewise. - (__glibcxx_rwlock_init): Likewise. - (__glibcxx_rwlock_timedrdlock): Likewise. - (__glibcxx_rwlock_timedwrlock): Likewise. - (__glibcxx_rwlock_rdlock): Likewise. - (__glibcxx_rwlock_tryrdlock): Likewise. - (__glibcxx_rwlock_wrlock): Likewise. - (__glibcxx_rwlock_trywrlock): Likewise. - (__glibcxx_rwlock_unlock): Likewise. - (__glibcxx_rwlock_destroy): Likewise. - (__glibcxx_rwlock_init): Likewise. - * include/pstl/algorithm_impl.h - (__pstl::__internal::__set_algo_cut_off): Mark inline. - * include/pstl/unseq_backend_simd.h - (__pstl::__unseq_backend::__lane_size): Mark inline. - -2024-09-26 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/116859 - * config/os/bsd/freebsd/os_defines.h - (_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC, - _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): Avoid - -Wexpansion-to-defined warnings. - * config/os/bsd/dragonfly/os_defines.h - (_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Likewise. - -2024-09-26 Jonathan Wakely <jwakely@redhat.com> - Andrew Waterman <andrew@sifive.com> - - PR libstdc++/113578 - * include/std/ostream (_S_cast_flt): New static member function - to restore signbit after casting to double or long double. - (operator<<(float), operator<<(_Float16), operator<<(_Float32)) - (operator<<(_Float64), operator(_Float128)) - (operator<<(__bfloat16_t)): Use _S_cast_flt. - testsuite/27_io/basic_ostream/inserters_arithmetic/lwg4101.cc: - New test. - * testsuite/27_io/basic_ostream/inserters_arithmetic/lwg4101.cc: New file. - -2024-09-26 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_istringstream/cons/2020.cc: Fix comment - referring to basic_filebuf. - * testsuite/27_io/basic_istringstream/requirements/base_classes.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise. - * testsuite/27_io/basic_ostringstream/requirements/base_classes.cc: - Likewise. - * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise. - * testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc: - Likewise. - * testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc: - Likewise. - * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise. - * testsuite/27_io/basic_stringstream/requirements/base_classes.cc: - Likewise. - -2024-09-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_ios.h (basic_ios::operator bool()): - Add [[nodiscard]] attribute. - (basic_ios::operator!(), basic_ios::rdstate()) - (basic_ios::good(), basic_ios::eof(), basic_ios::fail()) - (basic_ios::bad(), basic_ios::exceptions(), basic_ios::tie()) - (basic_ios::rdbuf(), basic_ios::fill()): Likewise. - * include/bits/ios_base.h (ios_base::flags()): Likewise. - (ios_base::precision(), ios_base::width(), ios_base::getloc()): - Likewise. - * include/std/fstream (basic_filebuf::is_open) - (basic_ifstream::rdbuf(), basic_ifstream::is_open) - (basic_ofstream::rdbuf(), basic_ofstream::is_open) - (basic_fstream::rdbuf(), basic_fstream::is_open): Likewise. - * include/std/spanstream (basic_spanbuf::span()) - (basic_ispanstream::span(), basic_ispanstream::rdbuf()) - (basic_ospanstream::span(), basic_ospanstream::rdbuf()) - (basic_spanstream::span(), basic_spanstream::rdbuf()): - Likewise. - * include/std/sstream (basic_stringbuf::str()) - (basic_istringstream::rdbuf(), basic_istringstream::str()) - (basic_ostringstream::rdbuf(), basic_ostringstream::str()) - (basic_stringstream::rdbuf(), basic_stringstream::str()): - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: - Suppress -Wunused-result warnings. - * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: - Likewise. - -2024-09-26 Iain Sandoe <iain@sandoe.co.uk> - - PR libstdc++/116853 - * include/bits/basic_string.h: Ignore suggest-attribute=format - warning when using posix vsnprintf in to_string() implementations. - -2024-09-26 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): - Do not assume allocators only throw std::bad_alloc. - -2024-09-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116857 - * libsupc++/guard.cc (__cxa_guard_acquire): Remove - _GLIBCXX_NOTHROW to match declaration in <cxxabi.h>. - -2024-09-25 Sam James <sam@gentoo.org> - - PR libstdc++/101831 - * testsuite/23_containers/array/capacity/empty.cc: Add missing brace. - * testsuite/23_containers/array/capacity/max_size.cc: Ditto. - * testsuite/23_containers/array/capacity/size.cc: Ditto. - -2024-09-25 Jason Merrill <jason@redhat.com> - - * acinclude.m4 (WARN_FLAGS): Remove -Wsystem-headers. - * configure: Regenerate. - * include/bits/algorithmfwd.h: #ifdef out #pragma GCC system_header. - * include/bits/atomic_base.h - * include/bits/atomic_futex.h - * include/bits/atomic_timed_wait.h - * include/bits/atomic_wait.h - * include/bits/basic_ios.h - * include/bits/basic_string.h - * include/bits/boost_concept_check.h - * include/bits/char_traits.h - * include/bits/charconv.h - * include/bits/chrono.h - * include/bits/chrono_io.h - * include/bits/codecvt.h - * include/bits/concept_check.h - * include/bits/cpp_type_traits.h - * include/bits/elements_of.h - * include/bits/enable_special_members.h - * include/bits/erase_if.h - * include/bits/forward_list.h - * include/bits/functional_hash.h - * include/bits/gslice.h - * include/bits/gslice_array.h - * include/bits/hashtable.h - * include/bits/indirect_array.h - * include/bits/invoke.h - * include/bits/ios_base.h - * include/bits/iterator_concepts.h - * include/bits/locale_classes.h - * include/bits/locale_facets.h - * include/bits/locale_facets_nonio.h - * include/bits/localefwd.h - * include/bits/mask_array.h - * include/bits/max_size_type.h - * include/bits/memory_resource.h - * include/bits/memoryfwd.h - * include/bits/move_only_function.h - * include/bits/node_handle.h - * include/bits/ostream_insert.h - * include/bits/out_ptr.h - * include/bits/parse_numbers.h - * include/bits/postypes.h - * include/bits/quoted_string.h - * include/bits/range_access.h - * include/bits/ranges_base.h - * include/bits/refwrap.h - * include/bits/sat_arith.h - * include/bits/semaphore_base.h - * include/bits/slice_array.h - * include/bits/std_abs.h - * include/bits/std_function.h - * include/bits/std_mutex.h - * include/bits/std_thread.h - * include/bits/stl_iterator_base_funcs.h - * include/bits/stl_iterator_base_types.h - * include/bits/stl_tree.h - * include/bits/stream_iterator.h - * include/bits/streambuf_iterator.h - * include/bits/stringfwd.h - * include/bits/this_thread_sleep.h - * include/bits/unique_lock.h - * include/bits/uses_allocator_args.h - * include/bits/utility.h - * include/bits/valarray_after.h - * include/bits/valarray_array.h - * include/bits/valarray_before.h - * include/bits/version.h - * include/c_compatibility/fenv.h - * include/c_compatibility/inttypes.h - * include/c_compatibility/stdint.h - * include/decimal/decimal.h - * include/experimental/bits/net.h - * include/experimental/bits/shared_ptr.h - * include/ext/aligned_buffer.h - * include/ext/alloc_traits.h - * include/ext/atomicity.h - * include/ext/concurrence.h - * include/ext/numeric_traits.h - * include/ext/pod_char_traits.h - * include/ext/pointer.h - * include/ext/stdio_filebuf.h - * include/ext/stdio_sync_filebuf.h - * include/ext/string_conversions.h - * include/ext/type_traits.h - * include/ext/vstring.h - * include/ext/vstring_fwd.h - * include/ext/vstring_util.h - * include/parallel/algorithmfwd.h - * include/parallel/numericfwd.h - * include/tr1/functional_hash.h - * include/tr1/hashtable.h - * include/tr1/random.h - * libsupc++/exception.h - * libsupc++/hash_bytes.h - * include/bits/basic_ios.tcc - * include/bits/basic_string.tcc - * include/bits/fstream.tcc - * include/bits/istream.tcc - * include/bits/locale_classes.tcc - * include/bits/locale_facets.tcc - * include/bits/locale_facets_nonio.tcc - * include/bits/ostream.tcc - * include/bits/sstream.tcc - * include/bits/streambuf.tcc - * include/bits/string_view.tcc - * include/bits/version.tpl - * include/experimental/bits/string_view.tcc - * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp - * include/ext/random.tcc - * include/ext/vstring.tcc - * include/tr2/bool_set.tcc - * include/tr2/dynamic_bitset.tcc - * include/bits/c++config - * include/c/cassert - * include/c/cctype - * include/c/cerrno - * include/c/cfloat - * include/c/ciso646 - * include/c/climits - * include/c/clocale - * include/c/cmath - * include/c/csetjmp - * include/c/csignal - * include/c/cstdarg - * include/c/cstddef - * include/c/cstdio - * include/c/cstdlib - * include/c/cstring - * include/c/ctime - * include/c/cuchar - * include/c/cwchar - * include/c/cwctype - * include/c_global/cassert - * include/c_global/ccomplex - * include/c_global/cctype - * include/c_global/cerrno - * include/c_global/cfenv - * include/c_global/cfloat - * include/c_global/cinttypes - * include/c_global/ciso646 - * include/c_global/climits - * include/c_global/clocale - * include/c_global/cmath - * include/c_global/csetjmp - * include/c_global/csignal - * include/c_global/cstdalign - * include/c_global/cstdarg - * include/c_global/cstdbool - * include/c_global/cstddef - * include/c_global/cstdint - * include/c_global/cstdio - * include/c_global/cstdlib - * include/c_global/cstring - * include/c_global/ctgmath - * include/c_global/ctime - * include/c_global/cuchar - * include/c_global/cwchar - * include/c_global/cwctype - * include/c_std/cassert - * include/c_std/cctype - * include/c_std/cerrno - * include/c_std/cfloat - * include/c_std/ciso646 - * include/c_std/climits - * include/c_std/clocale - * include/c_std/cmath - * include/c_std/csetjmp - * include/c_std/csignal - * include/c_std/cstdarg - * include/c_std/cstddef - * include/c_std/cstdio - * include/c_std/cstdlib - * include/c_std/cstring - * include/c_std/ctime - * include/c_std/cuchar - * include/c_std/cwchar - * include/c_std/cwctype - * include/debug/array - * include/debug/bitset - * include/debug/deque - * include/debug/forward_list - * include/debug/list - * include/debug/map - * include/debug/set - * include/debug/string - * include/debug/unordered_map - * include/debug/unordered_set - * include/debug/vector - * include/decimal/decimal - * include/experimental/algorithm - * include/experimental/any - * include/experimental/array - * include/experimental/buffer - * include/experimental/chrono - * include/experimental/contract - * include/experimental/deque - * include/experimental/executor - * include/experimental/filesystem - * include/experimental/forward_list - * include/experimental/functional - * include/experimental/internet - * include/experimental/io_context - * include/experimental/iterator - * include/experimental/list - * include/experimental/map - * include/experimental/memory - * include/experimental/memory_resource - * include/experimental/net - * include/experimental/netfwd - * include/experimental/numeric - * include/experimental/propagate_const - * include/experimental/ratio - * include/experimental/regex - * include/experimental/scope - * include/experimental/set - * include/experimental/socket - * include/experimental/string - * include/experimental/string_view - * include/experimental/synchronized_value - * include/experimental/system_error - * include/experimental/timer - * include/experimental/tuple - * include/experimental/type_traits - * include/experimental/unordered_map - * include/experimental/unordered_set - * include/experimental/vector - * include/ext/algorithm - * include/ext/cmath - * include/ext/functional - * include/ext/iterator - * include/ext/memory - * include/ext/numeric - * include/ext/random - * include/ext/rb_tree - * include/ext/rope - * include/parallel/algorithm - * include/std/algorithm - * include/std/any - * include/std/array - * include/std/atomic - * include/std/barrier - * include/std/bit - * include/std/bitset - * include/std/charconv - * include/std/chrono - * include/std/codecvt - * include/std/complex - * include/std/concepts - * include/std/condition_variable - * include/std/coroutine - * include/std/deque - * include/std/execution - * include/std/expected - * include/std/filesystem - * include/std/format - * include/std/forward_list - * include/std/fstream - * include/std/functional - * include/std/future - * include/std/generator - * include/std/iomanip - * include/std/ios - * include/std/iosfwd - * include/std/iostream - * include/std/istream - * include/std/iterator - * include/std/latch - * include/std/limits - * include/std/list - * include/std/locale - * include/std/map - * include/std/memory - * include/std/memory_resource - * include/std/mutex - * include/std/numbers - * include/std/numeric - * include/std/optional - * include/std/ostream - * include/std/print - * include/std/queue - * include/std/random - * include/std/ranges - * include/std/ratio - * include/std/regex - * include/std/scoped_allocator - * include/std/semaphore - * include/std/set - * include/std/shared_mutex - * include/std/span - * include/std/spanstream - * include/std/sstream - * include/std/stack - * include/std/stacktrace - * include/std/stdexcept - * include/std/streambuf - * include/std/string - * include/std/string_view - * include/std/syncstream - * include/std/system_error - * include/std/text_encoding - * include/std/thread - * include/std/tuple - * include/std/type_traits - * include/std/typeindex - * include/std/unordered_map - * include/std/unordered_set - * include/std/utility - * include/std/valarray - * include/std/variant - * include/std/vector - * include/std/version - * include/tr1/array - * include/tr1/cfenv - * include/tr1/cinttypes - * include/tr1/cmath - * include/tr1/complex - * include/tr1/cstdbool - * include/tr1/cstdint - * include/tr1/cstdio - * include/tr1/cstdlib - * include/tr1/cwchar - * include/tr1/cwctype - * include/tr1/functional - * include/tr1/memory - * include/tr1/random - * include/tr1/regex - * include/tr1/tuple - * include/tr1/type_traits - * include/tr1/unordered_map - * include/tr1/unordered_set - * include/tr1/utility - * include/tr2/bool_set - * include/tr2/dynamic_bitset - * include/tr2/type_traits - * libsupc++/atomic_lockfree_defines.h - * libsupc++/compare - * libsupc++/cxxabi.h - * libsupc++/cxxabi_forced.h - * libsupc++/cxxabi_init_exception.h - * libsupc++/exception - * libsupc++/initializer_list - * libsupc++/new - * libsupc++/typeinfo: Likewise. - * testsuite/20_util/ratio/operations/ops_overflow_neg.cc - * testsuite/23_containers/array/tuple_interface/get_neg.cc - * testsuite/23_containers/vector/cons/destructible_debug_neg.cc - * testsuite/24_iterators/operations/prev_neg.cc - * testsuite/ext/type_traits/add_unsigned_floating_neg.cc - * testsuite/ext/type_traits/add_unsigned_integer_neg.cc - * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc - * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust - line numbers. - -2024-09-25 Jason Merrill <jason@redhat.com> - - * include/parallel/base.h: Suppress -Wdeprecated-declarations. - * include/parallel/multiseq_selection.h: Likewise. - -2024-09-24 Nathaniel Shead <nathanieloshead@gmail.com> - - * include/std/format: Remove unnecessary 'static'. - -2024-09-23 Jason Merrill <jason@redhat.com> - - * include/bits/c++config: Don't try to disable -Wc++??-extensions - when compiling as C. - -2024-09-23 Jason Merrill <jason@redhat.com> - - * libsupc++/new: Add _GLIBCXX_TXN_SAFE. - -2024-09-22 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__format::__is_formattable_integer): New - variable template and specializations. - (template<integral, __char> struct formatter): Replace - constraints on first arg with __is_formattable_integer. - * testsuite/std/format/formatter/requirements.cc: Check that - std::formatter specializations for char8_t and const int are - disabled. - -2024-09-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116754 - * include/bits/ranges_algobase.h (__copy_or_move): Fix order of - arguments to __memcpyable. - -2024-09-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116755 - * include/bits/chrono_io.h (formatter<duration<R,P>>::format): - Cast negative integral durations to unsigned rep. - * testsuite/20_util/duration/io.cc: Test the most negative - integer durations. - -2024-09-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_vector.h (operator<=>): Use constexpr - instead of _GLIBCXX20_CONSTEXPR macro. - -2024-09-22 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/exception_ptr.h (__exception_ptr::_M_safe_bool_dummy): - Remove __attribute__((const)) from function returning void. - -2024-09-22 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/cxx11-ios_failure.cc (__iosfail_type_info): Unhide - the three-arg overload of __do_upcast. - -2024-09-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def: Sort C++26 entries alphabetically. - * include/bits/version.h: Regenerate. - -2024-09-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/iterator_concepts.h: Add projected_value_t. - * include/bits/algorithmfwd.h: Add the default template - parameter to the relevant forward declarations. - * include/pstl/glue_algorithm_defs.h: Likewise. - * include/bits/ranges_algo.h: Add the default template - parameter to range-based algorithms. - * include/bits/ranges_algobase.h: Likewise. - * include/bits/ranges_util.h: Likewise. - * include/bits/ranges_base.h: Add helper macros. - * include/bits/stl_iterator_base_types.h: Add helper macro. - * include/bits/version.def: Add the new feature-testing macro. - * include/bits/version.h: Regenerate. - * include/std/algorithm: Pull the feature-testing macro. - * include/std/ranges: Likewise. - * include/std/deque: Pull the feature-testing macro, add - the default for std::erase. - * include/std/forward_list: Likewise. - * include/std/list: Likewise. - * include/std/string: Likewise. - * include/std/vector: Likewise. - * testsuite/23_containers/default_template_value.cc: New test. - * testsuite/25_algorithms/default_template_value.cc: New test. - -2024-09-21 Jason Merrill <jason@redhat.com> - - * include/c_compatibility/ctype.h - * include/c_compatibility/errno.h - * include/c_compatibility/float.h - * include/c_compatibility/iso646.h - * include/c_compatibility/limits.h - * include/c_compatibility/locale.h - * include/c_compatibility/setjmp.h - * include/c_compatibility/signal.h - * include/c_compatibility/stdarg.h - * include/c_compatibility/stdbool.h - * include/c_compatibility/stddef.h - * include/c_compatibility/stdio.h - * include/c_compatibility/string.h - * include/c_compatibility/tgmath.h - * include/c_compatibility/time.h - * include/c_compatibility/uchar.h - * include/c_compatibility/wchar.h - * include/c_compatibility/wctype.h - * include/c_global/ccomplex - * include/c_global/cctype - * include/c_global/cerrno - * include/c_global/cfloat - * include/c_global/climits - * include/c_global/clocale - * include/c_global/cmath - * include/c_global/csetjmp - * include/c_global/csignal - * include/c_global/cstdalign - * include/c_global/cstdarg - * include/c_global/cstdbool - * include/c_global/cstdio - * include/c_global/cstdlib - * include/c_global/cstring - * include/c_global/ctgmath - * include/c_global/ctime - * include/c_global/cwchar - * include/c_global/cwctype: Move header guard before #includes. - -2024-09-20 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116529 - * include/bits/unique_ptr.h (unique_ptr(auto_ptr<U>&&)): - Use pointer instead of T*. - * testsuite/20_util/unique_ptr/creation/116529.cc: New test. - -2024-09-20 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116777 - * doc/xml/manual/using.xml: Document features that are not - supported for the gcc4-compatible ABI. - * doc/html/manual/using_dual_abi.html: Regenerate. - -2024-09-19 Jason Merrill <jason@redhat.com> - - * include/bits/algorithmfwd.h: - * include/bits/allocator.h: - * include/bits/codecvt.h: - * include/bits/concept_check.h: - * include/bits/cpp_type_traits.h: - * include/bits/hashtable.h: - * include/bits/iterator_concepts.h: - * include/bits/ostream_insert.h: - * include/bits/ranges_base.h: - * include/bits/regex_automaton.h: - * include/bits/std_abs.h: - * include/bits/stl_algo.h: - * include/c_compatibility/fenv.h: - * include/c_compatibility/inttypes.h: - * include/c_compatibility/stdint.h: - * include/ext/concurrence.h: - * include/ext/type_traits.h: - * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: - * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: - * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: - * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: - * include/bits/basic_ios.tcc: - * include/bits/basic_string.tcc: - * include/bits/fstream.tcc: - * include/bits/istream.tcc: - * include/bits/locale_classes.tcc: - * include/bits/locale_facets.tcc: - * include/bits/ostream.tcc: - * include/bits/regex_compiler.tcc: - * include/bits/sstream.tcc: - * include/bits/streambuf.tcc: - * configure: Regenerate. - * include/bits/c++config: - * include/c/cassert: - * include/c/cctype: - * include/c/cerrno: - * include/c/cfloat: - * include/c/climits: - * include/c/clocale: - * include/c/cmath: - * include/c/csetjmp: - * include/c/csignal: - * include/c/cstdarg: - * include/c/cstddef: - * include/c/cstdio: - * include/c/cstdlib: - * include/c/cstring: - * include/c/ctime: - * include/c/cwchar: - * include/c/cwctype: - * include/c_global/climits: - * include/c_global/cmath: - * include/c_global/cstddef: - * include/c_global/cstdlib: - * include/decimal/decimal: - * include/ext/rope: - * include/std/any: - * include/std/charconv: - * include/std/complex: - * include/std/coroutine: - * include/std/format: - * include/std/iomanip: - * include/std/limits: - * include/std/numbers: - * include/tr1/functional: - * include/tr1/tuple: - * include/tr1/type_traits: - * libsupc++/compare: - * libsupc++/new: Add #pragma GCC diagnostic to suppress - undesired warnings. - * acinclude.m4: Change -Wabi version from 2 to 19. - -2024-09-18 Jason Merrill <jason@redhat.com> - - * include/bits/basic_ios.h: Add braces. - -2024-09-16 Jonathan Wakely <jwakely@redhat.com> - - * .editorconfig: New file. - * include/std/.editorconfig: New file. - -2024-09-16 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/intro.xml: Update link to installation docs. - * doc/html/manual/make.html: Regenerate. - -2024-09-15 Jonathan Wakely <jwakely@redhat.com> - - * include/std/span (span::__iter_tag): Declare nested type. - (span::iterator): Use __iter_tag as second template argument. - * include/std/stacktrace (basic_stacktrace::iterator): Use _Impl - as second template argument. - -2024-09-15 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/using.xml (_GLIBCXX_NO_FREESTANDING_CHRONO): - Document macro. - * doc/html/*: Regenerate. - * include/bits/chrono.h [_GLIBCXX_NO_FREESTANDING_CHRONO]: - Only include <bits/require_hosted.h> when this macro is defined. - [_GLIBCXX_HOSTED]: Only define clocks for hosted. - * include/bits/version.def (chrono_udls): Remove hosted=yes. - * include/bits/version.h: Regenerate. - * include/std/chrono [_GLIBCXX_HOSTED]: Only define clocks and - time zone utilities for hosted. - * testsuite/std/time/freestanding.cc: New test. - -2024-09-15 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/locale_classes.h (__is_facet): New helper. - * include/bits/locale_classes.tcc (locale::combine): Check that - _Facet type is valid. - -2024-09-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110512 - * include/pstl/execution_impl.h (__are_random_access_iterators): - Recognize C++20 random access iterators, and use more efficient - implementations. - * testsuite/25_algorithms/pstl/110512.cc: New test. - -2024-09-14 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__formatter_fp::_M_localize): Add comments - and micro-optimize string copy. - -2024-09-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/semaphore_base.h (__platform_semaphore): Refactor - loops to all use similar forms. - (__platform_semaphore::_M_try_acquire_until): Use chrono::ceil - to explicitly convert to __clock_t::time_point. - * testsuite/30_threads/semaphore/try_acquire_for.cc: Check that - using a very high resolution timeout compiles. - * testsuite/30_threads/semaphore/platform_try_acquire_for.cc: - New test. - -2024-09-13 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> - - PR libstdc++/108846 - PR libstdc++/116471 - * include/bits/ranges_algobase.h (__assign_one): New helper - function. - (__copy_or_move): Remove a spurious static_assert; use - __assign_one for memcpyable ranges of length 1. - (__copy_or_move_backward): Likewise. - * testsuite/25_algorithms/copy/108846.cc: Extend to range-based - algorithms, and cover both memcpyable and non-memcpyable - cases. - * testsuite/25_algorithms/copy_backward/108846.cc: Likewise. - * testsuite/25_algorithms/copy_n/108846.cc: Likewise. - * testsuite/25_algorithms/move/108846.cc: Likewise. - * testsuite/25_algorithms/move_backward/108846.cc: Likewise. - -2024-09-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional (__is_bool): Remove. - -2024-09-12 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/new (launder): Add static_assert and remove deleted - overloads. - * testsuite/18_support/launder/requirements_neg.cc: Adjust - expected diagnostics. - -2024-09-11 Alex Coplan <alex.coplan@arm.com> - - PR libstdc++/116140 - * include/bits/stl_algobase.h (std::__find_if): Add #pragma to - request GCC to unroll the loop. - -2024-09-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116159 - * include/std/iostream (ios_base_library_init): Only define for - ELF targets. - * src/c++98/ios_init.cc (ios_base_library_init): Likewise. - -2024-09-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116641 - * include/bits/basic_string.h (operator=(basic_string&&)): Call - _M_assign instead of assign. - * testsuite/21_strings/basic_string/allocator/116641.cc: New - test. - -2024-09-10 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/new_nothrow.cc (THROW_BAD_ALLOC): Define - macro to add exception specifications for C++98 mode. - (NOEXCEPT): Expand to throw() for C++98 mode. - * testsuite/26_numerics/headers/numeric/synopsis.cc (gcd, lcm): - Add noexcept. - -2024-09-06 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (from_stream): Fix conversions in - overloads for gps_time and tai_time. - * testsuite/std/time/clock/file/io.cc: Test round tripping using - chrono::parse. Add additional std::format tests. - * testsuite/std/time/clock/gps/io.cc: Likewise. - * testsuite/std/time/clock/local/io.cc: Likewise. - * testsuite/std/time/clock/tai/io.cc: Likewise. - * testsuite/std/time/clock/utc/io.cc: Likewise. - -2024-09-06 Jason Merrill <jason@redhat.com> - - * include/bits/regex_constants.h: Add __ to attribute. - -2024-09-06 Jason Merrill <jason@redhat.com> - - * include/bits/c++config: Avoid redefining __GLIBCXX__. - -2024-09-06 Jason Merrill <jason@redhat.com> - - PR c++/46457 - PR c++/81665 - * include/bits/regex_constants.h: Use flag_enum. - -2024-09-06 Jason Merrill <jason@redhat.com> - - * include/bits/ios_base.h (_GLIBCXX_NOREPLACE_UNUSED): New. - (_Ios_Openmode): Add unused attributes. - * testsuite/27_io/ios_base/types/openmode/case_label.cc: Handle - noreplace. - -2024-09-03 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_ops.cc (auto_win_file_handle): Add error_code& - member and set it if CreateFileW or GetFileInformationByHandle - fails. - (fs::equiv_files) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify - control flow. - (fs::hard_link_count) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Clear ec - on success. - * testsuite/27_io/filesystem/operations/hard_link_count.cc: - Check error handling. - -2024-09-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116549 - * include/bits/stl_iterator.h (disable_sized_sentinel_for): - Define specialization for two move_iterator types, as per LWG - 3736. - * testsuite/24_iterators/move_iterator/lwg3736.cc: New test. - -2024-09-03 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/any (experimental::any::_Storage): Use - array of unsigned char instead of deprecated - std::aligned_storage. - * include/std/any (any::_Storage): Likewise. - * testsuite/20_util/any/layout.cc: New test. - -2024-09-03 Dhruv Chawla <dhruvc@nvidia.com> - - * include/std/deque: Define macro - __glibcxx_want_allocator_traits_is_always_equal. - * include/std/forward_list: Likewise. - * include/std/list: Likewise. - * include/std/map: Likewise. - * include/std/scoped_allocator: Likewise. - * include/std/set: Likewise. - * include/std/string: Likewise. - * include/std/unordered_map: Likewise. - * include/std/unordered_set: Likewise. - * include/std/vector: Likewise. - * testsuite/20_util/headers/memory/version.cc: New test. - * testsuite/20_util/scoped_allocator/version.cc: Likewise. - * testsuite/21_strings/headers/string/version.cc: Likewise. - * testsuite/23_containers/deque/version.cc: Likewise. - * testsuite/23_containers/forward_list/version.cc: Likewise. - * testsuite/23_containers/list/version.cc: Likewise. - * testsuite/23_containers/map/version.cc: Likewise. - * testsuite/23_containers/set/version.cc: Likewise. - * testsuite/23_containers/unordered_map/version.cc: Likewise. - * testsuite/23_containers/unordered_set/version.cc: Likewise. - * testsuite/23_containers/vector/version.cc: Likewise. - -2024-09-02 Alexandre Oliva <oliva@adacore.com> - - * testsuite/30_threads/future/members/poll.cc: Factor out - calibration, and run it unconditionally. Lower its - strictness. Bump wait_until_*'s slowness factor. - -2024-09-02 Alexandre Oliva <oliva@adacore.com> - - PR libstdc++/91486 - * testsuite/30_threads/async/async.cc - (test_pr91486_wait_for): Mark status as unused. - (test_pr91486_wait_until): Likewise. Initialize epoch later. - -2024-09-02 Andreas Schwab <schwab@suse.de> - - PR libstdc++/116513 - * libsupc++/compare (_S_fp_bits) [__fmt == _M68k_80bit]: Shift - padding out of exponent word. - -2024-08-28 Jonathan Wakely <jwakely@redhat.com> - - * configure.ac: Fix check for O_NONBLOCK. - * config.h.in: Regenerate. - * configure: Regenerate. - -2024-08-28 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/io_context: Remove name of unused - parameter. - * include/experimental/socket: Add [[maybe_unused]] attribute. - -2024-08-28 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (format_parse_context::check_dynamic_spec): - Add [[maybe_unused]] attribute and comment. - -2024-08-28 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ranges (to): Remove unused typedef. - -2024-08-28 Kim Gräsman <kim.grasman@gmail.com> - - * config/cpu/aarch64/opt/ext/opt_random.h: Improve doxygen file - docs. - * config/cpu/i486/opt/ext/opt_random.h: Likewise. - -2024-08-28 Kim Gräsman <kim.grasman@gmail.com> - - * include/bits/cpp_type_traits.h: Improve doxygen file docs. - -2024-08-28 Jason Merrill <jason@redhat.com> - - * include/std/istream: Add cast to avoid -Wsign-compare. - * include/std/stacktrace: Likewise. - -2024-08-28 Jason Merrill <jason@redhat.com> - - * testsuite/20_util/default_delete/void_neg.cc: Fix regexp quoting. - -2024-08-28 Jason Merrill <jason@redhat.com> - - * include/std/coroutine (coroutine_handle): Use nullptr instead of - 0 as initializer for _M_fr_ptr. - -2024-08-28 Jason Merrill <jason@redhat.com> - - * include/bits/stl_uninitialized.h (__uninitialized_move_copy): Add - missing return. - -2024-08-28 Jason Merrill <jason@redhat.com> - - * include/decimal/decimal.h (_DEFINE_DECIMAL_BINARY_OP_WITH_INT): - Remove redundant semicolons. - -2024-08-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115098 - * python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Add - comment. - * testsuite/libstdc++-prettyprinters/simple.cc: Do not default - construct std::vector<bool>::reference. - * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/documentation_hacking.xml: Update minimum - Doxygen version. - * doc/html/*: Regenerate. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - * include/std/tuple: Do not include implementation details in - Doxygen documentation. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h: Improve doxygen docs for - allocator_traits specializations. - * include/bits/memory_resource.h: Likewise. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional (__is_derived_from_optional): New - concept. - (operator<=>): Use __is_derived_from_optional. - * testsuite/20_util/optional/relops/lwg3746.cc: New test. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/locale_classes.tcc (__try_use_facet): Also avoid - dynamic_cast for const-qualified facet types. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108619 - * include/bits/alloc_traits.h (__allocator_traits_base): Add - variable templates for detecting which allocator operations are - supported. - (allocator_traits): Use 'if constexpr' instead of dispatching to - overloads constrained with enable_if. - (allocator_traits<allocator<T>>::construct): Use Construct if - construct_at is not supported. Use - __is_nothrow_new_constructible for noexcept-specifier. - (allocator_traits<allocator<void>>::construct): Use - __is_nothrow_new_constructible for noexcept-specifier. - * include/bits/new_allocator.h (construct): Likewise. - * include/ext/malloc_allocator.h (construct): Likewise. - * include/std/type_traits (__is_nothrow_new_constructible): New - variable template. - * testsuite/20_util/allocator/89510.cc: Adjust expected results. - * testsuite/ext/malloc_allocator/89510.cc: Likewise. - * testsuite/ext/new_allocator/89510.cc: Likewise. - * testsuite/20_util/allocator_traits/members/108619.cc: New test. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): - Ignore modifiers unless the formatting locale is not the C - locale. - (__formatter_chrono::_M_d_e): Likewise. - (__formatter_chrono::_M_H_I): Likewise. - (__formatter_chrono::_M_m): Likewise. - (__formatter_chrono::_M_M): Likewise. - (__formatter_chrono::_M_S): Likewise. - (__formatter_chrono::_M_u_w): Likewise. - (__formatter_chrono::_M_U_V_W): Likewise. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115939 - * include/bits/hashtable_policy.h (_Node_iterator): Add - operator== and operator!=. - (_Node_const_iterator): Likewise. - * testsuite/23_containers/unordered_map/115939.cc: New test. - -2024-08-23 Giovanni Bajo <rasky@develer.com> - Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/88935 - * include/bits/stl_algo.h (random_shuffle) [RAND_MAX < INT_MAX]: - Use xorshift instead of rand(). - * testsuite/25_algorithms/random_shuffle/88935.cc: New test. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - PR c++/116369 - * include/debug/safe_base.h (_Safe_sequence_base::_M_iterators): - Add mutable specifier. - (_Safe_sequence_base::_M_const_iterators): Likewise. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/debug.cc: Replace throw() with noexcept. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant [C++20] (_Uninitialized): Always use the - primary template. - [C++20] (__get_n): Access the _M_storage member directly. - -2024-08-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115098 - * include/bits/stl_bvector.h (_Bit_reference): Make default - constructor private. Declare vector and bit iterators as - friends. - * include/std/bitset (bitset::reference): Make constructor and - data members private. - * testsuite/20_util/bitset/115098.cc: New test. - * testsuite/23_containers/vector/bool/115098.cc: New test. - -2024-08-22 Patrick Palka <ppalka@redhat.com> - - * testsuite/25_algorithms/contains/1.cc: Verify value of - __cpp_lib_ranges_contains. - * testsuite/25_algorithms/find_last/1.cc: Verify value of - __cpp_lib_ranges_find_last. - * testsuite/26_numerics/iota/2.cc: Verify value of - __cpp_lib_ranges_iota. - -2024-08-22 Patrick Palka <ppalka@redhat.com> - - * include/bits/iterator_concepts.h (__detail::__projected): Define - an optimized partial specialization for when the projection is - std::identity. - * testsuite/24_iterators/indirect_callable/projected.cc: Verify the - optimization. - -2024-08-22 Patrick Palka <ppalka@redhat.com> - - * include/bits/iterator_concepts.h (indirectly_unary_invocable): - Relax as per P2997R1. - (indirectly_regular_unary_invocable): Likewise. - (indirect_unary_predicate): Likewise. - (indirect_binary_predicate): Likewise. - (indirect_equivalence_relation): Likewise. - (indirect_strict_weak_order): Likewise. - * include/bits/version.def (ranges): Update value for C++26. - * include/bits/version.h: Regenerate. - * testsuite/24_iterators/indirect_callable/p2997r1.cc: New test. - * testsuite/std/ranges/version_c++23.cc: Remove. - * testsuite/std/ranges/headers/ranges/synopsis.cc: Refine the - __cpp_lib_ranges checks. - -2024-08-22 Patrick Palka <ppalka@redhat.com> - - * include/bits/iterator_concepts.h (__detail::__indirect_value): - Define. - (__indirect_value_t): Define as per P2609R3. - (iter_common_reference_t): Adjust as per P2609R3. - (indirectly_unary_invocable): Likewise. - (indirectly_regular_unary_invocable): Likewise. - (indirect_unary_predicate): Likewise. - (indirect_binary_predicate): Likewise. - (indirect_equivalence_relation): Likewise. - (indirect_strict_weak_order): Likewise. - (__detail::__projected::__type): Define member aliases - __projected_Iter and __projected_Proj providing the - template arguments of the current specialization. - * include/bits/version.def (ranges): Update value. - * include/bits/version.h: Regenerate. - * testsuite/24_iterators/indirect_callable/p2609r3.cc: New test. - * testsuite/std/ranges/version_c++23.cc: Update expected value - of __cpp_lib_ranges macro. - -2024-08-21 Jonathan Wakely <jwakely@redhat.com> - - PR tree-optimization/102958 - * include/bits/char_traits.h (char_traits<char8_t>::length): Use - strlen. - -2024-08-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114862 - * src/c++98/locale_facets.cc (__num_base::_S_format_float): - Check uppercase flag for fixed format. - * testsuite/22_locale/num_put/put/char/lwg4084.cc: New test. - -2024-08-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116381 - * include/std/variant (variant): Fix conditions for - static_assert to match the spec. - * testsuite/20_util/variant/types_neg.cc: New test. - -2024-08-20 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional: Remove redundant redeclaration. - -2024-08-20 Jonathan Wakely <jwakely@redhat.com> - - * include/std/text_encoding: Fix indentation. - -2024-08-20 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115744 - * testsuite/18_support/headers/new/synopsis.cc [C++26]: Add - constexpr to placement operator new and operator new[]. - -2024-08-18 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/prerequisites.xml: Remove note from the - GCC 4.0.1 days. - * doc/html/manual/setup.html: Regenerate. - -2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/abi.xml: Update reference to - gcc.gnu.org/onlinedocs. - * doc/xml/manual/concurrency_extensions.xml (interface): Ditto. - * doc/xml/manual/extensions.xml: Ditto. - * doc/xml/manual/parallel_mode.xml: Ditto. - * doc/xml/manual/shared_ptr.xml: Ditto. - * doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC - to GCC. - * doc/html/manual/abi.html: Regenerate. - * doc/html/manual/ext_concurrency_impl.html: Ditto. - * doc/html/manual/ext_demangling.html: Ditto. - * doc/html/manual/memory.html: Ditto. - * doc/html/manual/parallel_mode_design.html: Ditto. - * doc/html/manual/parallel_mode_using.html: Ditto. - * doc/html/manual/using_exceptions.html: Ditto. - -2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/prerequisites.xml: Tweak two links to - installation docs. Fix grammar. - * doc/html/manual/setup.html: Regenerate. - -2024-08-16 Hans-Peter Nilsson <hp@axis.com> - - PR libstdc++/116362 - * configure.ac: Check newlib configuration whether iconv is enabled. - * configure: Regenerate. - -2024-08-16 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune - uncapitalized "in function" warning from linker. - -2024-08-08 Jakub Jelinek <jakub@redhat.com> - - PR c++/115744 - * libsupc++/new (__glibcxx_want_constexpr_new): Define before - including bits/version.h. - (_GLIBCXX_PLACEMENT_CONSTEXPR): Define. - (operator new, operator new[]): Use it for placement new instead - of inline. - * include/bits/version.def (constexpr_new): New FTM. - * include/bits/version.h: Regenerate. - -2024-08-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116247 - * include/bits/fs_path.h: Use __UINTPTR_TYPE__ instead of - uintptr_t. - * include/bits/shared_ptr_atomic.h: Likewise. - * include/ext/pointer.h: Include <stdint.h>. - -2024-08-03 Patrick Palka <ppalka@redhat.com> - - * include/bits/move.h (__like_impl): New metafunction. - (__like_t): Redefine in terms of __like_impl. - (forward_like): Redefine in terms of __like_t. - * testsuite/20_util/forward_like/2_neg.cc: Don't expect - error outside the immediate context anymore. - -2024-08-02 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Include - <cstdint>. - -2024-08-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/utility.h (__is_in_place_type): Remove. - * include/std/variant (__is_in_place_tag): Remove. - -2024-08-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/align.h (align, assume_aligned): Use - __UINTPTR_TYPE__ instead of uintptr_t. Do not include - <stdint.h>. - * include/bits/atomic_base.h (__atomic_ref): Likewise. - * include/bits/atomic_wait.h (__waiter_pool_base::_S_for): - Likewise. - * include/std/atomic: Include <cstdint>. - -2024-08-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_base.h (__atomic_impl::compare_exchange_weak): - Remove unused parameter. - (__atomic_impl::compare_exchange_strong): Likewise. - -2024-08-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113807 - * include/std/bitset (bitset::_M_is_equal()): Use memcmp to - optimize operator==. - -2024-08-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/random/discrete_distribution/operators/values.cc: - Use ARGS to limit number of iterations for simulators. - -2024-08-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113841 - * include/bits/basic_string.h (basic_string::basic_string()): - Constrain so that it's only present if the allocator is default - constructible. - * include/bits/cow_string.h (basic_string::basic_string()): - Likewise. - * testsuite/21_strings/basic_string/cons/113841.cc: New test. - -2024-08-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/99942 - * include/bits/cow_string.h (data()): Change to noexcept(false). - -2024-08-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/map/operators/1_neg.cc (test01): Remove test variable - and use 'no match' dg-error patter. - * testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise. - -2024-07-31 François Dumont <frs.dumont@gmail.com> - - * testsuite/23_containers/map/operators/1_neg.cc (test01): Add test variable - declaration. - * testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/format.cc [!_GLIBCXX_HAS_GTHREADS] (mutex): Define - dummy mutex type. - * testsuite/std/time/format_localized.cc: Use loop variable - instead of creating the same locale on every iteration. - -2024-07-31 Sam James <sam@gentoo.org> - - * testsuite/28_regex/traits/char/translate.cc: Drop bogus 'dg_do run'. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/system_error.cc (strerror_string): Handle - non-conforming NULL return from strerror. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): - Only append "@euro" to ".ISO8859-15" locales for Glibc. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (format): Update value for C++26. - * include/bits/version.h: Regenerate. - * include/std/format (runtime_format, wruntime_format): Check - __cpp_lib_format instead of __cplusplus. - * testsuite/std/format/functions/format.cc: Update expected - value of macro for C++26 mode. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110356 - * include/bits/c++config (_GLIBCXX26_DEPRECATED): Define. - (_GLIBCXX26_DEPRECATED_SUGGEST): Define. - * include/bits/version.def (format): Update for C++26. - * include/bits/version.h: Regenerate. - * include/std/format (basic_format_arg::visit): New member - functions. - (visit_format_arg): Add deprecated attribute. - * testsuite/std/format/arguments/args.cc: Expect deprecated - warnings. Check member visit. - * testsuite/std/format/functions/format.cc: Update expected - value for __cpp_lib_format macro. - * testsuite/std/format/parse_ctx.cc: Add dg-warning for - deprecation. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110356 - * include/bits/version.def (variant): Update for C++26. - * include/bits/version.h: Regenerate. - * include/std/variant (variant::visit): New member functions. - * testsuite/20_util/variant/visit.cc: Check second alternative. - * testsuite/20_util/variant/visit_member.cc: New test. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115776 - * include/bits/version.def (format): Update for C++26. - * include/bits/version.h: Regenerate. - * include/std/format (basic_format_parse_context): Remove - default argument from constructor and split into two - constructors. Make the constructor taking size_t private for - C++26 and later. - (basic_format_parse_context::check_dynamic_spec): New member - function template. - (basic_format_parse_context::check_dynamic_spec_integral): New - member function. - (basic_format_parse_context::check_dynamic_spec_string): - Likewise. - (__format::_Spec::_S_parse_width_or_precision): Use - check_dynamic_spec_integral. - (__format::__to_arg_t_enum): New helper function. - (basic_format_arg): Declare __to_arg_t_enum as friend. - (__format::_Scanner): Define and use a derived parse context - type. - (__format::_Checking_scanner): Make arg types available to parse - context. - * testsuite/std/format/functions/format.cc: Check for new values - of __cpp_lib_format macro. - * testsuite/std/format/parse_ctx.cc: Check all members of - basic_format_parse_context. - * testsuite/std/format/parse_ctx_neg.cc: New test. - * testsuite/std/format/string.cc: Add more checks for dynamic - width and precision args. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (format): Update value for P2510R3. - * include/bits/version.h: Regenerate. - * include/std/format (_GLIBCXX_P2518R3): Remove misspelled macro - and check __glibcxx_format instead. - * testsuite/std/format/functions/format.cc: Check value of the - __cpp_lib_format macro for formatting pointers support. - * testsuite/std/format/parse_ctx.cc: Likewise. - -2024-07-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109162 - * acinclude.m4 (libtool_VERSION): Update to 6:34:0. - * config/abi/pre/gnu.ver: Disambiguate old patters. Add new - GLIBCXX_3.4.34 symbol version and new exports. - * configure: Regenerate. - * include/bits/chrono_io.h (_ChronoSpec::_M_locale_specific): - Add new accessor functions to use a reserved bit in _Spec. - (__formatter_chrono::_M_parse): Use _M_locale_specific(true) - when chrono-specs contains locale-dependent conversion - specifiers. - (__formatter_chrono::_M_format): Open iconv descriptor if - conversion to UTF-8 will be needed. - (__formatter_chrono::_M_write): New function to write a - localized string with possible character conversion. - (__formatter_chrono::_M_a_A, __formatter_chrono::_M_b_B) - (__formatter_chrono::_M_p, __formatter_chrono::_M_r) - (__formatter_chrono::_M_x, __formatter_chrono::_M_X) - (__formatter_chrono::_M_locale_fmt): Use _M_write. - * include/bits/version.def (format): Update value. - * include/bits/version.h: Regenerate. - * include/std/format (_GLIBCXX_P2518R3): Check feature test - macro instead of __cplusplus. - (basic_format_context): Declare __formatter_chrono as friend. - * src/c++20/Makefile.am: Add new file. - * src/c++20/Makefile.in: Regenerate. - * src/c++20/format.cc: New file. - * testsuite/std/time/format_localized.cc: New test. - * testsuite/util/testsuite_abi.cc: Add new symbol version. - -2024-07-30 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__local_time_fmt_for): New alias - template. - (formatter<zoned_time<D, P>>): Use __local_time_fmt_for. - * testsuite/std/time/zoned_time/io.cc: Check zoned_time<minutes> - can be formatted. - -2024-07-30 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__local_fmt_t): Remove unused - declaration. - (__formatter_chrono::_M_format_to_ostream): Add explicit - handling for specializations of __local_time_fmt, including the - time zone abbreviation in the output if __is_neg is true. - (formatter<chrono::tai_time<D>>::format): Add comment. - (formatter<chrono::gps_time<D>>::format): Likewise. - (formatter<chrono::__detail::__local_time_fmt::format): Call - _M_format with true for the __is_neg flag. - * testsuite/std/time/clock/gps/io.cc: Remove unused variable. - * testsuite/std/time/clock/local/io.cc: Fix test error that - checked tai_time instead of local_time. Add tests for - local-time-format-t formatting. - * testsuite/std/time/clock/system/io.cc: Check empty - chrono-specs. - * testsuite/std/time/clock/tai/io.cc: Likewise. - * testsuite/std/time/zoned_time/io.cc: Likewise. - -2024-07-30 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected(U&&), operator=(U&&)) - (value_or): Use remove_cv_t on default template argument, as per - LWG 3886. - * include/std/optional (optional(U&&), operator=(U&&)) - (value_or): Likewise. - * testsuite/20_util/expected/lwg3886.cc: New test. - * testsuite/20_util/optional/cons/lwg3886.cc: New test. - -2024-07-30 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_ops.cc: Fix file name in comment. - -2024-07-30 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor - parameter from const path& to const wchar_t*. - (fs::equiv_files): New function. - (fs::equivalent): Use equiv_files. - * src/filesystem/ops-common.h (fs::equiv_files): Declare. - (do_copy_file): Use equiv_files. - * src/filesystem/ops.cc (fs::equiv_files): Define. - (fs::copy, fs::equivalent): Use equiv_files. - * testsuite/27_io/filesystem/operations/copy.cc: Test - overwriting directory contents recursively. - * testsuite/27_io/filesystem/operations/copy_file.cc: Test - overwriting existing files. - -2024-07-30 Lennox Shou Hao Ho <lennoxhoe@gmail.com> - - PR libstdc++/113663 - * src/c++17/fs_ops.cc (fs::equivalent): Moved helper class - auto_handle to anonymous namespace as auto_win_file_handle. - (fs::hard_link_count): Changed Windows implementation to use - information provided by GetFileInformationByHandle which is more - reliable. - * testsuite/27_io/filesystem/operations/hard_link_count.cc: New - test. - -2024-07-29 Thomas Schwinge <tschwinge@baylibre.com> - - * testsuite/lib/libstdc++.exp (file-io-diff): Polish. - -2024-07-28 Sam James <sam@gentoo.org> - - PR libstdc++/110572 - * testsuite/18_support/type_info/110572.cc: Fix dg-do directive order. - -2024-07-27 Jonathan Wakely <jwakely@redhat.com> - - * include/std/charconv (__to_chars_16, __to_chars_10) - (__to_chars_8, __to_chars_2, __to_chars): Cast ptrdiff_t to - size_t for comparison. - (__to_chars_i): Check for first >= last instead of first == last - for initial sanity check. - -2024-07-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/std_function.h: Add comment about LWG 3617 being - supported. - -2024-07-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_algobase.h (__find_if): Remove overloads for - dispatching on iterator_category. Do not unroll loop manually. - * include/bits/stl_algo.h (__find_if_not): Remove - iterator_category argument from __find_if call. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected::value): Add assertions for LWG - 3843 requirements. - (expected<cv void, E>::value): Add assertions for LWG 3940 - requirements. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (basic_format_args): Remove default - constructor, as per LWG 4106. - * testsuite/std/format/arguments/args.cc: Check it isn't default - constructible. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/utility.h (_Swallow_assign): Make assignment - constexpr for C++11 as well, and add noexcept. - * include/std/tuple (_Swallow_assign, ignore): Move to - bits/utility.h. - * testsuite/20_util/headers/utility/ignore.cc: New test. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional: Reorder parameters in comparison - operators as per LWG 2945. - -2024-07-25 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/116038 - * include/std/functional (_Bind_front::operator()): Use __like_t - instead of std::forward when forwarding __self. - (_Bind_back::operator()): Likewise. - * include/std/ranges (_Partial::operator()): Likewise. - (_Pipe::operator()): Likewise. - * testsuite/20_util/function_objects/bind_back/116038.cc: New test. - * testsuite/20_util/function_objects/bind_front/116038.cc: New test. - * testsuite/std/ranges/adaptors/116038.cc: New test. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (bad_expected_access<void>): Add noexcept - to special member functions, as per LWG 4031. - * testsuite/20_util/expected/bad.cc: Check for nothrow copy and - move members. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional (optional): Use C++20 features to - simplify overload sets for constructors and assignment - operators. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional (optional): Constrain constructors to - prevent problematic bool conversions, as per LWG 3836. - * testsuite/20_util/optional/cons/lwg3836.cc: New test. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected): Constrain constructors to - prevent problematic bool conversions, as per LWG 3836. - * testsuite/20_util/expected/lwg3836.cc: New test. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional (_Optional_payload_base::_Storage) - [C++20]: Define constrained non-trivial destructor. - (_Optional_payload_base::_Storage<U, false>) [C++20]: Do not - define partial specialization when primary template has - constrained destructor. - (_Optional_base) [C++20]: Define constrained trivial copy and - move cons and move constructors. Define payload accessors here - instead of inheriting them from _Optional_base_impl. - (_Optional_base_impl, _Optional_base<T, false, true>) - (_Optional_base<T, true, false>, _Optional_base<T, true, true>) - [C++20]: Do not define. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional (optional): Add using-declaraction for - _Base::_M_get and declare optional<U> as friend. - (optional(const optional<U>&)): Use - _M_get instead of operator*. - (optional(optional<U>&&)): Likewise. - (operator=(const optional<U>&)): Likewise. - (operator=(optional<U>&&)): Likewise. - (and_then, tansform): Likewise. - -2024-07-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional (_Optional_base_impl::_M_get()): Move - assertions to ... - (optional::operator->, optional::operator*): ... here. - -2024-07-25 Andrew Pinski <quic_apinski@quicinc.com> - - * testsuite/lib/libstdc++.exp (v3_target_compile): Call - string trim on v3_target_compile before calling split. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116070 - * include/std/istream: Check feature test macro before using - is_class_v and is_same_v. - * include/std/ostream: Likewise. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/116070 - * include/bits/stl_bvector.h: Check feature test macro before - using is_default_constructible_v. - -2024-07-24 Michael Levine <mlevine55@bloomberg.net> - - * include/bits/ranges_algobase.h: Remove duplicate include of - <bits/stl_algobase.h>. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/12048 - * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Move to... - * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-1.cc: ...here. - * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Move to... - * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-2.cc: ...here. - * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Move to... - * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-3.cc: ...here. - * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Move to... - * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-4.cc: ...here. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/lib/libstdc++.exp (libstdc++_init): Do not copy all - data files into test directory. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/hash/chi2_q_document_words.cc: Use - dg-additional-files for input text. - * testsuite/performance/ext/pb_ds/all_text_find.cc: Likewise. - * testsuite/performance/ext/pb_ds/multimap_text_find.hpp: - Likewise. - * testsuite/performance/ext/pb_ds/multimap_text_insert.hpp: - Likewise. - * testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp: - Likewise. - * testsuite/performance/ext/pb_ds/priority_queue_text_join.cc: - Likewise. - * testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp: Likewise. - * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc: Likewise. - * testsuite/performance/ext/pb_ds/priority_queue_text_push.cc: - Likewise. - * testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc: Likewise. - * testsuite/performance/ext/pb_ds/tree_text_insert.cc: Likewise. - * testsuite/performance/ext/pb_ds/tree_text_lor_find.cc: - Likewise. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc: - Use dg-additional-files. - * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc: - Likewise. - * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: - Likewise. - * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: - Likewise. - * testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc: - Likewise. - * testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc: - Likewise. - * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: - Likewise. - * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: - Likewise. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_filebuf/close/char/1.cc: Remove - @require@ and @diff@. Use dg-final file-io-diff action. - * testsuite/27_io/basic_istream/extractors_other/char/2.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: - Likewise. - * testsuite/27_io/basic_istream/get/char/2.cc: Likewise. - * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise. - * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise. - * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise. - * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise. - * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise. - * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise. - * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: - Likewise. - * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise. - * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: - Likewise. - * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: - Likewise. - * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: - Likewise. - * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: - Likewise. Check file positions. - * testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: - Likewise. - * testsuite/lib/libstdc++.exp (file-io-diff): New proc. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Use - dg-additional-files. - * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. - * testsuite/27_io/basic_filebuf/open/char/path.cc: Likewise. - * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: - Likewise. - * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise. - * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise. - * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. - * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. - * testsuite/27_io/basic_ifstream/assign/1.cc: Likewise. - * testsuite/27_io/basic_ifstream/cons/move.cc: Likewise. - * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. - * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. - * testsuite/27_io/basic_ifstream/open/wchar_t/1.cc: Likewise. - * testsuite/27_io/objects/char/10.cc: Likewise. - * testsuite/27_io/objects/char/12048-1.cc: Likewise. - * testsuite/27_io/objects/char/12048-2.cc: Likewise. - * testsuite/27_io/objects/char/12048-3.cc: Likewise. - * testsuite/27_io/objects/char/12048-4.cc: Likewise. - * testsuite/27_io/objects/char/12048-5.cc: Likewise. - * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise. - * testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise. - * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise. - * testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise. - * testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise. - * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise. - * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise. - * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise. - * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise. - * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise. - * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise. - * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise. - * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_filebuf/close/char/2.cc: Remove - @require@ and @diff@ markup. Use dg-additional-files. Remove - unused variable. - * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove - @require@ and @diff@ markup. Use dg-additional-files. - * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise. - * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise. - * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. - * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise. - * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise. - * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise. - * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: - Likewise. - * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: - Likewise. - * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise. - Remove unused variable. - * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Remove - @require@ and @diff@ markup. Use dg-additional-files. - * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise. - * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise. - * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise. - * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise. - * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: - Likewise. - * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: - Likewise. - * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise. - * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: - Likewise. - * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise. - * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise. - * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise. - * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: - Likewise. - * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise. - * testsuite/lib/dg-options.exp (dg-additional-files): Append to - v3_additional_files instead of replacing. - * testsuite/lib/libstdc++.exp (v3_target_compile): Reset - v3_additional_files after copying files. - -2024-07-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_filebuf/close/char/4879.cc: Remove - @require@ and @diff@ comments. - * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. - * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise. - * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. - * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: - Likewise. - * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: - Likewise. - * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: - Likewise. - * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: - Likewise. - * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise. - * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise. - Remove unused variable. - * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise. - * testsuite/27_io/basic_ofstream/cons/char/1.cc: Remove - @require@ and @diff@ comments. Remove unused variables. - * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Remove - * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise. - -2024-07-23 Jonathan Wakely <jwakely@redhat.com> - - * src/c++23/print.cc (__open_terminal): Use [[maybe_unused]] on - parameter. - -2024-07-23 Detlef Vollmann <dv@vollmann.ch> - - PR libstdc++/115482 - * src/c++23/print.cc (__open_terminal) [__AVR__]: Do not use - isatty. - -2024-07-18 Patrick Palka <ppalka@redhat.com> - - * include/experimental/socket - (basic_socket_iostream::basic_socket_iostream): Fix typo. - * include/tr2/dynamic_bitset - (__dynamic_bitset_base::_M_is_proper_subset_of): Likewise. - -2024-07-12 Alexandre Oliva <oliva@adacore.com> - - * testsuite/decimal/binary-arith.cc: Require dfprt. - * testsuite/decimal/comparison.cc: Likewise. - * testsuite/decimal/compound-assignment.cc: Likewise. - * testsuite/decimal/compound-assignment-memfunc.cc: Likewise. - * testsuite/decimal/make-decimal.cc: Likewise. - * testsuite/decimal/pr54036-1.cc: Likewise. - * testsuite/decimal/pr54036-2.cc: Likewise. - * testsuite/decimal/pr54036-3.cc: Likewise. - * testsuite/decimal/unary-arith.cc: Likewise. - -2024-07-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/29_atomics/atomic_ref/bool.cc: New test. - -2024-07-11 Damien Lebrun-Grandie <dalg24@gmail.com> - - * include/bits/atomic_base.h (__atomic_ref): Do not use integral - specialization for bool. - -2024-07-11 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/using.xml: Switch gcc.gnu.org links to https. - * doc/html/manual/using_concurrency.html: Regenerate. - * doc/html/manual/using_dynamic_or_shared.html: Ditto. - * doc/html/manual/using_headers.html: Ditto. - * doc/html/manual/using_namespaces.html: Ditto. - -2024-07-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108636 - * testsuite/27_io/filesystem/path/108636.cc: Require normal - mode. - -2024-07-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114387 - * include/std/format (basic_format_context): Define copy - operations as deleted, as per LWG 4061. - * testsuite/std/format/context.cc: New test. - -2024-07-10 Jonathan Wakely <jwakely@redhat.com> - - * src/c++26/text_encoding.cc (__locale_encoding): Add to unnamed - namespace. - (std::locale::encoding): Optimize for "C" and "*" names. - -2024-07-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115854 - * include/bits/stl_bvector.h (_Bvector_base): Convert allocator - to rebound type explicitly. - * testsuite/23_containers/vector/allocator/115854.cc: New test. - * testsuite/23_containers/vector/bool/allocator/115854.cc: New test. - -2024-07-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115799 - * include/bits/ranges_util.h (__find_fn): Make conversion - from difference type ti size_t explicit. - * testsuite/25_algorithms/find/bytes.cc: Check ranges::find with - __gnu_test::test_contiguous_range. - * testsuite/std/ranges/range.cc: Adjust expected difference_type - for __gnu_test::test_contiguous_range. - * testsuite/util/testsuite_iterators.h (contiguous_iterator_wrapper): - Use __max_diff_type as difference type. - (test_range::sentinel, test_sized_range_sized_sent::sentinel): - Ensure that operator- returns difference_type. - -2024-07-10 Marek Polacek <polacek@redhat.com> - - * testsuite/std/ranges/access/101782.cc: Don't compile with - -fconcepts-ts. - -2024-07-08 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115807 - * include/c_compatibility/stdatomic.h (_Atomic): Ensure it - refers to std::atomic in the global namespace. - * testsuite/29_atomics/headers/stdatomic.h/115807.cc: New test. - -2024-07-07 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/configure.xml: Update Autobook 14 link. - Update GCC installation instructions link. - * doc/html/manual/configure.html: Regenerate. - -2024-07-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115799 - * include/bits/stl_algo.h (find): Use 'if constexpr' so that - memchr optimization is a discarded statement for non-contiguous - iterators. - * testsuite/25_algorithms/find/bytes.cc: Check with input - iterators. - -2024-07-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115799 - * include/bits/ranges_util.h (__find_fn): Return iterator - instead of sentinel. - * testsuite/25_algorithms/find/constrained.cc: Check non-common - contiguous sized range of char. - -2024-07-06 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/17_intro/headers/c++1998/all_attributes.cc: Add - attribute names from later standards and remove dg-options. - * testsuite/17_intro/headers/c++1998/stdc++.cc: Add c++98_only - target selector. - * testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc: - Remove content and include stdc++.cc twice instead. - * testsuite/17_intro/headers/c++2011/stdc++.cc: Replace - dg-options with c++11 target selector. - * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc: - Remove content and include stdc++.cc twice instead. - * testsuite/17_intro/headers/c++2011/all_attributes.cc: Removed. - * testsuite/17_intro/headers/c++2011/all_no_exceptions.cc: Removed. - * testsuite/17_intro/headers/c++2011/all_no_rtti.cc: Removed. - * testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc: Removed. - * testsuite/17_intro/headers/c++2011/charset.cc: Removed. - * testsuite/17_intro/headers/c++2011/operator_names.cc: Removed. - * testsuite/17_intro/headers/c++2014/all_attributes.cc: Removed. - * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: Removed. - * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: Removed. - * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: Removed. - * testsuite/17_intro/headers/c++2014/charset.cc: Removed. - * testsuite/17_intro/headers/c++2014/operator_names.cc: Removed. - * testsuite/17_intro/headers/c++2014/stdc++.cc: Removed. - * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: Removed. - * testsuite/17_intro/headers/c++2017/all_attributes.cc: Removed. - * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: Removed. - * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Removed. - * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: Removed. - * testsuite/17_intro/headers/c++2017/charset.cc: Removed. - * testsuite/17_intro/headers/c++2017/operator_names.cc: Removed. - * testsuite/17_intro/headers/c++2017/stdc++.cc: Removed. - * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: Removed. - * testsuite/17_intro/headers/c++2020/all_attributes.cc: Removed. - * testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: Removed. - * testsuite/17_intro/headers/c++2020/all_no_rtti.cc: Removed. - * testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: Removed. - * testsuite/17_intro/headers/c++2020/charset.cc: Removed. - * testsuite/17_intro/headers/c++2020/operator_names.cc: Removed. - * testsuite/17_intro/headers/c++2020/stdc++.cc: Removed. - * testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc: Removed. - -2024-07-06 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant (_Variant_storage::_M_reset): Use - __unlikely__ form of attribute instead of unlikely. - -2024-07-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115797 - * include/std/type_traits: Ensure "C++" language linkage. - * testsuite/17_intro/headers/c++2011/linkage.cc: Replace - dg-options with c++11 target selector. - -2024-07-05 Jonathan Wakely <jwakely@redhat.com> - - PR c++/115747 - * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: - Add dg-error for new C++26 diagnostics. - -2024-07-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_uninitialized.h (_UninitDestroyGuard): New - class template and partial specialization. - (__do_uninit_copy, __do_uninit_fill, __do_uninit_fill_n) - (__uninitialized_copy_a, __uninitialized_fill_a) - (__uninitialized_fill_n_a, __uninitialized_copy_move) - (__uninitialized_move_copy, __uninitialized_fill_move) - (__uninitialized_move_fill, __uninitialized_default_1) - (__uninitialized_default_n_a, __uninitialized_default_novalue_1) - (__uninitialized_default_novalue_n_1, __uninitialized_copy_n) - (__uninitialized_copy_n_pair): Use it. - -2024-07-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/88545 - PR libstdc++/115040 - * include/bits/cpp_type_traits.h (__can_use_memchr_for_find): - New variable template. - * include/bits/ranges_util.h (__find_fn): Use memchr when - possible. - * include/bits/stl_algo.h (find): Likewise. - * testsuite/25_algorithms/find/bytes.cc: New test. - -2024-07-04 John David Anglin <danglin@gcc.gnu.org> - - PR libstdc++/98678 - * testsuite/30_threads/future/members/poll.cc: Skip on hppa*-*-linux*. - -2024-06-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115585 - * src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add - definition for non-verbose builds. - -2024-06-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/101485 - * include/bits/stl_algobase.h (__equal_aux1): Check for - std::byte as well. - * testsuite/25_algorithms/equal/101485.cc: New test. - -2024-06-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104395 - * include/bits/new_allocator.h: Disable extended alignment - support in C++98 mode. - * include/bits/stl_tempbuf.h: Likewise. - * include/ext/bitmap_allocator.h: Likewise. - * include/ext/malloc_allocator.h: Likewise. - * include/ext/mt_allocator.h: Likewise. - * include/ext/pool_allocator.h: Likewise. - * testsuite/ext/104395.cc: New test. - -2024-06-28 Jonathan Wakely <jwakely@redhat.com> - - * include/ext/aligned_buffer.h (__aligned_membuf): Use - alignas(T) directly instead of defining a struct and using 9its - alignment. - (__aligned_buffer): Remove use of std::aligned_storage. - * testsuite/abi/aligned_buffers.cc: New test. - -2024-06-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/37475 - * config/locale/gnu/codecvt_members.cc (Guard): New RAII type. - (do_out, do_in): Return partial if the destination is empty but - the source is not. Use Guard to restore locale on scope exit. - Return immediately on any conversion error. - (do_encoding, do_max_length, do_length): Use Guard. - * testsuite/22_locale/codecvt/in/char/37475.cc: New test. - * testsuite/22_locale/codecvt/in/wchar_t/37475.cc: New test. - * testsuite/22_locale/codecvt/out/char/37475.cc: New test. - * testsuite/22_locale/codecvt/out/wchar_t/37475.cc: New test. - -2024-06-27 Alexandre Oliva <oliva@adacore.com> - - PR libstdc++/115454 - * testsuite/experimental/simd/pr115454_find_last_set.cc: Defer - to check_vect_support_and_set_flags's default dg-do action. - -2024-06-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115668 - * include/bits/chrono_io.h (formatter<duration<R,P, C>::format): - Do not use chrono::abs. - * testsuite/20_util/duration/io.cc: Check formatting a duration - with unsigned rep. - -2024-06-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103191 - * include/bits/stl_bvector.h (vector<bool>::operator[]) - (vector<bool>::front, vector<bool>::back): Add debug assertions. - * testsuite/23_containers/vector/bool/element_access/constexpr.cc: - Remove dg-error that no longer triggers. - -2024-06-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111250 - * include/debug/assertions.h (__glibcxx_requires_non_empty_range) - (__glibcxx_requires_nonempty, __glibcxx_requires_subscript): - Define to __glibcxx_assert expressions or to debug mode - __glibcxx_check_xxx expressions. - * testsuite/23_containers/array/element_access/constexpr_c++17.cc: - Add checks for out-of-bounds accesses in constant expressions. - * testsuite/23_containers/vector/element_access/constexpr.cc: - Likewise. - -2024-06-26 Jonathan Wakely <jwakely@redhat.com> - - * scripts/update_release_branch.sh: New file. - -2024-06-26 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc: - Copy defaulted assignment operator from 808590-cxx11.cc to - suppress a warning. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc: - Removed. - -2024-06-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/90276 - * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: - Increase timeout for debug mode. - * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.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/set_symmetric_difference.cc: - Likewise. - -2024-06-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/90276 - * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc - [_GLIBCXX_DEBUG]: Add xfail-run-if for debug mode. - * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc - [_GLIBCXX_DEBUG]: Reduce size of test data. - * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: - Likewise. - -2024-06-26 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (minmax_year, minmax_year2): Remove. - (years_from_to): New class replacing minmax_year and - minmax_year2. - (format_abbrev_str, select_std_or_dst_abbrev): Move earlier in - the file. Handle "-" for letters. - (ZoneInfo::to): Use format_abbrev_str to expand %z. - (ZoneInfo::set_abbrev): Remove exception. Change parameter from - reference to value. - (operator>>(istream&, Rule&)): Do not clear letters when it - contains "-". - (time_zone::_M_get_sys_info): Add missing logic to find the Rule - in effect before the time point. - * testsuite/std/time/tzdb/1.cc: Adjust for vanguard format using - "GMT" as the Zone name, not as a Link to "Etc/GMT". - * testsuite/std/time/time_zone/sys_info_abbrev.cc: New test. - -2024-06-26 Alexandre Oliva <oliva@adacore.com> - Marc Poulhiès <poulhies@adacore.com> - - * testsuite/lib/dg-options.exp (add_options_for_libatomic): - None for *-*-vxworks*. - -2024-06-25 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/valarray_array.h (_Array_default_ctor): Remove. - (__valarray_default_construct): Inline it into here. - (_Array_init_ctor): Remove. - (__valarray_fill_construct): Inline it into here. - (_Array_copy_ctor): Remove. - (__valarray_copy_construct(const T*, const T*, T*)): Inline it - into here. - (__valarray_copy_construct(const T*, size_t, size_t, T*)): - Use _GLIBCXX17_CONSTEXPR for constant condition. - -2024-06-25 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/faq.xml: Replace viewcvs links with cgit links. - * doc/xml/manual/allocator.xml: Likewise. - * doc/xml/manual/mt_allocator.xml: Likewise. - * doc/html/*: Regenerate. - -2024-06-22 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/debug.xml: Move gcc.gnu.org link to https. - Ditto for sourceware.org links. - * doc/html/manual/debug.html: Regenerate. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115497 - * include/bits/cpp_type_traits.h (__is_pointer, __is_scalar): - Remove. - (__is_arithmetic): Do not use __is_pointer in the primary - template. Add partial specialization for pointers. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115497 - * include/bits/cpp_type_traits.h (__is_void): Remove. - * include/debug/helper_functions.h (_Distance_traits): - Adjust partial specialization to match void directly, instead of - using __is_void<T>::__type and matching __true_type. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115497 - * include/bits/deque.tcc (__lex_cmp_dit): Replace __is_pointer - class template with __is_pointer(T) built-in. - (__lexicographical_compare_aux1): Likewise. - * include/bits/stl_algobase.h (__equal_aux1): Likewise. - (__lexicographical_compare_aux1): Likewise. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115497 - * include/bits/valarray_array.h (__valarray_default_construct): - Use __is_trivial(_Tp). instead of __is_scalar<_Tp>. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109150 - * include/bits/stl_algobase.h (__fill_a1): Combine the - !__is_scalar and __is_scalar overloads into one and rewrite the - condition used to decide whether to perform the load outside the - loop. - * testsuite/25_algorithms/fill/109150.cc: New test. - * testsuite/25_algorithms/fill_n/109150.cc: New test. - -2024-06-21 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/115575 - * testsuite/experimental/simd/pr115454_find_last_set.cc: Require - avx512f_runtime. Don't memcpy fixed_size masks. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_uninitialized.h (uninitialized_default_construct) - (uninitialized_default_construct_n, uninitialized_value_construct) - (uninitialized_value_construct_n): Qualify calls to prevent ADL. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - * include/std/any (any_cast(any*), any_cast(const any*)): Add - static assertion to reject void types, as per LWG 3305. - * testsuite/20_util/any/misc/lwg3305.cc: New test. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/memory_resource.h (polymorphic_allocator::destroy): - Remove deprecated attribute. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - * include/backward/backward_warning.h: Adjust comments to - suggest <spanstream> as another alternative to <strstream>. - * include/backward/strstream (strstreambuf, istrstream) - (ostrstream, strstream): Add deprecated attribute. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/locale_conv.h (wstring_convert): Add deprecated - attribute for C++17 and later. - (wbuffer_convert): Likewise. - * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: Disable - deprecated warnings. - * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Likewise. - * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: - Likewise. - * testsuite/22_locale/conversions/buffer/1.cc: Add dg-warning. - * testsuite/22_locale/conversions/buffer/2.cc: Likewise. - * testsuite/22_locale/conversions/buffer/3.cc: Likewise. - * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: - Likewise. - * testsuite/22_locale/conversions/string/1.cc: Likewise. - * testsuite/22_locale/conversions/string/2.cc: Likewise. - * testsuite/22_locale/conversions/string/3.cc: Likewise. - * testsuite/22_locale/conversions/string/66441.cc: Likewise. - * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: - Likewise. - * testsuite/22_locale/conversions/string/requirements/typedefs.cc: - Likewise. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (chrono): Add cxx11abi = yes. - * include/bits/version.h: Regenerate. - * testsuite/std/time/syn_c++20.cc: Adjust expected value for - the feature test macro. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115522 - * include/std/array (to_array): Workaround the fact that - std::is_trivial is not sufficient to check that a type is - trivially default constructible and assignable. - * testsuite/23_containers/array/creation/115522.cc: New test. - -2024-06-21 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_allocator.h (tracker_allocator): - Initialize base class in copy constructor. - -2024-06-20 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/115454 - * include/experimental/bits/simd_x86.h (_S_not_equal_to): Use - neq comparison instead of bitwise negation after eq. - (_S_find_last_set): Clear unused high bits before computing - bit_width. - * testsuite/experimental/simd/pr115454_find_last_set.cc: New - test. - -2024-06-19 Jonathan Wakely <jwakely@redhat.com> - - * include/std/future: Adjust whitespace to use tabs for - indentation. - -2024-06-19 Jonathan Wakely <jwakely@redhat.com> - - * include/std/future (_State_baseV2::_Setter<R, void>): Add - noexcept to call operator. - (_State_baseV2::_Setter<R, __exception_ptr_tag>): Likewise. - -2024-06-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_pair.h [__cpp_lib_concepts] (pair()): Add - conditional noexcept. - -2024-06-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_tempbuf.h (__get_temporary_buffer): Cast - argument to size_t to handle negative values and suppress - -Wsign-compare warning. - (_Temporary_buffer): Move diagnostic pragmas to new location of - call to std::get_temporary_buffer. - -2024-06-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/cpp_type_traits.h: Fix outdated comment about the - number of standard integer types. - -2024-06-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110572 - * libsupc++/typeinfo (type_info::operator==): Add always_inline - attribute for targets where the ABI requries equality to be - non-inline. - * testsuite/18_support/type_info/110572.cc: New test. - -2024-06-14 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Fix declaration of - posix_memalign. - -2024-06-13 Alexandre Oliva <oliva@adacore.com> - - PR libstdc++/114359 - * testsuite/26_numerics/random/binomial_distribution/114359.cc: - Require cmath. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (__add_rval_ref_t): Use - __add_rvalue_reference built-in trait. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (__add_lval_ref_t): Use - __add_lvalue_reference built-in trait. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - Jonathan Wakely <jwakely@redhat.com> - - * include/bits/cpp_type_traits.h (__is_pointer): Use - __is_pointer built-in trait. - * include/std/type_traits (is_pointer): Likewise. Optimize its - implementation. - (is_pointer_v): Likewise. - -2024-06-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_base.h (range_common_reference_t): New - alias template, as per LWG 3860. - * testsuite/std/ranges/range.cc: Check it. - -2024-06-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_base.h (const_iterator_t): Change - preprocessor condition to use __glibcxx_ranges_as_const. - (const_sentinel_t, range_const_reference_t): Likewise. - (__access::__possibly_const_range, cbegin, cend, crbegin) - (crend, cdata): Likewise. - * include/bits/stl_iterator.h (iter_const_reference_t) - (basic_const_iterator, const_iterator, const_sentinel) - (make_const_iterator): Likewise. - -2024-06-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115420 - * include/bits/hashtable.h (_Hashtable): Add static_assert to - check that hash function is copy constructible. - * testsuite/23_containers/unordered_map/115420.cc: New test. - -2024-06-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113376 - * include/pstl/pstl_config.h: Use #if instead of #ifdef to test - the _PSTL_USAGE_WARNINGS macro. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_nothrow_invocable): Use - __is_nothrow_invocable built-in trait. - * testsuite/20_util/is_nothrow_invocable/incomplete_args_neg.cc: - Handle the new error from __is_nothrow_invocable. - * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: - Likewise. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_invocable): Use __is_invocable - built-in trait. - * testsuite/20_util/is_invocable/incomplete_args_neg.cc: Handle - the new error from __is_invocable. - * testsuite/20_util/is_invocable/incomplete_neg.cc: Likewise. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (rank): Use __array_rank built-in - trait. - (rank_v): Likewise. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (decay): Use __decay built-in trait. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (remove_all_extents): Use - __remove_all_extents built-in trait. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (remove_extent): Use __remove_extent - built-in trait. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (add_pointer): Use __add_pointer - built-in trait. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_unbounded_array_v): Use - __is_unbounded_array built-in trait. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_volatile): Use __is_volatile - built-in trait. - (is_volatile_v): Likewise. - -2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_const): Use __is_const built-in - trait. - (is_const_v): Likewise. - -2024-06-12 Alexandre Oliva <oliva@adacore.com> - - * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: - Require cmath. - * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: - Likewise. - * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: - Likewise. - -2024-06-12 Alexandre Oliva <oliva@adacore.com> - - * testsuite/20_util/from_chars/8.cc: Skip float128_t testing - on aarch64-rtems*. - * testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on - aarch64-rtems*. - -2024-06-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115399 - * include/tr2/dynamic_bitset (operator>>=): Remove redundant - call to _M_do_sanitize. - * include/tr2/dynamic_bitset.tcc (_M_do_left_shift): Zero out - low bits in words that should no longer be populated. - (_M_do_right_shift): Likewise for high bits. - * testsuite/tr2/dynamic_bitset/pr115399.cc: New test. - -2024-06-12 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/hashtable.h (_Hashtable::clear): Do not use - memset to zero out bucket pointers. - (_Hashtable::_M_assign_elements): Likewise. - -2024-06-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/chrono (leap_seconds): Add comment. - * testsuite/std/time/leap_seconds/io.cc: New test. - -2024-06-10 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/hashtable.h (~_Hashtable()): Replace clear call with - a _M_deallocate_nodes call. - -2024-06-08 Deev Patel <dkp10000@gmail.com> - Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_base.h (__atomic_impl::__clear_padding): - Add missing constexpr specifier. - * testsuite/29_atomics/atomic_float/constinit.cc: New test. - -2024-06-08 Michael Levine <mlevine55@bloomberg.net> - - PR libstdc++/108760 - * include/bits/ranges_algo.h (ranges::out_value_result): - Move to <bits/ranges_algobase.h>. - (ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to - <numeric>. - * include/bits/ranges_algobase.h (ranges::out_value_result): - Move to here. - * include/std/numeric (ranges::iota_result, ranges::__iota_fn) - (ranges::iota): Move to here. - * testsuite/25_algorithms/iota/1.cc: Renamed to ... - * testsuite/26_numerics/iota/2.cc: ... here. - -2024-06-08 Jonathan Wakely <jwakely@redhat.com> - - * include/std/algorithm: Define __glibcxx_want_ranges. - * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Check - feature test macro in C++20 mode. - -2024-06-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_algobase.h: Include <bits/stl_algobase.h>. - -2024-06-07 Alexandre Oliva <oliva@adacore.com> - - * include/std/variant: Drop obsolete workaround. - -2024-06-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ptr_traits.h (to_address): Optimize. - * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error text. - -2024-06-06 Alexandre Oliva <oliva@adacore.com> - - * include/bits/c++config (_GLIBCXX_CLANG): Define or undefine. - * include/bits/locale_facets_nonio.tcc: Test for it. - * include/bits/stl_bvector.h: Likewise. - * include/c_compatibility/stdatomic.h: Likewise. - * include/experimental/bits/simd.h: Likewise. - * include/experimental/bits/simd_builtin.h: Likewise. - * include/experimental/bits/simd_detail.h: Likewise. - * include/experimental/bits/simd_x86.h: Likewise. - * include/experimental/simd: Likewise. - * include/std/complex: Likewise. - * include/std/ranges: Likewise. - * include/std/variant: Likewise. - * include/pstl/pstl_config.h: Likewise. - -2024-06-05 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/faq.xml: Move gcc.gnu.org to https. - * doc/html/faq.html: Regenerate. - -2024-06-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115335 - * include/std/span (span::at): Guard with feature test macro. - -2024-06-04 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/115308 - * include/experimental/bits/simd.h (__int_for_sizeof): Remove - special cases for __clang__. - (_SimdWrapper): Change constructor overload set to allow - conversion from vector types with integral conversions via bit - reinterpretation. - -2024-06-03 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): - Use __detail::__get_temporary_buffer. - (basic_stacktrace::_Impl::_M_deallocate): Use - __detail::__return_temporary_buffer. - -2024-06-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105258 - * include/bits/stl_tempbuf.h (__detail::__get_temporary_buffer): - New function to do allocation for get_temporary_buffer, with - extended alignment support. - (__detail::__return_temporary_buffer): Support extended - alignment. - (get_temporary_buffer): Use __get_temporary_buffer. - (return_temporary_buffer): Support extended alignment. Add - deprecated attribute. - (_Temporary_buffer): Move allocation and deallocation into a - subobject and remove try-catch block in constructor. - (__uninitialized_construct_buf): Use argument deduction for - value type. - * testsuite/20_util/temporary_buffer.cc: Add dg-warning for new - deprecated warning. - * testsuite/25_algorithms/stable_sort/overaligned.cc: New test. - -2024-06-03 François Dumont <frs.dumont@gmail.com> - - PR libstdc++/109849 - * include/bits/vector.tcc - (std::vector<>::_M_range_insert(iterator, _FwdIt, _FwdIt, - forward_iterator_tag))[__cplusplus < 201103L]: Add __builtin_unreachable - expression to tell the compiler that the allocated buffer is large enough to - receive current elements plus the elements of the range to insert. - -2024-06-03 Jonathan Wakely <jwakely@redhat.com> - - * include/std/string_view (starts_with(basic_string_view)): - Compare lengths first and then call traits_type::compare - directly. - -2024-06-02 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/api.xml: Move gcc.gnu.org links to https. - * doc/html/api.html: Regenerate. - -2024-06-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115269 - * doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs. - Replace list of -std=... options with a single entry for -std. - * doc/html/manual/using.html: Regenerate. - -2024-05-30 Alexandre Oliva <oliva@adacore.com> - - * configure.ac [*-*-rtems*]: Set chdir, chmod and mkdir as - available. - * configure: Rebuilt. - -2024-05-29 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/vector.tcc (_Guard): Move all the nested duplicated class... - * include/bits/stl_vector.h (_Guard_alloc): ...here and rename. - (_M_allocate_and_copy): Use latter. - (_M_initialize_dispatch): Small code simplification. - (_M_range_initialize): Likewise and set _M_finish first from the result - of __uninitialize_fill_n_a that can throw. - -2024-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - PR libstdc++/111641 - * src/libbacktrace/Makefile.am (AM_CFLAGS): Add -funwind-tables. - * src/libbacktrace/Makefile.in: Regenerate. - * testsuite/19_diagnostics/stacktrace/current.cc (dg-options): Add - -funwind-tables. - * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. - -2024-05-29 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/115247 - * include/experimental/bits/simd.h (__as_vector): Don't use - vector_size(8) on __i386__. - (__vec_shuffle): Never return MMX vectors, widen to 16 bytes - instead. - (concat): Fix padding calculation to pick up widening logic from - __as_vector. - -2024-05-23 Patrick Palka <ppalka@redhat.com> - - * include/bits/version.def (ranges_concat): Define. - * include/bits/version.h: Regenerate. - * include/std/ranges (__detail::__concat_reference_t): Define - for C++26. - (__detail::__concat_value_t): Likewise. - (__detail::__concat_rvalue_reference_t): Likewise. - (__detail::__concat_indirectly_readable_impl): Likewise. - (__detail::__concat_indirectly_readable): Likewise. - (__detail::__concatable): Likewise. - (__detail::__all_but_last_common): Likewise. - (__detail::__concat_is_random_access): Likewise. - (__detail::__concat_is_bidirectional): Likewise. - (__detail::__last_is_common): Likewise. - (concat_view): Likewise. - (__detail::__concat_view_iter_cat): Likewise. - (concat_view::iterator): Likewise. - (views::__detail::__can_concat_view): Likewise. - (views::_Concat, views::concat): Likewise. - * testsuite/std/ranges/concat/1.cc: New test. - -2024-05-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/locale_classes.h (locale::combine) - (locale::name, locale::operator==, locale::operator!=) - (locale::operator(), locale::classic): Add nodiscard - attribute. - * include/bits/locale_classes.tcc (has_facet, use_facet): - Likewise. - * testsuite/22_locale/locale/cons/12438.cc: Add dg-warning for - nodiscard diagnostic. - * testsuite/22_locale/locale/cons/2.cc: Cast use_facet - expression to void, to suppress diagnostic. - * testsuite/22_locale/locale/cons/unicode.cc: Likewise. - * testsuite/22_locale/locale/operations/2.cc: Add dg-warning. - -2024-05-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108323 - * include/bits/locale_classes.tcc (locale(const locale&, Facet*)): - Return a copy of the first argument when the facet pointer is - null, as per LWG 2295. - (locale::combine): Ensure the result is unnamed. - * src/c++11/localename.cc (_M_replace_categories): Ignore - whether the second locale has a name when cat == none, as per - LWG 3676. - * src/c++98/locale.cc (_M_install_facet): Use __builtin_expect - to predict that the facet pointer is non-null. - * testsuite/22_locale/locale/cons/names.cc: New test. - -2024-05-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114940 - * include/bits/version.def (generator): Depend on - __cpp_sized_deallocation. - * include/bits/version.h: Regenerate. - * include/std/stacktrace (_GLIBCXX_SIZED_DELETE): New macro. - (basic_stacktrace::_Impl::_M_deallocate): Use it. - -2024-05-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115099 - * include/bits/std_thread.h: Declare formatter as friend of - thread::id. - * include/std/thread (operator<<): Convert non-void pointers to - void pointers for output. - (formatter): Add constraint that thread::native_handle_type is a - pointer or integer. - (formatter::format): Reimplement without basic_ostringstream. - * testsuite/30_threads/thread/id/output.cc: Check output - compiles before <sstream> has been included. - -2024-05-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115145 - * include/std/variant (operator==, operator!=, operator<) - (operator<=, operator>, operator>=): Add trailing-return-type to - lambda expressions to trigger conversion to bool. - * testsuite/20_util/variant/relops/115145.cc: New test. - -2024-05-17 Björn Schäpers <bjoern@hazardy.de> - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTACE): Add check for - tlhelp32.h, matching libbacktrace. - * config.h.in: Regenerate. - * configure: Regenerate. - -2024-05-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115119 - * include/bits/unicode.h (_Iterator::operator++(int)): Fix typo - in increment expression. - * testsuite/ext/unicode/grapheme_view.cc: Check post-increment - on view's iterator. - -2024-05-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/77704 - * include/bits/basic_ios.h (basic_ios::fill()): Do not modify - _M_fill and _M_fill_init in a const member function. - (basic_ios::fill(char_type)): Use _M_fill directly instead of - calling fill(). Set _M_fill_init to true. - * include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill and - _M_fill_init here instead. - * testsuite/27_io/basic_ios/fill/char/1.cc: New test. - * testsuite/27_io/basic_ios/fill/wchar_t/1.cc: New test. - -2024-05-15 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant (__detail::__variant::__compare): New - function template. - (operator==, operator!=, operator<, operator>, operator<=) - (operator>=): Replace macro definition with handwritten function - calling __detail::__variant::__compare. - (operator<=>): Call __detail::__variant::__compare. - -2024-05-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/89624 - * include/bits/atomic_base.h (memory_order): Use int as - underlying type. - * testsuite/29_atomics/atomic/89624.cc: New test. - -2024-05-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115015 - * src/c++23/print.cc (__open_terminal(streambuf*)) [!__cpp_rtti]: - Do not use dynamic_cast. - -2024-05-14 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/strings.xml: Clarify that GCC 4.5 added - std::string::shrink_to_fit. - * doc/html/manual/strings.html: Regenerate. - -2024-05-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/115063 - * include/std/stacktrace (basic_stacktrace::max_size): Fix typo - in reference to _M_alloc member. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Check - max_size() compiles. - -2024-05-13 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/114958 - * include/experimental/bits/simd.h (__as_vector): Return scalar - simd as one-element vector. Return vector from single-vector - fixed_size simd. - (__vec_shuffle): New. - (__extract_part): Adjust return type signature. - (split): Use __extract_part for any split into non-fixed_size - simds. - (concat): If the return type stores a single vector, use - __vec_shuffle (which calls __builtin_shufflevector) to produce - the return value. - * include/experimental/bits/simd_builtin.h - (__shift_elements_right): Removed. - (__extract_part): Return single elements directly. Use - __vec_shuffle (which calls __builtin_shufflevector) to for all - non-trivial cases. - * include/experimental/bits/simd_fixed_size.h (__extract_part): - Return single elements directly. - * testsuite/experimental/simd/pr114958.cc: New test. - -2024-05-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unicode.h (_Unicode_view::_M_read_utf8): Ensure - count of characters consumed is correct when the end of the - input is reached unexpectedly. - * testsuite/ext/unicode/view.cc: Test incomplete UTF-8 - sequences. - -2024-05-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114866 - * include/bits/out_ptr.h [!_GLIBCXX_HOSTED]: Don't refer to - shared_ptr, __shared_ptr or __is_shred_ptr. - * testsuite/20_util/headers/memory/114866.cc: New test. - -2024-05-07 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): - Simplify. - -2024-05-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_pair.h (operator==): Add constraint. - * include/bits/version.def (constrained_equality): Define. - * include/bits/version.h: Regenerate. - * include/std/optional: Define feature test macro. - (__optional_rep_op_t): Use is_convertible_v instead of - is_convertible. - * include/std/tuple: Define feature test macro. - (operator==, __tuple_cmp, operator<=>): Reimplement C++20 - comparisons using lambdas. Add constraints. - * include/std/utility: Define feature test macro. - * include/std/variant: Define feature test macro. - (_VARIANT_RELATION_FUNCTION_TEMPLATE): Add constraints. - (variant): Remove unnecessary friend declarations for comparison - operators. - * testsuite/20_util/optional/relops/constrained.cc: New test. - * testsuite/20_util/pair/comparison_operators/constrained.cc: - New test. - * testsuite/20_util/tuple/comparison_operators/constrained.cc: - New test. - * testsuite/20_util/variant/relops/constrained.cc: New test. - * testsuite/20_util/tuple/comparison_operators/overloaded.cc: - Disable for C++20 and later. - * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: - Remove dg-error line for target c++20. - -2024-05-07 Jonathan Wakely <jwakely@redhat.com> - - * include/backward/auto_ptr.h: Use https for URL in comment. - * include/bits/basic_ios.h: Likewise. - * include/std/iostream: Likewise. - -2024-05-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_abi.cc: Update latest versions to - new versions that should be used in future. - -2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * src/Makefile.am [ENABLE_SYMVERS_SUN] - (libstdc++-symbols.ver-sun): Pass $(libstdc___la_OBJECTS), - $(libstdc___la_LIBADD) to make_sunver.pl unmodified. - * src/Makefile.in: Regenerate. - -2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * testsuite/lib/dg-options.exp (add_options_for_net_ts) - <*-*-solaris2*>: Don't link with -lsocket -lnsl. - -2024-05-03 Andreas Schwab <schwab@linux-m68k.org> - - * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. - -2024-05-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114891 - * include/std/generator: Check feature test macro before using - is_pointer_interconvertible_v. - -2024-04-30 Christophe Lyon <christophe.lyon@linaro.org> - - * testsuite/lib/gdb-test.exp (gdb-test): Fix regexp. Quote - newlines in logs. - -2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - Backported from master: - 2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. - * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: - Likewise. - * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. - * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: - Likewise. - -2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - Backported from master: - 2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. - * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: - Likewise. - * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. - * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: - Likewise. - -2024-04-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114863 - * include/std/format (__formatter_fp::format): Only use - _M_localized for finite values. - * testsuite/std/format/functions/format.cc: Check localized - formatting of NaN and initiny. - -2024-04-26 Jonathan Wakely <jwakely@redhat.com> - - * doc/html/manual/status.html: Regenerate. - * doc/xml/manual/status_cxx1998.xml: Adjust whitespace. - * doc/xml/manual/status_cxx2011.xml: Likewise. - * doc/xml/manual/status_cxx2014.xml: Likewise. - * doc/xml/manual/status_cxx2017.xml: Likewise. - * doc/xml/manual/status_cxx2020.xml: Likewise. - * doc/xml/manual/status_cxx2023.xml: Likewise. - * doc/xml/manual/status_cxxtr1.xml: Likewise. - * doc/xml/manual/status_cxxtr24733.xml: Likewise. - -2024-04-25 Jonathan Wakely <jwakely@redhat.com> - - * scripts/run_doxygen: Rename man pages for nested types. - -2024-04-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/chrono (tzdb_list): Fix typo in Doxygen comment. - -2024-04-25 Jonathan Wakely <jwakely@redhat.com> - - * scripts/run_doxygen: Adjust sed pattern to match '\fR' for - new man output that Doxygen 1.10 generates. - -2024-04-25 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/stdheader.cc (init_map): Add missing headers. - * doc/doxygen/user.cfg.in (EXCLUDE): Exclude generated files for - std::format and std::text_encoding. - -2024-04-25 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant: Add comment to #include. - -2024-04-22 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/114803 - * include/experimental/bits/simd_builtin.h - (_SimdBase2::operator __vector_type_t): There is no __builtin() - function in _SimdWrapper, instead use its conversion operator. - * testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New - test. - -2024-04-22 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h: Ignore -Wnarrowing for - arm_neon.h. - (__int_for_sizeof): Replace tautological compare with checking - for invalid template parameter value. - * include/experimental/bits/simd_builtin.h (__extract_part): - Remove tautological compare by combining two static_assert. - -2024-04-22 Jakub Jelinek <jakub@redhat.com> - - * testsuite/17_intro/names.cc (d, f): Undefine on s390*-linux*. - * testsuite/17_intro/headers/c++1998/all_attributes.cc (packed): Don't - define on s390. - * testsuite/17_intro/headers/c++2011/all_attributes.cc (packed): - Likewise. - * testsuite/17_intro/headers/c++2014/all_attributes.cc (packed): - Likewise. - * testsuite/17_intro/headers/c++2017/all_attributes.cc (packed): - Likewise. - * testsuite/17_intro/headers/c++2020/all_attributes.cc (packed): - Likewise. - -2024-04-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/refwrap.h (operator<=>): Simplify constraints. - -2024-04-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114770 - * src/c++20/tzdb.cc (do_locate_zone): Support links that have - another link as their target. - * testsuite/std/time/tzdb/1.cc: Check that all zones and links - can be found by locate_zone. - * testsuite/std/time/tzdb/links.cc: New test. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * testsuite/29_atomics/atomic/compare_exchange_padding.cc: - Disable SRA. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * testsuite/20_util/from_chars/8.cc: Skip float128_t testing - on aarch64-vxworks. - * testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on - aarch64-vxworks. - -2024-04-18 Alexandre Oliva <oliva@adacore.com> - - * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Define - on VxWorks non-RTP. - -2024-04-17 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ostream (println(ostream&)): Define new overload. - * include/std/print (println(FILE*), println()): Likewise. - * testsuite/27_io/basic_ostream/print/2.cc: New test. - * testsuite/27_io/print/1.cc: Remove unused header. - * testsuite/27_io/print/3.cc: New test. - -2024-04-17 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/numeric_traits.h: Add include guard. - -2024-04-17 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/114750 - * include/experimental/bits/simd_builtin.h - (_SimdImplBuiltin::_S_load, _S_store): Fall back to copying - scalars if the memory type cannot be vectorized for the target. - -2024-04-16 Jonathan Wakely <jwakely@redhat.com> - - * config/locale/dragonfly/numeric_members.cc: Fix typos in - comments. - * config/locale/gnu/numeric_members.cc: Likewise. - -2024-04-15 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/abi.xml: Replace "<next>" with "14.1.0". - * doc/html/manual/abi.html: Regenerate. - -2024-04-15 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/refwrap.h (reference_wrapper): Add comparison - operators as proposed by P2944R3. - * include/bits/version.def (reference_wrapper): Define. - * include/bits/version.h: Regenerate. - * include/std/functional: Enable feature test macro. - * testsuite/20_util/reference_wrapper/compare.cc: New test. - -2024-04-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113386 - * include/bits/stl_pair.h (operator==, operator<=>): Support - heterogeneous comparisons, as per LWG 3865. - * testsuite/20_util/pair/comparison_operators/lwg3865.cc: New - test. - -2024-04-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/93672 - * src/c++98/istream.cc (istream::ignore(streamsize, int_type)): - Treat all negative delimiter values as eof(). - * testsuite/27_io/basic_istream/ignore/char/93672.cc: New test. - * testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc: New - test. - -2024-04-15 Andreas Schwab <schwab@suse.de> - - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. - -2024-04-13 H.J. Lu <hjl.tools@gmail.com> - - * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: - Updated. - -2024-04-11 Jakub Jelinek <jakub@redhat.com> - - * doc/xml/manual/abi.xml: Add latest library versions. - * doc/html/manual/abi.html: Regenerate. - -2024-04-11 Jakub Jelinek <jakub@redhat.com> - - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - -2024-04-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114692 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Move new exports for - __basic_file::native_handle to ... - (GLIBCXX_3.4.33): ... here. Adjust to not match wchar_t - specialization, which isn't used. - * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.33 and update - latest version check. - -2024-04-11 Jakub Jelinek <jakub@redhat.com> - - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - -2024-04-10 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/manipulators/extended/get_time/char/2.cc: - Adjust input string so that it matches %a with or without a - trailing period. - * testsuite/std/time/year_month_day/io.cc: Adjust expected - format for %x in the fr_FR locale. - -2024-04-10 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]: - Check for EMLINK as well as ELOOP. - [__NetBSD__]: Check for EFTYPE as well as ELOOP. - -2024-04-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114633 - * include/bits/chrono_io.h (_Parser::operator()) <'S'>: Use - stream extraction if std::from_chars is not available. - -2024-04-08 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114519 - * include/bits/unicode.h (_Utf8_view) [!__cpp_char8_t]: Define - using char instead of char8_t. - * testsuite/ext/unicode/view.cc: Use u8""sv literals to create - string views, instead of std::u8string_view. - -2024-04-08 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/integer_comparisons/equal_neg.cc: Use - no-opts selector for errors that depend on -fchar8_t. - * 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_neg.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_neg.cc: - Likewise. - * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: Skip - if -fno-char8_t is used. - * testsuite/21_strings/headers/cuchar/functions_std_cxx20.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/filesystem/path/factory/u8path-depr.cc: Use - char for u8 literal if char8_t is not available. - * testsuite/27_io/headers/iosfwd/synopsis.cc: Check - __cpp_char8_t. - * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: - Remove check for _GLIBCXX_USE_CHAR8_T. - -2024-04-08 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/from_chars/1_neg.cc: Add char8_t cases, - using a struct of that name if -fno-char8_t is active. - * testsuite/20_util/from_chars/1_c++20_neg.cc: Removed. - -2024-04-03 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104606 - * include/std/optional (operator<=>(const optional<T>&, const U&)): - Reverse order of three_way_comparable_with template arguments. - * testsuite/20_util/optional/relops/104606.cc: New test. - -2024-04-02 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114519 - * include/bits/unicode.h (_Utf8_view): Guard with check for - char8_t being enabled. - (__literal_encoding_is_unicode): Guard use of char8_t with check - for it being enabled. - * testsuite/std/format/functions/114519.cc: New test. - -2024-04-02 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (ranges::__detail::_Empty): Rename to ... - (ranges::__detail::_Absent): ... this. Turn into a template - parameterized by the absent type _Tp and discriminator _Disc. - (ranges::__detail::__maybe_present_t): Add an optional - discriminator parameter. - (slide_view::_M_cached_begin): Pass a discriminator argument to - __maybe_present_t. - (slide_view::_M_cached_end): Likewise. - * testsuite/std/ranges/adaptors/sizeof.cc: Verify the size of - slide_view<V> is 3 instead 4 pointers. - -2024-04-02 Jakub Jelinek <jakub@redhat.com> - - * acinclude.m4: Fix duplicated words; file file -> file can. - * configure.host: Fix duplicated words; the the -> the. - -2024-03-29 Arsen Arsenović <arsen@aarsen.me> - - * testsuite/24_iterators/range_generators/01.cc: Drop GCC - Runtime Library Exception. - * testsuite/24_iterators/range_generators/02.cc: Drop GCC - Runtime Library Exception. - * testsuite/24_iterators/range_generators/copy.cc: Drop GCC - Runtime Library Exception. - * testsuite/24_iterators/range_generators/except.cc: Drop GCC - Runtime Library Exception. - * testsuite/24_iterators/range_generators/subrange.cc: Drop GCC - Runtime Library Exception. - * testsuite/24_iterators/range_generators/synopsis.cc: Drop GCC - Runtime Library Exception. - * testsuite/24_iterators/range_generators/iter_deref_return.cc: - Drop GCC Runtime Library Exception from the "You should have - received a copy" paragraph. - -2024-03-27 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_x86.h (_S_masked_unary): - Cast inputs < 16 bytes to 16 byte vectors before calling the - right subtraction builtin. Before returning, truncate to the - return vector type. - -2024-03-27 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_x86.h (_S_masked_unary): Call - the 4- and 8-byte variants of __builtin_ia32_subp[ds] without - rounding direction argument. - -2024-03-27 Srinivas Yadav Singanaboina <vasu.srinivasvasu.14@gmail.com> - - * include/Makefile.am: Add simd_sve.h. - * include/Makefile.in: Add simd_sve.h. - * include/experimental/bits/simd.h: Add new SveAbi. - * include/experimental/bits/simd_builtin.h: Use - __no_sve_deduce_t to support existing Neon Abi. - * include/experimental/bits/simd_converter.h: Convert - sequentially when sve is available. - * include/experimental/bits/simd_detail.h: Define sve - specific macro. - * include/experimental/bits/simd_math.h: Fallback frexp - to execute sequntially when sve is available, to handle - fixed_size_simd return type that always uses sve. - * include/experimental/simd: Include bits/simd_sve.h. - * testsuite/experimental/simd/tests/bits/main.h: Enable - testing for sve128, sve256, sve512. - * include/experimental/bits/simd_sve.h: New file. - -2024-03-26 Arsen Arsenović <arsen@aarsen.me> - - * include/std/generator (generator::_Iterator::operator*): Fix - return type. - * testsuite/24_iterators/range_generators/iter_deref_return.cc: - New test. - -2024-03-26 Arsen Arsenović <arsen@aarsen.me> - - * include/std/generator: Fix _V badname. - -2024-03-26 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/19_diagnostics/stacktrace/current.cc: Check for - __cpp_lib_stacktrace instead of check for stacktrace ET. - * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. - * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: - Likewise. - * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): - Remove. - -2024-03-26 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/lib/dg-options.exp (dg-require-cpp-feature-test): - New proc. - * testsuite/lib/libstdc++.exp (check_v3_target_cpp_feature_test): - New proc. - * testsuite/std/text_encoding/cons.cc: Use new directive to skip - the test if the __cpp_lib_text_encoding feature test macro is - not defined. - * testsuite/std/text_encoding/requirements.cc: Likewise. - -2024-03-25 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/text_encoding/requirements.cc: #undef the - correct macro. - -2024-03-23 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (formatter): Disable specializations that - would allow sequences of narrow characters to be formatted as - wchar_t without conversion, as per LWG 3944. - * testsuite/std/format/formatter/lwg3944.cc: New test. - -2024-03-23 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/utility.h (__is_in_place_index_v): New variable - template. - * include/std/variant (__not_in_place_tag): Define in terms of - variable templates not a class template. - -2024-03-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114400 - * include/std/string_view (operator==): Use std::type_identity_t - in C++20 instead of our own __type_identity_t. - -2024-03-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114401 - * include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call - release() on node handle instead of just zeroing its pointer. - (_Hashtable::_M_reinsert_node_multi): Likewise. - (_Hashtable::_M_merge_unique): Likewise. - (_Hashtable::_M_merge_multi): Likewise. - * include/bits/node_handle.h (_Node_handle_common::release()): - New member function. - (_Node_handle_common::_Optional_alloc::_M_empty): Remove - unnecessary union member. - (_Node_handle_common): Declare _Hashtable as a friend. - * include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique): - Call release() on node handle instead of just zeroing its - pointer. - (_Rb_tree::_M_reinsert_node_equal): Likewise. - (_Rb_tree::_M_reinsert_node_hint_unique): Likewise. - (_Rb_tree::_M_reinsert_node_hint_equal): Likewise. - * testsuite/23_containers/multiset/modifiers/114401.cc: New test. - * testsuite/23_containers/set/modifiers/114401.cc: New test. - * testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test. - * testsuite/23_containers/unordered_set/modifiers/114401.cc: New test. - -2024-03-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113841 - * include/bits/allocator.h (allocator<cv T>): Add default - constructor to partial specializations for cv-qualified types. - * include/bits/stl_vector.h (_Vector_impl::_Vector_impl()): - Constrain so that it's only present if the allocator is default - constructible. - * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()): - Likewise. - * testsuite/23_containers/vector/cons/113841.cc: New test. - -2024-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_construct.h (destroy_at, construct_at): Guard - with feature test macros instead of just __cplusplus. - -2024-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (generator, tuple_like): Move earlier - in the file. - * include/bits/version.h: Regenerate. - -2024-03-22 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114394 - * include/std/functional (bind): Use __invoke_result_t instead - of result_of::type. - * include/std/type_traits (__invoke_result_t): New alias - template. - * testsuite/20_util/bind/ref_neg.cc: Adjust prune pattern. - -2024-03-20 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/version.def (null_iterators): Remove extra_cond. - * include/bits/version.h: Regenerate. - -2024-03-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114359 - * include/bits/random.tcc (binomial_distribution::param_type): - Ensure arithmetic is done as type double. - * testsuite/26_numerics/random/binomial_distribution/114359.cc: New test. - -2024-03-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/101228 - * include/pstl/parallel_backend_tbb.h (TBB_SUPPRESS_DEPRECATED_MESSAGES): - Define before including <tbb/task.h> then undef afterwards. - -2024-03-19 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am [MAINTAINER_MODE]: Add target to - automatically update <bits/version.h>. - * include/Makefile.in: Regenerate. - -2024-03-19 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/build_hacking.xml: Document generated files. - Update list of convenience libraries and sub-directories under - the src directory. - * doc/html/*: Regenerate. - -2024-03-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/text_encoding-data.h: Regenerate. - * include/bits/unicode-data.h: Regenerate. - * scripts/gen_text_encoding_data.py: Fix header of generated - file to name the correct script. - -2024-03-19 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/pstl/test_utils.h: Fix typos in comments. - -2024-03-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114367 - * include/bits/stl_bvector.h (_M_allocate): Use allocator's - construct function to begin lifetime of words. - -2024-03-19 Iain Sandoe <iain@sandoe.co.uk> - - * testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B - option for the path to the uninstalled libatomic. - -2024-03-19 Iain Sandoe <iain@sandoe.co.uk> - - * testsuite/lib/libstdc++.exp (v3_target_compile): Instead of - /dev/null, use a temporary file for test executables on Darwin. - -2024-03-18 François Dumont <fdumont@gcc.gnu.org> - - * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance): - Accept 0 offset advance on value-initialized iterator. - * testsuite/23_containers/vector/debug/n3644.cc: New test case. - -2024-03-18 François Dumont <fdumont@gcc.gnu.org> - - * include/debug/safe_local_iterator.tcc - (_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and - _M_singular checks. - * testsuite/23_containers/unordered_set/debug/114316.cc: New test case. - -2024-03-17 François Dumont <fdumont@gcc.gnu.org> - - PR libstdc++/114316 - * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): - First check if both iterators are value-initialized before checking if - singular. - * testsuite/23_containers/set/debug/114316.cc: New test case. - * testsuite/23_containers/vector/debug/114316.cc: New test case. - -2024-03-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114325 - * include/std/format (_Scanner::_M_scan): Pass correct length to - __to_chars_10_impl. - * testsuite/std/format/functions/format.cc: Check negative - integers with empty format-spec. - -2024-03-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_algo.h (find_end, all_of, none_of, any_of) - (find_if_not, is_partitioned, partition_point, remove) - (remove_if, unique, lower_bound, upper_bound, equal_range) - (binary_search, includes, is_sorted, is_sorted_until, minmax) - (minmax_element, is_permutation, clamp, find_if, find_first_of) - (adjacent_find, count, count_if, search, search_n, min_element) - (max_element): Add nodiscard attribute. - * include/bits/stl_algobase.h (min, max, lower_bound, equal) - (lexicographical_compare, lexicographical_compare_three_way) - (mismatch): Likewise. - * include/bits/stl_heap.h (is_heap, is_heap_until): Likewise. - * testsuite/25_algorithms/equal/debug/1_neg.cc: Add dg-warning. - * testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise. - * testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise. - * testsuite/25_algorithms/find_first_of/concept_check_1.cc: - Likewise. - * testsuite/25_algorithms/is_permutation/2.cc: Likewise. - * testsuite/25_algorithms/lexicographical_compare/71545.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/33613.cc: Likewise. - * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: - Likewise. - * testsuite/25_algorithms/minmax/3.cc: Likewise. - * testsuite/25_algorithms/search/78346.cc: Likewise. - * testsuite/25_algorithms/search_n/58358.cc: Likewise. - * testsuite/25_algorithms/unique/1.cc: Likewise. - * testsuite/25_algorithms/unique/11480.cc: Likewise. - * testsuite/25_algorithms/upper_bound/33613.cc: Likewise. - * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: - Likewise. - * testsuite/ext/concept_checks.cc: Likewise. - * testsuite/ext/is_heap/47709.cc: Likewise. - * testsuite/ext/is_sorted/cxx0x.cc: Likewise. - -2024-03-14 xndcn <xndchn@gmail.com> - - * include/bits/atomic_base.h (__atomic_float::__atomic_float(Fp)): - Clear padding. - * testsuite/29_atomics/atomic_float/compare_exchange_padding.cc: - New test. - -2024-03-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/66146 - * doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in - note about std::call_once. - * doc/xml/manual/status_cxx2014.xml: Likewise. - * doc/xml/manual/status_cxx2017.xml: Likewise. - * doc/html/manual/status.html: Regenerate. - -2024-03-14 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/status_cxx2023.xml: Update C++23 status table. - * doc/html/manual/status.html: Regenerate. - * include/bits/version.def: Fix typo in comment. - -2024-03-13 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat - to namespace scope. - -2024-03-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/debug.xml: Improve docs on debug builds and - using ASan. Mention _GLIBCXX_ASSERTIONS. Reorder sections to put - the most relevant ones first. - * doc/xml/manual/using.xml: Add comma. - * doc/html/*: Regenerate. - -2024-03-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/debug.xml: Document that concept checking might - be removed in future. - * doc/xml/manual/extensions.xml: Likewise. - -2024-03-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114240 - * include/bits/chrono_io.h (_Parser::operator()): Assume - hours(0) for a time_point, so that a time is not required - to be present. - * testsuite/std/time/parse/114240.cc: New test. - -2024-03-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114279 - * include/bits/chrono_io.h (_Parser::_M_is_leap_second): New - data member. - (_Parser::_M_reserved): Reserve padding bits for future use. - (_Parser::operator()): Set _M_is_leap_second if %S reads 60s. - (from_stream): Only allow _M_is_leap_second for utc_time and - local_time. Adjust arithmetic for utc_time so that leap seconds - are preserved. Use time_point_cast to convert to a possibly - lower-precision result type. - * testsuite/std/time/parse.cc: Move to ... - * testsuite/std/time/parse/parse.cc: ... here. - * testsuite/std/time/parse/114279.cc: New test. - -2024-03-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (_Parser::operator()): Use - std::from_chars to parse fractional seconds. - -2024-03-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114244 - * include/bits/chrono_io.h (_Parser::operator()): Remove - redundant uses of duration_cast. Use chrono::round to convert - long double value to durations with integer representations. - Check represenation type when deciding whether to skip parsing - fractional seconds. - * testsuite/20_util/duration/114244.cc: New test. - * testsuite/20_util/duration/io.cc: Check that a floating-point - duration with ratio<1> precision can be parsed. - -2024-03-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114103 - * include/bits/version.def (atomic_lock_free_type_aliases): Add - extra_cond to check for at least one always-lock-free type. - * include/bits/version.h: Regenerate. - * include/std/atomic (atomic_signed_lock_free) - (atomic_unsigned_lock_free): Only use always-lock-free types. - * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): Don't use - atomic counter if lock-free aliases aren't available. - * testsuite/29_atomics/atomic/lock_free_aliases.cc: XFAIL for - targets without lock-free word-size compare_exchange. - -2024-03-07 Jonathan Wakely <jwakely@redhat.com> - - * include/std/chrono (__get_leap_second_info): Update expiry - time for hardcoded list of leap seconds. - * testsuite/std/time/tzdb/leap_seconds.cc: Update comment. - -2024-03-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/deque/allocator/default_init.cc: Use - std::memset instead of __builtin_memset. - * testsuite/23_containers/forward_list/allocator/default_init.cc: - Likewise. - * testsuite/23_containers/list/allocator/default_init.cc: - Likewise. - * testsuite/23_containers/map/allocator/default_init.cc: - Likewise. - * testsuite/23_containers/set/allocator/default_init.cc: - Likewise. - * testsuite/23_containers/unordered_map/allocator/default_init.cc: - Likewise. - * testsuite/23_containers/unordered_set/allocator/default_init.cc: - Likewise. - * testsuite/23_containers/vector/allocator/default_init.cc: - Likewise. - * testsuite/23_containers/vector/bool/allocator/default_init.cc: - Likewise. - * testsuite/29_atomics/atomic/compare_exchange_padding.cc: - Likewise. - * testsuite/util/atomic/wait_notify_util.h: Likewise. - -2024-03-07 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (_Arg_store::_S_make_elt): Add two - static_assert checks to give more user-friendly error messages. - * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune another - form of "in requirements with" note. - * testsuite/std/format/arguments/args_neg.cc: Check for - user-friendly diagnostics for non-formattable types. - * testsuite/std/format/string_neg.cc: Likewise. - -2024-03-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114147 - * include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)): - Add missing overload of allocator-extended default constructor. - (tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise. - * testsuite/20_util/tuple/cons/114147.cc: New test. - -2024-02-29 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (basic_format_arg::handle::__maybe_const_t): - Fix condition to check if const type is formattable. - (basic_format_arg::handle::handle(T&)): Remove redundant - static_assert. - * testsuite/std/format/formatter/basic.cc: New test. - -2024-02-29 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113960 - * include/bits/stl_algobase.h (__is_byte_iter): Replace with ... - (__memcmp_ordered_with): New concept. - (lexicographical_compare_three_way): Use __memcmp_ordered_with - instead of __is_byte_iter. Use correct length for memcmp. - * testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc: - New test. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/114152 - * include/experimental/scope (scope_exit scope_fail): Make - destructor unconditionally noexcept. - (scope_sucess): Fix noexcept-specifier. - * testsuite/experimental/scopeguard/114152.cc: New test. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/appendix_contributing.xml: Change URLs to use - https. - * doc/html/manual/*: Regenerate. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/appendix_contributing.xml: Replace outdated - info on ChangeLog entries. - * doc/html/manual/appendix_contributing.html: Regenerate. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_bvector.h (vector<bool, A>::at): Add - nodiscard. - * include/bits/stl_vector.h (vector<T, A>::at): Likewise. - (operator==, operator<=>, operator<, operator!=, operator>) - (operator<=, operator>=): Likewise. - * include/debug/vector (operator==, operator<=>, operator<) - (operator!=, operator>, operator<=, operator>=): Likewise. - * testsuite/23_containers/vector/nodiscard.cc: New test. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_base.h (operator|, operator&): Add - noexcept. - * include/bits/fs_fwd.h (operator&, operator|, operator^) - (operator~): Add nodiscard to overloads for copy_options, perms, - perm_options, and directory_options. - * include/bits/ios_base.h (operator&, operator|, operator^) - (operator~): Add nodiscard and noexcept to overloads for - _Ios_Fmtflags, _Ios_Openmode, and _Ios_Iostate. - (operator|=, operator&=, operator^=): Add constexpr for C++14. - * include/bits/regex_constants.h (operator&, operator|, operator^) - (operator~): Add nodiscard and noexcept to overloads for - syntax_option_type and match_flag_type. - (operator|=, operator&=, operator^=): Add noexcept. - * include/std/charconv (operator&, operator|, operator^) - (operator~): Add nodiscard to overloads for chars_format. - * include/std/future (operator&, operator|, operator^) - (operator~): Add nodiscard for overloads for launch. - (operator&=, operator|=, operator^=): Add constexpr for C++14. - * include/experimental/bits/fs_fwd.h (operator&, operator|) - (operator^, operator~): Add nodiscard to overloads for - copy_options, perms, and directory_options. - * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: - Add dg-warning for nodiscard warnings. - * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: - Likewise. - * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: - Likewise. - * testsuite/27_io/filesystem/operations/bitmask_types.cc: - New test. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_ostream/print/1.cc: Check error - handling. - * testsuite/27_io/print/1.cc: Likewise. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ostream (vprint_unicode) [__CYGWIN__]: Use POSIX - code path for Cygwin instead of Windows. - * include/std/print (vprint_unicode) [__CYGWIN__]: Likewise. - * testsuite/27_io/basic_ostream/print/1.cc: Only add -lstdc++exp - for *-*-mingw* targets. - * testsuite/27_io/print/1.cc: Likewise. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h: Include <bits/stl_iterator.h> for - __make_move_if_noexcept_iterator. - -2024-02-28 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace: Add nodiscard attribute to all - functions without side effects. - -2024-02-20 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/stl_algobase.h (std::__niter_wrap): Add a call to - std::__niter_base on res iterator. - -2024-02-19 Iain Sandoe <iain@sandoe.co.uk> - Jonathan Wakely <jwakely@redhat.com> - - PR target/112397 - * configure: Regenerate. - * configure.ac: Detect if we are building for Darwin. - * libsupc++/Makefile.am: If we are building for Darwin, then - suppress hot/cold partitioning for the array allocators. - * libsupc++/Makefile.in: Regenerated. - -2024-02-17 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/stl_algobase.h (std::__niter_base): Redefine the overload - definitions for __gnu_debug::_Safe_iterator. - * include/debug/safe_iterator.tcc (std::__niter_base): Adapt declarations. - -2024-02-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/87744 - PR libstdc++/113961 - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - -2024-02-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/87744 - PR libstdc++/113931 - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - -2024-02-16 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/debug_mode.xml: Update docs for backtraces. - * doc/html/manual/debug_mode_using.html: Regenerate. - -2024-02-16 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/test.xml: Fix spelling of <envar> elements. - * doc/html/manual/test.html: Regenerate. - -2024-02-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113806 - * include/std/bitset (bitset::operator>>=): Remove redundant - call to _M_do_sanitize. - -2024-02-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113807 - * include/std/bitset (bitset::set()): Use memset instead of a - loop over the individual words. - -2024-02-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113811 - * include/bits/stl_algo.h (__rotate): Use unsigned values for - division. - -2024-02-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/99117 - * include/std/valarray (valarray::operator=(const _Expr&)): - Use loop to copy instead of __valarray_copy with _Array. - * testsuite/26_numerics/valarray/99117.cc: New test. - -2024-02-15 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdata.zi: Import new file from 2024a release. - * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) - Update expiry date for leap seconds list. - -2024-02-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/87744 - * include/bits/random.h [!__SIZEOF_INT128__] (_Select_uint_least_t): - Define specialization for 64-bit generators with - non-power-of-two modulus and large constants. - (__mod): Use if constexpr unconditionally. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - * testsuite/26_numerics/random/linear_congruential_engine/87744.cc: - New test. - -2024-02-14 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/status_cxx2023.xml: Fix C++ item p2442 to be - version 1. - * doc/html/manual/status.html: Regenerate. - -2024-02-12 Paul Keir <paul.keir@uws.ac.uk> - - PR libstdc++/113294 - * include/bits/basic_string.h (basic_string::operator=): Use - _M_use_local_data() instead of _M_local_buf on the moved-from - string. - * testsuite/21_strings/basic_string/modifiers/constexpr.cc - (test_move): New test. - -2024-02-09 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME): - Removed. - * include/std/type_traits (is_same): Use - _GLIBCXX_USE_BUILTIN_TRAIT instead of - _GLIBCXX_HAVE_BUILTIN_IS_SAME. - (is_same_v): Likewise. - -2024-02-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h: Fix typo in comment. - -2024-02-08 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/100147 - * include/bits/gslice.h (operator=): Add comment about lack of - self-assignment check. - -2024-02-08 Jonathan Wakely <jwakely@redhat.com> - - * include/tr2/type_traits (bases, direct_bases): Use - __has_builtin to check if required built-ins are supported. - -2024-02-07 Patrick Palka <ppalka@redhat.com> - - PR testsuite/113710 - PR c++/113814 - * include/bits/stl_pair.h (tuple_element): Add forward - declaration of the partial specialization for tuple. - -2024-02-06 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> - - * testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null" - for other environments. - -2024-02-04 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__format::_Spec::_M_reserved): Define new - bit-field members to reserve padding bits for future extensions. - -2024-02-04 Jonathan Wakely <jwakely@redhat.com> - - * src/experimental/Makefile.am: Use libstdc++fsconvenience.a - instead of libstdc++fs.a. - * src/experimental/Makefile.in: Regenerate. - * src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as - well. - * src/filesystem/Makefile.in: Regenerate. - -2024-02-04 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/text_encoding-data.h: Regenerate. - * include/bits/unicode-data.h: Regenerate. - * scripts/gen_text_encoding_data.py: Add copyright and license - text to the output. - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113335 - * include/bits/std_function.h (__function_guide_helper): Add - partial specialization for explicit object member functions, as - per LWG 3617. - * testsuite/20_util/function/cons/deduction_c++23.cc: Check - explicit object member functions. - * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: - Likewise. - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/17_intro/names.cc [_AIX]: Undefine "u". - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (network_v6::network): Define. - (network_v6::hosts): Finish implementing. - (network_v6::to_string): Do not concatenate std::string to - arbitrary std::basic_string specialization. - * testsuite/experimental/net/internet/network/v6/cons.cc: New - test. - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/90276 - * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Fix - comparison function to use less-than instead of equality. - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/90276 - * testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use - perfect forwarding for iterator arguments. - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - * include/std/string_view (basic_string_view(R&&)): Remove - constraint that traits_type must be the same, as per LWG 3857. - * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: - Explicit conversion between different specializations should be - allowed. - * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: - Likewise. - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - * include/std/syncstream (basic_osyncstream::operator=): Remove - noexcept, as per LWG 3867. - -2024-02-02 Jonathan Wakely <jwakely@redhat.com> - - * include/std/generator (promise_type::yield_value): Remove - noexcept from fourth overload, as per LWG 3894. - -2024-02-01 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/113309 - PR libstdc++/109203 - * include/bits/ranges_util.h (__detail::__pair_like): Don't - define in C++23 mode. - (__detail::__pair_like_convertible_from): Adjust as per P2165R4. - (__detail::__is_subrange<subrange>): Moved from <ranges>. - (__detail::__is_tuple_like_v<subrange>): Likewise. - * include/bits/stl_iterator.h: Include <bits/utility.h> for - C++23. - (__different_from): Move to <concepts>. - (__iter_key_t): Adjust for C++23 as per P2165R4. - (__iter_val_t): Likewise. - * include/bits/stl_pair.h (pair, array): Forward declare. - (get): Forward declare all overloads relevant to P2165R4 - tuple-like constructors. - (__is_tuple_v): Define for C++23. - (__is_tuple_like_v): Define for C++23. - (__tuple_like): Define for C++23 as per P2165R4. - (__pair_like): Define for C++23 as per P2165R4. - (__eligibile_tuple_like): Define for C++23. - (__eligibile_pair_like): Define for C++23. - (pair::_S_constructible_from_pair_like): Define for C++23. - (pair::_S_convertible_from_pair_like): Define for C++23. - (pair::_S_dangles_from_pair_like): Define for C++23. - (pair::pair): Define overloads taking a tuple-like type for - C++23 as per P2165R4. - (pair::_S_assignable_from_tuple_like): Define for C++23. - (pair::_S_const_assignable_from_tuple_like): Define for C++23. - (pair::operator=): Define overloads taking a tuple-like type for - C++23 as per P2165R4. - * include/bits/utility.h (ranges::__detail::__is_subrange): - Moved from <ranges>. - * include/bits/version.def (tuple_like): Define for C++23. - * include/bits/version.h: Regenerate. - * include/std/concepts (__different_from): Moved from - <bits/stl_iterator.h>. - (ranges::__swap::__adl_swap): Clarify which __detail namespace. - * include/std/map (__cpp_lib_tuple_like): Define C++23. - * include/std/ranges (__detail::__is_subrange): Moved to - <bits/utility.h>. - (__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h> - (__detail::__has_tuple_element): Adjust for C++23 as per P2165R4. - (__detail::__tuple_or_pair): Remove as per P2165R4. Replace all - uses with plain tuple as per P2165R4. - * include/std/tuple (__cpp_lib_tuple_like): Define for C++23. - (__tuple_like_tag_t): Define for C++23. - (__tuple_cmp): Forward declare for C++23. - (_Tuple_impl::_Tuple_impl): Define overloads taking - __tuple_like_tag_t and a tuple-like type for C++23. - (_Tuple_impl::_M_assign): Likewise. - (tuple::__constructible_from_tuple_like): Define for C++23. - (tuple::__convertible_from_tuple_like): Define for C++23. - (tuple::__dangles_from_tuple_like): Define for C++23. - (tuple::tuple): Define overloads taking a tuple-like type for - C++23 as per P2165R4. - (tuple::__assignable_from_tuple_like): Define for C++23. - (tuple::__const_assignable_from_tuple_like): Define for C++23. - (tuple::operator=): Define overloads taking a tuple-like type - for C++23 as per P2165R4. - (tuple::__tuple_like_common_comparison_category): Define for C++23. - (tuple::operator<=>): Define overload taking a tuple-like type - for C++23 as per P2165R4. - (array, get): Forward declarations moved to <bits/stl_pair.h>. - (tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4. - (apply): Likewise. - (make_from_tuple): Likewise. - (__tuple_like_common_reference): Define for C++23. - (basic_common_reference): Adjust as per P2165R4. - (__tuple_like_common_type): Define for C++23. - (common_type): Adjust as per P2165R4. - * include/std/unordered_map (__cpp_lib_tuple_like): Define for - C++23. - * include/std/utility (__cpp_lib_tuple_like): Define for C++23. - * testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair - and 2-tuple interchangeably. - (test05): New test. - * testsuite/20_util/pair/p2165r4.cc: New test. - * testsuite/20_util/tuple/p2165r4.cc: New test. - -2024-02-01 Patrick Palka <ppalka@redhat.com> - - * include/bits/stl_pair.h (pair::_S_const_assignable): Define, - factored out from ... - (pair::operator=): ... the constraints of the const overloads. - -2024-02-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.tpl: Do not use def-file-line for each - macro being defined. - * include/bits/version.h: Regenerate. - -2024-02-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust - dg-error pattern. - * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: - Likewise. - * testsuite/25_algorithms/equal/debug/constexpr_neg.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/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. - -2024-02-01 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (network_v4::to_string()): - Remove lambda and use of resize_and_overwrite. - -2024-01-31 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if - needed for newlocale. - * configure: Regenerate. - * src/c++26/text_encoding.cc: Use <xlocale.h>. - -2024-01-31 Jonathan Wakely <jwakely@redhat.com> - Ewan Higgs <ewan.higgs@gmail.com> - - * include/bits/text_encoding-data.h: Regenerate. - * scripts/gen_text_encoding_data.py: Add extra_aliases dict - containing "ASCII". - * testsuite/std/text_encoding/cons.cc: Check "ascii" is known. - -2024-01-31 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/using.xml: Update tables of supported headers. - * doc/html/*: Regenerate. - -2024-01-31 Jonathan Wakely <jwakely@redhat.com> - - * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid - -Wshift-count-overflow warning. - -2024-01-30 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/time/clock/gps/io.cc: Fix expected result in - assertion and call test_format() from main. - -2024-01-29 François Dumont <fdumont@gcc.gnu.org> - - * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use - _GLIBCXX_DEBUG_BACKTRACE macro. - -2024-01-24 Huanghui Nie <nnnjkk@gmail.com> - Théo Papadopoulo <papadopoulo@gmail.com> - - * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove - _M_before_begin check and cleanup implementation. - -2024-01-22 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/time/clock/file/io.cc: Fix expected result in - assertion and call test_format() from main. - -2024-01-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113500 - * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix - printing of subseconds with floating-point rep. - (__formatter_chrono::_M_format_to_ostream): Do not write - time_point specializations directly to the ostream. - (formatter<chrono::sys_time<D>, C>::parse): Do not allow an - empty chrono-spec if the type fails to meet the constraints for - writing to an ostream with operator<<. - * testsuite/std/time/clock/file/io.cc: Check formatting - non-integral times with empty chrono-specs. - * testsuite/std/time/clock/gps/io.cc: Likewise. - * testsuite/std/time/clock/utc/io.cc: Likewise. - * testsuite/std/time/hh_mm_ss/io.cc: Likewise. - -2024-01-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono.h (__file_clock::from_sys) - (__file_clock::to_sys, __file_clock::_S_from_sys) - (__file_clock::_S_to_sys): Use common_type for return type. - * testsuite/std/time/clock/file/members.cc: Check round trip - conversion for time with lower precision that seconds. - -2024-01-21 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113512 - * include/std/format (__formatter_fp::format): Fix logic for - alternate forms. - * testsuite/std/format/functions/format.cc: Check buggy cases of - alternate forms with g presentation type. - -2024-01-20 Marek Polacek <polacek@redhat.com> - - PR c++/111410 - * include/std/ranges: Add #pragma to disable -Wdangling-reference with - std::ranges::views::__adaptor::operator|. - -2024-01-19 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (_Spec::_M_parse_fill_and_align): Do not - use CTAD for _Utf32_view. - -2024-01-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108822 - * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix - wrong fold-operator. - * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one - element and three elements. Check allocator-extended - constructors. - -2024-01-19 Patrick Palka <ppalka@redhat.com> - - * include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include - <print> and <text_encoding> for C++23 and C++26 respectively. - -2024-01-18 Patrick Palka <ppalka@redhat.com> - - * include/bits/stl_pair.h [__cplusplus > 202002L]: - Guard P2321R2 changes with __glibcxx_ranges_zip instead. - -2024-01-18 Patrick Palka <ppalka@redhat.com> - - * include/std/tuple [__cplusplus > 202002L]: Guard P2321R2 - changes with __cpp_lib_ranges_zip instead. - -2024-01-18 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/109536 - * include/debug/safe_base.h (_Safe_sequence_base::_M_swap): - Remove _GLIBCXX20_CONSTEXPR from non-inline member function. - * include/debug/safe_iterator.h - (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define. - (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define. - (_Safe_iterator::operator=): Use them around the code path that - defines a variable of type __gnu_cxx::__scoped_lock. - (_Safe_iterator::operator++): Likewise. - (_Safe_iterator::operator--): Likewise. - (_Safe_iterator::operator+=): Likewise. - (_Safe_iterator::operator-=): Likewise. - * testsuite/23_containers/vector/element_access/constexpr.cc - (test_iterators): Test more iterator operations. - * testsuite/23_containers/vector/bool/element_access/constexpr.cc - (test_iterators): Likewise. - * testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]: - Remove. - -2024-01-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unicode.h (__charset_alias_match): Initialize - __var_a and __var_b. - -2024-01-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113450 - * testsuite/std/format/functions/format.cc: Use signed char - instead of int8_t. - -2024-01-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113318 - * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory. - (GLIBCXX_CHECK_TEXT_ENCODING): Define. - * config.h.in: Regenerate. - * configure: Regenerate. - * configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING. - * include/Makefile.am: Add new headers. - * include/Makefile.in: Regenerate. - * include/bits/locale_classes.h (locale::encoding): Declare new - member function. - * include/bits/unicode.h (__charset_alias_match): New function. - * include/bits/text_encoding-data.h: New file. - * include/bits/version.def (text_encoding): Define. - * include/bits/version.h: Regenerate. - * include/std/text_encoding: New file. - * src/Makefile.am: Add new subdirectory. - * src/Makefile.in: Regenerate. - * src/c++26/Makefile.am: New file. - * src/c++26/Makefile.in: New file. - * src/c++26/text_encoding.cc: New file. - * src/experimental/Makefile.am: Include c++26 convenience - library. - * src/experimental/Makefile.in: Regenerate. - * python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New - printer. - * scripts/gen_text_encoding_data.py: New file. - * testsuite/22_locale/locale/encoding.cc: New test. - * testsuite/ext/unicode/charset_alias_match.cc: New test. - * testsuite/std/text_encoding/cons.cc: New test. - * testsuite/std/text_encoding/members.cc: New test. - * testsuite/std/text_encoding/requirements.cc: New test. - -2024-01-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unicode.h (_Grapheme_cluster_view): Require view. - Do not use CTAD for _Utf32_view. - (__format_width, __truncate): Do not use CTAD. - (enable_borrowed_range<_Utf_view<T, R>>): Define specialization. - (enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise. - -2024-01-17 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (views::_CartesianProduct::operator()): - Adjust identity case as per P2540R1. - * testsuite/std/ranges/cartesian_product/1.cc (test01): - Adjust expected result of the identity case. - -2024-01-15 Patrick Palka <ppalka@redhat.com> - - * include/std/variant (__detail::__variant::_Variadic_union): - Add bool __trivially_destructible template parameter. - (__detail::__variant::_Variadic_union::~_Variadic_union): - Use __trivially_destructible in constraints instead. - (__detail::__variant::_Variant_storage): Pass - __trivially_destructible value to _Variadic_union. - -2024-01-15 Patrick Palka <ppalka@redhat.com> - - * include/bits/stl_iterator.h (const_iterator): Define conversion - operators as per P2836R1. - * include/bits/version.def (ranges_as_const): Update value. - * include/bits/version.h: Regenerate. - * testsuite/24_iterators/const_iterator/1.cc (test04): New test. - * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected - value of __cpp_lib_ranges_as_const. - * testsuite/std/ranges/version_c++23.cc: Likewise. - -2024-01-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108822 - * include/std/tuple (__assignable, __is_nothrow_assignable): - Move pre-C++20 definitions adjacent to their use. - -2024-01-15 Jonathan Wakely <jwakely@redhat.com> - - PR testsuite/113366 - * include/std/format (basic_format_arg): Use __formattable - variable template instead of __format::__formattable_with - concept. - -2024-01-15 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdata.zi: Import new file from 2023d release. - * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) - Update expiry date for leap seconds list. - -2024-01-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108822 - * include/std/tuple (tuple): Add checks for dangling references. - Reimplement constraints and constant expressions using C++20 - features. - * include/std/type_traits [C++20] - (__is_implicitly_default_constructible_v): Define. - (__is_implicitly_default_constructible): Use variable template. - * testsuite/20_util/tuple/dangling_ref.cc: New test. - -2024-01-13 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/108827 - PR libstdc++/111327 - * include/bits/version.def (bind_back): Define. - * include/bits/version.h: Regenerate. - * include/std/functional (_Bind_back): Define for C++23. - (bind_back): Likewise. - * testsuite/20_util/function_objects/bind_back/1.cc: New test - (adapted from corresponding bind_front test). - * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise. - -2024-01-13 Patrick Palka <ppalka@redhat.com> - - * include/std/functional (_Bind_front): Remove =default special - member function declarations. - (_Bind_front::operator()): Implement using C++23 deducing this - when available. - * testsuite/20_util/function_objects/bind_front/111327.cc: - Adjust testcase to expect better errors in C++23 mode. - -2024-01-13 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (views::__adaptor::operator|): Perform - perfect forwarding of arguments. - (views::__adaptor::_RangeAdaptor::operator()): Pass dummy - first argument to _Partial. - (views::__adaptor::_Partial::_Partial): Likewise. Add dummy - first parameter. - (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding - of arguments. - (to): Pass dummy first argument to _Partial. - -2024-01-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107466 - * include/bits/random.tcc (subtract_with_carry_engine::seed): - Implement proposed resolution of LWG 4014. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: - Check for expected result of 64-bit engine with seed that - doesn't fit in 32-bits. - -2024-01-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113320 - * include/std/format (__format::_Runtime_format_string): Add - constructor and disable copy operations. - (basic_format_string(_Runtime_format_string)): Add noexcept and - take parameter by value not rvalue reference. - (runtime_format): Add noexcept. - * testsuite/std/format/runtime_format.cc: Check noexcept. Check - that construction is only possible from prvalues, not xvalues. - -2024-01-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105505 - * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add - default template arguments, as per P1951R1. - * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test. - -2024-01-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__format::_Arg_store): Fix PR number in - comment. Simplify preprocessor code. - -2024-01-11 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/evolution.xml: Fix spelling. - * doc/html/manual/api.html: Regenerate. - -2024-01-11 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/evolution.xml: Document addition of - libstdc++exp.a. - * doc/html/*: Regenerate. - -2024-01-11 Marcus Haehnel <marcus.haehnel@kernkonzept.com> - - * libsupc++/eh_unex_handler.cc: Adjust definition type to - declaration. - -2024-01-11 Michael Levine <mlevine55@bloomberg.net> - - * include/std/ranges (__glibcxx_want_ranges_iota): Remove - duplicate definition. - -2024-01-11 François Dumont <fdumont@gcc.gnu.org> - - PR libstdc++/112477 - * src/c++11/debug.cc - (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null - sequence. - (_Safe_iterator_base::_M_attach_single): Likewise. - (_Safe_local_iterator_base::_M_attach): Likewise. - (_Safe_local_iterator_base::_M_attach_single): Likewise. - * testsuite/23_containers/map/debug/112477.cc: New test case. - -2024-01-11 Patrick Palka <ppalka@redhat.com> - - * include/bits/move.h (__like_t): Define in C++23 mode. - * include/std/ranges (views::__adaptor::Partial::operator()): - Implement using C++23 deducing this when available. - (views::__adaptor::_Pipe::operator()): Likewise. - * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to - accept new "no match for call" errors issued in C++23 mode. - * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. - -2024-01-11 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter): - Add printer for std::integral_constant. - * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it. - -2024-01-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113258 - * libsupc++/new_opa.cc: Prefer to use posix_memalign if - available. - -2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * src/filesystem/ops-common.h (stat_type): Use using. - -2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> - - PR libstdc++/113250 - * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&. - * src/filesystem/ops.cc (fs::equivalent): Likewise. - * testsuite/27_io/filesystem/operations/equivalent.cc: Handle - error codes. - * testsuite/experimental/filesystem/operations/equivalent.cc: - Likewise. - -2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_compound): Do not use __not_. - (is_compound_v): Use is_fundamental_v instead. - -2024-01-11 Patrick Palka <ppalka@redhat.com> - - * include/bits/utility.h (_Nth_type): Use - _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin. - -2024-01-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unicode-data.h: Regenerate. - * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off - by one error. - (__incb_property): Add missing check for values before the - first edge. - (__is_extended_pictographic): Invert return values to fix - copy&pasted logic. - (_Grapheme_cluster_view::_Iterator): Remove second iterator - member and find end of cluster lazily. - * testsuite/ext/unicode/grapheme_view.cc: New test. - * testsuite/ext/unicode/properties.cc: New test. - * testsuite/ext/unicode/view.cc: New test. - -2024-01-09 Andreas Schwab <schwab@linux-m68k.org> - - * scripts/extract_symvers.in: Require final colon to only match - .dsynsym in the header of the dynamic symtab. - -2024-01-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify - handling of string returned from std::format. - (__formatter_chrono::_M_R_T): Likewise. - -2024-01-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unicode.h (__null_sentinel): Remove. - * testsuite/17_intro/names.cc: Add __null_sentinel. - -2024-01-08 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__format::_Runtime_format_string): Define - new class template. - (basic_format_string): Add non-consteval constructor for runtime - format strings. - (runtime_format): Define new function for C++26. - * testsuite/std/format/runtime_format.cc: New test. - -2024-01-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__formatter_chrono): Always use - lvalue arguments to make_format_args. - * include/std/format (make_format_args): Change parameter pack - from forwarding references to lvalue references. Remove use of - remove_reference_t which is now unnecessary. - (format_to, formatted_size): Remove incorrect forwarding of - arguments. - * include/std/ostream (print): Remove forwarding of arguments. - * include/std/print (print): Likewise. - * testsuite/20_util/duration/io.cc: Use lvalues as arguments to - make_format_args. - * testsuite/std/format/arguments/args.cc: Likewise. - * testsuite/std/format/arguments/lwg3810.cc: Likewise. - * testsuite/std/format/functions/format.cc: Likewise. - * testsuite/std/format/functions/vformat_to.cc: Likewise. - * testsuite/std/format/string.cc: Likewise. - * testsuite/std/time/day/io.cc: Likewise. - * testsuite/std/time/month/io.cc: Likewise. - * testsuite/std/time/weekday/io.cc: Likewise. - * testsuite/std/time/year/io.cc: Likewise. - * testsuite/std/time/year_month_day/io.cc: Likewise. - * testsuite/std/format/arguments/args_neg.cc: New test. - -2024-01-08 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add new headers. - * include/Makefile.in: Regenerate. - * include/bits/unicode.h: New file. - * include/bits/unicode-data.h: New file. - * include/std/format: Include <bits/unicode.h>. - (__literal_encoding_is_utf8): Move to <bits/unicode.h>. - (_Spec::_M_fill): Change type to char32_t. - (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value - instead of a single character. - (__write_padded): Change __fill_char parameter to char32_t and - encode it into the output. - (__formatter_str::format): Use new __unicode::__field_width and - __unicode::__truncate functions. - * include/std/ostream: Adjust namespace qualification for - __literal_encoding_is_utf8. - * include/std/print: Likewise. - * src/c++23/print.cc: Add [[unlikely]] attribute to error path. - * testsuite/ext/unicode/view.cc: New test. - * testsuite/std/format/functions/format.cc: Add missing examples - from the standard demonstrating alignment with non-ASCII - characters. Add examples checking correct handling of extended - grapheme clusters. - -2024-01-08 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (format_uchar): Define. - * include/bits/version.h: Regenerate. - * include/std/format (formatter<C, C>::format): Check for - _Pres_c and call _M_format_character directly. Cast C to its - unsigned equivalent for formatting as an integer. - (formatter<char, wchar_t>::format): Likewise. - (basic_format_arg(T&)): Store char arguments as unsigned char - for formatting to a wide string. - * testsuite/std/format/functions/format.cc: Adjust test. Check - formatting of - -2024-01-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112997 - * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first - parameter to void*. - -2024-01-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor. - -2024-01-07 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits (is_trivially_destructible_v): Use - built-in directly when concepts are supported. - * testsuite/20_util/is_trivially_destructible/value_v.cc: New - test. - -2024-01-06 Gwenole Beauchesne <gb.devel@gmail.com> - - * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use - nonnull arguments to strtoimax() and wcstoimax() functions. - -2024-01-05 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum - size and check for overflows in arithmetic. - (path::operator/=(const path&)): Remove redundant exponential - growth calculation. - -2024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com> - - * src/c++17/fs_path.cc (path::_List::reserve): Avoid - floating-point arithmetic. - -2024-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113241 - * include/std/type_traits (is_convertible_v): Guard use of - built-in with preprocessor check. - -2024-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113200 - * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use - __builtin_constant_p to check for unrelated pointers that cannot - be compared during constant evaluation. - * testsuite/21_strings/char_traits/requirements/113200.cc: New - test. - -2024-01-05 Cassio Neri <cassio.neri@gmail.com> - - * include/std/chrono: Fix + and - for months and weekdays. - * testsuite/std/time/month/1.cc: Add constexpr tests against overflow. - * testsuite/std/time/month/2.cc: New test for extreme values. - * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow. - * testsuite/std/time/weekday/2.cc: New test for extreme values. - -2024-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/113099 - * include/bits/locale_classes.tcc (__try_use_facet): Use - if-constexpr for C++11 and up. - -2024-01-05 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT. - -2024-01-04 Arsen Arsenović <arsen@aarsen.me> - - * include/std/generator (_Subyield_state::_M_jump_in): Fix typo - reported by Will Hawkins <hawkinsw@obs.cr>. - -2024-01-04 Arsen Arsenović <arsen@aarsen.me> - - * include/std/generator (_Stateless_alloc): Rename typename _A - to _All. - -2024-01-03 Patrick Palka <ppalka@redhat.com> - - PR testsuite/113175 - * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce - 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly. - (test03): Likewise. - -Copyright (C) 2024 Free Software Foundation, Inc. +Copyright (C) 2025 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-2013 b/libstdc++-v3/ChangeLog-2013 index 72344acefaec..ca908339917e 100644 --- a/libstdc++-v3/ChangeLog-2013 +++ b/libstdc++-v3/ChangeLog-2013 @@ -4590,7 +4590,6 @@ * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo in copyright years. * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise. - Copyright (C) 2013 Free Software Foundation, Inc. diff --git a/libstdc++-v3/ChangeLog-2022 b/libstdc++-v3/ChangeLog-2022 index 77d709a9ce4d..eed635f2b57a 100644 --- a/libstdc++-v3/ChangeLog-2022 +++ b/libstdc++-v3/ChangeLog-2022 @@ -7202,7 +7202,6 @@ * src/c++11/regex.cc (desc): New helper function. (regex_error::regex_error(error_type)): Use desc to get a string corresponding to the error code. - Copyright (C) 2022 Free Software Foundation, Inc. diff --git a/libstdc++-v3/ChangeLog-2023 b/libstdc++-v3/ChangeLog-2023 index f97165b4992c..578525cde183 100644 --- a/libstdc++-v3/ChangeLog-2023 +++ b/libstdc++-v3/ChangeLog-2023 @@ -8345,7 +8345,6 @@ constexpr. * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check std::array<T, 0>::data(). - Copyright (C) 2023 Free Software Foundation, Inc. diff --git a/libstdc++-v3/ChangeLog-2024 b/libstdc++-v3/ChangeLog-2024 new file mode 100644 index 000000000000..422e08358237 --- /dev/null +++ b/libstdc++-v3/ChangeLog-2024 @@ -0,0 +1,7160 @@ +2024-12-29 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/html/manual/profile_mode_diagnostics.html: Delete. + +2024-12-29 Hans-Peter Nilsson <hp@bitrange.com> + + * testsuite/std/time/year_month_day/3.cc (test01): Add ifdeffery to + limit the tested dates. For simulators, pass start and end dates + limiting the tested range to 100000 days, centered on days (0). + * testsuite/std/time/year_month_day/4.cc: Ditto. + +2024-12-28 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/118196 + * testsuite/24_iterators/range_generators/pr118196.cc: Include + <generator> rather than "<generator>". + +2024-12-27 Arsen Arsenović <arsen@aarsen.me> + + PR libstdc++/118196 + * include/std/generator (generator::operator=(generator)): Add + missing 'return *this;'. + * testsuite/24_iterators/range_generators/pr118196.cc: New test. + +2024-12-27 Arsen Arsenović <arsen@aarsen.me> + + PR libstdc++/118022 + * include/std/generator + (_Promise_erased::yield_value(const _Yielded_deref&)): Don't + implicit-constuct _Yielded_decvref. + * testsuite/24_iterators/range_generators/pr118022.cc: New test. + +2024-12-19 François Dumont <frs.dumont@gmail.com> + + PR libstdc++/57272 + * include/bits/stl_tree.h + [_GLIBCXX_USE_ALLOC_PTR_FOR_RB_TREE]: New macro to control usage of the + code required to support fancy allocator pointer type. + (_Rb_tree_node_base::_Const_Base_ptr): Remove. + (_Rb_tree_node_base::_S_minimum, _Rb_tree_node_base::_S_maximum): Remove + overloads for _Const_Base_ptr. + (_Rb_tree_node_base::_M_base_ptr()): New. + (_Rb_tree_node::_Link_type): Remove. + (_Rb_tree_node::_M_node_ptr()): New. + (__rb_tree::_Node_base<>): New. + (__rb_tree::_Header<>): New. + (__rb_tree::_Node<>): New. + (_Rb_tree_increment(const _Rb_tree_node_base*)): Remove declaration. + (_Rb_tree_decrement(const _Rb_tree_node_base*)): Remove declaration. + (_Rb_tree_iterator<>::_Self): Remove. + (_Rb_tree_iterator<>::_Link_type): Rename into... + (_Rb_tree_iterator<>::_Node_ptr): ...this. + (_Rb_tree_const_iterator<>::_Link_type): Rename into... + (_Rb_tree_const_iterator<>::_Node_ptr): ...this. + (_Rb_tree_const_iterator<>::_M_const_cast): Remove. + (_Rb_tree_const_iterator<>::_M_node): Change type into _Base_ptr. + (__rb_tree::_Iterator<>): New. + (__rb_tree::_Node_traits<>): New. + (_Rb_tree<>::_Node_base, _Rb_tree::_Node): New. + (_Rb_tree<>::_Link_type): Rename into... + (_Rb_tree<>::_Node_ptr): ...this. + (_Rb_tree<>::_Const_Base_ptr, _Rb_tree<>::_Const_Node_ptr): Remove. + (_Rb_tree<>::_M_mbegin): Remove. + (_Rb_tree<>::_M_begin_node()): New. + (_S_key(const _Node&)): New. + (_S_key(_Base_ptr)): New, call latter. + (_S_key(_Node_ptr)): Likewise. + (_Rb_tree<>::_S_left(_Const_Base_ptr)): Remove. + (_Rb_tree<>::_S_right(_Const_Base_ptr)): Remove. + (_Rb_tree<>::_S_maximum(_Const_Base_ptr)): Remove. + (_Rb_tree<>::_S_minimum(_Const_Base_ptr)): Remove. + * testsuite/23_containers/map/allocator/ext_ptr.cc: New test case. + * testsuite/23_containers/multimap/allocator/ext_ptr.cc: New test case. + * testsuite/23_containers/multiset/allocator/ext_ptr.cc: New test case. + * testsuite/23_containers/set/allocator/ext_ptr.cc: New test case. + * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr.cc: + New test case. + * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr_ignored.cc: + New test case. + +2024-12-19 Patrick Palka <ppalka@redhat.com> + Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add new header <flat_set>. + * include/Makefile.in: Regenerate. + * include/bits/version.def (__cpp_flat_set): Define. + * include/bits/version.h: Regenerate + * include/precompiled/stdc++.h: Include <flat_set>. + * include/std/flat_set: New file. + * src/c++23/std.cc.in: Export <flat_set>. + * testsuite/23_containers/flat_multiset/1.cc: New test. + * testsuite/23_containers/flat_set/1.cc: New test. + +2024-12-19 Patrick Palka <ppalka@redhat.com> + Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add new header <flat_map>. + * include/Makefile.in: Regenerate. + * include/bits/alloc_traits.h (__not_allocator_like): New concept. + * include/bits/stl_function.h (__transparent_comparator): Likewise. + * include/bits/stl_iterator_base_types.h (__has_input_iter_cat): + Likewise. + * include/bits/uses_allocator.h (__allocator_for): Likewise. + * include/bits/utility.h (sorted_unique_t): Define for C++23. + (sorted_unique): Likewise. + (sorted_equivalent_t): Likewise. + (sorted_equivalent): Likewise. + * include/bits/version.def (flat_map): Define. + * include/bits/version.h: Regenerate. + * include/precompiled/stdc++.h: Include <flat_map>. + * include/std/flat_map: New file. + * src/c++23/std.cc.in: Export <flat_map>. + * testsuite/23_containers/flat_map/1.cc: New test. + * testsuite/23_containers/flat_multimap/1.cc: New test. + +2024-12-19 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_base.h (__detail::__range_key_type): + Define as per P1206R7. + (__detail::__range_mapped_type): Likewise. + +2024-12-18 François Dumont <frs.dumont@gmail.com> + + * include/bits/move.h (std::addressof): Call __builtin_addressof. + +2024-12-18 Tamar Christina <tamar.christina@arm.com> + + * include/bits/hashtable.h + (_M_find_before_node): Make it likely that the map has at least one + entry and so we do at least one iteration. + +2024-12-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/118088 + * include/bits/stl_queue.h (priority_queue(priority_queue&&)): + Clear the source object after moving from it. + (priority_queue(priority_queue&&, const Alloc&)): Likewise. + (operator=(priority_queue&&)): Likewise. + * testsuite/23_containers/priority_queue/118088.cc: New test. + +2024-12-18 Tamar Christina <tamar.christina@arm.com> + + * include/bits/hashtable.h: Inline _M_locate. + +2024-12-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (__to_wstring_numeric): Add 'i' + and 'I' to mapping. + +2024-12-18 Luca Bacci <luca.bacci982@gmail.com> + + PR libstdc++/98723 + * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply): + Only use transform_primary when an equivalence set is used. + +2024-12-17 Jonathan Wakely <jwakely@redhat.com> + + * include/debug/safe_local_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS): + Add parentheses to avoid -Wparentheses warning. + +2024-12-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/118035 + * include/bits/deque.tcc (_M_range_insert_aux): Return + immediately if inserting an empty range. + * testsuite/23_containers/deque/modifiers/insert/118035.cc: New + test. + +2024-12-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable_policy.h (_Local_iterator_base): Use + default member-initializers. + +2024-12-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable_policy.h: Replace typedefs with + alias-declarations. Remove redundant std:: qualification. + (_Mod_range_hashing, _Mask_range_hashing): Remove adaptable + function object typedefs. + +2024-12-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable_policy.h (_Hash_code_storage): Remove. + (_Hash_obj_storage): New class template. Store the hash + function as a union member instead of using a byte buffer. + (_Local_iterator_base): Use _Hash_obj_storage instead of + _Hash_code_storage, adjust members that construct and destroy + the hash object. + (_Local_iterator_base::_M_incr): Calculate bucket index. + +2024-12-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable::swap): Swap hash + function and equality predicate here. Inline allocator swap + instead of using __alloc_on_swap. + * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): + Replace EBO with no_unique_address attribute. Remove NTTP. + (_Hash_code_base): Replace base class with data member using + no_unique_address attribute. + (_Hash_code_base::_M_swap): Remove. + (_Hash_code_base::_M_hash): Remove. + (_Hashtable_base): Replace base class with data member using + no_unique_address attribute. + (_Hashtable_base::_M_swap): Remove. + (_Hashtable_alloc): Replace base class with data member using + no_unique_address attribute. + +2024-12-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/57272 + * include/bits/forward_list.h (__fwd_list::_Node): Add + user-provided special member functions to union. + * include/bits/stl_list.h (__list::_Node): Likewise. + (_Node_base::_M_hook, _Node_base::swap): Use _M_base() instead + of std::pointer_traits::pointer_to. + (_Node_base::_M_transfer): Likewise. Add noexcept. + (_List_base::_M_put_node): Use 'if constexpr' to avoid using + pointer_traits::pointer_to when not necessary. + (_List_base::_M_destroy_node): Fix parameter to be the pointer + type used internally, not the allocator's pointer. + (list::_M_create_node): Likewise. + * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc: + Check explicit instantiation of non-trivial value type. + * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc: + Likewise. + * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: + Fix macro name. + * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: + Likewise. + +2024-12-14 Abdo Eid <abdoeid.eg@ieee.org> + + * include/c_compatibility/wchar.h (fgetwc): Remove duplicate + using-declaration. + +2024-12-13 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/112349 + * include/bits/ranges_algo.h (__min_fn::operator()): Turn local + object __tmp into a reference. + * include/bits/ranges_util.h (__max_fn::operator()): Likewise. + * testsuite/25_algorithms/max/constrained.cc (test04): New test. + * testsuite/25_algorithms/min/constrained.cc (test04): New test. + +2024-12-13 Jonathan Wakely <jwakely@redhat.com> + + * include/std/spanstream (basic_spanbuf::seekoff): Return an + error for invalid seekdir values. + +2024-12-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_cmp.h (not_equal_to): Make order of + expressions in noexcept-specifier match the body. + * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: + Check noexcept. + +2024-12-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/regex.tcc: Fix -Wsign-compare warning. + +2024-12-13 Jonathan Wakely <jwakely@redhat.com> + + * include/pstl/parallel_backend_tbb.h (__merge_func): Fix order + of mem-initializers. + +2024-12-13 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/random/random_device/entropy.cc: Fix + indentation to avoid -Wmisleading-indentation warning. + +2024-12-12 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/unordered_map/modifiers/reserve.cc: + Cast to size_t to fix -Wsign-compare warning. + * testsuite/23_containers/unordered_set/hash_policy/71181.cc: + Likewise. + * testsuite/23_containers/unordered_set/insert/move_range.cc: + Likewise. + +2024-12-12 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable_policy.h (_Local_iterator_base): Fix + -Wsign-compare warnings. + +2024-12-12 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_dir.cc: Fix typo in comment. + +2024-12-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109517 + PR libstdc++/109976 + * include/debug/helper_functions.h (__valid_range_aux): Treat + all input iterator ranges as valid during constant evaluation. + +2024-12-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106212 + * include/std/array (operator==): Use std::__equal_aux1 instead + of std::equal. + * testsuite/23_containers/array/comparison_operators/106212.cc: + New test. + +2024-12-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117966 + * include/std/span (span(T (&)[N])): Do not delegate to + constructor that performs redundant checks. + (span(array<T, N>&), span(const array<T, N>&)): Likewise. + (span(Range&&), span(const span<T, N>&)): Likewise. + * testsuite/23_containers/span/117966.cc: New test. + +2024-12-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/generator (_Promise_alloc): Rename template + parameter. Use __alloc_rebind to rebind allocator. + (_Promise_alloc::operator new): Replace constraints with a + static_assert in the body. Rename allocator parameter. + (_Promise_alloc<void>::_M_allocate): Rename allocator parameter. + Use __alloc_rebind to rebind allocator. + (_Promise_alloc<void>::operator new): Rename allocator + parameter. + * testsuite/24_iterators/range_generators/alloc.cc: New test. + * testsuite/24_iterators/range_generators/lwg3900.cc: New test. + +2024-12-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ostream (println): Pass stream's locale to + std::format, as per LWG 4088. + * testsuite/27_io/basic_ostream/print/1.cc: Check std::println + with custom locale. Remove unused brit_punc class. + +2024-12-10 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/memory_resource.h (polymoprhic_allocator): Use + feature test macro for P0339R6 features. + +2024-12-10 Marek Polacek <polacek@redhat.com> + + PR c++/117788 + * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: Add a + FIXME, adjust. + +2024-12-10 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_uninitialized.h (__is_bitwise_relocatable): + Revert to depending on is_trivial. + +2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/std/type_traits: Deprecate is_trivial and + is_trivial_v. + * include/experimental/type_traits: Suppress the deprecation + warning. + * testsuite/20_util/is_trivial/requirements/explicit_instantiation.cc: + Amend the test to suppress the deprecation warning. + * testsuite/20_util/is_trivial/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_trivial/value.cc: Likewise. + * testsuite/20_util/variable_templates_for_traits.cc: Likewise. + * testsuite/experimental/type_traits/value.cc: Likewise. + * testsuite/18_support/max_align_t/requirements/2.cc: Update the + test with P3247R2's new wording. + +2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * testsuite/20_util/specialized_algorithms/uninitialized_copy/102064.cc: + Port away from is_trivial. + * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/102064.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill/102064.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/102064.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: + Likewise. + * testsuite/23_containers/vector/cons/94540.cc: Likewise. + * testsuite/25_algorithms/copy/move_iterators/69478.cc: + Likewise. + * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: + Likewise. + * testsuite/25_algorithms/move/69478.cc: Likewise. + * testsuite/25_algorithms/move_backward/69478.cc: Likewise. + * testsuite/25_algorithms/rotate/constrained.cc: Likewise. + * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. + +2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/bits/ranges_uninitialized.h: port some if + constexpr away from is_trivial, and towards more specific + detections instead. + +2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/bits/stl_uninitialized.h: Amended the + __is_bitwise_relocatable type trait. + +2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/pstl/algorithm_impl.h (__remove_elements): Port away + from is_trivial. + (__pattern_inplace_merge): Likewise. + * include/pstl/glue_memory_impl.h (uninitialized_copy): Likewise. + (uninitialized_copy_n): Likewise. + (uninitialized_move): Likewise. + (uninitialized_move_n): Likewise. + (uninitialized_default_construct): Likewise. + (uninitialized_default_construct_n): Likewise. + (uninitialized_value_construct): Likewise. + (uninitialized_value_construct_n): 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_modifying_operations/partition.cc: + Likewise. + +2024-12-10 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/bits/basic_string.h: Add a static_assert on the + char-like type. + * include/std/string_view: Port away from is_trivial. + +2024-12-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/102259 + * config/io/basic_file_stdio.cc (basic_file::xsgetn): Limit n to + _GLIBCXX_MAX_READ_SIZE if that macro is defined. + * config/os/bsd/darwin/os_defines.h (_GLIBCXX_MAX_READ_SIZE): + Define to INT_MAX-1. + * config/os/bsd/freebsd/os_defines.h (_GLIBCXX_MAX_READ_SIZE): + Likewise. + +2024-12-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/allocator.h (allocator::is_always_equal): Do not + define for C++26. + (allocator<void>::is_always_equal): Likewise. + * testsuite/20_util/allocator/requirements/typedefs.cc: Check + that is_always_equal is not present in C++26. + * testsuite/20_util/allocator/void.cc: Do not require + is_always_equal for C++26. + * testsuite/23_containers/vector/bool/cons/constexpr.cc: Add + missing override of base's is_always_equal. + * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. + +2024-12-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117962 + * include/debug/safe_container.h: Make allocator-extended move + constructor a no-op during constant evaluation. + +2024-12-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117921 + * testsuite/23_containers/set/modifiers/swap/adl.cc: Add + equality comparison for Allocator. + * testsuite/23_containers/unordered_set/modifiers/swap-2.cc: + Likewise. + +2024-12-07 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format: Fix typo in Doxygen comment. + +2024-12-07 Matthew Malcomson <mmalcomson@nvidia.com> + + * .editorconfig: Adjust globbing style to standard syntax. + +2024-12-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117921 + * include/bits/hashtable_policy.h (_Hash_code_base::_M_swap): + Use ADL swap for Hash members. + (_Hashtable_base::_M_swap): Use ADL swap for _Equal members. + * include/bits/stl_tree.h (_Rb_tree::swap): Use ADL swap for + _Compare members. + * testsuite/23_containers/set/modifiers/swap/adl.cc: New test. + * testsuite/23_containers/unordered_set/modifiers/swap-2.cc: New + test. + +2024-12-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108236 + * include/pstl/glue_numeric_impl.h (exclusive_scan): Pass __init + as rvalue. + * include/pstl/numeric_impl.h (__brick_transform_scan): Do not + write through __result until after reading through __first. Move + __init into return value. + (__pattern_transform_scan): Pass __init as rvalue. + * include/std/numeric (exclusive_scan): Move construct instead + of copy constructing. + * testsuite/26_numerics/exclusive_scan/2.cc: New test. + * testsuite/26_numerics/pstl/numeric_ops/108236.cc: New test. + +2024-12-03 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h (__do_alloc_on_copy): Remove. + (__do_alloc_on_move __do_alloc_on_swap): Remove. + (__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if + constexpr. + +2024-12-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/57272 + * include/bits/forward_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST): + Define. + (_Fwd_list_node_base::_M_base_ptr): New member functions. + (_Fwd_list_node::_M_node_ptr): New member function. + (_Fwd_list_iterator, _Fwd_list_const_iterator): Make internal + member functions and data member private. Declare forward_list + and _Fwd_list_base as friends. + (__fwdlist::_Node_base, __fwdlist::_Node, __fwdlist::_Iterator): + New class templates. + (__fwdlist::_Node_traits): New class template. + (_Fwd_list_base): Use _Node_traits to get types. Use _Base_ptr + instad of _Fwd_list_node_base*. Use _M_base_ptr() instead of + taking address of head node. + (forward_list): Likewise. + (_Fwd_list_base::_M_get_node): Do not define for versioned + namespace. + (_Fwd_list_base::_M_put_node): Only convert pointer if needed. + (_Fwd_list_base::_M_create_node): Use __allocate_guarded_obj. + (_Fwd_list_base::_M_destroy_node): New member function. + * include/bits/forward_list.tcc (_Fwd_list_base::_M_insert_after) + (forward_list::_M_splice_after, forward_list::insert_after): Use + const_iterator::_M_const_cast() instead of casting pointers. + (_Fwd_list_base::_M_erase_after): Use _M_destroy_node. + (forward_list::remove, forward_list::remove_if): Only do + downcasts when accessing the value. + (forward_list::sort): Likewise. + * testsuite/23_containers/forward_list/capacity/1.cc: Check + max_size for new node type. + * testsuite/23_containers/forward_list/capacity/node_sizes.cc: + New test. + * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr.cc: + New test. + * testsuite/23_containers/forward_list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: + New test. + * testsuite/23_containers/forward_list/requirements/completeness.cc: New file. + +2024-12-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/57272 + PR libstdc++/110952 + * include/bits/allocated_ptr.h (__allocated_ptr::get): Add + const. + (__allocated_ptr::operator bool, __allocated_ptr::release): New + member functions. + (__allocate_guarded): Add inline. + (__allocated_obj): New class template. + (__allocate_guarded_obj): New function template. + * include/bits/list.tcc (_List_base::_M_clear()): Replace uses + of raw pointers. Use _M_destroy_node. + (list::emplace, list::insert): Likewise. + (list::sort): Adjust check for 0 or 1 wsize. Use template + argument list for _Scratch_list. + * include/bits/stl_list.h (_GLIBCXX_USE_ALLOC_PTR_FOR_LIST): + Define. + (_List_node_base::_Base_ptr): New typedef. + (_List_node_base::_M_base): New member functions. + (_List_node_header::_M_base): Make public and add + using-declaration for base class overload. + (__list::_Node_traits, __list::_Node_base) + (__list::_Node_header, __list::_Node, __list::_Iterator): New + class templates. + (_Scratch_list): Turn class into class template. Use _Base_ptr + typedef instead of _List_node_base*. + (_List_node::_Node_ptr): New typedef. + (_List_node::_M_node_ptr): New member function. + (_List_base, _List_impl): Use _Node_traits to get node types. + (_List_base::_M_put_node): Convert to fancy pointer if needed. + (_List_base::_M_destroy_node): New member function. + (_List_base(_List_base&&, _Node_alloc_type&&)): Use if constexpr + to make function a no-op for fancy pointers. + (_List_base::_S_distance, _List_base::_M_distance) + (_List_base::_M_node_count): Likewise. + (list): Use _Node_traits to get iterator, node and pointer + types. + (list::_M_create_node): Use _Node_ptr typedef instead of _Node*. + Use __allocate_guarded_obj instead of _M_get_node. + (list::end, list::cend, list::empty): Use node header's + _M_base() function instead of taking its address. + (list::swap): Use _Node_traits to get node base type. + (list::_M_create_node, list::_M_insert): Use _Node_ptr instead + of _Node*. + (list::_M_erase): Likewise. Use _M_destroy_node. + (__distance): Overload for __list::_Iterator. + (_Node_base::swap, _Node_base::_M_transfer): Define non-inline + member functions of class templates. + (_Node_header::_M_reverse): Likewise. + * testsuite/23_containers/list/capacity/29134.cc: Check max_size + for allocator of new node type. + * testsuite/23_containers/list/capacity/node_sizes.cc: New test. + * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr.cc: + New test. + * testsuite/23_containers/list/requirements/explicit_instantiation/alloc_ptr_ignored.cc: + New test. + * testsuite/23_containers/list/requirements/completeness.cc: New file. + +2024-12-03 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_list.h (_List_iterator): Remove _Self typedef + and just use injected-class-name instead. + (_List_const_iterator): Likewise. + +2024-12-03 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_list.h (_List_size): New struct. + (_List_node_header): Replace _M_size member with _List_size base + class. + (_List_node_header(_List_node_header&&)): Replace explicit uses + of _M_size with initializing the base. + (_List_node_header::_M_init): Likewise. + (_List_base::_S_distance, _List_base::_M_distance) + (_List_base::_M_node_count): Move to end of class body and add + comment. + (list::_S_distance, list::_M_node_count): Likewise. + (list::size): Inline _M_node_count effects to here. + (list::splice(iterator, list&, iterator, iterator)): Use #if and + call std::distance instead of _S_distance. + +2024-12-03 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_bvector.h (vector(const allocator_type&)): + Add noexcept, as per LWG 3778. + * testsuite/23_containers/vector/bool/cons/lwg3778.cc: New test. + +2024-12-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117889 + PR libstdc++/117858 + * include/std/optional (optional(const optional<U>&)): Fix copy + and paste error in constraints. + (optional(optional<U>&&)): Likewise. + * testsuite/20_util/optional/assignment/117858.cc: Move to ... + * testsuite/20_util/optional/cons/117858.cc: New test. + +2024-12-02 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_construct.h (_Destroy(FwdIter, FwdIter)): Use + 'if constexpr' instead of dispatching to a member function of a + class template. + (_Destroy_n(FwdIter, Size)): Likewise. + (_Destroy_aux, _Destroy_n_aux): Only define for C++98. + +2024-12-02 Jonathan Wakely <jwakely@redhat.com> + + * src/c++23/std.cc.in: Disable deprecated warnings when + exporting std::rel_ops members. + +2024-11-30 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117858 + * testsuite/20_util/optional/assignment/117858.cc: Also test + assignment from rvalue optional. + +2024-11-30 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117858 + * include/std/optional (operator=(const optional<U>&)): Fix copy + and paste error in constraints. + (operator=(optional<U>&&)): Likewise. + * testsuite/20_util/optional/assignment/117858.cc: New test. + +2024-11-30 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add bits/monostate.h. + * include/Makefile.in: Regenerate. + * include/std/utility: Include <bits/monostate.h>. + * include/std/variant (monostate, hash<monostate>): Move + definitions to ... + * include/bits/monostate.h: New file. + * testsuite/20_util/headers/utility/synopsis.cc: Add monostate + and hash<monostate> declarations. + * testsuite/20_util/monostate/requirements.cc: New test. + +2024-11-30 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/headers/utility/synopsis.cc: Add + declarations from C++11 and later. + +2024-11-30 Jakub Jelinek <jakub@redhat.com> + + * include/std/functional (_Bind_check_arity): Add , before ... . + * include/bits/refwrap.h (_Mem_fn_traits, _Weak_result_type_impl): + Likewise. + * include/tr1/type_traits (is_function): Likewise. + +2024-11-28 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::_M_impl::_M_resize): + Use std::_Destroy to destroy removed elements. + +2024-11-28 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py: Reorder registrations. + +2024-11-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117822 + * include/std/stacktrace (stacktrace(stacktrace&&, const A&)): + Fix typo in qualified-id for is_always_equal trait. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Test + allocator-extended constructors and allocator propagation. + +2024-11-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_relops.h (rel_ops): Add deprecated attribute. + * testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc: + Add dg-warning for -Wdeprecated warnings. + * testsuite/20_util/rel_ops.cc: Likewise. + * testsuite/util/testsuite_containers.h: Disable -Wdeprecated + warnings when using rel_ops. + +2024-11-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_list.h: Reduce duplication in doxygen + comments. + +2024-11-28 Marek Polacek <polacek@redhat.com> + + PR c++/113798 + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust + dg-prune-output. + +2024-11-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117210 + * config/os/bsd/dragonfly/os_defines.h: Include <sys/cdefs.h>. + * config/os/bsd/freebsd/os_defines.h: Likewise. + +2024-11-27 Jan Hubicka <hubicka@ucw.cz> + + * include/bits/basic_string.h (basic_string::size(), + basic_string::length(), basic_string::capacity()): Add + __builtin_unreachable to declare value ranges. + (basic_string::empty()): Implement directly + (basic_string::max_size()): Account correctly the terminating 0 + and limits implied by ptrdiff_t. + +2024-11-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/c++config (__glibcxx_assert): Remove useless + __builtin_expect from constexpr-only assertion. Improve + comments. + +2024-11-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117650 + * include/bits/c++config (__glibcxx_assert_fail): Add cold + attribute. + * include/debug/formatter.h (_Error_formatter::_M_error): + Likewise. + +2024-11-27 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (views::__adaptor::_RangeAdaptorClosure): + Befriend both operator| overloads. + * src/c++23/std.cc.in: Don't export views::__adaptor::operator|. + +2024-11-27 Jason Merrill <jason@redhat.com> + + * src/c++23/std.cc.in: Fix iter_move/swap. Add fold_left_first, to, + concat, and some operators. + +2024-11-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/forward_list.h (forward_list::front): Add + non-empty assertions. + * include/bits/stl_list.h (list::front, list::back): Add + non-empty assertions. + +2024-11-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/forward_list.h (operator=(forward_list&&)): Use + if constexpr instead of dispatching to _M_move_assign. + (assign(InputIterator, InputIterator)): Use if constexpr instead + of dispatching to _M_assign. + (assign(size_type, const T&)): Use if constexpr instead of + dispatching to _M_assign_n. + (_M_move_assign, _M_assign_n): Do not define for versioned + namespace. + (_M_assign): Remove. + +2024-11-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_list.h (operator=(list&&)): Use if constexpr + instead of dispatching to _M_move_assign. + (_M_move_assign): Do not define for versioned namespace. + +2024-11-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105857 + * config/locale/dragonfly/codecvt_members.cc (do_length): Limit + size of alloca buffer to 4k. + * config/locale/gnu/codecvt_members.cc (do_length): Likewise. + * testsuite/22_locale/codecvt/length/wchar_t/105857.cc: New + test. + +2024-11-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117751 + * testsuite/18_support/50594.cc: Edit dg-options to include the + -fno-assume-sane-operators-new-delete option. + +2024-11-26 Jan Hubicka <hubicka@ucw.cz> + + * include/bits/deque.tcc (std::deque::_M_reallocate_map): Add + __builtin_unreachable check to declare that maps are not very large. + * include/bits/stl_deque.h (std::deque::size): Add __builtin_unreachable + to check for maximal size of map. + +2024-11-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/range_access.h (begin, end, ssize): Add + conditional noexcept. + * testsuite/18_support/initializer_list/range_access.cc: Check + results and noexcept-specifier for std::begin and std::end. + * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: + Check for conditional noexcept on std::begin and std::end. + * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: + Likewise. + * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: + Likewise. + * testsuite/24_iterators/range_access/range_access.cc: Check + conditional noexcept is correct. + * testsuite/24_iterators/range_access/range_access_cpp17.cc: + Check std::size, std::empty and std::data. + * testsuite/24_iterators/range_access/range_access_cpp20.cc: + Check conditional noexcept on std::ssize. + +2024-11-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/forward_list.h: Use Markdown in Doxygen comments. + +2024-11-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117630 + * src/c++11/Makefile.am: Add new file. + * src/c++11/Makefile.in: Regnerate. + * src/c++11/cow-stdexcept.cc (error_category::_M_message): Move + member function definition to ... + * src/c++11/cow-system_error.cc: New file. + +2024-11-20 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_set.h (set::find): Use const_iterator in + return type, not iterator. + +2024-11-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117686 + * include/bits/hashtable.h (_Hashtable::_M_emplace_uniq): + Adjust usage of __is_key_type to avoid false positive. + * testsuite/23_containers/unordered_set/insert/117686.cc: + New test. + +2024-11-19 Jason Merrill <jason@redhat.com> + + * src/c++23/libstdc++.modules.json.in: Remove C++ comment. + +2024-11-18 David Malcolm <dmalcolm@redhat.com> + + * testsuite/lib/libstdc++.exp: Add + "load_gcc_lib dg-test-cleanup.exp". + +2024-11-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable::_M_src_hash_code): + Improve comments. + (_Hashtable::_M_merge_unique(_Hashtable&)): Use pointer_traits + to get before-begin pointer. Only use static_cast on valid + nodes, not the before-begin pointer. Reuse a hash code cached in + the node when possible. + (_Hashtable::_M_merge_multi(_Hashtable&)): Likewise. + +2024-11-18 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/allocator.xml: Update reference to Angelika + Langer's article. + * doc/html/manual/memory.html: Regenerate. + +2024-11-17 Jason Merrill <jason@redhat.com> + + PR libstdc++/106852 + * include/bits/version.def: Add __cpp_lib_modules. + * include/bits/version.h: Regenerate. + * src/c++23/Makefile.am: Add modules std and std.compat. + * src/c++23/Makefile.in: Regenerate. + * src/c++23/std-clib.cc.in: New file. + * src/c++23/std.cc.in: New file. + * src/c++23/std.compat.cc.in: New file. + * src/c++23/libstdc++.modules.json.in: New file. + +2024-11-17 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/intro.xml: Move a gcc.gnu.org link to https. + * doc/html/manual/license.html: Regenerate. + +2024-11-17 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/io.xml: Update link to Angelika Langer's book. + * doc/html/manual/streambufs.html: Regenerate. + +2024-11-17 Jan Hubicka <hubicka@ucw.cz> + + PR tree-optimization/109442 + * include/bits/stl_vector.h: (vector::size(), + vector::capacity()): Add __builtin_unreachable call to announce + that size and capacity are non-negative. + +2024-11-16 Jonathan Wakely <jwakely@redhat.com> + + * Makefile.am: Use $(MAKE) -C dir instead of cd dir && $(MAKE). + * Makefile.in: Regenerate. + +2024-11-15 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_list.h (list::emplace_back): Fix indentation. + +2024-11-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_algo.h (__is_permutation_fn::operator()): + Short-circuit for sized ranges with different sizes, as per LWG + 3560. + * include/bits/ranges_algobase.h (__equal_fn::operator()): + Likewise. + * include/bits/stl_algo.h (__is_permutation): Use if-constexpr + for random access iterator branches. + * include/bits/stl_algobase.h (__equal4): Likewise. + * testsuite/25_algorithms/equal/lwg3560.cc: New test. + * testsuite/25_algorithms/is_permutation/lwg3560.cc: New test. + +2024-11-14 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (keys_view): Adjust as per LWG 3563. + (values_view): Likewise. + * testsuite/std/ranges/adaptors/elements.cc (test08): New test. + +2024-11-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_util.h (subrange::begin): Fix constraint, + as per LWG 3589. + * testsuite/std/ranges/subrange/lwg3589.cc: New test. + +2024-11-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/c++config (_GLIBCXX_NODISCARD): Expand for C++11 + and C++14. + * testsuite/22_locale/locale/cons/12438.cc: Adjust dg-warning to + expect nodiscard warnings for C++11 and C++14 as well. + * testsuite/22_locale/locale/operations/2.cc: Likewise. + * testsuite/25_algorithms/equal/debug/1_neg.cc: Likewise. + * testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise. + * testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise. + * testsuite/25_algorithms/find_first_of/concept_check_1.cc: + Likewise. + * testsuite/25_algorithms/is_permutation/2.cc: Likewise. + * testsuite/25_algorithms/lexicographical_compare/71545.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/33613.cc: Likewise. + * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: Likewise. + * testsuite/25_algorithms/minmax/3.cc: Likewise. + * testsuite/25_algorithms/search/78346.cc: Likewise. + * testsuite/25_algorithms/search_n/58358.cc: Likewise. + * testsuite/25_algorithms/unique/1.cc: Likewise. + * testsuite/25_algorithms/unique/11480.cc: Likewise. + * testsuite/25_algorithms/upper_bound/33613.cc: Likewise. + * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: + Likewise. + * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: Likewise. + * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: + Likewise. + * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: + Likewise. + * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: + Likewise. + * testsuite/ext/concept_checks.cc: Likewise. + * testsuite/ext/is_heap/47709.cc: Likewise. + * testsuite/ext/is_sorted/cxx0x.cc: Likewise. + +2024-11-14 Jason Merrill <jason@redhat.com> + + * include/precompiled/stdc++.h: <coroutine> is C++20. + +2024-11-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (operator+): Add constraint to + move_iterator operator. + * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: + +2024-11-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (__normal_iterator): Replace + enable_if constraint with requires-clause. + +2024-11-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h: Make use of feature test macros + more consistent. Improve doxygen comments. + +2024-11-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117560 + * include/bits/fs_dir.h (enable_borrowed_range, enable_view): + Define specializations for directory iterators, as per LWG 3480. + * testsuite/27_io/filesystem/iterators/lwg3480.cc: New test. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/evolution.xml: Document removal of nested types + from std::hash specializations. + * doc/html/manual/api.html: Regenerate. + * include/bits/functional_hash.h (__hash_base): Remove + deprecated nested types for C++20. + (__hash_empty_base): Define new class template. + (__is_hash_enabled_for): Define new variable template. + (__poison_hash): Remove. + (__hash_not_enabled): Define new class template. + (__hash_enum): Remove partial specialization for non-enums. + (hash): Derive from __hash_not_enabled for non-enums, instead of + __hash_enum. + * include/bits/unique_ptr.h (__uniq_ptr_hash): Derive from + __hash_base. Conditionally derive from __hash_empty_base. + (__uniq_ptr_hash<>): Remove disabled specialization. + (hash): Do not derive from __hash_base unconditionally. + Conditionally derive from either __uniq_ptr_hash or + __hash_not_enabled. + * include/std/optional (__optional_hash_call_base): Remove. + (__optional_hash): Define new class template. + (hash): Derive from either + (hash): Conditionally derive from either __optional_hash or + __hash_not_enabled. Remove nested typedefs. + * include/std/variant (_Base_dedup): Replace __poison_hash with + __hash_empty_base. + (__variant_hash_call_base_impl): Remove. + (__variant_hash): Define new class template. + (hash): Conditionally derive from either __variant_hash or + __hash_not_enabled. Remove nested typedefs. + * testsuite/20_util/optional/hash.cc: Check whether nested types + are present. + * testsuite/20_util/variant/hash.cc: Likewise. + * testsuite/20_util/optional/hash_abi.cc: New test. + * testsuite/20_util/unique_ptr/hash/abi.cc: New test. + * testsuite/20_util/unique_ptr/hash/types.cc: New test. + * testsuite/20_util/variant/hash_abi.cc: New test. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (__location_type): New struct. + (_M_locate): New member function. + (_M_find_before_node(const key_type&)): Remove. + (_M_find_node): Move variable initialization into condition. + (_M_find_node_tr): Likewise. + (operator=(initializer_list<T>), try_emplace, _M_reinsert_node) + (_M_merge_unique, find, erase(const key_type&)): Use _M_locate + for lookup. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_M_merge_unique): Add overload for + merging from same type. + (_M_merge_unique<Compatible>): Simplify size tracking. Add + comment. + (_M_merge_multi): Add overload for merging from same type. + (_M_merge_multi<Compatible>): Add comment. + * include/bits/unordered_map.h (unordered_map::merge): Check for + self-merge in the lvalue overload. Call _M_merge_unique directly + for the rvalue overload. + (unordered_multimap::merge): Likewise. + * include/bits/unordered_set.h (unordered_set::merge): Likewise. + (unordered_multiset::merge): Likewise. + * testsuite/23_containers/unordered_map/modifiers/merge.cc: + Add more tests. + * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: + Likewise. + * testsuite/23_containers/unordered_set/modifiers/merge.cc: + Likewise. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable_policy.h (_Hashtable_base::_S_equals): + Remove. + (_Hashtable_base::_S_node_equals): Remove. + (_Hashtable_base::_M_key_equals_tr): Fix inaccurate + static_assert string. + (_Hashtable_base::_M_equals, _Hashtable_base::_M_equals_tr): Use + 'if constexpr' instead of _S_equals. + (_Hashtable_base::_M_node_equals): Use 'if constexpr' instead of + _S_node_equals. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable): Remove _Equality base + class. + (_Hashtable::_M_equal): Define equality comparison here instead + of in _Equality::_M_equal. + * include/bits/hashtable_policy.h (_Equality): Remove. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable): Remove inheritance from + __detail::_Insert and move its members into _Hashtable. + * include/bits/hashtable_policy.h (__detail::_Insert): Remove. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (operator=(const _Hashtable&)): Use + RAII instead of try-catch. + (_M_assign(_Ht&&, _NodeGenerator&)): Likewise. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable::__fwd_value_for): + Remove. + (_Hashtable::_M_assign): Use static_cast instead of + __fwd_value_for. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable): Remove typedefs for + node generators. + (_Hashtable::_M_assign(_Ht&&)): Add new overload. + (_Hashtable::operator=(initializer_list<value_type>)): Add local + typedef for node generator. + (_Hashtable::_M_assign_elements): Likewise. + (_Hashtable::operator=(const _Hashtable&)): Use new _M_assign + overload. + (_Hashtable(const _Hashtable&)): Likewise. + (_Hashtable(const _Hashtable&, const allocator_type&)): + Likewise. + (_Hashtable(_Hashtable&&, __node_alloc_type&&, false_type)): + Likewise. + * include/bits/hashtable_policy.h (_Insert): Remove typedef for + node generator. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable::_M_erase): Remove + overloads for erasing by key, moving logic to ... + (_Hashtable::erase): ... here. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115285 + * include/bits/hashtable.h (_Hashtable::_M_emplace): Replace + with _M_emplace_uniq and _M_emplace_multi. + (_Hashtable::_S_forward_key, _Hashtable::_M_insert_unique) + (_Hashtable::_M_insert_unique_aux, _Hashtable::_M_insert): + Remove. + * include/bits/hashtable_policy.h (_ConvertToValueType): + Remove. + (_Insert_base::_M_insert_range): Remove overload for unique keys + and rename overload for non-unique keys to ... + (_Insert_base::_M_insert_range_multi): ... this. + (_Insert_base::insert): Call _M_emplace_uniq or _M_emplace_multi + instead of _M_insert. Add insert overloads from _Insert. + (_Insert_base): Rename to _Insert. + (_Insert): Remove + * testsuite/23_containers/unordered_map/96088.cc: Adjust + expected number of allocations. + * testsuite/23_containers/unordered_set/96088.cc: Likewise. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable_policy.h (_ReuseOrAllocNode::operator()): + Replace parameter pack with a single parameter. Assign to + existing value when possible. + * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc: + Adjust expected count of operations. + * testsuite/23_containers/unordered_set/allocator/move_assign.cc: + Likewise. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (operator=(initializer_list)): + Refactor to not use _M_insert_range. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_performance.h (time_counter): Add + comment about times. + (time_counter::system_time): Use correct split value. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * scripts/check_performance: Add timestamp to output file at + start of run. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_performance.h: Use + __gnu_cxx::__is_single_threaded instead of __gthread_active_p(). + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/performance/ext/pb_ds/hash_int_erase_mem.cc: Replace + std::unary_function with result_type and argument_type typedefs. + * testsuite/util/performance/assoc/multimap_common_type.hpp: + Likewise. + +2024-11-13 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/performance/20_util/memory_resource/pools.cc: Fix + -Wunused-value warnings about unnamed std::lock_guard objects. + +2024-11-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): + Adjust strings passed to exception constructors. + +2024-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117520 + * include/std/text_encoding (aliases_view:_Iterator::operator+=): + Fix typos that caused == to be used instead of =. + (aliases_view::_Iterator): Fix friend declaration. + * testsuite/std/text_encoding/members.cc: Adjust expected + behaviour of invalid subscript. Add tests for other erroneous + operations on iterators. + +2024-11-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unicode.h (_Utf_iterator::_M_read_utf16): Add + parentheses. + +2024-11-08 Jakub Jelinek <jakub@redhat.com> + + * libsupc++/new (::operator new, ::operator new[]): Add malloc + attribute where missing. Add alloc_align attribute when + std::align_val_t is present and where it was missing. Formatting fix. + +2024-11-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable): Add 'inline' to some + one-line constructors. + +2024-11-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable_policy.h (_Insert_base::try_emplace): + Do not define for C++11 and C++14. + * include/debug/map.h (try_emplace): Use feature test macro. + * include/debug/unordered_map (try_emplace): Likewise. + * testsuite/17_intro/names.cc: Define try_emplace before C++17. + +2024-11-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable_policy.h (__distance_fw): Replace tag + dispatching with 'if constexpr'. + +2024-11-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_M_insert_unique_node): Improve + comment. + +2024-11-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115285 + * include/bits/hashtable.h (_Hashtable::_S_forward_key): Remove. + (_Hashtable::_M_insert_unique_aux): Replace _S_forward_key with + a static_cast to a type defined using conditional_t. + (_Hashtable::_M_insert): Replace _ConvertToValueType with a + static_cast to a type defined using conditional_t. + * include/bits/hashtable_policy.h (_ConvertToValueType): Remove. + * testsuite/23_containers/unordered_map/insert/115285.cc: New test. + * testsuite/23_containers/unordered_set/insert/115285.cc: New test. + * testsuite/23_containers/unordered_set/96088.cc: Adjust + expected number of allocations. + +2024-11-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_pair.h (__is_pair): Define for C++11 and + C++14 as well. + +2024-11-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable): Fix comment grammar. + +2024-11-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h: Add is_permutation to comment. + * include/bits/hashtable_policy.h: Remove it from comment. + +2024-11-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h: Fix spelling in comment. + +2024-11-06 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/evolution.xml: Document deprecations. + * doc/html/*: Regenerate. + * include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move + include guard to start of file. Include <complex> directly + instead of <ccomplex>. + * include/c_compatibility/tgmath.h: Include <cmath> and + <complex> directly, instead of <ctgmath>. + * include/c_global/ccomplex: Add deprecated #warning for C++17 + and #error for C++20 if _GLIBCXX_USE_DEPRECATED == 0. + * include/c_global/ciso646: Likewise. + * include/c_global/cstdalign: Likewise. + * include/c_global/cstdbool: Likewise. + * include/c_global/ctgmath: Likewise. + * include/c_std/ciso646: Likewise. + * include/precompiled/stdc++.h: Do not include ccomplex, + ciso646, cstdalign, cstdbool, or ctgmath in C++17 and later. + * testsuite/18_support/headers/cstdalign/macros.cc: Check for + warnings and errors for unsupported dialects. + * testsuite/18_support/headers/cstdbool/macros.cc: Likewise. + * testsuite/26_numerics/headers/ctgmath/complex.cc: Likewise. + * testsuite/27_io/objects/char/1.cc: Do not include <ciso646>. + * testsuite/27_io/objects/wchar_t/1.cc: Likewise. + * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Removed. + * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: Removed. + * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Removed. + * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Removed. + * testsuite/18_support/headers/ciso646/macros.cc: New test. + * testsuite/18_support/headers/ciso646/macros.h.cc: New test. + * testsuite/18_support/headers/cstdbool/macros.h.cc: New test. + * testsuite/26_numerics/headers/ccomplex/complex.cc: New test. + * testsuite/26_numerics/headers/ccomplex/complex.h.cc: New test. + * testsuite/26_numerics/headers/ctgmath/complex.h.cc: New test. + * testsuite/18_support/headers/cstdalign/macros.h.cc: New file. + +2024-11-06 Jonathan Wakely <jwakely@redhat.com> + + * include/c_compatibility/complex.h (_GLIBCXX_COMPLEX_H): Move + include guard to start of the header. + * include/c_global/ctgmath (_GLIBCXX_CTGMATH): Likewise. + +2024-11-06 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_base.h (__shared_ptr_deref): New + function template. + (__shared_ptr_access, __shared_ptr_access<>): Use it. + +2024-11-06 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_dir.cc (fs::directory_iterator::operator*): Use + shared_ptr::operator* instead of shared_ptr::operator->. + (fs::recursive_directory_iterator::options): Likewise. + (fs::recursive_directory_iterator::depth): Likewise. + (fs::recursive_directory_iterator::recursion_pending): Likewise. + (fs::recursive_directory_iterator::operator*): Likewise. + (fs::recursive_directory_iterator::disable_recursion_pending): + Likewise. + +2024-11-04 Nathaniel Shead <nathanieloshead@gmail.com> + + PR testsuite/113710 + PR c++/113814 + * include/bits/stl_pair.h: Remove workaround. + +2024-11-04 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/117406 + * testsuite/26_numerics/headers/cmath/117406.cc: Use + std::numeric_limits<int>::max() instead of INT_MAX. + +2024-11-02 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/117406 + * include/c_global/cmath (std::ilogb(_Float16), std::llrint(_Float16), + std::llround(_Float16), std::lrint(_Float16), std::lround(_Float16)): + Don't cast __builtin_* return to _Float16. + (std::ilogb(__gnu_cxx::__bfloat16_t), + std::llrint(__gnu_cxx::__bfloat16_t), + std::llround(__gnu_cxx::__bfloat16_t), + std::lrint(__gnu_cxx::__bfloat16_t), + std::lround(__gnu_cxx::__bfloat16_t)): Don't cast __builtin_* return to + __gnu_cxx::__bfloat16_t. + * testsuite/26_numerics/headers/cmath/117406.cc: New test. + +2024-11-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unordered_map.h: Check __glibcxx_node_extract and + __glibcxx_unordered_map_try_emplace instead of __cplusplus. + * include/bits/unordered_set.h: Check __glibcxx_node_extract + instead of __cplusplus. + +2024-11-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h: Improve comments. + +2024-11-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111055 + * include/bits/forward_list.h + (forward_list(from_range, R&&, const Alloc&), assign_range) + (prepend_range, insert_range_after): Define. + * include/bits/stl_list.h (list(from_range, R&&, const Alloc&)) + (assign_range, prepend_range, append_range, insert_range): + Define. + * include/debug/forward_list + (forward_list(from_range, R&&, const Alloc&), assign_range) + (prepend_range, insert_range_after): Define. + * include/debug/list (list(from_range, R&&, const Alloc&)) + (assign_range, prepend_range, append_range, insert_range): + Define. + * testsuite/23_containers/forward_list/cons/from_range.cc: New + test. + * testsuite/23_containers/forward_list/modifiers/assign_range.cc: + New test. + * testsuite/23_containers/forward_list/modifiers/insert_range_after.cc: + New test. + * testsuite/23_containers/forward_list/modifiers/prepend_range.cc: + New test. + * testsuite/23_containers/list/cons/from_range.cc: New test. + * testsuite/23_containers/list/modifiers/append_range.cc: New + test. + * testsuite/23_containers/list/modifiers/assign/assign_range.cc: + New test. + * testsuite/23_containers/list/modifiers/insert/insert_range.cc: + New test. + * testsuite/23_containers/list/modifiers/prepend_range.cc: New + test. + +2024-11-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/unordered_set/pr115285.cc: Include + missing header for std::vector. + +2024-11-01 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/typeinfo: Remove whitespace in #endif + +2024-10-31 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/new (operator new): Add attribute align_alloc(2) to + overloads taking a std::align_val_t argument. + * testsuite/18_support/new_aligned_warn.cc: New test. + +2024-10-30 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/vector/cons/from_range.cc: Fix copy & + paste error in comment. + * testsuite/23_containers/vector/modifiers/append_range.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: + Likewise. + +2024-10-30 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/using_exceptions.xml: Fix typos and grammatical + errors. + * doc/html/manual/using_exceptions.html: Regenerate. + +2024-10-30 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/c++config (_GLIBCXX_DOUBLE_IS_IEEE_BINARY32): + Define. + (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY64): Define. + (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY32): Define. + * include/bits/cpp_type_traits.h (__memcpyable): Define + specializations when double and long double are compatible. + +2024-10-30 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/cpp_type_traits.h (__memcpyable): Add + specializations for compatible floating-point types. + +2024-10-29 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/112641 + * include/std/ranges (drop_view::begin): Reimplement const + overload so that it's O(1) always. + * testsuite/std/ranges/adaptors/drop.cc (test10): New test. + +2024-10-29 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/117321 + * include/c_global/cmath (nextafter(_Float16, _Float16)): Use + if consteval rather than if (std::__is_constant_evaluated()) around + the __builtin_nextafterf16 call. + (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Use + if consteval rather than if (std::__is_constant_evaluated()) around + the __builtin_nextafterf16b call. + * testsuite/26_numerics/headers/cmath/117321.cc: New test. + +2024-10-28 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/vector/bool/cons/from_range.cc: Use + dg-do run instead of compile. + (test_ranges): Use do_test instead of do_test_a for rvalue + range. + (test_constexpr): Call function template instead of just + instantiating it. + * testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc: + Use dg-do run instead of compile. + (do_test): Use same test logic for vector<bool> as for primary + template. + (test_constexpr): Call function template instead of just + instantiating it. + * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc: + Use dg-do run instead of compile. + (test_ranges): Use do_test instead of do_test_a for rvalue + range. + (test_constexpr): Call function template instead of just + instantiating it. + * testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc: + Use dg-do run instead of compile. + (do_test): Fix incorrect function arguments to match intended + results. + (test_ranges): Use do_test instead of do_test_a for rvalue + range. + (test_constexpr): Call function template instead of just + instantiating it. + * testsuite/23_containers/vector/cons/from_range.cc: Use dg-do + run instead of compile. + (test_ranges): Fix ill-formed call to do_test. + (test_constexpr): Call function template instead of just + instantiating it. + * testsuite/23_containers/vector/modifiers/append_range.cc: + Use dg-do run instead of compile. + (test_constexpr): Likewise. + * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: + Use dg-do run instead of compile. + (do_test): Do not reuse input ranges. + (test_constexpr): Call function template instead of just + instantiating it. + * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: + Use dg-do run instead of compile. + (do_test): Fix incorrect function arguments to match intended + results. + (test_constexpr): Call function template instead of just + instantiating it. + +2024-10-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111055 + * include/bits/ranges_base.h (__container_compatible_range): New + concept. + * include/bits/stl_bvector.h (vector(from_range, R&&, const Alloc&)) + (assign_range, insert_range, append_range): Define. + * include/bits/stl_uninitialized.h (__do_uninit_copy): Support + non-common ranges. + (__uninitialized_copy_a): Likewise. + * include/bits/stl_vector.h (_Vector_base::_M_append_range_to): + New function. + (_Vector_base::_M_append_range): Likewise. + (vector(from_range, R&&, const Alloc&), assign_range): Define. + (append_range): Define. + (insert_range): Declare. + * include/debug/vector (vector(from_range, R&&, const Alloc&)) + (assign_range, insert_range, append_range): Define. + * include/bits/vector.tcc (insert_range): Define. + * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_rval): + New class template. + * testsuite/23_containers/vector/bool/cons/from_range.cc: New test. + * testsuite/23_containers/vector/bool/modifiers/assign/assign_range.cc: + New test. + * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc: + New test. + * testsuite/23_containers/vector/bool/modifiers/insert/insert_range.cc: + New test. + * testsuite/23_containers/vector/cons/from_range.cc: New test. + * testsuite/23_containers/vector/modifiers/append_range.cc: New test. + * testsuite/23_containers/vector/modifiers/assign/assign_range.cc: + New test. + * testsuite/23_containers/vector/modifiers/insert/insert_range.cc: + New test. + +2024-10-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_bvector.h (emplace_back, emplace): Forward + parameter pack to preserve value category. + * testsuite/23_containers/vector/bool/emplace_rvalue.cc: New + test. + +2024-10-25 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/21_strings/basic_string/operators/char/op_plus_string_view.cc: + Check __cpp_lib_constexpr_string. + +2024-10-25 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/bits/basic_string.h: Implement the four operator+ + overloads between basic_string and (types convertible to) + basic_string_view. + * include/bits/version.def: Bump the feature-testing macro. + * include/bits/version.h: Regenerate. + * testsuite/21_strings/basic_string/operators/char/op_plus_fspath_neg.cc: New test. + * testsuite/21_strings/basic_string/operators/char/op_plus_string_view.cc: New test. + * testsuite/21_strings/basic_string/operators/char/op_plus_string_view_compat.cc: + New test. + +2024-10-25 Jakub Jelinek <jakub@redhat.com> + + * include/debug/debug.h: Remove trailing whitespace. + * include/parallel/base.h: Likewise. + * include/parallel/types.h: Likewise. + * include/parallel/settings.h: Likewise. + * include/parallel/multiseq_selection.h: Likewise. + * include/parallel/partition.h: Likewise. + * include/parallel/random_number.h: Likewise. + * include/parallel/find_selectors.h: Likewise. + * include/parallel/partial_sum.h: Likewise. + * include/parallel/list_partition.h: Likewise. + * include/parallel/search.h: Likewise. + * include/parallel/algorithmfwd.h: Likewise. + * include/parallel/random_shuffle.h: Likewise. + * include/parallel/multiway_mergesort.h: Likewise. + * include/parallel/sort.h: Likewise. + * include/parallel/algobase.h: Likewise. + * include/parallel/numericfwd.h: Likewise. + * include/parallel/multiway_merge.h: Likewise. + * include/parallel/losertree.h: Likewise. + * include/bits/basic_ios.h: Likewise. + * include/bits/stringfwd.h: Likewise. + * include/bits/ostream_insert.h: Likewise. + * include/bits/stl_heap.h: Likewise. + * include/bits/unordered_map.h: Likewise. + * include/bits/hashtable_policy.h: Likewise. + * include/bits/stl_iterator_base_funcs.h: Likewise. + * include/bits/valarray_before.h: Likewise. + * include/bits/regex.h: Likewise. + * include/bits/postypes.h: Likewise. + * include/bits/stl_iterator.h: Likewise. + * include/bits/localefwd.h: Likewise. + * include/bits/stl_algo.h: Likewise. + * include/bits/ios_base.h: Likewise. + * include/bits/stl_function.h: Likewise. + * include/bits/basic_string.h: Likewise. + * include/bits/hashtable.h: Likewise. + * include/bits/valarray_after.h: Likewise. + * include/bits/char_traits.h: Likewise. + * include/bits/gslice.h: Likewise. + * include/bits/locale_facets_nonio.h: Likewise. + * include/bits/mask_array.h: Likewise. + * include/bits/specfun.h: Likewise. + * include/bits/random.h: Likewise. + * include/bits/slice_array.h: Likewise. + * include/bits/valarray_array.h: Likewise. + * include/tr1/float.h: Likewise. + * include/tr1/functional_hash.h: Likewise. + * include/tr1/math.h: Likewise. + * include/tr1/hashtable_policy.h: Likewise. + * include/tr1/stdio.h: Likewise. + * include/tr1/complex.h: Likewise. + * include/tr1/stdbool.h: Likewise. + * include/tr1/stdarg.h: Likewise. + * include/tr1/inttypes.h: Likewise. + * include/tr1/fenv.h: Likewise. + * include/tr1/stdlib.h: Likewise. + * include/tr1/wchar.h: Likewise. + * include/tr1/tgmath.h: Likewise. + * include/tr1/limits.h: Likewise. + * include/tr1/wctype.h: Likewise. + * include/tr1/stdint.h: Likewise. + * include/tr1/ctype.h: Likewise. + * include/tr1/random.h: Likewise. + * include/tr1/shared_ptr.h: Likewise. + * include/ext/mt_allocator.h: Likewise. + * include/ext/sso_string_base.h: Likewise. + * include/ext/debug_allocator.h: Likewise. + * include/ext/vstring_fwd.h: Likewise. + * include/ext/pointer.h: Likewise. + * include/ext/pod_char_traits.h: Likewise. + * include/ext/malloc_allocator.h: Likewise. + * include/ext/vstring.h: Likewise. + * include/ext/bitmap_allocator.h: Likewise. + * include/ext/pool_allocator.h: Likewise. + * include/ext/type_traits.h: Likewise. + * include/ext/ropeimpl.h: Likewise. + * include/ext/codecvt_specializations.h: Likewise. + * include/ext/throw_allocator.h: Likewise. + * include/ext/extptr_allocator.h: Likewise. + * include/ext/atomicity.h: Likewise. + * include/ext/concurrence.h: Likewise. + * include/c_compatibility/wchar.h: Likewise. + * include/c_compatibility/stdint.h: Likewise. + * include/backward/hash_fun.h: Likewise. + * include/backward/binders.h: Likewise. + * include/backward/hashtable.h: Likewise. + * include/backward/auto_ptr.h: Likewise. + * libsupc++/eh_arm.cc: Likewise. + * libsupc++/unwind-cxx.h: Likewise. + * libsupc++/si_class_type_info.cc: Likewise. + * libsupc++/vec.cc: Likewise. + * libsupc++/class_type_info.cc: Likewise. + * libsupc++/vmi_class_type_info.cc: Likewise. + * libsupc++/guard_error.cc: Likewise. + * libsupc++/bad_typeid.cc: Likewise. + * libsupc++/eh_personality.cc: Likewise. + * libsupc++/atexit_arm.cc: Likewise. + * libsupc++/pmem_type_info.cc: Likewise. + * libsupc++/vterminate.cc: Likewise. + * libsupc++/eh_terminate.cc: Likewise. + * libsupc++/bad_cast.cc: Likewise. + * libsupc++/exception_ptr.h: Likewise. + * libsupc++/eh_throw.cc: Likewise. + * libsupc++/bad_alloc.cc: Likewise. + * libsupc++/nested_exception.cc: Likewise. + * libsupc++/pointer_type_info.cc: Likewise. + * libsupc++/pbase_type_info.cc: Likewise. + * libsupc++/bad_array_new.cc: Likewise. + * libsupc++/pure.cc: Likewise. + * libsupc++/eh_exception.cc: Likewise. + * libsupc++/bad_array_length.cc: Likewise. + * libsupc++/cxxabi.h: Likewise. + * libsupc++/guard.cc: Likewise. + * libsupc++/eh_catch.cc: Likewise. + * libsupc++/cxxabi_forced.h: Likewise. + * libsupc++/tinfo.h: Likewise. + +2024-10-24 François Dumont <frs.dumont@gmail.com> + + * testsuite/23_containers/unordered_map/96088.cc (test03): Fix increments + value when _GLIBCXX_USE_CXX11_ABI is equal to 0. + +2024-10-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/complex/ext_c++23.cc: Fix typo in macro. + * 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. + +2024-10-24 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (__throw_bad_variant_access(unsigned)): + Define new function as inline friend, with namespace-scope + declaration using noreturn attribute. + (__throw_bad_variant_access(const char*)): Remove. + (__throw_bad_variant_access(bool)): Remove. + (visit, visit<R>): Adjust calls to __throw_bad_variant_access. + +2024-10-24 Ricardo Jesus <rjj@nvidia.com> + + * config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Replace uses + of __builtin_shuffle with __builtin_shufflevector. + (__aarch64_lsl_128): Move shift amount to a template parameter. + (__aarch64_lsr_128): Move shift amount to a template parameter. + (__aarch64_recursion): Update call sites of __aarch64_lsl_128 + and __aarch64_lsr_128. + +2024-10-23 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/headers/cstdalign/macros.cc: New test. + +2024-10-23 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/evolution.xml: Document that assertions are + enabled for unoptimized builds. + * doc/html/*: Regenerate. + +2024-10-23 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/test.xml: Add GLIBCXX_TESTSUITE_STDS example. + * doc/html/manual/test.html: Regenerate. + +2024-10-23 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (assign(Iter, Iter)): Call + std::to_address instead of __to_address. + +2024-10-23 François Dumont <frs.dumont@gmail.com> + + PR libstdc++/115285 + * include/bits/hashtable.h (_S_forward_key<_Kt>): Always return a temporary + key_type instance. + * testsuite/23_containers/unordered_map/96088.cc: Adapt to additional instanciation. + Also check that mapped_type is not instantiated when there is no insertion. + * testsuite/23_containers/unordered_multimap/96088.cc: Adapt to additional + instanciation. + * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. + * testsuite/23_containers/unordered_set/96088.cc: Likewise. + * testsuite/23_containers/unordered_set/pr115285.cc: New test case. + +2024-10-22 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (concat_view::begin): Add space after + 'requires' starting a requires-clause. + (concat_view::end): Likewise. Refine condition for returning an + iterator rather than default_sentinel as per LWG 4166. + * testsuite/std/ranges/concat/1.cc (test03): Verify LWG 4166 + example. + +2024-10-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (basic_string::assign): Replace + use of __to_address with __niter_base or std::to_address as + appropriate. + * include/bits/ptr_traits.h (__to_address): Add comment. + * include/bits/shared_ptr_base.h (__shared_ptr): Qualify calls + to __to_address. + * include/bits/stl_algo.h (find): Replace use of __to_address + with __niter_base or std::to_address as appropriate. Only use + either of them when the range is not empty. + * include/bits/stl_iterator.h (__to_address): Remove overload + for __normal_iterator. + * include/debug/safe_iterator.h (__to_address): Remove overload + for _Safe_iterator. + * include/std/ranges (views::counted): Replace use of + __to_address with std::to_address. + * testsuite/24_iterators/normal_iterator/to_address.cc: Removed. + +2024-10-21 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: + Move to ... + * testsuite/26_numerics/headers/cmath/specfun_c++17.cc: here and + adjust test to be valid for all -std dialects. + +2024-10-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_vector.h (vector::_M_data_ptr): Remove + non-const overloads. Always return non-const pointer. + +2024-10-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117220 + * include/bits/stl_iterator.h: Move _GLIBCXX_NODISCARD + annotations after __attribute__((__always_inline__)). + +2024-10-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_algobase.h (ranges::__assign_one): Remove. + (__copy_or_move, __copy_or_move_backward): Use std::__assign_one + instead of ranges::__assign_one. + +2024-10-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_algobase.h (__copy_move_a1, __copy_move_a) + (__copy_move_backward_a1, __copy_move_backward_a, move_backward) + (__fill_a1, __fill_a, fill, __fill_n_a, fill_n, __equal_aux): + Add always_inline attribute to one-line forwarding functions. + +2024-10-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_algo.h (find): Add nodiscard. + +2024-10-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115444 + PR libstdc++/114817 + * include/bits/stl_algo.h (__copy_n): Remove generic overload + and overload for random access iterators. + (copy_n): Inline generic version of __copy_n here. Do not defer + to std::copy for random access iterators. + * include/bits/stl_algobase.h (__copy_move): Remove. + (__nothrow_contiguous_iterator, __memcpyable_iterators): New + concepts. + (__assign_one, _GLIBCXX_TO_ADDR, _GLIBCXX_ADVANCE): New helpers. + (__copy_move_a2): Inline __copy_move logic and conditional + memmove optimization into the most generic overload. + (__copy_n_a): Likewise. + (__copy_move_backward): Remove. + (__copy_move_backward_a2): Inline __copy_move_backward logic and + memmove optimization into the most generic overload. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/114817.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/114817.cc: + New test. + * testsuite/25_algorithms/copy/114817.cc: New test. + * testsuite/25_algorithms/copy/115444.cc: New test. + * testsuite/25_algorithms/copy_n/114817.cc: New test. + +2024-10-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (__normal_iterator): Make all + members and overloaded operators constexpr before C++20, and add + always_inline attribute + (__to_address): Add nodiscard and always_inline attributes. + (__make_move_if_noexcept_iterator): Add nodiscard + and make unconditionally constexpr. + (__niter_base(__normal_iterator), __niter_base(Iter)): + Add nodiscard and always_inline attributes. + (__niter_base(reverse_iterator), __niter_base(move_iterator)) + (__miter_base): Add inline. + (__niter_wrap(From, To)): Add nodiscard attribute. + (__niter_wrap(const Iter&, Iter)): Add nodiscard and + always_inline attributes. + +2024-10-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/68350 + PR libstdc++/93059 + * include/bits/stl_uninitialized.h (__check_constructible) + (_GLIBCXX_USE_ASSIGN_FOR_INIT): Remove. + [C++98] (__unwrappable_niter): New trait. + (__uninitialized_copy<true>): Replace use of std::copy. + (uninitialized_copy): Fix Doxygen comments. Open-code memcpy + optimization for C++11 and later. + (__uninitialized_fill<true>): Replace use of std::fill. + (uninitialized_fill): Fix Doxygen comments. Open-code memset + optimization for C++11 and later. + (__uninitialized_fill_n<true>): Replace use of std::fill_n. + (uninitialized_fill_n): Fix Doxygen comments. Open-code memset + optimization for C++11 and later. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: + Adjust expected behaviour to match what the standard specifies. + * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc: + Adjust dg-error directives. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/89164.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/89164.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill/89164.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/89164.cc: + Likewise. + * testsuite/23_containers/vector/cons/89164.cc: Likewise. + * testsuite/23_containers/vector/cons/89164_c++17.cc: Likewise. + +2024-10-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_algobase.h (__niter_base, __niter_wrap): Move + to ... + * include/bits/stl_iterator.h: ... here. + (__niter_base, __miter_base): Move all overloads to the end of + the header. + * testsuite/24_iterators/normal_iterator/wrapping.cc: New test. + +2024-10-16 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (strip_fundts_namespace): New. + (StdExpAnyPrinter, StdExpOptionalPrinter): Use it. + +2024-10-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/106676 + * include/bits/iterator_concepts.h (__cpp17_fwd_iterator): Use + is_reference instead of is_value_reference. + rvalue references. + * include/std/ranges (transform_view:__iter_cat::_S_iter_cat): + Likewise. + (zip_transform_view::__iter_cat::_S_iter_cat): Likewise. + (adjacent_transform_view::__iter_cat::_S_iter_cat): Likewise. + (join_with_view::__iter_cat::_S_iter_cat): Likewise. + * testsuite/std/ranges/adaptors/transform.cc: Check + iterator_category when the transformation function returns an + rvalue reference type. + +2024-10-14 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ranges (transform_view:_Iterator): Use const F& + to determine value_type and iterator_category of + _Iterator<true>, as per LWG 3564. + * testsuite/std/ranges/adaptors/transform.cc: Check value_type + and iterator_category. + +2024-10-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117135 + * config/locale/generic/time_members.cc + (__timepunct<wchar_t>::_M_initialize_timepunc): Set + _M_date_time_format for C locale. Set %Ex formats to the same + values as the %x formats. + +2024-10-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (constrained_equality): Bump value. + * include/bits/version.h: Regenerate. + * include/std/expected (operator==): Add constraints and + noexcept specifiers. + * testsuite/20_util/optional/relops/constrained.cc: Adjust + check for feature test macro. + * testsuite/20_util/pair/comparison_operators/constrained.cc: + Likewise. + * testsuite/20_util/tuple/comparison_operators/constrained.cc: + Likewise. + * testsuite/20_util/variant/relops/constrained.cc: Likewise. + * testsuite/20_util/expected/equality_constrained.cc: New test. + +2024-10-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117094 + * include/bits/ranges_algobase.h (__fill_fn): Use std::move for + iterator that might not be copyable. + * testsuite/25_algorithms/fill/constrained.cc: Check + non-copyable iterator with sized sentinel. + +2024-10-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/93059 + * include/bits/stl_algobase.h (__fill_a1(T*, T*, const T&)): + Change template parameters and enable_if condition to allow the + fill value to be an integer. + +2024-10-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/93059 + * include/bits/cpp_type_traits.h (__memcpyable): Add partial + specialization for pointers to distinct types. + (__memcpyable_integer): New trait to control which types can use + cross-type memcpy optimizations. + +2024-10-13 Sam James <sam@gentoo.org> + + * testsuite/17_intro/names_fortify.cc: Undefine _FORTIFY_SOURCE. + +2024-10-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117121 + * include/bits/ranges_algobase.h (copy_backward): Decrement + output iterator before assigning one element through it. + * testsuite/25_algorithms/copy/108846.cc: Ensure the algorithm's + effects are correct for a single memcpyable element. + * testsuite/25_algorithms/copy_backward/108846.cc: Likewise. + * testsuite/25_algorithms/copy_n/108846.cc: Likewise. + +2024-10-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (__niter_base(move_iterator<I>)) + (__is_move_iterator, __miter_base, _GLIBCXX_MAKE_MOVE_ITERATOR) + (_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Move earlier in the + file. + +2024-10-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/cpp_type_traits.h (__is_byte<byte>): Guard with + __glibcxx_byte macro instead of checking __cplusplus. + +2024-10-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/117085 + * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add L + option to format string. + * testsuite/std/time/format.cc: Move to... + * testsuite/std/time/format/format.cc: ...here. + * testsuite/std/time/format_localized.cc: Move to... + * testsuite/std/time/format/localized.cc: ...here. + * testsuite/std/time/format/pr117085.cc: New test. + +2024-10-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/22_locale/time_get/get/char/5.cc: Fix dg-do + directive. + * testsuite/22_locale/time_get/get/wchar_t/5.cc: Likewise. + +2024-10-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/duration/io.cc [!__cpp_lib_char8_t]: Define + char8_t as a typedef for unsigned char. + * testsuite/std/format/parse_ctx_neg.cc: Skip for -fno-char8_t. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116210 + * testsuite/17_intro/names.cc (sz): Undef for versions of Glibc + that use it in the fortify wrappers. + * testsuite/17_intro/names_fortify.cc: New test. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116969 + * include/bits/locale_facets_nonio.tcc (money_put::__do_put): + Remove diagnostic pragmas. + (__glibcxx_snprintfibm128): Declare type manually, instead of + using __typeof__(__builtin_snprintf). + +2024-10-09 Frank Scheiner <frank.scheiner@web.de> + + * testsuite/17_intro/names.cc [__linux__ && __ia64__]: Undefine + 'u' as used in glibc headers. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116992 + * include/bits/semaphore_base.h (_GLIBCXX_USE_POSIX_SEMAPHORE): + Undefine and issue a warning if POSIX sem_t is not supported. + * testsuite/30_threads/semaphore/platform_try_acquire_for.cc: + Prune new warning. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116991 + * include/std/complex (__complex_acos): Cast literal to + destination type. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + * include/std/latch (latch::count_down): Add assertions for + preconditions. Cast parameter to avoid -Wsign-compare on some + targets. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112808 + * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document + implicit definition for -O0 compilation. + (_GLIBCXX_NO_ASSERTIONS): Document. + * doc/html/manual/using_macros.html: Regenerate. + * include/bits/c++config [!__OPTIMIZE__] (_GLIBCXX_ASSERTIONS): + Define for unoptimized builds. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/61458 + * doc/doxygen/user.cfg.in (GENERATE_BUGLIST): Set to NO. + * include/std/type_traits (__aligned_storage_msa): Remove. + (__aligned_storage_max_align_t): New struct. + (__aligned_storage_default_alignment): New function. + (aligned_storage): Use __aligned_storage_default_alignment for + default alignment. Replace union with a struct containing an + aligned buffer. Improve Doxygen comment. + (aligned_storage_t): Use __aligned_storage_default_alignment for + default alignment. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_base.h: Remove cv-qualifiers from + type managed by _Sp_counted_ptr_inplace, as per LWG 3210. + * include/bits/stl_construct.h: Do not cast away cv-qualifiers + when passing pointer to placement new. + * include/std/expected: Use remove_cv_t for union member, as per + LWG 3891. + * testsuite/20_util/allocator/void.cc: Do not test construction + via const pointer. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_construct.h (construct_at): Support array + types (LWG 3436). + * testsuite/20_util/specialized_algorithms/construct_at/array.cc: + New test. + * testsuite/20_util/specialized_algorithms/construct_at/array_neg.cc: + New test. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add + [[unlikely]] attribute to condition for missing %c format in + locale. Use %T instead of %H:%M:%S in fallback. + +2024-10-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116755 + * include/bits/chrono_io.h (operator<<): Use +d.count() for + duration inserter. + (__formatter_chrono::_M_format): Likewise for %Q format. + * testsuite/20_util/duration/io.cc: Test durations with + character types as reps. + +2024-10-08 Jakub Jelinek <jakub@redhat.com> + + * include/bits/unicode.h (std::__unicode::__v15_1_0): Rename inline + namespace to ... + (std::__unicode::__v16_0_0): ... this. + (_GLIBCXX_GET_UNICODE_DATA): Change from 150100 to 160000. + * include/bits/unicode-data.h: Regenerated. + * testsuite/ext/unicode/properties.cc: Check for _Gcb_SpacingMark + on U+11F03 rather than U+1D16D as the latter lost SpacingMark property + in Unicode 16.0. + +2024-10-05 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/bits/version.def: Added the feature-testing macro. + * include/bits/version.h: Regenerated. + * include/std/type_traits: Add support for + std::is_virtual_base_of and std::is_virtual_base_of_v, + implemented in terms of the compiler builtin. + * testsuite/20_util/is_virtual_base_of/value.cc: New test. + +2024-10-05 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_base.h (__distance_fn::operator()): + Adjust iterator/sentinel overloads as per LWG 3664. + * testsuite/24_iterators/range_operations/distance.cc: + Test LWG 3664 example. + +2024-10-04 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (single_view::empty): Define as per LWG 4035. + (iota_view::empty): Define as per LWG 4001. + (lazy_split_view::_OuterIter::value_type): Remove default + constructor and make other constructor private as per LWG 4013. + (common_view::begin): Disable non-const overload for simple + views as per LWG 4012. + (common_view::end): Likewise. + (adjacent_view::base): Define as per LWG 3848. + (adjacent_transform_view::base): Likewise. + (chunk_view::_InnerIter::iter_move): Define as per LWG 3851. + (chunk_view::_InnerIter::itep_swap): Likewise. + (slide_view::base): Define as per LWG 3848. + (repeat_view): Adjust deduction guide as per LWG 4053. + (_Repeat::operator()): Adjust single-parameter overload as per + LWG 4054. + * testsuite/std/ranges/adaptors/adjacent/1.cc: Verify existence + of base member function. + * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk/1.cc: Test LWG 3851 example. + * testsuite/std/ranges/adaptors/slide/1.cc: Verify existence of + base member function. + * testsuite/std/ranges/iota/iota_view.cc: Test LWG 4001 example. + * testsuite/std/ranges/repeat/1.cc: Test LWG 4053/4054 examples. + +2024-10-04 Jonathan Wakely <jwakely@redhat.com> + + * include/parallel/algobase.h (search): Use sequential algorithm + for constant evaluation. + * include/parallel/algorithmfwd.h (search): Add + _GLIBCXX20_CONSTEXPR. + * include/parallel/multiway_merge.h: Remove stray semi-colon. + * include/parallel/multiseq_selection.h: Add diagnostic pragmas + for -Wlong-long warning. + * include/parallel/quicksort.h: Likewise. + * include/parallel/random_number.h: Likewise. + * include/parallel/settings.h: Likewise. + * include/parallel/workstealing.h: Replace ++ and -- on volatile + variables. + * testsuite/17_intro/names.cc: Skip names defined by + <tr1/random>. + * testsuite/20_util/pair/dangling_ref.cc: Skip test if Parallel + Mode is enabled. + * testsuite/20_util/tuple/dangling_ref.cc: Likewise. + +2024-10-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116964 + * include/std/shared_mutex (__shared_mutex_cv): Use [this] for + lambda captures. + (shared_timed_mutex) [!_GLIBCXX_USE_PTHREAD_RWLOCK_T]: Likewise. + +2024-10-03 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unicode.h (__unicode::__is_incb_linker): Use + _GLIBCXX_STD_A namespace for std::find. + +2024-10-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116944 + * include/parallel/base.h: Move diagnostic pragmas earlier. + +2024-10-03 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/locale_facets_nonio.tcc (money_put::__do_get): + Ignore -Wformat warning for __ibm128 arguments. + * include/tr1/tuple (ignore): Ignore -Wunused warning. + +2024-10-03 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h (_NodeBuilder<>::_S_build): Remove + const qualification on _NodeGenerator instance. + (_ReuseOrAllocNode<>::operator()(_Args&&...)): Remove const qualification. + (_ReuseOrAllocNode<>::_M_nodes): Remove mutable. + (_Insert_base<>::_M_insert_range): Remove _NodeGetter const qualification. + (_Hash_code_base<>::_M_bucket_index(const _Hash_node_value<>&, size_t)): + Simplify noexcept declaration, we already static_assert that _RangeHash functor + is noexcept. + * include/bits/hashtable.h: Rework comments. Remove const qualifier on + _NodeGenerator& arguments. + +2024-10-02 Jonathan Wakely <jwakely@redhat.com> + + * config/locale/dragonfly/time_members.cc + (__timepunct<char>::_M_initialize_timepunc) + (__timepunct<wchar_t>::_M_initialize_timepunc): Set + _M_date_time_format for C locale. Set %Ex formats to the same + values as the %x formats. + * config/locale/generic/time_members.cc: Likewise. + * config/locale/gnu/time_members.cc: Likewise. + * testsuite/22_locale/time_get/get/char/5.cc: New test. + * testsuite/22_locale/time_get/get/wchar_t/5.cc: New test. + +2024-10-02 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__detail::__use_floor): New + function. + (__detail::__round): New function. + (from_stream): Use __detail::__round. + * testsuite/std/time/clock/file/io.cc: Check for expected + rounding in parse. + * testsuite/std/time/clock/gps/io.cc: Likewise. + +2024-10-02 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/postypes.h: Fix -Wlong-long warning. + +2024-10-01 Hans-Peter Nilsson <hp@axis.com> + + PR libstdc++/116895 + * config/os/newlib/ctype_base.h: Avoid signed-overflow warnings by + explicitly casting initializer expressions to mask. + +2024-09-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/istream.tcc: Add diagnostic pragmas around uses + of long long and extern template. + * include/bits/locale_facets.h: Likewise. + * include/bits/locale_facets.tcc: Likewise. + * include/bits/locale_facets_nonio.tcc: Likewise. + * include/bits/ostream.tcc: Likewise. + * include/bits/stl_algobase.h: Likewise. + * include/c_global/cstdlib: Likewise. + * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: + Likewise. + * include/ext/pointer.h: Likewise. + * include/ext/stdio_sync_filebuf.h: Likewise. + * include/std/istream: Likewise. + * include/std/ostream: Likewise. + * include/tr1/cmath: Likewise. + * include/tr1/type_traits: Likewise. + * include/tr1/functional_hash.h: Likewise. Remove semi-colons + at namespace scope that aren't needed after macro expansion. + * include/tr1/tuple: Remove semi-colon at namespace scope. + * include/bits/vector.tcc: Change LL suffix to just L. + +2024-09-27 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/bits/fs_path.h (path::_Cvt): Refactor to + use if-constexpr. + (path::string(const Allocator&)): Likewise. + +2024-09-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.tcc (resize_for_overwrite): Fix + -Wsign-compare warning. + * include/bits/cow_string.h (resize_for_overwrite): Likewise. + +2024-09-27 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/bind/dangling_ref.cc: Add an additional + dg-warning for -Wreturn-local-addr warning. + * testsuite/30_threads/packaged_task/cons/dangling_ref.cc: + Likewise. + +2024-09-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_base.h (__atomic_base<T*>::_M_type_size): + Replace overloaded functions with static _S_type_size. + * include/std/atomic (atomic<T*>): Use is_object_v instead of + is_object. + * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: + Add dg-warning for -Wpointer-arith warning. + +2024-09-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/cow_string.h (__resize_for_overwrite): Add + inline keyword to function with always_inline attribute. + +2024-09-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR libstdc++/115126 + * include/bits/shared_ptr.h (std::__is_shared_ptr): Remove + unnecessary 'static'. + * include/bits/unique_ptr.h (std::__is_unique_ptr): Likewise. + * include/std/future (std::__create_task_state): Likewise. + * include/std/shared_mutex (_GLIBCXX_GTRHW): Likewise. + (__glibcxx_rwlock_init): Likewise. + (__glibcxx_rwlock_timedrdlock): Likewise. + (__glibcxx_rwlock_timedwrlock): Likewise. + (__glibcxx_rwlock_rdlock): Likewise. + (__glibcxx_rwlock_tryrdlock): Likewise. + (__glibcxx_rwlock_wrlock): Likewise. + (__glibcxx_rwlock_trywrlock): Likewise. + (__glibcxx_rwlock_unlock): Likewise. + (__glibcxx_rwlock_destroy): Likewise. + (__glibcxx_rwlock_init): Likewise. + * include/pstl/algorithm_impl.h + (__pstl::__internal::__set_algo_cut_off): Mark inline. + * include/pstl/unseq_backend_simd.h + (__pstl::__unseq_backend::__lane_size): Mark inline. + +2024-09-26 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/116859 + * config/os/bsd/freebsd/os_defines.h + (_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC, + _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): Avoid + -Wexpansion-to-defined warnings. + * config/os/bsd/dragonfly/os_defines.h + (_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Likewise. + +2024-09-26 Jonathan Wakely <jwakely@redhat.com> + Andrew Waterman <andrew@sifive.com> + + PR libstdc++/113578 + * include/std/ostream (_S_cast_flt): New static member function + to restore signbit after casting to double or long double. + (operator<<(float), operator<<(_Float16), operator<<(_Float32)) + (operator<<(_Float64), operator(_Float128)) + (operator<<(__bfloat16_t)): Use _S_cast_flt. + testsuite/27_io/basic_ostream/inserters_arithmetic/lwg4101.cc: + New test. + * testsuite/27_io/basic_ostream/inserters_arithmetic/lwg4101.cc: New file. + +2024-09-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_istringstream/cons/2020.cc: Fix comment + referring to basic_filebuf. + * testsuite/27_io/basic_istringstream/requirements/base_classes.cc: + Likewise. + * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_ostringstream/requirements/base_classes.cc: + Likewise. + * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise. + * testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc: + Likewise. + * testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc: + Likewise. + * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise. + * testsuite/27_io/basic_stringstream/requirements/base_classes.cc: + Likewise. + +2024-09-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_ios.h (basic_ios::operator bool()): + Add [[nodiscard]] attribute. + (basic_ios::operator!(), basic_ios::rdstate()) + (basic_ios::good(), basic_ios::eof(), basic_ios::fail()) + (basic_ios::bad(), basic_ios::exceptions(), basic_ios::tie()) + (basic_ios::rdbuf(), basic_ios::fill()): Likewise. + * include/bits/ios_base.h (ios_base::flags()): Likewise. + (ios_base::precision(), ios_base::width(), ios_base::getloc()): + Likewise. + * include/std/fstream (basic_filebuf::is_open) + (basic_ifstream::rdbuf(), basic_ifstream::is_open) + (basic_ofstream::rdbuf(), basic_ofstream::is_open) + (basic_fstream::rdbuf(), basic_fstream::is_open): Likewise. + * include/std/spanstream (basic_spanbuf::span()) + (basic_ispanstream::span(), basic_ispanstream::rdbuf()) + (basic_ospanstream::span(), basic_ospanstream::rdbuf()) + (basic_spanstream::span(), basic_spanstream::rdbuf()): + Likewise. + * include/std/sstream (basic_stringbuf::str()) + (basic_istringstream::rdbuf(), basic_istringstream::str()) + (basic_ostringstream::rdbuf(), basic_ostringstream::str()) + (basic_stringstream::rdbuf(), basic_stringstream::str()): + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: + Suppress -Wunused-result warnings. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: + Likewise. + +2024-09-26 Iain Sandoe <iain@sandoe.co.uk> + + PR libstdc++/116853 + * include/bits/basic_string.h: Ignore suggest-attribute=format + warning when using posix vsnprintf in to_string() implementations. + +2024-09-26 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): + Do not assume allocators only throw std::bad_alloc. + +2024-09-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116857 + * libsupc++/guard.cc (__cxa_guard_acquire): Remove + _GLIBCXX_NOTHROW to match declaration in <cxxabi.h>. + +2024-09-25 Sam James <sam@gentoo.org> + + PR libstdc++/101831 + * testsuite/23_containers/array/capacity/empty.cc: Add missing brace. + * testsuite/23_containers/array/capacity/max_size.cc: Ditto. + * testsuite/23_containers/array/capacity/size.cc: Ditto. + +2024-09-25 Jason Merrill <jason@redhat.com> + + * acinclude.m4 (WARN_FLAGS): Remove -Wsystem-headers. + * configure: Regenerate. + * include/bits/algorithmfwd.h: #ifdef out #pragma GCC system_header. + * include/bits/atomic_base.h + * include/bits/atomic_futex.h + * include/bits/atomic_timed_wait.h + * include/bits/atomic_wait.h + * include/bits/basic_ios.h + * include/bits/basic_string.h + * include/bits/boost_concept_check.h + * include/bits/char_traits.h + * include/bits/charconv.h + * include/bits/chrono.h + * include/bits/chrono_io.h + * include/bits/codecvt.h + * include/bits/concept_check.h + * include/bits/cpp_type_traits.h + * include/bits/elements_of.h + * include/bits/enable_special_members.h + * include/bits/erase_if.h + * include/bits/forward_list.h + * include/bits/functional_hash.h + * include/bits/gslice.h + * include/bits/gslice_array.h + * include/bits/hashtable.h + * include/bits/indirect_array.h + * include/bits/invoke.h + * include/bits/ios_base.h + * include/bits/iterator_concepts.h + * include/bits/locale_classes.h + * include/bits/locale_facets.h + * include/bits/locale_facets_nonio.h + * include/bits/localefwd.h + * include/bits/mask_array.h + * include/bits/max_size_type.h + * include/bits/memory_resource.h + * include/bits/memoryfwd.h + * include/bits/move_only_function.h + * include/bits/node_handle.h + * include/bits/ostream_insert.h + * include/bits/out_ptr.h + * include/bits/parse_numbers.h + * include/bits/postypes.h + * include/bits/quoted_string.h + * include/bits/range_access.h + * include/bits/ranges_base.h + * include/bits/refwrap.h + * include/bits/sat_arith.h + * include/bits/semaphore_base.h + * include/bits/slice_array.h + * include/bits/std_abs.h + * include/bits/std_function.h + * include/bits/std_mutex.h + * include/bits/std_thread.h + * include/bits/stl_iterator_base_funcs.h + * include/bits/stl_iterator_base_types.h + * include/bits/stl_tree.h + * include/bits/stream_iterator.h + * include/bits/streambuf_iterator.h + * include/bits/stringfwd.h + * include/bits/this_thread_sleep.h + * include/bits/unique_lock.h + * include/bits/uses_allocator_args.h + * include/bits/utility.h + * include/bits/valarray_after.h + * include/bits/valarray_array.h + * include/bits/valarray_before.h + * include/bits/version.h + * include/c_compatibility/fenv.h + * include/c_compatibility/inttypes.h + * include/c_compatibility/stdint.h + * include/decimal/decimal.h + * include/experimental/bits/net.h + * include/experimental/bits/shared_ptr.h + * include/ext/aligned_buffer.h + * include/ext/alloc_traits.h + * include/ext/atomicity.h + * include/ext/concurrence.h + * include/ext/numeric_traits.h + * include/ext/pod_char_traits.h + * include/ext/pointer.h + * include/ext/stdio_filebuf.h + * include/ext/stdio_sync_filebuf.h + * include/ext/string_conversions.h + * include/ext/type_traits.h + * include/ext/vstring.h + * include/ext/vstring_fwd.h + * include/ext/vstring_util.h + * include/parallel/algorithmfwd.h + * include/parallel/numericfwd.h + * include/tr1/functional_hash.h + * include/tr1/hashtable.h + * include/tr1/random.h + * libsupc++/exception.h + * libsupc++/hash_bytes.h + * include/bits/basic_ios.tcc + * include/bits/basic_string.tcc + * include/bits/fstream.tcc + * include/bits/istream.tcc + * include/bits/locale_classes.tcc + * include/bits/locale_facets.tcc + * include/bits/locale_facets_nonio.tcc + * include/bits/ostream.tcc + * include/bits/sstream.tcc + * include/bits/streambuf.tcc + * include/bits/string_view.tcc + * include/bits/version.tpl + * include/experimental/bits/string_view.tcc + * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp + * include/ext/random.tcc + * include/ext/vstring.tcc + * include/tr2/bool_set.tcc + * include/tr2/dynamic_bitset.tcc + * include/bits/c++config + * include/c/cassert + * include/c/cctype + * include/c/cerrno + * include/c/cfloat + * include/c/ciso646 + * include/c/climits + * include/c/clocale + * include/c/cmath + * include/c/csetjmp + * include/c/csignal + * include/c/cstdarg + * include/c/cstddef + * include/c/cstdio + * include/c/cstdlib + * include/c/cstring + * include/c/ctime + * include/c/cuchar + * include/c/cwchar + * include/c/cwctype + * include/c_global/cassert + * include/c_global/ccomplex + * include/c_global/cctype + * include/c_global/cerrno + * include/c_global/cfenv + * include/c_global/cfloat + * include/c_global/cinttypes + * include/c_global/ciso646 + * include/c_global/climits + * include/c_global/clocale + * include/c_global/cmath + * include/c_global/csetjmp + * include/c_global/csignal + * include/c_global/cstdalign + * include/c_global/cstdarg + * include/c_global/cstdbool + * include/c_global/cstddef + * include/c_global/cstdint + * include/c_global/cstdio + * include/c_global/cstdlib + * include/c_global/cstring + * include/c_global/ctgmath + * include/c_global/ctime + * include/c_global/cuchar + * include/c_global/cwchar + * include/c_global/cwctype + * include/c_std/cassert + * include/c_std/cctype + * include/c_std/cerrno + * include/c_std/cfloat + * include/c_std/ciso646 + * include/c_std/climits + * include/c_std/clocale + * include/c_std/cmath + * include/c_std/csetjmp + * include/c_std/csignal + * include/c_std/cstdarg + * include/c_std/cstddef + * include/c_std/cstdio + * include/c_std/cstdlib + * include/c_std/cstring + * include/c_std/ctime + * include/c_std/cuchar + * include/c_std/cwchar + * include/c_std/cwctype + * include/debug/array + * include/debug/bitset + * include/debug/deque + * include/debug/forward_list + * include/debug/list + * include/debug/map + * include/debug/set + * include/debug/string + * include/debug/unordered_map + * include/debug/unordered_set + * include/debug/vector + * include/decimal/decimal + * include/experimental/algorithm + * include/experimental/any + * include/experimental/array + * include/experimental/buffer + * include/experimental/chrono + * include/experimental/contract + * include/experimental/deque + * include/experimental/executor + * include/experimental/filesystem + * include/experimental/forward_list + * include/experimental/functional + * include/experimental/internet + * include/experimental/io_context + * include/experimental/iterator + * include/experimental/list + * include/experimental/map + * include/experimental/memory + * include/experimental/memory_resource + * include/experimental/net + * include/experimental/netfwd + * include/experimental/numeric + * include/experimental/propagate_const + * include/experimental/ratio + * include/experimental/regex + * include/experimental/scope + * include/experimental/set + * include/experimental/socket + * include/experimental/string + * include/experimental/string_view + * include/experimental/synchronized_value + * include/experimental/system_error + * include/experimental/timer + * include/experimental/tuple + * include/experimental/type_traits + * include/experimental/unordered_map + * include/experimental/unordered_set + * include/experimental/vector + * include/ext/algorithm + * include/ext/cmath + * include/ext/functional + * include/ext/iterator + * include/ext/memory + * include/ext/numeric + * include/ext/random + * include/ext/rb_tree + * include/ext/rope + * include/parallel/algorithm + * include/std/algorithm + * include/std/any + * include/std/array + * include/std/atomic + * include/std/barrier + * include/std/bit + * include/std/bitset + * include/std/charconv + * include/std/chrono + * include/std/codecvt + * include/std/complex + * include/std/concepts + * include/std/condition_variable + * include/std/coroutine + * include/std/deque + * include/std/execution + * include/std/expected + * include/std/filesystem + * include/std/format + * include/std/forward_list + * include/std/fstream + * include/std/functional + * include/std/future + * include/std/generator + * include/std/iomanip + * include/std/ios + * include/std/iosfwd + * include/std/iostream + * include/std/istream + * include/std/iterator + * include/std/latch + * include/std/limits + * include/std/list + * include/std/locale + * include/std/map + * include/std/memory + * include/std/memory_resource + * include/std/mutex + * include/std/numbers + * include/std/numeric + * include/std/optional + * include/std/ostream + * include/std/print + * include/std/queue + * include/std/random + * include/std/ranges + * include/std/ratio + * include/std/regex + * include/std/scoped_allocator + * include/std/semaphore + * include/std/set + * include/std/shared_mutex + * include/std/span + * include/std/spanstream + * include/std/sstream + * include/std/stack + * include/std/stacktrace + * include/std/stdexcept + * include/std/streambuf + * include/std/string + * include/std/string_view + * include/std/syncstream + * include/std/system_error + * include/std/text_encoding + * include/std/thread + * include/std/tuple + * include/std/type_traits + * include/std/typeindex + * include/std/unordered_map + * include/std/unordered_set + * include/std/utility + * include/std/valarray + * include/std/variant + * include/std/vector + * include/std/version + * include/tr1/array + * include/tr1/cfenv + * include/tr1/cinttypes + * include/tr1/cmath + * include/tr1/complex + * include/tr1/cstdbool + * include/tr1/cstdint + * include/tr1/cstdio + * include/tr1/cstdlib + * include/tr1/cwchar + * include/tr1/cwctype + * include/tr1/functional + * include/tr1/memory + * include/tr1/random + * include/tr1/regex + * include/tr1/tuple + * include/tr1/type_traits + * include/tr1/unordered_map + * include/tr1/unordered_set + * include/tr1/utility + * include/tr2/bool_set + * include/tr2/dynamic_bitset + * include/tr2/type_traits + * libsupc++/atomic_lockfree_defines.h + * libsupc++/compare + * libsupc++/cxxabi.h + * libsupc++/cxxabi_forced.h + * libsupc++/cxxabi_init_exception.h + * libsupc++/exception + * libsupc++/initializer_list + * libsupc++/new + * libsupc++/typeinfo: Likewise. + * testsuite/20_util/ratio/operations/ops_overflow_neg.cc + * testsuite/23_containers/array/tuple_interface/get_neg.cc + * testsuite/23_containers/vector/cons/destructible_debug_neg.cc + * testsuite/24_iterators/operations/prev_neg.cc + * testsuite/ext/type_traits/add_unsigned_floating_neg.cc + * testsuite/ext/type_traits/add_unsigned_integer_neg.cc + * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc + * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust + line numbers. + +2024-09-25 Jason Merrill <jason@redhat.com> + + * include/parallel/base.h: Suppress -Wdeprecated-declarations. + * include/parallel/multiseq_selection.h: Likewise. + +2024-09-24 Nathaniel Shead <nathanieloshead@gmail.com> + + * include/std/format: Remove unnecessary 'static'. + +2024-09-23 Jason Merrill <jason@redhat.com> + + * include/bits/c++config: Don't try to disable -Wc++??-extensions + when compiling as C. + +2024-09-23 Jason Merrill <jason@redhat.com> + + * libsupc++/new: Add _GLIBCXX_TXN_SAFE. + +2024-09-22 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__format::__is_formattable_integer): New + variable template and specializations. + (template<integral, __char> struct formatter): Replace + constraints on first arg with __is_formattable_integer. + * testsuite/std/format/formatter/requirements.cc: Check that + std::formatter specializations for char8_t and const int are + disabled. + +2024-09-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116754 + * include/bits/ranges_algobase.h (__copy_or_move): Fix order of + arguments to __memcpyable. + +2024-09-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116755 + * include/bits/chrono_io.h (formatter<duration<R,P>>::format): + Cast negative integral durations to unsigned rep. + * testsuite/20_util/duration/io.cc: Test the most negative + integer durations. + +2024-09-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_vector.h (operator<=>): Use constexpr + instead of _GLIBCXX20_CONSTEXPR macro. + +2024-09-22 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/exception_ptr.h (__exception_ptr::_M_safe_bool_dummy): + Remove __attribute__((const)) from function returning void. + +2024-09-22 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/cxx11-ios_failure.cc (__iosfail_type_info): Unhide + the three-arg overload of __do_upcast. + +2024-09-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def: Sort C++26 entries alphabetically. + * include/bits/version.h: Regenerate. + +2024-09-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/iterator_concepts.h: Add projected_value_t. + * include/bits/algorithmfwd.h: Add the default template + parameter to the relevant forward declarations. + * include/pstl/glue_algorithm_defs.h: Likewise. + * include/bits/ranges_algo.h: Add the default template + parameter to range-based algorithms. + * include/bits/ranges_algobase.h: Likewise. + * include/bits/ranges_util.h: Likewise. + * include/bits/ranges_base.h: Add helper macros. + * include/bits/stl_iterator_base_types.h: Add helper macro. + * include/bits/version.def: Add the new feature-testing macro. + * include/bits/version.h: Regenerate. + * include/std/algorithm: Pull the feature-testing macro. + * include/std/ranges: Likewise. + * include/std/deque: Pull the feature-testing macro, add + the default for std::erase. + * include/std/forward_list: Likewise. + * include/std/list: Likewise. + * include/std/string: Likewise. + * include/std/vector: Likewise. + * testsuite/23_containers/default_template_value.cc: New test. + * testsuite/25_algorithms/default_template_value.cc: New test. + +2024-09-21 Jason Merrill <jason@redhat.com> + + * include/c_compatibility/ctype.h + * include/c_compatibility/errno.h + * include/c_compatibility/float.h + * include/c_compatibility/iso646.h + * include/c_compatibility/limits.h + * include/c_compatibility/locale.h + * include/c_compatibility/setjmp.h + * include/c_compatibility/signal.h + * include/c_compatibility/stdarg.h + * include/c_compatibility/stdbool.h + * include/c_compatibility/stddef.h + * include/c_compatibility/stdio.h + * include/c_compatibility/string.h + * include/c_compatibility/tgmath.h + * include/c_compatibility/time.h + * include/c_compatibility/uchar.h + * include/c_compatibility/wchar.h + * include/c_compatibility/wctype.h + * include/c_global/ccomplex + * include/c_global/cctype + * include/c_global/cerrno + * include/c_global/cfloat + * include/c_global/climits + * include/c_global/clocale + * include/c_global/cmath + * include/c_global/csetjmp + * include/c_global/csignal + * include/c_global/cstdalign + * include/c_global/cstdarg + * include/c_global/cstdbool + * include/c_global/cstdio + * include/c_global/cstdlib + * include/c_global/cstring + * include/c_global/ctgmath + * include/c_global/ctime + * include/c_global/cwchar + * include/c_global/cwctype: Move header guard before #includes. + +2024-09-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116529 + * include/bits/unique_ptr.h (unique_ptr(auto_ptr<U>&&)): + Use pointer instead of T*. + * testsuite/20_util/unique_ptr/creation/116529.cc: New test. + +2024-09-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116777 + * doc/xml/manual/using.xml: Document features that are not + supported for the gcc4-compatible ABI. + * doc/html/manual/using_dual_abi.html: Regenerate. + +2024-09-19 Jason Merrill <jason@redhat.com> + + * include/bits/algorithmfwd.h: + * include/bits/allocator.h: + * include/bits/codecvt.h: + * include/bits/concept_check.h: + * include/bits/cpp_type_traits.h: + * include/bits/hashtable.h: + * include/bits/iterator_concepts.h: + * include/bits/ostream_insert.h: + * include/bits/ranges_base.h: + * include/bits/regex_automaton.h: + * include/bits/std_abs.h: + * include/bits/stl_algo.h: + * include/c_compatibility/fenv.h: + * include/c_compatibility/inttypes.h: + * include/c_compatibility/stdint.h: + * include/ext/concurrence.h: + * include/ext/type_traits.h: + * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: + * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: + * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: + * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: + * include/bits/basic_ios.tcc: + * include/bits/basic_string.tcc: + * include/bits/fstream.tcc: + * include/bits/istream.tcc: + * include/bits/locale_classes.tcc: + * include/bits/locale_facets.tcc: + * include/bits/ostream.tcc: + * include/bits/regex_compiler.tcc: + * include/bits/sstream.tcc: + * include/bits/streambuf.tcc: + * configure: Regenerate. + * include/bits/c++config: + * include/c/cassert: + * include/c/cctype: + * include/c/cerrno: + * include/c/cfloat: + * include/c/climits: + * include/c/clocale: + * include/c/cmath: + * include/c/csetjmp: + * include/c/csignal: + * include/c/cstdarg: + * include/c/cstddef: + * include/c/cstdio: + * include/c/cstdlib: + * include/c/cstring: + * include/c/ctime: + * include/c/cwchar: + * include/c/cwctype: + * include/c_global/climits: + * include/c_global/cmath: + * include/c_global/cstddef: + * include/c_global/cstdlib: + * include/decimal/decimal: + * include/ext/rope: + * include/std/any: + * include/std/charconv: + * include/std/complex: + * include/std/coroutine: + * include/std/format: + * include/std/iomanip: + * include/std/limits: + * include/std/numbers: + * include/tr1/functional: + * include/tr1/tuple: + * include/tr1/type_traits: + * libsupc++/compare: + * libsupc++/new: Add #pragma GCC diagnostic to suppress + undesired warnings. + * acinclude.m4: Change -Wabi version from 2 to 19. + +2024-09-18 Jason Merrill <jason@redhat.com> + + * include/bits/basic_ios.h: Add braces. + +2024-09-16 Jonathan Wakely <jwakely@redhat.com> + + * .editorconfig: New file. + * include/std/.editorconfig: New file. + +2024-09-16 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/intro.xml: Update link to installation docs. + * doc/html/manual/make.html: Regenerate. + +2024-09-15 Jonathan Wakely <jwakely@redhat.com> + + * include/std/span (span::__iter_tag): Declare nested type. + (span::iterator): Use __iter_tag as second template argument. + * include/std/stacktrace (basic_stacktrace::iterator): Use _Impl + as second template argument. + +2024-09-15 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/using.xml (_GLIBCXX_NO_FREESTANDING_CHRONO): + Document macro. + * doc/html/*: Regenerate. + * include/bits/chrono.h [_GLIBCXX_NO_FREESTANDING_CHRONO]: + Only include <bits/require_hosted.h> when this macro is defined. + [_GLIBCXX_HOSTED]: Only define clocks for hosted. + * include/bits/version.def (chrono_udls): Remove hosted=yes. + * include/bits/version.h: Regenerate. + * include/std/chrono [_GLIBCXX_HOSTED]: Only define clocks and + time zone utilities for hosted. + * testsuite/std/time/freestanding.cc: New test. + +2024-09-15 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/locale_classes.h (__is_facet): New helper. + * include/bits/locale_classes.tcc (locale::combine): Check that + _Facet type is valid. + +2024-09-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110512 + * include/pstl/execution_impl.h (__are_random_access_iterators): + Recognize C++20 random access iterators, and use more efficient + implementations. + * testsuite/25_algorithms/pstl/110512.cc: New test. + +2024-09-14 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__formatter_fp::_M_localize): Add comments + and micro-optimize string copy. + +2024-09-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/semaphore_base.h (__platform_semaphore): Refactor + loops to all use similar forms. + (__platform_semaphore::_M_try_acquire_until): Use chrono::ceil + to explicitly convert to __clock_t::time_point. + * testsuite/30_threads/semaphore/try_acquire_for.cc: Check that + using a very high resolution timeout compiles. + * testsuite/30_threads/semaphore/platform_try_acquire_for.cc: + New test. + +2024-09-13 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + PR libstdc++/108846 + PR libstdc++/116471 + * include/bits/ranges_algobase.h (__assign_one): New helper + function. + (__copy_or_move): Remove a spurious static_assert; use + __assign_one for memcpyable ranges of length 1. + (__copy_or_move_backward): Likewise. + * testsuite/25_algorithms/copy/108846.cc: Extend to range-based + algorithms, and cover both memcpyable and non-memcpyable + cases. + * testsuite/25_algorithms/copy_backward/108846.cc: Likewise. + * testsuite/25_algorithms/copy_n/108846.cc: Likewise. + * testsuite/25_algorithms/move/108846.cc: Likewise. + * testsuite/25_algorithms/move_backward/108846.cc: Likewise. + +2024-09-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional (__is_bool): Remove. + +2024-09-12 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/new (launder): Add static_assert and remove deleted + overloads. + * testsuite/18_support/launder/requirements_neg.cc: Adjust + expected diagnostics. + +2024-09-11 Alex Coplan <alex.coplan@arm.com> + + PR libstdc++/116140 + * include/bits/stl_algobase.h (std::__find_if): Add #pragma to + request GCC to unroll the loop. + +2024-09-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116159 + * include/std/iostream (ios_base_library_init): Only define for + ELF targets. + * src/c++98/ios_init.cc (ios_base_library_init): Likewise. + +2024-09-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116641 + * include/bits/basic_string.h (operator=(basic_string&&)): Call + _M_assign instead of assign. + * testsuite/21_strings/basic_string/allocator/116641.cc: New + test. + +2024-09-10 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/new_nothrow.cc (THROW_BAD_ALLOC): Define + macro to add exception specifications for C++98 mode. + (NOEXCEPT): Expand to throw() for C++98 mode. + * testsuite/26_numerics/headers/numeric/synopsis.cc (gcd, lcm): + Add noexcept. + +2024-09-06 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (from_stream): Fix conversions in + overloads for gps_time and tai_time. + * testsuite/std/time/clock/file/io.cc: Test round tripping using + chrono::parse. Add additional std::format tests. + * testsuite/std/time/clock/gps/io.cc: Likewise. + * testsuite/std/time/clock/local/io.cc: Likewise. + * testsuite/std/time/clock/tai/io.cc: Likewise. + * testsuite/std/time/clock/utc/io.cc: Likewise. + +2024-09-06 Jason Merrill <jason@redhat.com> + + * include/bits/regex_constants.h: Add __ to attribute. + +2024-09-06 Jason Merrill <jason@redhat.com> + + * include/bits/c++config: Avoid redefining __GLIBCXX__. + +2024-09-06 Jason Merrill <jason@redhat.com> + + PR c++/46457 + PR c++/81665 + * include/bits/regex_constants.h: Use flag_enum. + +2024-09-06 Jason Merrill <jason@redhat.com> + + * include/bits/ios_base.h (_GLIBCXX_NOREPLACE_UNUSED): New. + (_Ios_Openmode): Add unused attributes. + * testsuite/27_io/ios_base/types/openmode/case_label.cc: Handle + noreplace. + +2024-09-03 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_ops.cc (auto_win_file_handle): Add error_code& + member and set it if CreateFileW or GetFileInformationByHandle + fails. + (fs::equiv_files) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify + control flow. + (fs::hard_link_count) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Clear ec + on success. + * testsuite/27_io/filesystem/operations/hard_link_count.cc: + Check error handling. + +2024-09-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116549 + * include/bits/stl_iterator.h (disable_sized_sentinel_for): + Define specialization for two move_iterator types, as per LWG + 3736. + * testsuite/24_iterators/move_iterator/lwg3736.cc: New test. + +2024-09-03 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/any (experimental::any::_Storage): Use + array of unsigned char instead of deprecated + std::aligned_storage. + * include/std/any (any::_Storage): Likewise. + * testsuite/20_util/any/layout.cc: New test. + +2024-09-03 Dhruv Chawla <dhruvc@nvidia.com> + + * include/std/deque: Define macro + __glibcxx_want_allocator_traits_is_always_equal. + * include/std/forward_list: Likewise. + * include/std/list: Likewise. + * include/std/map: Likewise. + * include/std/scoped_allocator: Likewise. + * include/std/set: Likewise. + * include/std/string: Likewise. + * include/std/unordered_map: Likewise. + * include/std/unordered_set: Likewise. + * include/std/vector: Likewise. + * testsuite/20_util/headers/memory/version.cc: New test. + * testsuite/20_util/scoped_allocator/version.cc: Likewise. + * testsuite/21_strings/headers/string/version.cc: Likewise. + * testsuite/23_containers/deque/version.cc: Likewise. + * testsuite/23_containers/forward_list/version.cc: Likewise. + * testsuite/23_containers/list/version.cc: Likewise. + * testsuite/23_containers/map/version.cc: Likewise. + * testsuite/23_containers/set/version.cc: Likewise. + * testsuite/23_containers/unordered_map/version.cc: Likewise. + * testsuite/23_containers/unordered_set/version.cc: Likewise. + * testsuite/23_containers/vector/version.cc: Likewise. + +2024-09-02 Alexandre Oliva <oliva@adacore.com> + + * testsuite/30_threads/future/members/poll.cc: Factor out + calibration, and run it unconditionally. Lower its + strictness. Bump wait_until_*'s slowness factor. + +2024-09-02 Alexandre Oliva <oliva@adacore.com> + + PR libstdc++/91486 + * testsuite/30_threads/async/async.cc + (test_pr91486_wait_for): Mark status as unused. + (test_pr91486_wait_until): Likewise. Initialize epoch later. + +2024-09-02 Andreas Schwab <schwab@suse.de> + + PR libstdc++/116513 + * libsupc++/compare (_S_fp_bits) [__fmt == _M68k_80bit]: Shift + padding out of exponent word. + +2024-08-28 Jonathan Wakely <jwakely@redhat.com> + + * configure.ac: Fix check for O_NONBLOCK. + * config.h.in: Regenerate. + * configure: Regenerate. + +2024-08-28 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/io_context: Remove name of unused + parameter. + * include/experimental/socket: Add [[maybe_unused]] attribute. + +2024-08-28 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (format_parse_context::check_dynamic_spec): + Add [[maybe_unused]] attribute and comment. + +2024-08-28 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ranges (to): Remove unused typedef. + +2024-08-28 Kim Gräsman <kim.grasman@gmail.com> + + * config/cpu/aarch64/opt/ext/opt_random.h: Improve doxygen file + docs. + * config/cpu/i486/opt/ext/opt_random.h: Likewise. + +2024-08-28 Kim Gräsman <kim.grasman@gmail.com> + + * include/bits/cpp_type_traits.h: Improve doxygen file docs. + +2024-08-28 Jason Merrill <jason@redhat.com> + + * include/std/istream: Add cast to avoid -Wsign-compare. + * include/std/stacktrace: Likewise. + +2024-08-28 Jason Merrill <jason@redhat.com> + + * testsuite/20_util/default_delete/void_neg.cc: Fix regexp quoting. + +2024-08-28 Jason Merrill <jason@redhat.com> + + * include/std/coroutine (coroutine_handle): Use nullptr instead of + 0 as initializer for _M_fr_ptr. + +2024-08-28 Jason Merrill <jason@redhat.com> + + * include/bits/stl_uninitialized.h (__uninitialized_move_copy): Add + missing return. + +2024-08-28 Jason Merrill <jason@redhat.com> + + * include/decimal/decimal.h (_DEFINE_DECIMAL_BINARY_OP_WITH_INT): + Remove redundant semicolons. + +2024-08-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115098 + * python/libstdcxx/v6/printers.py (StdBitReferencePrinter): Add + comment. + * testsuite/libstdc++-prettyprinters/simple.cc: Do not default + construct std::vector<bool>::reference. + * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/documentation_hacking.xml: Update minimum + Doxygen version. + * doc/html/*: Regenerate. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + * include/std/tuple: Do not include implementation details in + Doxygen documentation. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h: Improve doxygen docs for + allocator_traits specializations. + * include/bits/memory_resource.h: Likewise. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional (__is_derived_from_optional): New + concept. + (operator<=>): Use __is_derived_from_optional. + * testsuite/20_util/optional/relops/lwg3746.cc: New test. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/locale_classes.tcc (__try_use_facet): Also avoid + dynamic_cast for const-qualified facet types. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108619 + * include/bits/alloc_traits.h (__allocator_traits_base): Add + variable templates for detecting which allocator operations are + supported. + (allocator_traits): Use 'if constexpr' instead of dispatching to + overloads constrained with enable_if. + (allocator_traits<allocator<T>>::construct): Use Construct if + construct_at is not supported. Use + __is_nothrow_new_constructible for noexcept-specifier. + (allocator_traits<allocator<void>>::construct): Use + __is_nothrow_new_constructible for noexcept-specifier. + * include/bits/new_allocator.h (construct): Likewise. + * include/ext/malloc_allocator.h (construct): Likewise. + * include/std/type_traits (__is_nothrow_new_constructible): New + variable template. + * testsuite/20_util/allocator/89510.cc: Adjust expected results. + * testsuite/ext/malloc_allocator/89510.cc: Likewise. + * testsuite/ext/new_allocator/89510.cc: Likewise. + * testsuite/20_util/allocator_traits/members/108619.cc: New test. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): + Ignore modifiers unless the formatting locale is not the C + locale. + (__formatter_chrono::_M_d_e): Likewise. + (__formatter_chrono::_M_H_I): Likewise. + (__formatter_chrono::_M_m): Likewise. + (__formatter_chrono::_M_M): Likewise. + (__formatter_chrono::_M_S): Likewise. + (__formatter_chrono::_M_u_w): Likewise. + (__formatter_chrono::_M_U_V_W): Likewise. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115939 + * include/bits/hashtable_policy.h (_Node_iterator): Add + operator== and operator!=. + (_Node_const_iterator): Likewise. + * testsuite/23_containers/unordered_map/115939.cc: New test. + +2024-08-23 Giovanni Bajo <rasky@develer.com> + Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/88935 + * include/bits/stl_algo.h (random_shuffle) [RAND_MAX < INT_MAX]: + Use xorshift instead of rand(). + * testsuite/25_algorithms/random_shuffle/88935.cc: New test. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + PR c++/116369 + * include/debug/safe_base.h (_Safe_sequence_base::_M_iterators): + Add mutable specifier. + (_Safe_sequence_base::_M_const_iterators): Likewise. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/debug.cc: Replace throw() with noexcept. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant [C++20] (_Uninitialized): Always use the + primary template. + [C++20] (__get_n): Access the _M_storage member directly. + +2024-08-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115098 + * include/bits/stl_bvector.h (_Bit_reference): Make default + constructor private. Declare vector and bit iterators as + friends. + * include/std/bitset (bitset::reference): Make constructor and + data members private. + * testsuite/20_util/bitset/115098.cc: New test. + * testsuite/23_containers/vector/bool/115098.cc: New test. + +2024-08-22 Patrick Palka <ppalka@redhat.com> + + * testsuite/25_algorithms/contains/1.cc: Verify value of + __cpp_lib_ranges_contains. + * testsuite/25_algorithms/find_last/1.cc: Verify value of + __cpp_lib_ranges_find_last. + * testsuite/26_numerics/iota/2.cc: Verify value of + __cpp_lib_ranges_iota. + +2024-08-22 Patrick Palka <ppalka@redhat.com> + + * include/bits/iterator_concepts.h (__detail::__projected): Define + an optimized partial specialization for when the projection is + std::identity. + * testsuite/24_iterators/indirect_callable/projected.cc: Verify the + optimization. + +2024-08-22 Patrick Palka <ppalka@redhat.com> + + * include/bits/iterator_concepts.h (indirectly_unary_invocable): + Relax as per P2997R1. + (indirectly_regular_unary_invocable): Likewise. + (indirect_unary_predicate): Likewise. + (indirect_binary_predicate): Likewise. + (indirect_equivalence_relation): Likewise. + (indirect_strict_weak_order): Likewise. + * include/bits/version.def (ranges): Update value for C++26. + * include/bits/version.h: Regenerate. + * testsuite/24_iterators/indirect_callable/p2997r1.cc: New test. + * testsuite/std/ranges/version_c++23.cc: Remove. + * testsuite/std/ranges/headers/ranges/synopsis.cc: Refine the + __cpp_lib_ranges checks. + +2024-08-22 Patrick Palka <ppalka@redhat.com> + + * include/bits/iterator_concepts.h (__detail::__indirect_value): + Define. + (__indirect_value_t): Define as per P2609R3. + (iter_common_reference_t): Adjust as per P2609R3. + (indirectly_unary_invocable): Likewise. + (indirectly_regular_unary_invocable): Likewise. + (indirect_unary_predicate): Likewise. + (indirect_binary_predicate): Likewise. + (indirect_equivalence_relation): Likewise. + (indirect_strict_weak_order): Likewise. + (__detail::__projected::__type): Define member aliases + __projected_Iter and __projected_Proj providing the + template arguments of the current specialization. + * include/bits/version.def (ranges): Update value. + * include/bits/version.h: Regenerate. + * testsuite/24_iterators/indirect_callable/p2609r3.cc: New test. + * testsuite/std/ranges/version_c++23.cc: Update expected value + of __cpp_lib_ranges macro. + +2024-08-21 Jonathan Wakely <jwakely@redhat.com> + + PR tree-optimization/102958 + * include/bits/char_traits.h (char_traits<char8_t>::length): Use + strlen. + +2024-08-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114862 + * src/c++98/locale_facets.cc (__num_base::_S_format_float): + Check uppercase flag for fixed format. + * testsuite/22_locale/num_put/put/char/lwg4084.cc: New test. + +2024-08-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116381 + * include/std/variant (variant): Fix conditions for + static_assert to match the spec. + * testsuite/20_util/variant/types_neg.cc: New test. + +2024-08-20 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional: Remove redundant redeclaration. + +2024-08-20 Jonathan Wakely <jwakely@redhat.com> + + * include/std/text_encoding: Fix indentation. + +2024-08-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115744 + * testsuite/18_support/headers/new/synopsis.cc [C++26]: Add + constexpr to placement operator new and operator new[]. + +2024-08-18 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/prerequisites.xml: Remove note from the + GCC 4.0.1 days. + * doc/html/manual/setup.html: Regenerate. + +2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/abi.xml: Update reference to + gcc.gnu.org/onlinedocs. + * doc/xml/manual/concurrency_extensions.xml (interface): Ditto. + * doc/xml/manual/extensions.xml: Ditto. + * doc/xml/manual/parallel_mode.xml: Ditto. + * doc/xml/manual/shared_ptr.xml: Ditto. + * doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC + to GCC. + * doc/html/manual/abi.html: Regenerate. + * doc/html/manual/ext_concurrency_impl.html: Ditto. + * doc/html/manual/ext_demangling.html: Ditto. + * doc/html/manual/memory.html: Ditto. + * doc/html/manual/parallel_mode_design.html: Ditto. + * doc/html/manual/parallel_mode_using.html: Ditto. + * doc/html/manual/using_exceptions.html: Ditto. + +2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/prerequisites.xml: Tweak two links to + installation docs. Fix grammar. + * doc/html/manual/setup.html: Regenerate. + +2024-08-16 Hans-Peter Nilsson <hp@axis.com> + + PR libstdc++/116362 + * configure.ac: Check newlib configuration whether iconv is enabled. + * configure: Regenerate. + +2024-08-16 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune + uncapitalized "in function" warning from linker. + +2024-08-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/115744 + * libsupc++/new (__glibcxx_want_constexpr_new): Define before + including bits/version.h. + (_GLIBCXX_PLACEMENT_CONSTEXPR): Define. + (operator new, operator new[]): Use it for placement new instead + of inline. + * include/bits/version.def (constexpr_new): New FTM. + * include/bits/version.h: Regenerate. + +2024-08-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116247 + * include/bits/fs_path.h: Use __UINTPTR_TYPE__ instead of + uintptr_t. + * include/bits/shared_ptr_atomic.h: Likewise. + * include/ext/pointer.h: Include <stdint.h>. + +2024-08-03 Patrick Palka <ppalka@redhat.com> + + * include/bits/move.h (__like_impl): New metafunction. + (__like_t): Redefine in terms of __like_impl. + (forward_like): Redefine in terms of __like_t. + * testsuite/20_util/forward_like/2_neg.cc: Don't expect + error outside the immediate context anymore. + +2024-08-02 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Include + <cstdint>. + +2024-08-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/utility.h (__is_in_place_type): Remove. + * include/std/variant (__is_in_place_tag): Remove. + +2024-08-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/align.h (align, assume_aligned): Use + __UINTPTR_TYPE__ instead of uintptr_t. Do not include + <stdint.h>. + * include/bits/atomic_base.h (__atomic_ref): Likewise. + * include/bits/atomic_wait.h (__waiter_pool_base::_S_for): + Likewise. + * include/std/atomic: Include <cstdint>. + +2024-08-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_base.h (__atomic_impl::compare_exchange_weak): + Remove unused parameter. + (__atomic_impl::compare_exchange_strong): Likewise. + +2024-08-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113807 + * include/std/bitset (bitset::_M_is_equal()): Use memcmp to + optimize operator==. + +2024-08-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/random/discrete_distribution/operators/values.cc: + Use ARGS to limit number of iterations for simulators. + +2024-08-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113841 + * include/bits/basic_string.h (basic_string::basic_string()): + Constrain so that it's only present if the allocator is default + constructible. + * include/bits/cow_string.h (basic_string::basic_string()): + Likewise. + * testsuite/21_strings/basic_string/cons/113841.cc: New test. + +2024-08-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/99942 + * include/bits/cow_string.h (data()): Change to noexcept(false). + +2024-08-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/map/operators/1_neg.cc (test01): Remove test variable + and use 'no match' dg-error patter. + * testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise. + +2024-07-31 François Dumont <frs.dumont@gmail.com> + + * testsuite/23_containers/map/operators/1_neg.cc (test01): Add test variable + declaration. + * testsuite/23_containers/set/operators/1_neg.cc (test01): Likewise. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/format.cc [!_GLIBCXX_HAS_GTHREADS] (mutex): Define + dummy mutex type. + * testsuite/std/time/format_localized.cc: Use loop variable + instead of creating the same locale on every iteration. + +2024-07-31 Sam James <sam@gentoo.org> + + * testsuite/28_regex/traits/char/translate.cc: Drop bogus 'dg_do run'. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/system_error.cc (strerror_string): Handle + non-conforming NULL return from strerror. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): + Only append "@euro" to ".ISO8859-15" locales for Glibc. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (format): Update value for C++26. + * include/bits/version.h: Regenerate. + * include/std/format (runtime_format, wruntime_format): Check + __cpp_lib_format instead of __cplusplus. + * testsuite/std/format/functions/format.cc: Update expected + value of macro for C++26 mode. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110356 + * include/bits/c++config (_GLIBCXX26_DEPRECATED): Define. + (_GLIBCXX26_DEPRECATED_SUGGEST): Define. + * include/bits/version.def (format): Update for C++26. + * include/bits/version.h: Regenerate. + * include/std/format (basic_format_arg::visit): New member + functions. + (visit_format_arg): Add deprecated attribute. + * testsuite/std/format/arguments/args.cc: Expect deprecated + warnings. Check member visit. + * testsuite/std/format/functions/format.cc: Update expected + value for __cpp_lib_format macro. + * testsuite/std/format/parse_ctx.cc: Add dg-warning for + deprecation. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110356 + * include/bits/version.def (variant): Update for C++26. + * include/bits/version.h: Regenerate. + * include/std/variant (variant::visit): New member functions. + * testsuite/20_util/variant/visit.cc: Check second alternative. + * testsuite/20_util/variant/visit_member.cc: New test. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115776 + * include/bits/version.def (format): Update for C++26. + * include/bits/version.h: Regenerate. + * include/std/format (basic_format_parse_context): Remove + default argument from constructor and split into two + constructors. Make the constructor taking size_t private for + C++26 and later. + (basic_format_parse_context::check_dynamic_spec): New member + function template. + (basic_format_parse_context::check_dynamic_spec_integral): New + member function. + (basic_format_parse_context::check_dynamic_spec_string): + Likewise. + (__format::_Spec::_S_parse_width_or_precision): Use + check_dynamic_spec_integral. + (__format::__to_arg_t_enum): New helper function. + (basic_format_arg): Declare __to_arg_t_enum as friend. + (__format::_Scanner): Define and use a derived parse context + type. + (__format::_Checking_scanner): Make arg types available to parse + context. + * testsuite/std/format/functions/format.cc: Check for new values + of __cpp_lib_format macro. + * testsuite/std/format/parse_ctx.cc: Check all members of + basic_format_parse_context. + * testsuite/std/format/parse_ctx_neg.cc: New test. + * testsuite/std/format/string.cc: Add more checks for dynamic + width and precision args. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (format): Update value for P2510R3. + * include/bits/version.h: Regenerate. + * include/std/format (_GLIBCXX_P2518R3): Remove misspelled macro + and check __glibcxx_format instead. + * testsuite/std/format/functions/format.cc: Check value of the + __cpp_lib_format macro for formatting pointers support. + * testsuite/std/format/parse_ctx.cc: Likewise. + +2024-07-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109162 + * acinclude.m4 (libtool_VERSION): Update to 6:34:0. + * config/abi/pre/gnu.ver: Disambiguate old patters. Add new + GLIBCXX_3.4.34 symbol version and new exports. + * configure: Regenerate. + * include/bits/chrono_io.h (_ChronoSpec::_M_locale_specific): + Add new accessor functions to use a reserved bit in _Spec. + (__formatter_chrono::_M_parse): Use _M_locale_specific(true) + when chrono-specs contains locale-dependent conversion + specifiers. + (__formatter_chrono::_M_format): Open iconv descriptor if + conversion to UTF-8 will be needed. + (__formatter_chrono::_M_write): New function to write a + localized string with possible character conversion. + (__formatter_chrono::_M_a_A, __formatter_chrono::_M_b_B) + (__formatter_chrono::_M_p, __formatter_chrono::_M_r) + (__formatter_chrono::_M_x, __formatter_chrono::_M_X) + (__formatter_chrono::_M_locale_fmt): Use _M_write. + * include/bits/version.def (format): Update value. + * include/bits/version.h: Regenerate. + * include/std/format (_GLIBCXX_P2518R3): Check feature test + macro instead of __cplusplus. + (basic_format_context): Declare __formatter_chrono as friend. + * src/c++20/Makefile.am: Add new file. + * src/c++20/Makefile.in: Regenerate. + * src/c++20/format.cc: New file. + * testsuite/std/time/format_localized.cc: New test. + * testsuite/util/testsuite_abi.cc: Add new symbol version. + +2024-07-30 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__local_time_fmt_for): New alias + template. + (formatter<zoned_time<D, P>>): Use __local_time_fmt_for. + * testsuite/std/time/zoned_time/io.cc: Check zoned_time<minutes> + can be formatted. + +2024-07-30 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__local_fmt_t): Remove unused + declaration. + (__formatter_chrono::_M_format_to_ostream): Add explicit + handling for specializations of __local_time_fmt, including the + time zone abbreviation in the output if __is_neg is true. + (formatter<chrono::tai_time<D>>::format): Add comment. + (formatter<chrono::gps_time<D>>::format): Likewise. + (formatter<chrono::__detail::__local_time_fmt::format): Call + _M_format with true for the __is_neg flag. + * testsuite/std/time/clock/gps/io.cc: Remove unused variable. + * testsuite/std/time/clock/local/io.cc: Fix test error that + checked tai_time instead of local_time. Add tests for + local-time-format-t formatting. + * testsuite/std/time/clock/system/io.cc: Check empty + chrono-specs. + * testsuite/std/time/clock/tai/io.cc: Likewise. + * testsuite/std/time/zoned_time/io.cc: Likewise. + +2024-07-30 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected(U&&), operator=(U&&)) + (value_or): Use remove_cv_t on default template argument, as per + LWG 3886. + * include/std/optional (optional(U&&), operator=(U&&)) + (value_or): Likewise. + * testsuite/20_util/expected/lwg3886.cc: New test. + * testsuite/20_util/optional/cons/lwg3886.cc: New test. + +2024-07-30 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_ops.cc: Fix file name in comment. + +2024-07-30 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor + parameter from const path& to const wchar_t*. + (fs::equiv_files): New function. + (fs::equivalent): Use equiv_files. + * src/filesystem/ops-common.h (fs::equiv_files): Declare. + (do_copy_file): Use equiv_files. + * src/filesystem/ops.cc (fs::equiv_files): Define. + (fs::copy, fs::equivalent): Use equiv_files. + * testsuite/27_io/filesystem/operations/copy.cc: Test + overwriting directory contents recursively. + * testsuite/27_io/filesystem/operations/copy_file.cc: Test + overwriting existing files. + +2024-07-30 Lennox Shou Hao Ho <lennoxhoe@gmail.com> + + PR libstdc++/113663 + * src/c++17/fs_ops.cc (fs::equivalent): Moved helper class + auto_handle to anonymous namespace as auto_win_file_handle. + (fs::hard_link_count): Changed Windows implementation to use + information provided by GetFileInformationByHandle which is more + reliable. + * testsuite/27_io/filesystem/operations/hard_link_count.cc: New + test. + +2024-07-29 Thomas Schwinge <tschwinge@baylibre.com> + + * testsuite/lib/libstdc++.exp (file-io-diff): Polish. + +2024-07-28 Sam James <sam@gentoo.org> + + PR libstdc++/110572 + * testsuite/18_support/type_info/110572.cc: Fix dg-do directive order. + +2024-07-27 Jonathan Wakely <jwakely@redhat.com> + + * include/std/charconv (__to_chars_16, __to_chars_10) + (__to_chars_8, __to_chars_2, __to_chars): Cast ptrdiff_t to + size_t for comparison. + (__to_chars_i): Check for first >= last instead of first == last + for initial sanity check. + +2024-07-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/std_function.h: Add comment about LWG 3617 being + supported. + +2024-07-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_algobase.h (__find_if): Remove overloads for + dispatching on iterator_category. Do not unroll loop manually. + * include/bits/stl_algo.h (__find_if_not): Remove + iterator_category argument from __find_if call. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected::value): Add assertions for LWG + 3843 requirements. + (expected<cv void, E>::value): Add assertions for LWG 3940 + requirements. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (basic_format_args): Remove default + constructor, as per LWG 4106. + * testsuite/std/format/arguments/args.cc: Check it isn't default + constructible. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/utility.h (_Swallow_assign): Make assignment + constexpr for C++11 as well, and add noexcept. + * include/std/tuple (_Swallow_assign, ignore): Move to + bits/utility.h. + * testsuite/20_util/headers/utility/ignore.cc: New test. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional: Reorder parameters in comparison + operators as per LWG 2945. + +2024-07-25 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/116038 + * include/std/functional (_Bind_front::operator()): Use __like_t + instead of std::forward when forwarding __self. + (_Bind_back::operator()): Likewise. + * include/std/ranges (_Partial::operator()): Likewise. + (_Pipe::operator()): Likewise. + * testsuite/20_util/function_objects/bind_back/116038.cc: New test. + * testsuite/20_util/function_objects/bind_front/116038.cc: New test. + * testsuite/std/ranges/adaptors/116038.cc: New test. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (bad_expected_access<void>): Add noexcept + to special member functions, as per LWG 4031. + * testsuite/20_util/expected/bad.cc: Check for nothrow copy and + move members. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional (optional): Use C++20 features to + simplify overload sets for constructors and assignment + operators. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional (optional): Constrain constructors to + prevent problematic bool conversions, as per LWG 3836. + * testsuite/20_util/optional/cons/lwg3836.cc: New test. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected): Constrain constructors to + prevent problematic bool conversions, as per LWG 3836. + * testsuite/20_util/expected/lwg3836.cc: New test. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional (_Optional_payload_base::_Storage) + [C++20]: Define constrained non-trivial destructor. + (_Optional_payload_base::_Storage<U, false>) [C++20]: Do not + define partial specialization when primary template has + constrained destructor. + (_Optional_base) [C++20]: Define constrained trivial copy and + move cons and move constructors. Define payload accessors here + instead of inheriting them from _Optional_base_impl. + (_Optional_base_impl, _Optional_base<T, false, true>) + (_Optional_base<T, true, false>, _Optional_base<T, true, true>) + [C++20]: Do not define. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional (optional): Add using-declaraction for + _Base::_M_get and declare optional<U> as friend. + (optional(const optional<U>&)): Use + _M_get instead of operator*. + (optional(optional<U>&&)): Likewise. + (operator=(const optional<U>&)): Likewise. + (operator=(optional<U>&&)): Likewise. + (and_then, tansform): Likewise. + +2024-07-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional (_Optional_base_impl::_M_get()): Move + assertions to ... + (optional::operator->, optional::operator*): ... here. + +2024-07-25 Andrew Pinski <quic_apinski@quicinc.com> + + * testsuite/lib/libstdc++.exp (v3_target_compile): Call + string trim on v3_target_compile before calling split. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116070 + * include/std/istream: Check feature test macro before using + is_class_v and is_same_v. + * include/std/ostream: Likewise. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/116070 + * include/bits/stl_bvector.h: Check feature test macro before + using is_default_constructible_v. + +2024-07-24 Michael Levine <mlevine55@bloomberg.net> + + * include/bits/ranges_algobase.h: Remove duplicate include of + <bits/stl_algobase.h>. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/12048 + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Move to... + * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-1.cc: ...here. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Move to... + * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-2.cc: ...here. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Move to... + * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-3.cc: ...here. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Move to... + * testsuite/ext/stdio_sync_filebuf/wchar_t/12048-4.cc: ...here. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/lib/libstdc++.exp (libstdc++_init): Do not copy all + data files into test directory. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/hash/chi2_q_document_words.cc: Use + dg-additional-files for input text. + * testsuite/performance/ext/pb_ds/all_text_find.cc: Likewise. + * testsuite/performance/ext/pb_ds/multimap_text_find.hpp: + Likewise. + * testsuite/performance/ext/pb_ds/multimap_text_insert.hpp: + Likewise. + * testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp: + Likewise. + * testsuite/performance/ext/pb_ds/priority_queue_text_join.cc: + Likewise. + * testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp: Likewise. + * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc: Likewise. + * testsuite/performance/ext/pb_ds/priority_queue_text_push.cc: + Likewise. + * testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc: Likewise. + * testsuite/performance/ext/pb_ds/tree_text_insert.cc: Likewise. + * testsuite/performance/ext/pb_ds/tree_text_lor_find.cc: + Likewise. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc: + Use dg-additional-files. + * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc: + Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: + Likewise. + * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: + Likewise. + * testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc: + Likewise. + * testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc: + Likewise. + * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: + Likewise. + * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: + Likewise. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_filebuf/close/char/1.cc: Remove + @require@ and @diff@. Use dg-final file-io-diff action. + * testsuite/27_io/basic_istream/extractors_other/char/2.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: + Likewise. + * testsuite/27_io/basic_istream/get/char/2.cc: Likewise. + * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise. + * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise. + * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise. + * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: + Likewise. + * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: + Likewise. + * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: + Likewise. + * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: + Likewise. Check file positions. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: + Likewise. + * testsuite/lib/libstdc++.exp (file-io-diff): New proc. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Use + dg-additional-files. + * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/path.cc: Likewise. + * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: + Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise. + * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. + * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. + * testsuite/27_io/basic_ifstream/assign/1.cc: Likewise. + * testsuite/27_io/basic_ifstream/cons/move.cc: Likewise. + * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. + * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. + * testsuite/27_io/basic_ifstream/open/wchar_t/1.cc: Likewise. + * testsuite/27_io/objects/char/10.cc: Likewise. + * testsuite/27_io/objects/char/12048-1.cc: Likewise. + * testsuite/27_io/objects/char/12048-2.cc: Likewise. + * testsuite/27_io/objects/char/12048-3.cc: Likewise. + * testsuite/27_io/objects/char/12048-4.cc: Likewise. + * testsuite/27_io/objects/char/12048-5.cc: Likewise. + * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise. + * testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise. + * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise. + * testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise. + * testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise. + * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_filebuf/close/char/2.cc: Remove + @require@ and @diff@ markup. Use dg-additional-files. Remove + unused variable. + * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove + @require@ and @diff@ markup. Use dg-additional-files. + * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise. + * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise. + * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: + Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: + Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise. + Remove unused variable. + * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Remove + @require@ and @diff@ markup. Use dg-additional-files. + * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise. + * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise. + * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise. + * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: + Likewise. + * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: + Likewise. + * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise. + * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: + Likewise. + * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: + Likewise. + * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise. + * testsuite/lib/dg-options.exp (dg-additional-files): Append to + v3_additional_files instead of replacing. + * testsuite/lib/libstdc++.exp (v3_target_compile): Reset + v3_additional_files after copying files. + +2024-07-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_filebuf/close/char/4879.cc: Remove + @require@ and @diff@ comments. + * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise. + * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: + Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: + Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: + Likewise. + * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: + Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise. + * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise. + Remove unused variable. + * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise. + * testsuite/27_io/basic_ofstream/cons/char/1.cc: Remove + @require@ and @diff@ comments. Remove unused variables. + * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Remove + * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise. + +2024-07-23 Jonathan Wakely <jwakely@redhat.com> + + * src/c++23/print.cc (__open_terminal): Use [[maybe_unused]] on + parameter. + +2024-07-23 Detlef Vollmann <dv@vollmann.ch> + + PR libstdc++/115482 + * src/c++23/print.cc (__open_terminal) [__AVR__]: Do not use + isatty. + +2024-07-18 Patrick Palka <ppalka@redhat.com> + + * include/experimental/socket + (basic_socket_iostream::basic_socket_iostream): Fix typo. + * include/tr2/dynamic_bitset + (__dynamic_bitset_base::_M_is_proper_subset_of): Likewise. + +2024-07-12 Alexandre Oliva <oliva@adacore.com> + + * testsuite/decimal/binary-arith.cc: Require dfprt. + * testsuite/decimal/comparison.cc: Likewise. + * testsuite/decimal/compound-assignment.cc: Likewise. + * testsuite/decimal/compound-assignment-memfunc.cc: Likewise. + * testsuite/decimal/make-decimal.cc: Likewise. + * testsuite/decimal/pr54036-1.cc: Likewise. + * testsuite/decimal/pr54036-2.cc: Likewise. + * testsuite/decimal/pr54036-3.cc: Likewise. + * testsuite/decimal/unary-arith.cc: Likewise. + +2024-07-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/29_atomics/atomic_ref/bool.cc: New test. + +2024-07-11 Damien Lebrun-Grandie <dalg24@gmail.com> + + * include/bits/atomic_base.h (__atomic_ref): Do not use integral + specialization for bool. + +2024-07-11 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/using.xml: Switch gcc.gnu.org links to https. + * doc/html/manual/using_concurrency.html: Regenerate. + * doc/html/manual/using_dynamic_or_shared.html: Ditto. + * doc/html/manual/using_headers.html: Ditto. + * doc/html/manual/using_namespaces.html: Ditto. + +2024-07-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108636 + * testsuite/27_io/filesystem/path/108636.cc: Require normal + mode. + +2024-07-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114387 + * include/std/format (basic_format_context): Define copy + operations as deleted, as per LWG 4061. + * testsuite/std/format/context.cc: New test. + +2024-07-10 Jonathan Wakely <jwakely@redhat.com> + + * src/c++26/text_encoding.cc (__locale_encoding): Add to unnamed + namespace. + (std::locale::encoding): Optimize for "C" and "*" names. + +2024-07-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115854 + * include/bits/stl_bvector.h (_Bvector_base): Convert allocator + to rebound type explicitly. + * testsuite/23_containers/vector/allocator/115854.cc: New test. + * testsuite/23_containers/vector/bool/allocator/115854.cc: New test. + +2024-07-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115799 + * include/bits/ranges_util.h (__find_fn): Make conversion + from difference type ti size_t explicit. + * testsuite/25_algorithms/find/bytes.cc: Check ranges::find with + __gnu_test::test_contiguous_range. + * testsuite/std/ranges/range.cc: Adjust expected difference_type + for __gnu_test::test_contiguous_range. + * testsuite/util/testsuite_iterators.h (contiguous_iterator_wrapper): + Use __max_diff_type as difference type. + (test_range::sentinel, test_sized_range_sized_sent::sentinel): + Ensure that operator- returns difference_type. + +2024-07-10 Marek Polacek <polacek@redhat.com> + + * testsuite/std/ranges/access/101782.cc: Don't compile with + -fconcepts-ts. + +2024-07-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115807 + * include/c_compatibility/stdatomic.h (_Atomic): Ensure it + refers to std::atomic in the global namespace. + * testsuite/29_atomics/headers/stdatomic.h/115807.cc: New test. + +2024-07-07 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/configure.xml: Update Autobook 14 link. + Update GCC installation instructions link. + * doc/html/manual/configure.html: Regenerate. + +2024-07-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115799 + * include/bits/stl_algo.h (find): Use 'if constexpr' so that + memchr optimization is a discarded statement for non-contiguous + iterators. + * testsuite/25_algorithms/find/bytes.cc: Check with input + iterators. + +2024-07-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115799 + * include/bits/ranges_util.h (__find_fn): Return iterator + instead of sentinel. + * testsuite/25_algorithms/find/constrained.cc: Check non-common + contiguous sized range of char. + +2024-07-06 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/17_intro/headers/c++1998/all_attributes.cc: Add + attribute names from later standards and remove dg-options. + * testsuite/17_intro/headers/c++1998/stdc++.cc: Add c++98_only + target selector. + * testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc: + Remove content and include stdc++.cc twice instead. + * testsuite/17_intro/headers/c++2011/stdc++.cc: Replace + dg-options with c++11 target selector. + * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc: + Remove content and include stdc++.cc twice instead. + * testsuite/17_intro/headers/c++2011/all_attributes.cc: Removed. + * testsuite/17_intro/headers/c++2011/all_no_exceptions.cc: Removed. + * testsuite/17_intro/headers/c++2011/all_no_rtti.cc: Removed. + * testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc: Removed. + * testsuite/17_intro/headers/c++2011/charset.cc: Removed. + * testsuite/17_intro/headers/c++2011/operator_names.cc: Removed. + * testsuite/17_intro/headers/c++2014/all_attributes.cc: Removed. + * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: Removed. + * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: Removed. + * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: Removed. + * testsuite/17_intro/headers/c++2014/charset.cc: Removed. + * testsuite/17_intro/headers/c++2014/operator_names.cc: Removed. + * testsuite/17_intro/headers/c++2014/stdc++.cc: Removed. + * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: Removed. + * testsuite/17_intro/headers/c++2017/all_attributes.cc: Removed. + * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: Removed. + * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Removed. + * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: Removed. + * testsuite/17_intro/headers/c++2017/charset.cc: Removed. + * testsuite/17_intro/headers/c++2017/operator_names.cc: Removed. + * testsuite/17_intro/headers/c++2017/stdc++.cc: Removed. + * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: Removed. + * testsuite/17_intro/headers/c++2020/all_attributes.cc: Removed. + * testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: Removed. + * testsuite/17_intro/headers/c++2020/all_no_rtti.cc: Removed. + * testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: Removed. + * testsuite/17_intro/headers/c++2020/charset.cc: Removed. + * testsuite/17_intro/headers/c++2020/operator_names.cc: Removed. + * testsuite/17_intro/headers/c++2020/stdc++.cc: Removed. + * testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc: Removed. + +2024-07-06 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (_Variant_storage::_M_reset): Use + __unlikely__ form of attribute instead of unlikely. + +2024-07-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115797 + * include/std/type_traits: Ensure "C++" language linkage. + * testsuite/17_intro/headers/c++2011/linkage.cc: Replace + dg-options with c++11 target selector. + +2024-07-05 Jonathan Wakely <jwakely@redhat.com> + + PR c++/115747 + * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: + Add dg-error for new C++26 diagnostics. + +2024-07-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_uninitialized.h (_UninitDestroyGuard): New + class template and partial specialization. + (__do_uninit_copy, __do_uninit_fill, __do_uninit_fill_n) + (__uninitialized_copy_a, __uninitialized_fill_a) + (__uninitialized_fill_n_a, __uninitialized_copy_move) + (__uninitialized_move_copy, __uninitialized_fill_move) + (__uninitialized_move_fill, __uninitialized_default_1) + (__uninitialized_default_n_a, __uninitialized_default_novalue_1) + (__uninitialized_default_novalue_n_1, __uninitialized_copy_n) + (__uninitialized_copy_n_pair): Use it. + +2024-07-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/88545 + PR libstdc++/115040 + * include/bits/cpp_type_traits.h (__can_use_memchr_for_find): + New variable template. + * include/bits/ranges_util.h (__find_fn): Use memchr when + possible. + * include/bits/stl_algo.h (find): Likewise. + * testsuite/25_algorithms/find/bytes.cc: New test. + +2024-07-04 John David Anglin <danglin@gcc.gnu.org> + + PR libstdc++/98678 + * testsuite/30_threads/future/members/poll.cc: Skip on hppa*-*-linux*. + +2024-06-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115585 + * src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add + definition for non-verbose builds. + +2024-06-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/101485 + * include/bits/stl_algobase.h (__equal_aux1): Check for + std::byte as well. + * testsuite/25_algorithms/equal/101485.cc: New test. + +2024-06-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104395 + * include/bits/new_allocator.h: Disable extended alignment + support in C++98 mode. + * include/bits/stl_tempbuf.h: Likewise. + * include/ext/bitmap_allocator.h: Likewise. + * include/ext/malloc_allocator.h: Likewise. + * include/ext/mt_allocator.h: Likewise. + * include/ext/pool_allocator.h: Likewise. + * testsuite/ext/104395.cc: New test. + +2024-06-28 Jonathan Wakely <jwakely@redhat.com> + + * include/ext/aligned_buffer.h (__aligned_membuf): Use + alignas(T) directly instead of defining a struct and using 9its + alignment. + (__aligned_buffer): Remove use of std::aligned_storage. + * testsuite/abi/aligned_buffers.cc: New test. + +2024-06-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/37475 + * config/locale/gnu/codecvt_members.cc (Guard): New RAII type. + (do_out, do_in): Return partial if the destination is empty but + the source is not. Use Guard to restore locale on scope exit. + Return immediately on any conversion error. + (do_encoding, do_max_length, do_length): Use Guard. + * testsuite/22_locale/codecvt/in/char/37475.cc: New test. + * testsuite/22_locale/codecvt/in/wchar_t/37475.cc: New test. + * testsuite/22_locale/codecvt/out/char/37475.cc: New test. + * testsuite/22_locale/codecvt/out/wchar_t/37475.cc: New test. + +2024-06-27 Alexandre Oliva <oliva@adacore.com> + + PR libstdc++/115454 + * testsuite/experimental/simd/pr115454_find_last_set.cc: Defer + to check_vect_support_and_set_flags's default dg-do action. + +2024-06-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115668 + * include/bits/chrono_io.h (formatter<duration<R,P, C>::format): + Do not use chrono::abs. + * testsuite/20_util/duration/io.cc: Check formatting a duration + with unsigned rep. + +2024-06-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103191 + * include/bits/stl_bvector.h (vector<bool>::operator[]) + (vector<bool>::front, vector<bool>::back): Add debug assertions. + * testsuite/23_containers/vector/bool/element_access/constexpr.cc: + Remove dg-error that no longer triggers. + +2024-06-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111250 + * include/debug/assertions.h (__glibcxx_requires_non_empty_range) + (__glibcxx_requires_nonempty, __glibcxx_requires_subscript): + Define to __glibcxx_assert expressions or to debug mode + __glibcxx_check_xxx expressions. + * testsuite/23_containers/array/element_access/constexpr_c++17.cc: + Add checks for out-of-bounds accesses in constant expressions. + * testsuite/23_containers/vector/element_access/constexpr.cc: + Likewise. + +2024-06-26 Jonathan Wakely <jwakely@redhat.com> + + * scripts/update_release_branch.sh: New file. + +2024-06-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc: + Copy defaulted assignment operator from 808590-cxx11.cc to + suppress a warning. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc: + Removed. + +2024-06-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/90276 + * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: + Increase timeout for debug mode. + * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.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/set_symmetric_difference.cc: + Likewise. + +2024-06-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/90276 + * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc + [_GLIBCXX_DEBUG]: Add xfail-run-if for debug mode. + * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc + [_GLIBCXX_DEBUG]: Reduce size of test data. + * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: + Likewise. + +2024-06-26 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (minmax_year, minmax_year2): Remove. + (years_from_to): New class replacing minmax_year and + minmax_year2. + (format_abbrev_str, select_std_or_dst_abbrev): Move earlier in + the file. Handle "-" for letters. + (ZoneInfo::to): Use format_abbrev_str to expand %z. + (ZoneInfo::set_abbrev): Remove exception. Change parameter from + reference to value. + (operator>>(istream&, Rule&)): Do not clear letters when it + contains "-". + (time_zone::_M_get_sys_info): Add missing logic to find the Rule + in effect before the time point. + * testsuite/std/time/tzdb/1.cc: Adjust for vanguard format using + "GMT" as the Zone name, not as a Link to "Etc/GMT". + * testsuite/std/time/time_zone/sys_info_abbrev.cc: New test. + +2024-06-26 Alexandre Oliva <oliva@adacore.com> + Marc Poulhiès <poulhies@adacore.com> + + * testsuite/lib/dg-options.exp (add_options_for_libatomic): + None for *-*-vxworks*. + +2024-06-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/valarray_array.h (_Array_default_ctor): Remove. + (__valarray_default_construct): Inline it into here. + (_Array_init_ctor): Remove. + (__valarray_fill_construct): Inline it into here. + (_Array_copy_ctor): Remove. + (__valarray_copy_construct(const T*, const T*, T*)): Inline it + into here. + (__valarray_copy_construct(const T*, size_t, size_t, T*)): + Use _GLIBCXX17_CONSTEXPR for constant condition. + +2024-06-25 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/faq.xml: Replace viewcvs links with cgit links. + * doc/xml/manual/allocator.xml: Likewise. + * doc/xml/manual/mt_allocator.xml: Likewise. + * doc/html/*: Regenerate. + +2024-06-22 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/debug.xml: Move gcc.gnu.org link to https. + Ditto for sourceware.org links. + * doc/html/manual/debug.html: Regenerate. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115497 + * include/bits/cpp_type_traits.h (__is_pointer, __is_scalar): + Remove. + (__is_arithmetic): Do not use __is_pointer in the primary + template. Add partial specialization for pointers. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115497 + * include/bits/cpp_type_traits.h (__is_void): Remove. + * include/debug/helper_functions.h (_Distance_traits): + Adjust partial specialization to match void directly, instead of + using __is_void<T>::__type and matching __true_type. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115497 + * include/bits/deque.tcc (__lex_cmp_dit): Replace __is_pointer + class template with __is_pointer(T) built-in. + (__lexicographical_compare_aux1): Likewise. + * include/bits/stl_algobase.h (__equal_aux1): Likewise. + (__lexicographical_compare_aux1): Likewise. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115497 + * include/bits/valarray_array.h (__valarray_default_construct): + Use __is_trivial(_Tp). instead of __is_scalar<_Tp>. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109150 + * include/bits/stl_algobase.h (__fill_a1): Combine the + !__is_scalar and __is_scalar overloads into one and rewrite the + condition used to decide whether to perform the load outside the + loop. + * testsuite/25_algorithms/fill/109150.cc: New test. + * testsuite/25_algorithms/fill_n/109150.cc: New test. + +2024-06-21 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/115575 + * testsuite/experimental/simd/pr115454_find_last_set.cc: Require + avx512f_runtime. Don't memcpy fixed_size masks. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_uninitialized.h (uninitialized_default_construct) + (uninitialized_default_construct_n, uninitialized_value_construct) + (uninitialized_value_construct_n): Qualify calls to prevent ADL. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + * include/std/any (any_cast(any*), any_cast(const any*)): Add + static assertion to reject void types, as per LWG 3305. + * testsuite/20_util/any/misc/lwg3305.cc: New test. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/memory_resource.h (polymorphic_allocator::destroy): + Remove deprecated attribute. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + * include/backward/backward_warning.h: Adjust comments to + suggest <spanstream> as another alternative to <strstream>. + * include/backward/strstream (strstreambuf, istrstream) + (ostrstream, strstream): Add deprecated attribute. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/locale_conv.h (wstring_convert): Add deprecated + attribute for C++17 and later. + (wbuffer_convert): Likewise. + * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: Disable + deprecated warnings. + * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Likewise. + * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: + Likewise. + * testsuite/22_locale/conversions/buffer/1.cc: Add dg-warning. + * testsuite/22_locale/conversions/buffer/2.cc: Likewise. + * testsuite/22_locale/conversions/buffer/3.cc: Likewise. + * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: + Likewise. + * testsuite/22_locale/conversions/string/1.cc: Likewise. + * testsuite/22_locale/conversions/string/2.cc: Likewise. + * testsuite/22_locale/conversions/string/3.cc: Likewise. + * testsuite/22_locale/conversions/string/66441.cc: Likewise. + * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: + Likewise. + * testsuite/22_locale/conversions/string/requirements/typedefs.cc: + Likewise. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (chrono): Add cxx11abi = yes. + * include/bits/version.h: Regenerate. + * testsuite/std/time/syn_c++20.cc: Adjust expected value for + the feature test macro. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115522 + * include/std/array (to_array): Workaround the fact that + std::is_trivial is not sufficient to check that a type is + trivially default constructible and assignable. + * testsuite/23_containers/array/creation/115522.cc: New test. + +2024-06-21 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_allocator.h (tracker_allocator): + Initialize base class in copy constructor. + +2024-06-20 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/115454 + * include/experimental/bits/simd_x86.h (_S_not_equal_to): Use + neq comparison instead of bitwise negation after eq. + (_S_find_last_set): Clear unused high bits before computing + bit_width. + * testsuite/experimental/simd/pr115454_find_last_set.cc: New + test. + +2024-06-19 Jonathan Wakely <jwakely@redhat.com> + + * include/std/future: Adjust whitespace to use tabs for + indentation. + +2024-06-19 Jonathan Wakely <jwakely@redhat.com> + + * include/std/future (_State_baseV2::_Setter<R, void>): Add + noexcept to call operator. + (_State_baseV2::_Setter<R, __exception_ptr_tag>): Likewise. + +2024-06-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_pair.h [__cpp_lib_concepts] (pair()): Add + conditional noexcept. + +2024-06-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_tempbuf.h (__get_temporary_buffer): Cast + argument to size_t to handle negative values and suppress + -Wsign-compare warning. + (_Temporary_buffer): Move diagnostic pragmas to new location of + call to std::get_temporary_buffer. + +2024-06-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/cpp_type_traits.h: Fix outdated comment about the + number of standard integer types. + +2024-06-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110572 + * libsupc++/typeinfo (type_info::operator==): Add always_inline + attribute for targets where the ABI requries equality to be + non-inline. + * testsuite/18_support/type_info/110572.cc: New test. + +2024-06-14 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Fix declaration of + posix_memalign. + +2024-06-13 Alexandre Oliva <oliva@adacore.com> + + PR libstdc++/114359 + * testsuite/26_numerics/random/binomial_distribution/114359.cc: + Require cmath. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (__add_rval_ref_t): Use + __add_rvalue_reference built-in trait. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (__add_lval_ref_t): Use + __add_lvalue_reference built-in trait. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + Jonathan Wakely <jwakely@redhat.com> + + * include/bits/cpp_type_traits.h (__is_pointer): Use + __is_pointer built-in trait. + * include/std/type_traits (is_pointer): Likewise. Optimize its + implementation. + (is_pointer_v): Likewise. + +2024-06-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_base.h (range_common_reference_t): New + alias template, as per LWG 3860. + * testsuite/std/ranges/range.cc: Check it. + +2024-06-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_base.h (const_iterator_t): Change + preprocessor condition to use __glibcxx_ranges_as_const. + (const_sentinel_t, range_const_reference_t): Likewise. + (__access::__possibly_const_range, cbegin, cend, crbegin) + (crend, cdata): Likewise. + * include/bits/stl_iterator.h (iter_const_reference_t) + (basic_const_iterator, const_iterator, const_sentinel) + (make_const_iterator): Likewise. + +2024-06-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115420 + * include/bits/hashtable.h (_Hashtable): Add static_assert to + check that hash function is copy constructible. + * testsuite/23_containers/unordered_map/115420.cc: New test. + +2024-06-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113376 + * include/pstl/pstl_config.h: Use #if instead of #ifdef to test + the _PSTL_USAGE_WARNINGS macro. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_nothrow_invocable): Use + __is_nothrow_invocable built-in trait. + * testsuite/20_util/is_nothrow_invocable/incomplete_args_neg.cc: + Handle the new error from __is_nothrow_invocable. + * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: + Likewise. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_invocable): Use __is_invocable + built-in trait. + * testsuite/20_util/is_invocable/incomplete_args_neg.cc: Handle + the new error from __is_invocable. + * testsuite/20_util/is_invocable/incomplete_neg.cc: Likewise. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (rank): Use __array_rank built-in + trait. + (rank_v): Likewise. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (decay): Use __decay built-in trait. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (remove_all_extents): Use + __remove_all_extents built-in trait. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (remove_extent): Use __remove_extent + built-in trait. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (add_pointer): Use __add_pointer + built-in trait. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_unbounded_array_v): Use + __is_unbounded_array built-in trait. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_volatile): Use __is_volatile + built-in trait. + (is_volatile_v): Likewise. + +2024-06-13 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_const): Use __is_const built-in + trait. + (is_const_v): Likewise. + +2024-06-12 Alexandre Oliva <oliva@adacore.com> + + * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: + Require cmath. + * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: + Likewise. + * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: + Likewise. + +2024-06-12 Alexandre Oliva <oliva@adacore.com> + + * testsuite/20_util/from_chars/8.cc: Skip float128_t testing + on aarch64-rtems*. + * testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on + aarch64-rtems*. + +2024-06-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115399 + * include/tr2/dynamic_bitset (operator>>=): Remove redundant + call to _M_do_sanitize. + * include/tr2/dynamic_bitset.tcc (_M_do_left_shift): Zero out + low bits in words that should no longer be populated. + (_M_do_right_shift): Likewise for high bits. + * testsuite/tr2/dynamic_bitset/pr115399.cc: New test. + +2024-06-12 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/hashtable.h (_Hashtable::clear): Do not use + memset to zero out bucket pointers. + (_Hashtable::_M_assign_elements): Likewise. + +2024-06-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono (leap_seconds): Add comment. + * testsuite/std/time/leap_seconds/io.cc: New test. + +2024-06-10 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable.h (~_Hashtable()): Replace clear call with + a _M_deallocate_nodes call. + +2024-06-08 Deev Patel <dkp10000@gmail.com> + Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_base.h (__atomic_impl::__clear_padding): + Add missing constexpr specifier. + * testsuite/29_atomics/atomic_float/constinit.cc: New test. + +2024-06-08 Michael Levine <mlevine55@bloomberg.net> + + PR libstdc++/108760 + * include/bits/ranges_algo.h (ranges::out_value_result): + Move to <bits/ranges_algobase.h>. + (ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to + <numeric>. + * include/bits/ranges_algobase.h (ranges::out_value_result): + Move to here. + * include/std/numeric (ranges::iota_result, ranges::__iota_fn) + (ranges::iota): Move to here. + * testsuite/25_algorithms/iota/1.cc: Renamed to ... + * testsuite/26_numerics/iota/2.cc: ... here. + +2024-06-08 Jonathan Wakely <jwakely@redhat.com> + + * include/std/algorithm: Define __glibcxx_want_ranges. + * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Check + feature test macro in C++20 mode. + +2024-06-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_algobase.h: Include <bits/stl_algobase.h>. + +2024-06-07 Alexandre Oliva <oliva@adacore.com> + + * include/std/variant: Drop obsolete workaround. + +2024-06-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ptr_traits.h (to_address): Optimize. + * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error text. + +2024-06-06 Alexandre Oliva <oliva@adacore.com> + + * include/bits/c++config (_GLIBCXX_CLANG): Define or undefine. + * include/bits/locale_facets_nonio.tcc: Test for it. + * include/bits/stl_bvector.h: Likewise. + * include/c_compatibility/stdatomic.h: Likewise. + * include/experimental/bits/simd.h: Likewise. + * include/experimental/bits/simd_builtin.h: Likewise. + * include/experimental/bits/simd_detail.h: Likewise. + * include/experimental/bits/simd_x86.h: Likewise. + * include/experimental/simd: Likewise. + * include/std/complex: Likewise. + * include/std/ranges: Likewise. + * include/std/variant: Likewise. + * include/pstl/pstl_config.h: Likewise. + +2024-06-05 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/faq.xml: Move gcc.gnu.org to https. + * doc/html/faq.html: Regenerate. + +2024-06-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115335 + * include/std/span (span::at): Guard with feature test macro. + +2024-06-04 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/115308 + * include/experimental/bits/simd.h (__int_for_sizeof): Remove + special cases for __clang__. + (_SimdWrapper): Change constructor overload set to allow + conversion from vector types with integral conversions via bit + reinterpretation. + +2024-06-03 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): + Use __detail::__get_temporary_buffer. + (basic_stacktrace::_Impl::_M_deallocate): Use + __detail::__return_temporary_buffer. + +2024-06-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105258 + * include/bits/stl_tempbuf.h (__detail::__get_temporary_buffer): + New function to do allocation for get_temporary_buffer, with + extended alignment support. + (__detail::__return_temporary_buffer): Support extended + alignment. + (get_temporary_buffer): Use __get_temporary_buffer. + (return_temporary_buffer): Support extended alignment. Add + deprecated attribute. + (_Temporary_buffer): Move allocation and deallocation into a + subobject and remove try-catch block in constructor. + (__uninitialized_construct_buf): Use argument deduction for + value type. + * testsuite/20_util/temporary_buffer.cc: Add dg-warning for new + deprecated warning. + * testsuite/25_algorithms/stable_sort/overaligned.cc: New test. + +2024-06-03 François Dumont <frs.dumont@gmail.com> + + PR libstdc++/109849 + * include/bits/vector.tcc + (std::vector<>::_M_range_insert(iterator, _FwdIt, _FwdIt, + forward_iterator_tag))[__cplusplus < 201103L]: Add __builtin_unreachable + expression to tell the compiler that the allocated buffer is large enough to + receive current elements plus the elements of the range to insert. + +2024-06-03 Jonathan Wakely <jwakely@redhat.com> + + * include/std/string_view (starts_with(basic_string_view)): + Compare lengths first and then call traits_type::compare + directly. + +2024-06-02 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/api.xml: Move gcc.gnu.org links to https. + * doc/html/api.html: Regenerate. + +2024-06-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115269 + * doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs. + Replace list of -std=... options with a single entry for -std. + * doc/html/manual/using.html: Regenerate. + +2024-05-30 Alexandre Oliva <oliva@adacore.com> + + * configure.ac [*-*-rtems*]: Set chdir, chmod and mkdir as + available. + * configure: Rebuilt. + +2024-05-29 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/vector.tcc (_Guard): Move all the nested duplicated class... + * include/bits/stl_vector.h (_Guard_alloc): ...here and rename. + (_M_allocate_and_copy): Use latter. + (_M_initialize_dispatch): Small code simplification. + (_M_range_initialize): Likewise and set _M_finish first from the result + of __uninitialize_fill_n_a that can throw. + +2024-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR libstdc++/111641 + * src/libbacktrace/Makefile.am (AM_CFLAGS): Add -funwind-tables. + * src/libbacktrace/Makefile.in: Regenerate. + * testsuite/19_diagnostics/stacktrace/current.cc (dg-options): Add + -funwind-tables. + * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. + +2024-05-29 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/115247 + * include/experimental/bits/simd.h (__as_vector): Don't use + vector_size(8) on __i386__. + (__vec_shuffle): Never return MMX vectors, widen to 16 bytes + instead. + (concat): Fix padding calculation to pick up widening logic from + __as_vector. + +2024-05-23 Patrick Palka <ppalka@redhat.com> + + * include/bits/version.def (ranges_concat): Define. + * include/bits/version.h: Regenerate. + * include/std/ranges (__detail::__concat_reference_t): Define + for C++26. + (__detail::__concat_value_t): Likewise. + (__detail::__concat_rvalue_reference_t): Likewise. + (__detail::__concat_indirectly_readable_impl): Likewise. + (__detail::__concat_indirectly_readable): Likewise. + (__detail::__concatable): Likewise. + (__detail::__all_but_last_common): Likewise. + (__detail::__concat_is_random_access): Likewise. + (__detail::__concat_is_bidirectional): Likewise. + (__detail::__last_is_common): Likewise. + (concat_view): Likewise. + (__detail::__concat_view_iter_cat): Likewise. + (concat_view::iterator): Likewise. + (views::__detail::__can_concat_view): Likewise. + (views::_Concat, views::concat): Likewise. + * testsuite/std/ranges/concat/1.cc: New test. + +2024-05-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/locale_classes.h (locale::combine) + (locale::name, locale::operator==, locale::operator!=) + (locale::operator(), locale::classic): Add nodiscard + attribute. + * include/bits/locale_classes.tcc (has_facet, use_facet): + Likewise. + * testsuite/22_locale/locale/cons/12438.cc: Add dg-warning for + nodiscard diagnostic. + * testsuite/22_locale/locale/cons/2.cc: Cast use_facet + expression to void, to suppress diagnostic. + * testsuite/22_locale/locale/cons/unicode.cc: Likewise. + * testsuite/22_locale/locale/operations/2.cc: Add dg-warning. + +2024-05-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108323 + * include/bits/locale_classes.tcc (locale(const locale&, Facet*)): + Return a copy of the first argument when the facet pointer is + null, as per LWG 2295. + (locale::combine): Ensure the result is unnamed. + * src/c++11/localename.cc (_M_replace_categories): Ignore + whether the second locale has a name when cat == none, as per + LWG 3676. + * src/c++98/locale.cc (_M_install_facet): Use __builtin_expect + to predict that the facet pointer is non-null. + * testsuite/22_locale/locale/cons/names.cc: New test. + +2024-05-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114940 + * include/bits/version.def (generator): Depend on + __cpp_sized_deallocation. + * include/bits/version.h: Regenerate. + * include/std/stacktrace (_GLIBCXX_SIZED_DELETE): New macro. + (basic_stacktrace::_Impl::_M_deallocate): Use it. + +2024-05-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115099 + * include/bits/std_thread.h: Declare formatter as friend of + thread::id. + * include/std/thread (operator<<): Convert non-void pointers to + void pointers for output. + (formatter): Add constraint that thread::native_handle_type is a + pointer or integer. + (formatter::format): Reimplement without basic_ostringstream. + * testsuite/30_threads/thread/id/output.cc: Check output + compiles before <sstream> has been included. + +2024-05-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115145 + * include/std/variant (operator==, operator!=, operator<) + (operator<=, operator>, operator>=): Add trailing-return-type to + lambda expressions to trigger conversion to bool. + * testsuite/20_util/variant/relops/115145.cc: New test. + +2024-05-17 Björn Schäpers <bjoern@hazardy.de> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTACE): Add check for + tlhelp32.h, matching libbacktrace. + * config.h.in: Regenerate. + * configure: Regenerate. + +2024-05-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115119 + * include/bits/unicode.h (_Iterator::operator++(int)): Fix typo + in increment expression. + * testsuite/ext/unicode/grapheme_view.cc: Check post-increment + on view's iterator. + +2024-05-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/77704 + * include/bits/basic_ios.h (basic_ios::fill()): Do not modify + _M_fill and _M_fill_init in a const member function. + (basic_ios::fill(char_type)): Use _M_fill directly instead of + calling fill(). Set _M_fill_init to true. + * include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill and + _M_fill_init here instead. + * testsuite/27_io/basic_ios/fill/char/1.cc: New test. + * testsuite/27_io/basic_ios/fill/wchar_t/1.cc: New test. + +2024-05-15 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (__detail::__variant::__compare): New + function template. + (operator==, operator!=, operator<, operator>, operator<=) + (operator>=): Replace macro definition with handwritten function + calling __detail::__variant::__compare. + (operator<=>): Call __detail::__variant::__compare. + +2024-05-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/89624 + * include/bits/atomic_base.h (memory_order): Use int as + underlying type. + * testsuite/29_atomics/atomic/89624.cc: New test. + +2024-05-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115015 + * src/c++23/print.cc (__open_terminal(streambuf*)) [!__cpp_rtti]: + Do not use dynamic_cast. + +2024-05-14 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/strings.xml: Clarify that GCC 4.5 added + std::string::shrink_to_fit. + * doc/html/manual/strings.html: Regenerate. + +2024-05-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/115063 + * include/std/stacktrace (basic_stacktrace::max_size): Fix typo + in reference to _M_alloc member. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Check + max_size() compiles. + +2024-05-13 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/114958 + * include/experimental/bits/simd.h (__as_vector): Return scalar + simd as one-element vector. Return vector from single-vector + fixed_size simd. + (__vec_shuffle): New. + (__extract_part): Adjust return type signature. + (split): Use __extract_part for any split into non-fixed_size + simds. + (concat): If the return type stores a single vector, use + __vec_shuffle (which calls __builtin_shufflevector) to produce + the return value. + * include/experimental/bits/simd_builtin.h + (__shift_elements_right): Removed. + (__extract_part): Return single elements directly. Use + __vec_shuffle (which calls __builtin_shufflevector) to for all + non-trivial cases. + * include/experimental/bits/simd_fixed_size.h (__extract_part): + Return single elements directly. + * testsuite/experimental/simd/pr114958.cc: New test. + +2024-05-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unicode.h (_Unicode_view::_M_read_utf8): Ensure + count of characters consumed is correct when the end of the + input is reached unexpectedly. + * testsuite/ext/unicode/view.cc: Test incomplete UTF-8 + sequences. + +2024-05-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114866 + * include/bits/out_ptr.h [!_GLIBCXX_HOSTED]: Don't refer to + shared_ptr, __shared_ptr or __is_shred_ptr. + * testsuite/20_util/headers/memory/114866.cc: New test. + +2024-05-07 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): + Simplify. + +2024-05-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_pair.h (operator==): Add constraint. + * include/bits/version.def (constrained_equality): Define. + * include/bits/version.h: Regenerate. + * include/std/optional: Define feature test macro. + (__optional_rep_op_t): Use is_convertible_v instead of + is_convertible. + * include/std/tuple: Define feature test macro. + (operator==, __tuple_cmp, operator<=>): Reimplement C++20 + comparisons using lambdas. Add constraints. + * include/std/utility: Define feature test macro. + * include/std/variant: Define feature test macro. + (_VARIANT_RELATION_FUNCTION_TEMPLATE): Add constraints. + (variant): Remove unnecessary friend declarations for comparison + operators. + * testsuite/20_util/optional/relops/constrained.cc: New test. + * testsuite/20_util/pair/comparison_operators/constrained.cc: + New test. + * testsuite/20_util/tuple/comparison_operators/constrained.cc: + New test. + * testsuite/20_util/variant/relops/constrained.cc: New test. + * testsuite/20_util/tuple/comparison_operators/overloaded.cc: + Disable for C++20 and later. + * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: + Remove dg-error line for target c++20. + +2024-05-07 Jonathan Wakely <jwakely@redhat.com> + + * include/backward/auto_ptr.h: Use https for URL in comment. + * include/bits/basic_ios.h: Likewise. + * include/std/iostream: Likewise. + +2024-05-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_abi.cc: Update latest versions to + new versions that should be used in future. + +2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * src/Makefile.am [ENABLE_SYMVERS_SUN] + (libstdc++-symbols.ver-sun): Pass $(libstdc___la_OBJECTS), + $(libstdc___la_LIBADD) to make_sunver.pl unmodified. + * src/Makefile.in: Regenerate. + +2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * testsuite/lib/dg-options.exp (add_options_for_net_ts) + <*-*-solaris2*>: Don't link with -lsocket -lnsl. + +2024-05-03 Andreas Schwab <schwab@linux-m68k.org> + + * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. + +2024-05-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114891 + * include/std/generator: Check feature test macro before using + is_pointer_interconvertible_v. + +2024-04-30 Christophe Lyon <christophe.lyon@linaro.org> + + * testsuite/lib/gdb-test.exp (gdb-test): Fix regexp. Quote + newlines in logs. + +2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + Backported from master: + 2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. + * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: + Likewise. + * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. + * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: + Likewise. + +2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + Backported from master: + 2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. + * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: + Likewise. + * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. + * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: + Likewise. + +2024-04-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114863 + * include/std/format (__formatter_fp::format): Only use + _M_localized for finite values. + * testsuite/std/format/functions/format.cc: Check localized + formatting of NaN and initiny. + +2024-04-26 Jonathan Wakely <jwakely@redhat.com> + + * doc/html/manual/status.html: Regenerate. + * doc/xml/manual/status_cxx1998.xml: Adjust whitespace. + * doc/xml/manual/status_cxx2011.xml: Likewise. + * doc/xml/manual/status_cxx2014.xml: Likewise. + * doc/xml/manual/status_cxx2017.xml: Likewise. + * doc/xml/manual/status_cxx2020.xml: Likewise. + * doc/xml/manual/status_cxx2023.xml: Likewise. + * doc/xml/manual/status_cxxtr1.xml: Likewise. + * doc/xml/manual/status_cxxtr24733.xml: Likewise. + +2024-04-25 Jonathan Wakely <jwakely@redhat.com> + + * scripts/run_doxygen: Rename man pages for nested types. + +2024-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono (tzdb_list): Fix typo in Doxygen comment. + +2024-04-25 Jonathan Wakely <jwakely@redhat.com> + + * scripts/run_doxygen: Adjust sed pattern to match '\fR' for + new man output that Doxygen 1.10 generates. + +2024-04-25 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/stdheader.cc (init_map): Add missing headers. + * doc/doxygen/user.cfg.in (EXCLUDE): Exclude generated files for + std::format and std::text_encoding. + +2024-04-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant: Add comment to #include. + +2024-04-22 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/114803 + * include/experimental/bits/simd_builtin.h + (_SimdBase2::operator __vector_type_t): There is no __builtin() + function in _SimdWrapper, instead use its conversion operator. + * testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New + test. + +2024-04-22 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h: Ignore -Wnarrowing for + arm_neon.h. + (__int_for_sizeof): Replace tautological compare with checking + for invalid template parameter value. + * include/experimental/bits/simd_builtin.h (__extract_part): + Remove tautological compare by combining two static_assert. + +2024-04-22 Jakub Jelinek <jakub@redhat.com> + + * testsuite/17_intro/names.cc (d, f): Undefine on s390*-linux*. + * testsuite/17_intro/headers/c++1998/all_attributes.cc (packed): Don't + define on s390. + * testsuite/17_intro/headers/c++2011/all_attributes.cc (packed): + Likewise. + * testsuite/17_intro/headers/c++2014/all_attributes.cc (packed): + Likewise. + * testsuite/17_intro/headers/c++2017/all_attributes.cc (packed): + Likewise. + * testsuite/17_intro/headers/c++2020/all_attributes.cc (packed): + Likewise. + +2024-04-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/refwrap.h (operator<=>): Simplify constraints. + +2024-04-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114770 + * src/c++20/tzdb.cc (do_locate_zone): Support links that have + another link as their target. + * testsuite/std/time/tzdb/1.cc: Check that all zones and links + can be found by locate_zone. + * testsuite/std/time/tzdb/links.cc: New test. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * testsuite/29_atomics/atomic/compare_exchange_padding.cc: + Disable SRA. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * testsuite/20_util/from_chars/8.cc: Skip float128_t testing + on aarch64-vxworks. + * testsuite/20_util/to_chars/float128_c++23.cc: Xfail run on + aarch64-vxworks. + +2024-04-18 Alexandre Oliva <oliva@adacore.com> + + * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Define + on VxWorks non-RTP. + +2024-04-17 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ostream (println(ostream&)): Define new overload. + * include/std/print (println(FILE*), println()): Likewise. + * testsuite/27_io/basic_ostream/print/2.cc: New test. + * testsuite/27_io/print/1.cc: Remove unused header. + * testsuite/27_io/print/3.cc: New test. + +2024-04-17 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/numeric_traits.h: Add include guard. + +2024-04-17 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/114750 + * include/experimental/bits/simd_builtin.h + (_SimdImplBuiltin::_S_load, _S_store): Fall back to copying + scalars if the memory type cannot be vectorized for the target. + +2024-04-16 Jonathan Wakely <jwakely@redhat.com> + + * config/locale/dragonfly/numeric_members.cc: Fix typos in + comments. + * config/locale/gnu/numeric_members.cc: Likewise. + +2024-04-15 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/abi.xml: Replace "<next>" with "14.1.0". + * doc/html/manual/abi.html: Regenerate. + +2024-04-15 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/refwrap.h (reference_wrapper): Add comparison + operators as proposed by P2944R3. + * include/bits/version.def (reference_wrapper): Define. + * include/bits/version.h: Regenerate. + * include/std/functional: Enable feature test macro. + * testsuite/20_util/reference_wrapper/compare.cc: New test. + +2024-04-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113386 + * include/bits/stl_pair.h (operator==, operator<=>): Support + heterogeneous comparisons, as per LWG 3865. + * testsuite/20_util/pair/comparison_operators/lwg3865.cc: New + test. + +2024-04-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/93672 + * src/c++98/istream.cc (istream::ignore(streamsize, int_type)): + Treat all negative delimiter values as eof(). + * testsuite/27_io/basic_istream/ignore/char/93672.cc: New test. + * testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc: New + test. + +2024-04-15 Andreas Schwab <schwab@suse.de> + + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. + +2024-04-13 H.J. Lu <hjl.tools@gmail.com> + + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: + Updated. + +2024-04-11 Jakub Jelinek <jakub@redhat.com> + + * doc/xml/manual/abi.xml: Add latest library versions. + * doc/html/manual/abi.html: Regenerate. + +2024-04-11 Jakub Jelinek <jakub@redhat.com> + + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + +2024-04-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114692 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Move new exports for + __basic_file::native_handle to ... + (GLIBCXX_3.4.33): ... here. Adjust to not match wchar_t + specialization, which isn't used. + * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.33 and update + latest version check. + +2024-04-11 Jakub Jelinek <jakub@redhat.com> + + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + +2024-04-10 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/manipulators/extended/get_time/char/2.cc: + Adjust input string so that it matches %a with or without a + trailing period. + * testsuite/std/time/year_month_day/io.cc: Adjust expected + format for %x in the fr_FR locale. + +2024-04-10 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]: + Check for EMLINK as well as ELOOP. + [__NetBSD__]: Check for EFTYPE as well as ELOOP. + +2024-04-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114633 + * include/bits/chrono_io.h (_Parser::operator()) <'S'>: Use + stream extraction if std::from_chars is not available. + +2024-04-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114519 + * include/bits/unicode.h (_Utf8_view) [!__cpp_char8_t]: Define + using char instead of char8_t. + * testsuite/ext/unicode/view.cc: Use u8""sv literals to create + string views, instead of std::u8string_view. + +2024-04-08 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/integer_comparisons/equal_neg.cc: Use + no-opts selector for errors that depend on -fchar8_t. + * 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_neg.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_neg.cc: + Likewise. + * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: Skip + if -fno-char8_t is used. + * testsuite/21_strings/headers/cuchar/functions_std_cxx20.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/filesystem/path/factory/u8path-depr.cc: Use + char for u8 literal if char8_t is not available. + * testsuite/27_io/headers/iosfwd/synopsis.cc: Check + __cpp_char8_t. + * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: + Remove check for _GLIBCXX_USE_CHAR8_T. + +2024-04-08 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/from_chars/1_neg.cc: Add char8_t cases, + using a struct of that name if -fno-char8_t is active. + * testsuite/20_util/from_chars/1_c++20_neg.cc: Removed. + +2024-04-03 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104606 + * include/std/optional (operator<=>(const optional<T>&, const U&)): + Reverse order of three_way_comparable_with template arguments. + * testsuite/20_util/optional/relops/104606.cc: New test. + +2024-04-02 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114519 + * include/bits/unicode.h (_Utf8_view): Guard with check for + char8_t being enabled. + (__literal_encoding_is_unicode): Guard use of char8_t with check + for it being enabled. + * testsuite/std/format/functions/114519.cc: New test. + +2024-04-02 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (ranges::__detail::_Empty): Rename to ... + (ranges::__detail::_Absent): ... this. Turn into a template + parameterized by the absent type _Tp and discriminator _Disc. + (ranges::__detail::__maybe_present_t): Add an optional + discriminator parameter. + (slide_view::_M_cached_begin): Pass a discriminator argument to + __maybe_present_t. + (slide_view::_M_cached_end): Likewise. + * testsuite/std/ranges/adaptors/sizeof.cc: Verify the size of + slide_view<V> is 3 instead 4 pointers. + +2024-04-02 Jakub Jelinek <jakub@redhat.com> + + * acinclude.m4: Fix duplicated words; file file -> file can. + * configure.host: Fix duplicated words; the the -> the. + +2024-03-29 Arsen Arsenović <arsen@aarsen.me> + + * testsuite/24_iterators/range_generators/01.cc: Drop GCC + Runtime Library Exception. + * testsuite/24_iterators/range_generators/02.cc: Drop GCC + Runtime Library Exception. + * testsuite/24_iterators/range_generators/copy.cc: Drop GCC + Runtime Library Exception. + * testsuite/24_iterators/range_generators/except.cc: Drop GCC + Runtime Library Exception. + * testsuite/24_iterators/range_generators/subrange.cc: Drop GCC + Runtime Library Exception. + * testsuite/24_iterators/range_generators/synopsis.cc: Drop GCC + Runtime Library Exception. + * testsuite/24_iterators/range_generators/iter_deref_return.cc: + Drop GCC Runtime Library Exception from the "You should have + received a copy" paragraph. + +2024-03-27 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_x86.h (_S_masked_unary): + Cast inputs < 16 bytes to 16 byte vectors before calling the + right subtraction builtin. Before returning, truncate to the + return vector type. + +2024-03-27 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_x86.h (_S_masked_unary): Call + the 4- and 8-byte variants of __builtin_ia32_subp[ds] without + rounding direction argument. + +2024-03-27 Srinivas Yadav Singanaboina <vasu.srinivasvasu.14@gmail.com> + + * include/Makefile.am: Add simd_sve.h. + * include/Makefile.in: Add simd_sve.h. + * include/experimental/bits/simd.h: Add new SveAbi. + * include/experimental/bits/simd_builtin.h: Use + __no_sve_deduce_t to support existing Neon Abi. + * include/experimental/bits/simd_converter.h: Convert + sequentially when sve is available. + * include/experimental/bits/simd_detail.h: Define sve + specific macro. + * include/experimental/bits/simd_math.h: Fallback frexp + to execute sequntially when sve is available, to handle + fixed_size_simd return type that always uses sve. + * include/experimental/simd: Include bits/simd_sve.h. + * testsuite/experimental/simd/tests/bits/main.h: Enable + testing for sve128, sve256, sve512. + * include/experimental/bits/simd_sve.h: New file. + +2024-03-26 Arsen Arsenović <arsen@aarsen.me> + + * include/std/generator (generator::_Iterator::operator*): Fix + return type. + * testsuite/24_iterators/range_generators/iter_deref_return.cc: + New test. + +2024-03-26 Arsen Arsenović <arsen@aarsen.me> + + * include/std/generator: Fix _V badname. + +2024-03-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/19_diagnostics/stacktrace/current.cc: Check for + __cpp_lib_stacktrace instead of check for stacktrace ET. + * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. + * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: + Likewise. + * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace): + Remove. + +2024-03-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/lib/dg-options.exp (dg-require-cpp-feature-test): + New proc. + * testsuite/lib/libstdc++.exp (check_v3_target_cpp_feature_test): + New proc. + * testsuite/std/text_encoding/cons.cc: Use new directive to skip + the test if the __cpp_lib_text_encoding feature test macro is + not defined. + * testsuite/std/text_encoding/requirements.cc: Likewise. + +2024-03-25 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/text_encoding/requirements.cc: #undef the + correct macro. + +2024-03-23 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (formatter): Disable specializations that + would allow sequences of narrow characters to be formatted as + wchar_t without conversion, as per LWG 3944. + * testsuite/std/format/formatter/lwg3944.cc: New test. + +2024-03-23 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/utility.h (__is_in_place_index_v): New variable + template. + * include/std/variant (__not_in_place_tag): Define in terms of + variable templates not a class template. + +2024-03-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114400 + * include/std/string_view (operator==): Use std::type_identity_t + in C++20 instead of our own __type_identity_t. + +2024-03-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114401 + * include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call + release() on node handle instead of just zeroing its pointer. + (_Hashtable::_M_reinsert_node_multi): Likewise. + (_Hashtable::_M_merge_unique): Likewise. + (_Hashtable::_M_merge_multi): Likewise. + * include/bits/node_handle.h (_Node_handle_common::release()): + New member function. + (_Node_handle_common::_Optional_alloc::_M_empty): Remove + unnecessary union member. + (_Node_handle_common): Declare _Hashtable as a friend. + * include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique): + Call release() on node handle instead of just zeroing its + pointer. + (_Rb_tree::_M_reinsert_node_equal): Likewise. + (_Rb_tree::_M_reinsert_node_hint_unique): Likewise. + (_Rb_tree::_M_reinsert_node_hint_equal): Likewise. + * testsuite/23_containers/multiset/modifiers/114401.cc: New test. + * testsuite/23_containers/set/modifiers/114401.cc: New test. + * testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test. + * testsuite/23_containers/unordered_set/modifiers/114401.cc: New test. + +2024-03-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113841 + * include/bits/allocator.h (allocator<cv T>): Add default + constructor to partial specializations for cv-qualified types. + * include/bits/stl_vector.h (_Vector_impl::_Vector_impl()): + Constrain so that it's only present if the allocator is default + constructible. + * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()): + Likewise. + * testsuite/23_containers/vector/cons/113841.cc: New test. + +2024-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_construct.h (destroy_at, construct_at): Guard + with feature test macros instead of just __cplusplus. + +2024-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (generator, tuple_like): Move earlier + in the file. + * include/bits/version.h: Regenerate. + +2024-03-22 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114394 + * include/std/functional (bind): Use __invoke_result_t instead + of result_of::type. + * include/std/type_traits (__invoke_result_t): New alias + template. + * testsuite/20_util/bind/ref_neg.cc: Adjust prune pattern. + +2024-03-20 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/version.def (null_iterators): Remove extra_cond. + * include/bits/version.h: Regenerate. + +2024-03-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114359 + * include/bits/random.tcc (binomial_distribution::param_type): + Ensure arithmetic is done as type double. + * testsuite/26_numerics/random/binomial_distribution/114359.cc: New test. + +2024-03-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/101228 + * include/pstl/parallel_backend_tbb.h (TBB_SUPPRESS_DEPRECATED_MESSAGES): + Define before including <tbb/task.h> then undef afterwards. + +2024-03-19 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am [MAINTAINER_MODE]: Add target to + automatically update <bits/version.h>. + * include/Makefile.in: Regenerate. + +2024-03-19 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/build_hacking.xml: Document generated files. + Update list of convenience libraries and sub-directories under + the src directory. + * doc/html/*: Regenerate. + +2024-03-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/text_encoding-data.h: Regenerate. + * include/bits/unicode-data.h: Regenerate. + * scripts/gen_text_encoding_data.py: Fix header of generated + file to name the correct script. + +2024-03-19 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/pstl/test_utils.h: Fix typos in comments. + +2024-03-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114367 + * include/bits/stl_bvector.h (_M_allocate): Use allocator's + construct function to begin lifetime of words. + +2024-03-19 Iain Sandoe <iain@sandoe.co.uk> + + * testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B + option for the path to the uninstalled libatomic. + +2024-03-19 Iain Sandoe <iain@sandoe.co.uk> + + * testsuite/lib/libstdc++.exp (v3_target_compile): Instead of + /dev/null, use a temporary file for test executables on Darwin. + +2024-03-18 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance): + Accept 0 offset advance on value-initialized iterator. + * testsuite/23_containers/vector/debug/n3644.cc: New test case. + +2024-03-18 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/safe_local_iterator.tcc + (_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and + _M_singular checks. + * testsuite/23_containers/unordered_set/debug/114316.cc: New test case. + +2024-03-17 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/114316 + * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): + First check if both iterators are value-initialized before checking if + singular. + * testsuite/23_containers/set/debug/114316.cc: New test case. + * testsuite/23_containers/vector/debug/114316.cc: New test case. + +2024-03-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114325 + * include/std/format (_Scanner::_M_scan): Pass correct length to + __to_chars_10_impl. + * testsuite/std/format/functions/format.cc: Check negative + integers with empty format-spec. + +2024-03-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_algo.h (find_end, all_of, none_of, any_of) + (find_if_not, is_partitioned, partition_point, remove) + (remove_if, unique, lower_bound, upper_bound, equal_range) + (binary_search, includes, is_sorted, is_sorted_until, minmax) + (minmax_element, is_permutation, clamp, find_if, find_first_of) + (adjacent_find, count, count_if, search, search_n, min_element) + (max_element): Add nodiscard attribute. + * include/bits/stl_algobase.h (min, max, lower_bound, equal) + (lexicographical_compare, lexicographical_compare_three_way) + (mismatch): Likewise. + * include/bits/stl_heap.h (is_heap, is_heap_until): Likewise. + * testsuite/25_algorithms/equal/debug/1_neg.cc: Add dg-warning. + * testsuite/25_algorithms/equal/debug/2_neg.cc: Likewise. + * testsuite/25_algorithms/equal/debug/3_neg.cc: Likewise. + * testsuite/25_algorithms/find_first_of/concept_check_1.cc: + Likewise. + * testsuite/25_algorithms/is_permutation/2.cc: Likewise. + * testsuite/25_algorithms/lexicographical_compare/71545.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/33613.cc: Likewise. + * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: + Likewise. + * testsuite/25_algorithms/minmax/3.cc: Likewise. + * testsuite/25_algorithms/search/78346.cc: Likewise. + * testsuite/25_algorithms/search_n/58358.cc: Likewise. + * testsuite/25_algorithms/unique/1.cc: Likewise. + * testsuite/25_algorithms/unique/11480.cc: Likewise. + * testsuite/25_algorithms/upper_bound/33613.cc: Likewise. + * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: + Likewise. + * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: + Likewise. + * testsuite/ext/concept_checks.cc: Likewise. + * testsuite/ext/is_heap/47709.cc: Likewise. + * testsuite/ext/is_sorted/cxx0x.cc: Likewise. + +2024-03-14 xndcn <xndchn@gmail.com> + + * include/bits/atomic_base.h (__atomic_float::__atomic_float(Fp)): + Clear padding. + * testsuite/29_atomics/atomic_float/compare_exchange_padding.cc: + New test. + +2024-03-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/66146 + * doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in + note about std::call_once. + * doc/xml/manual/status_cxx2014.xml: Likewise. + * doc/xml/manual/status_cxx2017.xml: Likewise. + * doc/html/manual/status.html: Regenerate. + +2024-03-14 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2023.xml: Update C++23 status table. + * doc/html/manual/status.html: Regenerate. + * include/bits/version.def: Fix typo in comment. + +2024-03-13 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat + to namespace scope. + +2024-03-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/debug.xml: Improve docs on debug builds and + using ASan. Mention _GLIBCXX_ASSERTIONS. Reorder sections to put + the most relevant ones first. + * doc/xml/manual/using.xml: Add comma. + * doc/html/*: Regenerate. + +2024-03-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/debug.xml: Document that concept checking might + be removed in future. + * doc/xml/manual/extensions.xml: Likewise. + +2024-03-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114240 + * include/bits/chrono_io.h (_Parser::operator()): Assume + hours(0) for a time_point, so that a time is not required + to be present. + * testsuite/std/time/parse/114240.cc: New test. + +2024-03-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114279 + * include/bits/chrono_io.h (_Parser::_M_is_leap_second): New + data member. + (_Parser::_M_reserved): Reserve padding bits for future use. + (_Parser::operator()): Set _M_is_leap_second if %S reads 60s. + (from_stream): Only allow _M_is_leap_second for utc_time and + local_time. Adjust arithmetic for utc_time so that leap seconds + are preserved. Use time_point_cast to convert to a possibly + lower-precision result type. + * testsuite/std/time/parse.cc: Move to ... + * testsuite/std/time/parse/parse.cc: ... here. + * testsuite/std/time/parse/114279.cc: New test. + +2024-03-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (_Parser::operator()): Use + std::from_chars to parse fractional seconds. + +2024-03-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114244 + * include/bits/chrono_io.h (_Parser::operator()): Remove + redundant uses of duration_cast. Use chrono::round to convert + long double value to durations with integer representations. + Check represenation type when deciding whether to skip parsing + fractional seconds. + * testsuite/20_util/duration/114244.cc: New test. + * testsuite/20_util/duration/io.cc: Check that a floating-point + duration with ratio<1> precision can be parsed. + +2024-03-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114103 + * include/bits/version.def (atomic_lock_free_type_aliases): Add + extra_cond to check for at least one always-lock-free type. + * include/bits/version.h: Regenerate. + * include/std/atomic (atomic_signed_lock_free) + (atomic_unsigned_lock_free): Only use always-lock-free types. + * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): Don't use + atomic counter if lock-free aliases aren't available. + * testsuite/29_atomics/atomic/lock_free_aliases.cc: XFAIL for + targets without lock-free word-size compare_exchange. + +2024-03-07 Jonathan Wakely <jwakely@redhat.com> + + * include/std/chrono (__get_leap_second_info): Update expiry + time for hardcoded list of leap seconds. + * testsuite/std/time/tzdb/leap_seconds.cc: Update comment. + +2024-03-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/deque/allocator/default_init.cc: Use + std::memset instead of __builtin_memset. + * testsuite/23_containers/forward_list/allocator/default_init.cc: + Likewise. + * testsuite/23_containers/list/allocator/default_init.cc: + Likewise. + * testsuite/23_containers/map/allocator/default_init.cc: + Likewise. + * testsuite/23_containers/set/allocator/default_init.cc: + Likewise. + * testsuite/23_containers/unordered_map/allocator/default_init.cc: + Likewise. + * testsuite/23_containers/unordered_set/allocator/default_init.cc: + Likewise. + * testsuite/23_containers/vector/allocator/default_init.cc: + Likewise. + * testsuite/23_containers/vector/bool/allocator/default_init.cc: + Likewise. + * testsuite/29_atomics/atomic/compare_exchange_padding.cc: + Likewise. + * testsuite/util/atomic/wait_notify_util.h: Likewise. + +2024-03-07 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (_Arg_store::_S_make_elt): Add two + static_assert checks to give more user-friendly error messages. + * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune another + form of "in requirements with" note. + * testsuite/std/format/arguments/args_neg.cc: Check for + user-friendly diagnostics for non-formattable types. + * testsuite/std/format/string_neg.cc: Likewise. + +2024-03-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114147 + * include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)): + Add missing overload of allocator-extended default constructor. + (tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise. + * testsuite/20_util/tuple/cons/114147.cc: New test. + +2024-02-29 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (basic_format_arg::handle::__maybe_const_t): + Fix condition to check if const type is formattable. + (basic_format_arg::handle::handle(T&)): Remove redundant + static_assert. + * testsuite/std/format/formatter/basic.cc: New test. + +2024-02-29 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113960 + * include/bits/stl_algobase.h (__is_byte_iter): Replace with ... + (__memcmp_ordered_with): New concept. + (lexicographical_compare_three_way): Use __memcmp_ordered_with + instead of __is_byte_iter. Use correct length for memcmp. + * testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc: + New test. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114152 + * include/experimental/scope (scope_exit scope_fail): Make + destructor unconditionally noexcept. + (scope_sucess): Fix noexcept-specifier. + * testsuite/experimental/scopeguard/114152.cc: New test. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/appendix_contributing.xml: Change URLs to use + https. + * doc/html/manual/*: Regenerate. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/appendix_contributing.xml: Replace outdated + info on ChangeLog entries. + * doc/html/manual/appendix_contributing.html: Regenerate. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_bvector.h (vector<bool, A>::at): Add + nodiscard. + * include/bits/stl_vector.h (vector<T, A>::at): Likewise. + (operator==, operator<=>, operator<, operator!=, operator>) + (operator<=, operator>=): Likewise. + * include/debug/vector (operator==, operator<=>, operator<) + (operator!=, operator>, operator<=, operator>=): Likewise. + * testsuite/23_containers/vector/nodiscard.cc: New test. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_base.h (operator|, operator&): Add + noexcept. + * include/bits/fs_fwd.h (operator&, operator|, operator^) + (operator~): Add nodiscard to overloads for copy_options, perms, + perm_options, and directory_options. + * include/bits/ios_base.h (operator&, operator|, operator^) + (operator~): Add nodiscard and noexcept to overloads for + _Ios_Fmtflags, _Ios_Openmode, and _Ios_Iostate. + (operator|=, operator&=, operator^=): Add constexpr for C++14. + * include/bits/regex_constants.h (operator&, operator|, operator^) + (operator~): Add nodiscard and noexcept to overloads for + syntax_option_type and match_flag_type. + (operator|=, operator&=, operator^=): Add noexcept. + * include/std/charconv (operator&, operator|, operator^) + (operator~): Add nodiscard to overloads for chars_format. + * include/std/future (operator&, operator|, operator^) + (operator~): Add nodiscard for overloads for launch. + (operator&=, operator|=, operator^=): Add constexpr for C++14. + * include/experimental/bits/fs_fwd.h (operator&, operator|) + (operator^, operator~): Add nodiscard to overloads for + copy_options, perms, and directory_options. + * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: + Add dg-warning for nodiscard warnings. + * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: + Likewise. + * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: + Likewise. + * testsuite/27_io/filesystem/operations/bitmask_types.cc: + New test. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_ostream/print/1.cc: Check error + handling. + * testsuite/27_io/print/1.cc: Likewise. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ostream (vprint_unicode) [__CYGWIN__]: Use POSIX + code path for Cygwin instead of Windows. + * include/std/print (vprint_unicode) [__CYGWIN__]: Likewise. + * testsuite/27_io/basic_ostream/print/1.cc: Only add -lstdc++exp + for *-*-mingw* targets. + * testsuite/27_io/print/1.cc: Likewise. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h: Include <bits/stl_iterator.h> for + __make_move_if_noexcept_iterator. + +2024-02-28 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace: Add nodiscard attribute to all + functions without side effects. + +2024-02-20 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/stl_algobase.h (std::__niter_wrap): Add a call to + std::__niter_base on res iterator. + +2024-02-19 Iain Sandoe <iain@sandoe.co.uk> + Jonathan Wakely <jwakely@redhat.com> + + PR target/112397 + * configure: Regenerate. + * configure.ac: Detect if we are building for Darwin. + * libsupc++/Makefile.am: If we are building for Darwin, then + suppress hot/cold partitioning for the array allocators. + * libsupc++/Makefile.in: Regenerated. + +2024-02-17 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/stl_algobase.h (std::__niter_base): Redefine the overload + definitions for __gnu_debug::_Safe_iterator. + * include/debug/safe_iterator.tcc (std::__niter_base): Adapt declarations. + +2024-02-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/87744 + PR libstdc++/113961 + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + line number. + +2024-02-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/87744 + PR libstdc++/113931 + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + line number. + +2024-02-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/debug_mode.xml: Update docs for backtraces. + * doc/html/manual/debug_mode_using.html: Regenerate. + +2024-02-16 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/test.xml: Fix spelling of <envar> elements. + * doc/html/manual/test.html: Regenerate. + +2024-02-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113806 + * include/std/bitset (bitset::operator>>=): Remove redundant + call to _M_do_sanitize. + +2024-02-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113807 + * include/std/bitset (bitset::set()): Use memset instead of a + loop over the individual words. + +2024-02-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113811 + * include/bits/stl_algo.h (__rotate): Use unsigned values for + division. + +2024-02-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/99117 + * include/std/valarray (valarray::operator=(const _Expr&)): + Use loop to copy instead of __valarray_copy with _Array. + * testsuite/26_numerics/valarray/99117.cc: New test. + +2024-02-15 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdata.zi: Import new file from 2024a release. + * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) + Update expiry date for leap seconds list. + +2024-02-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/87744 + * include/bits/random.h [!__SIZEOF_INT128__] (_Select_uint_least_t): + Define specialization for 64-bit generators with + non-power-of-two modulus and large constants. + (__mod): Use if constexpr unconditionally. + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + line number. + * testsuite/26_numerics/random/linear_congruential_engine/87744.cc: + New test. + +2024-02-14 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/status_cxx2023.xml: Fix C++ item p2442 to be + version 1. + * doc/html/manual/status.html: Regenerate. + +2024-02-12 Paul Keir <paul.keir@uws.ac.uk> + + PR libstdc++/113294 + * include/bits/basic_string.h (basic_string::operator=): Use + _M_use_local_data() instead of _M_local_buf on the moved-from + string. + * testsuite/21_strings/basic_string/modifiers/constexpr.cc + (test_move): New test. + +2024-02-09 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME): + Removed. + * include/std/type_traits (is_same): Use + _GLIBCXX_USE_BUILTIN_TRAIT instead of + _GLIBCXX_HAVE_BUILTIN_IS_SAME. + (is_same_v): Likewise. + +2024-02-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h: Fix typo in comment. + +2024-02-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/100147 + * include/bits/gslice.h (operator=): Add comment about lack of + self-assignment check. + +2024-02-08 Jonathan Wakely <jwakely@redhat.com> + + * include/tr2/type_traits (bases, direct_bases): Use + __has_builtin to check if required built-ins are supported. + +2024-02-07 Patrick Palka <ppalka@redhat.com> + + PR testsuite/113710 + PR c++/113814 + * include/bits/stl_pair.h (tuple_element): Add forward + declaration of the partial specialization for tuple. + +2024-02-06 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> + + * testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null" + for other environments. + +2024-02-04 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__format::_Spec::_M_reserved): Define new + bit-field members to reserve padding bits for future extensions. + +2024-02-04 Jonathan Wakely <jwakely@redhat.com> + + * src/experimental/Makefile.am: Use libstdc++fsconvenience.a + instead of libstdc++fs.a. + * src/experimental/Makefile.in: Regenerate. + * src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as + well. + * src/filesystem/Makefile.in: Regenerate. + +2024-02-04 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/text_encoding-data.h: Regenerate. + * include/bits/unicode-data.h: Regenerate. + * scripts/gen_text_encoding_data.py: Add copyright and license + text to the output. + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113335 + * include/bits/std_function.h (__function_guide_helper): Add + partial specialization for explicit object member functions, as + per LWG 3617. + * testsuite/20_util/function/cons/deduction_c++23.cc: Check + explicit object member functions. + * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: + Likewise. + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/17_intro/names.cc [_AIX]: Undefine "u". + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (network_v6::network): Define. + (network_v6::hosts): Finish implementing. + (network_v6::to_string): Do not concatenate std::string to + arbitrary std::basic_string specialization. + * testsuite/experimental/net/internet/network/v6/cons.cc: New + test. + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/90276 + * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: Fix + comparison function to use less-than instead of equality. + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/90276 + * testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use + perfect forwarding for iterator arguments. + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + * include/std/string_view (basic_string_view(R&&)): Remove + constraint that traits_type must be the same, as per LWG 3857. + * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: + Explicit conversion between different specializations should be + allowed. + * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: + Likewise. + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + * include/std/syncstream (basic_osyncstream::operator=): Remove + noexcept, as per LWG 3867. + +2024-02-02 Jonathan Wakely <jwakely@redhat.com> + + * include/std/generator (promise_type::yield_value): Remove + noexcept from fourth overload, as per LWG 3894. + +2024-02-01 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/113309 + PR libstdc++/109203 + * include/bits/ranges_util.h (__detail::__pair_like): Don't + define in C++23 mode. + (__detail::__pair_like_convertible_from): Adjust as per P2165R4. + (__detail::__is_subrange<subrange>): Moved from <ranges>. + (__detail::__is_tuple_like_v<subrange>): Likewise. + * include/bits/stl_iterator.h: Include <bits/utility.h> for + C++23. + (__different_from): Move to <concepts>. + (__iter_key_t): Adjust for C++23 as per P2165R4. + (__iter_val_t): Likewise. + * include/bits/stl_pair.h (pair, array): Forward declare. + (get): Forward declare all overloads relevant to P2165R4 + tuple-like constructors. + (__is_tuple_v): Define for C++23. + (__is_tuple_like_v): Define for C++23. + (__tuple_like): Define for C++23 as per P2165R4. + (__pair_like): Define for C++23 as per P2165R4. + (__eligibile_tuple_like): Define for C++23. + (__eligibile_pair_like): Define for C++23. + (pair::_S_constructible_from_pair_like): Define for C++23. + (pair::_S_convertible_from_pair_like): Define for C++23. + (pair::_S_dangles_from_pair_like): Define for C++23. + (pair::pair): Define overloads taking a tuple-like type for + C++23 as per P2165R4. + (pair::_S_assignable_from_tuple_like): Define for C++23. + (pair::_S_const_assignable_from_tuple_like): Define for C++23. + (pair::operator=): Define overloads taking a tuple-like type for + C++23 as per P2165R4. + * include/bits/utility.h (ranges::__detail::__is_subrange): + Moved from <ranges>. + * include/bits/version.def (tuple_like): Define for C++23. + * include/bits/version.h: Regenerate. + * include/std/concepts (__different_from): Moved from + <bits/stl_iterator.h>. + (ranges::__swap::__adl_swap): Clarify which __detail namespace. + * include/std/map (__cpp_lib_tuple_like): Define C++23. + * include/std/ranges (__detail::__is_subrange): Moved to + <bits/utility.h>. + (__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h> + (__detail::__has_tuple_element): Adjust for C++23 as per P2165R4. + (__detail::__tuple_or_pair): Remove as per P2165R4. Replace all + uses with plain tuple as per P2165R4. + * include/std/tuple (__cpp_lib_tuple_like): Define for C++23. + (__tuple_like_tag_t): Define for C++23. + (__tuple_cmp): Forward declare for C++23. + (_Tuple_impl::_Tuple_impl): Define overloads taking + __tuple_like_tag_t and a tuple-like type for C++23. + (_Tuple_impl::_M_assign): Likewise. + (tuple::__constructible_from_tuple_like): Define for C++23. + (tuple::__convertible_from_tuple_like): Define for C++23. + (tuple::__dangles_from_tuple_like): Define for C++23. + (tuple::tuple): Define overloads taking a tuple-like type for + C++23 as per P2165R4. + (tuple::__assignable_from_tuple_like): Define for C++23. + (tuple::__const_assignable_from_tuple_like): Define for C++23. + (tuple::operator=): Define overloads taking a tuple-like type + for C++23 as per P2165R4. + (tuple::__tuple_like_common_comparison_category): Define for C++23. + (tuple::operator<=>): Define overload taking a tuple-like type + for C++23 as per P2165R4. + (array, get): Forward declarations moved to <bits/stl_pair.h>. + (tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4. + (apply): Likewise. + (make_from_tuple): Likewise. + (__tuple_like_common_reference): Define for C++23. + (basic_common_reference): Adjust as per P2165R4. + (__tuple_like_common_type): Define for C++23. + (common_type): Adjust as per P2165R4. + * include/std/unordered_map (__cpp_lib_tuple_like): Define for + C++23. + * include/std/utility (__cpp_lib_tuple_like): Define for C++23. + * testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair + and 2-tuple interchangeably. + (test05): New test. + * testsuite/20_util/pair/p2165r4.cc: New test. + * testsuite/20_util/tuple/p2165r4.cc: New test. + +2024-02-01 Patrick Palka <ppalka@redhat.com> + + * include/bits/stl_pair.h (pair::_S_const_assignable): Define, + factored out from ... + (pair::operator=): ... the constraints of the const overloads. + +2024-02-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.tpl: Do not use def-file-line for each + macro being defined. + * include/bits/version.h: Regenerate. + +2024-02-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust + dg-error pattern. + * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: + Likewise. + * testsuite/25_algorithms/equal/debug/constexpr_neg.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/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. + +2024-02-01 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (network_v4::to_string()): + Remove lambda and use of resize_and_overwrite. + +2024-01-31 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if + needed for newlocale. + * configure: Regenerate. + * src/c++26/text_encoding.cc: Use <xlocale.h>. + +2024-01-31 Jonathan Wakely <jwakely@redhat.com> + Ewan Higgs <ewan.higgs@gmail.com> + + * include/bits/text_encoding-data.h: Regenerate. + * scripts/gen_text_encoding_data.py: Add extra_aliases dict + containing "ASCII". + * testsuite/std/text_encoding/cons.cc: Check "ascii" is known. + +2024-01-31 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/using.xml: Update tables of supported headers. + * doc/html/*: Regenerate. + +2024-01-31 Jonathan Wakely <jwakely@redhat.com> + + * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid + -Wshift-count-overflow warning. + +2024-01-30 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/time/clock/gps/io.cc: Fix expected result in + assertion and call test_format() from main. + +2024-01-29 François Dumont <fdumont@gcc.gnu.org> + + * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use + _GLIBCXX_DEBUG_BACKTRACE macro. + +2024-01-24 Huanghui Nie <nnnjkk@gmail.com> + Théo Papadopoulo <papadopoulo@gmail.com> + + * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove + _M_before_begin check and cleanup implementation. + +2024-01-22 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/time/clock/file/io.cc: Fix expected result in + assertion and call test_format() from main. + +2024-01-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113500 + * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix + printing of subseconds with floating-point rep. + (__formatter_chrono::_M_format_to_ostream): Do not write + time_point specializations directly to the ostream. + (formatter<chrono::sys_time<D>, C>::parse): Do not allow an + empty chrono-spec if the type fails to meet the constraints for + writing to an ostream with operator<<. + * testsuite/std/time/clock/file/io.cc: Check formatting + non-integral times with empty chrono-specs. + * testsuite/std/time/clock/gps/io.cc: Likewise. + * testsuite/std/time/clock/utc/io.cc: Likewise. + * testsuite/std/time/hh_mm_ss/io.cc: Likewise. + +2024-01-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono.h (__file_clock::from_sys) + (__file_clock::to_sys, __file_clock::_S_from_sys) + (__file_clock::_S_to_sys): Use common_type for return type. + * testsuite/std/time/clock/file/members.cc: Check round trip + conversion for time with lower precision that seconds. + +2024-01-21 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113512 + * include/std/format (__formatter_fp::format): Fix logic for + alternate forms. + * testsuite/std/format/functions/format.cc: Check buggy cases of + alternate forms with g presentation type. + +2024-01-20 Marek Polacek <polacek@redhat.com> + + PR c++/111410 + * include/std/ranges: Add #pragma to disable -Wdangling-reference with + std::ranges::views::__adaptor::operator|. + +2024-01-19 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (_Spec::_M_parse_fill_and_align): Do not + use CTAD for _Utf32_view. + +2024-01-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108822 + * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix + wrong fold-operator. + * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one + element and three elements. Check allocator-extended + constructors. + +2024-01-19 Patrick Palka <ppalka@redhat.com> + + * include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include + <print> and <text_encoding> for C++23 and C++26 respectively. + +2024-01-18 Patrick Palka <ppalka@redhat.com> + + * include/bits/stl_pair.h [__cplusplus > 202002L]: + Guard P2321R2 changes with __glibcxx_ranges_zip instead. + +2024-01-18 Patrick Palka <ppalka@redhat.com> + + * include/std/tuple [__cplusplus > 202002L]: Guard P2321R2 + changes with __cpp_lib_ranges_zip instead. + +2024-01-18 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/109536 + * include/debug/safe_base.h (_Safe_sequence_base::_M_swap): + Remove _GLIBCXX20_CONSTEXPR from non-inline member function. + * include/debug/safe_iterator.h + (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define. + (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define. + (_Safe_iterator::operator=): Use them around the code path that + defines a variable of type __gnu_cxx::__scoped_lock. + (_Safe_iterator::operator++): Likewise. + (_Safe_iterator::operator--): Likewise. + (_Safe_iterator::operator+=): Likewise. + (_Safe_iterator::operator-=): Likewise. + * testsuite/23_containers/vector/element_access/constexpr.cc + (test_iterators): Test more iterator operations. + * testsuite/23_containers/vector/bool/element_access/constexpr.cc + (test_iterators): Likewise. + * testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]: + Remove. + +2024-01-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unicode.h (__charset_alias_match): Initialize + __var_a and __var_b. + +2024-01-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113450 + * testsuite/std/format/functions/format.cc: Use signed char + instead of int8_t. + +2024-01-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113318 + * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory. + (GLIBCXX_CHECK_TEXT_ENCODING): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING. + * include/Makefile.am: Add new headers. + * include/Makefile.in: Regenerate. + * include/bits/locale_classes.h (locale::encoding): Declare new + member function. + * include/bits/unicode.h (__charset_alias_match): New function. + * include/bits/text_encoding-data.h: New file. + * include/bits/version.def (text_encoding): Define. + * include/bits/version.h: Regenerate. + * include/std/text_encoding: New file. + * src/Makefile.am: Add new subdirectory. + * src/Makefile.in: Regenerate. + * src/c++26/Makefile.am: New file. + * src/c++26/Makefile.in: New file. + * src/c++26/text_encoding.cc: New file. + * src/experimental/Makefile.am: Include c++26 convenience + library. + * src/experimental/Makefile.in: Regenerate. + * python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New + printer. + * scripts/gen_text_encoding_data.py: New file. + * testsuite/22_locale/locale/encoding.cc: New test. + * testsuite/ext/unicode/charset_alias_match.cc: New test. + * testsuite/std/text_encoding/cons.cc: New test. + * testsuite/std/text_encoding/members.cc: New test. + * testsuite/std/text_encoding/requirements.cc: New test. + +2024-01-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unicode.h (_Grapheme_cluster_view): Require view. + Do not use CTAD for _Utf32_view. + (__format_width, __truncate): Do not use CTAD. + (enable_borrowed_range<_Utf_view<T, R>>): Define specialization. + (enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise. + +2024-01-17 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (views::_CartesianProduct::operator()): + Adjust identity case as per P2540R1. + * testsuite/std/ranges/cartesian_product/1.cc (test01): + Adjust expected result of the identity case. + +2024-01-15 Patrick Palka <ppalka@redhat.com> + + * include/std/variant (__detail::__variant::_Variadic_union): + Add bool __trivially_destructible template parameter. + (__detail::__variant::_Variadic_union::~_Variadic_union): + Use __trivially_destructible in constraints instead. + (__detail::__variant::_Variant_storage): Pass + __trivially_destructible value to _Variadic_union. + +2024-01-15 Patrick Palka <ppalka@redhat.com> + + * include/bits/stl_iterator.h (const_iterator): Define conversion + operators as per P2836R1. + * include/bits/version.def (ranges_as_const): Update value. + * include/bits/version.h: Regenerate. + * testsuite/24_iterators/const_iterator/1.cc (test04): New test. + * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected + value of __cpp_lib_ranges_as_const. + * testsuite/std/ranges/version_c++23.cc: Likewise. + +2024-01-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108822 + * include/std/tuple (__assignable, __is_nothrow_assignable): + Move pre-C++20 definitions adjacent to their use. + +2024-01-15 Jonathan Wakely <jwakely@redhat.com> + + PR testsuite/113366 + * include/std/format (basic_format_arg): Use __formattable + variable template instead of __format::__formattable_with + concept. + +2024-01-15 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdata.zi: Import new file from 2023d release. + * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) + Update expiry date for leap seconds list. + +2024-01-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108822 + * include/std/tuple (tuple): Add checks for dangling references. + Reimplement constraints and constant expressions using C++20 + features. + * include/std/type_traits [C++20] + (__is_implicitly_default_constructible_v): Define. + (__is_implicitly_default_constructible): Use variable template. + * testsuite/20_util/tuple/dangling_ref.cc: New test. + +2024-01-13 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/108827 + PR libstdc++/111327 + * include/bits/version.def (bind_back): Define. + * include/bits/version.h: Regenerate. + * include/std/functional (_Bind_back): Define for C++23. + (bind_back): Likewise. + * testsuite/20_util/function_objects/bind_back/1.cc: New test + (adapted from corresponding bind_front test). + * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise. + +2024-01-13 Patrick Palka <ppalka@redhat.com> + + * include/std/functional (_Bind_front): Remove =default special + member function declarations. + (_Bind_front::operator()): Implement using C++23 deducing this + when available. + * testsuite/20_util/function_objects/bind_front/111327.cc: + Adjust testcase to expect better errors in C++23 mode. + +2024-01-13 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (views::__adaptor::operator|): Perform + perfect forwarding of arguments. + (views::__adaptor::_RangeAdaptor::operator()): Pass dummy + first argument to _Partial. + (views::__adaptor::_Partial::_Partial): Likewise. Add dummy + first parameter. + (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding + of arguments. + (to): Pass dummy first argument to _Partial. + +2024-01-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107466 + * include/bits/random.tcc (subtract_with_carry_engine::seed): + Implement proposed resolution of LWG 4014. + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + line number. + * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc: + Check for expected result of 64-bit engine with seed that + doesn't fit in 32-bits. + +2024-01-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113320 + * include/std/format (__format::_Runtime_format_string): Add + constructor and disable copy operations. + (basic_format_string(_Runtime_format_string)): Add noexcept and + take parameter by value not rvalue reference. + (runtime_format): Add noexcept. + * testsuite/std/format/runtime_format.cc: Check noexcept. Check + that construction is only possible from prvalues, not xvalues. + +2024-01-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105505 + * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add + default template arguments, as per P1951R1. + * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test. + +2024-01-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__format::_Arg_store): Fix PR number in + comment. Simplify preprocessor code. + +2024-01-11 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/evolution.xml: Fix spelling. + * doc/html/manual/api.html: Regenerate. + +2024-01-11 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/evolution.xml: Document addition of + libstdc++exp.a. + * doc/html/*: Regenerate. + +2024-01-11 Marcus Haehnel <marcus.haehnel@kernkonzept.com> + + * libsupc++/eh_unex_handler.cc: Adjust definition type to + declaration. + +2024-01-11 Michael Levine <mlevine55@bloomberg.net> + + * include/std/ranges (__glibcxx_want_ranges_iota): Remove + duplicate definition. + +2024-01-11 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/112477 + * src/c++11/debug.cc + (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null + sequence. + (_Safe_iterator_base::_M_attach_single): Likewise. + (_Safe_local_iterator_base::_M_attach): Likewise. + (_Safe_local_iterator_base::_M_attach_single): Likewise. + * testsuite/23_containers/map/debug/112477.cc: New test case. + +2024-01-11 Patrick Palka <ppalka@redhat.com> + + * include/bits/move.h (__like_t): Define in C++23 mode. + * include/std/ranges (views::__adaptor::Partial::operator()): + Implement using C++23 deducing this when available. + (views::__adaptor::_Pipe::operator()): Likewise. + * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to + accept new "no match for call" errors issued in C++23 mode. + * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. + +2024-01-11 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter): + Add printer for std::integral_constant. + * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it. + +2024-01-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113258 + * libsupc++/new_opa.cc: Prefer to use posix_memalign if + available. + +2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * src/filesystem/ops-common.h (stat_type): Use using. + +2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> + + PR libstdc++/113250 + * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&. + * src/filesystem/ops.cc (fs::equivalent): Likewise. + * testsuite/27_io/filesystem/operations/equivalent.cc: Handle + error codes. + * testsuite/experimental/filesystem/operations/equivalent.cc: + Likewise. + +2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_compound): Do not use __not_. + (is_compound_v): Use is_fundamental_v instead. + +2024-01-11 Patrick Palka <ppalka@redhat.com> + + * include/bits/utility.h (_Nth_type): Use + _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin. + +2024-01-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unicode-data.h: Regenerate. + * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off + by one error. + (__incb_property): Add missing check for values before the + first edge. + (__is_extended_pictographic): Invert return values to fix + copy&pasted logic. + (_Grapheme_cluster_view::_Iterator): Remove second iterator + member and find end of cluster lazily. + * testsuite/ext/unicode/grapheme_view.cc: New test. + * testsuite/ext/unicode/properties.cc: New test. + * testsuite/ext/unicode/view.cc: New test. + +2024-01-09 Andreas Schwab <schwab@linux-m68k.org> + + * scripts/extract_symvers.in: Require final colon to only match + .dsynsym in the header of the dynamic symtab. + +2024-01-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify + handling of string returned from std::format. + (__formatter_chrono::_M_R_T): Likewise. + +2024-01-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unicode.h (__null_sentinel): Remove. + * testsuite/17_intro/names.cc: Add __null_sentinel. + +2024-01-08 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__format::_Runtime_format_string): Define + new class template. + (basic_format_string): Add non-consteval constructor for runtime + format strings. + (runtime_format): Define new function for C++26. + * testsuite/std/format/runtime_format.cc: New test. + +2024-01-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono): Always use + lvalue arguments to make_format_args. + * include/std/format (make_format_args): Change parameter pack + from forwarding references to lvalue references. Remove use of + remove_reference_t which is now unnecessary. + (format_to, formatted_size): Remove incorrect forwarding of + arguments. + * include/std/ostream (print): Remove forwarding of arguments. + * include/std/print (print): Likewise. + * testsuite/20_util/duration/io.cc: Use lvalues as arguments to + make_format_args. + * testsuite/std/format/arguments/args.cc: Likewise. + * testsuite/std/format/arguments/lwg3810.cc: Likewise. + * testsuite/std/format/functions/format.cc: Likewise. + * testsuite/std/format/functions/vformat_to.cc: Likewise. + * testsuite/std/format/string.cc: Likewise. + * testsuite/std/time/day/io.cc: Likewise. + * testsuite/std/time/month/io.cc: Likewise. + * testsuite/std/time/weekday/io.cc: Likewise. + * testsuite/std/time/year/io.cc: Likewise. + * testsuite/std/time/year_month_day/io.cc: Likewise. + * testsuite/std/format/arguments/args_neg.cc: New test. + +2024-01-08 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add new headers. + * include/Makefile.in: Regenerate. + * include/bits/unicode.h: New file. + * include/bits/unicode-data.h: New file. + * include/std/format: Include <bits/unicode.h>. + (__literal_encoding_is_utf8): Move to <bits/unicode.h>. + (_Spec::_M_fill): Change type to char32_t. + (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value + instead of a single character. + (__write_padded): Change __fill_char parameter to char32_t and + encode it into the output. + (__formatter_str::format): Use new __unicode::__field_width and + __unicode::__truncate functions. + * include/std/ostream: Adjust namespace qualification for + __literal_encoding_is_utf8. + * include/std/print: Likewise. + * src/c++23/print.cc: Add [[unlikely]] attribute to error path. + * testsuite/ext/unicode/view.cc: New test. + * testsuite/std/format/functions/format.cc: Add missing examples + from the standard demonstrating alignment with non-ASCII + characters. Add examples checking correct handling of extended + grapheme clusters. + +2024-01-08 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (format_uchar): Define. + * include/bits/version.h: Regenerate. + * include/std/format (formatter<C, C>::format): Check for + _Pres_c and call _M_format_character directly. Cast C to its + unsigned equivalent for formatting as an integer. + (formatter<char, wchar_t>::format): Likewise. + (basic_format_arg(T&)): Store char arguments as unsigned char + for formatting to a wide string. + * testsuite/std/format/functions/format.cc: Adjust test. Check + formatting of + +2024-01-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112997 + * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first + parameter to void*. + +2024-01-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor. + +2024-01-07 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits (is_trivially_destructible_v): Use + built-in directly when concepts are supported. + * testsuite/20_util/is_trivially_destructible/value_v.cc: New + test. + +2024-01-06 Gwenole Beauchesne <gb.devel@gmail.com> + + * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use + nonnull arguments to strtoimax() and wcstoimax() functions. + +2024-01-05 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum + size and check for overflows in arithmetic. + (path::operator/=(const path&)): Remove redundant exponential + growth calculation. + +2024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com> + + * src/c++17/fs_path.cc (path::_List::reserve): Avoid + floating-point arithmetic. + +2024-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113241 + * include/std/type_traits (is_convertible_v): Guard use of + built-in with preprocessor check. + +2024-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113200 + * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use + __builtin_constant_p to check for unrelated pointers that cannot + be compared during constant evaluation. + * testsuite/21_strings/char_traits/requirements/113200.cc: New + test. + +2024-01-05 Cassio Neri <cassio.neri@gmail.com> + + * include/std/chrono: Fix + and - for months and weekdays. + * testsuite/std/time/month/1.cc: Add constexpr tests against overflow. + * testsuite/std/time/month/2.cc: New test for extreme values. + * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow. + * testsuite/std/time/weekday/2.cc: New test for extreme values. + +2024-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/113099 + * include/bits/locale_classes.tcc (__try_use_facet): Use + if-constexpr for C++11 and up. + +2024-01-05 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT. + +2024-01-04 Arsen Arsenović <arsen@aarsen.me> + + * include/std/generator (_Subyield_state::_M_jump_in): Fix typo + reported by Will Hawkins <hawkinsw@obs.cr>. + +2024-01-04 Arsen Arsenović <arsen@aarsen.me> + + * include/std/generator (_Stateless_alloc): Rename typename _A + to _All. + +2024-01-03 Patrick Palka <ppalka@redhat.com> + + PR testsuite/113175 + * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce + 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly. + (test03): Likewise. + +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 +notice and this notice are preserved. -- GitLab