aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog3726
1 files changed, 3726 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a3238a3..2d49dd3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,3729 @@
+2025-09-01 Jonathan Grant <jg@jguk.org>
+
+ * doc/install.texi (Configuration): Fix spelling of "support"
+ and "floating-point arithmetic".
+
+2025-09-01 Mark Harmstone <mark@harmstone.com>
+
+ * dwarf2codeview.cc (get_type_num_array_type): Don't try to
+ encode non-C-style arrays.
+
+2025-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.def: Implement C2Y N3577 - Rename s/uimaxabs/umaxabs/.
+ (BUILT_IN_UIMAXABS): Rename to ...
+ (BUILT_IN_UMAXABS): ... this. Change second argument to "umaxabs".
+ * builtins.cc (fold_builtin_1): Use BUILT_IN_UMAXABS rather than
+ BUILT_IN_UIMAXABS.
+
+2025-09-01 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (Optimize Options): Update the perfwiki web
+ address.
+
+2025-09-01 Iain Sandoe <iain@sandoe.co.uk>
+
+ * diagnostics/logging.h (log_param_location_t): Cast
+ location_t value to fmt_size_t.
+
+2025-09-01 Iain Sandoe <iain@sandoe.co.uk>
+
+ * configure: Regenerate.
+ * configure.ac: Do not claim cfi instruction support even
+ if the assembler has it.
+
+2025-09-01 Yoshinori Sato <yoshinori.sato@nifty.com>
+
+ PR target/89828
+ * config/rx/rx.cc (add_pop_cfi_notes): Release the frame pointer if it is
+ used.
+ (rx_expand_prologue): Redesigned stack pointer and frame pointer update
+ process.
+
+2025-09-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121744
+ * tree-vect-patterns.cc (vect_recog_vector_vector_shift_pattern):
+ Allow constant left operand.
+
+2025-09-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_create_epilog_for_reduction):
+ Use SLP_TREE_REDUC_IDX for following the SLP graph and
+ for identifying whether we use the 'else' in a COND.
+ (vectorizable_lane_reducing): Simplify check of whether
+ we are in a reduction.
+ (vectorizable_reduction): Add sanity checking around
+ SLP_TREE_REDUC_IDX and use it where it looks appropriate.
+ (vect_transform_reduction): Use SLP_TREE_REDUC_IDX.
+ * tree-vect-stmts.cc (vectorizable_call): Likewise.
+ (vectorizable_operation): Likewise.
+ (vectorizable_condition): Likewise.
+
+2025-09-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vectorizable_live_operation): Check
+ vect_is_reduction on the SLP node rather than
+ STMT_VINFO_REDUC_DEF on the stmt.
+ (vectorizable_reduction): Do not set STMT_VINFO_REDUC_DEF
+ on live stmts.
+
+2025-09-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_reduc_info): New.
+ (create_info_for_reduction): Likewise.
+ (VECT_REDUC_INFO_TYPE): Likewise.
+ (VECT_REDUC_INFO_CODE): Likewise.
+ (VECT_REDUC_INFO_FN): Likewise.
+ (VECT_REDUC_INFO_SCALAR_RESULTS): Likewise.
+ (VECT_REDUC_INFO_INITIAL_VALUES): Likewise.
+ (VECT_REDUC_INFO_REUSED_ACCUMULATOR): Likewise.
+ (VECT_REDUC_INFO_INDUC_COND_INITIAL_VAL): Likewise.
+ (VECT_REDUC_INFO_EPILOGUE_ADJUSTMENT): Likewise.
+ (VECT_REDUC_INFO_FORCE_SINGLE_CYCLE): Likewise.
+ (VECT_REDUC_INFO_RESULT_POS): Likewise.
+ (VECT_REDUC_INFO_VECTYPE): Likewise.
+ (STMT_VINFO_VEC_INDUC_COND_INITIAL_VAL): Remove.
+ (STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT): Likewise.
+ (STMT_VINFO_FORCE_SINGLE_CYCLE): Likewise.
+ (STMT_VINFO_REDUC_FN): Likewise.
+ (STMT_VINFO_REDUC_VECTYPE): Likewise.
+ (vect_reusable_accumulator::reduc_info): Adjust.
+ (vect_reduc_type): Adjust.
+ (_slp_tree::cycle_info): New member.
+ (SLP_TREE_REDUC_IDX): Likewise.
+ (vect_reduc_info_s): Move/copy data from ...
+ (_stmt_vec_info): ... here.
+ (_loop_vec_info::redcu_infos): New member.
+ (info_for_reduction): Adjust to take SLP node.
+ (vect_reduc_type): Adjust.
+ (vect_is_reduction): Add overload for SLP node.
+ * tree-vectorizer.cc (vec_info::new_stmt_vec_info):
+ Do not initialize removed members.
+ (vec_info::free_stmt_vec_info): Do not release them.
+ * tree-vect-stmts.cc (vectorizable_condition): Adjust.
+ * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize
+ cycle info.
+ (vect_build_slp_tree_2): Compute SLP reduc_idx and store
+ it. Create, populate and propagate reduction info.
+ (vect_print_slp_tree): Print cycle info.
+ (vect_analyze_slp_reduc_chain): Set cycle info on the
+ manual added conversion node.
+ (vect_optimize_slp_pass::start_choosing_layouts): Adjust.
+ * tree-vect-loop.cc (_loop_vec_info::~_loop_vec_info):
+ Release reduction infos.
+ (info_for_reduction): Get the reduction info from
+ the vector in the loop_vinfo.
+ (vect_create_epilog_for_reduction): Adjust.
+ (vectorizable_reduction): Likewise.
+ (vect_transform_reduction): Likewise.
+ (vect_transform_cycle_phi): Likewise, deal with nested
+ cycles not part of a double reduction have no reduction info.
+ * config/aarch64/aarch64.cc (aarch64_force_single_cycle):
+ Use VECT_REDUC_INFO_FORCE_SINGLE_CYCLE, get SLP node and use
+ that.
+ (aarch64_vector_costs::count_ops): Adjust.
+
+2025-09-01 Tobias Burnus <tburnus@baylibre.com>
+
+ PR target/121392
+ * doc/install.texi (amdgcn): Mention Newlib commit
+ that fixes another SIMD issue.
+
+2025-09-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_is_simple_iv_evolution): Get
+ stmt_info and store into STMT_VINFO_LOOP_PHI_EVOLUTION_BASE_UNCHANGED
+ and STMT_VINFO_LOOP_PHI_EVOLUTION_PART here. Drop unused
+ output parameters.
+ (vect_is_nonlinear_iv_evolution): Likewise.
+ (vect_analyze_scalar_cycles_1): Remove redundant setting
+ of STMT_VINFO_LOOP_PHI_EVOLUTION_BASE_UNCHANGED and
+ STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
+
+2025-09-01 Cui, Lili <lili.cui@intel.com>
+
+ PR rtl-optimization/117838
+ * ira-color.cc (improve_allocation): Remove soft conflict related code.
+
+2025-09-01 liuhongt <hongtao.liu@intel.com>
+
+ PR target/121699
+ * config/i386/predicates.md (const_vec_dup_operand): New
+ predicate.
+ * config/i386/sse.md (cond_<insn><mode>): Fix predicate of
+ operands[3], and fix wrong operands passed to
+ ix86_vgf2p8affine_shift_matrix and
+ gen_vgf2p8affineqb_<mode>_mask.
+
+2025-08-31 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/predicates.md (alt_ubranch_operator):
+ New predicate.
+ * config/xtensa/xtensa.md (*eqne_in_range):
+ New insn_and_split pattern.
+
+2025-08-31 Shreya Munnangi <smunnangi1@ventanamicro.com>
+
+ * config/riscv/riscv-protos.h (synthesize_add_extended): Prototype.
+ * config/riscv/riscv.cc (synthesize_add_extended): New function.
+ * config/riscv/riscv.md (addsi3): For RV64, try synthesize_add_extended.
+
+2025-08-31 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Binaries): Drop MinGW.
+
+2025-08-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/121698
+ * tree-ssa-phiopt.cc (spaceship_replacement): Adjust
+ to handle spaceship unordered value -128 rather than 2 and
+ stmts from the new std::partial_order::_M_reverse() instead
+ of (_M_value & ~1) == _M_value etc.
+ * doc/md.texi (spaceship@var{m}4): Use -128 instead of 2.
+ * tree-ssa-math-opts.cc (optimize_spaceship): Adjust comments
+ that libstdc++ unordered value is -128 rather than 2 and use
+ that as the default unordered value.
+ * config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Use
+ GEN_INT (-128) instead of const2_rtx and adjust comment accordingly.
+ * config/aarch64/aarch64.cc (aarch64_expand_fp_spaceship): Likewise.
+ * config/s390/s390.cc (s390_expand_fp_spaceship): Likewise.
+
+2025-08-30 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/extend.texi (Vector Extensions): Improve markup for list
+ of operators.
+
+2025-08-30 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/standards.texi (Standards): Update "Object-Oriented
+ Programming and the Objective-C Language" reference.
+
+2025-08-30 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121725
+ * config/i386/i386-features.cc
+ (pass_x86_cse::candidate_gnu2_tls_p): Use the UNSPEC_DTPOFF
+ operand to check source operand in TLS64_COMBINE pattern.
+
+2025-08-30 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/116651
+ PR tree-optimization/93265
+ PR tree-optimization/103647
+ PR tree-optimization/52171
+ * tree-ssa-forwprop.cc (simplify_builtin_memcmp): New function.
+ (simplify_builtin_call): Call simplify_builtin_memcmp for memcmp
+ memcmp_eq builtins.
+
+2025-08-29 Gaius Mulley <gaiusmod2@gmail.com>
+
+ PR modula2/121709
+ * doc/gm2.texi (Module Search Path): Reflect the new
+ search order.
+
+2025-08-29 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OBJS-libcommon): Add diagnostics/logging.o.
+ * diagnostic-global-context.cc: Include "diagnostics/logging.h".
+ (log_function_params, auto_inc_log_depth): New "using" decls.
+ (verbatim): Add logging.
+ (emit_diagnostic): Likewise.
+ (emit_diagnostic_valist): Likewise.
+ (emit_diagnostic_valist_meta): Likewise.
+ (inform): Likewise.
+ (inform_n): Likewise.
+ (warning): Likewise.
+ (warning_at): Likewise.
+ (warning_meta): Likewise.
+ (warning_n): Likewise.
+ (pedwarn): Likewise.
+ (permerror): Likewise.
+ (permerror_opt): Likewise.
+ * diagnostics/context.cc: Include "diagnostics/logging.h".
+ (context::initialize): Initialize m_logger. Add logging.
+ (context::finish): Add logging. Clean up m_logger.
+ (context::dump): Add indent param.
+ (context::set_sink): Add logging.
+ (context::add_sink): Add logging.
+ (diagnostic_kind_debug_text): New.
+ (get_debug_string_for_kind): New.
+ (context::report_diagnostic): Add logging.
+ (context::diagnostic_impl): Likewise.
+ (context::diagnostic_n_impl): Likewise.
+ (context::end_group): Likewise.
+ * diagnostics/context.h: Include "diagnostics/logging.h".
+ (context::dump): Add indent param.
+ (context::get_logger): New accessor.
+ (context::classify_diagnostics): Add logging.
+ (context::push_diagnostics): Likewise.
+ (context::pop_diagnostics): Likewise.
+ (context::m_logger): New field.
+ * diagnostics/html-sink.cc: Include "diagnostics/logging.h".
+ (html_builder::flush_to_file): Add logging.
+ (html_sink::on_report_diagnostic): Likewise.
+ * diagnostics/kinds.h (get_debug_string_for_kind): New decl.
+ * diagnostics/logging.cc: New file.
+ * diagnostics/logging.h: New file.
+ * diagnostics/output-file.h: Include "label-text.h".
+ * diagnostics/sarif-sink.cc: Include "diagnostics/logging.h".
+ (sarif_builder::flush_to_object): Add logging.
+ (sarif_builder::flush_to_file): Likewise.
+ (sarif_sink::on_report_diagnostic): Likewise.
+ * diagnostics/sink.h (sink::get_logger): New.
+ * diagnostics/text-sink.cc: Include "diagnostics/logging.h".
+ (text_sink::on_report_diagnostic): Add logging.
+ * doc/invoke.texi (Environment Variables): Document
+ GCC_DIAGNOSTICS_LOG.
+ * opts-diagnostic.cc: Include "diagnostics/logging.h".
+ (handle_OPT_fdiagnostics_add_output_): Add loggging.
+ (handle_OPT_fdiagnostics_set_output_): Likewise.
+
+2025-08-29 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa-protos.h (xtensa_bswapsi2_output):
+ New function prototype.
+ * config/xtensa/xtensa.cc
+ (xtensa_bswapsi2_output_1, xtensa_bswapsi2_output):
+ New functions.
+ * config/xtensa/xtensa.md (bswapsi2_internal):
+ Rewrite in compact syntax and use xtensa_bswapsi2_output() as asm
+ output.
+
+2025-08-29 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/121548
+ * config/riscv/riscv-avlprop.cc (get_insn_vtype_mode): Assert
+ MODE_IDX is smaller than the number of operands.
+ (simplify_replace_vlmax_avl): Similarly.
+ (pass_avlprop::get_vlmax_ta_preferred_avl): Similarly.
+ * config/riscv/vector.md: Override merge_op_idx computation
+ for simple moves, just like is done for avl_type_idx and mode_idx.
+
+2025-08-29 Paul-Antoine Arras <parras@baylibre.com>
+
+ * config/riscv/autovec-opt.md
+ (*vfmin_vf_ieee_<mode>): Add new patterns to combine vec_duplicate +
+ vfmin.vv (unspec) into vfmin.vf.
+ (*vfmul_vf_<mode>, *vfrdiv_vf_<mode>, *vfmin_vf_<mode>): Fix attribute
+ types.
+ * config/riscv/vector.md (@pred_<ieee_fmaxmin_op><mode>_scalar): Allow
+ VLS modes.
+
+2025-08-29 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121096
+ * config/i386/i386-expand.cc (expand_cpymem_epilogue): Set and
+ clear by_pieces_in_use when using by_pieces op.
+ (expand_setmem_epilogue): Likewise.
+ * config/i386/i386.cc (ix86_use_by_pieces_infrastructure_p): New.
+ (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Likewise.
+ * config/i386/i386.h (machine_function): Add by_pieces_in_use.
+
+2025-08-29 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121108
+ * config/i386/i386-expand.cc (setmem_epilogue_gen_val): Don't
+ assert op_mode == word_mode and handle any integer modes.
+
+2025-08-29 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121694
+ * config/i386/i386-features.cc (redundant_pattern): Add
+ tlsdesc_val.
+ (pass_x86_cse): Likewise.
+ (pass_x86_cse::tls_set_insn_from_symbol): New member function.
+ (pass_x86_cse::candidate_gnu2_tls_p): Set tlsdesc_val. For
+ TLS64_COMBINE, match both UNSPEC_TLSDESC and UNSPEC_DTPOFF
+ symbols. For TLS64_CALL, match the UNSPEC_TLSDESC sumbol.
+ (pass_x86_cse::x86_cse): Initialize the tlsdesc_val field in
+ load. Pass the tlsdesc_val field to ix86_place_single_tls_call
+ for X86_CSE_TLSDESC.
+
+2025-08-29 Tobias Burnus <tburnus@baylibre.com>
+
+ * doc/invoke.texi (AMD GCN Options: -march): Remove '(experimental)'
+ from gfx-{9,10-3,11}-generic.
+
+2025-08-29 Tobias Burnus <tburnus@baylibre.com>
+
+ * doc/install.texi (amdgcn): Clarify which binaries must be the
+ LLVM version and which must be installed. Update version data for
+ ROCm for generic architectures.
+
+2025-08-29 liuhongt <hongtao.liu@intel.com>
+
+ * doc/invoke.texi: Document -param=ix86-vect-unroll-limit.
+
+2025-08-29 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/autovec-opt.md (*vnmsac_vx_<mode>): Add new
+ pattern to combine to vx.
+ * config/riscv/vector.md (@pred_vnmsac_vx_<mode>): Add new
+ pattern to generate rtl.
+ (*pred_nmsac_<mode>_scalar_undef): Ditto.
+
+2025-08-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/115201
+ * passes.def: Move cleanup_eh before first tail_recursion.
+
+2025-08-28 Paul-Antoine Arras <parras@baylibre.com>
+
+ * config/riscv/autovec-opt.md (*vfmin_vf_<mode>): Add new pattern to
+ combine vec_duplicate + vfmin.vv into vfmin.vf.
+ * config/riscv/vector.md (@pred_<optab><mode>_scalar): Allow VLS modes.
+
+2025-08-28 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_analyze_loop_form): Dump
+ niter assumption used for versioning.
+
+2025-08-28 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ PR middle-end/66462
+ * config/aarch64/aarch64.md (isinf<mode>2): Add new expander.
+ * config/aarch64/iterators.md (mantissa_bits): Add new mode_attr.
+
+2025-08-28 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vectorize_fold_left_reduction): Do not get
+ reduc_var as argument, instead compute it here.
+ (vect_transform_reduction): Adjust.
+
+2025-08-28 Gaius Mulley <gaiusmod2@gmail.com>
+
+ PR modula2/121629
+ * doc/gm2.texi (Module Search Path): New section.
+ (Compiler options): New option -fm2-pathname-root=.
+ New option -fm2-pathname-rootI.
+
+2025-08-28 Tobias Burnus <tburnus@baylibre.com>
+
+ PR debug/119367
+ * acinclude.m4 (gcc_GAS_FLAGS): For gcn, use "--filetype=obj
+ -triple=amdgcn--amdhsa", if supported.
+ * configure: Regenerate.
+ * doc/install.texi (amdgcn-*-*): Also add llvm-objdump to the list of
+ to-be-copied files.
+
+2025-08-28 Richard Biener <rguenther@suse.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-patterns.cc (vect_synth_mult_by_constant): Avoid
+ in cases that introduce multiple uses of reduction operands.
+
+2025-08-28 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-patterns.cc (vect_recog_divmod_pattern): Avoid
+ for stmts participating in a reduction.
+
+2025-08-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/119367
+ * configure.ac (gcc_cv_as_leb128): Add fallback using readelf.
+ Grammar fix in comment.
+ * configure: Regenerate.
+
+2025-08-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/119367
+ * dwarf2out.cc (output_one_line_info_table) <case LI_adv_address>: If
+ HAVE_AS_LEB128, use DW_LNS_advance_pc with dw2_asm_output_delta_uleb128
+ instead of DW_LNS_fixed_advance_pc with dw2_asm_output_delta.
+
+2025-08-27 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/121695
+ * tree-if-conv.cc (factor_out_operators): Fix typo
+ in assignment of the phi.
+
+2025-08-27 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_transform_cycle_phi): Remove
+ unused reduc_stmt_info.
+
+2025-08-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121686
+ * tree-vect-slp.cc (vect_analyze_slp): Consider all only-live
+ non-reduction defs for discovery.
+
+2025-08-27 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121668
+ * config/i386/i386-features.cc (ix86_emit_tls_call): Emit the
+ TLS call after debug marker.
+
+2025-08-27 Jeff Law <jlaw@ventanamicro.com>
+
+ * config/riscv/riscv-cores.def (xt-c908v): Drop xtheadvdot.
+ (xt-c910v2): Remove extraenous whitespace.
+ (xt-c920v2): Drop xtheadvdot and remove extraeonous whitespace.
+
+2025-08-26 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/i386.cc (ix86_vector_costs::ix86_vector_costs):
+ Addd new memeber m_num_reduc, m_prefer_unroll.
+ (ix86_vector_costs::add_stmt_cost): Set m_prefer_unroll and
+ m_num_reduc
+ (ix86_vector_costs::finish_cost): Determine
+ m_suggested_unroll_vector with consideration of
+ reduc_lat_mult_thr, m_num_reduction and
+ ix86_vect_unroll_limit.
+ * config/i386/i386.h (enum ix86_reduc_unroll_factor): New
+ enum.
+ (processor_costs): Add reduc_lat_mult_thr and
+ vect_unroll_limit.
+ * config/i386/x86-tune-costs.h: Initialize
+ reduc_lat_mult_thr and vect_unroll_limit.
+ * config/i386/i386.opt: Add -param=ix86-vect-unroll-limit.
+
+2025-08-26 Paul-Antoine Arras <parras@baylibre.com>
+
+ * config/riscv/autovec-opt.md (*vfrdiv_vf_<mode>): Add new pattern to
+ combine vec_duplicate + vfdiv.vv into vfrdiv.vf.
+ * config/riscv/vector.md (@pred_<optab><mode>_reverse_scalar): Allow VLS
+ modes.
+
+2025-08-26 Tamar Christina <tamar.christina@arm.com>
+
+ PR target/121290
+ * config/aarch64/aarch64.cc
+ (class aarch64_vector_costs ): Add m_loop_fully_scalar_dup.
+ (aarch64_vector_costs::add_stmt_cost): Detect invariant inner loops.
+ (adjust_body_cost): Adjust final costing if m_loop_fully_scalar_dup.
+
+2025-08-26 Paul-Antoine Arras <parras@baylibre.com>
+
+ * config/riscv/autovec-opt.md (*vfmul_vf_<mode>): Add new pattern to
+ combine vec_duplicate + vfmul.vv into vfmul.vf.
+ * config/riscv/vector.md (@pred_<optab><mode>_scalar): Allow VLS modes.
+
+2025-08-26 Jeff Law <jlaw@ventanamicro.com>
+
+ * config/riscv/riscv.cc (riscv_arg_partial_bytes): Remove name
+ from unused parameter.
+
+2025-08-26 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_reduc_type): Get SLP node as argument.
+ * config/aarch64/aarch64.cc (aarch64_sve_in_loop_reduction_latency):
+ Take SLO node as argument and adjust.
+ (aarch64_in_loop_reduction_latency): Likewise.
+ (aarch64_detect_vector_stmt_subtype): Adjust.
+ (aarch64_vector_costs::count_ops): Likewise. Treat reductions
+ during scalar costing as single-cycle.
+
+2025-08-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121659
+ * tree-vect-slp.cc (vect_build_slp_tree_1): Do not allow
+ matching up comparison operators by swapping if that would
+ disturb STMT_VINFO_REDUC_IDX. Make sure to only
+ actually mark operands for swapping when there was a
+ mismatch and we're not processing the first stmt.
+
+2025-08-26 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (vectorizable_store): Access lanes_ifn
+ only when VMAT_LOAD_STORE_LANES.
+ (vectorizable_load): Likewise.
+
+2025-08-26 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (stmt_vec_info_::reduc_vectype_in): Remove.
+ (STMT_VINFO_REDUC_VECTYPE_IN): Likewise.
+ * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): Get
+ at the input vectype via the SLP node child.
+ (vectorizable_lane_reducing): Likewise.
+ (vect_transform_reduction): Likewise.
+ (vectorizable_reduction): Do not set STMT_VINFO_REDUC_VECTYPE_IN.
+
+2025-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/121658
+ * config/i386/sse.md (<insn><mode>3 any_shift): Use const0_rtx
+ instead of GEN_INT (0).
+ (cond_<insn><mode> any_shift): Likewise. Formatting fix.
+ (<insn><mode>3 any_rotate): Use register_operand predicate instead of
+ general_operand for match_operand 1. Use const0_rtx instead of
+ GEN_INT (0).
+ (<insn>v16qi3 any_rotate): Use force_reg on operands[1]. Formatting
+ fix.
+ * config/i386/i386.cc (ix86_shift_rotate_cost): Comment formatting
+ fixes.
+
+2025-08-26 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/vector.md (@pred_mul_plus_vx_<mode>): Add new pattern to
+ generate vmacc rtl.
+ (*pred_macc_<mode>_scalar_undef): Ditto.
+ * config/riscv/autovec-opt.md (*vmacc_vx_<mode>): Add new
+ pattern to match the vmacc vx combine.
+
+2025-08-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/121453
+ * omp-expand.cc (expand_omp_for_init_counts): Clear fd->loop.n2
+ before first zero count check if zero_iter1_bb is non-NULL upon
+ entry and fd->loop.n2 has not been written yet.
+
+2025-08-25 David Faust <david.faust@oracle.com>
+
+ PR debug/121411
+ * dwarf2ctf.cc (gen_ctf_subrange_type): Use unsigned HWI for
+ array_num_elements. Fallback to CTF_K_UNKNOWN if the array
+ type has too many elements for CTF to represent.
+
+2025-08-25 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * tree-ssa-forwprop.cc (simplify_permutation): Boolify.
+ (pass_forwprop::execute): No longer handle 2 as the return
+ from simplify_permutation.
+
+2025-08-25 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * tree-ssa-forwprop.cc (forward_propagate_into_comparison): Boolify.
+ (pass_forwprop::execute): Don't handle return of 2 from
+ forward_propagate_into_comparison.
+
+2025-08-25 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * tree-ssa-forwprop.cc (remove_prop_source_from_use): Remove
+ return type.
+ (forward_propagate_into_comparison): Update dealing with
+ no return type of remove_prop_source_from_use.
+ (forward_propagate_into_gimple_cond): Likewise.
+ (simplify_permutation): Likewise.
+
+2025-08-25 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * tree-ssa-forwprop.cc (simplify_gimple_switch): Add simple_dce_worklist
+ argument. Mark the old index when doing the replacement.
+ (pass_forwprop::execute): Update call to simplify_gimple_switch.
+
+2025-08-25 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/121279
+ * gimple-fold.cc (gimple_needing_rewrite_undefined): Return
+ true for non mode precision boolean loads.
+ (rewrite_to_defined_unconditional): Handle non mode precision loads.
+
+2025-08-25 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * tree-ssa-loop-im.cc (execute_sm): Call
+ get_or_create_ssa_default_def for the new uninitialized
+ decl.
+
+2025-08-25 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.md (addsi3, <u>mulhisi3, andsi3,
+ zero_extend<mode>si2, extendhisi2_internal, movsi_internal,
+ movhi_internal, movqi_internal, movsf_internal, ashlsi3_internal,
+ ashrsi3, lshrsi3, rotlsi3, rotrsi3):
+ Rewrite in compact syntax.
+
+2025-08-25 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.md
+ (The auxiliary define_split for *masktrue_const_bitcmpl):
+ Use a more concise function call, i.e.,
+ (1 << GET_MODE_BITSIZE (mode)) - 1 is equivalent to
+ GET_MODE_MASK (mode).
+
+2025-08-25 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.md (mode_bits):
+ New mode attribute.
+ (zero_extend<mode>si2): Use the appropriate mode iterator and
+ attribute to unify "zero_extend[hq]isi2" to this description.
+
+2025-08-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121638
+ * tree-vect-stmts.cc (process_use): Do not make induction
+ PHI backedge values relevant.
+
+2025-08-25 Indu Bhagat <indu.bhagat@oracle.com>
+ Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+
+ * asan.h (HWASAN_TAG_SIZE): Use targetm.memtag.tag_bitsize.
+ * config/i386/i386.cc (ix86_memtag_tag_size): Rename to
+ ix86_memtag_tag_bitsize.
+ (TARGET_MEMTAG_TAG_SIZE): Renamed to TARGET_MEMTAG_TAG_BITSIZE.
+ * doc/tm.texi (TARGET_MEMTAG_TAG_SIZE): Likewise.
+ * doc/tm.texi.in (TARGET_MEMTAG_TAG_SIZE): Likewise.
+ * target.def (tag_size): Rename to tag_bitsize.
+ * targhooks.cc (default_memtag_tag_size): Rename to
+ default_memtag_tag_bitsize.
+ * targhooks.h (default_memtag_tag_size): Likewise.
+
+2025-08-25 Kito Cheng <kito.cheng@sifive.com>
+
+ * config/riscv/riscv-protos.h (riscv_init_cumulative_args): Change
+ fntype parameter from tree to const_tree.
+ * config/riscv/riscv.cc (riscv_init_cumulative_args): Likewise.
+ (riscv_function_value): Replace with new implementation that
+ conforms to TARGET_FUNCTION_VALUE hook signature.
+ (riscv_libcall_value): New function implementing TARGET_LIBCALL_VALUE.
+ (TARGET_FUNCTION_VALUE): Define.
+ (TARGET_LIBCALL_VALUE): Define.
+ * config/riscv/riscv.h (FUNCTION_VALUE): Remove.
+ (LIBCALL_VALUE): Remove.
+
+2025-08-25 Andi Kleen <ak@gcc.gnu.org>
+
+ * config/i386/i386-expand.cc (ix86_vgf2p8affine_shift_matrix):
+ New function to lookup shift/rotate matrixes for gf2p8affine.
+ * config/i386/i386-protos.h (ix86_vgf2p8affine_shift_matrix):
+ Declare new function.
+ * config/i386/i386.cc (ix86_shift_rotate_cost): Add cost model
+ for shift/rotate implemented using gf2p8affine.
+ * config/i386/sse.md (VI1_AVX512_3264): New mode iterator.
+ (<insn><mode>3): Add GFNI case for shift patterns.
+ (cond_<insn><mode>3): New pattern.
+ (<insn><mode>3<mask_name>): Dito.
+ (<insn>v16qi): New rotate pattern to handle XOP V16QI case
+ and GFNI.
+ (rotl<mode>3, rotr<mode>3): Exclude V16QI case.
+
+2025-08-25 Xi Ruoyao <xry111@xry111.site>
+
+ PR target/121634
+ * config/loongarch/simd.md (simd_maddw_evod_<mode>_<su>): Use
+ WVEC_HALF instead of WVEC for the mode of the sign_extend for
+ the rhs of multiplication.
+
+2025-08-25 Jeff Law <jlaw@ventanamicro.com>
+
+ * ifcvt.cc (noce_try_sign_bit_splat): Fix right shift computation.
+
+2025-08-23 Sam James <sam@gentoo.org>
+
+ PR target/120933
+ * config.gcc (supported_defaults): Add tls for i386, x86_64.
+ * config/i386/i386.h (OPTION_DEFAULT_SPECS): Add tls.
+ * doc/install.texi: Document --with-tls= for i386, x86_64.
+
+2025-08-23 John Ericson <git@JohnEricson.me>
+
+ * gcc.cc (for_each_path): templated, to make passing lambdas
+ possible/easy/safe, and to have a polymorphic return type.
+ (struct add_to_obstack_info): Deleted, lambda captures replace
+ it.
+ (add_to_obstack): Moved to lambda in build_search_list.
+ (build_search_list): Has above lambda now.
+ (struct file_at_path_info): Deleted, lambda captures replace
+ it.
+ (file_at_path): Moved to lambda in find_a_file.
+ (find_a_file): Has above lambda now.
+ (struct spec_path_info): Reamed to just struct spec_path.
+ (struct spec_path): New name.
+ (spec_path): Rnamed to spec_path::operator()
+ (spec_path::operator()): New name
+ (do_spec_1): Updated for_each_path call sites.
+
+2025-08-22 Kishan Parmar <kishan@linux.ibm.com>
+
+ PR target/118890
+ * config/rs6000/rs6000.cc (can_be_rotated_to_negative_lis): Add bounds
+ checks for shift counts to prevent undefined behavior.
+ (rs6000_emit_set_long_const): Likewise.
+
+2025-08-22 Jeff Law <jlaw@ventanamicro.com>
+
+ PR rtl-optimization/120553
+ * ifcvt.cc (noce_try_sign_bit_splat): New function.
+ (noce_process_if_block): Use it.
+
+2025-08-22 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vectorizable_live_operation): Pass
+ the representative of the PHIs node to
+ vect_create_epilog_for_reduction.
+
+2025-08-22 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vectorizable_lane_reducing): Get
+ reduction info properly. Adjust checks according to
+ comments.
+ (vectorizable_reduction): Do not set STMT_VINFO_REDUC_VECTYPE_IN
+ on the reduc info.
+ (vect_transform_reduction): Query STMT_VINFO_REDUC_VECTYPE_IN
+ on the actual reduction stmt, not the info.
+
+2025-08-22 Pan Li <pan2.li@intel.com>
+
+ * match.pd: Add form 3 for unsigned SAT_MUL.
+
+2025-08-22 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121635
+ * config/i386/i386-features.cc (ix86_emit_tls_call): Emit the
+ TLS call after NOTE_INSN_FUNCTION_BEG.
+
+2025-08-22 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (get_initial_defs_for_reduction): Adjust
+ comment.
+ (vect_create_epilog_for_reduction): Get at the reduction
+ kind via the instance, re-use the slp_reduc flag instead
+ of checking REDUC_GROUP_FIRST_ELEMENT again.
+ Remove unreachable code.
+ (vectorizable_reduction): Compute a reduc_chain flag from
+ the SLP instance kind, avoid REDUC_GROUP_FIRST_ELEMENT
+ checks.
+ (vect_transform_cycle_phi): Likewise.
+ (vectorizable_live_operation): Check the SLP instance
+ kind instead of REDUC_GROUP_FIRST_ELEMENT.
+
+2025-08-22 Richard Biener <rguenther@suse.de>
+
+ * tree-parloops.cc (parloops_is_simple_reduction): Pass
+ in double reduction inner loop LC phis and query that.
+ (parloops_force_simple_reduction): Similar, but set it.
+ Check for valid reduction types here.
+ (valid_reduction_p): Remove.
+ (gather_scalar_reductions): Adjust, fixup double
+ reduction inner loop processing.
+
+2025-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/riscv/t-rtems: Add -mstrict-align multilibs for
+ targets without support for misaligned access in hardware.
+
+2025-08-21 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ * config/pru/pru.cc (pru_init_libfuncs): Set softmpy libgcc
+ functions for optab multiplication entries if TARGET_OPT_MUL
+ option is not set.
+
+2025-08-21 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ * config.gcc: Include pru/t-multilib.
+ * config/pru/pru.h (MULTILIB_DEFAULTS): Define.
+ * config/pru/t-multilib: New file.
+
+2025-08-21 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ * common/config/pru/pru-common.cc (TARGET_DEFAULT_TARGET_FLAGS):
+ Keep multiplication, FILL and ZERO instructions enabled by
+ default.
+ * config/pru/pru.md (prumov<mode>): Gate code generation on
+ TARGET_OPT_FILLZERO.
+ (mov<mode>): Ditto.
+ (zero_extendqidi2): Ditto.
+ (zero_extendhidi2): Ditto.
+ (zero_extendsidi2): Ditto.
+ (@pru_ior_fillbytes<mode>): Ditto.
+ (@pru_and_zerobytes<mode>): Ditto.
+ (@<code>di3): Ditto.
+ (mulsi3): Gate code generation on TARGET_OPT_MUL.
+ * config/pru/pru.opt: Add mmul and mfillzero options.
+ * config/pru/pru.opt.urls: Regenerate.
+ * config/rl78/rl78.opt.urls: Regenerate.
+ * doc/invoke.texi: Document new options.
+
+2025-08-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/121619
+ * rtl-ssa/functions.h (function_info::commit_make_use_available):
+ Declare.
+ * rtl-ssa/blocks.cc (function_info::commit_make_use_available):
+ New function.
+ * rtl-ssa/changes.cc (function_info::apply_changes_to_insn): Use it.
+
+2025-08-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/111494
+ * gimple-fold.h (arith_code_with_undefined_signed_overflow): Declare.
+ * gimple-fold.cc (arith_code_with_undefined_signed_overflow): Export.
+ * tree-vect-stmts.cc (vectorizable_operation): Use unsigned
+ arithmetic for operations participating in a reduction.
+
+2025-08-21 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121607
+ * config/i386/i386-features.cc (ix86_emit_tls_call): Emit the
+ TLS call after NOTE_INSN_BASIC_BLOCK in a basic block with only
+ a label.
+
+2025-08-21 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.md (*btrue_INT_MIN):
+ Change the branch insn condition to test for a negative number
+ rather than testing for the MSB.
+
+2025-08-21 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vectorizable_phi): Take bb_vec_info.
+ (vectorizable_early_exit): Take loop_vec_info.
+ * tree-vect-loop.cc (vectorizable_phi): Adjust.
+ * tree-vect-slp.cc (vect_slp_analyze_operations): Likewise.
+ (vectorize_slp_instance_root_stmt): Likewise.
+ * tree-vect-stmts.cc (vectorizable_early_exit): Likewise.
+ (vect_transform_stmt): Likewise.
+ (vect_analyze_stmt): Merge the sequences of vectorizable_*
+ where common.
+
+2025-08-20 Qing Zhao <qing.zhao@oracle.com>
+
+ * common.opt.urls: Regenerate.
+
+2025-08-20 Qing Zhao <qing.zhao@oracle.com>
+
+ PR tree-optimization/109071
+ PR tree-optimization/85788
+ PR tree-optimization/88771
+ PR tree-optimization/106762
+ PR tree-optimization/108770
+ PR tree-optimization/115274
+ PR tree-optimization/117179
+ * Makefile.in (OBJS): Add diagnostic-context-rich-location.o.
+ * common.opt (fdiagnostics-show-context): New option.
+ (fdiagnostics-show-context=): New option.
+ * diagnostic-context-rich-location.cc: New file.
+ * diagnostic-context-rich-location.h: New file.
+ * doc/invoke.texi (fdiagnostics-details): Add
+ documentation for the new options.
+ * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add
+ one new parameter. Use rich location with details for warning_at.
+ (array_bounds_checker::check_array_ref): Use rich location with
+ ditails for warning_at.
+ (array_bounds_checker::check_mem_ref): Add one new parameter.
+ Use rich location with details for warning_at.
+ (array_bounds_checker::check_addr_expr): Use rich location with
+ move_history_diagnostic_path for warning_at.
+ (array_bounds_checker::check_array_bounds): Call check_mem_ref with
+ one more parameter.
+ * gimple-array-bounds.h: Update prototype for check_mem_ref.
+ * gimple-ssa-warn-access.cc (warn_string_no_nul): Use rich location
+ with details for warning_at.
+ (maybe_warn_nonstring_arg): Likewise.
+ (maybe_warn_for_bound): Likewise.
+ (warn_for_access): Likewise.
+ (check_access): Likewise.
+ (pass_waccess::check_strncat): Likewise.
+ (pass_waccess::maybe_check_access_sizes): Likewise.
+ * gimple-ssa-warn-restrict.cc (pass_wrestrict::execute): Calculate
+ dominance info for diagnostics show context.
+ (maybe_diag_overlap): Use rich location with details for warning_at.
+ (maybe_diag_access_bounds): Use rich location with details for
+ warning_at.
+
+2025-08-20 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/121568
+ * ipa-prop.h (build_ref_for_offset): Remove.
+ * tree-sra.cc (build_ref_for_offset): Make static.
+
+2025-08-20 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config.gcc (aarch64*-*-*): Remove aarch64-cc-fusion.o from
+ extra_objs.
+ * config/aarch64/aarch64-passes.def (pass_cc_fusion): Delete.
+ * config/aarch64/aarch64-protos.h (make_pass_cc_fusion): Delete.
+ * config/aarch64/t-aarch64 (aarch64-cc-fusion.o): Delete.
+ * config/aarch64/aarch64-cc-fusion.cc: Delete.
+ * late-combine.cc (late_combine::optimizable_set): Take a set_info *
+ rather than an insn_info * and move destination tests from...
+ (late_combine::combine_into_uses): ...here. Take a set_info * rather
+ an insn_info *. Take the rtx set.
+ (late_combine::parallelize_insns, late_combine::combine_cc_setter)
+ (late_combine::combine_insn): New member functions.
+ (late_combine::m_parallel): New member variable.
+ * rtlanal.cc (pattern_cost): Handle sets of CC registers in the
+ same way as comparisons.
+
+2025-08-20 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl-ssa/blocks.cc (function_info::create_degenerate_phi): Fix
+ inverted test of bitmap_set_bit. Call add_live_out_use even
+ if the register was previously live-out from the predecessor block.
+ Instead...
+ (function_info::add_live_out_use): ...check here whether a live-out
+ use already exists.
+
+2025-08-20 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl-ssa/accesses.h (use_lookup): New class.
+ * rtl-ssa/functions.h (function_info::find_def): Expand comment.
+ (function_info::find_use): Declare.
+ * rtl-ssa/member-fns.inl (use_lookup::prev_use, use_lookup::next_use)
+ (use_lookup::matching_use, use_lookup::matching_or_prev_use)
+ (use_lookup::matching_or_next_use): New member functions.
+ * rtl-ssa/accesses.cc (function_info::find_use): Likewise.
+
+2025-08-20 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114480
+ * cfganal.cc (compute_idf): Split processing of the initial
+ workset from the main iteration. Use a vector for the
+ workset of the main iteration.
+
+2025-08-20 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/121608
+ * config/avr/specs.h (LINK_RELAX_SPEC): Wrap in %{!r...}.
+
+2025-08-20 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.cc (vect_analyze_slp_reduc_chain): New,
+ copied from vect_analyze_slp_instance and only handle
+ slp_inst_kind_reduc_chain. Inline vect_build_slp_instance.
+ (vect_analyze_slp_instance): Only handle slp_inst_kind_store.
+ Inline vect_build_slp_instance.
+ (vect_build_slp_instance): Remove now unused stmt_info parameter,
+ remove special code for store groups and reduction chains.
+ (vect_analyze_slp): Call vect_analyze_slp_reduc_chain
+ for reduction chain SLP build and adjust.
+
+2025-08-20 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.cc (vect_check_gather_scatter):
+ Remove restriction on epilogue of epilogue vectorization.
+
+2025-08-20 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (update_epilogue_loop_vinfo): Remove
+ fixing up pattern stmt operands and gather/scatter DR_REFs.
+ (find_in_mapping): Remove.
+
+2025-08-20 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_load_store_data): New.
+ (_slp_tree::memory_access_type): Remove.
+ (SLP_TREE_MEMORY_ACCESS_TYPE): Turn into inline function.
+ * tree-vect-slp.cc (_slp_tree::_slp_tree): Do not
+ initialize SLP_TREE_MEMORY_ACCESS_TYPE.
+ * tree-vect-stmts.cc (check_load_store_for_partial_vectors):
+ Remove gather_scatter_info pointer argument, instead get
+ info from the SLP node.
+ (vect_build_one_gather_load_call): Get SLP node and builtin
+ decl as argument and remove uses of gather_scatter_info.
+ (vect_build_one_scatter_store_call): Likewise.
+ (vect_get_gather_scatter_ops): Remove uses of gather_scatter_info.
+ (vect_get_strided_load_store_ops): Get SLP node and remove
+ uses of gather_scatter_info.
+ (get_load_store_type): Take pointer to vect_load_store_data
+ instead of individual pointers.
+ (vectorizable_store): Adjust. Re-use get_load_store_type
+ result from analysis time.
+ (vectorizable_load): Likewise.
+
+2025-08-20 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121572
+ * config/i386/i386-features.cc (replace_tls_call): Add a bitmap
+ argument and put the updated TLS instruction in the bitmap.
+ (ix86_get_dominator_for_reg): New.
+ (ix86_check_flags_reg): Likewise.
+ (ix86_emit_tls_call): Likewise.
+ (ix86_place_single_tls_call): Add 2 bitmap arguments for updated
+ GNU and GNU2 TLS instructions. Call ix86_emit_tls_call to emit
+ TLS instruction. Correct debug dump for before instruction.
+
+2025-08-19 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR middle-end/120024
+ * calls.cc (expand_call): Remove start_sequence/end_sequence
+ for ECF_MALLOC.
+ Check valreg before deferencing it when it comes to malloc like
+ functions. Use the return value of emit_move_insn instead of
+ calling get_last_insn.
+
+2025-08-19 Richard Biener <rguenther@suse.de>
+
+ * tree-parloops.cc (parloops_is_slp_reduction): Remove.
+ (parloops_is_simple_reduction): Do not call it.
+
+2025-08-19 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vectorizable_reduction): Pass the
+ appropriate SLP node for costing of single-def-use-cycle
+ operations.
+ (vectorizable_live_operation): Pass the SLP node to the
+ costing hook.
+ * tree-vect-stmts.cc (vectorizable_bswap): Likewise.
+ (vectorizable_store): Likewise.
+
+2025-08-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121592
+ * tree-vect-slp.cc (vect_analyze_slp): When SLP reduction chain
+ discovery fails, fail overall when the tail of the chain
+ isn't also the entry for the non-SLP reduction.
+
+2025-08-19 Richard Biener <rguenther@suse.de>
+
+ * config.gcc (riscv*-*-*): Look for python3, then fall back
+ to python. Never use python2.
+
+2025-08-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121527
+ * tree-sra.cc (build_access_from_expr_1): Do not strip an
+ outer VIEW_CONVERT_EXPR as it's relevant for the size of
+ the access.
+ (get_access_for_expr): Likewise.
+
+2025-08-19 Tamar Christina <tamar.christina@arm.com>
+
+ PR target/121536
+ * config/aarch64/aarch64.cc (aarch64_bool_compound_p): Use
+ SLP_TREE_VECTYPE instead of STMT_VINFO_VECTYPE.
+ (aarch64_adjust_stmt_cost, aarch64_vector_costs::count_ops): Pass SLP
+ node to aarch64_bool_compound_p.
+
+2025-08-19 Tamar Christina <tamar.christina@arm.com>
+
+ PR target/121536
+ * tree-vect-loop.cc (vectorizable_phi, vectorizable_recurr,
+ vectorizable_nonlinear_induction, vectorizable_induction): Pass slp_node
+ instead of stmt_info to record_stmt_cost.
+
+2025-08-19 Tamar Christina <tamar.christina@arm.com>
+
+ PR target/121536
+ * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): Set
+ vectype from type of lhs of gimple stmt.
+
+2025-08-18 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR middle-end/121581
+ * doc/extend.texi (__builtin_object_size): Fix example.
+
+2025-08-18 Indu Bhagat <indu.bhagat@oracle.com>
+
+ * flag-types.h (sanitize_code_type): Define.
+ * asan.h (sanitize_flags_p): Use 'sanitize_code_type' instead of
+ 'unsigned int'.
+ * common.opt: Likewise.
+ * dwarf2asm.cc (dw2_output_indirect_constant_1): Likewise.
+ * opts.cc (find_sanitizer_argument): Likewise.
+ (report_conflicting_sanitizer_options): Likewise.
+ (parse_sanitizer_options): Likewise.
+ (parse_no_sanitize_attribute): Likewise.
+ * opts.h (parse_sanitizer_options): Likewise.
+ (parse_no_sanitize_attribute): Likewise.
+ * tree-cfg.cc (print_no_sanitize_attr_value): Likewise.
+ * tree.cc (tree_fits_sanitize_code_type_p): Define.
+ (tree_to_sanitize_code_type): Likewise.
+ * tree.h (tree_fits_sanitize_code_type_p): Declare.
+ (tree_to_sanitize_code_type): Likewise.
+
+2025-08-18 Indu Bhagat <indu.bhagat@oracle.com>
+
+ * config/aarch64/aarch64.md (MEMTAG_TAG_MASK): New define
+ constant.
+ (MEMTAG_ADDR_MASK): Likewise.
+ (irg, subp, ldg): Use new constants.
+
+2025-08-18 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/97497
+ * function-abi.h (predefined_function_abi::only_partial_reg_clobbers)
+ (function_abi::only_partial_reg_clobbers): New member functions.
+ * gcse-common.cc: Include regs.h and function-abi.h.
+ (compute_transp): Check for partially call-clobbered registers
+ and treat them as not being transparent in blocks with calls.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (UNSPEC_TI_FETCH_ADD): New unspec.
+ (UNSPEC_TI_FETCH_SUB): Likewise.
+ (UNSPEC_TI_FETCH_AND): Likewise.
+ (UNSPEC_TI_FETCH_XOR): Likewise.
+ (UNSPEC_TI_FETCH_OR): Likewise.
+ (UNSPEC_TI_FETCH_NAND_MASK_INVERTED): Likewise.
+ (ALL_SC): New define_mode_iterator.
+ (_scq): New define_mode_attr.
+ (atomic_fetch_nand<mode>): Accept ALL_SC instead of only GPR.
+ (UNSPEC_TI_FETCH_DIRECT): New define_int_iterator.
+ (UNSPEC_TI_FETCH): New define_int_iterator.
+ (amop_ti_fetch): New define_int_attr.
+ (size_ti_fetch): New define_int_attr.
+ (atomic_fetch_<amop_ti_fetch>ti_scq): New define_insn.
+ (atomic_fetch_<amop_ti_fetch>ti): New define_expand.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_exchangeti_scq): New
+ define_insn.
+ (atomic_exchangeti): New define_expand.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_compare_and_swapti_scq): New
+ define_insn.
+ (atomic_compare_and_swapti): New define_expand.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/loongarch.cc (loongarch_print_operand_reloc):
+ Accept "%t" for printing the number of the 64-bit machine
+ register holding the upper half of a TImode.
+ * config/loongarch/sync.md (atomic_storeti_scq): New
+ define_insn.
+ (atomic_storeti): expand to atomic_storeti_scq if !ISA_HAS_LSX.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/genopts/isa-evolution.in (scq): New evolution
+ feature.
+ * config/loongarch/loongarch-evolution.cc: Regenerate.
+ * config/loongarch/loongarch-evolution.h: Regenerate.
+ * config/loongarch/loongarch-str.h: Regenerate.
+ * config/loongarch/loongarch.opt: Regenerate.
+ * config/loongarch/loongarch.opt.urls: Regenerate.
+ * config/loongarch/loongarch-def.cc: Make -mscq the default for
+ -march=la664 and -march=la64v1.1.
+ * doc/invoke.texi (LoongArch Options): Document -m[no-]scq.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_storeti_lsx): New
+ define_insn.
+ (atomic_storeti): New define_expand.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_loadti_lsx): New define_insn.
+ (atomic_loadti): New define_expand.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md
+ (atomic_fetch_nand_mask_inverted<GPR:mode>): New define_insn.
+ (atomic_fetch_nand<GPR:mode>): New define_expand.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_fetch_sub<SHORT:mode>):
+ Disable if ISA_HAS_LAM_BH.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (UNSPEC_COMPARE_AND_SWAP_AND):
+ Remove.
+ (UNSPEC_COMPARE_AND_SWAP_XOR): Remove.
+ (UNSPEC_COMPARE_AND_SWAP_OR): Remove.
+ (atomic_test_and_set): Rename to ...
+ (atomic_fetch_<any_bitwise:amop><SHORT:mode>): ... this, and
+ adapt the expansion to use it for any bitwise operations and any
+ val, instead of just ior 1.
+ (atomic_test_and_set): New define_expand.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_test_and_set): Remove
+ unneeded andi instruction from the expansion.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/loongarch.cc (loongarch_print_operand_reloc):
+ Make "%T" output a comment marker if the operand is a memory
+ order for which the barrier won't be generated; remove "%t".
+ * config/loongarch/sync.md (atomic_cas_value_strong<mode>): Add
+ %T before "b 3f".
+ (atomic_cas_value_cmp_and_7_<mode>): Likewise.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (UNSPEC_COMPARE_AND_SWAP_AMCAS): New
+ UNSPEC code.
+ (atomic_cas_value_strong<mode>): NFC, update the comment to note
+ we only need to consider failure memory order.
+ (atomic_cas_value_strong<mode>_amcas): Use
+ UNSPEC_COMPARE_AND_SWAP_AMCAS instead of
+ UNSPEC_COMPARE_AND_SWAP.
+ (atomic_compare_and_swap<mode:GPR>): Pass failure memorder to
+ gen_atomic_cas_value_strong<mode>.
+ (atomic_compare_and_swap<mode:SHORT>): Pass failure memorder to
+ gen_atomic_cas_value_cmp_and_7_si.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_test_and_set): Use bstrins
+ for masking the address if possible.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_load<mode>): Remove "+" for
+ the memory operand.
+ (atomic_store<mode>): Use "=" instead of "+" for the memory
+ operand.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md: Use <size> instead of <amo>.
+ (amo): Remove.
+
+2025-08-18 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/sync.md (atomic_optab): Remove.
+ (atomic_<atomic_optab><mode>): Change atomic_optab to amop.
+ (atomic_fetch_<atomic_optab><mode>): Likewise.
+
+2025-08-17 Austin Law <austinklaw@gmail.com>
+
+ PR target/121213
+ * config/riscv/sync.md (amo_atomic_exchange<mode>): Allow
+ (const_int 0) as input operand. Do not tie input to output.
+ No longer earlyclobber the output.
+
+2025-08-17 Artemiy Volkov <artemiyv@acm.org>
+
+ * regrename.cc (scan_rtx_reg): Handle fused insn pairs.
+
+2025-08-17 Jan Dubiec <jdx@o2.pl>
+
+ PR target/109324
+ * config/h8300/addsub.md: Explicitly specify mode for plus operation.
+ * config/h8300/jumpcall.md: Explicitly specify modes for eq and
+ match_operand operations.
+ * config/h8300/testcompare.md: Explicitly specify modes for eq, ltu
+ and compare operations.
+
+2025-08-17 Artemiy Volkov <artemiyv@acm.org>
+
+ * ira-conflicts.cc (add_insn_allocno_copies): Handle fused insn pairs.
+ * rtl.h (single_output_fused_pair_p): Declare new function.
+ * rtlanal.cc (single_output_fused_pair_p): Define it.
+
+2025-08-17 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ PR target/121538
+ * config/riscv/arch-canonicalize (parse_dep_exts):
+ Match condition block up to closing brace.
+ (test_parse_long_condition_block): New test.
+
+2025-08-17 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121541
+ * config/i386/i386-options.cc
+ (ix86_valid_target_attribute_inner_p): Add target("80387")
+ attribute. Set the mask bit in opts_set->x_target_flags if the
+ mask bit in opts->x_target_flags is updated.
+ * doc/extend.texi: Document target("80387") function attribute.
+
+2025-08-17 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/autovec-opt.md: Add supported insn
+ of vx combine.
+
+2025-08-17 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/autovec-opt.md: Add missed DONE
+ for vx combine pattern.
+
+2025-08-15 Jakub Jelinek <jakub@redhat.com>
+
+ * doc/extend.texi (Type Traits): Document
+ __builtin_structured_binding_size.
+
+2025-08-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/121552
+ * doc/invoke.texi (-Wno-non-c-typedef-for-linkage): Document.
+
+2025-08-15 Robert Dubner <rdubner@symas.com>
+
+ * real.cc (real_to_decimal_for_mode): Set str[0] to known value.
+
+2025-08-15 Vineet Gupta <vineetg@rivosinc.com>
+
+ PR target/121534
+ * config/riscv/riscv.md (round_pattern): save/restore fflags.
+
+2025-08-15 Qing Zhao <qing.zhao@oracle.com>
+
+ * doc/extend.texi: Extend counted_by attribute to pointer fields in
+ structures. Add one more requirement to pointers with counted_by
+ attribute.
+
+2025-08-15 Umesh Kalappa <ukalappa.mips@gmail.com>
+
+ * config/riscv/riscv-ext-mips.def (DEFINE_RISCV_EXT):
+ Added mips prefetch extension.
+ * config/riscv/riscv-ext.opt: Generated file.
+ * config/riscv/riscv.md (prefetch):
+ Added mips prefetch address operand constraint.
+ * config/riscv/constraints.md: Added mips specific constraint.
+ * config/riscv/predicates.md (prefetch_operand):
+ Updated for mips nine bits offset.
+ * config/riscv/riscv.cc (riscv_prefetch_offset_address_p):
+ Legitimate address with offset for prefetch check.
+ * config/riscv/riscv-protos.h: Likewise.
+ * config/riscv/riscv.h:
+ Macros to support for mips cached type.
+ * doc/riscv-ext.texi: Updated for mips prefetch.
+
+2025-08-15 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/riscv/riscv-protos.h
+ (riscv_process_target_version_attr): Change location_t argument
+ to location_t *.
+ * config/riscv/riscv-subset.h
+ (riscv_subset_list::riscv_subset_list): Change location_t argument
+ to location_t *.
+ (riscv_subset_list::parse): Likwise.
+ (riscv_subset_list::set_loc): Likewise.
+ (riscv_minimal_hwprobe_feature_bits): Likewise.
+ (riscv_subset_list::m_loc): Change type to location_t.
+ * common/config/riscv/riscv-common.cc
+ (riscv_subset_list::riscv_subset_list): Change location_t argument
+ to location_t *.
+ (riscv_subset_list::add): Suppress diagnostics when m_loc is null.
+ (riscv_subset_list::parsing_subset_version): Likewise.
+ (riscv_subset_list::parse_profiles): Likewise.
+ (riscv_subset_list::parse_base_ext): Likewise.
+ (riscv_subset_list::parse_single_std_ext): Likewise.
+ (riscv_subset_list::check_conflict_ext): Likewise.
+ (riscv_subset_list::parse_single_multiletter_ext): Likewise.
+ (riscv_subset_list::parse): Change location_t argument to location_t *.
+ (riscv_subset_list::set_loc): Likewise.
+ (riscv_minimal_hwprobe_feature_bits): Likewise.
+ (riscv_parse_arch_string): Update call accordingly.
+ * config/riscv/riscv-target-attr.cc
+ (riscv_target_attr_parser::m_loc): Change type to location_t *.
+ (riscv_target_attr_parser::riscv_target_attr_parser): Change
+ location_t argument to location_t *.
+ (riscv_process_one_target_attr): Likewise.
+ (riscv_process_target_attr): Likewise.
+ (riscv_process_target_version_attr): Likewise.
+ (riscv_target_attr_parser::parse_arch): Suppress diagnostics when
+ m_loc is null.
+ (riscv_target_attr_parser::handle_arch): Likewise.
+ (riscv_target_attr_parser::handle_cpu): Likewise.
+ (riscv_target_attr_parser::handle_tune): Likewise.
+ (riscv_target_attr_parser::handle_priority): Likewise.
+ (riscv_option_valid_attribute_p): Update call accordingly.
+ (riscv_option_valid_version_attribute_p): Likewise.
+ * config/riscv/riscv.cc (parse_features_for_version): Add a
+ location_t * argument.
+ (dispatch_function_versions): Update call accordingly.
+ (riscv_compare_version_priority): Likewise, suppressing diagnostics.
+
+2025-08-15 Kito Cheng <kito.cheng@sifive.com>
+
+ * tree-nrv.cc (pass_return_slot::execute): Use
+ gimple_call_fntype instead of gimple_call_fndecl.
+
+2025-08-15 Lulu Cheng <chenglulu@loongson.cn>
+
+ PR target/121542
+ * config/loongarch/loongarch.cc
+ (loongarch_vector_costs::add_stmt_cost): When using vectype,
+ first determine whether it is NULL.
+
+2025-08-14 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/119275
+ * config/riscv/riscv.cc (riscv_legitimize_move): Avoid calling
+ gen_lowpart for cases where it'll fail. Just use standard expander
+ paths for those cases.
+
+2025-08-14 Mikael Pettersson <mikpelinux@gmail.com>
+
+ PR target/121336
+ * config/cris/cris.h: Do not abbreviate --emulation.
+
+2025-08-14 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/121501
+ * config/rs6000/rs6000.md (cmprb, setb_signed, setb_unsigned)
+ (cmprb2, cmpeqb): Add missing modes to nested if_then_elses.
+
+2025-08-14 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/121474
+ * passes.def: Update forwprop1/2 to have full_walk to be true.
+ * tree-ssa-forwprop.cc (optimize_aggr_zeroprop): Add new argument
+ full_walk. Take into account the full_walk and clobbers at the end
+ of the limit can be done always.
+ (simplify_builtin_call): Add new argument, full_walk.
+ Update call to optimize_aggr_zeroprop.
+ (pass_forwprop): Add m_full_walk field.
+ (pass_forwprop::set_pass_param): Update for m_full_walk.
+ (pass_forwprop::execute): Update call to simplify_builtin_call
+ and optimize_aggr_zeroprop.
+
+2025-08-14 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * tree-ssa-forwprop.cc (optimize_agr_copyprop_1): New function split out of ...
+ (optimize_agr_copyprop): Here. Also try calling optimize_agr_copyprop_arg.
+ (optimize_agr_copyprop_arg): New function.
+
+2025-08-14 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * config/s390/s390.md: Merge movdi<mode>_zero_extend_A and
+ movsi<mode>_zero_extend_A into zero_extendsidi2 and
+ zero_extendhi<mode>2_z10 and
+ zero_extend<HQI:mode><GPR:mode>2_extimm.
+ * config/s390/vector.md (*movdi<mode>_zero_extend_A): Remove.
+ (*movsi<mode>_zero_extend_A): Remove.
+ (*movdi<mode>_zero_extend_B): Move to vec_extract patterns and
+ rename to *vec_extract<mode>_zero_extend.
+ (*movsi<mode>_zero_extend_B): Ditto.
+
+2025-08-14 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121540
+ * config/i386/i386-options.cc (ix86_set_current_function):
+ Properly check if MMX and 80387 are enabled.
+
+2025-08-13 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/121531
+ * config/riscv/sifive-p400.md (sifive_p400_unknown): New reservation.
+ * config/riscv/sifive-p600.md (sifive_p600_unkonwn): Likewise.
+
+2025-08-13 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostics/output-spec.cc (sarif_scheme_handler::make_sink):
+ Populate sarif_generation_options instance directly, rather than
+ through local variables.
+ (sarif_scheme_handler::make_sarif_gen_opts): Drop.
+ (html_scheme_handler::make_sink): Populate html_generation_options
+ instance directly, rather than through local variables.
+
+2025-08-13 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * config.gcc: Mark epiphany*-*-* and rl78*-*-* as
+ obsolete targets.
+
+2025-08-13 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/81501
+ * config/i386/i386-features.cc (x86_cse_kind): Add X86_CSE_TLS_GD,
+ X86_CSE_TLS_LD_BASE and X86_CSE_TLSDESC.
+ (redundant_load): Renamed to ...
+ (redundant_pattern): This.
+ (ix86_place_single_vector_set): Replace redundant_load with
+ redundant_pattern.
+ (replace_tls_call): New.
+ (ix86_place_single_tls_call): Likewise.
+ (pass_remove_redundant_vector_load): Renamed to ...
+ (pass_x86_cse): This. Add val, def_insn, mode, scalar_mode, kind,
+ x86_cse, candidate_gnu_tls_p, candidate_gnu2_tls_p and
+ candidate_vector_p.
+ (pass_x86_cse::candidate_gnu_tls_p): New.
+ (pass_x86_cse::candidate_gnu2_tls_p): Likewise.
+ (pass_x86_cse::candidate_vector_p): Likewise.
+ (remove_redundant_vector_load): Renamed to ...
+ (pass_x86_cse::x86_cse): This. Extend to remove redundant TLS
+ calls.
+ (make_pass_remove_redundant_vector_load): Renamed to ...
+ (make_pass_x86_cse): This.
+ * config/i386/i386-passes.def: Replace
+ pass_remove_redundant_vector_load with pass_x86_cse.
+ * config/i386/i386-protos.h (ix86_tls_get_addr): New.
+ (make_pass_remove_redundant_vector_load): Renamed to ...
+ (make_pass_x86_cse): This.
+ * config/i386/i386.cc (ix86_tls_get_addr): Remove static.
+ * config/i386/i386.h (machine_function): Add
+ tls_descriptor_call_multiple_p.
+ * config/i386/i386.md (tls64): New attribute.
+ (@tls_global_dynamic_64_<mode>): Set tls_descriptor_call_multiple_p.
+ (@tls_local_dynamic_base_64_<mode>): Likewise.
+ (@tls_dynamic_gnu2_64_<mode>): Likewise.
+ (*tls_global_dynamic_64_<mode>): Set tls64 attribute to gd.
+ (*tls_local_dynamic_base_64_<mode>): Set tls64 attribute to ld_base.
+ (*tls_dynamic_gnu2_lea_64_<mode>): Set tls64 attribute to lea.
+ (*tls_dynamic_gnu2_call_64_<mode>): Set tls64 attribute to call.
+ (*tls_dynamic_gnu2_combine_64_<mode>): Set tls64 attribute to
+ combine.
+
+2025-08-13 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config.in: Regenerate.
+ * config/darwin.h (DARWIN_LD_NO_DEDUPLICATE): New.
+ (LINK_SPEC): Handle -no_deduplicate.
+ * configure: Regenerate.
+ * configure.ac: Detect linker support for -no_deduplicate.
+
+2025-08-13 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin-sections.def (asan_string_section,
+ asan_globals_section, asan_liveness_section): New.
+ * config/darwin.cc (objc_method_decl): Use asan sections
+ when asan is enabled.
+ (darwin_encode_section_info): Alter string constant
+ linker visibility depending on asan.
+ (machopic_select_section): Use the asan sections when
+ asan is enabled.
+
+2025-08-13 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/121160
+ * config/riscv/riscv.cc (canonicalize_comparands); Tighten check for
+ forcing value into a GPR.
+
+2025-08-13 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/121474
+ * tree-ssa-forwprop.cc (optimize_aggr_zeroprop): Move the check
+ for limit before the alias check.
+
+2025-08-13 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (SLP_TREE_PERMUTE_P): New.
+ * tree-vect-slp-patterns.cc (linear_loads_p): Adjust.
+ (vect_detect_pair_op): Likewise.
+ (addsub_pattern::recognize): Likewise.
+ * tree-vect-slp.cc (vect_print_slp_tree): Likewise.
+ (vect_gather_slp_loads): Likewise.
+ (vect_is_slp_load_node): Likewise.
+ (optimize_load_redistribution_1): Likewise.
+ (vect_optimize_slp_pass::is_cfg_latch_edge): Likewise.
+ (vect_optimize_slp_pass::internal_node_cost): Likewise.
+ (vect_optimize_slp_pass::start_choosing_layouts): Likewise.
+ (vect_optimize_slp_pass::backward_cost): Likewise.
+ (vect_optimize_slp_pass::forward_pass): Likewise.
+ (vect_optimize_slp_pass::get_result_with_layout): Likewise.
+ (vect_optimize_slp_pass::materialize): Likewise.
+ (vect_optimize_slp_pass::dump): Likewise.
+ (vect_optimize_slp_pass::decide_masked_load_lanes): Likewise.
+ (vect_update_slp_vf_for_node): Likewise.
+ (vect_slp_analyze_node_operations_1): Likewise.
+ (vect_schedule_slp_node): Likewise.
+ (vect_schedule_scc): Likewise.
+ * tree-vect-stmts.cc (vect_analyze_stmt): Likewise.
+ (vect_transform_stmt): Likewise.
+ (vect_is_simple_use): Likewise.
+
+2025-08-13 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (vect_analyze_stmt): Use
+ SLP_TREE_DEF_TYPE instead of STMT_VINFO_DEF_TYPE.
+
+2025-08-13 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_memory_access_type): Replace
+ VMAT_GATHER_SCATTER with three separate access types,
+ VMAT_GATHER_SCATTER_LEGACY, VMAT_GATHER_SCATTER_IFN and
+ VMAT_GATHER_SCATTER_EMULATED.
+ (mat_gather_scatter_p): New predicate.
+ (GATHER_SCATTER_LEGACY_P): Remove.
+ (GATHER_SCATTER_IFN_P): Likewise.
+ (GATHER_SCATTER_EMULATED_P): Likewise.
+ * tree-vect-stmts.cc (check_load_store_for_partial_vectors):
+ Adjust.
+ (get_load_store_type): Likewise.
+ (vect_get_loop_variant_data_ptr_increment): Likewise.
+ (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+ * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
+ Likewise.
+ * config/riscv/riscv-vector-costs.cc
+ (costs::need_additional_vector_vars_p): Likewise.
+ * config/aarch64/aarch64.cc (aarch64_detect_vector_stmt_subtype):
+ Likewise.
+ (aarch64_vector_costs::count_ops): Likewise.
+ (aarch64_vector_costs::add_stmt_cost): Likewise.
+
+2025-08-13 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_supportable_dr_alignment): Pass
+ a bool instead of a pointer to gather_scatter_info.
+ * tree-vect-data-refs.cc (vect_supportable_dr_alignment):
+ Likewise.
+ * tree-vect-stmts.cc (get_load_store_type): Adjust.
+
+2025-08-13 Lulu Cheng <chenglulu@loongson.cn>
+
+ PR target/120476
+ * config/loongarch/loongarch.cc
+ (loongarch_compute_pressure_classes): New function.
+ (TARGET_COMPUTE_PRESSURE_CLASSES): Define.
+
+2025-08-13 Yang Yujie <yangyujie@loongson.cn>
+
+ PR target/117599
+ * config/loongarch/loongarch.h: Define a PROMOTE_MODE case for
+ small _BitInts.
+ * config/loongarch/loongarch.cc (loongarch_promote_function_mode):
+ Same.
+ (loongarch_bitint_type_info): New function.
+ (TARGET_C_BITINT_TYPE_INFO): Declare.
+
+2025-08-13 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/121113
+ * config/riscv/sifive-p400.md: Handle HFmode for fdiv/fsqrt.
+ * config/riscv/sifive-p600.md: Likewise.
+ * config/riscv/xiangshan.md: Likewise.
+
+2025-08-13 H.J. Lu <hjl.tools@gmail.com>
+ Liu, Hongtao <hongtao.liu@intel.com>
+
+ PR target/121497
+ * config/i386/i386-features.cc (ix86_broadcast_inner): Convert
+ integer constant to mode of move
+
+2025-08-12 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/autovec-opt.md (*merge_vx_<mode>): Add new
+ pattern to combine the vmerge.vxm.
+
+2025-08-12 Robin Dapp <rdapp.gcc@gmail.com>
+
+ PR target/121334
+ * config/riscv/riscv-v.cc (expand_slide1up): New function.
+ (expand_vector_init_trailing_same_elem): Use new function.
+ (expand_const_vector_onestep): New function.
+ (expand_const_vector): Uew expand_slide1up.
+ (expand_vector_init_merge_repeating_sequence): Ditto.
+ (shuffle_off_by_one_patterns): Ditto.
+
+2025-08-12 mengqinggang <mengqinggang@loongson.cn>
+
+ * config/loongarch/loongarch-def.h (ABI_BASE_LP64D): New macro.
+ (ABI_BASE_LP64F): New macro.
+ (ABI_BASE_LP64S): New macro.
+ (N_ABI_BASE_TYPES): New macro.
+
+2025-08-12 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_analyze_loop_2): Change
+ slp_done_for_suggested_uf to a boolean
+ single_lane_slp_done_for_suggested_uf. Change slp
+ to force_single_lane boolean.
+ (vect_analyze_loop_1): Adjust similarly.
+
+2025-08-12 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/121253
+ * fwprop.cc (forward_propagate_into): Don't propagate asm defs.
+
+2025-08-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121509
+ * tree-vect-stmts.cc (vect_mark_stmts_to_be_vectorized):
+ Fail early when we detect a relevant but not handled PHI.
+
+2025-08-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121514
+ * tree-ssa-sccvn.cc (visit_nary_op): Only call
+ vn_nary_op_insert_stmt for SSA name result.
+
+2025-08-12 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/121494
+ * tree-ssa-forwprop.cc (optimize_agr_copyprop): Mark the bb of the use
+ stmt if needed for eh cleanup.
+
+2025-08-12 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (vect_analyze_stmt): Only set
+ STMT_VINFO_VECTYPE for dataref SLP representatives.
+ Clear it for others and do not restore the original value.
+ (vect_transform_stmt): Likewise.
+
+2025-08-12 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (get_initial_defs_for_reduction):
+ Get vector type as argument.
+ (vect_find_reusable_accumulator): Likewise.
+ (vect_transform_cycle_phi): Adjust.
+
+2025-08-12 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vectorizable_reduction): Replace
+ STMT_VINFO_VECTYPE use with SLP_TREE_VECTYPE.
+
+2025-08-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121493
+ * tree-ssa-sccvn.cc (vn_reference_lookup_3): Opportunistically
+ strip components with known offset.
+
+2025-08-12 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.cc (vn_reference_lookup_3): When we fail to
+ match up the two base MEM_REFs, fail.
+
+2025-08-12 Shreya Munnangi <smunnangi1@ventanamicro.com>
+ Jeff Law <jlaw@ventanamicro.com>
+ Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ * config/riscv/riscv-protos.h (synthesize_add): Add prototype.
+ * config/riscv/riscv.cc (synthesize_add): New function.
+ * config/riscv/riscv.md (addsi3): Allow any constant as operands[2]
+ in the expander. Force the constant into a register as needed for
+ TARGET_64BIT. Use synthesize_add for !TARGET_64BIT.
+ (*adddi3): Renamed from adddi3.
+ (adddi3): New expander. Use synthesize_add.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.md (mov<ALLI>cc): Accept MODE_CC
+ conditions directly; reject QI/HImode conditions.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ PR target/121388
+ * config/aarch64/aarch64.cc (aarch64_cb_rhs): Restrict the
+ range of LT/GE and GT/LE to their intersections.
+ * config/aarch64/aarch64.md (*aarch64_cb<INT_CMP><GPI>): Unexport.
+ Use cmpbr_imm_predicate instead of aarch64_cb_rhs.
+ * config/aarch64/constraints.md (Uc1): Accept 0..62.
+ (Uc2): Remove.
+ * config/aarch64/iterators.md (cmpbr_imm_predicate): New.
+ (cmpbr_imm_constraint): Update to match aarch64_cb_rhs.
+ * config/aarch64/predicates.md (aarch64_cb_reg_i63_operand): New.
+ (aarch64_cb_reg_i62_operand): New.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.cc (aarch64_if_then_else_costs):
+ Use aarch64_cb_rhs to match CB insns.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ PR target/121385
+ * config/aarch64/aarch64.md (*aarch64_tbz<LTGE><ALLI>1): Remove
+ cc clobber and expansion via TST+Bcond.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.h (TARGET_CMPBR): False when
+ aarch64_track_speculation is true.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.cc (aarch64_gen_compare_split_imm24): New.
+ * config/aarch64/aarch64-protos.h: Update.
+ * config/aarch64/aarch64.md (*aarch64_bcond_wide_imm<GPI>): Use it.
+ Add match_scratch and cc clobbers. Use match_operator instead of
+ iterator expansion.
+ (*compare_cstore<GPI>_insn): Likewise.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/predicates.md (aarch64_split_imm24): Rename from
+ aarch64_imm24; exclude aarch64_move_imm and aarch64_uimm12_shift.
+ * config/aarch64/aarch64.md (*aarch64_bcond_wide_imm<GPI>):
+ Update for aarch64_split_imm24.
+ (*compare_cstore<GPI>_insn): Likewise.
+ * config/aarch64/aarch64.cc (aarch64_if_then_else_costs): Likewise.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.md (tbranch_<EQL><SHORT>3): Remove.
+ (save_stack_nonlocal): Use aarch64_gen_compare_zero_and_branch.
+ (restore_stack_nonlocal): Likewise.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.cc
+ (aarch64_gen_compare_zero_and_branch): Export.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_gen_compare_zero_and_branch): Declare it.
+ * config/aarch64/aarch64-sme.md (aarch64_restore_za): Use it.
+ * config/aarch64/aarch64.md (*aarch64_cbz<EQL><GPI>): Unexport.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.cc (aarch64_if_the_else_costs): Reorg to
+ include the cost of inner within TBZ sign-bit test, only match
+ CBZ/CBNZ with valid modes, and both for the aarch64_imm24 test.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.cc (aarch64_if_then_else_costs): Remove
+ else after return and re-indent.
+
+2025-08-11 Richard Henderson <richard.henderson@linaro.org>
+
+ * config/aarch64/aarch64.md (BRANCH_LEN_N_1KiB): Rename
+ from BRANCH_LEN_N_1Kib.
+
+2025-08-11 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * tree-ssa-forwprop.cc (optimize_aggr_zeroprop): Recognize stores
+ of integer_zerop as memset of 0.
+
+2025-08-11 Jeff Law <jlaw@ventanamicro.com>
+
+ * doc/sourcebuild.texi: Add riscv_b_ok and riscv_v_ok target selectors.
+
+2025-08-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121488
+ * tree-ssa-sccvn.cc (visit_nary_op): If the BIT_FIELD_REF
+ result is of wrong type, try a VIEW_CONVERT_EXPR around it.
+
+2025-08-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121362
+ * tree-ssa-sccvn.cc (vn_reference_lookup_3): Swap index
+ guards on component stripping loops.
+
+2025-08-11 Pan Li <pan2.li@intel.com>
+
+ * tree-ssa-math-opts.cc (match_saturation_mul): Add new func
+ to emit IFN_SAT_MUL if matched.
+ (math_opts_dom_walker::after_dom_children): Try to match
+ the phi node for SAT_MUL.
+
+2025-08-11 Pan Li <pan2.li@intel.com>
+
+ * match.pd: Add form 2 for unsigned SAT_MUL.
+
+2025-08-11 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv.cc (get_vector_binary_rtx_cost): Remove.
+ (riscv_rtx_costs): Refactor to serach vec_duplicate on the
+ sub rtx.
+
+2025-08-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ PR target/121464
+ * config/arm/arm.md (arm_<mrrc>, arm_<mcrr>): Fix operand check.
+
+2025-08-11 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/121306
+ * simplify-rtx.cc (simplify_context::simplify_subreg): Distribute
+ non-narrowing integer-to-integer subregs through logic ops,
+ in a similar way to the existing word_mode handling.
+
+2025-08-11 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-cfg.cc (find_case_label_for_value): Fix comment typo,
+ singe-valued -> single-valued.
+ * config/arc/arc.md: Fix comment typos, unsinged -> unsigned.
+
+2025-08-10 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * config/mips/mips.h (FRAME_GROWS_DOWNWARD) Allow the frame to
+ grow downwards for mips16 when -mgrow-frame-downwards is set.
+ * config/mips/mips.opt: Add -mgrow-frame-downwards option.
+
+2025-08-10 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR middle-end/121438
+ PR middle-end/121444
+ * output.h (MAX_ALIGN_MERGABLE): Rename to ...
+ (MAX_MERGEABLE_BITSIZE): This.
+ * tree-switch-conversion.cc (switch_conversion::build_one_array): Don't
+ increase the alignment.
+ * varasm.cc (mergeable_string_section): Use MAX_MERGEABLE_BITSIZE
+ instead of MAX_ALIGN_MERGABLE. Also replace `/ 8` with `/ BITS_PER_UNIT`.
+ (mergeable_constant_section): Select the mergeable section based on
+ the bitsize rather than the alignment. Make sure the align is less
+ than the entity size.
+
+2025-08-10 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR middle-end/121394
+ * varasm.cc (assemble_variable_contents): Pad out
+ mergeable sections if needed.
+ (output_constant_pool_1): Change the padding to be explicit
+ zeroing for mergeable sections.
+
+2025-08-10 H.J. Lu <hjl.tools@gmail.com>
+
+ * configure: Regenerated.
+
+2025-08-09 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin.cc (darwin_encode_section_info): Do not
+ make anchored symbols linker-visible.
+ (darwin_use_anchors_for_symbol_p): Disallow anchoring on
+ symbols that must be linker-visible (or external), even
+ if the definitions are in this TU.
+
+2025-08-09 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): New
+ entry for LANCHOR.
+
+2025-08-09 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostics/context.cc (context::dump): Bulletproof against
+ m_reference_printer being null.
+ * diagnostics/dumping.cc (emit_field<const char *>): Replace
+ with...
+ (emit_string_field): ...this.
+ (emit_field<char *>): Eliminate.
+ (emit_field<bool>): Replace with...
+ (emit_bool_field): ...this.
+ (emit_field<size_t>): Replace with...
+ (emit_size_t_field): ...this, and use HOST_SIZE_T_PRINT_DEC rather
+ than %zi in fprintf call.
+ (emit_field<int>): Replace with...
+ (emit_int_field): ...this.
+ (emit_field<unsigned>): Replace with...
+ (emit_unsigned_field): ...this.
+ * diagnostics/dumping.h (emit_field): Replace this template decl
+ with...
+ (emit_string_field): ...this,
+ (emit_bool_field): ...this,
+ (emit_size_t_field): ...this,
+ (emit_int_field): ...this,
+ (emit_unsigned_field): ... and this.
+ (DIAGNOSTICS_DUMPING_EMIT_FIELD): Rename to...
+ (DIAGNOSTICS_DUMPING_EMIT_BOOL_FIELD): ...this and update for
+ above change.
+ * diagnostics/file-cache.cc (file_cache_slot::dump): Replace
+ emit_field calls with calls that explicitly state the type. Fix
+ type of dump of m_missing_trailing_newline to use bool.
+ (file_cache_slot::dump): Use HOST_SIZE_T_PRINT_DEC rather than
+ %zi in fprintf call.
+ * diagnostics/html-sink.cc (html_generation_options::dump): Update
+ for macro renaming.
+ * diagnostics/sarif-sink.cc
+ (sarif_serialization_format_json::dump): Likewise.
+ (sarif_generation_options::dump): Likewise, and for function
+ renaming.
+ * diagnostics/text-sink.cc (text_sink::dump): Update for macro
+ renaming.
+ * libgdiagnostics.cc (diagnostic_manager_debug_dump_file): Use
+ HOST_SIZE_T_PRINT_DEC rather than %zi in fprintf call.
+ * pretty-print.cc: Include "diagnostics/dumping.h".
+ (pp_formatted_chunks::dump): Use it.
+ (get_url_format_as_string): New.
+ (pretty_printer::dump): Use diagnostics::dumping. Bulletproof
+ against m_buffer being null.
+
+2025-08-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/constraints.md (T):
+ Change define_memory_constraint to define_special_memory_constraint.
+
+2025-08-08 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/120599
+ * tree-ssa-forwprop.cc (optimize_agr_copyprop): Don't try to copy
+ from statements that throw.
+
+2025-08-08 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/118946
+ PR tree-optimization/121422
+ * tree-ssa-forwprop.cc (optimize_memcpy_to_memset): Remove.
+ (optimize_aggr_zeroprop_1): New function.
+ (optimize_aggr_zeroprop): New function.
+ (simplify_builtin_call): Don't call optimize_memcpy_to_memset
+ for memcpy but call optimize_aggr_zeroprop for memset.
+ (pass_forwprop::execute): Don't call optimize_memcpy_to_memset
+ for aggregate copies but rather call optimize_aggr_zeroprop
+ for aggregate stores.
+
+2025-08-08 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * tree-ssa-forwprop.cc (optimize_agr_copyprop): Change into a
+ forward looking (looking at vdef's uses) instead of a back
+ looking (vuse's def).
+
+2025-08-08 David Malcolm <dmalcolm@redhat.com>
+
+ PR diagnostics/116253
+ * common.opt (fdiagnostics-show-nesting): New option.
+ (fdiagnostics-show-nesting-locations): New option.
+ (fdiagnostics-show-nesting-levels): New option.
+ * common.opt.urls: Regenerate.
+ * diagnostics/context.cc (context::set_show_nesting): New.
+ (context::set_show_nesting_locations): New.
+ (context::set_show_nesting_levels): New.
+ * diagnostics/context.h (context::set_show_nesting): New decl.
+ (context::set_show_nesting_locations): New decl.
+ (context::set_show_nesting_levels): New decl.
+ * diagnostics/html-sink.cc: Tweak comment.
+ * diagnostics/output-spec.cc (text_scheme_handler::make_sink):
+ Rename "experimental-nesting" to "show-nesting" and enable by
+ default. Rename "experimental-nesting-show-locations" to
+ "show-nesting-locations". Rename
+ "experimental-nesting-show-levels" to "show-nesting-levels".
+ * diagnostics/sink.h (sink::dyn_cast_text_sink): New.
+ * diagnostics/text-sink.h (text_sink::dyn_cast_text_sink): New.
+ * doc/invoke.texi: Add -fdiagnostics-show-nesting,
+ -fdiagnostics-show-nesting-locations, and
+ -fdiagnostics-show-nesting-levels. Update for changes to
+ output-spec.cc above.
+ * lto-wrapper.cc (merge_and_complain): Ignore
+ OPT_fdiagnostics_show_nesting,
+ OPT_fdiagnostics_show_nesting_locations, and
+ OPT_fdiagnostics_show_nesting_levels.
+ (append_compiler_options): Likewise.
+ (append_diag_options): Likewise.
+ * opts-common.cc (decode_cmdline_options_to_array): Add
+ "-fno-diagnostics-show-nesting" to -fdiagnostics-plain-output.
+ * opts.cc (common_handle_option): Handle the new options.
+ (gen_command_line_string): Ignore the new options.
+ * toplev.cc (general_init): Call set_show_nesting,
+ set_show_nesting_locations, and set_show_nesting_levels on
+ global_dc.
+
+2025-08-08 David Malcolm <dmalcolm@redhat.com>
+
+ * Makefile.in (OBJS-libcommon): Add diagnostics/dumping.o.
+ * diagnostics/buffering.cc: Include "diagnostics/dumping.h".
+ (buffer::dump): Reimplement using diagnostics::dumping.
+ * diagnostics/context.cc: Include "diagnostics/dumping.h".
+ (context::dump): Reimplement using diagnostics::dumping.
+ Use sink::dump_kind when listing the sinks.
+ (sink::dump): Reimplement using diagnostics::dumping.
+ (counters::dump): Likewise.
+ * diagnostics/dumping.cc: New file.
+ * diagnostics/dumping.h: New file.
+ * diagnostics/file-cache.cc: Include "diagnostics/dumping.h".
+ (file_cache::dump): Reimplement using diagnostics::dumping.
+ (file_cache_slot::dump): Likewise.
+ * diagnostics/html-sink.cc: Include "diagnostics/dumping.h".
+ (html_generation_options::dump): New.
+ (html_sink_buffer::dump): Reimplement using diagnostics::dumping.
+ (html_builder::dump): New.
+ (html_sink::dump): Reimplement using diagnostics::dumping.
+ Add dump of the html_builder.
+ (html_file_sink::dump): Replace with...
+ (html_file_sink::dump_kind): ...this.
+ (html_buffered_sink::dump_kind): New.
+ * diagnostics/html-sink.h (html_generation_options::dump): New
+ decl.
+ * diagnostics/sarif-sink.cc: Include "diagnostics/dumping.h".
+ (sarif_serialization_format_json::dump): New.
+ (sarif_builder::dump): New.
+ (sarif_sink_buffer::dump): Reimplement using diagnostics::dumping.
+ (sarif_sink::dump): Likewise. Add dump of the sarif_builder.
+ (sarif_stream_sink::dump_kind): New.
+ (sarif_file_sink::dump): Replace with...
+ (sarif_file_sink::dump_kind): ...this.
+ (get_dump_string_for_sarif_version): New.
+ (sarif_generation_options::dump): New.
+ (class buffered_sink): Rename to...
+ (class sarif_buffered_sink): ...this.
+ (sarif_buffered_sink::dump_kind): New.
+ * diagnostics/sarif-sink.h (sarif_serialization_format::dump):
+ New.
+ (sarif_serialization_format_json::dump): New decl.
+ (sarif_generation_options::dump): New decl.
+ * diagnostics/sink.h (sink::dump_kind): New.
+ * diagnostics/text-sink.cc: Include "diagnostics/dumping.h".
+ (text_sink_buffer::dump): Reimplement using diagnostics::dumping.
+ (text_sink::dump): Likewise. Emit fields m_show_nesting,
+ m_show_locations_in_nesting, and m_show_nesting_levels.
+ * diagnostics/text-sink.h (text_sink::dump_kind): New.
+
+2025-08-08 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic.h (diagnostics::get_cwe_url): Move decl to
+ diagnostics/metadata.h.
+ (diagnostics::maybe_line_and_column): Move into
+ diagnostics::text_sink.
+ * diagnostics/context.cc: Update for maybe_line_and_column
+ becoming a static member of text_sink.
+ * diagnostics/metadata.h (diagnostics::get_cwe_url): Move decl
+ here from diagnostic.h.
+ * diagnostics/text-sink.cc (maybe_line_and_column): Convert to...
+ (text_sink::maybe_line_and_column): ...this.
+ * diagnostics/text-sink.h (text_sink::maybe_line_and_column): Move
+ here from diagnostic.h.
+
+2025-08-08 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostics/context.cc (context::get_any_inlining_info): Convert
+ "context" arg of m_set_locations_cb from ptr to const &.
+ (context::report_diagnostic): Convert "context" arg of
+ m_adjust_diagnostic_info from ptr to const &.
+ * diagnostics/context.h (context::set_locations_callback_t):
+ Likewise.
+ (context::set_adjust_diagnostic_info_callback): Likewise.
+ (context::m_adjust_diagnostic_info): Likewise.
+ * tree-diagnostic.cc (set_inlining_locations): Likewise.
+
+2025-08-08 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostics/column-options.h: New file, adding struct
+ diagnostics::column_options, taken from fields in
+ diagnostics::context and diagnostics::column_policy.
+ * diagnostics/context.cc (context::initialize): Update for moving
+ fields of diagnostics::context into diagnostics::column_options.
+ (column_policy::column_policy): Likewise.
+ (column_policy::converted_column): Move implementation to...
+ (column_options::convert_column): ...this new function.
+ (context::report_diagnostic): Update for moving fields of
+ diagnostics::context into diagnostics::column_options.
+ (assert_location_text): Likewise.
+ * diagnostics/context.h: Include "diagnostics/column-options.h".
+ (class column_policy): Replace fields m_column_unit,
+ m_column_origin, and m_tabstop with m_column_options.
+ (context::get_column_options): New accessors.
+ (context::m_column_unit): Move to struct column_options and
+ replace with m_column_options.
+ (context::m_column_origin): Likewise.
+ (context::m_tabstop): Likewise.
+ * diagnostics/sarif-sink.cc (sarif_builder::sarif_builder): Update
+ for moving fields of diagnostics::context into
+ diagnostics::column_options.
+ * diagnostics/source-printing.cc: Likewise.
+ * opts.cc (common_handle_option): Likewise.
+
+2025-08-08 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/120977
+ * config/arm/arm.md (call): Move unspec parameter to parallel.
+ (nonsecure_call_internal): Likewise.
+ (call_value): Likewise.
+ (nonsecure_call_value_internal): Likewise.
+ * config/arm/thumb1.md (nonsecure_call_reg_thumb1_v5): Likewise.
+ (nonsecure_call_value_reg_thumb1_v5): Likewise.
+ * config/arm/thumb2.md (nonsecure_call_reg_thumb2_fpcxt):
+ Likewise.
+ (nonsecure_call_reg_thumb2): Likewise.
+ (nonsecure_call_value_reg_thumb2_fpcxt): Likewise.
+ (nonsecure_call_value_reg_thumb2): Likewise.
+ * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
+ Likewise.
+
+2025-08-08 Pengfei Li <Pengfei.Li2@arm.com>
+
+ PR target/121449
+ * config/aarch64/aarch64-sve.md
+ (mask_gather_load<mode><v_int_container>): Use vg<Vesize>
+ constraints for alternatives with immediate offset.
+ (mask_scatter_store<mode><v_int_container>): Likewise.
+
+2025-08-08 Richard Biener <rguenther@suse.de>
+
+ * doc/tm.texi.in: Add Vectorization and OpenMP and OpenACC
+ sub-sections to the list of target macros and functions.
+ * doc/tm.texi: Re-generate.
+
+2025-08-08 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_determine_vectype_for_stmt_1): Remove.
+ (vect_determine_vectype_for_stmt): Likewise.
+ (vect_set_stmts_vectype): Likewise.
+ (vect_analyze_loop_2): Do not call vect_set_stmts_vectype.
+ * tree-vect-stmts.cc (vect_mark_stmts_to_be_vectorized): Detect
+ irregular stmts early here.
+
+2025-08-08 Alex Coplan <alex.coplan@arm.com>
+
+ PR target/120986
+ * config/aarch64/aarch64-sve-builtins.cc
+ (function_expander::expand): Relax fpm_t assert to allow
+ modeless const_ints.
+
+2025-08-08 Alex Coplan <alex.coplan@arm.com>
+
+ PR target/120986
+ * config/aarch64/aarch64-sve2.md (@aarch64_sve_dot<mode>):
+ Switch mode iterator from SVE_FULL_HSF to new iterator;
+ remove insn predicate as this is now taken care of by conditions
+ in the mode iterator.
+ (@aarch64_sve_dot_lane<mode>): Likewise.
+ * config/aarch64/iterators.md (SVE_FULL_HSF_FP8_FDOT): New.
+
+2025-08-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121454
+ * tree-ssa-sccvn.cc (visit_nary_op): Avoid unexpected
+ BIT_FIELD_REFs.
+
+2025-08-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/121389
+ * tree-tailcall.cc (find_tail_calls): For finally_tmp.N
+ handle not just GIMPLE_CONDs with EQ_EXPR/NE_EXPR and only
+ values 0 and 1, but arbitrary non-negative values, arbitrary
+ comparisons in conditions and also GIMPLE_SWITCH next to
+ GIMPLE_CONDs.
+
+2025-08-08 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): Get
+ the SLP node rather than the stmt_info.
+ (vectorizable_lane_reducing): Adjust, pass SLP node to costing.
+ (vect_transform_reduction): Adjust.
+
+2025-08-08 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (vect_model_promotion_demotion_cost): Pass
+ in SLP node and drop unused dr argument. Use SLP node for
+ costing, drop costing of constant/external operands.
+ (vectorizable_conversion): Adjust.
+
+2025-08-08 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (vectorizable_store): Apply SLP_TREE_VECTYPE
+ to slp_node rather than stmt_info.
+
+2025-08-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/121414
+ * config/aarch64/aarch64.cc (aarch64_is_variant_pcs): New function,
+ split out from...
+ (aarch64_asm_output_variant_pcs): ...here. Handle various types
+ of SME function type.
+
+2025-08-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/120718
+ * simplify-rtx.cc (simplify_context::simplify_gen_subreg):
+ Remove MODE_COMPOSITE_P condition.
+
+2025-08-07 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121405
+ * tree-ssa-sccvn.cc (visit_nary_op): Handle BIT_FIELD_REF
+ with reference def by looking up a combination of both.
+
+2025-08-07 Pengfei Li <Pengfei.Li2@arm.com>
+
+ * tree-vect-data-refs.cc (vect_compute_data_ref_alignment):
+ Allow DR target alignment to be a poly_int.
+ (vect_enhance_data_refs_alignment): Support peeling and
+ versioning for VLA modes.
+ * tree-vect-loop-manip.cc (get_misalign_in_elems): Remove
+ power-of-two rounding in peeling.
+ (vect_create_cond_for_align_checks): Update alignment check
+ logic for poly_int mask.
+ (vect_create_cond_for_vla_spec_read): New runtime checks.
+ (vect_loop_versioning): Support new runtime checks.
+ * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Add a new
+ loop_vinfo field.
+ (vectorizable_induction): Fix wrong IV offset issue.
+ * tree-vect-stmts.cc (get_load_store_type): Refactor
+ vectorizable checks for speculative loads.
+ * tree-vectorizer.h (LOOP_VINFO_MAX_SPEC_READ_AMOUNT): New
+ macro for new runtime checks.
+ (LOOP_REQUIRES_VERSIONING_FOR_SPEC_READ): Likewise
+ (LOOP_REQUIRES_VERSIONING): Update macro for new runtime checks.
+
+2025-08-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/120778
+ * doc/invoke.texi (Wkeyword-macro): Document.
+
+2025-08-07 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * config/s390/s390.cc (print_operand): Allow arbitrary wide_int
+ constants for _BitInt.
+ (s390_bitint_type_info): Implement target hook
+ TARGET_C_BITINT_TYPE_INFO.
+
+2025-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/96226
+ * config/i386/predicates.md (and_operator): New operator.
+ * config/i386/i386.md (splitter after *<rotate_insn><mode>3_mask):
+ Use and_operator to match AND RTX and use its mode
+ in the split pattern.
+
+2025-08-06 Gerald Pfeifer <gerald@pfeifer.com>
+
+ PR target/69374
+ * doc/install.texi (Prerequisites): Replace bzip2 by xz.
+
+2025-08-06 Yangyu Chen <cyy@cyyself.name>
+
+ * config/i386/i386.h (PTA_BDVER1):
+ Add missing PTA_POPCNT and PTA_LZCNT with PTA_ABM.
+ (PTA_ZNVER1): Ditto.
+ (PTA_BTVER1): Ditto.
+ (PTA_LUJIAZUI): Ditto.
+ (PTA_YONGFENG): Do not include extra PTA_LZCNT.
+
+2025-08-06 Sam James <sam@gentoo.org>
+
+ PR libstdc++/29286
+ * Makefile.in (ALIASING_FLAGS): Drop.
+ * configure: Regenerate.
+ * configure.ac: Drop -fno-strict-aliasing workaround for < GCC 4.3.
+
+2025-08-06 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.cc (vect_supportable_dr_alignment):
+ Prune dead code.
+
+2025-08-06 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/121231
+ PR c++/119688
+ PR c++/94511
+ * common.opt: Document additional ABI version 21 change.
+ * doc/invoke.texi: Likewise.
+
+2025-08-06 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (_slp_tree::gs_scale): New.
+ (_slp_tree::gs_base): Likewise.
+ (SLP_TREE_GS_SCALE): Likewise.
+ (SLP_TREE_GS_BASE): Likewise.
+ (vect_describe_gather_scatter_call): Declare.
+ * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize
+ new members.
+ (vect_build_slp_tree_2): Record gather/scatter base and scale.
+ (vect_get_and_check_slp_defs): For gather/scatter IFNs
+ describe the call to first_gs_info.
+ * tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Add
+ mode of operation with fixed offset vector type.
+ (vect_describe_gather_scatter_call): Export.
+ * tree-vect-stmts.cc (get_load_store_type): Do not call
+ vect_check_gather_scatter to fill gs_info, instead populate
+ from the SLP tree. Check which of, IFN, decl or fallback
+ is supported and record that decision.
+
+2025-08-06 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (vectorizable_store): Build proper
+ alias + align pointer value for gather/scatter and SLP
+ and use it.
+ (vectorizable_load): Likewise.
+
+2025-08-06 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (check_load_store_for_partial_vectors):
+ Remove redundant gather/scatter target support check, instead
+ check the recorded ifns. Also allow legacy gather/scatter
+ with loop masking.
+
+2025-08-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/121413
+ * gimple-lower-bitint.cc (gimple_lower_bitint): Fix up last
+ commit, cast limb_prec to unsigned before comparison.
+
+2025-08-06 Yang Yujie <yangyujie@loongson.cn>
+
+ * match.pd: Preserve conversion to _BitInt before a VCE
+ if the _BitInt is extended.
+
+2025-08-06 Yang Yujie <yangyujie@loongson.cn>
+
+ * gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt):
+ Zero-extend the partial limb of any unsigned _BitInt LHS assigned
+ with a widening sign-extension.
+
+2025-08-06 Yang Yujie <yangyujie@loongson.cn>
+
+ * gimple-lower-bitint.cc (bitint_large_huge::limb_access):
+ Add a parameter abi_load_p. If set, load a limb directly
+ in its actual precision without casting from m_limb_type.
+ (struct bitint_large_huge): Same.
+ (bitint_large_huge::handle_load): Use.
+
+2025-08-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/121413
+ * gimple-lower-bitint.cc (abi_limb_prec): New variable
+ (bitint_precision_kind): Initialize it.
+ (gimple_lower_bitint): Clear it at the start. For
+ min_prec > limb_prec descreased precision vars for
+ INTEGER_CST PHI arguments ensure min_prec is either
+ prec or multiple of abi_limb_prec.
+
+2025-08-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/121127
+ * gimple-lower-bitint.cc (bitint_large_huge::handle_operand_addr): For
+ uninitialized SSA_NAME, set *prec_stored to 0 rather than *prec.
+ Handle that case in narrowing casts. If prec_stored is non-NULL,
+ set *prec_stored to prec_stored_val.
+
+2025-08-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/121386
+ * Makefile.in (gengtype-lex.cc): Append #define FLEX_SCANNER,
+ #include "system.h" and #undef FLEX_SCANNER to the prepended lines.
+ * gengtype-lex.l: Remove inclusion of config.h or bconfig.h, system.h
+ and definition of malloc/realloc from %{} section.
+
+2025-08-06 Kito Cheng <kito.cheng@sifive.com>
+
+ * config/riscv/arch-canonicalize: Read extension data from
+ riscv-ext*.def and adding unittest.
+
+2025-08-06 Kito Cheng <kito.cheng@sifive.com>
+
+ * common/config/riscv/riscv-common.cc (riscv_expand_arch):
+ Ignore `unset`.
+ * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Handle
+ `-march=unset`.
+ (ARCH_UNSET_CLEANUP_SPECS): New.
+ (DRIVER_SELF_SPECS): Handle -march=unset.
+ * doc/invoke.texi (RISC-V Options): Update documentation for
+ `-march=unset`.
+
+2025-08-06 Kwok Cheung Yeung <kcyeung@baylibre.com>
+
+ * gimplify.cc (remove_unused_omp_iterator_vars): Display unused
+ variable warning for 'to' and 'from' clauses.
+ (gimplify_scan_omp_clauses): Add argument for iterator loop sequence.
+ Gimplify the clause decl and size into the iterator loop if iterators
+ are used.
+ (gimplify_omp_workshare): Add argument for iterator loops sequence
+ in call to gimplify_scan_omp_clauses.
+ (gimplify_omp_target_update): Call remove_unused_omp_iterator_vars and
+ build_omp_iterators_loops. Add loop sequence as argument when calling
+ gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses and building
+ the Gimple statement.
+ * tree-pretty-print.cc (dump_omp_clause): Call dump_omp_iterators
+ for to/from clauses with iterators.
+ * tree.cc (omp_clause_num_ops): Add extra operand for OMP_CLAUSE_FROM
+ and OMP_CLAUSE_TO.
+ * tree.h (OMP_CLAUSE_HAS_ITERATORS): Add check for OMP_CLAUSE_TO and
+ OMP_CLAUSE_FROM.
+ (OMP_CLAUSE_ITERATORS): Likewise.
+
+2025-08-06 Kwok Cheung Yeung <kcyeung@baylibre.com>
+ Andrew Stubbs <ams@baylibre.com>
+
+ * gimple-pretty-print.cc (dump_gimple_omp_target): Print expanded
+ iterator loops.
+ * gimple.cc (gimple_build_omp_target): Add argument for iterator
+ loops sequence. Initialize iterator loops field.
+ * gimple.def (GIMPLE_OMP_TARGET): Set GSS symbol to GSS_OMP_TARGET.
+ * gimple.h (gomp_target): Set GSS symbol to GSS_OMP_TARGET. Add extra
+ field for iterator loops.
+ (gimple_build_omp_target): Add argument for iterator loops sequence.
+ (gimple_omp_target_iterator_loops): New.
+ (gimple_omp_target_iterator_loops_ptr): New.
+ (gimple_omp_target_set_iterator_loops): New.
+ * gimplify.cc (find_var_decl): New.
+ (copy_omp_iterator): New.
+ (remap_omp_iterator_var_1): New.
+ (remap_omp_iterator_var): New.
+ (remove_unused_omp_iterator_vars): New.
+ (struct iterator_loop_info_t): New type.
+ (iterator_loop_info_map_t): New type.
+ (build_omp_iterators_loops): New.
+ (enter_omp_iterator_loop_context_1): New.
+ (enter_omp_iterator_loop_context): New.
+ (enter_omp_iterator_loop_context): New.
+ (exit_omp_iterator_loop_context): New.
+ (gimplify_adjust_omp_clauses): Add argument for iterator loop
+ sequence. Gimplify the clause decl and size into the iterator
+ loop if iterators are used.
+ (gimplify_omp_workshare): Call remove_unused_omp_iterator_vars and
+ build_omp_iterators_loops for OpenMP target expressions. Add
+ loop sequence as argument when calling gimplify_adjust_omp_clauses
+ and building the Gimple statement.
+ * gimplify.h (enter_omp_iterator_loop_context): New prototype.
+ (exit_omp_iterator_loop_context): New prototype.
+ * gsstruct.def (GSS_OMP_TARGET): New.
+ * omp-low.cc (lower_omp_map_iterator_expr): New.
+ (lower_omp_map_iterator_size): New.
+ (finish_omp_map_iterators): New.
+ (lower_omp_target): Add sorry if iterators used with deep mapping.
+ Call lower_omp_map_iterator_expr before assigning to sender ref.
+ Call lower_omp_map_iterator_size before setting the size. Insert
+ iterator loop sequence before the statements for the target clause.
+ * tree-nested.cc (convert_nonlocal_reference_stmt): Walk the iterator
+ loop sequence of OpenMP target statements.
+ (convert_local_reference_stmt): Likewise.
+ (convert_tramp_reference_stmt): Likewise.
+ * tree-pretty-print.cc (dump_omp_iterators): Dump extra iterator
+ information if present.
+ (dump_omp_clause): Call dump_omp_iterators for iterators in map
+ clauses.
+ * tree.cc (omp_clause_num_ops): Add operand for OMP_CLAUSE_MAP.
+ (walk_tree_1): Do not walk last operand of OMP_CLAUSE_MAP.
+ * tree.h (OMP_CLAUSE_HAS_ITERATORS): New.
+ (OMP_CLAUSE_ITERATORS): New.
+
+2025-08-05 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121410
+ * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Use
+ STORE_MAX_PIECES to get the widest vector mode in vector loop
+ for memset.
+
+2025-08-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_rtx_costs_1) [SIGN_EXTEND]: Adjust cost.
+ * config/avr/avr.md (*sext.ashift<QIPSI:mode><HISI:mode>2): New
+ insn and a cc split.
+
+2025-08-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/121306
+ * config/i386/predicates.md (extract_operator): Replace with...
+ (extract_high_operator): ...this new predicate.
+ * config/i386/i386.md (*cmpqi_ext<mode>_1, *cmpqi_ext<mode>_2)
+ (*cmpqi_ext<mode>_3, *cmpqi_ext<mode>_4, *movstrictqi_ext<mode>_1)
+ (*extzv<mode>, *insvqi_2, *extendqi<SWI24:mode>_ext_1)
+ (*addqi_ext<mode>_1_slp, *addqi_ext<mode>_1_slp, *addqi_ext<mode>_0)
+ (*addqi_ext2<mode>_0, *addqi_ext<mode>_1, *<insn>qi_ext<mode>_2)
+ (*subqi_ext<mode>_1_slp, *subqi_ext<mode>_2_slp, *subqi_ext<mode>_0)
+ (*subqi_ext2<mode>_0, *subqi_ext<mode>_1, *testqi_ext<mode>_1)
+ (*testqi_ext<mode>_2, *<code>qi_ext<mode>_1_slp)
+ (*<code>qi_ext<mode>_2_slp. *<code>qi_ext<mode>_0)
+ (*<code>qi_ext2<mode>_0, *<code>qi_ext<mode>_1)
+ (*<code>qi_ext<mode>_1_cc, *<code>qi_ext<mode>_1_cc)
+ (*<code>qi_ext<mode>_2, *<code>qi_ext<mode>_3, *negqi_ext<mode>_1)
+ (*one_cmplqi_ext<mode>_1, *ashlqi_ext<mode>_1, *<insn>qi_ext<mode>_1)
+ (define_peephole2): Replace uses of extract_operator with
+ extract_high_operator, matching only the first operand.
+ Use zero_extract rather than match_op_dup when splitting.
+
+2025-08-05 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_relevant::hybrid): Remove.
+ * tree-vect-loop.cc (vect_analyze_loop_2): Do not call
+ vect_detect_hybrid_slp.
+ * tree-vect-slp.cc (maybe_push_to_hybrid_worklist): Remove.
+ (vect_detect_hybrid_slp): Likewise.
+
+2025-08-05 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/121359
+ * config/avr/avr.h: Remove -mlra and remains of reload.
+ * config/avr/avr.cc: Same.
+ * config/avr/avr.md: Same.
+ * config/avr/avr-log.cc: Same.
+ * config/avr/avr-protos.h: Same.
+ * config/avr/avr.opt: Same.
+ * config/avr/avr.opt.urls: Same.
+
+2025-08-05 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121306
+ * config/i386/i386.md (*one_cmplqi_ext<mode>_1): Updated to
+ support the new pattern.
+
+2025-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121395
+ * tree-vectorizer.h (_loop_vec_info::alternate_defs): New member.
+ (LOOP_VINFO_ALTERNATE_DEFS): New.
+ * tree-vect-stmts.cc (vect_stmt_relevant_p): Populate it.
+ (vectorizable_simd_clone_call): Do not register a SLP def
+ when there is none.
+ * tree-vect-slp.cc (vect_build_slp_tree_1): Allow a NULL
+ vectype when there's no LHS. Allow all calls w/o LHS.
+ (vect_analyze_slp): Process LOOP_VINFO_ALTERNATE_DEFS as
+ SLP graph entries.
+ (vect_make_slp_decision): Handle a NULL SLP_TREE_VECTYPE.
+ (vect_slp_analyze_node_operations_1): Likewise.
+ (vect_schedule_slp_node): Likewise.
+
+2025-08-05 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (enum slp_vect_type): Rename loop_vect
+ to not_vect, clarify docs.
+ (HYBRID_SLP_STMT): Remove.
+ * tree-vectorizer.cc (vec_info::new_stmt_vec_info): Adjust.
+ * tree-vect-loop.cc (vect_analyze_loop_2): Likewise.
+
+2025-08-05 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.cc (vect_get_data_access_cost): Use
+ ncopies == 1.
+ * tree-vect-slp.cc (vect_remove_slp_scalar_calls): Remove
+ hybrid/loop SLP skip.
+ * tree-vect-stmts.cc (vectorizable_store): Remove pure SLP assert.
+
+2025-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121382
+ * tree-ssa-loop-ivopts.cc (create_new_iv): Rewrite the IV
+ step to defined form.
+
+2025-08-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121370
+ * tree-scalar-evolution.cc (scev_dfs::add_to_evolution_1):
+ Avoid UB integer overflow in accumulating CHREC_RIGHT.
+
+2025-08-05 Yang Yujie <yangyujie@loongson.cn>
+
+ * expr.cc (expand_expr_real_1): Do not call
+ reduce_to_bit_field_precision if the target assumes the _BitInt
+ results to be already extended.
+ (EXTEND_BITINT): Same.
+ * expr.h (bitint_extended): Declare the cache variable.
+ * function.cc (prepare_function_start): Initialize it.
+
+2025-08-05 Yang Yujie <yangyujie@loongson.cn>
+
+ * explow.cc (promote_function_mode): Add a case for
+ small/medium _BitInts.
+ (promote_mode): Same.
+
+2025-08-05 Gerald Pfeifer <gerald@pfeifer.com>
+
+ PR target/69374
+ * doc/install.texi (Configuration): Mark up atexit as code.
+
+2025-08-05 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv.cc (riscv_expand_xmode_usmul): Take
+ umulhu for high bits mul result.
+
+2025-08-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * defaults.h (MAX_FIXED_MODE_SIZE): Default to 2 * BITS_PER_WORD
+ for larger-than-32-bitters.
+ * doc/tm.texi.in (MAX_FIXED_MODE_SIZE): Adjust accordingly. Tweak
+ wording.
+ * doc/tm.texi: Regenerate.
+
+2025-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ * dump-context.h: Convert "enum optinfo_item_kind" into
+ "enum class kind" within class optinfo_item.
+ * dumpfile.cc: Likewise. Use "auto" in a few places.
+ Convert "enum optinfo_kind" to "enum class kind" within
+ class optinfo.
+ * opt-problem.cc: Likewise.
+ * optinfo-emit-json.cc: Likewise.
+ * optinfo.cc: Likewise.
+ * optinfo.h: Likewise.
+
+2025-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ PR diagnostics/116253
+ * diagnostics/context.cc (context::set_nesting_level): New.
+ * diagnostics/context.h (context::set_nesting_level): New decl.
+ * doc/libgdiagnostics/topics/compatibility.rst
+ (LIBGDIAGNOSTICS_ABI_5): New.
+ * doc/libgdiagnostics/topics/physical-locations.rst
+ (diagnostic_manager_set_debug_physical_locations): New.
+ * libgdiagnostics++.h (manager::set_debug_physical_locations):
+ New.
+ * libgdiagnostics-private.h
+ (private_diagnostic_set_nesting_level): New decl.
+ * libgdiagnostics.cc (diagnostic_manager::diagnostic_manager):
+ Initialize m_debug_physical_locations.
+ (diagnostic_manager::new_location_from_file_and_line): Add debug
+ printing.
+ (diagnostic_manager::new_location_from_file_line_column):
+ Likewise.
+ (diagnostic_manager::new_location_from_range): Likewise.
+ (diagnostic_manager::set_debug_physical_locations): New.
+ (diagnostic_manager::ensure_linemap_for_file_and_line): Avoid
+ redundant calls to linemap_add.
+ (diagnostic_manager::new_location): Add debug printing.
+ (diagnostic_manager::m_debug_physical_locations): New field.
+ (diagnostic::diagnostic): Initialize m_nesting_level.
+ (diagnostic::get_nesting_level): New accessor.
+ (diagnostic::set_nesting_level): New.
+ (diagnostic::m_nesting_level): New field.
+ (diagnostic_manager::emit_va): Set and reset the nesting level
+ of the context from that of the diagnostic.
+ (diagnostic_manager_set_debug_physical_locations): New.
+ (private_diagnostic_set_nesting_level): New.
+ * libgdiagnostics.h
+ (diagnostic_manager_set_debug_physical_locations): New decl.
+ * libgdiagnostics.map (LIBGDIAGNOSTICS_ABI_5): New.
+ * libsarifreplay.cc (sarif_replayer::handle_result_obj): Support
+ the "nestingLevel" property.
+ * libsarifreplay.h (replay_options::m_debug_physical_locations):
+ New field.
+ * sarif-replay.cc: Add -fdebug-physical-locations.
+
+2025-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ PR diagnostics/116792
+ * diagnostics/html-sink.cc
+ (html_builder::make_element_for_diagnostic): Don't add the
+ metadata element if it's empty.
+ (html_builder::make_element_for_metadata): Return null rather than
+ an empty element.
+
+2025-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostics/context.h: Move struct counters to its own header
+ and include it.
+ * diagnostics/counters.h: New file, from the above.
+
+2025-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostics/context.h: Split struct source_printing_options out
+ into "diagnostics/source-printing-options.h" and include it.
+ * diagnostics/source-printing-options.h: New file, from the above.
+
+2025-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostics/context.cc: Update for renaming of option_manager to
+ option_id_manager and of context::m_option_mgr to
+ context::m_option_id_mgr.
+ * diagnostics/context.h: Likewise, moving class declaration to a
+ new diagnostics/option-id-manager.h.
+ * diagnostics/lazy-paths.cc: Likewise.
+ * diagnostics/option-id-manager.h: New file, from material in
+ diagnostics/context.h.
+ * lto-wrapper.cc: Update for renaming of option_manager to
+ option_id_manager.
+ * opts-common.cc: Likewise.
+ * opts-diagnostic.h: Likewise.
+ * opts.cc: Likewise.
+ * toplev.cc: Likewise.
+
+2025-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostics/buffering.h: Update comment to refer to output sinks
+ rather than output formats.
+
+2025-08-04 David Malcolm <dmalcolm@redhat.com>
+
+ * gimple-warn-recursion.cc (pass_warn_recursion::execute): Add
+ missing auto_diagnostic_group.
+
+2025-08-04 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu>
+
+ PR rtl-optimization/121303
+ * avoid-store-forwarding.cc (is_store_forwarding): Add check
+ for `off_val` in `is_store_forwarding`.
+
+2025-08-04 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.cc (vect_analyze_slp): When analyzing a loop
+ and slp instance discovery fails, immediately fail the whole
+ process.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve-builtins.cc
+ (function_expander::expand): Assert that the return value
+ has an appropriate mode.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-protos.h
+ (aarch64_convert_sve_data_to_pred): Remove the mode argument.
+ * config/aarch64/aarch64.cc
+ (aarch64_sve_emit_int_cmp): Allow PRED_MODE to be VNx16BI or
+ the natural predicate mode for the data mode.
+ (aarch64_convert_sve_data_to_pred): Remove the mode argument
+ and instead always create a VNx16BI result.
+ (aarch64_expand_sve_const_pred): Update call accordingly.
+ * config/aarch64/aarch64-sve-builtins-base.cc
+ (svdupq_impl::expand): Likewise, ensuring that the result
+ has mode VNx16BI.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-protos.h
+ (aarch64_emit_sve_pred_vec_duplicate): Declare.
+ * config/aarch64/aarch64.cc
+ (aarch64_emit_sve_pred_vec_duplicate): New function.
+ * config/aarch64/aarch64-sve.md (vec_duplicate<PRED_ALL:mode>): Use it.
+ * config/aarch64/aarch64-sve-builtins-base.cc
+ (svdup_impl::expand): Handle boolean values specially. Check for
+ constants and fall back on aarch64_emit_sve_pred_vec_duplicate
+ for the variable case, ensuring that the result has mode VNx16BI.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/iterators.md (PNEXT_ONLY): New int iterator.
+ * config/aarch64/aarch64-sve.md
+ (@aarch64_sve_<sve_pred_op><mode>): Restrict SVE_PITER pattern
+ to VNx16BI_ONLY.
+ (@aarch64_sve_<sve_pred_op><mode>): New PNEXT_ONLY pattern for
+ PRED_HSD.
+ (*aarch64_sve_<sve_pred_op><mode>): Likewise.
+ (*aarch64_sve_<sve_pred_op><mode>_cc): Likewise.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve2.md (@aarch64_pred_<sve_int_op><mode>):
+ Split SVE2_MATCH pattern into a VNx16QI_ONLY define_ins and a
+ VNx8HI_ONLY define_expand. Use a VNx16BI destination for the latter.
+ (*aarch64_pred_<sve_int_op><mode>): New SVE2_MATCH pattern for
+ VNx8HI_ONLY.
+ (*aarch64_pred_<sve_int_op><mode>_cc): Likewise.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@aarch64_pred_fac<cmp_op><mode>):
+ Replace with...
+ (@aarch64_pred_fac<cmp_op><mode>_acle): ...this new expander.
+ (*aarch64_pred_fac<cmp_op><mode>_strict_acle): New pattern.
+ * config/aarch64/aarch64-sve-builtins-base.cc
+ (svac_impl::expand): Update accordingly.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@aarch64_pred_fcm<cmp_op><mode>_acle)
+ (*aarch64_pred_fcm<cmp_op><mode>_acle, @aarch64_pred_fcmuo<mode>_acle)
+ (*aarch64_pred_fcmuo<mode>_acle): New patterns.
+ * config/aarch64/aarch64-sve-builtins-base.cc
+ (svcmp_impl::expand, svcmpuo_impl::expand): Use them.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@aarch64_pred_cmp<cmp_op><mode>_wide):
+ Split into VNx16QI_ONLY and SVE_FULL_HSI patterns. Use VNx16BI
+ results for both.
+ (*aarch64_pred_cmp<cmp_op><mode>_wide): New pattern.
+ (*aarch64_pred_cmp<cmp_op><mode>_wide_cc): Likewise.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md
+ (*aarch64_pred_cmp<cmp_op><mode>_wide_cc): Turn into a
+ define_insn_and_rewrite and rewrite the governing predicate
+ of the comparison so that it is identical to the PTEST's.
+ (*aarch64_pred_cmp<cmp_op><mode>_wide_ptest): Likewise.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@aarch64_pred_cmp<cmp_op><mode>_wide)
+ (*aarch64_pred_cmp<cmp_op><mode>_wide_cc): Use <VPRED> instead of
+ VNx16BI for the governing predicate.
+ (*aarch64_pred_cmp<cmp_op><mode>_wide_ptest): Likewise.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@aarch64_pred_cmp<cmp_op><mode>_acle)
+ (*aarch64_pred_cmp<cmp_op><mode>_acle, *cmp<cmp_op><mode>_acle_cc)
+ (*cmp<cmp_op><mode>_acle_and): New patterns that yield VNx16BI
+ results for all element types.
+ * config/aarch64/aarch64-sve-builtins-base.cc
+ (svcmp_impl::expand): Use them.
+ (svcmp_wide_impl::expand): Likewise when implementing an svcmp_wide
+ against an in-range constant.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@aarch64_sve_punpk<perm_hilo>_acle)
+ (*aarch64_sve_punpk<perm_hilo>_acle): New patterns.
+ * config/aarch64/aarch64-sve-builtins-base.cc
+ (svunpk_impl::expand): Use them for boolean svunpk*.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/121294
+ * config/aarch64/aarch64.md (UNSPEC_REV_PRED): New unspec.
+ * config/aarch64/aarch64-sve.md (@aarch64_sve_rev<mode>_acle)
+ (*aarch64_sve_rev<mode>_acle): New patterns.
+ * config/aarch64/aarch64-sve-builtins-base.cc
+ (svrev_impl::expand): Use the new patterns for boolean svrev.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/121294
+ * config/aarch64/iterators.md (UNSPEC_TRN1_CONV): Delete.
+ (UNSPEC_PERMUTE_PRED): New unspec.
+ * config/aarch64/aarch64-sve.md (@aarch64_sve_trn1_conv<mode>):
+ Replace with...
+ (@aarch64_sve_<perm_insn><mode>_acle)
+ (*aarch64_sve_<perm_insn><mode>_acle): ...these new patterns.
+ * config/aarch64/aarch64.cc (aarch64_expand_sve_const_pred_trn):
+ Update accordingly.
+ * config/aarch64/aarch64-sve-builtins-functions.h
+ (binary_permute::expand): Use the new _acle patterns for
+ predicate operations.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR testsuite/121118
+ * config/aarch64/iterators.md (VNx16BI_ONLY): New mode iterator.
+ * config/aarch64/predicates.md (aarch64_ptrue_all_operand): New
+ predicate.
+ * config/aarch64/aarch64-sve.md
+ (@aarch64_sve_while_<while_optab_cmp><GPI:mode><VNx16BI_ONLY:mode>_acle)
+ (@aarch64_sve_while_<while_optab_cmp><GPI:mode><PRED_HSD:mode>_acle)
+ (*aarch64_sve_while_<while_optab_cmp><GPI:mode><PRED_HSD:mode>_acle)
+ (*while_<while_optab_cmp><GPI:mode><PRED_HSD:mode>_acle_cc): New
+ patterns.
+ * config/aarch64/aarch64-sve-builtins-functions.h
+ (while_comparison::expand): Use the new _acle patterns that
+ always return a VNx16BI.
+ * config/aarch64/aarch64-sve-builtins-sve2.cc
+ (svwhilerw_svwhilewr_impl::expand): Likewise.
+ * config/aarch64/aarch64.cc
+ (aarch64_sve_move_pred_via_while): Likewise.
+
+2025-08-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/121293
+ * config/aarch64/aarch64-sve-builtins-base.cc (svdupq_lane::expand):
+ Use aarch64_sve_reinterpret instead of subregs. Explicitly
+ reinterpret the result back to the required mode, rather than
+ leaving the caller to take a subreg.
+
+2025-08-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121362
+ * tree-ssa-sccvn.cc (vn_reference_lookup_3): Generalize
+ aggregate copy handling.
+
+2025-08-04 Filip Kastl <fkastl@suse.cz>
+
+ * doc/invoke.texi: Add remark about -options being documented
+ under -fdump-tree. Remove remark about -graph working only for
+ RTL.
+
+2025-08-04 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/120941
+ * config/i386/i386-features.cc (x86_cse_kind): Moved before
+ ix86_place_single_vector_set.
+ (redundant_load): Likewise.
+ (ix86_place_single_vector_set): Replace the last argument to the
+ pointer to redundant_load. For X86_CSE_VEC_DUP, don't place the
+ vector set outside of the loop to avoid extra spills.
+ (remove_redundant_vector_load): Pass load to
+ ix86_place_single_vector_set.
+
+2025-08-03 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (define_insn_and_split) [reload_completed]:
+ For splits that just append a (clobber (reg:CC REG_CC)) to
+ the pattern, use avr_add_ccclobber (curr_insn) instead of
+ repeating the original pattern.
+ * config/avr/avr-dimode.md: Same.
+ * config/avr/avr-fixed.md: Same.
+
+2025-08-03 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_add_ccclobber): New function.
+ * config/avr/avr-protos.h (avr_add_ccclobber): New proto.
+ (DONE_ADD_CCC): New define.
+
+2025-08-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/90242
+ * tree-ssa-sccvn.cc (vn_reference_compute_hash): Use
+ poly_offset_int for offset accumulation. For hashing
+ truncate to 64 bits and also hash 64 bits.
+ (vn_reference_eq): Likewise.
+
+2025-08-02 Gerald Pfeifer <gerald@pfeifer.com>
+
+ PR target/69374
+ * doc/install.texi (Specific) <windows>: Drop note on 16-bit
+ Windows support. Streamline note on 32-bit support.
+
+2025-08-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121350
+ * tree-vect-stmts.cc (vectorizable_store): Pass down SLP
+ node when costing scalar stores in vect_body.
+
+2025-08-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121349
+ * tree-vect-stmts.cc (check_load_store_for_partial_vectors):
+ Get full SLP mask, reduce to uniform scalar_mask for further
+ processing if possible.
+ (vect_check_scalar_mask): Remove scalar mask output, remove
+ code conditional on slp_mask.
+ (vectorizable_call): Adjust.
+ (check_scan_store): Get and check SLP mask.
+ (vectorizable_store): Eliminate scalar mask variable.
+ (vectorizable_load): Likewise.
+
+2025-08-01 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Prerequisites): mdocml.bsd.lv is now
+ mandoc.bsd.lv.
+
+2025-08-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (get_group_load_store_type): Remove,
+ inline into ...
+ (get_load_store_type): ... this. Remove ncopies parameter.
+ (vectorizable_load): Adjust.
+ (vectorizable_store): Likewise.
+
+2025-08-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (get_group_load_store_type): Remove
+ checks performed at SLP build time.
+ (vect_check_store_rhs): Remove scalar RHS output.
+ (vectorizable_store): Remove uses of scalar RHS.
+
+2025-08-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (VMAT_UNINITIALIZED): New
+ vect_memory_access_type.
+ * tree-vect-slp.cc (_slp_tree::_slp_tree): Use it.
+
+2025-08-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121338
+ * tree-ssa-loop-ivopts.cc (avg_loop_niter): Return an
+ unsigned.
+ (adjust_setup_cost): When niters is so large the division
+ result is one or zero avoid it.
+ (create_new_ivs): Adjust.
+
+2025-08-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_simd_clone_data): New.
+ (_slp_tree::simd_clone_info): Remove.
+ (SLP_TREE_SIMD_CLONE_INFO): Likewise.
+ * tree-vect-slp.cc (_slp_tree::_slp_tree): Adjust.
+ (_slp_tree::~_slp_tree): Likewise.
+ * tree-vect-stmts.cc (vectorizable_simd_clone_call): Use
+ tyupe specific data to store SLP_TREE_SIMD_CLONE_INFO.
+
+2025-08-01 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.cc (_slp_tree::_slp_tree): Adjust.
+ (_slp_tree::~_slp_tree): Likewise.
+ * tree-vectorizer.h (vect_data): New base class.
+ (_slp_tree::u): Remove.
+ (_slp_tree::data): Add pointer to vect_data.
+ (_slp_tree::get_data): New helper template.
+
+2025-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/121322
+ * gimple-ssa-store-merging.cc (find_bswap_or_nop): Return NULL if
+ count is 0.
+
+2025-07-31 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.opt.urls (-mfuse-move2): Add url.
+
+2025-07-31 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_output_addr_vec) <labl>: Asm out its .type.
+
+2025-07-31 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/121340
+ * config/avr/avr.opt (-mfuse-move2): New option.
+ * config/avr/avr-passes.def (avr_pass_2moves): Insert after combine.
+ * config/avr/avr-passes.cc (make_avr_pass_2moves): New function.
+ (pass_data avr_pass_data_2moves): New static variable.
+ (avr_pass_2moves): New rtl_opt_pass.
+ * config/avr/avr-protos.h (make_avr_pass_2moves): New proto.
+ * common/config/avr/avr-common.cc
+ (default_options avr_option_optimization_table) <-mfuse-move2>:
+ Set for -O1 and higher.
+ * doc/invoke.texi (AVR Options) <-mfuse-move2>: Document.
+
+2025-07-31 Tamar Christina <tamar.christina@arm.com>
+
+ PR tree-optimization/120805
+ * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Skip setting
+ bounds on epilogues.
+
+2025-07-31 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ * common/config/aarch64/cpuinfo.h: Remove unused features, add FEAT_CSSC
+ and FEAT_MOPS.
+ * config/aarch64/aarch64-option-extensions.def: Remove FMV support
+ for RPRES, use PULL rather than AES, add FMV support for CSSC and MOPS.
+
+2025-07-31 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ * config/aarch64/tuning_models/generic_armv9_a.h
+ (generic_armv9_a_addrcost_table): Use zero cost for himode.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (get_group_load_store_type): Properly
+ compare the scalar type of the gather/scatter offset to
+ the offset vector component type.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.h (fold_stmt_inplace): Add valueization hook
+ argument, defaulted to no_follow_ssa_edges.
+ * gimple-fold.cc (fold_stmt_inplace): Adjust.
+
+2025-07-31 Artemiy Granat <a.granat@ispras.ru>
+
+ * config/i386/i386-options.cc (ix86_handle_cconv_attribute):
+ Fix typo.
+
+2025-07-31 Artemiy Granat <a.granat@ispras.ru>
+
+ * config/i386/i386-options.cc (ix86_handle_cconv_attribute):
+ Handle simultaneous use of regparm and thiscall attributes in
+ case when regparm is set before thiscall.
+
+2025-07-31 Artemiy Granat <a.granat@ispras.ru>
+
+ * config/i386/i386-options.cc (ix86_handle_cconv_attribute):
+ Fix comments which state that combination of stdcall and fastcall
+ attributes is valid but redundant.
+
+2025-07-31 Artemiy Granat <a.granat@ispras.ru>
+
+ * config/i386/i386-options.cc (ix86_handle_cconv_attribute):
+ Move 64-bit mode check before regparm handling.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121320
+ * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Convert
+ op->off to poly_offset_int before multiplying by
+ BITS_PER_UNIT.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121323
+ * tree-ssa-alias.cc (ao_ref_init_from_ptr_and_range): Check
+ the pointer offset fits in a HWI when represented in bits.
+
+2025-07-31 Yury Khrustalev <yury.khrustalev@arm.com>
+
+ * config/aarch64/aarch64.cc (build_ifunc_arg_type):
+ Add new fields _hwcap3 and _hwcap4.
+
+2025-07-31 Kishan Parmar <kishan@linux.ibm.com>
+
+ PR target/118890
+ * config/rs6000/rs6000.cc (can_be_rotated_to_negative_lis): Avoid left
+ shift of negative value and guard shift count.
+ (can_be_built_by_li_and_rldic): Likewise.
+ (rs6000_emit_set_long_const): Likewise.
+ * config/rs6000/rs6000.md (splitter for plus into two 16-bit parts): Fix
+ UB from overflow in addition.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ * config/aarch64/aarch64.cc (aarch64_detect_vector_stmt_subtype):
+ Check for node before dereferencing.
+ (aarch64_vector_costs::add_stmt_cost): Likewise.
+
+2025-07-31 Spencer Abson <spencer.abson@arm.com>
+
+ PR target/121028
+ * config/aarch64/aarch64-sme.md (aarch64_smstart_sm): Use the .inst
+ directive if !TARGET_SME.
+ (aarch64_smstop_sm): Likewise.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (_stmt_vec_info::memory_access_type): Remove.
+ (STMT_VINFO_MEMORY_ACCESS_TYPE): Likewise.
+ (vect_mem_access_type): Likewise.
+ * tree-vect-stmts.cc (vectorizable_store): Do not set
+ STMT_VINFO_MEMORY_ACCESS_TYPE. Fix SLP_TREE_MEMORY_ACCESS_TYPE
+ usage.
+ * tree-vect-loop.cc (update_epilogue_loop_vinfo): Remove
+ checking of memory access type.
+ * config/riscv/riscv-vector-costs.cc (costs::compute_local_live_ranges):
+ Use SLP_TREE_MEMORY_ACCESS_TYPE.
+ (costs::need_additional_vector_vars_p): Likewise.
+ (segment_loadstore_group_size): Get SLP node as argument,
+ use SLP_TREE_MEMORY_ACCESS_TYPE.
+ (costs::adjust_stmt_cost): Pass down SLP node.
+ * config/aarch64/aarch64.cc (aarch64_ld234_st234_vectors): Use
+ SLP_TREE_MEMORY_ACCESS_TYPE instead of vect_mem_access_type.
+ (aarch64_detect_vector_stmt_subtype): Likewise.
+ (aarch64_vector_costs::count_ops): Likewise.
+ (aarch64_vector_costs::add_stmt_cost): Likewise.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_transform_loop): Do not verify DRs
+ have not been modified for epilogue loops.
+ (update_epilogue_loop_vinfo): Do not copy modified DRs to
+ the originals.
+
+2025-07-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/121264
+ * machmode.h (get_best_mode): Change type of first 2 arguments
+ from int to HOST_WIDE_INT.
+ * stor-layout.cc (get_best_mode): Likewise.
+
+2025-07-31 Jakub Jelinek <jakub@redhat.com>
+
+ * gimple-ssa-store-merging.cc (find_bswap_or_nop): Fix comment typos,
+ hanlde -> handle.
+ * config/i386/i386.cc (ix86_gimple_fold_builtin, ix86_rtx_costs):
+ Likewise.
+ * config/i386/i386-features.cc (remove_partial_avx_dependency):
+ Likewise.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (check_scan_store): Remove redundant
+ slp_node check. Disallow epilogue vectorization.
+
+2025-07-31 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vector_costs::costing_for_scalar): New
+ accessor.
+ (add_stmt_cost): For scalar costing force vectype to NULL.
+ Verify we do not pass in a SLP node.
+
+2025-07-31 Kito Cheng <kito.cheng@sifive.com>
+
+ PR target/121312
+ * config/riscv/arch-canonicalize: Add H extension to the
+ canonical order.
+
+2025-07-30 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR rtl-optimization/121308
+ * simplify-rtx.cc (simplify_context::simplify_subreg): Handle
+ subreg of `not` with word_mode to make it symmetric with the
+ other bitwise operators.
+
+2025-07-30 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/121236
+ PR tree-optimization/121295
+ * tree-if-conv.cc (factor_out_operators): Change the phi node
+ to the new result and args.
+
+2025-07-30 Andrew Pinski <quic_apinski@quicinc.com>
+
+ Revert:
+ 2025-07-28 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/121236
+ * tree-if-conv.cc (is_cond_scalar_reduction): Instead of phi argument,
+ pass bb and res of the phi.
+ (factor_out_operators): Add iterator for the phi. Remove the phi
+ if this is the first time. Return if we had removed the phi.
+ (predicate_scalar_phi): Add the phi iterator argument.
+ Update call to is_cond_scalar_reduction.
+ Update call to factor_out_operators and set the return value to true
+ when factor_out_operators returns true.
+ (predicate_all_scalar_phis): Don't remove the phi if predicate_scalar_phi
+ already removed it.
+
+2025-07-30 Jan Hubicka <jh@suse.cz>
+
+ * auto-profile.cc (string_table::read): Check gcov_is_error.
+ (read_profile): Likewise.
+ * gcov-io.cc (gcov_is_error): Export for gcc linkage.
+ * gcov-io.h (gcov_is_error): Declare.
+
+2025-07-30 Richard Biener <rguenther@suse.de>
+
+ * config/i386/i386.cc (ix86_default_vector_cost): Split
+ out from ...
+ (ix86_builtin_vectorization_cost): ... this and use
+ mode instead of vectype as argument.
+ (ix86_vector_costs::add_stmt_cost): Call
+ ix86_default_vector_cost instead of ix86_builtin_vectorization_cost.
+
+2025-07-30 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ PR target/117015
+ * config/s390/s390-protos.h (s390_expand_int_spaceship): New
+ function.
+ (s390_expand_fp_spaceship): New function.
+ * config/s390/s390.cc (s390_expand_int_spaceship): New function.
+ (s390_expand_fp_spaceship): New function.
+ * config/s390/s390.md (spaceship<mode>4): New expander.
+
+2025-07-30 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * cprop.cc (bypass_block): Extract single set.
+ (bypass_conditional_jumps): Ditto.
+
+2025-07-30 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/120427
+ * config/i386/i386.md (peephole2): Transform "movq $-1,reg" to
+ "pushq $-1; popq reg" for -Oz if reg is a legacy integer register.
+
+2025-07-30 Jan Hubicka <jh@suse.cz>
+
+ * auto-profile.cc (function_instance::match): Disable warning
+ about bogus locations since dwarf does not represent enough
+ info to output them correctly in all cases.
+ (add_scale): Use nonzero_p instead of orig.force_nonzero () == orig.
+ (afdo_adjust_guessed_profile): Add missing newline in dump
+ file.
+
+2025-07-30 Jan Hubicka <jh@suse.cz>
+
+ * symtab.cc (symbol_table::change_decl_assembler_name): Recompute DECL_RTL
+ in case it is already computed.
+
+2025-07-30 Jan Hubicka <jh@suse.cz>
+
+ * predict.cc (unlikely_executed_edge_p): Ignore EDGE_EH if profile
+ is reliable.
+ (unlikely_executed_stmt_p): special case builtin_trap/unreachable and
+ ignore other heuristics for reliable profiles.
+ (tree_estimate_probability): Disable unlikely bb detection when
+ doing dry run
+
+2025-07-30 Andrew Stubbs <ams@baylibre.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * doc/tm.texi.in (TARGET_VECTORIZE_PREFER_GATHER_SCATTER): Add
+ documentation hook.
+ * doc/tm.texi: Regenerate.
+ * target.def (prefer_gather_scatter): Add target hook under vectorizer.
+ * hooks.cc (hook_bool_mode_int_unsigned_false): New function.
+ * hooks.h (hook_bool_mode_int_unsigned_false): New prototype.
+ * tree-vect-stmts.cc (vect_use_strided_gather_scatters_p): Add
+ parameters group_size and single_element_p, and rework to use
+ targetm.vectorize.prefer_gather_scatter.
+ (get_group_load_store_type): Move some of the condition into
+ vect_use_strided_gather_scatters_p.
+ * config/gcn/gcn.cc (gcn_prefer_gather_scatter): New function.
+ (TARGET_VECTORIZE_PREFER_GATHER_SCATTER): Define hook.
+
+2025-07-30 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn.cc (gcn_option_override): Add note to set default for
+ param_vect_partial_vector_usage to "1".
+ * optc-save-gen.awk: Don't pass through options marked "NoOffload".
+ * params.opt (-param=vect-epilogues-nomask): Add NoOffload.
+ (-param=vect-partial-vector-usage): Likewise.
+ (-param=vect-inner-loop-cost-factor): Likewise.
+
+2025-07-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121130
+ * tree-vect-stmts.cc (vectorizable_call): Bail out for
+ .MASK_CALL.
+
+2025-07-30 Pengfei Li <Pengfei.Li2@arm.com>
+
+ PR tree-optimization/121020
+ * tree-vect-loop-manip.cc (vect_do_peeling): Update the
+ condition of omitting the skip-vector check.
+ * tree-vectorizer.h (LOOP_VINFO_USE_VERSIONING_WITHOUT_PEELING):
+ Add a helper macro.
+
+2025-07-30 Pengfei Li <Pengfei.Li2@arm.com>
+
+ PR tree-optimization/121190
+ * tree-vect-data-refs.cc (vect_enhance_data_refs_alignment):
+ Increase alignment requirement for speculative loads.
+
+2025-07-30 Alfie Richards <alfie.richards@arm.com>
+
+ PR target/121300
+ * config/aarch64/aarch64-sve-builtins-sme.def (svamin/svamax): Fix
+ arch gating.
+
+2025-07-30 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (get_group_load_store_type):
+ Process STMT_VINFO_GATHER_SCATTER before reading
+ memory_access_type.
+
+2025-07-30 Spencer Abson <spencer.abson@arm.com>
+
+ * config/aarch64/aarch64-sve.md (@cond_<optab><mode>): Extend
+ to support partial FP modes.
+ (*cond_<optab><mode>_2_strict): Extend from SVE_FULL_F to SVE_F,
+ use aarch64_predicate_operand.
+ (*cond_<optab><mode>_4_strict): Extend from SVE_FULL_F_B16B16 to
+ SVE_F_B16B16, use aarch64_predicate_operand.
+ (*cond_<optab><mode>_any_strict): Likewise.
+
+2025-07-30 Spencer Abson <spencer.abson@arm.com>
+
+ * config/aarch64/aarch64-sve.md (*cond_<optab><mode>_2_relaxed):
+ Extend from SVE_FULL_F to SVE_F.
+ (*cond_<optab><mode>_4_relaxed): Extend from SVE_FULL_F_B16B16
+ to SVE_F_B16B16.
+ (*cond_<optab><mode>_any_relaxed): Likewise.
+
+2025-07-30 Spencer Abson <spencer.abson@arm.com>
+
+ * config/aarch64/aarch64-sve.md (<optab><mode>4): Extend from
+ SVE_FULL_F_B16B16 to SVE_F_B16B16. Use aarch64_sve_fp_pred instead
+ of aarch64_ptrue_reg.
+ (@aarch64_pred_<optab><mode>): Extend from SVE_FULL_F_B16B16 to
+ SVE_F_B16B16. Use aarch64_predicate_operand.
+
+2025-07-30 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/i386-modes.def: Remove VECTOR_MODES(FLOAT, 256)
+ and VECTOR_MODE (INT, SI, 64).
+ * config/i386/i386.cc (ix86_hard_regno_nregs): Remove related
+ code for V64SF/V64SImode.
+
+2025-07-30 liuhongt <hongtao.liu@intel.com>
+
+ PR target/121274
+ * config/i386/sse.md (*vec_concatv2di_0): Add a splitter
+ before it.
+
+2025-07-30 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR rtl-optimization/121302
+ * simplify-rtx.cc (simplify_context::simplify_subreg): Use
+ byte instead of 0 when calling simplify_subreg.
+
+2025-07-29 Spencer Abson <spencer.abson@arm.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_sve_emit_masked_fp_pred):
+ Declare.
+ * config/aarch64/aarch64-sve.md (and<mode>3): Change this to...
+ (@and<mode>3): ...this, so that we can use gen_and3.
+ (@cond_<optab><mode>): Extend from SVE_FULL_F_B16B16 to SVE_F_B16B16,
+ use aarch64_predicate_operand.
+ (*cond_<optab><mode>_2_strict): Likewise.
+ (*cond_<optab><mode>_3_strict): Likewise.
+ (*cond_<optab><mode>_any_strict): Likwise.
+ (*cond_<optab><mode>_2_const_strict): Extend from SVE_FULL_F to SVE_F,
+ use aarch64_predicate_operand.
+ (*cond_<optab><mode>_any_const_strict): Likewise.
+ (*cond_sub<mode>_3_const_strict): Likwise.
+ (*cond_sub<mode>_const_strict): Likewise.
+ (*vcond_mask_<mode><vpred>): Use aarch64_predicate_operand, and update
+ the comment here.
+ * config/aarch64/aarch64.cc (aarch64_sve_emit_masked_fp_pred): New
+ function. Helper to mask the predicate in conditional expanders.
+
+2025-07-29 Dongyan Chen <chendongyan@isrc.iscas.ac.cn>
+
+ * Makefile.in: Add riscv-mcpu.texi and riscv-mtune.texi to the list
+ of files to be processed by the Texinfo generator.
+ * config/riscv/t-riscv: Add rule for generating riscv-mcpu.texi
+ and riscv-mtune.texi.
+ * doc/invoke.texi: Replace hand‑written extension table with
+ `@include riscv-mcpu.texi` and `@include riscv-mtune.texi` to
+ pull in auto‑generated entries.
+ * config/riscv/gen-riscv-mcpu-texi.cc: New file.
+ * config/riscv/gen-riscv-mtune-texi.cc: New file.
+ * doc/riscv-mcpu.texi: New file.
+ * doc/riscv-mtune.texi: New file.
+
+2025-07-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * simplify-rtx.cc (simplify_context::simplify_subreg): Distribute
+ lowpart subregs through AND/IOR/XOR, if doing so eliminates one
+ of the terms.
+ (test_scalar_int_ext_ops): Add some tests of the above for integers.
+ * config/aarch64/aarch64.cc (aarch64_test_sve_folding): Likewise
+ add tests for predicate modes.
+
+2025-07-29 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve-builtins.cc
+ (function_expander::get_reg_target): Check whether the target
+ is a valid register_operand.
+
+2025-07-29 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu>
+
+ PR rtl-optimization/120660
+ * avoid-store-forwarding.cc (process_store_forwarding):
+ Fix instruction generation when haveing multiple stores with
+ base offset.
+
+2025-07-29 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ * common/config/riscv/riscv-common.cc (riscv_ext_is_subset):
+ Remove use of structured binding to fix compiler warning.
+
+2025-07-29 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu>
+
+ PR rtl-optimization/119795
+ * avoid-store-forwarding.cc
+ (store_forwarding_analyzer::avoid_store_forwarding): Skip
+ transformations for stores that operate on the same address
+ range as deleted ones.
+
+2025-07-29 Pan Li <pan2.li@intel.com>
+
+ * match.pd: Add mul based unsigned SAT_MUL.
+
+2025-07-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/120687
+ * tree-ssa-reassoc.cc (reassociate_bb): Do not disturb
+ the sorted operand order in the early pass.
+ * tree-vect-slp.cc (vect_analyze_slp): Dump when a detected
+ reduction chain fails SLP discovery.
+
+2025-07-29 Alfie Richards <alfie.richards@arm.com>
+
+ PR middle-end/121261
+ * vec.h: Add null ptr check.
+
+2025-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/121159
+ * calls.cc (can_implement_as_sibling_call_p): Don't reject declared
+ noreturn functions in musttail calls.
+
+2025-07-29 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * output.h (MAX_ALIGN_MERGABLE): New define.
+ * tree-switch-conversion.cc (switch_conversion::build_one_array):
+ Use MAX_ALIGN_MERGABLE instead of 256.
+ * varasm.cc (mergeable_string_section): Likewise
+ (mergeable_constant_section): Likewise
+
+2025-07-29 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR middle-end/120523
+ * output.h (mergeable_constant_section): New declaration taking
+ unsigned HOST_WIDE_INT for the size.
+ * tree-switch-conversion.cc (switch_conversion::build_one_array):
+ Increase the alignment of CSWTCH for sizes less than 32bytes.
+ * varasm.cc (mergeable_constant_section): Split out twice.
+ One that takes the size in unsigned HOST_WIDE_INT and the
+ other size in a tree.
+ (default_elf_select_section): Pass DECL_SIZE instead of
+ DECL_MODE to mergeable_constant_section.
+
+2025-07-29 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (vectorizable_load): Un-factor VMAT
+ specific code to their handling blocks.
+
+2025-07-29 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (gather_scatter_info::offset_dt): Remove.
+ * tree-vect-data-refs.cc (vect_describe_gather_scatter_call):
+ Do not set it.
+ (vect_check_gather_scatter): Likewise.
+ * tree-vect-stmts.cc (vect_truncate_gather_scatter_offset):
+ Likewise.
+ (get_group_load_store_type): Use the vector type of the offset
+ SLP child. Do not re-check vect_is_simple_use validated by
+ SLP build.
+
+2025-07-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/121277
+ * config/avr/avr.cc (avr_addr_space_convert): When converting
+ from generic AS to __flashx, don't set bit 23.
+ (avr_convert_to_type): Don't -Waddr-space-convert when NULL
+ is converted to __flashx or to __flash.
+
+2025-07-28 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR tree-optimization/121236
+ * tree-if-conv.cc (is_cond_scalar_reduction): Instead of phi argument,
+ pass bb and res of the phi.
+ (factor_out_operators): Add iterator for the phi. Remove the phi
+ if this is the first time. Return if we had removed the phi.
+ (predicate_scalar_phi): Add the phi iterator argument.
+ Update call to is_cond_scalar_reduction.
+ Update call to factor_out_operators and set the return value to true
+ when factor_out_operators returns true.
+ (predicate_all_scalar_phis): Don't remove the phi if predicate_scalar_phi
+ already removed it.
+
+2025-07-28 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/121208
+ * config/i386/i386.cc (ix86_tls_get_addr): Issue an error for
+ -mtls-dialect=gnu with no_caller_saved_registers attribute and
+ suggest -mtls-dialect=gnu2.
+
+2025-07-28 Mikael Pettersson <mikpelinux@gmail.com>
+
+ PR other/121260
+ * diagnostics/changes.cc: Correct nesting of namespaces
+ and #if CHECKING_P blocks.
+ * diagnostics/context.cc: Likewise.
+ * diagnostics/html-sink.cc: Likewise.
+ * diagnostics/output-spec.cc: Likewise.
+ * diagnostics/sarif-sink.cc: Likewise.
+
+2025-07-28 Tobias Burnus <tburnus@baylibre.com>
+
+ * config/nvptx/nvptx.opt (march-map=): Add sm_100{,f,a},
+ sm_101{,f,a}, sm_103{,a,f}, sm_120{,a,f} and sm_121{,f,a}.
+
+2025-07-28 Tobias Burnus <tburnus@baylibre.com>
+
+ * config/gcn/gcn.md (atomic_load, atomic_store, atomic_exchange):
+ Fix CDNA3 L2 cache write-back before atomic instructions.
+
+2025-07-28 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.cc (check_load_store_for_partial_vectors):
+ Make *gs_info const.
+ (vect_build_one_gather_load_call): Likewise.
+ (vect_build_one_scatter_store_call): Likewise.
+ (vect_get_gather_scatter_ops): Likewise.
+ (vect_get_strided_load_store_ops): Likewise.
+
+2025-07-28 Tobias Burnus <tburnus@baylibre.com>
+
+ * config/gcn/gcn.md (define_attr "vcmp"): Add with values
+ vcmp/vcmpx/no.
+ (*movbi, cstoredi4.., cstore<mode>4): Set it.
+ * config/gcn/gcn-valu.md (vec_cmp<mode>...): Likewise.
+ * config/gcn/gcn.cc (gcn_cmpx_insn_p): Remove.
+ (gcn_md_reorg): Add two new conditions for MI300.
+
+2025-07-28 Tobias Burnus <tburnus@baylibre.com>
+
+ * config/gcn/gcn-opts.h (enum hsaco_attr_type): Add comment
+ about 'sc0'.
+ * config/gcn/gcn.cc (gcn_md_reorg): Use gen_nops instead of gen_nop.
+ (print_operand_address): Document 'R' and 'V' in the
+ pre-function comment as well.
+ * config/gcn/gcn.md (nops): Add.
+
+2025-07-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/121256
+ * tree-vect-loop.cc (vectorizable_recurr): Build a correct
+ initialization vector for SLP_TREE_LANES > 1.
+
+2025-07-28 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (_slp_tree::type): Add.
+ (_slp_tree::u): Likewise.
+ (_stmt_vec_info::type): Remove.
+ (STMT_VINFO_TYPE): Likewise.
+ (SLP_TREE_TYPE): New.
+ * tree-vectorizer.cc (vec_info::new_stmt_vec_info): Do not
+ initialize type.
+ * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize type.
+ (vect_slp_analyze_node_operations): Adjust.
+ (vect_schedule_slp_node): Likewise.
+ * tree-vect-patterns.cc (vect_init_pattern_stmt): Do not
+ copy STMT_VINFO_TYPE.
+ * tree-vect-loop.cc: Set SLP_TREE_TYPE instead of
+ STMT_VINFO_TYPE everywhere.
+ (vect_create_loop_vinfo): Do not set STMT_VINFO_TYPE on
+ loop conditions.
+ * tree-vect-stmts.cc: Set SLP_TREE_TYPE instead of
+ STMT_VINFO_TYPE everywhere.
+ (vect_analyze_stmt): Adjust.
+ (vect_transform_stmt): Likewise.
+ * config/aarch64/aarch64.cc (aarch64_vector_costs::count_ops):
+ Access SLP_TREE_TYPE instead of STMT_VINFO_TYPE.
+ * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
+ Remove non-SLP element-wise load/store matching.
+ * config/rs6000/rs6000.cc
+ (rs6000_cost_data::update_target_cost_per_stmt): Pass in
+ the SLP node. Use that to get at the memory access
+ kind and type.
+ (rs6000_cost_data::add_stmt_cost): Pass down SLP node.
+ * config/riscv/riscv-vector-costs.cc (variable_vectorized_p):
+ Use SLP_TREE_TYPE.
+ (costs::need_additional_vector_vars_p): Likewise.
+ (costs::update_local_live_ranges): Likewise.
+
+2025-07-28 Jennifer Schmitz <jschmitz@nvidia.com>
+ Dhruv Chawla <dhruvc@nvidia.com>
+
+ * config/aarch64/aarch64-cores.def (olympus): Use olympus tuning
+ model.
+ * config/aarch64/aarch64.cc: Include olympus.h.
+ * config/aarch64/tuning_models/olympus.h: New file.
+
+2025-07-28 Lulu Cheng <chenglulu@loongson.cn>
+
+ * config/loongarch/loongarch.h
+ (CASE_VECTOR_SHORTEN_MODE): Delete.
+
+2025-07-28 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
+ Re-rewrite to more accurately capture insns that could be L32R machine
+ instructions wherever possible, and add comments that help understand
+ the intent of the process.
+
+2025-07-27 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv-v.cc (expand_vx_binary_vxrm_vec_vec_dup):
+ Add new case UNSPEC_VAADD.
+ (expand_vx_binary_vxrm_vec_dup_vec): Ditto.
+ * config/riscv/riscv.cc (riscv_rtx_costs): Ditto.
+ * config/riscv/vector-iterators.md: Add new case UNSPEC_VAADD to
+ iterator.
+
2025-07-27 Nathaniel Shead <nathanieloshead@gmail.com>
PR middle-end/120855