https://gcc.gnu.org/g:17643e5a6808f4a7161a7aa9234a4999b74f6b1a

commit r15-4762-g17643e5a6808f4a7161a7aa9234a4999b74f6b1a
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Wed Oct 30 00:19:35 2024 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 683 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       |  10 +
 gcc/analyzer/ChangeLog  |   8 +
 gcc/c-family/ChangeLog  |  23 ++
 gcc/c/ChangeLog         |  16 ++
 gcc/cp/ChangeLog        |  16 ++
 gcc/d/ChangeLog         |   6 +
 gcc/fortran/ChangeLog   |   8 +
 gcc/jit/ChangeLog       |  15 ++
 gcc/testsuite/ChangeLog | 350 +++++++++++++++++++++++++
 libstdc++-v3/ChangeLog  |  18 ++
 12 files changed, 1154 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 027d1f97cc9b..d2047bd53db6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,686 @@
+2024-10-29  Andi Kleen  <a...@gcc.gnu.org>
+
+       Revert:
+       2024-10-29  Andi Kleen  <a...@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  <dmalc...@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_apin...@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  <a...@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  <a...@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  <a...@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  <ebotca...@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_apin...@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  <tclin...@gmail.com>
+
+       * common/config/riscv/riscv-common.cc: M implies Zmmul.
+
+2024-10-29  yulong  <shiyul...@iscas.ac.cn>
+
+       * config.gcc: Add riscv_cmo.h.
+       * config/riscv/riscv_cmo.h: New file.
+
+2024-10-29  Pan Li  <pan2...@intel.com>
+           Juzhe-Zhong  <juzhe.zh...@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...@intel.com>
+           Juzhe-Zhong  <juzhe.zh...@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...@intel.com>
+           Juzhe-Zhong  <juzhe.zh...@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  <rguent...@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  <rguent...@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  <dmalc...@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  <rguent...@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  <rguent...@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.richa...@arm.com>
+           Christophe Lyon  <christophe.l...@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.richa...@arm.com>
+           Christophe Lyon  <christophe.l...@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.richa...@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.richa...@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  <ja...@redhat.com>
+
+       PR c/117030
+       * doc/extend.texi (__builtin_stdc_rotate_left,
+       __builtin_stdc_rotate_right): Document.
+
 2024-10-28  Sam James  <s...@gentoo.org>
 
        * opts-common.cc (prune_options): Fix typo.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 03377a986ad3..d334905e0408 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20241029
+20241030
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index b12bd408b9c9..31c7b677bdf3 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,13 @@
+2024-10-29  David Malcolm  <dmalc...@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  <poulh...@adacore.com>
+
+       * types.h: fix static_assert.
+
 2024-10-26  Eric Botcazou  <ebotca...@adacore.com>
 
        PR ada/62122
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index f6abba114edb..2976622b50e2 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,11 @@
+2024-10-29  David Malcolm  <dmalc...@redhat.com>
+
+       PR other/116613
+       * analyzer-language.cc (on_finish_translation_unit): Update for
+       m_printer becoming reference printer.
+       * engine.cc (run_checkers): Likewise.
+       * program-point.cc (function_point::print_source_line): Likewise.
+
 2024-10-25  Jakub Jelinek  <ja...@redhat.com>
 
        * state-purge.cc: Remove trailing whitespace.
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 2d2eaab4d80b..d0895c53ddd6 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,26 @@
+2024-10-29  David Malcolm  <dmalc...@redhat.com>
+
+       PR other/116613
+       * c-format.cc (selftest::test_type_mismatch_range_labels): Update
+       for m_printer becoming reference printer.
+       (selftest::test_type_mismatch_range_labels): Likewise.
+
+2024-10-29  Jakub Jelinek  <ja...@redhat.com>
+
+       PR c/117313
+       * c-common.cc (complete_array_type): For RAW_DATA_CST elements
+       advance curindex by RAW_DATA_LENGTH or one less than that if
+       ce->index is non-NULL.  Handle even the first element if
+       it is RAW_DATA_CST.  Formatting fix.
+
+2024-10-29  Jakub Jelinek  <ja...@redhat.com>
+
+       PR c/117030
+       * c-common.cc (c_common_reswords): Add __builtin_stdc_rotate_left
+       and __builtin_stdc_rotate_right.
+       * c-ubsan.cc (ubsan_instrument_shift): For {L,R}ROTATE_EXPR
+       just check if op1 is negative.
+
 2024-10-27  Jakub Jelinek  <ja...@redhat.com>
 
        * c.opt (warn_trailing_whitespace_kind): Change blank
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 16db34cac838..ed911a738d0f 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,19 @@
+2024-10-29  David Malcolm  <dmalc...@redhat.com>
+
+       PR other/116613
+       * c-objc-common.cc: Include "make-unique.h".
+       (c_initialize_diagnostics): Use unique_ptr for pretty_printer.
+       Use context->set_format_decoder.
+
+2024-10-29  Jakub Jelinek  <ja...@redhat.com>
+
+       PR c/117030
+       * c-parser.cc: Include asan.h and c-family/c-ubsan.h.
+       (c_parser_postfix_expression): Handle __builtin_stdc_rotate_left
+       and __builtin_stdc_rotate_right.
+       * c-fold.cc (c_fully_fold_internal): Handle LROTATE_EXPR and
+       RROTATE_EXPR.
+
 2024-10-25  Jakub Jelinek  <ja...@redhat.com>
 
        * c-typeck.cc: Remove trailing whitespace.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index ad38ec922079..e41cde2a928e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,19 @@
+2024-10-29  David Malcolm  <dmalc...@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  <ja...@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  <ja...@redhat.com>
 
        * vtable-class-hierarchy.cc: Remove trailing whitespace.
diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog
index ad6690ebc85c..c65d9b7b8365 100644
--- a/gcc/d/ChangeLog
+++ b/gcc/d/ChangeLog
@@ -1,3 +1,9 @@
+2024-10-29  David Malcolm  <dmalc...@redhat.com>
+
+       PR other/116613
+       * d-diagnostic.cc (d_diagnostic_report_diagnostic): Update for
+       m_printer becoming reference printer.
+
 2024-10-24  David Malcolm  <dmalc...@redhat.com>
            Gaius Mulley  <gaiusm...@gmail.com>
 
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index f5f9b661952d..ddcc65ce2ced 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,11 @@
+2024-10-29  David Malcolm  <dmalc...@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  <pa...@gcc.gnu.org>
 
        PR fortran/115070
diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog
index 0c3e84dc365e..d317f73f7672 100644
--- a/gcc/jit/ChangeLog
+++ b/gcc/jit/ChangeLog
@@ -1,3 +1,18 @@
+2024-10-29  David Malcolm  <dmalc...@redhat.com>
+
+       PR other/116613
+       * dummy-frontend.cc: Include "make-unique.h".
+       (class jit_diagnostic_listener): New.
+       (jit_begin_diagnostic): Update comment.
+       (jit_end_diagnostic): Drop call to add_diagnostic.
+       (jit_langhook_init): Set the output format to a new
+       jit_diagnostic_listener.
+       * jit-playback.cc (playback::context::add_diagnostic): Add "text"
+       param and use that rather than trying to get the text from a
+       pretty_printer.
+       * jit-playback.h (playback::context::add_diagnostic): Add "text"
+       param.
+
 2024-10-25  Jakub Jelinek  <ja...@redhat.com>
 
        * docs/examples/tut04-toyvm/toyvm.cc: Remove trailing whitespace.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f5188c8fd0eb..b4cb431ae7b7 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,353 @@
+2024-10-29  Andi Kleen  <a...@gcc.gnu.org>
+
+       Revert:
+       2024-10-29  Andi Kleen  <a...@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  <dmalc...@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_apin...@quicinc.com>
+
+       PR target/117346
+       * gcc.target/aarch64/imm_choice_comparison-1.c: New test.
+
+2024-10-29  Andi Kleen  <a...@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  <ebotca...@adacore.com>
+
+       * gcc.c-torture/execute/20241029-1.c: New test.
+
+2024-10-29  Jakub Jelinek  <ja...@redhat.com>
+
+       PR c/117313
+       * c-c++-common/init-6.c: New test.
+
+2024-10-29  Jason Merrill  <ja...@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  <j...@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_apin...@quicinc.com>
+
+       PR tree-optimization/117341
+       * g++.dg/torture/pr117341-1.C: New test.
+
+2024-10-29  yulong  <shiyul...@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...@intel.com>
+           Juzhe-Zhong  <juzhe.zh...@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...@intel.com>
+           Juzhe-Zhong  <juzhe.zh...@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  <rguent...@suse.de>
+
+       PR tree-optimization/117333
+       * gcc.dg/torture/pr117333.c: New testcase.
+
+2024-10-29  Alfie Richards  <alfie.richa...@arm.com>
+           Christophe Lyon  <christophe.l...@arm.com>
+
+       * gcc.target/arm/pr112337.c: Call intrinsic instead of builtin.
+
+2024-10-29  Alfie Richards  <alfie.richa...@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  <ja...@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  <dmalc...@redhat.com>
 
        * gcc.dg/sarif-output/test-bad-pragma.py: Rename to...
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 9be0aa3b3fb5..a3e2b4747e00 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,21 @@
+2024-10-29  Patrick Palka  <ppa...@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  <ja...@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  <jwak...@redhat.com>
 
        * testsuite/23_containers/vector/bool/cons/from_range.cc: Use

Reply via email to