diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 027d1f97cc9..d2047bd53db 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,686 @@ +2024-10-29 Andi Kleen + + Revert: + 2024-10-29 Andi Kleen + + 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 + + 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 + + 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 + + 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 + + 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 + + * common.opt: Enable -fbit-tests and -fjump-tables only at -O1. + * opts.cc (default_options_table): Dito. + +2024-10-29 Eric Botcazou + + 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 + + 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 + + * common/config/riscv/riscv-common.cc: M implies Zmmul. + +2024-10-29 yulong + + * config.gcc: Add riscv_cmo.h. + * config/riscv/riscv_cmo.h: New file. + +2024-10-29 Pan Li + Juzhe-Zhong + + * config/riscv/autovec.md (mask_len_strided_load_): Add + new pattern for MASK_LEN_STRIDED_LOAD. + (mask_len_strided_store_): 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 + Juzhe-Zhong + + * 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 + Juzhe-Zhong + + * 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 + + * 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 + + * 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 + + 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 + + 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 + + PR tree-optimization/117333 + * tree-data-ref.cc (dr_may_alias_p): Guard against NULL + access size. + +2024-10-29 Alfie Richards + Christophe Lyon + + * 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_): Remove. + (mve_vldrbq_): Likewise. + (mve_vstrbq_p_): Likewise. + (mve_vldrbq_z_): Likewise. + (mve_vldrhq_fv8hf): Likewise. + (mve_vldrhq_): Likewise. + (mve_vldrhq_z_fv8hf): Likewise. + (mve_vldrhq_z_): Likewise. + (mve_vldrwq_fv4sf): Likewise. + (mve_vldrwq_v4si): Likewise. + (mve_vldrwq_z_fv4sf): Likewise. + (mve_vldrwq_z_v4si): Likewise. + (@mve_vld1q_f): Likewise. + (@mve_vld1q_): Likewise. + (mve_vstrhq_fv8hf): Likewise. + (mve_vstrhq_p_fv8hf): Likewise. + (mve_vstrhq_p_): Likewise. + (mve_vstrhq_): Likewise. + (mve_vstrwq_fv4sf): Likewise. + (mve_vstrwq_p_fv4sf): Likewise. + (mve_vstrwq_p_v4si): Likewise. + (mve_vstrwq_v4si): Likewise. + (@mve_vst1q_f): Likewise. + (@mve_vst1q_): Likewise. + (@mve_vstrq_): New. + (@mve_vstrq_p_): New. + (@mve_vstrq_truncate_): New. + (@mve_vstrq_p_truncate_): New. + (@mve_vldrq_): New. + (@mve_vldrq_z_): New. + (@mve_vldrq_extend_): New. + (@mve_vldrq_z_extend_): 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 + Christophe Lyon + + * 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 + + * 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 + + * 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 + + PR c/117030 + * doc/extend.texi (__builtin_stdc_rotate_left, + __builtin_stdc_rotate_right): Document. + 2024-10-28 Sam James * opts-common.cc (prune_options): Fix typo. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 03377a986ad..d334905e040 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20241029 +20241030 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index b12bd408b9c..31c7b677bdf 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,13 @@ +2024-10-29 David Malcolm + + PR other/116613 + * gcc-interface/misc.cc (internal_error_function): Update for + m_printer becoming reference printer. + +2024-10-29 Marc Poulhiès + + * types.h: fix static_assert. + 2024-10-26 Eric Botcazou PR ada/62122 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index f6abba114ed..2976622b50e 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,11 @@ +2024-10-29 David Malcolm + + 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 * state-purge.cc: Remove trailing whitespace. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 2d2eaab4d80..d0895c53ddd 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,26 @@ +2024-10-29 David Malcolm + + 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 + + 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 + + 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 * c.opt (warn_trailing_whitespace_kind): Change blank diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 16db34cac83..ed911a738d0 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,19 @@ +2024-10-29 David Malcolm + + 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 + + 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 * c-typeck.cc: Remove trailing whitespace. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ad38ec92207..e41cde2a928 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,19 @@ +2024-10-29 David Malcolm + + 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 + + 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 * vtable-class-hierarchy.cc: Remove trailing whitespace. diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index ad6690ebc85..c65d9b7b836 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,9 @@ +2024-10-29 David Malcolm + + PR other/116613 + * d-diagnostic.cc (d_diagnostic_report_diagnostic): Update for + m_printer becoming reference printer. + 2024-10-24 David Malcolm Gaius Mulley diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f5f9b661952..ddcc65ce2ce 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2024-10-29 David Malcolm + + 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 PR fortran/115070 diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index 0c3e84dc365..d317f73f767 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,18 @@ +2024-10-29 David Malcolm + + 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 * docs/examples/tut04-toyvm/toyvm.cc: Remove trailing whitespace. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f5188c8fd0e..b4cb431ae7b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,353 @@ +2024-10-29 Andi Kleen + + Revert: + 2024-10-29 Andi Kleen + + * 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 + + 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 + + PR target/117346 + * gcc.target/aarch64/imm_choice_comparison-1.c: New test. + +2024-10-29 Andi Kleen + + * 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 + + * gcc.c-torture/execute/20241029-1.c: New test. + +2024-10-29 Jakub Jelinek + + PR c/117313 + * c-c++-common/init-6.c: New test. + +2024-10-29 Jason Merrill + + 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 + + * 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 + + PR tree-optimization/117341 + * g++.dg/torture/pr117341-1.C: New test. + +2024-10-29 yulong + + * gcc.target/riscv/cmo-32.c: New test. + * gcc.target/riscv/cmo-64.c: New test. + +2024-10-29 Pan Li + Juzhe-Zhong + + * 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 + Juzhe-Zhong + + * 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 + + PR tree-optimization/117333 + * gcc.dg/torture/pr117333.c: New testcase. + +2024-10-29 Alfie Richards + Christophe Lyon + + * gcc.target/arm/pr112337.c: Call intrinsic instead of builtin. + +2024-10-29 Alfie Richards + + * 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 + + 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 * gcc.dg/sarif-output/test-bad-pragma.py: Rename to... diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9be0aa3b3fb..a3e2b4747e0 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,21 @@ +2024-10-29 Patrick Palka + + 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 + + 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 * testsuite/23_containers/vector/bool/cons/from_range.cc: Use