2025-02-04  Lewis Hyatt  <lhyatt@gmail.com>

	PR middle-end/115913
	* optc-save-gen.awk (cl_optimization_compare): Skip options with
	CL_WARNING flag.

2025-01-24  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2025-01-16  Peter Bergner  <bergner@linux.ibm.com>

	* config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Return
	const0_rtx when there is an error.

2025-01-24  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2025-01-16  Peter Bergner  <bergner@linux.ibm.com>

	* config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Use correct
	array size for the loop limit.
	* config/rs6000/rs6000-builtins.def: Fix field size for PMASK operand.

2025-01-23  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa32-regs.h (ADDITIONAL_REGISTER_NAMES): Change
	register 86 name to "%fr31L".

2025-01-21  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2024-09-03  Jan Hubicka  <jh@suse.cz>

	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable for
	ZNVER5.
	(X86_TUNE_USE_SCATTER_2PARTS): Disable for ZNVER5.
	(X86_TUNE_USE_GATHER_4PARTS): Disable for ZNVER5.
	(X86_TUNE_USE_SCATTER_4PARTS): Disable for ZNVER5.
	(X86_TUNE_USE_GATHER_8PARTS): Disable for ZNVER5.
	(X86_TUNE_USE_SCATTER_8PARTS): Disable for ZNVER5.

2025-01-20  Uros Bizjak  <ubizjak@gmail.com>

	PR target/118067
	* config/i386/i386.md (*movdi_internal):
	Disable alternatives from/to mask registers without AVX512BW.
	(*movsi_internal): Ditto.

2025-01-17  Eugene Rozenfeld  <erozen@microsoft.com>

	Backported from master:
	2025-01-16  Eugene Rozenfeld  <erozen@microsoft.com>

	PR gcov-profile/116743
	* auto-profile.cc (afdo_annotate_cfg): Fix mismatch between the call graph node count
	and the entry block count.

2025-01-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-11-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/117417
	* tree-ssa-forwprop.cc (pass_forwprop::execute): Avoid
	decomposing BIT_FIELD_REF complex load.

2025-01-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-10-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/117307
	* tree-vect-data-refs.cc (vect_analyze_data_ref_accesses):
	Properly compute STMT_VINFO_SLP_VECT_ONLY.  Set it on all
	parts of a split group.

2025-01-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-10-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/117254
	* gimple-ssa-warn-access.cc (maybe_warn_nonstring_arg):
	Check the array domain max is constant before using it.

2025-01-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-10-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/117104
	* match.pd ((cmp:c (minmax:c @0 @1) @0) -> (out @0 @1)): Properly
	guard the vector case.

2025-01-17  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-10-15  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/116891
	* match.pd ((negate (fmas@3 @0 @1 @2)) -> (IFN_FNMS @0 @1 @2)):
	Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING.
	((negate (IFN_FMS@3 @0 @1 @2)) -> (IFN_FNMA @0 @1 @2)): Likewise.
	((negate (IFN_FNMA@3 @0 @1 @2)) -> (IFN_FMS @0 @1 @2)): Likewise.

2025-01-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-10-14  Richard Biener  <rguenther@suse.de>

	PR middle-end/116891
	* match.pd ((negate (IFN_FNMS@3 @0 @1 @2)) -> (IFN_FMA @0 @1 @2)):
	Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING.

2025-01-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-09-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/116768
	* tree-data-ref.cc (build_classic_dist_vector_1): Revert
	PR101009 change.
	* tree-chrec.cc (eq_evolutions_p): Make sure (sizetype)1
	and (int)1 compare equal.

2025-01-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-10-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/116290
	* tree-loop-distribution.cc (determine_reduction_stmt_1): PHIs
	have no debug variants.  Start with first non-debug real stmt.
	* tree-ssa-loop-ivopts.cc (find_givs_in_bb): Do not analyze
	debug stmts.

2025-01-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-01-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/69482
	* cfgexpand.cc (discover_nonconstant_array_refs_r): Volatile
	qualified accesses also force objects to memory.

2025-01-14  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2024-09-04  Jan Hubicka  <jh@suse.cz>

	* config/i386/x86-tune-costs.h (znver5_cost): Update instruction
	costs.

2025-01-10  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-07-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/116057
	* tree-ssa-ccp.cc (likely_value): Also walk CTORs in stmt
	operands to look for constants.

2025-01-10  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-06-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/115669
	* tree-vect-slp.cc (vect_build_slp_tree_2): Do not reassociate
	chains that participate in a reduction.

2025-01-10  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-06-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/115646
	* tree-call-cdce.cc (check_pow): Check for bit_sz values
	as allowed by transform.

2025-01-10  Sam James  <sam@gentoo.org>

	* doc/cpp.texi (Common Predefined Macros): Fix syntax.

2025-01-07  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2024-09-03  Jan Hubicka  <jh@suse.cz>

	* config/i386/i386.cc (ix86_reassociation_width): Update for Znver5.
	* config/i386/x86-tune-costs.h (znver5_costs): Update reassociation
	widths.

2025-01-07  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2024-09-03  Jan Hubicka  <jh@suse.cz>

	* config/i386/i386.h (TARGET_FUSE_MOV_AND_ALU): New tune.
	* config/i386/x86-tune-sched.cc (ix86_issue_rate): Updat for znver5.
	(ix86_adjust_cost): Add TODO about znver5 memory latency.
	(ix86_fuse_mov_alu_p): New.
	(ix86_macro_fusion_pair_p): Use it.
	* config/i386/x86-tune.def (X86_TUNE_FUSE_ALU_AND_BRANCH): Add ZNVER5.
	(X86_TUNE_FUSE_MOV_AND_ALU): New tune;

2024-12-05  Georg-Johann Lay  <avr@gjlay.de>

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

	PR target/64242
	* config/avr/avr.md (nonlocal_goto): Don't restore
	hard_frame_pointer_rtx directly, but copy it to local
	register, and only set hard_frame_pointer_rtx from it
	after emit_stack_restore().

2024-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	Backported from master:
	2024-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/arm/arm_mve.h: Add Runtime Library Exception.
	* config/arm/arm_mve_types.h: Likewise.

2024-11-27  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2024-11-15  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/117142
	* tree-sra.cc (scan_function): Disqualify any candidate passed to
	a function returning twice.

2024-11-26  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-11-25  liuhongt  <hongtao.liu@intel.com>

	PR target/117562
	* config/i386/sse.md (vec_unpacks_hi_v4sf): Initialize
	operands[2] with CONST0_RTX.

2024-11-23  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2024-11-23  Georg-Johann Lay  <avr@gjlay.de>

	PR target/117744
	* config/avr/avr.cc (out_movqi_r_mr): Fix code when a load
	only partially clobbers an address register due to
	changing the address register temporally to accommodate for
	faked addressing modes.

2024-11-19  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2024-11-18  Uros Bizjak  <ubizjak@gmail.com>

	PR target/117357
	* config/i386/i386.md (*rsqrtsf2_sse):
	Also enable for !TARGET_SSE_MATH.

2024-11-18  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2024-11-18  Georg-Johann Lay  <avr@gjlay.de>

	PR target/117659
	* config/avr/avr.cc (avr_out_ashlpsi3) [case 16]: Use %A1 as
	input (instead of bogus %A0).

2024-11-13  John David Anglin  <danglin@gcc.gnu.org>

	PR target/117525
	* config/pa/pa.md (fix_truncsfsi2): Remove inner `fix:SF`.
	(fix_truncdfsi2, fix_truncsfdi2, fix_truncdfdi2,
	fixuns_truncsfsi2, fixuns_truncdfsi2, fixuns_truncsfdi2,
	fixuns_truncdfdi2): Likewise.

2024-11-13  Hu, Lin1  <lin1.hu@intel.com>

	Backported from master:
	2024-11-13  Hu, Lin1  <lin1.hu@intel.com>

	PR target/117418
	* config/i386/i386-expand.cc (ix86_expand_builtin): Convert
	pointer's mode according to Pmode.

2024-11-12  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.md (decrement_and_branch_until_zero): Fix
	constraint.

2024-11-04  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/117398
	* gimple-range-edge.cc (gimple_outgoing_range::calc_switch_ranges):
	Check for VARYING and don't call invert () on it.

2024-10-30  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-10-30  liuhongt  <hongtao.liu@intel.com>

	PR target/117318
	* config/i386/sse.md (*avx512vl_<code>v2div2qi2_mask_store_1):
	Rename to ..
	(avx512vl_<code>v2div2qi2_mask_store_1): .. this.
	(avx512vl_<code>v2div2qi2_mask_store_2): Change to
	define_expand.
	(*avx512vl_<code><mode>v4qi2_mask_store_1): Rename to ..
	(avx512vl_<code><mode>v4qi2_mask_store_1): .. this.
	(avx512vl_<code><mode>v4qi2_mask_store_2): Change to
	define_expand.
	(*avx512vl_<code><mode>v8qi2_mask_store_1): Rename to ..
	(avx512vl_<code><mode>v8qi2_mask_store_1): .. this.
	(avx512vl_<code><mode>v8qi2_mask_store_2): Change to
	define_expand.
	(*avx512vl_<code><mode>v4hi2_mask_store_1): Rename to ..
	(avx512vl_<code><mode>v4hi2_mask_store_1): .. this.
	(avx512vl_<code><mode>v4hi2_mask_store_2): Change to
	define_expand.
	(*avx512vl_<code>v2div2hi2_mask_store_1): Rename to ..
	(avx512vl_<code>v2div2hi2_mask_store_1): .. this.
	(avx512vl_<code>v2div2hi2_mask_store_2): Change to
	define_expand.
	(*avx512vl_<code>v2div2si2_mask_store_1): Rename to ..
	(avx512vl_<code>v2div2si2_mask_store_1): .. this.
	(avx512vl_<code>v2div2si2_mask_store_2): Change to
	define_expand.
	(*avx512f_<code>v8div16qi2_mask_store_1): Rename to ..
	(avx512f_<code>v8div16qi2_mask_store_1): .. this.
	(avx512f_<code>v8div16qi2_mask_store_2): Change to
	define_expand.

2024-10-29  Eric Botcazou  <ebotcazou@adacore.com>

	PR rtl-optimization/117327
	* reorg.cc (find_end_label): Do not return a dangling label at the
	end of the function and adjust commentary.

2024-10-29  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2024-08-23  Peter Bergner  <bergner@linux.ibm.com>

	PR target/116415
	* config/rs6000/rs6000.h (TI_OR_PTI_MODE): New define.
	* config/rs6000/rs6000-p8swap.cc (rs6000_analyze_swaps): Use it to
	handle PTImode identically to TImode.

2024-10-24  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-10-23  liuhongt  <hongtao.liu@intel.com>

	PR target/117240
	* config/i386/i386-builtin.def: Add avx/avx512f to vaes
	ymm/zmm builtins.

2024-10-21  Jeevitha  <jeevitha@linux.ibm.com>

	Backported from master:
	2024-10-21  Jeevitha  <jeevitha@linux.ibm.com>

	* config/rs6000/amo.h (enum _AMO_LD): Correct the function code for
	_AMO_LD_DEC_BOUNDED.

2024-10-21  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-10-21  liuhongt  <hongtao.liu@intel.com>

	PR target/117159
	* config/i386/sse.md
	(*<avx512>_cmp<V48H_AVX512VL:mode>3_zero_extend<SWI248x:mode>):
	Change from define_insn_and_split to define_insn.
	(*<avx512>_cmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>):
	Ditto.
	(*<avx512>_ucmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>):
	Ditto.
	(*<avx512>_ucmp<VI48_AVX512VL:mode>3_zero_extend<SWI248x:mode>):
	Ditto.
	(*<avx512>_cmp<V48H_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2):
	Split to the zero_extend pattern.
	(*<avx512>_cmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2):
	Ditto.
	(*<avx512>_ucmp<VI12_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2):
	Ditto.
	(*<avx512>_ucmp<VI48_AVX512VL:mode>3_zero_extend<SWI248x:mode>_2):
	Ditto.

2024-10-16  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2024-10-15  Uros Bizjak  <ubizjak@gmail.com>

	PR target/117116
	* config/i386/i386-expand.cc (expand_vector_set): Force "val"
	into a register before VEC_MERGE/VEC_DUPLICATE RTX is generated
	if it doesn't satisfy nonimmediate_operand predicate.

2024-10-14  Jan Hubicka  <hubicka@ucw.cz>

	Backported from master:
	2024-07-22  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/111613
	* ipa-modref.cc (analyze_parms): Do not preserve EAF_NO_DIRECT_READ and
	EAF_NO_INDIRECT_READ from past flags.

2024-10-14  Jan Hubicka  <hubicka@ucw.cz>

	Backported from master:
	2024-07-22  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/109985
	* ipa-modref.cc (modref_summary::useful_p): Fix handling of ECF_NOVOPS.
	(modref_access_analysis::process_fnspec): Likevise.
	(modref_access_analysis::analyze_call): Likevise.
	(propagate_unknown_call): Likevise.
	(modref_propagate_in_scc): Likevise.
	(modref_propagate_flags_in_scc): Likewise.
	(ipa_merge_modref_summary_after_inlining): Likewise.

2024-10-14  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2024-05-16  Jan Hubicka  <jh@suse.cz>

	PR ipa/113787
	* ipa-fnsummary.cc (points_to_local_or_readonly_memory_p): Do not
	look into TARGET_MEM_REFS with constant opreand 0.

2024-10-14  Jan Hubicka  <hubicka@ucw.cz>

	Backported from master:
	2024-07-22  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/115033
	* ipa-modref.cc (modref_eaf_analysis::analyze_ssa_name): Fix checking of
	EAF flags when analysing values dereferenced as function parameters.

2024-10-14  Jan Hubicka  <hubicka@ucw.cz>

	Backported from master:
	2024-07-22  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/114207
	* ipa-prop.cc (unadjusted_ptr_and_unit_offset): Fix accounting of offsets in ADDR_EXPR.

2024-10-14  Aldy Hernandez  <aldyh@redhat.com>

	Backported from master:
	2023-05-23  Aldy Hernandez  <aldyh@redhat.com>

	PR tree-optimization/109934
	* value-range.cc (irange::invert): Remove buggy special case.

2024-10-05  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.md: Fix indirect_got constraint.

2024-10-04  H.J. Lu  <hjl.tools@gmail.com>

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

	PR target/116962
	* config/i386/i386.cc (ix86_stack_protect_runtime_enabled_p): New
	function.
	(TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): New.

2024-10-02  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-09-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/116585
	* tree-data-ref.cc (split_constant_offset_1): When either
	operand is subject to abnormal coalescing do no further
	processing.

2024-09-30  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2024-09-03  Jan Hubicka  <jh@suse.cz>

	* config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS): Enable for
	znver5.
	(X86_TUNE_AVOID_256FMA_CHAINS): Likewise.
	(X86_TUNE_AVOID_512FMA_CHAINS): Likewise.

2024-09-28  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-07-16  Richard Biener  <rguenther@suse.de>

	* config/i386/x86-tune-costs.h (znver5_cost): Update unaligned
	load and store cost from the aligned costs.

2024-09-28  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2024-03-18  Jan Hubicka  <jh@suse.cz>
		    Karthiban Anbazhagan  <Karthiban.Anbazhagan@amd.com>

	* common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver5.
	* common/config/i386/i386-common.cc (processor_names): Add znver5.
	(processor_alias_table): Likewise.
	* common/config/i386/i386-cpuinfo.h (processor_types): Add new zen
	family.
	(processor_subtypes): Add znver5.
	* config.gcc (x86_64-*-* |...): Likewise.
	* config/i386/driver-i386.cc (host_detect_local_cpu): Let
	march=native detect znver5 cpu's.
	* config/i386/i386-c.cc (ix86_target_macros_internal): Add
	znver5.
	* config/i386/i386-options.cc (m_ZNVER5): New definition
	(processor_cost_table): Add znver5.
	* config/i386/i386.cc (ix86_reassociation_width): Likewise.
	* config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER5
	(PTA_ZNVER5): New definition.
	* config/i386/i386.md (define_attr "cpu"): Add znver5.
	(Scheduling descriptions) Add znver5.md.
	* config/i386/x86-tune-costs.h (znver5_cost): New definition.
	* config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver5.
	(ix86_adjust_cost): Likewise.
	* config/i386/x86-tune.def (avx512_move_by_pieces): Add m_ZNVER5.
	(avx512_store_by_pieces): Add m_ZNVER5.
	* doc/extend.texi: Add znver5.
	* doc/invoke.texi: Likewise.
	* config/i386/znver4.md: Rename to zn4zn5.md; combine znver4 and znver5 Scheduler.
	* config/i386/zn4zn5.md: New file.

2024-09-28  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2024-09-25  H.J. Lu  <hjl.tools@gmail.com>

	PR target/116839
	* config/i386/i386.cc (ix86_rewrite_tls_address_1): Make it
	static.  Return if TLS address is thread register plus an integer
	register.

2024-09-27  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	Backported from master:
	2024-09-13  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	PR target/115860
	* config/s390/s390.cc (print_operand): Remove operand specifier
	%V.
	* config/s390/s390.md (UNSPEC_TF_TO_FPRX2): New.
	* config/s390/vector.md (*tf_to_fprx2_0): Remove.
	(*tf_to_fprx2_1): Remove.
	(tf_to_fprx2): New.

2024-09-27  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	Backported from master:
	2024-09-13  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390.cc (s390_mem_constraint): Check displacement
	for AQ and AR constraints.

2024-09-20  Eric Botcazou  <ebotcazou@adacore.com>

	* ipa-modref.cc (modref_eaf_analysis::analyze_ssa_name): Always
	process both the load and the store of a memory copy operation.

2024-09-20  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	Backported from master:
	2024-09-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390-protos.h (s390_gen_lowpart_subreg): Remove.
	* config/s390/s390.cc (s390_gen_lowpart_subreg): Remove.
	(s390_expand_insv): Use adjust_address() and emit a
	strict_low_part only in case of a natural subreg.
	* config/s390/s390.md: Use gen_lowpart() instead of
	s390_gen_lowpart_subreg().

2024-09-19  Haochen Jiang  <haochen.jiang@intel.com>

	* doc/invoke.texi: Add corei7, corei7-avx, core-avx-i,
	core-avx2, atom, and slm. Reorder the -march documentation by
	splitting them into date-to-now products, P-core, E-core and
	Xeon Phi. Refine the product names in documentation.

2024-09-15  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2024-09-08  H.J. Lu  <hjl.tools@gmail.com>

	PR target/116621
	* config/i386/i386.cc (ix86_gimplify_va_arg): Don't use temp for
	a PARALLEL BLKmode container of an EXPR_LIST expression in a
	TImode register.

2024-09-05  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2024-09-03  H.J. Lu  <hjl.tools@gmail.com>

	PR ipa/116410
	* ipa-modref.cc (analyze_parms): Always analyze function parameter
	for LTO.

2024-09-03  Haochen Jiang  <haochen.jiang@intel.com>

	* config/i386/avx512fp16intrin.h
	(_mm512_mask_fpclass_ph_mask): Correct mask type to __mmask32.
	(_mm512_fpclass_ph_mask): Ditto.

2024-09-02  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-08-30  liuhongt  <hongtao.liu@intel.com>

	PR target/116512
	* config/i386/i386.cc (ix86_check_avx_upper_register): Iterate
	subrtx to scan for avx upper register.
	(ix86_check_avx_upper_stores): Inline old
	ix86_check_avx_upper_register.
	(ix86_avx_u128_mode_needed): Ditto, and replace
	FOR_EACH_SUBRTX with call to new
	ix86_check_avx_upper_register.

2024-08-22  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-08-22  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386-options.cc (ix86_option_override_internal):
	set ix86_{move_max,store_max} to PVW_AVX256 when TARGET_AVX
	instead of PVW_AVX128.

2024-08-16  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2024-04-05  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/114603
	* config/aarch64/aarch64-sve.md (@aarch64_pred_cnot<mode>): Replace
	with...
	(@aarch64_ptrue_cnot<mode>): ...this, requiring operand 1 to be
	a ptrue.
	(*cnot<mode>): Require operand 1 to be a ptrue.
	* config/aarch64/aarch64-sve-builtins-base.cc (svcnot_impl::expand):
	Use aarch64_ptrue_cnot<mode> for _x operations that are predicated
	with a ptrue.  Represent other _x operations as fully-defined _m
	operations.

2024-08-16  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2024-04-08  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/114607
	* config/aarch64/aarch64-sve-builtins-base.cc
	(svusdot_impl::expand): Fix botched attempt to swap the operands
	for svsudot.

2024-08-12  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-07-30  liuhongt  <hongtao.liu@intel.com>

	PR target/116043
	* config/i386/constraints.md (Bk): Refine to
	define_special_memory_constraint.

2024-08-06  John David Anglin  <danglin@gcc.gnu.org>

	PR target/113384
	* config/pa/pa.cc (hppa_legitimize_address): Add check to
	ensure constant is an integral multiple of shift the value.

2024-08-06  Andrew Pinski  <quic_apinski@quicinc.com>

	Backported from master:
	2024-08-06  Andrew Pinski  <quic_apinski@quicinc.com>

	PR target/116189
	* config/sh/sh.cc (sh_recog_treg_set_expr): Don't call make_insn_raw,
	make the insn with a fake uid.

2024-07-29  Haochen Jiang  <haochen.jiang@intel.com>

	* config/i386/avx512dqintrin.h (_mm_reduce_round_sd): Use
	_mm_setzero_pd instead of _mm_avx512_setzero_pd.
	(_mm_reduce_round_ss): Use _mm_setzero_ps instead of
	_mm_avx512_setzero_ps.

2024-07-29  Haochen Jiang  <haochen.jiang@intel.com>

	* config/i386/avx512dqintrin.h
	(_mm_mask_fpclass_ss_mask): Correct operand order.
	(_mm_mask_fpclass_sd_mask): Ditto.
	(_mm256_maskz_reduce_round_ss): Use __builtin_ia32_reducess_mask_round
	instead of __builtin_ia32_reducesd_mask_round.
	(_mm_reduce_round_sd): Use -1 as mask since it is non-mask.
	(_mm_reduce_round_ss): Ditto.
	* config/i386/avx512vlbwintrin.h
	(_mm256_mask_alignr_epi8): Correct operand usage.
	(_mm_mask_alignr_epi8): Ditto.
	* config/i386/avx512vlintrin.h (_mm_mask_alignr_epi64): Ditto.

2024-07-24  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2024-07-17  Peter Bergner  <bergner@linux.ibm.com>

	PR target/114759
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Disallow
	CPUs and ABIs that do no support the ROP protection insns.
	* config/rs6000/rs6000-logue.cc (rs6000_stack_info): Remove now
	unneeded tests.
	(rs6000_emit_prologue): Likewise.
	Remove unneeded gcc_assert.
	(rs6000_emit_epilogue): Likewise.
	* config/rs6000/rs6000.md: Likewise.

2024-07-24  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2024-07-17  Peter Bergner  <bergner@linux.ibm.com>

	PR target/114759
	* config/rs6000/rs6000-logue.cc (rs6000_stack_info): Use TARGET_POWER8.
	(rs6000_emit_prologue): Likewise.
	* config/rs6000/rs6000.md (hashchk): Likewise.
	(hashst): Likewise.
	Fix whitespace.

2024-07-24  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2024-06-17  Peter Bergner  <bergner@linux.ibm.com>

	PR target/115389
	* config/rs6000/rs6000-logue.cc (rs6000_stack_info): Compute
	rop_hash_save_offset for non-Altivec compiles.

2024-07-24  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2024-06-08  Peter Bergner  <bergner@linux.ibm.com>

	* config/rs6000/rs6000-logue.cc (rs6000_stack_info): Update comment.

2024-07-23  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-07-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/115843
	* config/i386/x86-tune-costs.h (znver4_cost): Update unaligned
	load and store cost from the aligned costs.

2024-07-22  Maciej W. Rozycki  <macro@orcam.me.uk>

	Backported from master:
	2024-06-29  Maciej W. Rozycki  <macro@orcam.me.uk>

	PR rtl-optimization/115565
	* cse.cc (record_jump_cond): Use INT_MIN rather than -1 for
	`comparison_qty' if !REG_P.

2024-07-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	Backported from master:
	2024-07-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	* opt-suggestions.cc
	(option_proposer::build_option_suggestions): Pull OPTB
	definition out of the innermost loop.

2024-07-20  René Rebe  <rene@exactcode.de>

	Backported from master:
	2024-07-18  René Rebe  <rene@exactcode.de>
		    Peter Bergner  <bergner@linux.ibm.com>

	PR target/97367
	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Do not consider
	OPTION_MASK_ALTIVEC.
	(emit_asm_machine): For Altivec compiles, emit a ".machine altivec".

2024-07-20  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/3931.md (vlbr, vstbr, vrepi): Remove.
	* config/s390/s390.md (xdee): Add FPRX2 mapping.
	* config/s390/vector.md (bhfgq): Add TF mapping.

2024-07-19  LIU Hao  <lh_mouse@126.com>

	Backported from master:
	2024-07-18  LIU Hao  <lh_mouse@126.com>

	PR rtl-optimization/115049
	* varasm.cc (decl_binds_to_current_def_p): Add a check for COMDAT
	declarations too, like weak ones.

2024-07-18  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2024-07-17  Uros Bizjak  <ubizjak@gmail.com>

	PR target/115526
	* config/alpha/alpha.md (movdi_er_high_g): Add cannot_copy attribute.
	(movdi_er_tlsgd): Ditto.
	(movdi_er_tlsldm): Ditto.
	(call_value_osf_<tls>): Ditto.

2024-07-16  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	Backported from master:
	2024-07-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/vector.md (mov<mode>): Fix output template for
	movv1qi.

2024-07-16  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	Backported from master:
	2024-07-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390.md (*icjump_64): Allow raw CC comparisons,
	i.e., any constant integer between 0 and 15 for CC comparisons.

2024-07-15  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-07-15  liuhongt  <hongtao.liu@intel.com>

	PR target/115872
	* tree-ssa-ccp.cc (convert_atomic_bit_not): Remove use_stmt after use_nop_stmt is removed.
	(optimize_atomic_bit_test_and): Ditto.

2024-07-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	Backported from master:
	2024-07-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/115611
	* config/arm/mve.md (mve_vec_setv2di_internal): Fix printing of input
	scalar register pair when lane = 1.

2024-07-10  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2024-07-10  Uros Bizjak  <ubizjak@gmail.com>

	PR middle-end/115836
	* expmed.cc (emit_store_flag_1): Move calculation of
	scode just before its only usage site.

2024-07-05  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	Backported from master:
	2023-11-30  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR target/103100
	* config/aarch64/aarch64.md (cpymemdi): Remove pattern condition.
	(setmemdi): Likewise.
	* config/aarch64/aarch64.cc (aarch64_expand_cpymem): Support
	strict-align.  Cleanup condition for using MOPS.
	(aarch64_expand_setmem): Likewise.

2024-07-05  Georg-Johann Lay  <avr@gjlay.de>

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

	PR target/87376
	* config/avr/avr-dimode.md: Use "nop_general_operand" instead
	of "general_operand" as predicate for all input operands.

2024-07-04  Kyrylo Tkachov  <ktkachov@nvidia.com>

	Backported from master:
	2024-07-03  Kyrylo Tkachov  <ktkachov@nvidia.com>

	PR target/115475
	* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins):
	Define __ARM_FEATURE_SVE_BF16 for TARGET_SVE_BF16.

2024-07-04  Kyrylo Tkachov  <ktkachov@nvidia.com>

	Backported from master:
	2024-07-03  Kyrylo Tkachov  <ktkachov@nvidia.com>

	PR target/115457
	* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins):
	Define __ARM_FEATURE_BF16 for TARGET_BF16_FP.

2024-07-03  John David Anglin  <danglin@gcc.gnu.org>

	PR target/115691
	* config/pa/pa.md: Remove incorrect xmpyu patterns.

2024-07-03  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2024-07-03  Georg-Johann Lay  <avr@gjlay.de>

	PR target/98762
	* config/avr/avr.cc (avr_out_movqi_r_mr_reg_disp_tiny): Properly
	restore the base register when it is partially clobbered.

2024-07-03  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2024-06-26  Kewen Lin  <linkw@linux.ibm.com>
		    Xionghu Luo  <xionghuluo@tencent.com>

	PR target/106069
	PR target/115355
	* config/rs6000/altivec.md (altivec_vmrghh_direct): Rename to ...
	(altivec_vmrghh_direct_be): ... this.  Add condition BYTES_BIG_ENDIAN.
	(altivec_vmrghh_direct_le): New define_insn.
	(altivec_vmrglh_direct): Rename to ...
	(altivec_vmrglh_direct_be): ... this.  Add condition BYTES_BIG_ENDIAN.
	(altivec_vmrglh_direct_le): New define_insn.
	(altivec_vmrghh): Adjust by calling gen_altivec_vmrghh_direct_be
	for BE and gen_altivec_vmrglh_direct_le for LE.
	(altivec_vmrglh): Adjust by calling gen_altivec_vmrglh_direct_be
	for BE and gen_altivec_vmrghh_direct_le for LE.
	(vec_widen_umult_hi_v16qi): Adjust the call to
	gen_altivec_vmrghh_direct by gen_altivec_vmrghh for BE
	and by gen_altivec_vmrglh for LE.
	(vec_widen_smult_hi_v16qi): Likewise.
	(vec_widen_umult_lo_v16qi): Adjust the call to
	gen_altivec_vmrglh_direct by gen_altivec_vmrglh for BE
	and by gen_altivec_vmrghh for LE.
	(vec_widen_smult_lo_v16qi): Likewise.
	* config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace
	CODE_FOR_altivec_vmrghh_direct by
	CODE_FOR_altivec_vmrghh_direct_be for BE and
	CODE_FOR_altivec_vmrghh_direct_le for LE.  And replace
	CODE_FOR_altivec_vmrglh_direct by
	CODE_FOR_altivec_vmrglh_direct_be for BE and
	CODE_FOR_altivec_vmrglh_direct_le for LE.

2024-07-03  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2024-06-26  Kewen Lin  <linkw@linux.ibm.com>
		    Xionghu Luo  <xionghuluo@tencent.com>

	PR target/106069
	PR target/115355
	* config/rs6000/altivec.md (altivec_vmrghb_direct): Rename to ...
	(altivec_vmrghb_direct_be): ... this.  Add condition BYTES_BIG_ENDIAN.
	(altivec_vmrghb_direct_le): New define_insn.
	(altivec_vmrglb_direct): Rename to ...
	(altivec_vmrglb_direct_be): ... this.  Add condition BYTES_BIG_ENDIAN.
	(altivec_vmrglb_direct_le): New define_insn.
	(altivec_vmrghb): Adjust by calling gen_altivec_vmrghb_direct_be
	for BE and gen_altivec_vmrglb_direct_le for LE.
	(altivec_vmrglb): Adjust by calling gen_altivec_vmrglb_direct_be
	for BE and gen_altivec_vmrghb_direct_le for LE.
	* config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace
	CODE_FOR_altivec_vmrghb_direct by
	CODE_FOR_altivec_vmrghb_direct_be for BE and
	CODE_FOR_altivec_vmrghb_direct_le for LE.  And replace
	CODE_FOR_altivec_vmrglb_direct by
	CODE_FOR_altivec_vmrglb_direct_be for BE and
	CODE_FOR_altivec_vmrglb_direct_le for LE.

2024-07-01  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2024-07-01  Georg-Johann Lay  <avr@gjlay.de>

	PR target/88236
	PR target/115726
	* config/avr/avr.md (mov<mode>) [avr_mem_memx_p]: Expand in such a
	way that the destination does not overlap with any hard register
	clobbered / used by xload8qi_A resp. xload<mode>_A.
	* config/avr/avr.cc (avr_out_xload): Avoid early-clobber
	situation for Z by executing just one load when the output register
	overlaps with Z.

2024-06-28  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2024-06-21  Kewen Lin  <linkw@linux.ibm.com>
		    Xionghu Luo  <xionghuluo@tencent.com>

	PR target/106069
	PR target/115355
	* config/rs6000/altivec.md (altivec_vmrghw_direct_<VSX_W:mode>): Rename
	to ...
	(altivec_vmrghw_direct_<VSX_W:mode>_be): ... this.  Add the condition
	BYTES_BIG_ENDIAN.
	(altivec_vmrghw_direct_<VSX_W:mode>_le): New define_insn.
	(altivec_vmrglw_direct_<VSX_W:mode>): Rename to ...
	(altivec_vmrglw_direct_<VSX_W:mode>_be): ... this.  Add the condition
	BYTES_BIG_ENDIAN.
	(altivec_vmrglw_direct_<VSX_W:mode>_le): New define_insn.
	(altivec_vmrghw): Adjust by calling gen_altivec_vmrghw_direct_v4si_be
	for BE and gen_altivec_vmrglw_direct_v4si_le for LE.
	(altivec_vmrglw): Adjust by calling gen_altivec_vmrglw_direct_v4si_be
	for BE and gen_altivec_vmrghw_direct_v4si_le for LE.
	(vec_widen_umult_hi_v8hi): Adjust the call to
	gen_altivec_vmrghw_direct_v4si by gen_altivec_vmrghw for BE
	and by gen_altivec_vmrglw for LE.
	(vec_widen_smult_hi_v8hi): Likewise.
	(vec_widen_umult_lo_v8hi): Adjust the call to
	gen_altivec_vmrglw_direct_v4si by gen_altivec_vmrglw for BE
	and by gen_altivec_vmrghw for LE
	(vec_widen_smult_lo_v8hi): Likewise.
	* config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace
	CODE_FOR_altivec_vmrghw_direct_v4si by
	CODE_FOR_altivec_vmrghw_direct_v4si_be for BE and
	CODE_FOR_altivec_vmrghw_direct_v4si_le for LE.  And replace
	CODE_FOR_altivec_vmrglw_direct_v4si by
	CODE_FOR_altivec_vmrglw_direct_v4si_be for BE and
	CODE_FOR_altivec_vmrglw_direct_v4si_le for LE.
	* config/rs6000/vsx.md (vsx_xxmrghw_<VSX_W:mode>): Adjust by calling
	gen_altivec_vmrghw_direct_v4si_be for BE and
	gen_altivec_vmrglw_direct_v4si_le for LE.
	(vsx_xxmrglw_<VSX_W:mode>): Adjust by calling
	gen_altivec_vmrglw_direct_v4si_be for BE and
	gen_altivec_vmrghw_direct_v4si_le for LE.

2024-06-27  Kyrylo Tkachov  <ktkachov@nvidia.com>

	* config/aarch64/aarch64-cores.def (grace): New entry.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* doc/invoke.texi (AArch64 Options): Document the above.

2024-06-24  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2024-05-29  Kewen Lin  <linkw@linux.ibm.com>

	PR target/114846
	* config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): As
	EPILOGUE_TYPE_EH_RETURN would be passed as epilogue_type directly
	now, adjust the relevant handlings on it.
	* config/rs6000/rs6000.md (eh_return expander): Append by calling
	gen_eh_return_internal and emit_barrier.
	(eh_return_internal): New define_insn_and_split, call function
	rs6000_emit_epilogue with epilogue type EPILOGUE_TYPE_EH_RETURN.

2024-06-20  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-06-17  Jakub Jelinek  <jakub@redhat.com>

	PR driver/115440
	* opts-common.cc (add_misspelling_candidates): If opt1 is non-NULL,
	add a space and opt1 to the alternative suggestion text.

2024-06-20  Release Manager

	* GCC 12.4.0 released.

2024-06-12  Alex Coplan  <alex.coplan@arm.com>

	Backported from master:
	2024-05-03  Alex Coplan  <alex.coplan@arm.com>

	PR rtl-optimization/114924
	* cfgrtl.cc (duplicate_insn_chain): When updating MEM_EXPRs,
	don't strip (e.g.) ARRAY_REFs from the final MEM_EXPR.

2024-06-12  Vladimir N. Makarov  <vmakarov@redhat.com>

	Backported from master:
	2023-09-25  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR middle-end/111497
	* lra-constraints.cc (lra_constraints): Copy substituted
	equivalence.
	* lra.cc (lra): Change comment for calling unshare_all_rtl_again.

2024-06-12  Richard Biener  <rguenther@suse.de>

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

	PR middle-end/40635
	* tree-into-ssa.cc (rewrite_update_phi_arguments): Only
	update the argument when the reaching definition is different
	from the current argument.  Keep an existing argument
	location.

2024-06-12  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-02-19  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/54052
	* rtl-ssa/blocks.cc (function_info::place_phis): Filter
	local defs by LR_OUT.

2024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	Backported from master:
	2024-06-12  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
		    Yvan ROUX  <yvan.roux@foss.st.com>

	PR target/115253
	* config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
	Sign extend for Thumb1.
	(thumb1_expand_prologue): Add zero/sign extend.

2024-06-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	Backported from master:
	2024-03-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR middle-end/111632
	* system.h: Include safe-ctype.h after C++ standard headers.

2024-06-11  Andrew Pinski  <quic_apinski@quicinc.com>

	Backported from master:
	2024-05-20  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/115143
	* tree-ssa-phiopt.cc (minmax_replacement): Check for empty
	phi nodes for middle bbs for the case where middle bb is not empty.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-06-04  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/115337
	* fold-const.cc (tree_call_nonnegative_warnv_p) <CASE_CFN_CLZ>:
	If fn is CFN_CLZ, use CLZ_DEFINED_VALUE_AT.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-06-04  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/108789
	* builtins.cc (fold_builtin_arith_overflow): For ovf_only,
	don't call save_expr and don't build REALPART_EXPR, otherwise
	set TREE_SIDE_EFFECTS on call before calling save_expr.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

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

	PR target/115324
	* config/rs6000/rs6000-gen-builtins.cc (write_decls): Remove
	GTY markup from struct bifdata and struct ovlddata and remove their
	fntype members.  Change next member in struct ovlddata and
	first_instance member of struct ovldrecord to have int type rather
	than struct ovlddata *.  Remove GTY markup from rs6000_builtin_info
	and rs6000_instance_info arrays, declare new
	rs6000_builtin_info_fntype and rs6000_instance_info_fntype arrays,
	which have GTY markup.
	(write_bif_static_init): Adjust for the above changes.
	(write_ovld_static_init): Likewise.
	(write_init_bif_table): Likewise.
	(write_init_ovld_table): Likewise.
	* config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Likewise.
	* config/rs6000/rs6000-c.cc (find_instance): Likewise.  Make static.
	(altivec_resolve_overloaded_builtin): Adjust for the above changes.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-05-15  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/114902
	PR rtl-optimization/115092
	* combine.cc (simplify_compare_const): Don't optimize
	GE op0 SIGNED_MIN or LT op0 SIGNED_MIN into NE op0 const0_rtx or
	EQ op0 const0_rtx.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-05-07  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/114956
	* tree-inline.cc: Include asan.h.
	(copy_bb): Remove also .ASAN_MARK calls if id->dst_fn has asan/hwasan
	sanitization disabled.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-30  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/114876
	* gimple-ssa-sprintf.cc (format_character): For min == 0 && max == 0,
	set max, likely and unlikely members to 1 rather than 0.  Remove
	useless res.knownrange = true;.  Formatting fixes.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-25  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/114825
	* tree-nested.cc (get_debug_decl): New function.
	(get_nonlocal_debug_decl): Use it.
	(get_local_debug_decl): Likewise.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-19  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/114768
	* rtlanal.cc (set_noop_p): Don't return true for MEM <- MEM
	sets if src has side-effects or for stores into ZERO_EXTRACT
	if ZERO_EXTRACT operand has side-effects.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-18  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/114753
	* internal-fn.cc (expand_mul_overflow): Save flag_trapv and
	temporarily clear it for the duration of the function, then
	restore previous value.
	(expand_vector_ubsan_overflow): Likewise.
	(expand_arith_overflow): Likewise.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-15  Jakub Jelinek  <jakub@redhat.com>

	PR c++/114634
	* attribs.cc (diag_attr_exclusions): Set attrs[1] to NULL_TREE for
	decls with NULL TREE_TYPE.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-11  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/110027
	* asan.cc (asan_emit_stack_protection): Assert offsets[0] is
	zero if there is no stack protect guard, otherwise
	-ASAN_RED_ZONE_SIZE.  If alignb > ASAN_RED_ZONE_SIZE and there is
	stack pointer guard, take the ASAN_RED_ZONE_SIZE bytes allocated at
	the top of the stack into account when computing base_align_bias.
	Recompute use_after_return_class from asan_frame_size + base_align_bias
	and set to -1 if that would overflow to 11.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-04-05  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/114566
	* tree-vect-loop.cc (update_epilogue_loop_vinfo): Don't clear
	base_misaligned.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

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

	PR c++/114537
	* fold-const.cc (native_encode_initializer): Look through
	NON_LVALUE_EXPR if val is INTEGER_CST.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

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

	PR middle-end/113907
	* ipa-icf.cc (sem_item_optimizer::merge_classes): Reset
	SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged
	functions.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

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

	PR target/114310
	* config/aarch64/aarch64.cc (aarch64_expand_compare_and_swap): For
	TImode force newval into a register.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

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

	PR rtl-optimization/110079
	* bb-reorder.cc (fix_crossing_unconditional_branches): Don't adjust
	asm goto.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

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

	PR target/114184
	* config/i386/i386-expand.cc (ix86_expand_move): If XFmode op1
	is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or
	register.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-02-12  Jakub Jelinek  <jakub@redhat.com>

	PR c++/113674
	* attribs.cc (extract_attribute_substring): Remove.
	(lookup_scoped_attribute_spec): Don't call it.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

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

	* ggc-common.cc (gt_pch_save): Allow addr to be equal to
	mmi.preferred_base + mmi.size - sizeof (void *).

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-01-30  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/113603
	* tree-ssa-strlen.cc (strlen_pass::handle_store): After
	count_nonzero_bytes call refetch si using get_strinfo in case it
	has been unshared in the meantime.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-01-25  Jakub Jelinek  <jakub@redhat.com>

	* doc/generic.texi (VECTOR_CST): Fix typo - petterns -> patterns.
	* doc/rtl.texi (CONST_VECTOR): Likewise.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-01-18  Jakub Jelinek  <jakub@redhat.com>

	PR target/113122
	* config/i386/i386.cc (x86_function_profiler): Add -masm=intel
	support.  Add missing space after , in emitted assembly in some
	cases.  Formatting fixes.

2024-06-11  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-01-16  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/113372
	PR middle-end/90348
	PR middle-end/110115
	PR middle-end/111422
	* cfgexpand.cc (add_scope_conflicts_2): New function.
	(add_scope_conflicts_1): Use it.

2024-06-11  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-08-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111070
	* tree-ssa-ifcombine.cc (ifcombine_ifandif): Check we have
	an SSA name before checking SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

2024-06-07  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2023-12-29  Jan Hubicka  <jh@suse.cz>

	* config/i386/x86-tune.def (X86_TUNE_AVOID_128FMA_CHAINS,
	X86_TUNE_AVOID_256FMA_CHAINS): Enable for znver4 and Core.

2024-06-04  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-11-28  Richard Biener  <rguenther@suse.de>

	PR middle-end/112732
	* tree.cc (build_opaque_vector_type): Reset TYPE_ALIAS_SET
	of the newly built type.

2024-06-04  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-06-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110381
	* tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts):
	Materialize permutes before fold-left reductions.

2024-06-04  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-02-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/113910
	* bitmap.cc (bitmap_hash): Mix the full element "hash" to
	the hashval_t hash.

2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2024-01-29  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/113281
	* tree-vect-patterns.cc (vect_recog_over_widening_pattern): Remove
	workaround for right shifts.
	(vect_truncatable_operation_p): Handle NEGATE_EXPR and BIT_NOT_EXPR.
	(vect_determine_precisions_from_range): Be more selective about
	which codes can be narrowed based on their input and output ranges.
	For shifts, require at least one more bit of precision than the
	maximum shift amount.

2024-06-04  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2024-05-24  Richard Sandiford  <richard.sandiford@arm.com>

	PR tree-optimization/115192
	* tree-data-ref.cc (create_intersect_range_checks): Take the
	alignment of the access sizes into account.

2024-06-03  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2024-05-31  Uros Bizjak  <ubizjak@gmail.com>

	PR target/115297
	* config/alpha/alpha.md (<any_divmod:code>si3): Wrap DImode
	operands 3 and 4 with truncate:SI RTX.
	(*divmodsi_internal_er): Ditto for operands 1 and 2.
	(*divmodsi_internal_er_1): Ditto.
	(*divmodsi_internal): Ditto.
	* config/alpha/constraints.md ("b"): Correct register
	number in the description.

2024-05-30  YunQiang Su  <syq@gcc.gnu.org>

	Backported from master:
	2024-05-29  YunQiang Su  <syq@gcc.gnu.org>

	* config/mips/mips.cc(mips16_gp_pseudo_reg): Mark
	MIPS16_PIC_TEMP and MIPS_PROLOGUE_TEMP clobbered.
	(mips_emit_call_insn): Mark MIPS16_PIC_TEMP and
	MIPS_PROLOGUE_TEMP clobbered if MIPS16 and CALL_CLOBBERED_GP.

2024-05-28  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-05-22  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/115172
	* ubsan.cc (instrument_bool_enum_load): If rhs is not in generic
	address space, use qualified version of utype with the right
	address space.  Formatting fix.

2024-05-28  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2024-05-14  Martin Jambor  <mjambor@suse.cz>

	PR ipa/113907
	* ipa-prop.h (ipa_jump_functions_equivalent_p): Declare.
	(values_equal_for_ipcp_p): Likewise.
	* ipa-prop.cc (ipa_agg_pass_through_jf_equivalent_p): New function.
	(ipa_agg_jump_functions_equivalent_p): Likewise.
	(ipa_jump_functions_equivalent_p): Likewise.
	* ipa-cp.cc (values_equal_for_ipcp_p): Make function public.
	* ipa-icf-gimple.cc: Include alloc-pool.h, symbol-summary.h, sreal.h,
	ipa-cp.h and ipa-prop.h.
	(func_checker::compare_gimple_call): Comapre jump functions.

2024-05-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-01-31  Richard Biener  <rguenther@suse.de>

	PR middle-end/110176
	* match.pd (zext (bool) <= (int) 4294967295u): Make sure
	to match INTEGER_CST only without outstanding conversion.

2024-05-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-08-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111039
	* tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
	SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

2024-05-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-11-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/112281
	* tree-loop-distribution.cc
	(loop_distribution::pg_add_dependence_edges): For = in the
	innermost common loop record a partition conflict.

2024-05-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-11-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/112495
	* tree-data-ref.cc (runtime_alias_check_p): Reject checks
	between different address spaces.

2024-05-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-01-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/112505
	* tree-vect-loop.cc (vectorizable_induction): Reject
	bit-precision induction.

2024-05-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-01-23  Richard Biener  <rguenther@suse.de>

	PR debug/112718
	* dwarf2out.cc (dwarf2out_finish): Reset all type units
	for the fat part of an LTO compile.

2024-05-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-12-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/112793
	* tree-vect-slp.cc (vect_schedule_slp_node): Already
	code-generated constant/external nodes are OK.

2024-05-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-02-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/114027
	* tree-vect-loop.cc (vecctorizable_reduction): Use optimized
	condition reduction classification only for single-element
	chains.

2024-05-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-05-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/114375
	* tree-vect-slp.cc (vect_build_slp_tree_2): Compute the
	load permutation for masked loads but reject it when any
	such is necessary.
	* tree-vect-stmts.cc (vectorizable_load): Reject masked
	VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not
	supported.

2024-05-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-03-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/114231
	* tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when
	processing a BB SLP root.

2024-05-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-05-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/114734
	* internal-fn.cc (expand_call_mem_ref): Use
	get_gimple_for_ssa_name to get at the def stmt of the address
	argument to honor SSA coalescing constraints.

2024-05-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-04-09  Richard Biener  <rguenther@suse.de>

	PR lto/114655
	* lto-wrapper.cc (merge_flto_options): Add force argument.
	(merge_and_complain): Do not force here.
	(run_gcc): But here to make the link-time -flto option override
	any compile-time one.

2024-05-16  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-05-03  Richard Biener  <rguenther@suse.de>

	PR gcov-profile/114715
	* gimplify.cc (gimplify_switch_expr): Set the location of the
	GIMPLE switch.

2024-05-15  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2024-04-08  Martin Jambor  <mjambor@suse.cz>

	PR ipa/108007
	PR ipa/112616
	* cgraph.h (cgraph_edge): Add a parameter to
	redirect_call_stmt_to_callee.
	* ipa-param-manipulation.h (ipa_param_adjustments): Add a
	parameter to modify_call.
	(ipa_release_ssas_in_hash): Declare.
	* cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): New
	parameter killed_ssas, pass it to padjs->modify_call.
	* ipa-param-manipulation.cc (purge_all_uses): New function.
	(ipa_param_adjustments::modify_call): New parameter killed_ssas.
	Instead of substituting uses, invoke purge_all_uses.  If
	hash of killed SSAs has not been provided, create a temporary one
	and release SSAs that have been added to it.
	(compare_ssa_versions): New function.
	(ipa_release_ssas_in_hash): Likewise.
	* tree-inline.cc (redirect_all_calls): Create
	id->killed_new_ssa_names earlier, pass it to edge redirection,
	adjust a comment.
	(copy_body): Release SSAs in id->killed_new_ssa_names.

2024-05-15  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2024-04-05  Martin Jambor  <mjambor@suse.cz>

	PR ipa/114247
	* ipa-param-manipulation.cc (ipa_param_adjustments::modify_call):
	Force values obtined through pass-through maps to the expected
	split type.

2024-05-13  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/111009
	* range-op.cc (operator_addr_expr::op1_range): Be more restrictive.
	* value-range.h (contains_zero_p): New.

2024-05-09  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2023-09-25  Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/110386
	* gimple-ssa-backprop.cc (strip_sign_op_1): Remove ABSU_EXPR.

2024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>

	Backported from master:
	2024-02-22  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/109804
	* gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle
	DEMANGLE_COMPONENT_UNNAMED_TYPE.

2024-05-08  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2023-09-10  Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/111331
	* tree-ssa-phiopt.cc (minmax_replacement):
	Fix the LE/GE comparison for the
	`(a CMP CST1) ? max<a,CST2> : a` optimization.

2024-05-08  Andrew Pinski  <quic_apinski@quicinc.com>

	Backported from master:
	2024-03-11  Andrew Pinski  <quic_apinski@quicinc.com>

	PR middle-end/95351
	* fold-const.cc (merge_truthop_with_opposite_arm): Use
	the type of the operands of the comparison and not the type
	of the comparison.

2024-05-07  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr-mcus.def: Add new MCUs (copy from gcc-13).
	* doc/avr-mmcu.texi: Rebuild.

2024-05-07  Georg-Johann Lay  <avr@gjlay.de>

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

	PR ipa/92606
	* config/avr/avr.cc (avr_option_override): Set
	flag_ipa_icf_variables = 0.

2024-05-02  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-04-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/114672
	* tree-ssa-math-opts.cc (convert_plusminus_to_widen): Only
	allow mode-precision results.

2024-05-02  Will Schmidt  <will_schmidt@linux.ibm.com>

	Backported from master:
	2024-04-12  Will Schmidt  <will_schmidt@linux.ibm.com>
		    Peter Bergner  <bergner@linux.ibm.com>

	PR target/101865
	* config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported): Use
	TARGET_POWER8.
	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use
	OPTION_MASK_POWER8.
	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_POWER8.
	(ISA_2_7_MASKS_SERVER): Likewise.
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Update
	comment.  Use OPTION_MASK_POWER8 and TARGET_POWER8.
	* config/rs6000/rs6000.h (TARGET_SYNC_HI_QI): Use TARGET_POWER8.
	* config/rs6000/rs6000.md (define_attr "isa"): Add p8.
	(define_attr "enabled"): Handle it.
	(define_insn "prefetch"): Use TARGET_POWER8.
	* config/rs6000/rs6000.opt (mpower8-internal): New.

2024-05-02  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2024-04-10  Peter Bergner  <bergner@linux.ibm.com>

	PR target/101865
	* config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define.
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace
	OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR.  Delete redundant
	OPTION_MASK_DIRECT_MOVE usage.  Delete TARGET_DIRECT_MOVE dead code.
	(rs6000_opt_masks): Neuter the "direct-move" option.
	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Replace
	OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR.  Delete useless
	comment.
	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete
	OPTION_MASK_DIRECT_MOVE.
	(OTHER_P8_VECTOR_MASKS): Likewise.
	(POWERPC_MASKS): Likewise.
	* config/rs6000/rs6000.opt (mdirect-move): Remove Mask and Var.

2024-05-01  Jeevitha  <jeevitha@linux.ibm.com>

	Backported from master:
	2024-03-07  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>

	PR target/113950
	* config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to operand1
	and simplify else if with else.

2024-04-30  Joe Ramsay  <Joe.Ramsay@arm.com>

	Backported from master:
	2024-03-15  Joe Ramsay  <Joe.Ramsay@arm.com>

	* match.pd: Fix truncation pattern for -fno-signed-zeroes

2024-04-30  Yang Yujie  <yangyujie@loongson.cn>

	Backported from master:
	2023-12-12  Yang Yujie  <yangyujie@loongson.cn>

	PR target/114848
	* config/loongarch/loongarch.cc: Do not restore the saved eh_return
	data registers ($r4-$r7) for a normal return of a function that calls
	__builtin_eh_return elsewhere.
	* config/loongarch/loongarch-protos.h: Same.
	* config/loongarch/loongarch.md: Same.

2024-04-26  Richard Ball  <richard.ball@arm.com>

	PR target/114272
	* config/aarch64/aarch64-cores.def (AARCH64_CORE):
	Change SCHEDULER_IDENT from cortexa55 to cortexa53
	for Cortex-A510.

2024-04-25  Richard Ball  <richard.ball@arm.com>

	Backported from master:
	2024-04-25  Richard Ball  <richard.ball@arm.com>

	PR target/114837
	* config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
	Add zero/sign extend.
	(arm_expand_prologue): Add zero/sign extend.

2024-04-25  Kewen Lin  <linkw@linux.ibm.com>
	    Andrew Pinski  <quic_apinski@quicinc.com>

	PR target/88309
	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Fix
	wrong align passed to function build_aligned_type.
	* tree-ssa-loop-prefetch.cc (is_miss_rate_acceptable): Add an
	assertion to ensure align_unit should be positive.
	* tree.cc (build_qualified_type): Update function comments.

2024-04-23  Jakub Jelinek  <jakub@redhat.com>

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

	PR sanitizer/111736
	* tsan.cc (instrument_expr): Punt on non-generic address space
	accesses.

2024-04-23  Jakub Jelinek  <jakub@redhat.com>

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

	PR sanitizer/111736
	* ubsan.cc (ubsan_expand_null_ifn, instrument_mem_ref): Avoid
	SANITIZE_NULL instrumentation for non-generic address spaces
	for which targetm.addr_space.zero_address_valid (as) is true.

2024-04-23  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-03-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111736
	* asan.cc (instrument_derefs): Do not instrument accesses
	to non-generic address-spaces.

2024-04-23  Richard Biener  <rguenther@suse.de>

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

	PR sanitizer/111736
	* asan.cc (asan_protect_global): Do not protect globals
	in non-generic address-space.

2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/darwin.h (LIB_SPEC): Include libSystemStubs for
	all 32b Darwin PowerPC cases.

2024-04-22  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_override_options): Update the
	clang major version value in the dsymutil check.

2024-04-21  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2024-04-02  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_override_options): Reduce the debug
	level to 2 if dsymutil cannot handle .macinfo sections.

2024-04-19  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-10-25  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_override_options): Handle fPIE.

2024-04-19  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.h (LINK_COMMAND_SPEC_A): Handle weak crts
	before other objects. (REAL_LIBGCC_SPEC): Remove weak crts
	from here.  (DARWIN_WEAK_CRTS): New.

2024-04-19  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2024-01-28  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_build_constant_cfstring): Prevent over-
	alignment of CFString constants by setting DECL_USER_ALIGN.

2024-04-19  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_objc1_section): Use the correct
	meta-data version for constant strings.
	(machopic_select_section): Assert if we fail to handle CFString
	sections as Obejctive-C meta-data or drectly.

2024-04-19  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2024-01-18  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/105522
	* config/darwin.cc (machopic_select_section): Handle C and C++
	CFStrings.
	(darwin_rename_builtins): Move this out of the CFString code.
	(darwin_libc_has_function): Likewise.
	(darwin_build_constant_cfstring): Create an anonymous var to
	hold each CFString.
	* config/darwin.h (ASM_OUTPUT_LABELREF): Handle constant
	CFstrings.

2024-04-19  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-10-26  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.h
	(darwin_label_is_anonymous_local_objc_name): Make metadata names
	linker-visibile for GNU objective C.

2024-04-18  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-10-18  Iain Sandoe  <iain@sandoe.co.uk>

	* config.in: Regenerate.
	* config/darwin.cc (darwin_file_start): Add assembler directives
	for the target OS version, where these are supported by the
	assembler.
	(darwin_override_options): Check for building >= macOS 10.14.
	* configure: Regenerate.
	* configure.ac: Check for assembler support of .build_version
	directives.

2024-04-18  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-09-10  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_function_section): Place unlikely
	executed global init code into the standard cold section.

2024-04-18  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin-sections.def (static_init_section): Add the
	__TEXT,__StaticInit section.
	* config/darwin.cc (darwin_function_section): Use the static init
	section for global initializers, to match other platform toolchains.

2024-04-18  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-09-04  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin-sections.def (darwin_exception_section): Move to
	the __TEXT segment.
	* config/darwin.cc (darwin_emit_except_table_label): Align before
	the exception table label.
	* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC-
	relative 4byte relocs.

2024-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	Backported from master:
	2023-08-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v
	output.
	* configure: Regenerate.

2024-04-18  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-09-18  Iain Sandoe  <iain@sandoe.co.uk>

	* configure: Regenerate.
	* configure.ac: Handle explict disable of stdlib option, set
	defaults for Darwin.

2024-04-18  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-09-20  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.h:
	(SUBTARGET_DRIVER_SELF_SPECS): Move handling of 'shared' into the same
	specs as 'dynamiclib'. (STARTFILE_SPEC): Handle 'shared'.

2024-04-15  Richard Biener  <rguenther@suse.de>

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

	PR middle-end/114599
	PR gcov-profile/114115
	* symtab.cc (ifunc_ref_map): Do not use auto_bitmap.
	(is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit
	pair.
	(symtab_node::check_ifunc_callee_symtab_nodes): Properly
	allocate ifunc_ref_map here.

2024-04-15  H.J. Lu  <hjl.tools@gmail.com>

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

	PR tree-optimization/114115
	* cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes.
	(cgraph_node): Add called_by_ifunc_resolver.
	* cgraphunit.cc (symbol_table::compile): Call
	symtab_node::check_ifunc_callee_symtab_nodes.
	* symtab.cc (check_ifunc_resolver): New.
	(ifunc_ref_map): Likewise.
	(is_caller_ifunc_resolver): Likewise.
	(symtab_node::check_ifunc_callee_symtab_nodes): Likewise.
	* tree-profile.cc (gimple_gen_ic_func_profiler): Disable indirect
	call profiling for IFUNC resolvers and their callees.

2024-04-15  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64.h (AARCH64_ARCH): Remove LS64 from
	Armv8.7-a.

2024-04-15  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/113552
	* config/aarch64/aarch64.cc
	(aarch64_simd_clone_compute_vecsize_and_simdlen): Block simdlen 1.

2024-04-12  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-09-27  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/111610
	* configure: Regenerate.
	* configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN".

2024-04-12  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-09-18  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin-protos.h (enum darwin_external_toolchain): New.
	* config/darwin.cc (DSYMUTIL_VERSION): New.
	(darwin_override_options): Choose the default debug DWARF version
	depending on the configured dsymutil version.

2024-04-12  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
	protocol class methods linker-visible.

2024-04-11  Kito Cheng  <kito.cheng@sifive.com>

	Backported from master:
	2024-02-29  Kito Cheng  <kito.cheng@sifive.com>

	PR target/114130
	* config/riscv/sync.md (atomic_compare_and_swap<mode>): Sign
	extend the expected value if needed.

2024-04-04  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-07-13  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/110624
	* config/darwin.h (DARWIN_PLATFORM_ID): New.
	(LINK_COMMAND_A): Use DARWIN_PLATFORM_ID to pass OS, OS version
	and SDK data to the static linker.

2024-04-02  Qing Zhao  <qing.zhao@oracle.com>

	Backported from master:
	2023-09-15  Qing Zhao  <qing.zhao@oracle.com>

	PR tree-optimization/111407
	* tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform
	when one of the operands is subject to abnormal coalescing.

2024-04-01  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2024-01-11  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/113233
	* config/loongarch/genopts/loongarch.opt.in: Mark options with
	the "Save" property.
	* config/loongarch/loongarch-opts.cc
	(loongarch_update_gcc_opt_status): Update the value of the
	la_target to global_options.
	* config/loongarch/loongarch-opts.h
	(loongarch_update_gcc_opt_status): Add a function declaration.
	* config/loongarch/loongarch.cc
	(loongarch_option_override_internal): Call the function
	loongarch_update_gcc_opt_status.
	(loongarch_option_save): New functions.
	(loongarch_option_restore): Likewise.
	(TARGET_OPTION_SAVE): Define macro.
	(TARGET_OPTION_RESTORE): Likewise.
	* config/loongarch/loongarch.opt: Regenerate.

2024-03-27  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2024-03-05  Richard Sandiford  <richard.sandiford@arm.com>

	PR sanitizer/97696
	* asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int.

2024-03-26  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-08-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110838
	* match.pd (([rl]shift @0 out-of-bounds) -> zero): Restrict
	the arithmetic right-shift case to non-negative operands.

2024-03-26  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-07-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/91838
	* gimple-match-head.cc: Include attribs.h and asan.h.
	* generic-match-head.cc: Likewise.
	* match.pd (([rl]shift @0 out-of-bounds) -> zero): New pattern.

2024-03-17  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-07-02  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/108743
	* config/darwin.opt: Add fconstant-cfstrings alias to
	mconstant-cfstrings.
	* doc/invoke.texi: Amend invocation descriptions to reflect
	that the fconstant-cfstrings is a target-option alias and to
	add the missing mconstant-cfstrings option description to the
	Darwin section.

2024-03-17  Iain Sandoe  <iain@sandoe.co.uk>

	* config/i386/darwin.h (ENDFILE_SPEC): Fix whitespace.

2024-03-14  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2024-03-14  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386-features.cc
	(general_scalar_chain::convert_op): Handle REG_EH_REGION note.
	(convert_scalars_to_vector): Ditto.
	* config/i386/i386-features.h (class scalar_chain): New
	memeber control_flow_insns.

2024-03-09  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2024-03-09  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/sync.md (atomic_cas_value_strong<mode>):
	In loongarch64, a sign extension operation is added when
	operands[2] is a register operand and the mode is SImode.

2024-03-03  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/101737
	* config/sh/sh.cc (sh_is_nott_insn): Handle case where the input
	is not an insn, but e.g. a code label.

2024-03-01  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2024-02-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110221
	* tree-vect-slp.cc (vect_schedule_slp_node): When loop
	masking / len is applied make sure to not schedule
	intenal defs outside of the loop.

2024-02-27  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-ssa-dse.cc (compute_trims): Fix description.  Return early
	if either ref->offset is not byte aligned or ref->size is not known
	to be equal to ref->max_size.
	(maybe_trim_complex_store): Fix description.
	(maybe_trim_constructor_store): Likewise.
	(maybe_trim_partially_dead_store): Likewise.

2024-02-27  Jeevitha  <jeevitha@linux.ibm.com>

	Backported from master:
	2023-08-31  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>

	PR target/110411
	* config/rs6000/mma.md (define_insn_and_split movoo): Disallow
	AltiVec address operands.
	(define_insn_and_split movxo): Likewise.
	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Remove
	redundant mode size check.

2024-02-27  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2024-02-26  H.J. Lu  <hjl.tools@gmail.com>

	PR target/114098
	* config/i386/amxtileintrin.h (_tile_loadconfig): Use
	__builtin_ia32_ldtilecfg.
	(_tile_storeconfig): Use __builtin_ia32_sttilecfg.
	* config/i386/i386-builtin.def (BDESC): Add
	__builtin_ia32_ldtilecfg and __builtin_ia32_sttilecfg.
	* config/i386/i386-expand.cc (ix86_expand_builtin): Handle
	IX86_BUILTIN_LDTILECFG and IX86_BUILTIN_STTILECFG.
	* config/i386/i386.md (ldtilecfg): New pattern.
	(sttilecfg): Likewise.

2024-02-23  Richard Earnshaw  <rearnsha@arm.com>

	Backported from master:
	2024-02-23  Richard Earnshaw  <rearnsha@arm.com>

	PR target/108120
	* config/arm/neon.md (div<VCVTF:mode>3): Rename from div<mode>3.
	Gate with ARM_HAVE_NEON_<MODE>_ARITH.

2024-02-22  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2023-10-31  Xi Ruoyao  <xry111@xry111.site>

	PR target/112299
	* config/loongarch/loongarch-opts.h (HAVE_AS_TLS): Define to 0
	if not defined yet.

2024-02-22  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2023-11-14  Xi Ruoyao  <xry111@xry111.site>

	PR target/112330
	* config/loongarch/genopts/loongarch.opt.in: Add
	-m[no]-pass-relax-to-as.  Change the default of -m[no]-relax to
	account conditional branch relaxation support status.
	* config/loongarch/loongarch.opt: Regenerate.
	* configure.ac (gcc_cv_as_loongarch_cond_branch_relax): Check if
	the assembler supports conditional branch relaxation.
	* configure: Regenerate.
	* config.in: Regenerate.  Note that there are some unrelated
	changes introduced by r14-5424 (which does not contain a
	config.in regeneration).
	* config/loongarch/loongarch-opts.h
	(HAVE_AS_COND_BRANCH_RELAXATION): Define to 0 if not defined.
	* config/loongarch/loongarch.h (ASM_MRELAX_DEFAULT): Define.
	(ASM_MRELAX_SPEC): Define.
	(ASM_SPEC): Use ASM_MRELAX_SPEC instead of "%{mno-relax}".
	* doc/invoke.texi: Document -m[no-]relax and
	-m[no-]pass-mrelax-to-as for LoongArch.

2024-02-22  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2023-09-20  Lulu Cheng  <chenglulu@loongson.cn>

	* config.in: Regenerate.
	* config/loongarch/genopts/loongarch.opt.in: Add compilation option
	mrelax. And set the initial value of explicit-relocs according to the
	detection status.
	* config/loongarch/gnu-user.h: When compiling with -mno-relax, pass the
	--no-relax option to the linker.
	* config/loongarch/loongarch-opts.h (HAVE_AS_MRELAX_OPTION): Define macro.
	* config/loongarch/loongarch.opt: Regenerate.
	* configure: Regenerate.
	* configure.ac: Add detection of support for binutils relax function.

2024-02-22  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2023-10-17  Lulu Cheng  <chenglulu@loongson.cn>
		    Chenghua Xu  <xuchenghua@loongson.cn>

	* config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP):
	Delete.

2024-02-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	Backported from master:
	2023-12-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/112787
	* tree-vect-generic.cc (type_for_widest_vector_mode): Change function to
	use original vector type and check widest vector mode has at most the
	same number of elements.
	(get_compute_type): Pass original vector type rather than the element
	type to type_for_widest_vector_mode and remove now obsolete check for
	the number of elements.

2024-02-15  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2024-02-15  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/113921
	* cfgrtl.h (prepend_insn_to_edge): New declaration.
	* cfgrtl.cc (insert_insn_on_edge): Clarify behavior in function
	comment.
	(prepend_insn_to_edge): New function.
	* cfgexpand.cc (expand_asm_stmt): Use prepend_insn_to_edge instead of
	insert_insn_on_edge.

2024-02-14  Alex Coplan  <alex.coplan@arm.com>

	Backported from master:
	2024-02-07  Alex Coplan  <alex.coplan@arm.com>

	PR target/111677
	* config/aarch64/aarch64.cc (aarch64_reg_save_mode): Use
	V16QImode for the full 16-byte FPR saves in the vector PCS case.
	(aarch64_gen_storewb_pair): Handle V16QImode.
	(aarch64_gen_loadwb_pair): Likewise.
	(aarch64_gen_load_pair): Likewise.
	* config/aarch64/aarch64.md (loadwb_pair<TX:mode>_<P:mode>):
	Rename to ...
	(loadwb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to
	V16QImode.
	(storewb_pair<TX:mode>_<P:mode>): Rename to ...
	(storewb_pair<TX_V16QI:mode>_<P:mode>): ... this, extending to
	V16QImode.
	* config/aarch64/iterators.md (TX_V16QI): New.

2024-02-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/113896
	* tree-vect-slp.cc (vect_optimize_slp): Permute
	SLP_TREE_SCALAR_STMTS when eliding a permuation in a
	VEC_PERM node we need to preserve because it wraps an
	extern vector.

2024-02-08  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2024-02-08  Georg-Johann Lay  <avr@gjlay.de>

	PR target/113824
	* config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4.
	* doc/avr-mmcu.texi: Rebuild.

2024-02-05  Jason Merrill  <jason@redhat.com>

	Backported from master:
	2023-06-02  Jason Merrill  <jason@redhat.com>

	PR c++/95226
	PR c++/109359
	* varasm.cc (output_constant) [REAL_TYPE]: Check that sizes match.
	(initializer_constant_valid_p_1): Compare float precision.

2024-02-05  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2024-02-05  Xi Ruoyao  <xry111@xry111.site>

	* config/mips/mips-msa.md (neg<mode:MSA>2): Add missing mode for
	neg.

2024-02-05  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2024-02-05  Xi Ruoyao  <xry111@xry111.site>

	* config/mips/mips-msa.md (elmsgnbit): New define_mode_attr.
	(neg<mode>2): Change the mode iterator from MSA to IMSA because
	in FP arithmetic we cannot use (0 - x) for -x.
	(neg<mode>2): New define_insn to implement FP vector negation,
	using a bnegi instruction to negate the sign bit.

2024-02-02  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2024-01-24  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/110422
	* tree-sra.cc (scan_function): Disqualify bases of operands of asm
	gotos.

2024-02-01  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.md (atomic_storedi_1): Fix bug in
	alternative 1.

2024-01-26  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	Backported from master:
	2024-01-16  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add 'cobalt-100' CPU.
	* config/aarch64/aarch64-tune.md: Regenerated.
	* doc/invoke.texi (-mcpu): Add cobalt-100 core.

2024-01-25  Georg-Johann Lay  <avr@gjlay.de>

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

	PR target/113601
	* config/avr/avr-mcus.def (atmega3208, atmega3209): Fix data_section_start.

2024-01-16  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2024-01-15  Georg-Johann Lay  <avr@gjlay.de>

	PR target/107201
	* config/avr/avr.h (EXTRA_SPEC_FUNCTIONS): Add no-devlib, avr_no_devlib.
	* config/avr/driver-avr.cc (avr_no_devlib): New function.
	(avr_devicespecs_file): Use it to remove -nodevicelib from the
	options for cores only.
	* config/avr/avr-arch.h (avr_get_parch): New prototype.
	* config/avr/avr-devices.cc (avr_get_parch): New function.

2024-01-15  Andrew Pinski  <quic_apinski@quicinc.com>

	Backported from master:
	2024-01-15  Andrew Pinski  <quic_apinski@quicinc.com>

	PR target/113156
	* config/avr/avr.opt (-mdouble, -mlong-double): Add "Save" flag.
	(-mbranch-cost): Set "Optimization" flag.

2024-01-12  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2024-01-12  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.cc (avr_handle_addr_attribute): Move "..." from
	format string to %s argument.

2024-01-08  Georg-Johann Lay  <avr@gjlay.de>

	Backported from master:
	2024-01-08  Georg-Johann Lay  <avr@gjlay.de>

	PR target/112952
	* config/avr/avr.cc (avr_handle_addr_attribute): Also print valid
	range when diagnosing attribute "io" and "io_low" are out of range.
	(avr_eval_addr_attrib): Don't ICE on empty address at that place.
	(avr_insert_attributes): Reject if attribute "address", "io" or "io_low"
	in contexts other than static storage.
	(avr_asm_output_aligned_decl_common): Move output of decls with
	attribute "address", "io", and "io_low" to...
	(avr_output_addr_attrib): ...this new function.
	(avr_asm_asm_output_aligned_bss): Remove output for decls with
	attribute "address", "io", and "io_low".
	(avr_encode_section_info): Rectify handling of decls with attribute
	"address", "io", and "io_low".

2023-12-19  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-12-19  Jakub Jelinek  <jakub@redhat.com>

	PR target/112816
	* config/i386/mmx.md (signbitv2sf2): Force operands[1] into a REG.

2023-12-18  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-12-18  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/113013
	* tree-object-size.cc (alloc_object_size): Return size_unknown if
	corresponding argument(s) don't have integral type or have integral
	type with higher precision than sizetype.  Don't check arg1 >= 0
	uselessly.  Compare argument indexes against gimple_call_num_args
	in unsigned type rather than int.  Formatting fixes.

2023-12-16  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-11-29  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/112733
	* fold-const.cc (multiple_of_p): Pass SIGNED rather than
	UNSIGNED for wi::multiple_of_p on widest_int arguments.

2023-12-16  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-12-05  Jakub Jelinek  <jakub@redhat.com>

	PR target/112845
	* config/i386/i386.md (movabsq $(i32 << shift), r64 peephole2): FAIL
	if the new immediate is ix86_endbr_immediate_operand.

2023-12-16  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-12-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/112837
	* config/i386/i386.cc (ix86_elim_entry_set_got): Before checking
	for UNSPEC_SET_GOT check that SET_SRC is UNSPEC.  Use SET_SRC and
	SET_DEST macros instead of XEXP, rename vec variable to set.

2023-12-16  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-12-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/112816
	* config/i386/sse.md (signbit<mode>2): Force operands[1] into a REG.

2023-12-16  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR target/111408
	* config/i386/i386.md (*jcc_bt<mode>_mask): Add (const_int 0) as
	expected second operand of bt_comparison_operator.

2023-12-16  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-11-13  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/111967
	* gimple-range-cache.cc (block_range_cache::set_bb_range): Grow
	m_ssa_ranges to num_ssa_names rather than num_ssa_names + 1.
	(block_range_cache::dump): Iterate from 1 rather than 0.  Don't use
	ssa_name (x) unless m_ssa_ranges[x] is non-NULL.  Iterate to
	m_ssa_ranges.length () rather than num_ssa_names.

2023-12-16  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-11-09  Jakub Jelinek  <jakub@redhat.com>

	PR c/112339
	* attribs.cc (attribute_ignored_p): Only return true for
	attr_namespace_ignored_p if as is NULL.
	(decl_attributes): Never add ignored attributes.

2023-12-16  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-07-19  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/110731
	* wide-int.cc (wi::divmod_internal): Always unpack dividend and
	divisor as UNSIGNED regardless of sgn.

2023-12-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-08-24  Richard Biener  <rguenther@suse.de>

	PR debug/111080
	* dwarf2out.cc (prune_unused_types_walk): Handle
	DW_TAG_restrict_type, DW_TAG_shared_type, DW_TAG_atomic_type,
	DW_TAG_immutable_type, DW_TAG_coarray_type, DW_TAG_unspecified_type
	and DW_TAG_dynamic_type as to only output them when referenced.

2023-12-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-08-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111137
	* tree-vect-data-refs.cc (vect_slp_analyze_load_dependences):
	Properly handle grouped stores from other SLP instances.

2023-12-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-08-25  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.cc (vect_slp_analyze_store_dependences):
	Split out from vect_slp_analyze_node_dependences, remove
	dead code.
	(vect_slp_analyze_load_dependences): Split out from
	vect_slp_analyze_node_dependences, adjust comments.  Process
	queued stores before any disambiguation.
	(vect_slp_analyze_node_dependences): Remove.
	(vect_slp_analyze_instance_dependence): Adjust.

2023-12-12  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2023-12-12  liuhongt  <hongtao.liu@intel.com>

	PR target/112891
	* config/i386/i386.cc (ix86_avx_u128_mode_after): Return
	AVX_U128_ANY if callee_abi doesn't clobber all_sse_regs to
	align with ix86_avx_u128_mode_needed.
	(ix86_avx_u128_mode_needed): Return AVX_U128_ClEAN for
	sibling_call.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-10-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111917
	* tree-ssa-loop-unswitch.cc (hoist_guard): Always insert
	new conditional after last stmt.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-10-17  Richard Biener  <rguenther@suse.de>

	PR middle-end/111818
	* tree-ssa.cc (maybe_optimize_var): When clearing
	DECL_NOT_GIMPLE_REG_P always rewrite into SSA.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-09-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111614
	* tree-ssa-reassoc.cc (undistribute_bitref_for_vector): Properly
	convert the first vector when required.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-10-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111764
	* tree-vect-loop.cc (check_reduction_path): Remove the attempt
	to allow x + x via special-casing of assigns.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-10-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111445
	* tree-scalar-evolution.cc (simple_iv_with_niters):
	Add missing check for a sign-conversion.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-08-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111019
	* tree-ssa-loop-im.cc (gather_mem_refs_stmt): When canonicalizing
	also scrap base and offset in case the ref is indirect.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-08-03  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110702
	* tree-ssa-loop-ivopts.cc (rewrite_use_address): When
	we created a NULL pointer based access rewrite that to
	a LEA.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-07-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110556
	* tree-ssa-tail-merge.cc (gimple_equal_p): Check
	assign code and all operands of non-stores.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-07-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110515
	* tree-ssa-pre.cc (compute_avail): Make code dealing
	with hoisting loads with different alias-sets more
	robust.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-06-20  Richard Biener  <rguenther@suse.de>

	PR debug/110295
	* dwarf2out.cc (process_scope_var): Continue processing
	the decl after setting a parent in case the existing DIE
	was in limbo.

2023-11-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-05-31  Richard Biener  <rguenther@suse.de>

	PR ipa/109983
	PR tree-optimization/109143
	* tree-ssa-structalias.cc (struct topo_info): Remove.
	(init_topo_info): Likewise.
	(free_topo_info): Likewise.
	(compute_topo_order): Simplify API, put the component
	with ESCAPED last so it's processed first.
	(topo_visit): Adjust.
	(solve_graph): Likewise.

2023-11-24  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2023-11-23  Uros Bizjak  <ubizjak@gmail.com>

	PR target/112672
	* config/i386/i386.md (parityhi2):
	Use temporary register in the call to gen_parityhi2_cmp.

2023-11-22  Maciej W. Rozycki  <macro@embecosm.com>

	Backported from master:
	2023-11-22  Maciej W. Rozycki  <macro@embecosm.com>

	PR target/111815
	* config/vax/vax.cc (index_term_p): Only accept the index scaler
	as the RHS operand to ASHIFT.

2023-11-20  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2023-11-20  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/gnu-user.h (MUSL_ABI_SPEC): Modify suffix.

2023-11-20  Peng Fan  <fanpeng@loongson.cn>

	Backported from master:
	2023-04-21  Peng Fan  <fanpeng@loongson.cn>

	* config/loongarch/gnu-user.h (MUSL_DYNAMIC_LINKER): Redefine.

2023-11-16  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2023-11-15  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/loongarch.cc
	(loongarch_memmodel_needs_release_fence): Remove.
	(loongarch_cas_failure_memorder_needs_acquire): New static
	function.
	(loongarch_print_operand): Redefine 'G' for the barrier on CAS
	failure.
	* config/loongarch/sync.md (atomic_cas_value_strong<mode>):
	Remove the redundant barrier before the LL instruction, and
	emit an acquire barrier on failure if needed by
	failure_memorder.
	(atomic_cas_value_cmp_and_7_<mode>): Likewise.
	(atomic_cas_value_add_7_<mode>): Remove the unnecessary barrier
	before the LL instruction.
	(atomic_cas_value_sub_7_<mode>): Likewise.
	(atomic_cas_value_and_7_<mode>): Likewise.
	(atomic_cas_value_xor_7_<mode>): Likewise.
	(atomic_cas_value_or_7_<mode>): Likewise.
	(atomic_cas_value_nand_7_<mode>): Likewise.
	(atomic_cas_value_exchange_7_<mode>): Likewise.

2023-11-15  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-11-06  Kewen Lin  <linkw@linux.ibm.com>

	PR target/111828
	* config.in: Regenerate.
	* config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Guard
	inline asm handling under !HAVE_AS_POWER10_HTM.
	* configure: Regenerate.
	* configure.ac: Detect assembler support for HTM insns at power10.

2023-11-10  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2023-11-10  liuhongt  <hongtao.liu@intel.com>

	PR target/112443
	* config/i386/sse.md (*avx2_pcmp<mode>3_4): Fix swap condition
	from LT to GT since there's not in the pattern.
	(*avx2_pcmp<mode>3_5): Ditto.

2023-11-06  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.cc (pa_asm_trampoline_template): Fix typo.

2023-10-26  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2023-10-23  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.h (CLEAR_INSN_CACHE): New definition.

2023-10-26  chenxiaolong  <chenxiaolong@loongson.cn>

	Backported from master:
	2023-10-25  chenxiaolong  <chenxiaolong@loongson.cn>

	* config/loongarch/loongarch.md (get_thread_pointer<mode>):Adds the
	instruction template corresponding to the __builtin_thread_pointer
	function.
	* doc/extend.texi:Add the __builtin_thread_pointer function support
	description to the documentation.

2023-10-26  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2023-07-06  liuhongt  <hongtao.liu@intel.com>

	PR target/110170
	* config/i386/i386.md (movdf_internal): Disparage slightly for
	2 alternatives (r,v) and (v,r) by adding constraint modifier
	'?'.

2023-10-23  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/111001
	* config/sh/sh_treg_combine.cc (sh_treg_combine::record_set_of_reg):
	Skip over nop move insns.

2023-10-23  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-10-12  Kewen Lin  <linkw@linux.ibm.com>

	PR target/111367
	* config/rs6000/rs6000.md (stack_protect_setsi): Support prefixed
	instruction emission and incorporate to stack_protect_set<mode>.
	(stack_protect_setdi): Rename to ...
	(stack_protect_set<mode>): ... this, adjust constraint.
	(stack_protect_testsi): Support prefixed instruction emission and
	incorporate to stack_protect_test<mode>.
	(stack_protect_testdi): Rename to ...
	(stack_protect_test<mode>): ... this, adjust constraint.

2023-10-20  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/101177
	* config/sh/sh.md (unnamed split pattern): Fix comparison of
	find_regno_note result.

2023-10-19  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-09-07  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/111528
	* lra-eliminations.cc (lra_eliminate_regs_1): Use simplify_gen_binary
	rather than gen_rtx_PLUS.

2023-10-16  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-09-25  Kewen Lin  <linkw@linux.ibm.com>

	PR target/111380
	* config/rs6000/rs6000.cc (rs6000_can_inline_p): Adopt
	target_option_default_node when the callee has no option
	attributes, also simplify the existing code accordingly.

2023-10-16  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-09-25  Kewen Lin  <linkw@linux.ibm.com>

	PR target/111366
	* config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Skip
	empty inline asm.

2023-10-07  Andrew Pinski  <pinskia@gmail.com>

	Backported from master:
	2023-10-06  Andrew Pinski  <pinskia@gmail.com>

	PR middle-end/111699
	* match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e),
	(v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Enable only for GIMPLE.

2023-10-02  Pat Haugen  <pthaugen@linux.ibm.com>

	Backported from master:
	2023-09-19  Pat Haugen  <pthaugen@linux.ibm.com>

	* config/rs6000/rs6000.cc (rs6000_rtx_costs): Check whether the
	modulo instruction is disabled.
	* config/rs6000/rs6000.h (RS6000_DISABLE_SCALAR_MODULO): New.
	* config/rs6000/rs6000.md (mod<mode>3, *mod<mode>3): Check it.
	(define_expand umod<mode>3): New.
	(define_insn umod<mode>3): Rename to *umod<mode>3 and check if the modulo
	instruction is disabled.
	(umodti3, modti3): Check if the modulo instruction is disabled.

2023-09-29  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	Backported from master:
	2023-09-28  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR target/111121
	* config/aarch64/aarch64.md (aarch64_movmemdi): Add new expander.
	(movmemdi): Call aarch64_expand_cpymem_mops for correct expansion.
	* config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Add support
	for memmove.
	* config/aarch64/aarch64-protos.h (aarch64_expand_cpymem_mops): Add new
	function.

2023-09-26  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple-range-gori.cc (gori_compute::logical_combine): Add missing
	return statement in the varying case.

2023-09-20  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-09-15  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/111411
	* config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require
	the lower memory access to a mem-pair operand.

2023-09-20  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-08-31  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.md (untyped_call): Emit a call_value
	rather than a call.  List each possible destination register
	in the call pattern.

2023-09-12  Uros Bizjak  <ubizjak@gmail.com>

	PR target/111340
	* config/i386/i386.cc (output_pic_addr_const): Handle CONST_WIDE_INT.
	Call output_addr_const for CASE_CONST_SCALAR_INT.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_save_regs_above_locals_p):
	New function.
	(aarch64_layout_frame): Use it to decide whether locals should
	go above or below the saved registers.
	(aarch64_expand_prologue): Update stack layout comment.
	Emit a stack tie after the final adjustment.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame::saved_regs_size)
	(aarch64_frame::below_hard_fp_saved_regs_size): Delete.
	* config/aarch64/aarch64.cc (aarch64_layout_frame): Update accordingly.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe)
	(aarch64_frame::hard_fp_save_and_probe): New fields.
	* config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize them.
	Rather than asserting that a leaf function saves LR, instead assert
	that a leaf function saves something.
	(aarch64_get_separate_components): Prevent the chosen probe
	registers from being individually shrink-wrapped.
	(aarch64_allocate_and_probe_stack_space): Remove workaround for
	probe registers that aren't at the bottom of the previous allocation.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space):
	Always probe the residual allocation at offset 1024, asserting
	that that is in range.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_layout_frame): Ensure that
	the LR save slot is in the first 16 bytes of the register save area.
	Only form STP/LDP push/pop candidates if both registers are valid.
	(aarch64_allocate_and_probe_stack_space): Remove workaround for
	when LR was not in the first 16 bytes.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space):
	Don't probe final allocations that are exactly 1KiB in size (after
	unprobed space above the final allocation has been deducted).

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_layout_frame): Tweak
	calculation of initial_adjust for frames in which all saves
	are SVE saves.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_layout_frame): Simplify
	the allocation of the top of the frame.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame): Add comment above
	reg_offset.
	* config/aarch64/aarch64.cc (aarch64_layout_frame): Walk offsets
	from the bottom of the frame, rather than the bottom of the saved
	register area.  Measure reg_offset from the bottom of the frame
	rather than the bottom of the saved register area.
	(aarch64_save_callee_saves): Update accordingly.
	(aarch64_restore_callee_saves): Likewise.
	(aarch64_get_separate_components): Likewise.
	(aarch64_process_components): Likewise.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename
	to...
	(aarch64_frame::bytes_above_hard_fp): ...this.
	* config/aarch64/aarch64.cc (aarch64_layout_frame)
	(aarch64_expand_prologue): Update accordingly.
	(aarch64_initial_elimination_offset): Likewise.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to...
	(aarch64_frame::bytes_above_locals): ...this.
	* config/aarch64/aarch64.cc (aarch64_layout_frame)
	(aarch64_initial_elimination_offset): Update accordingly.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_expand_prologue): Move the
	calculation of chain_offset into the emit_frame_chain block.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete.
	* config/aarch64/aarch64.cc (aarch64_layout_frame): Remove
	callee_offset handling.
	(aarch64_save_callee_saves): Replace the start_offset parameter
	with a bytes_below_sp parameter.
	(aarch64_restore_callee_saves): Likewise.
	(aarch64_expand_prologue): Update accordingly.
	(aarch64_expand_epilogue): Likewise.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New
	field.
	* config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it.
	(aarch64_expand_epilogue): Use it instead of
	below_hard_fp_saved_regs_size.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New
	field.
	* config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it,
	and use it instead of crtl->outgoing_args_size.
	(aarch64_get_separate_components): Use bytes_below_saved_regs instead
	of outgoing_args_size.
	(aarch64_process_components): Likewise.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_layout_frame): Explicitly
	allocate the frame in one go if there are no saved registers.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_expand_prologue): Use
	chain_offset rather than callee_offset.

2023-09-12  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use
	a local shorthand for cfun->machine->frame.
	(aarch64_restore_callee_saves, aarch64_get_separate_components):
	(aarch64_process_components): Likewise.
	(aarch64_allocate_and_probe_stack_space): Likewise.
	(aarch64_expand_prologue, aarch64_expand_epilogue): Likewise.
	(aarch64_layout_frame): Use existing shorthand for one more case.

2023-09-12  Haochen Gui  <guihaoc@gcc.gnu.org>

	Backported from master:
	2023-08-31  Haochen Gui  <guihaoc@gcc.gnu.org>

	PR target/96762
	* config/rs6000/rs6000-string.cc (expand_block_move): Call vector
	load/store with length only on 64-bit Power10.

2023-09-11  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2023-09-11  liuhongt  <hongtao.liu@intel.com>

	PR target/111306
	PR target/111335
	* config/i386/sse.md (int_comm): New int_attr.
	(fma_<complexopname>_<mode><sdc_maskz_name><round_name>):
	Remove % for Complex conjugate operations since they're not
	commutative.
	(fma_<complexpairopname>_<mode>_pair): Ditto.
	(<avx512>_<complexopname>_<mode>_mask<round_name>): Ditto.
	(cmul<conj_op><mode>3): Ditto.

2023-09-01  Tobias Burnus  <tobias@codesourcery.com>

	Backported from master:
	2023-08-19  Tobias Burnus  <tobias@codesourcery.com>

	PR middle-end/111017
	* omp-expand.cc (expand_omp_for_init_vars): Pass after=true
	to expand_omp_build_cond for 'factor != 0' condition, resulting
	in pre-r12-5295-g47de0b56ee455e code for the gimple insert.

2023-09-01  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2023-09-01  Lulu Cheng  <chenglulu@loongson.cn>
		    Guo Jie  <guojie@loongson.cn>

	PR target/110484
	* config/loongarch/loongarch.cc (loongarch_emit_stack_tie): Use the
	frame_pointer_needed to determine whether to use the $fp register.

2023-08-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-08-30  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/110914
	* tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcpy): Don't call
	adjust_last_stmt unless len is known constant.

2023-08-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-08-30  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/111015
	* gimple-ssa-store-merging.cc
	(imm_store_chain_info::output_merged_store): Use wi::mask and
	wide_int_to_tree instead of unsigned HOST_WIDE_INT shift and
	build_int_cst to build BIT_AND_EXPR mask.

2023-08-19  Guo Jie  <guojie@loongson.cn>

	Backported from master:
	2023-08-19  Guo Jie  <guojie@loongson.cn>
		    Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/t-loongarch: Add loongarch-driver.h into
	TM_H. Add loongarch-def.h and loongarch-tune.h into
	OPTIONS_H_EXTRA.

2023-08-16  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2023-08-16  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386-builtins.cc
	(ix86_vectorize_builtin_gather): Adjust for use_gather_8parts.
	* config/i386/i386-options.cc (parse_mtune_ctrl_str):
	Set/Clear tune features use_{gather,scatter}_{2parts, 4parts,
	8parts} for -mtune-crtl={,^}{use_gather,use_scatter}.
	* config/i386/i386.cc (ix86_vectorize_builtin_scatter): Adjust
	for use_scatter_8parts
	* config/i386/i386.h (TARGET_USE_GATHER): Rename to ..
	(TARGET_USE_GATHER_8PARTS): .. this.
	(TARGET_USE_SCATTER): Rename to ..
	(TARGET_USE_SCATTER_8PARTS): .. this.
	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Rename to
	(X86_TUNE_USE_GATHER_8PARTS): .. this.
	(X86_TUNE_USE_SCATTER): Rename to
	(X86_TUNE_USE_SCATTER_8PARTS): .. this.
	* config/i386/i386.opt: Add new options mgather, mscatter.

2023-08-16  liuhongt  <hongtao.liu@intel.com>

	Backported from master:
	2023-08-16  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386-options.cc (m_GDS): New macro.
	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Don't
	enable for m_GDS.
	(X86_TUNE_USE_GATHER_4PARTS): Ditto.
	(X86_TUNE_USE_GATHER): Ditto.

2023-08-09  liuhongt  <hongtao.liu@intel.com>

	* common/config/i386/cpuinfo.h (get_available_features): Check
	max_subleaf_level for valid subleaf before use CPUID.

2023-08-01  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-07-26  Kewen Lin  <linkw@linux.ibm.com>

	PR target/110741
	* config/rs6000/vsx.md (define_insn xxeval): Correct vsx
	operands output with "x".

2023-07-14  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2023-07-14  Uros Bizjak  <ubizjak@gmail.com>

	PR target/110206
	* fwprop.cc (contains_paradoxical_subreg_p): Move to ...
	* rtlanal.cc (contains_paradoxical_subreg_p): ... here.
	* rtlanal.h (contains_paradoxical_subreg_p): Add prototype.
	* cprop.cc (try_replace_reg): Do not set REG_EQUAL note
	when the original source contains a paradoxical subreg.

2023-07-14  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/101469
	* config/sh/sh.md (peephole2): Handle case where eliminated reg
	is also	used by the address of the following memory operand.

2023-07-13  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2023-07-13  Uros Bizjak  <ubizjak@gmail.com>

	PR target/106966
	* config/alpha/alpha.cc (alpha_emit_set_long_const):
	Always use DImode when constructing long const.

2023-07-08  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-07-08  Jonathan Wakely  <jwakely@redhat.com>

	PR c++/110595
	* doc/invoke.texi (Warning Options): Fix typo.

2023-07-05  Michael Meissner  <meissner@linux.ibm.com>

	Backported from master:
	2023-06-23   Michael Meissner  <meissner@linux.ibm.com>
		    Aaron Sawdey   <acsawdey@linux.ibm.com>

	PR target/105325
	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): Fix problems that
	allowed prefixed lwa to be generated.
	* config/rs6000/fusion.md: Regenerate.
	* config/rs6000/predicates.md (ds_form_mem_operand): Delete.
	* config/rs6000/rs6000.md (prefixed attribute): Add support for load
	plus compare immediate fused insns.
	(maybe_prefixed): Likewise.

2023-07-05  Segher Boessenkool  <segher@kernel.crashing.org>

	Backported from master:
	2023-06-06  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10_one): New, rewritten and
	split out from...
	(gen_ld_cmpi_p10): ... this.

2023-07-04  Cui, Lili  <lili.cui@intel.com>

	* common/config/i386/cpuinfo.h (get_intel_cpu): Remove model value 0xa8
	from Rocketlake, remove model value 0xbf from Alderlake.

2023-06-30  Eric Botcazou  <ebotcazou@adacore.com>

	* gimple-fold.cc (fold_array_ctor_reference): Fix head comment.
	(fold_nonarray_ctor_reference): Likewise.  Specifically deal
	with integral bit-fields.
	(fold_ctor_reference): Make sure that the constructor uses the
	native storage order.

2023-06-29  liuhongt  <hongtao.liu@intel.com>

	PR rtl-optimization/110237
	* config/i386/sse.md (<avx512>_store<mode>_mask): Refine with
	UNSPEC_MASKMOV.
	(maskstore<mode><avx512fmaskmodelower): Ditto.
	(*<avx512>_store<mode>_mask): New define_insn, it's renamed
	from original <avx512>_store<mode>_mask.

2023-06-29  liuhongt  <hongtao.liu@intel.com>

	PR target/110309
	* config/i386/sse.md (maskload<mode><avx512fmaskmodelower>):
	Refine pattern with UNSPEC_MASKLOAD.
	(maskload<mode><avx512fmaskmodelower>): Ditto.
	(*<avx512>_load<mode>_mask): Extend mode iterator to
	VI12HF_AVX512VL.
	(*<avx512>_load<mode>): Ditto.

2023-06-29  Hongyu Wang  <hongyu.wang@intel.com>

	Backported from master:
	2023-06-26  Hongyu Wang  <hongyu.wang@intel.com>

	* config/i386/i386-options.cc (ix86_valid_target_attribute_tree):
	Override tune_string with arch_string if tune_string is not
	explicitly specified.

2023-06-28  Thomas Schwinge  <thomas@codesourcery.com>

	Backported from master:
	2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>

	PR testsuite/66005
	* doc/install.texi: Document (optional) Perl usage for parallel
	testing of libgomp.

2023-06-28  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386-features.cc (pass_insert_vzeroupper:gate):
	Move flag_expensive_optimizations && !optimize_size to ..
	* config/i386/i386-options.cc (ix86_option_override_internal):
	.. this, it makes -mvzeroupper independent of optimization
	level, but still keeps the behavior of architecture
	tuning(emit_vzeroupper) unchanged.

2023-06-27  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2023-06-27  Andrew Pinski  <apinski@marvell.com>

	PR middle-end/110420
	PR middle-end/103979
	PR middle-end/98619
	* gimplify.cc (gimplify_asm_expr): Mark asm with labels as volatile.

2023-06-23  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-06-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110298
	* tree-ssa-loop-ivcanon.cc (tree_unroll_loops_completely):
	Clear number of iterations info before cleaning up the CFG.

2023-06-23  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-06-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/110182
	* match.pd (two conversions in a row): Use element_precision
	to DTRT for VECTOR_TYPE.

2023-06-22  Alex Coplan  <alex.coplan@arm.com>

	Backported from master:
	2023-06-07  Alex Coplan  <alex.coplan@arm.com>

	PR target/110132
	* config/aarch64/aarch64-builtins.cc (aarch64_general_simulate_builtin):
	New. Use it ...
	(aarch64_init_ls64_builtins): ... here. Switch to declaring public ACLE
	names for builtins.
	(aarch64_general_init_builtins): Ensure we invoke the arm_acle.h
	setup if in_lto_p, just like we do for SVE.
	* config/aarch64/arm_acle.h: (__arm_ld64b): Delete.
	(__arm_st64b): Delete.
	(__arm_st64bv): Delete.
	(__arm_st64bv0): Delete.

2023-06-22  Alex Coplan  <alex.coplan@arm.com>

	Backported from master:
	2023-06-07  Alex Coplan  <alex.coplan@arm.com>

	PR target/110100
	* config/aarch64/aarch64-builtins.cc (aarch64_expand_builtin_ls64):
	Use input operand for the destination address.
	* config/aarch64/aarch64.md (st64b): Fix constraint on address
	operand.

2023-06-22  Alex Coplan  <alex.coplan@arm.com>

	Backported from master:
	2023-06-07  Alex Coplan  <alex.coplan@arm.com>

	PR target/110100
	* config/aarch64/aarch64-builtins.cc (aarch64_init_ls64_builtins_types):
	Replace eight consecutive spaces with tabs.
	(aarch64_init_ls64_builtins): Likewise.
	(aarch64_expand_builtin_ls64): Likewise.
	* config/aarch64/aarch64.md (ld64b): Likewise.
	(st64b): Likewise.
	(st64bv): Likewise
	(st64bv0): Likewise.

2023-06-20  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-06-12  Kewen Lin  <linkw@linux.ibm.com>

	PR target/109932
	* config/rs6000/rs6000-builtins.def (__builtin_pack_vector_int128,
	__builtin_unpack_vector_int128): Move from stanza power7 to vsx.

2023-06-20  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-06-12  Kewen Lin  <linkw@linux.ibm.com>

	PR target/110011
	* config/rs6000/rs6000.cc (output_toc): Use the mode of the 128-bit
	floating constant itself for real_to_target call.

2023-06-15  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2023-06-15  Lulu Cheng  <chenglulu@loongson.cn>
		    Andrew Pinski  <apinski@marvell.com>

	PR target/110136
	* config/loongarch/loongarch.md: Modify the register constraints for template
	"jumptable" and "indirect_jump" from "r" to "e".

2023-06-12  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-06-12  Richard Biener  <rguenther@suse.de>

	PR middle-end/110200
	* genmatch.cc (expr::gen_transform): Put braces around
	the if arm for the (convert ...) short-cut.

2023-06-10  Georg-Johann Lay  <avr@gjlay.de>

	PR target/109650
	PR target/92729
	Backport from 2023-05-10 master r14-1688.
	* config/avr/avr-passes.def (avr_pass_ifelse): Insert new pass.
	* config/avr/avr.cc (avr_pass_ifelse): New RTL pass.
	(avr_pass_data_ifelse): New pass_data for it.
	(make_avr_pass_ifelse, avr_redundant_compare, avr_cbranch_cost)
	(avr_canonicalize_comparison, avr_out_plus_set_ZN)
	(avr_out_cmp_ext): New functions.
	(compare_condtition): Make sure REG_CC dies in the branch insn.
	(avr_rtx_costs_1): Add computation of cbranch costs.
	(avr_adjust_insn_length) [ADJUST_LEN_ADD_SET_ZN, ADJUST_LEN_CMP_ZEXT]:
	[ADJUST_LEN_CMP_SEXT]Handle them.
	(TARGET_CANONICALIZE_COMPARISON): New define.
	(avr_simplify_comparison_p, compare_diff_p, avr_compare_pattern)
	(avr_reorg_remove_redundant_compare, avr_reorg): Remove functions.
	(TARGET_MACHINE_DEPENDENT_REORG): Remove define.
	* config/avr/avr-protos.h (avr_simplify_comparison_p): Remove proto.
	(make_avr_pass_ifelse, avr_out_plus_set_ZN, cc_reg_rtx)
	(avr_out_cmp_zext): New Protos
	* config/avr/avr.md (branch, difficult_branch): Don't split insns.
	(*cbranchhi.zero-extend.0", *cbranchhi.zero-extend.1")
	(*swapped_tst<mode>, *add.for.eqne.<mode>): New insns.
	(*cbranch<mode>4): Rename to cbranch<mode>4_insn.
	(define_peephole): Add dead_or_set_regno_p(insn,REG_CC) as needed.
	(define_deephole2): Add peep2_regno_dead_p(*,REG_CC) as needed.
	Add new RTL peepholes for decrement-and-branch and *swapped_tst<mode>.
	Rework signtest-and-branch peepholes for *sbrx_branch<mode>.
	(adjust_len) [add_set_ZN, cmp_zext]: New.
	(QIPSI): New mode iterator.
	(ALLs1, ALLs2, ALLs4, ALLs234): New mode iterators.
	(gelt): New code iterator.
	(gelt_eqne): New code attribute.
	(rvbranch, *rvbranch, difficult_rvbranch, *difficult_rvbranch)
	(branch_unspec, *negated_tst<mode>, *reversed_tst<mode>)
	(*cmpqi_sign_extend): Remove insns.
	(define_c_enum "unspec") [UNSPEC_IDENTITY]: Remove.
	* config/avr/avr-dimode.md (cbranch<mode>4): Canonicalize comparisons.
	* config/avr/predicates.md (scratch_or_d_register_operand): New.
	* config/avr/constraints.md (Yxx): New constraint.

2023-06-09  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>

	Backported from master:
	2023-06-06  Jeevitha Palanisamy  <jeevitha@linux.ibm.com>

	PR target/106907
	* config/rs6000/rs6000.cc (vec_const_128bit_to_bytes): Remove
	duplicate expression.

2023-06-09  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2023-06-02  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/110044
	* config/rs6000/rs6000.cc (darwin_rs6000_special_round_type_align):
	Make sure that we do not have a cap on field alignment before altering
	the struct layout based on the type alignment of the first entry.

2023-06-09  liuhongt  <hongtao.liu@intel.com>

	PR target/110108
	* config/i386/i386.cc (ix86_gimple_fold_builtin): Explicitly
	view_convert_expr mask to signed type when folding pblendvb
	builtins.

2023-06-08  Alex Coplan  <alex.coplan@arm.com>

	Backported from master:
	2023-05-25  Alex Coplan  <alex.coplan@arm.com>

	PR target/109800
	* config/arm/arm.md (movdf): Generate temporary pseudo in DImode
	instead of DFmode.
	* config/arm/vfp.md (no_literal_pool_df_immediate): Rather than punning an
	lvalue DFmode pseudo into DImode, use a DImode pseudo and pun it into
	DFmode as an rvalue.

2023-06-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	Backported from master:
	2023-05-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/109939
	* config/arm/arm-builtins.cc (SAT_BINOP_UNSIGNED_IMM_QUALIFIERS): Use
	qualifier_none for the return operand.

2023-06-02  Georg-Johann Lay  <avr@gjlay.de>

	PR target/110088
	* config/avr/avr.md: Add an RTL peephole to optimize operations on
	non-LD_REGS after a move from LD_REGS.
	(piaop): New code iterator.

2023-06-01  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2023-06-01  Jonathan Wakely  <jwakely@redhat.com>

	PR target/109954
	* doc/invoke.texi (x86 Options): Fix description of -m32 option.

2023-05-30  Andreas Schwab  <schwab@suse.de>

	PR target/110036
	* config/riscv/riscv.cc (riscv_asan_shadow_offset): Update to
	match libsanitizer.

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

	PR target/104327
	* config/avr/avr.cc (avr_can_inline_p): New static function.
	(TARGET_CAN_INLINE_P): Define to that function.

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

	PR target/82931
	* config/avr/avr.md (*movbitqi.0): Rename to *movbit<mode>.0-6.
	Handle any bit position and use mode QISI.
	* config/avr/avr.cc (avr_rtx_costs_1) [IOR]: Return a cost
	of 2 insns for bit-transfer of respective style.

2023-05-23  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.cc (avr_insn_cost): New static function.
	(TARGET_INSN_COST): Define to that function.

2023-05-22   Michael Meissner  <meissner@linux.ibm.com>

	PR target/70243
	* config/rs6000/vsx.md (vsx_fmav4sf4): Do not generate vmaddfp.
	(vsx_nfmsv4sf4): Do not generate vnmsubfp.  Back port from master
	04/10/2023 change.

2023-05-22  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-05-21  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/109505
	* match.pd ((x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2),
	Combine successive equal operations with constants,
	(A +- CST1) +- CST2 -> A + CST3, (CST1 - A) +- CST2 -> CST3 - A,
	CST1 - (CST2 - A) -> CST3 + A): Use ! on ops with 2 CONSTANT_CLASS_P
	operands.

2023-05-22  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-05-17  Kewen Lin  <linkw@linux.ibm.com>

	* tree-vect-loop.cc (vect_analyze_loop_1): Don't retry analysis with
	suggested unroll factor once the previous analysis fails.

2023-05-20  Triffid Hunter  <triffid.hunter@gmail.com>

	PR target/105753
	Backport from 2023-05-20 https://gcc.gnu.org/r14-1016
	* config/avr/avr.md (divmodpsi, udivmodpsi, divmodsi, udivmodsi):
	Remove superfluous "parallel" in insn pattern.
	([u]divmod<mode>4): Tidy code.  Use gcc_unreachable() instead of
	printing error text to assembly.

2023-05-18  Alexandre Oliva  <oliva@adacore.com>

	* config/arm/vfp.md (*thumb2_movsi_vfp): Drop blank after tab
	after vmsr and vmrs, and lower the case of P0.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	* config/arm/arm_mve.h: (__ARM_mve_typeid): Add more pointer types.
	(__ARM_mve_coerce1): Remove.
	(__ARM_mve_coerce2): Remove.
	(__ARM_mve_coerce3): Remove.
	(__ARM_mve_coerce_i_scalar): New.
	(__ARM_mve_coerce_s8_ptr): New.
	(__ARM_mve_coerce_u8_ptr): New.
	(__ARM_mve_coerce_s16_ptr): New.
	(__ARM_mve_coerce_u16_ptr): New.
	(__ARM_mve_coerce_s32_ptr): New.
	(__ARM_mve_coerce_u32_ptr): New.
	(__ARM_mve_coerce_s64_ptr): New.
	(__ARM_mve_coerce_u64_ptr): New.
	(__ARM_mve_coerce_f_scalar): New.
	(__ARM_mve_coerce_f16_ptr): New.
	(__ARM_mve_coerce_f32_ptr): New.
	(__arm_vst4q): Change _coerce_ overloads.
	(__arm_vbicq): Change _coerce_ overloads.
	(__arm_vmulq): Change _coerce_ overloads.
	(__arm_vcmpeqq): Change _coerce_ overloads.
	(__arm_vcmpneq): Change _coerce_ overloads.
	(__arm_vmaxnmavq): Change _coerce_ overloads.
	(__arm_vmaxnmvq): Change _coerce_ overloads.
	(__arm_vminnmavq): Change _coerce_ overloads.
	(__arm_vsubq): Change _coerce_ overloads.
	(__arm_vminnmvq): Change _coerce_ overloads.
	(__arm_vrshlq): Change _coerce_ overloads.
	(__arm_vqsubq): Change _coerce_ overloads.
	(__arm_vqdmulltq): Change _coerce_ overloads.
	(__arm_vqdmullbq): Change _coerce_ overloads.
	(__arm_vqdmulhq): Change _coerce_ overloads.
	(__arm_vqaddq): Change _coerce_ overloads.
	(__arm_vhaddq): Change _coerce_ overloads.
	(__arm_vhsubq): Change _coerce_ overloads.
	(__arm_vqdmlashq): Change _coerce_ overloads.
	(__arm_vqrdmlahq): Change _coerce_ overloads.
	(__arm_vmlasq): Change _coerce_ overloads.
	(__arm_vqdmlahq): Change _coerce_ overloads.
	(__arm_vmaxnmavq_p): Change _coerce_ overloads.
	(__arm_vmaxnmvq_p): Change _coerce_ overloads.
	(__arm_vminnmavq_p): Change _coerce_ overloads.
	(__arm_vminnmvq_p): Change _coerce_ overloads.
	(__arm_vfmasq_m): Change _coerce_ overloads.
	(__arm_vld1q): Change _coerce_ overloads.
	(__arm_vld1q_z): Change _coerce_ overloads.
	(__arm_vld2q): Change _coerce_ overloads.
	(__arm_vld4q): Change _coerce_ overloads.
	(__arm_vldrhq_gather_offset): Change _coerce_ overloads.
	(__arm_vldrhq_gather_offset_z): Change _coerce_ overloads.
	(__arm_vldrhq_gather_shifted_offset): Change _coerce_ overloads.
	(__arm_vldrhq_gather_shifted_offset_z): Change _coerce_ overloads.
	(__arm_vldrwq_gather_offset): Change _coerce_ overloads.
	(__arm_vldrwq_gather_offset_z): Change _coerce_ overloads.
	(__arm_vldrwq_gather_shifted_offset): Change _coerce_ overloads.
	(__arm_vldrwq_gather_shifted_offset_z): Change _coerce_ overloads.
	(__arm_vst1q_p): Change _coerce_ overloads.
	(__arm_vst2q): Change _coerce_ overloads.
	(__arm_vst1q): Change _coerce_ overloads.
	(__arm_vstrhq): Change _coerce_ overloads.
	(__arm_vstrhq_p): Change _coerce_ overloads.
	(__arm_vstrhq_scatter_offset_p): Change _coerce_ overloads.
	(__arm_vstrhq_scatter_offset): Change _coerce_ overloads.
	(__arm_vstrhq_scatter_shifted_offset_p): Change _coerce_ overloads.
	(__arm_vstrhq_scatter_shifted_offset): Change _coerce_ overloads.
	(__arm_vstrwq_p): Change _coerce_ overloads.
	(__arm_vstrwq): Change _coerce_ overloads.
	(__arm_vstrwq_scatter_offset): Change _coerce_ overloads.
	(__arm_vstrwq_scatter_offset_p): Change _coerce_ overloads.
	(__arm_vstrwq_scatter_shifted_offset): Change _coerce_ overloads.
	(__arm_vstrwq_scatter_shifted_offset_p): Change _coerce_ overloads.
	(__arm_vsetq_lane): Change _coerce_ overloads.
	(__arm_vcmpneq_m): Change _coerce_ overloads.
	(__arm_vldrbq_gather_offset): Change _coerce_ overloads.
	(__arm_vdwdupq_x_u8): Change _coerce_ overloads.
	(__arm_vdwdupq_x_u16): Change _coerce_ overloads.
	(__arm_vdwdupq_x_u32): Change _coerce_ overloads.
	(__arm_viwdupq_x_u8): Change _coerce_ overloads.
	(__arm_viwdupq_x_u16): Change _coerce_ overloads.
	(__arm_viwdupq_x_u32): Change _coerce_ overloads.
	(__arm_vidupq_x_u8): Change _coerce_ overloads.
	(__arm_vddupq_x_u8): Change _coerce_ overloads.
	(__arm_vidupq_x_u16): Change _coerce_ overloads.
	(__arm_vddupq_x_u16): Change _coerce_ overloads.
	(__arm_vidupq_x_u32): Change _coerce_ overloads.
	(__arm_vddupq_x_u32): Change _coerce_ overloads.
	(__arm_vhaddq_x): Change _coerce_ overloads.
	(__arm_vhsubq_x): Change _coerce_ overloads.
	(__arm_vldrdq_gather_offset): Change _coerce_ overloads.
	(__arm_vldrdq_gather_offset_z): Change _coerce_ overloads.
	(__arm_vldrdq_gather_shifted_offset): Change _coerce_ overloads.
	(__arm_vldrdq_gather_shifted_offset_z): Change _coerce_ overloads.
	(__arm_vldrbq_gather_offset_z): Change _coerce_ overloads.
	(__arm_vqrdmlahq_m): Change _coerce_ overloads.
	(__arm_vqrdmlashq_m): Change _coerce_ overloads.
	(__arm_vqdmlashq_m): Change _coerce_ overloads.
	(__arm_vmlaldavaxq_p): Change _coerce_ overloads.
	(__arm_vmlasq_m): Change _coerce_ overloads.
	(__arm_vqdmulhq_m): Change _coerce_ overloads.
	(__arm_vqdmulltq_m): Change _coerce_ overloads.
	(__arm_vidupq_u16): Change _coerce_ overloads.
	(__arm_vidupq_u32): Change _coerce_ overloads.
	(__arm_vidupq_u8): Change _coerce_ overloads.
	(__arm_vddupq_u16): Change _coerce_ overloads.
	(__arm_vddupq_u32): Change _coerce_ overloads.
	(__arm_vddupq_u8): Change _coerce_ overloads.
	(__arm_viwdupq_m): Change _coerce_ overloads.
	(__arm_viwdupq_u16): Change _coerce_ overloads.
	(__arm_viwdupq_u32): Change _coerce_ overloads.
	(__arm_viwdupq_u8): Change _coerce_ overloads.
	(__arm_vdwdupq_m): Change _coerce_ overloads.
	(__arm_vdwdupq_u16): Change _coerce_ overloads.
	(__arm_vdwdupq_u32): Change _coerce_ overloads.
	(__arm_vdwdupq_u8): Change _coerce_ overloads.
	(__arm_vaddlvaq): Change _coerce_ overloads.
	(__arm_vaddlvaq_p): Change _coerce_ overloads.
	(__arm_vaddvaq): Change _coerce_ overloads.
	(__arm_vaddvaq_p): Change _coerce_ overloads.
	(__arm_vcmphiq_m): Change _coerce_ overloads.
	(__arm_vmladavaq_p): Change _coerce_ overloads.
	(__arm_vmladavaxq): Change _coerce_ overloads.
	(__arm_vmlaldavaxq): Change _coerce_ overloads.
	(__arm_vstrbq): Change _coerce_ overloads.
	(__arm_vstrbq_p): Change _coerce_ overloads.
	(__arm_vrmlaldavhaq_p): Change _coerce_ overloads.
	(__arm_vstrbq_scatter_offset): Change _coerce_ overloads.
	(__arm_vstrbq_scatter_offset_p): Change _coerce_ overloads.
	(__arm_vstrdq_scatter_offset_p): Change _coerce_ overloads.
	(__arm_vstrdq_scatter_offset): Change _coerce_ overloads.
	(__arm_vstrdq_scatter_shifted_offset_p): Change _coerce_ overloads.
	(__arm_vstrdq_scatter_shifted_offset): Change _coerce_ overloads.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	* config/arm/arm_mve.h (__arm_vbicq): Change coerce on
	scalar constant.
	(__arm_vmvnq_m): Likewise.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	* config/arm/arm_mve.h (__arm_vorrq): Add _n variant.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	Backported from master:
	2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	* config/arm/arm_mve.h (__arm_vadcq_s32): Fix arithmetic.
	(__arm_vadcq_u32): Likewise.
	(__arm_vadcq_m_s32): Likewise.
	(__arm_vadcq_m_u32): Likewise.
	(__arm_vsbcq_s32): Likewise.
	(__arm_vsbcq_u32): Likewise.
	(__arm_vsbcq_m_s32): Likewise.
	(__arm_vsbcq_m_u32): Likewise.
	* config/arm/mve.md (get_fpscr_nzcvqc): Make unspec_volatile.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vrndq_m_f<mode>, mve_vrev64q_f<mode>)
	(mve_vrev32q_fv8hf, mve_vcvttq_f32_f16v4sf)
	(mve_vcvtbq_f32_f16v4sf, mve_vcvtq_to_f_<supf><mode>)
	(mve_vrev64q_<supf><mode>, mve_vcvtq_from_f_<supf><mode>)
	(mve_vmovltq_<supf><mode>, mve_vmovlbq_<supf><mode>)
	(mve_vcvtpq_<supf><mode>, mve_vcvtnq_<supf><mode>)
	(mve_vcvtmq_<supf><mode>, mve_vcvtaq_<supf><mode>)
	(mve_vmvnq_n_<supf><mode>, mve_vrev16q_<supf>v16qi)
	(mve_vctp<mode1>qhi, mve_vbrsrq_n_f<mode>)
	(mve_vbrsrq_n_<supf><mode>, mve_vandq_f<mode>, mve_vbicq_f<mode>)
	(mve_vbicq_n_<supf><mode>, mve_vctp<mode1>q_mhi)
	(mve_vcvtbq_f16_f32v8hf, mve_vcvttq_f16_f32v8hf)
	(mve_veorq_f<mode>, mve_vmlaldavxq_s<mode>, mve_vmlsldavq_s<mode>)
	(mve_vmlsldavxq_s<mode>, mve_vornq_f<mode>, mve_vorrq_f<mode>)
	(mve_vrmlaldavhxq_sv4si, mve_vbicq_m_n_<supf><mode>)
	(mve_vcvtq_m_to_f_<supf><mode>, mve_vshlcq_<supf><mode>)
	(mve_vmvnq_m_<supf><mode>, mve_vpselq_<supf><mode>)
	(mve_vcvtbq_m_f16_f32v8hf, mve_vcvtbq_m_f32_f16v4sf)
	(mve_vcvttq_m_f16_f32v8hf, mve_vcvttq_m_f32_f16v4sf)
	(mve_vmlaldavq_p_<supf><mode>, mve_vmlsldavaq_s<mode>)
	(mve_vmlsldavaxq_s<mode>, mve_vmlsldavq_p_s<mode>)
	(mve_vmlsldavxq_p_s<mode>, mve_vmvnq_m_n_<supf><mode>)
	(mve_vorrq_m_n_<supf><mode>, mve_vpselq_f<mode>)
	(mve_vrev32q_m_fv8hf, mve_vrev32q_m_<supf><mode>)
	(mve_vrev64q_m_f<mode>, mve_vrmlaldavhaxq_sv4si)
	(mve_vrmlaldavhxq_p_sv4si, mve_vrmlsldavhaxq_sv4si)
	(mve_vrmlsldavhq_p_sv4si, mve_vrmlsldavhxq_p_sv4si)
	(mve_vrev16q_m_<supf>v16qi, mve_vrmlaldavhq_p_<supf>v4si)
	(mve_vrmlsldavhaq_sv4si, mve_vandq_m_<supf><mode>)
	(mve_vbicq_m_<supf><mode>, mve_veorq_m_<supf><mode>)
	(mve_vornq_m_<supf><mode>, mve_vorrq_m_<supf><mode>)
	(mve_vandq_m_f<mode>, mve_vbicq_m_f<mode>, mve_veorq_m_f<mode>)
	(mve_vornq_m_f<mode>, mve_vorrq_m_f<mode>)
	(mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn)
	(mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn)
	(mve_vstrdq_scatter_base_wb_p_<supf>v2di) : Fix spacing and
	capitalization in the emitted asm.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/constraints.md (mve_vldrd_immediate): Move it to
	predicates.md.
	(Ri): Move constraint definition from predicates.md.
	(Rl): Define new constraint.
	* config/arm/mve.md (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Add
	missing constraint.
	(mve_vstrwq_scatter_base_wb_p_fv4sf): Add missing Up constraint
	for op 1, use mve_vstrw_immediate predicate and Rl constraint for
	op 2. Fix asm output spacing.
	(mve_vstrdq_scatter_base_wb_p_<supf>v2di): Add missing constraint.
	* config/arm/predicates.md (Ri) Move constraint to constraints.md
	(mve_vldrd_immediate): Move it from
	constraints.md.
	(mve_vstrw_immediate): New predicate.

2023-05-18  Murray Steele  <murray.steele@arm.com>

	Backported from master:
	2023-01-18  Murray Steele  <murray.steele@arm.com>

	PR target/108442
	* config/arm/arm_mve.h (__arm_vst1q_p_u8): Use prefixed intrinsic
	function.
	(__arm_vst1q_p_s8): Likewise.
	(__arm_vld1q_z_u8): Likewise.
	(__arm_vld1q_z_s8): Likewise.
	(__arm_vst1q_p_u16): Likewise.
	(__arm_vst1q_p_s16): Likewise.
	(__arm_vld1q_z_u16): Likewise.
	(__arm_vld1q_z_s16): Likewise.
	(__arm_vst1q_p_u32): Likewise.
	(__arm_vst1q_p_s32): Likewise.
	(__arm_vld1q_z_u32): Likewise.
	(__arm_vld1q_z_s32): Likewise.
	(__arm_vld1q_z_f16): Likewise.
	(__arm_vst1q_p_f16): Likewise.
	(__arm_vld1q_z_f32): Likewise.
	(__arm_vst1q_p_f32): Likewise.

2023-05-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	Backported from master:
	2023-01-24  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/108177
	* config/arm/mve.md (mve_vstrbq_p_<supf><mode>, mve_vstrhq_p_fv8hf,
	mve_vstrhq_p_<supf><mode>, mve_vstrwq_p_<supf>v4si): Add memory operand
	as input operand.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	Backported from master:
	2023-04-04  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	* config/arm/mve.md (mve_vcvtq_n_to_f_<supf><mode>): Swap operands.
	(mve_vcreateq_f<mode>): Swap operands.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	Backported from master:
	2023-01-16  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	PR target/96795
	PR target/107515
	* config/arm/arm_mve.h (__ARM_mve_coerce2): Split types.
	(__ARM_mve_coerce3): Likewise.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vqnegq_s<mode>): Fix spacing.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vqabsq_s<mode>): Fix spacing.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vnegq_f<mode>, mve_vnegq_s<mode>):
	Fix spacing.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (@mve_vclzq_s<mode>): Fix spacing.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2023-01-25  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vclsq_s<mode>): Fix spacing.

2023-05-18  Christophe Lyon  <christophe.lyon@arm.com>

	Backported from master:
	2023-02-03  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/mve.md (mve_vabavq_p_<supf><mode>): Add length
	attribute.
	(mve_vqshluq_m_n_s<mode>): Likewise.
	(mve_vshlq_m_<supf><mode>): Likewise.
	(mve_vsriq_m_n_<supf><mode>): Likewise.
	(mve_vsubq_m_<supf><mode>): Likewise.

2023-05-18  Christophe Lyon  <christophe.lyon@arm.com>

	Backported from master:
	2022-10-03  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
	clobber.
	(mve_vrev64q_m_f<mode>): Likewise.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si,
	mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vmlaldavaq_<supf><mode>)
	(mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix
	spacing vs tabs.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vaddlvq_p_<supf>v4si)
	(mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>)
	(mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>)
	(mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>):
	Fix spacing.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	Backported from master:
	2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	* config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads.
	(__arm_vsubq_x Integer): New.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	Backported from master:
	2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	PR target/107515
	* config/arm/arm_mve.h (__ARM_mve_typeid): Add float types.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	Backported from master:
	2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	PR target/96795
	* config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
	(__arm_vmulq): Likewise.
	(__arm_vcmpeqq): Likewise.
	(__arm_vcmpneq): Likewise.
	(__arm_vmaxnmavq): Likewise.
	(__arm_vmaxnmvq): Likewise.
	(__arm_vminnmavq): Likewise.
	(__arm_vsubq): Likewise.
	(__arm_vminnmvq): Likewise.
	(__arm_vrshlq): Likewise.
	(__arm_vqsubq): Likewise.
	(__arm_vqdmulltq): Likewise.
	(__arm_vqdmullbq): Likewise.
	(__arm_vqdmulhq): Likewise.
	(__arm_vqaddq): Likewise.
	(__arm_vhaddq): Likewise.
	(__arm_vhsubq): Likewise.
	(__arm_vqdmlashq): Likewise.
	(__arm_vqrdmlahq): Likewise.
	(__arm_vmlasq): Likewise.
	(__arm_vqdmlahq): Likewise.
	(__arm_vmaxnmavq_p): Likewise.
	(__arm_vmaxnmvq_p): Likewise.
	(__arm_vminnmavq_p): Likewise.
	(__arm_vminnmvq_p): Likewise.
	(__arm_vfmasq_m): Likewise.
	(__arm_vsetq_lane): Likewise.
	(__arm_vcmpneq_m): Likewise.
	(__arm_vhaddq_x): Likewise.
	(__arm_vhsubq_x): Likewise.
	(__arm_vqrdmlashq_m): Likewise.
	(__arm_vqdmlashq_m): Likewise.
	(__arm_vmlaldavaxq_p): Likewise.
	(__arm_vmlasq_m): Likewise.
	(__arm_vqdmulhq_m): Likewise.
	(__arm_vqdmulltq_m): Likewise.
	(__arm_viwdupq_m): Likewise.
	(__arm_viwdupq_u16): Likewise.
	(__arm_viwdupq_u32): Likewise.
	(__arm_viwdupq_u8): Likewise.
	(__arm_vdwdupq_m): Likewise.
	(__arm_vdwdupq_u16): Likewise.
	(__arm_vdwdupq_u32): Likewise.
	(__arm_vdwdupq_u8): Likewise.
	(__arm_vaddlvaq): Likewise.
	(__arm_vaddlvaq_p): Likewise.
	(__arm_vaddvaq): Likewise.
	(__arm_vaddvaq_p): Likewise.
	(__arm_vcmphiq_m): Likewise.
	(__arm_vmladavaq_p): Likewise.
	(__arm_vmladavaxq): Likewise.
	(__arm_vmlaldavaxq): Likewise.
	(__arm_vrmlaldavhaq_p): Likewise.

2023-05-18  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	Backported from master:
	2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	PR target/96795
	* config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
	(__arm_vaddq_m_n_s32): Likewise.
	(__arm_vaddq_m_n_s16): Likewise.
	(__arm_vaddq_m_n_u8): Likewise.
	(__arm_vaddq_m_n_u32): Likewise.
	(__arm_vaddq_m_n_u16): Likewise.
	(__arm_vaddq_m): Fix Overloading.
	(__ARM_mve_coerce3): New.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix
	spacing.
	* config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m)
	(__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vdupq_n_f<mode>)
	(mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>)
	(mve_vdupq_m_n_f<mode>): Fix spacing.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u'
	spacing.
	(mve_vddupq_m_wb_u<mode>_insn): Likewise.

2023-05-18  Andrea Corallo  <andrea.corallo@arm.com>

	Backported from master:
	2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>

	* config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix
	'vmsr' spacing and reg capitalization.

2023-05-15  liuhongt  <hongtao.liu@intel.com>

	* config/i386/cygwin.h (ENDFILE_SPEC): Link crtfastmath.o
	whenever -mdaz-ftz is specified. Don't link crtfastmath.o
	when -mno-daz-ftz is specified.
	* config/i386/darwin.h (ENDFILE_SPEC): Ditto.
	* config/i386/gnu-user-common.h
	(GNU_USER_TARGET_MATHFILE_SPEC): Ditto.
	* config/i386/mingw32.h (ENDFILE_SPEC): Ditto.
	* config/i386/i386.opt (mdaz-ftz): New option.
	* doc/invoke.texi (x86 options): Document mftz-daz.

2023-05-09  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-05-09  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/109778
	* wide-int.h (wi::lrotate, wi::rrotate): Call wi::lrshift on
	wi::zext (x, width) rather than x if width != precision, rather
	than using wi::zext (right, width) after the shift.
	* tree-ssa-ccp.cc (bit_value_binop): Call wi::ext on the results
	of wi::lrotate or wi::rrotate.

2023-05-09  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-04-26  Kewen Lin  <linkw@linux.ibm.com>

	PR target/108758
	* config/rs6000/rs6000-builtins.def
	(__builtin_vsx_scalar_cmp_exp_qp_eq, __builtin_vsx_scalar_cmp_exp_qp_gt
	__builtin_vsx_scalar_cmp_exp_qp_lt,
	__builtin_vsx_scalar_cmp_exp_qp_unordered): Move from stanza ieee128-hw
	to power9-vector.

2023-05-09  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-04-26  Kewen Lin  <linkw@linux.ibm.com>

	PR target/109069
	* config/rs6000/altivec.md (sldoi_to_mov<mode>): Replace predicate
	easy_vector_constant with const_vector_each_byte_same, add
	handlings in preparation for !easy_vector_constant, and update
	VECTOR_UNIT_ALTIVEC_OR_VSX_P with VECTOR_MEM_ALTIVEC_OR_VSX_P.
	* config/rs6000/predicates.md (const_vector_each_byte_same): New
	predicate.

2023-05-08  Release Manager

	* GCC 12.3.0 released.

2023-04-27  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-04-08  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/109392
	* tree-vect-generic.cc (tree_vec_extract): Handle failure
	of maybe_push_res_to_seq better.

2023-04-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-02-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/108791
	* tree-ssa-forwprop.cc (optimize_vector_load): Build
	the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful
	type.

2023-04-27  Roger Sayle  <roger@nextmovesoftware.com>

	Backported from master:
	2023-01-10  Roger Sayle  <roger@nextmovesoftware.com>

	PR rtl-optimization/106421
	* cprop.cc (bypass_block): Check that DEST is local to this
	function (non-NULL) before calling find_edge.

2023-04-27  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2023-01-16  H.J. Lu  <hjl.tools@gmail.com>

	PR target/105980
	* config/i386/i386.cc (x86_output_mi_thunk): Disable
	-mforce-indirect-call for PIC in 32-bit mode.

2023-04-27  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2022-08-12  Jan Hubicka  <hubicka@ucw.cz>

	PR middle-end/106057
	* ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
	function.
	(possible_polymorphic_call_targets): Use it.

2023-04-26  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2023-04-17  Martin Jambor  <mjambor@suse.cz>

	PR ipa/107769
	PR ipa/109318
	* cgraph.h (symtab_node::find_reference): Add parameter use_type.
	* ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented.
	(ipa_zap_jf_refdesc): New function.
	(ipa_get_jf_pass_through_refdesc_decremented): Likewise.
	(ipa_set_jf_pass_through_refdesc_decremented): Likewise.
	* ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for
	the new parameter of find_reference.
	(adjust_references_in_caller): Likewise. Make sure the constant jump
	function is not used to decrement a refdec counter again.  Only
	decrement refdesc counters when the pass_through jump function allows
	it.  Added a detailed dump when decrementing refdesc counters.
	* ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag.
	(ipa_set_jf_simple_pass_through): Initialize the new flag.
	(ipa_set_jf_unary_pass_through): Likewise.
	(ipa_set_jf_arith_pass_through): Likewise.
	(remove_described_reference): Provide a value for the new parameter of
	find_reference.
	(update_jump_functions_after_inlining): Zap refdesc of new jfunc if
	the previous pass_through had a flag mandating that we do so.
	(propagate_controlled_uses): Likewise.  Only decrement refdesc
	counters when the pass_through jump function allows it.
	(ipa_edge_args_sum_t::duplicate): Provide a value for the new
	parameter of find_reference.
	(ipa_write_jump_function): Assert the new flag does not have to be
	streamed.
	* symtab.cc (symtab_node::find_reference): Add parameter use_type, use
	it in searching.

2023-04-26  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-04-25  Jakub Jelinek  <jakub@redhat.com>

	PR target/109566
	* config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For
	!TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb)
	is larger than signed int maximum.

2023-04-26  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-04-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/109609
	* attr-fnspec.h (arg_max_access_size_given_by_arg_p):
	Clarify semantics.
	* tree-ssa-alias.cc (check_fnspec): Correctly interpret
	the size given by arg_max_access_size_given_by_arg_p as
	maximum, not exact, size.

2023-04-26  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-04-25  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/109585
	* tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo.

2023-04-26  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-04-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/109573
	* tree-vect-loop.cc (vectorizable_live_operation): Allow
	unhandled SSA copy as well.  Demote assert to checking only.

2023-04-21  John David Anglin  <danglin@gcc.gnu.org>

	PR target/109478
	* config/pa/pa-protos.h (pa_function_arg_size): Update prototype.
	* config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument
	size is zero.
	(pa_arg_partial_bytes): Don't call pa_function_arg_size twice.
	(pa_function_arg_size): Change return type to int.  Return zero
	for arguments larger than 1 GB.  Update comments.

2023-04-21  Haochen Gui  <guihaoc@gcc.gnu.org>

	Backported from master:
	2023-04-11  Haochen Gui  <guihaoc@gcc.gnu.org>

	PR target/108812
	* config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to...
	(vsx_sign_extend_v16qi_<mode>): ... this.
	(vsx_sign_extend_hi_<mode>): Rename to...
	(vsx_sign_extend_v8hi_<mode>): ... this.
	(vsx_sign_extend_si_v2di): Rename to...
	(vsx_sign_extend_v4si_v2di): ... this.
	(vsignextend_qi_<mode>): Remove.
	(vsignextend_hi_<mode>): Remove.
	(vsignextend_si_v2di): Remove.
	(vsignextend_v2di_v1ti): Remove.
	(*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with
	gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si
	with gen_vsx_sign_extend_v16qi_v4si.
	* config/rs6000/rs6000.md (split for DI constant generation):
	Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si.
	(split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di
	with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si
	with gen_vsx_sign_extend_v16qi_si.
	* config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d):
	Set bif-pattern to vsx_sign_extend_v16qi_v2di.
	(__builtin_altivec_vsignextsb2w): Set bif-pattern to
	vsx_sign_extend_v16qi_v4si.
	(__builtin_altivec_visgnextsh2d): Set bif-pattern to
	vsx_sign_extend_v8hi_v2di.
	(__builtin_altivec_vsignextsh2w): Set bif-pattern to
	vsx_sign_extend_v8hi_v4si.
	(__builtin_altivec_vsignextsw2d): Set bif-pattern to
	vsx_sign_extend_si_v2di.
	(__builtin_altivec_vsignext): Set bif-pattern to
	vsx_sign_extend_v2di_v1ti.
	* config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace
	gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di,
	gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and
	gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di.

2023-04-18  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-04-12  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/109410
	* tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry
	block if first statement of the function is a call to returns_twice
	function.

2023-04-18  Jakub Jelinek  <jakub@redhat.com>

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

	PR middle-end/106190
	* sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any
	of the IFN_{UB,HWA,A}SAN_* internal fns are lowered.

2023-04-18  Jakub Jelinek  <jakub@redhat.com>

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

	PR target/109276
	* config/i386/i386.cc (assign_386_stack_local): For DImode
	with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass
	align 32 rather than 0 to assign_stack_local.

2023-04-18  Jakub Jelinek  <jakub@redhat.com>

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

	PR ipa/105685
	* predict.cc (compute_function_frequency): Don't call
	warn_function_cold if function already has cold attribute.

2023-04-18  Jakub Jelinek  <jakub@redhat.com>

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

	PR tree-optimization/109176
	* tree-vect-generic.cc (expand_vector_condition): If a has
	vector boolean type and is a comparison, also check if both
	the comparison and VEC_COND_EXPR could be successfully expanded
	individually.

2023-04-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	Backported from master:
	2023-01-31  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	PR target/108589
	* config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check
	REG_P on SET_DEST.

2023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	Backported from master:
	2023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
		    Di Zhao  <di.zhao@amperecomputing.com>

	* config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
	Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE.
	* config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp):
	Check for the above tuning option when processing loads.

2023-04-17  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-04-13  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/108910
	* config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do
	not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead.

2023-04-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/109434
	* tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly
	handle possibly throwing calls when processing the LHS
	and may-defs are not OK.  Add mode to initialize a may-def.
	(dse_optimize_stmt): Query may-defs.

2023-04-17  Richard Biener  <rguenther@suse.de>

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

	PR tree-optimization/109502
	* tree-vect-stmts.cc (vectorizable_assignment): Fix
	check for conversion between mask and non-mask types.

2023-04-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-04-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/109491
	* tree-ssa-sccvn.cc (expressions_equal_p): Restore the
	NULL operands test.

2023-04-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-04-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/109473
	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	Convert scalar result to the computation type before performing
	the reduction adjustment.

2023-04-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-04-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/109469
	* tree-vect-slp.cc (vect_slp_function): Skip region starts with
	a returns-twice call.

2023-04-17  Richard Biener  <rguenther@suse.de>

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

	PR lto/109263
	* lto-wrapper.cc (run_gcc): Parse alternate debug options
	as well, they always enable debug.

2023-04-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-03-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/109219
	* tree-vect-loop.cc (vectorizable_reduction): Check
	slp_node, not STMT_SLP_TYPE.
	* tree-vect-stmts.cc (vectorizable_condition): Likewise.
	* tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
	Remove assertion on STMT_SLP_TYPE.

2023-04-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-03-29  Richard Biener  <rguenther@suse.de>

	PR ipa/106124
	* dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN
	so we can re-create the DIE for the type if required.

2023-04-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-12-07  Richard Biener  <rguenther@suse.de>

	PR ipa/105676
	* ipa-pure-const.cc (ipa_make_function_pure): Skip also
	for functions already being const.

2023-04-17  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-04-04  Kewen Lin  <linkw@linux.ibm.com>

	PR target/108699
	* config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ...
	(rs6000_vprtyb<mode>2): ... this.
	* config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with
	rs6000_vprtybv2di2.
	(VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2.
	(VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2.
	* config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with
	popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2.

2023-04-17  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-04-04  Kewen Lin  <linkw@linux.ibm.com>

	PR target/108807
	* config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen
	function for permutation control vector by considering big endianness.

2023-04-14  Jan Hubicka  <hubicka@ucw.cz>

	PR target/109137
	* config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES):
	Remove znver1-3.
	(X86_TUNE_AVX256_STORE_BY_PIECES): Remove znver1-3.

2023-04-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	Backported from master:
	2023-03-27  Philipp Tomsich  <philipp.tomsich@vrull.eu>
		    Jiangning Liu  <jiangning.liu@amperecomputing.com>
		    Manolis Tsamis  <manolis.tsamis@vrull.eu>

	* config/aarch64/aarch64.cc: Update vector costs for ampere1.

2023-04-11  Michael Meissner  <meissner@linux.ibm.com>

	PR target/109067
	* config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
	(init_float128_ieee): Delete code to switch complex multiply and divide
	for long double.  Backport from master, 3/20/2023.
	(complex_multiply_builtin_code): New helper function.
	(complex_divide_builtin_code): Likewise.
	(rs6000_mangle_decl_assembler_name): Add support for mangling the name
	of complex 128-bit multiply and divide built-in functions.

2023-04-06  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2023-04-06  Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/109427
	* params.opt (-param=vect-induction-float=):
	Fix option attribute typo for IntegerRange.

2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>

	PR tree-optimization/96373
	PR tree-optimization/108979
	* tree-vect-stmts.cc (vectorizable_operation): Predicate trapping
	operations on the loop mask.  Reject partial vectors if this isn't
	possible.  Don't mask operations on invariants.

2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-03-28  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/109072
	* config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare.
	* config/aarch64/aarch64.h (machine_function::vector_load_decls): New
	variable.
	* config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg):
	New function.
	(aarch64_general_gimple_fold_builtin): Delay folding of vld1 until
	after inlining.  Record which decls are loaded from.  Fix handling
	of vops for loads and stores.
	* config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function.
	(aarch64_accesses_vector_load_decl_p): Likewise.
	(aarch64_vector_costs::m_stores_to_vector_load_decl): New member
	variable.
	(aarch64_vector_costs::add_stmt_cost): If the function has a vld1
	that loads from a decl, treat vector stores to those decls as
	zero cost.
	(aarch64_vector_costs::finish_cost): ...and in that case,
	if the vector code does nothing more than a store, give the
	prologue a zero cost as well.

2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-02-13  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/108681
	* lra-spills.cc (lra_final_code_change): Extend subreg replacement
	code to handle bare uses and clobbers.

2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-01-31  Richard Sandiford  <richard.sandiford@arm.com>

	PR tree-optimization/108608
	* tree-vect-loop.cc (vect_transform_reduction): Handle single
	def-use cycles that involve function calls rather than tree codes.

2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>

	PR tree-optimization/108603
	* explow.cc (convert_memory_address_addr_space_1): Only wrap
	the result of a recursive call in a CONST if no instructions
	were emitted.

2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/108508
	* rtl-ssa/accesses.cc (function_info::split_clobber_group): When
	the splay tree search gives the first clobber in the second group,
	make sure that the root of the first clobber group is updated
	correctly.  Enter the new clobber group into the definition splay
	tree.

2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>

	PR tree-optimization/108430
	* tree-vect-stmts.cc (vectorizable_condition): Fix handling
	of inverted condition.

2023-04-03  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/108086
	* rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int.
	Adjust size-related commentary accordingly.

2023-03-31  Vladimir N. Makarov  <vmakarov@redhat.com>

	* ira-costs.cc: Include print-rtl.h.
	(record_reg_classes, scan_one_insn): Add code to print debug info.
	(record_operand_costs): Find and use smaller cost for hard reg
	move.

2023-03-29  David Malcolm  <dmalcolm@redhat.com>

	* doc/invoke.texi (Static Analyzer Options): Add notes about
	limitations of -fanalyzer.

2023-03-29  David Malcolm  <dmalcolm@redhat.com>

	* doc/analyzer.texi: Drop out-of-date ideas for other checkers.

2023-03-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/109140
	* config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition
	on operand #3 to get the final condition code.  Use std::swap.
	* config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander.
	(fucmp<gcond:code>8<P:mode>_vis): Move around.
	(fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise.
	(vcondu<GCM:mode><GCM:mode>): New VIS 4 expander.

2023-03-22  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2023-03-14  Martin Jambor  <mjambor@suse.cz>

	PR ipa/107925
	* ipa-cp.cc (update_specialized_profile): Drop orig_node_count to
	ipa count, remove assert, lenient_count_portion_handling, dump
	also orig_node_count.

2023-03-20  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2023-03-20  Peter Bergner  <bergner@linux.ibm.com>

	PR target/109178
	* config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

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

	PR target/105554
	* function.h (push_struct_function): Add ABSTRACT_P argument defaulted
	to false.
	* function.cc (push_struct_function): Add ABSTRACT_P argument, pass it
	to allocate_struct_function instead of false.
	* tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS
	nor DECL_RESULT here.  Pass true as ABSTRACT_P to
	push_struct_function.  Call targetm.target_option.relayout_function
	after it.
	(tree_function_versioning): Formatting fix.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

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

	PR middle-end/108685
	* omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument,
	use its loop_father rather than BODY_BB's loop_father.
	(expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller.
	If broken_loop with ordered > collapse and at least one of those
	extra loops aren't guaranteed to have at least one iteration, change
	l0_bb's loop_father to entry_bb's loop_father.  Set cont_bb's
	loop_father to l0_bb's loop_father rather than l1_bb's.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

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

	PR c/108079
	* cgraphunit.cc (check_global_declaration): Don't warn for unused
	variables which have OPT_Wunused_variable warning suppressed.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

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

	PR testsuite/108973
	* selftest-diagnostic.cc
	(test_diagnostic_context::test_diagnostic_context): Set
	caret_max_width to 80.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

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

	PR c/108986
	* gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes):
	Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is
	suppressed on stmt.  For [static %E] warning, print access_nelts
	rather than access_size.  Fix up comment wording.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

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

	PR c++/108934
	* fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp
	comparison copy the bytes from ptr to a temporary buffer and clearing
	padding bits in there.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

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

	PR debug/108967
	* cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR
	and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-02-24  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/108854
	* cgraphclones.cc (duplicate_thunk_for_node): If no parameter
	changes are needed, copy at least DECL_ARGUMENTS PARM_DECL
	nodes and adjust their DECL_CONTEXT.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-02-24  Jakub Jelinek  <jakub@redhat.com>

	PR target/108881
	* config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi,
	__builtin_ia32_cvtne2ps2bf16_v16hi_mask,
	__builtin_ia32_cvtne2ps2bf16_v16hi_maskz,
	__builtin_ia32_cvtne2ps2bf16_v8hi,
	__builtin_ia32_cvtne2ps2bf16_v8hi_mask,
	__builtin_ia32_cvtne2ps2bf16_v8hi_maskz,
	__builtin_ia32_cvtneps2bf16_v8sf_mask,
	__builtin_ia32_cvtneps2bf16_v8sf_maskz,
	__builtin_ia32_cvtneps2bf16_v4sf_mask,
	__builtin_ia32_cvtneps2bf16_v4sf_maskz,
	__builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask,
	__builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf,
	__builtin_ia32_dpbf16ps_v4sf_mask,
	__builtin_ia32_dpbf16ps_v4sf_maskz): Require also
	OPTION_MASK_ISA_AVX512VL.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

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

	PR tree-optimization/108819
	* tree-ssa-reassoc.cc (update_ops): Fold new stmt in place.

2023-03-19  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-02-09  Jakub Jelinek  <jakub@redhat.com>

	PR target/100758
	* common/config/i386/cpuinfo.h (cpu_indicator_init): Call
	get_available_features for all CPUs with max_level >= 1, rather
	than just Intel or AMD.

2023-03-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-03-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/108950
	* tree-vect-patterns.cc (vect_recog_widen_sum_pattern):
	Check oprnd0 is defined in the loop.
	* tree-vect-loop.cc (vectorizable_reduction): Record all
	operands vector types, compute that of invariants and
	properly update their SLP nodes.

2023-03-15  Richard Biener  <rguenther@suse.de>

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

	PR tree-optimization/108821
	* tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not
	move volatile accesses.

2023-03-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-02-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/108816
	* tree-vect-loop-manip.cc (vect_loop_versioning): Adjust
	versioning condition split prerequesite, assert required
	invariant.

2023-03-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-02-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/108793
	* tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
	Use convert operands to niter_type when computing num.

2023-03-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-02-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/108724
	* tree-vect-stmts.cc (vectorizable_operation): Avoid
	using word_mode vectors when vector lowering will
	decompose them to elementwise operations.

2023-03-15  Richard Biener  <rguenther@suse.de>

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

	PR middle-end/108625
	* genmatch.cc (expr::gen_transform): Also disallow resimplification
	from pushing to lseq with force_leaf.
	(dt_simplify::gen_1): Likewise.

2023-03-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2023-02-01  Richard Biener  <rguenther@suse.de>

	PR middle-end/108500
	* dominance.cc (assign_dfs_numbers): Replace recursive DFS
	with tree traversal algorithm.

2023-03-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-12-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107451
	* tree-vect-stmts.cc (vectorizable_load): Avoid loading
	SLP group members from group numbers in excess of the
	vectorization factor.

2023-03-15  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-12-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106904
	* tree.h (strip_zero_offset_components): Declare.
	* tree.cc (strip_zero_offset_components): Define.
	* tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
	Strip zero offset components before building the address.

2023-03-14  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2023-03-06  Jan Hubicka  <hubicka@ucw.cz>

	PR target/108429
	* config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for
	generic.
	(X86_TUNE_USE_SCATTER_4PARTS): Likewise.
	(X86_TUNE_USE_SCATTER): Likewise.

2023-03-14  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2023-02-07  Jan Hubicka  <jh@suse.cz>

	* config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off
	for znver4.

2023-03-11  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2022-12-21  Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/105532
	* match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral
	type before calling tree_nonzero_bits.
	(popcount(X) + popcount(Y)): Likewise.
	(popcount(X&C1)): Likewise.

2023-03-10  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2023-02-10  Andrew Pinski  <apinski@marvell.com>
		    Andrew Macleod   <amacleod@redhat.com>

	PR tree-optimization/108684
	* tree-ssa-dce.cc (simple_dce_from_worklist):
	Check all ssa names and not just non-vdef ones
	before accepting the inline-asm.
	Call unlink_stmt_vdef on the statement before
	removing it.

2023-03-08  Tobias Burnus  <tobias@codesourcery.com>

	Backported from master:
	2023-03-01  Tobias Burnus  <tobias@codesourcery.com>

	PR middle-end/108546
	* omp-low.cc (lower_omp_target): Remove optional handling
	on the receiver side, i.e. inside target (data), for
	use_device_ptr.

2023-03-06  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2023-03-06  Xi Ruoyao  <xry111@xry111.site>

	PR target/109000
	* config/loongarch/loongarch.h (FP_RETURN): Use
	TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT.
	(UNITS_PER_FP_ARG): Likewise.

2023-02-27  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2023-02-24  Martin Liska  <mliska@suse.cz>

	PR sanitizer/108834
	* asan.cc (asan_add_global): Use proper TU name for normal
	global variables (and aux_base_name for the artificial one).

2023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	Backported from master:
	2023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
	Add non-compact 32-bit multilibs.

2023-02-20  Alex Coplan  <alex.coplan@arm.com>

	Backported from master:
	2023-02-06  Alex Coplan  <alex.coplan@arm.com>

	PR target/104921
	* config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
	Use correct constraint for operand 3.

2023-02-18  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2023-02-18  Xi Ruoyao  <xry111@xry111.site>

	* config.gcc (triplet_abi): Set its value based on $with_abi,
	instead of $target.
	(la_canonical_triplet): Set it after $triplet_abi is set
	correctly.
	* config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the
	multiarch tuple for lp64d "loongarch64-linux-gnu" (without
	"f64" suffix).

2023-02-15  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/90458
	* config/i386/i386.cc (ix86_compute_frame_layout): Disable the
	effects of -fstack-clash-protection for TARGET_STACK_PROBE.
	(ix86_expand_prologue): Likewise.

2023-02-15  Marek Polacek  <polacek@redhat.com>

	Backported from master:
	2023-02-15  Marek Polacek  <polacek@redhat.com>

	PR middle-end/106080
	* gimple-ssa-warn-access.cc (is_auto_decl): Remove.  Use auto_var_p
	instead.

2023-02-14  Eric Botcazou  <ebotcazou@adacore.com>

	* gimplify.cc (gimplify_save_expr): Add missing guard.

2023-02-13  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
		    Andrew Pinski  <apinski@marvell.com>

	PR target/108396
	* config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo
	vec_vsubcuqP with vec_vsubcuq.

2023-02-13  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-01-18  Kewen Lin  <linkw@linux.ibm.com>

	PR target/108348
	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
	support for invalid uses of MMA opaque type in function arguments.

2023-02-13  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2023-01-16  Kewen Lin  <linkw@linux.ibm.com>

	PR target/108272
	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
	support for invalid uses in inline asm, factor out the checking and
	erroring to lambda function check_and_error_invalid_use.

2023-02-11  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.cc (pa_option_override): Disable -fstack-protector.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-31  Jakub Jelinek  <jakub@redhat.com>

	PR c++/105593
	* config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd,
	_mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps,
	_mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use
	_mm512_undefined_pd () or _mm512_undefined_ps () instead of using
	uninitialized automatic variable __W.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-16  Jakub Jelinek  <jakub@redhat.com>

	PR c++/105593
	* config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily
	disable -Winit-self using pragma GCC diagnostic ignored.
	* config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128):
	Likewise.
	* config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps,
	_mm256_undefined_si256): Likewise.
	* config/i386/avx512fintrin.h (_mm512_undefined_pd,
	_mm512_undefined_ps, _mm512_undefined_epi32): Likewise.
	* config/i386/avx512fp16intrin.h (_mm_undefined_ph,
	_mm256_undefined_ph, _mm512_undefined_ph): Likewise.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/108440
	* tree-ssa-forwprop.cc: Include gimple-range.h.
	(simplify_rotate): For the forms with T2 wider than T and shift counts of
	Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal
	to B.  For the forms with T2 wider than T and shift counts of
	Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if
	range doesn't guarantee Y < B or Y = N * B.  If range doesn't guarantee
	Y < B, also add & (B - 1) masking for the rotate count.  Use lazily created
	pass specific ranger instead of get_global_range_query.
	(pass_forwprop::execute): Disable that ranger at the end of pass if it has
	been created.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/106523
	* tree-ssa-forwprop.cc (simplify_rotate): For the
	patterns with (-Y) & (B - 1) in one operand's shift
	count and Y in another, if T2 has wider precision than T,
	punt if Y could have a value in [B, B2 - 1] range.

2023-02-10  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2023-02-09  Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/108688
	* match.pd (bit_field_ref [bit_insert]): Avoid generating
	BIT_FIELD_REFs of non-mode-precision integral operands.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-02-08  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/108692
	* tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is
	widened_code which is different from code, don't call
	vect_look_through_possible_promotion but instead just check op is
	SSA_NAME with integral type for which vect_is_simple_use is true
	and call set_op on this_unprom.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

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

	PR middle-end/108435
	* tree-nested.cc (convert_nonlocal_omp_clauses)
	<case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq
	is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND
	before calling declare_vars.
	(convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge
	with the OMP_CLAUSE_LASTPRIVATE handling except for whether
	seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause)
	or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause).

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR debug/108573
	* ree.cc (combine_reaching_defs): Don't return false for paradoxical
	subregs in DEBUG_INSNs.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-31  Jakub Jelinek  <jakub@redhat.com>

	PR target/108599
	* config/i386/i386-expand.cc
	(ix86_convert_const_wide_int_to_broadcast): Return nullptr if
	CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't
	equal to bitsize of mode.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-31  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/108596
	* bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb
	ends with asm goto and has a crossing fallthrough edge to the same bb
	that contains at least one of its labels by restoring EDGE_CROSSING
	flag even on possible edge from cur_bb to new_bb successor.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-27  Jakub Jelinek  <jakub@redhat.com>

	PR other/108560
	* doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
	from size_t to int.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-25  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/108498
	* gimple-ssa-store-merging.cc (class store_operand_info):
	End coment with full stop rather than comma.
	(split_group): Likewise.
	(merged_store_group::apply_stores): Clear string_concatenation if
	start or end aren't on a byte boundary.

2023-02-10  Eric Biggers  <ebiggers@google.com>

	Backported from master:
	2023-01-24  Eric Biggers  <ebiggers@google.com>

	PR bootstrap/90543
	* optc-save-gen.awk: Fix copy-and-paste error.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/108459
	* omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather
	than fold_unary for NEGATE_EXPR.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2023-01-04  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/108237
	* generic-match-head.cc: Include tree-pass.h.
	(canonicalize_math_p, optimize_vectors_before_lowering_p): Define
	to false if cfun and cfun->curr_properties has PROP_gimple_opt_math
	resp. PROP_gimple_lvec property set.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

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

	PR middle-end/108264
	* expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets
	from source which doesn't have scalar integral mode first convert
	it to outer_mode.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-12-23  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/108068
	* tree.h (real_maybe_zerop): Declare.
	* tree.cc (real_maybe_zerop): Define.
	* tree-ssa-dom.cc (record_edge_info): Use it instead of
	real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop.  Always set
	can_infer_simple_equiv to false for decimal floating point types.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-12-22  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/108166
	* tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p
	case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-12-22  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/108193
	* cse.cc (compute_const_anchors): Change n type to
	unsigned HOST_WIDE_INT, adjust comparison against it to avoid
	warnings.  Formatting fix.
	(insert_const_anchor): Use gen_int_mode instead of GEN_INT.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-12-16  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/106751
	* loop-invariant.cc (move_invariant_reg): If preheader bb ends
	with a JUMP_INSN, split the preheader edge and emit invariants
	into the new preheader basic block.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-12-15  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/108095
	* tree-into-ssa.cc (maybe_register_def): Insert debug stmt
	on all non-EH edges from asm goto if they have a single
	predecessor rather than asserting there is at most one such edge.
	Test whether there are no PHI nodes next to the single predecessor
	test.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-12-10  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/107997
	* tree-ssa-loop-ivopts.cc: Include cfganal.h.
	(create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
	with a stmt which ends bb, instead of adding iv update after it split
	the latch edge and insert iterator into the new latch bb.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-12-08  Jakub Jelinek  <jakub@redhat.com>

	PR debug/106719
	* cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
	debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
	before all the DEBUG_INSNs and split after NOTEs.  If there are
	other insns like jump table data, clear debug_insn.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-11-28  Jakub Jelinek  <jakub@redhat.com>

	PR target/106875
	* config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
	(ix86_abi): Replace it with TargetVariable.
	* config/i386/i386-options.cc (ix86_function_specific_save,
	ix86_function_specific_restore): Don't save and restore x_ix86_abi.

2023-02-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-11-24  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/107317
	* asan.cc: Include diagnostic-core.h.
	(asan_emit_stack_protection): Return NULL early if seen_error ().

2023-02-07  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2023-01-30  Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/108582
	* tree-ssa-phiopt.cc (match_simplify_replacement): Add check
	for middlebb to have no phi nodes.

2023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	Backported from master:
	2023-01-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR tree-optimization/108522
	* tree-object-size.cc (compute_object_offset): Make EXPR
	argument non-const.  Call component_ref_field_offset.

2023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	Backported from master:
	2023-01-25  Siddhesh Poyarekar  <siddhesh@gotplt.org>
		    Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/108522
	* tree-object-size.cc (compute_object_offset): Use
	TREE_OPERAND(ref, 2) for COMPONENT_REF when available.

2023-02-01  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2023-01-18  Martin Jambor  <mjambor@suse.cz>

	PR ipa/107944
	* cgraph.cc (cgraph_node::remove): Check whether nodes up the
	lcone_of chain also do not need the body.

2023-01-30  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/108306
	* range-op.cc (operator_lshift::fold_range): Return [0, 0] not
	varying for shifts that are always out of void range.
	(operator_rshift::fold_range): Return [0, 0] not
	varying for shifts that are always out of void range.

2023-01-30  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16.
	* doc/invoke.texi: Ditto.

2023-01-29  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2023-01-16  Jan Hubicka  <jh@suse.cz>

	* config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter
	by TARGET_USE_SCATTER.
	* config/i386/i386.h (TARGET_USE_SCATTER_2PARTS,
	TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros.
	* config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS,
	TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes.
	(X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable
	for znver4.  (X86_TUNE_USE_GATHER): Disable for zen4.

2023-01-29  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2022-12-22  Jan Hubicka  <hubicka@ucw.cz>

	* config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add
	TARGET_AVX512_SPLIT_REGS
	* config/i386/i386-options.cc (ix86_option_override_internal):
	Honor x86_TONE_AVOID_256FMA_CHAINS.
	* config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS.
	(ix86_reassociation_width): Likewise.
	* config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune.
	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
	for znver4.
	(X86_TUNE_USE_GATHER_4PARTS): Likewise.
	(X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4.
	(X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4.
	(X86_TUNE_AVX256_OPTIMAL): Add znver4.
	(X86_TUNE_AVX512_SPLIT_REGS): New tune.
	(X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3.
	(X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3.
	(X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4.
	(X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4.

2023-01-29  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2022-12-22  Jan Hubicka  <hubicka@ucw.cz>

	* config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
	moves, division multiplication, gathers, L2 cache size, and more
	complex FP instrutions.

2023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>

	Backported from master:
	2023-01-05  Tejas Joshi  <TejasSanjay.Joshi@amd.com>

	* common/config/i386/i386-common.cc (processor_alias_table):
	Use CPU_ZNVER4 for znver4.
	* config/i386/i386.md: Add znver4.md.
	* config/i386/znver4.md: New.

2023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>

	Backported from master:
	2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>

	* common/config/i386/i386-common.cc (processor_alias_table): Use
	CPU_ZNVER3 for znver4.
	* config/i386/znver.md: Remove znver4 reservations.

2023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>

	Backported from master:
	2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>

	* common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
	* common/config/i386/i386-common.cc (processor_names): Add znver4.
	(processor_alias_table): Add znver4 and modularize old znvers.
	* common/config/i386/i386-cpuinfo.h (processor_subtypes):
	AMDFAM19H_ZNVER4.
	* config.gcc (x86_64-*-* |...): Likewise.
	* config/i386/driver-i386.cc (host_detect_local_cpu): Let
	-march=native recognize znver4 cpus.
	* config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
	* config/i386/i386-options.cc (m_ZNVER4): New definition.
	(m_ZNVER): Include m_ZNVER4.
	(processor_cost_table): Add znver4.
	* config/i386/i386.cc (ix86_reassociation_width): Likewise.
	* config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
	(PTA_ZNVER1): New definition.
	(PTA_ZNVER2): Likewise.
	(PTA_ZNVER3): Likewise.
	(PTA_ZNVER4): Likewise.
	* config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
	md file.
	* config/i386/x86-tune-costs.h (znver4_cost): New definition.
	* config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
	(ix86_adjust_cost): Likewise.
	* config/i386/znver1.md: Rename to znver.md.
	* config/i386/znver.md: Add new reservations for znver4.
	* doc/extend.texi: Add details about znver4.
	* doc/invoke.texi: Likewise.

2023-01-27  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	Backported from master:
	2022-12-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/107987
	* config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
	@mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
	operand.

2023-01-26  Marek Polacek  <polacek@redhat.com>

	Backported from master:
	2023-01-26  Marek Polacek  <polacek@redhat.com>

	PR middle-end/108543
	* opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS
	if it was previously set.

2023-01-26  Dimitar Dimitrov  <dimitar@dinux.eu>

	Backported from master:
	2023-01-22  Dimitar Dimitrov  <dimitar@dinux.eu>

	* config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI
	and HI input modes.
	* config/pru/pru.md (clz): Fix generated code for QI and HI
	input modes.

2023-01-25  Christophe Lyon  <christophe.lyon@arm.com>

	Backported from master:
	2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
		    Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix
	comment.
	(aarch64_layout_arg): Factorize warning conditions.
	(aarch64_function_arg_boundary): Fix typo.
	* function.cc (currently_expanding_function_start): New variable.
	(expand_function_start): Handle
	currently_expanding_function_start.
	* function.h (currently_expanding_function_start): Declare.

2023-01-24  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-12-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/108164
	* tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
	Perform vect_step_op_add update in the appropriate type.

2023-01-24  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-12-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/108076
	* tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
	with non-local or forced labels that we later remove
	labels from.

2023-01-24  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-12-21  Richard Biener  <rguenther@suse.de>

	PR middle-end/107994
	* gimplify.cc (gimplify_expr): Catch errorneous comparison
	operand.

2023-01-24  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-11-11  Richard Biener  <rguenther@suse.de>
		    Nikita Voronov  <nik_1357@mail.ru>

	PR tree-optimization/107554
	* tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
	Use unsigned HOST_WIDE_INT type for the strlen.

2023-01-24  Sergei Trofimovich  <siarheit@google.com>

	Backported from master:
	2022-08-16  Sergei Trofimovich  <siarheit@google.com>

	PR driver/106624
	* gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
	argument using xstrdup().

2023-01-23  Andreas Krebbel  <krebbel@linux.ibm.com>

	Backported from master:
	2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR target/106101
	* config/s390/predicates.md (subreg_register_operand): New
	predicate.
	* config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
	function prototype.
	* config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
	(s390_expand_insv): Use s390_gen_lowpart_subreg instead of
	gen_lowpart.
	* config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
	("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
	("movstrictqi", "movstricthi", "movstrictsi"): Use the
	subreg_register_operand predicate instead of register_operand.

2023-01-11  Eric Botcazou  <ebotcazou@adacore.com>

	PR tree-optimization/108199
	* tree-sra.cc (sra_modify_expr): Deal with reverse storage order
	for bit-field references.

2023-01-11  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-12-28  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/108137
	* tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything
	different from INTEGER_CST.

2023-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	Backported from master:
	2022-12-30  Stam Markianos-Wright  <stam.markianos-wright@arm.com>

	PR target/107714
	* config/arm/arm-protos.h (mve_struct_mem_operand): New protoype.
	* config/arm/arm.cc (mve_struct_mem_operand): New function.
	* config/arm/constraints.md (Ug): New constraint.
	* config/arm/mve.md (mve_vst4q<mode>): Change constraint.
	(mve_vst2q<mode>): Likewise.
	(mve_vld4q<mode>): Likewise.
	(mve_vld2q<mode>): Likewise.
	* config/arm/predicates.md (mve_struct_operand): New predicate.

2023-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	Backported from master:
	2022-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/108140
	* config/aarch64/aarch64-builtins.cc
	(aarch64_expand_builtin_data_intrinsic): Handle NULL target.

2023-01-05  Kewen Lin  <linkw@linux.ibm.com>

	PR target/106736
	* config/rs6000/mma.md (define_expand movoo): Call function
	rs6000_opaque_type_invalid_use_p to check and emit error message for
	the invalid use of opaque type.
	(define_expand movxo): Likewise.
	* config/rs6000/rs6000-protos.h
	(rs6000_opaque_type_invalid_use_p): New function declaration.
	(currently_expanding_gimple_stmt): New extern declaration.
	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New
	function.

2022-12-22  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-12-22  Richard Biener  <rguenther@suse.de>

	PR bootstrap/106482
	* doc/install.texi (ISO C++11 Compiler): Document GCC version
	known to work.

2022-12-22  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-08-10  Martin Liska  <mliska@suse.cz>

	* opts-jobserver.h: Add one member.
	* opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
	format of --jobserver-auth.

2022-12-22  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-08-10  Martin Liska  <mliska@suse.cz>

	* gcc.cc (driver::detect_jobserver): Remove and move to
	jobserver.h.
	* lto-wrapper.cc (jobserver_active_p): Likewise.
	(run_gcc): Likewise.
	* opts-jobserver.h: New file.
	* opts-common.cc (jobserver_info::jobserver_info): New function.

2022-12-20  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-12-20  Richard Biener  <rguenther@suse.de>

	PR d/104749
	* doc/install.texi (GDC): Document GDC 9.4 or later is required
	to build the D language frontend.

2022-12-20  Hongyu Wang  <hongyu.wang@intel.com>

	* config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
	m_SAPPHIRERAPIDS, m_ALDERLAKE.

2022-12-15  Sebastian Pop  <spop@amazon.com>

	PR target/98776
	* config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
	Declared.
	* config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
	Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
	(aarch64_output_patchable_area): New.
	* config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
	(patchable_area): Define.

2022-12-13  Alex Coplan  <alex.coplan@arm.com>

	Backported from master:
	2022-12-01  Alex Coplan  <alex.coplan@arm.com>

	* varasm.cc (assemble_variable): Fix type confusion bug when
	checking for ".vtable_map_vars" section.

2022-12-12  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-11-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107898
	* gimple-ssa-warn-alloca.cc (alloca_call_type): Check
	the type of the alloca argument is compatible with size_t
	before querying ranges.

2022-12-12  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-11-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107865
	* tree-cfg.cc (move_sese_region_to_fn): Free the number of
	iterations of moved loops.

2022-12-12  Richard Biener  <rguenther@suse.de>

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

	PR tree-optimization/107833
	PR tree-optimization/107839
	* cfghooks.cc: Include tree.h.
	* tree-ssa-loop-im.cc (movement_possibility): Wrap and
	make stmts using any ssa_name_maybe_undef_p operand
	to preserve execution.
	(loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
	to init maybe-undefined status.
	* tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
	ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
	mark_ssa_maybe_undefs): Move ...
	* tree-ssa.cc: ... here.
	* tree-ssa.h (ssa_name_any_use_dominates_bb_p,
	mark_ssa_maybe_undefs): Declare.
	(ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.

2022-12-12  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-11-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107686
	* tree-ssa-forwprop.cc (optimize_vector_load): Restrict
	VEC_UNPACK support to integral typed bitfield refs.

2022-12-12  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-11-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107766
	* tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
	Use *node to check for FP vector types.

2022-12-12  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-11-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107647
	* tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
	allow FMA generation with -ffp-contract=fast for FP types.
	(complex_mul_pattern::matches): Likewise.

2022-12-12  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-10-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107407
	* tree-ssa-dse.cc (dse_classify_store): Perform backedge
	varying index check when collecting PHI uses rather than
	after optimizing processing of the candidate defs.

2022-12-12  Richard Biener  <rguenther@suse.de>

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

	PR tree-optimization/106868
	* gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
	Inline into single user ...
	(pass_waccess::check_dangling_uses): ... here and adjust the
	call and the PHI case to require that ref.aref is the address
	of the decl.

2022-12-09  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-12-09  Martin Liska  <mliska@suse.cz>

	* config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
	as for PR103661.
	* doc/extend.texi: Fix "x86-64" use.

2022-12-09  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-05-11  Martin Liska  <mliska@suse.cz>

	* common/config/i386/cpuinfo.h (has_cpu_feature): Directly
	compute index in cpu_features2.
	(set_cpu_feature): Likewise.
	* config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
	loop for cpu_features2 and use NOP_EXPRs.

2022-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	Backported from master:
	2022-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
	(*aarch64_cpymemdi): Likewise.
	(aarch64_movmemdi): Likewise.
	(aarch64_setmemdi): Likewise.
	(*aarch64_setmemdi): Likewise.

2022-12-05  Andrew Pinski  <pinskia@gmail.com>

	Backported from master:
	2022-12-05  Andrew Pinski  <pinskia@gmail.com>

	PR tree-optimization/107956
	* tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
	Check for NULL LHS on masked loads.

2022-12-01  liuhongt  <hongtao.liu@intel.com>

	PR target/107863
	* config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
	Convert op1 to target mode whenever mode mismatch.

2022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>

	Backported from master:
	2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>

	* config/darwin-d.cc: Include tm.h.
	* config/dragonfly-d.cc: Likewise.
	* config/freebsd-d.cc: Remove memmodel.h.
	* config/glibc-d.cc: Likewise.
	* config/netbsd-d.cc: Include tm.h.
	* config/openbsd-d.cc: Likewise.
	* config/sol2-d.cc: Likewise.

2022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>

	Backported from master:
	2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/105659
	* config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
	* config/aarch64/aarch64-d.cc: Include tm_d.h.
	* config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
	config/aarch64/aarch64-d.h.
	(aarch64_d_register_target_info): Likewise.
	* config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
	* config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
	tm_p.h.
	* config/arm/arm-protos.h (arm_d_target_versions): Move to
	config/arm/arm-d.h.
	(arm_d_register_target_info): Likewise.
	* config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
	* config/default-d.cc: Remove memmodel.h include.
	* config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
	* config/glibc-d.cc: Likewise.
	* config/i386/i386-d.cc: Include tm_d.h.
	* config/i386/i386-protos.h (ix86_d_target_versions): Move to
	config/i386/i386-d.h.
	(ix86_d_register_target_info): Likewise.
	(ix86_d_has_stdcall_convention): Likewise.
	* config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
	(TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
	* config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
	* config/mips/mips-d.cc: Include tm_d.h.
	* config/mips/mips-protos.h (mips_d_target_versions): Move to
	config/mips/mips-d.h.
	(mips_d_register_target_info): Likewise.
	* config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
	* config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
	* config/openbsd-d.cc: Likewise.
	* config/pa/pa-d.cc: Include tm_d.h.
	* config/pa/pa-protos.h (pa_d_target_versions): Move to
	config/pa/pa-d.h.
	(pa_d_register_target_info): Likewise.
	* config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
	* config/riscv/riscv-d.cc: Include tm_d.h.
	* config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
	config/riscv/riscv-d.h.
	(riscv_d_register_target_info): Likewise.
	* config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
	* config/rs6000/rs6000-d.cc: Include tm_d.h.
	* config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
	config/rs6000/rs6000-d.h.
	(rs6000_d_register_target_info): Likewise.
	* config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
	(TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
	* config/s390/s390-d.cc: Include tm_d.h.
	* config/s390/s390-protos.h (s390_d_target_versions): Move to
	config/s390/s390-d.h.
	(s390_d_register_target_info): Likewise.
	* config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
	* config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
	* config/sparc/sparc-d.cc: Include tm_d.h.
	* config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
	config/sparc/sparc-d.h.
	(sparc_d_register_target_info): Likewise.
	* config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
	* configure: Regenerate.
	* configure.ac (tm_d_file): Remove defaults.h.
	(tm_d_include_list): Remove options.h and insn-constants.h.
	* config/aarch64/aarch64-d.h: New file.
	* config/arm/arm-d.h: New file.
	* config/i386/i386-d.h: New file.
	* config/mips/mips-d.h: New file.
	* config/pa/pa-d.h: New file.
	* config/riscv/riscv-d.h: New file.
	* config/rs6000/rs6000-d.h: New file.
	* config/s390/s390-d.h: New file.
	* config/sparc/sparc-d.h: New file.

2022-11-30  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.md (addvdi3): Force operand 2 to a register.
	Remove "addi,tsv,*" instruction from unamed pattern.
	(subvdi3): Force operand 1 to a register.
	Remove "subi,tsv" instruction from from unamed pattern.

2022-11-29  Max Filippov  <jcmvbkbc@gmail.com>

	Backported from master:
	2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>

	PR rtl-optimization/107482
	* ira-color.cc (assign_hard_reg): Only call
	update_costs_from_copies when retry_p is false.

2022-11-25  Eric Botcazou  <ebotcazou@adacore.com>

	* range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.

2022-11-25  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
	Bail out if source and destination do not have the same storage order.

2022-11-21  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-11-21  Jakub Jelinek  <jakub@redhat.com>

	PR target/107748
	* config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
	_mm512_castph512_ph256, _mm512_castph128_ph512,
	_mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
	variables and union members.
	* config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
	_mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
	* config/i386/smmintrin.h (_mm_extract_ps): Likewise.
	* config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Likewise.

2022-11-20  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-11-20  Jakub Jelinek  <jakub@redhat.com>

	PR target/107183
	* reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
	If >= 0 and a DEBUG_INSN would be otherwise returned, set
	DEBUG_SEEN to 1 and ignore it.
	(swap_rtx_condition): Add DEBUG_SEEN argument.  In >= 0
	mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
	were seen and revert all changes on success in that case.
	Don't try to recog_memoized DEBUG_INSNs.
	(compare_for_stack_reg): Adjust swap_rtx_condition caller.
	If it returns true and debug_seen is 1, call swap_rtx_condition
	again with debug_seen -1.

2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>

	Backported from master:
	2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>

	* config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
	'-mmainkernel'.

2022-11-19  Jinyang He  <hejinyang@loongson.cn>

	Backported from master:
	2022-11-18  Jinyang He  <hejinyang@loongson.cn>

	PR target/107713
	* config/loongarch/sync.md
	(atomic_cas_value_exchange_7_<mode>): New define_insn.
	(atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
	atomic_cas_value_cmp_and_7_si.

2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	Backported from master:
	2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
	* config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
	* config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
	Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
	registers and then +1/-1).
	* config/aarch64/aarch64-tune.md: Regenerate.
	* config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
	idiom-matcher for the new fusion pair.
	* doc/invoke.texi: Add ampere1a.

2022-11-16  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2022-10-19  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/107206
	* tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
	(analyze_access_subtree): Do not create replacements for accesses with
	this flag when not toally scalarizing.
	(propagate_subaccesses_from_lhs): Set the new flag.

2022-11-09  Eric Botcazou  <ebotcazou@adacore.com>

	* alias.cc (init_alias_analysis): Do not record sets to the hard
	frame pointer if the frame pointer has not been eliminated.

2022-11-08  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2022-10-25  H.J. Lu  <hjl.tools@gmail.com>

	PR target/107304
	* expr.cc (get_inner_reference): Always use TYPE_MODE for vector
	field with vector raw mode.

2022-11-07  Cui,Lili  <lili.cui@intel.com>

	* config/i386/driver-i386.cc (host_detect_local_cpu):
	Move sapphirerapids out of AVX512_VP2INTERSECT.
	* config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
	* doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS

2022-11-05  Jonathan Wakely  <jwakely@redhat.com>

	Backported from master:
	2022-11-05  Jonathan Wakely  <jwakely@redhat.com>

	PR c/41041
	* doc/cppopts.texi: Document -fwide-exec-charset defaults
	correctly.

2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
	Do not take into account operand 2.
	(operand_compare::hash_operand) <COMPONENT_REF>: Likewise.

2022-11-03  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/107404
	* config/i386/i386.md (eliminate reg-reg move by inverting the
	condition of a cmove #2 peephole2): Check if eliminated move
	initialized a register, used in the moved instruction.

2022-11-03  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-10-02  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/107121
	* tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
	DEFFERED_INIT -> DEFERRED_INIT.

2022-11-03  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-09-24  Jakub Jelinek  <jakub@redhat.com>

	PR c/107001
	* omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
	at the end.
	* omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
	is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
	update parent.
	(omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
	cur_region back after new_omp_region.

2022-10-28  Julian Brown  <julian@codesourcery.com>

	Backported from master:
	2022-10-28  Julian Brown  <julian@codesourcery.com>
		    Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/90115
	* omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
	privatization candidates.

2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	Backported from master:
	2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
		    Yvan ROUX  <yvan.roux@foss.st.com>

	* ira.cc: Resize array after reg number increased.

2022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	Backported from master:
	2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
	Ampere-1 core entry.

2022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	Backported from master:
	2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	* config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.

2022-10-25  Eric Botcazou  <ebotcazou@adacore.com>

	* profile.cc (branch_prob): Be prepared for ignored functions with
	DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.

2022-10-25  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>

	Backported from master:
	2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>

	PR target/106355
	* config/s390/s390.cc (s390_call_saved_register_used): For a
	parameter with BLKmode fix determining number of consecutive
	registers.

2022-10-25  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-10-25  Martin Liska  <mliska@suse.cz>

	PR target/107364
	* common/config/i386/i386-cpuinfo.h (enum processor_vendor):
	Fix pedantic warning.

2022-10-25  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-10-24  Martin Liska  <mliska@suse.cz>

	PR target/107364
	* common/config/i386/i386-cpuinfo.h (enum processor_vendor):
	  Reorder enum values as BUILTIN_VENDOR_MAX should not point
	  in the middle of the valid enum values.

2022-10-21  Julian Brown  <julian@codesourcery.com>

	Backported from master:
	2022-10-20  Julian Brown  <julian@codesourcery.com>

	PR target/105421
	* config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
	argument forces FLAT addressing mode, not just
	pointer-to-non-aggregate.

2022-10-21  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-10-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107323
	* tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
	New function.
	(loop_distribution::break_alias_scc_partitions): Revert
	postorder save/restore from the PR94125 fix.  Instead
	make sure to not ignore edges from SCCs we are going to
	merge.

2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>

	Backported from master:
	2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/100400
	* omp-oacc-kernels-decompose.cc
	(visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
	call 'internal_error'.

2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
	merging alternative.
	(*aarch64_brk<brk_op>_ptest): Likewise.

2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/iterators.md (SVE_BRKP): New iterator.
	* config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
	(*aarch64_brkn_ptest): Likewise.
	(*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
	(*aarch64_brk<brk_op>_ptest): Likewise.

2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add
	AARCH64_FL_RCPC.
	(AARCH64_ISA_RCPC): New macro.
	* config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
	(neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
	* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
	__ARM_FEATURE_RCPC when appropriate.

2022-10-19  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2022-09-26  Kewen Lin  <linkw@linux.ibm.com>

	PR target/96072
	* config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
	condition for adding REG_CFA_DEF_CFA reg note with
	frame_pointer_needed_indeed.

2022-10-19  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2022-09-26  Kewen Lin  <linkw@linux.ibm.com>

	PR target/100645
	* config/rs6000/vector.md (vec_shr_<mode>): Replace condition
	TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.

2022-10-17  Pat Haugen  <pthaugen@linux.ibm.com>

	Backported from master:
	2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>

	PR target/99685
	* config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
	register count when not splitting IEEE 128-bit Complex.

2022-10-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-10-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107254
	* tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
	For permutes also analyze live lanes.
	(vect_schedule_slp_node): For permutes also code generate
	live lane extracts.

2022-10-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-10-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107212
	* tree-vect-loop.cc (vectorizable_reduction): Make sure to
	set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
	reduction.
	(vectorizable_live_operation): Do not pun to the SLP
	node representative for reduction epilogue generation.

2022-10-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-10-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107160
	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	Do not register accumulator if we failed to reduce it
	to a single vector.

2022-10-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-10-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107107
	* tree-ssa-sccvn.cc (visit_reference_op_store): Do not
	affect value-numbering when doing the tail merging
	MODIFY_EXPR lookup.

2022-10-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-09-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106922
	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
	an arbitrary number of same valued skipped stores.

2022-10-17  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-09-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106922
	* tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
	(vn_walk_cb_data::finish): Perform delayed verification of
	a skipped may-alias.
	(vn_reference_lookup_pieces): Likewise.
	(vn_reference_lookup): Likewise.
	(vn_reference_lookup_3): When skipping stores of the same
	value also handle constant stores that are more than a
	single VDEF away by delaying the verification.

2022-10-14  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/107248
	* config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
	blockage for leaf functions.
	(sparc_flat_expand_prologue): Emit frame instead of full blockage.
	(sparc_expand_epilogue): Emit a frame blockage for leaf functions.
	(sparc_flat_expand_epilogue): Emit frame instead of full blockage.

2022-10-13  Tobias Burnus  <tobias@codesourcery.com>

	Backported from master:
	2022-10-04  Tobias Burnus  <tobias@codesourcery.com>

	* doc/install.texi (Specific): Add missing items to bullet list.
	(amdgcn): Update LLVM requirements, use version not date for newlib.
	(nvptx): Use version not git hash for newlib.

2022-10-11  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
	MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
	(mve_vqshluq_m_n_s<mode>): Likewise.
	(mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
	instead of mve_imm_8/Rb.
	(mve_vqrshrunbq_n_s<mode>): Likewise.
	(mve_vqrshrntq_n_<supf><mode>): Likewise.
	(mve_vqrshruntq_n_s<mode>): Likewise.
	(mve_vrshrnbq_n_<supf><mode>): Likewise.
	(mve_vrshrntq_n_<supf><mode>): Likewise.
	(mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
	(mve_vqrshrntq_m_n_<supf><mode>): Likewise.
	(mve_vrshrnbq_m_n_<supf><mode>): Likewise.
	(mve_vrshrntq_m_n_<supf><mode>): Likewise.
	(mve_vqrshrunbq_m_n_s<mode>): Likewise.
	(mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
	of mve_imm_selective_upto_8/Rg.
	(mve_vsriq_m_n_<supf><mode>): Likewise.
	(cherry-picked from c3fb6658c7670e446f2fd00984404d971e416b3c)

2022-10-11  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-09-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106934
	* tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
	of bitfields.
	(maybe_rewrite_mem_ref_base): Likewise.

2022-10-11  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-09-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106922
	* tree-ssa-pre.cc (translate_vuse_through_block): Only
	keep the VUSE if its def dominates PHIBLOCK.
	(prune_clobbered_mems): Rewrite logic so we check whether
	a value dies in a block when the VUSE def doesn't dominate it.

2022-10-11  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-09-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106892
	* tree-predcom.cc (ref_at_iteration): Do not associate the
	constant part of the offset into the MEM_REF offset
	operand, across a non-zero offset.

2022-10-11  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-08-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105937
	* tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
	on backedges.
	(execute_late_warn_uninitialized): Mark backedges.

2022-10-03  Sergei Trofimovich  <siarheit@google.com>

	Backported from master:
	2022-10-03  Sergei Trofimovich  <siarheit@google.com>

	PR target/107064
	* config/i386/t-i386: Add build-time dependencies against
	i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
	i386-features.o.

2022-09-29  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2022-09-28  H.J. Lu  <hjl.tools@gmail.com>

	PR target/107061
	* config/i386/predicates.md (encodekey128_operation): Check
	XMM4-XMM6 as clobbered.
	(encodekey256_operation): Likewise.
	* config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
	(encodekey256u32): Likewise.

2022-09-29  Tobias Burnus  <tobias@codesourcery.com>

	Backported from master:
	2022-09-26  Tobias Burnus  <tobias@codesourcery.com>

	PR middle-end/106982
	* omp-low.cc (lower_oacc_reductions): Add some unshare_expr.

2022-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	Backported from master:
	2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
	(demeter): Update tunings to neoversev2.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
	neoversev2_addrcost_table.
	(demeter_regmove_cost): Rename to neoversev2_addrcost_table.
	(demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
	(demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
	(demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
	(demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
	(demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
	(demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
	Update references to above.
	(demeter_vector_cost): Rename to neoversev2_vector_cost.
	(demeter_tunings): Rename to neoversev2_tunings.
	(aarch64_vec_op_count::rename_cycles_per_iter): Use
	neoversev2_sve_issue_info instead of demeter_sve_issue_info.
	* doc/invoke.texi (AArch64 Options): Document neoverse-v2.

2022-09-21  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/106491
	* config/aarch64/aarch64-sve-builtins.cc (scalar_types)
	(acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
	markup to (new) extern declarations instead of to the main
	definition.

2022-09-21  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2022-09-13  Kewen Lin  <linkw@linux.ibm.com>

	PR target/104482
	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
	the equality check for argument number, and move this hunk ahead.

2022-09-21  Kewen.Lin  <linkw@gcc.gnu.org>

	Backported from master:
	2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>

	PR target/105485
	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
	the handling for unresolved overloaded builtin function.
	(rs6000_expand_builtin): Likewise.

2022-09-09  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-09-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106860
	* tree-ssa-loop-split.cc (split_loop): Find the exit to
	latch edge from the loop exit edge instead of from the
	latch.  Verify we're going to find it.

2022-09-09  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-09-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106841
	* tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
	scatter/gather offset.

2022-09-09  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-09-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106809
	* tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
	more than one successor before doing extra work.

2022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
	-mvrsave is present.
	* config/rs6000/t-rtems: Add -mvrsave multilib variants for
	-mcpu=e6500.

2022-09-03  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2022-09-01  Peter Bergner  <bergner@linux.ibm.com>

	PR target/101322
	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
	Enforce the use of a valid MMA pointer type.

2022-09-02  Richard Earnshaw  <rearnsha@arm.com>

	Backported from master:
	2022-08-03  Richard Earnshaw  <rearnsha@arm.com>

	PR rtl-optimization/106187
	* alias.h (mems_same_for_tbaa_p): Declare.
	* alias.cc (mems_same_for_tbaa_p): New function.
	* dse.cc (record_store): Use it instead of open-coding
	alias check.
	* cselib.h (cselib_redundant_set_p): Declare.
	* cselib.cc: Include alias.h
	(cselib_redundant_set_p): New function.
	* cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
	of rtx_equal_for_cselib_p.
	* postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
	(reload_cse_noop_set_p): Delete.

2022-09-02  Richard Earnshaw  <rearnsha@arm.com>

	Backported from master:
	2022-05-13  Richard Earnshaw  <rearnsha@arm.com>

	PR target/105463
	* config/arm/mve.md (*movmisalign<mode>_mve_store): Use
	mve_memory_operand.
	(*movmisalign<mode>_mve_load): Likewise.
	* config/arm/vec-common.md (movmisalign<mode>): Convert to generator
	form...
	(@movmisalign<mode>): ... thus.  Use generic predicates and then
	rework operands if they are not valid.  For MVE rework to a
	narrower element size if the alignment is not high enough.

2022-09-02  Tamar Christina  <tamar.christina@arm.com>

	Backported from master:
	2022-09-01  Tamar Christina  <tamar.christina@arm.com>

	PR other/106782
	* config/aarch64/aarch64.cc
	(aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
	HOST_WIDE_INT_PRINT_UNSIGNED.

2022-09-01  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-09-01  Jakub Jelinek  <jakub@redhat.com>

	PR other/106782
	* tree-vect-slp.cc (vect_print_slp_tree): Use
	HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
	* tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use
	HOST_WIDE_INT_PRINT_UNSIGNED instead of %d.
	* tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
	instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
	instead of SLP_TREE_DEF_TYPE (node).

2022-08-30  Tamar Christina  <tamar.christina@arm.com>

	Backported from master:
	2022-08-12  Tamar Christina  <tamar.christina@arm.com>

	PR target/106524
	* config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
	*fcmuo<mode>_bic_combine): Don't accept comparisons against zero.

2022-08-29  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2022-08-28  Peter Bergner  <bergner@linux.ibm.com>

	PR target/106017
	* config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
	of MMA pointer conversions.

2022-08-29  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2022-08-23  H.J. Lu  <hjl.tools@gmail.com>

	PR target/106714
	* config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
	__PTRDIFF_TYPE__.
	(_tile_stream_loadd_internal): Likewise.
	(_tile_stored_internal): Likewise.

2022-08-29  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-08-24  Jakub Jelinek  <jakub@redhat.com>

	PR target/106721
	* config/i386/sse.md (i128vldq): Add V16HF entry.
	(avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
	mask_opernad3 -> mask_operand3.

2022-08-29  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-08-15  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/106590
	* ifcvt.cc (check_for_cc_cmp_clobbers): New function.
	(noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
	mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
	further conditional moves.

2022-08-26  liuhongt  <hongtao.liu@intel.com>

	PR target/106704
	* config/i386/i386-builtin.def (BDESC): Add
	CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
	corresponding builtins.
	* config/i386/i386.cc (ix86_gimple_fold_builtin):
	Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
	IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.

2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>

	Backported from master:
	2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>

	PR target/106459
	* config/loongarch/loongarch.cc (loongarch_build_integer):
	Use HOST_WIDE_INT.
	* config/loongarch/loongarch.h (IMM_REACH): Likewise.
	(HWIT_1U): New Defined.
	(LU12I_OPERAND): Use HOST_WIDE_INT.
	(LU32I_OPERAND): Likewise.
	(LU52I_OPERAND): Likewise.
	(HWIT_UC_0xFFF): Likwise.

2022-08-24  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2022-08-16  Kewen Lin  <linkw@linux.ibm.com>

	PR tree-optimization/106322
	* tree-vect-stmts.cc (vectorizable_call): Don't allow
	vect_emulated_vector_p type for both vectype_in and vectype_out.

2022-08-24  Kewen.Lin  <linkw@gcc.gnu.org>

	Backported from master:
	2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>

	PR target/103353
	* config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
	check to preparation statements and add handlings for !TARGET_MMA.
	(define_expand movxo): Likewise.

2022-08-23  Tobias Burnus  <tobias@codesourcery.com>

	Backported from master:
	2022-08-19  Tobias Burnus  <tobias@codesourcery.com>

	* config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup.

2022-08-23  Tobias Burnus  <tobias@codesourcery.com>

	Backported from master:
	2022-08-17  Tobias Burnus  <tobias@codesourcery.com>

	PR middle-end/106548
	* omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
	for 'simd' linear-step values that are variable.

2022-08-19  Release Manager

	* GCC 12.2.0 released.

2022-08-17  Ilya Leoshkevich  <iii@linux.ibm.com>

	Backported from master:
	2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>

	* config/s390/vector.md (V_HW_FT): New iterator.
	* config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
	of V_HW.

2022-08-12  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2022-07-26  Peter Bergner  <bergner@linux.ibm.com>

	PR c/106016
	* expr.cc (count_type_elements): Handle OPAQUE_TYPE.

2022-08-11  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>

	Backported from master:
	2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
	(@aarch64_rbit<mode>): ... to this and change it in...
	(ffs<mode>2,ctz<mode>2): ... here.
	(@aarch64_rev16<mode>): New.
	* config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
	Define the following enum AARCH64_REV16, AARCH64_REV16L,
	AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
	(aarch64_init_data_intrinsics): New.
	(aarch64_general_init_builtins): Add call to
	aarch64_init_data_intrinsics.
	(aarch64_expand_builtin_data_intrinsic): New.
	(aarch64_general_expand_builtin): Add call to
	aarch64_expand_builtin_data_intrinsic.
	* config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
	__clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
	__rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.

2022-08-10  Tobias Burnus  <tobias@codesourcery.com>

	Backported from master:
	2022-08-09  Tobias Burnus  <tobias@codesourcery.com>

	PR middle-end/106492
	* omp-low.cc (lower_rec_input_clauses): Add missing folding
	to data type of linear-clause list item.

2022-08-10  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-08-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106513
	* gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
	for head_marker.

2022-08-10  Richard Biener  <rguenther@suse.de>

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

	PR lto/106540
	PR lto/106334
	* lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
	to input DECL_INITIAL, avoiding to commit drefs.

2022-08-05   Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
	setting -mblock-ops-vector-pair.  Back port patch from trunk on 8/3.

2022-08-02  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
		    Kewen Lin  <linkw@linux.ibm.com>

	PR testsuite/106345
	* config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
	to filter out all -mtune options.

2022-08-02  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2022-07-26  Kewen Lin  <linkw@linux.ibm.com>

	PR target/106091
	* config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
	REG_EH_REGION when replacing one store insn having it.
	(replace_swapped_aligned_load): Likewise.

2022-07-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-07-29  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/106449
	* omp-expand.cc (expand_omp_simd): Fix up handling of pointer
	iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
	or n2 before regimplifying it inside of a condition.

2022-07-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-07-27  Jakub Jelinek  <jakub@redhat.com>

	PR debug/106261
	* cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
	output asm thunks for -dx.

2022-07-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-07-01  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/106144
	* wide-int.cc (wi::shifted_mask): If end >= prec, return right after
	emitting element for shift or if shift is 0 first element after start.
	(wide_int_cc_tests): Add tests for equivalency of wi::mask and
	wi::shifted_mask with 0 start.

2022-07-27  David Malcolm  <dmalcolm@redhat.com>

	* json.cc (string::print): Fix escaping of '\'.

2022-07-27  David Malcolm  <dmalcolm@redhat.com>

	* doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
	fpath.txt output.

2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>

	Backported from master:
	2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>

	* config/riscv/riscv.md (stack_protect_set_<mode>): Remove
	duplicate backslashes.

2022-07-27  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-07-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106189
	* gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
	Divide using offset_ints.

2022-07-27  Joseph Myers  <joseph@codesourcery.com>

	Backported from master:
	2022-06-30  Joseph Myers  <joseph@codesourcery.com>

	PR lto/106129
	* lto-wrapper.cc (find_option): Add argument start.
	(merge_and_complain): Loop over existing_opt_index and
	existing_opt2_index for Xassembler check.  Update calls to
	find_option.
	(find_and_merge_options): Add argument first to determine whether
	to merge options with those passed in *opts.
	(run_gcc): Update calls to find_and_merge_options.

2022-07-27  Andrew Pinski  <apinski@marvell.com>

	Backported from master:
	2022-07-09  Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/106087
	* tree-ssa-dce.cc (simple_dce_from_worklist): Check
	to make sure the statement is only defining one operand.

2022-07-27  Tamar Christina  <tamar.christina@arm.com>

	Backported from master:
	2022-07-08  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/106063
	* match.pd: Do not apply pattern after veclower is not supported.

2022-07-27  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	2022-06-03  Alexandre Oliva  <oliva@adacore.com>

	PR tree-optimization/105665
	PR tree-optimization/100810
	* tree-ssa-loop-ivopts.cc
	(ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
	(ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
	(find_ssa_undef): Check precomputed flag and intervening uses.
	(tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.

2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	Backported from master:
	2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-07-19  Richard Biener  <rguenther@suse.de>

	PR middle-end/106331
	* builtins.cc (get_memory_rtx): Compute alignment from
	the original address and set MEM_OFFSET to unknown when
	we create a MEM_EXPR from the base object of the address.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-07-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106131
	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
	zero when offsetting the read looking through an aggregate
	copy.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-06-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/106112
	* tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
	a constant operand according to its type.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-06-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/106027
	* fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
	type of the prevailing comparison for the new comparison type.
	(fold_binary_loc): Use proper types for the A < X && A + 1 > Y
	to A < X && A >= Y folding.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-06-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105971
	* tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
	FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
	to leak less surprising alias results.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-06-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105969
	* gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
	by zero in overflow check.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-06-14  Richard Biener  <rguenther@suse.de>

	PR middle-end/105965
	* match.pd (view_convert CONSTRUCTOR): Handle single-element
	CTOR case.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-06-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105946
	* tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
	Do not look at arguments not specified in the function call.

2022-07-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-07-11  Richard Biener  <rguenthert@suse.de>

	PR target/105459
	* config/i386/i386-options.cc (ix86_set_current_function):
	Rebuild the target optimization node whenever necessary,
	not only when the optimization node didn't change.

2022-07-14   Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
	not generate block copies with vector pair instructions if we are
	tuning for power10.  Back port from master branch.

2022-07-14  Surya Kumari Jangala  <jskumari@linux.vnet.ibm.com>

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

	PR rtl-optimization/105041
	* regrename.cc (check_new_reg_p): Use nregs value from du chain.

2022-07-11  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2022-07-04  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/105860
	* tree-sra.cc (build_reconstructed_reference): Start expr
	traversal only just below the outermost union.

2022-07-10  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2022-07-10  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
	instead of mul.d.

2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
	    Uroš Bizjak  <ubizjak@gmail.com>

	PR target/105930
	* config/i386/i386.md (*<any_or>di3_doubleword): Split after
	reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
	and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).

2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_compute_frame_info):
	Modify fp_sp_offset and gp_sp_offset's calculation method,
	when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
	or UNITS_PER_FP_REG.

2022-07-04  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/106114
	* gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
	statement operands instead of GORI cache.

2022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
	    Marek Polacek  <polacek@redhat.com>
	    Segher Boessenkool  <segher@kernel.crashing.org>
	    Kewen Lin  <linkw@linux.ibm.com>

	PR target/105991
	* config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
	exact_log2 doesn't return -1 (or zero).
	(plus_xor): New code iterator.
	(*rotl<mode>3_insert_3_<code>): New define_insn_and_split.

2022-07-04  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2022-07-03  Xi Ruoyao  <xry111@xry111.site>
		    Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
	New static function.
	(loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
	of TARGET_CHECK_ZERO_DIV.
	(loongarch_output_division): Likewise.
	* common/config/loongarch/loongarch-common.cc
	(TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
	* doc/invoke.texi: Update to match the new behavior.

2022-07-03  Roger Sayle  <roger@nextmovesoftware.com>

	PR target/106122
	* config/i386/i386.md (peephole2): Avoid generating pop %esp
	when optimizing for size.

2022-07-02  Sergei Trofimovich  <siarheit@google.com>

	Backported from master:
	2022-06-29  Sergei Trofimovich  <siarheit@google.com>

	PR c++/106102
	* system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.

2022-07-01  Vladimir Makarov  <vmakarov@gcc.gnu.org>

	Backported from master:
	2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>

	PR target/103722
	* config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
	is special) for various scenarios.

2022-06-29  Richard Biener  <rguenther@suse.de>

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

	PR bootstrap/105551
	* opts.cc (finish_options): Also disable var-tracking if
	!DWARF2_DEBUGGING_INFO.

2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>

	Backported from master:
	2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/106097
	* config/loongarch/loongarch.cc (loongarch_build_integer):
	Remove undefined behavior from code.

2022-06-28  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-06-21  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/106032
	* ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
	t may_trap_or_fault_p, even if it is cheap.

2022-06-28  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-06-21  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/106030
	* expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
	temp to expand_operands if mode has been promoted.

2022-06-28  Xi Ruoyao  <xry111@xry111.site>

	Backported from master:
	2022-06-28  Xi Ruoyao  <xry111@xry111.site>

	PR target/106096
	* config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
	$r13 from SIBCALL_REGS.
	* config/loongarch/loongarch.cc (loongarch_regno_to_class):
	Change $r13 to JIRL_REGS.

2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>

	Backported from master:
	2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>

	* config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
	condition to avoid overflow.

2022-06-23  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-06-23  Martin Liska  <mliska@suse.cz>

	PR ipa/105600
	* ipa-icf.cc (sem_item_optimizer::filter_removed_items):
	Skip variables with body_removed.

2022-06-23  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	Backported from master:
	2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR tree-optimization/105736
	* tree-object-size.cc (addr_object_size): Return size_unknown
	when object offset computation returns an error.

2022-06-23  Richard Sandiford  <richard.sandiford@arm.com>

	Backported from master:
	2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>

	PR tree-optimization/105254
	PR tree-optimization/105940
	Revert:
	* config/aarch64/aarch64.cc
	(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
	loop_vec_info as argument.  Restrict the unroll factor to values
	that divide the VF.
	(aarch64_vector_costs::finish_cost): Update call accordingly.

2022-06-23  Kewen Lin  <linkw@linux.ibm.com>

	Backported from master:
	2022-06-14  Kewen Lin  <linkw@linux.ibm.com>

	PR tree-optimization/105940
	* tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
	applying suggested_unroll_factor after start_over.

2022-06-21  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2022-06-20  H.J. Lu  <hjl.tools@gmail.com>

	PR target/105960
	* config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
	false if PIC register is used when calling ifunc functions.

2022-06-20  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/105209
	* config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
	* config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
	(alpha_store_data_bypass_p_1): Ditto.
	* config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
	of generic store_data_bypass_p.
	(ev4_ist_c): Remove insn reservation.

2022-06-20  Uros Bizjak  <ubizjak@gmail.com>

	Backported from master:
	2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/105970
	* config/i386/i386.cc (ix86_function_arg): Assert that
	the mode of pointer argumet is equal to ptr_mode, not Pmode.

2022-06-19  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-06-18  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/105998
	* varasm.cc (narrowing_initializer_constant_valid_p): Check
	SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
	! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.

2022-06-19  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-06-16  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/105951
	* tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
	optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
	as last argument to the internal functions.
	* builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
	extra call argument to ifns.  If expand_atomic_fetch_op fails for the
	lhs == NULL_TREE case, fall through into the optab code with
	gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
	fails, construct a CALL_EXPR and expand that.
	(expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
	to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
	expand that.

2022-06-19  Jan Hubicka  <jh@suse.cz>

	Backported from master:
	2022-06-14  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/105739
	* ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.

2022-06-16  Richard Earnshaw  <rearnsha@arm.com>

	Backported from master:
	2022-06-15  Richard Earnshaw  <rearnsha@arm.com>

	PR target/105981
	* config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
	to first_reg and second_reg respectively.  Initialize them correctly
	when generating big-endian code.

2022-06-15  Simon Wright  <simon@pushface.org>

	Backported from master:
	2022-06-12  Simon Wright  <simon@pushface.org>

	PR target/104871
	* config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
	version is darwin20 (macOS 11) or greater, truncate the version to the
	major number.

2022-06-15  Mark Mentovai  <mark@mentovai.com>

	Backported from master:
	2022-06-12  Mark Mentovai  <mark@mentovai.com>

	* config/darwin-c.cc: Make -mmacosx-version-min more future-proof.

2022-06-15  Iain Sandoe  <iain@sandoe.co.uk>

	Backported from master:
	2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/105599
	* config/darwin.h: Move versions-specific handling of multiply_defined
	from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.

2022-06-15  liuhongt  <hongtao.liu@intel.com>

	PR target/105953
	* config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
	operands[3].

2022-06-14  H.J. Lu  <hjl.tools@gmail.com>

	Backported from master:
	2022-06-13  H.J. Lu  <hjl.tools@gmail.com>

	* common/config/i386/cpuinfo.h (get_available_features): Require
	AVX for F16C and VAES.

2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	Backported from master:
	2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	* config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
	(-1 << 31) for the single-bit case, when operating on (1 << 31)
	in SImode.
	* config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
	any single-bit value, moving the special case for (1 << 31) to
	riscv_build_integer_1 (in riscv.c).

2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>

	Backported from master:
	2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>

	PR target/105879
	* config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
	to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
	'gen_highpart' bitwise semantics and fix order of highpart and
	lowpart depending on target endianness.

2022-06-08  liuhongt  <hongtao.liu@intel.com>

	PR target/105854
	* config/i386/sse.md (ssse3_palignrdi): Change alternative 2
	from Yv to Yw.

2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	Backported from master:
	2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
		    Manolis Tsamis  <manolis.tsamis@vrull.eu>

	* config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
	(CTZ_DEFINED_VALUE_AT_ZERO): Same.
	* doc/sourcebuild.texi: add documentation for RISC-V specific
	test target keywords

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

	Backported from master:
	2022-06-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105786
	* tree-loop-distribution.cc
	(loop_distribution::transform_reduction_loop): Only do strlen
	replacement for integer type reductions.

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

	Backported from master:
	2022-05-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105726
	* gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
	Constrain array-of-flexarray case more.

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

	Backported from master:
	2022-05-24  Richard Biener  <rguenther@suse.de>

	PR middle-end/105711
	* expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
	and use it.
	(extract_bit_field_1): Pass down the mode of op0 to
	extract_bit_field_as_subreg.

2022-06-02  Martin Sebor  <msebor@redhat.com>

	Backported from master:
	2022-05-24  Martin Sebor  <msebor@redhat.com>
		    Richard Biener  <rguenther@suse.de>

	PR middle-end/105604
	* gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
	(get_origin_and_offset_r): Remove null handling.  Handle variable array
	sizes.
	(get_origin_and_offset): Handle null argument here.  Simplify.
	(alias_offset): Update comment.
	* pointer-query.cc (field_at_offset): Update comment.  Handle members
	of variable-length types.

2022-06-02  Vineet Gupta  <vineetg@rivosinc.com>

	Backported from master:
	2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>

	* config/riscv/riscv.cc: (struct riscv_tune_param): Add
	  fmv_cost.
	(rocket_tune_info): Add default fmv_cost 8.
	(sifive_7_tune_info): Ditto.
	(thead_c906_tune_info): Ditto.
	(optimize_size_tune_info): Ditto.
	(riscv_register_move_cost): Use fmv_cost for int<->fp moves.

2022-05-30  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2022-05-27  Martin Jambor  <mjambor@suse.cz>

	PR ipa/105639
	* ipa-prop.cc (propagate_controlled_uses): Check type of the
	constant before adding a LOAD reference.

2022-05-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-05-27  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/105729
	* fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
	to (X &) z + w if -fsanitize=null during GENERIC folding.

2022-05-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-05-25  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/105714
	* asan.cc (has_stmt_been_instrumented_p): For assignments which
	are both stores and loads, return true only if both destination
	and source have been instrumented.

2022-05-30  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-05-19  Jakub Jelinek  <jakub@redhat.com>

	PR c/105635
	* pointer-query.cc (gimple_parm_array_size): Return NULL if var
	doesn't have pointer or reference type.

2022-05-26  Simon Cook  <simon.cook@embecosm.com>

	Backported from master:
	2022-05-25  Simon Cook  <simon.cook@embecosm.com>

	* config/riscv/arch-canonicalize: Only add mafd extension if
	base was rv32/rv64g.

2022-05-26  Kito Cheng  <kito.cheng@sifive.com>

	Backported from master:
	2022-05-09  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/arch-canonicalize: Handle g correctly.

2022-05-24  Qing Zhao  <qing.zhao@oracle.com>

	Backported from master:
	2022-05-09  Qing Zhao  <qing.zhao@oracle.com>

	PR target/101891
	* config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
	as a generic MMX mode instead of V4HImode.
	(zero_all_mm_registers): Use SET to zero instead of MOV for
	zeroing scratch registers.
	(ix86_zero_call_used_regs): Likewise.

2022-05-24  Bruno Haible  <bruno@clisp.org>

	Backported from master:
	2022-05-24  Bruno Haible  <bruno@clisp.org>

	PR other/105527
	* doc/install.texi (Configuration): Add more details about --with-zstd.
	Document --with-zstd-include and --with-zstd-lib

2022-05-24  Martin Liska  <mliska@suse.cz>

	Backported from master:
	2022-05-11  Martin Liska  <mliska@suse.cz>

	PR other/105527
	* doc/install.texi: Document the configure option --with-zstd.

2022-05-20  Peter Bergner  <bergner@linux.ibm.com>

	Backported from master:
	2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
		    Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/105556
	* config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
	mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
	mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
	mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
	Update other operands accordingly.

2022-05-20  Richard Biener  <rguenther@suse.de>

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

	PR tree-optimization/103116
	* tree-vect-stmts.cc (get_group_load_store_type): Handle the
	case we need peeling for gaps even though GROUP_GAP is zero.

2022-05-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-05-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105618
	* tree-ssa-sink.cc (statement_sink_location): For virtual
	PHI uses ignore those defining the used virtual operand.

2022-05-19  Richard Biener  <rguenther@suse.de>

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

	PR rtl-optimization/105577
	* dse.cc (rest_of_handle_dse): Make sure to purge dead EH
	edges before running fast DCE via df_analyze.

2022-05-19  Richard Biener  <rguenther@suse.de>

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

	PR tree-optimization/105562
	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
	against all CLOBBER defs if there's not an obvious must-alias
	and we are not doing redundant store elimination.
	(vn_walk_cb_data::redundant_store_removal_p): New field.
	(vn_reference_lookup_pieces): Initialize it.
	(vn_reference_lookup): Add argument to specify if we are
	doing redundant store removal.
	(eliminate_dom_walker::eliminate_stmt): Specify we do.
	* tree-ssa-sccvn.h (vn_reference_lookup): Adjust.

2022-05-19  Richard Biener  <rguenther@suse.de>

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

	PR rtl-optimization/105559
	* cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
	for non-debug insns.

2022-05-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-05-10  Richard Biener  <rguenther@suse.de>

	PR middle-end/105537
	* toplev.cc (process_options): Move flag_var_tracking
	handling ...
	* opts.cc (finish_options): ... here.

2022-05-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-05-10  Richard Biener  <rguenther@suse.de>

	* flags.h (dwarf_debuginfo_p): Add opts argument, guard
	API with !GENERATOR_FILE.
	* opts.cc (global_options): Poison.
	(global_options_set): Likewise.
	(finish_options): Refer to options via opts.

2022-05-19  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-04-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105431
	* tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
	(powi_as_mults): Use absu_hwi.
	(gimple_expand_builtin_powi): Remove now pointless n != -n
	check.

2022-05-18  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/105458
	* value-relation.cc (path_oracle::register_relation): Merge, then check
	for equivalence.

2022-05-16  Sebastian Pop  <spop@amazon.com>

	PR target/105162
	* config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
	of str array.
	* config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
	memmodel_from_int and handle MEMMODEL_SYNC_*.
	(DEF0): Add __aarch64_*_sync functions.

2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>

	* dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
	instead of a bitwise negation.
	<COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.

2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-sra.cc (sra_modify_assign): Check that scalar storage order
	is the same on the LHS and RHS before rewriting one with the model
	of the other.

2022-05-13  Alexandre Oliva  <oliva@adacore.com>

	Backported from master:
	2022-05-13  Alexandre Oliva  <oliva@adacore.com>

	PR rtl-optimization/105455
	* gimple-harden-conditionals.cc (insert_check_and_trap): Set
	probabilities for newly-conditional edges.

2022-05-11  Martin Jambor  <mjambor@suse.cz>

	Backported from master:
	2022-04-29  Martin Jambor  <mjambor@suse.cz>

	PR ipa/100413
	* cgraph.cc (cgraph_node::remove): Release body of the node this
	is clone_of if appropriate.

2022-05-10  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-05-10  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105528
	* gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
	set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.

2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/105292
	* config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
	true only for 8-byte vector modes.

2022-05-06  Michael Meissner  <meissner@linux.ibm.com>

	Backported from master:
	2022-05-06   Michael Meissner  <meissner@linux.ibm.com>

	PR target/102059
	* config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
	and -mpower10-fusion options for inlining purposes.

2022-05-06  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-04-29  Richard Biener  <rguenther@suse.de>

	PR middle-end/105376
	* tree.cc (build_real): Special case dconst* arguments
	for decimal floating point types.

2022-05-06  Richard Biener  <rguenther@suse.de>

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

	PR tree-optimization/105484
	* gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
	whether the CFG changed.
	(gimple_expand_vec_exprs): When the CFG changed, clean it up.

2022-05-06  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-05-03  Richard Biener  <rguenther@suse.de>

	PR middle-end/105461
	* opts.cc (finish_options): Match the condition to
	disable flag_var_tracking to that of process_options.

2022-05-06  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-05-03  Richard Biener  <rguenther@suse.de>

	* opts.cc: #undef OPTIONS_SET_P.
	(finish_options): Use opts_set instead of OPTIONS_SET_P.

2022-05-06  Richard Biener  <rguenther@suse.de>

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

	PR tree-optimization/105437
	* tree-vect-slp.cc (vect_schedule_slp_node): Handle the
	case where last_stmt alters control flow.

2022-05-06  Richard Biener  <rguenther@suse.de>

	Backported from master:
	2022-05-03  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105394
	* tree-vect-generic.cc (expand_vector_condition): Adjust
	comp_width for non-integer mode masks as well.

2022-05-06  Release Manager

	* GCC 12.1.0 released.

2022-05-02  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2022-05-02  Jakub Jelinek  <jakub@redhat.com>

	* system.h: Include initializer_list.

2022-04-28  Jakub Jelinek  <jakub@redhat.com>

	PR lto/105399
	* cgraph.cc (cgraph_node::verify_node): Don't verify
	semantic_interposition flag against
	opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.

2022-04-28  Jakub Jelinek  <jakub@redhat.com>

	PR target/105331
	* config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
	temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
	of it.

2022-04-28  Jonathan Wakely  <jwakely@redhat.com>

	* doc/install.texi (Configuration): Remove misleading text
	around LE PowerPC Linux multilibs.

2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR d/103528
	* doc/install.texi (Tools/packages necessary for building GCC)
	(GDC): Document libphobos requirement.
	(Host/target specific installation notes for GCC, *-*-solaris2*):
	Document libphobos and GDC specifics.

2022-04-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105219
	* tree-vect-loop.cc (vect_transform_loop): Disable
	special code narrowing the vectorized epilogue max
	iterations when peeling for alignment or gaps was in effect.

2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>

	* config/loongarch/loongarch.cc
	(loongarch_flatten_aggregate_field): Ignore empty fields for
	RECORD_TYPE.

2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.md: Add fdiv define_expand template,
	then generate floating-point division and floating-point reciprocal
	instructions.

2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
	to PLV instruction templates.

2022-04-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/104492
	* gimple-ssa-warn-access.cc
	(pass_waccess::warn_invalid_pointer): Exclude equality compare
	diagnostics for all kind of invalidations.
	(pass_waccess::check_dangling_uses): Fix post-dominator query.
	(pass_waccess::check_pointer_uses): Likewise.

2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR target/102024
	* config/s390/s390-protos.h (s390_function_arg_vector): Remove
	prototype.
	* config/s390/s390.cc (s390_single_field_struct_p): New function.
	(s390_function_arg_vector): Invoke s390_single_field_struct_p.
	(s390_function_arg_float): Likewise.

2022-04-27  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/105396
	* asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
	where offset is bigger than off but smaller than m_prev_offset + 32
	bits by pushing one or more 0 bytes.  Sink the
	m_shadow_bytes.safe_push (value); flush_if_full (); statements from
	all cases to the end of the function.

2022-04-27  Kewen Lin  <linkw@linux.ibm.com>

	PR target/105271
	* config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
	stanza.

2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>

	* config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
	data-share memory exhausted" error more verbose.

2022-04-26  Martin Liska  <mliska@suse.cz>

	PR lto/105364
	* lto-wrapper.cc (print_lto_docs_link): Use global_dc.
	(run_gcc): Parse OPT_fdiagnostics_urls_.
	(main): Initialize global_dc.

2022-04-26  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/105314
	* ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
	operand is equal to if_info->x, instead use the non-zero operand
	as one of the operands of AND with if_info->x as target.

2022-04-26  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105374
	* tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
	!fold_convertible_p rather than assuming fold_convert must succeed.

2022-04-26  Jakub Jelinek  <jakub@redhat.com>

	PR target/105367
	* config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
	el_mode == DFmode ? double_type_node : float_type_node instead of
	TREE_TYPE (type_in) as first arguments to mathfn_built_in.

2022-04-25  David Malcolm  <dmalcolm@redhat.com>

	PR analyzer/104308
	* gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
	the location of new_stmt in all places that don't already set it,
	whether explicitly, or via a call to gsi_replace.

2022-04-25  Paul A. Clarke  <pc@us.ibm.com>

	* doc/extend.texi (Other Builtins): Correct reference to 'modff'.

2022-04-25  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/105276
	* gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
	existing global range with calculated value.

2022-04-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105368
	* tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.

2022-04-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/100810
	* tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
	(find_ssa_undef): New function.
	(add_candidate_1): Avoid adding derived candidates with
	undefined SSA names and mark the original ones.
	(determine_group_iv_cost_generic): Reject rewriting
	uses with a different IV when that involves undefined SSA names.

2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR target/89125
	* config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
	bsd_libc_has_function.
	* targhooks.cc (bsd_libc_has_function): New function.
	Expand the supported math functions to inclue C99 libm.
	* targhooks.h (bsd_libc_has_function): New Prototype.

2022-04-25  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/105231
	* combine.cc (distribute_notes): Assert that a REG_EH_REGION
	with landing pad > 0 is from i3.  Put any REG_EH_REGION note
	on i3 or drop it if the insn can not trap.
	(try_combine): Ensure that we can merge REG_EH_REGION notes
	with non-call exceptions.  Ensure we are not splitting a
	trapping part of an insn with non-call exceptions when there
	is any REG_EH_REGION note to preserve.

2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>

	PR target/105339
	* config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
	Add parentheses for parameters and djust format.
	(_mm512_mask_scalef_round_pd): Ditto.
	(_mm512_maskz_scalef_round_pd): Ditto.
	(_mm512_scalef_round_ps): Ditto.
	(_mm512_mask_scalef_round_ps): Ditto.
	(_mm512_maskz_scalef_round_ps): Ditto.
	(_mm_scalef_round_sd): Use _mm_undefined_pd.
	(_mm_scalef_round_ss): Use _mm_undefined_ps.
	(_mm_mask_scalef_round_sd): New macro.
	(_mm_mask_scalef_round_ss): Ditto.
	(_mm_maskz_scalef_round_sd): Ditto.
	(_mm_maskz_scalef_round_ss): Ditto.

2022-04-23  Jakub Jelinek  <jakub@redhat.com>

	PR target/105338
	* config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
	op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
	cases.

2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/105334
	* config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
	(pack<mode> for FMOVE128): Rename and split the insn_and_split to...
	(pack<mode>_hard for FMOVE128): ... this...
	(pack<mode>_soft for FMOVE128): ... and this.

2022-04-22  Paul A. Clarke  <pc@us.ibm.com>

	* doc/extend.texi: Correct "This" to "These".

2022-04-22  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/105333
	* rtlanal.cc (replace_rtx): Use simplify_subreg or
	simplify_unary_operation if CONST_SCALAR_INT_P rather than just
	CONST_INT_P.

2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/103197
	PR target/102146
	* config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
	the "Z" alternatives in {l,st}{f,xs}iwzx.
	(zero_extendhi<mode>2 for EXTHI): Ditto.
	(zero_extendsi<mode>2 for EXTSI): Ditto.
	(*movsi_internal1): Ditto.
	(*mov<mode>_internal1 for QHI): Ditto.
	(movsd_hardfloat): Ditto.

2022-04-21  Martin Liska  <mliska@suse.cz>

	* configure.ac: Enable compressed debug sections for mold
	linker.
	* configure: Regenerate.

2022-04-21  Jakub Jelinek  <jakub@redhat.com>

	PR debug/105203
	* emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
	on DEBUG_INSNs.

2022-04-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104912
	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
	the cost model check to a separate BB to make sure it is
	checked first and not combined with other version checks.

2022-04-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105312
	* gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
	VCOND and VCONDU for EQ and NE.

2022-04-20  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/103818
	* ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
	poly_offset_int to avoid overflow.
	(modref_access_node::update2): likewise.

2022-04-20  Jakub Jelinek  <jakub@redhat.com>

	PR ipa/105306
	* cgraph.cc (cgraph_node::create): Set node->semantic_interposition
	to opt_for_fn (decl, flag_semantic_interposition).
	* cgraphclones.cc (cgraph_node::create_clone): Copy over
	semantic_interposition flag.

2022-04-19  Sergei Trofimovich  <siarheit@google.com>

	PR gcov-profile/105282
	* value-prof.cc (stream_out_histogram_value): Allow negative counts
	on HIST_TYPE_INDIR_CALL.

2022-04-19  Jakub Jelinek  <jakub@redhat.com>

	PR target/105257
	* config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
	use gen_raw_REG instead of gen_rtx_REG and copy over also
	ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.

2022-04-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104010
	PR tree-optimization/103941
	* tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
	we run into stmts in patterns continue walking those
	for uses outside of the vectorized region instead of
	marking the lane live.

2022-04-18  Hans-Peter Nilsson  <hp@axis.com>

	* doc/install.texi <CRIS>: Remove references to removed websites and
	adjust for cris-*-elf being the only remaining toolchain.

2022-04-18  Hans-Peter Nilsson  <hp@axis.com>

	* doc/invoke.texi <CRIS>: Remove references to options for removed
	subtarget cris-axis-linux-gnu and tweak wording accordingly.

2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/install.texi (Specific): Adjust mingw-w64 download link.

2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>

	* config/i386/smmintrin.h: Correct target pragma from sse4.1
	and sse4.2 to crc32 for crc32 intrinsics.

2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>

	PR debug/105089
	* ctfc.cc (ctf_dvd_ignore_insert): New function.
	(ctf_dvd_ignore_lookup): Likewise.
	(ctf_add_variable): Keep track of non-defining decl DIEs.
	(new_ctf_container): Initialize the new hash-table.
	(ctfc_delete_container): Empty hash-table.
	* ctfc.h (struct ctf_container): Add new hash-table.
	(ctf_dvd_ignore_lookup): New declaration.
	(ctf_add_variable): Add additional argument.
	* ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
	record for non-defining decl for which a defining decl exists
	in the same TU.
	(ctf_preprocess): Defer updating the number of global objts
	until here.
	(output_ctf_header): Use ctfc_vars_list_count as some CTF
	variables may not make it to the final output.
	(output_ctf_vars): Likewise.
	* dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
	if this is known to be a non-defining decl DIE.

2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>

	* ctfc.h (struct ctf_container): Introduce a new member.
	* ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
	variable.

2022-04-14  Jakub Jelinek  <jakub@redhat.com>

	PR target/105247
	* simplify-rtx.cc (simplify_const_binary_operation): For shifts
	or rotates by VOIDmode constant integer shift count use word_mode
	for the operand if int_mode is narrower than word.

2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>

	* config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
	(s390_get_unit_mask): Likewise.
	(s390_is_fpd): Likewise.
	(s390_is_fxd): Likewise.
	* config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
	* config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
	Add z16.
	(z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
	Likewise.
	* config/s390/3931.md: New file.

2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>

	PR tree-optimization/105254
	* config/aarch64/aarch64.cc
	(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
	loop_vec_info as argument.  Restrict the unroll factor to values
	that divide the VF.
	(aarch64_vector_costs::finish_cost): Update call accordingly.

2022-04-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105263
	* tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
	negates in multiplication chains with DFP.

2022-04-13  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/105253
	* tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
	use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
	comparisons or tree_nop_conversion_p checks.

2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>

	PR target/103069
	* config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
	  Add missing set to target_val at pause label.

2022-04-13  Jakub Jelinek  <jakub@redhat.com>

	PR target/105234
	* attribs.cc (decl_attributes): Don't set
	DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
	NULL.

2022-04-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105250
	* fold-const.cc (fold_convertible_p): Revert
	r12-7979-geaaf77dd85c333, instead check for size equality
	of the vector types involved.

2022-04-13  Richard Biener  <rguenther@suse.de>

	Revert:
	2022-04-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104912
	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
	the cost model check to a separate BB to make sure it is
	checked first and not combined with other version checks.

2022-04-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104912
	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
	the cost model check to a separate BB to make sure it is
	checked first and not combined with other version checks.

2022-04-13  Jakub Jelinek  <jakub@redhat.com>

	* tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.

2022-04-12  Antoni Boucher  <bouanto@zoho.com>

	PR jit/104072
	* reginfo.cc: New functions (clear_global_regs_cache,
	reginfo_cc_finalize) to avoid an issue where compiling the same
	code multiple times gives an error about assigning the same
	register to 2 global variables.
	* rtl.h: New function (reginfo_cc_finalize).
	* toplev.cc: Call it.

2022-04-12  Antoni Boucher  <bouanto@zoho.com>

	PR jit/104071
	* toplev.cc: Call the new function tree_cc_finalize in
	toplev::finalize.
	* tree.cc: New functions (clear_nonstandard_integer_type_cache
	and tree_cc_finalize) to clear the cache of non-standard integer
	types to avoid having issues with some optimizations of
	bitcast where the SSA_NAME will have a size of a cached
	integer type that should have been invalidated, causing a
	comparison of integer constant to fail.
	* tree.h: New function (tree_cc_finalize).

2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>

	PR target/97348
	* config/nvptx/nvptx.h (ASM_SPEC): Don't set.
	* config/nvptx/nvptx.opt (misa): Adjust comment.

2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>

	Revert:
	2022-03-03  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.

2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>

	Revert:
	2022-03-31  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.

2022-04-12  Richard Biener  <rguenther@suse.de>

	PR ipa/104303
	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
	include local escaped memory as obviously necessary stores.

2022-04-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105235
	* tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
	return whether the CFG changed.
	(execute_cse_sincos_1): Adjust.

2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>

	PR target/104144
	* config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
	(MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
	(MULTILIB_REQUIRED): Don't require Armv9-a libraries.
	(MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
	(MULTILIB_REUSE): Remove remap rules for Armv9-a.
	* config/arm/t-multilib (v9_a_nosimd_variants): Delete.
	(MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.

2022-04-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105232
	* tree.cc (component_ref_size): Bail out for too large
	or non-constant sizes.

2022-04-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105226
	* tree-vect-loop-manip.cc (vect_loop_versioning): Verify
	we can split the exit of an outer loop we choose to version.

2022-04-12  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
	ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
	ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
	ix86_emit_swdivsf, ix86_emit_swsqrtsf,
	ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
	Formatting fix.
	* config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.

2022-04-12  Jakub Jelinek  <jakub@redhat.com>

	PR target/105214
	* config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
	do_pending_stack_adjust.

2022-04-12  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/105211
	* builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
	fails for TREE_TYPE (arg), retry it with
	TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
	fails, emit call normally.

2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>

	* common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
	* config.gcc: Add z16 as march/mtune switch.
	* config/s390/driver-native.cc (s390_host_detect_local_cpu):
	Recognize z16 with -march=native.
	* config/s390/s390-opts.h (enum processor_type): Rename
	PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
	* config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
	(PROCESSOR_3931_Z16): ... throughout the file.
	(s390_processor processor_table): Add z16 as cpu string.
	* config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
	PF_Z16.
	(TARGET_CPU_ARCH14): Rename to ...
	(TARGET_CPU_Z16): ... this.
	(TARGET_CPU_ARCH14_P): Rename to ...
	(TARGET_CPU_Z16_P): ... this.
	(TARGET_ARCH14): Rename to ...
	(TARGET_Z16): ... this.
	(TARGET_ARCH14_P): Rename to ...
	(TARGET_Z16_P): ... this.
	* config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
	check TARGET_Z16 instead of TARGET_ARCH14.
	* config/s390/s390.opt: Add z16 to processor_type.
	* doc/invoke.texi: Document z16 and arch14.

2022-04-12  chenglulu  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc: Fix bug for
	tmpdir-g++.dg-struct-layout-1/t033.

2022-04-11  Peter Bergner  <bergner@linux.ibm.com>

	PR target/104894
	* config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
	to longcall functions.

2022-04-11  Jason Merrill  <jason@redhat.com>

	* ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.

2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/105213
	PR target/103623
	* config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.

2022-04-11  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105218
	* tree-ssa-phiopt.cc (value_replacement): If middle_bb has
	more than one predecessor or phi's bb more than 2 predecessors,
	reset phi result uses instead of adding a debug temp.

2022-04-11  Kito Cheng  <kito.cheng@sifive.com>

	PR target/104853
	* config.gcc: Pass -misa-spec to arch-canonicalize and
	multilib-generator.
	* config/riscv/arch-canonicalize: Adding -misa-spec option.
	(SUPPORTED_ISA_SPEC): New.
	(arch_canonicalize): New argument `isa_spec`.
	Handle multiple ISA spec versions.
	* config/riscv/multilib-generator: Adding -misa-spec option.

2022-04-11  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/arch-canonicalize: Add TODO item.
	(IMPLIED_EXT): Sync.
	(arch_canonicalize): Checking until no change.

2022-04-11  Tamar Christina  <tamar.christina@arm.com>

	PR target/105197
	* tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
	not masked.

2022-04-11  Jason Merrill  <jason@redhat.com>

	PR c++/100370
	* pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
	deref == -1.

2022-04-11  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104639
	* tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
	(value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
	into x != cst3.

2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>

	* config/bfin/bfin.md (rol_one): Fix pattern to indicate the
	sign bit of the source ends up in CC.

2022-04-09  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/103376
	* cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
	flag.

2022-04-09  Jan Hubicka  <hubicka@ucw.cz>

	* ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
	nondeterministic and side_effects flags.

2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/105157
	* config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
	* config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
	(TARGET_CPU_MASK): Likewise.
	(TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
	* config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
	(aarch64_get_arch): Likewise.
	(aarch64_override_options): Use TARGET_CPU_NBITS.

2022-04-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105198
	* tree-predcom.cc (find_looparound_phi): Check whether
	the found memory location of the entry value is clobbered
	inbetween the value we want to use and loop entry.

2022-04-08  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105189
	* fold-const.cc (make_range_step): Fix up handling of
	(unsigned) x +[low, -] ranges for signed x if low fits into
	typeof (x).

2022-04-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105175
	* tree-vect-stmts.cc (vectorizable_operation): Suppress
	-Wvector-operation-performance if using emulated vectors.
	* tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
	-Wvector-operation-performance when suppressed.
	(expand_vector_parallel): Likewise.
	(expand_vector_comparison): Likewise.
	(expand_vector_condition): Likewise.
	(lower_vec_perm): Likewise.
	(expand_vector_conversion): Likewise.

2022-04-07  Tamar Christina  <tamar.christina@arm.com>

	PR target/104409
	* config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
	(aarch64_general_init_builtins): Move LS64 code.
	* config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
	arm_acle.h
	* config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
	* config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".

2022-04-07  Richard Biener  <rguenther@suse.de>
	    Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/104303
	* tree-ssa-alias.h (ptr_deref_may_alias_global_p,
	ref_may_alias_global_p, ref_may_alias_global_p,
	stmt_may_clobber_global_p, pt_solution_includes_global): Add
	bool parameters indicating whether escaped locals should be
	considered global.
	* tree-ssa-structalias.cc (pt_solution_includes_global):
	When the new escaped_nonlocal_p flag is true also consider
	pt->vars_contains_escaped.
	* tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
	Pass down new escaped_nonlocal_p flag.
	(ref_may_alias_global_p): Likewise.
	(stmt_may_clobber_global_p): Likewise.
	(ref_may_alias_global_p_1): Likewise.  For decls also
	query the escaped solution if true.
	(ref_may_access_global_memory_p): Remove.
	(modref_may_conflict): Use ref_may_alias_global_p with
	escaped locals considered global.
	(ref_maybe_used_by_stmt_p): Adjust.
	* ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
	Likewise.
	* tree-ssa-dse.cc (dse_classify_store): Likewise.
	* trans-mem.cc (thread_private_new_memory): Likewise, but
	consider escaped locals global.
	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.

2022-04-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105185
	* tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
	modref query again.

2022-04-07  Tamar Christina  <tamar.christina@arm.com>

	PR target/104049
	* config/aarch64/aarch64-simd.md
	(aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
	(reduc_plus_scal_<mode>): ... This.
	(reduc_plus_scal_v4sf): Moved.
	(aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
	(reduc_plus_scal_v2si): ... This.

2022-04-07  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/102586
	* langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
	langhook.
	* langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
	* gimple-fold.cc (clear_padding_type): Use ftype instead of
	TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
	name try the lang_hooks.types.classtype_as_base langhook and
	if it returns non-NULL, use that instead of ftype for recursive call.

2022-04-07  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105150
	* tree.cc (tree_builtin_call_types_compatible_p): New function.
	(get_call_combined_fn): Use it.

2022-04-07  Richard Biener  <rguenther@suse.de>

	PR middle-end/105165
	* tree-complex.cc (expand_complex_asm): Sorry for asm goto
	_Complex outputs.

2022-04-07  liuhongt  <hongtao.liu@intel.com>

	* config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
	Removed.
	(<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
	for mask_applied.
	(<code><mode>3<mask_name>): Ditto.
	(*<code><mode>3<mask_name>): Ditto.
	(VFB_128_256): Adjust condition of V8HF/V16HFmode according to
	real instruction.
	(VFB_512): Ditto.
	(VFB): Ditto.

2022-04-06  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/104985
	* combine.cc (struct undo): Add where.regno member.
	(do_SUBST_MODE): Rename to ...
	(subst_mode): ... this.  Change first argument from rtx * into int,
	operate on regno_reg_rtx[regno] and save regno into where.regno.
	(SUBST_MODE): Remove.
	(try_combine): Use subst_mode instead of SUBST_MODE, change first
	argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
	regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
	(undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
	instead of *undo->where.r.
	(simplify_set): Use subst_mode instead of SUBST_MODE, change first
	argument from regno_reg_rtx[whatever] to whatever.

2022-04-06  Jakub Jelinek  <jakub@redhat.com>

	PR target/105069
	* config/sh/sh.opt (mdiv=): Add Save.

2022-04-06  Martin Liska  <mliska@suse.cz>

	PR driver/105096
	* common.opt: Document properly based on what it does.
	* gcc.cc (display_help): Unify with what we have in common.opt.
	* opts.cc (common_handle_option): Do not print undocumented
	options.

2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>

	* config/mips/mips.cc (mips_fpr_return_fields): Ignore
	cxx17_empty_base_field_p fields and set an indicator.
	(mips_return_in_msb): Adjust for mips_fpr_return_fields change.
	(mips_function_value_1): Inform psABI change about C++17 empty
	bases.

2022-04-06  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105150
	* gimple.cc (gimple_builtin_call_types_compatible_p): Use
	builtin_decl_explicit here...
	(gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
	here.

2022-04-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105173
	* tree-ssa-reassoc.cc (find_insert_point): Get extra
	insert_before output argument and compute it.
	(insert_stmt_before_use): Adjust.
	(rewrite_expr_tree): Likewise.

2022-04-06  Richard Biener  <rguenther@suse.de>

	PR ipa/105166
	* ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
	out for non-pointer arguments.

2022-04-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105163
	* tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
	negated abnormals.

2022-04-06  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105150
	* gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
	For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
	preferrably on builtin_decl_explicit decl rather than fndecl.
	* tree-ssa-strlen.cc (valid_builtin_call): Don't call
	gimple_builtin_call_types_compatible_p here.

2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>

	PR tree-optimization/103761
	* tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
	the ncopies parameter with an slp_node parameter.  Calculate the
	number of vectors based on it and vectype.  Rename lambda to
	group_memory_nvectors.
	(vectorizable_store, vectorizable_load): Update calls accordingly.

2022-04-06  Martin Liska  <mliska@suse.cz>

	* doc/invoke.texi: Document it.

2022-04-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105148
	* tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
	2 and 3 of ARRAY_REFs.

2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>

	* config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
	(*andnottf3): Replace with...
	(*andnot<mode>3): New define_insn using ANDNOT_MODE.

2022-04-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105142
	* gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
	basic-block parameter.
	(maybe_fold_or_comparisons): Likewise.
	* gimple-fold.cc (follow_outer_ssa_edges): New.
	(maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
	when an outer condition basic-block is specified.
	(and_comparisons_1, and_var_with_comparison,
	and_var_with_comparison_1, or_comparisons_1,
	or_var_with_comparison, or_var_with_comparison_1): Receive and pass
	down the outer condition basic-block.
	* tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
	basic-block of the outer condition.

2022-04-06  Kewen Lin  <linkw@linux.ibm.com>

	PR target/105002
	* config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
	comparison codes UNLT/UNLE/UNGT/UNGE.

2022-04-05  David Malcolm  <dmalcolm@redhat.com>

	* doc/extend.texi (Common Function Attributes): Document that
	'access' does not imply 'nonnull'.

2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/105139
	* config/i386/mmx.md (*movv2qi_internal):
	Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.

2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
	define_expand and turn operands 0 and 1 from REGs to MEMs.
	(*aarch64_cpymemdi): New pattern.
	(aarch64_setmemdi): Turn into a define_expand and turn operand 0
	from a REG to a MEM.
	(*aarch64_setmemdi): New pattern.
	* config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
	copy_to_mode_reg on all three registers.  Replace the original
	MEM addresses rather than creating wild reads and writes.
	(aarch64_expand_setmem_mops): Likewise for the size and for the
	destination memory and address.

2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/103147
	* config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
	* config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
	from aarch64_simd_switcher.
	* config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
	New variable.
	(aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
	(register_tuple_type): Add more asserts.  Expect the alignment
	of the structure to be subject to flag_pack_struct and
	maximum_field_alignment.  Set aarch64_simd_tuple_modes.
	(aarch64_simd_switcher::aarch64_simd_switcher): New function.
	(aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
	(handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
	(aarch64_general_init_builtins): Hold an aarch64_simd_switcher
	while calling aarch64_init_simd_builtins.
	* config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
	(sve_switcher::~sve_switcher): Remove code now performed by
	aarch64_simd_switcher.

2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/104897
	* config/aarch64/aarch64-sve-builtins.cc
	(function_resolver::infer_vector_or_tuple_type): Use error_n
	for "%d vectors" messages.

2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>

	* omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
	argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
	current clause.

2022-04-05  Richard Biener  <rguenther@suse.de>

	PR c/105151
	* passes.def (pass_walloca): Move early instance into
	pass_build_ssa_passes to make SSA form available.

2022-04-05  liuhongt  <hongtao.liu@intel.com>

	PR target/101908
	* config/i386/i386.cc (ix86_split_stlf_stall_load): New
	function
	(ix86_reorg): Call ix86_split_stlf_stall_load.
	* config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
	param.

2022-04-05  Alexandre Oliva  <oliva@adacore.com>

	* targhooks.cc (default_zero_call_used_regs): Attempt to group
	regs that the target refuses to use in their natural modes.
	(zcur_select_mode_rtx): New.
	* regs.h (struct target_regs): Add x_hard_regno_max_nregs.
	(hard_regno_max_nregs): Define.
	* reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.

2022-04-04  Alex Coplan  <alex.coplan@arm.com>

	* doc/match-and-simplify.texi: Fix typos.

2022-04-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/105144
	* config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
	only if configured with --enable-maintainer-mode, otherwise compare
	tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
	if they differ, emit a message and fail.

2022-04-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/105144
	* config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
	* config/aarch64/aarch64-tune.md: Regenerated.

2022-04-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105132
	* tree-vect-stmts.cc (vectorizable_operation): Check that
	the input vectors have the same number of elements.

2022-04-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/105140
	* fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.

2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>

	PR target/104987
	* config/iq2000/iq2000.md (bbi): New attribute,  default to no.
	(delay slot descripts): Use different delay slot description when
	the insn as the "bbi" attribute.
	(bbi, bbin patterns): Set the bbi attribute to yes.

2022-04-03  Jakub Jelinek  <jakub@redhat.com>

	PR target/105123
	* config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
	using word as target for expand_simple_binop when doing ASHIFT and
	IOR.

2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>

	* config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
	NULL before dereferencing it.

2022-04-01  Qing Zhao  <qing.zhao@oracle.com>

	* config/i386/i386.cc (zero_all_st_registers): Return the value of
	num_of_st.
	(ix86_zero_call_used_regs): Update zeroed_hardregs set according to
	the return value of zero_all_st_registers.
	* doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
	* function.cc (gen_call_used_regs_seq): Add an assertion.
	* target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.

2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>

	PR target/102024
	* config/mips/mips.cc (mips_function_arg): Ignore zero-width
	fields, and inform if it causes a psABI change.

2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>

	PR target/102024
	* config/mips/mips.cc (mips_fpr_return_fields): Detect C++
	zero-width bit-fields and set up an indicator.
	(mips_return_in_msb): Adapt for mips_fpr_return_fields change.
	(mips_function_value_1): Diagnose when the presense of a C++
	zero-width bit-field changes function returning in GCC 12.

2022-04-01  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104645
	* tree-ssa-phiopt.cc (value_replacement): If assign has
	CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
	statement with constant evaluation.

2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>

	* config/mips/mips.cc (mips_expand_prologue):
	  IPL is 8bit for MCU ASE.

2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>

	PR target/104004
	* config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
	(MTFSB0): Likewise.
	(MTFSB1): Likewise.
	(SET_FPSCR_RN): Likewise.
	(SET_FPSCR_DRN): Mark nosoft and no32bit.

2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>

	* doc/options.texi (Option file format): Clarifications around
	option definition records' help texts.

2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>

	* optc-gen.awk <END>: Fix "Multiple different help strings" error
	diagnostic.

2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64.cc (aarch64_vector_costs): Define
	determine_suggested_unroll_factor and m_has_avg.
	(determine_suggested_unroll_factor): New function.
	(aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
	to set m_nosve_pattern.
	(aarch64_vector_costs::finish_costs): Use
	determine_suggested_unroll_factor.
	* config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
	* doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.

2022-03-31  Martin Jambor  <mjambor@suse.cz>

	PR ipa/103083
	* ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
	(ipa_get_jf_ancestor_keep_null): New function.
	* ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
	ancestor function.
	(compute_complex_assign_jump_func): Pass false to keep_null
	parameter of ipa_set_ancestor_jf.
	(compute_complex_ancestor_jump_func): Pass true to keep_null
	parameter of ipa_set_ancestor_jf.
	(update_jump_functions_after_inlining): Carry over keep_null from the
	original ancestor jump-function or merge them.
	(ipa_write_jump_function): Stream keep_null flag.
	(ipa_read_jump_function): Likewise.
	(ipa_print_node_jump_functions_for_edge): Print the new flag.
	* ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
	member function known_nonzero_p.
	(ipcp_bits_lattice::known_nonzero_p): New.
	(ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
	observe it.
	(ipcp_bits_lattice::meet_with): Likewise.
	(propagate_bits_across_jump_function): Simplify.  Pass true in
	drop_all_ones when it is necessary.
	(propagate_aggs_across_jump_function): Take care of keep_null
	flag.
	(ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
	jump functions.

2022-03-31  Martin Jambor  <mjambor@suse.cz>

	PR ipa/102513
	* ipa-cp.cc (decide_whether_version_node): Skip scalar values
	which do not fit the known value_range.

2022-03-31  Martin Jambor  <mjambor@suse.cz>

	PR ipa/103171
	* ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
	always when an ADDR_EXPR constant is known to reach a load because
	of inlining, not just when removing an ADDR reference.

2022-03-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105109
	* tree-ssa.cc (execute_update_addresses_taken): Suppress
	diagnostics on the load of the other complex component.

2022-03-31  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.

2022-03-31  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/105091
	* gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
	bases.

2022-03-31  Richard Biener  <rguenther@suse.de>

	Revert:
	2021-09-13  Richard Earnshaw  <rearnsha@arm.com>

	PR target/102125
	* gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
	memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.

2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* gcov-io.cc (gcov_read_string): Reword documentation comment.

2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
	stanza.
	(NEG_V4SF): Likewise.
	(NEG_V4SI): Likewise.
	(NEG_V8HI): Likewise.
	(NEG_V2DF): Move to [vsx] stanza.
	(NEG_V2DI): Likewise.

2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR middle-end/105032
	* lra-assigns.cc (find_reload_regno_insns): Modify loop condition.

2022-03-30  Tom de Vries  <tdevries@suse.de>
	    Tobias Burnus  <tobias@codesourcery.com>

	* doc/invoke.texi (march): Document __PTX_SM__.
	 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
	 __PTX_ISA_VERSION_MINOR__.

2022-03-30  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/105093
	* ubsan.cc (instrument_object_size): If t is equal to inner and
	is a decl other than global var, punt.  When emitting call to
	UBSAN_OBJECT_SIZE ifn, make sure base is addressable.

2022-03-30  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105094
	* gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
	bitsize <= 0 rather than just == 0.

2022-03-30  Tom de Vries  <tdevries@suse.de>

	* doc/invoke.texi (misa, mptx): Update.
	(march, march-map): Add.

2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>

	* opt-functions.awk (n_args): New function.
	(lang_enabled_by): Merge function into...
	* optc-gen.awk <END>: ... sole user here.
	Improve diagnostics.

2022-03-29  Marek Polacek  <polacek@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/103597
	* gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
	into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
	(gimplify_cond_expr): Set UNUSED_LABEL_P.
	* tree.h (UNUSED_LABEL_P): New.

2022-03-29   Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
	be any VSX register.

2022-03-29  Richard Earnshaw  <rearnsha@arm.com>

	PR target/102024
	* config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
	zero-sized bit-fields.  Detect cases where a warning may be needed.
	(aarch64_vfp_is_call_or_return_candidate): Emit a note if a
	zero-sized bit-field has caused parameter passing to change.

2022-03-29  Richard Earnshaw  <rearnsha@arm.com>

	PR target/102024
	* config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
	bit-fields.  Detect cases where a warning may be needed.
	(aapcs_vfp_is_call_or_return_candidate): Emit a note if
	a zero-sized bit-field has caused parameter passing to change.

2022-03-29  Richard Earnshaw  <rearnsha@arm.com>

	PR target/96882
	* config/arm/arm.cc (arm_get_pcs_model): Disable selection of
	ARM_PCS_AAPCS_LOCAL.

2022-03-29  Tom de Vries  <tdevries@suse.de>

	PR target/104857
	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
	__PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
	* config/nvptx/nvptx.cc (ptx_version_to_number): New function.
	* config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.

2022-03-29  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.opt (m64): Update help text to reflect that it
	is ignored.

2022-03-29  Tom de Vries  <tdevries@suse.de>

	PR target/104714
	* config/nvptx/nvptx.opt (march-map=*): Add aliases.

2022-03-29  Jan Hubicka  <hubicka@ucw.cz>

	* config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
	TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
	* config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
	(TARGET_USE_GATHER_4PARTS): New macro.
	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
	(X86_TUNE_USE_GATHER_4PARTS): New tune

2022-03-29  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.opt (march): Add alias of misa.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* doc/install.texi: Add LoongArch options section.
	* doc/invoke.texi: Add LoongArch options section.
	* doc/md.texi: Add LoongArch options section.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch-c.cc

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/larchintrin.h: New file.
	* config/loongarch/loongarch-builtins.cc: New file.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* config/host-linux.cc: Add LoongArch support.
	* config/loongarch/loongarch-protos.h: New file.
	* config/loongarch/loongarch-tune.h: Likewise.
	* config/loongarch/loongarch.cc: Likewise.
	* config/loongarch/loongarch.h: Likewise.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/constraints.md: New file.
	* config/loongarch/generic.md: New file.
	* config/loongarch/la464.md: New file.
	* config/loongarch/loongarch-ftypes.def: New file.
	* config/loongarch/loongarch-modes.def: New file.
	* config/loongarch/loongarch.md: New file.
	* config/loongarch/predicates.md: New file.
	* config/loongarch/sync.md: New file.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* configure: Regenerate file.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* common/config/loongarch/loongarch-common.cc: New file.
	* config/loongarch/genopts/genstr.sh: New file.
	* config/loongarch/genopts/loongarch-strings: New file.
	* config/loongarch/genopts/loongarch.opt.in: New file.
	* config/loongarch/loongarch-str.h: New file.
	* config/loongarch/gnu-user.h: New file.
	* config/loongarch/linux.h: New file.
	* config/loongarch/loongarch-cpu.cc: New file.
	* config/loongarch/loongarch-cpu.h: New file.
	* config/loongarch/loongarch-def.c: New file.
	* config/loongarch/loongarch-def.h: New file.
	* config/loongarch/loongarch-driver.cc: New file.
	* config/loongarch/loongarch-driver.h: New file.
	* config/loongarch/loongarch-opts.cc: New file.
	* config/loongarch/loongarch-opts.h: New file.
	* config/loongarch/loongarch.opt: New file.
	* config/loongarch/t-linux: New file.
	* config/loongarch/t-loongarch: New file.
	* config.gcc: Add LoongArch support.
	* configure.ac: Add LoongArch support.

2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>

	* opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
	typo.

2022-03-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105080
	* tree-ssa-strlen.cc (printf_strlen_execute): Always init
	loops and SCEV.

2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>

	* ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
	(output_ctf_vars): Likewise.

2022-03-28  Jason Merrill  <jason@redhat.com>

	PR c++/59426
	* doc/extend.texi: Refer to __is_trivial instead of __is_pod.

2022-03-28  H.J. Lu  <hjl.tools@gmail.com>

	PR target/105068
	* config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
	"Yw" in clobber.

2022-03-28  Tom de Vries  <tdevries@suse.de>

	PR target/104818
	* config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
	* config/nvptx/nvptx-gen.opt: Regenerate.
	* config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
	* config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
	gen-opt.sh.

2022-03-28  David Malcolm  <dmalcolm@redhat.com>

	PR analyzer/104308
	* gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
	to loads then stores, set the location of the new load stmt.

2022-03-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105070
	* tree-switch-conversion.h
	(bit_test_cluster::hoist_edge_and_branch_if_true): Add location
	argument.
	* tree-switch-conversion.cc
	(bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
	cond with location.
	(bit_test_cluster::emit): Annotate all generated expressions
	with location.

2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.

2022-03-28  liuhongt  <hongtao.liu@intel.com>

	PR target/105066
	* config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
	alternative 4 from sse4_noavx to noavx.

2022-03-28  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/105056
	* tree-predcom.cc (component::component): Initialize also comp_step.

2022-03-27  H.J. Lu  <hjl.tools@gmail.com>

	PR target/105068
	* config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
	"Yw".

2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>

	PR middle-end/104885
	* calls.cc (mark_stack_region_used): Check that the region
	is within the allocated size of stack_usage_map.

2022-03-26  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/103775
	* recog.cc (check_invalid_inc_dec): New function.
	(insn_invalid_p): Return 1 if REG_INC operand overlaps
	any stored REGs.

2022-03-26  H.J. Lu  <hjl.tools@gmail.com>

	PR target/105058
	* config/i386/sse.md (loadiwkey): Replace "v" with "x".
	(aes<aesklvariant>u8): Likewise.

2022-03-26  H.J. Lu  <hjl.tools@gmail.com>

	PR target/105052
	* config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
	Replace "Yv" with "x".
	(ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
	(ssse3_psign<mode>3): Likewise.

2022-03-26  Hans-Peter Nilsson  <hp@axis.com>

	* reload.cc (find_reloads): Align comment with code where
	considering the intersection of register classes then tweaking the
	regclass for the current alternative or rejecting it.

2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>

	PR target/104882
	Revert
	2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
	(mve_vec_unpack<US>_hi_<mode>): Delete.
	(@mve_vec_pack_trunc_lo_<mode>): Delete.
	(mve_vmovntq_<supf><mode>): Remove '@' prefix.
	* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
	from vec-common.md.
	(vec_unpack<US>_lo_<mode>): Likewise.
	(vec_pack_trunc_<mode>): Rename from
	neon_quad_vec_pack_trunc_<mode>.
	* config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
	(vec_unpack<US>_lo_<mode>): Delete.
	(vec_pack_trunc_<mode>): Delete.

2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR middle-end/104971
	* lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
	regs to clear remove_p flag.

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

	PR tree-optimization/105053
	* tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
	the correct live-out stmt for a reduction chain.

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

	PR middle-end/105049
	* tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
	CONSTRUCTOR first elements.

2022-03-25  Tobias Burnus  <tobias@codesourcery.com>

	PR analyzer/103533
	* doc/invoke.texi (Static Analyzer Options): Move
	@ignore block after @gccoptlist's '}' for 'make pdf'.

2022-03-25  David Malcolm  <dmalcolm@redhat.com>

	PR analyzer/104954
	* doc/invoke.texi (Static Analyzer Options): Add
	-fdump-analyzer-untracked.

2022-03-25  Avinash Sonawane  <rootkea@gmail.com>

	PR analyzer/103533
	* doc/invoke.texi: Document that enabling taint analyzer
	checker disables some warnings from `-fanalyzer`.

2022-03-24  Alexandre Oliva  <oliva@adacore.com>

	PR debug/104564
	* gimple-harden-conditionals.cc (detach_value): Keep temps
	anonymous.

2022-03-24  Alexandre Oliva  <oliva@adacore.com>

	PR middle-end/104975
	* gimple-harden-conditionals.cc
	(pass_harden_compares::execute): Force split in case of
	multiple edges.

2022-03-24  Jakub Jelinek  <jakub@redhat.com>

	PR c++/105035
	* fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
	field0 or field1 is not a FIELD_DECL, return false.

2022-03-24  Richard Biener  <rguenther@suse.de>

	* tree-predcom.cc (chain::chain): Add CTOR.
	(component::component): Likewise.
	(pcom_worker::release_chain): Use delete.
	(release_components): Likewise.
	(pcom_worker::filter_suitable_components): Likewise.
	(pcom_worker::split_data_refs_to_components): Use new.
	(make_invariant_chain): Likewise.
	(make_rooted_chain): Likewise.
	(pcom_worker::combine_chains): Likewise.
	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	Make sure to release previously constructed scalar_results.
	* tree-vect-stmts.cc (vectorizable_load): Use auto_vec
	for vec_offsets.
	* vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
	Release m_flag_set_edges.

2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR tree-optimization/104970
	* tree-object-size.cc (parm_object_size): Restrict size
	computation scenarios to explicit access attributes.

2022-03-24  Kewen Lin  <linkw@linux.ibm.com>

	PR target/104967
	* config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
	function types.

2022-03-23  Richard Biener  <rguenther@suse.de>

	PR target/102125
	* gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
	use of movmisalign when either the source or destination
	decl is properly aligned.

2022-03-23  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/105028
	* ira-color.cc (form_threads_from_copies): Remove unnecessary
	copying of the sorted_copies tail.

2022-03-23  Martin Liska  <mliska@suse.cz>

	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
	Use %qs in format.
	* config/rs6000/rs6000.cc (rs6000_option_override_internal):
	Reword the error message.

2022-03-23  liuhongt  <hongtao.liu@intel.com>

	PR target/104976
	* config/i386/sse.md (ssePSmodelower): New.
	(*avx_cmp<mode>3_ltint_not): Force_reg operand before
	lowpart_subreg to avoid NULL_RTX.
	(<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
	<avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
	fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
	<avx512>_<complexopname>_<mode>_mask<round_name>,
	avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
	avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
	avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
	avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
	float<floatunssuffix><mode>v4hf2,
	float<floatunssuffix>v2div2hf2,
	fix<fixunssuffix>_truncv4hf<mode>2,
	fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
	extendv2hfv2df2,
	trunc<mode>v4hf2,truncv2dfv2hf2,
	*avx512bw_permvar_truncv16siv16hi_1,
	*avx512bw_permvar_truncv16siv16hi_1_hf,
	*avx512f_permvar_truncv8siv8hi_1,
	*avx512f_permvar_truncv8siv8hi_1_hf,
	*avx512f_vpermvar_truncv8div8si_1,
	*avx512f_permvar_truncv32hiv32qi_1,
	*avx512f_permvar_truncv16hiv16qi_1,
	*avx512f_permvar_truncv4div4si_1,
	*avx512f_pshufb_truncv8hiv8qi_1,
	*avx512f_pshufb_truncv4siv4hi_1,
	*avx512f_pshufd_truncv2div2si_1,
	sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
	ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.

2022-03-22  Tom de Vries  <tdevries@suse.de>

	PR target/104925
	* config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
	Use % as register prefix.

2022-03-22  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
	(nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
	mexperimental.

2022-03-22  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.opt (mexperimental): New option.

2022-03-22  Tom de Vries  <tdevries@suse.de>

	PR target/104957
	* config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
	* config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
	for alias.
	(SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
	(nvptx_asm_output_def_from_decls): New function.
	* config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
	gcc_unreachable ().
	(ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
	nvptx_asm_output_def_from_decls.
	* config/nvptx/nvptx.opt (malias): New opt.

2022-03-22  Tom de Vries  <tdevries@suse.de>

	PR target/104916
	PR target/104783
	* config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
	sync (or uniform warp check for mptx < 6.0).

2022-03-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105012
	* tree-if-conv.cc (ifcvt_local_dce): Only call
	dse_classify_store when we have a VDEF.

2022-03-22  Martin Liska  <mliska@suse.cz>

	PR target/104902
	* config/nvptx/nvptx.cc (handle_ptx_version_option):
	Fix option wrapping in an error message.

2022-03-22  Martin Liska  <mliska@suse.cz>

	PR target/104903
	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
	Wrap const keyword.

2022-03-22  Martin Liska  <mliska@suse.cz>

	* config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
	name.

2022-03-22  Martin Liska  <mliska@suse.cz>

	PR target/104898
	* config/rs6000/rs6000.cc (rs6000_option_override_internal):
	Use %qs instead of (%qs).

2022-03-22  Martin Liska  <mliska@suse.cz>

	PR target/104898
	* config/i386/i386-options.cc (ix86_option_override_internal):
	  Use '%qs' instead of '(%qs)'.

2022-03-22  Martin Liska  <mliska@suse.cz>

	PR target/104898
	* config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
	Use 'qs' and remove usage '(%qs)'.
	(aarch64_handle_attr_cpu): Likewise.
	(aarch64_handle_attr_tune): Likewise.
	(aarch64_handle_attr_isa_flags): Likewise.

2022-03-22  Tamar Christina  <tamar.christina@arm.com>
	    Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
	struct.
	(neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
	cost.
	(neoverse512tvb_tunings): Likewise.

2022-03-22  Tamar Christina  <tamar.christina@arm.com>
	    Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64.cc (demeter_addrcost_table,
	demeter_regmove_cost, demeter_advsimd_vector_cost,
	demeter_sve_vector_cost, demeter_scalar_issue_info,
	demeter_advsimd_issue_info, demeter_sve_issue_info,
	demeter_vec_issue_info, demeter_vector_cost,
	demeter_tunings): New tuning structs.
	(aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
	tuning.
	* config/aarch64/aarch64-cores.def: Add entry for demeter.
	* config/aarch64/aarch64-tune.md (tune): Add demeter to list.

2022-03-22  Tamar Christina  <tamar.christina@arm.com>
	    Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
	(struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
	* config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
	tunings to use cpu_memmov_cost struct.

2022-03-22  Tamar Christina  <tamar.christina@arm.com>
	    Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64.cc (neoversen2_addrcost_table,
	neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
	neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
	neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
	neoversen2_vec_issue_info, neoversen2_tunings): New structs.
	(neoversen2_tunings): Use new structs and update tuning flags.
	(aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
	tuning.

2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
	bit.

2022-03-22  liuhongt  <hongtao.liu@intel.com>

	PR target/104982
	* config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
	following splitter to reversed condition.

2022-03-22  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/104989
	* calls.cc (expand_call): Don't set ECF_NORETURN in flags after
	sorry for passing too large argument, instead set sibcall_failure
	for pass == 0, or a new normal_failure flag otherwise.  If
	normal_failure is set, don't assert all stack has been deallocated
	at the end and throw away the whole insn sequence.

2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>

	* print-tree.cc: Change array length

2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>

	PR target/104978
	* config/i386/sse.md
	(avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
	Use avx512f_movsf_mask instead of vmovaps or vblend, and
	force_reg before lowpart_subreg.
	(avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.

2022-03-21  H.J. Lu  <hjl.tools@gmail.com>

	PR target/105000
	* common/config/i386/i386-common.cc
	(OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
	OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.

2022-03-21  H.J. Lu  <hjl.tools@gmail.com>

	PR target/104998
	* common/config/i386/cpuinfo.h (get_available_features): Pass
	0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
	bit_AESKLE is set.

2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>

	PR middle-end/104869
	* rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
	(clobber_group::next_clobber): Likewise.
	(def_lookup::prev_def): Rename to...
	(def_lookup::last_def_of_prev_group): ...this.
	(def_lookup::next_def): Rename to...
	(def_lookup::first_def_of_next_group): ...this.
	(def_lookup::matching_or_prev_def): Rename to...
	(def_lookup::matching_set_or_last_def_of_prev_group): ...this.
	(def_lookup::matching_or_next_def): Rename to...
	(def_lookup::matching_set_or_first_def_of_next_group): ...this.
	(def_lookup::prev_def): New function, taking the lookup insn as
	argument.
	(def_lookup::next_def): Likewise.
	* rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
	(def_lookup::last_def_of_prev_group): ...this.
	(def_lookup::next_def): Rename to...
	(def_lookup::first_def_of_next_group): ...this.
	(def_lookup::matching_or_prev_def): Rename to...
	(def_lookup::matching_set_or_last_def_of_prev_group): ...this.
	(def_lookup::matching_or_next_def): Rename to...
	(def_lookup::matching_set_or_first_def_of_next_group): ...this.
	* rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
	above renaming.
	* rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
	(clobber_group::next_clobber): Likewise.
	(def_lookup::prev_def): Likewise.
	(def_lookup::next_def): Likewise.
	(function_info::make_use_available): Pass the lookup insn to
	def_lookup::prev_def and def_lookup::next_def.

2022-03-21  Martin Liska  <mliska@suse.cz>

	* doc/invoke.texi: Document min-pagesize parameter.

2022-03-21  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
	we are estimating niter of loop.

2022-03-21  Kito Cheng  <kito.cheng@sifive.com>

	* common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
	Update flag name and mask name.
	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
	misc macro for vector extensions.
	* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
	(MASK_VECTOR_ELEN_32): ... this.
	(MASK_VECTOR_EEW_64): Rename to ...
	(MASK_VECTOR_ELEN_64): ... this.
	(MASK_VECTOR_EEW_FP_32): Rename to ...
	(MASK_VECTOR_ELEN_FP_32): ... this.
	(MASK_VECTOR_EEW_FP_64): Rename to ...
	(MASK_VECTOR_ELEN_FP_64): ... this.
	(TARGET_VECTOR_ELEN_32): New.
	(TARGET_VECTOR_ELEN_64): Ditto.
	(TARGET_VECTOR_ELEN_FP_32): Ditto.
	(TARGET_VECTOR_ELEN_FP_64): Ditto.
	(TARGET_MIN_VLEN): Ditto.
	* config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
	(riscv_vector_elen_flags): ... this.

2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>

	PR target/104977
	* config/i386/sse.md
	(avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
	Correct round operand for intel dialect.

2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>

	* diagnostic.cc (diagnostic_cc_tests): Rename to...
	(c_diagnostic_cc_tests): ...this.
	* opt-problem.cc (opt_problem_cc_tests): Rename to...
	(c_opt_problem_cc_tests): ...this.
	* selftest-run-tests.cc (selftest::run_tests): No longer run
	opt_problem_cc_tests or diagnostic_cc_tests.
	* selftest.h (diagnostic_cc_tests): Remove declaration.
	(opt_problem_cc_tests): Likewise.

2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	PR jit/63854
	* hash-traits.h (struct typed_const_free_remove): New.
	(struct free_string_hash): New.
	* pass_manager.h: Use free_string_hash.
	* passes.cc (pass_manager::register_pass_name): Use free_string_hash.
	(pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.

2022-03-19  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104971
	* config/i386/i386-expand.cc
	(ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
	don't push/pop anything and just return const0_rtx.

2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/104961
	* lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.

2022-03-18  Jason Merrill  <jason@redhat.com>

	* tree.h (IDENTIFIER_LENGTH): Add comment.

2022-03-18  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/99578
	PR middle-end/100680
	PR tree-optimization/100834
	* params.opt (--param=min-pagesize=): New parameter.
	* pointer-query.cc
	(compute_objsize_r) <case ARRAY_REF>: Formatting fix.
	(compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
	of zero for pointer constants equal or larger than min-pagesize.

2022-03-18  Tom de Vries  <tdevries@suse.de>

	* gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
	Set gfor location only when dealing with a OMP_TASKLOOP.

2022-03-18  Tom de Vries  <tdevries@suse.de>

	* gimplify.cc (gimplify_omp_for): Set taskloop location.

2022-03-18  Tom de Vries  <tdevries@suse.de>

	PR target/104952
	* omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
	is executed unconditionally.

2022-03-18  liuhongt  <hongtao.liu@intel.com>

	PR target/104974
	* config/i386/i386.md (*movhi_internal): Set attr type from HI
	to HF for alternative 12 under TARGET_AVX512FP16.

2022-03-18  Cui,Lili  <lili.cui@intel.com>

	PR target/104963
	* config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
	* doc/invoke.texi: Update documents for Intel sapphirerapids.

2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>

	PR target/86722
	PR tree-optimization/90356
	* config/i386/i386.md (*movtf_internal): Don't guard
	standard_sse_constant_p clause by optimize_function_for_size_p.
	(*movdf_internal): Likewise.
	(*movsf_internal): Likewise.

2022-03-17  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/102943
	* gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
	dominators and apply intermediary outgoing edge ranges.

2022-03-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104960
	* passes.def: Add pass parameter to pass_sink_code, mark
	last one to unsplit edges.
	* tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
	(pass_sink_code::execute): Always execute TODO_cleanup_cfg
	when we need to unsplit edges.

2022-03-17  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/103984
	* gimplify.cc (gimplify_target_expr): Gimplify type sizes and
	TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
	and asan unpoisioning, then append the temporary sequence and
	finally the TARGET_EXPR_CLEANUP clobbers.

2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>

	* config/i386/sse.md: Delete corrupt character/typo.

2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>

	PR target/94680
	* config/i386/sse.md (sse2_movq128): New define_expand to
	preserve previous named instruction.
	(*sse2_movq128_<mode>): Renamed from sse2_movq128, and
	generalized to VI8F_128 (both V2DI and V2DF).

2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR tree-optimization/104941
	* tree-object-size.cc (size_for_offset): Make useless conversion
	check lighter and assign result of fold_convert to OFFSET.

2022-03-16  H.J. Lu  <hjl.tools@gmail.com>

	PR target/104890
	* config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
	pushing target("general-regs-only").

2022-03-16  Kito Cheng  <kito.cheng@sifive.com>

	* common/config/riscv/riscv-common.cc (riscv_ext_version_table):
	Add version info for zk, zks and zkn.

2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>

	* common/config/riscv/riscv-common.cc
	(riscv_combine_info): New.
	(riscv_subset_list::handle_combine_ext): Combine back into zk to
	maintain the canonical order in isa strings.
	(riscv_subset_list::parse): Ditto.
	* config/riscv/riscv-subset.h (handle_combine_ext): New.

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

	PR tree-optimization/102008
	* passes.def: Move the added code sinking pass before the
	preceeding phiopt pass.

2022-03-16  Patrick Palka  <ppalka@redhat.com>

	PR c++/96780
	* doc/invoke.texi (C++ Dialect Options): Document
	-ffold-simple-inlines.

2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR tree-optimization/104942
	* tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.

2022-03-16  Jakub Jelinek  <jakub@redhat.com>

	PR target/104910
	* config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
	imm rtx.

2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
	    Richard Biener  <rguenther@suse.de>

	* gimple-match-head.cc (single_use): Implement inline using a
	single loop.

2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>

	* match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
	instead of HONOR_NANS.
	(X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
	this can't trap/signal.

2022-03-16  liuhongt  <hongtao.liu@intel.com>

	PR target/104946
	* config/i386/i386-builtin.def (BDESC): Add
	CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
	* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
	__builtin_ia32_blendvpd w/o sse4.2

2022-03-15  Peter Bergner  <bergner@linux.ibm.com>

	PR target/104923
	* config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
	acceptable MEM addresses.

2022-03-15  Jakub Jelinek  <jakub@redhat.com>

	PR target/91229
	* config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
	riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
	to warning calls.

2022-03-15  Jakub Jelinek  <jakub@redhat.com>

	PR target/104890
	* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
	instead of general-regs-only.

2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
	    Marc Glisse  <marc.glisse@inria.fr>
	    Richard Biener  <rguenther@suse.de>

	PR tree-optimization/101895
	* match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
	(plus (vec_perm (mult ...) ...) ...): New reordering simplification.

2022-03-15  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/104814
	* ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
	end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.

2022-03-15  Martin Sebor  <msebor@redhat.com>

	PR middle-end/104436
	* gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
	Check for warning suppression.  Avoid by-value arguments transformed
	into by-transparent-reference.

2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
	    Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
	transformation when *zero_extend<mode>si2 is not available.

2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>

	* config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
	* config/mips/mips.cc (mips_option_override): Make
	-fsanitize=address imply -fasynchronous-unwind-tables.  This is
	needed by libasan for stack backtrace on MIPS.
	(mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.

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

	PR debug/104778
	* lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
	SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
	call simplified the first operand into VOIDmode constant.

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

	PR tree-optimization/102586
	* doc/extend.texi (__builtin_clear_padding): Clearify that for C++
	argument type should be pointer to trivially-copyable type unless it
	is address of a variable or parameter.

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

	PR target/99754
	* config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
	first 	rather than last element of the vector, use __m32_u to do
	a really unaligned load, use just 0 instead of (int)0.
	(_mm_loadu_si16): Put loaded value into first rather than last
	element of the vector, use __m16_u to do a really unaligned load,
	use just 0 instead of (short)0.

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

	PR other/104899
	* config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
	in diagnostic message - cannott -> cannot.  Use %< and %> around
	names of attribute.  Avoid too long line.
	* range-op.cc (operator_logical_and::op1_range): Fix up a typo
	in comment - cannott -> cannot.  Use 2 spaces after . instead of one.

2022-03-14  liuhongt  <hongtao.liu@intel.com>

	PR target/104666
	* config/i386/i386-expand.cc
	(ix86_check_builtin_isa_match):	New func.
	(ix86_expand_builtin): Move code to
	ix86_check_builtin_isa_match and call it.
	* config/i386/i386-protos.h
	(ix86_check_builtin_isa_match): Declare.
	* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
	builtin into gimple when isa mismatches.

2022-03-13  Tobias Burnus  <tobias@codesourcery.com>

	* doc/invoke.texi: Fix typos.
	* doc/tm.texi.in: Remove duplicated word.
	* doc/tm.texi: Regenerate.

2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/104829
	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
	"ppc" and "ppc64" based on rs6000_cpu.

2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/100280
	PR middle-end/104892
	* omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
	Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.

2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/100280
	PR middle-end/104086
	* omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
	Mark variables used in 'present' clauses as addressable.
	* omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
	handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.

2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>

	PR other/65095
	* tree-core.h (user_omp_claus_code_name): Declare function.
	* tree.cc (user_omp_clause_code_name): New function.

2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>

	PR middle-end/98420
	* match.pd (minus @0 @0): Additional checks for -fno-rounding-math
	(the defaut) or -fno-signed-zeros.

2022-03-12   Michael Meissner  <meissner@linux.ibm.com>

	PR target/104868
	* config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
	moving from a GPR register to an Altivec register.

2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>

	PR tree-optimization/98335
	* config/i386/i386.md (peephole2): Eliminate redundant insv.
	Combine movl followed by movb.  Transform xorl followed by
	a suitable movb or movw into the equivalent movz[bw]l.

2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
	    Richard Biener  <rguenther@suse.de>

	PR tree-optimization/98335
	* builtins.cc (get_object_alignment_2): Export.
	* builtins.h (get_object_alignment_2): Likewise.
	* tree-ssa-alias.cc (ao_ref_alignment): New.
	* tree-ssa-alias.h (ao_ref_alignment): Declare.
	* tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
	to align head/tail, writing more bytes but using fewer store insns.

2022-03-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104880
	* tree-ssa.cc (execute_update_address_taken): Remember if we
	optimistically made something not addressable and
	prepare to undo it.

2022-03-11  Richard Biener  <rguenther@suse.de>

	PR target/104762
	* config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
	cost the first lane of SSE pieces as inserts for vec_construct.

2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>

	PR c++/84964
	* calls.cc (expand_call): Ignore stack adjustments after sorry.

2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR target/103074
	* lra-constraints.cc (split_reg): Set up
	check_and_force_assignment_correctness_p when splitting hard
	register live range.

2022-03-10  Martin Jambor  <mjambor@suse.cz>

	PR ipa/104813
	* ipa-cp.cc (create_specialized_node): Move removal of
	self-recursive calls from callers vector before refrence
	adjustments.

2022-03-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/102943
	* gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
	Make a bitmap_head.
	(sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
	to tree view.
	(sbr_sparse_bitmap::set_bb_range): Adjust.
	(sbr_sparse_bitmap::get_bb_range): Likewise.

2022-03-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/102943
	* tree-ssa-dom.cc (back_propagate_equivalences): Only
	populate the dominance bitmap if fast queries are not
	available.  Use a tree view bitmap.
	(record_temporary_equivalences): Cache the dominance bitmap
	across all equivalences on the edge.

2022-03-10  Tom de Vries  <tdevries@suse.de>

	PR target/104840
	* config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
	of false,true.

2022-03-10  Tom de Vries  <tdevries@suse.de>

	PR target/104783
	* config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
	(nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
	(nvptx_get_unisimt_outside_simt_predicate): New function.
	(predicate_insn): New function, factored out of ...
	(nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
	* config/nvptx/nvptx.h (struct machine_function): Add
	unisimt_outside_simt_predicate field.
	* config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
	(define_insn "nvptx_uniform_warp_check"): Make predicable.

2022-03-10  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
	result.

2022-03-10  Tom de Vries  <tdevries@suse.de>

	PR target/104815
	* config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
	modifier.
	* config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.

2022-03-10  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
	Emit atom.and.b64 instead of atom.b64.and.

2022-03-10  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
	(MULTILIB_OPTIONS): ... here.

2022-03-10  Tom de Vries  <tdevries@suse.de>

	PR target/104758
	* config/nvptx/nvptx.opt (misa): Set default to sm_30.
	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.

2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/90115
	PR middle-end/102330
	PR middle-end/104774
	* omp-low.cc (oacc_privatization_candidate_p)
	(oacc_privatization_scan_clause_chain)
	(oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
	Analyze 'lookup_decl'-translated DECL.

2022-03-10  Jakub Jelinek  <jakub@redhat.com>

	PR target/99708
	* config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
	RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
	(ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
	* config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
	"**NULL**" if type_node is NULL first.  Handle
	ieee128_float_type_node.
	(rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
	and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
	ieee128_float_type_node to NULL rather than long_double_type_node if
	they aren't supported.  Do support __ibm128 even if
	!TARGET_FLOAT128_TYPE when long double is double double.
	(rs6000_expand_builtin): Error if bif_is_ibm128 and
	!ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
	RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
	for it.
	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
	__SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
	(rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
	Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
	Formatting fix.
	* config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
	(struct attrinfo): Add isibm128 member.
	(TYPE_MAP_SIZE): Remove.
	(type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
	ibm128_float_type_node only if it is non-NULL, otherwise fall back
	to long_double_type_node.  Remove "pif" entry.
	(parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
	(write_decls): Output bif_ibm128_bit and bif_is_ibm128.
	(write_type_node): Use sizeof type_map / sizeof type_map[0]
	instead of TYPE_MAP_SIZE.
	(write_bif_static_init): Handle isibm128.
	* config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
	(__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
	attribute.

2022-03-09  Richard Biener  <rguenther@suse.de>

	* cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
	with non-decl operand, avoiding a copy.

2022-03-09  Jakub Jelinek  <jakub@redhat.com>

	PR target/104781
	* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.

2022-03-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/104786
	* cfgexpand.cc (expand_asm_stmt): Do not generate a copy
	for VLAs without an upper size bound.

2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>

	PR tree-optimization/104851
	* optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
	error.

2022-03-09  Jakub Jelinek  <jakub@redhat.com>

	PR c/104711
	* doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
	is enabled by it only for C++11 to C++17 rather than for C++03 or
	later.
	(-Wshift-negative-value): Similarly (except here we stated
	that it is enabled for C++11 or later).

2022-03-09  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/104839
	* simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
	Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
	(simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
	instead of incorrect 0 in SUBREG_PROMOTED_SET.

2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>

	PR target/104842
	* config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
	value before adding an offset.

2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/arm-builtins.cc
	(arm_binop_none_none_unone_qualifiers): Delete.
	(BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.

2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>

	PR translation/104552
	* config/host-darwin.cc (darwin_gt_pch_get_address): Amend
	the PCH out of memory error message punctuation and wording.

2022-03-08  Marek Polacek  <polacek@redhat.com>

	PR rtl-optimization/104777
	* rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
	ASM_OPERANDS_LABEL_VEC has at least one element.

2022-03-08  H.J. Lu  <hjl.tools@gmail.com>

	PR target/104781
	* config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
	stack realignment or regparm nested function with EH return.

2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/104790
	* config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
	* config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
	register for non widening loads or narrowing stores.

2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>

	PR translation/104552
	* params.opt: Fix typo.

2022-03-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84201
	* params.opt (-param=vect-induction-float): Add.
	* doc/invoke.texi (vect-induction-float): Document.
	* tree-vect-loop.cc (vectorizable_induction): Honor
	param_vect_induction_float.

2022-03-08  Martin Jambor  <mjambor@suse.cz>

	PR translation/104552
	* params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
	"that" in the description.

2022-03-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104825
	* tree-ssa-sccvn.cc (visit_reference_op_call): Properly
	guard modref get_ao_ref on a pointer typed argument.

2022-03-08  liuhongt  <hongtao.liu@intel.com>

	* config/i386/sse.md (*vec_dupv4si): Disable memory operand
	for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.

2022-03-07  Jonathan Wakely  <jwakely@redhat.com>

	* doc/invoke.texi (C++ Modules): Remove anachronism.

2022-03-07  Martin Liska  <mliska@suse.cz>

	PR middle-end/104381
	* opts.cc (finish_options): If debug info is disabled
	(debug_info_level) and -fvar-tracking is unset, disable it.

2022-03-07  Jakub Jelinek  <jakub@redhat.com>

	* tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
	* config/riscv/riscv.cc: Likewise.
	* config/darwin.h: Likewise.
	* config/i386/i386.cc: Likewise.
	* config/aarch64/thunderx3t110.md: Likewise.
	* config/aarch64/fractional-cost.h: Likewise.
	* config/vax/vax.cc: Likewise.
	* config/rs6000/pcrel-opt.md: Likewise.
	* config/rs6000/predicates.md: Likewise.
	* ctfc.h: Likewise.
	* tree-ssa-uninit.cc: Likewise.
	* value-relation.h: Likewise.
	* gimple-range-gori.cc: Likewise.
	* ipa-polymorphic-call.cc: Likewise.
	* pointer-query.cc: Likewise.
	* ipa-sra.cc: Likewise.
	* internal-fn.cc: Likewise.
	* varasm.cc: Likewise.
	* gimple-ssa-warn-access.cc: Likewise.

2022-03-07  Martin Liska  <mliska@suse.cz>

	PR target/104794
	* config/arm/arm.cc (arm_option_override_internal): Add missing
	space.

2022-03-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104782
	* tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
	Re-instantiate r10-5979 fix, add comment.

2022-03-07  Martin Liska  <mliska@suse.cz>

	PR target/104797
	* config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
	parenthesis from built-in name.

2022-03-07  Martin Liska  <mliska@suse.cz>

	PR target/104794
	* config/arm/arm.cc (arm_option_override_internal): Fix quoting
	of options in error messages.
	(arm_option_reconfigure_globals): Likewise.

2022-03-07  Martin Liska  <mliska@suse.cz>

	PR target/104794
	* config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
	message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
	have only range [0,32].

2022-03-07  Jakub Jelinek  <jakub@redhat.com>

	PR target/104775
	* config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
	S constraint instead of T in the last alternative.

2022-03-07  Martin Liska  <mliska@suse.cz>

	* plugin.cc (default_plugin_dir_name): Remove <dir> from error
	message.

2022-03-07  Martin Liska  <mliska@suse.cz>

	PR translation/90148
	* config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
	quote to a proper place.
	* plugin.cc (default_plugin_dir_name): Likewise.

2022-03-07  Martin Liska  <mliska@suse.cz>

	PR target/99297
	* config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
	string.

2022-03-07  Jakub Jelinek  <jakub@redhat.com>

	PR target/104779
	* config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
	define_expand pattern.  Rename define_insn to ...
	(*avx512dq_mul<mode>3<mask_name>): ... this.
	(<code><mode>3_mask): New any_logic define_expand pattern.
	(<mask_codefor><code><mode>3<mask_name>): Rename to ...
	(*<code><mode>3<mask_name>): ... this.

2022-03-05  Jakub Jelinek  <jakub@redhat.com>

	* gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
	visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.

2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
	    Uroš Bizjak  <ubizjak@gmail.com>

	PR testsuite/104732
	* config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
	Include DI mode unconditionally.
	(*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
	i.e. always split on !TARGET_64BIT.
	(*<any_or>di3_doubleword): Likewise.
	(*one_cmpldi2_doubleword): Likewise.
	(and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
	(<any_or><mode>3 expander): Likewise.
	(one_cmpl<mode>2 expander): Likewise.

2022-03-05   Michael Meissner  <meissner@linux.ibm.com>

	PR target/104698
	* config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
	(mtvsrdd_diti_w1): Delete.
	(extendditi2): Convert from define_expand to
	define_insn_and_split.  Replace with code to deal with both GPR
	registers and with altivec registers.

2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
	bit.  Handle most older CPUs.

2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_fold_builtin): Make fcode an int to
	avoid a mismatch with DECL_MD_FUNCTION_CODE().

2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/104117
	* config/rs6000/darwin.md (@machopic_high_<mode>): New.
	(@machopic_low_<mode>): New.
	* config/rs6000/predicates.md (macho_pic_address): New.
	* config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
	apply the TLS processing to Darwin.
	* lra-constraints.cc (process_address_1): Revert the changes
	in r12-7209.

2022-03-04  Peter Bergner  <bergner@linux.ibm.com>

	PR target/87496
	PR target/104208
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
	ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
	-mlong-double-128.
	Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
	from here...
	* common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
	... to here.

2022-03-04  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104529
	* gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
	on automatic objects which will be runtime initialized.

2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/100280
	PR middle-end/104132
	PR middle-end/104133
	* omp-low.cc (task_shared_vars): Rename to
	'make_addressable_vars'.  Adjust all users.
	(scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
	'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.

2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/100280
	* tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
	* tree-core.h: Document it.
	* omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
	'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
	Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
	'TREE_ADDRESSABLE'.

2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/100280
	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
	Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
	'[...]' declared in block made addressable".

2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/100400
	PR middle-end/103836
	PR middle-end/104061
	* omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
	Catch 'GIMPLE_DEBUG'.

2022-03-04  Jakub Jelinek  <jakub@redhat.com>

	PR c/104627
	* tree.cc (warn_deprecated_use): For types prefer to use node
	and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
	NULL.

2022-03-04  H.J. Lu  <hjl.tools@gmail.com>

	PR target/104704
	* config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
	a pseudo register.

2022-03-03  Martin Sebor  <msebor@redhat.com>

	PR middle-end/104761
	* gimple-ssa-warn-access.cc (pass_waccess::execute): Call
	mark_dfs_back_edges.

2022-03-03  Martin Liska  <mliska@suse.cz>

	* configure.ac: Use linker plug-in by default.
	* configure: Regenerate.

2022-03-03  Martin Liska  <mliska@suse.cz>

	* configure.ac: Now ld.mold support LTO plugin API, use it.
	* configure: Regenerate.

2022-03-03  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.

2022-03-03  Tom de Vries  <tdevries@suse.de>

	PR target/104758
	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.

2022-03-03  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.

2022-03-03  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104757
	* gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
	gimplify_omp_for.
	(gimplify_expr) <case OMP_SIMD>: Temporarily disable
	gimplify_ctxp->into_ssa around call to gimplify_omp_for.

2022-03-03  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104558
	* calls.cc (store_one_arg): When not calling emit_push_insn
	because size_rtx is const0_rtx, call at least anti_adjust_stack
	on arg->locate.alignment_pad if !argblock and the alignment might
	be non-zero.

2022-03-02  Alexandre Oliva  <oliva@adacore.com>

	* lra-constraints.cc (undo_optional_reloads): Recognize and
	drop insns of multi-word move sequences, tolerate removal
	iteration on an already-removed clobber, and refuse to
	substitute original pseudos into clobbers.

2022-03-02  Qing Zhao  <qing.zhao@oracle.com>

	PR middle-end/102276
	* common.opt (-Wtrivial-auto-var-init): New option.
	* doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
	(-ftrivial-auto-var-init): Update option;
	* gimplify.cc (emit_warn_switch_unreachable): New function.
	(warn_switch_unreachable_r): Rename to ...
	(warn_switch_unreachable_and_auto_init_r): This.
	(maybe_warn_switch_unreachable): Rename to ...
	(maybe_warn_switch_unreachable_and_auto_init): This.
	(gimplify_switch_expr): Update calls to renamed function.

2022-03-02  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/104686
	* ira-color.cc (object_conflicts_with_allocno_p): New function
	using a bitvector test instead of iterating when possible.
	(allocnos_conflict_p): Choose the best allocno to iterate over
	object conflicts.
	(update_conflict_hard_regno_costs): Do allocnos_conflict_p test
	last.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

	* cfg.cc (dump_edge_info): Dump goto_locus if present.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/104589
	* cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
	INSN_LOCATION comparison with goto_locus.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

	* tree-ssa-strlen.cc (strlen_pass::handle_assign,
	strlen_pass::before_dom_children): Comment spelling fixes.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

	* ipa-modref-tree.cc (modref_access_node::contains,
	modref_access_node::closer_pair_p, modref_access_node::insert,
	modref_access_node::insert_kill): Comment spelling fixes.
	* ipa-modref.cc: Likewise.
	(modref_summary::finalize, ignore_nondeterminism_p,
	class modref_access_analysis,
	modref_access_analysis::set_side_effects,
	modref_access_analysis::set_nondeterministic,
	modref_access_analysis::record_global_memory_load,
	modref_access_analysis::propagate, modref_access_analysis::analyze,
	struct escape_point, class modref_lattice, modref_lattice::merge,
	modref_lattice::merge_deref, class modref_eaf_analysis,
	modref_eaf_analysis::merge_call_lhs_flags,
	modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
	modref_eaf_analysis::record_escape_points, remap_kills,
	update_escape_summary, remove_useless_summaries,
	ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
	Likewise.
	* ipa-modref.h (struct modref_summary, interposable_eaf_flags):
	Likewise.
	* ipa-modref-tree.h (enum modref_special_parms,
	struct modref_access_node): Likewise.

2022-03-01  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104715
	* gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
	unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
	of a call if gimple_call_return_arg is equal to ptr, not just when it
	is non-NULL.

2022-03-01  Jakub Jelinek  <jakub@redhat.com>

	* gimple-ssa-warn-access.cc (warn_string_no_nul,
	maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
	matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
	pass_waccess::check_alloca, pass_waccess::check_strcat,
	memmodel_to_uhwi, fntype_argno_type,
	pass_waccess::maybe_check_access_sizes,
	pass_waccess::check_call_access,
	pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
	Comment spelling fixes.

2022-03-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104716
	* tree-loop-distribution.cc (find_seed_stmts_for_distribution):
	Check if we can copy the loop.

2022-03-01  H.J. Lu  <hjl.tools@gmail.com>

	PR middle-end/104721
	* cfgexpand.cc (expand_gimple_basic_block): Clear
	currently_expanding_gimple_stmt when returning inside the loop.

2022-03-01  Martin Liska  <mliska@suse.cz>

	PR ipa/104533
	* multiple_target.cc (get_attr_len): Move to tree.c.
	(expand_target_clones): Remove single value checking.
	* tree.cc (get_target_clone_attr_len): New fn.
	* tree.h (get_target_clone_attr_len): Likewise.

2022-03-01  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/104677
	* doc/invoke.texi: Document more .gcda file name generation.

2022-03-01  Tom de Vries  <tdevries@suse.de>

	PR target/102429
	* config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
	* config/nvptx/nvptx.md
	(define_predicate "nvptx_register_or_complex_di_df_register_operand"):
	New predicate.
	(define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
	Use nvptx_register_or_complex_di_df_register_operand.

2022-03-01  Tom de Vries  <tdevries@suse.de>

	* config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
	* config/nvptx/gen-copyright.sh: New file.
	* config/nvptx/gen-h.sh: New file.
	* config/nvptx/gen-opt.sh: New file.
	* config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
	(TARGET_SM75, TARGET_SM80): Move ...
	* config/nvptx/nvptx-gen.h: ... here.  New file, generate.
	* config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
	* config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
	* config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
	($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.

2022-03-01  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/gen-omp-device-properties.sh: New file.
	* config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.

2022-03-01  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx-sm.def: New file.
	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
	* config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
	* config/nvptx/nvptx.cc (sm_version_to_string)
	(nvptx_omp_device_kind_arch_isa): Same.

2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>

	PR rtl-optimization/104154
	* config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
	comparison ifcvt passed us.

2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>

	PR target/104664
	* config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
	  Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.

2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>

	PR tree-optimization/91384
	* config/i386/i386.md (peephole2): Eliminate final testl insn
	from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
	transforming using *negsi_2 for the negation.

2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	PR middle-end/80270
	* expmed.cc (extract_integral_bit_field): If OP0 is a hard
	register, copy it to a pseudo before calling simplify_gen_subreg.

2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/104637
	* lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
	as possible on one subpass.

2022-02-28  Qing Zhao  <qing.zhao@oracle.com>

	PR middle-end/104550
	* gimple-fold.cc (clear_padding_flush): Suppress warnings for new
	created uses.

2022-02-28  Martin Liska  <mliska@suse.cz>

	PR ipa/104648
	* main.cc (main): Use flag_checking instead of CHECKING_P
	and run toplev::finalize only if there is not error seen.

2022-02-28  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.cc (compute_avail): Revert part of last change.

2022-02-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104700
	* tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
	into ...
	(find_or_generate_expression): ... here, simplifying code.

2022-02-28  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx-opts.h (enum ptx_version): Add
	PTX_VERSION_default.
	* config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
	PTX_VERSION_default.
	* config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.

2022-02-28  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/104686
	* ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
	skipping bits that are zero.
	(ira_object_conflict_iter_cond): Likewise.

2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>

	* config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
	(_mm512_ternarylogic_epi64): Truncate imm to unsigned
	char to avoid error when using ~enum as parameter.
	(_mm512_mask_ternarylogic_epi64): Likewise.
	(_mm512_maskz_ternarylogic_epi64): Likewise.
	(_mm512_ternarylogic_epi32): Likewise.
	(_mm512_mask_ternarylogic_epi32): Likewise.
	(_mm512_maskz_ternarylogic_epi32): Likewise.
	* config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
	Adjust imm param type to unsigned char.
	(_mm256_mask_ternarylogic_epi64): Likewise.
	(_mm256_maskz_ternarylogic_epi64): Likewise.
	(_mm256_ternarylogic_epi32): Likewise.
	(_mm256_mask_ternarylogic_epi32): Likewise.
	(_mm256_maskz_ternarylogic_epi32): Likewise.
	(_mm_ternarylogic_epi64): Likewise.
	(_mm_mask_ternarylogic_epi64): Likewise.
	(_mm_maskz_ternarylogic_epi64): Likewise.
	(_mm_ternarylogic_epi32): Likewise.
	(_mm_mask_ternarylogic_epi32): Likewise.
	(_mm_maskz_ternarylogic_epi32): Likewise.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>
	    Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/104675
	* match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
	Restrict simplifications to INTEGRAL_TYPE_P.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

	PR target/104681
	* config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.

2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
	comparison is not valid.
	* config/arc/arc.md (movsicc): Fail if comparison is not valid.
	(movdicc): Likewise.
	(movsfcc): Likewise.
	(movdfcc): Likewise.

2022-02-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103037
	* tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
	(vn_nary_length_from_stmt): Likewise.
	(init_vn_nary_op_from_stmt): Likewise.
	(vn_nary_op_compute_hash): Likewise.
	* tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
	(vn_nary_length_from_stmt): Likewise.
	(init_vn_nary_op_from_stmt): Likewise.
	(vn_nary_op_compute_hash): Likewise.
	* tree-ssa-pre.cc (pre_expr_obstack): New obstack.
	(get_or_alloc_expr_for_nary): Pass in the value-id to use,
	(re-)compute the hash value and if the expression is not
	found allocate it from pre_expr_obstack.
	(phi_translate_1): Do not insert the NARY found in the
	VN tables but build a PRE expression from the valueized
	NARY with the value-id we eventually found.
	(find_or_generate_expression): Assert we have an entry
	for constant values.
	(compute_avail): Insert not valueized expressions into
	EXP_GEN using the value-id from the VN tables.
	(init_pre): Allocate pre_expr_obstack.
	(fini_pre): Free pre_expr_obstack.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

	PR target/104674
	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
	* config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
	SLOT_FLOATxFDI_387 rather than SLOT_TEMP.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

	* warning-control.cc (get_nowarn_spec): Comment spelling fix.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104679
	* internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.

2022-02-25  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104675
	* match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
	COMPLEX_TYPE.

2022-02-25  Alexandre Oliva  <oliva@adacore.com>

	PR target/104121
	PR target/103302
	* expr.cc (emit_move_multi_word): Restore clobbers during LRA.

2022-02-25  Alexandre Oliva  <oliva@adacore.com>

	PR middle-end/104540
	* dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
	dw_cfi_cfa_loc.

2022-02-25  Alexandre Oliva  <oliva@adacore.com>

	PR tree-optimization/103856
	* gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
	eh edge to be requested through an extra parameter.
	(pass_harden_compares::execute): Copy PHI args in the EH dest
	block for the new EH edge added for the inverted compare.

2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>

	* doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
	of position independence that -mcmodel=medany affords.

2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR target/104656
	* configure.ac: --disable-gcov if targetting bpf-*.
	* configure: Regenerate.

2022-02-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104676
	* tree-loop-distribution.cc (loop_distribution::execute):
	Do a full scev_reset.

2022-02-24  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104601
	* tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
	non-SSA_NAME lhs value number vdef to itself instead of e.g. the
	vuse value number.

2022-02-24  Tom de Vries  <tdevries@suse.de>
	    Tobias Burnus  <tobias@codesourcery.com>

	* config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
	sm_70, sm_75 and sm_80.
	* config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.

2022-02-24  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
	"rotrsi3"): New define_insn.

2022-02-24  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (gen_comment): Use
	DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.

2022-02-24  liuhongt  <hongtao.liu@intel.com>

	* config/i386/sse.md (<code>v1ti3): Add suffix and replace
	isa attr of alternative 2 from avx to avx512vl.

2022-02-23  Richard Biener  <rguenther@suse.de>
	    Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104644
	* doc/match-and-simplify.texi: Amend ! documentation.
	* genmatch.cc (expr::gen_transform): Code-generate ! support
	for GENERIC.
	(parser::parse_expr): Allow ! for GENERIC.
	* match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
	bswap.

2022-02-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/101636
	* tree-vect-slp.cc (vect_print_slp_tree): Dump the
	vector type of the node.
	(vect_slp_analyze_operations): Make sure the CTOR
	is vectorized with an expected type.
	(vectorize_slp_instance_root_stmt): Revert r10-5979 fix.

2022-02-23  Jakub Jelinek  <jakub@redhat.com>

	PR c/104633
	* gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
	Don't warn about calls to corresponding builtin from extern inline
	gnu_inline wrappers.

2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>

	PR target/104489
	* config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.

2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>

	PR target/100757
	PR target/101325
	* config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
	typo.

2022-02-23  Cui,Lili  <lili.cui@intel.com>

	* doc/invoke.texi: Update documents for Intel architectures.

2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>

	* config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
	bootstrap.

2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>

	* omp-low.cc (omp_build_component_ref): Move function...
	* omp-general.cc (omp_build_component_ref): ... here.  Remove
	'static'.
	* omp-general.h (omp_build_component_ref): Declare function.
	* omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
	function.
	(build_receiver_ref, build_sender_ref): Call
	'omp_build_component_ref' instead.

2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>

	* omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
	simplify.  Adjust all users.

2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/88134
	* config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
	atomic_update_decl): Add GTY markup.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	PR target/100757
	PR target/101325
	* config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
	predicate.
	(CX_BINARY_UNONE_QUALIFIERS): Likewise.
	(CX_TERNARY_UNONE_QUALIFIERS): Likewise.
	(TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
	(QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
	(QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
	* config/arm/arm_mve_builtins.def: Use predicated qualifiers.
	* config/arm/mve.md: Use VxBI instead of HI.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	PR target/100757
	PR target/101325
	* config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
	qualifier.
	(STRSBU_P_QUALIFIERS): Likewise.
	(LDRGBS_Z_QUALIFIERS): Likewise.
	(LDRGBU_Z_QUALIFIERS): Likewise.
	(LDRGBWBXU_Z_QUALIFIERS): Likewise.
	(LDRGBWBS_Z_QUALIFIERS): Likewise.
	(LDRGBWBU_Z_QUALIFIERS): Likewise.
	(STRSBWBS_P_QUALIFIERS): Likewise.
	(STRSBWBU_P_QUALIFIERS): Likewise.
	* config/arm/mve.md: Use VxBI instead of HI.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	PR target/100757
	PR target/101325
	* config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
	(TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
	(TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
	(TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
	(TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
	(TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
	(TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
	(TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
	(QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
	(QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
	(QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
	(QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
	(QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
	(QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
	(QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
	(QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
	(QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
	(QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
	(QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
	(QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
	(QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
	(QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
	(STRS_P_QUALIFIERS): Use predicate qualifier.
	(STRU_P_QUALIFIERS): Likewise.
	(STRSU_P_QUALIFIERS): Likewise.
	(STRSS_P_QUALIFIERS): Likewise.
	(LDRGS_Z_QUALIFIERS): Likewise.
	(LDRGU_Z_QUALIFIERS): Likewise.
	(LDRS_Z_QUALIFIERS): Likewise.
	(LDRU_Z_QUALIFIERS): Likewise.
	(QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
	(QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
	(BINOP_NONE_NONE_PRED_QUALIFIERS): New.
	(BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
	* config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
	* config/arm/mve.md: Use MVE_VPRED instead of HI.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	PR target/100757
	PR target/101325
	* config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
	Delete.
	(TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
	(TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
	(TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
	* config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
	predicated qualifiers.
	* config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
	(mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	PR target/100757
	* config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
	(arm_expand_vector_compare): Update prototype.
	* config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
	(arm_vector_mode_supported_p): Add support for VxBI modes.
	(arm_expand_vector_compare): Remove useless generation of vpsel.
	(arm_expand_vcond): Fix select operands.
	(arm_get_mask_mode): New.
	* config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
	(vec_cmpu<mode><MVE_vpred>): New.
	(vcond_mask_<mode><MVE_vpred>): New.
	* config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
	(vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
	* config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
	(vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
	and disable for MVE.
	* doc/sourcebuild.texi (arm_mve): Document new effective-target.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	PR target/100757
	PR target/101325
	* config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
	(BINOP_PRED_NONE_NONE_QUALIFIERS)
	(TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
	(TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
	* config/arm/arm-protos.h (mve_bool_vec_to_const): New.
	* config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
	modes.
	(arm_mode_to_pred_mode): New.
	(arm_expand_vector_compare): Use the right VxBI mode instead of
	HI.
	(arm_expand_vcond): Likewise.
	(simd_valid_immediate): Handle MODE_VECTOR_BOOL.
	(mve_bool_vec_to_const): New.
	(neon_make_constant): Call mve_bool_vec_to_const when needed.
	* config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
	(vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
	(vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
	(vpselq_s, vpselq_f): Use new predicated qualifiers.
	* config/arm/constraints.md (DB): New.
	* config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
	(MVE_VPRED, MVE_vpred): New attribute iterators.
	* config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
	(@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
	(@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
	(@mve_vpselq_<supf>v2di): Define separately.
	(mov<mode>): New expander for VxBI modes.
	* config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
	MVE_7_HI iterator and add support for DB constraint.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
	    Richard Sandiford  <richard.sandiford@arm.com>

	PR target/100757
	PR target/101325
	* config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
	VNx2BI): Update definition.
	* config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
	simd types.
	(arm_init_builtin): Map predicate vectors arguments to HImode.
	(arm_expand_builtin_args): Move HImode predicate arguments to VxBI
	rtx. Move return value to HImode rtx.
	* config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
	* config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
	* config/arm/arm-simd-builtin-types.def (Pred1x16_t,
	Pred2x8_t,Pred4x4_t): New.
	* emit-rtl.cc (init_emit_once): Handle all boolean modes.
	* genmodes.cc (mode_data): Add boolean field.
	(blank_mode): Initialize it.
	(make_complex_modes): Fix handling of boolean modes.
	(make_vector_modes): Likewise.
	(VECTOR_BOOL_MODE): Use new COMPONENT parameter.
	(make_vector_bool_mode): Likewise.
	(BOOL_MODE): New.
	(make_bool_mode): New.
	(emit_insn_modes_h): Fix generation of boolean modes.
	(emit_class_narrowest_mode): Likewise.
	* machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
	parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
	define BImode.
	* rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
	Fix handling of constm1_rtx for VECTOR_BOOL.
	* simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
	(native_decode_vector_rtx): Likewise.
	(test_vector_ops_duplicate): Skip vec_merge test
	with vectors of booleans.
	* varasm.cc (output_constant_pool_2): Likewise.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
	for operand 1.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.

2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
	(REG_CLASS_NAMES): Likewise.
	(REG_CLASS_CONTENTS): Likewise.
	(CLASS_MAX_NREGS): Handle VPR.
	* config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.

2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
	    Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
	* config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
	Likewise.
	* config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.

2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
	    Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
	* doc/invoke.texi (-mptx): Update for new values and defaults.

2022-02-22  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (gen_comment): New function.
	(workaround_uninit_method_1, workaround_uninit_method_2)
	(workaround_uninit_method_3): : Use gen_comment.
	* config/nvptx/nvptx.opt (mptx-comment): New option.

2022-02-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
	for a splat.

2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
	    Richard Biener  <rguenther@suse.de>

	* fold-const.cc (ctor_single_nonzero_element): New function to
	return the single non-zero element of a (vector) constructor.
	* fold-const.h (ctor_single_nonzero_element): Prototype here.
	* match.pd (reduc (constructor@0)): Simplify reductions of a
	constructor containing a single non-zero element.
	(reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
	reductions of vector operations of the same operator with
	constant vector operands.

2022-02-22  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104604
	* gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
	Only check if gimple_assign_rhs1 is COMPLEX_CST if
	gimple_assign_rhs_code is COMPLEX_CST.

2022-02-22  Jakub Jelinek  <jakub@redhat.com>

	PR target/104612
	* config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
	on input operands before calling lowpart_subreg on it.  For output
	operand, use a vmode pseudo as destination and then move its lowpart
	subreg into operands[0] if lowpart_subreg fails on dest.
	(ix86_expand_xorsign): Likewise.

2022-02-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104582
	PR target/99881
	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
	Cost GPR to vector register moves for integer vector construction.

2022-02-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104582
	* tree-vectorizer.h (stmt_info_for_cost::node): New field.
	(vector_costs::add_stmt_cost): Add SLP node parameter.
	(dump_stmt_cost): Likewise.
	(add_stmt_cost): Likewise, new overload and adjust.
	(add_stmt_costs): Adjust.
	(record_stmt_cost): New overload.
	* tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
	(vector_costs::add_stmt_cost): Adjust.
	* tree-vect-loop.cc (vect_estimate_min_profitable_iters):
	Adjust.
	* tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
	the SLP node for costing.
	(vectorizable_slp_permutation): Likewise.
	* tree-vect-stmts.cc (record_stmt_cost): Adjust and add
	new overloads.
	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
	Adjust.
	* config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
	Adjust.
	* config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
	Adjust.
	(rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.

2022-02-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104582
	* tree-vectorizer.h (add_stmt_cost): New overload.
	(record_stmt_cost): Likewise.
	* tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
	Use add_stmt_costs.
	(vect_get_known_peeling_cost): Use new overloads.
	(vect_estimate_min_profitable_iters): Likewise.  Consistently
	use scalar_stmt for costing versioning checks.
	* tree-vect-stmts.cc (record_stmt_cost): New overload.

2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>

	PR target/103069
	* config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
	Split atomic fetch and loop part.
	(ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
	* config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
	prototype.
	* config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
	expander under TARGET_RELAX_CMPXCHG_LOOP.
	(atomic_compare_and_swap<mode>): Likewise for doubleword modes.

2022-02-21  Dan Li  <ashimida@linux.alibaba.com>

	* config/aarch64/aarch64.cc (SLOT_REQUIRED):
	Change wb_candidate[12] to wb_push_candidate[12].
	(aarch64_layout_frame): Likewise, and
	change callee_adjust when scs is enabled.
	(aarch64_save_callee_saves):
	Change wb_candidate[12] to wb_push_candidate[12].
	(aarch64_restore_callee_saves):
	Change wb_candidate[12] to wb_pop_candidate[12].
	(aarch64_get_separate_components):
	Change wb_candidate[12] to wb_push_candidate[12].
	(aarch64_expand_prologue): Push x30 onto SCS before it's
	pushed onto stack.
	(aarch64_expand_epilogue): Pop x30 frome SCS, while
	preventing it from being popped from the regular stack again.
	(aarch64_override_options_internal): Add SCS compile option check.
	(TARGET_HAVE_SHADOW_CALL_STACK): New hook.
	* config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
	wb_pop_candidate[12], and rename wb_candidate[12] to
	wb_push_candidate[12].
	* config/aarch64/aarch64.md (scs_push): New template.
	(scs_pop): Likewise.
	* doc/invoke.texi: Document -fsanitize=shadow-call-stack.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in: Add hook have_shadow_call_stack.
	* flag-types.h (enum sanitize_code):
	Add SANITIZE_SHADOW_CALL_STACK.
	* opts.cc (parse_sanitizer_options): Add shadow-call-stack
	and exclude SANITIZE_SHADOW_CALL_STACK.
	* target.def: New hook.
	* toplev.cc (process_options): Add SCS compile option check.
	* ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.

2022-02-21  Tom de Vries  <tdevries@suse.de>

	PR target/104440
	* config/nvptx/nvptx.cc (workaround_uninit_method_1)
	(workaround_uninit_method_2, workaround_uninit_method_3)
	(workaround_uninit): New function.
	(nvptx_reorg): Use workaround_uninit.
	* config/nvptx/nvptx.opt (minit-regs): New option.

2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR rtl-optimization/104498
	* alias.cc (compare_base_symbol_refs): Correct distance computation
	when swapping x and y.

2022-02-21  Andrew Pinski  <apinski@marvell.com>

	PR c/104506
	* tree-ssa.cc (tree_ssa_useless_type_conversion):
	Check the inner type before calling useless_type_conversion_p.

2022-02-19  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
	* config/nvptx/nvptx.md
	(define_insn "nvptx_atomic_store<mode>"): Rename to ...
	(define_insn "nvptx_atomic_store_sm70<mode>"): This.
	(define_insn "nvptx_atomic_store<mode>"): New define_insn.
	(define_expand "atomic_store<mode>"): Handle rename.  Use
	nvptx_atomic_store instead of atomic_exchange.

2022-02-19  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
	insns with atomic attribute.  Assert that all handled insns are
	PARALLELs.
	* config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
	Set atomic attribute to false.

2022-02-19  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
	type to bool.
	(nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
	nvptx_warpsync, if necessary.

2022-02-19  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/102656
	* asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
	known to be within bounds, treat it like automatic variables.
	If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
	current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
	it addressable.

2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>

	* config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
	(mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
	mpower10-fusion-logical-add, mpower10-fusion-add-logical,
	mpower10-fusion-2add, mpower10-fusion-2store): Remove.
	* config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
	OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
	* config/rs6000/rs6000.cc (rs6000_option_override_internal,
	power10_sched_reorder): Likewise.
	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
	gen_addadd): Likewise
	* config/rs6000/fusion.md: Regenerate.

2022-02-18  Jakub Jelinek  <jakub@redhat.com>

	PR target/104257
	PR target/104598
	* config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
	rather than __posix_memalign.

2022-02-18  Richard Biener  <rguenther@suse.de>

	PR target/104581
	* config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
	(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
	of calling ix86_avx_u128_mode_source which would eventually
	have returned AVX_U128_ANY in some very special case.

2022-02-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/96881
	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
	CLOBBER handling.
	(control_parents_preserved_p): New function.
	(eliminate_unnecessary_stmts): Check that we preserved control
	parents before retaining a CLOBBER.
	(perform_tree_ssa_dce): Pass down aggressive flag
	to eliminate_unnecessary_stmts.

2022-02-17  Jason Merrill  <jason@redhat.com>

	* tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
	on TYPE_MAIN_VARIANT.

2022-02-17  Paul A. Clarke  <pc@us.ibm.com>

	PR target/104257
	* config/rs6000/bmi2intrin.h: Uglify local variables.
	* config/rs6000/emmintrin.h: Likewise.
	* config/rs6000/mm_malloc.h: Likewise.
	* config/rs6000/mmintrin.h: Likewise.
	* config/rs6000/pmmintrin.h: Likewise.
	* config/rs6000/smmintrin.h: Likewise.
	* config/rs6000/tmmintrin.h: Likewise.
	* config/rs6000/xmmintrin.h: Likewise.

2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>

	PR target/104335
	* config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
	if the expected comparison's first operand is of mode MODE_CC.

2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/104447
	* lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
	hard reg set by lra_no_alloc_regs.

2022-02-17  liuhongt  <hongtao.liu@intel.com>

	PR tree-optimization/104551
	PR tree-optimization/103771
	* match.pd (cond_expr_convert_p): Add types_match check when
	convert is extension.
	* tree-vect-patterns.cc
	(gimple_cond_expr_convert_p): Adjust comments.
	(vect_recog_cond_expr_convert_pattern): Ditto.

2022-02-17  Jakub Jelinek  <jakub@redhat.com>

	PR debug/104557
	* valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
	if expr has VOIDmode.

2022-02-17  liuhongt  <hongtao.liu@intel.com>

	* config/i386/cpuid.h (bit_MPX): Removed.
	(bit_BNDREGS): Ditto.
	(bit_BNDCSR): Ditto.

2022-02-17  Michael Meissner  <meissner@the-meissners.org>

	PR target/99708
	* config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
	__SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
	Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
	is created.

2022-02-16  Andrew MacLeod  <amacleod@redhat.com>

	* gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
	range_compatible_p instead of direct type comparison.

2022-02-16  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/104544
	* combine.cc (try_combine): When looking for insn whose links
	should be updated from i3 to i2, don't stop on debug insns, instead
	skip over them.

2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/100056
	* config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
	* config/aarch64/aarch64.md: Extend the PR100056 patterns
	to handle plus in the same way as ior, if the operands have
	no set bits in common.

2022-02-15  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/104526
	* gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
	new routine.
	* gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
	of dependency chain if there isn't one.
	(gori_compute::condexpr_adjust): New.
	* gimple-range-gori.h (class gori_compute): New prototype.

2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/100874
	* config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
	Declare.
	* config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
	* config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.

2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>

	* tree-vectorizer.h (vect_scalar_ops_slice): New struct.
	(vect_scalar_ops_slice_hash): Likewise.
	(vect_scalar_ops_slice::op): New function.
	* tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
	(vect_scalar_ops_slice_hash::hash): Likewise.
	(vect_scalar_ops_slice_hash::equal): Likewise.
	(vect_prologue_cost_for_slp): Check for duplicate vectors.
	* config/aarch64/aarch64.cc
	(aarch64_vector_costs::m_stp_sequence_cost): New member variable.
	(aarch64_aligned_constant_offset_p): New function.
	(aarch64_stp_sequence_cost): Likewise.
	(aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
	(aarch64_vector_costs::finish_cost): Likewise.

2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>

	* tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
	use after free.

2022-02-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104543
	* gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
	come after the inner loop.

2022-02-15  Jakub Jelinek  <jakub@redhat.com>

	PR target/104536
	* config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
	cannot instead of can%'t in diagnostics.  Formatting fixes.

2022-02-15  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104522
	* fold-const.h (native_interpret_real): Declare.
	* fold-const.cc (native_interpret_real): No longer static.  Don't
	perform MODE_COMPOSITE_P verification here.
	(native_interpret_expr) <case REAL_TYPE>: But perform it here instead
	for all modes.
	* gimple-fold.cc (clear_padding_type): Call native_interpret_real
	instead of native_interpret_expr.
	* simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
	and comparison verification for all FLOAT_MODE_P modes, not just
	MODE_COMPOSITE_P.

2022-02-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104519
	* fold-const.cc (multiple_of_p): Remove never true condition.
	* tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
	the appropriate types for determining whether the difference
	of final and base is a multiple of the step.

2022-02-15  Jakub Jelinek  <jakub@redhat.com>

	PR debug/104517
	* omp-low.cc (task_cpyfns): New variable.
	(delete_omp_context): Don't call finalize_task_copyfn from here.
	(create_task_copyfn): Push task_stmt into task_cpyfns.
	(execute_lower_omp): Call finalize_task_copyfn here on entries from
	task_cpyfns vector and release the vector.

2022-02-14  Martin Sebor  <msebor@redhat.com>

	PR middle-end/104355
	* doc/invoke.texi (-Warray-bounds): Update documentation.

2022-02-14  Michael Meissner  <meissner@the-meissners.org>

	PR target/104253
	* config/rs6000/rs6000.cc (init_float128_ibm): Update the
	conversion functions used to convert IFmode types.

2022-02-14  Andrew Stubbs  <ams@codesourcery.com>

	* config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.

2022-02-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104528
	* tree-ssa.h (find_released_ssa_name): Declare.
	* tree-ssa.cc (find_released_ssa_name): Export.
	* cfgloop.cc (verify_loop_structure): Look for released
	SSA names in loops nb_iterations.
	* tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
	estimates.

2022-02-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104511
	* tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
	touching DFP <-> FP conversions.

2022-02-14  Richard Biener  <rguenther@suse.de>

	PR middle-end/104497
	* gimplify.cc (gimplify_compound_lval): Make sure the
	base is a non-register if needed and possible.

2022-02-13  liuhongt  <hongtao.liu@intel.com>

	PR target/103771
	* match.pd (cond_expr_convert_p): New match.
	* tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
	(vect_recog_cond_expr_convert_pattern): New.

2022-02-12  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/104449
	* asan.cc: Include tree-eh.h.
	(handle_builtin_alloca): Handle the case when __builtin_alloca or
	__builtin_alloca_with_align can throw.

2022-02-12  Jakub Jelinek  <jakub@redhat.com>

	PR target/104502
	* config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
	and AVX512VL isn't available, move operands[1] to operands[0] first.

2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/79754
	* config/i386/i386.cc (type_natural_mode):
	Skip decimal float vector modes.

2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
	    Vladimir Makarov  <vmakarov@redhat.com>

	PR target/104117
	* config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
	Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
	emitting PIC code.
	(legitimate_lo_sum_address_p): Likewise.
	* lra-constraints.cc (process_address_1): Do not attempt to emit a reg
	load from an invalid lo_sum address.

2022-02-11  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104499
	* match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
	of convert.

2022-02-11  Jakub Jelinek  <jakub@redhat.com>

	* tree.cc (build_common_builtin_nodes): Fix up formatting in
	__builtin_clear_padding decl creation.
	* gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
	for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
	argument rather than in 3rd argument.
	(gimplify_call_expr): Likewise.  Fix up comment formatting.
	* gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
	2 arguments instead of 3, take for_auto_init from the value
	of 2nd argument.

2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/104400
	* lra-constraints.cc (process_alt_operands): Don't make union of
	this_alternative_exclude_start_hard_regs when reg class in insn
	alternative covers other reg classes in the same alternative.

2022-02-11  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104446
	* combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
	operands.

2022-02-11  Richard Biener  <rguenther@suse.de>

	PR middle-end/104496
	* internal-fn.cc (vectorized_internal_fn_supported_p):
	Bail out for integer mode vector types.

2022-02-11  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/104459
	* df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
	moving DEBUG_INSNs between bbs.

2022-02-11  liuhongt  <hongtao.liu@intel.com>

	PR tree-optimization/104479
	* match.pd (uncond_op + vec_cond -> cond_op): Add single_use
	for the dest of uncond_op.

2022-02-11  Tom de Vries  <tdevries@suse.de>

	PR target/104456
	* config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
	insn.

2022-02-10  Qing Zhao  <qing.zhao@oracle.com>

	PR middle-end/100775
	* function.cc (gen_call_used_regs_seq): Call
	df_update_exit_block_uses when updating df.

2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/104469
	* config/i386/sse.md (vec_unpacks_float_lo_v4si):
	Change operand 1 constraint to register_operand.

2022-02-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104373
	* tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
	walk kind.
	* tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
	walk kind as argument.
	(run_rpo_vn): Adjust.
	(pass_fre::execute): Likewise.
	* tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
	blocks not reachable.
	(execute_late_warn_uninitialized): Mark all edges as
	executable.
	(execute_early_warn_uninitialized): Use VN to compute
	executable edges.
	(pass_data_early_warn_uninitialized): Enable a dump file,
	change dump name to warn_uninit.

2022-02-10  Richard Biener  <rguenther@suse.de>

	PR middle-end/104467
	* match.pd (vector extract simplification): Multiply the
	number of CTOR elements with the number of element elements.

2022-02-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104466
	* tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
	for the MR_DEPENDENCE checks as intended.

2022-02-10  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
	define_insn.
	(define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
	TARGET_SM70.
	(define_c_enum "unspecv"): Add UNSPECV_ST.

2022-02-10  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
	* config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
	(nvptx_mem_maybe_shared_p): New function.
	* config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
	define_expand.

2022-02-10  Tom de Vries  <tdevries@suse.de>

	PR target/97005
	* config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
	driver JIT bug by using sub.s16 instead of sub.u16.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

	* config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
	floating point constants as operands 1 and/or 2.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

	PR target/104345
	* config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
	(sel_false<mode>): Likewise.
	(define_code_iterator eqne): New code iterator for EQ and NE.
	(*selp<mode>_neg_<code>): New define_insn_and_split to optimize
	the negation of a selp instruction.
	(*selp<mode>_not_<code>): New define_insn_and_split to optimize
	the bitwise not of a selp instruction.
	(*setcc_int<mode>): Use set instruction for neg:SI of a selp.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

	* config/nvptx/nvptx.md (any_logic): Move code iterator earlier
	in machine description.
	(logic): Move code attribute earlier in machine description.
	(ilogic): New code attribute, like logic but "ior" for IOR.
	(and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
	(<ilogic><mode>3): New define_insn for HSDIM logic operations.
	(<ilogic>bi3): New define_insn for BI mode logic operations.
	(define_split): Lower logic operations from integer modes to
	BI mode predicate operations.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

	* config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
	(one_cmplbi2): New define_insn for not.pred.
	(mulditi3): New define_expand for signed widening multiply.
	(umulditi3): New define_expand for unsigned widening multiply.
	(smul<mode>3_highpart): New define_insn for signed highpart mult.
	(umul<mode>3_highpart): New define_insn for unsigned highpart mult.
	(*smulhi3_highpart_2): Renamed from smulhi3_highpart.
	(*smulsi3_highpart_2): Renamed from smulsi3_highpart.
	(*umulhi3_highpart_2): Renamed from umulhi3_highpart.
	(*umulsi3_highpart_2): Renamed from umulsi3_highpart.
	(*setcc<mode>_from_not_bi): New define_insn.
	(*setcc_isinf<mode>): New define_insn for testp.infinite.
	(isinf<mode>2): New define_expand.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

	* config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
	(setcc<mode>_from_bi): Additionally support QImode.
	(extendbi<mode>2): Additionally support QImode.
	(zero_extendbi<mode>2): Additionally support QImode.
	(any_sbinary, any_ubinary, any_sunary, any_uunary): New code
	iterators for signed and unsigned, binary and unary operations.
	(<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
	expanders to perform QImode operations using SImode instructions.
	(cstoreqi4): New define_expand.
	(*ext_truncsi2_qi): New define_insn.
	(*zext_truncsi2_qi): New define_insn.

2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>

	* config/nvptx/nvptx.md (*cmpf): New define_insn.
	(cstorehf4): New define_expand.
	(fmahf4): New define_insn.
	(neghf2): New define_insn.
	(abshf2): New define_insn.

2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/install.texi (Specific): Change the www.bitwizard.nl
	reference to use https.

2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>

	* gimplify.cc (gimplify_scan_omp_clauses): Added cases for
	OMP_CLAUSE_HAS_DEVICE_ADDR
	and handle array sections.
	(gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
	* omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
	(lower_omp_target): Same.
	* tree-core.h (enum omp_clause_code): Same.
	* tree-nested.cc (convert_nonlocal_omp_clauses): Same.
	(convert_local_omp_clauses): Same.
	* tree-pretty-print.cc (dump_omp_clause): Same.
	* tree.cc: Same.

2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>

	* auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
	that will result in direct recursive calls.

2022-02-10  Andrew Pinski  <apinski@marvell.com>

	PR target/104474
	* config/aarch64/aarch64.cc
	(aarch64_sve_expand_vector_init_handle_trailing_constants):
	Use CONST0_RTX instead of const0_rtx for the non-constant elements.

2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/104462
	* common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
	Also include OPTION_MASK_ISA2_AVX2_UNSET.

2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/104458
	* config/i386/i386-expand.cc (ix86_split_idivmod):
	Force operands[2] and operands[3] into a register..

2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>

	PR target/97040
	* config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
	(*v850_fnmssf4): Renamed from fnmssf4

2022-02-09  Ian Lance Taylor  <iant@golang.org>

	* godump.cc (go_force_record_alignment): Really name the alignment
	field "_" (complete 2021-12-29 change).

2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
	function prototype.
	(VREPLACE_UN_UV4SI): Likewise.
	(VREPLACE_UN_V2DF): Likewise.
	(VREPLACE_UN_V2DI): Likewise.
	(VREPLACE_UN_V4SF): Likewise.
	(VREPLACE_UN_V4SI): Likewise.
	* config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
	function prototypes.
	* config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
	(vreplace_un_<mode>): New define_insn.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/iterators.md (VDCSIF): New mode iterator.
	(VDBL): Handle SF.
	(single_wx, single_type, single_dtype, dblq): New mode attributes.
	* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
	from VDC to VDCSIF.
	(store_pair_lanes<mode>): Likewise.
	(*aarch64_combine_internal<mode>): Likewise.
	(*aarch64_combine_internal_be<mode>): Likewise.
	(*aarch64_combinez<mode>): Likewise.
	(*aarch64_combinez_be<mode>): Likewise.
	* config/aarch64/aarch64.cc (aarch64_classify_address): Handle
	8-byte modes for ADDR_QUERY_LDP_STP_N.
	(aarch64_print_operand): Likewise for %y.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
	Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
	(move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
	(aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
	(vec_pack_trunc_<mode>): Take general_operand elements and use
	aarch64_combine rather than move_lo/hi_quad to combine them.
	(vec_pack_trunc_df): Likewise.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
	Delete.
	* config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
	to...
	(*aarch64_combinez<mode>): ...this.
	(@aarch64_combinez_be<mode>): Rename to...
	(*aarch64_combinez_be<mode>): ...this.
	(@aarch64_vec_concat<mode>): New expander.
	(aarch64_combine<mode>): Use it.
	(@aarch64_simd_combine<mode>): Delete.
	* config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
	(aarch64_expand_vector_init): Use aarch64_vec_concat.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
	New predicate.
	* config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
	(*aarch64_combine_internal_be<mode>): New patterns.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
	(move_lo_quad_internal_be_<mode>): Delete.
	(move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
	Declare.
	* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
	aarch64_mergeable_load_pair_p instead of inline check.
	* config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
	(aarch64_check_consecutive_mems): Allow the reversed parameter
	to be null.
	(aarch64_mergeable_load_pair_p): New function.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
	element to be an aarch64_simd_nonimmediate_operand.

2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
	aarch64_simd_nonimmediate_operand instead of
	aarch64_simd_general_operand.
	(@aarch64_combinez<mode>): Use nonimmediate_operand instead of
	general_operand.
	(@aarch64_combinez_be<mode>): Likewise.

2022-02-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/104464
	* gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
	throwing check to after unproblematic replacement.

2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>

	PR tree-optimization/104420
	* match.pd (mult @0 real_zerop): Tweak conditions for constant
	folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.

2022-02-09  Jakub Jelinek  <jakub@redhat.com>

	PR debug/104407
	* dwarf2out.cc (mangle_referenced_decls): New function.
	(tree_add_const_value_attribute): Don't call rtl_for_decl_init if
	early_dwarf.  Instead walk the initializer and try to mangle vars or
	functions referenced from it.

2022-02-09  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/104288
	* gimple-range-cache.cc (non_null_ref::set_nonnull): New.
	(non_null_ref::adjust_range): Move to header.
	(ranger_cache::range_of_def): Don't check non-null.
	(ranger_cache::entry_range): Don't check non-null.
	(ranger_cache::range_on_edge): Check for nonnull on normal edges.
	(ranger_cache::update_to_nonnull): New.
	(non_null_loadstore): New.
	(ranger_cache::block_apply_nonnull): New.
	* gimple-range-cache.h (class non_null_ref): Update prototypes.
	(non_null_ref::adjust_range): Move to here and inline.
	(class ranger_cache): Update prototypes.
	* gimple-range-path.cc (path_range_query::range_defined_in_block): Do
	not search dominators.
	(path_range_query::adjust_for_non_null_uses): Ditto.
	* gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
	def overrides.  Do not check nonnull.
	(gimple_ranger::range_on_entry): Check dominators for nonnull.
	(gimple_ranger::range_on_edge): Check for nonnull on normal edges..
	(gimple_ranger::register_side_effects): New.
	* gimple-range.h (gimple_ranger::register_side_effects): New.
	* tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.

2022-02-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104445
	PR tree-optimization/102832
	* optabs-query.h (can_vec_extract): New.
	* optabs-query.cc (can_vec_extract): Likewise.
	* tree-vect-loop.cc (vect_find_reusable_accumulator): Check
	we can extract a hi/lo part from the larger vector, rework
	check iteration from larger to smaller sizes.

2022-02-09  H.J. Lu  <hjl.tools@gmail.com>

	PR target/35513
	PR target/100593
	* config/i386/gnu-property.cc: Include "i386-protos.h".
	(file_end_indicate_exec_stack_and_gnu_property): Generate
	a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
	nodirect_extern_access attribute.
	* config/i386/i386-options.cc
	(handle_nodirect_extern_access_attribute): New function.
	(ix86_attribute_table): Add nodirect_extern_access attribute.
	* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
	bool argument.
	(ix86_has_no_direct_extern_access): New.
	* config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
	(ix86_force_load_from_GOT_p): Add a bool argument to indicate
	call operand.  Force non-call load from GOT for
	-mno-direct-extern-access or nodirect_extern_access attribute.
	(legitimate_pic_address_disp_p): Avoid copy relocation in PIE
	for -mno-direct-extern-access or nodirect_extern_access attribute.
	(ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
	for call operand.
	(asm_preferred_eh_data_format): Use PC-relative format for
	-mno-direct-extern-access to avoid copy relocation.  Check
	ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
	(ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
	true for -mno-direct-extern-access or nodirect_extern_access
	attribute.  Don't treat protected data as extern and avoid copy
	relocation on common symbol with -mno-direct-extern-access or
	nodirect_extern_access attribute.
	(ix86_reloc_rw_mask): New to avoid copy relocation for
	-mno-direct-extern-access.
	(TARGET_ASM_RELOC_RW_MASK): New.
	* config/i386/i386.opt: Add -mdirect-extern-access.
	* doc/extend.texi: Document nodirect_extern_access attribute.
	* doc/invoke.texi: Document -m[no-]direct-extern-access.

2022-02-09  H.J. Lu  <hjl.tools@gmail.com>

	PR target/104441
	* config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
	(ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
	Call ix86_avx_u128_mode_source to check mode for each component
	of source operand.

2022-02-09  liuhongt  <hongtao.liu@intel.com>

	PR target/104451
	* config/i386/sse.md (<insn><mode>3): lowpart_subreg
	operands[2] from SImode to QImode.

2022-02-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/104450
	* gimple-isel.cc: Pass cfun around.
	(+gimple_expand_vec_cond_expr): Do not combine a throwing
	comparison with the select.

2022-02-09  Richard Biener  <rguenther@suse.de>

	PR target/104453
	* config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
	folding for NULL LHS.

2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>

	PR rtl-optimization/104198
	PR rtl-optimization/104153
	* ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
	using it directly.  Rework comparison handling and always
	perform a second pass.

2022-02-08  Jakub Jelinek  <jakub@redhat.com>

	PR target/102140
	* config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
	split1 pass has finished already.

2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
	* config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
	* config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
	(vmsumcud): New define_insn.

2022-02-08  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
	* config/nvptx/nvptx.h (TARGET_SM70): Define.

2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>

	* config/s390/s390.cc (s390_rtx_costs): Increase costs for load
	on condition.
	* config/s390/s390.md: Use paradoxical subreg.

2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>

	* combine.cc (reg_subword_p): Check for paradoxical subreg.

2022-02-08  Tom de Vries  <tdevries@suse.de>

	PR target/104283
	* config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
	and PTX_VERSION_4_2.
	* config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
	(default_ptx_version_option, ptx_version_to_string)
	(sm_version_to_string, handle_ptx_version_option): New function.
	(nvptx_option_override): Call handle_ptx_version_option.
	(nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
	* config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
	(define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
	* config/nvptx/nvptx.opt (mptx): Remove 'Init'.

2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>

	* doc/install.texi (Configuration): Document `--with-isa-spec='
	RISC-V option.
	* doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
	option.
	(RISC-V Options): Document it.

2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>

	* config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.

2022-02-08  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.

2022-02-08  Tom de Vries  <tdevries@suse.de>

	PR target/104364
	* config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
	change is validated.
	(nvptx_mem_local_p): New function.
	* config/nvptx/nvptx.md: Use nvptx_mem_local_p.
	(define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
	(define_insn "atomic_compare_and_swap<mode>_1_local"): New
	non-atomic, non-predicable define_insn, factored out of ...
	(define_insn "atomic_compare_and_swap<mode>_1"): ... here.
	Make predicable again.
	(define_expand "atomic_compare_and_swap<mode>"): Use
	atomic_compare_and_swap<mode>_1_local.

2022-02-08  liuhongt  <hongtao.liu@intel.com>

	PR rtl-optimization/104059
	* regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
	for a more expensive reg-reg move.

2022-02-07  Tamar Christina  <tamar.christina@arm.com>

	* config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
	vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
	* config/arm/arm_neon_builtins.def (usdot): Add V16QI.
	(usdot_laneq, sudot_laneq): New.
	* config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
	(neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.

2022-02-07  Tamar Christina  <tamar.christina@arm.com>

	* config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
	vdot_laneq_s32, vdotq_laneq_s32): New.
	* config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
	* config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
	(<sup>dot_prod<vsi2qi>): Re-order rtl.
	(neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
	(neon_<sup>dot_laneq<vsi2qi>): New.

2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR target/104327
	* config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
	if always_inline is set. Don't inline when tune differs without
	always_inline.

2022-02-07  Richard Biener  <rguenther@suse.de>

	PR middle-end/104402
	* gimple-expr.cc (is_gimple_condexpr): _Complex typed
	compares are not valid.
	* tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
	check is_gimple_condexpr.

2022-02-07  Kewen Lin  <linkw@linux.ibm.com>

	PR target/103627
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
	hunk affecting VSX and ALTIVEC to appropriate place.

2022-02-07  Kewen Lin  <linkw@linux.ibm.com>

	PR target/103627
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
	MMA if !TARGET_VSX.

2022-02-06  Jakub Jelinek  <jakub@redhat.com>

	PR c++/89074
	PR c++/104033
	* fold-const.h (folding_initializer): Adjust comment.
	(folding_cxx_constexpr): Declare.
	* fold-const.cc (folding_initializer): Adjust comment.
	(folding_cxx_constexpr): New variable.
	(address_compare): Restrict the decl vs. STRING_CST
	or vice versa or STRING_CST vs. STRING_CST or
	is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
	Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
	assume non-aliased functions have non-zero size and have different
	addresses.  For folding_cxx_constexpr, punt on comparisons of start
	of some object and end of another one, regardless whether it is a decl
	or string literal.  Also punt for folding_cxx_constexpr on
	STRING_CST vs. STRING_CST comparisons if the two literals could be
	overlapping.

2022-02-05  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104389
	* match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
	honored.

2022-02-05  Kito Cheng  <kito.cheng@sifive.com>

	* configure.ac: Fix detection for zifencei support.
	* configure: Regenerate.

2022-02-05  Kito Cheng  <kito.cheng@sifive.com>

	PR target/104219
	* config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
	(all_defaults): Add isa_spec.
	* config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.

2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
	parameters instead of arglist and nargs.  Simplify accordingly.  Remove
	unnecessary test for argument count mismatch.
	(resolve_vec_cmpne): Likewise.
	(resolve_vec_adde_sube): Likewise.
	(resolve_vec_addec_subec): Likewise.
	(altivec_resolve_overloaded_builtin): Move overload special handling
	after the gathering of arguments into args[] and types[] and the test
	for correct number of arguments.  Don't perform the test for correct
	number of arguments for certain special cases.  Call the other special
	cases with args and types instead of arglist and nargs.

2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>

	PR target/100808
	* doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
	3.1): Provide consistent type names.  Remove unnecessary semicolons.
	Fix bad line breaks.

2022-02-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/104380
	* config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
	adjust mangling of __builtin*printf_chk.

2022-02-04  Jonathan Wakely  <jwakely@redhat.com>

	* doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.

2022-02-04  Richard Biener  <rguenther@suse.de>
	    Bin Cheng   <bin.cheng@linux.alibaba.com>

	PR tree-optimization/100499
	* fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
	to true.
	* fold-const.cc (multiple_of_p): Likewise.  Honor it for
	MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
	switching to false for conversions.
	* tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
	claim the outermost expression does not wrap when calling
	multiple_of_p.  Refactor the check done to check the
	original IV, avoiding a bias that might wrap.

2022-02-04  Richard Biener  <rguenther@suse.de>

	* fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
	handling.

2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>

	PR debug/104366
	* dwarf2out.cc (dwarf2out_finish): Empty base_types.
	(dwarf2out_early_finish): Likewise.

2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>

	PR tree-optimization/104356
	* match.pd (X / bool_range_Y is X): Add guard.
	(X / X is one): Likewise.
	(X / abs (X) is X < 0 ? -1 : 1): Likewise.
	(X / -X is -1): Likewise.
	(1 / X -> X == 1): Likewise.

2022-02-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103641
	* tree-vect-patterns.cc (vect_synth_mult_by_constant):
	Pass the vector mode to choose_mult_variant.

2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>

	PR rtl-optimization/101885
	* combine.cc (try_combine): When splitting a parallel into two
	sequential sets, check not only that the first doesn't clobber
	the second but also that the second doesn't clobber the first.

2022-02-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/90348
	PR middle-end/104092
	* tree-core.h (clobber_kind): New enum.
	(tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
	* tree.h (CLOBBER_KIND): Add.
	(build_clobber): Add clobber kind argument, defaulted to
	CLOBBER_UNDEF.
	* tree.cc (build_clobber): Likewise.
	* gimple.h (gimple_clobber_p): New overload with specified kind.
	* tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
	CLOBBER_KIND.
	* tree-streamer-out.cc (streamer_write_tree_bitfields):
	Likewise.
	* tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
	* gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
	with CLOBBER_EOL.
	(gimplify_target_expr): Likewise.
	* tree-inline.cc (expand_call_inline): Likewise.
	* tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
	* gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
	CLOBBER_EOL clobbers as ending lifetime of storage.

2022-02-04  Martin Sebor  <msebor@redhat.com>

	* pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
	cleanup.

2022-02-03  Martin Sebor  <msebor@redhat.com>

	PR middle-end/104260
	* passes.def (pass_warn_access): Adjust pass placement.

2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/104362
	* config/i386/i386.cc (find_drap_reg): For 32bit targets
	return DI_REG if function uses __builtin_eh_return.

2022-02-03  Martin Sebor  <msebor@redhat.com>

	* gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
	(pass_wrestrict::m_ptr_qry): New member.
	(wrestrict_walk): Rename...
	(pass_wrestrict::check_block): ...to this.
	(pass_wrestrict::execute): Set up and tear down pointer_query and
	ranger.
	(builtin_memref::builtin_memref): Change ctor argument.  Simplify.
	(builtin_access::builtin_access): Same.
	(builtin_access::m_ptr_qry): New member.
	(check_call): Rename...
	(pass_wrestrict::check_call): ...to this.
	(check_bounds_or_overlap): Change argument.
	* gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.

2022-02-03  Martin Sebor  <msebor@redhat.com>

	* gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
	Define ctor.
	(array_bounds_checker::get_value_range): Use new member.
	(array_bounds_checker::check_mem_ref): Same.
	* gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
	Outline ctor.
	(array_bounds_checker::m_ptr_query): New member.

2022-02-03  Martin Sebor  <msebor@redhat.com>

	* gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
	pointer_query cache.
	* pointer-query.cc (pointer_query::pointer_query): Remove cache
	argument.  Zero-initialize new cache member.
	(pointer_query::get_ref): Replace cache pointer with direct access.
	(pointer_query::put_ref): Same.
	(pointer_query::flush_cache): Same.
	(pointer_query::dump): Same.
	* pointer-query.h (class pointer_query): Remove cache argument from
	ctor.  Change cache pointer to cache subobject member.
	* tree-ssa-strlen.cc: Remove pointer_query cache.

2022-02-03  Martin Sebor  <msebor@redhat.com>

	PR tree-optimization/104119
	* gimple-ssa-sprintf.cc (struct directive): Change argument type.
	(format_none): Same.
	(format_percent): Same.
	(format_integer): Same.
	(format_floating): Same.
	(get_string_length): Same.
	(format_character): Same.
	(format_string): Same.
	(format_plain): Same.
	(format_directive): Same.
	(compute_format_length): Same.
	(handle_printf_call): Same.
	* tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
	get_maxbound.
	(get_range_strlen_phi): Same.
	(get_maxbound): New function.
	(strlen_pass::get_len_or_size): Adjust to parameter change.
	* tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

	PR target/103686
	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin):	Remove
	test for !rs6000_fold_gimple.
	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
	* config/rs6000/rs6000.opt (mfold-gimple): Remove.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

	PR target/95082
	* config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
	endianness for vclzlsbb and vctzlsbb.
	* config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
	default pattern and indicate a different pattern will be used for
	big endian.
	(VCLZLSBB_V4SI): Likewise.
	(VCLZLSBB_V8HI): Likewise.
	(VCTZLSBB_V16QI): Likewise.
	(VCTZLSBB_V4SI): Likewise.
	(VCTZLSBB_V8HI): Likewise.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
	* config/rs6000/rs6000-builtin.cc: New file, containing code moved
	from other files.
	* config/rs6000/rs6000-call.cc (cpu_is_info): Move to
	rs6000-builtin.cc.
	(cpu_supports_info): Likewise.
	(rs6000_type_string): Likewise.
	(altivec_expand_predicate_builtin): Likewise.
	(rs6000_htm_spr_icode): Likewise.
	(altivec_expand_vec_init_builtin): Likewise.
	(get_element_number): Likewise.
	(altivec_expand_vec_set_builtin): Likewise.
	(altivec_expand_vec_ext_builtin): Likewise.
	(rs6000_invalid_builtin): Likewise.
	(rs6000_fold_builtin): Likewise.
	(fold_build_vec_cmp): Likewise.
	(fold_compare_helper): Likewise.
	(map_to_integral_tree_type): Likewise.
	(fold_mergehl_helper): Likewise.
	(fold_mergeeo_helper): Likewise.
	(rs6000_builtin_valid_without_lhs): Likewise.
	(rs6000_builtin_is_supported): Likewise.
	(rs6000_gimple_fold_mma_builtin): Likewise.
	(rs6000_gimple_fold_builtin): Likewise.
	(rs6000_expand_ldst_mask): Likewise.
	(cpu_expand_builtin): Likewise.
	(elemrev_icode): Likewise.
	(ldv_expand_builtin): Likewise.
	(lxvrse_expand_builtin): Likewise.
	(lxvrze_expand_builtin): Likewise.
	(stv_expand_builtin): Likewise.
	(mma_expand_builtin): Likewise.
	(htm_spr_num): Likewise.
	(htm_expand_builtin): Likewise.
	(rs6000_expand_builtin): Likewise.
	(rs6000_vector_type): Likewise.
	(rs6000_init_builtins): Likewise.  Remove initialization of
	builtin_mode_to_type entries.
	(rs6000_builtin_decl): Move to rs6000-builtin.cc.
	* config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
	external declaration.
	(rs6000_builtin_md_vectorized_function): Likewise.
	(rs6000_builtin_reciprocal): Likewise.
	(altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
	(rs6000_builtin_types): Likewise.
	(builtin_mode_to_type): Remove.
	(rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
	static qualifier.
	(rs6000_builtin_md_vectorized_function): Likewise.
	(rs6000_builtin_reciprocal): Likewise.
	* config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
	* config/rs6000/t-rs6000 (rs6000-builtin.o): New target.

2022-02-03  Richard Biener  <rguenther@suse.de>

	PR debug/104337
	* tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
	together via DECL_ABSTRACT_ORIGIN.

2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
	message for RES_BITS case.

2022-02-03  Aldy Hernandez  <aldyh@redhat.com>

	* gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.

2022-02-03  Jakub Jelinek  <jakub@redhat.com>

	* config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
	mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.

2022-02-03  Aldy Hernandez  <aldyh@redhat.com>

	* cfganal.cc (verify_marked_backedges): New.
	* cfganal.h (verify_marked_backedges): New.
	* gimple-range-path.cc (path_range_query::path_range_query):
	Verify freshness of back edges.
	* tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
	mark_dfs_back_edges.
	* tree-ssa-threadbackward.cc (back_threader::back_threader): Move
	path_range_query construction after backedges have been
	updated.

2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
	VALL to VALL_F16.

2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/iterators.md (VALL_F16MOV): Delete.
	* config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
	of VALL_F16MOV.

2022-02-03  Martin Liska  <mliska@suse.cz>

	* config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
	Change subject and object in the error message.
	* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
	Likewise.

2022-02-03  Martin Liska  <mliska@suse.cz>

	* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
	Use the error message for i386 target.

2022-02-03  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104334
	* range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
	and rh_range type to widest_int and subtract in widest_int.  Remove
	ov_rh, ov_lh and sign vars, always perform comparisons as signed
	and use >, < and == operators for it.

2022-02-03  Martin Sebor  <msebor@redhat.com>

	* common.opt (-Wuse-after-free): Correct typos.

2022-02-02  David Malcolm  <dmalcolm@redhat.com>

	PR analyzer/104270
	* doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
	-Wanalyzer-use-of-uninitialized-value to paragraph documenting that
	-ftrivial-auto-var-init= doesn't suppress warnings.

2022-02-02  Martin Liska  <mliska@suse.cz>

	* dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.

2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>

	PR target/94372
	* config/or1k/linux.h (CPP_SPEC): Define.

2022-02-02  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/102819
	PR tree-optimization/103169
	* config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
	canonical order.

2022-02-02  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/102819
	PR tree-optimization/103169
	* config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
	canonical order.
	* config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.

2022-02-02  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/102819
	PR tree-optimization/103169
	* doc/md.texi: Update docs for cfms, cfma.
	* tree-data-ref.h (same_data_refs): Accept optional offset.
	* tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
	patterns.
	(vect_normalize_conj_loc): Remove.
	(is_eq_or_top): Change to take two nodes.
	(enum _conj_status, compatible_complex_nodes_p,
	vect_validate_multiplication): New.
	(class complex_add_pattern, complex_add_pattern::matches,
	complex_add_pattern::recognize, class complex_mul_pattern,
	complex_mul_pattern::recognize, class complex_fms_pattern,
	complex_fms_pattern::recognize, class complex_operations_pattern,
	complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
	new cache.
	(complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
	cache and use new validation code.
	* tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
	vect_analyze_slp): Pass along cache.
	(compatible_calls_p): Expose.
	* tree-vectorizer.h (compatible_calls_p, slp_node_hash,
	slp_compat_nodes_map_t): New.
	(class vect_pattern): Update signatures include new cache.

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.cc (cris_preferred_reload_class): Reject
	"eliminated" registers and small-enough constants unless
	reloaded into a class that is a subset of GENERAL_REGS.
	* config/cris/cris.md (attribute "cpu_variant"): New.
	(attribute "enabled"): Conditionalize on a matching attribute
	cpu_variant, if specified.
	("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
	memory, add cpu-variant-enabled variants for "r" alternatives on
	the far side of the "x" alternatives, preferring the "x" ones
	only for variants where MOF is present (in addition to SRP).

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
	extra cost for ALL_REGS.

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/constraints.md (define_register_constraint "b"): Now
	GENERAL_REGS.
	* config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
	* config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
	(REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
	and SPEC_GENNONACR_REGS.
	* config/cris/cris.cc (cris_preferred_reload_class): Don't mention
	ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
	Conditionalize on (sub-)register operands or operand 1 being 0.

2022-02-02  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
	(MUL_BUG_ASM_DEFAULT): New macro.
	(MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
	* doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
	accordingly.

2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>

	* opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
	to 10 for AutoFDO.

2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>

	* auto-profile.cc (auto_profile): Hard-code the number of iterations (10).

2022-02-01  Andrew Pinski  <apinski@marvell.com>

	* doc/install.texi:

2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>

	* config/s390/s390.cc (s390_code_end): Do not switch back to
	code section.

2022-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR target/104323
	* config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
	rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
	* config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
	GTY((user)) for struct bifdata and struct ovlddata.  Instead add
	GTY((skip(""))) to members with pointer and enum types that don't need
	to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
	declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
	(write_extern_fntype, write_fntype): Remove.
	(write_fntype_init): Emit the fntype vars as automatic vars instead
	of file scope ones.
	(write_header_file): Don't iterate with write_extern_fntype.
	(write_init_file): Don't iterate with write_fntype.  Don't emit
	gt_ggc_mx and gt_pch_nx definitions.

2022-02-01  Jason Merrill  <jason@redhat.com>

	* tree.h (struct tree_vec_map_cache_hasher): Move from...
	* tree.cc (struct tree_vec_map_cache_hasher): ...here.

2022-02-01  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
	UNSPECV_UNIFORM_WARP_CHECK.
	(define_insn "nvptx_uniform_warp_check"): New define_insn.

2022-02-01  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
	UNSPECV_WARPSYNC.
	(define_insn "nvptx_warpsync"): New define_insn.

2022-02-01  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.

2022-02-01  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
	* config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
	* config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
	insn for TARGET_PTX_6_0.

2022-02-01  Tom de Vries  <tdevries@suse.de>

	PR target/100428
	* config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
	insn.

2022-02-01  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
	(define_insn "atomic_exchange<mode>")
	(define_insn "atomic_fetch_add<mode>")
	(define_insn "atomic_fetch_addsf")
	(define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
	if memory operands is frame-relative.

2022-02-01  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/nvptx.cc (enum nvptx_builtins): Add
	NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
	(VOID): New macro.
	(nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
	(nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
	NVPTX_BUILTIN_MEMBAR_CTA.
	(nvptx_lockfull_update): Add level parameter.  Emit barriers.
	(nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
	nvptx_lockfull_update.
	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
	UNSPECV_MEMBAR_GL.
	(define_expand "nvptx_membar_gl"): New expand.
	(define_insn "*nvptx_membar_gl"): New insn.

2022-02-01  Martin Liska  <mliska@suse.cz>

	* doc/install.texi: Remove option for GCC < 4.8.

2022-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104307
	* tree-vect-generic.cc (expand_vector_comparison): Don't push debug
	stmts to uses vector, just set vec_cond_expr_only to false for
	non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
	VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
	like non-VEC_COND_EXPRs.

2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
	(VEC_BLENDV): Likewise.
	(VEC_BPERM): Likewise.
	(VEC_CFUGE): Likewise.
	(VEC_CIPHER_BE): Likewise.
	(VEC_CIPHERLAST_BE): Likewise.
	(VEC_CLRL): Likewise.
	(VEC_CLRR): Likewise.
	(VEC_CMPNEZ): Likewise.
	(VEC_CNTLZ): Likewise.
	(VEC_CNTLZM): Likewise.
	(VEC_CNTTZM): Likewise.
	(VEC_CNTLZ_LSBB): Likewise.
	(VEC_CNTM): Likewise.
	(VEC_CNTTZ): Likewise.
	(VEC_CNTTZ_LSBB): Likewise.
	(VEC_CONVERT_4F32_8F16): Likewise.
	(VEC_DIV): Likewise.
	(VEC_DIVE): Likewise.
	(VEC_EQV): Likewise.
	(VEC_EXPANDM): Likewise.
	(VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
	(VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
	(VEC_EXTRACTH): Likewise.
	(VEC_EXTRACTL): Likewise.
	(VEC_EXTRACTM): Likewise.
	(VEC_EXTRACT4B): Likewise.
	(VEC_EXTULX): Likewise.
	(VEC_EXTURX): Likewise.
	(VEC_FIRSTMATCHINDEX): Likewise.
	(VEC_FIRSTMACHOREOSINDEX): Likewise.
	(VEC_FIRSTMISMATCHINDEX): Likewise.
	(VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
	(VEC_GB): Likewise.
	(VEC_GENBM): Likewise.
	(VEC_GENHM): Likewise.
	(VEC_GENWM): Likewise.
	(VEC_GENDM): Likewise.
	(VEC_GENQM): Likewise.
	(VEC_GENPCVM): Likewise.
	(VEC_GNB): Likewise.
	(VEC_INSERTH): Likewise.
	(VEC_INSERTL): Likewise.
	(VEC_INSERT4B): Likewise.
	(VEC_LXVL): Likewise.
	(VEC_MERGEE): Likewise.
	(VEC_MERGEO): Likewise.
	(VEC_MOD): Likewise.
	(VEC_MSUB): Likewise.
	(VEC_MULH): Likewise.
	(VEC_NAND): Likewise.
	(VEC_NCIPHER_BE): Likewise.
	(VEC_NCIPHERLAST_BE): Likewise.
	(VEC_NEARBYINT): Likewise.
	(VEC_NMADD): Likewise.
	(VEC_ORC): Likewise.
	(VEC_PDEP): Likewise.
	(VEC_PERMX): Likewise.
	(VEC_PEXT): Likewise.
	(VEC_POPCNT): Likewise.
	(VEC_PARITY_LSBB): Likewise.
	(VEC_REPLACE_ELT): Likewise.
	(VEC_REPLACE_UN): Likewise.
	(VEC_REVB): Likewise.
	(VEC_RINT): Likewise.
	(VEC_RLMI): Likewise.
	(VEC_RLNM): Likewise.
	(VEC_SBOX_BE): Likewise.
	(VEC_SIGNEXTI): Likewise.
	(VEC_SIGNEXTLL): Likewise.
	(VEC_SIGNEXTQ): Likewise.
	(VEC_SLDB): Likewise.
	(VEC_SLV): Likewise.
	(VEC_SPLATI): Likewise.
	(VEC_SPLATID): Likewise.
	(VEC_SPLATI_INS): Likewise.
	(VEC_SQRT): Likewise.
	(VEC_SRDB): Likewise.
	(VEC_SRV): Likewise.
	(VEC_STRIL): Likewise.
	(VEC_STRIL_P): Likewise.
	(VEC_STRIR): Likewise.
	(VEC_STRIR_P): Likewise.
	(VEC_STXVL): Likewise.
	(VEC_TERNARYLOGIC): Likewise.
	(VEC_TEST_LSBB_ALL_ONES): Likewise.
	(VEC_TEST_LSBB_ALL_ZEROS): Likewise.
	(VEC_VEE): Likewise.
	(VEC_VES): Likewise.
	(VEC_VIE): Likewise.
	(VEC_VPRTYB): Likewise.
	(VEC_VSCEEQ): Likewise.
	(VEC_VSCEGT): Likewise.
	(VEC_VSCELT): Likewise.
	(VEC_VSCEUO): Likewise.
	(VEC_VSEE): Likewise.
	(VEC_VSES): Likewise.
	(VEC_VSIE): Likewise.
	(VEC_VSTDC): Likewise.
	(VEC_VSTDCN): Likewise.
	(VEC_VTDC): Likewise.
	(VEC_XL): Likewise.
	(VEC_XL_BE): Likewise.
	(VEC_XL_LEN_R): Likewise.
	(VEC_XL_SEXT): Likewise.
	(VEC_XL_ZEXT): Likewise.
	(VEC_XST): Likewise.
	(VEC_XST_BE): Likewise.
	(VEC_XST_LEN_R): Likewise.
	(VEC_XST_TRUNC): Likewise.
	(VEC_XXPERMDI): Likewise.
	(VEC_XXSLDWI): Likewise.
	(VEC_TSTSFI_EQ_DD): Likewise.
	(VEC_TSTSFI_EQ_TD): Likewise.
	(VEC_TSTSFI_GT_DD): Likewise.
	(VEC_TSTSFI_GT_TD): Likewise.
	(VEC_TSTSFI_LT_DD): Likewise.
	(VEC_TSTSFI_LT_TD): Likewise.
	(VEC_TSTSFI_OV_DD): Likewise.
	(VEC_TSTSFI_OV_TD): Likewise.
	(VEC_VADDCUQ): Likewise.
	(VEC_VADDECUQ): Likewise.
	(VEC_VADDEUQM): Likewise.
	(VEC_VADDUDM): Likewise.
	(VEC_VADDUQM): Likewise.
	(VEC_VBPERMQ): Likewise.
	(VEC_VCLZB): Likewise.
	(VEC_VCLZD): Likewise.
	(VEC_VCLZH): Likewise.
	(VEC_VCLZW): Likewise.
	(VEC_VCTZB): Likewise.
	(VEC_VCTZD): Likewise.
	(VEC_VCTZH): Likewise.
	(VEC_VCTZW): Likewise.
	(VEC_VEEDP): Likewise.
	(VEC_VEESP): Likewise.
	(VEC_VESDP): Likewise.
	(VEC_VESSP): Likewise.
	(VEC_VIEDP): Likewise.
	(VEC_VIESP): Likewise.
	(VEC_VPKSDSS): Likewise.
	(VEC_VPKSDUS): Likewise.
	(VEC_VPKUDUM): Likewise.
	(VEC_VPKUDUS): Likewise.
	(VEC_VPOPCNT): Likewise.
	(VEC_VPOPCNTB): Likewise.
	(VEC_VPOPCNTD): Likewise.
	(VEC_VPOPCNTH): Likewise.
	(VEC_VPOPCNTW): Likewise.
	(VEC_VPRTYBD): Likewise.
	(VEC_VPRTYBQ): Likewise.
	(VEC_VPRTYBW): Likewise.
	(VEC_VRLD): Likewise.
	(VEC_VSLD): Likewise.
	(VEC_VSRAD): Likewise.
	(VEC_VSRD): Likewise.
	(VEC_VSTDCDP): Likewise.
	(VEC_VSTDCNDP): Likewise.
	(VEC_VSTDCNQP): Likewise.
	(VEC_VSTDCNSP): Likewise.
	(VEC_VSTDCQP): Likewise.
	(VEC_VSTDCSP): Likewise.
	(VEC_VSUBECUQ): Likewise.
	(VEC_VSUBEUQM): Likewise.
	(VEC_VSUBUDM): Likewise.
	(VEC_VSUBUQM): Likewise.
	(VEC_VTDCDP): Likewise.
	(VEC_VTDCSP): Likewise.
	(VEC_VUPKHSW): Likewise.
	(VEC_VUPKLSW): Likewise.

2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR rtl-optimization/101260
	* regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
	copy_regno.

2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>

	PR middle-end/95115
	* fold-const.cc (const_binop): Do not fold NaN result from
	  non-NaN operands.

2022-02-01  Tom de Vries  <tdevries@suse.de>

	* tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
	-ftree-loop-distribute-patterns.
	(loop_distribution::execute): Don't call transform_reduction_loop for
	-fno-tree-loop-distribute-patterns.

2022-01-31  Andrew Pinski  <apinski@marvell.com>

	* fold-const.h (operand_compare::operand_equal_p):
	Fix comment about OEP_* flags.

2022-01-31  Jakub Jelinek  <jakub@redhat.com>

	PR target/104298
	* config/rs6000/aix.h (OPTION_GLIBC): Remove.
	* config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
	* config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
	if not already defined.

2022-01-31  Martin Sebor  <msebor@redhat.com>

	PR middle-end/104232
	* gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
	Handle PHIs.  Add a synonymous overload.
	(pass_waccess::check_pointer_uses): Call pointers_related_p.

2022-01-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/100499
	* fold-const.cc (multiple_of_p): Pass the correct type of
	the expression to the recursive invocation of multiple_of_p
	for conversions and use CASE_CONVERT.

2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/104189
	* config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.

2022-01-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/100499
	* tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
	on poly-ints instead of multiple_of_p.
	* tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
	(non_rewritable_mem_ref_base): Likewise.
	(non_rewritable_lvalue_p): Likewise.
	(execute_update_addresses_taken): Likewise.

2022-01-29  Jakub Jelinek  <jakub@redhat.com>
	    Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/104279
	PR tree-optimization/104280
	PR tree-optimization/104281
	* match.pd (1 / X -> X == 1 for unsigned X): Build eq with
	boolean_type_node and convert to type.  Formatting fixes.

2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>

	* config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.

2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>

	PR tree-optimization/103514
	* match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
	(a & b) == (a ^ b) -> !(a | b): New optimization.

2022-01-28  Marek Polacek  <polacek@redhat.com>

	* doc/invoke.texi: Update -Wbidi-chars documentation.

2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.

2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>

	PR tree-optimization/95424
	* match.pd: Simplify 1 / X where X is an integer.

2022-01-28  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104263
	* gimple-ssa-store-merging.cc (get_status_for_store_merging): For
	cfun->can_throw_non_call_exceptions && cfun->eh test whether
	last non-debug stmt in the bb is store_valid_for_store_merging_p
	rather than last stmt.

2022-01-28  Martin Liska  <mliska@suse.cz>

	* diagnostic.cc (diagnostic_action_after_output): Remove extra
	newline.

2022-01-28  Martin Liska  <mliska@suse.cz>

	* config/rs6000/host-darwin.cc (segv_crash_handler):
	Do not use leading capital letter.
	(segv_handler): Likewise.
	* ipa-sra.cc (verify_splitting_accesses): Likewise.
	* varasm.cc (get_section): Likewise.

2022-01-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104267
	* tree-vect-stmts.cc (vectorizable_call): Properly use the
	per-argument determined vector type for externals and
	invariants.

2022-01-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104263
	* tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
	Purge edges also when !cfun->has_nonlocal_label
	and !cfun->calls_setjmp.

2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>

	* config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
	attributes.

2022-01-28  Jakub Jelinek  <jakub@redhat.com>

	PR lto/104237
	* cfgrtl.cc (loc_equal): New function.
	(unique_locus_on_edge_between_p): Use it.

2022-01-28  Richard Biener  <rguenther@suse.de>

	* cfganal.h (mark_dfs_back_edges): Provide API with struct
	function argument.
	* cfganal.cc (mark_dfs_back_edges): Take a struct function
	to work on, add a wrapper passing cfun.
	* graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
	uses with fun which is already passed.
	(draw_cfg_edges): Likewise.
	(draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
	for fun != cfun.

2022-01-27  Patrick Palka  <ppalka@redhat.com>

	PR c++/99895
	* tree.cc (build_call_vec): Add const to second parameter.
	* tree.h (build_call_vec): Likewise.

2022-01-27  Martin Liska  <mliska@suse.cz>

	PR web/104254
	* diagnostic.cc (diagnostic_initialize):
	Initialize report_bug flag.
	(diagnostic_action_after_output):
	Explain that -freport-bug option can be used for pre-processed
	file creation.  Make the message shorter.
	(error_recursion): Rename Internal to internal.
	* diagnostic.h (struct diagnostic_context): New field.
	* opts.cc (common_handle_option): Init the field here.

2022-01-27  Kewen Lin  <linkw@linux.ibm.com>

	PR target/103702
	* config/rs6000/rs6000.cc
	(rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
	assertion with early return.

2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>

	PR middle-end/103642
	* gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
	for non-pointer or non-reference-to-pointer cases.

2022-01-27  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/104196
	* gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
	* gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
	return NULL and emit needed stmts before and after stmt.
	* tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
	pick as operand_entry that will hold the merged test the one feeding
	earliest condition, ensure that by swapping range->idx with some
	other range's idx if needed.  If seq is non-NULL, don't actually swap
	it but instead rewrite stmts with undefined overflow in between
	the two locations.
	(maybe_optimize_range_tests): Set ops[]->id to bb->index with the
	corresponding condition even if they have non-NULL ops[]->op.
	Formatting fix.

2022-01-26  Jakub Jelinek  <jakub@redhat.com>

	PR target/104239
	* config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
	asm.
	* config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
	before for loop instead of for init clause.
	* config/rs6000/bmi2intrin.h (_pext_u64): Likewise.

2022-01-26  Jakub Jelinek  <jakub@redhat.com>

	PR target/104239
	* config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
	_X86INTRIN_H_INCLUDED and adjust #error wording.
	* config/rs6000/bmi2intrin.h: Likewise.

2022-01-26  Jakub Jelinek  <jakub@redhat.com>

	PR debug/104194
	* dwarf2out.cc (long_double_as_float128): New function.
	(modified_type_die): For powerpc64le IEEE 754 quad long double
	and complex long double emit those as DW_TAG_typedef to
	_Float128 or complex _Float128 base type.

2022-01-26  Marek Polacek  <polacek@redhat.com>

	PR target/104213
	* gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
	warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.

2022-01-26  Martin Liska  <mliska@suse.cz>

	* ipa-modref-tree.cc (modref_access_node::update):
	Remove "--param param=foo" with "--param foo".
	(modref_access_node::insert): Likewise.
	(modref_access_node::insert_kill): Likewise.
	* ipa-modref-tree.h (struct modref_ref_node): Likewise.
	(struct modref_base_node): Likewise.
	(struct modref_tree): Likewise.

2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>

	PR target/94193
	* builtins.cc (expand_builtin_feclear_feraise_except): Add op0
	predicate check.

2022-01-25  Martin Sebor  <msebor@redhat.com>

	PR tree-optimization/104203
	* gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
	TV_WARN_ACCESS.
	* pointer-query.cc (access_ref::merge_ref): Change return type.
	Convert failure to a conservative success.
	(access_ref::get_ref): Adjust to the change above.  Short-circuit
	PHI evaluation after first failure turned into conservative success.
	* pointer-query.h (access_ref::merge_ref): Change return type.
	* timevar.def (TV_WARN_ACCESS): New timer variable.

2022-01-25  David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/aix.h (OPTION_GLIBC): Define as 0.

2022-01-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104214
	* tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
	stronger guarantees for relational pointer compares when
	rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
	BASE0 + STEP0 - STEP1 cmp BASE1.

2022-01-25  Jakub Jelinek  <jakub@redhat.com>

	PR target/104172
	* config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
	declare.
	* config/rs6000/rs6000.cc (rs6000_passes_ieee128,
	ieee128_mangling_gcc_8_1): Remove.
	(TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
	(rs6000_mangle_type): Return "u9__ieee128" instead of
	ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
	(rs6000_globalize_decl_name): Remove.
	* config/rs6000/rs6000-call.cc (init_cumulative_args,
	rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.

2022-01-24  Martin Sebor  <msebor@redhat.com>

	* pointer-query.cc (pointer_query::dump): Remove duplicate
	block.

2022-01-24  Marek Polacek  <polacek@redhat.com>

	PR preprocessor/104030
	* doc/invoke.texi: Update documentation for -Wbidi-chars.

2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>

	PR target/94193
	* builtins.cc (expand_builtin_fegetround): New function.
	(expand_builtin_feclear_feraise_except): New function.
	(expand_builtin): Add cases for BUILT_IN_FEGETROUND,
	BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
	* config/rs6000/rs6000.md (fegetroundsi): New pattern.
	(feclearexceptsi): New Pattern.
	(feraiseexceptsi): New Pattern.
	* doc/extend.texi: Add a new introductory paragraph about the
	new builtins.
	* doc/md.texi: (fegetround@var{m}): Document new optab.
	(feclearexcept@var{m}): Document new optab.
	(feraiseexcept@var{m}): Document new optab.
	* optabs.def (fegetround_optab): New optab.
	(feclearexcept_optab): New optab.
	(feraiseexcept_optab): New optab.

2022-01-24  Richard Biener  <rguenther@suse.de>
	    Jiufu Guo  <guojiufu@linux.ibm.com>

	PR tree-optimization/100740
	PR tree-optimization/101508
	PR tree-optimization/101972
	PR tree-optimization/102131
	* tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
	constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
	BASE0 + STEP0 - STEP1 cmp BASE1 transform.

2022-01-24  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/104158
	* opt-functions.awk (var_set): Handle EnumBitSet property.
	* optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
	specified.
	* opts.h (enum cl_enum_var_value): New type.
	* opts-common.cc (decode_cmdline_option): Use CLEV_* values.
	Handle CLEV_BITSET.
	(cmdline_handle_error): Handle CLEV_BITSET.
	* opts.cc (test_enum_sets): Also test EnumBitSet requirements.
	* doc/options.texi (EnumBitSet): Document.
	* common.opt (fsanitize-coverage=): Use EnumBitSet instead of
	EnumSet.
	(trace-pc, trace-cmp): Drop Set properties.

2022-01-24  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/104158
	* common.opt (flag_sanitize_coverage): Remove Variable entry.
	(fsanitize-coverage=): Remove RejectNegative property, add
	Var(flag_sanitize_coverage) and EnumSet properties.
	(trace-pc): Add Set(1) property.
	(trace-cmp): Add Set(2) property.
	* opts.cc (common_handle_option): Don't handle
	OPT_fsanitize_coverage_.

2022-01-24  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/104158
	* opt-functions.awk (var_set): Handle EnumSet property.
	* optc-gen.awk: Don't disallow RejectNegative if EnumSet is
	specified.
	* opt-read.awk: Handle Set property.
	* opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
	(struct cl_decoded_option): Mention enum in value description.
	Add mask member.
	(set_option): Add mask argument defaulted to 0.
	* opts.cc (test_enum_sets): New function.
	(opts_cc_tests): Call it.
	* opts-common.cc (enum_arg_to_value): Change return argument
	from bool to int, on success return index into the cl_enum_arg
	array, on failure -1.  Add len argument, if non-0, use strncmp
	instead of strcmp.
	(opt_enum_arg_to_value): Adjust caller.
	(decode_cmdline_option): Handle EnumSet represented as
	CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
	(decode_cmdline_options_to_array): CLear opt_array[0].mask.
	(handle_option): Pass decoded->mask to set_options last argument.
	(generate_option): Clear decoded->mask.
	(generate_option_input_file): Likewise.
	(cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
	(set_option): Add mask argument, use it for CLVC_ENUM.
	(control_warning_option): Adjust enum_arg_to_value caller.
	* doc/options.texi: Document Set and EnumSet properties.

2022-01-24  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/104170
	* config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
	using OPTION_*_P macros.
	* config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
	using OPTION_*_P macros.
	* config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
	using OPTION_*_P macros.
	* config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
	using OPTION_*_P macros.
	* config/fuchsia.h (OPTION_MUSL_P): Redefine.
	* config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
	* common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
	ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
	OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
	* common/config/i386/i386-common.cc (ix86_supports_split_stack): If
	OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
	otherwise assume if (true).

2022-01-24  Kito Cheng  <kito.cheng@sifive.com>

	* common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
	Skip zicsr and zifencei if I-ext is 2.0.

2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>

	* config.gcc: Modify default isa_spec version.

2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>

	PR tree-optimization/102087
	* tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
	Correct PLUS result type.

2022-01-24  H.J. Lu  <hjl.tools@gmail.com>

	PR target/104188
	* config/i386/predicates.md (bcst_mem_operand): Also check mode
	of memory broadcast.

2022-01-23  Andrew Pinski  <apinski@marvell.com>

	PR target/64821
	* config/aarch64/aarch64-builtins.cc
	(aarch64_general_gimple_fold_builtin): Handle
	__builtin_aarch64_sqrt* and simplify into SQRT internal
	function.

2022-01-22  Jakub Jelinek  <jakub@redhat.com>

	PR other/104176
	* opts-global.cc (handle_common_deferred_options): Quote
	--enable-plugin in diagnostics to avoid -Werror=format-diag.

2022-01-21  Michael Meissner  <meissner@the-meissners.org>

	PR target/104136
	* config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
	* config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
	* config/rs6000/rs6000.md (prefixed attribute): Delete section
	that sets the prefixed attribute for xxspltiw, xxspltidp, and
	xxsplti32dx instructions.
	(movsf_hardfloat): Explicitly set the prefixed attribute
	when xxspltiw and xxspltidp instructions are generated.
	(mov<mode>_hardfloat32): Likewise.
	(mov<mode>_hardfloat64): Likewise.
	* config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
	prefixed attribute for xxspltiw and xxspltidp instructions.
	(vsx_mov<mode>_32bit): Likewise.

2022-01-21  H.J. Lu  <hjl.tools@gmail.com>

	PR bootstrap/104170
	* common/config/i386/i386-common.cc (ix86_supports_split_stack):
	Return true only on glibc.
	* config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
	Revert commit c163647ffbc.
	* config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.

2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>

	* common/config/s390/s390-common.cc (s390_supports_split_stack):
	Only support split-stack on glibc targets.
	* config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
	* config/i386/gnu.h (defined): Ditto.

2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
	vector float and vector double.

2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>

	* config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
	Fix mention of ifunc in string.

2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>

	PR middle-end/104140
	* tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
	operands of the widening multiplication are either both signed or
	both unsigned, and abort the conversion if mismatched.
	* doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
	(MULT_HIGHPART_EXPR): Clarify that operands must have the same
	signedness.
	* tree.def (MULT_HIGHPART_EXPR): Document both operands must have
	integer types with the same precision and signedness.
	(WIDEN_MULT_EXPR): Document that operands must have integer types
	with the same precision, but possibly differing signedness.
	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
	riscv_current_subset_list returning a NULL pointer (empty list).

2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR target/103676
	* ira.h (struct target_ira): Add member
	x_ira_exclude_class_mode_regs.
	(ira_exclude_class_mode_regs): New macro.
	* lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
	move from here ...
	* lra-int.h: ... to here.
	(lra_create_new_reg_with_unique_value): Add arg
	exclude_start_hard_regs.
	(class lra_reg): Add member exclude_start_hard_regs.
	* lra-assigns.cc (find_hard_regno_for_1): Setup
	impossible_start_hard_regs from exclude_start_hard_regs.
	* lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
	it lra_create_new_reg[_with_unique_value].
	(match_reload): Ditto.
	(check_and_process_move): Pass NULL
	exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
	(goal_alt_exclude_start_hard_regs): New static variable.
	(process_addr_reg, simplify_operand_subreg): Pass NULL
	exclude_start_hard_regs to lra_create_new_reg_with_unique_value
	and get_reload_reg.
	(process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
	Use this_alternative_exclude_start_hard_regs additionally to find
	winning operand alternative.
	(base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
	exclude_start_hard_regs to lra_create_new_reg.
	(process_address_1, emit_inc): Ditto.
	(curr_insn_transform): Pass exclude_start_hard_regs value to
	lra_create_new_reg, get_reload_reg, match_reload.
	(inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
	to lra_create_new_reg.
	(process_invariant_for_inheritance): Ditto.
	* lra-remat.cc (update_scratch_ops): Ditto.
	* lra.cc (lra_create_new_reg_with_unique_value): Add arg
	exclude_start_hard_regs.  Setup the corresponding member of
	lra reg info.
	(lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
	to lra_create_new_reg_with_unique_value.
	(initialize_lra_reg_info_element): Initialize member
	exclude_start_hard_regs.
	(get_scratch_reg): Pass NULL to lra_create_new_reg.
	* ira.cc (setup_prohibited_class_mode_regs): Rename to
	setup_prohibited_and_exclude_class_mode_regs and calculate
	ira_exclude_class_mode_regs.

2022-01-21  Martin Liska  <mliska@suse.cz>

	* configure.ac: Detect ld_is_mold and use it for
	comdat_group=yes and gcc_cv_ld_hidden=yes.
	* configure: Regenerate.

2022-01-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/100089
	* tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
	of if-converted loops with unvectorized COND_EXPRs for
	all but the unlimited cost models.

2022-01-21  Ard Biesheuvel  <ardb@kernel.org>

	* config/arm/arm-opts.h (enum stack_protector_guard): New.
	* config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
	New.
	* config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
	(arm_option_override_internal): Handle and put in error checks.
	for stack protector guard options.
	(arm_option_reconfigure_globals): Likewise.
	(arm_stack_protect_tls_canary_mem): New.
	(arm_stack_protect_guard): New.
	* config/arm/arm.md (stack_protect_set): New.
	(stack_protect_set_tls): Likewise.
	(stack_protect_test): Likewise.
	(stack_protect_test_tls): Likewise.
	(reload_tp_hard): Likewise.
	* config/arm/arm.opt (-mstack-protector-guard): New
	(-mstack-protector-guard-offset): New.
	* doc/invoke.texi: Document new options.

2022-01-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104156
	* tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
	Collect and reset debug stmts with out-of-loop uses when
	hoisting guards.
	(find_loop_guard): Adjust.
	(empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
	(used_outside_loop_p): Push debug uses to a vector of
	debug stmts to reset.
	(hoist_guard): Adjust -fopt-info category.

2022-01-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104152
	* tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
	can_duplicate_and_interleave_p check.

2022-01-21  Jakub Jelinek  <jakub@redhat.com>

	* gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
	Avoid passing var to warning_at when the format string doesn't
	refer to it.

2022-01-21  Aldy Hernandez  <aldyh@redhat.com>

	PR tree-optimization/103721
	* gimple-range-path.cc
	(path_range_query::relations_may_be_invalidated): New.
	(path_range_query::compute_ranges_in_block): Reset relations if
	they may be invalidated.
	(path_range_query::maybe_register_phi_relation): Exit if relations
	may be invalidated on incoming edge.
	(path_range_query::compute_phi_relations): Pass incoming PHI edge
	to maybe_register_phi_relation.
	* gimple-range-path.h (relations_may_be_invalidated): New.
	(maybe_register_phi_relation): Pass edge instead of tree.
	* tree-ssa-threadbackward.cc (back_threader::back_threader):
	Mark DFS edges.
	* value-relation.cc (path_oracle::path_oracle): Call
	mark_dfs_back_edges.
	(path_oracle::register_relation): Add SSA names to m_registered
	bitmap.
	(path_oracle::reset_path): Clear m_registered bitmap.
	* value-relation.h (path_oracle::set_root_oracle): New.

2022-01-21  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/102478
	* optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
	force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
	would be needed.

2022-01-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/100786
	* gimple-fold.cc (get_symbol_constant_value): Only return
	values of compatible type to the symbol.

2022-01-20  Andrew MacLeod  <amacleod@redhat.com>

	* value-relation.cc (relation_oracle::valid_equivs): Query and add
	if valid members of a set.
	(equiv_oracle::register_equiv): Call valid_equivs rather than
	bitmap direct operations.
	(path_oracle::register_equiv): Ditto.
	* value-relation.h (relation_oracle::valid_equivs): New prototype.

2022-01-20  Richard Biener  <rguenther@suse.de>

	PR target/100784
	* config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
	LHS before folding __builtin_ia32_shufpd and friends.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/crypto.md (aes_op_protect): Allow moves from core
	registers and from memory.
	(aes_op_protect_misalign_load): New pattern.
	(aes_op_protect_neon_vld1v16qi): New pattern.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
	New pattern.
	(aarch32_crypto_aese_fused_protected): Likewise.
	(aarch32_crypto_aesd_fused_protected): Likewise.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
	to define_expand.  Add mitigation for the Cortex-A AES erratum
	when enabled.
	(*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
	on original crypto_<CRYPTO_AES:crypto_pattern> insn.
	(aes_op_protect): New pattern.
	* config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
	(ALL_QUIRKS): Add it.
	(cortex-a57, cortex-a72): Enable it.
	(cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
	* config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
	option.
	(mfix-cortex-a72-aes-1655431): New option alias.
	* config/arm/arm.cc (arm_option_override): Handle default settings
	for AES erratum switch.
	* doc/invoke.texi (Arm Options): Document new options.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
	<crypto_mode> rather than hard-coding the mode.
	(crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
	(crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
	(*aarch32_crypto_aese_fused): Likewise.
	(*aarch32_crypto_aesd_fused): Likewise.
	(crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
	(crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
	(crypto_sha1h_lb): Likewise.
	(crypto_vmullp64): Likewise.
	(crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
	(crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.

2022-01-20  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
	iterator to pattern name to disambiguate.
	(crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
	(crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
	(crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
	(crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
	(crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.

2022-01-20  Martin Liska  <mliska@suse.cz>

	PR bootstrap/104135
	* emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
	* rtl.cc: Partially disable -Wformat-diag for RTL checking
	error messages.

2022-01-20  Jakub Jelinek  <jakub@redhat.com>

	PR debug/103874
	* dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
	block_num > 0, index entry even if !have_multiple_function_sections.

2022-01-20  liuhongt  <hongtao.liu@intel.com>

	PR target/103771
	* tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
	integral mode mask pack by multi steps which takes
	vec_pack_sbool_trunc_optab as start when elements number is
	less than BITS_PER_UNITS.

2022-01-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104114
	* tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
	single element vector decomposition.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

	* ifcvt.cc (noce_convert_multiple_sets_1): New function.
	(noce_convert_multiple_sets): Call function a second time if we can
	improve the first try.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

	* ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
	reversed comparison.
	(try_emit_cmove_seq): New function to facilitate creating a cmov
	sequence.
	(noce_convert_multiple_sets): Create two sequences and use the less
	expensive one.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

	* rtl.h (struct rtx_comparison): New struct that holds an rtx
	comparison.
	* config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
	single parameters.
	(rs6000_emit_swsqrt): Likewise.
	* expmed.cc (expand_sdiv_pow2): Likewise.
	(emit_store_flag): Likewise.
	* expr.cc (expand_cond_expr_using_cmove): Likewise.
	(expand_expr_real_2): Likewise.
	* ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
	parameters.
	* optabs.cc (emit_conditional_move_1): New function.
	(expand_doubleword_shift_condmove): Use struct.
	(emit_conditional_move): Use struct and allow to call directly
	without going through preparation steps.
	* optabs.h (emit_conditional_move): Use struct.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

	* ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
	(noce_process_if_block): Use potential costs.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

	* ifcvt.cc (noce_convert_multiple_sets): Allow constants.
	(bb_ok_for_noce_convert_multiple_sets): Likewise.

2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>

	* ifcvt.cc (need_cmov_or_rewire): New function.
	(noce_convert_multiple_sets): Call it.

2022-01-19  David Malcolm  <dmalcolm@redhat.com>

	* attribs.cc (attribute_c_tests): Rename to...
	(attribs_cc_tests): ...this.
	* bitmap.cc (bitmap_c_tests): Rename to...
	(bitmap_cc_tests): ...this.
	* cgraph.cc (cgraph_c_finalize): Rename to...
	(cgraph_cc_finalize): ...this.
	(cgraph_c_tests): Rename to...
	(cgraph_cc_tests): ...this.
	* cgraph.h (cgraph_c_finalize): Rename to...
	(cgraph_cc_finalize): ...this.
	(cgraphunit_c_finalize): Rename to...
	(cgraphunit_cc_finalize): ...this.
	* cgraphunit.cc (cgraphunit_c_finalize): Rename to...
	(cgraphunit_cc_finalize): ...this.
	* convert.cc (convert_c_tests): Rename to...
	(convert_cc_tests): ...this.
	* dbgcnt.cc (dbgcnt_c_tests): Rename to...
	(dbgcnt_cc_tests): ...this.
	* diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
	(diagnostic_show_locus_cc_tests): ...this.
	* diagnostic.cc (diagnostic_c_tests): Rename to...
	(diagnostic_cc_tests): ...this.
	* dumpfile.cc (dumpfile_c_tests): Rename to...
	(dumpfile_cc_tests): ...this.
	* dwarf2out.cc (dwarf2out_c_finalize): Rename to...
	(dwarf2out_cc_finalize): ...this.
	* dwarf2out.h (dwarf2out_c_finalize): Rename to...
	(dwarf2out_cc_finalize): ...this.
	* edit-context.cc (edit_context_c_tests): Rename to...
	(edit_context_cc_tests): ...this.
	* et-forest.cc (et_forest_c_tests): Rename to...
	(et_forest_cc_tests): ...this.
	* fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
	(fibonacci_heap_cc_tests): ...this.
	* fold-const.cc (fold_const_c_tests): Rename to...
	(fold_const_cc_tests): ...this.
	* function-tests.cc (function_tests_c_tests): Rename to...
	(function_tests_cc_tests): ...this.
	* gcse.cc (gcse_c_finalize): Rename to...
	(gcse_cc_finalize): ...this.
	* gcse.h (gcse_c_finalize): Rename to...
	(gcse_cc_finalize): ...this.
	* ggc-tests.cc (ggc_tests_c_tests): Rename to...
	(ggc_tests_cc_tests): ...this.
	* gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
	(store_merging_cc_tests): ...this.
	* gimple.cc (gimple_c_tests): Rename to...
	(gimple_cc_tests): ...this.
	* hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
	(hash_map_tests_cc_tests): ...this.
	* hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
	(hash_set_tests_cc_tests): ...this.
	* input.cc (input_c_tests): Rename to...
	(input_cc_tests): ...this.
	* ipa-cp.cc (ipa_cp_c_finalize): Rename to...
	(ipa_cp_cc_finalize): ...this.
	* ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
	(ipa_fnsummary_cc_finalize): ...this.
	* ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
	(ipa_fnsummary_cc_finalize): ...this.
	* ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
	(ipa_modref_tree_cc_tests): ...this.
	* ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
	* ipa-modref.cc (ipa_modref_c_finalize): Rename to...
	(ipa_modref_cc_finalize): ...this.
	* ipa-modref.h (ipa_modref_c_finalize): Rename to...
	(ipa_modref_cc_finalize): ...this.
	* ipa-prop.h (ipa_cp_c_finalize): Rename to...
	(ipa_cp_cc_finalize): ...this.
	* ipa-reference.cc (ipa_reference_c_finalize): Rename to...
	(ipa_reference_cc_finalize): ...this.
	* ipa-reference.h (ipa_reference_c_finalize): Rename to...
	(ipa_reference_cc_finalize): ...this.
	* ira-costs.cc (ira_costs_c_finalize): Rename to...
	(ira_costs_cc_finalize): ...this.
	* ira.h (ira_costs_c_finalize): Rename to...
	(ira_costs_cc_finalize): ...this.
	* opt-suggestions.cc (opt_proposer_c_tests): Rename to...
	(opt_suggestions_cc_tests): ...this.
	* opts.cc (opts_c_tests): Rename to...
	(opts_cc_tests): ...this.
	* predict.cc (predict_c_tests): Rename to...
	(predict_cc_tests): ...this.
	* pretty-print.cc (pretty_print_c_tests): Rename to...
	(pretty_print_cc_tests): ...this.
	* read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
	(read_rtl_function_cc_tests): ...this.
	* rtl-tests.cc (rtl_tests_c_tests): Rename to...
	(rtl_tests_cc_tests): ...this.
	* sbitmap.cc (sbitmap_c_tests): Rename to...
	(sbitmap_cc_tests): ...this.
	* selftest-run-tests.cc (selftest::run_tests): Update calls for
	_c_ to _cc_ function renamings; fix names of attribs and
	opt-suggestions tests.
	* selftest.cc (selftest_c_tests): Rename to...
	(selftest_cc_tests): ...this.
	* selftest.h (attribute_c_tests): Rename to...
	(attribs_cc_tests): ...this.
	(bitmap_c_tests): Rename to...
	(bitmap_cc_tests): ...this.
	(cgraph_c_tests): Rename to...
	(cgraph_cc_tests): ...this.
	(convert_c_tests): Rename to...
	(convert_cc_tests): ...this.
	(diagnostic_c_tests): Rename to...
	(diagnostic_cc_tests): ...this.
	(diagnostic_show_locus_c_tests): Rename to...
	(diagnostic_show_locus_cc_tests): ...this.
	(dumpfile_c_tests): Rename to...
	(dumpfile_cc_tests): ...this.
	(edit_context_c_tests): Rename to...
	(edit_context_cc_tests): ...this.
	(et_forest_c_tests): Rename to...
	(et_forest_cc_tests): ...this.
	(fibonacci_heap_c_tests): Rename to...
	(fibonacci_heap_cc_tests): ...this.
	(fold_const_c_tests): Rename to...
	(fold_const_cc_tests): ...this.
	(function_tests_c_tests): Rename to...
	(function_tests_cc_tests): ...this.
	(ggc_tests_c_tests): Rename to...
	(ggc_tests_cc_tests): ...this.
	(gimple_c_tests): Rename to...
	(gimple_cc_tests): ...this.
	(hash_map_tests_c_tests): Rename to...
	(hash_map_tests_cc_tests): ...this.
	(hash_set_tests_c_tests): Rename to...
	(hash_set_tests_cc_tests): ...this.
	(input_c_tests): Rename to...
	(input_cc_tests): ...this.
	(opts_c_tests): Rename to...
	(opts_cc_tests): ...this.
	(predict_c_tests): Rename to...
	(predict_cc_tests): ...this.
	(pretty_print_c_tests): Rename to...
	(pretty_print_cc_tests): ...this.
	(read_rtl_function_c_tests): Rename to...
	(read_rtl_function_cc_tests): ...this.
	(rtl_tests_c_tests): Rename to...
	(rtl_tests_cc_tests): ...this.
	(sbitmap_c_tests): Rename to...
	(sbitmap_cc_tests): ...this.
	(selftest_c_tests): Rename to...
	(selftest_cc_tests): ...this.
	(simplify_rtx_c_tests): Rename to...
	(simplify_rtx_cc_tests): ...this.
	(spellcheck_c_tests): Rename to...
	(spellcheck_cc_tests): ...this.
	(spellcheck_tree_c_tests): Rename to...
	(spellcheck_tree_cc_tests): ...this.
	(sreal_c_tests): Rename to...
	(sreal_cc_tests): ...this.
	(store_merging_c_tests): Rename to...
	(store_merging_cc_tests): ...this.
	(tree_c_tests): Rename to...
	(tree_cc_tests): ...this.
	(tree_cfg_c_tests): Rename to...
	(tree_cfg_cc_tests): ...this.
	(typed_splay_tree_c_tests): Rename to...
	(typed_splay_tree_cc_tests): ...this.
	(vec_c_tests): Rename to...
	(vec_cc_tests): ...this.
	(vec_perm_indices_c_tests): Rename to...
	(vec_perm_indices_cc_tests): ..this.
	(opt_proposer_c_tests): Rename to...
	(opt_suggestions_cc_tests): ...this.
	(dbgcnt_c_tests): Rename to...
	(dbgcnt_cc_tests): ...this.
	(ipa_modref_tree_c_tests): Rename to...
	(ipa_modref_tree_cc_tests): ...this.
	* simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
	(simplify_rtx_cc_tests): ...this.
	* spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
	(spellcheck_tree_cc_tests): ...this.
	* spellcheck.cc (spellcheck_c_tests): Rename to...
	(spellcheck_cc_tests): ...this.
	* sreal.cc (sreal_c_tests): Rename to...
	(sreal_cc_tests): ...this.
	* toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
	function renamings.
	* tree-cfg.cc (tree_cfg_c_tests): Rename to...
	(tree_cfg_cc_tests): ...this.
	* tree.cc (tree_c_tests): Rename to...
	(tree_cc_tests): ...this.
	* typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
	(typed_splay_tree_cc_tests): ...this.
	* vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
	(vec_perm_indices_cc_tests): ...this.
	* vec.cc (vec_c_tests): Rename to...
	(vec_cc_tests): ...this.

2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR tree-optimization/103997
	* tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
	vectorization.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/102860
	* match.pd (x %[fl] y -> x % y): New simplification for
	unsigned integral types.
	* optabs-tree.cc (optab_for_tree_code): Return unknown_optab
	for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.

2022-01-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104112
	* tree-vect-loop.cc (vect_find_reusable_accumulator): Check
	for required intermediate vector types.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.

2022-01-19  Martin Liska  <mliska@suse.cz>

	* configure.ac: Remove -Wno-error=format-diag.
	* configure: Regenerate.

2022-01-19  Martin Liska  <mliska@suse.cz>

	* config/riscv/riscv.cc (riscv_handle_type_attribute):
	Update one -Wformat-diag string in warning message.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/104103
	* gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
	.ASAN_MARK calls.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR c++/89074
	* fold-const.cc (address_compare): Consider different STRING_CSTs
	with the same lengths that memcmp the same as equal, not different.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
	{%0}.

2022-01-19  Martin Liska  <mliska@suse.cz>
	    Thomas Schwinge  <thomas@codesourcery.com>

	* config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
	warning messages.

2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	PR target/104090
	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
	rs6000_cpu.

2022-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR target/104104
	* config/i386/sse.md
	(<avx512>_<complexopname>_<mode><maskc_name><round_name>,
	avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
	avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
	avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
	avx512dq_rangep<mode><mask_name><round_saeonly_name>,
	avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
	<avx512>_getmant<mode><mask_name><round_saeonly_name>,
	avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
	Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.

2022-01-19  Martin Sebor  <msebor@redhat.com>

	PR middle-end/104069
	* gimple-ssa-warn-access.cc (pointers_related_p): Return false for
	an unknown result as documented.

2022-01-18  Andrew Pinski  <apinski@marvell.com>

	* ipa-split.cc (visit_bb): Fix comment before the
	warning/error attribute checking code.

2022-01-18  David Faust  <david.faust@oracle.com>

	* config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
	for base strtab offset yet as it may change.
	(output_asm_btfext_core_reloc): Do so here instead.
	(output_btfext_core_sections): Likewise.

2022-01-18  David Faust  <david.faust@oracle.com>

	* config/bpf/coreout.cc (output_btfext_header): Account for
	4-byte record size in core_relo_len.
	(output_btfext_core_sections): Only write record size once.
	* config/bpf/coreout.h (btf_ext_section_header): Delete unused
	member.

2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>

	* common/config/riscv/riscv-common.cc
	(riscv_subset_list::parse_multiletter_ext): Move pointer
	arithmetic ahead of `free'.

2022-01-18  Jason Merrill  <jason@redhat.com>

	PR c++/104007
	* gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
	context.

2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>

	PR middle-end/103163
	* emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
	(init_emit_once): ...not here.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* collect2.cc (scan_libraries): Fix -Wformat-diag issues.
	* config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
	* config/arc/arc.md: Likewise.
	* config/avr/avr.cc (avr_section_type_flags): Likewise.
	* config/bfin/bfin.cc (bfin_option_override): Likewise.
	(bfin_handle_longcall_attribute): Likewise.
	* config/cris/cris.h (FUNCTION_PROFILER): Likewise.
	* config/frv/frv.cc (frv_expand_builtin): Likewise.
	* config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
	* config/iq2000/iq2000.cc (save_restore_insns): Likewise.
	(iq2000_print_operand_address): Likewise.
	(iq2000_print_operand): Likewise.
	* config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
	(m32c_pragma_address): Likewise.
	* config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
	* config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
	(mips_set_compression_mode): Likewise.
	* config/mmix/mmix.cc (mmix_function_profiler): Likewise.
	(mmix_print_operand): Likewise.
	(mmix_output_shiftvalue_op_from_str): Likewise.
	(mmix_output_shifted_value): Likewise.
	* config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
	* config/msp430/msp430.cc (msp430_option_override): Likewise.
	(msp430_attr): Likewise.
	(msp430_expand_delay_cycles): Likewise.
	(msp430_expand_builtin): Likewise.
	* config/rs6000/aix73.h: Likewise.
	* config/rs6000/rtems.h (INVALID_64BIT): Likewise.
	* config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
	(valid_psw_flag): Likewise.
	* config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
	* config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
	(xstormy16_expand_builtin_va_start): Likewise.
	(xstormy16_handle_below100_attribute): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
	warning.
	(vms_pragma_standard): Likewise.
	(vms_pragma_extern_prefix): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/xtensa/xtensa.cc (print_operand): Fix warnings.
	(print_operand_address): Likewise.
	(xtensa_multibss_section_type_flags): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
	wording of an error message.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
	warning.
	(ghs_pragma_section): Likewise.
	(ghs_pragma_interrupt): Likewise.
	(ghs_pragma_starttda): Likewise.
	(ghs_pragma_startsda): Likewise.
	(ghs_pragma_startzda): Likewise.
	(ghs_pragma_endtda): Likewise.
	(ghs_pragma_endsda): Likewise.
	(ghs_pragma_endzda): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
	Fix warnings.
	* config/nds32/nds32-intrinsic.md: Likewise.
	* config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
	* config/nds32/nds32.cc (nds32_print_operand): Likewise.
	(nds32_insert_attributes): Likewise.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
	keyword.
	* config/nvptx/nvptx.md: Remove trailing dot.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* common/config/riscv/riscv-common.cc (riscv_subset_list::add):
	Wrap keywords with quotes and remove trailing dots.
	(riscv_subset_list::parsing_subset_version): Likewise.
	(riscv_subset_list::parse_std_ext): Likewise.
	(riscv_subset_list::parse_multiletter_ext): Likewise.
	* config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.

2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
	argument suggested_unroll_factor.
	(vect_analyze_loop_costing): Likewise.
	(_loop_vec_info::_loop_vec_info): Initialize new member
	suggested_unroll_factor.
	(vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
	main loop use partial vectors.
	(vect_analyze_loop_2): Pass and use new argument
	suggested_unroll_factor.
	(vect_analyze_loop_1): Change to intialize local
	suggested_unroll_factor and use it.
	(vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
	* tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
	suggested_unroll_factor.
	(vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
	(vector_costs::suggested_unroll_factor): New getter function.
	(finish_cost): Set return argument suggested_unroll_factor.

2022-01-18  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/104038
	* doc/invoke.texi (relation-block-limit): New.
	* params.opt (relation-block-limit): New.
	* value-relation.cc (dom_oracle::register_relation): Check for NULL
	record before invoking transitive registery.
	(dom_oracle::set_one_relation): Check limit before creating record.
	(dom_oracle::register_transitives): Stop when no record created.
	* value-relation.h (relation_chain_head::m_num_relations): New.

2022-01-18  Richard Biener  <rguenther@suse.de>

	PR ipa/103989
	* ipa-inline.cc (inline_small_functions): Do not enqueue call
	edges originating in functions compiled with -Og.

2022-01-18  Richard Biener  <rguenther@suse.de>

	PR ipa/103989
	* passes.def (pass_all_optimizations_g): Remove pass_modref
	and pass_local_pure_const.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/s390/s390.cc: Fix -Wformat-diag warnings.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
	keyword in quotes.
	(s390_resolve_overloaded_builtin): Remove trailing dot.
	* config/s390/s390.cc (s390_const_operand_ok): Use - for range.
	(s390_expand_builtin): Remove trailing dot.
	(s390_emit_prologue): Likewise, use semicolon.
	(s390_option_override_internal): Update keyword.
	* varasm.cc (do_assemble_alias): Wrap keyword in quotes.

2022-01-18  Martin Liska  <mliska@suse.cz>

	* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
	keywords and use %qs instead of %<%s%>.

2022-01-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103987
	* tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
	query with a pointer check.

2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/104005
	* config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
	When using MEM_EXPR, require the base to be a decl.

2022-01-18  Richard Biener  <rguenther@suse.de>

	* cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
	avoid padding.
	* function.h (struct function): Likewise.

2022-01-18  Arnaud Charlet  <charlet@adacore.com>

	* doc/install.texi: Update prerequisites for GNAT

2022-01-18  Andrew Pinski  <apinski@marvell.com>

	PR tree-optimization/101941
	* ipa-split.cc (visit_bb): Disallow function calls where
	the function has either error or warning attribute.

2022-01-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/104064
	* tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
	DR_INIT fits in a signed HWI, represent the difference from the
	first DR in unsigned.

2022-01-17  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Rename .c names to .cc.
	* config.gcc: Likewise.
	* configure: Regenerate. Likewise.
	* configure.ac: Likewise.
	* gengtype.cc (set_gc_used): Likewise.
	(source_dot_c_frul): Likewise.
	(source_dot_cc_frul): Likewise.
	(struct file_rule_st): Likewise.
	(close_output_files): Likewise.
	* config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.

2022-01-17  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Rename .c names to .cc.
	* alias.h: Likewise.
	* asan.cc: Likewise.
	* auto-profile.h: Likewise.
	* basic-block.h (struct basic_block_d): Likewise.
	* btfout.cc: Likewise.
	* builtins.cc (expand_builtin_longjmp): Likewise.
	(validate_arg): Likewise.
	(access_ref::offset_bounded): Likewise.
	* caller-save.cc (reg_restore_code): Likewise.
	(setup_save_areas): Likewise.
	* calls.cc (initialize_argument_information): Likewise.
	(expand_call): Likewise.
	(emit_library_call_value_1): Likewise.
	* cfg-flags.def (RTL): Likewise.
	(SIBCALL): Likewise.
	(CAN_FALLTHRU): Likewise.
	* cfganal.cc (post_order_compute): Likewise.
	* cfgcleanup.cc (try_simplify_condjump): Likewise.
	(merge_blocks_move_predecessor_nojumps): Likewise.
	(merge_blocks_move_successor_nojumps): Likewise.
	(merge_blocks_move): Likewise.
	(old_insns_match_p): Likewise.
	(try_crossjump_bb): Likewise.
	* cfgexpand.cc (expand_gimple_stmt): Likewise.
	* cfghooks.cc (split_block_before_cond_jump): Likewise.
	(profile_record_check_consistency): Likewise.
	* cfghooks.h: Likewise.
	* cfgrtl.cc (pass_free_cfg::execute): Likewise.
	(rtl_can_merge_blocks): Likewise.
	(try_redirect_by_replacing_jump): Likewise.
	(make_pass_outof_cfg_layout_mode): Likewise.
	(cfg_layout_can_merge_blocks_p): Likewise.
	* cgraph.cc (release_function_body): Likewise.
	(cgraph_node::get_fun): Likewise.
	* cgraph.h (struct cgraph_node): Likewise.
	(asmname_hasher::equal): Likewise.
	(cgraph_inline_failed_type): Likewise.
	(thunk_adjust): Likewise.
	(dump_callgraph_transformation): Likewise.
	(record_references_in_initializer): Likewise.
	(ipa_discover_variable_flags): Likewise.
	* cgraphclones.cc (GTY): Likewise.
	* cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
	* collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
	* collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
	* collect2.cc (maybe_run_lto_and_relink): Likewise.
	* combine-stack-adj.cc: Likewise.
	* combine.cc (setup_incoming_promotions): Likewise.
	(combine_simplify_rtx): Likewise.
	(count_rtxs): Likewise.
	* common.opt: Likewise.
	* common/config/aarch64/aarch64-common.cc: Likewise.
	* common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
	* common/config/avr/avr-common.cc: Likewise.
	* common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
	* conditions.h: Likewise.
	* config.gcc: Likewise.
	* config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
	* config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
	(aarch64_get_extension_string_for_isa_flags): Likewise.
	* config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
	* config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
	(aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
	(aarch64_option_valid_attribute_p): Likewise.
	(aarch64_short_vector_p): Likewise.
	(aarch64_float_const_representable_p): Likewise.
	* config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
	(ASM_OUTPUT_POOL_EPILOGUE): Likewise.
	(GTY): Likewise.
	* config/aarch64/cortex-a57-fma-steering.cc: Likewise.
	* config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
	* config/aarch64/t-aarch64: Likewise.
	* config/aarch64/x-aarch64: Likewise.
	* config/aarch64/x-darwin: Likewise.
	* config/alpha/alpha-protos.h: Likewise.
	* config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
	* config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
	(enum reg_class): Likewise.
	* config/alpha/alpha.md: Likewise.
	* config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
	* config/alpha/x-alpha: Likewise.
	* config/arc/arc-protos.h (arc_eh_uses): Likewise.
	* config/arc/arc.cc (ARC_OPT): Likewise.
	(arc_ccfsm_advance): Likewise.
	(arc_arg_partial_bytes): Likewise.
	(conditionalize_nonjump): Likewise.
	* config/arc/arc.md: Likewise.
	* config/arc/builtins.def: Likewise.
	* config/arc/t-arc: Likewise.
	* config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
	(arm_pragma_target_parse): Likewise.
	* config/arm/arm-protos.h (save_restore_target_globals): Likewise.
	(arm_cpu_cpp_builtins): Likewise.
	* config/arm/arm.cc (vfp3_const_double_index): Likewise.
	(shift_op): Likewise.
	(thumb2_final_prescan_insn): Likewise.
	(arm_final_prescan_insn): Likewise.
	(arm_asm_output_labelref): Likewise.
	(arm_small_register_classes_for_mode_p): Likewise.
	* config/arm/arm.h: Likewise.
	* config/arm/arm.md: Likewise.
	* config/arm/driver-arm.cc: Likewise.
	* config/arm/symbian.h: Likewise.
	* config/arm/t-arm: Likewise.
	* config/arm/thumb1.md: Likewise.
	* config/arm/x-arm: Likewise.
	* config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
	* config/avr/avr-fixed.md: Likewise.
	* config/avr/avr-log.cc (avr_log_vadump): Likewise.
	* config/avr/avr-mcus.def: Likewise.
	* config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
	* config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
	* config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
	* config/avr/avr.cc (avr_option_override): Likewise.
	(avr_build_builtin_va_list): Likewise.
	(avr_mode_dependent_address_p): Likewise.
	(avr_function_arg_advance): Likewise.
	(avr_asm_output_aligned_decl_common): Likewise.
	* config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
	(SUPPORTS_INIT_PRIORITY): Likewise.
	* config/avr/avr.md: Likewise.
	* config/avr/builtins.def: Likewise.
	* config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
	* config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
	(main): Likewise.
	* config/avr/t-avr: Likewise.
	* config/bfin/bfin.cc (frame_related_constant_load): Likewise.
	* config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
	* config/bpf/bpf.h (enum reg_class): Likewise.
	* config/bpf/t-bpf: Likewise.
	* config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
	* config/cr16/cr16-protos.h: Likewise.
	* config/cris/cris.cc (cris_address_cost): Likewise.
	(cris_side_effect_mode_ok): Likewise.
	(cris_init_machine_status): Likewise.
	(cris_emit_movem_store): Likewise.
	* config/cris/cris.h (INDEX_REG_CLASS): Likewise.
	(enum reg_class): Likewise.
	(struct cum_args): Likewise.
	* config/cris/cris.opt: Likewise.
	* config/cris/sync.md: Likewise.
	* config/csky/csky.cc (csky_expand_prologue): Likewise.
	* config/darwin-c.cc: Likewise.
	* config/darwin-f.cc: Likewise.
	* config/darwin-sections.def (zobj_const_section): Likewise.
	* config/darwin.cc (output_objc_section_asm_op): Likewise.
	(fprintf): Likewise.
	* config/darwin.h (GTY): Likewise.
	* config/elfos.h: Likewise.
	* config/epiphany/epiphany-sched.md: Likewise.
	* config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
	* config/epiphany/epiphany.h (GTY): Likewise.
	(NO_FUNCTION_CSE): Likewise.
	* config/epiphany/mode-switch-use.cc: Likewise.
	* config/epiphany/predicates.md: Likewise.
	* config/epiphany/t-epiphany: Likewise.
	* config/fr30/fr30-protos.h: Likewise.
	* config/frv/frv-protos.h: Likewise.
	* config/frv/frv.cc (TLS_BIAS): Likewise.
	* config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
	* config/ft32/ft32-protos.h: Likewise.
	* config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
	* config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
	* config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
	* config/gcn/t-gcn-hsa: Likewise.
	* config/gcn/t-omp-device: Likewise.
	* config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
	(same_cmp_following_p): Likewise.
	* config/h8300/h8300.cc (F): Likewise.
	* config/h8300/h8300.h (struct cum_arg): Likewise.
	(BRANCH_COST): Likewise.
	* config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
	* config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
	* config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
	* config/i386/driver-i386.cc (detect_caches_intel): Likewise.
	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
	* config/i386/i386-c.cc (ix86_target_macros): Likewise.
	* config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
	* config/i386/i386-options.cc (ix86_set_func_type): Likewise.
	* config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
	(ix86_register_pragmas): Likewise.
	(ix86_d_has_stdcall_convention): Likewise.
	(i386_pe_seh_init_sections): Likewise.
	* config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
	(ix86_function_value_regno_p): Likewise.
	(ix86_compute_frame_layout): Likewise.
	(legitimize_pe_coff_symbol): Likewise.
	(output_pic_addr_const): Likewise.
	* config/i386/i386.h (defined): Likewise.
	(host_detect_local_cpu): Likewise.
	(CONSTANT_ADDRESS_P): Likewise.
	(DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
	(struct machine_frame_state): Likewise.
	* config/i386/i386.md: Likewise.
	* config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
	* config/i386/mmx.md: Likewise.
	* config/i386/sse.md: Likewise.
	* config/i386/t-cygming: Likewise.
	* config/i386/t-djgpp: Likewise.
	* config/i386/t-gnu-property: Likewise.
	* config/i386/t-i386: Likewise.
	* config/i386/t-intelmic: Likewise.
	* config/i386/t-omp-device: Likewise.
	* config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
	(i386_pe_adjust_class_at_definition): Likewise.
	* config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
	(i386_pe_mangle_decl_assembler_name): Likewise.
	(i386_pe_encode_section_info): Likewise.
	* config/i386/x-cygwin: Likewise.
	* config/i386/x-darwin: Likewise.
	* config/i386/x-i386: Likewise.
	* config/i386/x-mingw32: Likewise.
	* config/i386/x86-tune-sched-core.cc: Likewise.
	* config/i386/x86-tune.def: Likewise.
	* config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
	* config/ia64/freebsd.h: Likewise.
	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
	* config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
	* config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
	(ia64_secondary_reload_class): Likewise.
	(bundling): Likewise.
	* config/ia64/ia64.h: Likewise.
	* config/ia64/ia64.md: Likewise.
	* config/ia64/predicates.md: Likewise.
	* config/ia64/sysv4.h: Likewise.
	* config/ia64/t-ia64: Likewise.
	* config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
	* config/iq2000/iq2000.md: Likewise.
	* config/linux.h (TARGET_HAS_BIONIC): Likewise.
	(if): Likewise.
	* config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
	* config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
	* config/m32c/t-m32c: Likewise.
	* config/m32r/m32r-protos.h: Likewise.
	* config/m32r/m32r.cc (m32r_print_operand): Likewise.
	* config/m32r/m32r.h: Likewise.
	* config/m32r/m32r.md: Likewise.
	* config/m68k/m68k-isas.def: Likewise.
	* config/m68k/m68k-microarchs.def: Likewise.
	* config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
	(m68k_epilogue_uses): Likewise.
	* config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
	(m68k_sched_adjust_cost): Likewise.
	(m68k_sched_md_init): Likewise.
	* config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
	(enum m68k_function_kind): Likewise.
	* config/m68k/m68k.md: Likewise.
	* config/m68k/m68kemb.h: Likewise.
	* config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
	* config/mcore/mcore-protos.h: Likewise.
	* config/mcore/mcore.cc (mcore_expand_insv): Likewise.
	(mcore_expand_prolog): Likewise.
	* config/mcore/mcore.h (TARGET_MCORE): Likewise.
	* config/mcore/mcore.md: Likewise.
	* config/microblaze/microblaze-protos.h: Likewise.
	* config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
	(microblaze_function_prologue): Likewise.
	(microblaze_function_epilogue): Likewise.
	(microblaze_select_section): Likewise.
	(microblaze_asm_output_mi_thunk): Likewise.
	(microblaze_eh_return): Likewise.
	* config/microblaze/microblaze.h: Likewise.
	* config/microblaze/microblaze.md: Likewise.
	* config/microblaze/t-microblaze: Likewise.
	* config/mips/driver-native.cc: Likewise.
	* config/mips/loongson2ef.md: Likewise.
	* config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
	* config/mips/mips.cc (mips_rtx_costs): Likewise.
	(mips_output_filename): Likewise.
	(mips_output_function_prologue): Likewise.
	(mips_output_function_epilogue): Likewise.
	(mips_output_mi_thunk): Likewise.
	* config/mips/mips.h: Likewise.
	* config/mips/mips.md: Likewise.
	* config/mips/t-mips: Likewise.
	* config/mips/x-native: Likewise.
	* config/mmix/mmix-protos.h: Likewise.
	* config/mmix/mmix.cc (mmix_option_override): Likewise.
	(mmix_dbx_register_number): Likewise.
	(mmix_expand_prologue): Likewise.
	* config/mmix/mmix.h: Likewise.
	* config/mmix/mmix.md: Likewise.
	* config/mmix/predicates.md: Likewise.
	* config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
	(mn10300_legitimate_pic_operand_p): Likewise.
	* config/mn10300/mn10300.h (enum reg_class): Likewise.
	(NO_FUNCTION_CSE): Likewise.
	* config/moxie/moxie-protos.h: Likewise.
	* config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
	* config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
	* config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
	(msp430_incoming_return_addr_rtx): Likewise.
	* config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
	* config/msp430/t-msp430: Likewise.
	* config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
	(nds32_rtx_costs_size_prefer): Likewise.
	(nds32_init_rtx_costs): Likewise.
	* config/nds32/nds32-doubleword.md: Likewise.
	* config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
	(nds32_builtin_decl): Likewise.
	* config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
	(enum nds32_isr_nested_type): Likewise.
	(enum reg_class): Likewise.
	* config/nds32/predicates.md: Likewise.
	* config/nds32/t-nds32: Likewise.
	* config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
	* config/nvptx/nvptx-protos.h: Likewise.
	* config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
	* config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
	* config/nvptx/t-nvptx: Likewise.
	* config/nvptx/t-omp-device: Likewise.
	* config/pa/elf.h: Likewise.
	* config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
	* config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
	* config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
	* config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
	(pa_legitimize_reload_address): Likewise.
	(pa_can_use_return_insn): Likewise.
	* config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
	(som_output_text_section_asm_op): Likewise.
	* config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
	* config/pa/pa.md: Likewise.
	* config/pa/som.h: Likewise.
	* config/pa/t-pa: Likewise.
	* config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
	* config/pdp11/pdp11.h: Likewise.
	* config/pdp11/pdp11.md: Likewise.
	* config/pdp11/t-pdp11: Likewise.
	* config/pru/pru.md: Likewise.
	* config/pru/t-pru: Likewise.
	* config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
	(riscv_gpr_save_operation_p): Likewise.
	(riscv_d_register_target_info): Likewise.
	(riscv_init_builtins): Likewise.
	* config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
	* config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
	* config/riscv/t-riscv: Likewise.
	* config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
	* config/rl78/t-rl78: Likewise.
	* config/rs6000/aix.h: Likewise.
	* config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
	* config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
	* config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
	* config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
	* config/rs6000/driver-rs6000.cc: Likewise.
	* config/rs6000/freebsd.h: Likewise.
	* config/rs6000/freebsd64.h: Likewise.
	* config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
	* config/rs6000/rbtree.cc: Likewise.
	* config/rs6000/rbtree.h: Likewise.
	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
	* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
	(rs6000_expand_builtin): Likewise.
	(rs6000_init_builtins): Likewise.
	* config/rs6000/rs6000-cpus.def: Likewise.
	* config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
	* config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
	(quad_address_offset_p): Likewise.
	* config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
	(rs6000_emit_epilogue): Likewise.
	* config/rs6000/rs6000-overload.def: Likewise.
	* config/rs6000/rs6000-p8swap.cc: Likewise.
	* config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
	(rs6000_const_f32_to_i32): Likewise.
	* config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
	(rs6000_debug_legitimize_address): Likewise.
	(rs6000_mode_dependent_address): Likewise.
	(rs6000_adjust_priority): Likewise.
	(rs6000_c_mode_for_suffix): Likewise.
	* config/rs6000/rs6000.h (defined): Likewise.
	(LONG_DOUBLE_TYPE_SIZE): Likewise.
	* config/rs6000/rs6000.md: Likewise.
	* config/rs6000/sysv4.h: Likewise.
	* config/rs6000/t-linux: Likewise.
	* config/rs6000/t-linux64: Likewise.
	* config/rs6000/t-rs6000: Likewise.
	* config/rs6000/x-darwin: Likewise.
	* config/rs6000/x-darwin64: Likewise.
	* config/rs6000/x-rs6000: Likewise.
	* config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
	* config/rx/rx.cc (rx_expand_builtin): Likewise.
	* config/s390/constraints.md: Likewise.
	* config/s390/driver-native.cc: Likewise.
	* config/s390/htmxlintrin.h: Likewise.
	* config/s390/s390-builtins.def (B_DEF): Likewise.
	(OB_DEF_VAR): Likewise.
	* config/s390/s390-builtins.h: Likewise.
	* config/s390/s390-c.cc: Likewise.
	* config/s390/s390-opts.h: Likewise.
	* config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
	(s390_register_target_pragmas): Likewise.
	* config/s390/s390.cc (s390_init_builtins): Likewise.
	(s390_expand_plus_operand): Likewise.
	(s390_expand_atomic): Likewise.
	(s390_valid_target_attribute_inner_p): Likewise.
	* config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
	* config/s390/s390.md: Likewise.
	* config/s390/t-s390: Likewise.
	* config/s390/vx-builtins.md: Likewise.
	* config/s390/x-native: Likewise.
	* config/sh/divtab-sh4-300.cc (main): Likewise.
	* config/sh/divtab-sh4.cc (main): Likewise.
	* config/sh/divtab.cc (main): Likewise.
	* config/sh/elf.h: Likewise.
	* config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
	* config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
	(sh_struct_value_rtx): Likewise.
	(sh_remove_reg_dead_or_unused_notes): Likewise.
	* config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
	* config/sh/t-sh: Likewise.
	* config/sol2-protos.h (solaris_override_options): Likewise.
	* config/sol2.h: Likewise.
	* config/sparc/driver-sparc.cc: Likewise.
	* config/sparc/freebsd.h: Likewise.
	* config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
	* config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
	(sparc_asan_shadow_offset): Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/sparc/sparc.md: Likewise.
	* config/sparc/t-sparc: Likewise.
	* config/sparc/x-sparc: Likewise.
	* config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
	* config/t-darwin: Likewise.
	* config/t-dragonfly: Likewise.
	* config/t-freebsd: Likewise.
	* config/t-glibc: Likewise.
	* config/t-linux: Likewise.
	* config/t-netbsd: Likewise.
	* config/t-openbsd: Likewise.
	* config/t-pnt16-warn: Likewise.
	* config/t-sol2: Likewise.
	* config/t-vxworks: Likewise.
	* config/t-winnt: Likewise.
	* config/tilegx/t-tilegx: Likewise.
	* config/tilegx/tilegx-c.cc: Likewise.
	* config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
	* config/tilegx/tilegx.md: Likewise.
	* config/tilepro/t-tilepro: Likewise.
	* config/tilepro/tilepro-c.cc: Likewise.
	* config/v850/t-v850: Likewise.
	* config/v850/v850-protos.h: Likewise.
	* config/v850/v850.cc (F): Likewise.
	* config/v850/v850.h (enum reg_class): Likewise.
	(SLOW_BYTE_ACCESS): Likewise.
	* config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
	* config/vax/vax.h (enum reg_class): Likewise.
	* config/vax/vax.md: Likewise.
	* config/visium/visium.cc (visium_legitimate_address_p): Likewise.
	* config/visium/visium.h: Likewise.
	* config/vms/t-vms: Likewise.
	* config/vms/vms-crtlmap.map: Likewise.
	* config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
	* config/vx-common.h: Likewise.
	* config/x-darwin: Likewise.
	* config/x-hpux: Likewise.
	* config/x-linux: Likewise.
	* config/x-netbsd: Likewise.
	* config/x-openbsd: Likewise.
	* config/x-solaris: Likewise.
	* config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
	* config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
	* config/xtensa/xtensa.h: Likewise.
	* configure.ac: Likewise.
	* context.cc: Likewise.
	* convert.h: Likewise.
	* coretypes.h: Likewise.
	* coverage.cc: Likewise.
	* coverage.h: Likewise.
	* cppdefault.h (struct default_include): Likewise.
	* cprop.cc (local_cprop_pass): Likewise.
	(one_cprop_pass): Likewise.
	* cse.cc (hash_rtx_cb): Likewise.
	(fold_rtx): Likewise.
	* ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
	* data-streamer.h (bp_unpack_var_len_int): Likewise.
	(streamer_write_widest_int): Likewise.
	* dbgcnt.def: Likewise.
	* dbxout.cc (dbxout_early_global_decl): Likewise.
	(dbxout_common_check): Likewise.
	* dbxout.h: Likewise.
	* debug.h (struct gcc_debug_hooks): Likewise.
	(dump_go_spec_init): Likewise.
	* df-core.cc: Likewise.
	* df-scan.cc (df_insn_info_delete): Likewise.
	(df_insn_delete): Likewise.
	* df.h (debug_df_chain): Likewise.
	(can_move_insns_across): Likewise.
	* dfp.cc (decimal_from_binary): Likewise.
	* diagnostic-color.cc: Likewise.
	* diagnostic-event-id.h: Likewise.
	* diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
	* diagnostic.cc (bt_callback): Likewise.
	(num_digits): Likewise.
	* doc/avr-mmcu.texi: Likewise.
	* doc/cfg.texi: Likewise.
	* doc/contrib.texi: Likewise.
	* doc/cppinternals.texi: Likewise.
	* doc/extend.texi: Likewise.
	* doc/generic.texi: Likewise.
	* doc/gimple.texi: Likewise.
	* doc/gty.texi: Likewise.
	* doc/invoke.texi: Likewise.
	* doc/loop.texi: Likewise.
	* doc/lto.texi: Likewise.
	* doc/match-and-simplify.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/optinfo.texi: Likewise.
	* doc/options.texi: Likewise.
	* doc/passes.texi: Likewise.
	* doc/plugins.texi: Likewise.
	* doc/rtl.texi: Likewise.
	* doc/sourcebuild.texi: Likewise.
	* doc/tm.texi: Likewise.
	* doc/tm.texi.in: Likewise.
	* doc/tree-ssa.texi: Likewise.
	* dojump.cc (do_jump): Likewise.
	* dojump.h: Likewise.
	* dumpfile.cc (test_impl_location): Likewise.
	(test_capture_of_dump_calls): Likewise.
	* dumpfile.h (enum dump_kind): Likewise.
	(class dump_location_t): Likewise.
	(dump_enabled_p): Likewise.
	(enable_rtl_dump_file): Likewise.
	(dump_combine_total_stats): Likewise.
	* dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
	* dwarf2ctf.h (ctf_debug_finish): Likewise.
	* dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
	(struct loc_descr_context): Likewise.
	(rtl_for_decl_location): Likewise.
	(gen_subprogram_die): Likewise.
	(gen_label_die): Likewise.
	(is_trivial_indirect_ref): Likewise.
	(dwarf2out_late_global_decl): Likewise.
	(dwarf_file_hasher::hash): Likewise.
	(dwarf2out_end_source_file): Likewise.
	(dwarf2out_define): Likewise.
	(dwarf2out_early_finish): Likewise.
	* dwarf2out.h (struct dw_fde_node): Likewise.
	(struct dw_discr_list_node): Likewise.
	(output_loc_sequence_raw): Likewise.
	* emit-rtl.cc (gen_raw_REG): Likewise.
	(maybe_set_max_label_num): Likewise.
	* emit-rtl.h (struct rtl_data): Likewise.
	* errors.cc (internal_error): Likewise.
	(trim_filename): Likewise.
	* et-forest.cc: Likewise.
	* except.cc (init_eh_for_function): Likewise.
	* explow.cc (promote_ssa_mode): Likewise.
	(get_dynamic_stack_size): Likewise.
	* explow.h: Likewise.
	* expmed.h: Likewise.
	* expr.cc (safe_from_p): Likewise.
	(expand_expr_real_2): Likewise.
	(expand_expr_real_1): Likewise.
	* file-prefix-map.cc (remap_filename): Likewise.
	* final.cc (app_enable): Likewise.
	(make_pass_compute_alignments): Likewise.
	(final_scan_insn_1): Likewise.
	(final_scan_insn): Likewise.
	* fixed-value.h (fixed_from_string): Likewise.
	* flag-types.h (NO_DEBUG): Likewise.
	(DWARF2_DEBUG): Likewise.
	(VMS_DEBUG): Likewise.
	(BTF_DEBUG): Likewise.
	(enum ctf_debug_info_levels): Likewise.
	* fold-const.cc (const_binop): Likewise.
	(fold_binary_loc): Likewise.
	(fold_checksum_tree): Likewise.
	* fp-test.cc: Likewise.
	* function.cc (expand_function_end): Likewise.
	* function.h (struct function): Likewise.
	* fwprop.cc (should_replace_address): Likewise.
	* gcc-main.cc: Likewise.
	* gcc-rich-location.h (class gcc_rich_location): Likewise.
	* gcc-symtab.h: Likewise.
	* gcc.cc (MIN_FATAL_STATUS): Likewise.
	(driver_handle_option): Likewise.
	(quote_spec_arg): Likewise.
	(driver::finalize): Likewise.
	* gcc.h (set_input): Likewise.
	* gcov-dump.cc: Likewise.
	* gcov.cc (solve_flow_graph): Likewise.
	* gcse-common.cc: Likewise.
	* gcse.cc (make_pass_rtl_hoist): Likewise.
	* genattr-common.cc: Likewise.
	* genattrtab.cc (min_fn): Likewise.
	(write_const_num_delay_slots): Likewise.
	* genautomata.cc: Likewise.
	* genconditions.cc (write_one_condition): Likewise.
	* genconstants.cc: Likewise.
	* genemit.cc (gen_exp): Likewise.
	* generic-match-head.cc: Likewise.
	* genextract.cc: Likewise.
	* gengenrtl.cc (always_void_p): Likewise.
	* gengtype-parse.cc (gtymarker_opt): Likewise.
	* gengtype-state.cc (state_writer::state_writer): Likewise.
	(write_state_trailer): Likewise.
	(equals_type_number): Likewise.
	(read_state): Likewise.
	* gengtype.cc (open_base_files): Likewise.
	(struct file_rule_st): Likewise.
	(header_dot_h_frul): Likewise.
	* gengtype.h: Likewise.
	* genmatch.cc (main): Likewise.
	* genmddeps.cc: Likewise.
	* genmodes.cc (emit_mode_inner): Likewise.
	(emit_mode_unit_size): Likewise.
	* genpeep.cc (gen_peephole): Likewise.
	* genpreds.cc (write_tm_preds_h): Likewise.
	* genrecog.cc (validate_pattern): Likewise.
	(write_header): Likewise.
	(main): Likewise.
	* gensupport.cc (change_subst_attribute): Likewise.
	(traverse_c_tests): Likewise.
	(add_predicate): Likewise.
	(init_predicate_table): Likewise.
	* gensupport.h (struct optab_pattern): Likewise.
	(get_num_insn_codes): Likewise.
	(maybe_eval_c_test): Likewise.
	(struct pred_data): Likewise.
	* ggc-internal.h: Likewise.
	* gimple-fold.cc (maybe_fold_reference): Likewise.
	(get_range_strlen_tree): Likewise.
	* gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
	* gimple-low.cc: Likewise.
	* gimple-match-head.cc (directly_supported_p): Likewise.
	* gimple-pretty-print.h: Likewise.
	* gimple-ssa-sprintf.cc (format_percent): Likewise.
	(adjust_range_for_overflow): Likewise.
	* gimple-streamer.h: Likewise.
	* gimple.h (struct GTY): Likewise.
	(is_gimple_resx): Likewise.
	* gimplify.cc (gimplify_expr): Likewise.
	(gimplify_init_constructor): Likewise.
	(omp_construct_selector_matches): Likewise.
	(gimplify_omp_target_update): Likewise.
	(gimplify_omp_ordered): Likewise.
	(gimplify_va_arg_expr): Likewise.
	* graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
	* haifa-sched.cc (increase_insn_priority): Likewise.
	(try_ready): Likewise.
	(sched_create_recovery_edges): Likewise.
	* ifcvt.cc (find_if_case_1): Likewise.
	(find_if_case_2): Likewise.
	* inchash.h: Likewise.
	* incpath.cc (add_env_var_paths): Likewise.
	* input.cc (dump_location_info): Likewise.
	(assert_loceq): Likewise.
	(test_lexer_string_locations_concatenation_1): Likewise.
	(test_lexer_string_locations_concatenation_2): Likewise.
	(test_lexer_string_locations_concatenation_3): Likewise.
	* input.h (BUILTINS_LOCATION): Likewise.
	(class string_concat_db): Likewise.
	* internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
	(expand_LOOP_VECTORIZED): Likewise.
	* ipa-cp.cc (make_pass_ipa_cp): Likewise.
	* ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
	(ipa_fn_summary_t::duplicate): Likewise.
	(make_pass_ipa_fn_summary): Likewise.
	* ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
	* ipa-free-lang-data.cc (fld_simplified_type): Likewise.
	(free_lang_data_in_decl): Likewise.
	* ipa-inline.cc (compute_inlined_call_time): Likewise.
	(inline_always_inline_functions): Likewise.
	* ipa-inline.h (free_growth_caches): Likewise.
	(inline_account_function_p): Likewise.
	* ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
	(modref_eaf_analysis::analyze_ssa_name): Likewise.
	* ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
	(ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
	* ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
	* ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
	(unadjusted_ptr_and_unit_offset): Likewise.
	* ipa-reference.cc (make_pass_ipa_reference): Likewise.
	* ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
	* ipa-split.cc (consider_split): Likewise.
	* ipa-sra.cc (isra_read_node_info): Likewise.
	* ipa-utils.h (struct ipa_dfs_info): Likewise.
	(recursive_call_p): Likewise.
	(ipa_make_function_pure): Likewise.
	* ira-build.cc (ira_create_allocno): Likewise.
	(ira_flattening): Likewise.
	* ira-color.cc (do_coloring): Likewise.
	(update_curr_costs): Likewise.
	* ira-conflicts.cc (process_regs_for_copy): Likewise.
	* ira-int.h (struct ira_emit_data): Likewise.
	(ira_prohibited_mode_move_regs): Likewise.
	(ira_get_dup_out_num): Likewise.
	(ira_destroy): Likewise.
	(ira_tune_allocno_costs): Likewise.
	(ira_implicitly_set_insn_hard_regs): Likewise.
	(ira_build_conflicts): Likewise.
	(ira_color): Likewise.
	* ira-lives.cc (process_bb_node_lives): Likewise.
	* ira.cc (class ira_spilled_reg_stack_slot): Likewise.
	(setup_uniform_class_p): Likewise.
	(def_dominates_uses): Likewise.
	* ira.h (ira_nullify_asm_goto): Likewise.
	* langhooks.cc (lhd_post_options): Likewise.
	* langhooks.h (class substring_loc): Likewise.
	(struct lang_hooks_for_tree_inlining): Likewise.
	(struct lang_hooks_for_types): Likewise.
	(struct lang_hooks): Likewise.
	* libfuncs.h (synchronize_libfunc): Likewise.
	* loop-doloop.cc (doloop_condition_get): Likewise.
	* loop-init.cc (fix_loop_structure): Likewise.
	* loop-invariant.cc: Likewise.
	* lower-subreg.h: Likewise.
	* lra-constraints.cc (curr_insn_transform): Likewise.
	* lra-int.h (struct lra_insn_reg): Likewise.
	(lra_undo_inheritance): Likewise.
	(lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
	(lra_split_hard_reg_for): Likewise.
	(lra_coalesce): Likewise.
	(lra_final_code_change): Likewise.
	* lra-spills.cc (lra_final_code_change): Likewise.
	* lra.cc (lra_process_new_insns): Likewise.
	* lto-compress.h (struct lto_compression_stream): Likewise.
	* lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
	(write_symbol): Likewise.
	* lto-streamer.h (enum LTO_tags): Likewise.
	(lto_value_range_error): Likewise.
	(lto_append_block): Likewise.
	(lto_streamer_hooks_init): Likewise.
	(stream_read_tree_ref): Likewise.
	(lto_prepare_function_for_streaming): Likewise.
	(select_what_to_stream): Likewise.
	(omp_lto_input_declare_variant_alt): Likewise.
	(cl_optimization_stream_in): Likewise.
	* lto-wrapper.cc (append_compiler_options): Likewise.
	* machmode.def: Likewise.
	* machmode.h (struct int_n_data_t): Likewise.
	* main.cc (main): Likewise.
	* match.pd: Likewise.
	* omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
	(BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
	* omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
	(make_pass_expand_omp_ssa): Likewise.
	* omp-low.cc (struct omp_context): Likewise.
	(struct omp_taskcopy_context): Likewise.
	(lower_omp): Likewise.
	* omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
	(mask_name): Likewise.
	(omp_sese_dump_pars): Likewise.
	(worker_single_simple): Likewise.
	* omp-offload.cc (omp_finish_file): Likewise.
	(execute_oacc_loop_designation): Likewise.
	* optabs-query.cc (lshift_cheap_p): Likewise.
	* optc-gen.awk: Likewise.
	* optc-save-gen.awk: Likewise.
	* optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
	* opts-common.cc: Likewise.
	* output.h (app_enable): Likewise.
	(output_operand_lossage): Likewise.
	(insn_current_reference_address): Likewise.
	(get_insn_template): Likewise.
	(output_quoted_string): Likewise.
	* pass_manager.h (struct register_pass_info): Likewise.
	* plugin.cc: Likewise.
	* plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
	* plugin.h (invoke_plugin_callbacks): Likewise.
	* pointer-query.cc (handle_mem_ref): Likewise.
	* postreload-gcse.cc (alloc_mem): Likewise.
	* predict.h (enum prediction): Likewise.
	(add_reg_br_prob_note): Likewise.
	* prefix.h: Likewise.
	* profile.h (get_working_sets): Likewise.
	* read-md.cc: Likewise.
	* read-md.h (struct mapping): Likewise.
	(class md_reader): Likewise.
	(class noop_reader): Likewise.
	* read-rtl-function.cc (function_reader::create_function): Likewise.
	(function_reader::extra_parsing_for_operand_code_0): Likewise.
	* read-rtl.cc (initialize_iterators): Likewise.
	* real.cc: Likewise.
	* real.h (struct real_value): Likewise.
	(format_helper::format_helper): Likewise.
	(real_hash): Likewise.
	(real_can_shorten_arithmetic): Likewise.
	* recog.cc (struct target_recog): Likewise.
	(offsettable_nonstrict_memref_p): Likewise.
	(constrain_operands): Likewise.
	* recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
	(which_op_alt): Likewise.
	(struct insn_gen_fn): Likewise.
	* reg-notes.def (REG_NOTE): Likewise.
	* reg-stack.cc: Likewise.
	* regs.h (reg_is_parm_p): Likewise.
	* regset.h: Likewise.
	* reload.cc (push_reload): Likewise.
	(find_reloads): Likewise.
	(find_reloads_address_1): Likewise.
	(find_replacement): Likewise.
	(refers_to_regno_for_reload_p): Likewise.
	(refers_to_mem_for_reload_p): Likewise.
	* reload.h (push_reload): Likewise.
	(deallocate_reload_reg): Likewise.
	* reload1.cc (emit_input_reload_insns): Likewise.
	* reorg.cc (relax_delay_slots): Likewise.
	* rtl.def (UNKNOWN): Likewise.
	(SEQUENCE): Likewise.
	(BARRIER): Likewise.
	(ASM_OPERANDS): Likewise.
	(EQ_ATTR_ALT): Likewise.
	* rtl.h (struct GTY): Likewise.
	(LABEL_NAME): Likewise.
	(LABEL_ALT_ENTRY_P): Likewise.
	(SUBREG_BYTE): Likewise.
	(get_stack_check_protect): Likewise.
	(dump_rtx_statistics): Likewise.
	(unwrap_const_vec_duplicate): Likewise.
	(subreg_promoted_mode): Likewise.
	(gen_lowpart_common): Likewise.
	(operand_subword): Likewise.
	(immed_wide_int_const): Likewise.
	(decide_function_section): Likewise.
	(active_insn_p): Likewise.
	(delete_related_insns): Likewise.
	(try_split): Likewise.
	(val_signbit_known_clear_p): Likewise.
	(simplifiable_subregs): Likewise.
	(set_insn_deleted): Likewise.
	(subreg_get_info): Likewise.
	(remove_free_EXPR_LIST_node): Likewise.
	(finish_subregs_of_mode): Likewise.
	(get_mem_attrs): Likewise.
	(lookup_constant_def): Likewise.
	(rtx_to_tree_code): Likewise.
	(hash_rtx): Likewise.
	(condjump_in_parallel_p): Likewise.
	(validate_subreg): Likewise.
	(make_compound_operation): Likewise.
	(schedule_ebbs): Likewise.
	(print_inline_rtx): Likewise.
	(fixup_args_size_notes): Likewise.
	(expand_dec): Likewise.
	(prepare_copy_insn): Likewise.
	(mark_elimination): Likewise.
	(valid_mode_changes_for_regno): Likewise.
	(make_debug_expr_from_rtl): Likewise.
	(delete_vta_debug_insns): Likewise.
	(simplify_using_condition): Likewise.
	(set_insn_locations): Likewise.
	(fatal_insn_not_found): Likewise.
	(word_register_operation_p): Likewise.
	* rtlanal.cc (get_call_fndecl): Likewise.
	(side_effects_p): Likewise.
	(subreg_nregs): Likewise.
	(rtx_cost): Likewise.
	(canonicalize_condition): Likewise.
	* rtlanal.h (rtx_properties::try_to_add_note): Likewise.
	* run-rtl-passes.cc (run_rtl_passes): Likewise.
	* sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
	* sched-deps.cc (add_dependence_1): Likewise.
	* sched-ebb.cc (begin_move_insn): Likewise.
	(add_deps_for_risky_insns): Likewise.
	(advance_target_bb): Likewise.
	* sched-int.h (reemit_notes): Likewise.
	(struct _haifa_insn_data): Likewise.
	(HID): Likewise.
	(DEP_CANCELLED): Likewise.
	(debug_ds): Likewise.
	(number_in_ready): Likewise.
	(schedule_ebbs_finish): Likewise.
	(find_modifiable_mems): Likewise.
	* sched-rgn.cc (debug_rgn_dependencies): Likewise.
	* sel-sched-dump.cc (dump_lv_set): Likewise.
	* sel-sched-dump.h: Likewise.
	* sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
	(setup_id_reg_sets): Likewise.
	(has_dependence_p): Likewise.
	(sel_num_cfg_preds_gt_1): Likewise.
	(bb_ends_ebb_p): Likewise.
	* sel-sched-ir.h (struct _list_node): Likewise.
	(struct idata_def): Likewise.
	(bb_next_bb): Likewise.
	* sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
	(choose_best_pseudo_reg): Likewise.
	(verify_target_availability): Likewise.
	(can_speculate_dep_p): Likewise.
	(sel_rank_for_schedule): Likewise.
	* selftest-run-tests.cc (selftest::run_tests): Likewise.
	* selftest.h (class auto_fix_quotes): Likewise.
	* shrink-wrap.cc (handle_simple_exit): Likewise.
	* shrink-wrap.h: Likewise.
	* simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
	(simplify_context::simplify_gen_vec_select): Likewise.
	* spellcheck-tree.h: Likewise.
	* spellcheck.h: Likewise.
	* statistics.h (struct function): Likewise.
	* stmt.cc (conditional_probability): Likewise.
	* stmt.h: Likewise.
	* stor-layout.h: Likewise.
	* streamer-hooks.h: Likewise.
	* stringpool.h: Likewise.
	* symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
	* target.def (HOOK_VECTOR_END): Likewise.
	(type.): Likewise.
	* target.h (union cumulative_args_t): Likewise.
	(by_pieces_ninsns): Likewise.
	(class predefined_function_abi): Likewise.
	* targhooks.cc (default_translate_mode_attribute): Likewise.
	* timevar.def: Likewise.
	* timevar.h (class timer): Likewise.
	* toplev.h (enable_rtl_dump_file): Likewise.
	* trans-mem.cc (collect_bb2reg): Likewise.
	* tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
	* tree-cfg.cc (remove_bb): Likewise.
	(verify_gimple_debug): Likewise.
	(remove_edge_and_dominated_blocks): Likewise.
	(push_fndecl): Likewise.
	* tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
	* tree-complex.cc (expand_complex_multiplication): Likewise.
	(expand_complex_div_straight): Likewise.
	* tree-core.h (enum tree_index): Likewise.
	(enum operand_equal_flag): Likewise.
	* tree-eh.cc (honor_protect_cleanup_actions): Likewise.
	* tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
	* tree-inline.cc (initialize_inlined_parameters): Likewise.
	* tree-inline.h (force_value_to_type): Likewise.
	* tree-nested.cc (get_chain_decl): Likewise.
	(walk_all_functions): Likewise.
	* tree-object-size.h: Likewise.
	* tree-outof-ssa.cc: Likewise.
	* tree-parloops.cc (create_parallel_loop): Likewise.
	* tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
	(dump_generic_node): Likewise.
	* tree-profile.cc (tree_profiling): Likewise.
	* tree-sra.cc (maybe_add_sra_candidate): Likewise.
	* tree-ssa-address.cc: Likewise.
	* tree-ssa-alias.cc: Likewise.
	* tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
	(dump_alias_stats): Likewise.
	* tree-ssa-ccp.cc: Likewise.
	* tree-ssa-coalesce.h: Likewise.
	* tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
	* tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
	* tree-ssa-loop-unswitch.cc: Likewise.
	* tree-ssa-math-opts.cc: Likewise.
	* tree-ssa-operands.cc (class operands_scanner): Likewise.
	* tree-ssa-pre.cc: Likewise.
	* tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
	(debug_range_entry): Likewise.
	* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
	* tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
	* tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
	(equal_mem_array_ref_p): Likewise.
	* tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
	* tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
	* tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
	* tree-ssa-ter.h: Likewise.
	* tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
	* tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
	* tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
	(write_ts_block_tree_pointers): Likewise.
	* tree-streamer.h (struct streamer_tree_cache_d): Likewise.
	(streamer_read_tree_bitfields): Likewise.
	(streamer_write_integer_cst): Likewise.
	* tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
	(vect_synth_mult_by_constant): Likewise.
	* tree-vect-stmts.cc (vectorizable_operation): Likewise.
	* tree-vectorizer.cc: Likewise.
	* tree-vectorizer.h (class auto_purge_vect_location): Likewise.
	(vect_update_inits_of_drs): Likewise.
	(vect_get_mask_type_for_stmt): Likewise.
	(vect_rgroup_iv_might_wrap_p): Likewise.
	(cse_and_gimplify_to_preheader): Likewise.
	(vect_free_slp_tree): Likewise.
	(vect_pattern_recog): Likewise.
	(vect_stmt_dominates_stmt_p): Likewise.
	* tree.cc (initialize_tree_contains_struct): Likewise.
	(need_assembler_name_p): Likewise.
	(type_with_interoperable_signedness): Likewise.
	* tree.def (SWITCH_EXPR): Likewise.
	* tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
	(poly_int_tree_p): Likewise.
	(inlined_function_outer_scope_p): Likewise.
	(tree_code_for_canonical_type_merging): Likewise.
	* value-prof.cc: Likewise.
	* value-prof.h (get_nth_most_common_value): Likewise.
	(find_func_by_profile_id): Likewise.
	* value-range.cc (vrp_operand_equal_p): Likewise.
	* value-range.h: Likewise.
	* var-tracking.cc: Likewise.
	* varasm.cc (default_function_section): Likewise.
	(function_section_1): Likewise.
	(assemble_variable): Likewise.
	(handle_vtv_comdat_section): Likewise.
	* vec.h (struct vec_prefix): Likewise.
	* vmsdbgout.cc (full_name): Likewise.
	* vtable-verify.cc: Likewise.
	* vtable-verify.h (struct vtv_graph_node): Likewise.
	* xcoffout.cc: Likewise.
	* xcoffout.h (DEBUG_SYMS_TEXT): Likewise.

2022-01-17  Martin Liska  <mliska@suse.cz>

	* adjust-alignment.c: Moved to...
	* adjust-alignment.cc: ...here.
	* alias.c: Moved to...
	* alias.cc: ...here.
	* alloc-pool.c: Moved to...
	* alloc-pool.cc: ...here.
	* asan.c: Moved to...
	* asan.cc: ...here.
	* attribs.c: Moved to...
	* attribs.cc: ...here.
	* auto-inc-dec.c: Moved to...
	* auto-inc-dec.cc: ...here.
	* auto-profile.c: Moved to...
	* auto-profile.cc: ...here.
	* bb-reorder.c: Moved to...
	* bb-reorder.cc: ...here.
	* bitmap.c: Moved to...
	* bitmap.cc: ...here.
	* btfout.c: Moved to...
	* btfout.cc: ...here.
	* builtins.c: Moved to...
	* builtins.cc: ...here.
	* caller-save.c: Moved to...
	* caller-save.cc: ...here.
	* calls.c: Moved to...
	* calls.cc: ...here.
	* ccmp.c: Moved to...
	* ccmp.cc: ...here.
	* cfg.c: Moved to...
	* cfg.cc: ...here.
	* cfganal.c: Moved to...
	* cfganal.cc: ...here.
	* cfgbuild.c: Moved to...
	* cfgbuild.cc: ...here.
	* cfgcleanup.c: Moved to...
	* cfgcleanup.cc: ...here.
	* cfgexpand.c: Moved to...
	* cfgexpand.cc: ...here.
	* cfghooks.c: Moved to...
	* cfghooks.cc: ...here.
	* cfgloop.c: Moved to...
	* cfgloop.cc: ...here.
	* cfgloopanal.c: Moved to...
	* cfgloopanal.cc: ...here.
	* cfgloopmanip.c: Moved to...
	* cfgloopmanip.cc: ...here.
	* cfgrtl.c: Moved to...
	* cfgrtl.cc: ...here.
	* cgraph.c: Moved to...
	* cgraph.cc: ...here.
	* cgraphbuild.c: Moved to...
	* cgraphbuild.cc: ...here.
	* cgraphclones.c: Moved to...
	* cgraphclones.cc: ...here.
	* cgraphunit.c: Moved to...
	* cgraphunit.cc: ...here.
	* collect-utils.c: Moved to...
	* collect-utils.cc: ...here.
	* collect2-aix.c: Moved to...
	* collect2-aix.cc: ...here.
	* collect2.c: Moved to...
	* collect2.cc: ...here.
	* combine-stack-adj.c: Moved to...
	* combine-stack-adj.cc: ...here.
	* combine.c: Moved to...
	* combine.cc: ...here.
	* common/common-targhooks.c: Moved to...
	* common/common-targhooks.cc: ...here.
	* common/config/aarch64/aarch64-common.c: Moved to...
	* common/config/aarch64/aarch64-common.cc: ...here.
	* common/config/alpha/alpha-common.c: Moved to...
	* common/config/alpha/alpha-common.cc: ...here.
	* common/config/arc/arc-common.c: Moved to...
	* common/config/arc/arc-common.cc: ...here.
	* common/config/arm/arm-common.c: Moved to...
	* common/config/arm/arm-common.cc: ...here.
	* common/config/avr/avr-common.c: Moved to...
	* common/config/avr/avr-common.cc: ...here.
	* common/config/bfin/bfin-common.c: Moved to...
	* common/config/bfin/bfin-common.cc: ...here.
	* common/config/bpf/bpf-common.c: Moved to...
	* common/config/bpf/bpf-common.cc: ...here.
	* common/config/c6x/c6x-common.c: Moved to...
	* common/config/c6x/c6x-common.cc: ...here.
	* common/config/cr16/cr16-common.c: Moved to...
	* common/config/cr16/cr16-common.cc: ...here.
	* common/config/cris/cris-common.c: Moved to...
	* common/config/cris/cris-common.cc: ...here.
	* common/config/csky/csky-common.c: Moved to...
	* common/config/csky/csky-common.cc: ...here.
	* common/config/default-common.c: Moved to...
	* common/config/default-common.cc: ...here.
	* common/config/epiphany/epiphany-common.c: Moved to...
	* common/config/epiphany/epiphany-common.cc: ...here.
	* common/config/fr30/fr30-common.c: Moved to...
	* common/config/fr30/fr30-common.cc: ...here.
	* common/config/frv/frv-common.c: Moved to...
	* common/config/frv/frv-common.cc: ...here.
	* common/config/gcn/gcn-common.c: Moved to...
	* common/config/gcn/gcn-common.cc: ...here.
	* common/config/h8300/h8300-common.c: Moved to...
	* common/config/h8300/h8300-common.cc: ...here.
	* common/config/i386/i386-common.c: Moved to...
	* common/config/i386/i386-common.cc: ...here.
	* common/config/ia64/ia64-common.c: Moved to...
	* common/config/ia64/ia64-common.cc: ...here.
	* common/config/iq2000/iq2000-common.c: Moved to...
	* common/config/iq2000/iq2000-common.cc: ...here.
	* common/config/lm32/lm32-common.c: Moved to...
	* common/config/lm32/lm32-common.cc: ...here.
	* common/config/m32r/m32r-common.c: Moved to...
	* common/config/m32r/m32r-common.cc: ...here.
	* common/config/m68k/m68k-common.c: Moved to...
	* common/config/m68k/m68k-common.cc: ...here.
	* common/config/mcore/mcore-common.c: Moved to...
	* common/config/mcore/mcore-common.cc: ...here.
	* common/config/microblaze/microblaze-common.c: Moved to...
	* common/config/microblaze/microblaze-common.cc: ...here.
	* common/config/mips/mips-common.c: Moved to...
	* common/config/mips/mips-common.cc: ...here.
	* common/config/mmix/mmix-common.c: Moved to...
	* common/config/mmix/mmix-common.cc: ...here.
	* common/config/mn10300/mn10300-common.c: Moved to...
	* common/config/mn10300/mn10300-common.cc: ...here.
	* common/config/msp430/msp430-common.c: Moved to...
	* common/config/msp430/msp430-common.cc: ...here.
	* common/config/nds32/nds32-common.c: Moved to...
	* common/config/nds32/nds32-common.cc: ...here.
	* common/config/nios2/nios2-common.c: Moved to...
	* common/config/nios2/nios2-common.cc: ...here.
	* common/config/nvptx/nvptx-common.c: Moved to...
	* common/config/nvptx/nvptx-common.cc: ...here.
	* common/config/or1k/or1k-common.c: Moved to...
	* common/config/or1k/or1k-common.cc: ...here.
	* common/config/pa/pa-common.c: Moved to...
	* common/config/pa/pa-common.cc: ...here.
	* common/config/pdp11/pdp11-common.c: Moved to...
	* common/config/pdp11/pdp11-common.cc: ...here.
	* common/config/pru/pru-common.c: Moved to...
	* common/config/pru/pru-common.cc: ...here.
	* common/config/riscv/riscv-common.c: Moved to...
	* common/config/riscv/riscv-common.cc: ...here.
	* common/config/rs6000/rs6000-common.c: Moved to...
	* common/config/rs6000/rs6000-common.cc: ...here.
	* common/config/rx/rx-common.c: Moved to...
	* common/config/rx/rx-common.cc: ...here.
	* common/config/s390/s390-common.c: Moved to...
	* common/config/s390/s390-common.cc: ...here.
	* common/config/sh/sh-common.c: Moved to...
	* common/config/sh/sh-common.cc: ...here.
	* common/config/sparc/sparc-common.c: Moved to...
	* common/config/sparc/sparc-common.cc: ...here.
	* common/config/tilegx/tilegx-common.c: Moved to...
	* common/config/tilegx/tilegx-common.cc: ...here.
	* common/config/tilepro/tilepro-common.c: Moved to...
	* common/config/tilepro/tilepro-common.cc: ...here.
	* common/config/v850/v850-common.c: Moved to...
	* common/config/v850/v850-common.cc: ...here.
	* common/config/vax/vax-common.c: Moved to...
	* common/config/vax/vax-common.cc: ...here.
	* common/config/visium/visium-common.c: Moved to...
	* common/config/visium/visium-common.cc: ...here.
	* common/config/xstormy16/xstormy16-common.c: Moved to...
	* common/config/xstormy16/xstormy16-common.cc: ...here.
	* common/config/xtensa/xtensa-common.c: Moved to...
	* common/config/xtensa/xtensa-common.cc: ...here.
	* compare-elim.c: Moved to...
	* compare-elim.cc: ...here.
	* config/aarch64/aarch64-bti-insert.c: Moved to...
	* config/aarch64/aarch64-bti-insert.cc: ...here.
	* config/aarch64/aarch64-builtins.c: Moved to...
	* config/aarch64/aarch64-builtins.cc: ...here.
	* config/aarch64/aarch64-c.c: Moved to...
	* config/aarch64/aarch64-c.cc: ...here.
	* config/aarch64/aarch64-d.c: Moved to...
	* config/aarch64/aarch64-d.cc: ...here.
	* config/aarch64/aarch64.c: Moved to...
	* config/aarch64/aarch64.cc: ...here.
	* config/aarch64/cortex-a57-fma-steering.c: Moved to...
	* config/aarch64/cortex-a57-fma-steering.cc: ...here.
	* config/aarch64/driver-aarch64.c: Moved to...
	* config/aarch64/driver-aarch64.cc: ...here.
	* config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
	* config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
	* config/aarch64/host-aarch64-darwin.c: Moved to...
	* config/aarch64/host-aarch64-darwin.cc: ...here.
	* config/alpha/alpha.c: Moved to...
	* config/alpha/alpha.cc: ...here.
	* config/alpha/driver-alpha.c: Moved to...
	* config/alpha/driver-alpha.cc: ...here.
	* config/arc/arc-c.c: Moved to...
	* config/arc/arc-c.cc: ...here.
	* config/arc/arc.c: Moved to...
	* config/arc/arc.cc: ...here.
	* config/arc/driver-arc.c: Moved to...
	* config/arc/driver-arc.cc: ...here.
	* config/arm/aarch-common.c: Moved to...
	* config/arm/aarch-common.cc: ...here.
	* config/arm/arm-builtins.c: Moved to...
	* config/arm/arm-builtins.cc: ...here.
	* config/arm/arm-c.c: Moved to...
	* config/arm/arm-c.cc: ...here.
	* config/arm/arm-d.c: Moved to...
	* config/arm/arm-d.cc: ...here.
	* config/arm/arm.c: Moved to...
	* config/arm/arm.cc: ...here.
	* config/arm/driver-arm.c: Moved to...
	* config/arm/driver-arm.cc: ...here.
	* config/avr/avr-c.c: Moved to...
	* config/avr/avr-c.cc: ...here.
	* config/avr/avr-devices.c: Moved to...
	* config/avr/avr-devices.cc: ...here.
	* config/avr/avr-log.c: Moved to...
	* config/avr/avr-log.cc: ...here.
	* config/avr/avr.c: Moved to...
	* config/avr/avr.cc: ...here.
	* config/avr/driver-avr.c: Moved to...
	* config/avr/driver-avr.cc: ...here.
	* config/avr/gen-avr-mmcu-specs.c: Moved to...
	* config/avr/gen-avr-mmcu-specs.cc: ...here.
	* config/avr/gen-avr-mmcu-texi.c: Moved to...
	* config/avr/gen-avr-mmcu-texi.cc: ...here.
	* config/bfin/bfin.c: Moved to...
	* config/bfin/bfin.cc: ...here.
	* config/bpf/bpf.c: Moved to...
	* config/bpf/bpf.cc: ...here.
	* config/bpf/coreout.c: Moved to...
	* config/bpf/coreout.cc: ...here.
	* config/c6x/c6x.c: Moved to...
	* config/c6x/c6x.cc: ...here.
	* config/cr16/cr16.c: Moved to...
	* config/cr16/cr16.cc: ...here.
	* config/cris/cris.c: Moved to...
	* config/cris/cris.cc: ...here.
	* config/csky/csky.c: Moved to...
	* config/csky/csky.cc: ...here.
	* config/darwin-c.c: Moved to...
	* config/darwin-c.cc: ...here.
	* config/darwin-d.c: Moved to...
	* config/darwin-d.cc: ...here.
	* config/darwin-driver.c: Moved to...
	* config/darwin-driver.cc: ...here.
	* config/darwin-f.c: Moved to...
	* config/darwin-f.cc: ...here.
	* config/darwin.c: Moved to...
	* config/darwin.cc: ...here.
	* config/default-c.c: Moved to...
	* config/default-c.cc: ...here.
	* config/default-d.c: Moved to...
	* config/default-d.cc: ...here.
	* config/dragonfly-d.c: Moved to...
	* config/dragonfly-d.cc: ...here.
	* config/epiphany/epiphany.c: Moved to...
	* config/epiphany/epiphany.cc: ...here.
	* config/epiphany/mode-switch-use.c: Moved to...
	* config/epiphany/mode-switch-use.cc: ...here.
	* config/epiphany/resolve-sw-modes.c: Moved to...
	* config/epiphany/resolve-sw-modes.cc: ...here.
	* config/fr30/fr30.c: Moved to...
	* config/fr30/fr30.cc: ...here.
	* config/freebsd-d.c: Moved to...
	* config/freebsd-d.cc: ...here.
	* config/frv/frv.c: Moved to...
	* config/frv/frv.cc: ...here.
	* config/ft32/ft32.c: Moved to...
	* config/ft32/ft32.cc: ...here.
	* config/gcn/driver-gcn.c: Moved to...
	* config/gcn/driver-gcn.cc: ...here.
	* config/gcn/gcn-run.c: Moved to...
	* config/gcn/gcn-run.cc: ...here.
	* config/gcn/gcn-tree.c: Moved to...
	* config/gcn/gcn-tree.cc: ...here.
	* config/gcn/gcn.c: Moved to...
	* config/gcn/gcn.cc: ...here.
	* config/gcn/mkoffload.c: Moved to...
	* config/gcn/mkoffload.cc: ...here.
	* config/glibc-c.c: Moved to...
	* config/glibc-c.cc: ...here.
	* config/glibc-d.c: Moved to...
	* config/glibc-d.cc: ...here.
	* config/h8300/h8300.c: Moved to...
	* config/h8300/h8300.cc: ...here.
	* config/host-darwin.c: Moved to...
	* config/host-darwin.cc: ...here.
	* config/host-hpux.c: Moved to...
	* config/host-hpux.cc: ...here.
	* config/host-linux.c: Moved to...
	* config/host-linux.cc: ...here.
	* config/host-netbsd.c: Moved to...
	* config/host-netbsd.cc: ...here.
	* config/host-openbsd.c: Moved to...
	* config/host-openbsd.cc: ...here.
	* config/host-solaris.c: Moved to...
	* config/host-solaris.cc: ...here.
	* config/i386/djgpp.c: Moved to...
	* config/i386/djgpp.cc: ...here.
	* config/i386/driver-i386.c: Moved to...
	* config/i386/driver-i386.cc: ...here.
	* config/i386/driver-mingw32.c: Moved to...
	* config/i386/driver-mingw32.cc: ...here.
	* config/i386/gnu-property.c: Moved to...
	* config/i386/gnu-property.cc: ...here.
	* config/i386/host-cygwin.c: Moved to...
	* config/i386/host-cygwin.cc: ...here.
	* config/i386/host-i386-darwin.c: Moved to...
	* config/i386/host-i386-darwin.cc: ...here.
	* config/i386/host-mingw32.c: Moved to...
	* config/i386/host-mingw32.cc: ...here.
	* config/i386/i386-builtins.c: Moved to...
	* config/i386/i386-builtins.cc: ...here.
	* config/i386/i386-c.c: Moved to...
	* config/i386/i386-c.cc: ...here.
	* config/i386/i386-d.c: Moved to...
	* config/i386/i386-d.cc: ...here.
	* config/i386/i386-expand.c: Moved to...
	* config/i386/i386-expand.cc: ...here.
	* config/i386/i386-features.c: Moved to...
	* config/i386/i386-features.cc: ...here.
	* config/i386/i386-options.c: Moved to...
	* config/i386/i386-options.cc: ...here.
	* config/i386/i386.c: Moved to...
	* config/i386/i386.cc: ...here.
	* config/i386/intelmic-mkoffload.c: Moved to...
	* config/i386/intelmic-mkoffload.cc: ...here.
	* config/i386/msformat-c.c: Moved to...
	* config/i386/msformat-c.cc: ...here.
	* config/i386/winnt-cxx.c: Moved to...
	* config/i386/winnt-cxx.cc: ...here.
	* config/i386/winnt-d.c: Moved to...
	* config/i386/winnt-d.cc: ...here.
	* config/i386/winnt-stubs.c: Moved to...
	* config/i386/winnt-stubs.cc: ...here.
	* config/i386/winnt.c: Moved to...
	* config/i386/winnt.cc: ...here.
	* config/i386/x86-tune-sched-atom.c: Moved to...
	* config/i386/x86-tune-sched-atom.cc: ...here.
	* config/i386/x86-tune-sched-bd.c: Moved to...
	* config/i386/x86-tune-sched-bd.cc: ...here.
	* config/i386/x86-tune-sched-core.c: Moved to...
	* config/i386/x86-tune-sched-core.cc: ...here.
	* config/i386/x86-tune-sched.c: Moved to...
	* config/i386/x86-tune-sched.cc: ...here.
	* config/ia64/ia64-c.c: Moved to...
	* config/ia64/ia64-c.cc: ...here.
	* config/ia64/ia64.c: Moved to...
	* config/ia64/ia64.cc: ...here.
	* config/iq2000/iq2000.c: Moved to...
	* config/iq2000/iq2000.cc: ...here.
	* config/linux.c: Moved to...
	* config/linux.cc: ...here.
	* config/lm32/lm32.c: Moved to...
	* config/lm32/lm32.cc: ...here.
	* config/m32c/m32c-pragma.c: Moved to...
	* config/m32c/m32c-pragma.cc: ...here.
	* config/m32c/m32c.c: Moved to...
	* config/m32c/m32c.cc: ...here.
	* config/m32r/m32r.c: Moved to...
	* config/m32r/m32r.cc: ...here.
	* config/m68k/m68k.c: Moved to...
	* config/m68k/m68k.cc: ...here.
	* config/mcore/mcore.c: Moved to...
	* config/mcore/mcore.cc: ...here.
	* config/microblaze/microblaze-c.c: Moved to...
	* config/microblaze/microblaze-c.cc: ...here.
	* config/microblaze/microblaze.c: Moved to...
	* config/microblaze/microblaze.cc: ...here.
	* config/mips/driver-native.c: Moved to...
	* config/mips/driver-native.cc: ...here.
	* config/mips/frame-header-opt.c: Moved to...
	* config/mips/frame-header-opt.cc: ...here.
	* config/mips/mips-d.c: Moved to...
	* config/mips/mips-d.cc: ...here.
	* config/mips/mips.c: Moved to...
	* config/mips/mips.cc: ...here.
	* config/mmix/mmix.c: Moved to...
	* config/mmix/mmix.cc: ...here.
	* config/mn10300/mn10300.c: Moved to...
	* config/mn10300/mn10300.cc: ...here.
	* config/moxie/moxie.c: Moved to...
	* config/moxie/moxie.cc: ...here.
	* config/msp430/driver-msp430.c: Moved to...
	* config/msp430/driver-msp430.cc: ...here.
	* config/msp430/msp430-c.c: Moved to...
	* config/msp430/msp430-c.cc: ...here.
	* config/msp430/msp430-devices.c: Moved to...
	* config/msp430/msp430-devices.cc: ...here.
	* config/msp430/msp430.c: Moved to...
	* config/msp430/msp430.cc: ...here.
	* config/nds32/nds32-cost.c: Moved to...
	* config/nds32/nds32-cost.cc: ...here.
	* config/nds32/nds32-fp-as-gp.c: Moved to...
	* config/nds32/nds32-fp-as-gp.cc: ...here.
	* config/nds32/nds32-intrinsic.c: Moved to...
	* config/nds32/nds32-intrinsic.cc: ...here.
	* config/nds32/nds32-isr.c: Moved to...
	* config/nds32/nds32-isr.cc: ...here.
	* config/nds32/nds32-md-auxiliary.c: Moved to...
	* config/nds32/nds32-md-auxiliary.cc: ...here.
	* config/nds32/nds32-memory-manipulation.c: Moved to...
	* config/nds32/nds32-memory-manipulation.cc: ...here.
	* config/nds32/nds32-pipelines-auxiliary.c: Moved to...
	* config/nds32/nds32-pipelines-auxiliary.cc: ...here.
	* config/nds32/nds32-predicates.c: Moved to...
	* config/nds32/nds32-predicates.cc: ...here.
	* config/nds32/nds32-relax-opt.c: Moved to...
	* config/nds32/nds32-relax-opt.cc: ...here.
	* config/nds32/nds32-utils.c: Moved to...
	* config/nds32/nds32-utils.cc: ...here.
	* config/nds32/nds32.c: Moved to...
	* config/nds32/nds32.cc: ...here.
	* config/netbsd-d.c: Moved to...
	* config/netbsd-d.cc: ...here.
	* config/netbsd.c: Moved to...
	* config/netbsd.cc: ...here.
	* config/nios2/nios2.c: Moved to...
	* config/nios2/nios2.cc: ...here.
	* config/nvptx/mkoffload.c: Moved to...
	* config/nvptx/mkoffload.cc: ...here.
	* config/nvptx/nvptx-c.c: Moved to...
	* config/nvptx/nvptx-c.cc: ...here.
	* config/nvptx/nvptx.c: Moved to...
	* config/nvptx/nvptx.cc: ...here.
	* config/openbsd-d.c: Moved to...
	* config/openbsd-d.cc: ...here.
	* config/or1k/or1k.c: Moved to...
	* config/or1k/or1k.cc: ...here.
	* config/pa/pa-d.c: Moved to...
	* config/pa/pa-d.cc: ...here.
	* config/pa/pa.c: Moved to...
	* config/pa/pa.cc: ...here.
	* config/pdp11/pdp11.c: Moved to...
	* config/pdp11/pdp11.cc: ...here.
	* config/pru/pru-passes.c: Moved to...
	* config/pru/pru-passes.cc: ...here.
	* config/pru/pru-pragma.c: Moved to...
	* config/pru/pru-pragma.cc: ...here.
	* config/pru/pru.c: Moved to...
	* config/pru/pru.cc: ...here.
	* config/riscv/riscv-builtins.c: Moved to...
	* config/riscv/riscv-builtins.cc: ...here.
	* config/riscv/riscv-c.c: Moved to...
	* config/riscv/riscv-c.cc: ...here.
	* config/riscv/riscv-d.c: Moved to...
	* config/riscv/riscv-d.cc: ...here.
	* config/riscv/riscv-shorten-memrefs.c: Moved to...
	* config/riscv/riscv-shorten-memrefs.cc: ...here.
	* config/riscv/riscv-sr.c: Moved to...
	* config/riscv/riscv-sr.cc: ...here.
	* config/riscv/riscv.c: Moved to...
	* config/riscv/riscv.cc: ...here.
	* config/rl78/rl78-c.c: Moved to...
	* config/rl78/rl78-c.cc: ...here.
	* config/rl78/rl78.c: Moved to...
	* config/rl78/rl78.cc: ...here.
	* config/rs6000/driver-rs6000.c: Moved to...
	* config/rs6000/driver-rs6000.cc: ...here.
	* config/rs6000/host-darwin.c: Moved to...
	* config/rs6000/host-darwin.cc: ...here.
	* config/rs6000/host-ppc64-darwin.c: Moved to...
	* config/rs6000/host-ppc64-darwin.cc: ...here.
	* config/rs6000/rbtree.c: Moved to...
	* config/rs6000/rbtree.cc: ...here.
	* config/rs6000/rs6000-c.c: Moved to...
	* config/rs6000/rs6000-c.cc: ...here.
	* config/rs6000/rs6000-call.c: Moved to...
	* config/rs6000/rs6000-call.cc: ...here.
	* config/rs6000/rs6000-d.c: Moved to...
	* config/rs6000/rs6000-d.cc: ...here.
	* config/rs6000/rs6000-gen-builtins.c: Moved to...
	* config/rs6000/rs6000-gen-builtins.cc: ...here.
	* config/rs6000/rs6000-linux.c: Moved to...
	* config/rs6000/rs6000-linux.cc: ...here.
	* config/rs6000/rs6000-logue.c: Moved to...
	* config/rs6000/rs6000-logue.cc: ...here.
	* config/rs6000/rs6000-p8swap.c: Moved to...
	* config/rs6000/rs6000-p8swap.cc: ...here.
	* config/rs6000/rs6000-pcrel-opt.c: Moved to...
	* config/rs6000/rs6000-pcrel-opt.cc: ...here.
	* config/rs6000/rs6000-string.c: Moved to...
	* config/rs6000/rs6000-string.cc: ...here.
	* config/rs6000/rs6000.c: Moved to...
	* config/rs6000/rs6000.cc: ...here.
	* config/rx/rx.c: Moved to...
	* config/rx/rx.cc: ...here.
	* config/s390/driver-native.c: Moved to...
	* config/s390/driver-native.cc: ...here.
	* config/s390/s390-c.c: Moved to...
	* config/s390/s390-c.cc: ...here.
	* config/s390/s390-d.c: Moved to...
	* config/s390/s390-d.cc: ...here.
	* config/s390/s390.c: Moved to...
	* config/s390/s390.cc: ...here.
	* config/sh/divtab-sh4-300.c: Moved to...
	* config/sh/divtab-sh4-300.cc: ...here.
	* config/sh/divtab-sh4.c: Moved to...
	* config/sh/divtab-sh4.cc: ...here.
	* config/sh/divtab.c: Moved to...
	* config/sh/divtab.cc: ...here.
	* config/sh/sh-c.c: Moved to...
	* config/sh/sh-c.cc: ...here.
	* config/sh/sh.c: Moved to...
	* config/sh/sh.cc: ...here.
	* config/sol2-c.c: Moved to...
	* config/sol2-c.cc: ...here.
	* config/sol2-cxx.c: Moved to...
	* config/sol2-cxx.cc: ...here.
	* config/sol2-d.c: Moved to...
	* config/sol2-d.cc: ...here.
	* config/sol2-stubs.c: Moved to...
	* config/sol2-stubs.cc: ...here.
	* config/sol2.c: Moved to...
	* config/sol2.cc: ...here.
	* config/sparc/driver-sparc.c: Moved to...
	* config/sparc/driver-sparc.cc: ...here.
	* config/sparc/sparc-c.c: Moved to...
	* config/sparc/sparc-c.cc: ...here.
	* config/sparc/sparc-d.c: Moved to...
	* config/sparc/sparc-d.cc: ...here.
	* config/sparc/sparc.c: Moved to...
	* config/sparc/sparc.cc: ...here.
	* config/stormy16/stormy16.c: Moved to...
	* config/stormy16/stormy16.cc: ...here.
	* config/tilegx/mul-tables.c: Moved to...
	* config/tilegx/mul-tables.cc: ...here.
	* config/tilegx/tilegx-c.c: Moved to...
	* config/tilegx/tilegx-c.cc: ...here.
	* config/tilegx/tilegx.c: Moved to...
	* config/tilegx/tilegx.cc: ...here.
	* config/tilepro/mul-tables.c: Moved to...
	* config/tilepro/mul-tables.cc: ...here.
	* config/tilepro/tilepro-c.c: Moved to...
	* config/tilepro/tilepro-c.cc: ...here.
	* config/tilepro/tilepro.c: Moved to...
	* config/tilepro/tilepro.cc: ...here.
	* config/v850/v850-c.c: Moved to...
	* config/v850/v850-c.cc: ...here.
	* config/v850/v850.c: Moved to...
	* config/v850/v850.cc: ...here.
	* config/vax/vax.c: Moved to...
	* config/vax/vax.cc: ...here.
	* config/visium/visium.c: Moved to...
	* config/visium/visium.cc: ...here.
	* config/vms/vms-c.c: Moved to...
	* config/vms/vms-c.cc: ...here.
	* config/vms/vms-f.c: Moved to...
	* config/vms/vms-f.cc: ...here.
	* config/vms/vms.c: Moved to...
	* config/vms/vms.cc: ...here.
	* config/vxworks-c.c: Moved to...
	* config/vxworks-c.cc: ...here.
	* config/vxworks.c: Moved to...
	* config/vxworks.cc: ...here.
	* config/winnt-c.c: Moved to...
	* config/winnt-c.cc: ...here.
	* config/xtensa/xtensa.c: Moved to...
	* config/xtensa/xtensa.cc: ...here.
	* context.c: Moved to...
	* context.cc: ...here.
	* convert.c: Moved to...
	* convert.cc: ...here.
	* coverage.c: Moved to...
	* coverage.cc: ...here.
	* cppbuiltin.c: Moved to...
	* cppbuiltin.cc: ...here.
	* cppdefault.c: Moved to...
	* cppdefault.cc: ...here.
	* cprop.c: Moved to...
	* cprop.cc: ...here.
	* cse.c: Moved to...
	* cse.cc: ...here.
	* cselib.c: Moved to...
	* cselib.cc: ...here.
	* ctfc.c: Moved to...
	* ctfc.cc: ...here.
	* ctfout.c: Moved to...
	* ctfout.cc: ...here.
	* data-streamer-in.c: Moved to...
	* data-streamer-in.cc: ...here.
	* data-streamer-out.c: Moved to...
	* data-streamer-out.cc: ...here.
	* data-streamer.c: Moved to...
	* data-streamer.cc: ...here.
	* dbgcnt.c: Moved to...
	* dbgcnt.cc: ...here.
	* dbxout.c: Moved to...
	* dbxout.cc: ...here.
	* dce.c: Moved to...
	* dce.cc: ...here.
	* ddg.c: Moved to...
	* ddg.cc: ...here.
	* debug.c: Moved to...
	* debug.cc: ...here.
	* df-core.c: Moved to...
	* df-core.cc: ...here.
	* df-problems.c: Moved to...
	* df-problems.cc: ...here.
	* df-scan.c: Moved to...
	* df-scan.cc: ...here.
	* dfp.c: Moved to...
	* dfp.cc: ...here.
	* diagnostic-color.c: Moved to...
	* diagnostic-color.cc: ...here.
	* diagnostic-show-locus.c: Moved to...
	* diagnostic-show-locus.cc: ...here.
	* diagnostic-spec.c: Moved to...
	* diagnostic-spec.cc: ...here.
	* diagnostic.c: Moved to...
	* diagnostic.cc: ...here.
	* dojump.c: Moved to...
	* dojump.cc: ...here.
	* dominance.c: Moved to...
	* dominance.cc: ...here.
	* domwalk.c: Moved to...
	* domwalk.cc: ...here.
	* double-int.c: Moved to...
	* double-int.cc: ...here.
	* dse.c: Moved to...
	* dse.cc: ...here.
	* dumpfile.c: Moved to...
	* dumpfile.cc: ...here.
	* dwarf2asm.c: Moved to...
	* dwarf2asm.cc: ...here.
	* dwarf2cfi.c: Moved to...
	* dwarf2cfi.cc: ...here.
	* dwarf2ctf.c: Moved to...
	* dwarf2ctf.cc: ...here.
	* dwarf2out.c: Moved to...
	* dwarf2out.cc: ...here.
	* early-remat.c: Moved to...
	* early-remat.cc: ...here.
	* edit-context.c: Moved to...
	* edit-context.cc: ...here.
	* emit-rtl.c: Moved to...
	* emit-rtl.cc: ...here.
	* errors.c: Moved to...
	* errors.cc: ...here.
	* et-forest.c: Moved to...
	* et-forest.cc: ...here.
	* except.c: Moved to...
	* except.cc: ...here.
	* explow.c: Moved to...
	* explow.cc: ...here.
	* expmed.c: Moved to...
	* expmed.cc: ...here.
	* expr.c: Moved to...
	* expr.cc: ...here.
	* fibonacci_heap.c: Moved to...
	* fibonacci_heap.cc: ...here.
	* file-find.c: Moved to...
	* file-find.cc: ...here.
	* file-prefix-map.c: Moved to...
	* file-prefix-map.cc: ...here.
	* final.c: Moved to...
	* final.cc: ...here.
	* fixed-value.c: Moved to...
	* fixed-value.cc: ...here.
	* fold-const-call.c: Moved to...
	* fold-const-call.cc: ...here.
	* fold-const.c: Moved to...
	* fold-const.cc: ...here.
	* fp-test.c: Moved to...
	* fp-test.cc: ...here.
	* function-tests.c: Moved to...
	* function-tests.cc: ...here.
	* function.c: Moved to...
	* function.cc: ...here.
	* fwprop.c: Moved to...
	* fwprop.cc: ...here.
	* gcc-ar.c: Moved to...
	* gcc-ar.cc: ...here.
	* gcc-main.c: Moved to...
	* gcc-main.cc: ...here.
	* gcc-rich-location.c: Moved to...
	* gcc-rich-location.cc: ...here.
	* gcc.c: Moved to...
	* gcc.cc: ...here.
	* gcov-dump.c: Moved to...
	* gcov-dump.cc: ...here.
	* gcov-io.c: Moved to...
	* gcov-io.cc: ...here.
	* gcov-tool.c: Moved to...
	* gcov-tool.cc: ...here.
	* gcov.c: Moved to...
	* gcov.cc: ...here.
	* gcse-common.c: Moved to...
	* gcse-common.cc: ...here.
	* gcse.c: Moved to...
	* gcse.cc: ...here.
	* genattr-common.c: Moved to...
	* genattr-common.cc: ...here.
	* genattr.c: Moved to...
	* genattr.cc: ...here.
	* genattrtab.c: Moved to...
	* genattrtab.cc: ...here.
	* genautomata.c: Moved to...
	* genautomata.cc: ...here.
	* gencfn-macros.c: Moved to...
	* gencfn-macros.cc: ...here.
	* gencheck.c: Moved to...
	* gencheck.cc: ...here.
	* genchecksum.c: Moved to...
	* genchecksum.cc: ...here.
	* gencodes.c: Moved to...
	* gencodes.cc: ...here.
	* genconditions.c: Moved to...
	* genconditions.cc: ...here.
	* genconfig.c: Moved to...
	* genconfig.cc: ...here.
	* genconstants.c: Moved to...
	* genconstants.cc: ...here.
	* genemit.c: Moved to...
	* genemit.cc: ...here.
	* genenums.c: Moved to...
	* genenums.cc: ...here.
	* generic-match-head.c: Moved to...
	* generic-match-head.cc: ...here.
	* genextract.c: Moved to...
	* genextract.cc: ...here.
	* genflags.c: Moved to...
	* genflags.cc: ...here.
	* gengenrtl.c: Moved to...
	* gengenrtl.cc: ...here.
	* gengtype-parse.c: Moved to...
	* gengtype-parse.cc: ...here.
	* gengtype-state.c: Moved to...
	* gengtype-state.cc: ...here.
	* gengtype.c: Moved to...
	* gengtype.cc: ...here.
	* genhooks.c: Moved to...
	* genhooks.cc: ...here.
	* genmatch.c: Moved to...
	* genmatch.cc: ...here.
	* genmddeps.c: Moved to...
	* genmddeps.cc: ...here.
	* genmddump.c: Moved to...
	* genmddump.cc: ...here.
	* genmodes.c: Moved to...
	* genmodes.cc: ...here.
	* genopinit.c: Moved to...
	* genopinit.cc: ...here.
	* genoutput.c: Moved to...
	* genoutput.cc: ...here.
	* genpeep.c: Moved to...
	* genpeep.cc: ...here.
	* genpreds.c: Moved to...
	* genpreds.cc: ...here.
	* genrecog.c: Moved to...
	* genrecog.cc: ...here.
	* gensupport.c: Moved to...
	* gensupport.cc: ...here.
	* gentarget-def.c: Moved to...
	* gentarget-def.cc: ...here.
	* genversion.c: Moved to...
	* genversion.cc: ...here.
	* ggc-common.c: Moved to...
	* ggc-common.cc: ...here.
	* ggc-none.c: Moved to...
	* ggc-none.cc: ...here.
	* ggc-page.c: Moved to...
	* ggc-page.cc: ...here.
	* ggc-tests.c: Moved to...
	* ggc-tests.cc: ...here.
	* gimple-builder.c: Moved to...
	* gimple-builder.cc: ...here.
	* gimple-expr.c: Moved to...
	* gimple-expr.cc: ...here.
	* gimple-fold.c: Moved to...
	* gimple-fold.cc: ...here.
	* gimple-iterator.c: Moved to...
	* gimple-iterator.cc: ...here.
	* gimple-laddress.c: Moved to...
	* gimple-laddress.cc: ...here.
	* gimple-loop-jam.c: Moved to...
	* gimple-loop-jam.cc: ...here.
	* gimple-low.c: Moved to...
	* gimple-low.cc: ...here.
	* gimple-match-head.c: Moved to...
	* gimple-match-head.cc: ...here.
	* gimple-pretty-print.c: Moved to...
	* gimple-pretty-print.cc: ...here.
	* gimple-ssa-backprop.c: Moved to...
	* gimple-ssa-backprop.cc: ...here.
	* gimple-ssa-evrp-analyze.c: Moved to...
	* gimple-ssa-evrp-analyze.cc: ...here.
	* gimple-ssa-evrp.c: Moved to...
	* gimple-ssa-evrp.cc: ...here.
	* gimple-ssa-isolate-paths.c: Moved to...
	* gimple-ssa-isolate-paths.cc: ...here.
	* gimple-ssa-nonnull-compare.c: Moved to...
	* gimple-ssa-nonnull-compare.cc: ...here.
	* gimple-ssa-split-paths.c: Moved to...
	* gimple-ssa-split-paths.cc: ...here.
	* gimple-ssa-sprintf.c: Moved to...
	* gimple-ssa-sprintf.cc: ...here.
	* gimple-ssa-store-merging.c: Moved to...
	* gimple-ssa-store-merging.cc: ...here.
	* gimple-ssa-strength-reduction.c: Moved to...
	* gimple-ssa-strength-reduction.cc: ...here.
	* gimple-ssa-warn-alloca.c: Moved to...
	* gimple-ssa-warn-alloca.cc: ...here.
	* gimple-ssa-warn-restrict.c: Moved to...
	* gimple-ssa-warn-restrict.cc: ...here.
	* gimple-streamer-in.c: Moved to...
	* gimple-streamer-in.cc: ...here.
	* gimple-streamer-out.c: Moved to...
	* gimple-streamer-out.cc: ...here.
	* gimple-walk.c: Moved to...
	* gimple-walk.cc: ...here.
	* gimple-warn-recursion.c: Moved to...
	* gimple-warn-recursion.cc: ...here.
	* gimple.c: Moved to...
	* gimple.cc: ...here.
	* gimplify-me.c: Moved to...
	* gimplify-me.cc: ...here.
	* gimplify.c: Moved to...
	* gimplify.cc: ...here.
	* godump.c: Moved to...
	* godump.cc: ...here.
	* graph.c: Moved to...
	* graph.cc: ...here.
	* graphds.c: Moved to...
	* graphds.cc: ...here.
	* graphite-dependences.c: Moved to...
	* graphite-dependences.cc: ...here.
	* graphite-isl-ast-to-gimple.c: Moved to...
	* graphite-isl-ast-to-gimple.cc: ...here.
	* graphite-optimize-isl.c: Moved to...
	* graphite-optimize-isl.cc: ...here.
	* graphite-poly.c: Moved to...
	* graphite-poly.cc: ...here.
	* graphite-scop-detection.c: Moved to...
	* graphite-scop-detection.cc: ...here.
	* graphite-sese-to-poly.c: Moved to...
	* graphite-sese-to-poly.cc: ...here.
	* graphite.c: Moved to...
	* graphite.cc: ...here.
	* haifa-sched.c: Moved to...
	* haifa-sched.cc: ...here.
	* hash-map-tests.c: Moved to...
	* hash-map-tests.cc: ...here.
	* hash-set-tests.c: Moved to...
	* hash-set-tests.cc: ...here.
	* hash-table.c: Moved to...
	* hash-table.cc: ...here.
	* hooks.c: Moved to...
	* hooks.cc: ...here.
	* host-default.c: Moved to...
	* host-default.cc: ...here.
	* hw-doloop.c: Moved to...
	* hw-doloop.cc: ...here.
	* hwint.c: Moved to...
	* hwint.cc: ...here.
	* ifcvt.c: Moved to...
	* ifcvt.cc: ...here.
	* inchash.c: Moved to...
	* inchash.cc: ...here.
	* incpath.c: Moved to...
	* incpath.cc: ...here.
	* init-regs.c: Moved to...
	* init-regs.cc: ...here.
	* input.c: Moved to...
	* input.cc: ...here.
	* internal-fn.c: Moved to...
	* internal-fn.cc: ...here.
	* intl.c: Moved to...
	* intl.cc: ...here.
	* ipa-comdats.c: Moved to...
	* ipa-comdats.cc: ...here.
	* ipa-cp.c: Moved to...
	* ipa-cp.cc: ...here.
	* ipa-devirt.c: Moved to...
	* ipa-devirt.cc: ...here.
	* ipa-fnsummary.c: Moved to...
	* ipa-fnsummary.cc: ...here.
	* ipa-icf-gimple.c: Moved to...
	* ipa-icf-gimple.cc: ...here.
	* ipa-icf.c: Moved to...
	* ipa-icf.cc: ...here.
	* ipa-inline-analysis.c: Moved to...
	* ipa-inline-analysis.cc: ...here.
	* ipa-inline-transform.c: Moved to...
	* ipa-inline-transform.cc: ...here.
	* ipa-inline.c: Moved to...
	* ipa-inline.cc: ...here.
	* ipa-modref-tree.c: Moved to...
	* ipa-modref-tree.cc: ...here.
	* ipa-modref.c: Moved to...
	* ipa-modref.cc: ...here.
	* ipa-param-manipulation.c: Moved to...
	* ipa-param-manipulation.cc: ...here.
	* ipa-polymorphic-call.c: Moved to...
	* ipa-polymorphic-call.cc: ...here.
	* ipa-predicate.c: Moved to...
	* ipa-predicate.cc: ...here.
	* ipa-profile.c: Moved to...
	* ipa-profile.cc: ...here.
	* ipa-prop.c: Moved to...
	* ipa-prop.cc: ...here.
	* ipa-pure-const.c: Moved to...
	* ipa-pure-const.cc: ...here.
	* ipa-ref.c: Moved to...
	* ipa-ref.cc: ...here.
	* ipa-reference.c: Moved to...
	* ipa-reference.cc: ...here.
	* ipa-split.c: Moved to...
	* ipa-split.cc: ...here.
	* ipa-sra.c: Moved to...
	* ipa-sra.cc: ...here.
	* ipa-utils.c: Moved to...
	* ipa-utils.cc: ...here.
	* ipa-visibility.c: Moved to...
	* ipa-visibility.cc: ...here.
	* ipa.c: Moved to...
	* ipa.cc: ...here.
	* ira-build.c: Moved to...
	* ira-build.cc: ...here.
	* ira-color.c: Moved to...
	* ira-color.cc: ...here.
	* ira-conflicts.c: Moved to...
	* ira-conflicts.cc: ...here.
	* ira-costs.c: Moved to...
	* ira-costs.cc: ...here.
	* ira-emit.c: Moved to...
	* ira-emit.cc: ...here.
	* ira-lives.c: Moved to...
	* ira-lives.cc: ...here.
	* ira.c: Moved to...
	* ira.cc: ...here.
	* jump.c: Moved to...
	* jump.cc: ...here.
	* langhooks.c: Moved to...
	* langhooks.cc: ...here.
	* lcm.c: Moved to...
	* lcm.cc: ...here.
	* lists.c: Moved to...
	* lists.cc: ...here.
	* loop-doloop.c: Moved to...
	* loop-doloop.cc: ...here.
	* loop-init.c: Moved to...
	* loop-init.cc: ...here.
	* loop-invariant.c: Moved to...
	* loop-invariant.cc: ...here.
	* loop-iv.c: Moved to...
	* loop-iv.cc: ...here.
	* loop-unroll.c: Moved to...
	* loop-unroll.cc: ...here.
	* lower-subreg.c: Moved to...
	* lower-subreg.cc: ...here.
	* lra-assigns.c: Moved to...
	* lra-assigns.cc: ...here.
	* lra-coalesce.c: Moved to...
	* lra-coalesce.cc: ...here.
	* lra-constraints.c: Moved to...
	* lra-constraints.cc: ...here.
	* lra-eliminations.c: Moved to...
	* lra-eliminations.cc: ...here.
	* lra-lives.c: Moved to...
	* lra-lives.cc: ...here.
	* lra-remat.c: Moved to...
	* lra-remat.cc: ...here.
	* lra-spills.c: Moved to...
	* lra-spills.cc: ...here.
	* lra.c: Moved to...
	* lra.cc: ...here.
	* lto-cgraph.c: Moved to...
	* lto-cgraph.cc: ...here.
	* lto-compress.c: Moved to...
	* lto-compress.cc: ...here.
	* lto-opts.c: Moved to...
	* lto-opts.cc: ...here.
	* lto-section-in.c: Moved to...
	* lto-section-in.cc: ...here.
	* lto-section-out.c: Moved to...
	* lto-section-out.cc: ...here.
	* lto-streamer-in.c: Moved to...
	* lto-streamer-in.cc: ...here.
	* lto-streamer-out.c: Moved to...
	* lto-streamer-out.cc: ...here.
	* lto-streamer.c: Moved to...
	* lto-streamer.cc: ...here.
	* lto-wrapper.c: Moved to...
	* lto-wrapper.cc: ...here.
	* main.c: Moved to...
	* main.cc: ...here.
	* mcf.c: Moved to...
	* mcf.cc: ...here.
	* mode-switching.c: Moved to...
	* mode-switching.cc: ...here.
	* modulo-sched.c: Moved to...
	* modulo-sched.cc: ...here.
	* multiple_target.c: Moved to...
	* multiple_target.cc: ...here.
	* omp-expand.c: Moved to...
	* omp-expand.cc: ...here.
	* omp-general.c: Moved to...
	* omp-general.cc: ...here.
	* omp-low.c: Moved to...
	* omp-low.cc: ...here.
	* omp-offload.c: Moved to...
	* omp-offload.cc: ...here.
	* omp-simd-clone.c: Moved to...
	* omp-simd-clone.cc: ...here.
	* opt-suggestions.c: Moved to...
	* opt-suggestions.cc: ...here.
	* optabs-libfuncs.c: Moved to...
	* optabs-libfuncs.cc: ...here.
	* optabs-query.c: Moved to...
	* optabs-query.cc: ...here.
	* optabs-tree.c: Moved to...
	* optabs-tree.cc: ...here.
	* optabs.c: Moved to...
	* optabs.cc: ...here.
	* opts-common.c: Moved to...
	* opts-common.cc: ...here.
	* opts-global.c: Moved to...
	* opts-global.cc: ...here.
	* opts.c: Moved to...
	* opts.cc: ...here.
	* passes.c: Moved to...
	* passes.cc: ...here.
	* plugin.c: Moved to...
	* plugin.cc: ...here.
	* postreload-gcse.c: Moved to...
	* postreload-gcse.cc: ...here.
	* postreload.c: Moved to...
	* postreload.cc: ...here.
	* predict.c: Moved to...
	* predict.cc: ...here.
	* prefix.c: Moved to...
	* prefix.cc: ...here.
	* pretty-print.c: Moved to...
	* pretty-print.cc: ...here.
	* print-rtl-function.c: Moved to...
	* print-rtl-function.cc: ...here.
	* print-rtl.c: Moved to...
	* print-rtl.cc: ...here.
	* print-tree.c: Moved to...
	* print-tree.cc: ...here.
	* profile-count.c: Moved to...
	* profile-count.cc: ...here.
	* profile.c: Moved to...
	* profile.cc: ...here.
	* read-md.c: Moved to...
	* read-md.cc: ...here.
	* read-rtl-function.c: Moved to...
	* read-rtl-function.cc: ...here.
	* read-rtl.c: Moved to...
	* read-rtl.cc: ...here.
	* real.c: Moved to...
	* real.cc: ...here.
	* realmpfr.c: Moved to...
	* realmpfr.cc: ...here.
	* recog.c: Moved to...
	* recog.cc: ...here.
	* ree.c: Moved to...
	* ree.cc: ...here.
	* reg-stack.c: Moved to...
	* reg-stack.cc: ...here.
	* regcprop.c: Moved to...
	* regcprop.cc: ...here.
	* reginfo.c: Moved to...
	* reginfo.cc: ...here.
	* regrename.c: Moved to...
	* regrename.cc: ...here.
	* regstat.c: Moved to...
	* regstat.cc: ...here.
	* reload.c: Moved to...
	* reload.cc: ...here.
	* reload1.c: Moved to...
	* reload1.cc: ...here.
	* reorg.c: Moved to...
	* reorg.cc: ...here.
	* resource.c: Moved to...
	* resource.cc: ...here.
	* rtl-error.c: Moved to...
	* rtl-error.cc: ...here.
	* rtl-tests.c: Moved to...
	* rtl-tests.cc: ...here.
	* rtl.c: Moved to...
	* rtl.cc: ...here.
	* rtlanal.c: Moved to...
	* rtlanal.cc: ...here.
	* rtlhash.c: Moved to...
	* rtlhash.cc: ...here.
	* rtlhooks.c: Moved to...
	* rtlhooks.cc: ...here.
	* rtx-vector-builder.c: Moved to...
	* rtx-vector-builder.cc: ...here.
	* run-rtl-passes.c: Moved to...
	* run-rtl-passes.cc: ...here.
	* sancov.c: Moved to...
	* sancov.cc: ...here.
	* sanopt.c: Moved to...
	* sanopt.cc: ...here.
	* sbitmap.c: Moved to...
	* sbitmap.cc: ...here.
	* sched-deps.c: Moved to...
	* sched-deps.cc: ...here.
	* sched-ebb.c: Moved to...
	* sched-ebb.cc: ...here.
	* sched-rgn.c: Moved to...
	* sched-rgn.cc: ...here.
	* sel-sched-dump.c: Moved to...
	* sel-sched-dump.cc: ...here.
	* sel-sched-ir.c: Moved to...
	* sel-sched-ir.cc: ...here.
	* sel-sched.c: Moved to...
	* sel-sched.cc: ...here.
	* selftest-diagnostic.c: Moved to...
	* selftest-diagnostic.cc: ...here.
	* selftest-rtl.c: Moved to...
	* selftest-rtl.cc: ...here.
	* selftest-run-tests.c: Moved to...
	* selftest-run-tests.cc: ...here.
	* selftest.c: Moved to...
	* selftest.cc: ...here.
	* sese.c: Moved to...
	* sese.cc: ...here.
	* shrink-wrap.c: Moved to...
	* shrink-wrap.cc: ...here.
	* simplify-rtx.c: Moved to...
	* simplify-rtx.cc: ...here.
	* sparseset.c: Moved to...
	* sparseset.cc: ...here.
	* spellcheck-tree.c: Moved to...
	* spellcheck-tree.cc: ...here.
	* spellcheck.c: Moved to...
	* spellcheck.cc: ...here.
	* sreal.c: Moved to...
	* sreal.cc: ...here.
	* stack-ptr-mod.c: Moved to...
	* stack-ptr-mod.cc: ...here.
	* statistics.c: Moved to...
	* statistics.cc: ...here.
	* stmt.c: Moved to...
	* stmt.cc: ...here.
	* stor-layout.c: Moved to...
	* stor-layout.cc: ...here.
	* store-motion.c: Moved to...
	* store-motion.cc: ...here.
	* streamer-hooks.c: Moved to...
	* streamer-hooks.cc: ...here.
	* stringpool.c: Moved to...
	* stringpool.cc: ...here.
	* substring-locations.c: Moved to...
	* substring-locations.cc: ...here.
	* symtab.c: Moved to...
	* symtab.cc: ...here.
	* target-globals.c: Moved to...
	* target-globals.cc: ...here.
	* targhooks.c: Moved to...
	* targhooks.cc: ...here.
	* timevar.c: Moved to...
	* timevar.cc: ...here.
	* toplev.c: Moved to...
	* toplev.cc: ...here.
	* tracer.c: Moved to...
	* tracer.cc: ...here.
	* trans-mem.c: Moved to...
	* trans-mem.cc: ...here.
	* tree-affine.c: Moved to...
	* tree-affine.cc: ...here.
	* tree-call-cdce.c: Moved to...
	* tree-call-cdce.cc: ...here.
	* tree-cfg.c: Moved to...
	* tree-cfg.cc: ...here.
	* tree-cfgcleanup.c: Moved to...
	* tree-cfgcleanup.cc: ...here.
	* tree-chrec.c: Moved to...
	* tree-chrec.cc: ...here.
	* tree-complex.c: Moved to...
	* tree-complex.cc: ...here.
	* tree-data-ref.c: Moved to...
	* tree-data-ref.cc: ...here.
	* tree-dfa.c: Moved to...
	* tree-dfa.cc: ...here.
	* tree-diagnostic.c: Moved to...
	* tree-diagnostic.cc: ...here.
	* tree-dump.c: Moved to...
	* tree-dump.cc: ...here.
	* tree-eh.c: Moved to...
	* tree-eh.cc: ...here.
	* tree-emutls.c: Moved to...
	* tree-emutls.cc: ...here.
	* tree-if-conv.c: Moved to...
	* tree-if-conv.cc: ...here.
	* tree-inline.c: Moved to...
	* tree-inline.cc: ...here.
	* tree-into-ssa.c: Moved to...
	* tree-into-ssa.cc: ...here.
	* tree-iterator.c: Moved to...
	* tree-iterator.cc: ...here.
	* tree-loop-distribution.c: Moved to...
	* tree-loop-distribution.cc: ...here.
	* tree-nested.c: Moved to...
	* tree-nested.cc: ...here.
	* tree-nrv.c: Moved to...
	* tree-nrv.cc: ...here.
	* tree-object-size.c: Moved to...
	* tree-object-size.cc: ...here.
	* tree-outof-ssa.c: Moved to...
	* tree-outof-ssa.cc: ...here.
	* tree-parloops.c: Moved to...
	* tree-parloops.cc: ...here.
	* tree-phinodes.c: Moved to...
	* tree-phinodes.cc: ...here.
	* tree-predcom.c: Moved to...
	* tree-predcom.cc: ...here.
	* tree-pretty-print.c: Moved to...
	* tree-pretty-print.cc: ...here.
	* tree-profile.c: Moved to...
	* tree-profile.cc: ...here.
	* tree-scalar-evolution.c: Moved to...
	* tree-scalar-evolution.cc: ...here.
	* tree-sra.c: Moved to...
	* tree-sra.cc: ...here.
	* tree-ssa-address.c: Moved to...
	* tree-ssa-address.cc: ...here.
	* tree-ssa-alias.c: Moved to...
	* tree-ssa-alias.cc: ...here.
	* tree-ssa-ccp.c: Moved to...
	* tree-ssa-ccp.cc: ...here.
	* tree-ssa-coalesce.c: Moved to...
	* tree-ssa-coalesce.cc: ...here.
	* tree-ssa-copy.c: Moved to...
	* tree-ssa-copy.cc: ...here.
	* tree-ssa-dce.c: Moved to...
	* tree-ssa-dce.cc: ...here.
	* tree-ssa-dom.c: Moved to...
	* tree-ssa-dom.cc: ...here.
	* tree-ssa-dse.c: Moved to...
	* tree-ssa-dse.cc: ...here.
	* tree-ssa-forwprop.c: Moved to...
	* tree-ssa-forwprop.cc: ...here.
	* tree-ssa-ifcombine.c: Moved to...
	* tree-ssa-ifcombine.cc: ...here.
	* tree-ssa-live.c: Moved to...
	* tree-ssa-live.cc: ...here.
	* tree-ssa-loop-ch.c: Moved to...
	* tree-ssa-loop-ch.cc: ...here.
	* tree-ssa-loop-im.c: Moved to...
	* tree-ssa-loop-im.cc: ...here.
	* tree-ssa-loop-ivcanon.c: Moved to...
	* tree-ssa-loop-ivcanon.cc: ...here.
	* tree-ssa-loop-ivopts.c: Moved to...
	* tree-ssa-loop-ivopts.cc: ...here.
	* tree-ssa-loop-manip.c: Moved to...
	* tree-ssa-loop-manip.cc: ...here.
	* tree-ssa-loop-niter.c: Moved to...
	* tree-ssa-loop-niter.cc: ...here.
	* tree-ssa-loop-prefetch.c: Moved to...
	* tree-ssa-loop-prefetch.cc: ...here.
	* tree-ssa-loop-split.c: Moved to...
	* tree-ssa-loop-split.cc: ...here.
	* tree-ssa-loop-unswitch.c: Moved to...
	* tree-ssa-loop-unswitch.cc: ...here.
	* tree-ssa-loop.c: Moved to...
	* tree-ssa-loop.cc: ...here.
	* tree-ssa-math-opts.c: Moved to...
	* tree-ssa-math-opts.cc: ...here.
	* tree-ssa-operands.c: Moved to...
	* tree-ssa-operands.cc: ...here.
	* tree-ssa-phiopt.c: Moved to...
	* tree-ssa-phiopt.cc: ...here.
	* tree-ssa-phiprop.c: Moved to...
	* tree-ssa-phiprop.cc: ...here.
	* tree-ssa-pre.c: Moved to...
	* tree-ssa-pre.cc: ...here.
	* tree-ssa-propagate.c: Moved to...
	* tree-ssa-propagate.cc: ...here.
	* tree-ssa-reassoc.c: Moved to...
	* tree-ssa-reassoc.cc: ...here.
	* tree-ssa-sccvn.c: Moved to...
	* tree-ssa-sccvn.cc: ...here.
	* tree-ssa-scopedtables.c: Moved to...
	* tree-ssa-scopedtables.cc: ...here.
	* tree-ssa-sink.c: Moved to...
	* tree-ssa-sink.cc: ...here.
	* tree-ssa-strlen.c: Moved to...
	* tree-ssa-strlen.cc: ...here.
	* tree-ssa-structalias.c: Moved to...
	* tree-ssa-structalias.cc: ...here.
	* tree-ssa-tail-merge.c: Moved to...
	* tree-ssa-tail-merge.cc: ...here.
	* tree-ssa-ter.c: Moved to...
	* tree-ssa-ter.cc: ...here.
	* tree-ssa-threadbackward.c: Moved to...
	* tree-ssa-threadbackward.cc: ...here.
	* tree-ssa-threadedge.c: Moved to...
	* tree-ssa-threadedge.cc: ...here.
	* tree-ssa-threadupdate.c: Moved to...
	* tree-ssa-threadupdate.cc: ...here.
	* tree-ssa-uncprop.c: Moved to...
	* tree-ssa-uncprop.cc: ...here.
	* tree-ssa-uninit.c: Moved to...
	* tree-ssa-uninit.cc: ...here.
	* tree-ssa.c: Moved to...
	* tree-ssa.cc: ...here.
	* tree-ssanames.c: Moved to...
	* tree-ssanames.cc: ...here.
	* tree-stdarg.c: Moved to...
	* tree-stdarg.cc: ...here.
	* tree-streamer-in.c: Moved to...
	* tree-streamer-in.cc: ...here.
	* tree-streamer-out.c: Moved to...
	* tree-streamer-out.cc: ...here.
	* tree-streamer.c: Moved to...
	* tree-streamer.cc: ...here.
	* tree-switch-conversion.c: Moved to...
	* tree-switch-conversion.cc: ...here.
	* tree-tailcall.c: Moved to...
	* tree-tailcall.cc: ...here.
	* tree-vect-data-refs.c: Moved to...
	* tree-vect-data-refs.cc: ...here.
	* tree-vect-generic.c: Moved to...
	* tree-vect-generic.cc: ...here.
	* tree-vect-loop-manip.c: Moved to...
	* tree-vect-loop-manip.cc: ...here.
	* tree-vect-loop.c: Moved to...
	* tree-vect-loop.cc: ...here.
	* tree-vect-patterns.c: Moved to...
	* tree-vect-patterns.cc: ...here.
	* tree-vect-slp-patterns.c: Moved to...
	* tree-vect-slp-patterns.cc: ...here.
	* tree-vect-slp.c: Moved to...
	* tree-vect-slp.cc: ...here.
	* tree-vect-stmts.c: Moved to...
	* tree-vect-stmts.cc: ...here.
	* tree-vector-builder.c: Moved to...
	* tree-vector-builder.cc: ...here.
	* tree-vectorizer.c: Moved to...
	* tree-vectorizer.cc: ...here.
	* tree-vrp.c: Moved to...
	* tree-vrp.cc: ...here.
	* tree.c: Moved to...
	* tree.cc: ...here.
	* tsan.c: Moved to...
	* tsan.cc: ...here.
	* typed-splay-tree.c: Moved to...
	* typed-splay-tree.cc: ...here.
	* ubsan.c: Moved to...
	* ubsan.cc: ...here.
	* valtrack.c: Moved to...
	* valtrack.cc: ...here.
	* value-prof.c: Moved to...
	* value-prof.cc: ...here.
	* var-tracking.c: Moved to...
	* var-tracking.cc: ...here.
	* varasm.c: Moved to...
	* varasm.cc: ...here.
	* varpool.c: Moved to...
	* varpool.cc: ...here.
	* vec-perm-indices.c: Moved to...
	* vec-perm-indices.cc: ...here.
	* vec.c: Moved to...
	* vec.cc: ...here.
	* vmsdbgout.c: Moved to...
	* vmsdbgout.cc: ...here.
	* vr-values.c: Moved to...
	* vr-values.cc: ...here.
	* vtable-verify.c: Moved to...
	* vtable-verify.cc: ...here.
	* web.c: Moved to...
	* web.cc: ...here.
	* xcoffout.c: Moved to...
	* xcoffout.cc: ...here.

2022-01-17  qing zhao  <qing.zhao@oracle.com>

	* tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
	.DEFERRED_INIT call with an anonymous SSA_NAME specially.
	(check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
	specially.
	(warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
	(warn_uninitialized_vars): Likewise.
	(warn_uninitialized_phi): Likewise.

2022-01-17  Jason Merrill  <jason@redhat.com>

	* diagnostic.h (struct diagnostic_context): Add includes_seen.
	* diagnostic.c (diagnostic_initialize): Initialize it.
	(diagnostic_finish): Clean it up.
	(includes_seen): New function.
	(diagnostic_report_current_module): Use it.

2022-01-17  Richard Biener  <rguenther@suse.de>

	PR middle-end/101292
	* diagnostic-spec.c (copy_warning): Make sure to not
	reference old hashtable content on possible resize.
	* warning-control.cc (copy_warning): Likewise.

2022-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR target/103973
	* tree-cfg.h (cond_only_block_p): Declare.
	* tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
	* tree-cfg.c (cond_only_block_p): ... here.  No longer static.
	* optabs.def (spaceship_optab): New optab.
	* internal-fn.def (SPACESHIP): New internal function.
	* internal-fn.h (expand_SPACESHIP): Declare.
	* internal-fn.c (expand_PHI): Formatting fix.
	(expand_SPACESHIP): New function.
	* tree-ssa-math-opts.c (optimize_spaceship): New function.
	(math_opts_dom_walker::after_dom_children): Use it.
	* config/i386/i386.md (spaceship<mode>3): New define_expand.
	* config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
	* config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
	* doc/md.texi (spaceship@var{m}3): Document.

2022-01-17  Kewen Lin  <linkw@linux.ibm.com>

	* config/rs6000/altivec.md (altivec_vreveti2): Remove.
	* config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
	*vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
	known constant values to simplify code.

2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>

	PR target/103124
	* config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.

2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>

	* config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
	* config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
	Insert zero-idiom in output template when attr enabled, set new attribute to
	true for non-mask/maskz insn.
	(avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
	Likewise.
	(avx512dq_mul<mode>3<mask_name>): Likewise.
	(<avx2_avx512>_permvar<mode><mask_name>): Likewise.
	(avx2_perm<mode>_1<mask_name>): Likewise.
	(avx512f_perm<mode>_1<mask_name>): Likewise.
	(avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
	(avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
	Likewise.
	(<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
	(avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
	Likewise.
	* config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
	subst_attr.
	(mask4_dest_false_dep_for_glc_cond): Likewise.
	(mask6_dest_false_dep_for_glc_cond): Likewise.
	(mask10_dest_false_dep_for_glc_cond): Likewise.
	(maskc_dest_false_dep_for_glc_cond): Likewise.
	(mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
	(mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
	* config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
	DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE

2022-01-15  Martin Sebor  <msebor@redhat.com>

	PR c/63272
	* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
	-Wdangling-pointer.
	* doc/invoke.texi (-Wdangling-pointer): Document new option.
	* gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
	(pass_waccess::check_pointer_uses): New function.
	(pass_waccess::gimple_call_return_arg): New function.
	(pass_waccess::gimple_call_return_arg_ref): New function.
	(pass_waccess::check_call_dangling): New function.
	(pass_waccess::check_dangling_uses): New function overloads.
	(pass_waccess::check_dangling_stores): New function.
	(pass_waccess::check_dangling_stores): New function.
	(pass_waccess::m_clobbers): New data member.
	(pass_waccess::m_func): New data member.
	(pass_waccess::m_run_number): New data member.
	(pass_waccess::m_check_dangling_p): New data member.
	(pass_waccess::check_alloca): Check m_early_checks_p.
	(pass_waccess::check_alloc_size_call): Same.
	(pass_waccess::check_strcat): Same.
	(pass_waccess::check_strncat): Same.
	(pass_waccess::check_stxcpy): Same.
	(pass_waccess::check_stxncpy): Same.
	(pass_waccess::check_strncmp): Same.
	(pass_waccess::check_memop_access): Same.
	(pass_waccess::check_read_access): Same.
	(pass_waccess::check_builtin): Call check_pointer_uses.
	(pass_waccess::warn_invalid_pointer): Add arguments.
	(is_auto_decl): New function.
	(pass_waccess::check_stmt): New function.
	(pass_waccess::check_block): Call check_stmt.
	(pass_waccess::execute): Call check_dangling_uses,
	check_dangling_stores.  Empty m_clobbers.
	* passes.def (pass_warn_access): Invoke pass two more times.

2022-01-15  Martin Sebor  <msebor@redhat.com>

	PR tree-optimization/80532
	* common.opt (-Wuse-after-free): New options.
	* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
	OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
	* diagnostic-spec.h (NW_DANGLING): New enumerator.
	* doc/invoke.texi (-Wuse-after-free): Document new option.
	* gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
	(pass_waccess::check_call_access): ...to this.
	(pass_waccess::check): Rename...
	(pass_waccess::check_block): ...to this.
	(pass_waccess::check_pointer_uses): New function.
	(pass_waccess::gimple_call_return_arg): New function.
	(pass_waccess::warn_invalid_pointer): New function.
	(pass_waccess::check_builtin): Handle free and realloc.
	(gimple_use_after_inval_p): New function.
	(get_realloc_lhs): New function.
	(maybe_warn_mismatched_realloc): New function.
	(pointers_related_p): New function.
	(pass_waccess::check_call): Call check_pointer_uses.
	(pass_waccess::execute): Compute and free dominance info.

2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
	expand_simple_unop and expand_simple_binop instead of manually
	constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
	consistently.  Eliminate common subexpressions and simplify code.
	* config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
	(<any_logic:code><MODEF:mode>3): Make public.

2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>

	* ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
	reverse flag as "reverse" for the sake of consistency.
	* ipa-sra.c: Fix copyright year.
	(ipa_sra_function_summaries::duplicate): Copy the reverse flag.
	(dump_isra_access): Tweak dump line.
	(isra_write_node_summary): Write the reverse flag.
	(isra_read_node_info): Read it.
	(pull_accesses_from_callee): Test its consistency and copy it.

2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>

	PR middle-end/104026
	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
	partial_load_store_bias.

2022-01-14  Martin Sebor  <msebor@redhat.com>

	PR middle-end/101475
	* pointer-query.cc (handle_component_ref): Use the size of
	the enclosing object if it's smaller than the member.

2022-01-14  Martin Liska  <mliska@suse.cz>

	* configure: Regenerate.

2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*add<mode>_1_slp"):
	Mark alternative 1 output operand earlyclobbered.
	(*sub<mode>_1_slp): Ditto.
	(*and<mode>_1_slp): Ditto.
	(*<code><mode>_1_slp): Ditto.
	(*neg<mode>_1_slp): Ditto.
	(*one_cmpl<mode>_1_slp): Ditto.
	(*ashl<mode>3_1_slp): Ditto.
	(*<insn><mode>3_1_slp): Ditto.
	(*<insn><mode>3_1_slp): Ditto.

2022-01-14  Kewen Lin  <linkw@linux.ibm.com>

	PR tree-optimization/104015
	* tree-vect-loop.c (vect_analyze_loop): Check
	param_vect_partial_vector_usage for supports_partial_vectors.

2022-01-14  Jakub Jelinek  <jakub@redhat.com>

	PR c++/89074
	* fold-const.c (address_compare): Punt on comparison of address of
	one object with address of end of another object if
	folding_initializer.

2022-01-14  Jakub Jelinek  <jakub@redhat.com>

	PR target/98737
	* tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
	__atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
	and __atomic_op_fetch (p, x, y) iop x into
	__atomic_fetch_op (p, x, y).

2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
	(DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
	(INCOMING_RETURN_ADDR_RTX): Likewise.
	(DWARF_ALT_FRAME_RETURN_COLUMN): Define.

2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.c (arc_compute_frame_size): Remove condition when
	computin checking accumulator regs.
	(arc_expand_prologue): Update comments.
	(arc_expand_epilogue): Likewise.

2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
	    Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
	(ix86_expand_ti_to_v1ti): Use force_reg.
	(ix86_expand_v1ti_shift): Use force_reg.
	(ix86_expand_v1ti_rotate): Use force_reg.
	(ix86_expand_v1ti_ashiftrt): Provide new three operation
	implementations for shifts by 111..126 bits.  Use force_reg.

2022-01-14  Martin Liska  <mliska@suse.cz>

	* common/config/arm/arm-common.c (arm_target_mode): Fix
	warning: unterminated quoting directive [-Wformat=].

2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR tree-optimization/104009
	* tree-object-size.c (compute_builtin_object_size): Bail out on
	negative offset.
	(plus_stmt_object_size): Return maximum of wholesize and minimum
	of 0 for negative offset.

2022-01-14  liuhongt  <hongtao.liu@intel.com>

	PR target/104001
	PR target/94790
	PR target/104014
	* config/i386/i386.md (*xor2andn): Refine predicate of
	operands[0] from nonimmediate_operand to
	register_operand, remove TARGET_AVX512BW from condition.

2022-01-14  David Malcolm  <dmalcolm@redhat.com>

	* doc/extend.texi (Function Attributes): Note that "tainted_args" can
	be used on field decls.
	(Common Function Attributes): Add entry on "tainted_args" attribute.

2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
	    Jason Merrill  <jason@redhat.com>

	PR c++/70417
	* doc/invoke.texi: Documentation for Wmissing-template-keyword.

2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103861
	* config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
	(*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
	* config/i386/mmx.md (<any_shift:insn>v2qi):
	New insn_and_split pattern.

2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>

	* internal-fn.c (expand_partial_load_optab_fn): Add bias.
	(expand_partial_store_optab_fn): Likewise.
	(internal_len_load_store_bias): New function.
	* internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
	(internal_len_load_store_bias): New function.
	* tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
	(vect_set_loop_condition_partial_vectors): Add header_seq parameter.
	* tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
	(vect_estimate_min_profitable_iters): Account for bias.
	(vect_get_loop_len): Add bias-adjusted length.
	* tree-vect-stmts.c (vectorizable_store): Use.
	(vectorizable_load): Use.
	* tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
	(LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
	* config/rs6000/vsx.md: Use const0 bias predicate.
	* doc/md.texi: Document bias value.

2022-01-13  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/83072
	PR tree-optimization/83073
	PR tree-optimization/97909
	* fold-const.c (expr_not_equal_to): Use a multi-range class.

2022-01-13  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/96707
	* range-op.cc (operator_rshift::lhs_op1_relation): New.

2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
	Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
	(negv2qi splitters): Use lowpart_subreg instead of
	gen_lowpart to create subreg.
	(<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
	Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
	(<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
	gen_lowpart to create subreg.
	* config/i386/i386.md (*subqi_ext<mode>_2): Move.

2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/104003
	* config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.

2022-01-13  Martin Liska  <mliska@suse.cz>

	* common/config/arm/arm-common.c (arm_target_mode): Wrap
	keywords with %<, %> and remove trailing punctuation char.
	(arm_canon_arch_option_1): Likewise.
	(arm_asm_auto_mfpu): Likewise.
	* config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
	* config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
	(use_vfp_abi): Likewise.
	(aapcs_vfp_is_call_or_return_candidate): Likewise.
	(arm_handle_cmse_nonsecure_entry): Likewise.
	(arm_handle_cmse_nonsecure_call): Likewise.
	(thumb1_md_asm_adjust): Likewise.

2022-01-13  Paul A. Clarke  <pc@us.ibm.com>

	* config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
	_mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
	_MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
	_MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
	_MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
	_MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
	(_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
	_mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
	macro.

2022-01-13  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/103989
	* tree-inline.c (setup_one_parameter): Don't copy parms with
	empty type.

2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>

	* tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
	'TYPE_ADDR_SPACE' for offloading.
	* tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
	'TYPE_ADDR_SPACE' for offloading.

2022-01-13  Julian Brown  <julian@codesourcery.com>
	    Thomas Schwinge  <thomas@codesourcery.com>

	* omp-oacc-kernels-decompose.cc (add_wait): New function, split out
	of...
	(add_async_clauses_and_wait): ...here. Call new outlined function.
	(decompose_kernels_region_body): Add wait at the end of
	explicitly-asynchronous kernels regions.

2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/100280
	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
	Mark variables used in synthesized data clauses as addressable.

2022-01-13  Martin Liska  <mliska@suse.cz>

	* config/epiphany/epiphany.c (epiphany_mode_priority):
	Use gcc_unreachable for not handled cases.

2022-01-13  Martin Liska  <mliska@suse.cz>

	* config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
	Use %qs format specifier.
	(epiphany_override_options): Wrap keyword in %<, %>.

2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>

	PR target/94790
	* config/i386/i386.md (*xor2andn): New define_insn_and_split.

2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>

	* config/rs6000/altivec.md (sldoi_to_mov<mode>): New.

2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/100637
	PR target/103861
	* config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
	(ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
	when constructing vector logic RTXes.
	(expand_vec_perm_pshufb2): Ditto.
	* config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
	(<plusminus:insn>v2qi3): Ditto.
	(vcond<mode><mode>): Re-enable for TARGET_SSE2.
	(vcondu<mode><mode>): Ditto.
	(vcond_mask_<mode><mode>): Ditto.
	(one_cmpl<VI_32:mode>2): Remove expander.
	(one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
	Use VI_16_32 mode iterator.
	(one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
	Use lowpart_subreg instead of gen_lowpart to create subreg.
	(*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
	"*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
	Disparage GPR alternative a bit.  Add CC clobber.
	(*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
	Use lowpart_subreg instead of gen_lowpart to create subreg.
	(*<any_logic:code><VI_16_32:mode>3): Merge from
	"*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
	using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
	Add CC clobber.
	(*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
	iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.

2022-01-12  Clément Chigot  <clement.chigot@atos.net>

	* configure.ac: Check sizeof ino_t and dev_t.
	(HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
	syscall being able to handle 64bit inodes.
	* config.in: Regenerate.
	* configure: Regenerate.
	* incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
	(remove_duplicates): Use it.

2022-01-12  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/103551
	* tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.

2022-01-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103990
	* tree-pass.h (tail_merge_optimize): Drop unused argument.
	* tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
	* tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
	and adjust call to tail_merge_optimize.

2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
	does not add autovectorize_vector_modes.

2022-01-12  Martin Liska  <mliska@suse.cz>

	* config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
	%qs where possible.
	(aarch64_parse_sve_width_string): Likewise.
	(aarch64_override_options_internal): Likewise.
	(aarch64_print_hint_for_extensions): Likewise.
	(aarch64_validate_sls_mitigation): Likewise.
	(aarch64_handle_attr_arch): Likewise.
	(aarch64_handle_attr_cpu): Likewise.
	(aarch64_handle_attr_tune): Likewise.
	(aarch64_handle_attr_isa_flags): Likewise.

2022-01-12  Martin Liska  <mliska@suse.cz>

	* config.gcc: Include elfos.h before ${tm_file}.

2022-01-12  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.c: Quote identifiers in parameters to error
	and internal_error, and remove extraneous spaces with punctuation.
	* config/cris/cris.h (CRIS_ASSERT): When passing on stringified
	expression to internal_error, pass it as a parameter instead of
	appending it to the format part.

2022-01-12  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
	parameter to as_a.

2022-01-11  qing zhao  <qing.zhao@oracle.com>

	* gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
	Change the 3rd argument of function .DEFERRED_INIT to the name of the
	decl.
	(gimplify_decl_expr): Delete the 3rd argument when call
	gimple_add_init_for_auto_var.
	* internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
	the 3rd argument change of function .DEFERRED_INIT.
	* tree-cfg.c (verify_gimple_call): Update comments and verification
	to reflect the 3rd argument change of function .DEFERRED_INIT.
	* tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
	(sra_modify_deferred_init): Change the 3rd argument of function
	.DEFERRED_INIT to the name of the decl.

2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* flag-types.h (enum gfc_convert): Add flags for
	conversion.

2022-01-11  Michael Meissner  <meissner@the-meissners.org>

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
	checks for only C/C++ front ends before allowing the long double
	format to change without a warning.

2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/103974
	* ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
	extra argument, default true, that says whether old-reload
	targets should be excluded.
	* ira-color.c (color_pass): Pass false.

2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103861
	* config/i386/mmx.md (vcond<mode><mode>):
	Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
	(vcondu<mode><mode>): Ditto.
	(vcond_mask_<mode><mode>): Ditto.
	(mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
	(mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
	Use VI_16_32 mode iterator.
	* config/i386/i386-expand.c (ix86_expand_sse_movcc):
	Update for rename.  Handle V2QImode.
	(expand_vec_perm_blend): Update for rename.

2022-01-11  Jakub Jelinek  <jakub@redhat.com>

	PR c++/101597
	* tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR middle-end/70090
	* tree-object-size.c (size_valid_p): New function.
	(size_for_offset): Remove OFFSET constness assertion.
	(addr_object_size): Build dynamic expressions for object
	sizes and use size_valid_p to decide if it is valid for the
	given OBJECT_SIZE_TYPE.
	(compute_builtin_object_size): Allow dynamic offsets when
	computing size at O0.
	(call_object_size): Call size_valid_p.
	(plus_stmt_object_size): Allow non-constant offset and use
	size_valid_p to decide if it is valid for the given
	OBJECT_SIZE_TYPE.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR middle-end/70090
	* tree-object-size.c (alloc_object_size): Make and return
	non-constant size expression.
	(call_object_size): Return expression or unknown based on
	whether dynamic object size is requested.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR middle-end/70090
	* tree-object-size.c: Include tree-dfa.h.
	(parm_object_size): New function.
	(collect_object_sizes_for): Call it.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR middle-end/70090
	* builtins.c (fold_builtin_object_size): Adjust for dynamic size
	expressions.
	* tree-object-size.c: Include gimplify-me.h.
	(struct object_size_info): New member UNKNOWNS.
	(size_initval_p, size_usable_p, object_sizes_get_raw): New
	functions.
	(object_sizes_get): Return suitable gimple variable for
	object size.
	(bundle_sizes): New function.
	(object_sizes_set): Use it and handle dynamic object size
	expressions.
	(object_sizes_set_temp): New function.
	(size_for_offset): Adjust for dynamic size expressions.
	(emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
	New functions.
	(compute_builtin_object_size): Call gimplify_size_expressions
	for OST_DYNAMIC.
	(dynamic_object_size): New function.
	(cond_expr_object_size): Use it.
	(phi_dynamic_object_size): New function.
	(collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
	accommodate dynamic object sizes.

2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
	    Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/103961
	* tree-object-size.c (plus_stmt_object_size): Always avoid
	computing offset for -1 size.

2022-01-11  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/103821
	* range-op.cc (range_operator::fold_range): Only do precise ranges
	when there are not too many subranges.

2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>

	* ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
	definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.

2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
	    Richard Biener  <rguenther@suse.de>

	* tree-ssa-math-opts.c (struct widen_mul_stats): Add a
	highpart_mults_inserted field.
	(convert_mult_to_highpart): New function to convert right shift
	of a widening multiply into a MULT_HIGHPART_EXPR.
	(math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
	Call new convert_mult_to_highpart function.
	(pass_optimize_widening_mul::execute): Add a statistics counter
	for tracking "highpart multiplications inserted" events.

2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>

	PR target/102239
	* config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
	declare.
	* config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
	function.
	* config/rs6000/rs6000.md (*branch_anddi3_dot): New.

2022-01-11  Olivier Hainque  <hainque@adacore.com>

	* gcc.c (driver_handle_option): State --sysroot as
	validated.

2022-01-11  Kewen Lin  <linkw@linux.ibm.com>

	* config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
	useless related to option -mno-power10.

2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>

	PR target/53652
	* config/i386/sse.md (*andnot<mode>3): Extend predicate of
	operands[1] from register_operand to vector_operand.

2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103861
	* config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
	Handle V2QImode.
	* config/i386/mmx.md (<sat_plusminus:insn><mode>3):
	Use VI1_16_32 mode iterator.
	(*eq<mode>3): Ditto.
	(*gt<mode>3): Ditto.
	(*xop_maskcmp<mode>3): Ditto.
	(*xop_maskcmp_uns<mode>3): Ditto.
	(vec_cmp<mode><mode>): Ditto.
	(vec_cmpu<mode><mode>): Ditto.

2022-01-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103948
	* tree-vect-generic.c (expand_vector_condition): Return true if
	all ones vector is returned for true, all zeros vector for false
	and the target defines corresponding vec_cmp{,u}MN named RTX pattern.

2022-01-10  Paul A. Clarke  <pc@us.ibm.com>

	* config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
	when _ARCH_PWR10. Use signed types.
	(_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
	(_mm_blendv_pd): Likewise.

2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
	epilogue costing.
	* tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
	epilogues, unless we are guaranteed that we can't have partial vectors.
	* genopinit.c: (partial_vectors_supported): Generate new function.

2022-01-10  Jakub Jelinek  <jakub@redhat.com>

	PR target/102024
	* config/i386/i386.c (classify_argument): Add zero_width_bitfields
	argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
	always ignore them, when seeing other zero sized bitfields, either
	set zero_width_bitfields to 1 and ignore it or if equal to 2 process
	it.  Pass it to recursive calls.  Add wrapper
	with old arguments and diagnose ABI differences for C structures
	with zero width bitfields.  Formatting fixes.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/98782
	* ira-int.h (ira_soft_conflict): Declare.
	* ira-color.c (max_soft_conflict_loop_depth): New constant.
	(ira_soft_conflict): New function.
	(spill_soft_conflicts): Likewise.
	(assign_hard_reg): Use them to handle the case described by
	the comment above ira_soft_conflict.
	(improve_allocation): Likewise.
	* ira.c (check_allocation): Allow allocnos with "soft" conflicts
	to share the same register.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/98782
	* ira-int.h (ira_caller_save_cost): New function.
	(ira_caller_save_loop_spill_p): Likewise.
	* ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
	cheaper to spill a call-clobbered register throughout a loop rather
	than spill it around each individual call.  If so, treat all
	call-clobbered registers as conflicts and...
	(propagate_allocno_info): ...do not propagate call information
	from the child to the parent.
	* ira-color.c (move_spill_restore): Update accordingly.
	* ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/98782
	* ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
	(ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
	(ira_single_region_allocno_p): New function.
	(ira_total_conflict_hard_regs): Likewise.
	* ira-build.c (ira_create_allocno): Initialize
	ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
	(ira_propagate_hard_reg_costs): New function.
	(propagate_allocno_info): Use it.  Try to avoid propagating
	hard register conflicts to parent allocnos if we can handle
	the conflicts by spilling instead.  Limit the propagated
	register costs to the cost of spilling throughout the child loop.
	* ira-color.c (color_pass): Use ira_single_region_allocno_p to
	test whether a child and parent allocno can share the same
	register.
	(move_spill_restore): Adjust for the new behavior of
	propagate_allocno_info.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/98782
	* ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
	extracted from...
	* ira-color.c (color_pass): ...here.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/98782
	* ira-color.c (color_pass): Add comments to describe the spill costs.
	(move_spill_restore): Likewise.  Fix reversed calculation.

2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/98782
	* ira-int.h (ira_loop_border_costs): New class.
	* ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
	New constructor.
	(calculate_allocno_spill_cost): Use ira_loop_border_costs.
	(color_pass): Likewise.
	(move_spill_restore): Likewise.

2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/103465
	* coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.

2022-01-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/100359
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
	Allow non-growing peeling with !allow_peel and UL_ALL.

2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>

	* config/i386/i386-expand.c (ix86_expand_vector_move): Add
	special case for TImode to V1TImode moves, going via V2DImode.

2022-01-08  Jakub Jelinek  <jakub@redhat.com>

	PR c++/89074
	* match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
	simplification.

2022-01-08  David Malcolm  <dmalcolm@redhat.com>

	* doc/analyzer.texi
	(Special Functions for Debugging the Analyzer): Document
	__analyzer_dump_escaped.

2022-01-08  David Malcolm  <dmalcolm@redhat.com>

	* doc/analyzer.texi (Other Debugging Techniques): Document
	region::is_named_decl_p.

2022-01-07  Andrew Pinski  <apinski@marvell.com>

	PR target/102941
	* config/arm/aarch-common.c (arm_md_asm_adjust):
	Use a temp if !REG_P.

2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
	(*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.

2022-01-07  liuhongt  <hongtao.liu@intel.com>

	PR rtl-optimization/103750
	* fwprop.c (forward_propagate_into): Allow propagations from
	inner loop to outer loop.

2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>

	* config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.

2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>

	* config/rs6000/rs6000.md (rs6000_mffscrni): Define.
	(rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
	Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.

2022-01-07  liuhongt  <hongtao.liu@intel.com>

	* config/i386/sse.md
	(*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
	UNSPEC_PCMP_UNSIGNED.

2022-01-07  liuhongt  <hongtao.liu@intel.com>

	PR target/103753
	* config/i386/i386-expand.c (ix86_expand_vector_set): Not use
	gen_avx2_pblendph_1 when elt == 0.
	* config/i386/sse.md (avx2_pblendph): Rename to ..
	(avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
	(*avx2_pblendw): Rename to ..
	(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
	(avx2_pblendw): Rename to ..
	(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
	(blendsuf): Removed.
	(sse4_1_pblend<blendsuf>): Renamed to ..
	(sse4_1_pblend<ssemodesuffix>): .. this.

2022-01-06  H.J. Lu  <hjl.tools@gmail.com>

	PR target/103925
	* config/i386/i386.c (ix86_output_indirect_function_return):
	Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.

2022-01-06  H.J. Lu  <hjl.tools@gmail.com>

	PR target/102952
	* config/i386/i386-opts.h (harden_sls): Replace
	harden_sls_indirect_branch with harden_sls_indirect_jmp.
	* config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
	Likewise.
	(ix86_output_indirect_jmp): Likewise.
	(ix86_output_call_insn): Likewise.
	* config/i386/i386.opt: Replace indirect-branch with
	indirect-jmp.  Replace harden_sls_indirect_branch with
	harden_sls_indirect_jmp.
	* doc/invoke.texi (-harden-sls=): Replace indirect-branch with
	indirect-jmp.

2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
	Add %q modifier for operands in general registers.
	<MODE_SI>: Add %q modifier for operands in general registers.
	* config/i386/i386.md (*movhi_internal): Change type attribute of
	xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
	to SImode for non-avx512fp16 targets.
	(*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
	* config/i386/mmx.md (*movv2qi_internal):
	Ditto for xmm-gpr interunit alternatives 8,9.

2022-01-06  Kito Cheng  <kito.cheng@sifive.com>

	* common/config/riscv/riscv-common.c (riscv_implied_info): Add
	vector extensions.
	(riscv_ext_version_table): Add version info for vector extensions.
	(riscv_ext_flag_table): Add option mask for vector extensions.
	* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
	(MASK_VECTOR_EEW_64): New.
	(MASK_VECTOR_EEW_FP_32): New.
	(MASK_VECTOR_EEW_FP_64): New.
	(MASK_ZVL32B): New.
	(MASK_ZVL64B): New.
	(MASK_ZVL128B): New.
	(MASK_ZVL256B): New.
	(MASK_ZVL512B): New.
	(MASK_ZVL1024B): New.
	(MASK_ZVL2048B): New.
	(MASK_ZVL4096B): New.
	(MASK_ZVL8192B): New.
	(MASK_ZVL16384B): New.
	(MASK_ZVL32768B): New.
	(MASK_ZVL65536B): New.
	(TARGET_ZVL32B): New.
	(TARGET_ZVL64B): New.
	(TARGET_ZVL128B): New.
	(TARGET_ZVL256B): New.
	(TARGET_ZVL512B): New.
	(TARGET_ZVL1024B): New.
	(TARGET_ZVL2048B): New.
	(TARGET_ZVL4096B): New.
	(TARGET_ZVL8192B): New.
	(TARGET_ZVL16384B): New.
	(TARGET_ZVL32768B): New.
	(TARGET_ZVL65536B): New.
	* config/riscv/riscv.opt (Mask(VECTOR)): New.
	(riscv_vector_eew_flags): New.
	(riscv_zvl_flags): New.

2022-01-06  Kito Cheng  <kito.cheng@sifive.com>

	* common/config/riscv/riscv-common.c
	(riscv_subset_list::parse_multiletter_ext): Allow ext. name has
	digit.

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

	PR tree-optimization/103899
	* expr.c (expand_expr_real_1): Add a workaround for bogus uninit
	warning by moving context variable to the only spot where it is used
	and moving gcc_assert into if body.

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

	PR rtl-optimization/103908
	* ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
	asm goto.

2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>

	PR target/103622
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Skip over instances with undefined function types.

2022-01-05  Andrew Pinski  <apinski@marvell.com>

	PR target/103910
	* config/i386/i386.h (x86_mfence): Mark with GTY.

2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103861
	* config/i386/mmx.md (VI_16_32): New mode iterator.
	(VI1_16_32): Ditto.
	(mmxvecsize): Handle V2QI mode.
	(<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
	Use VI1_16_32 mode iterator.
	(<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
	Use VI1_16_32 mode iterator.
	(abs<mode>2): Use VI_16_32 mode iterator.
	(uavgv2qi3_ceil): New insn pattern.

2022-01-05  Martin Sebor  <msebor@redhat.com>

	* gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
	%qs to avoid -Wformat-diag.

2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103915
	* config/i386/mmx.md (one_cmplv2qi2): Change
	alternatives 1,2 type from sselog to sselog1.

2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103905
	* config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
	narrow mode remapped elements for !one_operand_p case.

2022-01-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103816
	* tree-vect-data-refs.c (vect_analyze_group_access_1): Also
	check DR_GROUP_GAP compute for overflow and representability.

2022-01-05  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/103691
	* gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
	for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
	it can do unwanted rhs folding like &a[0] into &2.0 etc.

2022-01-05  Kewen Lin  <linkw@linux.ibm.com>

	PR ipa/102059
	* config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
	(TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
	(rs6000_need_ipa_fn_target_info): New function.
	(rs6000_update_ipa_fn_target_info): Likewise.
	(rs6000_can_inline_p): Adjust for ipa function summary target info.
	* config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
	* ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
	summary target info.
	(analyze_function_body): Adjust for ipa function summary target info
	and call hook rs6000_need_ipa_fn_target_info and
	rs6000_update_ipa_fn_target_info.
	(ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
	target info.
	(inline_read_section): Likewise.
	(ipa_fn_summary_write): Likewise.
	* ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
	(TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
	* target.def (update_ipa_fn_target_info): New hook.
	(need_ipa_fn_target_info): Likewise.
	* targhooks.c (default_need_ipa_fn_target_info): New function.
	(default_update_ipa_fn_target_info): Likewise.
	* targhooks.h (default_update_ipa_fn_target_info): New declare.
	(default_need_ipa_fn_target_info): Likewise.

2022-01-04  Martin Sebor  <msebor@redhat.com>

	PR middle-end/99612
	* builtins.c (get_memmodel): Move warning code to
	gimple-ssa-warn-access.cc.
	(expand_builtin_atomic_compare_exchange): Same.
	(expand_ifn_atomic_compare_exchange): Same.
	(expand_builtin_atomic_load): Same.
	(expand_builtin_atomic_store): Same.
	(expand_builtin_atomic_clear): Same.
	* doc/extend.texi (__atomic_exchange_n): Update valid memory
	models.
	* gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
	(struct memmodel_pair): New struct.
	(memmodel_name): New function.
	(pass_waccess::maybe_warn_memmodel): New function.
	(pass_waccess::check_atomic_memmodel): New function.
	(pass_waccess::check_atomic_builtin): Handle memory model.
	* input.c (expansion_point_location_if_in_system_header): Return
	original location if expansion location is in a system header.

2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103861
	* config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
	(one_cmplv2qi3 splitters): New post-reload splitters.
	(*andnotv2qi3): New insn pattern.
	(andnotv2qi3 splitters): New post-reload splitters.
	(<any_logic:code>v2qi3): New insn pattern.
	(<any_logic:insn>v2qi3 splitters): New post-reload splitters.

2022-01-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103800
	* tree-vect-loop.c (vectorizable_phi): Remove assert and
	expand comment.

2022-01-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103690
	* tree-pass.h (tail_merge_optimize): Adjust.
	* tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
	to re-split critical edges, move CFG cleanup ...
	* tree-ssa-pre.c (pass_pre::execute): ... here, before
	simple_dce_from_worklist and delay freeing inserted_exprs from
	...
	(fini_pre): .. here.

2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>

	* config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
	* config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
	(setcc_from_bi): Remove SImode specific pattern.
	(setcc<mode>_from_bi): Provide more general HSDIM pattern.
	(extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
	for sign- and zero-extending BImode predicates to integers.
	(setcc_int<mode>): Remove previous (-1-based) instructions.
	(cstorebi4): Remove BImode to SImode specific expander.
	(cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
	(cstore<mode>4): For both integer and floating point modes.

2022-01-04  Olivier Hainque  <hainque@adacore.com>

	* gcc.c (driver_handle_option): do_save --sysroot.

2022-01-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/103864
	PR tree-optimization/103544
	* tree-vect-slp.c (vect_analyze_slp_instance): Exclude
	reductions wrapped in conversions from SLP handling.
	(vect_analyze_slp): Revert PR103544 change.

2022-01-04  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/103860
	* shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
	uselessly for blocks for which it has been called already.

2022-01-04  Cui,Lili  <lili.cui@intel.com>

	* common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
	to Alderlake and Rocketlake.

2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>

	PR middle-end/103643
	* gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
	OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'

2022-01-04  liuhongt  <hongtao.liu@intel.com>

	PR target/103895
	* config/i386/sse.md (*bit_and_float_vector_all_ones):
	Force_reg operand 1 to avoid ICE.

2022-01-04  Jason Merrill  <jason@redhat.com>

	* tree-pretty-print.c (do_niy): Add spc parameter.
	(NIY): Pass it.
	(print_call_name): Add spc local variable.

2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103894
	* config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
	(mov<V_32:mode>_internal): Ditto.
	(*push<V_32:mode>_rex64): Ditto.
	(movmisalign<V_32:mode>): Ditto.
	(*push<V_32:mode>_rex64 splitter): Enable for
	TARGET_64BIT && TARGET_SSE.
	(*push<V_32:mode>2): Remove insn pattern.

2022-01-03  Andrew Pinski  <apinski@marvell.com>

	PR c/33193
	* doc/extend.texi: Extend the documentation about Complex
	types for casting and also rewrite the __real__/__imag__
	expression portion to use tables.
	Move __builtin_complex to the Complex type section.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

	PR target/98737
	* internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
	ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
	New internal fns.
	* internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
	ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
	ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
	* internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
	expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
	expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
	functions.
	* optabs.def (atomic_add_fetch_cmp_0_optab,
	atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
	atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
	direct optabs.
	* builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
	* builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
	* tree-ssa-ccp.c: Include internal-fn.h.
	(optimize_atomic_bit_test_and): Add . before internal fn call
	in function comment.  Change return type from void to bool and
	return true only if successfully replaced.
	(optimize_atomic_op_fetch_cmp_0): New function.
	(pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
	for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
	BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
	for *XOR* ones only if optimize_atomic_bit_test_and failed.
	* config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
	atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
	(atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
	atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
	* doc/md.texi (atomic_add_fetch_cmp_0<mode>,
	atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
	atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
	new named patterns.

2022-01-03  Richard Biener  <rguenther@suse.de>

	PR middle-end/103851
	* tree-cfg.c (move_sese_region_to_fn): Always release SSA names.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

	PR c++/94716
	* symtab.c: Include fold-const.h.
	(symtab_node::equal_address_to): If folding_initializer is true,
	handle it like memory_accessed.  Simplify.

2022-01-03  Martin Liska  <mliska@suse.cz>

	* doc/extend.texi: Use ; for function declarations.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

	PR c++/103600
	* symtab.c (symtab_node::equal_address_to): Return 0 if one of
	VAR_DECLs has "non overlapping" attribute and rs1 != rs2.

2022-01-03  Jakub Jelinek  <jakub@redhat.com>

	* gcc.c (process_command): Update copyright notice dates.
	* gcov-dump.c (print_version): Ditto.
	* gcov.c (print_version): Ditto.
	* gcov-tool.c (print_version): Ditto.
	* gengtype.c (create_file): Ditto.
	* doc/cpp.texi: Bump @copying's copyright year.
	* doc/cppinternals.texi: Ditto.
	* doc/gcc.texi: Ditto.
	* doc/gccint.texi: Ditto.
	* doc/gcov.texi: Ditto.
	* doc/install.texi: Ditto.
	* doc/invoke.texi: Ditto.

2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>

	PR target/103861
	* config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
	(VALID_INT_MODE_P): Ditto.
	* config/i386/i386.c (ix86_secondary_reload): Handle
	V2QImode reloads from SSE register to memory.
	(vector_mode_supported_p): Always return true for V2QImode.
	* config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
	(*negqi_ext<mode>_2): Ditto.
	* config/i386/mmx.md (movv2qi): New expander.
	(movmisalignv2qi): Ditto.
	(*movv2qi_internal): New insn pattern.
	(*pushv2qi2): Ditto.
	(negv2qi2 and splitters): Ditto.
	(<plusminus:insn>v2qi3 and splitters): Ditto.

2022-01-02  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
	sync_lock_test_and_set libfunc. Call convert_memory_address to
	convert memory address to Pmode.
	(atomic_storehi, atomic_storesi, atomic_storedi): Likewise.


Copyright (C) 2022 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
