2026-06-12  Release Manager

	* GCC 15.3.0 released.

2026-06-05  Tamar Christina  <tamar.christina@arm.com>

	Backported from master:
	2026-04-17  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/124900
	* gimple-crc-optimization.cc (crc_optimization::optimize_crc_loop): Do
	not expand to table when compiling for size.
	(class crc_optimization): Update prototype of optimize_crc_loop to
	include loop.
	(crc_optimization::execute): Pass loop to optimize_crc_loop.

2026-06-05  Tamar Christina  <tamar.christina@arm.com>

	Backported from master:
	2026-06-03  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/125431
	* tree-vect-slp-patterns.cc (complex_mul_pattern::matches,
	complex_fms_pattern::matches): Gate on FP contraction.

2026-06-03  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-05-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/125250
	* tree-ssa-loop-im.cc (execute_sm): For modes that cannot
	transfer bits, _Bool and bitfield accesses force the
	multi-threaded model.

2026-06-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Backported from master:
	2026-02-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/124086
	* tree-complex.cc (extract_component): Extend the check
	for ssa names for VCE to include invariants.

2026-06-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Backported from master:
	2026-02-04  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/121661
	* tree-complex.cc (extract_component): Create gimple
	assign statements directly rather than call force_gimple_operand_gsi.

2026-06-03  Andrew MacLeod  <amacleod@redhat.com>

	Backported from master:
	2025-10-01  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/120560
	* vr-values.cc (range_from_loop_direction): Use wi::ge_p rather
	than wi::gt_p.

2026-06-03  Jan Hubicka  <hubicka@ucw.cz>

	Backported from master:
	2026-04-17  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/120098
	* ipa-polymorphic-call.cc (polymorphic_ctor_dtor_p): Remove
	check for pure/const flags

2026-06-03  Jan Hubicka  <hubicka@ucw.cz>

	Backported from master:
	2026-04-17  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/120098
	* ipa-devirt.cc (odr_type_p): Add no_derived_construction_vtables
	(odr_types_ptr): Move ahead in file.
	(odr_types): Move ahead in file.
	(anonymous_construction_vtable_p): New function.
	(mark_derived_construction_vtables): New function.
	(construction_vtable_hook): New function.
	(type_possibly_instantiated_p): Watch for construction vtables.

2026-06-03  Kyrylo Tkachov  <ktkachov@nvidia.com>

	Backported from master:
	2026-06-01  Kyrylo Tkachov  <ktkachov@nvidia.com>

	* config/aarch64/tuning_models/olympus.h (olympus_scalar_issue_info,
	olympus_advsimd_issue_info, olympus_sve_issue_info): Set
	loads_stores_per_cycle to 6.

2026-06-03  Kyrylo Tkachov  <ktkachov@nvidia.com>

	Backported from master:
	2026-06-01  Kyrylo Tkachov  <ktkachov@nvidia.com>

	PR target/122827
	* config/aarch64/aarch64.cc (aarch64_hard_regno_call_part_clobbered):
	For SVE modes use BYTES_PER_SVE_VECTOR for the per-register size
	rather than GET_MODE_SIZE.
	* config/aarch64/aarch64-early-ra.cc (early_ra::get_allocno_subgroup):
	Classify any SVE mode as FPR_Z.

2026-06-02  Roger Sayle  <roger@nextmovesoftware.com>

	Backported from master:
	2025-10-15  Roger Sayle  <roger@nextmovesoftware.com>

	PR rtl-optimization/122266
	* combine.cc (struct reg_stat_type): Change types of sign_bit_copies
	and last_set_sign_bit_copies to unsigned short, to avoid overflows
	on TImode (and wider) values.

2026-06-02  Richard Biener  <rguenther@suse.de>

	Revert:
	2025-06-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/120003
	* tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
	Allow block re-use but do not enlarge the path beyond such a
	re-use.

2026-06-02  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-05-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/125146
	* gimple-fold.cc (fold_stmt_1): Discard stmts in seq
	after failed gimple_simplify as well.

2026-06-02  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-04-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/125025
	* tree-ssa-loop-niter.cc (number_of_iterations_ne): Avoid
	negation of most negative signed integer.
	(number_of_iterations_lt): Likewise.

2026-06-02  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-04-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/125019
	* tree-vect-loop.cc (vectorizable_recurr): Properly guard
	against hitting last stmt when searching for the insertion
	place.

2026-06-02  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-04-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/124868
	* gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
	Do not diagnose returns in blocks not dominated by the PHI.
	(find_implicit_erroneous_behavior): Do two sweeps over PHIs,
	first for NULL dereferences and then for local address returns.

2026-06-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-05-20  Jakub Jelinek  <jakub@redhat.com>

	PR target/125373
	* config/i386/i386.md
	(Convert imul by three, five and nine into lea define_peephole2s): Use
	index_reg_operand instead of register_operand.

2026-06-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-05-01  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/125079
	* tree-ssa-strlen.cc (get_string_length): Transform
	__strcat_chk (x, y, z) when we need strlen (x) afterwards into
	l1 = strlen (x); l = __stpcpy_chk (x + l1, y, z - l1) - x;
	where l is the strlen (x), instead of using z as last __stpcpy_chk
	argument.

2026-06-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-04-28  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/125039
	* range-op-float.cc (operator_not_equal::fold_range): Call
	empty_range_varying when not calling frelop_early_resolve.

2026-06-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-04-24  Jakub Jelinek  <jakub@redhat.com>

	PR target/124133
	* config/rs6000/rs6000-c.cc (c_fold_convert): New function.
	(c_fold_build2_loc): Likewise.
	(fully_fold_convert): Use c_fold_convert instead of fold_convert.
	(altivec_build_resolved_builtin): Likewise.  Use c_fold_build2_loc
	instead of fold_build2.
	(resolve_vec_mul, resolve_vec_adde_sube, resolve_vec_addec_subec):
	Use c_fold_build2_loc instead of fold_build2_loc.
	(resolve_vec_splats, resolve_vec_extract): Use c_fold_convert instead
	of fold_convert.
	(resolve_vec_insert): Use c_fold_build2_loc instead of fold_build2.
	(altivec_resolve_overloaded_builtin): Use c_fold_convert instead
	of fold_convert.

2026-06-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-04-16  Jakub Jelinek  <jakub@redhat.com>

	PR target/124892
	* config/i386/i386.md (clz<mode>2_lzcnt_nf,
	<lt_zcnt>_<mode>_nf, popcount<mode>2_nf): Emit explicit
	set of (match_dup 0) to (const_int 0) without flags clobber instead of
	using ix86_expand_clear.

2026-06-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-04-16  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/124891
	* tree-ssa-propagate.cc
	(substitute_and_fold_dom_walker::before_dom_children): Call update_stmt
	in the did_replace case before calling fold_stmt.

2026-06-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-04-14  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/124826
	* gimple-lower-bitint.cc (bitint_large_huge::handle_load): Look through
	BIT_FIELD_REF with zero bit offset.

2026-06-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-04-03  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/124754
	* tree-ssa-strlen.cc (strlen_pass::handle_builtin_strcpy): Make
	sure both get_stridx calls are done before first get_strinfo call.
	(strlen_pass::handle_builtin_memcpy): Likewise.
	(strlen_pass::handle_builtin_strcat): Likewise.

2026-06-01  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.cc (pa_trampoline_init): Rework to use
	clear_cache pattern.
	* config/pa/pa.md (dcacheflush): Use "<<" condition instead
	of "<<=".
	(icacheflush): Remove.
	(icacheflush1, icacheflush2, icacheflush3): New flush patterns
	for PA 1.x targets, PA 2.0 targets, and PA 1.x no space
	register targets.
	(clear_cache): Rework to flush data and instruction caches.
	Skip flush if the start address is greater than or equal to
	the end address.  Don't align the end address to a cacheline
	boundary.  Handle instruction flushes for PA 1.x targets,
	PA 2.0 targets, and PA 1.x no space register targets.

2026-06-01  Christophe Lyon  <christophe.lyon@arm.com>

	Backported from master:
	2026-05-19  Christophe Lyon  <christophe.lyon@arm.com>

	PR target/124870
	* config/arm/arm-mve-builtins-base.cc (vstrq_scatter_base_impl)
	(vldrq_gather_base_impl): Fix call_properties.

2026-05-27  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2026-05-27  liuhongt  <hongtao.liu@intel.com>

	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
	for m_DIAMONDRAPIDS.
	(X86_TUNE_USE_GATHER_4PARTS): Likewise.

2026-05-25  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2026-05-25  Georg-Johann Lay  <avr@gjlay.de>

	PR target/125409
	* config/avr/avr-fixed.md (FIXED_A, FIXED_B): Add PSI to iterators.

2026-05-20  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2026-05-08  Xi Ruoyao  <xry111@xry111.site>

	PR target/125049
	* config/loongarch/predicates.md (ssp_operand): New
	define_predicate.
	(ssp_normal_operand): New define_predicate.
	* config/loongarch/constraints.md (ZE): New define_constraint.
	(ZF): New define_constraint.
	* config/loongarch/loongarch.md (UNSPEC_SSP): New unspec.
	(cbranch4): Add "@" to create gen_cbranch4(machine_mode, ...).
	(@stack_protect_combined_set_normal_<mode>): New define_insn.
	(@stack_protect_combined_set_extreme_<mode>): New define_insn.
	(@stack_protect_combined_test_internal_<mode>): New define_insn.
	(stack_protect_combined_set): New define_expand.
	(stack_protect_combined_test): New define_expand.
	* config/loongarch/loongarch-protos.h
	(loongarch_output_asm_load_canary): Declare.
	* config/loongarch/loongarch.cc (loongarch_print_operand): Allow
	'v' to print d/w for DImode/SImode.
	(loongarch_output_asm_load_canary): Implement.

2026-05-19  Andi Kleen  <ak@gcc.gnu.org>

	PR target/125351
	* config/i386/i386.md: Use alternative to handle masm ptwrite
	syntax.

2026-05-16  Gopi Kumar Bulusu  <gopi@sankhya.com>

	PR target/103383
	* config/microblaze/microblaze.md: bswaphi2: (set_attr length 8)

2026-05-14  Andi Kleen  <ak@gcc.gnu.org>

	PR target/124316
	* config/i386/i386.md (ptwrite): Add explicit mode to
	instruction.

2026-05-14  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2026-05-14  Georg-Johann Lay  <avr@gjlay.de>

	PR target/125194
	* config/avr/avr.cc (avr_no_call_main_p): Remove variable...
	(avr_file_end): ...and code that uses it.
	(avr_insert_attributes): Same.  Add "used" to main attributes
	when -mno-call-main.
	* config/avr/gen-avr-mmcu-specs.cc (print_mcu): Emit code
	for link_no_call_main specs.
	* config/avr/specs.h (LINK_SPEC): Add %(link_no_call_main).

2026-05-03  Collin Funk  <collin.funk1@gmail.com>

	Backported from master:
	2026-05-03  Collin Funk  <collin.funk1@gmail.com>

	* glimits.h (__STDC_VERSION_LIMITS_H__): Only define the macro
	if it was not already defined.

2026-04-30  Richard Earnshaw  <rearnsha@arm.com>

	Backported from master:
	2026-04-14  Richard Earnshaw  <rearnsha@arm.com>

	PR target/123102
	* config/arm/arm.md (*cmp_ite0): Apply stricter checks on the
	comparison mode.
	(*cmp_ite1, *cmp_and, *cmp_ior): Likewise.

2026-04-29  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2026-04-15  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/122976
	* tree-sra.cc (path_comparable_for_same_access): Return false if the
	base is a MEM_REF with a different underlying type.

2026-04-29  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2026-04-14  Martin Jambor  <mjambor@suse.cz>

	PR ipa/124777
	* ipa-cp.h (ipacp_value_safe_for_type): Declare.
	* ipa-cp.cc (ipacp_value_safe_for_type): Make public.
	* ipa-prop.cc (ipa_set_jf_cst_copy): Fix comment.
	(ipa_convert_prop_cst_jf): New function.
	(update_jump_functions_after_inlining): Handle the constant to
	pass-through case by calling ipa_convert_prop_cst_jf.

2026-04-29  Richard Earnshaw  <rearnsha@arm.com>

	Backported from master:
	2026-04-22  Richard Earnshaw  <rearnsha@arm.com>

	PR target/124933
	* config/arm/constraints.md (Uj): Allow offset addressing for
	all targets, only allow Neon addressing when we have both Neon
	and FP16INST.
	* config/arm/vfp.md (mov<mode>_vfp_<mode>16): Only use vld1/vst1
	when the pattern needs address write-back.

2026-04-27  Surya Kumari Jangala  <jskumari@linux.ibm.com>

	Backported from master:
	2025-12-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>

	PR rtl-optimization/122274
	* regcprop.cc (value_data_entry): New field.
	(kill_value_one_regno): Update field.
	(init_value_data): Initialize field.
	(kill_set_value_data): New field.
	(kill_set_value): Update field.
	(kill_autoinc_value): Likewise.
	(copy_value): New parameter. Update field.
	(incompatible_frame_status): New function.
	(find_oldest_value_reg): New parameter. Compare frame relatedness of
	insn and propagated value.
	(replace_oldest_value_reg): Pass additional parameter to
	find_oldest_value_reg().
	(copyprop_hardreg_forward_1): Pass additional parameter to
	find_oldest_value_reg(). Compare frame relatedness of insn and
	propagated value. Call copy_value() with additional parameter.

2026-04-22  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2025-12-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/123002
	* tree-vectorizer.h (supportable_widening_operation): Remove
	vinfo and stmt_info parameters, add flag to indicate whether
	the context would allow OP_{EVEN,ODD}.
	* tree-vect-patterns.cc (vect_recog_abd_pattern): Adjust
	and pass false.
	(vect_recog_widen_op_pattern): Likewise.
	(vect_recog_widen_abd_pattern): Likewise.
	* tree-vect-stmts.cc (vectorizable_conversion): Move
	even/odd validity check here, from supportable_widening_operation.
	Adjust it to be conservative.
	(supportable_widening_operation): Get flag whether even/odd
	is OK to use and remove then unused parameters and code.

2026-04-19  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2026-04-14  H.J. Lu  <hjl.tools@gmail.com>

	PR target/124876
	* config/i386/i386.cc (ix86_zero_call_used_regs): Zero ZMM16-31
	if needed.

2026-04-14  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-04-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/124802
	* tree-vect-slp-patterns.cc (vect_match_expression_p): Fail
	for SLP_TREE_PERMUTE_P.

2026-04-14  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-03-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/124677
	* tree-vect-loop.cc (vectorizable_recurr): Skip vector
	stmts for the def.

2026-04-14  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-03-27  Richard Biener  <rguenther@suse.de>

	PR debug/124644
	* dwarf2out.cc (dwarf2out_abstract_function): Only
	add DW_AT_artificial if the decl isn't DECL_ARTIFICIAL.

2026-04-14  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-03-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/124555
	* match.pd ((A - B) >=/> 0 ? (A - B) : (B - A) -> abs (A - B)):
	Guard the vector case with target_supports_op_p checks.
	((A - B) <=/< 0 ? (A - B) : (B - A) -> -abs (A - B)): Likewise.
	((type)A >=/> 0 ? A : -A -> abs (A)): Likewise.
	((type)A <=/< 0 ? A : -A -> -abs (A)): Likewise.

2026-04-14  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2026-03-10  Jan Hubicka  <jh@suse.cz>
		    Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/120987
	* ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Mask
	off non const/pure/novops related flags when combining of outer
	functions.

2026-04-13  Vineet Gupta  <vineet.gupta@linux.dev>

	PR target/124670
	* config/bpf/bpf.md (zero_extendsidi2): Use 'W' in asm template.

2026-04-13  Richard Earnshaw  <rearnsha@arm.com>

	Backported from master:
	2026-03-11  Richard Earnshaw  <rearnsha@arm.com>

	PR target/123271
	* config/arm/arm.md (subvsi3_intmin): Renamed to ...
	(sub_cmpVsi3_intmin): ... this.
	(subvsi3): Renamed to ...
	(sub_cmpVsi3): ... this.
	(subvsi3_imm1): Renamed to ...
	(sub_cmpVsi3_imm1): ... this.
	(usubvsi3_borrow): Renamed to ...
	(usub_cmpVsi3_borrow): ... this.
	(usubvsi3_borrow_imm): Renamed to ...
	(usub_cmpVsi3_borrow_imm): ... this.
	(subvsi3_borrow): Renamed to ...
	(sub_cmpVsi3_borrow): ... this.
	(subvsi3_borrow_imm): Renamed to ...
	(sub_cmpVsi3_borrow_imm): ... this.

2026-04-13  Hu, Lin1  <lin1.hu@intel.com>

	PR target/124710
	* config/i386/sse.md (iptrps2qq): New mode attribute for
	ps2qq Intel syntax memory operand size override.
	(avx10_2_vcvttps2<sat_cvt_sign_prefix>qqs<mode><mask_name><round_saeonly_name>):
	Use %<iptrps2qq>1 in Intel syntax to emit qword ptr for V2DI (128-bit)
	memory operands.
	(avx10_2_vcvttsd2<sat_cvt_sign_prefix>sis<mode><round_saeonly_name>):
	Use %q1 in Intel syntax to emit qword ptr for scalar double memory
	operands.
	(avx10_2_vcvttss2<sat_cvt_sign_prefix>sis<mode><round_saeonly_name>):
	Use %k1 in Intel syntax to emit dword ptr for scalar single memory
	operands.

2026-04-09  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2026-04-09  Xi Ruoyao  <xry111@xry111.site>

	PR target/105192
	* ifcvt.cc (find_if_header): Don't attempt to use ctrap expander
	after reload.

2026-04-07  Robin Dapp  <rdapp@oss.qualcomm.com>

	Backported from master:
	2026-04-07  Robin Dapp  <rdapp@oss.qualcomm.com>

	PR target/124613
	* config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
	Add riscv_registering_builtins.
	(rvv_switcher::~rvv_switcher): Set riscv_registering_builtins to
	false.
	* config/riscv/riscv.cc (riscv_vector_mode_supported_p): Use
	riscv_registering_builtins.
	* config/riscv/riscv.h: Declare.

2026-04-01  Wu Haotian  <rigoligo03@gmail.com>

	Backported from master:
	2026-03-31  Wu Haotian  <rigoligo03@gmail.com>

	* config.gcc: removed linux.h and t-linux for loongarch*-*-elf* targets

2026-03-31  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-ssa-dse.cc (compute_trims): Bail out if ref->size is not
	byte aligned either.

2026-03-30  Tamar Christina  <tamar.christina@arm.com>

	PR target/123017
	* config/aarch64/aarch64-protos.h (struct cpu_branch_cost): Add
	br_mispredict_factor.
	* config/aarch64/aarch64.cc (aarch64_max_noce_ifcvt_seq_cost,
	aarch64_noce_conversion_profitable_p,
	TARGET_MAX_NOCE_IFCVT_SEQ_COST,
	TARGET_NOCE_CONVERSION_PROFITABLE_P): New.
	* config/aarch64/tuning_models/generic.h (generic_branch_cost): Add
	br_mispredict_factor.
	* config/aarch64/tuning_models/generic_armv8_a.h: Remove
	generic_armv8_a_branch_cost and use generic_branch_cost.

2026-03-29  Jeff Law  <jeffrey.law@oss.qualcomm.com>

	Backported from master:
	2026-03-29  Jeff Law  <jeffrey.law@oss.qualcomm.com>

	PR target/124674
	* config/riscv/riscv-modes.def: Create OImode.

2026-03-25  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-03-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/124627
	* tree-inline.cc (copy_debug_stmts): Only copy debug
	stmts that are still in the IL.

2026-03-17  Alice Carlotti  <alice.carlotti@arm.com>

	* config/aarch64/aarch64-sve2.md (@aarch64_pred_revd<mode>):
	Remove movprfx alternative.
	(@cond_revd<mode>): Likewise.

2026-03-17  Robin Dapp  <rdapp@oss.qualcomm.com>

	Backported from master:
	2026-03-07  Robin Dapp  <rdapp@oss.qualcomm.com>

	PR rtl-optimization/121649
	* cse.cc (find_sets_in_insn):  Only use non-reg vec_select
	simplifications.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-01-13  Richard Biener  <rguenther@suse.de>

	PR middle-end/123573
	* fold-const.cc (fold_vec_perm): Actually check, not assert,
	that input and output vector element numbers agree.
	* match.pd (vec_perm @0 @1 @2): Make sure element numbers
	are the same when folding to an input vector and wrap that
	inside a VIEW_CONVERT_EXPR.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-01-12  Richard Biener  <rguenther@suse.de>

	PR middle-end/123175
	* match.pd (vec_perm @0 @1 @2): Fixup for inputs having a
	different number of elements than the result.
	* tree-vect-generic.cc (lower_vec_perm): Likewise.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-02-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/124132
	* tree-ssa-loop-split.cc (compute_new_first_bound): Fix
	bound difference computation.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-02-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/124130
	* tree-inline.cc (copy_edges_for_bb): Fixup noreturn calls
	with abnormal edge source.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-01-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/123596
	* tree-eh.cc (sink_clobbers): Create a virtual PHI when
	one is required but not present, queuing arguments
	for renaming.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-01-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/123298
	* tree-ssa-alias.h (get_continuation_for_phi): Take a gphi *,
	add is_backedge hook argument.
	(walk_non_aliased_vuses): Add is_backedge hook argument.
	* tree-ssa-alias.cc (maybe_skip_until): Adjust.
	(get_continuation_for_phi): Use new hook to classify an
	edge into the PHI as backedge.
	(walk_non_aliased_vuses): Adjust.
	* gimple-lower-bitint.cc (bitint_dom_walker::before_dom_children):
	Likewise.
	* ipa-prop.cc (determine_known_aggregate_parts): Likewise.
	* tree-ssa-scopedtables.cc (avail_exprs_stack::lookup_avail_expr):
	Likewise.
	* tree-ssa-pre.cc (translate_vuse_through_block): Likewise.
	* tree-ssa-sccvn.cc (vn_bb_to_rpo): Make BB to RPO order
	mapping accessible from new hook.
	(do_rpo_vn_1): Likewise.
	(vn_is_backedge): New hook to classify edge.
	(vn_reference_lookup_pieces): Adjust.
	(vn_reference_lookup): Likewise.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-01-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/123061
	PR tree-optimization/123636
	* tree-ssa-loop-im.cc (fill_always_executed_in_1): Change
	outer-to-inner to inner-to-outer iteration.  Update inner
	loop state only when always executed in an immediately
	nested loop.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-01-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122537
	* tree-ssa-loop-niter.cc (number_of_iterations_lt_to_ne): Register
	may_be_zero condition when the IV may overflow.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-02-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121726
	* tree-sra.cc (build_ref_for_offset): Add force_ref_all
	parameter and use ptr_type_node as alias pointer type in
	that case.
	(build_ref_for_model): Add force_ref_all parameter and
	pass it through, forcing build_ref_for_offset.
	(generate_subtree_copies): Likewise.
	(sra_modify_call_arg): Force ref-all accesses.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-02-03  Richard Biener  <rguenther@suse.de>

	PR ipa/123416
	* ipa-modref.cc (ipa_merge_modref_summary_after_inlining):
	Fix typo in condtion for load merging when no callee summary.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-01-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/116747
	* tree-ssa-phiopt.cc (cond_if_else_store_replacement): Avoid
	duplicate stmts in the set of store pairs to process.

2026-03-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2026-01-28  Richard Biener  <rguenther@suse.de>

	PR ipa/111036
	* match.pd (__builtin_constant_p ((T)x)): Strip nop-conversions
	from __builtin_constant_p arguments.

2026-03-14  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-13  Jakub Jelinek  <jakub@redhat.com>

	PR target/124461
	* config/i386/i386.md (movrs<mode>): Use <imodesuffix> only for
	-masm=att, not for -masm=intel.

2026-03-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR target/123457
	* config/aarch64/aarch64-sve-builtins.cc (struct registered_function_hasher):
	Change base class to ggc_ptr_hash.
	(initial_indexes): Mark with GTY.
	(function_table): Likewise.
	(handle_arm_sve_h): Allocate function_table from ggc instead of heap.

2026-03-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR target/124126
	* config/aarch64/aarch64-builtins.cc (aarch64_init_ls64_builtins_types): Copy
	the array type before setting the mode.

2026-03-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR target/123285
	* config/aarch64/aarch64-early-ra.cc (early_ra::form_chains): Process clobbers
	and ABI clobbers before starting to form the chain.

2026-03-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Backported from master:
	2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR target/124409
	* doc/install.texi: Increment the required binutils for
	riscv to 2.40.

2026-03-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Backported from master:
	2026-03-04  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/119568
	* tree-ssa-math-opts.cc (convert_plusminus_to_widen): Reject different
	mode classes.

2026-03-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Backported from master:
	2026-02-20  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121103
	* gimple-fold.cc (gimple_fold_call): Don't simplify
	noreturn functions.
	* tree-ssa-dse.cc (dse_optimize_stmt): Don't handle
	calls to noreturn functions.

2026-03-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Backported from master:
	2026-01-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR rtl-optimization/122170
	* ifcvt.cc (noce_can_force_operand): Don't only check if
	there is an optab for the code check the entry for the
	mode is non-null. Handle non integral div by checking
	optab like force_operand does.

2026-03-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Backported from master:
	2026-02-02  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR rtl-optimization/123294
	* ifcvt.cc (noce_emit_store_flag): Reject modes
	greater than MAX_FIXED_MODE_SIZE.

2026-03-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Backported from master:
	2026-01-18  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/123645
	* tree-ssa-phiopt.cc (cond_removal_in_builtin_zero_pattern): Rewrite
	the canonicalization of the args code based on e1/e2 being edges into
	the join block.

2026-03-10  Robin Dapp  <rdapp@oss.qualcomm.com>

	Backported from master:
	2026-02-24  Robin Dapp  <rdapp@oss.qualcomm.com>

	PR target/124147
	* config/riscv/autovec.md: Work around fractional-LMUL modes for
	TARGET_XTHEADVECTOR.
	* config/riscv/riscv-protos.h (get_m1_mode): Export.
	* config/riscv/riscv-v.cc (get_m1_mode): Allow to get a VLS m1
	vector.

2026-03-10  Robin Dapp  <rdapp@oss.qualcomm.com>

	Backported from master:
	2026-02-26  Robin Dapp  <rdapp@oss.qualcomm.com>

	PR target/122448
	* config/riscv/riscv-vsetvl.cc (compute_reaching_defintion):
	Rename...
	(compute_reaching_definition): ...To this.
	(pre_vsetvl::compute_vsetvl_def_data):  Compute reaching
	definitions for vsetvl VL -> vsetvl AVL.
	(pre_vsetvl::compute_transparent): Include VL uses.
	(pre_vsetvl::fuse_local_vsetvl_info): Initialize m_reg_use_loc.
	(pre_vsetvl::earliest_fuse_vsetvl_info): Don't hoist if any
	successor would use VL.

2026-03-09  Kalvis Duckmanton  <kalvisd@gmail.com>

	Backported from master:
	2026-02-14  Kalvis Duckmanton  <kalvisd@gmail.com>

	PR target/112400
	* config/vax/vax.md (casesi1): Wrap naked operand 1 with a USE
	where used with the insn split to.
	(*casesi1): Likewise naked incoming operand 1.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-06  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/124135
	* tree-inline.cc (expand_call_inline): If both gimple_call_lhs (stmt)
	and use_retvar aren't gimple regs but have gimple reg type, use
	separate load of use_retva into SSA_NAME and then store of it
	into gimple_call_lhs (stmt).

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-06  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/124358
	* match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): Simplify
	into (ptr) x p+ (y + z) instead.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-05  Jakub Jelinek  <jakub@redhat.com>

	PR target/124349
	* config/i386/sse.md (iptrssebvec_2): New define_mode_attr.
	(cvthf82ph<mode><mask_name>): Use it for -masm=intel input
	operand.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-05  Jakub Jelinek  <jakub@redhat.com>

	PR target/124367
	* config/i386/sse.md (*andnot<mode>3): Use 0x44 rather than $0x44
	for -masm=intel.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-05  Jakub Jelinek  <jakub@redhat.com>

	PR target/124366
	* config/i386/i386.md (@wrss<mode>, @wruss<mode>): Swap operand
	order for -masm=intel.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/124341
	* config/i386/sse.md (vcvt<convertfp8_pack><mode><mask_name>): Use
	<mask_operand3> rather than <mask_operand2> for -masm=intel.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/124349
	* config/i386/sse.md (avx10_2_comisbf16_v8bf): Use %w1 instead of %1
	for -masm=intel.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-03  Jakub Jelinek  <jakub@redhat.com>

	PR target/124315
	* config/i386/sse.md (avx512f_vmfmadd_<mode>_mask3<round_name>,
	avx512f_vmfmsub_<mode>_mask3<round_name>,
	avx512f_vmfnmadd_<mode>_mask3<round_name>,
	avx512f_vmfnmsub_<mode>_mask3<round_name>): Use %<iptr>1 instead of
	%<iptr>3 in -masm=intel syntax.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-03  Jakub Jelinek  <jakub@redhat.com>

	PR target/124335
	* config/i386/sse.md (*avx512f_load<mode>_mask): Use %{%3%} instead of
	%{3%} for -masm=intel syntax.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-02  Jakub Jelinek  <jakub@redhat.com>

	PR target/124294
	* config/i386/sse.md (avx512fp16_mov<mode>): Fix ordering of operands
	for -masm=intel for the avx10_2 alternative.  Fix up indentation in
	the insn condition.
	(vec_set<mode>_0): Fix comment typo, higer -> higher.

2026-03-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-02-18  Jakub Jelinek  <jakub@redhat.com>

	PR target/124138
	* config/i386/i386.cc (avx_vpermilp_parallel): Verify
	ipar[2] and ipar[3] aren't larger than 3.

